PRTGenericMod Module



Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: maxlen_varname = 128
integer, public, parameter :: maxlen_varsymbol = 32
integer, public, parameter :: maxlen_varunits = 32
integer, public, parameter :: len_baseunit = 6
real(kind=r8), public, parameter :: un_initialized = -9.9e32_r8
real(kind=r8), public, parameter :: check_initialized = -8.8e32_r8
character(len=len_baseunit), public, parameter :: mass_unit = 'kg'
character(len=len_baseunit), public, parameter :: mass_rate_unit = 'kg/day'
integer, public, parameter :: prt_carbon_allom_hyp = 1
integer, public, parameter :: prt_cnp_flex_allom_hyp = 2
integer, public, parameter :: num_organ_types = 6
integer, public, parameter :: all_organs = 0
integer, public, parameter :: leaf_organ = 1
integer, public, parameter :: fnrt_organ = 2
integer, public, parameter :: sapw_organ = 3
integer, public, parameter :: store_organ = 4
integer, public, parameter :: repro_organ = 5
integer, public, parameter :: struct_organ = 6
integer, public, parameter :: num_element_types = 6
integer, public, parameter :: all_carbon_elements = 0
integer, public, parameter :: carbon12_element = 1
integer, public, parameter :: carbon13_element = 2
integer, public, parameter :: carbon14_element = 3
integer, public, parameter :: nitrogen_element = 4
integer, public, parameter :: phosphorus_element = 5
integer, public, parameter :: potassium_element = 6
integer, public, parameter :: max_spec_per_group = 3
integer, public, parameter, dimension(3) :: carbon_elements_list = [carbon12_element, carbon13_element, carbon14_element]
type(prt_global_type), public, pointer :: prt_global

Derived Types

type, public ::  prt_vartype

Components

Type Visibility Attributes Name Initial
real(kind=r8), public, allocatable :: val(:)
real(kind=r8), public, allocatable :: val0(:)
real(kind=r8), public, allocatable :: net_alloc(:)
real(kind=r8), public, allocatable :: turnover(:)
real(kind=r8), public, allocatable :: burned(:)

type, public ::  prt_bctype

Components

Type Visibility Attributes Name Initial
real(kind=r8), public, pointer :: rval
integer, public, pointer :: ival

type, public ::  prt_vartypes

Components

Type Visibility Attributes Name Initial
type(prt_vartype), public, allocatable :: variables(:)
type(prt_bctype), public, allocatable :: bc_inout(:)
type(prt_bctype), public, allocatable :: bc_in(:)
type(prt_bctype), public, allocatable :: bc_out(:)
real(kind=r8), public :: ode_opt_step

Type-Bound Procedures

procedure, public :: DailyPRT => DailyPRTBase
procedure, public :: FastPRT => FastPRTBase
procedure, public, non_overridable :: InitAllocate
procedure, public, non_overridable :: InitPRTVartype
procedure, public, non_overridable :: FlushBCs
procedure, public, non_overridable :: InitializeInitialConditions
procedure, public, non_overridable :: CheckInitialConditions
procedure, public, non_overridable :: RegisterBCIn
procedure, public, non_overridable :: RegisterBCOut
procedure, public, non_overridable :: RegisterBCInout => RegisterBCInOut
procedure, public, non_overridable :: GetState
procedure, public, non_overridable :: GetTurnover
procedure, public, non_overridable :: GetBurned
procedure, public, non_overridable :: GetNetAlloc
procedure, public, non_overridable :: ZeroRates
procedure, public, non_overridable :: CheckMassConservation
procedure, public, non_overridable :: DeallocatePRTVartypes
procedure, public, non_overridable :: WeightedFusePRTVartypes
procedure, public, non_overridable :: CopyPRTVartypes

type, public ::  state_descriptor_type

Components

Type Visibility Attributes Name Initial
character(len=maxlen_varname), public :: longname
character(len=maxlen_varsymbol), public :: symbol
integer, public :: organ_id
integer, public :: element_id
integer, public :: num_pos

type, public ::  organ_map_type

Components

Type Visibility Attributes Name Initial
integer, public, dimension(1:num_element_types) :: var_id
integer, public :: num_vars

type, public ::  prt_global_type

Components

Type Visibility Attributes Name Initial
character(len=maxlen_varname), public :: hyp_name
integer, public :: hyp_id
integer, public, dimension(0:num_organ_types,0:num_element_types) :: sp_organ_map
type(state_descriptor_type), public, allocatable :: state_descriptor(:)
type(organ_map_type), public, dimension(1:num_organ_types) :: organ_map
integer, public :: num_bc_in
integer, public :: num_bc_out
integer, public :: num_bc_inout
integer, public :: num_vars

Type-Bound Procedures

procedure, public, non_overridable :: ZeroGlobal
procedure, public, non_overridable :: RegisterVarInGlobal

Functions

public function GetCoordVal(this, organ_id, element_id) result(prt_val)

Arguments

Type IntentOptional Attributes Name
class(prt_vartypes) :: this
integer, intent(in) :: organ_id
integer, intent(in) :: element_id

Return Value real(kind=r8)


Subroutines

public subroutine SetState(prt, organ_id, element_id, state_val, position_id)

Arguments

Type IntentOptional Attributes Name
class(prt_vartypes) :: prt
integer, intent(in) :: organ_id
integer, intent(in) :: element_id
real(kind=r8), intent(in) :: state_val
integer, intent(in), optional :: position_id