SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_nam_pgd_isba.F90
Go to the documentation of this file.
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