BISICLES AMR ice sheet model  0.9
Public Member Functions | Public Attributes | List of all members
DomainDiagnosticData Class Reference

#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< cfDiagnosticm_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...
 

Constructor & Destructor Documentation

◆ DomainDiagnosticData()

DomainDiagnosticData::DomainDiagnosticData ( )

default constructor

Member Function Documentation

◆ computeArea()

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

◆ computeAreaFraction()

void DomainDiagnosticData::computeAreaFraction ( LevelData< FArrayBox > &  a_area,
const Vector< RefCountedPtr< LevelSigmaCS > > &  a_coordSys,
int  a_maskVal,
int  a_level,
int  a_finestLevel 
) const

◆ computeDeltaVolumeOverIce()

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().

◆ computeDischarge()

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 
)

◆ computeFloatingArea()

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().

◆ computeFluxOverIce()

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().

◆ computeFluxOverMaskedIce()

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().

◆ computeGroundedArea()

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().

◆ computeTotalFlux()

Real DomainDiagnosticData::computeTotalFlux ( const Vector< LevelData< FArrayBox > * >  a_flux,
const Vector< int > &  a_refRatio,
Real  a_crseDx 
) const

References initDiagnostics().

Referenced by endTimestepDiagnostics().

◆ computeTotalGroundedIce()

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

◆ computeTotalIce()

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().

◆ computeVolumeAboveFlotation()

Real DomainDiagnosticData::computeVolumeAboveFlotation ( const Vector< RefCountedPtr< LevelSigmaCS > > &  a_coordSys,
const Vector< int > &  a_refRatio,
Real  a_crseDx,
int  a_finestLevel 
) const

◆ endTimestepDiagnostics()

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 
)

◆ initDiagnostics()

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 
)

◆ read()

void DomainDiagnosticData::read ( HDF5Handle &  a_handle)

read from hdf5

References m_cf_stuff, and readStruct().

Referenced by main().

◆ record()

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().

◆ reset()

void DomainDiagnosticData::reset ( )

reset

copy the last items from the previous set of records

References last_to_first_resize().

Referenced by AmrIce::restart().

◆ write()

void DomainDiagnosticData::write ( HDF5Handle &  a_handle)

write to hdf5

References m_cf_stuff, and writeStruct().

Referenced by AmrIce::restart().

Member Data Documentation

◆ m_cf_stuff

vector<cfDiagnostic> DomainDiagnosticData::m_cf_stuff

◆ m_diagnostic_values

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().

◆ m_initialSumGroundedIce

Real DomainDiagnosticData::m_initialSumGroundedIce

diagnostic quantity – sum(grounded ice) at initial time

Referenced by endTimestepDiagnostics(), and initDiagnostics().

◆ m_initialSumIce

Real DomainDiagnosticData::m_initialSumIce

diagnostic quantity – sum(ice) at initial time

Referenced by endTimestepDiagnostics(), and initDiagnostics().

◆ m_initialVolumeAboveFlotation

Real DomainDiagnosticData::m_initialVolumeAboveFlotation

diagnostic quantity – sum(ice over flotation) at initial time

Referenced by endTimestepDiagnostics(), and initDiagnostics().

◆ m_lastSumCalvedIce

Real DomainDiagnosticData::m_lastSumCalvedIce

diagnostic quantity – sum(calved ice) at last timestep

Referenced by endTimestepDiagnostics().

◆ m_lastSumGroundedIce

Real DomainDiagnosticData::m_lastSumGroundedIce

diagnostic quantity – sum(grounded ice) at last timestep

Referenced by endTimestepDiagnostics(), and initDiagnostics().

◆ m_lastSumIce

Real DomainDiagnosticData::m_lastSumIce

diagnostic quantity – sum(ice) at last timestepa

Referenced by endTimestepDiagnostics(), and initDiagnostics().

◆ m_lastVolumeAboveFlotation

Real DomainDiagnosticData::m_lastVolumeAboveFlotation

diagnostic quantity – sum(ice over flotation) at last timestepa

Referenced by endTimestepDiagnostics(), and initDiagnostics().

◆ m_report_area

bool DomainDiagnosticData::m_report_area

if true, report area of grounded ice and area of floating ice

Referenced by endTimestepDiagnostics(), and initDiagnostics().

◆ m_report_calving

bool DomainDiagnosticData::m_report_calving

if true, report sum(melt from calving model) and sum(calved ice)

Referenced by endTimestepDiagnostics(), and initDiagnostics().

◆ m_report_grounded_ice

bool DomainDiagnosticData::m_report_grounded_ice

if true, report sum(grounded ice) as well as sum(total ice)

Referenced by endTimestepDiagnostics(), and initDiagnostics().

◆ m_report_total_flux

bool DomainDiagnosticData::m_report_total_flux

if true, report sum(basal flux) and sum(surface flux)

Referenced by endTimestepDiagnostics(), and initDiagnostics().


The documentation for this class was generated from the following files: