Base class for a model which computes surface mass flux rate (ice thickness per time) from a precipitation (scalar) and a time series for temperature. More...
#include <localMassBalance.hh>

Public Member Functions | |
| LocalMassBalance (const NCConfigVariable &myconfig) | |
| virtual | ~LocalMassBalance () |
| virtual PetscErrorCode | init () |
| virtual PetscErrorCode | getNForTemperatureSeries (PetscScalar t, PetscScalar dt, PetscInt &N) |
| virtual PetscScalar | getMassFluxFromTemperatureTimeSeries (PetscScalar t, PetscScalar dt_series, PetscScalar *T, PetscInt N, PetscScalar precip) |
Protected Attributes | |
| const NCConfigVariable & | config |
Base class for a model which computes surface mass flux rate (ice thickness per time) from a precipitation (scalar) and a time series for temperature.
This is a process model. It uses a 1D array, with a time dimension, for snow temperatures. This process model does not know its location on the ice sheet, but simply computes the surface mass balance from three quantities
,
values of temperature in the snow at equally-spaced times
, andIt may be that this base class should be more general. For instance, to allow as input a time series for precipation rate.
Definition at line 39 of file localMassBalance.hh.
| LocalMassBalance | ( | const NCConfigVariable & | myconfig | ) |
Definition at line 29 of file localMassBalance.cc.
| virtual ~LocalMassBalance | ( | ) | [virtual] |
Definition at line 43 of file localMassBalance.hh.
| PetscScalar getMassFluxFromTemperatureTimeSeries | ( | PetscScalar | t, | |
| PetscScalar | dt_series, | |||
| PetscScalar * | T, | |||
| PetscInt | N, | |||
| PetscScalar | precip | |||
| ) | [virtual] |
T[0],...,T[N-1] are temperatures (K) at times t, t+dt, ..., t+(N-1)dt Input t,dt in seconds. Input precip and return value are in ice-equivalent thickness per time (m s-1). Input precip is amount of snow. Rain is not modeled. If input precip is negative then it is treated directly as ablation and positive degree days are ignored.
Reimplemented in PDDMassBalance.
Definition at line 48 of file localMassBalance.cc.
Referenced by PSLocalMassBalance.update().
| PetscErrorCode getNForTemperatureSeries | ( | PetscScalar | t, | |
| PetscScalar | dt, | |||
| PetscInt & | N | |||
| ) | [virtual] |
Call before getMassFluxFromTemperatureTimeSeries() so that mass balance method can decide how to cut up the time interval. Most implementations will ignore t and just use dt. Input t,dt in seconds.
Reimplemented in PDDMassBalance, and PDDrandMassBalance.
Definition at line 40 of file localMassBalance.cc.
Referenced by PSLocalMassBalance.update().
| PetscErrorCode init | ( | ) | [virtual] |
Reimplemented in PDDMassBalance.
Definition at line 33 of file localMassBalance.cc.
const NCConfigVariable& config [protected] |
Definition at line 62 of file localMassBalance.hh.
Referenced by PDDMassBalance.PDDMassBalance().
1.6.2-20100124