PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
pism::ocean::PicoGeometry Class Reference

#include <PicoGeometry.hh>

+ Inheritance diagram for pism::ocean::PicoGeometry:

Public Types

enum  IceRiseMask { OCEAN = 0 , RISE = 1 , CONTINENTAL = 2 , FLOATING = 3 }
 

Public Member Functions

 PicoGeometry (std::shared_ptr< const Grid > grid)
 
virtual ~PicoGeometry ()=default
 
void init ()
 
void update (const array::Scalar &bed_elevation, const array::CellType1 &cell_type)
 
const array::Scalarcontinental_shelf_mask () const
 
const array::Scalarbox_mask () const
 
const array::Scalarice_shelf_mask () const
 
const array::Scalarice_rise_mask () const
 
const array::Scalarbasin_mask () 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 Gridgrid () const
 
const Timetime () const
 
const Profilingprofiling () 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...
 

Private Member Functions

void compute_ice_rises (const array::CellType &cell_type, bool exclude_ice_rises, array::Scalar &result)
 
void compute_lakes (const array::CellType &cell_type, array::Scalar &result)
 
void compute_ocean_mask (const array::CellType &cell_type, array::Scalar &result)
 
void compute_continental_shelf_mask (const array::Scalar &bed_elevation, const array::Scalar &ice_rise_mask, double bed_elevation_threshold, array::Scalar &result)
 
void compute_ice_shelf_mask (const array::Scalar &ice_rise_mask, const array::Scalar &lake_mask, array::Scalar &result)
 
std::vector< std::set< int > > basin_neighbors (const array::CellType1 &cell_type, const array::Scalar1 &basin_mask)
 
void identify_calving_front_connection (const array::CellType1 &cell_type, const array::Scalar &basin_mask, const array::Scalar &shelf_mask, int n_shelves, std::vector< int > &most_shelf_cells_in_basin, std::vector< int > &cfs_in_basins_per_shelf)
 
void split_ice_shelves (const array::CellType &cell_type, const array::Scalar &basin_mask, const std::vector< std::set< int > > &basin_neighbors, const std::vector< int > &most_shelf_cells_in_basin, const std::vector< int > &cfs_in_basins_per_shelf, int n_shelves, array::Scalar &shelf_mask)
 
void compute_distances_cf (const array::Scalar1 &ocean_mask, const array::Scalar &ice_rises, bool exclude_ice_rises, array::Scalar1 &result)
 
void compute_distances_gl (const array::Scalar &ocean_mask, const array::Scalar1 &ice_rises, bool exclude_ice_rises, array::Scalar1 &result)
 
void compute_box_mask (const array::Scalar &D_gl, const array::Scalar &D_cf, const array::Scalar &shelf_mask, int max_number_of_boxes, array::Scalar &result)
 
void relabel_by_size (array::Scalar &mask)
 

Private Attributes

array::Scalar m_continental_shelf
 
array::Scalar m_boxes
 
array::Scalar m_ice_shelves
 
array::Scalar1 m_basin_mask
 
array::Scalar1 m_distance_gl
 
array::Scalar1 m_distance_cf
 
array::Scalar1 m_ocean_mask
 
array::Scalar m_lake_mask
 
array::Scalar1 m_ice_rises
 
array::Scalar m_tmp
 
std::shared_ptr< petsc::Vecm_tmp_p0
 
int m_n_basins
 
std::vector< std::set< int > > m_basin_neighbors
 

Additional Inherited Members

- 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 Member Functions inherited from pism::Component
virtual MaxTimestep max_timestep_impl (double t) const
 
virtual void define_model_state_impl (const File &output) const
 The default (empty implementation). More...
 
virtual void write_model_state_impl (const File &output) const
 The default (empty implementation). More...
 
virtual DiagnosticList diagnostics_impl () const
 
virtual TSDiagnosticList ts_diagnostics_impl () const
 
void regrid (const std::string &module_name, array::Array &variable, RegriddingFlag flag=NO_REGRID_WITHOUT_REGRID_VARS)
 
- Protected Attributes inherited from pism::Component
const std::shared_ptr< const Gridm_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...
 

Detailed Description

This class isolates geometric computations performed by the PICO ocean model.

Definition at line 37 of file PicoGeometry.hh.


The documentation for this class was generated from the following files: