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

PISMBedDef Class Reference

PISM bed deformation model (base class). More...

#include <PISMBedDef.hh>

Inheritance diagram for PISMBedDef:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 PISMBedDef (IceGrid &g, const NCConfigVariable &conf)
virtual ~PISMBedDef ()
virtual PetscErrorCode init (PISMVars &vars)
virtual PetscErrorCode update (PetscReal t_years, PetscReal dt_years)=0
 Update a model, if necessary.
virtual void add_vars_to_output (string, set< string > &)
 Adds more variable names to result (to let sub-models respect -o_size or -save_size).
virtual PetscErrorCode define_variables (set< string >, const NCTool &, nc_type)
virtual PetscErrorCode write_variables (set< string >, string)

Protected Member Functions

PetscErrorCode pismbeddef_allocate ()
PetscErrorCode compute_uplift (PetscScalar dt_beddef)
 Compute bed uplift.

Protected Attributes

PetscReal t_beddef_last
 last bed deformation update year
IceModelVec2S topg_initial
IceModelVec2S topg_last
 last bed elevation
IceModelVec2S * thk
 pointer to the current ice thickness
IceModelVec2S * topg
 pointer to the current bed elevation
IceModelVec2S * uplift
 pointer to the bed uplift rate field

Detailed Description

PISM bed deformation model (base class).

Unlike other PISMComponent_TS derived classes, the update() method of PISMBedDef has side-effects (modifies IceModel data memebers).

Definition at line 30 of file PISMBedDef.hh.


Constructor & Destructor Documentation

PISMBedDef ( IceGrid &  g,
const NCConfigVariable &  conf 
)

Definition at line 21 of file PISMBedDef.cc.

References PISMComponent::grid, pismbeddef_allocate(), t_beddef_last, thk, topg, and uplift.

virtual ~PISMBedDef ( ) [inline, virtual]

Definition at line 33 of file PISMBedDef.hh.


Member Function Documentation

void add_vars_to_output ( string  ,
set< string > &   
) [virtual]

Adds more variable names to result (to let sub-models respect -o_size or -save_size).

Keyword can be one of "small", "medium" or "big".

Reimplemented from PISMComponent.

Definition at line 52 of file PISMBedDef.cc.

Referenced by IceModel::set_output_size().

PetscErrorCode compute_uplift ( PetscScalar  dt_beddef) [protected]

Compute bed uplift.

uplift = (topg - topg_last) / dt

Definition at line 98 of file PISMBedDef.cc.

References secpera, topg, topg_last, and uplift.

Referenced by PBPointwiseIsostasy::update(), and PBLingleClark::update().

PetscErrorCode define_variables ( set< string ,
const NCTool &  ,
nc_type   
) [virtual]

Defines requested couplings fields to file and/or asks an attached model to do so.

Reimplemented from PISMComponent.

Definition at line 56 of file PISMBedDef.cc.

References topg_initial.

Referenced by IceModel::write_variables().

PetscErrorCode init ( PISMVars &  vars) [virtual]

Implements PISMComponent.

Reimplemented in PBPointwiseIsostasy, and PBLingleClark.

Definition at line 77 of file PISMBedDef.cc.

References PISMComponent::grid, t_beddef_last, thk, topg, topg_initial, and uplift.

Referenced by IceModel::model_state_setup().

PetscErrorCode pismbeddef_allocate ( ) [protected]

Definition at line 37 of file PISMBedDef.cc.

References PISMComponent::grid, topg_initial, and topg_last.

Referenced by PISMBedDef().

virtual PetscErrorCode update ( PetscReal  ,
PetscReal   
) [pure virtual]

Update a model, if necessary.

Implements PISMComponent_TS.

Implemented in PBPointwiseIsostasy, and PBLingleClark.

Referenced by IceModel::bed_def_step().

PetscErrorCode write_variables ( set< string ,
string   
) [virtual]

Writes requested couplings fields to file and/or asks an attached model to do so.

Reimplemented from PISMComponent.

Definition at line 67 of file PISMBedDef.cc.

References topg_initial.

Referenced by IceModel::write_variables().


Member Data Documentation

PetscReal t_beddef_last [protected]

last bed deformation update year

Definition at line 43 of file PISMBedDef.hh.

Referenced by init(), PISMBedDef(), PBPointwiseIsostasy::update(), and PBLingleClark::update().

IceModelVec2S* thk [protected]

pointer to the current ice thickness

Definition at line 47 of file PISMBedDef.hh.

Referenced by init(), PBPointwiseIsostasy::init(), PBLingleClark::init(), PISMBedDef(), PBPointwiseIsostasy::update(), and PBLingleClark::update().

IceModelVec2S * topg [protected]
IceModelVec2S topg_initial [protected]
IceModelVec2S topg_last [protected]
IceModelVec2S * uplift [protected]

pointer to the bed uplift rate field

Definition at line 47 of file PISMBedDef.hh.

Referenced by compute_uplift(), init(), PBLingleClark::init(), and PISMBedDef().


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