PISM, A Parallel Ice Sheet Model
stable v1.2 committed by Constantine Khrulev on 2020-02-11 20:24:05 -0900
|
#include <Pico.hh>
Public Member Functions | |
Pico (IceGrid::ConstPtr g) | |
virtual | ~Pico () |
![]() | |
CompleteOceanModel (IceGrid::ConstPtr g, std::shared_ptr< OceanModel > input) | |
CompleteOceanModel (IceGrid::ConstPtr g) | |
virtual | ~CompleteOceanModel () |
![]() | |
OceanModel (IceGrid::ConstPtr g, std::shared_ptr< OceanModel > input) | |
OceanModel (IceGrid::ConstPtr g) | |
virtual | ~OceanModel () |
void | init (const Geometry &geometry) |
void | update (const Geometry &geometry, double t, double dt) |
const IceModelVec2S & | shelf_base_temperature () const |
const IceModelVec2S & | shelf_base_mass_flux () const |
const IceModelVec2S & | melange_back_pressure_fraction () const |
![]() | |
Component (IceGrid::ConstPtr g) | |
virtual | ~Component () |
DiagnosticList | diagnostics () const |
TSDiagnosticList | ts_diagnostics () const |
IceGrid::ConstPtr | grid () 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 |
![]() | |
virtual const IceModelVec2S & | shelf_base_temperature_impl () const |
virtual const IceModelVec2S & | shelf_base_mass_flux_impl () const |
![]() | |
virtual TSDiagnosticList | ts_diagnostics_impl () const |
virtual const IceModelVec2S & | melange_back_pressure_fraction_impl () const |
![]() | |
virtual void | regrid (const std::string &module_name, IceModelVec &variable, RegriddingFlag flag=NO_REGRID_WITHOUT_REGRID_VARS) |
Private Member Functions | |
void | compute_ocean_input_per_basin (const PicoPhysics &physics, const IceModelVec2Int &basin_mask, const IceModelVec2Int &continental_shelf_mask, const IceModelVec2S &salinity_ocean, const IceModelVec2S &theta_ocean, std::vector< double > &temperature, std::vector< double > &salinity) |
Compute temperature and salinity input from ocean data by averaging. More... | |
void | set_ocean_input_fields (const PicoPhysics &physics, const IceModelVec2S &ice_thickness, const IceModelVec2CellType &mask, const IceModelVec2Int &basin_mask, const IceModelVec2Int &shelf_mask, const std::vector< double > basin_temperature, const std::vector< double > basin_salinity, IceModelVec2S &Toc_box0, IceModelVec2S &Soc_box0) |
Set ocean ocean input from box 0 as boundary condition for box 1. More... | |
void | process_box1 (const PicoPhysics &physics, const IceModelVec2S &ice_thickness, const IceModelVec2Int &shelf_mask, const IceModelVec2Int &box_mask, const IceModelVec2S &Toc_box0, const IceModelVec2S &Soc_box0, IceModelVec2S &basal_melt_rate, IceModelVec2S &basal_temperature, IceModelVec2S &T_star, IceModelVec2S &Toc, IceModelVec2S &Soc, IceModelVec2S &overturning) |
void | process_other_boxes (const PicoPhysics &cc, const IceModelVec2S &ice_thickness, const IceModelVec2Int &shelf_mask, const IceModelVec2Int &box_mask, IceModelVec2S &basal_melt_rate, IceModelVec2S &basal_temperature, IceModelVec2S &T_star, IceModelVec2S &Toc, IceModelVec2S &Soc) |
void | extend_basal_melt_rates (const IceModelVec2CellType &mask, IceModelVec2S &basal_melt_rate) |
void | beckmann_goosse (const PicoPhysics &physics, const IceModelVec2S &ice_thickness, const IceModelVec2Int &shelf_mask, const IceModelVec2CellType &cell_type, const IceModelVec2S &Toc_box0, const IceModelVec2S &Soc_box0, IceModelVec2S &basal_melt_rate, IceModelVec2S &T_pressure_melting, IceModelVec2S &Toc, IceModelVec2S &Soc) |
void | compute_box_average (int box_id, const IceModelVec2S &field, const IceModelVec2Int &shelf_mask, const IceModelVec2Int &box_mask, std::vector< double > &result) |
void | compute_box_area (int box_id, const IceModelVec2Int &shelf_mask, const IceModelVec2Int &box_mask, std::vector< double > &result) |
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.