BISICLES AMR ice sheet model
0.9
|
#include <DomainDiagnosticData.H>
Public Member Functions | |
DomainDiagnosticData () | |
default constructor More... | |
Real | computeTotalIce (const Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, const Vector< int > &a_refRatio, Real a_crseDx, int a_finestLevel) const |
diagnostic functions – integrates variables over domain More... | |
Real | computeVolumeAboveFlotation (const Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, const Vector< int > &a_refRatio, Real a_crseDx, int a_finestLevel) const |
Real | computeTotalGroundedIce (const Vector< DisjointBoxLayout > &a_grids, const Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, const Vector< int > &a_refRatio, Real a_crseDx, int a_finestLevel) const |
void | computeAreaFraction (LevelData< FArrayBox > &a_area, const Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, int a_maskVal, int a_level, int a_finestLevel) const |
Real | computeArea (int a_maskVal, const Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, const Vector< DisjointBoxLayout > &a_grids, const Vector< int > &a_refRatio, Real a_crseDx, int a_finestLevel) const |
Real | computeGroundedArea (const Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, const Vector< DisjointBoxLayout > &a_grids, const Vector< int > &a_refRatio, Real a_crseDx, int a_finestLevel) const |
Real | computeFloatingArea (const Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, const Vector< DisjointBoxLayout > &a_grids, const Vector< int > &a_refRatio, Real a_crseDx, int a_finestLevel) const |
Real | computeFluxOverIce (const Vector< LevelData< FArrayBox > * > a_flux, const Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, const Vector< DisjointBoxLayout > &a_grids, const Vector< int > &a_refRatio, Real a_crseDx, int a_finestLevel) const |
Real | computeFluxOverMaskedIce (int a_maskVal, const Vector< LevelData< FArrayBox > * > a_flux, const Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, const Vector< DisjointBoxLayout > &a_grids, const Vector< int > &a_refRatio, Real a_crseDx, int a_finestLevel) const |
Real | computeDeltaVolumeOverIce (const Vector< LevelData< FArrayBox > * > &a_old_thickness, const Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, const Vector< DisjointBoxLayout > &a_grids, const Vector< int > &a_refRatio, Real a_crseDx, int a_finestLevel) const |
Real | computeTotalFlux (const Vector< LevelData< FArrayBox > * > a_flux, const Vector< int > &a_refRatio, Real a_crseDx) const |
void | initDiagnostics (AmrIce &a_amrIce, const Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, const Vector< DisjointBoxLayout > &a_grids, const Vector< int > &a_refRatio, Real a_crseDx, Real a_time, int a_finestLevel) |
void | computeDischarge (const Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, const Vector< LevelData< FluxBox > * > &a_vectFluxes, const Vector< DisjointBoxLayout > &a_grids, const Vector< Real > &a_dx, const Vector< int > &a_refRatio, Real a_time, Real a_offsetTime, int a_cur_step, int a_finestLevel, int a_verbosity) |
void | endTimestepDiagnostics (const Vector< RefCountedPtr< LevelSigmaCS > > &a_coordSys, const Vector< LevelData< FArrayBox > * > a_old_thickness, const Vector< LevelData< FArrayBox > * > a_divThicknessFlux, const Vector< LevelData< FArrayBox > * > a_basalThicknessSource, const Vector< LevelData< FArrayBox > * > a_surfaceThicknessSource, const Vector< LevelData< FArrayBox > * > a_volumeThicknessSource, const Vector< LevelData< FArrayBox > * > a_calvedIceThickness, const Vector< LevelData< FArrayBox > * > a_addedIceThickness, const Vector< LevelData< FArrayBox > * > a_removedIceThickness, const Vector< DisjointBoxLayout > &a_grids, const Vector< int > &a_refRatio, Real a_crseDx, Real a_time, Real a_offsetTime, Real a_dt, int a_cur_step, int a_finestLevel, int a_verbosity) |
void | record (AmrIce &a_amrIce) |
record diagnostics given the current state of a_amrIce More... | |
void | reset () |
reset More... | |
void | write (HDF5Handle &a_handle) |
write to hdf5 More... | |
void | read (HDF5Handle &a_handle) |
read from hdf5 More... | |
Public Attributes | |
Real | m_diagnostic_values [10] ={0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} |
store domain diagnostics to output later More... | |
vector< cfDiagnostic > | m_cf_stuff |
bool | m_report_grounded_ice |
if true, report sum(grounded ice) as well as sum(total ice) More... | |
bool | m_report_area |
if true, report area of grounded ice and area of floating ice More... | |
bool | m_report_total_flux |
if true, report sum(basal flux) and sum(surface flux) More... | |
bool | m_report_calving |
if true, report sum(melt from calving model) and sum(calved ice) More... | |
Real | m_initialSumIce |
diagnostic quantity – sum(ice) at initial time More... | |
Real | m_lastSumIce |
diagnostic quantity – sum(ice) at last timestepa More... | |
Real | m_lastSumCalvedIce |
diagnostic quantity – sum(calved ice) at last timestep More... | |
Real | m_initialSumGroundedIce |
diagnostic quantity – sum(grounded ice) at initial time More... | |
Real | m_lastSumGroundedIce |
diagnostic quantity – sum(grounded ice) at last timestep More... | |
Real | m_initialVolumeAboveFlotation |
diagnostic quantity – sum(ice over flotation) at initial time More... | |
Real | m_lastVolumeAboveFlotation |
diagnostic quantity – sum(ice over flotation) at last timestepa More... | |
DomainDiagnosticData::DomainDiagnosticData | ( | ) |
default constructor
Real DomainDiagnosticData::computeArea | ( | int | a_maskVal, |
const Vector< RefCountedPtr< LevelSigmaCS > > & | a_coordSys, | ||
const Vector< DisjointBoxLayout > & | a_grids, | ||
const Vector< int > & | a_refRatio, | ||
Real | a_crseDx, | ||
int | a_finestLevel | ||
) | const |
References computeAreaFraction().
Referenced by computeFloatingArea(), and computeGroundedArea().
void DomainDiagnosticData::computeAreaFraction | ( | LevelData< FArrayBox > & | a_area, |
const Vector< RefCountedPtr< LevelSigmaCS > > & | a_coordSys, | ||
int | a_maskVal, | ||
int | a_level, | ||
int | a_finestLevel | ||
) | const |
Referenced by computeArea(), and computeFluxOverMaskedIce().
Real DomainDiagnosticData::computeDeltaVolumeOverIce | ( | const Vector< LevelData< FArrayBox > * > & | a_old_thickness, |
const Vector< RefCountedPtr< LevelSigmaCS > > & | a_coordSys, | ||
const Vector< DisjointBoxLayout > & | a_grids, | ||
const Vector< int > & | a_refRatio, | ||
Real | a_crseDx, | ||
int | a_finestLevel | ||
) | const |
Referenced by endTimestepDiagnostics().
void DomainDiagnosticData::computeDischarge | ( | const Vector< RefCountedPtr< LevelSigmaCS > > & | a_coordSys, |
const Vector< LevelData< FluxBox > * > & | a_vectFluxes, | ||
const Vector< DisjointBoxLayout > & | a_grids, | ||
const Vector< Real > & | a_dx, | ||
const Vector< int > & | a_refRatio, | ||
Real | a_time, | ||
Real | a_offsetTime, | ||
int | a_cur_step, | ||
int | a_finestLevel, | ||
int | a_verbosity | ||
) |
References endTimestepDiagnostics().
Referenced by initDiagnostics(), and AmrIce::timeStep().
Real DomainDiagnosticData::computeFloatingArea | ( | const Vector< RefCountedPtr< LevelSigmaCS > > & | a_coordSys, |
const Vector< DisjointBoxLayout > & | a_grids, | ||
const Vector< int > & | a_refRatio, | ||
Real | a_crseDx, | ||
int | a_finestLevel | ||
) | const |
References computeArea().
Referenced by endTimestepDiagnostics(), and initDiagnostics().
Real DomainDiagnosticData::computeFluxOverIce | ( | const Vector< LevelData< FArrayBox > * > | a_flux, |
const Vector< RefCountedPtr< LevelSigmaCS > > & | a_coordSys, | ||
const Vector< DisjointBoxLayout > & | a_grids, | ||
const Vector< int > & | a_refRatio, | ||
Real | a_crseDx, | ||
int | a_finestLevel | ||
) | const |
Referenced by endTimestepDiagnostics().
Real DomainDiagnosticData::computeFluxOverMaskedIce | ( | int | a_maskVal, |
const Vector< LevelData< FArrayBox > * > | a_flux, | ||
const Vector< RefCountedPtr< LevelSigmaCS > > & | a_coordSys, | ||
const Vector< DisjointBoxLayout > & | a_grids, | ||
const Vector< int > & | a_refRatio, | ||
Real | a_crseDx, | ||
int | a_finestLevel | ||
) | const |
References computeAreaFraction().
Referenced by endTimestepDiagnostics().
Real DomainDiagnosticData::computeGroundedArea | ( | const Vector< RefCountedPtr< LevelSigmaCS > > & | a_coordSys, |
const Vector< DisjointBoxLayout > & | a_grids, | ||
const Vector< int > & | a_refRatio, | ||
Real | a_crseDx, | ||
int | a_finestLevel | ||
) | const |
References computeArea().
Referenced by endTimestepDiagnostics(), and initDiagnostics().
Real DomainDiagnosticData::computeTotalFlux | ( | const Vector< LevelData< FArrayBox > * > | a_flux, |
const Vector< int > & | a_refRatio, | ||
Real | a_crseDx | ||
) | const |
References initDiagnostics().
Referenced by endTimestepDiagnostics().
Real DomainDiagnosticData::computeTotalGroundedIce | ( | const Vector< DisjointBoxLayout > & | a_grids, |
const Vector< RefCountedPtr< LevelSigmaCS > > & | a_coordSys, | ||
const Vector< int > & | a_refRatio, | ||
Real | a_crseDx, | ||
int | a_finestLevel | ||
) | const |
Referenced by computeVolumeAboveFlotation(), endTimestepDiagnostics(), and initDiagnostics().
Real DomainDiagnosticData::computeTotalIce | ( | const Vector< RefCountedPtr< LevelSigmaCS > > & | a_coordSys, |
const Vector< int > & | a_refRatio, | ||
Real | a_crseDx, | ||
int | a_finestLevel | ||
) | const |
diagnostic functions – integrates variables over domain
References computeVolumeAboveFlotation(), and LevelSigmaCS::getH().
Referenced by endTimestepDiagnostics(), and initDiagnostics().
Real DomainDiagnosticData::computeVolumeAboveFlotation | ( | const Vector< RefCountedPtr< LevelSigmaCS > > & | a_coordSys, |
const Vector< int > & | a_refRatio, | ||
Real | a_crseDx, | ||
int | a_finestLevel | ||
) | const |
References computeTotalGroundedIce(), and LevelSigmaCS::getThicknessOverFlotation().
Referenced by computeTotalIce(), endTimestepDiagnostics(), and initDiagnostics().
void DomainDiagnosticData::endTimestepDiagnostics | ( | const Vector< RefCountedPtr< LevelSigmaCS > > & | a_coordSys, |
const Vector< LevelData< FArrayBox > * > | a_old_thickness, | ||
const Vector< LevelData< FArrayBox > * > | a_divThicknessFlux, | ||
const Vector< LevelData< FArrayBox > * > | a_basalThicknessSource, | ||
const Vector< LevelData< FArrayBox > * > | a_surfaceThicknessSource, | ||
const Vector< LevelData< FArrayBox > * > | a_volumeThicknessSource, | ||
const Vector< LevelData< FArrayBox > * > | a_calvedIceThickness, | ||
const Vector< LevelData< FArrayBox > * > | a_addedIceThickness, | ||
const Vector< LevelData< FArrayBox > * > | a_removedIceThickness, | ||
const Vector< DisjointBoxLayout > & | a_grids, | ||
const Vector< int > & | a_refRatio, | ||
Real | a_crseDx, | ||
Real | a_time, | ||
Real | a_offsetTime, | ||
Real | a_dt, | ||
int | a_cur_step, | ||
int | a_finestLevel, | ||
int | a_verbosity | ||
) |
References computeDeltaVolumeOverIce(), computeFloatingArea(), computeFluxOverIce(), computeFluxOverMaskedIce(), computeGroundedArea(), computeTotalFlux(), computeTotalGroundedIce(), computeTotalIce(), computeVolumeAboveFlotation(), m_diagnostic_values, m_initialSumGroundedIce, m_initialSumIce, m_initialVolumeAboveFlotation, m_lastSumCalvedIce, m_lastSumGroundedIce, m_lastSumIce, m_lastVolumeAboveFlotation, m_report_area, m_report_calving, m_report_grounded_ice, and m_report_total_flux.
Referenced by computeDischarge(), and AmrIce::timeStep().
void DomainDiagnosticData::initDiagnostics | ( | AmrIce & | a_amrIce, |
const Vector< RefCountedPtr< LevelSigmaCS > > & | a_coordSys, | ||
const Vector< DisjointBoxLayout > & | a_grids, | ||
const Vector< int > & | a_refRatio, | ||
Real | a_crseDx, | ||
Real | a_time, | ||
int | a_finestLevel | ||
) |
References computeDischarge(), computeFloatingArea(), computeGroundedArea(), computeTotalGroundedIce(), computeTotalIce(), computeVolumeAboveFlotation(), m_diagnostic_values, m_initialSumGroundedIce, m_initialSumIce, m_initialVolumeAboveFlotation, m_lastSumGroundedIce, m_lastSumIce, m_lastVolumeAboveFlotation, m_report_area, m_report_calving, m_report_grounded_ice, m_report_total_flux, and record().
Referenced by computeTotalFlux(), and AmrIce::initialize().
void DomainDiagnosticData::read | ( | HDF5Handle & | a_handle | ) |
void DomainDiagnosticData::record | ( | AmrIce & | a_amrIce | ) |
record diagnostics given the current state of a_amrIce
References m_diagnostic_values, AmrIce::m_iceDensity, column_thermodynamics::rhoi, and AmrIce::time().
Referenced by initDiagnostics(), and AmrIce::restart().
void DomainDiagnosticData::reset | ( | ) |
reset
copy the last items from the previous set of records
References last_to_first_resize().
Referenced by AmrIce::restart().
void DomainDiagnosticData::write | ( | HDF5Handle & | a_handle | ) |
vector<cfDiagnostic> DomainDiagnosticData::m_cf_stuff |
Referenced by NCIO::defineCF(), read(), write(), and NCIO::writeCF().
Real DomainDiagnosticData::m_diagnostic_values[10] ={0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0} |
store domain diagnostics to output later
[0] time, [1] volume of ice, [2] volume above flotation, [3] area of grounded ice, [4] area of floating ice, [5] total SMB, [6] total BMB, [7] total BMB beneath floating ice, [8] total calving flux, [9] total calving and ice front melting flux.
Referenced by endTimestepDiagnostics(), initDiagnostics(), and record().
Real DomainDiagnosticData::m_initialSumGroundedIce |
diagnostic quantity – sum(grounded ice) at initial time
Referenced by endTimestepDiagnostics(), and initDiagnostics().
Real DomainDiagnosticData::m_initialSumIce |
diagnostic quantity – sum(ice) at initial time
Referenced by endTimestepDiagnostics(), and initDiagnostics().
Real DomainDiagnosticData::m_initialVolumeAboveFlotation |
diagnostic quantity – sum(ice over flotation) at initial time
Referenced by endTimestepDiagnostics(), and initDiagnostics().
Real DomainDiagnosticData::m_lastSumCalvedIce |
diagnostic quantity – sum(calved ice) at last timestep
Referenced by endTimestepDiagnostics().
Real DomainDiagnosticData::m_lastSumGroundedIce |
diagnostic quantity – sum(grounded ice) at last timestep
Referenced by endTimestepDiagnostics(), and initDiagnostics().
Real DomainDiagnosticData::m_lastSumIce |
diagnostic quantity – sum(ice) at last timestepa
Referenced by endTimestepDiagnostics(), and initDiagnostics().
Real DomainDiagnosticData::m_lastVolumeAboveFlotation |
diagnostic quantity – sum(ice over flotation) at last timestepa
Referenced by endTimestepDiagnostics(), and initDiagnostics().
bool DomainDiagnosticData::m_report_area |
if true, report area of grounded ice and area of floating ice
Referenced by endTimestepDiagnostics(), and initDiagnostics().
bool DomainDiagnosticData::m_report_calving |
if true, report sum(melt from calving model) and sum(calved ice)
Referenced by endTimestepDiagnostics(), and initDiagnostics().
bool DomainDiagnosticData::m_report_grounded_ice |
if true, report sum(grounded ice) as well as sum(total ice)
Referenced by endTimestepDiagnostics(), and initDiagnostics().
bool DomainDiagnosticData::m_report_total_flux |
if true, report sum(basal flux) and sum(surface flux)
Referenced by endTimestepDiagnostics(), and initDiagnostics().