|
PISM, A Parallel Ice Sheet Model stable 0.4.1779
|
#include <PISMSurface.hh>

Public Member Functions | |
| PISMSurfaceModel (IceGrid &g, const NCConfigVariable &conf) | |
| virtual | ~PISMSurfaceModel () |
| virtual void | get_diagnostics (map< string, PISMDiagnostic * > &dict) |
| Add pointers to available diagnostic quantities to a dictionary. | |
| virtual PetscErrorCode | init (PISMVars &vars) |
| virtual void | attach_atmosphere_model (PISMAtmosphereModel *input) |
| virtual PetscErrorCode | ice_surface_mass_flux (IceModelVec2S &result)=0 |
| virtual PetscErrorCode | ice_surface_temperature (IceModelVec2S &result)=0 |
| 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. | |
| virtual PetscErrorCode | define_variables (set< string > vars, const NCTool &nc, nc_type nctype) |
| virtual PetscErrorCode | write_variables (set< string > vars, string filename) |
Protected Attributes | |
| PISMAtmosphereModel * | atmosphere |
Definition at line 28 of file PISMSurface.hh.
| PISMSurfaceModel | ( | IceGrid & | g, |
| const NCConfigVariable & | conf | ||
| ) | [inline] |
Definition at line 30 of file PISMSurface.hh.
References atmosphere.
| virtual ~PISMSurfaceModel | ( | ) | [inline, virtual] |
Definition at line 34 of file PISMSurface.hh.
References atmosphere.
| void attach_atmosphere_model | ( | PISMAtmosphereModel * | input | ) | [virtual] |
Reimplemented in PSDirectForcing, PSDummy, PSConstant, PSModifier, PSForceThickness, PSConstantPIK, PSElevation, and PSExternal.
Definition at line 25 of file PISMSurface.cc.
References atmosphere, and vnreport::input.
Referenced by PSModifier::attach_atmosphere_model(), PSForceThickness::attach_atmosphere_model(), and main().
| 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.
Reimplemented in PSDummy, PSConstant, PSTemperatureIndex, PSForceThickness, PSConstantPIK, PSElevation, PSExternal, PDirectForcing< PISMSurfaceModel >, and Modifier< PISMSurfaceModel >.
Definition at line 83 of file PISMSurface.cc.
References atmosphere, and PISMComponent::define_variables().
Referenced by PSForceThickness::define_variables(), and IceModel::write_variables().
| virtual void get_diagnostics | ( | map< string, PISMDiagnostic * > & | ) | [inline, virtual] |
Add pointers to available diagnostic quantities to a dictionary.
Reimplemented from PISMComponent.
Reimplemented in PSDummy, PSConstant, PSConstantPIK, PSElevation, PSExternal, and Modifier< PISMSurfaceModel >.
Definition at line 37 of file PISMSurface.hh.
References atmosphere, and PISMComponent::get_diagnostics().
Referenced by IceModel::init_diagnostics().
| PetscErrorCode ice_surface_liquid_water_fraction | ( | IceModelVec2S & | result | ) | [virtual] |
Returns the liquid water fraction of the ice at the top ice surface.
Most PISM surface models return 0.
Reimplemented in PSModifier.
Definition at line 75 of file PISMSurface.cc.
Referenced by IceModel::check_maximum_thickness(), IceModel::enthalpyAndDrainageStep(), and PSModifier::ice_surface_liquid_water_fraction().
| virtual PetscErrorCode ice_surface_mass_flux | ( | IceModelVec2S & | result | ) | [pure virtual] |
Implemented in PSDirectForcing, PSLapseRates, PSDummy, PSSimple, PSConstant, PSTemperatureIndex, PSModifier, PSForceThickness, PSConstantPIK, PSElevation, and PSExternal.
Referenced by IceModel::ice_mass_bookkeeping(), PSModifier::ice_surface_mass_flux(), PSForceThickness::ice_surface_mass_flux(), PSLapseRates::ice_surface_mass_flux(), IceModel::massContExplicitStep(), and writePCCStateAtTimes().
| virtual PetscErrorCode ice_surface_temperature | ( | IceModelVec2S & | result | ) | [pure virtual] |
Implemented in PSDirectForcing, PSLapseRates, PSDummy, PSSimple, PSConstant, PSTemperatureIndex, PSModifier, PSForceThickness, PSConstantPIK, PSdTforcing, PSElevation, and PSExternal.
Referenced by IceModel::check_maximum_thickness(), IceModel::enthalpyAndDrainageStep(), IceModel::get_bed_top_temp(), PSdTforcing::ice_surface_temperature(), PSModifier::ice_surface_temperature(), PSForceThickness::ice_surface_temperature(), PSLapseRates::ice_surface_temperature(), IceModel::putTempAtDepth(), IceModel::temperatureStep(), and writePCCStateAtTimes().
| PetscErrorCode init | ( | PISMVars & | vars | ) | [virtual] |
Implements PISMComponent.
Reimplemented in PSDirectForcing, PSLapseRates, PSDummy, PSSimple, PSConstant, PSTemperatureIndex, PSForceThickness, PSConstantPIK, PSdTforcing, PSElevation, PSExternal, and PSExternal_ALR.
Definition at line 32 of file PISMSurface.cc.
References atmosphere, and PISMComponent::init().
Referenced by PSdTforcing::init(), PSForceThickness::init(), PSLapseRates::init(), IceModel::init_couplers(), and main().
| PetscErrorCode mass_held_in_surface_layer | ( | IceModelVec2S & | result | ) | [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 in PSModifier.
Definition at line 48 of file PISMSurface.cc.
Referenced by PSModifier::mass_held_in_surface_layer().
| PetscErrorCode surface_layer_thickness | ( | IceModelVec2S & | result | ) | [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 in PSModifier.
Definition at line 63 of file PISMSurface.cc.
Referenced by PSModifier::surface_layer_thickness().
Writes requested couplings fields to file and/or asks an attached model to do so.
Reimplemented from PISMComponent.
Reimplemented in PSDummy, PSConstant, PSTemperatureIndex, PSForceThickness, PSConstantPIK, PSElevation, PSExternal, PDirectForcing< PISMSurfaceModel >, and Modifier< PISMSurfaceModel >.
Definition at line 93 of file PISMSurface.cc.
References atmosphere, and PISMComponent::write_variables().
Referenced by PSForceThickness::write_variables(), IceModel::write_variables(), and writePCCStateAtTimes().
PISMAtmosphereModel* atmosphere [protected] |
Definition at line 51 of file PISMSurface.hh.
Referenced by PSTemperatureIndex::add_vars_to_output(), PSSimple::add_vars_to_output(), attach_atmosphere_model(), define_variables(), get_diagnostics(), PSSimple::ice_surface_mass_flux(), PSTemperatureIndex::ice_surface_temperature(), PSSimple::ice_surface_temperature(), PSSimple::init(), init(), PSTemperatureIndex::max_timestep(), PISMSurfaceModel(), PSSimple::update(), PSTemperatureIndex::update_internal(), write_variables(), and ~PISMSurfaceModel().
1.7.3