SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/alloc_surfex.F90
Go to the documentation of this file.
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