20 #include "pism/util/IceGrid.hh"
21 #include "pism/util/io/io_helpers.hh"
22 #include "pism/coupler/util/options.hh"
33 unsigned int buffer_size =
m_config->get_number(
"input.forcing.buffer_size");
39 "ice_surface_temp_anomaly",
47 "climatic_mass_balance_anomaly",
54 "anomaly of the temperature of the ice at the ice surface"
55 " but below firn processes",
56 "Kelvin",
"Kelvin",
"", 0);
58 "anomaly of the surface mass balance (accumulation/ablation) rate",
59 "kg m-2 s-1",
"kg m-2 year-1",
"", 0);
76 "* Initializing the '-surface ...,anomaly' modifier...\n");
81 " 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 IceGrid::ConstPtr m_grid
grid used by this component
High-level PISM I/O class.
std::shared_ptr< const IceGrid > ConstPtr
static std::shared_ptr< IceModelVec2T > ForcingField(IceGrid::ConstPtr grid, const File &file, const std::string &short_name, const std::string &standard_name, int max_buffer_size, bool periodic, InterpolationType interpolation_type=PIECEWISE_CONSTANT)
virtual void update_impl(const Geometry &geometry, double t, double dt)
IceModelVec2S::Ptr m_mass_flux
const IceModelVec2S & accumulation_impl() const
std::shared_ptr< IceModelVec2T > m_ice_surface_temp_anomaly
const IceModelVec2S & runoff_impl() const
virtual void init_impl(const Geometry &geometry)
Anomaly(IceGrid::ConstPtr g, std::shared_ptr< SurfaceModel > in)
const IceModelVec2S & mass_flux_impl() const
IceModelVec2S::Ptr m_temperature
const IceModelVec2S & temperature_impl() const
std::shared_ptr< IceModelVec2T > m_climatic_mass_balance_anomaly
const IceModelVec2S & melt_impl() const
static IceModelVec2S::Ptr allocate_mass_flux(IceGrid::ConstPtr grid)
IceModelVec2S::Ptr m_melt
static IceModelVec2S::Ptr allocate_melt(IceGrid::ConstPtr grid)
IceModelVec2S::Ptr m_accumulation
static IceModelVec2S::Ptr allocate_temperature(IceGrid::ConstPtr grid)
std::shared_ptr< SurfaceModel > m_input_model
void dummy_accumulation(const IceModelVec2S &smb, IceModelVec2S &result)
static IceModelVec2S::Ptr allocate_accumulation(IceGrid::ConstPtr grid)
static IceModelVec2S::Ptr allocate_runoff(IceGrid::ConstPtr grid)
IceModelVec2S::Ptr m_runoff
void dummy_runoff(const IceModelVec2S &smb, IceModelVec2S &result)
void dummy_melt(const IceModelVec2S &smb, IceModelVec2S &result)
The interface of PISM's surface models.
@ PISM_READONLY
open an existing file for reading only