6 SUBROUTINE coupling_sea_n (SM, DGO, DL, DLC, U, DST, SLT, HPROGRAM, HCOUPLING, PTIMEC, &
7 PTSTEP, KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, PTSUN, PZENITH, PZENITH2, &
8 PAZIM,PZREF, PUREF, PZS, PU, PV, PQA, PTA, PRHOA, PSV, PCO2, HSV, &
9 PRAIN, PSNOW, PLW, PDIR_SW, PSCA_SW, PSW_BANDS, PPS, PPA, &
10 PSFTQ, PSFTH, PSFTS, PSFCO2, PSFU, PSFV, &
11 PTRAD, PDIR_ALB, PSCA_ALB, PEMIS, PTSURF, PZ0, PZ0H, PQSURF, &
12 PPEW_A_COEF, PPEW_B_COEF, &
13 PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, HTEST )
52 USE modi_coupling_ideal_flux
54 USE modi_coupling_seaflux_orog_n
63 TYPE(
diag_t),
INTENT(INOUT) :: DL
64 TYPE(
diag_t),
INTENT(INOUT) :: DLC
66 TYPE(
dst_t),
INTENT(INOUT) :: DST
67 TYPE(
slt_t),
INTENT(INOUT) :: SLT
69 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
70 CHARACTER(LEN=1),
INTENT(IN) :: HCOUPLING
73 REAL,
INTENT(IN) :: PTIMEC
74 INTEGER,
INTENT(IN) :: KYEAR
75 INTEGER,
INTENT(IN) :: KMONTH
76 INTEGER,
INTENT(IN) :: KDAY
77 REAL,
INTENT(IN) :: PTIME
78 INTEGER,
INTENT(IN) :: KI
79 INTEGER,
INTENT(IN) :: KSV
80 INTEGER,
INTENT(IN) :: KSW
81 REAL,
DIMENSION(KI),
INTENT(IN) :: PTSUN
82 REAL,
INTENT(IN) :: PTSTEP
83 REAL,
DIMENSION(KI),
INTENT(IN) :: PZREF
84 REAL,
DIMENSION(KI),
INTENT(IN) :: PUREF
86 REAL,
DIMENSION(KI),
INTENT(IN) :: PTA
87 REAL,
DIMENSION(KI),
INTENT(IN) :: PQA
88 REAL,
DIMENSION(KI),
INTENT(IN) :: PRHOA
89 REAL,
DIMENSION(KI,KSV),
INTENT(IN) :: PSV
92 CHARACTER(LEN=6),
DIMENSION(KSV),
INTENT(IN):: HSV
93 REAL,
DIMENSION(KI),
INTENT(IN) :: PU
94 REAL,
DIMENSION(KI),
INTENT(IN) :: PV
95 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: PDIR_SW
97 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: PSCA_SW
99 REAL,
DIMENSION(KSW),
INTENT(IN) :: PSW_BANDS
100 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH
101 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH2
102 REAL,
DIMENSION(KI),
INTENT(IN) :: PAZIM
103 REAL,
DIMENSION(KI),
INTENT(IN) :: PLW
105 REAL,
DIMENSION(KI),
INTENT(IN) :: PPS
106 REAL,
DIMENSION(KI),
INTENT(IN) :: PPA
107 REAL,
DIMENSION(KI),
INTENT(IN) :: PZS
108 REAL,
DIMENSION(KI),
INTENT(IN) :: PCO2
109 REAL,
DIMENSION(KI),
INTENT(IN) :: PSNOW
110 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
137 REAL(KIND=JPRB) :: ZHOOK_HANDLE
143 IF (
lhook)
CALL dr_hook(
'COUPLING_SEA_N',0,zhook_handle)
144 IF (u%CSEA==
'SEAFLX')
THEN 146 ptstep, kyear, kmonth, kday, ptime, ki, ksv, ksw, &
147 ptsun, pzenith, pzenith2,pazim, &
148 pzref, puref, pzs, pu, pv, pqa, pta, prhoa, psv, pco2, hsv, &
149 prain, psnow, plw, pdir_sw, psca_sw, psw_bands, pps, ppa, &
150 psftq, psfth, psfts, psfco2, psfu, psfv, &
151 ptrad, pdir_alb, psca_alb, pemis, ptsurf, pz0, pz0h, pqsurf, &
152 ppew_a_coef, ppew_b_coef, &
153 ppet_a_coef, ppeq_a_coef, ppet_b_coef, ppeq_b_coef, htest )
154 ELSE IF (u%CSEA==
'FLUX ')
THEN 156 ptstep, kyear, kmonth, kday, ptime, ki, ksv, ksw, &
157 ptsun, pzenith, pazim, &
158 pzref, puref, pzs, pu, pv, pqa, pta, prhoa, psv, pco2, hsv, &
159 prain, psnow, plw, pdir_sw, psca_sw, psw_bands, pps, ppa, &
160 psftq, psfth, psfts, psfco2, psfu, psfv, &
161 ptrad, pdir_alb, psca_alb, pemis, ptsurf, pz0, pz0h, pqsurf, &
162 ppew_a_coef, ppew_b_coef, &
163 ppet_a_coef, ppeq_a_coef, ppet_b_coef, ppeq_b_coef, htest )
164 ELSE IF (u%CSEA==
'NONE ')
THEN 183 IF (
lhook)
CALL dr_hook(
'COUPLING_SEA_N',1,zhook_handle)
subroutine coupling_sea_n(SM, DGO, DL, DLC, 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)
subroutine coupling_seaflux_orog_n(SM, 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_ideal_flux(DGO, D, DC, 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)