nutrient_competition_method_type Derived Type

type, public, abstract :: nutrient_competition_method_type


Type-Bound Procedures

procedure(init_interface), public, deferred :: init

  • subroutine init_interface(this, bounds) Prototype

    Arguments

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

procedure, public :: readParams

  • private subroutine readParams(this, ncid)

    Arguments

    Type IntentOptional Attributes Name
    class(nutrient_competition_method_type), intent(in) :: this
    type(file_desc_t), intent(inout) :: ncid

procedure(calc_plant_nutrient_demand_interface), public, deferred :: calc_plant_nutrient_demand

  • subroutine calc_plant_nutrient_demand_interface(this, bounds, num_soilp, filter_soilp, photosyns_inst, crop_inst, canopystate_inst, cnveg_state_inst, cnveg_carbonstate_inst, cnveg_carbonflux_inst, c13_cnveg_carbonflux_inst, c14_cnveg_carbonflux_inst, cnveg_nitrogenstate_inst, cnveg_nitrogenflux_inst, soilbiogeochem_carbonflux_inst, soilbiogeochem_nitrogenstate_inst, energyflux_inst, aroot, arepr) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(nutrient_competition_method_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    integer, intent(in) :: num_soilp
    integer, intent(in) :: filter_soilp(:)
    type(photosyns_type), intent(in) :: photosyns_inst
    type(crop_type), intent(in) :: crop_inst
    type(canopystate_type), intent(in) :: canopystate_inst
    type(cnveg_state_type), intent(inout) :: cnveg_state_inst
    type(cnveg_carbonstate_type), intent(inout) :: cnveg_carbonstate_inst
    type(cnveg_carbonflux_type), intent(inout) :: cnveg_carbonflux_inst
    type(cnveg_carbonflux_type), intent(inout) :: c13_cnveg_carbonflux_inst
    type(cnveg_carbonflux_type), intent(inout) :: c14_cnveg_carbonflux_inst
    type(cnveg_nitrogenstate_type), intent(in) :: cnveg_nitrogenstate_inst
    type(cnveg_nitrogenflux_type), intent(inout) :: cnveg_nitrogenflux_inst
    type(soilbiogeochem_carbonflux_type), intent(in) :: soilbiogeochem_carbonflux_inst
    type(soilbiogeochem_nitrogenstate_type), intent(in) :: soilbiogeochem_nitrogenstate_inst
    type(energyflux_type), intent(in) :: energyflux_inst
    real(kind=r8), intent(out) :: aroot(bounds%begp:)
    real(kind=r8), intent(out) :: arepr(bounds%begp:)

procedure(calc_plant_nutrient_competition_interface), public, deferred :: calc_plant_nutrient_competition

  • subroutine calc_plant_nutrient_competition_interface(this, bounds, num_soilp, filter_soilp, cnveg_state_inst, crop_inst, canopystate_inst, cnveg_carbonstate_inst, cnveg_carbonflux_inst, c13_cnveg_carbonflux_inst, c14_cnveg_carbonflux_inst, cnveg_nitrogenstate_inst, cnveg_nitrogenflux_inst, soilbiogeochem_nitrogenstate_inst, aroot, arepr, fpg_col) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(nutrient_competition_method_type), intent(inout) :: this
    type(bounds_type), intent(in) :: bounds
    integer, intent(in) :: num_soilp
    integer, intent(in) :: filter_soilp(:)
    type(cnveg_state_type), intent(inout) :: cnveg_state_inst
    type(crop_type), intent(in) :: crop_inst
    type(canopystate_type), intent(in) :: canopystate_inst
    type(cnveg_carbonstate_type), intent(in) :: cnveg_carbonstate_inst
    type(cnveg_carbonflux_type), intent(inout) :: cnveg_carbonflux_inst
    type(cnveg_carbonflux_type), intent(inout) :: c13_cnveg_carbonflux_inst
    type(cnveg_carbonflux_type), intent(inout) :: c14_cnveg_carbonflux_inst
    type(cnveg_nitrogenstate_type), intent(inout) :: cnveg_nitrogenstate_inst
    type(cnveg_nitrogenflux_type), intent(inout) :: cnveg_nitrogenflux_inst
    type(soilbiogeochem_nitrogenstate_type), intent(in) :: soilbiogeochem_nitrogenstate_inst
    real(kind=r8), intent(in) :: aroot(bounds%begp:)
    real(kind=r8), intent(in) :: arepr(bounds%begp:)
    real(kind=r8), intent(in) :: fpg_col(bounds%begc:)