SURFEX v7.3
General documentation of Surfex
|
00001 SUBROUTINE INI_SURF_CSTS 00002 ! ################## 00003 ! 00004 !!**** *INI_SURF_CSTS * - routine to initialize all surface parameter as 00005 !! emissivity and anbedo 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 ! 00010 !!** METHOD 00011 !! ------ 00012 !! The physical constants are set to their default numerical values 00013 !! or specified in namelist NAM_SURF_CSTS 00014 !! 00015 !! 00016 !! EXTERNAL 00017 !! -------- 00018 !! 00019 !! 00020 !! IMPLICIT ARGUMENTS 00021 !! ------------------ 00022 !! 00023 !! REFERENCE 00024 !! --------- 00025 !! 00026 !! AUTHOR 00027 !! ------ 00028 !! B. Decharme * Meteo France * 00029 !! 00030 !! MODIFICATIONS 00031 !! ------------- 00032 !! Original 08/2009 00033 !! 00034 !------------------------------------------------------------------------------- 00035 ! 00036 !* 0. DECLARATIONS 00037 ! ------------ 00038 ! 00039 USE MODD_SURF_CONF, ONLY : CPROGNAME 00040 ! 00041 USE MODD_WATER_PAR 00042 USE MODD_FLOOD_PAR 00043 USE MODD_SNOW_PAR, ONLY : XEMISSN, XANSMIN, XANSMAX, & 00044 XAGLAMIN, XAGLAMAX, XHGLA, & 00045 XWSNV, XZ0SN, XZ0HSN, & 00046 XTAU_SMELT 00047 ! 00048 USE MODI_GET_LUOUT 00049 USE MODI_OPEN_NAMELIST 00050 USE MODI_CLOSE_NAMELIST 00051 USE MODE_POS_SURF 00052 ! 00053 ! 00054 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00055 USE PARKIND1 ,ONLY : JPRB 00056 ! 00057 IMPLICIT NONE 00058 ! 00059 INTEGER :: ILUOUT ! unit of output listing file 00060 INTEGER :: ILUNAM ! namelist file logical unit 00061 LOGICAL :: GFOUND ! true if namelist is found 00062 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00063 ! 00064 NAMELIST/NAM_SURF_CSTS/ XEMISSN, XANSMIN, XANSMAX, XAGLAMIN, XAGLAMAX, & 00065 XALBWAT, XALBCOEF_TA96, XALBSCA_WAT, XEMISWAT, & 00066 XALBWATICE, XEMISWATICE, XHGLA, XWSNV, XCFFV, & 00067 XZ0SN, XZ0HSN, XTAU_SMELT 00068 ! 00069 !------------------------------------------------------------------------------- 00070 !* 1. Default values 00071 !------------------------------------------------------------------------------- 00072 ! 00073 ! Snow emissivity: 00074 ! 00075 IF (LHOOK) CALL DR_HOOK('INI_SURF_CSTS',0,ZHOOK_HANDLE) 00076 XEMISSN = 1.0 ! (-) 00077 ! 00078 ! Minimum and maximum values of the albedo of snow: 00079 ! 00080 XANSMIN = 0.50 ! (-) 00081 XANSMAX = 0.85 ! (-) 00082 ! 00083 ! Minimum and maximum values of the albedo of permanet snow/ice: 00084 ! 00085 XAGLAMIN = 0.8 ! (-) 00086 XAGLAMAX = 0.85 ! (-) 00087 ! 00088 ! Height of aged snow in glacier case (allows Pn=1) 00089 ! 00090 XHGLA = 33.3 !(m) 00091 ! 00092 ! Coefficient for calculation of snow fraction over vegetation 00093 ! 00094 XWSNV = 5.0 !(-) 00095 ! 00096 ! Water global albedo (option "UNIF") 00097 ! 00098 XALBWAT = 0.135 00099 ! 00100 ! Water direct albedo coefficient (option "TA96") 00101 ! 00102 XALBCOEF_TA96 = 0.037 00103 ! 00104 ! Water diffuse albedo 00105 ! 00106 XALBSCA_WAT = 0.06 00107 ! 00108 ! Water emissivity 00109 ! 00110 XEMISWAT = 0.98 00111 ! 00112 ! Sea ice albedo 00113 ! 00114 XALBWATICE = 0.85 00115 ! 00116 ! Sea ice emissivity 00117 ! 00118 XEMISWATICE = 1.0 00119 ! 00120 ! Coefficient for calculation of floodplain fraction over vegetation 00121 ! 00122 XCFFV = 3.0 00123 ! 00124 ! Roughness length of pure snow surface (m) 00125 ! 00126 XZ0SN = 0.001 00127 ! 00128 ! Roughness length for heat of pure snow surface (m) 00129 ! 00130 XZ0HSN = 0.0001 00131 ! 00132 ! Snow Melt timescale with D95 (s): needed to prevent time step 00133 ! dependence of melt when snow fraction < unity. 00134 ! 00135 XTAU_SMELT = 300. 00136 ! 00137 !------------------------------------------------------------------------------- 00138 !* 2. User values 00139 !------------------------------------------------------------------------------- 00140 ! 00141 CALL GET_LUOUT(CPROGNAME,ILUOUT) 00142 ! 00143 CALL OPEN_NAMELIST(CPROGNAME,ILUNAM) 00144 ! 00145 CALL POSNAM(ILUNAM,'NAM_SURF_CSTS',GFOUND,ILUOUT) 00146 IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_SURF_CSTS) 00147 ! 00148 CALL CLOSE_NAMELIST(CPROGNAME,ILUNAM) 00149 IF (LHOOK) CALL DR_HOOK('INI_SURF_CSTS',1,ZHOOK_HANDLE) 00150 ! 00151 !------------------------------------------------------------------------------- 00152 ! 00153 END SUBROUTINE INI_SURF_CSTS