20 #ifndef __AtmosphereModel
21 #define __AtmosphereModel
25 #include "pism/util/Component.hh"
31 namespace atmosphere {
36 AtmosphereModel(std::shared_ptr<const Grid>
g, std::shared_ptr<AtmosphereModel> input);
std::shared_ptr< const Grid > grid() const
A class defining a common interface for most PISM sub-models.
High-level PISM I/O class.
Combines the max. time step with the flag indicating if a restriction is active. Makes is possible to...
virtual DiagnosticList diagnostics_impl() const
void update(const Geometry &geometry, double t, double dt)
virtual ~AtmosphereModel()=default
virtual TSDiagnosticList ts_diagnostics_impl() const
virtual void update_impl(const Geometry &geometry, double t, double dt)=0
virtual void write_model_state_impl(const File &output) const
The default (empty implementation).
virtual void define_model_state_impl(const File &output) const
The default (empty implementation).
virtual void init_timeseries_impl(const std::vector< double > &ts) const
const array::Scalar & air_temperature() const
Sets result to the mean near-surface air temperature, in degrees Kelvin.
static std::shared_ptr< array::Scalar > allocate_temperature(std::shared_ptr< const Grid > grid)
void init_timeseries(const std::vector< double > &ts) const
const array::Scalar & precipitation() const
Sets result to the mean precipitation, in "kg m-2 second-1".
virtual void init_impl(const Geometry &geometry)=0
virtual const array::Scalar & precipitation_impl() const
void begin_pointwise_access() const
void init(const Geometry &geometry)
virtual void precip_time_series_impl(int i, int j, std::vector< double > &result) const
virtual void begin_pointwise_access_impl() const
std::shared_ptr< AtmosphereModel > m_input_model
void end_pointwise_access() const
void temp_time_series(int i, int j, std::vector< double > &result) const
Sets a pre-allocated N-element array "result" to the time-series of near-surface air temperature (deg...
virtual const array::Scalar & air_temperature_impl() const
virtual void end_pointwise_access_impl() const
AtmosphereModel(std::shared_ptr< const Grid > g)
virtual void temp_time_series_impl(int i, int j, std::vector< double > &result) const
static std::shared_ptr< array::Scalar > allocate_precipitation(std::shared_ptr< const Grid > grid)
virtual MaxTimestep max_timestep_impl(double my_t) const
std::vector< double > m_ts_times
void precip_time_series(int i, int j, std::vector< double > &result) const
Sets a pre-allocated N-element array "result" to the time-series of ice-equivalent precipitation (m/s...
A purely virtual class defining the interface of a PISM Atmosphere Model.
std::map< std::string, TSDiagnostic::Ptr > TSDiagnosticList
std::map< std::string, Diagnostic::Ptr > DiagnosticList