SURFEX v7.3
General documentation of Surfex
|
00001 ! ############################################################# 00002 SUBROUTINE ALLOC_SURFEX(KMODEL) 00003 ! ############################################################# 00004 ! 00005 !! AUTHOR 00006 !! ------ 00007 !! R. El Khatib *Meteo France* 00008 !! 00009 !! MODIFICATIONS 00010 !! ------------- 00011 !! Original 04/2010 00012 !------------------------------------------------------------------------------- 00013 ! 00014 !* 0. DECLARATIONS 00015 ! ------------ 00016 ! 00017 USE MODD_TEB_PAR, ONLY : NTEB_PATCH_MAX 00018 USE MODD_AGRI_n, ONLY : AGRI_ALLOC 00019 USE MODD_CH_SNAP_n, ONLY : CH_EMIS_SNAP_ALLOC 00020 USE MODD_CH_EMIS_FIELD_n, ONLY : CH_EMIS_FIELD_ALLOC 00021 USE MODD_CH_ISBA_n, ONLY : CH_ISBA_ALLOC 00022 USE MODD_CH_SEAFLUX_n, ONLY : CH_SEAFLUX_ALLOC 00023 USE MODD_CH_SURF_n, ONLY : CH_SURF_ALLOC 00024 USE MODD_CH_TEB_n, ONLY : CH_TEB_ALLOC 00025 USE MODD_CH_WATFLUX_n, ONLY : CH_WATFLUX_ALLOC 00026 USE MODD_DATA_ISBA_n, ONLY : DATA_ISBA_ALLOC 00027 USE MODD_DATA_TSZ0_n, ONLY : DATA_TSZ0_ALLOC 00028 USE MODD_DATA_SEAFLUX_n, ONLY : DATA_SEAFLUX_ALLOC 00029 USE MODD_DATA_TEB_GARDEN_n, ONLY : DATA_TEB_GARDEN_ALLOC 00030 USE MODD_DATA_TEB_n, ONLY : DATA_TEB_ALLOC 00031 USE MODD_BLD_DESCRIPTION, ONLY : BLD_DESC_ALLOC 00032 USE MODD_DATA_BEM_n, ONLY : DATA_BEM_ALLOC 00033 USE MODD_DATA_TEB_GREENROOF_n, ONLY : DATA_TEB_GREENROOF_ALLOC 00034 USE MODD_DIAG_EVAP_ISBA_n, ONLY : DIAG_EVAP_ISBA_ALLOC 00035 USE MODD_DIAG_FLAKE_n, ONLY : DIAG_FLAKE_ALLOC 00036 USE MODD_DIAG_IDEAL_n, ONLY : DIAG_IDEAL_ALLOC 00037 USE MODD_DIAG_ISBA_n, ONLY : DIAG_ISBA_ALLOC 00038 USE MODD_DIAG_MISC_FLAKE_n, ONLY : DIAG_MISC_FLAKE_ALLOC 00039 USE MODD_DIAG_MISC_ISBA_n, ONLY : DIAG_MISC_ISBA_ALLOC 00040 USE MODD_DIAG_MISC_TEB_n, ONLY : DIAG_MISC_TEB_ALLOC, DIAG_MISC_TEB_OPTIONS_ALLOC 00041 USE MODD_DIAG_UTCI_TEB_n, ONLY : DIAG_UTCI_TEB_ALLOC 00042 USE MODD_DIAG_OCEAN_n, ONLY : DIAG_OCEAN_ALLOC 00043 USE MODD_DIAG_SEAFLUX_n, ONLY : DIAG_SEAFLUX_ALLOC 00044 USE MODD_DIAG_SURF_ATM_n, ONLY : DIAG_SURF_ATM_ALLOC 00045 USE MODD_DIAG_TEB_n, ONLY : DIAG_TEB_ALLOC 00046 USE MODD_DIAG_WATFLUX_n, ONLY : DIAG_WATFLUX_ALLOC 00047 USE MODD_DST_n, ONLY : DST_ALLOC 00048 USE MODD_DUMMY_SURF_FIELDS_n, ONLY : DUMMY_SURF_FIELDS_ALLOC 00049 USE MODD_EMIS_GR_FIELD_n, ONLY : EMIS_GR_FIELD_ALLOC 00050 USE MODD_FLAKE_GRID_n, ONLY : FLAKE_GRID_ALLOC 00051 USE MODD_FLAKE_n, ONLY : FLAKE_ALLOC 00052 USE MODD_FLAKE_SBL_n, ONLY : FLAKE_SBL_ALLOC 00053 USE MODD_GR_BIOG_GARDEN_n, ONLY : GR_BIOG_GARDEN_ALLOC 00054 USE MODD_GR_BIOG_n, ONLY : GR_BIOG_ALLOC 00055 USE MODD_IDEAL_n, ONLY : IDEAL_ALLOC 00056 USE MODD_IO_BUFF_n, ONLY : IO_BUFF_ALLOC 00057 USE MODD_ISBA_CANOPY_n, ONLY : ISBA_CANOPY_ALLOC 00058 USE MODD_ISBA_GRID_n, ONLY : ISBA_GRID_ALLOC 00059 USE MODD_ISBA_n, ONLY : ISBA_ALLOC 00060 USE MODD_OCEAN_GRID_n, ONLY : OCEAN_GRID_ALLOC 00061 USE MODD_OCEAN_n, ONLY : OCEAN_ALLOC 00062 USE MODD_OCEAN_REL_n, ONLY : OCEAN_REL_ALLOC 00063 USE MODD_SEAFLUX_GRID_n, ONLY : SEAFLUX_GRID_ALLOC 00064 USE MODD_SEAFLUX_n, ONLY : SEAFLUX_ALLOC 00065 USE MODD_SEAFLUX_SBL_n, ONLY : SEAFLUX_SBL_ALLOC 00066 USE MODD_SLT_n, ONLY : SLT_ALLOC 00067 USE MODD_SURF_ATM_GRID_n, ONLY : SURF_ATM_GRID_ALLOC 00068 USE MODD_SURF_ATM_n, ONLY : SURF_ATM_ALLOC 00069 USE MODD_SURF_ATM_SSO_n, ONLY : SURF_ATM_SSO_ALLOC 00070 USE MODD_DATA_COVER_n, ONLY : DATA_COVER_ALLOC 00071 USE MODD_SV_n, ONLY : SV_ALLOC 00072 USE MODD_SSO_CANOPY_n, ONLY : SSO_CANOPY_ALLOC 00073 USE MODD_TEB_CANOPY_n, ONLY : TEB_CANOPY_ALLOC 00074 USE MODD_TEB_GARDEN_n, ONLY : TEB_GARDEN_ALLOC, TEB_GARDEN_OPTIONS_ALLOC, & 00075 TEB_GARDEN_PGD_ALLOC, TEB_GARDEN_PGD_EVOL_ALLOC 00076 USE MODD_TEB_GRID_n, ONLY : TEB_GRID_ALLOC 00077 USE MODD_TEB_n, ONLY : TEB_ALLOC, TEB_OPTIONS_ALLOC 00078 USE MODD_TEB_VEG_n, ONLY : TEB_VEG_OPTIONS_ALLOC 00079 USE MODD_BEM_n, ONLY : BEM_ALLOC, BEM_OPTIONS_ALLOC 00080 USE MODD_TEB_GREENROOF_n, ONLY : TEB_GREENROOF_OPTIONS_ALLOC, & 00081 TEB_GREENROOF_PGD_ALLOC, & 00082 TEB_GREENROOF_ALLOC, & 00083 TEB_GREENROOF_PGD_EVOL_ALLOC 00084 USE MODD_WATFLUX_GRID_n, ONLY : WATFLUX_GRID_ALLOC 00085 USE MODD_WATFLUX_n, ONLY : WATFLUX_ALLOC 00086 USE MODD_WATFLUX_SBL_n, ONLY : WATFLUX_SBL_ALLOC 00087 USE MODD_DIAG_TRIP_n, ONLY : DIAG_TRIP_ALLOC 00088 USE MODD_TRIP_GRID_n, ONLY : TRIP_GRID_ALLOC 00089 USE MODD_TRIP_n, ONLY : TRIP_ALLOC 00090 ! 00091 ! 00092 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00093 USE PARKIND1 ,ONLY : JPRB 00094 ! 00095 IMPLICIT NONE 00096 ! 00097 !* 0.1 Declarations of arguments 00098 ! ------------------------- 00099 INTEGER, INTENT(IN) :: KMODEL ! actual number of surfaces 00100 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00101 ! 00102 !* 0.2 Declarations of local variables 00103 ! ------------------------------- 00104 00105 !------------------------------------------------------------------------------- 00106 ! 00107 IF (LHOOK) CALL DR_HOOK('ALLOC_SURFEX',0,ZHOOK_HANDLE) 00108 CALL AGRI_ALLOC(KMODEL) 00109 CALL CH_EMIS_FIELD_ALLOC(KMODEL) 00110 CALL CH_EMIS_SNAP_ALLOC(KMODEL) 00111 CALL CH_ISBA_ALLOC(KMODEL) 00112 CALL CH_SEAFLUX_ALLOC(KMODEL) 00113 CALL CH_SURF_ALLOC(KMODEL) 00114 CALL CH_TEB_ALLOC(KMODEL) 00115 CALL CH_WATFLUX_ALLOC(KMODEL) 00116 CALL DATA_ISBA_ALLOC(KMODEL) 00117 CALL DATA_TSZ0_ALLOC(KMODEL) 00118 CALL DATA_SEAFLUX_ALLOC(KMODEL) 00119 CALL DATA_TEB_GARDEN_ALLOC(KMODEL) 00120 CALL DATA_TEB_GREENROOF_ALLOC(KMODEL) 00121 CALL DATA_TEB_ALLOC(KMODEL) 00122 CALL DATA_BEM_ALLOC(KMODEL) 00123 CALL BLD_DESC_ALLOC(KMODEL) 00124 CALL DIAG_EVAP_ISBA_ALLOC(KMODEL) 00125 CALL DIAG_FLAKE_ALLOC(KMODEL) 00126 CALL DIAG_IDEAL_ALLOC(KMODEL) 00127 CALL DIAG_ISBA_ALLOC(KMODEL) 00128 CALL DIAG_MISC_FLAKE_ALLOC(KMODEL) 00129 CALL DIAG_MISC_ISBA_ALLOC(KMODEL) 00130 CALL DIAG_MISC_TEB_ALLOC(KMODEL,NTEB_PATCH_MAX) 00131 CALL DIAG_MISC_TEB_OPTIONS_ALLOC(KMODEL) 00132 CALL DIAG_UTCI_TEB_ALLOC(KMODEL) 00133 CALL DIAG_OCEAN_ALLOC(KMODEL) 00134 CALL DIAG_SEAFLUX_ALLOC(KMODEL) 00135 CALL DIAG_SURF_ATM_ALLOC(KMODEL) 00136 CALL DIAG_TEB_ALLOC(KMODEL) 00137 CALL DIAG_WATFLUX_ALLOC(KMODEL) 00138 CALL DST_ALLOC(KMODEL) 00139 CALL DUMMY_SURF_FIELDS_ALLOC(KMODEL) 00140 CALL EMIS_GR_FIELD_ALLOC(KMODEL) 00141 CALL FLAKE_GRID_ALLOC(KMODEL) 00142 CALL FLAKE_ALLOC(KMODEL) 00143 CALL FLAKE_SBL_ALLOC(KMODEL) 00144 CALL GR_BIOG_GARDEN_ALLOC(KMODEL) 00145 CALL GR_BIOG_ALLOC(KMODEL) 00146 CALL IDEAL_ALLOC(KMODEL) 00147 CALL IO_BUFF_ALLOC(KMODEL) 00148 CALL ISBA_CANOPY_ALLOC(KMODEL) 00149 CALL ISBA_GRID_ALLOC(KMODEL) 00150 CALL ISBA_ALLOC(KMODEL) 00151 CALL OCEAN_GRID_ALLOC(KMODEL) 00152 CALL OCEAN_ALLOC(KMODEL) 00153 CALL OCEAN_REL_ALLOC(KMODEL) 00154 CALL SEAFLUX_GRID_ALLOC(KMODEL) 00155 CALL SEAFLUX_ALLOC(KMODEL) 00156 CALL SEAFLUX_SBL_ALLOC(KMODEL) 00157 CALL SLT_ALLOC(KMODEL) 00158 CALL SURF_ATM_GRID_ALLOC(KMODEL) 00159 CALL SURF_ATM_ALLOC(KMODEL) 00160 CALL SURF_ATM_SSO_ALLOC(KMODEL) 00161 CALL DATA_COVER_ALLOC(KMODEL) 00162 CALL SV_ALLOC(KMODEL) 00163 CALL SSO_CANOPY_ALLOC(KMODEL) 00164 CALL TEB_CANOPY_ALLOC(KMODEL) 00165 CALL TEB_GARDEN_ALLOC(KMODEL,NTEB_PATCH_MAX) 00166 CALL TEB_GARDEN_OPTIONS_ALLOC(KMODEL) 00167 CALL TEB_GARDEN_PGD_EVOL_ALLOC(KMODEL,NTEB_PATCH_MAX) 00168 CALL TEB_GARDEN_PGD_ALLOC(KMODEL) 00169 CALL TEB_GRID_ALLOC(KMODEL) 00170 CALL TEB_ALLOC(KMODEL,NTEB_PATCH_MAX) 00171 CALL TEB_OPTIONS_ALLOC(KMODEL) 00172 CALL TEB_VEG_OPTIONS_ALLOC(KMODEL) 00173 CALL BEM_ALLOC(KMODEL,NTEB_PATCH_MAX) 00174 CALL BEM_OPTIONS_ALLOC(KMODEL) 00175 CALL TEB_GREENROOF_OPTIONS_ALLOC(KMODEL) 00176 CALL TEB_GREENROOF_PGD_ALLOC(KMODEL) 00177 CALL TEB_GREENROOF_PGD_EVOL_ALLOC(KMODEL,NTEB_PATCH_MAX) 00178 CALL TEB_GREENROOF_ALLOC(KMODEL,NTEB_PATCH_MAX) 00179 CALL WATFLUX_GRID_ALLOC(KMODEL) 00180 CALL WATFLUX_ALLOC(KMODEL) 00181 CALL WATFLUX_SBL_ALLOC(KMODEL) 00182 CALL DIAG_TRIP_ALLOC(KMODEL) 00183 CALL TRIP_GRID_ALLOC(KMODEL) 00184 CALL TRIP_ALLOC(KMODEL) 00185 IF (LHOOK) CALL DR_HOOK('ALLOC_SURFEX',1,ZHOOK_HANDLE) 00186 ! 00187 !------------------------------------------------------------------------------- 00188 ! 00189 END SUBROUTINE ALLOC_SURFEX