19 #include "pism/coupler/atmosphere/GivenClimate.hh"
21 #include "pism/coupler/util/options.hh"
22 #include "pism/util/Grid.hh"
23 #include "pism/util/ConfigInterface.hh"
24 #include "pism/util/Time.hh"
25 #include "pism/util/array/Forcing.hh"
28 namespace atmosphere {
35 unsigned int buffer_size =
m_config->get_number(
"input.forcing.buffer_size");
39 auto interp_type =
m_config->get_string(
"atmosphere.given.air_temperature_interpolation");
61 .long_name(
"mean annual near-surface air temperature")
63 m_air_temp->metadata(0)[
"valid_range"] = { 0.0, 323.15 };
67 .long_name(
"precipitation rate")
68 .units(
"kg m-2 second-1")
69 .output_units(
"kg m-2 year-1")
70 .standard_name(
"precipitation_flux");
76 "* Initializing the atmosphere model reading near-surface air temperature\n"
77 " and ice-equivalent precipitation from a file...\n");
const Time & time() const
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.
void update(const Geometry &geometry, double t, double dt)
std::vector< double > m_ts_times
A purely virtual class defining the interface of a PISM Atmosphere Model.
void end_pointwise_access_impl() const
void update_impl(const Geometry &geometry, double t, double dt)
std::shared_ptr< array::Forcing > m_air_temp
void init_impl(const Geometry &geometry)
void precip_time_series_impl(int i, int j, std::vector< double > &values) const
std::shared_ptr< array::Forcing > m_precipitation
void init_timeseries_impl(const std::vector< double > &ts) const
const array::Scalar & precipitation_impl() const
void temp_time_series_impl(int i, int j, std::vector< double > &values) const
const array::Scalar & air_temperature_impl() const
void begin_pointwise_access_impl() const
Given(std::shared_ptr< const Grid > g)
@ PISM_READONLY
open an existing file for reading only