19 #include "pism/coupler/surface/Anomaly.hh"
20 #include "pism/util/Grid.hh"
21 #include "pism/coupler/util/options.hh"
22 #include "pism/util/array/Forcing.hh"
33 unsigned int buffer_size =
m_config->get_number(
"input.forcing.buffer_size");
39 "ice_surface_temp_anomaly",
47 "climatic_mass_balance_anomaly",
55 "anomaly of the temperature of the ice at the ice surface but below firn processes")
59 .long_name(
"anomaly of the surface mass balance (accumulation/ablation) rate")
61 .output_units(
"kg m-2 year-1");
78 "* Initializing the '-surface ...,anomaly' modifier...\n");
83 " reading anomalies from %s ...\n", opt.
filename.c_str());
const Config::ConstPtr m_config
configuration database used by this component
const Logger::ConstPtr m_log
logger (for easy access)
const std::shared_ptr< const Grid > m_grid
grid used by this component
High-level PISM I/O class.
virtual void update_impl(const Geometry &geometry, double t, double dt)
const array::Scalar & mass_flux_impl() const
std::shared_ptr< array::Forcing > m_ice_surface_temp_anomaly
const array::Scalar & accumulation_impl() const
std::shared_ptr< array::Scalar > m_mass_flux
virtual void init_impl(const Geometry &geometry)
Anomaly(std::shared_ptr< const Grid > g, std::shared_ptr< SurfaceModel > in)
std::shared_ptr< array::Scalar > m_temperature
const array::Scalar & runoff_impl() const
std::shared_ptr< array::Forcing > m_climatic_mass_balance_anomaly
const array::Scalar & melt_impl() const
const array::Scalar & temperature_impl() const
static std::shared_ptr< array::Scalar > allocate_runoff(std::shared_ptr< const Grid > grid)
static std::shared_ptr< array::Scalar > allocate_mass_flux(std::shared_ptr< const Grid > grid)
void dummy_accumulation(const array::Scalar &smb, array::Scalar &result)
std::shared_ptr< array::Scalar > m_melt
static std::shared_ptr< array::Scalar > allocate_temperature(std::shared_ptr< const Grid > grid)
static std::shared_ptr< array::Scalar > allocate_accumulation(std::shared_ptr< const Grid > grid)
static std::shared_ptr< array::Scalar > allocate_melt(std::shared_ptr< const Grid > grid)
std::shared_ptr< array::Scalar > m_runoff
void dummy_melt(const array::Scalar &smb, array::Scalar &result)
std::shared_ptr< SurfaceModel > m_input_model
std::shared_ptr< array::Scalar > m_accumulation
void dummy_runoff(const array::Scalar &smb, array::Scalar &result)
The interface of PISM's surface models.
@ PISM_READONLY
open an existing file for reading only