CLMFatesInterfaceMod Module



Variables

Type Visibility Attributes Name Initial
logical, public :: debug = .false.

Derived Types

type, public ::  f2hmap_type

Components

Type Visibility Attributes Name Initial
integer, public, allocatable :: fcolumn(:)
integer, public, allocatable :: hsites(:)

type, public ::  hlm_fates_interface_type

Components

Type Visibility Attributes Name Initial
type(fates_interface_type), public, allocatable :: fates(:)
type(f2hmap_type), public, allocatable :: f2hmap(:)
type(fates_history_interface_type), public :: fates_hist
type(fates_restart_interface_type), public :: fates_restart

Type-Bound Procedures

procedure, public :: init
procedure, public :: check_hlm_active
procedure, public :: restart
procedure, public :: init_coldstart
procedure, public :: dynamics_driv
procedure, public :: wrap_sunfrac
procedure, public :: wrap_btran
procedure, public :: wrap_photosynthesis
procedure, public :: wrap_accumulatefluxes
procedure, public :: prep_canopyfluxes
procedure, public :: wrap_canopy_radiation
procedure, public :: wrap_bgc_summary
procedure, public :: TransferZ0mDisp
procedure, public :: ComputeRootSoilFlux
procedure, public :: wrap_hydraulics_drive

Subroutines

public subroutine init(this, bounds_proc)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
type(bounds_type), intent(in) :: bounds_proc

public subroutine check_hlm_active(this, nc, bounds_clump)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
integer :: nc
type(bounds_type), intent(in) :: bounds_clump

public subroutine dynamics_driv(this, nc, bounds_clump, atm2lnd_inst, soilstate_inst, temperature_inst, waterstate_inst, canopystate_inst, soilbiogeochem_carbonflux_inst, frictionvel_inst)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
integer, intent(in) :: nc
type(bounds_type), intent(in) :: bounds_clump
type(atm2lnd_type), intent(in) :: atm2lnd_inst
type(soilstate_type), intent(in) :: soilstate_inst
type(temperature_type), intent(in) :: temperature_inst
type(waterstate_type), intent(inout) :: waterstate_inst
type(CanopyState_type), intent(inout) :: canopystate_inst
type(soilbiogeochem_carbonflux_type), intent(inout) :: soilbiogeochem_carbonflux_inst
type(frictionvel_type), intent(inout) :: frictionvel_inst

public subroutine wrap_update_hlmfates_dyn(this, nc, bounds_clump, waterstate_inst, canopystate_inst, frictionvel_inst)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
integer, intent(in) :: nc
type(bounds_type), intent(in) :: bounds_clump
type(waterstate_type), intent(inout) :: waterstate_inst
type(CanopyState_type), intent(inout) :: canopystate_inst
type(frictionvel_type), intent(inout) :: frictionvel_inst

public subroutine restart(this, bounds_proc, ncid, flag, waterstate_inst, canopystate_inst, frictionvel_inst, soilstate_inst)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
type(bounds_type), intent(in) :: bounds_proc
type(file_desc_t), intent(inout) :: ncid
character(len=*), intent(in) :: flag
type(waterstate_type), intent(inout) :: waterstate_inst
type(CanopyState_type), intent(inout) :: canopystate_inst
type(frictionvel_type), intent(inout) :: frictionvel_inst
type(soilstate_type), intent(inout) :: soilstate_inst

public subroutine init_coldstart(this, waterstate_inst, canopystate_inst, soilstate_inst, frictionvel_inst)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
type(waterstate_type), intent(inout) :: waterstate_inst
type(CanopyState_type), intent(inout) :: canopystate_inst
type(soilstate_type), intent(inout) :: soilstate_inst
type(frictionvel_type), intent(inout) :: frictionvel_inst

public subroutine wrap_sunfrac(this, nc, atm2lnd_inst, canopystate_inst)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
integer, intent(in) :: nc
type(atm2lnd_type), intent(in) :: atm2lnd_inst
type(CanopyState_type), intent(inout) :: canopystate_inst

public subroutine prep_canopyfluxes(this, nc, fn, filterp, photosyns_inst)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
integer, intent(in) :: nc
integer, intent(in) :: fn
integer, intent(in) :: filterp(fn)
type(photosyns_type), intent(inout) :: photosyns_inst

public subroutine wrap_btran(this, nc, fn, filterc, soilstate_inst, waterstate_inst, temperature_inst, energyflux_inst, soil_water_retention_curve)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
integer, intent(in) :: nc
integer, intent(in) :: fn
integer, intent(in) :: filterc(fn)
type(soilstate_type), intent(inout) :: soilstate_inst
type(waterstate_type), intent(in) :: waterstate_inst
type(temperature_type), intent(in) :: temperature_inst
type(energyflux_type), intent(inout) :: energyflux_inst
class(soil_water_retention_curve_type), intent(in) :: soil_water_retention_curve

public subroutine wrap_photosynthesis(this, nc, bounds, fn, filterp, esat_tv, eair, oair, cair, rb, dayl_factor, atm2lnd_inst, temperature_inst, canopystate_inst, photosyns_inst)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
integer, intent(in) :: nc
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: fn
integer, intent(in) :: filterp(fn)
real(kind=r8), intent(in) :: esat_tv(bounds%begp:)
real(kind=r8), intent(in) :: eair(bounds%begp:)
real(kind=r8), intent(in) :: oair(bounds%begp:)
real(kind=r8), intent(in) :: cair(bounds%begp:)
real(kind=r8), intent(in) :: rb(bounds%begp:)
real(kind=r8), intent(in) :: dayl_factor(bounds%begp:)
type(atm2lnd_type), intent(in) :: atm2lnd_inst
type(temperature_type), intent(in) :: temperature_inst
type(CanopyState_type), intent(inout) :: canopystate_inst
type(photosyns_type), intent(inout) :: photosyns_inst

public subroutine wrap_accumulatefluxes(this, nc, fn, filterp)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
integer, intent(in) :: nc
integer, intent(in) :: fn
integer, intent(in) :: filterp(fn)

public subroutine wrap_canopy_radiation(this, bounds_clump, nc, num_vegsol, filter_vegsol, coszen, surfalb_inst)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
type(bounds_type), intent(in) :: bounds_clump
integer, intent(in) :: nc
integer, intent(in) :: num_vegsol
integer, intent(in) :: filter_vegsol(num_vegsol)
real(kind=r8), intent(in) :: coszen(bounds_clump%begp:)
type(surfalb_type), intent(inout) :: surfalb_inst

public subroutine wrap_bgc_summary(this, nc, soilbiogeochem_carbonflux_inst, soilbiogeochem_carbonstate_inst)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
integer, intent(in) :: nc
type(soilbiogeochem_carbonflux_type), intent(in) :: soilbiogeochem_carbonflux_inst
type(soilbiogeochem_carbonstate_type), intent(in) :: soilbiogeochem_carbonstate_inst

public subroutine TransferZ0mDisp(this, bounds_clump, frictionvel_inst, canopystate_inst)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
type(bounds_type), intent(in) :: bounds_clump
type(frictionvel_type), intent(inout) :: frictionvel_inst
type(CanopyState_type), intent(inout) :: canopystate_inst

public subroutine init_history_io(this, bounds_proc)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
type(bounds_type), intent(in) :: bounds_proc

public subroutine init_soil_depths(this, nc)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
integer, intent(in) :: nc

public subroutine ComputeRootSoilFlux(this, bounds_clump, num_filterc, filterc, soilstate_inst, waterflux_inst)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
type(bounds_type), intent(in) :: bounds_clump
integer, intent(in) :: num_filterc
integer, intent(in) :: filterc(num_filterc)
type(soilstate_type), intent(inout) :: soilstate_inst
type(waterflux_type), intent(inout) :: waterflux_inst

public subroutine wrap_hydraulics_drive(this, bounds_clump, nc, soilstate_inst, waterstate_inst, waterflux_inst, solarabs_inst, energyflux_inst)

Arguments

Type IntentOptional Attributes Name
class(hlm_fates_interface_type), intent(inout) :: this
type(bounds_type), intent(in) :: bounds_clump
integer, intent(in) :: nc
type(soilstate_type), intent(inout) :: soilstate_inst
type(waterstate_type), intent(inout) :: waterstate_inst
type(waterflux_type), intent(inout) :: waterflux_inst
type(solarabs_type), intent(inout) :: solarabs_inst
type(energyflux_type), intent(inout) :: energyflux_inst