21 #include "pism/coupler/ocean/Runoff_SMB.hh"
22 #include "pism/util/ScalarForcing.hh"
31 "ocean.runoff_to_ocean_melt",
35 "air temperature offsets"));
55 "* Initializing ice shelf base mass flux forcing using scalar multiplier...\n"
56 "* derived from delta_T air temperature modifier\n");
81 scale_factor = 1 + B * pow(a * delta_T, alpha) * pow(delta_T, beta);
83 result.
scale(scale_factor);
const Config::ConstPtr m_config
configuration database used by this component
const Logger::ConstPtr m_log
logger (for easy access)
void scale(double alpha)
Result: v <- v * alpha. Calls VecScale.
std::shared_ptr< OceanModel > m_input_model
static std::shared_ptr< array::Scalar > allocate_shelf_base_mass_flux(std::shared_ptr< const Grid > g)
A very rudimentary PISM ocean model.
std::unique_ptr< ScalarForcing > m_forcing
double m_runoff_to_ocean_melt_power_beta
double m_runoff_to_ocean_melt_b
void mass_flux(double delta_T, array::Scalar &result) const
double m_runoff_to_ocean_melt_power_alpha
std::shared_ptr< array::Scalar > m_shelf_base_mass_flux
void update_impl(const Geometry &geometry, double t, double dt)
Runoff_SMB(std::shared_ptr< const Grid > g, std::shared_ptr< OceanModel > in)
double m_temp_to_runoff_a
void init_impl(const Geometry &geometry)
bool ocean(int M)
An ocean cell (floating ice or ice-free).