cn_vegetation_type Derived Type

type, public :: cn_vegetation_type


Components

Type Visibility Attributes Name Initial
type(cnveg_state_type), public :: cnveg_state_inst
type(cnveg_carbonstate_type), public :: cnveg_carbonstate_inst
type(cnveg_carbonflux_type), public :: cnveg_carbonflux_inst
type(cnveg_carbonstate_type), public :: c13_cnveg_carbonstate_inst
type(cnveg_carbonstate_type), public :: c14_cnveg_carbonstate_inst
type(cnveg_carbonflux_type), public :: c13_cnveg_carbonflux_inst
type(cnveg_carbonflux_type), public :: c14_cnveg_carbonflux_inst
type(cnveg_nitrogenstate_type), public :: cnveg_nitrogenstate_inst
type(cnveg_nitrogenflux_type), public :: cnveg_nitrogenflux_inst
type(cn_products_type), public :: c_products_inst
type(cn_products_type), public :: c13_products_inst
type(cn_products_type), public :: c14_products_inst
type(cn_products_type), public :: n_products_inst
type(cn_balance_type), public :: cn_balance_inst
class(cnfire_method_type), public, allocatable :: cnfire_method
type(dgvs_type), public :: dgvs_inst

Type-Bound Procedures

procedure, public :: Init

  • private subroutine Init(this, bounds, NLFilename, nskip_steps)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    character(len=*), intent(in) :: NLFilename
    integer, intent(in) :: nskip_steps

procedure, public :: InitAccBuffer

  • private subroutine InitAccBuffer(this, bounds)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds

procedure, public :: InitAccVars

  • private subroutine InitAccVars(this, bounds)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds

procedure, public :: UpdateAccVars

  • private subroutine UpdateAccVars(this, bounds, t_a10_patch, t_ref2m_patch)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    real(kind=r8), intent(in), pointer :: t_a10_patch(:)
    real(kind=r8), intent(in), pointer :: t_ref2m_patch(:)

procedure, public :: Restart

  • private subroutine Restart(this, bounds, ncid, flag)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    type(file_desc_t), intent(inout) :: ncid
    character(len=*), intent(in) :: flag

procedure, public :: Init2

  • private subroutine Init2(this, bounds, NLFilename)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    character(len=*), intent(in) :: NLFilename

procedure, public :: InitEachTimeStep

  • private subroutine InitEachTimeStep(this, bounds, num_soilc, filter_soilc)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    integer, intent(in) :: num_soilc
    integer, intent(in) :: filter_soilc(:)

procedure, public :: InterpFileInputs

  • private subroutine InterpFileInputs(this, bounds)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds

procedure, public :: UpdateSubgridWeights

  • private subroutine UpdateSubgridWeights(this, bounds)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds

procedure, public :: DynamicAreaConservation

  • private subroutine DynamicAreaConservation(this, bounds, clump_index, num_soilp_with_inactive, filter_soilp_with_inactive, num_soilc_with_inactive, filter_soilc_with_inactive, prior_weights, patch_state_updater, column_state_updater, canopystate_inst, photosyns_inst, soilbiogeochem_carbonflux_inst, soilbiogeochem_carbonstate_inst, c13_soilbiogeochem_carbonstate_inst, c14_soilbiogeochem_carbonstate_inst, soilbiogeochem_nitrogenstate_inst, ch4_inst, soilbiogeochem_state_inst)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    integer, intent(in) :: clump_index
    integer, intent(in) :: num_soilp_with_inactive
    integer, intent(in) :: filter_soilp_with_inactive(:)
    integer, intent(in) :: num_soilc_with_inactive
    integer, intent(in) :: filter_soilc_with_inactive(:)
    type(prior_weights_type), intent(in) :: prior_weights
    type(patch_state_updater_type), intent(in) :: patch_state_updater
    type(column_state_updater_type), intent(in) :: column_state_updater
    type(CanopyState_type), intent(inout) :: canopystate_inst
    type(photosyns_type), intent(inout) :: photosyns_inst
    type(soilbiogeochem_carbonflux_type), intent(inout) :: soilbiogeochem_carbonflux_inst
    type(soilbiogeochem_carbonstate_type), intent(inout) :: soilbiogeochem_carbonstate_inst
    type(soilbiogeochem_carbonstate_type), intent(inout) :: c13_soilbiogeochem_carbonstate_inst
    type(soilbiogeochem_carbonstate_type), intent(inout) :: c14_soilbiogeochem_carbonstate_inst
    type(soilbiogeochem_nitrogenstate_type), intent(inout) :: soilbiogeochem_nitrogenstate_inst
    type(ch4_type), intent(inout) :: ch4_inst
    type(soilbiogeochem_state_type), intent(in) :: soilbiogeochem_state_inst

procedure, public :: InitColumnBalance

  • private subroutine InitColumnBalance(this, bounds, num_allc, filter_allc, num_soilc, filter_soilc, num_soilp, filter_soilp, soilbiogeochem_carbonstate_inst, c13_soilbiogeochem_carbonstate_inst, c14_soilbiogeochem_carbonstate_inst, soilbiogeochem_nitrogenstate_inst)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    integer, intent(in) :: num_allc
    integer, intent(in) :: filter_allc(:)
    integer, intent(in) :: num_soilc
    integer, intent(in) :: filter_soilc(:)
    integer, intent(in) :: num_soilp
    integer, intent(in) :: filter_soilp(:)
    type(soilbiogeochem_carbonstate_type), intent(inout) :: soilbiogeochem_carbonstate_inst
    type(soilbiogeochem_carbonstate_type), intent(inout) :: c13_soilbiogeochem_carbonstate_inst
    type(soilbiogeochem_carbonstate_type), intent(inout) :: c14_soilbiogeochem_carbonstate_inst
    type(soilbiogeochem_nitrogenstate_type), intent(inout) :: soilbiogeochem_nitrogenstate_inst

procedure, public :: EcosystemDynamicsPreDrainage

  • private subroutine EcosystemDynamicsPreDrainage(this, bounds, num_soilc, filter_soilc, num_soilp, filter_soilp, num_pcropp, filter_pcropp, doalb, soilbiogeochem_carbonflux_inst, soilbiogeochem_carbonstate_inst, c13_soilbiogeochem_carbonflux_inst, c13_soilbiogeochem_carbonstate_inst, c14_soilbiogeochem_carbonflux_inst, c14_soilbiogeochem_carbonstate_inst, soilbiogeochem_state_inst, soilbiogeochem_nitrogenflux_inst, soilbiogeochem_nitrogenstate_inst, atm2lnd_inst, waterstate_inst, waterflux_inst, canopystate_inst, soilstate_inst, temperature_inst, crop_inst, ch4_inst, photosyns_inst, soilhydrology_inst, energyflux_inst, nutrient_competition_method, fireemis_inst)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    integer, intent(in) :: num_soilc
    integer, intent(in) :: filter_soilc(:)
    integer, intent(in) :: num_soilp
    integer, intent(in) :: filter_soilp(:)
    integer, intent(in) :: num_pcropp
    integer, intent(in) :: filter_pcropp(:)
    logical, intent(in) :: doalb
    type(soilbiogeochem_carbonflux_type), intent(inout) :: soilbiogeochem_carbonflux_inst
    type(soilbiogeochem_carbonstate_type), intent(inout) :: soilbiogeochem_carbonstate_inst
    type(soilbiogeochem_carbonflux_type), intent(inout) :: c13_soilbiogeochem_carbonflux_inst
    type(soilbiogeochem_carbonstate_type), intent(inout) :: c13_soilbiogeochem_carbonstate_inst
    type(soilbiogeochem_carbonflux_type), intent(inout) :: c14_soilbiogeochem_carbonflux_inst
    type(soilbiogeochem_carbonstate_type), intent(inout) :: c14_soilbiogeochem_carbonstate_inst
    type(soilbiogeochem_state_type), intent(inout) :: soilbiogeochem_state_inst
    type(SoilBiogeochem_nitrogenflux_type), intent(inout) :: soilbiogeochem_nitrogenflux_inst
    type(soilbiogeochem_nitrogenstate_type), intent(inout) :: soilbiogeochem_nitrogenstate_inst
    type(atm2lnd_type), intent(in) :: atm2lnd_inst
    type(waterstate_type), intent(in) :: waterstate_inst
    type(waterflux_type), intent(inout) :: waterflux_inst
    type(CanopyState_type), intent(inout) :: canopystate_inst
    type(soilstate_type), intent(inout) :: soilstate_inst
    type(temperature_type), intent(inout) :: temperature_inst
    type(crop_type), intent(inout) :: crop_inst
    type(ch4_type), intent(in) :: ch4_inst
    type(photosyns_type), intent(in) :: photosyns_inst
    type(soilhydrology_type), intent(in) :: soilhydrology_inst
    type(energyflux_type), intent(in) :: energyflux_inst
    class(nutrient_competition_method_type), intent(inout) :: nutrient_competition_method
    type(fireemis_type), intent(inout) :: fireemis_inst

procedure, public :: EcosystemDynamicsPostDrainage

  • private subroutine EcosystemDynamicsPostDrainage(this, bounds, num_allc, filter_allc, num_soilc, filter_soilc, num_soilp, filter_soilp, doalb, crop_inst, waterstate_inst, waterflux_inst, frictionvel_inst, canopystate_inst, soilbiogeochem_carbonflux_inst, soilbiogeochem_carbonstate_inst, c13_soilbiogeochem_carbonflux_inst, c13_soilbiogeochem_carbonstate_inst, c14_soilbiogeochem_carbonflux_inst, c14_soilbiogeochem_carbonstate_inst, soilbiogeochem_nitrogenflux_inst, soilbiogeochem_nitrogenstate_inst)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    integer, intent(in) :: num_allc
    integer, intent(in) :: filter_allc(:)
    integer, intent(in) :: num_soilc
    integer, intent(in) :: filter_soilc(:)
    integer, intent(in) :: num_soilp
    integer, intent(in) :: filter_soilp(:)
    logical, intent(in) :: doalb
    type(crop_type), intent(in) :: crop_inst
    type(waterstate_type), intent(in) :: waterstate_inst
    type(waterflux_type), intent(inout) :: waterflux_inst
    type(frictionvel_type), intent(in) :: frictionvel_inst
    type(CanopyState_type), intent(inout) :: canopystate_inst
    type(soilbiogeochem_carbonflux_type), intent(inout) :: soilbiogeochem_carbonflux_inst
    type(soilbiogeochem_carbonstate_type), intent(inout) :: soilbiogeochem_carbonstate_inst
    type(soilbiogeochem_carbonflux_type), intent(inout) :: c13_soilbiogeochem_carbonflux_inst
    type(soilbiogeochem_carbonstate_type), intent(inout) :: c13_soilbiogeochem_carbonstate_inst
    type(soilbiogeochem_carbonflux_type), intent(inout) :: c14_soilbiogeochem_carbonflux_inst
    type(soilbiogeochem_carbonstate_type), intent(inout) :: c14_soilbiogeochem_carbonstate_inst
    type(SoilBiogeochem_nitrogenflux_type), intent(inout) :: soilbiogeochem_nitrogenflux_inst
    type(soilbiogeochem_nitrogenstate_type), intent(inout) :: soilbiogeochem_nitrogenstate_inst

procedure, public :: BalanceCheck

  • private subroutine BalanceCheck(this, bounds, num_soilc, filter_soilc, soilbiogeochem_carbonflux_inst, soilbiogeochem_nitrogenflux_inst)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    integer, intent(in) :: num_soilc
    integer, intent(in) :: filter_soilc(:)
    type(soilbiogeochem_carbonflux_type), intent(inout) :: soilbiogeochem_carbonflux_inst
    type(SoilBiogeochem_nitrogenflux_type), intent(inout) :: soilbiogeochem_nitrogenflux_inst

procedure, public :: EndOfTimeStepVegDynamics

  • private subroutine EndOfTimeStepVegDynamics(this, bounds, num_natvegp, filter_natvegp, atm2lnd_inst)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    integer, intent(inout) :: num_natvegp
    integer, intent(inout) :: filter_natvegp(:)
    type(atm2lnd_type), intent(inout) :: atm2lnd_inst

procedure, public :: WriteHistory

  • private subroutine WriteHistory(this, bounds)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds

procedure, public :: get_net_carbon_exchange_grc

  • private function get_net_carbon_exchange_grc(this, bounds) result(net_carbon_exchange_grc)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds

    Return Value real(kind=r8), (bounds%begg:bounds%endg)

procedure, public :: get_leafn_patch

  • private function get_leafn_patch(this, bounds) result(leafn_patch)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds

    Return Value real(kind=r8), (bounds%begp:bounds%endp)

procedure, public :: get_downreg_patch

  • private function get_downreg_patch(this, bounds) result(downreg_patch)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds

    Return Value real(kind=r8), (bounds%begp:bounds%endp)

procedure, public :: get_root_respiration_patch

  • private function get_root_respiration_patch(this, bounds) result(root_respiration_patch)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds

    Return Value real(kind=r8), (bounds%begp:bounds%endp)

procedure, public :: get_annsum_npp_patch

  • private function get_annsum_npp_patch(this, bounds) result(annsum_npp_patch)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds

    Return Value real(kind=r8), (bounds%begp:bounds%endp)

procedure, public :: get_agnpp_patch

  • private function get_agnpp_patch(this, bounds) result(agnpp_patch)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds

    Return Value real(kind=r8), (bounds%begp:bounds%endp)

procedure, public :: get_bgnpp_patch

  • private function get_bgnpp_patch(this, bounds) result(bgnpp_patch)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds

    Return Value real(kind=r8), (bounds%begp:bounds%endp)

procedure, public :: get_froot_carbon_patch

  • private function get_froot_carbon_patch(this, bounds, tlai) result(froot_carbon_patch)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds
    real(kind=r8), intent(in) :: tlai(bounds%begp:)

    Return Value real(kind=r8), (bounds%begp:bounds%endp)

procedure, public :: get_croot_carbon_patch

  • private function get_croot_carbon_patch(this, bounds, tlai) result(croot_carbon_patch)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds
    real(kind=r8), intent(in) :: tlai(bounds%begp:)

    Return Value real(kind=r8), (bounds%begp:bounds%endp)

procedure, public :: get_totvegc_col

  • private function get_totvegc_col(this, bounds) result(totvegc_col)

    Arguments

    Type IntentOptional Attributes Name
    class(cn_vegetation_type), intent(in) :: this
    type(bounds_type), intent(in) :: bounds

    Return Value real(kind=r8), (bounds%begc:bounds%endc)