Module vegwatmod

  1 :       module vegwatmod
  2 : !***********************************************************************
  3 : !*  Module defining variables and parameters common to both the 
  4 : !*  vegetation model (transpmodel) and water balance model (watbal).
  5 : !*----------------------------------------------------------------------
  6 : !*  Author: Stan Schymanski, Max Planck Institute for Biogeochemistry
  7 : !*  Email: sschym@bgc-jena.mpg.de
  8 : !*  06/2008
  9 : !*----------------------------------------------------------------------      
 10 :       implicit none
 11 :       REAL*8  :: pc_      ! Projected cover perennial vegetation (0-1)
 12 :       REAL*8  :: pcg_(3)    ! Projected cover seasonal vegetation (pcg_(2) is actual value)  
 13 :       REAL*8  :: rain_      ! Rainfall rate (m/s)
 14 :       REAL*8  :: par_       ! Photosynthetically active radiation (mol/m2/s)
 15 :       REAL*8  :: dt_        ! Length of time step (s)
 16 :       REAL*8  :: dtmax      ! Maximum time step (s)
 17 :       REAL*8  :: etm__      ! Transpiration rate (m/s)
 18 :       REAL*8  :: lat        ! geogr. latitude 
 19 :       
 20 :       INTEGER :: nlayers_                 ! Number of soil layers in unsaturated zone
 21 :       INTEGER :: d___                      ! Day of year
 22 :       INTEGER :: dtsu_count, dtmax_count   ! For speed analysis, count of how often dtsu or dtmax is time limiting
 23 :       INTEGER :: h__                      ! Hour of day
 24 :       INTEGER :: M___                     ! Number of soil layers
 25 : 
 26 :       REAL*8, ALLOCATABLE :: ruptkvec(:)  ! Root water uptake rate perennial veg (m/s)
 27 :       REAL*8, ALLOCATABLE :: ruptkg(:)    ! Root water uptake rate seasonal veg (m/s)
 28 :       REAL*8, ALLOCATABLE :: pcapvec(:)   ! Soil matric head (m)
 29 :       
 30 : !     * file codes
 31 : 
 32 :       INTEGER :: kfile_dailyweather  = 101
 33 :       INTEGER :: kfile_hourlyweather = 102
 34 :       INTEGER :: kfile_inputpar      = 201
 35 :       INTEGER :: kfile_resultshourly = 201
 36 :       INTEGER :: kfile_resultsdaily  = 202
 37 :       INTEGER :: kfile_yearly        = 203
 38 :       INTEGER :: kfile_rsurfdaily    = 204
 39 :       INTEGER :: kfile_delyuhourly   = 205
 40 :       INTEGER :: kfile_ruptkhourly   = 206
 41 :       INTEGER :: kfile_suvechourly   = 207
 42 :       INTEGER :: kfile_soilprofile   = 208
 43 :       INTEGER :: kfile_model_output  = 209
 44 : 
 45 : 
 46 : !     * file names
 47 : 
 48 :       CHARACTER(80) :: sfile_dailyweather  = 'dailyweather.prn'
 49 :       CHARACTER(80) :: sfile_hourlyweather = 'hourlyweather.prn'
 50 :       CHARACTER(80) :: sfile_inputpar      = 'input.par'
 51 :       CHARACTER(80) :: sfile_resultshourly = 'resultshourly.txt'
 52 :       CHARACTER(80) :: sfile_resultsdaily  = 'resultsdaily.txt'
 53 :       CHARACTER(80) :: sfile_yearly        = 'yearly.txt'
 54 :       CHARACTER(80) :: sfile_rsurfdaily    = 'rsurfdaily.txt'
 55 :       CHARACTER(80) :: sfile_delyuhourly   = 'delyuhourly.txt'
 56 :       CHARACTER(80) :: sfile_ruptkhourly   = 'ruptkhourly.txt'
 57 :       CHARACTER(80) :: sfile_suvechourly   = 'suvechourly.txt'
 58 :       CHARACTER(80) :: sfile_soilprofile   = 'soilprofile.par'
 59 :       CHARACTER(80) :: sfile_model_output  = 'model_output.txt'     
 60 :             
 61 :       end module vegwatmod