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