|
BISICLES AMR ice sheet model
0.9
|
Applies a different surface flux depending on the mask. More...
#include <ComplexSurfaceFlux.H>


Public Member Functions | |
| MaskedFlux (SurfaceFlux *a_groundedIceFlux, SurfaceFlux *a_floatingIceFlux, SurfaceFlux *a_openSeaFlux, SurfaceFlux *a_openLandFlux) | |
| Construct a MaskedFlux given its component fluxes. More... | |
| virtual | ~MaskedFlux () |
| virtual SurfaceFlux * | new_surfaceFlux () |
| factory method More... | |
| virtual void | surfaceThicknessFlux (LevelData< FArrayBox > &a_flux, const AmrIceBase &a_amrIce, int a_level, Real a_dt) |
| define source term for thickness evolution and place it in flux More... | |
Public Member Functions inherited from SurfaceFlux | |
| virtual | ~SurfaceFlux () |
| virtual destructor More... | |
| virtual void | evaluate (LevelData< FArrayBox > &a_data, const AmrIceBase &a_amrIce, int a_level, Real a_dt) |
| Sub-classes of this class turned out to be useful for various data apart from thickness fluxes... More... | |
Protected Attributes | |
| SurfaceFlux * | m_groundedIceFlux |
| SurfaceFlux * | m_floatingIceFlux |
| SurfaceFlux * | m_openSeaFlux |
| SurfaceFlux * | m_openLandFlux |
Additional Inherited Members | |
Static Public Member Functions inherited from SurfaceFlux | |
| static SurfaceFlux * | parse (const char *a_prefix) |
| assemble a SurfaceFlux* object from ParmParse inputs More... | |
Applies a different surface flux depending on the mask.
Applies a different surface fluxes for grounded and floating ice and for open sea and land.
Run-time configuration is carried out in SurfaceFlux::parse. If the string A.B.C.type = maskedFlux is found, then the expected form is:
A.B.C.grounded = <valid SurfaceFlux type (optional, default ZeroFlux) >A.B.C.floating = <valid SurfaceFlux type (optional, default ZeroFlux) >A.B.C.openland = <valid SurfaceFlux type (optional, default ZeroFlux) >A.B.C.opensea = <valid SurfaceFlux type (optional, default ZeroFlux) > | MaskedFlux::MaskedFlux | ( | SurfaceFlux * | a_groundedIceFlux, |
| SurfaceFlux * | a_floatingIceFlux, | ||
| SurfaceFlux * | a_openSeaFlux, | ||
| SurfaceFlux * | a_openLandFlux | ||
| ) |
Construct a MaskedFlux given its component fluxes.
constructor
| a_groundedIceFlux | flux over grounded ice |
| a_floatingIceFlux | flux over floating ice |
| a_openSeaFlux | flux over ice free areas below sea level |
| a_openLandFlux | flux over ice free areas above sea level |
References MaskedFlux().
Referenced by MaskedFlux().
|
inlinevirtual |
|
virtual |
factory method
return a pointer to a new SurfaceFlux object
Implements SurfaceFlux.
References m_floatingIceFlux, m_groundedIceFlux, m_openLandFlux, m_openSeaFlux, and SurfaceFlux::new_surfaceFlux().
|
virtual |
define source term for thickness evolution and place it in flux
| a_flux | output flux data |
| a_amrIce | reference to the ice sheet state |
| a_level | mesh level of a_flux |
| a_dt | current timestep |
a_dt is included in case one needs integrals or averages over a timestep. flux should be defined in meters per year in the current implementation.
Implements SurfaceFlux.
References AmrIceBase::geometry(), m_floatingIceFlux, m_groundedIceFlux, m_openLandFlux, m_openSeaFlux, and SurfaceFlux::surfaceThicknessFlux().
|
protected |
Referenced by new_surfaceFlux(), and surfaceThicknessFlux().
|
protected |
Referenced by new_surfaceFlux(), and surfaceThicknessFlux().
|
protected |
Referenced by new_surfaceFlux(), and surfaceThicknessFlux().
|
protected |
Referenced by new_surfaceFlux(), and surfaceThicknessFlux().
1.8.13