7 PTSTEP, KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, PTSUN,&
8 PZENITH, PAZIM, PZREF, PUREF, PZS, PU, PV, PQA, PTA, &
9 PRHOA, PSV, PCO2, HSV, PRAIN, PSNOW, PLW, PDIR_SW, &
10 PSCA_SW, PSW_BANDS, PPS, PPA, PSFTQ, PSFTH, PSFTS, &
11 PSFCO2, PSFU, PSFV, PTRAD, PDIR_ALB, PSCA_ALB, PEMIS, &
12 PTSURF, PZ0, PZ0H, PQSURF, PPEW_A_COEF, PPEW_B_COEF, &
13 PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, &
56 USE modi_forcing_vert_shift
62 USE modi_coupling_teb_n
71 TYPE(
dst_t),
INTENT(INOUT) :: DST
72 TYPE(
slt_t),
INTENT(INOUT) :: SLT
77 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
78 CHARACTER(LEN=1),
INTENT(IN) :: HCOUPLING
81 INTEGER,
INTENT(IN) :: KYEAR
82 INTEGER,
INTENT(IN) :: KMONTH
83 INTEGER,
INTENT(IN) :: KDAY
84 REAL,
INTENT(IN) :: PTIME
85 INTEGER,
INTENT(IN) :: KI
86 INTEGER,
INTENT(IN) :: KSV
87 INTEGER,
INTENT(IN) :: KSW
88 REAL,
DIMENSION(KI),
INTENT(IN) :: PTSUN
89 REAL,
INTENT(IN) :: PTSTEP
90 REAL,
DIMENSION(KI),
INTENT(IN) :: PZREF
91 REAL,
DIMENSION(KI),
INTENT(IN) :: PUREF
93 REAL,
DIMENSION(KI),
INTENT(IN) :: PTA
94 REAL,
DIMENSION(KI),
INTENT(IN) :: PQA
95 REAL,
DIMENSION(KI),
INTENT(IN) :: PRHOA
96 REAL,
DIMENSION(KI,KSV),
INTENT(IN) :: PSV
99 CHARACTER(LEN=6),
DIMENSION(KSV),
INTENT(IN):: HSV
100 REAL,
DIMENSION(KI),
INTENT(IN) :: PU
101 REAL,
DIMENSION(KI),
INTENT(IN) :: PV
102 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: PDIR_SW
104 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: PSCA_SW
106 REAL,
DIMENSION(KSW),
INTENT(IN) :: PSW_BANDS
107 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH
108 REAL,
DIMENSION(KI),
INTENT(IN) :: PAZIM
109 REAL,
DIMENSION(KI),
INTENT(IN) :: PLW
111 REAL,
DIMENSION(KI),
INTENT(IN) :: PPS
112 REAL,
DIMENSION(KI),
INTENT(IN) :: PPA
113 REAL,
DIMENSION(KI),
INTENT(IN) :: PZS
114 REAL,
DIMENSION(KI),
INTENT(IN) :: PCO2
115 REAL,
DIMENSION(KI),
INTENT(IN) :: PSNOW
116 REAL,
DIMENSION(KI),
INTENT(IN) :: PRAIN
119 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFTH
120 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFTQ
121 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFU
122 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFV
123 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFCO2
124 REAL,
DIMENSION(KI,KSV),
INTENT(OUT):: PSFTS
126 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTRAD
127 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: PDIR_ALB
128 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: PSCA_ALB
129 REAL,
DIMENSION(KI),
INTENT(OUT) :: PEMIS
131 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTSURF
132 REAL,
DIMENSION(KI),
INTENT(OUT) :: PZ0
133 REAL,
DIMENSION(KI),
INTENT(OUT) :: PZ0H
134 REAL,
DIMENSION(KI),
INTENT(OUT) :: PQSURF
136 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEW_A_COEF
137 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEW_B_COEF
138 REAL,
DIMENSION(KI),
INTENT(IN) :: PPET_A_COEF
139 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEQ_A_COEF
140 REAL,
DIMENSION(KI),
INTENT(IN) :: PPET_B_COEF
141 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEQ_B_COEF
142 CHARACTER(LEN=2),
INTENT(IN) :: HTEST
146 REAL,
DIMENSION(KI) :: ZPEQ_B_COEF
147 REAL,
DIMENSION(KI) :: ZPET_B_COEF
149 REAL,
DIMENSION(KI) :: ZTA
150 REAL,
DIMENSION(KI) :: ZPA
151 REAL,
DIMENSION(KI) :: ZPS
152 REAL,
DIMENSION(KI) :: ZQA
153 REAL,
DIMENSION(KI) :: ZRHOA
154 REAL,
DIMENSION(KI) :: ZLW
155 REAL,
DIMENSION(KI) :: ZRAIN
156 REAL,
DIMENSION(KI) :: ZSNOW
158 REAL(KIND=JPRB) :: ZHOOK_HANDLE
163 IF (
lhook)
CALL dr_hook(
'COUPLING_TEB_OROGRAPHY_N',0,zhook_handle)
165 zpeq_b_coef(:) = ppeq_b_coef(:)
166 zpet_b_coef(:) = ppet_b_coef(:)
180 zta, zqa, zpa, zrhoa, zlw, zrain, zsnow )
182 zps(:) = zpa(:) + (pps(:) - ppa(:))
184 IF (hcoupling==
'I')
THEN 185 zpeq_b_coef = ppeq_b_coef + zqa - pqa
202 CALL coupling_teb_n(dtco, dst, slt, tm%TOP, tm%SB, tm%G, tm%CHT, tm%NT, tm%TPN, tm%TIR, tm%BOP, &
203 tm%NB, tm%TD, gdm, grm,hprogram, hcoupling, ptstep, kyear, kmonth, kday,&
204 ptime, ki, ksv, ksw, ptsun, pzenith, pazim, pzref, puref, tm%TOP%XZS, &
205 pu, pv, zqa, zta, zrhoa,psv, pco2, hsv, zrain, zsnow, zlw, pdir_sw, &
206 psca_sw, psw_bands, zps, zpa, psftq, psfth, psfts, psfco2, psfu, psfv, &
207 ptrad, pdir_alb, psca_alb, pemis, ptsurf, pz0, pz0h, pqsurf, &
208 ppew_a_coef, ppew_b_coef, ppet_a_coef, ppeq_a_coef, zpet_b_coef, &
211 IF (
lhook)
CALL dr_hook(
'COUPLING_TEB_OROGRAPHY_N',1,zhook_handle)
subroutine coupling_teb_n(DTCO, DST, SLT, TOP, SB, G, CHT, NT, TPN, TIR, BOP, NB, TD, GDM, GRM, HPROGRAM, HCOUPLING, PTSTEP, KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, PTSUN, PZENITH, PAZIM, PZREF, PUREF, PZS, PU, PV, PQA, PTA, PRHOA, PSV, PCO2, HSV, PRAIN, PSN, 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_teb_orography_n(DTCO, DST, SLT, TM, GDM, GRM, HPROGRAM, HCOUPLING, PTSTEP, KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, PTSUN, PZENITH, 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 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)