SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE READ_NAM_PGD_ISBA(HPROGRAM, KPATCH, KGROUND_LAYER, & 00003 HISBA, HPEDOTF, HPHOTO, OTR_ML, PRM_PATCH, & 00004 HCLAY, HCLAYFILETYPE, PUNIF_CLAY, OIMP_CLAY, & 00005 HSAND, HSANDFILETYPE, PUNIF_SAND, OIMP_SAND, & 00006 HSOC_TOP, HSOC_SUB, HSOCFILETYPE, PUNIF_SOC_TOP, & 00007 PUNIF_SOC_SUB, OIMP_SOC, HCTI, HCTIFILETYPE, OIMP_CTI, & 00008 HPERM, HPERMFILETYPE, PUNIF_PERM, OIMP_PERM, & 00009 HRUNOFFB, HRUNOFFBFILETYPE, PUNIF_RUNOFFB, & 00010 HWDRAIN, HWDRAINFILETYPE , PUNIF_WDRAIN, PSOILGRID, & 00011 HPH, HPHFILETYPE, PUNIF_PH, HFERT, HFERTFILETYPE, & 00012 PUNIF_FERT ) 00013 ! ############################################################## 00014 ! 00015 !!**** *READ_NAM_PGD_ISBA* reads namelist for ISBA 00016 !! 00017 !! PURPOSE 00018 !! ------- 00019 !! 00020 !! METHOD 00021 !! ------ 00022 !! 00023 ! 00024 !! EXTERNAL 00025 !! -------- 00026 !OTR_ML, ! 00027 !! IMPLICIT ARGUMENTS 00028 !! ------------------ 00029 !! 00030 !! REFERENCE 00031 !! --------- 00032 !! 00033 !! AUTHOR 00034 !! ------ 00035 !! 00036 !! V. Masson Meteo-France 00037 !! 00038 !! MODIFICATION 00039 !! ------------ 00040 !! 00041 !! Original 01/2005 00042 !! 2008 B. Decharme : uniform value of subgrid drainage coefficient 00043 !! 12/2008 E. Martin : files of data for subgrid drainage 00044 !! and subgridrunoff 00045 !! 06/2009 B. Decharme : files of data for topographic index 00046 !! 07/2012 B. Decharme : files of data for permafrost area and for SOC top and sub soil 00047 !---------------------------------------------------------------------------- 00048 ! 00049 !* 0. DECLARATION 00050 ! ----------- 00051 ! 00052 USE MODD_SURF_PAR, ONLY : XUNDEF, NUNDEF 00053 ! 00054 USE MODI_GET_LUOUT 00055 USE MODI_OPEN_NAMELIST 00056 USE MODI_CLOSE_NAMELIST 00057 ! 00058 USE MODE_POS_SURF 00059 ! 00060 ! 00061 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00062 USE PARKIND1 ,ONLY : JPRB 00063 ! 00064 IMPLICIT NONE 00065 ! 00066 !* 0.1 Declaration of arguments 00067 ! ------------------------ 00068 ! 00069 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! Type of program 00070 INTEGER, INTENT(OUT) :: KPATCH ! number of patches 00071 INTEGER, INTENT(OUT) :: KGROUND_LAYER ! number of soil layers 00072 CHARACTER(LEN=3), INTENT(OUT) :: HISBA ! ISBA option 00073 CHARACTER(LEN=4), INTENT(OUT) :: HPEDOTF ! Pedo-transfert function for DIF 00074 CHARACTER(LEN=3), INTENT(OUT) :: HPHOTO ! photosynthesis option 00075 LOGICAL, INTENT(OUT) :: OTR_ML ! new radiative transfert 00076 REAL, INTENT(OUT) :: PRM_PATCH ! threshold to remove little fractions of patches 00077 CHARACTER(LEN=28), INTENT(OUT) :: HSAND ! file name for sand fraction 00078 CHARACTER(LEN=28), INTENT(OUT) :: HCLAY ! file name for clay fraction 00079 CHARACTER(LEN=28), INTENT(OUT) :: HCTI ! file name for topographic index 00080 CHARACTER(LEN=28), INTENT(OUT) :: HPERM ! file name for permafrost distribution 00081 CHARACTER(LEN=28), INTENT(OUT) :: HRUNOFFB ! file name for runoffb parameter 00082 CHARACTER(LEN=28), INTENT(OUT) :: HWDRAIN ! file name for wdrain parameter 00083 CHARACTER(LEN=6), INTENT(OUT) :: HSANDFILETYPE ! sand data file type 00084 CHARACTER(LEN=6), INTENT(OUT) :: HCLAYFILETYPE ! clay data file type 00085 CHARACTER(LEN=6), INTENT(OUT) :: HCTIFILETYPE ! topographic index data file type 00086 CHARACTER(LEN=6), INTENT(OUT) :: HPERMFILETYPE ! permafrost distribution data file type 00087 CHARACTER(LEN=6), INTENT(OUT) :: HRUNOFFBFILETYPE ! subgrid runoff data file type 00088 CHARACTER(LEN=6), INTENT(OUT) :: HWDRAINFILETYPE ! subgrid drainage data file type 00089 REAL, INTENT(OUT) :: PUNIF_SAND ! uniform value of sand fraction 00090 REAL, INTENT(OUT) :: PUNIF_CLAY ! uniform value of clay fraction 00091 REAL, INTENT(OUT) :: PUNIF_RUNOFFB ! uniform value of subgrid runoff coefficient 00092 REAL, INTENT(OUT) :: PUNIF_WDRAIN ! uniform value of subgrid drainage coefficient 00093 REAL, INTENT(OUT) :: PUNIF_PERM ! uniform value of permafrost distribution 00094 LOGICAL, INTENT(OUT) :: OIMP_SAND ! Imposed values for Sand 00095 LOGICAL, INTENT(OUT) :: OIMP_CLAY ! Imposed values for Clay 00096 LOGICAL, INTENT(OUT) :: OIMP_CTI ! Imposed values for topographic index statistics 00097 LOGICAL, INTENT(OUT) :: OIMP_PERM ! Imposed maps of permafrost distribution 00098 CHARACTER(LEN=28), INTENT(OUT) :: HSOC_TOP ! file name for organic carbon 00099 CHARACTER(LEN=28), INTENT(OUT) :: HSOC_SUB ! file name for organic carbon 00100 CHARACTER(LEN=6), INTENT(OUT) :: HSOCFILETYPE ! organic carbon data file type 00101 REAL, INTENT(OUT) :: PUNIF_SOC_TOP ! uniform value of organic carbon top soil (kg/m2) 00102 REAL, INTENT(OUT) :: PUNIF_SOC_SUB ! uniform value of organic carbon sub soil (kg/m2) 00103 LOGICAL, INTENT(OUT) :: OIMP_SOC ! Imposed maps of organic carbon 00104 REAL, DIMENSION(:), INTENT(OUT) :: PSOILGRID ! Soil layer thickness for DIF 00105 CHARACTER(LEN=28), INTENT(OUT) :: HPH ! file name for pH 00106 CHARACTER(LEN=28), INTENT(OUT) :: HFERT ! file name for fertilisation rate 00107 CHARACTER(LEN=6), INTENT(OUT) :: HPHFILETYPE ! pH data file type 00108 CHARACTER(LEN=6), INTENT(OUT) :: HFERTFILETYPE ! fertilisation data file type 00109 REAL, INTENT(OUT) :: PUNIF_PH ! uniform value of pH 00110 REAL, INTENT(OUT) :: PUNIF_FERT ! uniform value of fertilisation rate 00111 ! 00112 ! 00113 !* 0.2 Declaration of local variables 00114 ! ------------------------------ 00115 ! 00116 INTEGER :: ILUOUT ! output listing logical unit 00117 INTEGER :: ILUNAM ! namelist file logical unit 00118 LOGICAL :: GFOUND ! flag when namelist is present 00119 ! 00120 !* 0.3 Declaration of namelists 00121 ! ------------------------ 00122 ! 00123 INTEGER :: NPATCH ! number of patches 00124 INTEGER :: NGROUND_LAYER ! number of soil layers 00125 CHARACTER(LEN=3) :: CISBA ! ISBA option 00126 CHARACTER(LEN=4) :: CPEDO_FUNCTION ! Pedo-transfert function for DIF 00127 CHARACTER(LEN=3) :: CPHOTO ! photosynthesis option 00128 LOGICAL :: LTR_ML ! new radiative transfert 00129 REAL :: XRM_PATCH ! threshold to remove little fractions of patches 00130 CHARACTER(LEN=28) :: YSAND ! file name for sand fraction 00131 CHARACTER(LEN=28) :: YCLAY ! file name for clay fraction 00132 CHARACTER(LEN=28) :: YCTI ! file name for topographic index 00133 CHARACTER(LEN=28) :: YPERM ! file name for permafrost distribution 00134 CHARACTER(LEN=28) :: YRUNOFFB ! file name for runoffb parameter 00135 CHARACTER(LEN=28) :: YWDRAIN ! file name for wdrain parameter 00136 CHARACTER(LEN=28) :: YPH ! file name for pH 00137 CHARACTER(LEN=28) :: YFERT ! file name for fertilisation rate 00138 CHARACTER(LEN=6) :: YSANDFILETYPE ! sand data file type 00139 CHARACTER(LEN=6) :: YCLAYFILETYPE ! clay data file type 00140 CHARACTER(LEN=6) :: YCTIFILETYPE ! topographic index data file type 00141 CHARACTER(LEN=6) :: YPERMFILETYPE ! permafrost distribution data file type 00142 CHARACTER(LEN=6) :: YRUNOFFBFILETYPE ! subgrid runoff data file type 00143 CHARACTER(LEN=6) :: YWDRAINFILETYPE ! subgrid drainage data file type 00144 CHARACTER(LEN=6) :: YPHFILETYPE ! pH data file type 00145 CHARACTER(LEN=6) :: YFERTFILETYPE ! fertilisation data file type 00146 LOGICAL :: LIMP_SAND ! Imposed maps of Sand from another PGD file 00147 LOGICAL :: LIMP_CLAY ! Imposed maps of Clay from another PGD file 00148 LOGICAL :: LIMP_CTI ! Imposed values for topographic index statistics from another PGD file 00149 LOGICAL :: LIMP_PERM ! Imposed maps of permafrost distribution 00150 REAL :: XUNIF_SAND ! uniform value of sand fraction 00151 REAL :: XUNIF_CLAY ! uniform value of clay fraction 00152 REAL :: XUNIF_RUNOFFB ! uniform value of subgrid runoff coefficient 00153 REAL :: XUNIF_WDRAIN ! uniform value of subgrid drainage coefficient 00154 REAL :: XUNIF_PERM ! uniform value of permafrost distribution 00155 REAL :: XUNIF_PH ! uniform value of pH 00156 REAL :: XUNIF_FERT ! uniform value of fertilisation rate 00157 ! 00158 REAL, DIMENSION(150) :: XSOILGRID ! Soil layer thickness for DIF 00159 ! 00160 CHARACTER(LEN=28) :: YSOC_TOP ! file name for organic carbon expressed in kg/m2 00161 CHARACTER(LEN=28) :: YSOC_SUB ! file name for organic carbon expressed in kg/m2 00162 CHARACTER(LEN=6) :: YSOCFILETYPE ! organic carbon data file type 00163 REAL :: XUNIF_SOC_TOP ! uniform value of organic carbon (kg/m2) 00164 REAL :: XUNIF_SOC_SUB ! uniform value of organic carbon (kg/m2) 00165 LOGICAL :: LIMP_SOC ! Imposed maps of organic carbon 00166 ! 00167 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00168 ! 00169 NAMELIST/NAM_ISBA/ NPATCH, NGROUND_LAYER, CISBA, CPEDO_FUNCTION, CPHOTO, & 00170 LTR_ML, XRM_PATCH, YCLAY, YCLAYFILETYPE, XUNIF_CLAY, & 00171 LIMP_CLAY, YSAND, YSANDFILETYPE, XUNIF_SAND, LIMP_SAND, & 00172 YSOC_TOP, YSOC_SUB, YSOCFILETYPE, XUNIF_SOC_TOP, & 00173 XUNIF_SOC_SUB, LIMP_SOC, YCTI, YCTIFILETYPE, LIMP_CTI, & 00174 YPERM, YPERMFILETYPE, XUNIF_PERM, LIMP_PERM, & 00175 YRUNOFFB, YRUNOFFBFILETYPE, XUNIF_RUNOFFB, & 00176 YWDRAIN, YWDRAINFILETYPE, XUNIF_WDRAIN, XSOILGRID, & 00177 YPH, YPHFILETYPE, XUNIF_PH, YFERT, YFERTFILETYPE, & 00178 XUNIF_FERT 00179 ! 00180 !------------------------------------------------------------------------------- 00181 ! 00182 !* 1. Initializations of defaults 00183 ! --------------------------- 00184 ! 00185 !##################### 00186 IF (LHOOK) CALL DR_HOOK('READ_NAM_PGD_ISBA',0,ZHOOK_HANDLE) 00187 NPATCH = 1 00188 NGROUND_LAYER = NUNDEF 00189 CISBA = '3-L' 00190 CPEDO_FUNCTION = 'CH78' 00191 CPHOTO = 'NON' 00192 LTR_ML = .FALSE. 00193 XSOILGRID(:) = XUNDEF 00194 XRM_PATCH = 0.0 00195 !##################### 00196 ! 00197 XUNIF_CLAY = 0.33 00198 XUNIF_SAND = 0.33 00199 XUNIF_SOC_TOP = XUNDEF 00200 XUNIF_SOC_SUB = XUNDEF 00201 XUNIF_RUNOFFB = 0.5 00202 XUNIF_WDRAIN = 0. 00203 XUNIF_PERM = XUNDEF 00204 XUNIF_PH = XUNDEF 00205 XUNIF_FERT = XUNDEF 00206 ! 00207 YCLAY = ' ' 00208 YSAND = ' ' 00209 YSOC_TOP = ' ' 00210 YSOC_SUB = ' ' 00211 YCTI = ' ' 00212 YPERM = ' ' 00213 YRUNOFFB = ' ' 00214 YWDRAIN = ' ' 00215 YPH = ' ' 00216 YFERT = ' ' 00217 ! 00218 YCLAYFILETYPE = ' ' 00219 YSANDFILETYPE = ' ' 00220 YSOCFILETYPE = ' ' 00221 YCTIFILETYPE = ' ' 00222 YPERMFILETYPE = ' ' 00223 YRUNOFFBFILETYPE = ' ' 00224 YWDRAINFILETYPE = ' ' 00225 YPHFILETYPE = ' ' 00226 YPHFILETYPE = ' ' 00227 ! 00228 LIMP_CLAY = .FALSE. 00229 LIMP_SAND = .FALSE. 00230 LIMP_SOC = .FALSE. 00231 LIMP_CTI = .FALSE. 00232 LIMP_PERM = .FALSE. 00233 ! 00234 CALL GET_LUOUT(HPROGRAM,ILUOUT) 00235 ! 00236 !------------------------------------------------------------------------------- 00237 ! 00238 !* 2. Reading of namelist 00239 ! ------------------- 00240 ! 00241 CALL OPEN_NAMELIST(HPROGRAM,ILUNAM) 00242 ! 00243 CALL POSNAM(ILUNAM,'NAM_ISBA',GFOUND,ILUOUT) 00244 IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_ISBA) 00245 ! 00246 CALL CLOSE_NAMELIST(HPROGRAM,ILUNAM) 00247 ! 00248 !------------------------------------------------------------------------------- 00249 ! 00250 KPATCH = NPATCH ! number of patches 00251 KGROUND_LAYER = NGROUND_LAYER ! number of soil layers 00252 PSOILGRID = XSOILGRID ! soil layer tickness for DIF 00253 HISBA = CISBA ! ISBA option 00254 HPEDOTF = CPEDO_FUNCTION ! Pedo-transfert function for DIF 00255 HPHOTO = CPHOTO ! photosynthesis option 00256 OTR_ML = LTR_ML ! new radiative transfert 00257 PRM_PATCH = XRM_PATCH ! threshol to remove little fractions of patches 00258 HSAND = YSAND ! file name for sand fraction 00259 HCLAY = YCLAY ! file name for clay fraction 00260 HSOC_TOP = YSOC_TOP ! file name for organic carbon 00261 HSOC_SUB = YSOC_SUB ! file name for organic carbon 00262 HCTI = YCTI ! file name for topographic index 00263 HPERM = YPERM ! file name for permafrost distribution 00264 HRUNOFFB = YRUNOFFB ! file name for subgrid runoff 00265 HWDRAIN = YWDRAIN ! file name for subgrid drainage 00266 HSANDFILETYPE = YSANDFILETYPE ! sand data file type 00267 HCLAYFILETYPE = YCLAYFILETYPE ! clay data file type 00268 HSOCFILETYPE = YSOCFILETYPE ! organic carbon data file type 00269 HCTIFILETYPE = YCTIFILETYPE ! topographic index data file type 00270 HPERMFILETYPE = YPERMFILETYPE ! permafrost distribution data file type 00271 HRUNOFFBFILETYPE = YRUNOFFBFILETYPE ! subgrid runoff data file type 00272 HWDRAINFILETYPE = YWDRAINFILETYPE ! subgrid drainage data file type 00273 PUNIF_SAND = XUNIF_SAND ! uniform value of sand fraction 00274 PUNIF_CLAY = XUNIF_CLAY ! uniform value of clay fraction 00275 PUNIF_SOC_TOP = XUNIF_SOC_TOP ! uniform value of organic carbon top soil 00276 PUNIF_SOC_SUB = XUNIF_SOC_SUB ! uniform value of organic carbon sub soil 00277 PUNIF_RUNOFFB = XUNIF_RUNOFFB ! uniform value of subgrid runoff coefficient 00278 PUNIF_WDRAIN = XUNIF_WDRAIN ! uniform value of subgrid drainage coefficient 00279 PUNIF_PERM = XUNIF_PERM ! uniform value of permafrost distribution 00280 OIMP_SAND = LIMP_SAND ! Imposed values for SAND 00281 OIMP_CLAY = LIMP_CLAY ! Imposed values for CLAY 00282 OIMP_SOC = LIMP_SOC ! Imposed values for organic carbon 00283 OIMP_CTI = LIMP_CTI ! Imposed values for topographic index statistics 00284 OIMP_PERM = LIMP_PERM ! Imposed values for permafrost distribution 00285 ! 00286 HPH = YPH ! file name for pH value 00287 HFERT = YFERT ! file name for fertilisation data 00288 HPHFILETYPE = YPHFILETYPE ! pH data file type 00289 HFERTFILETYPE = YFERTFILETYPE ! Fertilisation data file type 00290 PUNIF_PH = XUNIF_PH ! uniform value of pH 00291 PUNIF_FERT = XUNIF_FERT ! uniform value of fertilisation rate 00292 ! 00293 IF (LHOOK) CALL DR_HOOK('READ_NAM_PGD_ISBA',1,ZHOOK_HANDLE) 00294 ! 00295 !------------------------------------------------------------------------------- 00296 ! 00297 END SUBROUTINE READ_NAM_PGD_ISBA