SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/modn_flaken.F90
Go to the documentation of this file.
00001 !     ##################
00002 MODULE MODN_FLAKE_n
00003 !     ##################
00004 !
00005 !!****  *MODN_FLAKE_n* - declaration of namelist NAM_FLAKEn
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !       The purpose of this module is to specify  the namelist NAM_FLAKEn
00010 !
00011 !!
00012 !!**  IMPLICIT ARGUMENTS
00013 !!    ------------------
00014 !!
00015 !!    REFERENCE
00016 !!    ---------
00017 !!
00018 !!       
00019 !!    AUTHOR
00020 !!    ------
00021 !!      V. Masson    *Meteo France*
00022 !!
00023 !!    MODIFICATIONS
00024 !!    -------------
00025 !!      Original    01/2004                    
00026 !-------------------------------------------------------------------------------
00027 !
00028 !*       0.   DECLARATIONS
00029 !             ------------
00030 !
00031 USE MODD_DIAG_MISC_FLAKE_n, ONLY: &
00032            LWATER_PROFILE_n => LWATER_PROFILE, &
00033            XZWAT_PROFILE_n => XZWAT_PROFILE 
00034 
00035 USE MODD_DIAG_FLAKE_n, ONLY: &
00036            XDIAG_TSTEP_n => XDIAG_TSTEP, &
00037            N2M_n => N2M, &
00038            L2M_MIN_ZS_n => L2M_MIN_ZS,  &!
00039            LSURF_BUDGET_n => LSURF_BUDGET, &
00040            LRAD_BUDGET_n => LRAD_BUDGET, &
00041            LSURF_BUDGETC_n => LSURF_BUDGETC, &
00042            LRESET_BUDGETC_n => LRESET_BUDGETC, &
00043            LCOEF_n => LCOEF, &
00044            LSURF_VARS_n => LSURF_VARS  
00045          
00046 USE MODD_CH_WATFLUX_n, ONLY: &
00047            CCH_DRY_DEP_n => CCH_DRY_DEP  
00048 
00049 Use MODD_FLAKE_n, ONLY: &
00050            XTSTEP_n => XTSTEP, &
00051            XOUT_TSTEP_n => XOUT_TSTEP, &
00052            LSEDIMENTS_n => LSEDIMENTS, &
00053            CFLK_FLUX_n => CFLK_FLUX, &
00054            CFLK_ALB_n => CFLK_ALB, &
00055            CSNOW_FLK_n => CSNOW_FLK, &
00056            XICHCE_n => XICHCE, &
00057            LPRECIP_n => LPRECIP, &
00058            LPWEBB_n => LPWEBB
00059 
00060 !
00061          
00062 !
00063 !
00064 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00065 USE PARKIND1  ,ONLY : JPRB
00066 !
00067 IMPLICIT NONE
00068 !
00069 REAL     :: XTSTEP
00070 REAL     :: XOUT_TSTEP
00071 REAL     :: XDIAG_TSTEP
00072 INTEGER  :: N2M
00073 LOGICAL  :: L2M_MIN_ZS
00074 LOGICAL  :: LSURF_BUDGET
00075 LOGICAL  :: LRAD_BUDGET
00076 LOGICAL  :: LSURF_BUDGETC
00077 LOGICAL  :: LRESET_BUDGETC
00078 LOGICAL  :: LCOEF
00079 LOGICAL  :: LSURF_VARS
00080  CHARACTER(LEN=6)  :: CCH_DRY_DEP
00081 !
00082 LOGICAL          :: LSEDIMENTS
00083  CHARACTER(LEN=3) :: CSNOW_FLK
00084  CHARACTER(LEN=5) :: CFLK_FLUX
00085  CHARACTER(LEN=4) :: CFLK_ALB
00086 !
00087 LOGICAL  :: LWATER_PROFILE
00088 REAL,DIMENSION(100) :: XZWAT_PROFILE
00089 !
00090 REAL     :: XICHCE
00091 LOGICAL  :: LPRECIP
00092 LOGICAL  :: LPWEBB
00093 !
00094 NAMELIST/NAM_DIAG_FLAKEn/LWATER_PROFILE,XZWAT_PROFILE
00095 NAMELIST/NAM_FLAKEn/LSEDIMENTS,CSNOW_FLK, CFLK_FLUX, CFLK_ALB,   &
00096                     XICHCE, LPRECIP, LPWEBB
00097 NAMELIST/NAM_DIAG_SURFn/N2M,L2M_MIN_ZS,LSURF_BUDGET,LRAD_BUDGET, &
00098                           LSURF_BUDGETC,LRESET_BUDGETC,LCOEF,LSURF_VARS  
00099 NAMELIST/NAM_CH_WATFLUXn/CCH_DRY_DEP
00100 !
00101 CONTAINS
00102 !
00103 SUBROUTINE INIT_NAM_FLAKEn
00104 
00105   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00106 
00107   IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:INIT_NAM_FLAKEN',0,ZHOOK_HANDLE)
00108   XTSTEP=XTSTEP_n
00109   XOUT_TSTEP=XOUT_TSTEP_n
00110   LSEDIMENTS=LSEDIMENTS_n
00111   CFLK_FLUX=CFLK_FLUX_n
00112   CFLK_ALB=CFLK_ALB_n
00113   CSNOW_FLK=CSNOW_FLK_n
00114   XICHCE=XICHCE_n
00115   LPRECIP=LPRECIP_n
00116   LPWEBB=LPWEBB_n
00117 IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:INIT_NAM_FLAKEN',1,ZHOOK_HANDLE)
00118 END SUBROUTINE INIT_NAM_FLAKEn
00119 !
00120 SUBROUTINE UPDATE_NAM_FLAKEn
00121 
00122   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00123 
00124   IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:UPDATE_NAM_FLAKEN',0,ZHOOK_HANDLE)
00125   XTSTEP_n = XOUT_TSTEP
00126   XOUT_TSTEP_n = XOUT_TSTEP
00127   LSEDIMENTS_n  =LSEDIMENTS
00128   CFLK_FLUX_n=CFLK_FLUX
00129   CFLK_ALB_n=CFLK_ALB
00130   CSNOW_FLK_n=CSNOW_FLK
00131   XICHCE_n=XICHCE
00132   LPRECIP_n=LPRECIP
00133   LPWEBB_n=LPWEBB
00134 IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:UPDATE_NAM_FLAKEN',1,ZHOOK_HANDLE)
00135 END SUBROUTINE UPDATE_NAM_FLAKEn
00136 !
00137 SUBROUTINE INIT_NAM_DIAG_SURFn
00138 
00139   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00140 
00141   IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:INIT_NAM_DIAG_SURFN',0,ZHOOK_HANDLE)
00142   XDIAG_TSTEP = XDIAG_TSTEP_n
00143   N2M = N2M_n
00144   L2M_MIN_ZS = L2M_MIN_ZS_n
00145   LSURF_BUDGET = LSURF_BUDGET_n
00146   LRAD_BUDGET = LRAD_BUDGET_n
00147   LSURF_BUDGETC = LSURF_BUDGETC_n
00148   LRESET_BUDGETC = LRESET_BUDGETC_n  
00149   LCOEF = LCOEF_n
00150   LSURF_VARS = LSURF_VARS_n
00151 IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:INIT_NAM_DIAG_SURFN',1,ZHOOK_HANDLE)
00152 END SUBROUTINE INIT_NAM_DIAG_SURFn
00153 
00154 SUBROUTINE UPDATE_NAM_DIAG_SURFn
00155 
00156   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00157 
00158   IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:UPDATE_NAM_DIAG_SURFN',0,ZHOOK_HANDLE)
00159   XDIAG_TSTEP_n = XDIAG_TSTEP  
00160   N2M_n = N2M
00161   L2M_MIN_ZS_n = L2M_MIN_ZS
00162   LSURF_BUDGET_n = LSURF_BUDGET
00163   LRAD_BUDGET_n = LRAD_BUDGET 
00164   LSURF_BUDGETC_n = LSURF_BUDGETC
00165   LRESET_BUDGETC_n = LRESET_BUDGETC  
00166   LCOEF_n = LCOEF
00167   LSURF_VARS_n = LSURF_VARS
00168 IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:UPDATE_NAM_DIAG_SURFN',1,ZHOOK_HANDLE)
00169 END SUBROUTINE UPDATE_NAM_DIAG_SURFn
00170 !
00171 SUBROUTINE INIT_NAM_DIAG_FLAKEn
00172 
00173   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00174 
00175   IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:INIT_NAM_DIAG_FLAKEN',0,ZHOOK_HANDLE)
00176   LWATER_PROFILE = LWATER_PROFILE_n
00177   XZWAT_PROFILE = XZWAT_PROFILE_n
00178 IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:INIT_NAM_DIAG_FLAKEN',1,ZHOOK_HANDLE)
00179 END SUBROUTINE INIT_NAM_DIAG_FLAKEn
00180 
00181 SUBROUTINE UPDATE_NAM_DIAG_FLAKEn
00182 
00183   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00184 
00185   IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:UPDATE_NAM_DIAG_FLAKEN',0,ZHOOK_HANDLE)
00186   LWATER_PROFILE_n = LWATER_PROFILE
00187   XZWAT_PROFILE_n = XZWAT_PROFILE
00188 IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:UPDATE_NAM_DIAG_FLAKEN',1,ZHOOK_HANDLE)
00189 END SUBROUTINE UPDATE_NAM_DIAG_FLAKEn
00190 
00191 SUBROUTINE INIT_NAM_CH_WATFLUXn
00192 
00193   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00194 
00195   IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:INIT_NAM_CH_WATFLUXN',0,ZHOOK_HANDLE)
00196   CCH_DRY_DEP = CCH_DRY_DEP_n
00197 IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:INIT_NAM_CH_WATFLUXN',1,ZHOOK_HANDLE)
00198 END SUBROUTINE INIT_NAM_CH_WATFLUXn
00199 
00200 SUBROUTINE UPDATE_NAM_CH_WATFLUXn
00201 
00202   REAL(KIND=JPRB) :: ZHOOK_HANDLE
00203 
00204   IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:UPDATE_NAM_CH_WATFLUXN',0,ZHOOK_HANDLE)
00205   CCH_DRY_DEP_n = CCH_DRY_DEP
00206 IF (LHOOK) CALL DR_HOOK('MODN_FLAKE_N:UPDATE_NAM_CH_WATFLUXN',1,ZHOOK_HANDLE)
00207 END SUBROUTINE UPDATE_NAM_CH_WATFLUXn
00208 
00209 END MODULE MODN_FLAKE_n