PISM, A Parallel Ice Sheet Model  stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
Classes | Namespaces | Enumerations | Functions
IceModel.hh File Reference

Definition of class IceModel. More...

#include <map>
#include <set>
#include <string>
#include <vector>
#include <memory>
#include "pism/util/array/Vector.hh"
#include "pism/util/ConfigInterface.hh"
#include "pism/util/Context.hh"
#include "pism/util/Logger.hh"
#include "pism/util/Time.hh"
#include "pism/util/Diagnostic.hh"
#include "pism/util/MaxTimestep.hh"
#include "pism/geometry/Geometry.hh"
#include "pism/geometry/GeometryEvolution.hh"
#include "pism/stressbalance/StressBalance.hh"
#include "pism/basalstrength/YieldStress.hh"
#include "pism/util/ScalarForcing.hh"
#include "pism/util/petscwrappers/Vec.hh"

Go to the source code of this file.

Classes

class  pism::IceModel
 
struct  pism::IceModel::TimesteppingInfo
 
struct  pism::IceModel::ThicknessChanges
 

Namespaces

 pism
 
 pism::ocean
 Ocean models and modifiers: provide sea level elevation, melange back pressure, shelf base mass flux and shelf base temperature.
 
 pism::ocean::sea_level
 
 pism::surface
 Surface models and modifiers: provide top-surface temperature, mass flux, liquid water fraction, mass and thickness of the surface layer.
 
 pism::hydrology
 Sub-glacial hydrology models and related diagnostics.
 
 pism::calving
 Calving and iceberg removal code.
 
 pism::energy
 Energy balance models and utilities.
 
 pism::frontalmelt
 Frontal melt models and modifiers.
 
 pism::bed
 Bed-related models: bed deformation (provide bed elevation and uplift) and (soon) bed erosion.
 
 pism::array
 

Enumerations

enum  pism::IceModelTerminationReason { pism::PISM_DONE , pism::PISM_CHEKPOINT , pism::PISM_SIGNAL }
 

Functions

void pism::write_mapping (const File &file, const pism::MappingInfo &info)
 
void pism::write_run_stats (const File &file, const pism::VariableMetadata &stats)
 
MaxTimestep pism::reporting_max_timestep (const std::vector< double > &times, double t, double eps, const std::string &description)
 
void pism::bedrock_surface_temperature (const array::Scalar &sea_level, const array::CellType &cell_type, const array::Scalar &bed_topography, const array::Scalar &ice_thickness, const array::Scalar &basal_enthalpy, const array::Scalar &ice_surface_temperature, array::Scalar &result)
 Compute the temperature seen by the top of the bedrock thermal layer. More...
 

Detailed Description

Definition of class IceModel.

IceModel is a big class which is an ice flow model. It contains all parts that are not well-defined, separated components. Such components are better places to put sub-models that have a clear, general interface to the rest of an ice sheet model.

IceModel has pointers to well-defined components, when they exist.

IceModel generally interprets user options, and initializes components based on such options. It manages the initialization sequences (e.g. a restart from a file containing a complete model state, versus bootstrapping).

Definition in file IceModel.hh.