c NOTE: all global decomp pools have been modified to have an array size of c mnbpls (3) even though some pools are not currently used/defined c within the DECOMP model. This change is being made to make coding c easier for all other submodels needing to manipulate the residue pools c (ie. will only need one index value for loops on all residue pool classes). c Eventually it is envisioned that the DECOMP model will be expanded to c truly contain the same number of age groups (3) for all residue pools c (standing, flat, buried, and roots). Currently only the flat residue pool c contains 3 age groups, the others contain only 2 age groups. c c This include file contains only local variables for the DECOMP routines. c Thus, the local variables will not have the array sizes modified at c this time. However, if and when the decomp routines are expanded to c work with 3 age groups for all pools, they will need to be modified then. c c All array dimensions are updated by defining them via the parameter c mnbpls or a function of that parameter value. c c Sat Jul 29 18:08:25 CDT 1995 c c LEW c c DECOMP.INC c c These local variables are used by c the decomposition submodel DECOMP, DECINI, DECHRV, AND DECOUT c subroutines c Variables that need to be maintained by subregion are c arrayed be mnsub c c requires p1werm.inc to be included prior to inclusion of this file c c + + + VARIABLE DECLARATIONS + + + integer dweti(mnsub) integer hrvflag integer iage integer idtype integer iht integer ipool integer ipoolf integer isz ccc integer iwets integer iwetf integer iwetg(mnsz) ccc real aqua real covfact(mnbpls,mnsub) real covhrz(mnbpls) real cumddf(mnbpls,mnsub) real cumddg(mnsz,mnbpls,mnsub) real cumdds(mnbpls,mnsub) real dasai(mnbpls) real dasait real ddsthrsh(mnbpls,mnsub) real diddf real diddg(mnsz) real didds real ditca real ditcg(mnsz) real diwcf real diwcg(mnsz) real diwcs real diwcsy(mnsub) real dkrate(mndk,mnbpls,mnsub) real dmfbm(mnbpls,mnsub) real dmfbmtot real dmgbm(mnsz,mnbpls,mnsub) real dmgbmtot real dmrbm(mnsz,mnbpls,mnsub) real dmrbmtot real dmsbm(mnbpls,mnsub) real dmsbmtot real dmsbmy(mnbpls,mnsub) real hzcovflt real hzcovstd real sai(mncz,mnsub) real starea(mnbpls,mnsub) real stmht(mnbpls,mnsub) real stmno(mnbpls,mnsub) real stmnoy(mnbpls,mnsub) c + + + VARIABLE DEFINITIONS + + + c dweti - days since anticedent moisture (4 to 0) index c hrvflag - harvest flag used to increment residue pools c c range values min max c ------------ ------ ------ c fixed 0 number of harvest + 1 c typical 0 ? c c - Needed for determining the number of residue pools for c the first three harvests. c iage - residue pool age index c c range values min max c ------------ ------ ------ c fixed 1 3 c typical 1 3 c c - counter for the number of residue pools for standing, flat, buried and c below ground residues c idtype - index of residue type c c 1 = standing c 2 = flat or surface c 3 = buried (non root) c 4 = root c 5 = stem number c c - used for assigning residue decomposition rates c iht - index for standing residues vertical distribution c c range values min max c ------------ ------ ------ c fixed 1 5 c typical 1 5 c ipool - residue pool age variable for standing, buried, root and c stem number age pools. c c range values min max c ------------ ------ ------ c fixed 1 2 c typical 1 2 c ipoolf - residue pool age variable for surface residues. c c range values min max c ------------ ------ ------ c fixed 1 3 c typical 1 3 c isz - soil layer indexing variable c c range values min max c ------------ ------ ------ c fixed 1 max no. soil layers c typical 1 ? c aqua - sum of precip, irrigation and snow melt (mm) c c range values min max c ------------ ------ ------ c fixed fmin fmax c typical tmin tmax c covfact - coeficient for converting mass to cover (m^2/kg) c c range values min max c ------------ ------ ------ c fixed 0 10 c typical 0 10 c covhrz - surface cover from flat residue by pool fraction ( 0 to 1) c c range values min max c ------------ ------ ------ c fixed 0 1 c typical 0 1 c cumddf - cummlative decomp days for surface res. by pool (days) c c range values min max c ------------ ------ ------ c fixed 0 fmax c typical 0 tmax c cumddg - cumm. decomp days below ground res by pool and layer (days) c c range values min max c ------------ ------ ------ c fixed 0 fmax c typical 0 tmax c cumdds - cumulative decomp days for standing res. by pool (days) c c range values min max c ------------ ------ ------ c fixed 0 fmax c typical 0 tmax c dasai - vertical surface area from standing residue by age pool (m^2/m^2) c c range values min max c ------------ ------ ------ c fixed 0 fmax c typical 0 ? c dasait - total vertical surface area from standing residue (m^2/m^2) c c range values min max c ------------ ------ ------ c fixed 0 fmax c typical 0 ? c ddsthrsh - threshhold number of decomp. days before stems begin to fall c c range values min max c ------------ ------ ------ c fixed 0 25 c typical 0 15 c diddf - decomposition day for surface residue (0 to 1) c c range values min max c ------------ ------ ------ c fixed 0 1 c typical 0 1 c diddg() - decomp. day for below ground residue by soil layer (0 to 1) c c range values min max c ------------ ------ ------ c fixed 0 1 c typical 0 1 c didds - decomposition day for standing residue (0 to 1) c c range values min max c ------------ ------ ------ c fixed 0 1 c typical 0 1 c ditca - temperature coef. for above ground res. (0 to 1) c c range values min max c ------------ ------ ------ c fixed 0 1 c typical 0 1 c ditcg() - temperature coef. below ground res. by soil layer (0 to 1) c c range values min max c ------------ ------ ------ c fixed 0 1 c typical 0 1 c diwcf - daily water coefficient for surface residues (0 to 1) c c range values min max c ------------ ------ ------ c fixed 0 1 c typical 0 1 c diwcg - water coef. for below ground res. by soil layer (0 to 1) c c range values min max c ------------ ------ ------ c fixed 0 1 c typical 0 1 c diwcs - water coefficient for standing residues (0 to 1) c c range values min max c ------------ ------ ------ c fixed 0 1 c typical 0 1 c diwcsy - water coefficient from previous day standing res. (0 to 1) c c range values min max c ------------ ------ ------ c fixed 0 1 c typical 0 1 c dkrate - decomposition rate for each age pool and location (d < 1) (g/g/day) c c range values min max c ------------ ------ ------ c fixed 0 .1 c typical 0 .1 c dmfbm() - surface biomass by age pool (kg / m^2) c c range values min max c ------------ ------ ------ c fixed fmin fmax c typical fmin tmax c dmfbmtot - total surface biomass (kg / m^2) c c range values min max c ------------ ------ ------ c fixed fmin fmax c typical fmin tmax c dmgbm() - below ground biomass by layer and pool (kg / m^2) c c range values min max c ------------ ------ ------ c fixed fmin fmax c typical fmin tmax c dmgbmtot - total below ground non-root biomass (kg / m^2) c c range values min max c ------------ ------ ------ c fixed fmin fmax c typical fmin tmax c dmrbm() - root biomass by layer and pool (kg / m^2) c c range values min max c ------------ ------ ------ c fixed fmin fmax c typical fmin tmax c dmrbmtot - total root biomass (kg / m^2) c c range values min max c ------------ ------ ------ c fixed fmin fmax c typical fmin tmax c dmsbm - standing biomass by age pool (kg / m^2) c c range values min max c ------------ ------ ------ c fixed fmin fmax c typical fmin tmax c dmsbmtot - total standing biomass (sum of iage pools) (kg / m^2) c c range values min max c ------------ ------ ------ c fixed fmin fmax c typical fmin tmax c dmsbmy - yesterdays standing stem biomass by age pool (kg / m^2) c c range values min max c ------------ ------ ------ c fixed fmin fmax c typical fmin tmax c hzcovflt - surface cover from flat residue fraction (0 to 1) c c range values min max c ------------ ------ ------ c fixed 0 1 c typical 0 1 c hzcovstd - surface cover from standing residue fraction (0 to 1) c c range values min max c ------------ ------ ------ c fixed 0 1 c typical 0 1 c sai() - stem area index by height (dasait/5) (m^2 / m^2) c c range values min max c ------------ ------ ------ c fixed 0 ? c typical 0 ? c starea - (pi*r^2*no stems) horizontal area of stems, by age pool ( m^2 / m^2) c c range values min max c ------------ ------ ------ c fixed 0 ? c typical 0 ? c stmht() - stem height for each pool (m) c c range values min max c ------------ ------ ------ c fixed 0 1.5 c typical 0 .5 c stmno() - standing stem number by pool (no. / m^2) c c range values min max c ------------ ------ ------ c fixed 0 1000 c typical 0 500 c stmnoy() - standing stem number from yesterday (no. / m^2) c c range values min max c ------------ ------ ------ c fixed 0 1000 c typical 0 500 common / decom / i iwets,iwetf,iwetg, i dweti, hrvflag, iage, idtype, iht, i ipool, ipoolf, isz, r aqua, covfact, covhrz, cumddf, cumddg, cumdds, r dasai, dasait, ddsthrsh, diddf, diddg, didds, r ditca, ditcg, diwcf, diwcg, diwcs, diwcsy, r dkrate, dmfbm, dmfbmtot, dmgbm, dmgbmtot, r dmrbm, dmrbmtot, dmsbm, dmsbmtot, dmsbmy, r hzcovflt, hzcovstd, r sai, starea, stmht, stmno, stmnoy