Bucket
Types
ClimaLSM.Bucket.BucketModelParameters
— Typestruct BucketModelParameters{
FT <: AbstractFloat,
PSE,
}
Container for holding the parameters of the bucket model.
κ_soil
: Conductivity of the soil (W/K/m); constantρc_soil
: Volumetric heat capacity of the soil (J/m^3/K); constantalbedo
: Albedo ModelσS_c
: Critical σSWE amount (m) where surface transitions from to snow-coveredW_f
: Capacity of the land bucket (m)z_0m
: Roughness length for momentum (m)z_0b
: Roughness length for scalars (m)τc
: τc timescale on which snow meltsearth_param_set
: Earth Parameter set; physical constants, etc
ClimaLSM.Bucket.BulkAlbedoStatic
— TypeBulkAlbedoStatic{FT} <: AbstractLandAlbedoModel
An albedo model where the albedo of different surface types is specified. Snow albedo is treated as constant across snow location and across wavelength. Surface albedo is specified via a NetCDF file, which can be a function of time, but is treated as constant across wavelengths; surface is this context refers to soil and vegetation. This albedo type is static in time.
Note that this option should only be used with global simulations, i.e. with a ClimaLSM.LSMSphericalShellDomain.
ClimaLSM.Bucket.BulkAlbedoTemporal
— TypeBulkAlbedoTemporal{FT} <: AbstractLandAlbedoModel
An albedo model where the albedo of different surface types is specified. Albedo is specified via a NetCDF file which is a function of time and covers all surface types (soil, vegetation, snow, etc). This albedo type changes over time according to the input file.
Note that this option should only be used with global simulations, i.e. with a ClimaLSM.LSMSphericalShellDomain.
ClimaLSM.Bucket.BulkAlbedoFunction
— TypeBulkAlbedoFunction{FT} <: AbstractLandAlbedoModel
An albedo model where the albedo of different surface types is specified. Snow albedo is treated as constant across snow location and across wavelength. Surface albedo (sfc) is specified as a function of latitude and longitude, but is also treated as constant across wavelength; surface is this context refers to soil and vegetation.
ClimaLSM.Bucket.BucketModel
— Typestruct BucketModel{
FT,
PS <: BucketModelParameters{FT},
ATM <: AbstractAtmosphericDrivers{FT},
RAD <: AbstractRadiativeDrivers{FT},
D,
} <: AbstractBucketModel{FT}
Concrete type for the BucketModel, which store the model domain and parameters, as well as the necessary atmosphere and radiation fields for driving the model.
parameters
: Parameters required by the bucket modelatmos
: The atmospheric drivers: Prescribed or Coupledradiation
: The radiation drivers: Prescribed or Coupleddomain
: The domain of the model
Misc Functions
ClimaLSM.surface_albedo
— Functionsurface_albedo(model::BucketModel, Y, p)
Returns the bulk surface albedo, which gets updated in update_aux
via next_albedo
.
surface_albedo(model::AbstractModel, Y, p)
A helper function which returns the surface albedo for a given model, needed because different models compute and store α_sfc in different ways and places.
Extending this function for your model is only necessary if you need to compute surface fluxes and radiative fluxes at the surface using the functions in this file.
ClimaLSM.surface_albedo(
model::EnergyHydrology{FT},
Y,
p,
) where {FT}
Returns the surface albedo field of the EnergyHydrology
soil model.
ClimaLSM.Bucket.beta_factor
— Functionbeta_factor(W::FT, σS::FT, W_f::FT) where {FT}
Computes the beta factor which scales the evaporation from the potential rate.
Methods for handling parameters read in from NetCDF files
ClimaLSM.Bucket.set_initial_parameter_field!
— Functionfunction set_initial_parameter_field!(
albedo::BulkAlbedoFunction{FT},
p,
surface_coords,
) where {FT}
Updates the spatially-varying but constant in time surface albedo stored in the auxiliary vector p
in place, according to the passed function of latitute and longitude stored in albedo.α_sfc
.
function set_initial_parameter_field!(
albedo::BulkAlbedoStatic{FT},
p,
surface_coords,
) where {FT}
Initializes spatially-varying surface albedo stored in the auxiliary vector p
in place, according to a NetCDF file. This data file is encapsulated in an object of type ClimaLSM.Regridder.MapInfo
in the field albedo.α_sfc.
The NetCDF file is read in, regridded, and projected onto the surface space of the LSM using ClimaCoreTempestRemap. The result is a ClimaCore.Fields.Field of albedo values.
function set_initial_parameter_field!(
albedo::BulkAlbedoTemporal{FT},
p,
surface_coords,
) where {FT}
Initializes spatially- and temporally-varying surface albedo stored in the auxiliary vector p
in place, according to a NetCDF file. This data file is encapsulated in an object of type ClimaLSM.FileReader.PrescribedData
in the field albedo.albedo_info. This object contains a reference date and start time, which are used to get the start date.
The NetCDF file is read in at the dates closest to this start date, regridded, and projected onto the surface space of the LSM using ClimaCoreTempestRemap. The result is a ClimaCore.Fields.Field of albedo values.
Missing docstring for ClimaLSM.Bucket.update_soil_albedo
. Check Documenter's build log for details.
Artifact Path Functions
ClimaLSM.Bucket.cesm2_albedo_dataset_path
— Functioncesm2_albedo_dataset_path()
Triggers the download of the CESM2 land albedo dataset, if not already downloaded, using Julia Artifacts, and returns the path to this file.
This dataset contains monthly albedo data from 15/01/1850 to 15/12/2014.