6 SUBROUTINE init_flake_n ( DTCO, OREAD_BUDGETC, UG, U, FM, &
10 PZENITH,PAZIM,PSW_BANDS,PDIR_ALB,PSCA_ALB, &
11 PEMIS,PTSRAD,PTSURF, &
12 KYEAR, KMONTH,KDAY, PTIME, &
13 HATMFILE,HATMFILETYPE, &
62 USE modd_snow_par
, ONLY : xansmin, xansmax
74 USE modi_init_io_surf_n
75 USE modi_default_ch_dep
76 USE modi_default_flake
77 USE modi_default_diag_flake
78 USE modi_read_default_flake_n
79 USE modi_read_flake_conf_n
81 USE modi_read_pgd_flake_n
82 USE modi_diag_flake_init_n
83 USE modi_end_io_surf_n
86 USE modi_read_flake_date
87 USE modi_read_nam_prep_flake_n
88 USE modi_init_chemical_n
89 USE modi_prep_ctrl_flake
90 USE modi_update_rad_flake
93 USE modi_set_surfex_filein
100 USE modi_get_type_dim_n
109 LOGICAL,
INTENT(IN) :: OREAD_BUDGETC
114 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
115 CHARACTER(LEN=3),
INTENT(IN) :: HINIT
116 INTEGER,
INTENT(IN) :: KI
117 INTEGER,
INTENT(IN) :: KSV
118 INTEGER,
INTENT(IN) :: KSW
119 CHARACTER(LEN=6),
DIMENSION(KI),
INTENT(IN) :: HSV
120 REAL,
DIMENSION(KI),
INTENT(IN) :: PCO2
121 REAL,
DIMENSION(KI),
INTENT(IN) :: PRHOA
122 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH
123 REAL,
DIMENSION(KI),
INTENT(IN) :: PAZIM
124 REAL,
DIMENSION(KSW),
INTENT(IN) :: PSW_BANDS
125 REAL,
DIMENSION(KI,KSW),
INTENT(OUT) :: PDIR_ALB
126 REAL,
DIMENSION(KI,KSW),
INTENT(OUT) :: PSCA_ALB
127 REAL,
DIMENSION(KI),
INTENT(OUT) :: PEMIS
128 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTSRAD
129 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTSURF
130 INTEGER,
INTENT(IN) :: KYEAR
131 INTEGER,
INTENT(IN) :: KMONTH
132 INTEGER,
INTENT(IN) :: KDAY
133 REAL,
INTENT(IN) :: PTIME
136 CHARACTER(LEN=28),
INTENT(IN) :: HATMFILE
137 CHARACTER(LEN=6),
INTENT(IN) :: HATMFILETYPE
138 CHARACTER(LEN=2),
INTENT(IN) :: HTEST
150 REAL(KIND=JPRB) :: ZHOOK_HANDLE
160 IF (htest/=
'OK')
THEN 161 CALL abor1_sfx(
'INIT_FLAKEN: FATAL ERROR DURING ARGUMENT TRANSFER')
164 ALLOCATE(fm%DMF%XZWAT_PROFILE(100))
181 CALL default_flake(fm%F%XTSTEP,fm%F%XOUT_TSTEP,fm%F%LSEDIMENTS,fm%F%CSNOW_FLK,fm%F%CFLK_FLUX,fm%F%CFLK_ALB,&
184 CALL default_diag_flake(fm%DFO%N2M,fm%DFO%LSURF_BUDGET,fm%DFO%L2M_MIN_ZS,fm%DFO%LRAD_BUDGET,&
185 fm%DFO%LCOEF,fm%DFO%LSURF_VARS, fm%DMF%LWATER_PROFILE,fm%DFO%LSURF_BUDGETC,&
186 fm%DFO%LRESET_BUDGETC,fm%DFO%XDIAG_TSTEP,fm%DMF%XZWAT_PROFILE )
208 fm%F%TTIME%TDATE%YEAR =
nundef 209 fm%F%TTIME%TDATE%MONTH=
nundef 210 fm%F%TTIME%TDATE%DAY =
nundef 216 CALL read_flake_date(hprogram,hinit,iluout,hatmfile,hatmfiletype,kyear,kmonth,kday,ptime,fm%F%TTIME)
220 CALL read_surf(hprogram,
'DTCUR',fm%F%TTIME,iresp)
247 IF (hinit/=
'ALL')
THEN 261 ilu =
SIZE(fm%F%XCOVER,1)
268 ALLOCATE(fm%F%XCORIO (ilu))
269 ALLOCATE(fm%F%XICE_ALB (ilu))
270 ALLOCATE(fm%F%XSNOW_ALB (ilu))
271 ALLOCATE(fm%F%XEXTCOEF_ICE (ilu))
272 ALLOCATE(fm%F%XEXTCOEF_SNOW (ilu))
274 fm%F%XCORIO(:) = 2*
xomega*sin(fm%G%XLAT(:)*
xpi/180.)
279 fm%F%XEXTCOEF_ICE =
xundef 280 fm%F%XEXTCOEF_SNOW =
xundef 286 ALLOCATE(fm%F%XDIR_ALB (ilu))
287 ALLOCATE(fm%F%XSCA_ALB (ilu))
288 ALLOCATE(fm%F%XEMIS (ilu))
295 ptsurf(:) = fm%F%XTS(:)
302 CALL read_sbl_n(dtco, u, fm%SB, fm%F%LSBL, hprogram,
"WATER ")
311 fm%CHF%CCH_NAMES, fm%CHF%CAER_NAMES, &
312 hdstnames=fm%CHF%CDSTNAMES, hsltnames=fm%CHF%CSLTNAMES )
316 IF (fm%CHF%SVF%NBEQ>0 .AND. fm%CHF%CCH_DRY_DEP==
'WES89')
THEN 317 ALLOCATE(fm%CHF%XDEP(ilu,fm%CHF%SVF%NBEQ))
319 ALLOCATE(fm%CHF%XDEP(0,0))
subroutine init_chemical_n(KLUOUT, KSV, HSV, SV, HCH_NAMES, HAER_NAMES, HDSTNAMES, HSLTNAMES)
subroutine set_surfex_filein(HPROGRAM, HMASK)
subroutine default_flake(PTSTEP, POUT_TSTEP, OSEDIMENTS, HSNOW_FLK, HFLK_FLUX, HFLK_ALB, OSKINTEMP)
subroutine prep_ctrl_flake(DGO, KLUOUT, OWATER_PROFILE)
subroutine default_diag_flake(K2M, OSURF_BUDGET, O2M_MIN_ZS, ORAD_BUD
subroutine read_flake_n(DTCO, U, F, HPROGRAM)
subroutine read_nam_prep_flake_n(HPROGRAM)
subroutine read_sbl_n(DTCO, U, SB, OSBL, HPROGRAM, HSURF)
subroutine abor1_sfx(YTEXT)
subroutine read_flake_conf_n(CHF, DGO, DMF, F, HPROGRAM)
subroutine init_flake_n(DTCO, OREAD_BUDGETC, UG, U, FM, HPROGRAM, HINIT, KI, KSV, KSW, HSV, PCO2, PRHOA, PZENITH, PAZIM, PSW_BANDS, PDIR_ALB, PSCA_ALB, PEMIS, PTSRAD, PTSURF, KYEAR, KMONTH, KDAY, PTIME, HATMFILE, HATMFILETYPE, HTEST)
subroutine diag_flake_init_n(OREAD_BUDGETC, DGO, D, DC, DMF, F, HPROGRAM, KLU, KSW)
integer, parameter nundef
subroutine update_rad_flake(F, PZENITH, PDIR_ALB_ATMOS, PSCA_ALB_ATMOS, PEMIS_ATMOS, PTRAD)
subroutine default_ch_dep(HCH_DRY_DEP)
subroutine end_io_surf_n(HPROGRAM)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine read_default_flake_n(CHF, DGO, DMF, F, HPROGRAM)
subroutine read_pgd_flake_n(DTCO, U, UG, FG, F, HPROGRAM)
subroutine init_io_surf_n(DTCO, U, HPROGRAM, HMASK, HSCHEME, HACTION
subroutine read_flake_date( HPROGRAM, HINIT, KLUOUT, HATMFILE, HATMFIL