10 PZENITH,PAZIM,PSW_BANDS,PDIR_ALB,PSCA_ALB, &
11 PEMIS,PTSRAD,PTSURF, &
12 KYEAR, KMONTH,KDAY, PTIME, &
13 HATMFILE,HATMFILETYPE, &
66 USE modi_init_io_surf_n
67 USE modi_default_ch_dep
68 USE modi_default_watflux
69 USE modi_default_diag_watflux
70 USE modi_read_default_watflux_n
71 USE modi_read_watflux_conf_n
72 USE modi_read_watflux_n
73 USE modi_read_pgd_watflux_n
74 USE modi_diag_watflux_init_n
75 USE modi_end_io_surf_n
78 USE modi_read_watflux_date
79 USE modi_read_nam_prep_watflux_n
80 USE modi_init_chemical_n
82 USE modi_update_rad_water
85 USE modi_set_surfex_filein
99 LOGICAL,
INTENT(IN) :: OREAD_BUDGETC
104 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
105 CHARACTER(LEN=3),
INTENT(IN) :: HINIT
106 INTEGER,
INTENT(IN) :: KI
107 INTEGER,
INTENT(IN) :: KSV
108 INTEGER,
INTENT(IN) :: KSW
109 CHARACTER(LEN=6),
DIMENSION(KSV),
INTENT(IN) :: HSV
110 REAL,
DIMENSION(KI),
INTENT(IN) :: PCO2
111 REAL,
DIMENSION(KI),
INTENT(IN) :: PRHOA
112 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH
113 REAL,
DIMENSION(KI),
INTENT(IN) :: PAZIM
114 REAL,
DIMENSION(KSW),
INTENT(IN) :: PSW_BANDS
115 REAL,
DIMENSION(KI,KSW),
INTENT(OUT) :: PDIR_ALB
116 REAL,
DIMENSION(KI,KSW),
INTENT(OUT) :: PSCA_ALB
117 REAL,
DIMENSION(KI),
INTENT(OUT) :: PEMIS
118 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTSRAD
119 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTSURF
120 INTEGER,
INTENT(IN) :: KYEAR
121 INTEGER,
INTENT(IN) :: KMONTH
122 INTEGER,
INTENT(IN) :: KDAY
123 REAL,
INTENT(IN) :: PTIME
126 CHARACTER(LEN=28),
INTENT(IN) :: HATMFILE
127 CHARACTER(LEN=6),
INTENT(IN) :: HATMFILETYPE
128 CHARACTER(LEN=2),
INTENT(IN) :: HTEST
138 REAL(KIND=JPRB) :: ZHOOK_HANDLE
144 IF (
lhook)
CALL dr_hook(
'INIT_WATFLUX_N',0,zhook_handle)
148 IF (htest/=
'OK')
THEN 149 CALL abor1_sfx(
'INIT_WATFLUXN: FATAL ERROR DURING ARGUMENT TRANSFER')
168 CALL default_watflux(wm%W%XTSTEP,wm%W%XOUT_TSTEP,wm%W%CWAT_ALB,wm%W%CINTERPOL_TS
186 wm%W%LINTERPOL_TS=.false.
189 wm%W%CINTERPOL_TS=
'NONE ' 190 wm%W%LINTERPOL_TS=.false.
191 ELSEIF(wm%W%CINTERPOL_TS/=
'NONE ')
THEN 192 wm%W%LINTERPOL_TS=.true.
203 wm%W%TTIME%TDATE%YEAR =
nundef 204 wm%W%TTIME%TDATE%MONTH=
nundef 205 wm%W%TTIME%TDATE%DAY =
nundef 215 CALL read_surf(hprogram,
'DTCUR',wm%W%TTIME,iresp)
247 IF (hinit/=
'ALL' .AND. hinit/=
'SOD')
THEN 248 IF (
lhook)
CALL dr_hook(
'INIT_WATFLUX_N',1,zhook_handle)
264 IF (hinit/=
'ALL')
THEN 266 IF (
lhook)
CALL dr_hook(
'INIT_WATFLUX_N',1,zhook_handle)
270 ilu =
SIZE(wm%W%XCOVER,1)
277 ALLOCATE(wm%W%XTICE (ilu))
278 ALLOCATE(wm%W%XICE_ALB(ilu))
282 ALLOCATE(wm%W%XTICE (0))
283 ALLOCATE(wm%W%XICE_ALB(0))
289 ALLOCATE(wm%W%XDIR_ALB (ilu))
290 ALLOCATE(wm%W%XSCA_ALB (ilu))
291 ALLOCATE(wm%W%XEMIS (ilu))
298 ptsurf(:) = wm%W%XTS(:)
305 CALL read_sbl_n(dtco, u, wm%SB, wm%W%LSBL, hprogram,
"WATER ")
313 wm%CHW%CCH_NAMES, wm%CHW%CAER_NAMES, &
314 hdstnames=wm%CHW%CDSTNAMES, hsltnames=wm%CHW%CSLTNAMES
319 IF (wm%CHW%SVW%NBEQ>0 .AND. wm%CHW%CCH_DRY_DEP==
'WES89')
THEN 320 ALLOCATE(wm%CHW%XDEP(ilu,wm%CHW%SVW%NBEQ))
322 ALLOCATE(wm%CHW%XDEP(0,0))
338 IF (
lhook)
CALL dr_hook(
'INIT_WATFLUX_N',1,zhook_handle)
subroutine init_watflux_n(DTCO, OREAD_BUDGETC, UG, U, WM, HPROGRAM, HINIT,
subroutine init_chemical_n(KLUOUT, KSV, HSV, SV, HCH_NAMES, HAER_NAMES, HDSTNAMES, HSLTNAMES)
subroutine read_watflux_date(HPROGRAM, HINIT, KLUOUT, HATMFILE, HATMF
subroutine set_surfex_filein(HPROGRAM, HMASK)
subroutine default_watflux(PTSTEP, POUT_TSTEP, HWAT_ALB, HINTERPOL_TS
subroutine read_watflux_conf_n(CHW, DGO, W, HPROGRAM)
subroutine default_diag_watflux(K2M, OSURF_BUDGET, O2M_MIN_ZS, ORAD_B
subroutine read_pgd_watflux_n(DTCO, U, UG, WG, W, HPROGRAM)
subroutine update_rad_water(W, PZENITH, PTT, PDIR_ALB_ATMOS, PSCA_ALB_ATMOS, PEMIS_ATMOS, PTRAD)
subroutine prep_ctrl(DGO, KLUOUT)
subroutine read_sbl_n(DTCO, U, SB, OSBL, HPROGRAM, HSURF)
subroutine read_watflux_n(DTCO, U, W, HPROGRAM)
subroutine abor1_sfx(YTEXT)
subroutine read_nam_prep_watflux_n(HPROGRAM)
integer, parameter nundef
subroutine read_default_watflux_n(CHW, DGO, W, HPROGRAM)
subroutine default_ch_dep(HCH_DRY_DEP)
subroutine end_io_surf_n(HPROGRAM)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine diag_watflux_init_n(OREAD_BUDGETC, DGO, D, DC, W, HPRO
subroutine init_io_surf_n(DTCO, U, HPROGRAM, HMASK, HSCHEME, HACTION