59 TYPE(
diag_t),
INTENT(INOUT) :: D
60 TYPE(
diag_t),
INTENT(INOUT) :: DC
62 CHARACTER(LEN=6),
INTENT(IN):: HPROGRAM
63 LOGICAL,
INTENT(IN) :: OREAD_BUDGETC
65 INTEGER,
INTENT(IN) :: KLU
66 INTEGER,
INTENT(IN) :: KSW
73 CHARACTER(LEN=12) :: YREC
74 REAL(KIND=JPRB) :: ZHOOK_HANDLE
80 IF (
lhook)
CALL dr_hook(
'DIAG_IDEAL_INIT_N',0,zhook_handle)
84 IF (dgo%LSURF_BUDGET .OR. dgo%LSURF_BUDGETC)
THEN 86 ALLOCATE(d%XEVAP (klu))
87 ALLOCATE(d%XSUBL (klu))
88 ALLOCATE(d%XALBT (klu))
89 ALLOCATE(d%XSWE (klu))
100 ALLOCATE(d%XALBT (0))
107 IF (dgo%LSURF_BUDGETC)
THEN 111 ALLOCATE(dc%XEVAP (klu))
112 ALLOCATE(dc%XSUBL (klu))
114 IF (.NOT. oread_budgetc .OR. oread_budgetc.AND.dgo%LRESET_BUDGETC)
THEN 119 CALL read_surf(hprogram,
'VERSION',iversion,iresp)
126 CALL read_surf(hprogram,yrec,dc%XRN,iresp)
128 CALL read_surf(hprogram,yrec,dc%XH,iresp)
130 CALL read_surf(hprogram,yrec,dc%XLE,iresp)
132 CALL read_surf(hprogram,yrec,dc%XLEI,iresp)
134 CALL read_surf(hprogram,yrec,dc%XGFLUX,iresp)
136 CALL read_surf(hprogram,yrec,dc%XSWD,iresp)
138 CALL read_surf(hprogram,yrec,dc%XSWU,iresp)
140 CALL read_surf(hprogram,yrec,dc%XLWD,iresp)
142 CALL read_surf(hprogram,yrec,dc%XLWU,iresp)
144 CALL read_surf(hprogram,yrec,dc%XFMU,iresp)
146 CALL read_surf(hprogram,yrec,dc%XFMV,iresp)
148 CALL read_surf(hprogram,yrec,dc%XEVAP,iresp)
150 CALL read_surf(hprogram,yrec,dc%XSUBL,iresp)
156 ALLOCATE(dc%XEVAP (0))
157 ALLOCATE(dc%XSUBL (0))
160 IF (
lhook)
CALL dr_hook(
'DIAG_IDEAL_INIT_N',1,zhook_handle)
subroutine init_surf_bud(DA, PVAL)
subroutine alloc_bud(DGO, DA, KLU, KSW)
subroutine diag_ideal_init_n(DGO, D, DC, HPROGRAM, OREAD_BUDGETC,
subroutine alloc_surf_bud(DA, KLUA, KLUAC, KSWA)