PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
diagnostics.cc File Reference
#include <algorithm>
#include <cassert>
#include <memory>
#include "pism/age/AgeModel.hh"
#include "pism/energy/EnergyModel.hh"
#include "pism/energy/utilities.hh"
#include "pism/geometry/grounded_cell_fraction.hh"
#include "pism/geometry/part_grid_threshold_thickness.hh"
#include "pism/icemodel/IceModel.hh"
#include "pism/rheology/FlowLaw.hh"
#include "pism/stressbalance/SSB_Modifier.hh"
#include "pism/stressbalance/ShallowStressBalance.hh"
#include "pism/stressbalance/StressBalance.hh"
#include "pism/util/Diagnostic.hh"
#include "pism/util/EnthalpyConverter.hh"
#include "pism/util/error_handling.hh"
#include "pism/util/pism_utilities.hh"
#include "pism/util/projection.hh"

Go to the source code of this file.

Classes

class  pism::diagnostics::TendencyOfIceAmount
 Computes tendency_of_ice_amount, the ice amount rate of change. More...
 
class  pism::diagnostics::TendencyOfIceAmountDueToFlow
 Computes tendency_of_ice_amount_due_to_flow, the rate of change of ice amount due to flow. More...
 
class  pism::diagnostics::SurfaceFlux
 Report surface mass balance flux, averaged over the reporting interval. More...
 
class  pism::diagnostics::BasalFlux
 Report basal mass balance flux, averaged over the reporting interval. More...
 
class  pism::diagnostics::ConservationErrorFlux
 
class  pism::diagnostics::DischargeFlux
 Report discharge (calving and frontal melt) flux. More...
 
class  pism::diagnostics::CalvingFlux
 Report the calving flux. More...
 
class  pism::diagnostics::FrontalMeltFlux
 Report the frontal melt flux. More...
 
class  pism::diagnostics::ForcedRetreatFlux
 Report the frontal melt flux. More...
 
class  pism::diagnostics::IceMarginPressureDifference
 Ocean pressure difference at calving fronts. Used to debug CF boundary conditins. More...
 
class  pism::diagnostics::BMBSplit
 Report average basal mass balance flux over the reporting interval (grounded or floating areas) More...
 
class  pism::diagnostics::HardnessAverage
 Computes vertically-averaged ice hardness. More...
 
class  pism::diagnostics::Rank
 Computes a diagnostic field filled with processor rank values. More...
 
class  pism::diagnostics::CTS
 Computes CTS, CTS = E/E_s(p). More...
 
class  pism::diagnostics::Temperature
 Computes ice temperature from enthalpy. More...
 
class  pism::diagnostics::TemperaturePA
 Compute the pressure-adjusted temperature in degrees C corresponding to ice temperature. More...
 
class  pism::diagnostics::TemperaturePABasal
 Computes basal values of the pressure-adjusted temperature. More...
 
class  pism::diagnostics::IceEnthalpySurface
 Computes surface values of ice enthalpy. More...
 
class  pism::diagnostics::IceEnthalpyBasal
 Computes enthalpy at the base of the ice. More...
 
class  pism::diagnostics::TemperatureBasal
 Computes ice temperature at the base of the ice. More...
 
class  pism::diagnostics::TemperatureSurface
 Computes ice temperature at the surface of the ice. More...
 
class  pism::diagnostics::LiquidFraction
 Computes the liquid water fraction. More...
 
class  pism::diagnostics::TemperateIceThickness
 Computes the total thickness of temperate ice in a column. More...
 
class  pism::diagnostics::TemperateIceThicknessBasal
 Computes the thickness of the basal layer of temperate ice. More...
 
class  pism::diagnostics::scalar::IceVolumeGlacierized
 Computes the total ice volume in glacierized areas. More...
 
class  pism::diagnostics::scalar::IceVolume
 Computes the total ice volume. More...
 
class  pism::diagnostics::scalar::SeaLevelRisePotential
 Computes the total ice volume which is relevant for sea-level. More...
 
class  pism::diagnostics::scalar::IceVolumeRateOfChangeGlacierized
 Computes the rate of change of the total ice volume in glacierized areas. More...
 
class  pism::diagnostics::scalar::IceVolumeRateOfChange
 Computes the rate of change of the total ice volume. More...
 
class  pism::diagnostics::scalar::IceAreaGlacierized
 Computes the total ice area. More...
 
class  pism::diagnostics::scalar::IceMassNotDisplacingSeaWater
 Computes the total mass of the ice not displacing sea water. More...
 
class  pism::diagnostics::scalar::IceMassGlacierized
 Computes the total ice mass in glacierized areas. More...
 
class  pism::diagnostics::scalar::IceMass
 Computes the total ice mass. More...
 
class  pism::diagnostics::scalar::IceMassRateOfChangeGlacierized
 Computes the rate of change of the total ice mass in glacierized areas. More...
 
class  pism::diagnostics::scalar::IceMassRateOfChangeDueToFlow
 Computes the rate of change of the total ice mass due to flow (influx due to prescribed constant-in-time ice thickness). More...
 
class  pism::diagnostics::scalar::IceMassRateOfChange
 Computes the rate of change of the total ice mass. More...
 
class  pism::diagnostics::scalar::IceVolumeGlacierizedTemperate
 Computes the total volume of the temperate ice in glacierized areas. More...
 
class  pism::diagnostics::scalar::IceVolumeTemperate
 Computes the total volume of the temperate ice. More...
 
class  pism::diagnostics::scalar::IceVolumeGlacierizedCold
 Computes the total volume of the cold ice in glacierized areas. More...
 
class  pism::diagnostics::scalar::IceVolumeCold
 Computes the total volume of the cold ice. More...
 
class  pism::diagnostics::scalar::IceAreaGlacierizedTemperateBase
 Computes the total area of the temperate ice. More...
 
class  pism::diagnostics::scalar::IceAreaGlacierizedColdBase
 Computes the total area of the cold ice. More...
 
class  pism::diagnostics::scalar::IceEnthalpyGlacierized
 Computes the total ice enthalpy in glacierized areas. More...
 
class  pism::diagnostics::scalar::IceEnthalpy
 Computes the total ice enthalpy. More...
 
class  pism::diagnostics::scalar::IceAreaGlacierizedGrounded
 Computes the total grounded ice area. More...
 
class  pism::diagnostics::scalar::IceAreaGlacierizedShelf
 Computes the total floating ice area. More...
 
class  pism::diagnostics::scalar::IceVolumeGlacierizedGrounded
 Computes the total grounded ice volume. More...
 
class  pism::diagnostics::scalar::IceVolumeGlacierizedShelf
 Computes the total floating ice volume. More...
 
class  pism::diagnostics::scalar::TimeStepLength
 Reports the mass continuity time step. More...
 
class  pism::diagnostics::scalar::TimeStepRatio
 Reports the mass continuity time step. More...
 
class  pism::diagnostics::scalar::MaxDiffusivity
 Reports maximum diffusivity. More...
 
class  pism::diagnostics::scalar::MaxHorizontalVelocity
 Reports the maximum horizontal absolute velocity component over the grid. More...
 
class  pism::diagnostics::scalar::IceMassFluxBasal
 Reports the total bottom surface ice flux. More...
 
class  pism::diagnostics::scalar::IceMassFluxSurface
 Reports the total top surface ice flux. More...
 
class  pism::diagnostics::scalar::IceMassFluxBasalGrounded
 Reports the total basal ice flux over the grounded region. More...
 
class  pism::diagnostics::scalar::IceMassFluxBasalFloating
 Reports the total sub-shelf ice flux. More...
 
class  pism::diagnostics::scalar::IceMassFluxConservationError
 Reports the total numerical mass flux needed to preserve non-negativity of ice thickness. More...
 
class  pism::diagnostics::scalar::IceMassFluxDischarge
 Reports the total discharge flux. More...
 
class  pism::diagnostics::scalar::IceMassFluxCalving
 Reports the total calving flux. More...
 
class  pism::diagnostics::scalar::IceMassFluxAtGroundingLine
 Reports the total flux across the grounding line. More...
 
class  pism::diagnostics::ThicknessRateOfChange
 Computes dHdt, the ice thickness rate of change. More...
 
class  pism::diagnostics::LatLonBounds
 Computes latitude and longitude bounds. More...
 
class  pism::diagnostics::IceAreaFraction
 
class  pism::diagnostics::IceAreaFractionGrounded
 
class  pism::diagnostics::IceAreaFractionFloating
 
class  pism::diagnostics::HeightAboveFloatation
 Computes the 2D height above flotation. More...
 
class  pism::diagnostics::IceMass
 Computes the mass per cell. More...
 
class  pism::diagnostics::BedTopographySeaLevelAdjusted
 Sea-level adjusted bed topography (zero at sea level). More...
 
class  pism::diagnostics::IceHardness
 Ice hardness computed using the SIA flow law. More...
 
class  pism::diagnostics::IceViscosity
 Effective viscosity of ice (3D). More...
 
class  pism::diagnostics::IceThickness
 Report ice thickness. More...
 
class  pism::diagnostics::IceBottomSurfaceElevation
 Report ice top surface elevation. More...
 
class  pism::diagnostics::IceSurfaceElevation
 Report ice top surface elevation. More...
 
class  pism::diagnostics::GroundingLineFlux
 Report grounding line flux. More...
 

Namespaces

 pism
 
 pism::diagnostics
 
 pism::diagnostics::scalar
 
 pism::details
 

Typedefs

typedef std::map< std::string, std::vector< VariableMetadata > > pism::Metadata
 

Enumerations

enum  pism::diagnostics::AmountKind { pism::diagnostics::AMOUNT , pism::diagnostics::MASS }
 
enum  pism::diagnostics::ChangeKind { pism::diagnostics::CALVING , pism::diagnostics::FRONTAL_MELT , pism::diagnostics::FORCED_RETREAT , pism::diagnostics::TOTAL_DISCHARGE }
 
enum  pism::diagnostics::AreaType { pism::diagnostics::GROUNDED , pism::diagnostics::SHELF , pism::diagnostics::BOTH }
 
enum  pism::diagnostics::TermType { pism::diagnostics::SMB , pism::diagnostics::BMB , pism::diagnostics::FLOW , pism::diagnostics::ERROR }
 
enum  pism::details::IceKind { pism::details::ICE_COLD , pism::details::ICE_TEMPERATE }
 

Functions

static void pism::diagnostics::accumulate_changes (const IceModel *model, double factor, ChangeKind kind, array::Scalar &accumulator)
 
double pism::diagnostics::scalar::mass_change (const IceModel *model, TermType term, AreaType area)
 
static double pism::diagnostics::square (double x)
 
static void pism::print_diagnostics (const Logger &log, const Metadata &list)
 
static void pism::print_diagnostics_json (const Logger &log, const Metadata &list)
 
static Metadata pism::diag_metadata (const std::map< std::string, Diagnostic::Ptr > &diags)
 
static Metadata pism::ts_diag_metadata (const std::map< std::string, TSDiagnostic::Ptr > &ts_diags)
 
static double pism::details::ice_volume (const array::Scalar &ice_thickness, const array::Array3D &ice_enthalpy, IceKind kind, double thickness_threshold)
 
static double pism::details::base_area (const array::Scalar &ice_thickness, const array::Array3D &ice_enthalpy, IceKind kind, double thickness_threshold)
 

Variables

static const char * pism::land_ice_area_fraction_name = "sftgif"
 
static const char * pism::grounded_ice_sheet_area_fraction_name = "sftgrf"
 
static const char * pism::floating_ice_sheet_area_fraction_name = "sftflf"