plant_module Module


Used by

  • module~~plant_module~~UsedByGraph module~plant_module plant_module proc~actions actions proc~actions->module~plant_module proc~albedo albedo proc~albedo->module~plant_module proc~aqu_pesticide_output aqu_pesticide_output proc~aqu_pesticide_output->module~plant_module proc~basin_aqu_pest_output basin_aqu_pest_output proc~basin_aqu_pest_output->module~plant_module proc~basin_ch_pest_output basin_ch_pest_output proc~basin_ch_pest_output->module~plant_module proc~basin_ls_pest_output basin_ls_pest_output proc~basin_ls_pest_output->module~plant_module proc~basin_res_pest_output basin_res_pest_output proc~basin_res_pest_output->module~plant_module proc~cal_allo_init cal_allo_init proc~cal_allo_init->module~plant_module proc~cal_conditions cal_conditions proc~cal_conditions->module~plant_module proc~cal_parm_select cal_parm_select proc~cal_parm_select->module~plant_module proc~calsoft_hyd calsoft_hyd proc~calsoft_hyd->module~plant_module proc~calsoft_hyd_bfr calsoft_hyd_bfr proc~calsoft_hyd_bfr->module~plant_module proc~calsoft_hyd_bfr_et calsoft_hyd_bfr_et proc~calsoft_hyd_bfr_et->module~plant_module proc~calsoft_hyd_bfr_latq calsoft_hyd_bfr_latq proc~calsoft_hyd_bfr_latq->module~plant_module proc~calsoft_hyd_bfr_perc calsoft_hyd_bfr_perc proc~calsoft_hyd_bfr_perc->module~plant_module proc~calsoft_hyd_bfr_pet calsoft_hyd_bfr_pet proc~calsoft_hyd_bfr_pet->module~plant_module proc~calsoft_hyd_bfr_surq calsoft_hyd_bfr_surq proc~calsoft_hyd_bfr_surq->module~plant_module proc~calsoft_plant calsoft_plant proc~calsoft_plant->module~plant_module proc~calsoft_read_codes calsoft_read_codes proc~calsoft_read_codes->module~plant_module proc~calsoft_sed calsoft_sed proc~calsoft_sed->module~plant_module proc~ch_cs_output ch_cs_output proc~ch_cs_output->module~plant_module proc~ch_pathogen_output ch_pathogen_output proc~ch_pathogen_output->module~plant_module proc~ch_salt_output ch_salt_output proc~ch_salt_output->module~plant_module proc~cha_pesticide_output cha_pesticide_output proc~cha_pesticide_output->module~plant_module proc~conditions conditions proc~conditions->module~plant_module proc~cs_hru_init cs_hru_init proc~cs_hru_init->module~plant_module proc~cs_uptake cs_uptake proc~cs_uptake->module~plant_module proc~ero_ovrsed ero_ovrsed proc~ero_ovrsed->module~plant_module proc~et_act et_act proc~et_act->module~plant_module proc~et_pot et_pot proc~et_pot->module~plant_module proc~hru_allo hru_allo proc~hru_allo->module~plant_module proc~hru_carbon_output hru_carbon_output proc~hru_carbon_output->module~plant_module proc~hru_control hru_control proc~hru_control->module~plant_module proc~hru_dtbl_actions_init hru_dtbl_actions_init proc~hru_dtbl_actions_init->module~plant_module proc~hru_lum_init hru_lum_init proc~hru_lum_init->module~plant_module proc~hru_output hru_output proc~hru_output->module~plant_module proc~hru_pathogen_output hru_pathogen_output proc~hru_pathogen_output->module~plant_module proc~hru_pesticide_output hru_pesticide_output proc~hru_pesticide_output->module~plant_module proc~hru_urbanhr hru_urbanhr proc~hru_urbanhr->module~plant_module proc~hydro_init hydro_init proc~hydro_init->module~plant_module proc~lsreg_output lsreg_output proc~lsreg_output->module~plant_module proc~mallo_control mallo_control proc~mallo_control->module~plant_module proc~mgt_harvbiomass mgt_harvbiomass proc~mgt_harvbiomass->module~plant_module proc~mgt_harvgrain mgt_harvgrain proc~mgt_harvgrain->module~plant_module proc~mgt_harvresidue mgt_harvresidue proc~mgt_harvresidue->module~plant_module proc~mgt_harvtuber mgt_harvtuber proc~mgt_harvtuber->module~plant_module proc~mgt_killop mgt_killop proc~mgt_killop->module~plant_module proc~mgt_newtillmix mgt_newtillmix proc~mgt_newtillmix->module~plant_module proc~mgt_newtillmix_wet mgt_newtillmix_wet proc~mgt_newtillmix_wet->module~plant_module proc~mgt_operatn mgt_operatn proc~mgt_operatn->module~plant_module proc~mgt_plantop mgt_plantop proc~mgt_plantop->module~plant_module proc~mgt_sched mgt_sched proc~mgt_sched->module~plant_module proc~mgt_transplant mgt_transplant proc~mgt_transplant->module~plant_module proc~nut_nminrl nut_nminrl proc~nut_nminrl->module~plant_module proc~nut_orgn nut_orgn proc~nut_orgn->module~plant_module proc~nut_orgnc2 nut_orgnc2 proc~nut_orgnc2->module~plant_module proc~nut_psed nut_psed proc~nut_psed->module~plant_module proc~obj_output obj_output proc~obj_output->module~plant_module proc~path_apply path_apply proc~path_apply->module~plant_module proc~path_ls_process path_ls_process proc~path_ls_process->module~plant_module proc~pathogen_init pathogen_init proc~pathogen_init->module~plant_module proc~pest_apply pest_apply proc~pest_apply->module~plant_module proc~pest_decay pest_decay proc~pest_decay->module~plant_module proc~pest_pl_up pest_pl_up proc~pest_pl_up->module~plant_module proc~pest_soil_tot pest_soil_tot proc~pest_soil_tot->module~plant_module proc~pest_washp pest_washp proc~pest_washp->module~plant_module proc~pesticide_init pesticide_init proc~pesticide_init->module~plant_module proc~pl_biomass_gro pl_biomass_gro proc~pl_biomass_gro->module~plant_module proc~pl_burnop pl_burnop proc~pl_burnop->module~plant_module proc~pl_community pl_community proc~pl_community->module~plant_module proc~pl_dormant pl_dormant proc~pl_dormant->module~plant_module proc~pl_graze pl_graze proc~pl_graze->module~plant_module proc~pl_grow pl_grow proc~pl_grow->module~plant_module proc~pl_leaf_gro pl_leaf_gro proc~pl_leaf_gro->module~plant_module proc~pl_leaf_senes pl_leaf_senes proc~pl_leaf_senes->module~plant_module proc~pl_mortality pl_mortality proc~pl_mortality->module~plant_module proc~pl_nfix pl_nfix proc~pl_nfix->module~plant_module proc~pl_nup pl_nup proc~pl_nup->module~plant_module proc~pl_nupd pl_nupd proc~pl_nupd->module~plant_module proc~pl_nut_demand pl_nut_demand proc~pl_nut_demand->module~plant_module proc~pl_partition pl_partition proc~pl_partition->module~plant_module proc~pl_pup pl_pup proc~pl_pup->module~plant_module proc~pl_pupd pl_pupd proc~pl_pupd->module~plant_module proc~pl_read_parms_cal pl_read_parms_cal proc~pl_read_parms_cal->module~plant_module proc~pl_root_gro pl_root_gro proc~pl_root_gro->module~plant_module proc~pl_rootfr pl_rootfr proc~pl_rootfr->module~plant_module proc~pl_tstr pl_tstr proc~pl_tstr->module~plant_module proc~pl_waterup pl_waterup proc~pl_waterup->module~plant_module proc~pl_write_parms_cal pl_write_parms_cal proc~pl_write_parms_cal->module~plant_module proc~plant_all_init plant_all_init proc~plant_all_init->module~plant_module proc~plant_init plant_init proc~plant_init->module~plant_module proc~re_initialize re_initialize proc~re_initialize->module~plant_module proc~res_cs_output res_cs_output proc~res_cs_output->module~plant_module proc~res_pesticide_output res_pesticide_output proc~res_pesticide_output->module~plant_module proc~res_salt_output res_salt_output proc~res_salt_output->module~plant_module proc~rsd_decomp rsd_decomp proc~rsd_decomp->module~plant_module proc~salt_hru_init salt_hru_init proc~salt_hru_init->module~plant_module proc~salt_uptake salt_uptake proc~salt_uptake->module~plant_module proc~soils_init soils_init proc~soils_init->module~plant_module proc~sq_canopyint sq_canopyint proc~sq_canopyint->module~plant_module proc~topohyd_init topohyd_init proc~topohyd_init->module~plant_module proc~wallo_control wallo_control proc~wallo_control->module~plant_module proc~wet_cs_output wet_cs_output proc~wet_cs_output->module~plant_module proc~wet_salt_output wet_salt_output proc~wet_salt_output->module~plant_module

Variables

Type Visibility Attributes Name Initial
integer, public :: basin_plants = 0

number of different plants in the basin

type(plant_mass), public :: yld_tbr
type(plant_mass), public :: yld_grn
type(plant_mass), public :: yld_veg
type(plant_mass), public :: yld_rsd
type(plant_community), public, dimension (:), allocatable :: pcom
type(plant_community), public, dimension (:), allocatable :: pcom_init
type(plant_growth), public :: plgz
type(plant_mass), public :: plmz
type(plant_mass), public :: o_m1
type(plant_mass), public :: o_m2
type(plant_mass), public :: o_m3
type(plant_stress), public :: plstrz
type(basin_crop_yields), public, dimension(:), allocatable :: bsn_crop_yld
type(basin_crop_yields), public, dimension(:), allocatable :: bsn_crop_yld_aa
type(basin_crop_yields), public :: bsn_crop_yld_z
type(plant_carbon), public :: c_frac

Derived Types

type, public ::  plant_growth

Components

Type Visibility Attributes Name Initial
real, public :: cht = 0.

m |canopy height

real, public :: lai = 0.

m2/m2 |leaf area index

real, public :: plet = 0.

mm H2O |actual ET simulated during life of plant

real, public :: plpet = 0.

mm H2O |potential ET simulated during life of plant

real, public :: laimxfr = 0.
real, public :: laimxfr_p = 0.
real, public :: hi_adj = 0.

(kg/ha)/(kg/ha) |temperature adjusted harvest index for current time during growing season

real, public :: hi_prev = 0.

(kg/ha)/(kg/ha) |optimal harvest index for current time during growing season

real, public :: olai = 0.

|leaf area index (0-1) when leaf area decline begins

real, public :: dphu = 0.

|phu accumulated (0-1) when leaf area decline begins

real, public :: d_senes = 0.

days !days since start of senescence

real, public :: leaf_frac = 0.

none |fraction of above ground tree biomass that is leaf

real, public :: root_dep = 0.

mm |root depth

real, public :: root_frac = 0.

kg/ha |root fraction of total plant mass

type, public ::  plant_mass

Components

Type Visibility Attributes Name Initial
real, public :: c_fr = 0.

none |carbon fraction

real, public :: n_fr = 0.

none |nitrogen fraction

real, public :: p_fr = 0.

none |phosphorus fraction

type, public ::  plant_status

Components

Type Visibility Attributes Name Initial
integer, public :: idplt = 0

none land cover code from plants.plt

integer, public :: bsn_num = 0

none |basin plant number

character(len=1), public :: gro = "y"
character(len=1), public :: idorm = "n"

none |dormancy status; 'n'=land cover growing; 'y'=land cover dormant

character(len=1), public :: mseas = "n"

none |monsoon status; 'n'= not in monsoon season; 'y'= in monsoon season

real, public :: phumat = 0.

C |heat units to maturity - annual

real, public :: phumat_p = 0.

C |heat units to maturity for perennials

real, public :: phuacc = 0.

fraction |fraction of plant heat unit accumulated

real, public :: phuacc_p = 0.

fraction |fraction of perennial plant heat unit accumulated

integer, public :: harv_num = 0

|number of harvest operations for entire simulation

integer, public :: harv_num_yr = 0

|number of harvest operations each year

integer, public :: curyr_mat = 1
real, public :: pop_com = 0.

none

integer, public :: days_senes = 0.

mm |days since scenesence began (for moisture growth perennials)

real, public :: leaf_tov = 0.

none |leaf turnover rate - decline in lai and leaf biomass

real, public :: lai_pot = 0.

none |potential leaf area index

real, public :: harv_idx = 0.

fraction |harvest index - grain fraction of above ground plant mass

real, public :: pest_stress = 0.

fraction |pest (insect, disease) stress on harvest index

real, public :: epco = 0.

fraction |water uptake compensation factor for each plant

real, public, dimension(:), allocatable :: uptake

mm |water uptake by layer

type, public ::  plant_stress

Components

Type Visibility Attributes Name Initial
real, public :: reg = 0.

none |stress factor that most limits plant growth on current day

real, public :: strsw = 1.

none |frac of potential plant growth achieved on the day where the reduction is caused by water stress

real, public :: strsa = 1.

|frac of potential plant growth achieved on the day where the reduction is caused by air stress

real, public :: strsn = 1.

none |frac of potential plant growth achieved on the day where the reduction is caused by nit stress

real, public :: strsp = 1.

none |frac of potential plant growth achieved on the day where the reduction is caused by phos stress

real, public :: strst = 1.

none |frac of potential plant growth achieved on the day where the reduction is caused by temp stress

real, public :: strss = 1.

none |frac of potential plant growth achieved on the day where the reduction is caused by salt stress (rtb salt)

real, public :: sum_w = 0.

none |sum of water stress

real, public :: sum_tmp = 0.

none |sum of temperature stress

real, public :: sum_n = 0.

none |sum of nitrogen stress

real, public :: sum_p = 0.

none |sum of phosphorus stress

real, public :: sum_a = 0.

none |sum of aeration stress

type, public ::  auto_operations

Components

Type Visibility Attributes Name Initial
integer, public :: apply_day = 0

day to apply in prob_unif1 condition

integer, public, dimension(:), allocatable :: num_actions

current number of actions - reset on January 1

integer, public, dimension(:), allocatable :: days_act

days since the action specified in lim_const

type, public ::  fertilize_future

set to the fert_fut action in the lum.dtl

Components

Type Visibility Attributes Name Initial
character(len=35), public :: name = ""

name of the fertilizer operation (from the dtbl)

integer, public :: num = 0

number of the future fertilizer application (from the dtbl)

character(len=40), public :: fertname = ""

fertilizer name in fertilizer.frt

integer, public :: fertnum = 0

fertilizer number in fertilizer.frt

integer, public :: day_fert = 0

future julian day to apply fert (must be within a year of test)

real, public :: fert_kg = 0.

kg/ha - amount of fertilzer applied

character(len=35), public :: fertop = ""

application type in chem_app.ops

integer, public :: appnum = 0

application number in chem_app.ops

type, public ::  plant_community

Components

Type Visibility Attributes Name Initial
character(len=40), public :: name = ""
integer, public :: npl = 0

number of plants in community

character(len=40), public, dimension(:), allocatable :: pl

N/A |plant name

integer, public :: pcomdb = 0

current plant community database number

integer, public :: rot_yr = 1

rotation year

integer, public :: days_plant = 0

|days since last planting - for conditional scheduling planting

integer, public :: days_harv = 0

|days since last harvest - for conditional scheduling planting

integer, public :: days_irr = 0

|days since last irrigation - for conditional scheduling planting

character(len=40), public :: last_kill = ""

|name of last plant killed

real, public :: cht_mx = 0.

m |height of tallest plant in community for pet calculation

real, public :: lai_sum = 0.

m/m |sum of lai for each plant

real, public :: laimx_sum = 0.

m/m |sum of maximum lai for each plant - for canopy interception

real, public :: rsd_covfac = 0.

|average residue cover factor

type(auto_operations), public, dimension(:), allocatable :: dtbl

d_tble action - to limit number of actions per year

integer, public :: fert_fut_num = 0
type(fertilize_future), public, dimension(:), allocatable :: fert_fut
type(plant_growth), public, dimension(:), allocatable :: plg

plant growth variables

type(plant_stress), public, dimension(:), allocatable :: plstr

plant stress variables

type(plant_status), public, dimension(:), allocatable :: plcur

plant status variables

type(plant_mass), public, dimension(:), allocatable :: plm

type, public ::  basin_crop_yields

Components

Type Visibility Attributes Name Initial
real, public :: area_ha = 0.
real, public :: yield = 0.

type, public ::  plant_carbon

Components

Type Visibility Attributes Name Initial
real, public :: leaf = .41
real, public :: stem = .46
real, public :: seed = .45
real, public :: root = .46