SURFEX v8.1
General documentation of Surfex
facodega.F90
Go to the documentation of this file.
1 ! Oct-2012 P. Marguinaud 64b LFI
2 SUBROUTINE facodega &
3 & (pfdata, klenf, kbits, knbit, kb1par, kb2par, &
4 & pvert, klenv, kgrib, kleng, kword, kround, kcpack, &
5 & kscalp, kerr, pmin, pmax, ldarpe)
7 IMPLICIT NONE
8 ! Arguments
9 INTEGER (KIND=JPLIKB) KLENF ! IN
10 REAL (KIND=JPDBLR) PFDATA (klenf) ! IN
11 INTEGER (KIND=JPLIKB) KBITS ! IN
12 INTEGER (KIND=JPLIKB) KNBIT ! IN
13 INTEGER (KIND=JPLIKB) KB1PAR (19) ! INOUT
14 INTEGER (KIND=JPLIKB) KB2PAR (17) ! INOUT
15 INTEGER (KIND=JPLIKB) KLENV ! IN
16 REAL (KIND=JPDBLR) PVERT (klenv) ! IN
17 INTEGER (KIND=JPLIKB) KLENG ! IN
18 INTEGER (KIND=JPLIKB) KGRIB (kleng) ! OUT
19 INTEGER (KIND=JPLIKB) KWORD ! OUT
20 INTEGER (KIND=JPLIKB) KROUND ! IN
21 INTEGER (KIND=JPLIKB) KCPACK ! IN
22 INTEGER (KIND=JPLIKB) KSCALP ! IN
23 INTEGER (KIND=JPLIKB) KERR ! OUT
24 REAL (KIND=JPDBLD) PMIN ! OUT
25 REAL (KIND=JPDBLD) PMAX ! OUT
26 LOGICAL LDARPE ! IN
27 ! Local integers
28 INTEGER (KIND=JPLIKM) ILENF ! IN
29 INTEGER (KIND=JPLIKM) IBITS ! IN
30 INTEGER (KIND=JPLIKM) INBIT ! IN
31 INTEGER (KIND=JPLIKM) IB1PAR (19) ! INOUT
32 INTEGER (KIND=JPLIKM) IB2PAR (17) ! INOUT
33 INTEGER (KIND=JPLIKM) ILENV ! IN
34 INTEGER (KIND=JPLIKM) ILENG ! IN
35 INTEGER (KIND=JPLIKM) IWORD ! OUT
36 INTEGER (KIND=JPLIKM) IROUND ! IN
37 INTEGER (KIND=JPLIKM) ICPACK ! IN
38 INTEGER (KIND=JPLIKM) ISCALP ! IN
39 INTEGER (KIND=JPLIKM) IERR ! OUT
40 ! Local reals
41 REAL (KIND=JPDBLD) ZFDATA (klenf) ! IN
42 REAL (KIND=JPDBLD) ZVERT (klenv) ! IN
43 ! Convert arguments
44 
45 ilenf = int( klenf, jplikm)
46 ibits = int( kbits, jplikm)
47 inbit = int( knbit, jplikm)
48 ib1par = int( kb1par, jplikm)
49 ib2par = int( kb2par, jplikm)
50 ilenv = int( klenv, jplikm)
51 ileng = int( kleng, jplikm)
52 iround = int( kround, jplikm)
53 icpack = int( kcpack, jplikm)
54 iscalp = int( kscalp, jplikm)
55 
56 IF (jpdblr == jpdbld) THEN
57 
58  CALL codega &
59  & (pfdata, ilenf, ibits, inbit, ib1par, ib2par, &
60  & pvert, ilenv, kgrib, ileng, iword, iround, icpack, &
61  & iscalp, ierr, pmin, pmax, ldarpe)
62 
63 ELSE
64 
65  zfdata = real(pfdata, jpdbld)
66  zvert = real( pvert, jpdbld)
67 
68  CALL codega &
69  & (zfdata, ilenf, ibits, inbit, ib1par, ib2par, &
70  & zvert, ilenv, kgrib, ileng, iword, iround, icpack, &
71  & iscalp, ierr, pmin, pmax, ldarpe)
72 
73 ENDIF
74 
75 kb1par = int( ib1par, jplikb)
76 kb2par = int( ib2par, jplikb)
77 kword = int( iword, jplikb)
78 kerr = int( ierr, jplikb)
79 
80 END SUBROUTINE facodega
integer, parameter jplikb
subroutine facodega(PFDATA, KLENF, KBITS, KNBIT, KB1PAR, KB2PAR, PVERT, KLENV, KGRIB, KLENG, KWORD, KROUND, KCPACK, KSCALP, KERR, PMIN, PMAX, LDARPE)
Definition: facodega.F90:6
subroutine codega(PFDATA, KLENF, KBITS, KNBIT, KB1PAR,
Definition: codega.F:2
integer, parameter jpdbld
integer, parameter jpdblr
integer, parameter jplikm
real8 real
Definition: privpub.h:396