6 SUBROUTINE coupling_isba_svat_n (DTCO, UG, U, USS, IM, NDST, SLT, HPROGRAM, HCOUPLING, PTSTEP, &
7 KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, PTSUN, PZENITH, &
8 PZENITH2, PAZIM, PZREF, PUREF, PZS, PU, PV, PQA, PTA, PRHOA, &
9 PSV, PCO2, HSV, PRAIN, PSNOW, PLW, PDIR_SW, PSCA_SW, &
10 PSW_BANDS, PPS, PPA, PSFTQ, PSFTH, PSFTS, PSFCO2, PSFU, PSFV,&
11 PTRAD, PDIR_ALB, PSCA_ALB, PEMIS, PTSURF, PZ0, PZ0H, PQSURF, &
12 PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, &
13 PPET_B_COEF, PPEQ_B_COEF, HTEST )
57 USE modi_coupling_isba_orography_n
67 TYPE(
sso_t),
INTENT(INOUT) :: USS
68 TYPE(
dst_np_t),
INTENT(INOUT) :: NDST
69 TYPE(
slt_t),
INTENT(INOUT) :: SLT
71 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
72 CHARACTER(LEN=1),
INTENT(IN) :: HCOUPLING
75 INTEGER,
INTENT(IN) :: KYEAR
76 INTEGER,
INTENT(IN) :: KMONTH
77 INTEGER,
INTENT(IN) :: KDAY
78 REAL,
INTENT(IN) :: PTIME
79 INTEGER,
INTENT(IN) :: KI
80 INTEGER,
INTENT(IN) :: KSV
81 INTEGER,
INTENT(IN) :: KSW
82 REAL,
DIMENSION(KI),
INTENT(IN) :: PTSUN
83 REAL,
INTENT(IN) :: PTSTEP
84 REAL,
DIMENSION(KI),
INTENT(IN) :: PZREF
85 REAL,
DIMENSION(KI),
INTENT(IN) :: PUREF
87 REAL,
DIMENSION(KI),
INTENT(IN) :: PTA
88 REAL,
DIMENSION(KI),
INTENT(IN) :: PQA
89 REAL,
DIMENSION(KI),
INTENT(IN) :: PRHOA
90 REAL,
DIMENSION(KI,KSV),
INTENT(IN) :: PSV
93 CHARACTER(LEN=6),
DIMENSION(KSV),
INTENT(IN):: HSV
94 REAL,
DIMENSION(KI),
INTENT(IN) :: PU
95 REAL,
DIMENSION(KI),
INTENT(IN) :: PV
96 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: PDIR_SW
98 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: PSCA_SW
100 REAL,
DIMENSION(KSW),
INTENT(IN) :: PSW_BANDS
101 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH
102 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH2
103 REAL,
DIMENSION(KI),
INTENT(IN) :: PAZIM
104 REAL,
DIMENSION(KI),
INTENT(IN) :: PLW
106 REAL,
DIMENSION(KI),
INTENT(IN) :: PPS
107 REAL,
DIMENSION(KI),
INTENT(IN) :: PPA
108 REAL,
DIMENSION(KI),
INTENT(IN) :: PZS
109 REAL,
DIMENSION(KI),
INTENT(IN) :: PCO2
110 REAL,
DIMENSION(KI),
INTENT(IN) :: PSNOW
111 REAL,
DIMENSION(KI),
INTENT(IN) :: PRAIN
113 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFTH
114 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFTQ
115 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFU
116 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFV
117 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFCO2
118 REAL,
DIMENSION(KI,KSV),
INTENT(OUT):: PSFTS
120 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTRAD
121 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: PDIR_ALB
122 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: PSCA_ALB
123 REAL,
DIMENSION(KI),
INTENT(OUT) :: PEMIS
125 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTSURF
126 REAL,
DIMENSION(KI),
INTENT(OUT) :: PZ0
127 REAL,
DIMENSION(KI),
INTENT(OUT) :: PZ0H
128 REAL,
DIMENSION(KI),
INTENT(OUT) :: PQSURF
130 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEW_A_COEF
131 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEW_B_COEF
132 REAL,
DIMENSION(KI),
INTENT(IN) :: PPET_A_COEF
133 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEQ_A_COEF
134 REAL,
DIMENSION(KI),
INTENT(IN) :: PPET_B_COEF
135 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEQ_B_COEF
136 CHARACTER(LEN=2),
INTENT(IN) :: HTEST
140 REAL,
DIMENSION(KI) :: ZSFTH
141 REAL,
DIMENSION(KI) :: ZSFTQ
142 REAL,
DIMENSION(KI) :: ZSFCO2
143 REAL,
DIMENSION(KI,KSV) :: ZSFTS
144 REAL,
DIMENSION(KI) :: ZSFU
145 REAL,
DIMENSION(KI) :: ZSFV
146 REAL,
DIMENSION(KI) :: ZTRAD
147 REAL,
DIMENSION(KI) :: ZEMIS
148 REAL,
DIMENSION(KI,KSW) :: ZDIR_ALB
149 REAL,
DIMENSION(KI,KSW) :: ZSCA_ALB
150 REAL,
DIMENSION(KI) :: ZTSURF
151 REAL,
DIMENSION(KI) :: ZZ0
152 REAL,
DIMENSION(KI) :: ZZ0H
153 REAL,
DIMENSION(KI) :: ZQSURF
155 REAL,
DIMENSION(KI) :: ZWORK_LW
156 REAL,
DIMENSION(KI) :: ZWORK_Z0
157 REAL,
DIMENSION(KI) :: ZWORK_Z0H
164 REAL(KIND=JPRB) :: ZHOOK_HANDLE
172 IF (
lhook)
CALL dr_hook(
'COUPLING_ISBA_SVAT_N',0,zhook_handle)
173 IF (hcoupling==
'I')
THEN 179 ELSE IF (im%O%XTSTEP==
xundef)
THEN 186 it=max(nint(ptstep/im%O%XTSTEP),1)
234 im%ID, im%NGB, im%GB, im%ISS, im%NISS, im%G, im%NG, im%O, &
235 im%S, im%K, im%NK, im%NP, im%NPE, ndst, slt, &
236 hprogram, hcoupling, ztstep, kyear, kmonth, kday, ptime, ki, &
237 ksv, ksw, ptsun, pzenith, pzenith2, pazim, pzref, puref, pzs, &
238 pu, pv, pqa, pta, prhoa, psv, pco2, hsv, prain, psnow, plw, &
239 pdir_sw, psca_sw, psw_bands, pps, ppa, zsftq, zsfth, zsfts, &
240 zsfco2, zsfu, zsfv, ztrad, zdir_alb, zsca_alb, zemis, ztsurf, &
241 zz0, zz0h, zqsurf, ppew_a_coef, ppew_b_coef, ppet_a_coef, &
242 ppeq_a_coef, ppet_b_coef, ppeq_b_coef,
'OK' )
244 psftq = psftq + zsftq / zt
245 psfth = psfth + zsfth / zt
246 psfts = psfts + zsfts / zt
247 psfco2 = psfco2 + zsfco2 / zt
248 psfu = psfu + zsfu / zt
249 psfv = psfv + zsfv / zt
250 pemis = pemis + zemis / zt
251 pdir_alb = pdir_alb + zdir_alb / zt
252 psca_alb = psca_alb + zsca_alb / zt
253 ptsurf = ptsurf + ztsurf / zt
254 pqsurf = pqsurf + zqsurf / zt
256 zwork_lw = zwork_lw + zemis*ztrad**4 / zt
257 zwork_z0 = zwork_z0 + (1.0/(log(puref(:)/zz0 ))**2) / zt
258 zwork_z0h = zwork_z0h + (1.0/(log(pzref(:)/zz0h))**2) / zt
264 ptrad = (zwork_lw/pemis)**(0.25)
268 pz0 = puref(:) * exp( - sqrt(1./zwork_z0(:)) )
269 pz0h = pzref(:) * exp( - sqrt(1./zwork_z0h(:)) )
271 IF (
lhook)
CALL dr_hook(
'COUPLING_ISBA_SVAT_N',1,zhook_handle)
subroutine coupling_isba_orography_n(DTCO, UG, U, USS, SB, NAG, CHI, NCHI, DTV, ID, NGB, GB, ISS, NISS, IG, NIG, IO, S, K, NK, NP, NPE, NDST, 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_svat_n(DTCO, UG, U, USS, IM, NDST, 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)