SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
surfex_alloc.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 SUBROUTINE surfex_alloc(YDSURFEX)
6 !
7 USE modd_teb_par, ONLY : nteb_patch_max
8 !
9 USE modd_surfex_n, ONLY : surfex_t
10 !
11 USE modd_agri_n, ONLY : agri_init
16 USE modd_ch_isba_n, ONLY : ch_isba_init
19 USE modd_ch_surf_n, ONLY : ch_surf_init
20 USE modd_ch_teb_n, ONLY : ch_teb_init
46 USE modd_dst_n, ONLY : dst_init
50 USE modd_flake_n, ONLY : flake_init
54 USE modd_gr_biog_n, ONLY : gr_biog_init
55 USE modd_ideal_n, ONLY : ideal_init
58 USE modd_isba_n, ONLY : isba_init
59 USE modd_ocean_n, ONLY : ocean_init
65 USE modd_seaflux_n, ONLY : seaflux_init
67 USE modd_slt_n, ONLY : slt_init
72 USE modd_sv_n, ONLY : sv_init
84 USE modd_watflux_n, ONLY : watflux_init
86 !
87 USE modd_bem_n, ONLY : bem_init
94 USE modd_teb_n, ONLY : teb_init
95 !
96 USE yomhook ,ONLY : lhook, dr_hook
97 USE parkind1 ,ONLY : jprb
98 !
99 IMPLICIT NONE
100 !
101 TYPE (surfex_t), INTENT (INOUT) :: ydsurfex
102 REAL(KIND=JPRB) :: zhook_handle
103 IF (lhook) CALL dr_hook("SURFEX_ALLOC",0,zhook_handle)
104 !
105  CALL ch_flake_init(ydsurfex%FM%CHF)
106  CALL diag_flake_init(ydsurfex%FM%DGF)
107  CALL diag_misc_flake_init(ydsurfex%FM%DGMF)
108  CALL flake_grid_init(ydsurfex%FM%FG)
109  CALL flake_init(ydsurfex%FM%F)
110  CALL flake_sbl_init(ydsurfex%FM%FSB)
111  !
112  CALL ch_watflux_init(ydsurfex%WM%CHW)
113  CALL diag_watflux_init(ydsurfex%WM%DGW)
114  CALL watflux_grid_init(ydsurfex%WM%WG)
115  CALL watflux_init(ydsurfex%WM%W)
116  CALL watflux_sbl_init(ydsurfex%WM%WSB)
117  !
118  CALL ch_seaflux_init(ydsurfex%SM%CHS)
119  CALL data_seaflux_init(ydsurfex%SM%DTS)
120  CALL diag_ocean_init(ydsurfex%SM%DGO)
121  CALL diag_seaflux_init(ydsurfex%SM%DGS)
122  CALL diag_seaice_init(ydsurfex%SM%DGSI)
123  CALL ocean_init(ydsurfex%SM%O)
124  CALL ocean_rel_init(ydsurfex%SM%OR)
125  CALL seaflux_grid_init(ydsurfex%SM%SG)
126  CALL seaflux_init(ydsurfex%SM%S)
127  CALL seaflux_sbl_init(ydsurfex%SM%SSB)
128  !
129  CALL agri_init(ydsurfex%IM%AG)
130  CALL ch_isba_init(ydsurfex%IM%CHI)
131  CALL data_isba_init(ydsurfex%IM%DTI)
132  CALL diag_evap_isba_init(ydsurfex%IM%DGEI)
133  CALL diag_isba_init(ydsurfex%IM%DGI)
134  CALL diag_misc_isba_init(ydsurfex%IM%DGMI)
135  CALL gr_biog_init(ydsurfex%IM%GB)
136  CALL isba_canopy_init(ydsurfex%IM%ICP)
137  CALL isba_grid_init(ydsurfex%IM%IG)
138  CALL isba_init(ydsurfex%IM%I)
139  CALL pack_ch_isba_init(ydsurfex%IM%PKCI)
140  CALL pack_diag_isba_init(ydsurfex%IM%PKDI)
141  CALL pack_isba_init(ydsurfex%IM%PKI)
142  !
143  CALL teb_veg_options_init(ydsurfex%GDM%TVG)
144  CALL data_teb_garden_init(ydsurfex%GDM%DTGD)
145  CALL diag_teb_garden_init(ydsurfex%GDM%DGTGD)
146  CALL gr_biog_garden_init(ydsurfex%GDM%GBGD)
147  CALL teb_garden_options_init(ydsurfex%GDM%TGDO)
148  CALL teb_garden_pgd_init(ydsurfex%GDM%TGDP)
149  CALL teb_garden_init(ydsurfex%GDM%TGD,nteb_patch_max)
150  CALL teb_garden_pgd_evol_init(ydsurfex%GDM%TGDPE,nteb_patch_max)
151  CALL teb_irrig_init(ydsurfex%GDM%TIR)
152  !
153  CALL data_teb_greenroof_init(ydsurfex%GRM%DTGR)
154  CALL diag_teb_greenroof_init(ydsurfex%GRM%DGTGR)
155  CALL gr_biog_greenroof_init(ydsurfex%GRM%GBGR)
156  CALL teb_greenroof_options_init(ydsurfex%GRM%TGRO)
157  CALL teb_greenroof_pgd_init(ydsurfex%GRM%TGRP)
158  CALL teb_greenroof_init(ydsurfex%GRM%TGR,nteb_patch_max)
159  CALL teb_greenroof_pgd_evol_init(ydsurfex%GRM%TGRPE,nteb_patch_max)
160  !
161  CALL ch_teb_init(ydsurfex%TM%CHT)
162  CALL data_teb_init(ydsurfex%TM%DTT)
163  CALL diag_misc_teb_options_init(ydsurfex%TM%DGMTO)
164  CALL diag_teb_init(ydsurfex%TM%DGT)
165  CALL diag_utci_teb_init(ydsurfex%TM%DGUT)
166  CALL teb_canopy_init(ydsurfex%TM%TCP)
167  CALL teb_grid_init(ydsurfex%TM%TG)
168  CALL teb_options_init(ydsurfex%TM%TOP)
169  CALL teb_panel_init(ydsurfex%TM%TPN)
170  CALL diag_cumul_teb_init(ydsurfex%TM%DGCT,nteb_patch_max)
171  CALL diag_misc_teb_init(ydsurfex%TM%DGMT,nteb_patch_max)
172  CALL teb_init(ydsurfex%TM%T,nteb_patch_max)
173  !
174  CALL bld_desc_init(ydsurfex%TM%BDD)
175  CALL bem_options_init(ydsurfex%TM%BOP)
176  CALL data_bem_init(ydsurfex%TM%DTB)
177  CALL bem_init(ydsurfex%TM%B,nteb_patch_max)
178  !
179  CALL data_cover_init(ydsurfex%DTCO)
180  CALL data_tsz0_init(ydsurfex%DTZ)
181  CALL dummy_surf_fields_init(ydsurfex%DUU)
182  !
183  CALL surf_atm_grid_init(ydsurfex%UG)
184  CALL surf_atm_init(ydsurfex%U)
185  CALL diag_surf_atm_init(ydsurfex%DGU)
186  CALL surf_atm_sso_init(ydsurfex%USS)
187  CALL sso_canopy_init(ydsurfex%SSCP)
188  !
189  CALL diag_ideal_init(ydsurfex%DGL)
190  CALL ideal_init(ydsurfex%L)
191  !
192  CALL sv_init(ydsurfex%SV)
193  CALL ch_surf_init(ydsurfex%CHU)
194  CALL ch_emis_field_init(ydsurfex%CHE)
195  CALL ch_emis_snap_init(ydsurfex%CHN)
196  CALL emis_gr_field_init(ydsurfex%EGF)
197  CALL dst_init(ydsurfex%DST)
198  CALL slt_init(ydsurfex%SLT)
199  !
200 IF (lhook) CALL dr_hook("SURFEX_ALLOC",1,zhook_handle)
201 !
202 END SUBROUTINE surfex_alloc
subroutine diag_ocean_init(YDIAG_OCEAN)
subroutine surfex_alloc(YDSURFEX)
Definition: surfex_alloc.F90:5
subroutine pack_ch_isba_init(YPACK_CH_ISBA)
subroutine data_isba_init(YDATA_ISBA)
subroutine diag_isba_init(YDIAG_ISBA)
subroutine diag_evap_isba_init(YDIAG_EVAP_ISBA)
subroutine bem_options_init(YBEM_OPTIONS)
subroutine surf_atm_init(YSURF_ATM)
subroutine isba_init(YISBA)
Definition: modd_isban.F90:704
subroutine ch_watflux_init(YCH_WATFLUX)
subroutine diag_surf_atm_init(YDIAG_SURF_ATM)
subroutine teb_garden_init(YTEB_GARDEN, KPATCH)
subroutine watflux_init(YWATFLUX)
subroutine bem_init(YBEM, KPATCH)
Definition: modd_bemn.F90:164
subroutine data_teb_init(YDATA_TEB)
subroutine teb_veg_options_init(YTEB_VEG_OPTIONS)
subroutine data_teb_greenroof_init(YDATA_TEB_GREENROOF)
subroutine teb_garden_pgd_init(YTEB_GARDEN_PGD)
subroutine diag_misc_flake_init(YDIAG_MISC_FLAKE)
subroutine flake_init(YFLAKE)
subroutine diag_flake_init(YDIAG_FLAKE)
subroutine seaflux_grid_init(YSEAFLUX_GRID)
subroutine data_cover_init(YDATA_COVER)
subroutine isba_grid_init(YISBA_GRID)
subroutine gr_biog_greenroof_init(YGR_BIOG_GREENROOF)
subroutine seaflux_sbl_init(YSEAFLUX_SBL)
subroutine teb_greenroof_options_init(YTEB_GREENROOF_OPTIONS)
subroutine data_tsz0_init(YDATA_TSZ0)
subroutine teb_panel_init(YTEB_PANEL)
subroutine teb_grid_init(YTEB_GRID)
subroutine ocean_rel_init(YOCEAN_REL)
subroutine data_teb_garden_init(YDATA_TEB_GARDEN)
subroutine diag_teb_garden_init(YDIAG_TEB_GARDEN)
subroutine dummy_surf_fields_init(YDUMMY_SURF_FIELDS)
subroutine surf_atm_grid_init(YSURF_ATM_GRID)
subroutine teb_irrig_init(YTEB_IRRIG)
subroutine diag_teb_greenroof_init(YDIAG_TEB_GREENROOF)
subroutine emis_gr_field_init(YEMIS_GR_FIELD)
subroutine sso_canopy_init(YSSO_CANOPY)
subroutine diag_cumul_teb_init(YDIAG_CUMUL_TEB, KPATCH)
subroutine teb_init(YTEB, KPATCH)
Definition: modd_tebn.F90:203
subroutine gr_biog_init(YGR_BIOG)
subroutine teb_greenroof_pgd_evol_init(YTEB_GREENROOF_PGD_EVOL, KPATCH)
subroutine flake_sbl_init(YFLAKE_SBL)
subroutine ch_teb_init(YCH_TEB)
subroutine teb_garden_options_init(YTEB_GARDEN_OPTIONS)
subroutine diag_misc_teb_options_init(YDIAG_MISC_TEB_OPTIONS)
subroutine ocean_init(YOCEAN)
Definition: modd_oceann.F90:84
subroutine watflux_sbl_init(YWATFLUX_SBL)
subroutine teb_greenroof_pgd_init(YTEB_GREENROOF_PGD)
subroutine sv_init(YSV)
Definition: modd_svn.F90:64
subroutine surf_atm_sso_init(YSURF_ATM_SSO)
subroutine pack_isba_init(YPACK_ISBA)
subroutine slt_init(YSLT)
Definition: modd_sltn.F90:33
subroutine isba_canopy_init(YISBA_CANOPY)
subroutine gr_biog_garden_init(YGR_BIOG_GARDEN)
subroutine dst_init(YDST)
Definition: modd_dstn.F90:43
subroutine bld_desc_init(YBLD_DESC)
subroutine diag_utci_teb_init(YDIAG_UTCI_TEB)
subroutine diag_watflux_init(YDIAG_WATFLUX)
subroutine ch_flake_init(YCH_FLAKE)
subroutine diag_misc_teb_init(YDIAG_MISC_TEB, KPATCH)
subroutine flake_grid_init(YFLAKE_GRID)
subroutine teb_options_init(YTEB_OPTIONS)
subroutine ch_emis_snap_init(YCH_EMIS_SNAP)
subroutine pack_diag_isba_init(YPACK_DIAG_ISBA)
subroutine ch_emis_field_init(YCH_EMIS_FIELD)
subroutine diag_seaflux_init(YDIAG_SEAFLUX)
subroutine teb_greenroof_init(YTEB_GREENROOF, KPATCH)
subroutine diag_misc_isba_init(YDIAG_MISC_ISBA)
subroutine teb_canopy_init(YTEB_CANOPY)
subroutine teb_garden_pgd_evol_init(YTEB_GARDEN_PGD_EVOL, KPATCH)
subroutine data_seaflux_init(YDATA_SEAFLUX)
subroutine watflux_grid_init(YWATFLUX_GRID)
subroutine agri_init(YAGRI)
Definition: modd_agrin.F90:67
subroutine ch_isba_init(YCH_ISBA)
subroutine seaflux_init(YSEAFLUX)
subroutine ideal_init(YIDEAL)
Definition: modd_idealn.F90:63
subroutine data_bem_init(YDATA_BEM)
subroutine ch_surf_init(YCH_SURF)
subroutine diag_seaice_init(YDIAG_SEAICE)
subroutine diag_teb_init(YDIAG_TEB)
subroutine ch_seaflux_init(YCH_SEAFLUX)
subroutine diag_ideal_init(YDIAG_IDEAL)