SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/modn_teb_vegn.F90
Go to the documentation of this file.
00001 !##################
00002 MODULE MODN_TEB_VEG_n
00003 !##################
00004 !
00005 !!****  *MODN_TEB_VEG_n* - declaration of namelist NAM_TEB_VEG_n
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !       The purpose of this module is to specify  the namelist NAM_TEB_VEG_n
00010 !     which concern the surface configuration of one nested  model.
00011 !
00012 !!
00013 !!**  IMPLICIT ARGUMENTS
00014 !!    ------------------
00015 !!
00016 !!    REFERENCE
00017 !!    ---------
00018 !!
00019 !!       
00020 !!    AUTHOR
00021 !!    ------
00022 !!      V. Masson    *Meteo France*
00023 !!
00024 !!    MODIFICATIONS
00025 !!    -------------
00026 !!      Original    01/2004                    
00027 !-------------------------------------------------------------------------------
00028 !
00029 !*       0.   DECLARATIONS
00030 !             ------------
00031 !
00032 USE MODD_CH_TEB_n, ONLY:                   &
00033            LCH_BIO_FLUX_n => LCH_BIO_FLUX, &
00034            CCHEM_SURF_FILE_n => CCHEM_SURF_FILE  
00035 USE MODD_TEB_VEG_n, ONLY:                  &
00036            CC1DRY_n => CC1DRY,             &
00037            CSCOND_n => CSCOND,             &
00038            CSOILFRZ_n => CSOILFRZ,         &
00039            CDIFSFCOND_n => CDIFSFCOND,     &
00040            CSNOWRES_n => CSNOWRES,         &
00041            CALBEDO_n => CALBEDO,           &
00042            CROUGH_n => CROUGH,             & 
00043            CCPSURF_n => CCPSURF,           &
00044            XCGMAX_n => XCGMAX,             &
00045            CRUNOFF_n => CRUNOFF,           &
00046            CTOPREG_n => CTOPREG,           &
00047            CKSAT_n => CKSAT,               &
00048            CSOC_n => CSOC,                 &           
00049            CRAIN_n => CRAIN,               &  
00050            CHORT_n => CHORT,               &
00051            LVEGUPD_n => LVEGUPD,           &           
00052            LCANOPY_DRAG_n => LCANOPY_DRAG
00053 !
00054 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00055 USE PARKIND1  ,ONLY : JPRB
00056 !
00057 IMPLICIT NONE
00058 !
00059 LOGICAL           :: LCH_BIO_FLUX
00060 LOGICAL           :: LTRIP
00061 LOGICAL           :: LFLOOD
00062 LOGICAL           :: LGLACIER
00063 LOGICAL           :: LVEGUPD
00064 LOGICAL           :: LCANOPY_DRAG
00065 !
00066  CHARACTER(LEN=4)  :: CC1DRY
00067  CHARACTER(LEN=4)  :: CSCOND
00068  CHARACTER(LEN=3)  :: CSOILFRZ
00069  CHARACTER(LEN=4)  :: CDIFSFCOND
00070  CHARACTER(LEN=3)  :: CSNOWRES
00071  CHARACTER(LEN=4)  :: CALBEDO
00072  CHARACTER(LEN=4)  :: CROUGH
00073  CHARACTER(LEN=3)  :: CCPSURF
00074  CHARACTER(LEN=4)  :: CRUNOFF
00075  CHARACTER(LEN=3)  :: CTOPREG
00076  CHARACTER(LEN=3)  :: CKSAT
00077  CHARACTER(LEN=3)  :: CSOC
00078  CHARACTER(LEN=3)  :: CRAIN
00079  CHARACTER(LEN=3)  :: CHORT         
00080  CHARACTER(LEN=28) :: CCHEM_SURF_FILE
00081 !
00082 REAL              :: XCGMAX
00083 !
00084 NAMELIST/NAM_ISBAn/CC1DRY,CSCOND,CSOILFRZ,CDIFSFCOND,CSNOWRES,CALBEDO,CROUGH,CCPSURF, &
00085                    XCGMAX,LGLACIER, LCANOPY_DRAG, LVEGUPD  
00086 NAMELIST/NAM_SGH_ISBAn/CRUNOFF,CTOPREG,CKSAT,CSOC,CRAIN,CHORT,LTRIP,LFLOOD
00087 NAMELIST/NAM_CH_CONTROLn/CCHEM_SURF_FILE
00088 NAMELIST/NAM_CH_ISBAn/LCH_BIO_FLUX
00089 !
00090 CONTAINS
00091 !
00092 SUBROUTINE INIT_NAM_TEB_VEGn
00093 
00094   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00095 
00096   IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:INIT_NAM_TEB_VEGN',0,ZHOOK_HANDLE)
00097   CC1DRY       = CC1DRY_n
00098   CSCOND       = CSCOND_n
00099   CSOILFRZ     = CSOILFRZ_n
00100   CDIFSFCOND   = CDIFSFCOND_n
00101   CSNOWRES     = CSNOWRES_n
00102   CALBEDO      = CALBEDO_n
00103   CROUGH       = CROUGH_n
00104   CCPSURF      = CCPSURF_n
00105   XCGMAX       = XCGMAX_n
00106   LVEGUPD      = LVEGUPD_n  
00107   LCANOPY_DRAG = LCANOPY_DRAG_n
00108 IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:INIT_NAM_TEB_VEGN',1,ZHOOK_HANDLE)
00109 END SUBROUTINE INIT_NAM_TEB_VEGn
00110 
00111 SUBROUTINE UPDATE_NAM_TEB_VEGn
00112 
00113   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00114 
00115   IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:UPDATE_NAM_TEB_VEGN',0,ZHOOK_HANDLE)
00116   CC1DRY_n       = CC1DRY
00117   CSCOND_n       = CSCOND
00118   CSOILFRZ_n     = CSOILFRZ
00119   CDIFSFCOND_n   = CDIFSFCOND
00120   CSNOWRES_n     = CSNOWRES
00121   CALBEDO_n      = CALBEDO
00122   CROUGH_n       = CROUGH
00123   CCPSURF_n      = CCPSURF
00124   XCGMAX_n       = XCGMAX
00125   LVEGUPD_n      = LVEGUPD
00126   LCANOPY_DRAG_n = LCANOPY_DRAG
00127 IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:UPDATE_NAM_TEB_VEGN',1,ZHOOK_HANDLE)
00128 END SUBROUTINE UPDATE_NAM_TEB_VEGn
00129 
00130 
00131 SUBROUTINE INIT_NAM_SGH_TEB_VEGn
00132 
00133   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00134 
00135   IF (LHOOK) CALL DR_HOOK('MODN_TEB_TEB_VEG_N:INIT_NAM_SGH_TEB_VEGN',0,ZHOOK_HANDLE)
00136   CRUNOFF = CRUNOFF_n
00137   CTOPREG = CTOPREG_n
00138   CKSAT   = CKSAT_n
00139   CSOC    = CSOC_n
00140   CRAIN   = CRAIN_n
00141   CHORT   = CHORT_n
00142 IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:INIT_NAM_SGH_TEB_VEGN',1,ZHOOK_HANDLE)
00143 END SUBROUTINE INIT_NAM_SGH_TEB_VEGn
00144 
00145 SUBROUTINE UPDATE_NAM_SGH_TEB_VEGn
00146 
00147   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00148 
00149   IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:UPDATE_NAM_SGH_TEB_VEGN',0,ZHOOK_HANDLE)
00150   CRUNOFF_n  = CRUNOFF
00151   CTOPREG_n  = CTOPREG
00152   CKSAT_n    = CKSAT
00153   CSOC_n     = CSOC
00154   CRAIN_n    = CRAIN
00155   CHORT_n    = CHORT
00156 IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:UPDATE_NAM_SGH_TEB_VEGN',1,ZHOOK_HANDLE)
00157 END SUBROUTINE UPDATE_NAM_SGH_TEB_VEGn
00158 
00159 SUBROUTINE INIT_NAM_CH_CONTROLn
00160 
00161   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00162 
00163   IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:INIT_NAM_CH_CONTROLN',0,ZHOOK_HANDLE)
00164   CCHEM_SURF_FILE = CCHEM_SURF_FILE_n
00165 IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:INIT_NAM_CH_CONTROLN',1,ZHOOK_HANDLE)
00166 END SUBROUTINE INIT_NAM_CH_CONTROLn
00167 
00168 SUBROUTINE UPDATE_NAM_CH_CONTROLn
00169 
00170   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00171 
00172   IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:UPDATE_NAM_CH_CONTROLN',0,ZHOOK_HANDLE)
00173   CCHEM_SURF_FILE_n = CCHEM_SURF_FILE
00174 IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:UPDATE_NAM_CH_CONTROLN',1,ZHOOK_HANDLE)
00175 END SUBROUTINE UPDATE_NAM_CH_CONTROLn
00176 
00177 SUBROUTINE INIT_NAM_CH_TEB_VEGn
00178 
00179   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00180 
00181   IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:INIT_NAM_CH_TEB_VEGN',0,ZHOOK_HANDLE)
00182   LCH_BIO_FLUX = LCH_BIO_FLUX_n
00183 IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:INIT_NAM_CH_TEB_VEGN',1,ZHOOK_HANDLE)
00184 END SUBROUTINE INIT_NAM_CH_TEB_VEGn
00185 
00186 SUBROUTINE UPDATE_NAM_CH_TEB_VEGn
00187 
00188   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00189 
00190   IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:UPDATE_NAM_CH_TEB_VEGN',0,ZHOOK_HANDLE)
00191   LCH_BIO_FLUX_n = LCH_BIO_FLUX
00192 IF (LHOOK) CALL DR_HOOK('MODN_TEB_VEG_N:UPDATE_NAM_CH_TEB_VEGN',1,ZHOOK_HANDLE)
00193 END SUBROUTINE UPDATE_NAM_CH_TEB_VEGn
00194 
00195 END MODULE MODN_TEB_VEG_n