22 #include "pism/coupler/surface/EISMINTII.hh"
23 #include "pism/util/ConfigInterface.hh"
24 #include "pism/util/pism_options.hh"
25 #include "pism/util/Grid.hh"
26 #include "pism/util/MaxTimestep.hh"
42 "setting parameters for surface mass balance"
43 " and temperature in EISMINT II experiment %c ... \n",
48 m_S_T = 1.67e-2 * 1e-3;
118 double cx = 0.0, cy = 0.0;
126 for (
auto p =
m_grid->points(); p; p.next()) {
127 const int i = p.i(), j = p.j();
129 const double r = sqrt(pow(
m_grid->x(i) - cx, 2) + pow(
m_grid->y(j) - cy, 2));
const units::System::Ptr m_sys
unit system used by this component
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
Combines the max. time step with the flag indicating if a restriction is active. Makes is possible to...
Makes sure that we call begin_access() and end_access() for all accessed array::Arrays.
EISMINTII(std::shared_ptr< const Grid > g, int experiment)
void update_impl(const Geometry &geometry, double t, double dt)
virtual MaxTimestep max_timestep_impl(double t) const
void init_impl(const Geometry &geometry)
void initialize_using_formulas()
void dummy_accumulation(const array::Scalar &smb, array::Scalar &result)
std::shared_ptr< array::Scalar > m_melt
std::shared_ptr< array::Scalar > m_runoff
void dummy_melt(const array::Scalar &smb, array::Scalar &result)
std::shared_ptr< array::Scalar > m_accumulation
void dummy_runoff(const array::Scalar &smb, array::Scalar &result)
double min(const array::Scalar &input)
Finds minimum over all the values in an array::Scalar object. Ignores ghosts.
double convert(System::Ptr system, double input, const std::string &spec1, const std::string &spec2)
Convert a quantity from unit1 to unit2.