7 PTSTEP, KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, &
8 PTSUN, PZENITH, PZENITH2, PAZIM, PZREF, PUREF, &
9 PZS, PU, PV, PQA, PTA, PRHOA, PSV, PCO2, HSV, &
10 PRAIN, PSNOW, PLW, PDIR_SW, PSCA_SW, PSW_BANDS, &
11 PPS, PPA, PSFTQ, PSFTH, PSFTS, PSFCO2, PSFU, PSFV,&
12 PTRAD, PDIR_ALB, PSCA_ALB, PEMIS, PTSURF, PZ0, &
13 PZ0H, PQSURF, PPEW_A_COEF, PPEW_B_COEF, &
14 PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, &
58 USE modi_forcing_vert_shift
63 USE modi_coupling_flake_sbl_n
72 TYPE(
dst_t),
INTENT(INOUT) :: DST
73 TYPE(
slt_t),
INTENT(INOUT) :: SLT
75 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
76 CHARACTER(LEN=1),
INTENT(IN) :: HCOUPLING
79 INTEGER,
INTENT(IN) :: KYEAR
80 INTEGER,
INTENT(IN) :: KMONTH
81 INTEGER,
INTENT(IN) :: KDAY
82 REAL,
INTENT(IN) :: PTIME
83 INTEGER,
INTENT(IN) :: KI
84 INTEGER,
INTENT(IN) :: KSV
85 INTEGER,
INTENT(IN) :: KSW
86 REAL,
DIMENSION(KI),
INTENT(IN) :: PTSUN
87 REAL,
INTENT(IN) :: PTSTEP
88 REAL,
DIMENSION(KI),
INTENT(IN) :: PZREF
89 REAL,
DIMENSION(KI),
INTENT(IN) :: PUREF
91 REAL,
DIMENSION(KI),
INTENT(IN) :: PTA
92 REAL,
DIMENSION(KI),
INTENT(IN) :: PQA
93 REAL,
DIMENSION(KI),
INTENT(IN) :: PRHOA
94 REAL,
DIMENSION(KI,KSV),
INTENT(IN) :: PSV
97 CHARACTER(LEN=6),
DIMENSION(KSV),
INTENT(IN):: HSV
98 REAL,
DIMENSION(KI),
INTENT(IN) :: PU
99 REAL,
DIMENSION(KI),
INTENT(IN) :: PV
100 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: PDIR_SW
102 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: PSCA_SW
104 REAL,
DIMENSION(KSW),
INTENT(IN) :: PSW_BANDS
105 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH
106 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH2
107 REAL,
DIMENSION(KI),
INTENT(IN) :: PAZIM
108 REAL,
DIMENSION(KI),
INTENT(IN) :: PLW
110 REAL,
DIMENSION(KI),
INTENT(IN) :: PPS
111 REAL,
DIMENSION(KI),
INTENT(IN) :: PPA
112 REAL,
DIMENSION(KI),
INTENT(IN) :: PZS
113 REAL,
DIMENSION(KI),
INTENT(IN) :: PCO2
114 REAL,
DIMENSION(KI),
INTENT(IN) :: PSNOW
115 REAL,
DIMENSION(KI),
INTENT(IN) :: PRAIN
118 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFTH
119 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFTQ
120 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFU
121 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFV
122 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFCO2
123 REAL,
DIMENSION(KI,KSV),
INTENT(OUT):: PSFTS
125 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTRAD
126 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: PDIR_ALB
127 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: PSCA_ALB
128 REAL,
DIMENSION(KI),
INTENT(OUT) :: PEMIS
130 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTSURF
131 REAL,
DIMENSION(KI),
INTENT(OUT) :: PZ0
132 REAL,
DIMENSION(KI),
INTENT(OUT) :: PZ0H
133 REAL,
DIMENSION(KI),
INTENT(OUT) :: PQSURF
135 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEW_A_COEF
136 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEW_B_COEF
137 REAL,
DIMENSION(KI),
INTENT(IN) :: PPET_A_COEF
138 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEQ_A_COEF
139 REAL,
DIMENSION(KI),
INTENT(IN) :: PPET_B_COEF
140 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEQ_B_COEF
141 CHARACTER(LEN=2),
INTENT(IN) :: HTEST
145 REAL,
DIMENSION(KI) :: ZPEQ_B_COEF
146 REAL,
DIMENSION(KI) :: ZPET_B_COEF
148 REAL,
DIMENSION(KI) :: ZTA
149 REAL,
DIMENSION(KI) :: ZPA
150 REAL,
DIMENSION(KI) :: ZPS
151 REAL,
DIMENSION(KI) :: ZQA
152 REAL,
DIMENSION(KI) :: ZRHOA
153 REAL,
DIMENSION(KI) :: ZLW
154 REAL,
DIMENSION(KI) :: ZRAIN
155 REAL,
DIMENSION(KI) :: ZSNOW
157 REAL(KIND=JPRB) :: ZHOOK_HANDLE
162 IF (
lhook)
CALL dr_hook(
'COUPLING_FLAKE_OROGRAPHY_N',0,zhook_handle)
164 zpeq_b_coef(:) = ppeq_b_coef(:)
165 zpet_b_coef(:) = ppet_b_coef(:)
179 zta,zqa,zpa,zrhoa,zlw,zrain,zsnow )
181 zps(:) = zpa(:) + (pps(:) - ppa(:))
183 IF (hcoupling==
'I')
THEN 184 zpeq_b_coef = ppeq_b_coef + zqa - pqa
202 hprogram, hcoupling, ptstep, kyear, kmonth, kday, ptime, &
203 ki, ksv, ksw, ptsun, pzenith, pzenith2, pazim, pzref, puref, pu, pv, &
204 zqa, zta, zrhoa, psv, pco2, hsv, zrain, zsnow, zlw, pdir_sw, psca_sw, &
205 psw_bands, zps, zpa, psftq, psfth, psfts, psfco2, psfu, psfv, &
206 ptrad, pdir_alb, psca_alb, pemis, ptsurf, pz0, pz0h, pqsurf, &
207 ppew_a_coef, ppew_b_coef, ppet_a_coef, ppeq_a_coef, zpet_b_coef, &
210 IF (
lhook)
CALL dr_hook(
'COUPLING_FLAKE_OROGRAPHY_N',1,zhook_handle)
subroutine coupling_flake_orography_n(FM, DST, SLT, HPROGRAM, HCOUPLING, PTSTEP, KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, PTSUN, PZENITH, PZENITH2, PAZIM, PZREF, PUREF, PZS, PU, PV, PQA, PTA, PRHOA, PSV, PCO2, HSV, PRAIN, PSNOW, PLW, PDIR_SW, PSCA_SW, PSW_BANDS, PPS, PPA, PSFTQ, PSFTH, PSFTS, PSFCO2, PSFU, PSFV, PTRAD, PDIR_ALB, PSCA_ALB, PEMIS, PTSURF, PZ0, PZ0H, PQSURF, PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, HTEST)
subroutine coupling_flake_sbl_n(SB, CHF, DGO, D, DC, DMF, F, DST, SLT, HPROGRAM, HCOUPLING, PTSTEP, KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, PTSUN, PZENITH, PZENITH2, PAZIM, PZREF, PUREF, PU, PV, PQA, PTA, PRHOA, PSV, PCO2, HSV, PRAIN, PSNOW, PLW, PDIR_SW, PSCA_SW, PSW_BANDS, PPS, PPA, PSFTQ, PSFTH, PSFTS, PSFCO2, PSFU, PSFV, PTRAD, PDIR_ALB, PSCA_ALB, PEMIS, PTSURF, PZ0, PZ0H, PQSURF, PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, HTEST)
subroutine forcing_vert_shift(PZS_ATM, PZS_SURF, PTA_ATM, PQA_ATM, PPA_ATM, PRHOA_ATM, PLW_ATM, PRAIN_ATM, PSNOW_ATM, PTA_SURF, PQA_SURF, PPA_SURF, PRHOA_SURF, PLW_SURF, PRAIN_SURF, PSNOW_SURF)