PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
Classes | Functions | Variables
pism::energy Namespace Reference

Energy balance models and utilities. More...

Classes

class  BedrockColumn
 
struct  BTUGrid
 
class  BedThermalUnit
 Given the temperature of the top of the bedrock, for the duration of one time-step, provides upward geothermal flux at that interface at the end of the time-step. More...
 
class  BTU_geothermal_flux_at_ground_level
 
class  BTU_Full
 Given the temperature of the top of the bedrock, for the duration of one time-step, provides upward geothermal flux at that interface at the end of the time-step. More...
 
class  BTU_Minimal
 
class  CHSystem
 
class  DrainageCalculator
 Compute the rate of drainage D(omega) for temperate ice. More...
 
class  LiquifiedIceFlux
 Ice loss "flux" due to ice liquefaction. More...
 
class  Inputs
 
class  EnergyModelStats
 
class  EnergyModel
 
class  EnthalpyModel
 The enthalpy-based energy balance model. More...
 
class  DummyEnergyModel
 The "dummy" energy balance model. Reads in enthalpy from a file, but does not update it. More...
 
class  enthSystemCtx
 Tridiagonal linear system for conservation of energy in vertical column of ice enthalpy. More...
 
class  TemperatureModel
 
class  tempSystemCtx
 Tridiagonal linear system for vertical column of temperature-based conservation of energy problem. More...
 
class  EnthalpyModel_Regional
 The enthalpy-based energy balance model for regional runs. More...
 
class  BTU_Verification
 
class  TemperatureModel_Verification
 Temperature-based energy balance model with verification-specific initialization code. More...
 

Functions

double ice_temperature_guess (EnthalpyConverter::Ptr EC, double H, double z, double T_surface, double G, double ice_k)
 
double ice_temperature_guess_smb (EnthalpyConverter::Ptr EC, double H, double z, double T_surface, double G, double ice_k, double K, double SMB)
 
void cryo_hydrologic_warming_flux (double k, double R, const array::Scalar &ice_thickness, const array::Array3D &ice_enthalpy, const array::Array3D &ch_enthalpy, array::Array3D &result)
 
static void check_input (const array::Array *ptr, const char *name)
 
bool marginal (const array::Scalar1 &thickness, int i, int j, double threshold)
 
static double upwind (double u, double E_m, double E, double E_p, double delta_inverse)
 
void compute_enthalpy_cold (const array::Array3D &temperature, const array::Scalar &ice_thickness, array::Array3D &result)
 Compute ice enthalpy from temperature temperature by assuming the ice has zero liquid fraction. More...
 
void compute_temperature (const array::Array3D &enthalpy, const array::Scalar &ice_thickness, array::Array3D &result)
 
void compute_enthalpy (const array::Array3D &temperature, const array::Array3D &liquid_water_fraction, const array::Scalar &ice_thickness, array::Array3D &result)
 Compute result (enthalpy) from temperature and liquid fraction. More...
 
void compute_liquid_water_fraction (const array::Array3D &enthalpy, const array::Scalar &ice_thickness, array::Array3D &result)
 Compute the liquid fraction corresponding to enthalpy and ice_thickness. More...
 
void compute_cts (const array::Array3D &ice_enthalpy, const array::Scalar &ice_thickness, array::Array3D &result)
 Compute the CTS field, CTS = E/E_s(p), from ice_enthalpy and ice_thickness, and put in result. More...
 
double total_ice_enthalpy (double thickness_threshold, const array::Array3D &ice_enthalpy, const array::Scalar &ice_thickness)
 Computes the total ice enthalpy in J. More...
 
void bootstrap_ice_temperature (const array::Scalar &ice_thickness, const array::Scalar &ice_surface_temp, const array::Scalar &surface_mass_balance, const array::Scalar &basal_heat_flux, array::Array3D &result)
 Create a temperature field within the ice from provided ice thickness, surface temperature, surface mass balance, and geothermal flux. More...
 
void bootstrap_ice_enthalpy (const array::Scalar &ice_thickness, const array::Scalar &ice_surface_temp, const array::Scalar &surface_mass_balance, const array::Scalar &basal_heat_flux, array::Array3D &result)
 

Variables

static const double ApforG = 200
 
static const double LforFG = 750000
 
static const double ST = 1.67e-5
 
static const double Tmin = 223.15
 

Detailed Description

Energy balance models and utilities.