6 SUBROUTINE coupling_tsz0_n (DTCO, UG, U, USS, IM, DTZ, DTGD, DTGR, TGRO, DST, SLT, &
8 ptstep, kyear, kmonth, kday, ptime, ki, ksv, ksw, ptsun, pzenith, pzenith2, &
9 pazim, pzref, puref, pzs, pu, pv, pqa, pta, prhoa, psv, pco2, hsv, &
10 prain, psnow, plw, pdir_sw, psca_sw, psw_bands, pps, ppa, &
11 psftq, psfth, psfts, psfco2, psfu, psfv, &
12 ptrad, pdir_alb, psca_alb, pemis, ptsurf, pz0, pz0h, pqsurf, &
13 ppew_a_coef, ppew_b_coef, &
14 ppet_a_coef, ppeq_a_coef, ppet_b_coef, ppeq_b_coef, &
62 USE modi_coupling_isba_orography_n
64 USE yomhook
,ONLY : lhook, dr_hook
65 USE parkind1
,ONLY : jprb
72 TYPE(isba_model_t
),
INTENT(INOUT) :: im
81 TYPE(dst_t),
INTENT(INOUT) :: dst
82 TYPE(slt_t),
INTENT(INOUT) :: slt
84 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
85 CHARACTER(LEN=1),
INTENT(IN) :: hcoupling
88 INTEGER,
INTENT(IN) :: kyear
89 INTEGER,
INTENT(IN) :: kmonth
90 INTEGER,
INTENT(IN) :: kday
91 REAL,
INTENT(IN) :: ptime
92 INTEGER,
INTENT(IN) :: ki
93 INTEGER,
INTENT(IN) :: ksv
94 INTEGER,
INTENT(IN) :: ksw
95 REAL,
DIMENSION(KI),
INTENT(IN) :: ptsun
96 REAL,
INTENT(IN) :: ptstep
97 REAL,
DIMENSION(KI),
INTENT(IN) :: pzref
98 REAL,
DIMENSION(KI),
INTENT(IN) :: puref
100 REAL,
DIMENSION(KI),
INTENT(IN) :: pta
101 REAL,
DIMENSION(KI),
INTENT(IN) :: pqa
102 REAL,
DIMENSION(KI),
INTENT(IN) :: prhoa
103 REAL,
DIMENSION(KI,KSV),
INTENT(IN) :: psv
106 CHARACTER(LEN=6),
DIMENSION(KSV),
INTENT(IN):: hsv
107 REAL,
DIMENSION(KI),
INTENT(IN) :: pu
108 REAL,
DIMENSION(KI),
INTENT(IN) :: pv
109 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: pdir_sw
111 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: psca_sw
113 REAL,
DIMENSION(KSW),
INTENT(IN) :: psw_bands
114 REAL,
DIMENSION(KI),
INTENT(IN) :: pzenith
115 REAL,
DIMENSION(KI),
INTENT(IN) :: pzenith2
116 REAL,
DIMENSION(KI),
INTENT(IN) :: pazim
117 REAL,
DIMENSION(KI),
INTENT(IN) :: plw
119 REAL,
DIMENSION(KI),
INTENT(IN) :: pps
120 REAL,
DIMENSION(KI),
INTENT(IN) :: ppa
121 REAL,
DIMENSION(KI),
INTENT(IN) :: pzs
122 REAL,
DIMENSION(KI),
INTENT(IN) :: pco2
123 REAL,
DIMENSION(KI),
INTENT(IN) :: psnow
124 REAL,
DIMENSION(KI),
INTENT(IN) :: prain
127 REAL,
DIMENSION(KI),
INTENT(OUT) :: psfth
128 REAL,
DIMENSION(KI),
INTENT(OUT) :: psftq
129 REAL,
DIMENSION(KI),
INTENT(OUT) :: psfu
130 REAL,
DIMENSION(KI),
INTENT(OUT) :: psfv
131 REAL,
DIMENSION(KI),
INTENT(OUT) :: psfco2
132 REAL,
DIMENSION(KI,KSV),
INTENT(OUT):: psfts
134 REAL,
DIMENSION(KI),
INTENT(OUT) :: ptrad
135 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: pdir_alb
136 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: psca_alb
137 REAL,
DIMENSION(KI),
INTENT(OUT) :: pemis
139 REAL,
DIMENSION(KI),
INTENT(OUT) :: ptsurf
140 REAL,
DIMENSION(KI),
INTENT(OUT) :: pz0
141 REAL,
DIMENSION(KI),
INTENT(OUT) :: pz0h
142 REAL,
DIMENSION(KI),
INTENT(OUT) :: pqsurf
144 REAL,
DIMENSION(KI),
INTENT(IN) :: ppew_a_coef
145 REAL,
DIMENSION(KI),
INTENT(IN) :: ppew_b_coef
146 REAL,
DIMENSION(KI),
INTENT(IN) :: ppet_a_coef
147 REAL,
DIMENSION(KI),
INTENT(IN) :: ppeq_a_coef
148 REAL,
DIMENSION(KI),
INTENT(IN) :: ppet_b_coef
149 REAL,
DIMENSION(KI),
INTENT(IN) :: ppeq_b_coef
150 CHARACTER(LEN=2),
INTENT(IN) :: htest
156 REAL,
DIMENSION(KI,IM%I%NGROUND_LAYER,IM%I%NPATCH) :: ztg
157 REAL,
DIMENSION(KI,IM%I%NGROUND_LAYER,IM%I%NPATCH) :: zwg
158 REAL,
DIMENSION(KI,IM%I%NGROUND_LAYER,IM%I%NPATCH) :: zwgi
159 REAL,
DIMENSION(KI,IM%I%NPATCH) :: zwr
160 REAL,
DIMENSION(KI,IM%I%NPATCH) :: zresa
161 REAL,
DIMENSION(KI,IM%I%TSNOW%NLAYER,IM%I%NPATCH) :: zwsnow
162 REAL,
DIMENSION(KI,IM%I%TSNOW%NLAYER,IM%I%NPATCH) :: zrhosn
163 REAL,
DIMENSION(KI,IM%I%TSNOW%NLAYER,IM%I%NPATCH) :: zheasn
164 REAL,
DIMENSION(KI,IM%I%NPATCH) :: zalbsn
165 REAL,
DIMENSION(KI,IM%I%NPATCH) :: zemisn
167 REAL,
DIMENSION(KI) :: zpew_a_coef
168 REAL,
DIMENSION(KI) :: zpew_b_coef
169 REAL,
DIMENSION(KI) :: zpet_a_coef
170 REAL,
DIMENSION(KI) :: zpeq_a_coef
171 REAL,
DIMENSION(KI) :: zpet_b_coef
172 REAL,
DIMENSION(KI) :: zpeq_b_coef
173 REAL(KIND=JPRB) :: zhook_handle
176 IF (lhook) CALL dr_hook(
'COUPLING_TSZ0_N',0,zhook_handle)
182 ptime, ptstep, im%I%XWFC, im%I%XTG, im%I%XWG)
188 ztg(:,:,:) = im%I%XTG (:,:,:)
189 zwg(:,:,:) = im%I%XWG (:,:,:)
190 zwgi(:,:,:) = im%I%XWGI (:,:,:)
191 zwr(:,:) = im%I%XWR (:,:)
192 zresa(:,:) = im%I%XRESA (:,:)
193 zwsnow(:,:,:)= im%I%TSNOW%WSNOW(:,:,:)
194 zrhosn(:,:,:)= im%I%TSNOW%RHO (:,:,:)
195 zalbsn(:,:) = im%I%TSNOW%ALB (:,:)
196 IF (im%I%TSNOW%SCHEME==
'3-L' .OR. im%I%TSNOW%SCHEME==
'CRO')
THEN
197 zheasn(:,:,:)= im%I%TSNOW%HEAT (:,:,:)
198 zemisn(:,:) = im%I%TSNOW%EMIS (:,:)
205 CALL
coupling_isba_orography_n(dtco, ug, u, uss, im, dtgd, dtgr, tgro, dst, slt, &
207 0.001, kyear, kmonth, kday, ptime, &
209 ptsun, pzenith, pzenith2, pazim, &
210 pzref, puref, pzs, pu, pv, pqa, pta, prhoa, psv, pco2, hsv, &
211 prain, psnow, plw, pdir_sw, psca_sw, psw_bands, pps, ppa, &
212 psftq, psfth, psfts, psfco2, psfu, psfv, &
213 ptrad, pdir_alb, psca_alb, pemis, ptsurf, pz0, pz0h, pqsurf, &
214 ppew_a_coef, ppew_b_coef, &
215 ppet_a_coef, ppeq_a_coef, ppet_b_coef, ppeq_b_coef, &
223 im%I%XTG (:,:,:) = ztg
224 im%I%XWG (:,:,:) = zwg
225 im%I%XWGI (:,:,:) = zwgi
227 im%I%XRESA(:,:) = zresa
228 im%I%TSNOW%WSNOW(:,:,:) = zwsnow
229 im%I%TSNOW%RHO (:,:,:) = zrhosn
230 im%I%TSNOW%ALB (:,:) = zalbsn
231 IF (im%I%TSNOW%SCHEME==
'3-L' .OR. im%I%TSNOW%SCHEME==
'CRO')
THEN
232 im%I%TSNOW%HEAT (:,:,:) = zheasn
233 im%I%TSNOW%EMIS (:,:) = zemisn
236 IF (lhook) CALL dr_hook(
'COUPLING_TSZ0_N',1,zhook_handle)
subroutine coupling_tsz0_n(DTCO, UG, U, USS, IM, DTZ, DTGD, DTGR, TGRO, 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_isba_orography_n(DTCO, UG, U, USS, IM, DTGD, DTGR, TGRO, 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 tsz0(DTZ, PTIME, PTSTEP, PWFC, PTG, PWG)