42 USE yomhook
,ONLY : lhook, dr_hook
43 USE parkind1
,ONLY : jprb
47 CHARACTER(LEN=6) :: CSEA_FLUX
48 CHARACTER(LEN=4) :: CSEA_ALB
54 LOGICAL :: LSURF_BUDGET
55 LOGICAL :: LRAD_BUDGET
56 LOGICAL :: LSURF_BUDGETC
57 LOGICAL :: LRESET_BUDGETC
63 LOGICAL :: LDIAG_OCEAN
64 LOGICAL :: LDIAG_SEAICE
68 CHARACTER(LEN=6) :: CCH_DRY_DEP
71 INTEGER :: NTIME_COUPLING
73 CHARACTER(LEN=6) :: CINTERPOL_SST
74 CHARACTER(LEN=6) :: CINTERPOL_SSS
75 CHARACTER(LEN=6) :: CINTERPOL_SIC
76 CHARACTER(LEN=6) :: CINTERPOL_SIT
78 REAL :: XSIC_EFOLDING_TIME
79 REAL :: XSIT_EFOLDING_TIME
84 namelist/nam_seafluxn/csea_flux,csea_alb, lpwg, lprecip, lpwebb, ngrvwaves, &
85 nz0, lprogsst, ntime_coupling, xocean_tstep, xichce, &
86 cinterpol_sst, cinterpol_sss, lpertflux
87 namelist/nam_diag_surfn/n2m,l2m_min_zs,lsurf_budget,lrad_budget, &
88 lsurf_budgetc,lreset_budgetc,lcoef,lsurf_vars
89 namelist/nam_ch_seafluxn/cch_dry_dep
90 namelist/nam_diag_oceann/ldiag_ocean
91 namelist/nam_seaicen/ldiag_seaice, cinterpol_sic, cinterpol_sit, &
92 xfreezing_sst, xsic_efolding_time, xsit_efolding_time,&
93 xseaice_tstep, xcd_ice_cst, xsi_flx_drv
105 TYPE(ocean_t),
INTENT(INOUT) :: o
107 REAL(KIND=JPRB) :: zhook_handle
109 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:INIT_NAM_SEAFLUXN',0,zhook_handle)
111 xout_tstep = s%XOUT_TSTEP
112 csea_flux = s%CSEA_FLUX
113 csea_alb = s%CSEA_ALB
116 cinterpol_sst = s%CINTERPOL_SST
117 cinterpol_sss = s%CINTERPOL_SSS
120 ngrvwaves = s%NGRVWAVES
121 lprogsst = o%LPROGSST
122 ntime_coupling = o%NTIME_COUPLING
123 xocean_tstep = o%XOCEAN_TSTEP
125 lpertflux = s%LPERTFLUX
126 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:INIT_NAM_SEAFLUXN',1,zhook_handle)
137 TYPE(ocean_t),
INTENT(INOUT) :: o
139 REAL(KIND=JPRB) :: zhook_handle
141 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:UPDATE_NAM_SEAFLUXN',0,zhook_handle)
143 s%XOUT_TSTEP = xout_tstep
144 s%CSEA_FLUX = csea_flux
145 s%CSEA_ALB = csea_alb
148 s%CINTERPOL_SST = cinterpol_sst
149 s%CINTERPOL_SSS = cinterpol_sss
152 s%NGRVWAVES = ngrvwaves
153 o%LPROGSST = lprogsst
154 o%NTIME_COUPLING = ntime_coupling
155 o%XOCEAN_TSTEP = xocean_tstep
157 s%LPERTFLUX = lpertflux
158 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:UPDATE_NAM_SEAFLUXN',1,zhook_handle)
169 REAL(KIND=JPRB) :: zhook_handle
171 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:INIT_NAM_DIAG_SURFN',0,zhook_handle)
172 xdiag_tstep = dgs%XDIAG_TSTEP
174 l2m_min_zs = dgs%L2M_MIN_ZS
175 lsurf_budget = dgs%LSURF_BUDGET
176 lrad_budget = dgs%LRAD_BUDGET
177 lsurf_budgetc = dgs%LSURF_BUDGETC
178 lreset_budgetc = dgs%LRESET_BUDGETC
180 lsurf_vars = dgs%LSURF_VARS
181 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:INIT_NAM_DIAG_SURFN',1,zhook_handle)
192 REAL(KIND=JPRB) :: zhook_handle
194 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:UPDATE_NAM_DIAG_SURFN',0,zhook_handle)
195 dgs%XDIAG_TSTEP = xdiag_tstep
197 dgs%L2M_MIN_ZS = l2m_min_zs
198 dgs%LSURF_BUDGET = lsurf_budget
199 dgs%LRAD_BUDGET = lrad_budget
200 dgs%LSURF_BUDGETC = lsurf_budgetc
201 dgs%LRESET_BUDGETC = lreset_budgetc
203 dgs%LSURF_VARS = lsurf_vars
204 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:UPDATE_NAM_DIAG_SURFN',1,zhook_handle)
215 REAL(KIND=JPRB) :: zhook_handle
217 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:INIT_NAM_CH_SEAFLUXN',0,zhook_handle)
218 cch_dry_dep = chs%CCH_DRY_DEP
219 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:INIT_NAM_CH_SEAFLUXN',1,zhook_handle)
230 REAL(KIND=JPRB) :: zhook_handle
232 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:UPDATE_NAM_CH_SEAFLUXN',0,zhook_handle)
233 chs%CCH_DRY_DEP = cch_dry_dep
234 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:UPDATE_NAM_CH_SEAFLUXN',1,zhook_handle)
245 REAL(KIND=JPRB) :: zhook_handle
247 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:INIT_NAM_DIAG_OCEANN',0,zhook_handle)
248 ldiag_ocean = dgo%LDIAG_OCEAN
249 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:INIT_NAM_DIAG_OCEANN',1,zhook_handle)
260 REAL(KIND=JPRB) :: zhook_handle
262 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:UPDATE_NAM_DIAG_OCEANN',0,zhook_handle)
263 dgo%LDIAG_OCEAN = ldiag_ocean
264 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:UPDATE_NAM_DIAG_OCEANN',1,zhook_handle)
277 REAL(KIND=JPRB) :: zhook_handle
279 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:INIT_NAM_SEAICEN',0,zhook_handle)
280 ldiag_seaice = dgsi%LDIAG_SEAICE
281 cinterpol_sic = s%CINTERPOL_SIC
282 cinterpol_sit = s%CINTERPOL_SIT
283 xsic_efolding_time=s%XSIC_EFOLDING_TIME
284 xsit_efolding_time=s%XSIT_EFOLDING_TIME
285 xseaice_tstep=s%XSEAICE_TSTEP
286 xfreezing_sst = s%XFREEZING_SST
287 xcd_ice_cst = s%XCD_ICE_CST
288 xsi_flx_drv = s%XSI_FLX_DRV
289 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:INIT_NAM_SEAICEN',1,zhook_handle)
302 REAL(KIND=JPRB) :: zhook_handle
304 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:UPDATE_NAM_SEAICEN',0,zhook_handle)
305 dgsi%LDIAG_SEAICE = ldiag_seaice
306 s%CINTERPOL_SIC = cinterpol_sic
307 s%CINTERPOL_SIT = cinterpol_sit
308 s%XSIC_EFOLDING_TIME = xsic_efolding_time
309 s%XSIT_EFOLDING_TIME = xsit_efolding_time
310 s%XSEAICE_TSTEP = xseaice_tstep
311 s%XFREEZING_SST = xfreezing_sst
312 s%XCD_ICE_CST = xcd_ice_cst
313 s%XSI_FLX_DRV = xsi_flx_drv
314 IF (lhook) CALL dr_hook(
'MODN_SEAFLUX_N:UPDATE_NAM_SEAICEN',1,zhook_handle)
subroutine update_nam_ch_seafluxn(CHS)
subroutine init_nam_ch_seafluxn(CHS)
subroutine init_nam_seaicen(DGSI, S)
subroutine init_nam_diag_surfn(DGF)
subroutine update_nam_diag_surfn(DGF)
subroutine init_nam_diag_oceann(DGO)
subroutine update_nam_seafluxn(O, S)
subroutine update_nam_seaicen(DGSI, S)
subroutine update_nam_diag_oceann(DGO)
subroutine init_nam_seafluxn(O, S)