PISM, A Parallel Ice Sheet Model
stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
|
#include <Pico.hh>
Public Member Functions | |
Pico (std::shared_ptr< const Grid > g) | |
virtual | ~Pico ()=default |
Public Member Functions inherited from pism::ocean::CompleteOceanModel | |
CompleteOceanModel (std::shared_ptr< const Grid > g, std::shared_ptr< OceanModel > input) | |
CompleteOceanModel (std::shared_ptr< const Grid > g) | |
virtual | ~CompleteOceanModel ()=default |
Public Member Functions inherited from pism::ocean::OceanModel | |
OceanModel (std::shared_ptr< const Grid > g, std::shared_ptr< OceanModel > input) | |
OceanModel (std::shared_ptr< const Grid > g) | |
virtual | ~OceanModel ()=default |
void | init (const Geometry &geometry) |
void | update (const Geometry &geometry, double t, double dt) |
const array::Scalar & | shelf_base_temperature () const |
const array::Scalar & | shelf_base_mass_flux () const |
const array::Scalar & | average_water_column_pressure () const |
Public Member Functions inherited from pism::Component | |
Component (std::shared_ptr< const Grid > grid) | |
virtual | ~Component ()=default |
DiagnosticList | diagnostics () const |
TSDiagnosticList | ts_diagnostics () const |
std::shared_ptr< const Grid > | grid () const |
const Time & | time () const |
const Profiling & | profiling () const |
void | define_model_state (const File &output) const |
Define model state variables in an output file. More... | |
void | write_model_state (const File &output) const |
Write model state variables to an output file. More... | |
MaxTimestep | max_timestep (double t) const |
Reports the maximum time-step the model can take at time t. More... | |
Protected Member Functions | |
void | init_impl (const Geometry &geometry) |
void | update_impl (const Geometry &geometry, double t, double dt) |
MaxTimestep | max_timestep_impl (double t) const |
void | define_model_state_impl (const File &output) const |
The default (empty implementation). More... | |
void | write_model_state_impl (const File &output) const |
The default (empty implementation). More... | |
std::map< std::string, Diagnostic::Ptr > | diagnostics_impl () const |
Protected Member Functions inherited from pism::ocean::CompleteOceanModel | |
virtual const array::Scalar & | shelf_base_temperature_impl () const |
virtual const array::Scalar & | shelf_base_mass_flux_impl () const |
Protected Member Functions inherited from pism::ocean::OceanModel | |
virtual TSDiagnosticList | ts_diagnostics_impl () const |
virtual const array::Scalar & | average_water_column_pressure_impl () const |
Protected Member Functions inherited from pism::Component | |
void | regrid (const std::string &module_name, array::Array &variable, RegriddingFlag flag=NO_REGRID_WITHOUT_REGRID_VARS) |
Private Member Functions | |
void | compute_ocean_input_per_basin (const PicoPhysics &physics, const array::Scalar &basin_mask, const array::Scalar &continental_shelf_mask, const array::Scalar &salinity_ocean, const array::Scalar &theta_ocean, std::vector< double > &temperature, std::vector< double > &salinity) const |
Compute temperature and salinity input from ocean data by averaging. More... | |
void | set_ocean_input_fields (const PicoPhysics &physics, const array::Scalar &ice_thickness, const array::CellType1 &mask, const array::Scalar &basin_mask, const array::Scalar &shelf_mask, const std::vector< double > &basin_temperature, const std::vector< double > &basin_salinity, array::Scalar &Toc_box0, array::Scalar &Soc_box0) const |
Set ocean ocean input from box 0 as boundary condition for box 1. More... | |
void | process_box1 (const PicoPhysics &physics, const array::Scalar &ice_thickness, const array::Scalar &shelf_mask, const array::Scalar &box_mask, const array::Scalar &Toc_box0, const array::Scalar &Soc_box0, array::Scalar &basal_melt_rate, array::Scalar &basal_temperature, array::Scalar &T_star, array::Scalar &Toc, array::Scalar &Soc, array::Scalar &overturning) |
void | process_other_boxes (const PicoPhysics &physics, const array::Scalar &ice_thickness, const array::Scalar &shelf_mask, const array::Scalar &box_mask, array::Scalar &basal_melt_rate, array::Scalar &basal_temperature, array::Scalar &T_star, array::Scalar &Toc, array::Scalar &Soc) const |
void | beckmann_goosse (const PicoPhysics &physics, const array::Scalar &ice_thickness, const array::Scalar &shelf_mask, const array::CellType &cell_type, const array::Scalar &Toc_box0, const array::Scalar &Soc_box0, array::Scalar &basal_melt_rate, array::Scalar &basal_temperature, array::Scalar &Toc, array::Scalar &Soc) |
void | compute_box_average (int box_id, const array::Scalar &field, const array::Scalar &shelf_mask, const array::Scalar &box_mask, std::vector< double > &result) const |
void | compute_box_area (int box_id, const array::Scalar &shelf_mask, const array::Scalar &box_mask, std::vector< double > &result) const |
Private Attributes | |
array::Scalar | m_Soc |
array::Scalar | m_Soc_box0 |
array::Scalar | m_Toc |
array::Scalar | m_Toc_box0 |
array::Scalar | m_T_star |
array::Scalar | m_overturning |
array::Scalar1 | m_basal_melt_rate |
PicoGeometry | m_geometry |
std::shared_ptr< array::Forcing > | m_theta_ocean |
std::shared_ptr< array::Forcing > | m_salinity_ocean |
int | m_n_basins |
int | m_n_boxes |
int | m_n_shelves |
Additional Inherited Members | |
Static Public Member Functions inherited from pism::ocean::OceanModel | |
static std::shared_ptr< array::Scalar > | allocate_shelf_base_temperature (std::shared_ptr< const Grid > g) |
static std::shared_ptr< array::Scalar > | allocate_shelf_base_mass_flux (std::shared_ptr< const Grid > g) |
static std::shared_ptr< array::Scalar > | allocate_water_column_pressure (std::shared_ptr< const Grid > g) |
Protected Types inherited from pism::Component | |
enum | RegriddingFlag { REGRID_WITHOUT_REGRID_VARS , NO_REGRID_WITHOUT_REGRID_VARS } |
This flag determines whether a variable is read from the -regrid_file file even if it is not listed among variables in -regrid_vars . More... | |
Protected Attributes inherited from pism::ocean::CompleteOceanModel | |
std::shared_ptr< array::Scalar > | m_shelf_base_temperature |
std::shared_ptr< array::Scalar > | m_shelf_base_mass_flux |
Protected Attributes inherited from pism::ocean::OceanModel | |
std::shared_ptr< OceanModel > | m_input_model |
std::shared_ptr< array::Scalar > | m_water_column_pressure |
Protected Attributes inherited from pism::Component | |
const std::shared_ptr< const Grid > | m_grid |
grid used by this component More... | |
const Config::ConstPtr | m_config |
configuration database used by this component More... | |
const units::System::Ptr | m_sys |
unit system used by this component More... | |
const Logger::ConstPtr | m_log |
logger (for easy access) More... | |
Implements the PICO ocean model as submitted to The Cryosphere (March 2017).
Generalizes the two dimensional ocean box model of [OlbersHellmer2010] for use in PISM, i.e. three dimensions.