7 hprogram, hcoupling, ptimec, &
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, &
53 USE yomhook
,ONLY : lhook, dr_hook
54 USE parkind1
,ONLY : jprb
56 USE modi_coupling_flake_orography_n
58 USE modi_coupling_ideal_flux
60 USE modi_coupling_watflux_orog_n
72 TYPE(dst_t),
INTENT(INOUT) :: dst
73 TYPE(slt_t),
INTENT(INOUT) :: slt
76 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
77 CHARACTER(LEN=1),
INTENT(IN) :: hcoupling
80 REAL,
INTENT(IN) :: ptimec
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) :: pzenith2
109 REAL,
DIMENSION(KI),
INTENT(IN) :: pazim
110 REAL,
DIMENSION(KI),
INTENT(IN) :: plw
112 REAL,
DIMENSION(KI),
INTENT(IN) :: pps
113 REAL,
DIMENSION(KI),
INTENT(IN) :: ppa
114 REAL,
DIMENSION(KI),
INTENT(IN) :: pzs
115 REAL,
DIMENSION(KI),
INTENT(IN) :: pco2
116 REAL,
DIMENSION(KI),
INTENT(IN) :: psnow
117 REAL,
DIMENSION(KI),
INTENT(IN) :: prain
120 REAL,
DIMENSION(KI),
INTENT(OUT) :: psfth
121 REAL,
DIMENSION(KI),
INTENT(OUT) :: psftq
122 REAL,
DIMENSION(KI),
INTENT(OUT) :: psfu
123 REAL,
DIMENSION(KI),
INTENT(OUT) :: psfv
124 REAL,
DIMENSION(KI),
INTENT(OUT) :: psfco2
125 REAL,
DIMENSION(KI,KSV),
INTENT(OUT):: psfts
127 REAL,
DIMENSION(KI),
INTENT(OUT) :: ptrad
128 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: pdir_alb
129 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: psca_alb
130 REAL,
DIMENSION(KI),
INTENT(OUT) :: pemis
132 REAL,
DIMENSION(KI),
INTENT(OUT) :: ptsurf
133 REAL,
DIMENSION(KI),
INTENT(OUT) :: pz0
134 REAL,
DIMENSION(KI),
INTENT(OUT) :: pz0h
135 REAL,
DIMENSION(KI),
INTENT(OUT) :: pqsurf
137 REAL,
DIMENSION(KI),
INTENT(IN) :: ppew_a_coef
138 REAL,
DIMENSION(KI),
INTENT(IN) :: ppew_b_coef
139 REAL,
DIMENSION(KI),
INTENT(IN) :: ppet_a_coef
140 REAL,
DIMENSION(KI),
INTENT(IN) :: ppeq_a_coef
141 REAL,
DIMENSION(KI),
INTENT(IN) :: ppet_b_coef
142 REAL,
DIMENSION(KI),
INTENT(IN) :: ppeq_b_coef
143 CHARACTER(LEN=2),
INTENT(IN) :: htest
144 REAL(KIND=JPRB) :: zhook_handle
150 IF (lhook) CALL dr_hook(
'COUPLING_INLAND_WATER_N',0,zhook_handle)
151 IF (u%CWATER==
'WATFLX')
THEN
153 hprogram, hcoupling, ptimec, &
154 ptstep, kyear, kmonth, kday, ptime, &
156 ptsun, pzenith, pzenith2, pazim, &
157 pzref, puref, pzs, pu, pv, pqa, pta, prhoa, psv, pco2, hsv, &
158 prain, psnow, plw, pdir_sw, psca_sw, psw_bands, pps, ppa, &
159 psftq, psfth, psfts, psfco2, psfu, psfv, &
160 ptrad, pdir_alb, psca_alb, pemis, ptsurf, pz0, pz0h, pqsurf, &
161 ppew_a_coef, ppew_b_coef, &
162 ppet_a_coef, ppeq_a_coef, ppet_b_coef, ppeq_b_coef, &
164 ELSE IF (u%CWATER==
'FLUX ')
THEN
166 hprogram, hcoupling, ptimec, &
167 ptstep, kyear, kmonth, kday, ptime, &
169 ptsun, pzenith, pazim, &
170 pzref, puref, pzs, pu, pv, pqa, pta, prhoa, psv, pco2, hsv, &
171 prain, psnow, plw, pdir_sw, psca_sw, psw_bands, pps, ppa, &
172 psftq, psfth, psfts, psfco2, psfu, psfv, &
173 ptrad, pdir_alb, psca_alb, pemis, ptsurf, pz0, pz0h, pqsurf, &
174 ppew_a_coef, ppew_b_coef, &
175 ppet_a_coef, ppeq_a_coef, ppet_b_coef, ppeq_b_coef, &
177 ELSE IF (u%CWATER==
'FLAKE ')
THEN
179 hprogram, hcoupling, &
180 ptstep, kyear, kmonth, kday, ptime, &
182 ptsun, pzenith, pzenith2, pazim, &
183 pzref, puref, pzs, pu, pv, pqa, pta, prhoa, psv, pco2, hsv, &
184 prain, psnow, plw, pdir_sw, psca_sw, psw_bands, pps, ppa, &
185 psftq, psfth, psfts, psfco2, psfu, psfv, &
186 ptrad, pdir_alb, psca_alb, pemis, ptsurf, pz0, pz0h, pqsurf, &
187 ppew_a_coef, ppew_b_coef, &
188 ppet_a_coef, ppeq_a_coef, ppet_b_coef, ppeq_b_coef, &
190 ELSE IF (u%CWATER==
'NONE ')
THEN
209 IF (lhook) CALL dr_hook(
'COUPLING_INLAND_WATER_N',1,zhook_handle)
subroutine coupling_ideal_flux(DGL, HPROGRAM, HCOUPLING, PTIMEC, 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 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_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_inland_water_n(FM, WM, DGL, U, 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)