PISM, A Parallel Ice Sheet Model stable 0.4.1779
Public Member Functions

PSModifier Class Reference

A base class for mechanisms which modify the results of a surface processes model (an instance of PISMSurfaceModel) before they reach the ice. More...

#include <PISMSurface.hh>

Inheritance diagram for PSModifier:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 PSModifier (IceGrid &g, const NCConfigVariable &conf, PISMSurfaceModel *in)
virtual ~PSModifier ()
virtual void attach_atmosphere_model (PISMAtmosphereModel *in)
virtual PetscErrorCode ice_surface_mass_flux (IceModelVec2S &result)
virtual PetscErrorCode ice_surface_temperature (IceModelVec2S &result)
virtual PetscErrorCode ice_surface_liquid_water_fraction (IceModelVec2S &result)
 Returns the liquid water fraction of the ice at the top ice surface.
virtual PetscErrorCode mass_held_in_surface_layer (IceModelVec2S &result)
 Returns mass held in the surface layer.
virtual PetscErrorCode surface_layer_thickness (IceModelVec2S &result)
 Returns thickness of the surface layer. Used to compute surface elevation as a sum of elevation of the top surface of the ice and surface layer (firn, etc) thickness.

Detailed Description

A base class for mechanisms which modify the results of a surface processes model (an instance of PISMSurfaceModel) before they reach the ice.

Frequently ice sheet models are driven by a "basic" surface model plus "forcings". This modifier class allows the implementations of forcings which alter the results of the surface processes model. That is, if the atmospheric inputs are already dealt-with, and a basic surface processes model is in use which generates surface mass balance and ice upper surface temperature, then instances of this PSModifier class can be used to modify the surface mass balance and ice upper surface temperature "just before" it gets to the ice itself.

Definition at line 237 of file PISMSurface.hh.


Constructor & Destructor Documentation

PSModifier ( IceGrid &  g,
const NCConfigVariable &  conf,
PISMSurfaceModel in 
) [inline]

Definition at line 240 of file PISMSurface.hh.

virtual ~PSModifier ( ) [inline, virtual]

Definition at line 242 of file PISMSurface.hh.


Member Function Documentation

virtual void attach_atmosphere_model ( PISMAtmosphereModel in) [inline, virtual]

Reimplemented from PISMSurfaceModel.

Reimplemented in PSForceThickness.

Definition at line 244 of file PISMSurface.hh.

References PISMSurfaceModel::attach_atmosphere_model(), and Modifier< PISMSurfaceModel >::input_model.

virtual PetscErrorCode ice_surface_liquid_water_fraction ( IceModelVec2S &  result) [inline, virtual]

Returns the liquid water fraction of the ice at the top ice surface.

Most PISM surface models return 0.

Reimplemented from PISMSurfaceModel.

Definition at line 260 of file PISMSurface.hh.

References PISMSurfaceModel::ice_surface_liquid_water_fraction(), and Modifier< PISMSurfaceModel >::input_model.

virtual PetscErrorCode ice_surface_mass_flux ( IceModelVec2S &  result) [inline, virtual]
virtual PetscErrorCode ice_surface_temperature ( IceModelVec2S &  result) [inline, virtual]
virtual PetscErrorCode mass_held_in_surface_layer ( IceModelVec2S &  result) [inline, virtual]

Returns mass held in the surface layer.

Basic surface models currently implemented in PISM do not model the mass of the surface layer.

Reimplemented from PISMSurfaceModel.

Definition at line 266 of file PISMSurface.hh.

References Modifier< PISMSurfaceModel >::input_model, and PISMSurfaceModel::mass_held_in_surface_layer().

virtual PetscErrorCode surface_layer_thickness ( IceModelVec2S &  result) [inline, virtual]

Returns thickness of the surface layer. Used to compute surface elevation as a sum of elevation of the top surface of the ice and surface layer (firn, etc) thickness.

Basic surface models currently implemented in PISM do not model surface layer thickness.

Reimplemented from PISMSurfaceModel.

Definition at line 272 of file PISMSurface.hh.

References Modifier< PISMSurfaceModel >::input_model, and PISMSurfaceModel::surface_layer_thickness().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines