SURFEX v7.3
General documentation of Surfex
|
00001 ! ################## 00002 MODULE MODN_TEB_n 00003 ! ################## 00004 ! 00005 !!**** *MODN_TEB_n* - declaration of namelist NAM_TEBn 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 ! The purpose of this module is to specify the namelist NAM_TEBn 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 !! Modified 10/2004 by P. Le Moigne: miscellaneous switch 00027 !! Modified 07/2007 by P. Le Moigne: minimum wind speed and/or shear 00028 !! Modified 08/2009 by B. Decharme : LSURF_BUDGETC for all tiles 00029 !! Modified 08/2012 by G. Pigeon : CH_BEM for conv. coef option 00030 !------------------------------------------------------------------------------- 00031 ! 00032 !* 0. DECLARATIONS 00033 ! ------------ 00034 ! 00035 USE MODD_DIAG_MISC_TEB_n, ONLY: & 00036 LSURF_MISC_BUDGET_n => LSURF_MISC_BUDGET 00037 USE MODD_DIAG_TEB_n, ONLY: & 00038 XDIAG_TSTEP_n => XDIAG_TSTEP, & 00039 N2M_n => N2M, & 00040 L2M_MIN_ZS_n => L2M_MIN_ZS, & 00041 LPGD_n => LPGD, & 00042 LPGD_FIX_n => LPGD_FIX, & 00043 LSURF_BUDGET_n => LSURF_BUDGET, & 00044 LRAD_BUDGET_n => LRAD_BUDGET, & 00045 LCOEF_n => LCOEF, & 00046 LSURF_VARS_n => LSURF_VARS 00047 USE MODD_DIAG_UTCI_TEB_n, ONLY : & 00048 LUTCI_n => LUTCI 00049 USE MODD_TEB_n, ONLY: & 00050 XTSTEP_n => XTSTEP, & 00051 XOUT_TSTEP_n => XOUT_TSTEP, & 00052 CZ0H_n => CZ0H, & 00053 CCH_BEM_n => CCH_BEM 00054 USE MODD_CH_TEB_n, ONLY: & 00055 CCH_DRY_DEP_n => CCH_DRY_DEP 00056 ! 00057 ! 00058 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00059 USE PARKIND1 ,ONLY : JPRB 00060 ! 00061 IMPLICIT NONE 00062 ! 00063 LOGICAL :: LPGD 00064 LOGICAL :: LPGD_FIX 00065 LOGICAL :: L2M_MIN_ZS 00066 LOGICAL :: LSURF_BUDGET 00067 LOGICAL :: LRAD_BUDGET 00068 LOGICAL :: LCOEF 00069 LOGICAL :: LSURF_VARS 00070 LOGICAL :: LSURF_MISC_BUDGET 00071 LOGICAL :: LUTCI 00072 LOGICAL :: LSURF_BUDGETC 00073 LOGICAL :: LRESET_BUDGETC 00074 ! 00075 CHARACTER(LEN=6) :: CCH_DRY_DEP 00076 CHARACTER(LEN=6) :: CZ0H 00077 CHARACTER(LEN=5) :: CCH_BEM 00078 ! 00079 REAL :: XTSTEP 00080 REAL :: XOUT_TSTEP 00081 REAL :: XDIAG_TSTEP 00082 ! 00083 INTEGER :: N2M 00084 ! 00085 NAMELIST/NAM_DIAG_SURFn/N2M,L2M_MIN_ZS,LSURF_BUDGET,LRAD_BUDGET, & 00086 LCOEF,LSURF_VARS, LSURF_BUDGETC, LRESET_BUDGETC 00087 ! 00088 NAMELIST/NAM_CH_TEBn/CCH_DRY_DEP 00089 NAMELIST/NAM_DIAG_TEBn/LPGD,LPGD_FIX,LSURF_MISC_BUDGET,LUTCI 00090 NAMELIST/NAM_TEBn/CZ0H,CCH_BEM 00091 ! 00092 CONTAINS 00093 ! 00094 SUBROUTINE INIT_NAM_DIAG_SURFn 00095 00096 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00097 00098 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:INIT_NAM_DIAG_SURFN',0,ZHOOK_HANDLE) 00099 XTSTEP = XTSTEP_n 00100 XOUT_TSTEP = XOUT_TSTEP_n 00101 XDIAG_TSTEP = XDIAG_TSTEP_n 00102 N2M = N2M_n 00103 L2M_MIN_ZS = L2M_MIN_ZS_n 00104 LSURF_BUDGET = LSURF_BUDGET_n 00105 LRAD_BUDGET = LRAD_BUDGET_n 00106 LCOEF = LCOEF_n 00107 LSURF_VARS = LSURF_VARS_n 00108 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:INIT_NAM_DIAG_SURFN',1,ZHOOK_HANDLE) 00109 END SUBROUTINE INIT_NAM_DIAG_SURFn 00110 00111 SUBROUTINE UPDATE_NAM_DIAG_SURFn 00112 00113 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00114 00115 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:UPDATE_NAM_DIAG_SURFN',0,ZHOOK_HANDLE) 00116 XDIAG_TSTEP_n = XDIAG_TSTEP 00117 N2M_n = N2M 00118 L2M_MIN_ZS_n = L2M_MIN_ZS 00119 LSURF_BUDGET_n = LSURF_BUDGET 00120 LRAD_BUDGET_n = LRAD_BUDGET 00121 LCOEF_n = LCOEF 00122 LSURF_VARS_n = LSURF_VARS 00123 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:UPDATE_NAM_DIAG_SURFN',1,ZHOOK_HANDLE) 00124 END SUBROUTINE UPDATE_NAM_DIAG_SURFn 00125 ! 00126 SUBROUTINE INIT_NAM_TEBn 00127 00128 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00129 00130 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:INIT_NAM_TEBN',0,ZHOOK_HANDLE) 00131 CZ0H = CZ0H_n 00132 CCH_BEM = CCH_BEM_n 00133 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:INIT_NAM_TEBN',1,ZHOOK_HANDLE) 00134 END SUBROUTINE INIT_NAM_TEBn 00135 00136 SUBROUTINE UPDATE_NAM_TEBn 00137 00138 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00139 00140 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:UPDATE_NAM_TEBN',0,ZHOOK_HANDLE) 00141 XTSTEP_n = XTSTEP 00142 XOUT_TSTEP_n = XOUT_TSTEP 00143 CZ0H_n = CZ0H 00144 CCH_BEM_n = CCH_BEM 00145 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:UPDATE_NAM_TEBN',1,ZHOOK_HANDLE) 00146 END SUBROUTINE UPDATE_NAM_TEBn 00147 00148 SUBROUTINE INIT_NAM_CH_TEBn 00149 00150 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00151 00152 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:INIT_NAM_CH_TEBN',0,ZHOOK_HANDLE) 00153 CCH_DRY_DEP = CCH_DRY_DEP_n 00154 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:INIT_NAM_CH_TEBN',1,ZHOOK_HANDLE) 00155 END SUBROUTINE INIT_NAM_CH_TEBn 00156 00157 SUBROUTINE UPDATE_NAM_CH_TEBn 00158 00159 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00160 00161 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:UPDATE_NAM_CH_TEBN',0,ZHOOK_HANDLE) 00162 CCH_DRY_DEP_n = CCH_DRY_DEP 00163 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:UPDATE_NAM_CH_TEBN',1,ZHOOK_HANDLE) 00164 END SUBROUTINE UPDATE_NAM_CH_TEBn 00165 00166 SUBROUTINE INIT_NAM_DIAG_TEBn 00167 00168 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00169 00170 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:INIT_NAM_DIAG_TEBN',0,ZHOOK_HANDLE) 00171 LPGD = LPGD_n 00172 LPGD_FIX = LPGD_FIX_n 00173 LSURF_MISC_BUDGET = LSURF_MISC_BUDGET_n 00174 LUTCI = LUTCI_n 00175 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:INIT_NAM_DIAG_TEBN',1,ZHOOK_HANDLE) 00176 END SUBROUTINE INIT_NAM_DIAG_TEBn 00177 00178 SUBROUTINE UPDATE_NAM_DIAG_TEBn 00179 00180 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00181 00182 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:UPDATE_NAM_DIAG_TEBN',0,ZHOOK_HANDLE) 00183 LPGD_n = LPGD 00184 LPGD_FIX_n = LPGD_FIX 00185 LSURF_MISC_BUDGET_n = LSURF_MISC_BUDGET 00186 LUTCI_n = LUTCI 00187 IF (LHOOK) CALL DR_HOOK('MODN_TEB_N:UPDATE_NAM_DIAG_TEBN',1,ZHOOK_HANDLE) 00188 END SUBROUTINE UPDATE_NAM_DIAG_TEBn 00189 00190 END MODULE MODN_TEB_n