TotalWaterAndHeatMod Module



Variables

Type Visibility Attributes Name Initial
real(kind=r8), public, parameter :: heat_base_temp = tfrz
real(kind=r8), public, parameter :: DeltaLiqMinTemp = tfrz
real(kind=r8), public, parameter :: DeltaLiqMaxTemp = tfrz+35._r8

Functions

public function LiquidWaterHeat(temp, h2o) result(heat)

Arguments

Type IntentOptional Attributes Name
real(kind=r8), intent(in) :: temp
real(kind=r8), intent(in) :: h2o

Return Value real(kind=r8)


Subroutines

public subroutine ComputeWaterMassNonLake(bounds, num_nolakec, filter_nolakec, soilhydrology_inst, waterstate_inst, water_mass)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
type(soilhydrology_type), intent(in) :: soilhydrology_inst
type(waterstate_type), intent(in) :: waterstate_inst
real(kind=r8), intent(inout) :: water_mass(bounds%begc:)

public subroutine ComputeWaterMassLake(bounds, num_lakec, filter_lakec, waterstate_inst, water_mass)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_lakec
integer, intent(in) :: filter_lakec(:)
type(waterstate_type), intent(in) :: waterstate_inst
real(kind=r8), intent(inout) :: water_mass(bounds%begc:)

public subroutine ComputeLiqIceMassNonLake(bounds, num_nolakec, filter_nolakec, soilhydrology_inst, waterstate_inst, liquid_mass, ice_mass)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
type(soilhydrology_type), intent(in) :: soilhydrology_inst
type(waterstate_type), intent(in) :: waterstate_inst
real(kind=r8), intent(inout) :: liquid_mass(bounds%begc:)
real(kind=r8), intent(inout) :: ice_mass(bounds%begc:)

public subroutine ComputeLiqIceMassLake(bounds, num_lakec, filter_lakec, waterstate_inst, liquid_mass, ice_mass)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_lakec
integer, intent(in) :: filter_lakec(:)
type(waterstate_type), intent(in) :: waterstate_inst
real(kind=r8), intent(inout) :: liquid_mass(bounds%begc:)
real(kind=r8), intent(inout) :: ice_mass(bounds%begc:)

public subroutine ComputeHeatNonLake(bounds, num_nolakec, filter_nolakec, urbanparams_inst, soilstate_inst, temperature_inst, waterstate_inst, soilhydrology_inst, heat, heat_liquid, cv_liquid)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
type(urbanparams_type), intent(in) :: urbanparams_inst
type(soilstate_type), intent(in) :: soilstate_inst
type(temperature_type), intent(in) :: temperature_inst
type(waterstate_type), intent(in) :: waterstate_inst
type(soilhydrology_type), intent(in) :: soilhydrology_inst
real(kind=r8), intent(inout) :: heat(bounds%begc:)
real(kind=r8), intent(inout) :: heat_liquid(bounds%begc:)
real(kind=r8), intent(inout) :: cv_liquid(bounds%begc:)

public subroutine ComputeHeatLake(bounds, num_lakec, filter_lakec, soilstate_inst, temperature_inst, waterstate_inst, heat, heat_liquid, cv_liquid)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_lakec
integer, intent(in) :: filter_lakec(:)
type(soilstate_type), intent(in) :: soilstate_inst
type(temperature_type), intent(in) :: temperature_inst
type(waterstate_type), intent(in) :: waterstate_inst
real(kind=r8), intent(inout) :: heat(bounds%begc:)
real(kind=r8), intent(inout) :: heat_liquid(bounds%begc:)
real(kind=r8), intent(inout) :: cv_liquid(bounds%begc:)

public subroutine AdjustDeltaHeatForDeltaLiq(bounds, delta_liq, liquid_water_temp1, liquid_water_temp2, delta_heat)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
real(kind=r8), intent(in) :: delta_liq(bounds%begg:)
real(kind=r8), intent(in) :: liquid_water_temp1(bounds%begg:)
real(kind=r8), intent(in) :: liquid_water_temp2(bounds%begg:)
real(kind=r8), intent(inout) :: delta_heat(bounds%begg:)