modd_surfexn.F90 Source File


Contents

Source Code


Source Code

!SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
!SFX_LIC This is part of the SURFEX software governed by the CeCILL version 2.1
!SFX_LIC version 1. See LICENSE, Licence_CeCILL_V2.1-en.txt and Licence_CeCILL_V2.1-fr.txt  
!SFX_LIC for details. version 1.
MODULE MODD_SURFEX_n
!
USE MODD_AGRI_n, ONLY : AGRI_NP_t
USE MODD_BEM_OPTION_n, ONLY : BEM_OPTIONS_t
USE MODD_BLD_DESCRIPTION_n, ONLY : BLD_DESC_t
USE MODD_CH_EMIS_FIELD_n, ONLY : CH_EMIS_FIELD_t
USE MODD_CH_FLAKE_n, ONLY : CH_FLAKE_t
USE MODD_CH_ISBA_n, ONLY : CH_ISBA_t, CH_ISBA_NP_t
USE MODD_CH_SEAFLUX_n, ONLY : CH_SEAFLUX_t
USE MODD_CH_SNAP_n, ONLY : CH_EMIS_SNAP_t
USE MODD_CH_SURF_n, ONLY : CH_SURF_t
USE MODD_CH_TEB_n, ONLY : CH_TEB_t
USE MODD_CH_WATFLUX_n, ONLY : CH_WATFLUX_t
USE MODD_DATA_BEM_n, ONLY : DATA_BEM_t
USE MODD_DATA_COVER_n, ONLY : DATA_COVER_t
USE MODD_DATA_ISBA_n, ONLY : DATA_ISBA_t
USE MODD_DATA_SEAFLUX_n, ONLY : DATA_SEAFLUX_t
USE MODD_DATA_TEB_n, ONLY : DATA_TEB_t
USE MODD_DATA_TSZ0_n, ONLY : DATA_TSZ0_t
USE MODD_DIAG_EVAP_ISBA_n, ONLY : DIAG_EVAP_ISBA_t, DIAG_EVAP_ISBA_NP_t
USE MODD_DIAG_n, ONLY : DIAG_t, DIAG_NP_t, DIAG_OPTIONS_t
USE MODD_DIAG_MISC_FLAKE_n, ONLY : DIAG_MISC_FLAKE_t
USE MODD_DIAG_MISC_ISBA_n, ONLY : DIAG_MISC_ISBA_t, DIAG_MISC_ISBA_NP_t
USE MODD_DIAG_MISC_TEB_OPTIONS_n, ONLY : DIAG_MISC_TEB_OPTIONS_t
USE MODD_DIAG_OCEAN_n, ONLY : DIAG_OCEAN_t
USE MODD_DIAG_MISC_SEAICE_n, ONLY : DIAG_MISC_SEAICE_t
USE MODD_DIAG_UTCI_TEB_n, ONLY : DIAG_UTCI_TEB_t
USE MODD_DST_n, ONLY : DST_NP_t
USE MODD_DUMMY_SURF_FIELDS_n, ONLY : DUMMY_SURF_FIELDS_t
USE MODD_EMIS_GR_FIELD_n, ONLY : EMIS_GR_FIELD_t
USE MODD_SFX_GRID_n, ONLY : GRID_t, GRID_NP_t
USE MODD_GRID_CONF_PROJ_n, ONLY : GRID_CONF_PROJ_t
USE MODD_FLAKE_n, ONLY : FLAKE_t
USE MODD_GR_BIOG_n, ONLY : GR_BIOG_t, GR_BIOG_NP_t
USE MODD_IDEAL_n, ONLY : IDEAL_t
USE MODD_CANOPY_n, ONLY : CANOPY_t
USE MODD_ISBA_OPTIONS_n, ONLY : ISBA_OPTIONS_t
USE MODD_ISBA_n, ONLY : ISBA_S_t, ISBA_K_t, ISBA_NK_t, ISBA_P_t, ISBA_NP_t, &
                        ISBA_PE_t, ISBA_NPE_t
USE MODD_OCEAN_n, ONLY : OCEAN_t
USE MODD_OCEAN_REL_n, ONLY : OCEAN_REL_t
!USE MODD_SEAFLUX_n, ONLY : SEAFLUX_t
USE MODD_SLT_n, ONLY : SLT_t
USE MODD_SURF_ATM_GRID_n, ONLY : SURF_ATM_GRID_t
USE MODD_SURF_ATM_n, ONLY : SURF_ATM_t
USE MODD_SSO_n, ONLY : SSO_t, SSO_NP_t
USE MODD_SV_n, ONLY : SV_t
USE MODD_TEB_IRRIG_n, ONLY : TEB_IRRIG_t
USE MODD_TEB_OPTION_n, ONLY : TEB_OPTIONS_t
USE MODD_TEB_PANEL_n, ONLY : TEB_PANEL_t
USE MODD_WATFLUX_n, ONLY : WATFLUX_t
!
USE MODD_BEM_n, ONLY : BEM_NP_t
USE MODD_DIAG_MISC_TEB_n, ONLY : DIAG_MISC_TEB_NP_t
USE MODD_TEB_n, ONLY : TEB_NP_t
!
!
!---------------------------------------------------------------------------
!
TYPE FLAKE_MODEL_t
!
TYPE(DIAG_OPTIONS_t) :: DFO
TYPE(DIAG_t) :: DF
TYPE(DIAG_t) :: DFC
TYPE(DIAG_MISC_FLAKE_t) :: DMF
!
TYPE(GRID_t) :: G
TYPE(CANOPY_t) :: SB
TYPE(CH_FLAKE_t) :: CHF
TYPE(FLAKE_t) :: F
!
END TYPE FLAKE_MODEL_t
!
!
TYPE WATFLUX_MODEL_t
!
TYPE(DIAG_OPTIONS_t) :: DWO
TYPE(DIAG_t) :: DW 
TYPE(DIAG_t) :: DWC
!
TYPE(GRID_t) :: G
TYPE(CANOPY_t) :: SB
TYPE(CH_WATFLUX_t) :: CHW
TYPE(WATFLUX_t) :: W 
!
END TYPE WATFLUX_MODEL_t
!
!------------------------------------------------------
!
TYPE SEAFLUX_DIAG_t
!
TYPE(DIAG_OPTIONS_t) :: O
TYPE(DIAG_t) :: D
TYPE(DIAG_t) :: DC
TYPE(DIAG_t) :: DI
TYPE(DIAG_t) :: DIC
TYPE(DIAG_OCEAN_t) :: GO
TYPE(DIAG_MISC_SEAICE_t) :: DMI 
!
END TYPE SEAFLUX_DIAG_t
!
!
!TYPE SEAFLUX_MODEL_t
!!
!TYPE(SEAFLUX_DIAG_t) :: SD
!!
!TYPE(DATA_SEAFLUX_t) :: DTS
!TYPE(GRID_t) :: G
!TYPE(CANOPY_t) :: SB
!TYPE(CH_SEAFLUX_t) :: CHS
!TYPE(SEAFLUX_t) :: S 
!!
!TYPE(OCEAN_t) :: O
!TYPE(OCEAN_REL_t) :: OR
!!
!END TYPE SEAFLUX_MODEL_t
!
!--------------------------------------------------
!
TYPE ISBA_DIAG_t
!
TYPE(DIAG_OPTIONS_t) :: O
TYPE(DIAG_t) :: D
TYPE(DIAG_t) :: DC
TYPE(DIAG_NP_t) :: ND
TYPE(DIAG_NP_t) :: NDC
TYPE(DIAG_EVAP_ISBA_t) :: DE
TYPE(DIAG_EVAP_ISBA_t) :: DEC
TYPE(DIAG_EVAP_ISBA_NP_t) :: NDE
TYPE(DIAG_EVAP_ISBA_NP_t) :: NDEC
TYPE(DIAG_MISC_ISBA_t) :: DM
TYPE(DIAG_MISC_ISBA_NP_t) :: NDM
!
END TYPE ISBA_DIAG_t
!
TYPE ISBA_MODEL_t
!
TYPE(ISBA_DIAG_t) :: ID
TYPE(DATA_ISBA_t) :: DTV
TYPE(CANOPY_t) :: SB
TYPE(ISBA_OPTIONS_t) :: O
TYPE(ISBA_S_t) :: S
TYPE(CH_ISBA_t) :: CHI
TYPE(CH_ISBA_NP_t) :: NCHI
TYPE(GR_BIOG_t) :: GB
TYPE(GR_BIOG_NP_t) :: NGB
TYPE(SSO_t) :: ISS 
TYPE(SSO_NP_t) :: NISS
TYPE(GRID_t) :: G
TYPE(GRID_NP_t) :: NG
TYPE(ISBA_K_t) :: K
TYPE(ISBA_NK_t) :: NK
TYPE(ISBA_NP_t) :: NP
TYPE(ISBA_NPE_t) :: NPE
TYPE(AGRI_NP_t) :: NAG
!
END TYPE ISBA_MODEL_t
!
!---------------------------------------
!
TYPE TEB_VEG_DIAG_t
!
TYPE(DIAG_NP_t) :: ND
TYPE(DIAG_EVAP_ISBA_NP_t) :: NDE
TYPE(DIAG_EVAP_ISBA_NP_t) :: NDEC
TYPE(DIAG_MISC_ISBA_NP_t) :: NDM
!
END TYPE TEB_VEG_DIAG_t
!
TYPE TEB_GARDEN_MODEL_t
!
TYPE(TEB_VEG_DIAG_t) :: VD
TYPE(DATA_ISBA_t) :: DTV
TYPE(ISBA_OPTIONS_t) :: O
TYPE(ISBA_S_t) :: S
TYPE(GR_BIOG_t) :: GB
TYPE(ISBA_K_t) :: K
TYPE(ISBA_P_t) :: P
TYPE(ISBA_NPE_t) :: NPE
!
END TYPE TEB_GARDEN_MODEL_t
!
TYPE TEB_GREENROOF_MODEL_t
!
TYPE(TEB_VEG_DIAG_t) :: VD
TYPE(DATA_ISBA_t) :: DTV
TYPE(ISBA_OPTIONS_t) :: O
TYPE(ISBA_S_t) :: S
TYPE(GR_BIOG_t) :: GB
TYPE(ISBA_K_t) :: K
TYPE(ISBA_P_t) :: P
TYPE(ISBA_NPE_t) :: NPE
!
END TYPE TEB_GREENROOF_MODEL_t
!
TYPE TEB_DIAG_t
!
TYPE(DIAG_OPTIONS_t) :: O
TYPE(DIAG_t) :: D 
TYPE(DIAG_MISC_TEB_OPTIONS_t) :: MTO
TYPE(DIAG_MISC_TEB_NP_t) :: NDMT
TYPE(DIAG_MISC_TEB_NP_t) :: NDMTC
TYPE(DIAG_UTCI_TEB_t) :: DUT
!
END TYPE TEB_DIAG_t
!
TYPE TEB_MODEL_t
!
TYPE(DATA_TEB_t) :: DTT
TYPE(TEB_OPTIONS_t) :: TOP
TYPE(CANOPY_t) :: SB
TYPE(GRID_t) :: G
TYPE(CH_TEB_t) :: CHT 
TYPE(TEB_PANEL_t) :: TPN
TYPE(TEB_IRRIG_t) :: TIR
TYPE(TEB_NP_t) :: NT
!
TYPE(TEB_DIAG_t) :: TD
!
TYPE(DATA_BEM_t) :: DTB
TYPE(BEM_OPTIONS_t) :: BOP 
TYPE(BLD_DESC_t) :: BDD
TYPE(BEM_NP_t) :: NB
!
END TYPE TEB_MODEL_t
!
!----------------------------------------------------------
!
TYPE SURFEX_t 
!
TYPE(DATA_COVER_t) :: DTCO
TYPE(DATA_TSZ0_t) :: DTZ
TYPE(DUMMY_SURF_FIELDS_t) :: DUU
!
TYPE(GRID_CONF_PROJ_t) :: GCP
TYPE(SURF_ATM_GRID_t) :: UG 
TYPE(SURF_ATM_t) :: U
TYPE(DIAG_OPTIONS_t) :: DUO
TYPE(DIAG_t) :: DU 
TYPE(DIAG_t) :: DUC
TYPE(DIAG_NP_t) :: DUP
TYPE(DIAG_NP_t) :: DUPC
TYPE(SSO_t) :: USS 
TYPE(CANOPY_t) :: SB
!
TYPE(DIAG_OPTIONS_t) :: DLO
TYPE(DIAG_t) :: DL
TYPE(DIAG_t) :: DLC
TYPE(IDEAL_t) :: L
!
TYPE(SV_t) :: SV 
TYPE(CH_SURF_t) :: CHU
TYPE(CH_EMIS_FIELD_t) :: CHE
TYPE(CH_EMIS_SNAP_t) :: CHN
TYPE(EMIS_GR_FIELD_t) :: EGF
TYPE(DST_NP_t) :: NDST
TYPE(SLT_t) :: SLT 
!
TYPE(FLAKE_MODEL_t) :: FM
TYPE(WATFLUX_MODEL_t) :: WM
!TYPE(SEAFLUX_MODEL_t) :: SM
TYPE(ISBA_MODEL_t) :: IM
TYPE(TEB_MODEL_t) :: TM
TYPE(TEB_GARDEN_MODEL_t) :: GDM
TYPE(TEB_GREENROOF_MODEL_t) :: GRM
!
END TYPE SURFEX_t
!
END MODULE MODD_SURFEX_n