7 PTSTEP, KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, PTSUN, &
8 PZENITH, PZENITH2, PAZIM, PZREF, PUREF, PZS, PU, PV, &
9 PQA, PTA, PRHOA, PSV, PCO2, HSV, PRAIN, PSNOW, PLW, &
10 PDIR_SW, PSCA_SW, PSW_BANDS, PPS, PPA, PSFTQ, PSFTH, &
11 PSFTS, PSFCO2, PSFU, PSFV, PTRAD, PDIR_ALB, PSCA_ALB, &
12 PEMIS, PTSURF, PZ0, PZ0H, PQSURF, PPEW_A_COEF, &
13 PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, &
54 USE modi_forcing_vert_shift
56 USE modi_coupling_watflux_sbl_n
68 TYPE(
dst_t),
INTENT(INOUT) :: DST
69 TYPE(
slt_t),
INTENT(INOUT) :: SLT
71 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
72 CHARACTER(LEN=1),
INTENT(IN) :: HCOUPLING
75 REAL,
INTENT(IN) :: PTIMEC
76 INTEGER,
INTENT(IN) :: KYEAR
77 INTEGER,
INTENT(IN) :: KMONTH
78 INTEGER,
INTENT(IN) :: KDAY
79 REAL,
INTENT(IN) :: PTIME
80 INTEGER,
INTENT(IN) :: KI
81 INTEGER,
INTENT(IN) :: KSV
82 INTEGER,
INTENT(IN) :: KSW
83 REAL,
DIMENSION(KI),
INTENT(IN) :: PTSUN
84 REAL,
INTENT(IN) :: PTSTEP
85 REAL,
DIMENSION(KI),
INTENT(IN) :: PZREF
86 REAL,
DIMENSION(KI),
INTENT(IN) :: PUREF
88 REAL,
DIMENSION(KI),
INTENT(IN) :: PTA
89 REAL,
DIMENSION(KI),
INTENT(IN) :: PQA
90 REAL,
DIMENSION(KI),
INTENT(IN) :: PRHOA
91 REAL,
DIMENSION(KI,KSV),
INTENT(IN) :: PSV
94 CHARACTER(LEN=6),
DIMENSION(KSV),
INTENT(IN):: HSV
95 REAL,
DIMENSION(KI),
INTENT(IN) :: PU
96 REAL,
DIMENSION(KI),
INTENT(IN) :: PV
97 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: PDIR_SW
99 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: PSCA_SW
101 REAL,
DIMENSION(KSW),
INTENT(IN) :: PSW_BANDS
102 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH
103 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH2
104 REAL,
DIMENSION(KI),
INTENT(IN) :: PAZIM
105 REAL,
DIMENSION(KI),
INTENT(IN) :: PLW
107 REAL,
DIMENSION(KI),
INTENT(IN) :: PPS
108 REAL,
DIMENSION(KI),
INTENT(IN) :: PPA
109 REAL,
DIMENSION(KI),
INTENT(IN) :: PZS
110 REAL,
DIMENSION(KI),
INTENT(IN) :: PCO2
111 REAL,
DIMENSION(KI),
INTENT(IN) :: PSNOW
112 REAL,
DIMENSION(KI),
INTENT(IN) :: PRAIN
115 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFTH
116 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFTQ
117 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFU
118 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFV
119 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFCO2
120 REAL,
DIMENSION(KI,KSV),
INTENT(OUT):: PSFTS
122 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTRAD
123 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: PDIR_ALB
124 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: PSCA_ALB
125 REAL,
DIMENSION(KI),
INTENT(OUT) :: PEMIS
127 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTSURF
128 REAL,
DIMENSION(KI),
INTENT(OUT) :: PZ0
129 REAL,
DIMENSION(KI),
INTENT(OUT) :: PZ0H
130 REAL,
DIMENSION(KI),
INTENT(OUT) :: PQSURF
132 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEW_A_COEF
133 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEW_B_COEF
134 REAL,
DIMENSION(KI),
INTENT(IN) :: PPET_A_COEF
135 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEQ_A_COEF
136 REAL,
DIMENSION(KI),
INTENT(IN) :: PPET_B_COEF
137 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEQ_B_COEF
138 CHARACTER(LEN=2),
INTENT(IN) :: HTEST
142 REAL,
DIMENSION(KI) :: ZPEQ_B_COEF
143 REAL,
DIMENSION(KI) :: ZPET_B_COEF
145 REAL,
DIMENSION(KI) :: ZTA
146 REAL,
DIMENSION(KI) :: ZPA
147 REAL,
DIMENSION(KI) :: ZPS
148 REAL,
DIMENSION(KI) :: ZQA
149 REAL,
DIMENSION(KI) :: ZRHOA
150 REAL,
DIMENSION(KI) :: ZLW
151 REAL,
DIMENSION(KI) :: ZRAIN
152 REAL,
DIMENSION(KI) :: ZSNOW
154 REAL(KIND=JPRB) :: ZHOOK_HANDLE
159 IF (
lhook)
CALL dr_hook(
'COUPLING_WATFLUX_OROG_N',0,zhook_handle)
161 zpeq_b_coef(:) = ppeq_b_coef(:)
162 zpet_b_coef(:) = ppet_b_coef(:)
176 zta,zqa,zpa,zrhoa,zlw,zrain,zsnow )
178 zps(:) = zpa(:) + (pps(:) - ppa(:))
180 IF (hcoupling==
'I')
THEN 181 zpeq_b_coef = ppeq_b_coef + zqa - pqa
199 hprogram, hcoupling, ptimec, ptstep, kyear, kmonth, kday, ptime, &
200 ki, ksv, ksw, ptsun, pzenith, pzenith2, pazim, pzref, puref, pu, pv, &
201 zqa, zta, zrhoa, psv, pco2, hsv, zrain, zsnow, zlw, pdir_sw, psca_sw, &
202 psw_bands, zps, zpa, psftq, psfth, psfts, psfco2, psfu, psfv, &
203 ptrad, pdir_alb, psca_alb, pemis, ptsurf, pz0, pz0h, pqsurf, &
204 ppew_a_coef, ppew_b_coef, ppet_a_coef, ppeq_a_coef, zpet_b_coef, &
207 IF (
lhook)
CALL dr_hook(
'COUPLING_WATFLUX_OROG_N',1,zhook_handle)
subroutine coupling_watflux_orog_n(WM, DST, SLT, HPROGRAM, HCOUPLING, PTIMEC, 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_watflux_sbl_n(SB, CHW, DGO, D, DC, W, DST, SLT, HPROGRAM, HCOUPLING, PTIMEC, 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)