netxsimdg
Loading...
Searching...
No Matches
Nextsim::ModuleShared Class Reference
Inheritance diagram for Nextsim::ModuleShared:
Inheritance graph
Collaboration diagram for Nextsim::ModuleShared:
Collaboration graph

Public Member Functions

void setData (const ModelState::DataMap &ms) override
 Set the initial data of the component from the passed ModelState.
 
std::string getName () const override
 Returns the name of the component.
 
ModelState getState () const override
 Returns a ModelState from this component.
 
ModelState getState (const OutputLevel &lvl) const override
 Returns a ModelState from this component at a specified level.
 
double data ()
 
double & refData ()
 
void setRefData ()
 
- Public Member Functions inherited from Nextsim::ModelComponent
virtual ModelState getStateRecursive (const OutputSpec &os) const
 Returns the state of the ModelComponent and any ModelComponents it depends on.
 
virtual std::unordered_set< std::string > hFields () const
 Returns the names of all Type::H ModelArrays defined in this component.
 
virtual std::unordered_set< std::string > uFields () const
 Returns the names of all Type::U ModelArrays defined in this component.
 
virtual std::unordered_set< std::string > vFields () const
 Returns the names of all Type::V ModelArrays defined in this component.
 
virtual std::unordered_set< std::string > zFields () const
 Returns the names of all Type::Z ModelArrays defined in this component.
 

Public Attributes

const double qioData = 234
 
const double qicData = 246
 

Additional Inherited Members

- Public Types inherited from Nextsim::ModelComponent
enum class  ProtectedArray {
  H_ICE , C_ICE , H_SNOW , T_ICE ,
  T_AIR , DEW_2M , P_AIR , MIXRAT ,
  SW_IN , LW_IN , MLD , SNOW ,
  SSS , SST , EXT_SSS , EXT_SST ,
  EVAP_MINUS_PRECIP , ML_BULK_CP , TF , WIND_SPEED ,
  WIND_U , WIND_V , HTRUE_ICE , HTRUE_SNOW ,
  OCEAN_U , OCEAN_V , ICE_U , ICE_V ,
  SLAB_SST , SLAB_SSS , SLAB_QDW , SLAB_FDW ,
  COUNT
}
 
enum class  SharedArray {
  H_ICE = SharedArrayOffset , C_ICE , H_SNOW , T_ICE ,
  Q_IA , Q_IC , Q_IO , Q_OW ,
  DQIA_DT , Q_PEN_SW , HSNOW_MELT , SUBLIM ,
  DELTA_HICE , DELTA_CICE , NEW_ICE , COUNT
}
 
typedef Logged::level OutputLevel
 
typedef std::function< void(size_t, const TimestepTime &)> IteratedFn
 
- Static Public Member Functions inherited from Nextsim::ModelComponent
static void setAllModuleData (const ModelState &stateIn)
 
static ModelState getAllModuleState ()
 
static void unregisterAllModules ()
 
static void getAllFieldNames (std::unordered_set< std::string > &uF, std::unordered_set< std::string > &vF, std::unordered_set< std::string > &zF)
 
static void registerExternalSharedArray (SharedArray type, ModelArray *addr)
 Registers a ModelArray into a SharedArray slot from outside any ModelComponent object. Intended for testing and debugging.
 
static void registerExternalProtectedArray (ProtectedArray type, ModelArray *addr)
 Registers a ModelArray into a ProtectedArray slot from outside any ModelComponent object. Intended for testing and debugging.
 
static const MARBackingStore & getSharedArray ()
 Returns a const reference to the store for SharedArray fields.
 
static const MARConstBackingStore & getProtectedArray ()
 Returns a const reference to the store for ProtectedArray fields.
 
- Static Public Attributes inherited from Nextsim::ModelComponent
static const size_t SharedArrayOffset = 0
 
- Protected Member Functions inherited from Nextsim::ModelComponent
void registerModule ()
 
- Static Protected Member Functions inherited from Nextsim::ModelComponent
static void registerSharedArray (SharedArray type, ModelArray *addr)
 
static void registerProtectedArray (ProtectedArray type, const ModelArray *addr)
 
static void overElements (IteratedFn fn, const TimestepTime &tst)
 
static void setOceanMask (const ModelArray &mask)
 Sets the model-wide land-ocean mask (for HField arrays).
 
static void noLandMask ()
 
static ModelArray mask (const ModelArray &data)
 Returns a copy of the provided ModelArray, masked according to the land-ocean mask.
 
static const ModelArrayoceanMask ()
 Returns the ocean mask.
 
- Static Protected Attributes inherited from Nextsim::ModelComponent
static ModelArrayp_oceanMaskH = nullptr
 

Detailed Description

Definition at line 150 of file ModelComponent_test.cpp.

Constructor & Destructor Documentation

◆ ModuleShared()

Nextsim::ModuleShared::ModuleShared ( )
inline

Definition at line 152 of file ModelComponent_test.cpp.

Member Function Documentation

◆ data()

double Nextsim::ModuleShared::data ( )
inline

Definition at line 171 of file ModelComponent_test.cpp.

◆ getName()

std::string Nextsim::ModuleShared::getName ( ) const
inlineoverridevirtual

Returns the name of the component.

Implements Nextsim::ModelComponent.

Definition at line 160 of file ModelComponent_test.cpp.

◆ getState() [1/2]

ModelState Nextsim::ModuleShared::getState ( ) const
inlineoverridevirtual

Returns a ModelState from this component.

The ModelState is map between field names and ModelArray data arrays. The intention is to merge together different ModelSatates to produce a combined state. The returned ModelState will include the states of any subsidiary components held by the object. This is the default level of output and should include all and only fields to be placed in the restart file.

Implements Nextsim::ModelComponent.

Definition at line 161 of file ModelComponent_test.cpp.

◆ getState() [2/2]

ModelState Nextsim::ModuleShared::getState ( const OutputLevel & ) const
inlineoverridevirtual

Returns a ModelState from this component at a specified level.

See the zero argument version for more details. The output levels reuse those defined in the Logged class. The default level is NOTICE, and only levels such as INFO, DEBUG and TRACE should be used, and should provide extra diagnostic fields.

Implements Nextsim::ModelComponent.

Definition at line 167 of file ModelComponent_test.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ refData()

double & Nextsim::ModuleShared::refData ( )
inline

Definition at line 172 of file ModelComponent_test.cpp.

◆ setData()

void Nextsim::ModuleShared::setData ( const ModelState::DataMap & state)
inlineoverridevirtual

Set the initial data of the component from the passed ModelState.

Parameters
stateThe ModelState containing the data to be set.

Implements Nextsim::ModelComponent.

Definition at line 159 of file ModelComponent_test.cpp.

◆ setRefData()

void Nextsim::ModuleShared::setRefData ( )
inline

Definition at line 173 of file ModelComponent_test.cpp.

Member Data Documentation

◆ qicData

const double Nextsim::ModuleShared::qicData = 246

Definition at line 170 of file ModelComponent_test.cpp.

◆ qioData

const double Nextsim::ModuleShared::qioData = 234

Definition at line 169 of file ModelComponent_test.cpp.


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