IndexΒΆ
-
class AdditionalConfiguration
Subclassed by Nextsim::NetcdfMetadataConfiguration
-
class ArgV
-
Private Members
-
int nStrings
-
char **ppc
-
int nStrings
-
class AtmIn : public Nextsim::MiniModelComponent
-
Private Members
-
ModelArrayAccessor<H_ICE0, RW> hiceAccessor
-
ModelArrayAccessor<SW_IN, RW> swinAccessor
-
ModelArrayAccessor<H_ICE0, RW> hiceAccessor
-
class BBMDynamics : public Nextsim::IDynamics, public Nextsim::Configured<BBMDynamics>
Public Types
-
enum [anonymous]
Values:
-
enumerator C_KEY
-
enumerator NU_KEY
-
enumerator YOUNG_KEY
-
enumerator P0_KEY
-
enumerator LAMBDA0_KEY
-
enumerator ALPHA_KEY
-
enumerator EXPPMAX_KEY
-
enumerator MU_KEY
-
enumerator NMAX_KEY
-
enumerator CLAB_KEY
-
enumerator NSTEPS_KEY
-
enumerator RHOI_KEY
-
enumerator RHOA_KEY
-
enumerator RHOO_KEY
-
enumerator CATM_KEY
-
enumerator COCEAN_KEY
-
enumerator FC_KEY
-
enumerator ANGLE_KEY
-
enumerator C_KEY
Public Functions
-
BBMDynamics()
-
inline virtual std::string getName() const override
-
virtual void prepareAdvection() override
-
virtual void update(const TimestepTime &tst) override
-
virtual void advectField(FloatType timestep, ModelArray &field, FloatType lowerLimit = -std::numeric_limits<FloatType>::infinity(), FloatType upperLimit = std::numeric_limits<FloatType>::infinity()) override
-
virtual void setData(const ModelState::DataMap&) override
-
virtual void configure() override
-
virtual ConfigMap getConfiguration() const override
Public Static Functions
Private Members
-
BBMParameters params
-
BBMDynamicsKernel<3> kernel
-
enum [anonymous]
-
class Bounds
-
Public Static Attributes
-
static const size_t max = std::numeric_limits<size_t>::max()
-
static const size_t max = std::numeric_limits<size_t>::max()
-
class CheckingModelComponent : public Nextsim::ModelComponent
Subclassed by Nextsim::PrognosticData
Protected Functions
-
CheckingModelComponent() = default
-
inline void checkFields() const
-
inline void addChecks(const std::map<const std::string, ModelArrayAccessorBase<RO>> &fieldsToAdd)
Protected Attributes
-
bool checkFast = false
Protected Static Functions
-
static inline bool &checkAll()
-
CheckingModelComponent() = default
-
class Chrono
Public Types
-
typedef std::chrono::high_resolution_clock::time_point WallTimePoint
-
typedef std::chrono::high_resolution_clock::duration WallTimeDuration
-
typedef std::clock_t CpuTimePoint
-
typedef double CpuTimeDuration
Public Functions
-
inline Chrono()
-
~Chrono() = default
-
inline WallTimePoint wallHack() const
-
inline WallTimeDuration wallTime() const
-
inline void reset()
-
inline CpuTimePoint cpuHack() const
-
inline CpuTimeDuration cpuTime() const
-
inline int ticks() const
-
inline bool running() const
-
inline void start()
-
inline void stop()
-
inline void extraCpuTime(const CpuTimeDuration &extraTime)
-
inline void extraWallTime(const WallTimeDuration &extraTime)
-
inline void extraTicks(int extraTicks)
Private Functions
-
inline CpuTimeDuration cpuTimeSinceHack() const
-
inline WallTimeDuration wallTimeSinceHack() const
Private Members
-
WallTimePoint m_wallHack
-
WallTimeDuration m_wallTime
-
CpuTimePoint m_cpuHack
-
CpuTimeDuration m_cpuTime
-
int m_ticks
-
bool m_running
-
typedef std::chrono::high_resolution_clock::time_point WallTimePoint
-
struct CommandLine
Public Members
-
int m_argc
-
char **m_argv
-
int m_argc
-
class CommandLineParser
Public Functions
-
CommandLineParser(int argc, char *argv[])
-
virtual ~CommandLineParser() = default
-
inline std::string configHelp()
Public Static Attributes
-
static const std::string allModuleString = ConfigurationHelpPrinter::allStr
-
static const std::string availableModuleString = ConfigurationHelpPrinter::availStr
Private Functions
-
CommandLineParser() = default
-
CommandLineParser(int argc, char *argv[])
-
class CommonRestartMetadata
Public Static Functions
-
static inline const std::string timeNodeName()
-
static inline const std::string formattedName()
-
static inline const std::string unformattedName()
-
static inline const std::string configurationNode()
-
static inline const std::string startTimeName()
-
static inline const std::string stopTimeName()
-
static inline const std::string stepLengthName()
-
static inline const std::string runLengthName()
-
static inline const std::string missingDataName()
-
static inline const std::string timeNodeName()
-
class Config1
Public Functions
-
inline Config1()
-
inline void configure()
-
inline bool checkValue(int target)
Private Members
-
int value
-
inline Config1()
-
class Config2 : public Nextsim::Configured<Config2>
Public Types
-
enum [anonymous]
Values:
-
enumerator VALUE_KEY
-
enumerator NAME_KEY
-
enumerator VALUE_KEY
Public Functions
-
Config2()
-
inline int getValue()
-
inline std::string getName()
-
virtual void configure() override
-
enum [anonymous]
-
class Config3 : public Nextsim::Configured<Config3>
Public Types
-
enum [anonymous]
Values:
-
enumerator VALUE_KEY
-
enumerator WEIGHT_KEY
-
enumerator VALUE_KEY
Public Functions
-
inline Config3()
-
inline int getValue()
-
inline double getWeight()
-
virtual void configure() override
Private Members
-
int value
-
double weight
-
enum [anonymous]
-
class ConfigOutput : public Nextsim::IDiagnosticOutput, public Nextsim::Configured<ConfigOutput>
Public Types
-
enum [anonymous]
Values:
-
enumerator PERIOD_KEY
-
enumerator START_KEY
-
enumerator SNAPSHOT_KEY
-
enumerator FIELDNAMES_KEY
-
enumerator FILENAME_KEY
-
enumerator FILEPERIOD_KEY
-
enumerator PERIOD_KEY
Public Functions
-
ConfigOutput()
-
virtual ~ConfigOutput() = default
-
inline virtual void setFilenamePrefix(const std::string &filePrefix) override
-
virtual void setModelStart(const TimePoint &modelStart) override
-
virtual void outputState(const ModelState &state) override
-
inline virtual std::string getName() const override
-
inline virtual void setData(const ModelState::DataMap&) override
-
virtual void configure() override
Public Static Functions
-
enum [anonymous]
-
class ConfigurationHelp
Public Types
-
enum class ConfigType
Values:
-
enumerator STRING
-
enumerator NUMERIC
-
enumerator INTEGER
-
enumerator MODULE
-
enumerator BOOLEAN
-
enumerator STRING
-
typedef std::list<ConfigurationHelp> OptionList
-
typedef std::map<std::string, OptionList> HelpMap
Public Members
-
std::string name
-
ConfigType type
-
std::string defaultValue
-
std::string units
-
std::string text
-
enum class ConfigType
-
class ConfigurationHelpPrinter
Public Types
-
enum class Output
Values:
-
enumerator ANSI
-
enumerator MARKDOWN
-
enumerator ANSI
-
typedef ConfigurationHelp::ConfigType ConfigType
Public Static Functions
-
static void setOutput(Output out)
-
static std::ostream &print(std::ostream &os, const ConfigurationHelp::HelpMap &map, const std::string &target)
-
static std::ostream &print(std::ostream &os, const ConfigurationHelp &help)
Public Static Attributes
-
static const std::string allStr = "all"
-
static const std::string availStr = "avail"
Protected Static Functions
-
static std::ostream &printString(std::ostream &os, const ConfigurationHelp &help)
-
static std::ostream &printNumeric(std::ostream &os, const ConfigurationHelp &help)
-
static std::ostream &printInteger(std::ostream &os, const ConfigurationHelp &help)
-
static std::ostream &printModule(std::ostream &os, const ConfigurationHelp &help)
-
static std::ostream &printBoolean(std::ostream &os, const ConfigurationHelp &help)
-
enum class Output
-
class Configurator
Public Functions
-
Configurator() = default
-
virtual ~Configurator() = default
Public Static Functions
-
static inline void addFile(const std::string &filename)
-
template<typename C>
static inline void addFiles(const C &container)
-
template<typename C>
static inline void addStreams(const C &container)
-
static void addSStream(const std::stringstream &sstream)
-
static inline void clearStreams()
-
static inline void clear()
-
static inline void setCommandLine(int argc, char *argv[])
-
static void getAdditionalConfiguration(const std::string &source)
-
static boost::program_options::variables_map parse(const boost::program_options::options_description &opt)
-
static void setAdditionalConfiguration(AdditionalConfiguration *pAC)
Private Static Functions
-
static inline CommandLine &commandLine()
-
static inline AdditionalConfiguration *&addConf()
-
Configurator() = default
-
template<typename C>
class Configured : public Nextsim::ConfiguredBase Public Types
-
typedef ConfigurationHelp::HelpMap HelpMap
-
using ConfigType = ConfigurationHelp::ConfigType
Public Functions
-
Configured() = default
-
virtual ~Configured() = default
-
virtual void configure() = 0
-
inline virtual ConfigMap getConfiguration() const
Public Static Functions
-
template<typename T>
static void tryConfigure(T &ref)
-
template<typename T>
static void tryConfigure(T *ptr)
-
template<typename T>
static inline T getConfiguration(const std::string &name, const T &defaultValue)
-
static inline void clearConfigurationMap()
Protected Functions
-
typedef ConfigurationHelp::HelpMap HelpMap
-
class ConfiguredBase
Subclassed by Nextsim::Configured< Config3 >, Nextsim::Configured< MissingData >, Nextsim::Configured< MEVPDynamics >, Nextsim::Configured< Model >, Nextsim::Configured< ConfigOutput >, Nextsim::Configured< BBMDynamics >, Nextsim::Configured< PrognosticData >, Nextsim::Configured< Config2 >, Nextsim::Configured< C >
Public Functions
-
virtual ~ConfiguredBase() = default
-
virtual void configure() = 0
-
virtual ConfigMap getConfiguration() const = 0
-
virtual ~ConfiguredBase() = default
-
class ConfiguredModule
Public Functions
-
ConfiguredModule() = default
-
virtual ~ConfiguredModule() = default
Public Static Functions
-
static ConfigMap getAllModuleConfigurations()
Public Static Attributes
-
static const std::string MODULE_PREFIX = "Modules"
-
ConfiguredModule() = default
-
class ConstModelArraySlice
Public Types
-
using Slice = ArraySlicer::Slice
-
using SliceIter = ArraySlicer::SliceIter
-
using iterator = MASIter
Public Functions
-
ConstModelArraySlice() = delete
-
inline ConstModelArraySlice(const ModelArray &ma, const Slice &sl)
-
inline operator const ModelArraySlice()
-
using Slice = ArraySlicer::Slice
-
class Counterant : public Nextsim::Iterator::Iterant
Public Functions
-
inline virtual void init()
-
inline virtual void start(const TimePoint &startTime)
-
inline virtual void iterate(const TimestepTime &tst)
-
inline virtual void stop(const TimePoint &stopTime)
-
inline int getCount()
Public Members
-
int count
-
int startCount
-
int stopCount
-
inline virtual void init()
-
class CouplEr
-
Private Members
-
ModelArrayAccessor<Nextsim::sw_in, RW> swFluxAccessor
-
ModelArrayAccessor<Nextsim::sw_in, RW> swFluxAccessor
-
class CouplIn : public Nextsim::MiniModelComponent
Public Functions
-
inline CouplIn(ModelArrayStore &store)
-
inline void configure()
-
inline void setData()
-
inline void update()
Private Members
-
ModelArrayAccessor<H_ICE, RW> hiceAccessor
-
ModelArrayAccessor<SW_IN, RW> swinAccessor
-
CouplEr coupler
-
inline CouplIn(ModelArrayStore &store)
-
class DevStep : public Nextsim::IModelStep
Public Functions
-
DevStep()
-
virtual ~DevStep() = default
-
inline virtual void writeRestartFile(const std::string &filePath) override
-
inline virtual void setData(PrognosticData &pDat) override
-
virtual void init() override
-
virtual void start(const TimePoint &startTime) override
-
virtual void iterate(const TimestepTime &dt) override
-
inline virtual void stop(const TimePoint &stopTime) override
Private Members
-
PrognosticData *pData
-
Duration m_restartPeriod
-
TimePoint lastOutput
-
std::string m_restartFileName
-
DevStep()
-
class DimensionMap
Public Functions
-
DimensionMap()
-
inline size_t size() const noexcept
-
void validate()
-
DimensionMap()
-
struct DimensionSpec
Public Functions
-
inline void setLengths(size_t length)
-
inline bool operator==(const DimensionSpec &other)
-
inline void setLengths(size_t length)
-
class DummyDynamics : public Nextsim::IDynamics
Subclassed by Nextsim::PDTestDynamics
Public Functions
-
DummyDynamics() = default
-
inline virtual std::string getName() const override
-
inline virtual void update(const TimestepTime &tst) override
-
inline virtual void prepareAdvection() override
-
inline virtual void setData(const ModelState::DataMap &state) override
-
DummyDynamics() = default
-
class Duration
Public Types
-
typedef SystemDuration Basis
Public Functions
-
inline Duration()
-
Duration(const std::string &str)
-
Duration(double seconds)
-
inline Duration &operator*=(double a)
-
inline Duration &operator/=(double a)
-
inline double seconds() const
-
inline std::string format() const
Public Members
- friend TimePoint
Private Members
-
Basis m_d
-
typedef SystemDuration Basis
-
class Earl
Public Static Functions
-
static inline void incr()
-
static inline void incr()
-
template<typename E>
class EnumWrapper -
Public Static Functions
-
static inline void setMap(const MapType &inMap)
Private Members
-
E value
Private Static Attributes
-
static MapType map
Friends
-
friend std::istream &operator>>(std::istream &is, EnumWrapper<E>&)
-
static inline void setMap(const MapType &inMap)
-
struct ExecutionSpaceDummy
-
struct ExtModelArray
-
struct ExtModelArrayFlagged
Public Functions
-
ExtModelArrayFlagged(const std::string &name, bool _isReadWrite, bool _isRegistered)
-
ExtModelArrayFlagged(const std::string &name, bool _isReadWrite, bool _isRegistered)
-
class FieldAdvection
Public Static Functions
-
static ModelArray &advectField(ModelArray &field, const TimestepTime &tst, FloatType lowerLimit = -std::numeric_limits<FloatType>::infinity(), FloatType upperLimit = std::numeric_limits<FloatType>::infinity())
-
static ModelArray &advectField(ModelArray &field, const TimestepTime &tst, FloatType lowerLimit = -std::numeric_limits<FloatType>::infinity(), FloatType upperLimit = std::numeric_limits<FloatType>::infinity())
-
class FieldInfo
Public Functions
-
inline FieldInfo(std::string n, const ModelArrayAccessorBase<RO> &a)
-
inline FieldInfo(std::string n, const ModelArrayAccessorBase<RO> &a)
-
class FileCallbackCloser
-
class FileHolder
-
class Finalizer
-
Public Static Functions
-
static void registerFunc(const FinalFn &fn)
-
static bool registerUnique(const FinalFn &fn)
-
static bool contains(const FinalFn &fn)
-
static void finalize()
-
static size_t count()
Private Static Functions
-
static FinalFnContainer &functions()
-
static void registerFunc(const FinalFn &fn)
-
class FreeDriftDynamics : public Nextsim::IDynamics
Public Functions
-
inline FreeDriftDynamics()
-
inline virtual std::string getName() const override
-
inline virtual void update(const TimestepTime &tst) override
-
inline virtual void setData(const ModelState::DataMap &ms) override
-
inline virtual void advectField(FloatType timestep, ModelArray &field, FloatType lowerLimit = -std::numeric_limits<FloatType>::infinity(), FloatType upperLimit = std::numeric_limits<FloatType>::infinity()) override
-
inline virtual void prepareAdvection() override
Private Members
-
FreeDriftDynamicsKernel<3> kernel
-
DynamicsParameters params
-
inline FreeDriftDynamics()
-
template<typename Base>
class FreezingPointImpl : public Base Public Functions
-
inline void update(ModelArrayAuto &tf, const ConstModelArrayAuto &sss) const override
-
inline void update(ModelArrayAuto &tf, const ConstModelArrayAuto &sss) const override
-
struct GridDimensions
Public Members
-
int nx
-
int ny
-
int nx
-
class Halo
Public Functions
-
inline Halo(ModelArray &ma)
-
template<int N>
inline Halo(DGVectorHolder<N> &dgvh)
-
template<int N>
inline Halo(DGVector<N> &dgv)
-
template<int N>
inline Halo(CGVector<N> &cgv)
-
inline size_t getInnerSize()
-
template<typename T>
inline void exchangeHalos(T &target)
Public Static Functions
-
static inline const bool isDimLateral(const ModelArray::Dimension dim)
Public Static Attributes
-
static const size_t haloWidth = 1
Private Types
-
using Slice = ArraySlicer::Slice
-
using SliceIter = ArraySlicer::SliceIter
-
using Edge = ModelMetadata::Edge
-
using Corner = ModelMetadata::Corner
-
using VBounds = ArraySlicer::Slice::VBounds
Private Functions
-
void setSpatialDims()
-
void initializeHaloMetadata()
-
void openMemoryWindow(size_t idx)
-
void closeMemoryWindow()
-
template<typename S>
inline void populateSendBuffers(S &source)
-
Edge edgeFromSendPos(int sendPos, int fromRank)
-
void recvPositions(int &fromRank, size_t &count, size_t &disp, size_t &recvOffset, Edge edge, const size_t neighbourIndex, const size_t cell, bool isPeriodic)
-
void recvPositions(int &fromRank, size_t &count, size_t &disp, size_t &recvOffset, Corner corner, const size_t cell, bool isPeriodic)
-
void populateRecvBuffers()
-
template<typename T>
inline void populateTarget(T &target)
-
void transposeCorners()
-
void sendBufferPositions(int &idx_a, int &idx_b, int &offset, const Edge edge)
-
template<typename S, typename T>
inline void sourceToSendBuffer(const Edge edge, Eigen::Map<T> &buffer_map, Eigen::Map<S, 0, Eigen::InnerStride<Eigen::Dynamic>> &source_map)
-
void recvBufferPositions(int &idx_a, int &idx_b, int &offset, const Edge edge)
Private Members
- const typedef ArraySlicer::SliceIter::MultiDim MultiDim
-
const MultiDim m_haloDims
-
size_t m_Nx
-
size_t m_Ny
-
size_t m_innerNx
-
size_t m_innerNy
-
size_t m_numHaloCells
-
size_t m_numComps
-
int nCells = 1
-
std::array<Edge, Edge::N_EDGE> edges = ModelMetadata::edges
-
std::array<Corner, Corner::N_CORNER> corners = ModelMetadata::corners
-
MPI_Win m_win
-
bool isVertex = false
-
bool isCG = false
-
size_t CGdegree = 0
-
size_t sendBufferSize = 0
-
size_t recvBufferSize = 0
-
inline Halo(ModelArray &ma)
-
class HappyExcept : public std::runtime_error
-
class HappyTime : public std::exception
Public Functions
-
inline const char *what() const noexcept
-
inline const char *what() const noexcept
-
class IceCalc : public Nextsim::MiniModelComponent
Public Functions
-
inline IceCalc(ModelArrayStore &store)
-
inline void configure()
-
inline void update(int tStep)
-
inline void getData(FloatType &dataOut)
Private Members
-
ModelArrayAccessor<H_ICE, RW> hiceAccessor
-
ModelArrayAccessor<H_ICE0> hice0Accessor
-
IceThermo thermo
-
inline IceCalc(ModelArrayStore &store)
-
class IceThermo : public Nextsim::MiniModelComponent
-
Private Members
-
ModelArrayAccessor<H_ICE, RW> hiceAccessor
-
ModelArrayAccessor<H_ICE, RW> hiceAccessor
-
class IDiagnosticOutput : public Nextsim::ModelComponent
Subclassed by Nextsim::ConfigOutput, Nextsim::NoOutput, Nextsim::SimpleOutput
Public Functions
-
inline IDiagnosticOutput()
-
virtual ~IDiagnosticOutput() = default
-
virtual void setFilenamePrefix(const std::string &filePrefix) = 0
-
virtual void outputState(const ModelState &state) = 0
-
inline virtual void setData(const ModelState::DataMap &state)
-
inline virtual void setModelStart(const TimePoint &ModelStart)
-
inline IDiagnosticOutput()
-
class IDynamics : public Nextsim::ModelComponent
Subclassed by Nextsim::BBMDynamics, Nextsim::DummyDynamics, Nextsim::FreeDriftDynamics, Nextsim::MEVPDynamics
Public Functions
-
inline IDynamics()
-
inline IDynamics(bool usesDamageIn)
-
virtual ~IDynamics() = default
-
inline virtual ModelState getStatePrognostic() const override
-
inline virtual ModelState getStateDiagnostic() const override
-
inline virtual std::string getName() const override
-
inline virtual void setData(const ModelState::DataMap &ms) override
-
virtual void update(const TimestepTime &tst) = 0
-
inline virtual bool usesDamage() const
-
inline virtual void advectField(FloatType timestep, ModelArray &field, FloatType lowerLimit = -std::numeric_limits<FloatType>::infinity(), FloatType upperLimit = std::numeric_limits<FloatType>::infinity())
-
virtual void prepareAdvection() = 0
Protected Attributes
-
ModelArrayAccessor<Protected::ICE_U, RW> uiceAccessor
-
ModelArrayAccessor<Protected::ICE_V, RW> viceAccessor
-
ModelArrayAccessor<Protected::IO_STRESS_X, RW> tauxAccessor
-
ModelArrayAccessor<Protected::IO_STRESS_Y, RW> tauyAccessor
-
ModelArrayAccessor<Protected::SHEAR, RW> shearAccessor
-
ModelArrayAccessor<Protected::DIV, RW> divergenceAccessor
-
ModelArrayAccessor<Protected::SIGMAI, RW> sigmaIAccessor
-
ModelArrayAccessor<Protected::SIGMAII, RW> sigmaIIAccessor
-
ModelArrayAccessor<Shared::DAMAGE, RW> damageAccessor
-
ModelArrayAccessor<Protected::WIND_U> uwindAccessor
-
ModelArrayAccessor<Protected::WIND_V> vwindAccessor
-
ModelArrayAccessor<Protected::OCEAN_U> uoceanAccessor
-
ModelArrayAccessor<Protected::OCEAN_V> voceanAccessor
-
ModelArrayAccessor<Protected::SSH> sshAccessor
-
bool m_usesDamage
-
ModelArrayAccessor<Shared::H_ICE_DG, RW> hiceDGAccessor
-
ModelArrayAccessor<Shared::C_ICE_DG, RW> ciceDGAccessor
-
ModelArrayAccessor<Shared::H_SNOW_DG, RW> hsnowDGAccessor
Protected Static Functions
-
static inline bool checkSpherical(const ModelState::DataMap &ms)
-
inline IDynamics()
-
class IFreezingPoint : public Nextsim::ModelComponent
Subclassed by Nextsim::LinearFreezingImpl, Nextsim::UnescoFreezingImpl
Public Functions
-
virtual ~IFreezingPoint() = default
-
inline virtual void setData(const ModelState::DataMap &state) override
-
virtual void update(ModelArrayAuto &tf, const ConstModelArrayAuto &sss) const = 0
-
virtual ~IFreezingPoint() = default
-
class IModelStep : public Nextsim::Iterator::Iterant
Subclassed by Nextsim::DevStep
Public Functions
-
IModelStep() = default
-
virtual ~IModelStep() = default
-
inline void setInitFile(const std::string &filePath)
-
virtual void writeRestartFile(const std::string &filePath) = 0
-
virtual void setData(PrognosticData &data) = 0
-
virtual void init() = 0
-
virtual void start(const TimePoint &startTime) = 0
-
virtual void iterate(const TimestepTime &dt) = 0
-
virtual void stop(const TimePoint &stopTime) = 0
Protected Attributes
-
std::string initialRestartFilePath
-
IModelStep() = default
-
class ImplementationNames
-
Public Static Functions
-
static inline Container getAll()
Private Static Functions
-
static inline InternalContainer &getNames()
Friends
- friend class Module
-
static inline Container getAll()
-
class Index
-
class IParaGridIO
Subclassed by Nextsim::ParaGridIO
Public Functions
-
inline IParaGridIO(ParametricGrid &grid)
-
virtual ~IParaGridIO() = default
-
virtual ModelState getModelState(const std::string &filePath) = 0
-
virtual void dumpModelState(const ModelState &state, const std::string &filePath) = 0
-
virtual ModelState readForcingTime(const std::set<std::string> &forcings, const TimePoint &time, const std::string &filePath) = 0
-
virtual void writeDiagnosticTime(const ModelState &state, const std::string &filePath) = 0
Protected Functions
-
IParaGridIO() = delete
Private Members
-
ParametricGrid &grid
-
inline IParaGridIO(ParametricGrid &grid)
-
class IRectGridIO
Subclassed by Nextsim::RectGridIO
Public Functions
-
inline IRectGridIO(RectangularGrid &grid)
-
virtual ~IRectGridIO() = default
-
virtual ModelState getModelState(const std::string &filePath) = 0
-
virtual void dumpModelState(const ModelState &state, const std::string &filePath, bool isRestart) const = 0
Protected Functions
-
IRectGridIO() = default
Private Members
-
RectangularGrid *grid
-
inline IRectGridIO(RectangularGrid &grid)
-
class IStructure
Subclassed by Nextsim::ParametricGrid, Nextsim::RectangularGrid
Public Functions
-
inline IStructure()
-
virtual ~IStructure() = default
-
virtual ModelState getModelState(const std::string &filePath) = 0
-
inline virtual const std::string &structureType() const
-
inline bool structureTypeCheck(const std::string &str) const
-
virtual void dumpModelState(const ModelState &state, const std::string &filePath, bool isRestart) const = 0
Public Static Functions
-
static inline const std::string structureNodeName()
Private Members
-
const std::string processedStructureName = "none"
-
inline IStructure()
-
class Iterant
Subclassed by Nextsim::Counterant, Nextsim::IModelStep
Public Functions
-
Iterant() = default
-
Iterant(const Iterant ©From) = default
-
Iterant(Iterant&&) = default
-
virtual ~Iterant() = default
-
virtual void init() = 0
-
virtual void start(const TimePoint &startTime) = 0
-
virtual void iterate(const TimestepTime &dt) = 0
-
virtual void stop(const TimePoint &stopTime) = 0
-
Iterant() = default
-
class Iterator
-
class ITest
Subclassed by Test::DefaultImpl, Test::Impl1, Test::Impl2
-
class ITest2
Subclassed by Test::AnotherImpl, Test::DefaultImpl_2
-
template<bool Active>
class KokkosTimer Public Functions
-
inline KokkosTimer(const std::string &_name)
-
inline ~KokkosTimer()
-
inline void start()
-
inline void stop()
-
inline void print()
-
inline KokkosTimer(const std::string &_name)
-
class LinearFreezingImpl : public Nextsim::IFreezingPoint
Public Functions
-
inline virtual std::string getName() const override
- inline KERNEL_IMPL_FUNCTION FloatType calculate (FloatType sss) const
-
inline virtual std::string getName() const override
-
class Logged
Public Types
-
enum class level
Values:
-
enumerator ALL
-
enumerator TRACE
-
enumerator DEBUG_LVL
-
enumerator INFO
-
enumerator NOTICE
-
enumerator WARNING
-
enumerator ERROR
-
enumerator CRITICAL
-
enumerator ALERT
-
enumerator EMERGENCY
-
enumerator NONE
-
enumerator ALL
Public Static Functions
-
static void configure()
-
static inline void trace(const std::string &message)
-
static inline void debug(const std::string &message)
-
static inline void info(const std::string &message)
-
static inline void notice(const std::string &message)
-
static inline void warning(const std::string &message)
-
static inline void error(const std::string &message)
-
static inline void critical(const std::string &message)
-
static inline void alert(const std::string &message)
-
static inline void emergency(const std::string &message)
Public Static Attributes
-
static const std::map<std::string, level> levelNames = {{"all", level::ALL}, {"All", level::ALL}, {"ALL", level::ALL}, {"trace", level::TRACE}, {"TRACE", level::TRACE}, {"debug", level::DEBUG_LVL}, {"DEBUG", level::DEBUG_LVL}, {"info", level::INFO}, {"INFO", level::INFO}, {"warning", level::WARNING}, {"WARNING", level::WARNING}, {"error", level::ERROR}, {"ERROR", level::ERROR}, {"critical", level::CRITICAL}, {"CRITICAL", level::CRITICAL}, {"fatal", level::CRITICAL}, {"FATAL", level::CRITICAL}, {"alert", level::ALERT}, {"ALERT", level::ALERT}, {"emergency", level::EMERGENCY}, {"EMERGENCY", level::EMERGENCY}, {"none", level::NONE}, {"None", level::NONE}, {"NONE", level::NONE},}
Protected Functions
-
Logged() = default
-
enum class level
-
class MASIter
Public Types
-
using iterator_category = std::forward_iterator_tag
-
using value_type = FloatType
-
using difference_type = std::ptrdiff_t
-
using pointer = FloatType*
-
using reference = FloatType&
-
using Slice = ArraySlicer::Slice
-
using SliceIter = ArraySlicer::SliceIter
Public Functions
-
MASIter(ModelArraySlice &mas)
-
inline FloatType &operator*() const
-
inline MASIter &operator++()
-
inline bool operator!=(const MASIter &other) const
-
inline bool operator==(const MASIter &other) const
-
inline FloatType *operator->() const
-
inline MASIter operator++(int)
Public Members
- friend ModelArraySlice
-
using iterator_category = std::forward_iterator_tag
-
class MEVPDynamics : public Nextsim::IDynamics, public Nextsim::Configured<MEVPDynamics>
Public Types
-
enum [anonymous]
Values:
-
enumerator PSTAR_KEY
-
enumerator DELTA_KEY
-
enumerator C_KEY
-
enumerator NSTEPS_KEY
-
enumerator RHOI_KEY
-
enumerator RHOA_KEY
-
enumerator RHOO_KEY
-
enumerator CATM_KEY
-
enumerator COCEAN_KEY
-
enumerator FC_KEY
-
enumerator ANGLE_KEY
-
enumerator PSTAR_KEY
Public Functions
-
MEVPDynamics()
-
inline virtual std::string getName() const override
-
virtual void prepareAdvection() override
-
virtual void update(const TimestepTime &tst) override
-
virtual void advectField(FloatType timestep, ModelArray &field, FloatType lowerLimit = -std::numeric_limits<FloatType>::infinity(), FloatType upperLimit = std::numeric_limits<FloatType>::infinity()) override
-
virtual void setData(const ModelState::DataMap&) override
-
virtual void configure() override
-
virtual ConfigMap getConfiguration() const override
Public Static Functions
Private Members
-
VPParameters params
-
MEVPDynamicsKernel<3> kernel
-
enum [anonymous]
-
class MiniModelComponent
Subclassed by Nextsim::AtmIn, Nextsim::CouplIn, Nextsim::IceCalc, Nextsim::IceThermo
-
class MissingData : public Nextsim::Configured<MissingData>
-
Public Static Attributes
-
static constexpr FloatType defaultValue = 1.7e38
Private Static Functions
-
static inline FloatType &getValue()
-
static constexpr FloatType defaultValue = 1.7e38
-
class Model : public Nextsim::Configured<Model>
Public Types
-
enum [anonymous]
Values:
-
enumerator RESTARTFILE_KEY
-
enumerator STARTTIME_KEY
-
enumerator STOPTIME_KEY
-
enumerator RUNLENGTH_KEY
-
enumerator TIMESTEP_KEY
-
enumerator MISSINGVALUE_KEY
-
enumerator RESTARTPERIOD_KEY
-
enumerator RESTARTOUTFILE_KEY
-
enumerator RESTARTFILE_KEY
Public Functions
-
Model()
-
~Model()
-
void configureRestarts()
-
void configureTime()
-
virtual void configure() override
-
inline ConfigMap getConfig() const
-
void run()
-
void writeRestartFile()
-
void setFinalFilename(const std::string &finalFile)
Public Static Functions
Public Static Attributes
-
static const std::string restartOptionName = "model.init_file"
Private Members
-
Iterator iterator
-
DevStep modelStep
-
PrognosticData pData
-
bool configuredRestarts = false
-
bool configuredTime = false
-
enum [anonymous]
-
class ModelArray
Public Types
-
using Slice = ArraySlicer::Slice
-
using Components = DataType::RowXpr
-
using ConstComponents = DataType::ConstRowXpr
-
using Component = DataType::ColXpr
-
using ConstComponent = DataType::ConstColXpr
-
using MultiDim = std::vector<size_t>
-
using TypeMap = std::map<ModelArray::Type, ModelArray::Type>
Public Functions
-
ModelArray()
-
ModelArray(const Type type, const std::pair<FloatType, FloatType> &bounds = {-std::numeric_limits<FloatType>::max(), std::numeric_limits<FloatType>::max()})
-
ModelArray(const ModelArray&)
-
inline virtual ~ModelArray()
-
ModelArray &operator=(const ModelArray&)
-
ModelArray &operator=(const FloatType &val)
-
ModelArray &operator=(const ModelArraySlice&)
-
inline ModelArray &operator=(const DataType &src)
-
inline operator DataType&()
-
inline operator const DataType&() const
-
ModelArraySlice operator[](const Slice&)
-
ConstModelArraySlice operator[](const Slice&) const
-
inline ModelArray &operator+=(const ModelArray &b)
-
inline ModelArray &operator-=(const ModelArray &b)
-
inline ModelArray &operator*=(const ModelArray &b)
-
inline ModelArray &operator/=(const ModelArray &b)
-
inline ModelArray &operator+=(FloatType b)
-
inline ModelArray &operator-=(FloatType b)
-
inline ModelArray &operator*=(FloatType b)
-
inline ModelArray &operator/=(FloatType b)
-
ModelArray operator+(const ModelArray&) const
-
ModelArray operator-(const ModelArray&) const
-
ModelArray operator*(const ModelArray&) const
-
ModelArray operator/(const ModelArray&) const
-
ModelArray operator-() const
-
ModelArray operator+(const FloatType&) const
-
ModelArray operator-(const FloatType&) const
-
ModelArray operator*(const FloatType&) const
-
ModelArray operator/(const FloatType&) const
-
ModelArray max(FloatType max) const
-
ModelArray min(FloatType min) const
-
ModelArray max(const ModelArray &maxArr) const
-
ModelArray min(const ModelArray &minArr) const
-
ModelArray &clampAbove(FloatType max)
-
ModelArray &clampBelow(FloatType min)
-
ModelArray &clampAbove(const ModelArray &maxArr)
-
ModelArray &clampBelow(const ModelArray &minArr)
-
inline size_t nDimensions() const
-
inline const MultiDim &dimensions() const
-
inline size_t size() const
-
inline size_t trueSize() const
-
inline const FloatType *getData() const
-
inline ModelArray::DataType &getDataRef()
-
inline const DataType &data() const
-
inline Type getType() const
-
inline void setDimensions(const MultiDim &dims)
-
inline void reinitialize()
-
void setData(FloatType value)
-
void setData(const FloatType *pData)
-
void setData(const DataType &data)
-
void setData(const ModelArray &source)
-
void assignData(const ModelArray &source)
-
void assignData(ModelArray &&source)
-
inline const FloatType &operator[](size_t i) const
-
inline FloatType &operator[](size_t i)
-
inline void setNComponents(size_t nComp)
-
inline Components components(size_t i)
-
inline const ConstComponents components(size_t i) const
-
Components components(const MultiDim &loc)
-
const ConstComponents components(const MultiDim &loc) const
-
inline Component component(size_t compo = 0)
-
inline const ConstComponent component(size_t compo = 0) const
-
inline operator Component()
-
inline ModelArray &operator=(const Component &src)
-
inline ModelArray &operator=(const ConstComponent &src)
-
inline size_t indexFromLocation(const MultiDim &loc) const
-
inline MultiDim locationFromIndex(size_t index) const
-
inline size_t nComponents() const
-
inline bool hasDoF() const
-
void checkLimits(const ModelArray &mask) const
Public Static Functions
-
static inline size_t nDimensions(Type type)
-
static inline size_t size(Type type)
-
static inline size_t size(Dimension dim)
-
static void setDimension(Dimension dim, size_t globalLength)
-
static inline void setNComponents(Type type, size_t nComp)
-
static inline ModelArray::Type component0Type(ModelArray::Type withComponents)
-
static inline size_t nComponents(const Type type)
-
static bool hasDoF(const Type type)
Public Static Attributes
-
static TypeDimensions typeDimensions
-
static std::map<Dimension, DimensionSpec> definedDimensions = {{ModelArray::Dimension::X, {"x_dim", "xdim", 0, 0, 0}}, {ModelArray::Dimension::Y, {"y_dim", "ydim", 0, 0, 0}}, {ModelArray::Dimension::XVERTEX, {"x_vertex", "xvertex", 1, 1, 0}}, {ModelArray::Dimension::YVERTEX, {"y_vertex", "yvertex", 1, 1, 0}}, {ModelArray::Dimension::XCG, {"x_cg", "x_cg", 2, 2, 0}}, {ModelArray::Dimension::YCG, {"y_cg", "y_cg", 2, 2, 0}}, {ModelArray::Dimension::DG, {"dg_comp", "dg_comp", 6, 6, 0}}, {ModelArray::Dimension::DGSTRESS, {"dgstress_comp", "dgstress_comp", 8, 8, 0}}, {ModelArray::Dimension::NCOORDS, {"ncoords", "ncoords", 2, 2, 0}},}
-
static const std::map<Type, std::string> typeNames = {{ModelArray::Type::H, "HField"}, {ModelArray::Type::VERTEX, "VertexField"}, {ModelArray::Type::U, "UField"}, {ModelArray::Type::V, "VField"}, {ModelArray::Type::DG, "DGField"}, {ModelArray::Type::DGSTRESS, "DGSField"}, {ModelArray::Type::CG, "CGField"},}
-
static std::map<Type, Base> baseTypes = {{ModelArray::Type::H, ModelArray::Base::Cell}, {ModelArray::Type::VERTEX, ModelArray::Base::Vertex}, {ModelArray::Type::U, ModelArray::Base::Cell}, {ModelArray::Type::V, ModelArray::Base::Cell}, {ModelArray::Type::DG, ModelArray::Base::Cell}, {ModelArray::Type::DGSTRESS, ModelArray::Base::Cell}, {ModelArray::Type::CG, ModelArray::Base::Vertex},}
Protected Attributes
-
Type type
Private Static Functions
-
template<typename T = size_t, typename C, typename I>
static inline T indexr(C dims, I first, I second)
-
template<typename T = size_t, typename C, typename I, typename ...Args>
static inline T indexr(C dims, I first, Args... args)
-
template<typename T = size_t, typename C>
static inline T indexr(C dims, const ModelArray::MultiDim &loc)
-
static const TypeMap definedComp0Map()
-
static void validateMaps()
Private Static Attributes
-
static bool areMapsInvalid = true
-
static SizeMap m_sz
-
static DimensionMap m_dims
-
using Slice = ArraySlicer::Slice
-
template<const TextTag &fieldName>
class ModelArrayAccessor<fieldName, RO> : public Nextsim::ModelArrayAccessorBase<RO> Public Functions
-
inline ModelArrayAccessor(ModelArrayStore &store)
-
inline ModelArrayAccessor(ModelArrayStore &store)
-
template<const TextTag &fieldName>
class ModelArrayAccessor<fieldName, RW> : public Nextsim::ModelArrayAccessorBase<RW> Public Functions
-
inline ModelArrayAccessor(ModelArrayStore &store)
-
template<typename ...Args>
inline ModelArrayAccessor(ModelArrayStore &store, bool isReadWriteExternal, Args&&... args)
Private Types
-
using Base = ModelArrayAccessorBase<RW>
-
inline ModelArrayAccessor(ModelArrayStore &store)
-
template<bool isReadWrite = RO>
class ModelArrayAccessorBase
-
template<>
class ModelArrayAccessorBase<RO> Subclassed by Nextsim::ModelArrayAccessor< fieldName, RO >, Nextsim::ModelArrayAccessorBase< RW >
Public Functions
-
inline ModelArrayAccessorBase(ModelArrayStore &store, const std::string &fieldName)
-
inline const ModelArray &getHostRO() const
-
inline const ConstModelArrayAuto &getAutoRO() const
-
template<typename ExecSpace>
inline const ConstModelArrayAuto &getAutoRO(ExecSpace execSpace) const
Public Static Functions
-
static inline std::unordered_map<std::string, ModelArrayAccessorBase<RO>> getAll(const ModelArrayStore &store)
Protected Functions
-
inline ModelArrayAccessorBase(ModelArrayStore::ExtModelArray &_target)
Protected Attributes
-
ModelArrayStore::ExtModelArray &target
-
inline ModelArrayAccessorBase(ModelArrayStore &store, const std::string &fieldName)
-
template<>
class ModelArrayAccessorBase<RW> : public Nextsim::ModelArrayAccessorBase<RO> Subclassed by Nextsim::ModelArrayAccessor< fieldName, RW >
Public Functions
-
inline ModelArrayAccessorBase(ModelArrayStore &store, const std::string &fieldName)
-
template<typename ...Args>
inline ModelArrayAccessorBase(ModelArrayStore &store, const std::string &fieldName, bool isReadWriteExternal, Args&&... args)
-
inline ModelArray &getHostRW()
-
inline ModelArrayAuto &getAutoRW()
-
template<typename ExecSpace>
inline ModelArrayAuto &getAutoRW(ExecSpace execSpace)
Private Types
-
using Base = ModelArrayAccessorBase<RO>
-
inline ModelArrayAccessorBase(ModelArrayStore &store, const std::string &fieldName)
-
class ModelArraySlice
Public Types
-
using Slice = ArraySlicer::Slice
-
using SliceIter = ArraySlicer::SliceIter
-
using iterator = MASIter
Public Functions
-
ModelArraySlice() = delete
-
inline ModelArraySlice(ModelArray &ma, const Slice &sl)
-
ModelArraySlice &operator=(ModelArray &ma)
-
ModelArraySlice &operator=(ModelArraySlice &other)
-
ModelArraySlice &operator=(FloatType v)
-
template<typename T>
inline ModelArraySlice &operator=(const T &buffer)
-
ModelArraySlice &operator=(const ModelArray::DataType &dataBuffer)
-
operator ModelArray::DataType() const
-
ModelArray ©ToModelArray(ModelArray &target) const
-
template<typename T>
inline const ModelArraySlice ©ToSlicedBuffer(T &target, SliceIter &targetIter) const
-
template<typename S>
inline ModelArraySlice ©FromSlicedBuffer(const S &source, SliceIter &sourceIter)
-
iterator begin()
-
iterator end()
Private Members
-
ModelArray &data
Private Static Functions
-
template<typename S, typename T = S>
static inline void copySliceWithIters(const S &source, SliceIter &sourceIter, T &target, SliceIter targetIter)
-
static void copyBetweenMAandMASlice(ModelArray &ma, const ModelArraySlice &mas, bool toSlice, const std::string &functionName)
-
using Slice = ArraySlicer::Slice
-
class ModelArrayStore
Public Functions
-
bool checkAllRegistered() const
Private Functions
-
template<typename ...Args>
inline ExtModelArray ®isterArray(const std::string &field, bool isReadWrite, Args&&... args)
-
ExtModelArray &getRW(const std::string &field)
-
ExtModelArray &getRO(const std::string &field)
Private Members
-
std::unordered_map<std::string, ExtModelArrayFlagged> store
Friends
- friend class ModelArrayAccessorBase
-
bool checkAllRegistered() const
-
class ModelComponent
Subclassed by Nextsim::CheckingModelComponent, Nextsim::IDiagnosticOutput, Nextsim::IDynamics, Nextsim::IFreezingPoint, Nextsim::Module1, Nextsim::ModuleRequestAndSupply, Nextsim::ModuleSemiShared, Nextsim::ModuleShared, Nextsim::ModuleSupplyAndWait
Public Functions
-
ModelComponent()
-
virtual ~ModelComponent() = default
-
virtual std::string getName() const = 0
-
virtual void setData(const ModelState::DataMap &state) = 0
-
inline virtual ModelState getStateDiagnostic() const
-
inline virtual ModelState getStateDiagnostic(const OutputLevel&) const
-
inline virtual ModelState getStatePrognostic() const
Public Static Functions
-
static inline ModelArrayStore &getStore()
-
template<typename Fn>
static inline void overElementsAuto(Fn &&fn)
-
template<typename Fn>
static inline void overElements(Fn fn)
Protected Functions
-
inline virtual ConfigMap getConfiguration() const
Protected Static Functions
-
static void setOceanMask(const ModelArray &mask)
-
static void noLandMask()
-
static ModelArray mask(const ModelArray &data, FloatType missingValue = MissingData::value())
-
static const ModelArray &oceanMask()
-
static inline ModelArray &oceanMaskSingleton()
Private Static Functions
-
static inline std::unique_ptr<ModelArrayStore> &columnPhysicsStore()
-
static inline void destroyModelArrayStore()
Private Static Attributes
-
static size_t nOcean = 0
-
static std::vector<size_t> oceanIndex
-
static bool columnPhysicsStoreIsDestroyed
-
ModelComponent()
-
class ModelMetadata
Public Functions
-
void setDimensionsFromFile(const std::string &filename)
-
void setTime(const TimePoint &time)
-
void incrementTime(const Duration &step)
-
inline const TimePoint &time() const
-
inline const TimePoint &startTime() const
-
inline const TimePoint &stopTime() const
-
inline const Duration &stepLength() const
-
inline const Duration &runLength() const
-
const std::string &structureName() const
-
inline void setConfig(const ConfigMap &config)
-
const ModelState &extractCoordinates(const ModelState &state)
-
ModelState &affixCoordinates(ModelState &state) const
Public Members
- friend CommonRestartMetadata
-
std::string initialFileName
-
std::string finalFileName
-
Duration restartPeriod
Private Functions
-
ModelMetadata()
-
ModelMetadata(const ModelMetadata&) = delete
-
void readNeighbourData(netCDF::NcFile &ncFile)
Private Members
-
TimePoint m_time
-
ConfigMap m_config
-
TimePoint start
-
TimePoint stop
-
Duration step
-
Duration run
-
ModelArray m_vertexCoords
-
ModelArray m_coord1
-
ModelArray m_coord2
-
ModelArray m_gridAzimuth
-
bool isCartesian = false
-
bool hasParameters = false
-
bool isInitialized = false
Private Static Functions
-
static bool doOnce()
-
void setDimensionsFromFile(const std::string &filename)
-
struct ModelState
Public Types
-
typedef std::map<std::string, ModelArray> DataMap
Public Functions
-
inline ModelState &merge(ModelState &source)
-
inline ModelState &merge(ModelState &&source)
-
inline ModelState &merge(ConfigMap &configSrc)
-
inline ModelState &merge(ConfigMap &&configSrc)
-
inline ModelState &merge(DataMap &dataSrc)
-
inline ModelState &merge(DataMap &&dataSrc)
-
typedef std::map<std::string, ModelArray> DataMap
-
template<typename I>
class Module -
Public Static Functions
-
static inline void setExternalImplementation(Fn generator)
-
static inline void setImplementation(const std::string &implName)
-
static inline I &getImplementation()
-
static inline std::string implementation()
-
static std::string moduleName()
-
static inline void finalize()
Private Functions
-
std::string getDefaultImplementationName()
Private Static Functions
-
static std::string getDefaultImplementationName()
-
static inline Fn &getGenerationFunction()
-
static const Map &functionMap()
-
static inline bool &isConfigured()
-
static inline void setImplementationInternal(const std::string &implName, bool setStaticInstance)
-
static inline void setExternalImplementationInternal(Fn generator, bool setStaticInstance)
-
static inline void setExternalImplementation(Fn generator)
-
class Module1 : public Nextsim::ModelComponent
Public Functions
-
inline Module1()
-
inline virtual std::string getName() const override
-
inline virtual void setData(const ModelState::DataMap &st) override
-
inline Module1()
-
class ModuleRequestAndSupply : public Nextsim::ModelComponent
Public Functions
-
inline ModuleRequestAndSupply()
-
inline virtual void setData(const ModelState::DataMap &ms) override
-
inline virtual std::string getName() const override
-
inline virtual ModelState getStatePrognostic() const override
-
inline FloatType data()
-
inline FloatType refData()
Public Members
-
const FloatType ciceData = 0.6
Private Members
-
ModelArrayAccessor<Shared::C_ICE_DG, RW> ciceAccessor
-
ModelArrayAccessor<Shared::H_ICE_DG> hice_refAccessor
-
inline ModuleRequestAndSupply()
-
class ModuleSemiShared : public Nextsim::ModelComponent
Public Functions
-
inline ModuleSemiShared()
-
inline virtual void setData(const ModelState::DataMap &ms) override
-
inline virtual std::string getName() const override
-
inline virtual ModelState getStatePrognostic() const override
-
inline FloatType data()
-
inline FloatType refData()
Public Members
-
const FloatType qicData = 123
Private Members
-
ModelArrayAccessor<Shared::Q_IC, RW> qicAccessor
-
ModelArrayAccessor<Shared::Q_IO, RO> qio_refAccessor
-
inline ModuleSemiShared()
-
class ModuleShared : public Nextsim::ModelComponent
Public Functions
-
inline ModuleShared()
-
inline virtual void setData(const ModelState::DataMap &ms) override
-
inline virtual std::string getName() const override
-
inline virtual ModelState getStatePrognostic() const override
-
inline FloatType data()
-
inline FloatType &refData()
-
inline void setRefData()
Private Members
-
ModelArrayAccessor<Shared::Q_IO, RW> qioAccessor
-
ModelArrayAccessor<Shared::Q_IC, RW> qic_refAccessor
-
inline ModuleShared()
-
class ModuleSupplyAndWait : public Nextsim::ModelComponent
Public Functions
-
inline ModuleSupplyAndWait()
-
inline virtual void setData(const ModelState::DataMap &ms) override
-
inline virtual std::string getName() const override
-
inline virtual ModelState getStatePrognostic() const override
-
inline FloatType data()
-
inline FloatType refData()
Public Members
-
const FloatType hiceData = 1.2
Private Members
-
ModelArrayAccessor<Shared::H_ICE_DG, RW> hiceAccessor
-
ModelArrayAccessor<Shared::C_ICE_DG> cice_refAccessor
-
inline ModuleSupplyAndWait()
-
class monthlyCubicBSpline
Public Types
-
typedef boost::math::cubic_b_spline<FloatType> bSpline
Public Functions
-
typedef boost::math::cubic_b_spline<FloatType> bSpline
-
class NcFilePar : public netCDF::NcFile
-
class NetcdfMetadataConfiguration : public Nextsim::Configurator::AdditionalConfiguration
-
class NoOutput : public Nextsim::IDiagnosticOutput
Public Functions
-
NoOutput() = default
-
inline virtual void setFilenamePrefix(const std::string &filePrefix) override
-
inline virtual void outputState(const ModelState &state) override
-
inline virtual std::string getName() const override
-
NoOutput() = default
-
class OutputSpec
Public Functions
-
inline OutputSpec()
-
inline OutputSpec(bool activate)
-
inline void setSuppressOutput()
-
inline bool suppressOutput() const
-
inline operator bool() const
-
inline void setAllComponents()
-
inline bool allComponents() const
Private Types
-
enum [anonymous]
Values:
-
enumerator SUPPRESS_OUTPUT
-
enumerator ALL_COMPONENTS
-
enumerator OUTPUTSPEC_COUNT
-
enumerator SUPPRESS_OUTPUT
Private Members
-
std::bitset<OUTPUTSPEC_COUNT> bitVector
-
inline OutputSpec()
-
class ParaGridIO : public Nextsim::ParametricGrid::IParaGridIO
Public Types
-
using NetCDFFileType = netCDF::NcFile
Public Functions
-
ParaGridIO(ParametricGrid &grid)
-
virtual ~ParaGridIO()
-
virtual ModelState getModelState(const std::string &filePath) override
-
virtual void dumpModelState(const ModelState &state, const std::string &filePath) override
-
inline virtual ModelState readForcingTime(const std::set<std::string> &forcings, const TimePoint &time, const std::string &filePath) override
-
virtual void writeDiagnosticTime(const ModelState &state, const std::string &filePath) override
Public Static Functions
-
static void close(const std::string &filePath)
-
static ModelState readForcingTimeStatic(const std::set<std::string> &forcings, const TimePoint &time, const std::string &filePath)
Private Types
-
typedef std::map<std::string, std::pair<NetCDFFileType, size_t>> FileAndIndexMap
Private Functions
-
ParaGridIO() = delete
-
ParaGridIO(const ParaGridIO &other) = delete
-
ParaGridIO &operator=(const ParaGridIO &other) = delete
Private Members
-
const std::map<std::string, ModelArray::Type> dimensionKeys
-
const std::map<ModelArray::Dimension, bool> isDG
-
const std::map<ModelArray::Dimension, ModelArray::Type> dimCompMap
-
FileAndIndexMap &openFilesAndIndices
Private Static Functions
-
static void makeDimCompMap()
-
static void closeAllFiles()
-
static inline FileAndIndexMap &getOpenFilesAndIndices()
-
static bool doOnce()
-
using NetCDFFileType = netCDF::NcFile
-
class ParametricGrid : public Nextsim::IStructure
Public Types
-
typedef ModelArray::MultiDim GridDimensions
Public Functions
-
inline ParametricGrid()
-
inline virtual ~ParametricGrid()
-
inline virtual ModelState getModelState(const std::string &filePath) override
-
inline virtual void dumpModelState(const ModelState &state, const std::string &filePath, bool isRestart = false) const override
-
inline virtual const std::string &structureType() const override
-
inline void setIO(IParaGridIO *p)
Public Static Attributes
-
static const std::string structureName = "parametric_rectangular"
-
typedef ModelArray::MultiDim GridDimensions
-
class PDTestDynamics : public Nextsim::DummyDynamics
Public Functions
-
inline virtual std::string getName() const override
-
inline virtual void setData(const ModelState::DataMap &ms) override
-
inline virtual ModelState getStateDiagnostic() const override
-
inline virtual ModelState getStatePrognostic() const override
Private Members
-
ModelState::DataMap dataMap
-
inline virtual std::string getName() const override
-
class PDWriter
Public Static Functions
-
static void write(const PrognosticData &pd, const std::string &filePath)
-
static void write(const PrognosticData &pd, const std::string &filePath)
-
class PrognosticData : public Nextsim::CheckingModelComponent, public Nextsim::Configured<PrognosticData>
Public Types
-
enum [anonymous]
Values:
-
enumerator CHECKFIELDS_KEY
-
enumerator CHECKFIELDSFAST_KEY
-
enumerator CHECKFIELDS_KEY
Public Functions
-
PrognosticData()
-
virtual ~PrognosticData() = default
-
virtual void configure() override
-
inline virtual std::string getName() const override
-
virtual void setData(const ModelState::DataMap &ms) override
-
virtual ModelState getStateDiagnostic() const override
-
virtual ModelState getStatePrognostic() const override
-
void update(const TimestepTime &tsTime)
-
void writeRestartFile(const std::string &filePath) const
Public Static Functions
Private Members
-
FloatType m_dt
-
ModelArrayAccessor<Shared::H_ICE_DG, RW> hiceAccessor
-
ModelArrayAccessor<Shared::C_ICE_DG, RW> ciceAccessor
-
ModelArrayAccessor<Shared::DAMAGE, RW> damageAccessor
-
ModelArrayAccessor<Shared::H_SNOW_DG, RW> hsnowAccessor
-
IAtmosphereBoundary *pAtmBdy
-
IOceanBoundary *pOcnBdy
-
IDynamics *pDynamics
-
IColumnPhysics *pColumnPhysics
-
enum [anonymous]
-
class RectangularGrid : public Nextsim::IStructure
Public Functions
-
inline RectangularGrid()
-
inline RectangularGrid(const GridDimensions &dims)
-
inline virtual ~RectangularGrid()
-
inline virtual ModelState getModelState(const std::string &filePath) override
-
inline virtual void dumpModelState(const ModelState &state, const std::string &filePath, bool isRestart = false) const override
-
inline virtual const std::string &structureType() const override
-
inline void setDimensions(const GridDimensions &dims)
-
inline void setIO(IRectGridIO *p)
Public Static Attributes
-
static const std::string structureName = "simple_rectangular"
-
inline RectangularGrid()
-
class RectGridIO : public Nextsim::RectangularGrid::IRectGridIO
Public Types
-
typedef RectangularGrid::GridDimensions GridDimensions
Public Functions
-
inline RectGridIO(RectangularGrid &grid)
-
virtual ~RectGridIO() = default
-
virtual ModelState getModelState(const std::string &filePath) override
-
virtual void dumpModelState(const ModelState &state, const std::string &filePath, bool isRestart) const override
Private Functions
-
RectGridIO() = default
-
typedef RectangularGrid::GridDimensions GridDimensions
-
class SimpleOutput : public Nextsim::IDiagnosticOutput
Public Functions
-
SimpleOutput() = default
-
inline virtual void setFilenamePrefix(const std::string &filePrefix) override
-
virtual void outputState(const ModelState &state) override
-
inline virtual std::string getName() const override
Private Members
-
std::string m_filePrefix
-
SimpleOutput() = default
-
class SizeMap
-
class Slice
-
Public Members
-
const VBounds bounds
-
const VBounds bounds
-
class SliceIter
-
Public Functions
-
inline bool operator==(const SliceIter &other) const
-
inline SliceIter &operator++()
-
inline SliceIter operator++(int)
-
inline SliceIter &incrementDim(size_t dim)
-
SliceIter &operator--()
-
SliceIter operator--(int)
-
inline Int index() const
-
inline const MultiDim position() const
-
inline SliceIter &toBegin()
-
inline SliceIter &toEnd()
-
inline bool isBegin() const
-
inline bool isEnd() const
-
inline MultiDim shape() const
-
inline size_t size() const
-
inline Int start(size_t dim) const
-
inline Int start() const
-
inline Int nElements(size_t dim) const
-
inline Int nElements() const
-
inline Int step(size_t dim) const
-
inline Int step() const
-
inline bool operator==(const SliceIter &other) const
-
class StartStepStop
-
class StructureFactory
Public Static Functions
-
static ModelState stateFromFile(const std::string &filePath)
-
static void fileFromState(const ModelState &state, const std::string &filePath, bool isRestart = false)
-
static void finaliseAllFiles()
Private Functions
-
StructureFactory() = default
-
static ModelState stateFromFile(const std::string &filePath)
-
struct TextTag
-
Public Members
-
const char *text
-
const char *text
-
class TheCount
Public Static Functions
-
static inline size_t increment()
-
static inline size_t preincrement()
-
static inline void incrementAndPrint()
-
static inline size_t value()
-
static inline size_t count()
-
static inline void reset()
Protected Static Functions
-
static inline size_t &get()
-
static inline size_t increment()
-
class TimeOptions
Public Static Functions
-
static inline bool &useDOY()
Private Types
-
enum TimeOption
Values:
-
enumerator USE_DOY
-
enumerator DAYS_360
-
enumerator COUNT
-
enumerator USE_DOY
-
static inline bool &useDOY()
-
class TimePoint
Public Types
-
typedef SystemClock Clock
Public Functions
-
inline TimePoint()
-
inline TimePoint(const std::string &str)
-
inline bool operator<=(const TimePoint &a) const
-
inline bool operator<(const TimePoint &a) const
-
inline bool operator>=(const TimePoint &a) const
-
inline bool operator>(const TimePoint &a) const
-
inline bool operator==(const TimePoint &a) const
-
inline bool operator!=(const TimePoint &a) const
-
inline std::ostream &format(std::ostream &os, std::string formatStr = ymdhmsFormat) const
-
inline std::string format(std::string formatStr = ymdhmsFormat) const
-
std::tm *gmtime() const
Public Members
- friend Duration
Public Static Attributes
-
static const std::string ymdFormat = "%Y-%m-%d"
-
static const std::string doyFormat = "%Y-%j"
-
static const std::string hmsFormat = "T%H:%M:%SZ"
Private Functions
-
inline TimePoint(const Basis &t)
Private Members
-
Basis m_t
-
typedef SystemClock Clock
-
struct TimestepTime
-
template<typename T>
struct ToNetCDFType
-
template<>
struct ToNetCDFType<double> Public Static Functions
-
static inline netCDF::NcDouble &get()
-
static inline netCDF::NcDouble &get()
-
template<>
struct ToNetCDFType<float> Public Static Functions
-
static inline netCDF::NcFloat &get()
-
static inline netCDF::NcFloat &get()
-
class UnescoFreezingImpl : public Nextsim::IFreezingPoint
Public Functions
-
inline virtual std::string getName() const override
- inline KERNEL_IMPL_FUNCTION FloatType calculate (FloatType sss) const
-
inline virtual std::string getName() const override
- module alt_names
Variables
- nfirst = 9
- nsecond = 10
- nLayers = 1
- ncg = 1
- n_dg = 1
- n_dgstress = 1
- n_coords = 2
- ncFile = netCDF4.Dataset("alt_names.nc", "w", format="NETCDF4")
- structure_name
- time_meta = ncFile.createVariable("time_meta", "i8")
- data_time = 1263204000
- units
- formatted = ncFile.createVariable("formatted", str)
- format
- yDim = ncFile.createDimension("ydim", nfirst)
- xDim = ncFile.createDimension("xdim", nsecond)
- yVertexDim = ncFile.createDimension("yvertex", nfirst + 1)
- xVertexDim = ncFile.createDimension("xvertex", nsecond + 1)
- ycg_dim = ncFile.createDimension("y_cg", nfirst * ncg + 1)
- xcg_dim = ncFile.createDimension("x_cg", nsecond * ncg + 1)
- dg_comp = ncFile.createDimension("dg_comp", n_dg)
- dgs_comp = ncFile.createDimension("dgstress_comp", n_dgstress)
- n_coords_comp = ncFile.createDimension("ncoords", n_coords)
- field_dims = ("ydim", "xdim")
- coord_dims = ("yvertex", "xvertex", "ncoords")
- space = 25000.0
- xvertex1d = np.arange(0, space * (nsecond + 1), space)
- yvertex1d = np.arange(0, space * (nfirst + 1), space)
- xvertex = np.resize(xvertex1d, (nfirst + 1, nsecond + 1))
- yvertex = np.resize(yvertex1d, (nsecond + 1, nfirst + 1)).transpose()
- coords = ncFile.createVariable("coords", "f8", coord_dims)
- x_cell1d = np.arange(space * 0.5, space * (nsecond + 0.5), space)
- y_cell1d = np.arange(space * 0.5, space * (nfirst + 0.5), space)
- x_cell = np.resize(x_cell1d, (nfirst, nsecond))
- y_cell = np.resize(y_cell1d, (nsecond, nfirst)).transpose()
- elem_x = ncFile.createVariable("xdim", "f8", field_dims)
- elem_y = ncFile.createVariable("ydim", "f8", field_dims)
- grid_azimuth = ncFile.createVariable("grid_azimuth", "f8", field_dims)
- mask = ncFile.createVariable("mask", "f8", field_dims)
- cice = ncFile.createVariable("cice", "f8", field_dims)
- hice = ncFile.createVariable("hice", "f8", field_dims)
- hsnow = ncFile.createVariable("hsnow", "f8", field_dims)
- sss = ncFile.createVariable("sss", "f8", field_dims)
- mu = -0.055
- sst = ncFile.createVariable("sst", "f8", field_dims)
- tice = ncFile.createVariable("tice", "f8", field_dims)
- ice_melt = mu * 5
- u = ncFile.createVariable("u", "f8", field_dims)
- v = ncFile.createVariable("v", "f8", field_dims)
-
namespace ArraySlicer
Functions
-
namespace EnumWrap
Functions
-
template<typename E>
std::istream &operator>>(std::istream &is, EnumWrapper<E> &e)
-
template<typename E>
- module generate_iodef
Variables
- parser = argparse.ArgumentParser()
- type
- int
- default
- help
- str
- parsed_args = parser.parse_args()
- template_dict = vars(parsed_args)
- path
- infile
- env = Environment(loader=FileSystemLoader(path), autoescape=True)
- template = env.get_template(infile)
- outfile = template_dict.pop("outfile")
- output = template.render(template_dict)
-
namespace Indexer
-
namespace Module
Typedefs
-
using OptionMap = std::list<Nextsim::ConfigurationHelp>
-
using Config = Nextsim::ConfiguredModule
-
using OptionMap = std::list<Nextsim::ConfigurationHelp>
- module module_maker
Functions
- denamespace(nname)
- generator(module_class_name, fq_interface_name, fq_impl_names, help_names)
Variables
- parser = argparse.ArgumentParser(description="Write out the text for a Nextsim module class source file.",epilog="Suffix the interface or any implementation name with an asterisk (*) to include a call to getHelpRecursive().",)
- metavar
- nargs
- default
- help
- dest
- required
- args = parser.parse_args()
- help_names = []
- impl_names = []
- interface_name = args.interface
- iface = denamespace(interface_name)
- modulepfx = iface[1:]
-
namespace netCDF
Functions
-
void setVariableCollective(NcVar var, NcFile &ncFile)
-
void setVariableCollective(NcVar var, NcFile &ncFile)
-
namespace Nextsim
Typedefs
-
using FloatType = NEXTSIM_FLOAT_TYPE
-
using ElementIndex = size_t
-
using DefaultExecutionSpace = ExecutionSpaceDummy
-
using AdvectedField = ModelArray
-
using ModelArrayAuto = ModelArray
-
using ConstModelArrayAuto = const ModelArray
-
typedef std::chrono::system_clock SystemClock
-
typedef SystemClock::duration SystemDuration
-
using LinearFreezing = FreezingPointImpl<LinearFreezingImpl>
-
using UnescoFreezing = FreezingPointImpl<UnescoFreezingImpl>
-
typedef ModelMetadata::Edge Edge
-
typedef ModelMetadata::Corner Corner
-
typedef std::vector<int> vec
Enums
-
enum ConfigMapType
Values:
-
enumerator DOUBLE
-
enumerator FLOAT
-
enumerator UNSIGNED
-
enumerator INT
-
enumerator STRING
-
enumerator N_TYPES
-
enumerator DOUBLE
Functions
-
inline std::ostream &operator<<(std::ostream &os, const ConfigurationHelp &help)
-
template<typename T>
void tryConfigure(T &t)
-
template<typename T>
void tryConfigure(T *p_t)
- inline KERNEL_IMPL_FUNCTION FloatType kelvin (FloatType celsius)
- inline KERNEL_IMPL_FUNCTION FloatType celsius (FloatType kelvin)
- inline KERNEL_IMPL_FUNCTION FloatType degrees (FloatType radians)
- inline KERNEL_IMPL_FUNCTION FloatType radians (FloatType degrees)
- inline KERNEL_IMPL_FUNCTION FloatType mbar (FloatType pascals)
- inline KERNEL_IMPL_FUNCTION FloatType pascals (FloatType mbar)
-
constexpr FloatType operator""_ft(long double v)
-
ModelArray operator+(const FloatType&, const ModelArray&)
-
ModelArray operator-(const FloatType&, const ModelArray&)
-
ModelArray operator*(const FloatType&, const ModelArray&)
-
ModelArray operator/(const FloatType&, const ModelArray&)
-
template<typename T>
void readNetCDFVar(const netCDF::NcVar &var, const std::vector<size_t> &start, const std::vector<size_t> &size, T *dest)
-
int julianGregorianShiftDays(int year)
-
inline double operator*(double a, const Duration &b)
-
inline double operator/(double a, const Duration &b)
-
inline double operator*(const Duration &a, double b)
-
inline double operator/(const Duration &a, double b)
-
DeviceBitset makeKokkosDeviceBitset(const std::vector<bool> &buf)
- static const std::regex ncSuffix (".nc$")
-
void copyMeanComponent(const ModelArray &source, ModelArray &sink)
-
void dimensionSetter(const netCDF::NcFile &ncFile, const std::string &fieldName, ModelArray::Type type)
-
bool isYMDFormat(const std::string &iso)
-
bool isDOYFormat(const std::string &iso)
- TEST_SUITE_BEGIN ("CommandLineParser")
- TEST_CASE ("Parse config file names")
-
TEST_SUITE_END()
-
void runMe(const bool snapshot)
- TEST_SUITE_BEGIN ("ConfigOutput")
- TEST_CASE ("Test snapshot output")
- TEST_SUITE_BEGIN ("Configurator")
- TEST_CASE ("Parse one config stream using the raw configurator")
- TEST_CASE ("Parse one config stream using the pointer configuration function")
- TEST_CASE ("Parse two config streams for one class, reference helper function")
- TEST_CASE ("Parse config streams for two overlapping class, try")
- TEST_SUITE_BEGIN ("ConfiguredModule")
- TEST_CASE ("Configure a module")
- TEST_CASE ("Configure a module from a stream")
- TEST_SUITE_BEGIN ("FileCallbackCloser")
- TEST_CASE ("Test the FileHolder class")
- TEST_CASE ("Close a file")
-
void throwHappy()
- TEST_SUITE_BEGIN ("ModelFinalizer")
- TEST_CASE ("Duplicate functions")
- TEST_CASE ("Unique functions")
- TEST_CASE ("Finalize")
- TEST_CASE ("Exception")
-
template<typename T>
void initializeTestData(T &data, size_t localNx, size_t localNy, size_t offsetX, size_t offsetY, bool isCG = false)
-
template<typename T>
void verifyTestData(T &data, size_t localNx, size_t localNy, size_t offsetX, size_t offsetY, size_t nx, size_t ny, bool isCG = false)
- TEST_SUITE_BEGIN ("Halo exchange tests")
- MPI_TEST_CASE ("test halo exchange on 3 proc grid", 3)
- MPI_TEST_CASE ("DGField", 3)
- MPI_TEST_CASE ("DGVector", 3)
- MPI_TEST_CASE ("DGVectorHolder", 3)
- MPI_TEST_CASE ("CGVector", 3)
-
template<typename T>
T zeroTime()
-
template<>
std::chrono::time_point<Iterator::Clock> zeroTime<std::chrono::time_point<Iterator::Clock>>()
-
template<>
size_t zeroTime<size_t>()
- TEST_SUITE_BEGIN ("Iterator")
- TEST_CASE ("Count iterator testing")
- TEST_SUITE_BEGIN ("ModelArray")
- TEST_CASE ("Two dimensional data access test")
- TEST_CASE ("Higher dimensional indexing")
- TEST_CASE ("Higher dimensional indexing 2")
- TEST_CASE ("Copy constructor and copy assignment operator")
- TEST_CASE ("Instance setDimensions sets instance dimensions")
- TEST_CASE ("Arithmetic tests")
- TEST_CASE ("Location from index")
- TEST_CASE ("Components")
- TEST_CASE ("Direct DataType access")
- TEST_SUITE_BEGIN ("[ModelArrayAccessor]")
- TEST_CASE ("Accessing the data")
-
hice0Src reinitialize()
- REQUIRE_THROWS_AS ((ModelArrayAccessor< MiniModelComponent::H_ICE0, RW >(store)), std::logic_error)
- REQUIRE_THROWS_AS ((ModelArrayAccessor< MiniModelComponent::H_ICE, RW >(store, RO)), std::logic_error)
- TEST_CASE ("Accessing the data two ways")
- TEST_CASE ("Full component access")
- TEST_SUITE_BEGIN ("ModelArraySlice")
- TEST_CASE ("Assign scalar to slice")
- TEST_CASE ("Slice to Slice")
- TEST_CASE ("ModelArray to Slice")
- TEST_CASE ("Slice to ModelArray")
- TEST_CASE ("Index a ModelArray with a Slice")
- TEST_CASE ("Test buffers")
- TEST_CASE ("General slice creation")
- TEST_CASE ("Iterators")
- TEST_CASE ("Eigen copying")
- for (size_t j=0;j< sliceNy;++j)
- REQUIRE (eaSrc(Indexer::indexer({ sliceNx, sliceNy }, { 2, 3 }), 4)==4+xMul *(2+yMul *3))
- REQUIRE (maInter.components({ sliceX0+2, sliceY0+3 })[4]==-1.)
- REQUIRE (maInter.components({ sliceX0 - 1, sliceY0 - 1 })[0]==-1.)
- REQUIRE (maInter.components({ sliceX0 - 1, sliceY0 - 1 })[DG - 1]==-1.)
- REQUIRE (maInter.components({ sliceX0+0, sliceY0+0 })[0]==0.)
- REQUIRE (maInter.components({ sliceX0+0, sliceY0+0 })[DG - 1]==DG - 1)
- REQUIRE (maInter.components({ sliceX0+1, sliceY0+0 })[0]==xMul)
- REQUIRE (maInter.components({ sliceX0+1, sliceY0+0 })[DG - 1]==xMul+DG - 1)
- REQUIRE (maInter.components({ sliceX0+0, sliceY0+1 })[0]==xMul *yMul)
- REQUIRE (maInter.components({ sliceX0+0, sliceY0+1 })[DG - 1]==xMul *yMul+DG - 1)
- REQUIRE (eaSink(Indexer::indexer({ sliceNx, sliceNy }, { 0, 0 }), 0)==0)
- REQUIRE (eaSink(Indexer::indexer({ sliceNx, sliceNy }, { 0, 0 }), 5)==5)
- REQUIRE (eaSink(Indexer::indexer({ sliceNx, sliceNy }, { 3, 5 }), 2)==2+xMul *(3+yMul *5))
- REQUIRE (maSrc.components({ 2, 3 })[4]==4+xMul *(2+yMul *3))
- perimeterBuffer resize (2 *nx+2 *ny, DG)
- perimeterBuffer (Eigen::seqN(0, nx), Eigen::all)
- perimeterBuffer (Eigen::seqN(nx+ny, nx), Eigen::all)
- perimeterBuffer (Eigen::seqN(2 *nx+ny, ny), Eigen::all)
- TEST_SUITE_BEGIN ("ModelComponent")
- TEST_CASE ("Test array registration")
- TEST_CASE ("Shared and semi-protected arrays")
-
static void testNonPeriodicBC(int test_rank)
- TEST_SUITE_BEGIN ("ModelMetadata")
- MPI_TEST_CASE ("Test getPartitionMetadata closed boundary", 3)
-
static void testNonPeriodicBC(int test_rank)
- MPI_TEST_CASE ("Test getPartitionMetadata periodic boundary", 3)
- TEST_SUITE_BEGIN ("MonthlyCubicBSpline")
- TEST_CASE ("Test cyclicity")
- TEST_CASE ("Albedo values")
-
void initializeTestData(HField &frac, DGField &fracDG, HField &mask, VertexField &coordinates, HField &x, HField &y)
- TEST_SUITE_BEGIN ("ParaGrid")
-
HField fractional(ModelArray::Type::H)
-
DGField fractionalDG(ModelArray::Type::DG)
-
HField mask(ModelArray::Type::H)
-
VertexField coordinates(ModelArray::Type::VERTEX)
- for (auto arr :arrays)
-
initializeTestData(fractional, fractionalDG, mask, coordinates, x, y)
- REQUIRE (coordinates.components({ 3, 8 })[0] - coordinates.components({ 2, 8 })[0]==scale)
- REQUIRE (coordinates.components({ 3, 8 })[1] - coordinates.components({ 3, 7 })[1]==scale)
- metadata setTime (TimePoint("2000-01-01T00:00:00Z"))
-
metadata extractCoordinates(coordState)
- grid dumpModelState (state, filename, true)
-
REQUIRE(ModelArray::nComponents(ModelArray::Type::DG) =
=DG)
-
REQUIRE(ModelArray::nComponents(ModelArray::Type::VERTEX) =
=ModelArray::nCoords)
- REQUIRE (ms.data.size()==state.data.size())
- REQUIRE (hiceRef.nDimensions()==2)
- REQUIRE (hiceRef.dimensions()[0]==localNX)
- REQUIRE (hiceRef.dimensions()[1]==localNY)
- REQUIRE (coordRef.nDimensions()==2)
- REQUIRE (coordRef.dimensions()[0]==localNX+1)
- REQUIRE (coordRef.dimensions()[1]==localNY+1)
- REQUIRE (coordRef.components({ 3, 8 })[0] - coordRef.components({ 2, 8 })[0]==scale)
- REQUIRE (coordRef.components({ 3, 8 })[1] - coordRef.components({ 3, 7 })[1]==scale)
- REQUIRE (ms.data.count(xName) > 0)
- REQUIRE (xRef(3, 8)==coordRef.components({ 3, 7 })[0]+scale/2)
- REQUIRE (ms.data.count(yName) > 0)
- REQUIRE (yRef(3, 8)==coordRef.components({ 2, 8 })[1]+scale/2)
- REQUIRE (ms.data.count(gridAzimuthName) > 0)
- REQUIRE (ms.data.at(gridAzimuthName)(1, 1)==gridAzimuth0)
- REQUIRE (Module::getImplementation< IStructure >().structureType()=="parametric_rectangular")
- REQUIRE (fractional.nDimensions()==2)
- ncFile getAtt (grid.structureNodeName()).getValues(structureType)
-
REQUIRE(structureType =
=grid.structureType())
- REQUIRE (hiceVar.getDimCount()==4)
- REQUIRE (ncFile.getVars().count(xName) > 0)
- REQUIRE (ncFile.getVars().count(yName) > 0)
- REQUIRE (ncFile.getVars().count(coordsName) > 0)
- REQUIRE (ncFile.getVars().count(gridAzimuthName) > 0)
-
ncFile close()
-
HField index2d(ModelArray::Type::H)
- REQUIRE (state.data.count(fieldName) > 0)
- REQUIRE (index2d(3, 5)==(offsetX+3) *xFactor+5.)
- std::string longRandomFilename ("a44f5cc1f7934a8ae8dd03a95308745d.nc")
- REQUIRE (ModelArray::dimensions(ModelArray::Type::H)[0]==nx)
- REQUIRE (ModelArray::dimensions(ModelArray::Type::H)[1]==ny)
- TEST_SUITE_BEGIN ("PrognosticData")
- TEST_CASE ("PrognosticData call order test")
- TEST_SUITE_BEGIN ("PrognosticDataIO")
- TEST_SUITE_BEGIN ("RectGrid")
- grid setIO (new RectGridIO(grid))
-
metadata setTime(TimePoint(date_string))
-
ModelArray x(ModelArray::Type::H)
-
ModelArray y(ModelArray::Type::H)
- REQUIRE (ms.data.at("hice")(targetX, targetY)==1.0201_ft)
- REQUIRE (ms.data.at(xName)(1, 0)==dx)
- REQUIRE (ms.data.at(xName)(0, 1)==0)
- REQUIRE (ms.data.at(yName)(0, 1)==dy)
- TEST_SUITE_BEGIN ("Time")
- TEST_CASE ("TimePoint parsing and formating")
- TEST_CASE ("Julian-Gregorian shifts")
- TEST_CASE ("mkgmtime")
- TEST_CASE ("timeFromISO")
- TEST_CASE ("TimePoints")
- TEST_CASE ("Durations")
- TEST_CASE ("gmtime and doy")
- MPI_TEST_CASE ("TestXiosAxis", 3)
- MPI_TEST_CASE ("TestXiosCalendar", 1)
- MPI_TEST_CASE ("TestXiosReadDiagnostic", 3)
- MPI_TEST_CASE ("TestXiosReadForcing", 2)
- MPI_TEST_CASE ("TestXiosReadRestart", 2)
- MPI_TEST_CASE ("TestXiosReadWriteRestart", 2)
- MPI_TEST_CASE ("TestXiosWriteDiagnostic", 2)
- MPI_TEST_CASE ("TestXiosWriteRestart", 2)
Variables
-
static std::string h1 = ""
-
static std::string h1End = ""
-
static std::string h2 = ""
-
static std::string h2End = ""
-
static std::string b = ""
-
static std::string u = ""
-
static std::string i = ""
-
static std::string bEnd = ""
-
static std::string uEnd = ""
-
static std::string iEnd = ""
-
static const std::string hiceName = "hice"
-
static const std::string ciceName = "cice"
-
static const std::string hsnowName = "hsnow"
-
static const std::string ticeName = "tice"
-
static const std::string tsurfName = "tsurf"
-
static const std::string maskName = "mask"
-
static const std::string uName = "u"
-
static const std::string vName = "v"
-
static const std::string sstName = "sst"
-
static const std::string sssName = "sss"
-
static const std::string damageName = "damage"
-
static const std::string shearName = "shear"
-
static const std::string divergenceName = "divergence"
-
static const std::string sigmaIName = "sigmaI"
-
static const std::string sigmaIIName = "sigmaII"
-
static const std::string uWindName = "uwind"
-
static const std::string vWindName = "vwind"
-
static const std::string uOceanName = "uocean"
-
static const std::string vOceanName = "vocean"
-
static const std::string sshName = "ssh"
-
static const std::string mldName = "mld"
-
static const std::string uIOStressName = "uiostress"
-
static const std::string vIOStressName = "viostress"
-
static const std::string coordsName = "coords"
-
static const std::string latitudeName = "latitude"
-
static const std::string longitudeName = "longitude"
-
static const std::string xName = "x_dim"
-
static const std::string yName = "y_dim"
-
static const std::string gridAzimuthName = "grid_azimuth"
-
static const std::string mdiName = "missing_value"
-
static const std::string timeName = "time"
-
static const Eigen::StorageOptions majority = Eigen::RowMajor
-
constexpr bool RW = true
-
constexpr bool RO = false
-
constexpr bool DETAILED_MEASUREMENTS = true
-
static const std::map<int, std::string> keyMap = {{Model::RESTARTFILE_KEY, Model::restartOptionName}, {Model::STARTTIME_KEY, "model.start"}, {Model::STOPTIME_KEY, "model.stop"}, {Model::RUNLENGTH_KEY, "model.run_length"}, {Model::TIMESTEP_KEY, "model.time_step"}, {Model::MISSINGVALUE_KEY, "model.missing_value"}, {Model::RESTARTPERIOD_KEY, "model.restart_period"}, {Model::RESTARTOUTFILE_KEY, "model.restart_file"},}
-
static const std::string pfx = "ConfigOutput"
-
static const std::string modelStartKey = "model.start"
-
static const std::map<int, std::string> keyMap = {{ConfigOutput::PERIOD_KEY, periodKey}, {ConfigOutput::START_KEY, startKey}, {ConfigOutput::SNAPSHOT_KEY, snapshotKey}, {ConfigOutput::FIELDNAMES_KEY, fieldNamesKey}, {ConfigOutput::FILENAME_KEY, fileNameKey}, {ConfigOutput::FILEPERIOD_KEY, filePeriodKey},}
-
static const std::map<std::string, std::pair<ModelArray::Type, FloatType>> defaultFields = {}
-
static const std::string prefix = "BBMDynamics"
-
static const std::map<int, std::string> keyMap = {{BBMDynamics::C_KEY, prefix + ".C"}, {BBMDynamics::NU_KEY, prefix + ".nu"}, {BBMDynamics::YOUNG_KEY, prefix + ".young"}, {BBMDynamics::P0_KEY, prefix + ".P0"}, {BBMDynamics::LAMBDA0_KEY, prefix + ".lambda0"}, {BBMDynamics::ALPHA_KEY, prefix + ".alpha"}, {BBMDynamics::EXPPMAX_KEY, prefix + ".exppmax"}, {BBMDynamics::MU_KEY, prefix + ".mu"}, {BBMDynamics::NMAX_KEY, prefix + ".namx"}, {BBMDynamics::CLAB_KEY, prefix + ".clab"}, {BBMDynamics::NSTEPS_KEY, prefix + ".nsteps"}, {BBMDynamics::RHOI_KEY, prefix + ".rho_ice"}, {BBMDynamics::RHOA_KEY, prefix + ".rho_atm"}, {BBMDynamics::RHOO_KEY, prefix + ".rho_ocean"}, {BBMDynamics::CATM_KEY, prefix + ".drag_atm"}, {BBMDynamics::COCEAN_KEY, prefix + ".drag_ocean"}, {BBMDynamics::FC_KEY, prefix + ".Coriolis_parameter"}, {BBMDynamics::ANGLE_KEY, prefix + ".ocean_turning_angle"},}
-
static const std::string prefix = "MEVPDynamics"
-
static const std::map<int, std::string> keyMap = {{MEVPDynamics::PSTAR_KEY, prefix + ".Pstar"}, {MEVPDynamics::DELTA_KEY, prefix + ".DeltaMin"}, {MEVPDynamics::C_KEY, prefix + ".C"}, {MEVPDynamics::NSTEPS_KEY, prefix + ".nsteps"}, {MEVPDynamics::RHOI_KEY, prefix + ".rho_ice"}, {MEVPDynamics::RHOA_KEY, prefix + ".rho_atm"}, {MEVPDynamics::RHOO_KEY, prefix + ".rho_ocean"}, {MEVPDynamics::CATM_KEY, prefix + ".drag_atm"}, {MEVPDynamics::COCEAN_KEY, prefix + ".drag_ocean"}, {MEVPDynamics::FC_KEY, prefix + ".Coriolis_parameter"}, {MEVPDynamics::ANGLE_KEY, prefix + ".ocean_turning_angle"},}
-
static const std::string checkFieldsKey = "debug.check_fields"
-
static const std::string checkFieldsFastKey = "debug.check_fields_fast"
-
static const std::map<int, std::string> keyMap = {{PrognosticData::CHECKFIELDS_KEY, checkFieldsKey}, {PrognosticData::CHECKFIELDSFAST_KEY, checkFieldsFastKey}}
-
static constexpr bool checkFieldsDefault = false
-
static constexpr bool checkFieldsFastDefault = true
-
static const int minuteSeconds = 60
-
static const int hourSeconds = minuteSeconds * 60
-
static const int daySeconds = hourSeconds * 24
-
static const int yearSeconds = daySeconds * 365
-
static const int tmEpochYear = 1900
-
static const int unixEpochYear = 1970
-
const std::string testFileName = "testFileName.nc"
-
const std::string testFilesDir = TEST_FILES_DIR
-
const std::string file = testFilesDir + "/halo_cb_test_partition_metadata_3.nc"
-
static const int DG = 3
-
static const int CGDEGREE = 2
-
static const bool debug = false
- ModelArrayAccessor< MiniModelComponent::H_ICE0, RW > hice0SrcAccessor (store, RO) = { ModelArrayStore store
-
HField &hice0Src = hice0SrcAccessor.getHostRW()
-
ModelArrayAccessor<MiniModelComponent::H_ICE, RW> hiceAccessor(store)
-
static const FloatType targetFlux = 320
-
constexpr TextTag sw_in = {"sw_in"}
-
size_t sliceNx = 7
-
size_t sliceNy = 11
-
size_t sliceX0 = 3
-
size_t sliceY0 = 5
-
FloatType xMul = 100
-
FloatType yMul = 100
-
ModelArray::DataType eaSrc
-
ModelArray maInter(ModelArray::Type::TWOCOMP) = -1.
-
ModelArray::DataType eaSink = -1
-
ModelArray maSrc(ModelArray::Type::TWOCOMP)
-
ModelArray::DataType perimeterBuffer
-
Slice left = {{{0}, {}}}
-
Slice bottom = {{{}, {0}}}
-
ModelArray maSnk(ModelArray::Type::TWOCOMP) = ModelArray::DataType(perimeterBuffer(Eigen::seqN(0, nx), Eigen::all))
-
constexpr auto BOTTOM = Edge::BOTTOM
-
constexpr auto RIGHT = Edge::RIGHT
-
constexpr auto TOP = Edge::TOP
-
constexpr auto LEFT = Edge::LEFT
-
constexpr auto TOP_LEFT = Corner::TOP_LEFT
-
constexpr auto TOP_RIGHT = Corner::TOP_RIGHT
-
constexpr auto BOTTOM_RIGHT = Corner::BOTTOM_RIGHT
-
constexpr auto BOTTOM_LEFT = Corner::BOTTOM_LEFT
-
ParametricGrid grid
-
ParaGridIO *pio = new ParaGridIO(grid)
-
auto &metadata = ModelMetadata::getInstance()
-
const auto localNX = nx
-
const auto localNY = ny
-
HField x
-
HField y
-
ModelArray *arrays[] = {&fractional, &fractionalDG, &mask, &coordinates, &x, &y}
-
DGField hice = fractionalDG + 10
-
DGField cice = fractionalDG + 20
-
DGField hsnow = fractionalDG + 30
-
DGField damage = fractionalDG * 0.
-
HField sss = fractional
-
HField gridAzimuth = gridAzimuth0
-
FloatType gridAzimuth0 = 45.
-
ModelState state = {{{maskName, mask}, {hiceName, hice}, {ciceName, cice}, {hsnowName, hsnow}, {damageName, damage},}, {}}
-
ModelState coordState = {{{xName, x}, {yName, y}, {coordsName, coordinates}, {gridAzimuthName, gridAzimuth},}, {}}
-
ParametricGrid gridIn
-
ParaGridIO *readIO = new ParaGridIO(gridIn)
-
ModelState ms = gridIn.getModelState(filename)
-
ModelArray &hiceRef = ms.data.at(hiceName)
-
ModelArray &coordRef = ms.data.at(coordsName)
-
ModelArray &xRef = ms.data.at(xName)
-
auto testa = xRef(3, 8)
-
auto testb = coordRef.components({3, 7})[0]
-
ModelArray &yRef = ms.data.at(yName)
-
std::string structureType
-
FloatType xFactor = 10
-
const size_t offsetX = 0
- index2d = 0.
-
std::string fieldName = "index2d"
-
TimePoint time
-
size_t nx = 5
-
size_t ny = 7
-
FloatType yFactor = 0.01
-
auto dimX = ModelArray::Dimension::X
-
auto startX = ModelArray::definedDimensions.at(dimX).start
-
auto dimY = ModelArray::Dimension::Y
-
auto startY = ModelArray::definedDimensions.at(dimY).start
-
HField sst = fractional + 3
-
HField ticeValue = -(fractional + 1)
-
HField tice = ModelArray::HField()
-
FloatType dx = 25.
-
FloatType dy = 35.
-
size_t targetX = 1
-
size_t targetY = 2
-
using FloatType = NEXTSIM_FLOAT_TYPE
-
namespace Air
-
namespace CouplingFields
Variables
-
constexpr TextTag MLD = "MLD"
-
constexpr TextTag OCEAN_U = "U"
-
constexpr TextTag OCEAN_V = "V"
-
constexpr TextTag SSH = "SSH"
-
constexpr TextTag SSS = "SSS"
-
constexpr TextTag SST = "SST"
-
constexpr TextTag FWFLUX = "FWFLUX"
-
constexpr TextTag O_STRESS_X = "O_STRESS_X"
-
constexpr TextTag O_STRESS_Y = "O_STRESS_Y"
-
constexpr TextTag Q_SS_NO_SW = "Q_SS_NO_SW"
-
constexpr TextTag Q_SS_SW = "Q_SS_SW"
-
constexpr TextTag SFLUX = "SFLUX"
-
constexpr TextTag EVAP = "EVAP"
-
constexpr TextTag RAIN = "RAIN"
-
constexpr TextTag SNOW = "SNOW"
-
constexpr TextTag SUBL = "SUBL"
-
constexpr TextTag WIND_U = "WIND_U"
-
constexpr TextTag WIND_V = "WIND_V"
-
constexpr TextTag MLD = "MLD"
-
namespace Details
-
namespace Ice
-
namespace PhysicalConstants
Variables
-
const FloatType g = 9.8321849378
-
const FloatType sigma = 5.670374419e-8
-
const FloatType vonKarman = 0.4
-
const FloatType omega = 7.2921158e-5
-
const FloatType Tt = 273.16
-
const FloatType tau = 6.28318530717958647652
-
const FloatType deg2rad = 0x1.1df46a2529d39p-6
-
const FloatType rad2deg = 0x1.ca5dc1a63c1f8p+5
-
const FloatType g = 9.8321849378
-
namespace Protected
Variables
-
constexpr TextTag T_SURF = "T_SURF0"
-
constexpr TextTag DAMAGE = "DAMAGE0"
-
constexpr TextTag T_AIR = "T_AIR"
-
constexpr TextTag DEW_2M = "DEW_2M"
-
constexpr TextTag P_AIR = "P_AIR"
-
constexpr TextTag MIXRAT = "MIXRAT"
-
constexpr TextTag SW_IN = "SW_IN"
-
constexpr TextTag LW_IN = "LW_IN"
-
constexpr TextTag MLD = "MLD"
-
constexpr TextTag SNOW = "SNOWFALL"
-
constexpr TextTag SSS = "SSS"
-
constexpr TextTag SST = "SST"
-
constexpr TextTag EXT_SSS = "EXT_SSS"
-
constexpr TextTag EXT_SST = "EXT_SST"
-
constexpr TextTag SSH = "SSH"
-
constexpr TextTag ML_BULK_CP = "CPML"
-
constexpr TextTag TF = "TF"
-
constexpr TextTag WIND_SPEED = "WIND_SPEED"
-
constexpr TextTag OCEAN_U = "OCEAN_U"
-
constexpr TextTag OCEAN_V = "OCEAN_V"
-
constexpr TextTag WIND_U = "WIND_U"
-
constexpr TextTag WIND_V = "WIND_V"
-
constexpr TextTag ICE_U = "ICE_U"
-
constexpr TextTag ICE_V = "ICE_V"
-
constexpr TextTag IO_STRESS_X = "IO_STRESS_X"
-
constexpr TextTag IO_STRESS_Y = "IO_STRESS_Y"
-
constexpr TextTag SLAB_SST = "SLAB_SST"
-
constexpr TextTag SLAB_SSS = "SLAB_SSS"
-
constexpr TextTag SLAB_QDW = "SLAB_QDW"
-
constexpr TextTag SLAB_FDW = "SLAB_FDW"
-
constexpr TextTag SHEAR = "SHEAR"
-
constexpr TextTag DIV = "DIV"
-
constexpr TextTag SIGMAI = "SIGMAI"
-
constexpr TextTag SIGMAII = "SIGMAII"
-
constexpr TextTag ICE_ALBEDO = "ICE_ALBEDO"
-
constexpr TextTag ICE_PEN_SW = "ICE_PEN_SW"
-
constexpr TextTag T_SURF = "T_SURF0"
-
namespace Shared
Variables
-
constexpr TextTag H_ICE_DG = "H_ICE_DG"
-
constexpr TextTag C_ICE_DG = "C_ICE_DG"
-
constexpr TextTag H_SNOW_DG = "H_SNOW_DG"
-
constexpr TextTag T_ICE = "T_ICE"
-
constexpr TextTag T_SURF = "T_SURF"
-
constexpr TextTag DAMAGE = "DAMAGE"
-
constexpr TextTag Q_IA = "Q_IA"
-
constexpr TextTag Q_IC = "Q_IC"
-
constexpr TextTag Q_IO = "Q_IO"
-
constexpr TextTag Q_OW = "Q_OW"
-
constexpr TextTag DQIA_DT = "DQIA_DT"
-
constexpr TextTag Q_PEN_SW = "Q_PEN_SW"
-
constexpr TextTag Q_SW_OW = "Q_SW_OW"
-
constexpr TextTag Q_SW_BASE = "Q_SW_BASE"
-
constexpr TextTag EVAP = "EVAP"
-
constexpr TextTag RAIN = "RAIN"
-
constexpr TextTag HSNOW_MELT = "HSNOW_MELT"
-
constexpr TextTag OW_STRESS_X = "OW_STRESS_X"
-
constexpr TextTag OW_STRESS_Y = "OW_STRESS_Y"
-
constexpr TextTag SUBLIM = "SUBLIM"
-
constexpr TextTag DELTA_HICE = "DELTA_HICE"
-
constexpr TextTag DELTA_CICE = "DELTA_CICE"
-
constexpr TextTag NEW_ICE = "NEW_ICE"
-
constexpr TextTag H_ICE_DG = "H_ICE_DG"
-
namespace Vapour
-
namespace Water
- module ParaGridIO_input_test
Variables
- sec_per_hr = 3600
- hr_per_day = 24
- nx = 10
- ny = 9
- ncg = 1
- n_dg = 1
- n_dgstress = 1
- n_coords = 2
- element_shape = (nx, ny)
- x1d = np.arange(nx)
- y1d = np.arange(ny)
- element_x = np.tile(x1d, (ny, 1))
- element_y = np.transpose(np.tile(y1d, (nx, 1)))
- time_data = 10 * element_x + element_y
- field_name = "index2d"
- out_file = "ParaGridIO_input_test.nc"
- ncFile = netCDF4.Dataset(out_file, "w", format="NETCDF4")
- structure_name
- formatted = ncFile.createVariable("formatted", str)
- format
- time_meta = ncFile.createVariable("time_meta", "i8")
- the_time = 0
- units
- xDim = ncFile.createDimension("x_dim", nx)
- yDim = ncFile.createDimension("y_dim", ny)
- xVertexDim = ncFile.createDimension("x_vertex", nx + 1)
- yVertexDim = ncFile.createDimension("y_vertex", ny + 1)
- xcg_dim = ncFile.createDimension("x_cg", nx * ncg + 1)
- ycg_dim = ncFile.createDimension("y_cg", ny * ncg + 1)
- dg_comp = ncFile.createDimension("dg_comp", n_dg)
- dgs_comp = ncFile.createDimension("dgstress_comp", n_dgstress)
- n_coords_comp = ncFile.createDimension("ncoords", n_coords)
- tDim = ncFile.createDimension("time", None)
- nc_lons = ncFile.createVariable("longitude", "f8", ("y_dim", "x_dim"))
- nc_lats = ncFile.createVariable("latitude", "f8", ("y_dim", "x_dim"))
- nc_times = ncFile.createVariable("time", "f8", ("time"))
- data = ncFile.createVariable(field_name, "f8", ("time", "y_dim", "x_dim"))
-
namespace std
-
namespace Test
- file CommandLineParser.cpp
- file CommonRestartMetadata.cpp
- file ConfigurationHelpPrinter.cpp
- file Configurator.cpp
- file ConfiguredModule.cpp
- file DevStep.cpp
- file ModelArrayDetails.hpp
Enums
-
enum class Dimension
Values:
-
enumerator X
-
enumerator Y
-
enumerator XVERTEX
-
enumerator YVERTEX
-
enumerator XCG
-
enumerator YCG
-
enumerator DG
-
enumerator DGSTRESS
-
enumerator NCOORDS
-
enumerator COUNT
-
enumerator X
-
enumerator Y
-
enumerator XVERTEX
-
enumerator YVERTEX
-
enumerator COUNT
-
enumerator X
-
enumerator Y
-
enumerator Z
-
enumerator U
-
enumerator COMP
-
enumerator COUNT
-
enumerator X
-
enum class Type
Values:
-
enumerator H
-
enumerator VERTEX
-
enumerator U
-
enumerator V
-
enumerator DG
-
enumerator DGSTRESS
-
enumerator CG
-
enumerator H
-
enumerator U
-
enumerator V
-
enumerator VERTEX
-
enumerator ONED
-
enumerator TWOD
-
enumerator ZUFIELD
-
enumerator THREED
-
enumerator FOURD
-
enumerator TWOCOMP
-
enumerator H
-
enum class Base
Values:
-
enumerator Cell
-
enumerator Vertex
-
enumerator Cell
Functions
-
static ModelArray HField()
-
static ModelArray VertexField()
-
static ModelArray UField()
-
static ModelArray VField()
-
static ModelArray DGField()
-
static ModelArray DGSField()
-
static ModelArray CGField()
-
enum class Dimension
- file ModelArrayDetails.hpp
Enums
-
enum class Dimension
Values:
-
enumerator X
-
enumerator Y
-
enumerator XVERTEX
-
enumerator YVERTEX
-
enumerator XCG
-
enumerator YCG
-
enumerator DG
-
enumerator DGSTRESS
-
enumerator NCOORDS
-
enumerator COUNT
-
enumerator X
-
enumerator Y
-
enumerator XVERTEX
-
enumerator YVERTEX
-
enumerator COUNT
-
enumerator X
-
enumerator Y
-
enumerator Z
-
enumerator U
-
enumerator COMP
-
enumerator COUNT
-
enumerator X
-
enum class Type
Values:
-
enumerator H
-
enumerator VERTEX
-
enumerator U
-
enumerator V
-
enumerator DG
-
enumerator DGSTRESS
-
enumerator CG
-
enumerator H
-
enumerator U
-
enumerator V
-
enumerator VERTEX
-
enumerator ONED
-
enumerator TWOD
-
enumerator ZUFIELD
-
enumerator THREED
-
enumerator FOURD
-
enumerator TWOCOMP
-
enumerator H
Functions
-
static ModelArray HField()
-
static ModelArray UField()
-
static ModelArray VField()
-
static ModelArray VertexField()
-
enum class Dimension
- file ModelArrayDetails.hpp
Enums
-
enum class Dimension
Values:
-
enumerator X
-
enumerator Y
-
enumerator XVERTEX
-
enumerator YVERTEX
-
enumerator XCG
-
enumerator YCG
-
enumerator DG
-
enumerator DGSTRESS
-
enumerator NCOORDS
-
enumerator COUNT
-
enumerator X
-
enumerator Y
-
enumerator XVERTEX
-
enumerator YVERTEX
-
enumerator COUNT
-
enumerator X
-
enumerator Y
-
enumerator Z
-
enumerator U
-
enumerator COMP
-
enumerator COUNT
-
enumerator X
-
enum class Type
Values:
-
enumerator H
-
enumerator VERTEX
-
enumerator U
-
enumerator V
-
enumerator DG
-
enumerator DGSTRESS
-
enumerator CG
-
enumerator H
-
enumerator U
-
enumerator V
-
enumerator VERTEX
-
enumerator ONED
-
enumerator TWOD
-
enumerator ZUFIELD
-
enumerator THREED
-
enumerator FOURD
-
enumerator TWOCOMP
-
enumerator H
Functions
-
static ModelArray OneDField()
-
static ModelArray TwoDField()
-
static ModelArray ZUField()
-
static ModelArray ThreeDField()
-
static ModelArray FourDField()
Variables
-
static const Type AdvectionType
-
enum class Dimension
- file ModelArrayTypedefs.hpp
Typedefs
-
typedef ModelArray HField
-
typedef ModelArray VertexField
-
typedef ModelArray UField
-
typedef ModelArray VField
-
typedef ModelArray DGField
-
typedef ModelArray DGSField
-
typedef ModelArray CGField
-
typedef ModelArray HField
- file ModelArrayTypedefs.hpp
Typedefs
-
typedef ModelArray HField
-
typedef ModelArray UField
-
typedef ModelArray VField
-
typedef ModelArray VertexField
-
typedef ModelArray HField
- file ModelArrayTypedefs.hpp
Typedefs
-
typedef ModelArray OneDField
-
typedef ModelArray TwoDField
-
typedef ModelArray ZUField
-
typedef ModelArray ThreeDField
-
typedef ModelArray FourDField
-
typedef ModelArray OneDField
- file ModelArrayDetails.cpp
Defines
-
DGCOMP
-
DGSTRESSCOMP
-
CGDEGREE
-
DGCOMP
- file ModelArrayDetails.cpp
- file ModelArrayDetails.cpp
- file FieldAdvection.cpp
- file FileCallbackCloser.cpp
- file Finalizer.cpp
- file generate_iodef.py
- file Halo.cpp
- file CheckingModelComponent.hpp
- file Chrono.hpp
- file CommandLineParser.hpp
- file CommonRestartMetadata.hpp
- file ConfigMap.hpp
- file ConfigurationHelp.hpp
- file ConfigurationHelpPrinter.hpp
Variables
-
static std::string b
-
static std::string b
- file Configurator.hpp
- file Configured.hpp
- file ConfiguredModule.hpp
- file constants.hpp
- file DevStep.hpp
- file EnumWrapper.hpp
- file FieldAdvection.hpp
- file FileCallbackCloser.hpp
- file Finalizer.hpp
- file FloatType.hpp
- file gridNames.hpp
- file Halo.hpp
Defines
-
HALOWIDTH
-
HALOWIDTH
- file IModelStep.hpp
- file indexer.hpp
- file Iterator.hpp
- file KernelAlternatives.hpp
Defines
-
KERNEL_IMPL_FUNCTION
-
OVER_ELEMENTS_LAMBDA
-
OVER_ELEMENTS_CLASS_LAMBDA
-
KERNEL_IMPL_FUNCTION
- file Logged.hpp
- file MissingData.hpp
- file Model.hpp
- file ModelArray.hpp
- file ModelArrayAccessor.hpp
- file ModelArraySlice.hpp
- file ModelArrayStore.hpp
- file ModelComponent.hpp
- file ModelMetadata.hpp
- file ModelMPI.hpp
- file ModelState.hpp
- file Module.hpp
- file MonthlyCubicBSpline.hpp
Defines
-
NEW_SPLINES
-
NEW_SPLINES
- file NetcdfMetadataConfiguration.hpp
- file NetCDFUtils.hpp
- file NextsimModule.hpp
- file OutputSpec.hpp
- file ParaGridIO.hpp
- file ParallelNetcdfFile.hpp
- file PrognosticData.hpp
- file RectGridIO.hpp
- file Slice.hpp
Defines
-
ceil(num, denom)
-
ceil(num, denom)
- file StructureFactory.hpp
- file TextTag.hpp
- file Time.hpp
- file Xios.hpp
- file xios_c_interface.hpp
Functions
-
void cxios_init_client(const char *client_id, int len_client_id, MPI_Fint *f_local_comm, MPI_Fint *f_return_comm)
-
void cxios_finalize()
-
void cxios_context_initialize(const char *context_id, int len_context_id, MPI_Fint *f_comm)
-
void cxios_context_is_initialized(const char *context_id, int len_context_id, bool *initialized)
-
void cxios_context_valid_id(bool *_ret, const char *context_id, int len_context_id)
-
void cxios_context_get_current(xios::CContext **context_hdl)
-
void cxios_context_get_id(xios::CContext*, const char *context_id, int len_context_id)
-
void cxios_context_close_definition()
-
void cxios_context_finalize()
-
void cxios_date_convert_to_string(cxios_date date_c, char *str, int str_size)
-
cxios_date cxios_date_convert_from_string(const char *str, int str_size)
-
void cxios_duration_convert_to_string(cxios_duration dur_c, char *str, int str_size)
-
cxios_duration cxios_duration_convert_from_string(const char *str, int str_size)
-
void cxios_set_calendar_wrapper_date_start_date(xios::CCalendarWrapper *calendarWrapper_hdl, cxios_date start_date_c)
-
void cxios_get_current_calendar_wrapper(xios::CCalendarWrapper **_ret)
-
void cxios_get_calendar_wrapper_date_start_date(xios::CCalendarWrapper *calendarWrapper_hdl, cxios_date *start_date_c)
-
void cxios_get_current_date(cxios_date *date)
-
bool cxios_is_defined_calendar_wrapper_start_date(xios::CCalendarWrapper *calendar_wrapper_hdl)
-
void cxios_update_calendar(int step)
-
void cxios_set_calendar_wrapper_timestep(xios::CCalendarWrapper *calendar_wrapper_hdl, cxios_duration timestep_c)
-
bool cxios_is_defined_calendar_wrapper_timestep(xios::CCalendarWrapper *calendar_wrapper_hdl)
-
void cxios_update_calendar_timestep(xios::CCalendarWrapper *calendarWrapper_hdl)
-
void cxios_axis_handle_create(xios::CAxis **_ret, const char *_id, int _id_len)
-
void cxios_axis_valid_id(bool *_ret, const char *_id, int _id_len)
-
void cxios_get_axis_n_glo(xios::CAxis *axis_hdl, int *n_glo)
-
bool cxios_is_defined_axis_n_glo(xios::CAxis *axis_hdl)
-
void cxios_domaingroup_handle_create(xios::CDomainGroup **_ret, const char *_id, int _id_len)
-
void cxios_xml_tree_add_domain(xios::CDomainGroup *domain_grp, xios::CDomain **domain, const char *_id, int _id_len)
-
void cxios_domain_handle_create(xios::CDomain **_ret, const char *_id, int _id_len)
-
void cxios_domain_valid_id(bool *_ret, const char *_id, int _id_len)
-
void cxios_set_domain_type(xios::CDomain *domain_hdl, const char *type, int type_size)
-
void cxios_set_domain_dim_i_name(xios::CDomain *domain_hdl, const char *iname, int iname_size)
-
void cxios_set_domain_dim_j_name(xios::CDomain *domain_hdl, const char *jname, int jname_size)
-
void cxios_set_domain_lat_name(xios::CDomain *domain_hdl, const char *latname, int latname_size)
-
void cxios_set_domain_lon_name(xios::CDomain *domain_hdl, const char *lonname, int lonname_size)
-
void cxios_set_domain_ni_glo(xios::CDomain *domain_hdl, int ni_glo)
-
void cxios_set_domain_nj_glo(xios::CDomain *domain_hdl, int nj_glo)
-
void cxios_set_domain_ni(xios::CDomain *domain_hdl, int ni)
-
void cxios_set_domain_nj(xios::CDomain *domain_hdl, int nj)
-
void cxios_set_domain_ibegin(xios::CDomain *domain_hdl, int ibegin)
-
void cxios_set_domain_jbegin(xios::CDomain *domain_hdl, int jbegin)
-
bool cxios_is_defined_domain_type(xios::CDomain *domain_hdl)
-
bool cxios_is_defined_domain_dim_i_name(xios::CDomain *domain_hdl)
-
bool cxios_is_defined_domain_dim_j_name(xios::CDomain *domain_hdl)
-
bool cxios_is_defined_domain_lat_name(xios::CDomain *domain_hdl)
-
bool cxios_is_defined_domain_lon_name(xios::CDomain *domain_hdl)
-
bool cxios_is_defined_domain_ni_glo(xios::CDomain *domain_hdl)
-
bool cxios_is_defined_domain_nj_glo(xios::CDomain *domain_hdl)
-
void cxios_set_domain_lonvalue_1d(xios::CDomain *domain_hdl, double *data, const int *ni)
-
void cxios_set_domain_latvalue_1d(xios::CDomain *domain_hdl, double *data, const int *nj)
-
bool cxios_is_defined_domain_ni(xios::CDomain *domain_hdl)
-
bool cxios_is_defined_domain_nj(xios::CDomain *domain_hdl)
-
bool cxios_is_defined_domain_ibegin(xios::CDomain *domain_hdl)
-
bool cxios_is_defined_domain_jbegin(xios::CDomain *domain_hdl)
-
bool cxios_is_defined_domain_lonvalue_1d(xios::CDomain *domain_hdl)
-
bool cxios_is_defined_domain_latvalue_1d(xios::CDomain *domain_hdl)
-
void cxios_gridgroup_handle_create(xios::CGridGroup **_ret, const char *_id, int _id_len)
-
void cxios_xml_tree_add_grid(xios::CGridGroup *grid_grp, xios::CGrid **grid, const char *_id, int _id_len)
-
void cxios_grid_handle_create(xios::CGrid **_ret, const char *_id, int _id_len)
-
void cxios_grid_valid_id(bool *_ret, const char *_id, int _id_len)
-
void cxios_xml_tree_add_domaintogrid(xios::CGrid *grid, xios::CDomain **domain, const char *_id, int _id_len)
-
void cxios_fieldgroup_handle_create(xios::CFieldGroup **_ret, const char *_id, int _id_len)
-
void cxios_xml_tree_add_field(xios::CFieldGroup *field_grp, xios::CField **field, const char *_id, int _id_len)
-
void cxios_field_handle_create(xios::CField **_ret, const char *_id, int _id_len)
-
void cxios_field_valid_id(bool *_ret, const char *_id, int _id_len)
-
void cxios_set_field_name(xios::CField *field_hdl, const char *name, int name_size)
-
void cxios_set_field_operation(xios::CField *field_hdl, const char *operation, int operation_size)
-
void cxios_set_field_grid_ref(xios::CField *field_hdl, const char *grid_ref, int grid_ref_size)
-
void cxios_set_field_read_access(xios::CField *field_hdl, bool read_access)
-
void cxios_set_field_freq_offset(xios::CField *field_hdl, cxios_duration freq_offset)
-
void cxios_set_field_field_ref(xios::CField *field_hdl, const char *field_ref, int field_ref_size)
-
void cxios_get_field_grid_ref(xios::CField *field_hdl, char *grid_ref, int grid_ref_size)
-
void cxios_get_field_read_access(xios::CField *field_hdl, bool *read_access)
-
void cxios_get_field_freq_offset(xios::CField *field_hdl, cxios_duration *freq_offset)
-
bool cxios_is_defined_field_name(xios::CField *field_hdl)
-
bool cxios_is_defined_field_operation(xios::CField *field_hdl)
-
bool cxios_is_defined_field_grid_ref(xios::CField *field_hdl)
-
bool cxios_is_defined_field_read_access(xios::CField *field_hdl)
-
bool cxios_is_defined_field_freq_offset(xios::CField *field_hdl)
-
void cxios_filegroup_handle_create(xios::CFileGroup **_ret, const char *_id, int _id_len)
-
void cxios_xml_tree_add_file(xios::CFileGroup *file_grp, xios::CFile **file, const char *_id, int _id_len)
-
void cxios_file_handle_create(xios::CFile **_ret, const char *_id, int _id_len)
-
void cxios_file_valid_id(bool *_ret, const char *_id, int _id_len)
-
void cxios_set_file_name(xios::CFile *file_hdl, const char *name, int name_size)
-
void cxios_set_file_type(xios::CFile *file_hdl, const char *type, int type_size)
-
void cxios_set_file_output_freq(xios::CFile *file_hdl, cxios_duration output_freq_c)
-
void cxios_get_file_output_freq(xios::CFile *file_hdl, cxios_duration *output_freq_c)
-
void cxios_set_file_split_freq(xios::CFile *file_hdl, cxios_duration split_freq_c)
-
void cxios_set_file_mode(xios::CFile *file_hdl, const char *mode, int mode_size)
-
void cxios_set_file_par_access(xios::CFile *file_hdl, const char *par_access, int par_access_size)
-
void cxios_set_file_split_freq_format(xios::CFile *file_hdl, const char *split_freq_format, int split_freq_format_size)
-
bool cxios_is_defined_file_name(xios::CFile *file_hdl)
-
bool cxios_is_defined_file_type(xios::CFile *file_hdl)
-
bool cxios_is_defined_file_output_freq(xios::CFile *file_hdl)
-
bool cxios_is_defined_file_split_freq(xios::CFile *file_hdl)
-
bool cxios_is_defined_file_mode(xios::CFile *file_hdl)
-
bool cxios_is_defined_file_par_access(xios::CFile *file_hdl)
-
bool cxios_is_defined_file_split_freq_format(xios::CFile *file_hdl)
-
void cxios_xml_tree_add_fieldtofile(xios::CFile *file, xios::CField **field, const char *_id, int _id_len)
-
void cxios_write_data_k82(const char *fieldid, int fieldid_size, const double *data_k8, int data_size1, int data_size2, int tileid)
-
void cxios_write_data_k83(const char *fieldid, int fieldid_size, const double *data_k8, int data_size1, int data_size2, int data_size3, int tileid)
-
void cxios_read_data_k82(const char *fieldid, int fieldid_size, const double *data_k8, int data_size1, int data_size2)
-
void cxios_read_data_k83(const char *fieldid, int fieldid_size, const double *data_k8, int data_size1, int data_size2, int data_size3)
-
void cxios_init_client(const char *client_id, int len_client_id, MPI_Fint *f_local_comm, MPI_Fint *f_return_comm)
- file Iterator.cpp
- file KokkosModelArray.hpp
- file KokkosTimer.hpp
- file KokkosUtils.hpp
- file KokkosModelArray.cpp
- file KokkosUtils.cpp
- file Logged.cpp
- file main.cpp
Functions
-
int main(int argc, char *argv[])
-
int main(int argc, char *argv[])
- file Model.cpp
- file ModelArray.cpp
- file ModelArraySlice.cpp
- file ModelArrayStore.cpp
- file ModelComponent.cpp
- file ModelMetadata.cpp
- file ModelMPI.cpp
- file ConfigOutput.cpp
- file ConfigOutput.hpp
- file NoOutput.hpp
- file SimpleOutput.hpp
- file SimpleOutput.cpp
- file BBMDynamics.cpp
- file BBMDynamics.hpp
Defines
-
DGCOMP
-
DGCOMP
- file DummyDynamics.hpp
- file FreeDriftDynamics.hpp
Defines
-
DGCOMP
-
DGCOMP
- file MEVPDynamics.hpp
Defines
-
DGCOMP
-
DGCOMP
- file MEVPDynamics.cpp
- file LinearFreezing.hpp
- file UnescoFreezing.hpp
- file IDiagnosticOutput.hpp
- file IDynamics.hpp
- file IFreezingPoint.hpp
- file IStructure.hpp
- file ProtectedArrayNames.ipp
- file SharedArrayNames.ipp
- file module_maker.py
- file README.md
- file ParametricGrid.hpp
- file RectangularGrid.hpp
- file ParametricGrid.cpp
- file RectangularGrid.cpp
- file NetcdfMetadataConfiguration.cpp
- file ParaGridIO.cpp
- file ParaGridIO_Xios.cpp
- file ParallelNetcdfFile.cpp
Variables
-
int g_ncid
-
int g_ncid
- file PDWriter.cpp
- file PrognosticData.cpp
- file RectGridIO.cpp
- file StructureFactory.cpp
- file Time.cpp
- file Xios.cpp
- file alt_names.py
- file ArgV.cpp
- file ArgV.hpp
- file CommandLineParser_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file ConfigOutput_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
Variables
-
const std::string test_files_dir = TEST_FILES_DIR
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file Configurator_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file ConfiguredModule_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file DynamicsModuleForPDtest.cpp
- file FileCallbackCloser_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file Finalizer_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file HaloExchangeCB_test.cpp
- file Iterator_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file Logged_test.cpp
- file MainMPI.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT
Functions
-
int main(int argc, char **argv)
-
DOCTEST_CONFIG_IMPLEMENT
- file MainTest.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT
Functions
-
int main(int argc, char **argv)
-
DOCTEST_CONFIG_IMPLEMENT
- file ModelArray_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file ModelArrayAccessor_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file ModelArraySlice_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
Variables
-
const auto nx = 23
-
const auto ny = 17
-
const auto nz = 5
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file ModelComponent_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file ModelMetadataCB_test.cpp
Variables
-
const std::string testFilesDir = TEST_FILES_DIR
-
const std::string partitionFilenameCB = testFilesDir + "/halo_cb_test_partition_metadata_3.nc"
-
const std::string testFilesDir = TEST_FILES_DIR
- file ModelMetadataPB_test.cpp
Variables
-
const std::string testFilesDir = TEST_FILES_DIR
-
const std::string partitionFilenamePB = testFilesDir + "/halo_pb_test_partition_metadata_3.nc"
-
const std::string testFilesDir = TEST_FILES_DIR
- file MonthlyCubicBSpline_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file ParaGrid_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
TEST_FILE_SOURCE
Variables
-
const std::string testFilesDir = TEST_FILES_DIR
-
const std::string filename = testFilesDir + "/paraGrid_test.nc"
-
const std::string diagFile = "paraGrid_diag.nc"
-
const std::string dateString = "2000-01-01T00:00:00Z"
-
static const int DG = 3
-
static const int DGSTRESS = 6
-
const size_t nx = 10
-
const size_t ny = 9
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file ParaGridIO_input_test.py
- file PDTestDynamics.hpp
- file PrognosticData_test.cpp
- file PrognosticDataIO_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
TRUE
-
FALSE
-
ON
-
OFF
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file moduleLoaderAssignments.ipp
Functions
- if (module=="Nextsim::IFreezingPoint")
- file moduleLoaderFunctions.ipp
Functions
-
std::unique_ptr<Nextsim::IFreezingPoint> newLinearFreezing()
-
std::unique_ptr<Nextsim::IFreezingPoint> newUnescoFreezing()
Variables
-
static Nextsim::IFreezingPoint *p_IFreezingPoint
-
std::unique_ptr<Nextsim::IFreezingPoint> (*pf_IFreezingPoint)()
-
static Nextsim::LinearFreezing i_LinearFreezing
-
static Nextsim::UnescoFreezing i_UnescoFreezing
-
std::unique_ptr<Nextsim::IFreezingPoint> newLinearFreezing()
- file moduleLoaderHeaders.ipp
- file moduleLoaderNames.ipp
Variables
- m_availableImplementationNames = {{ "Nextsim::IFreezingPoint",{"Nextsim::LinearFreezing","Nextsim::UnescoFreezing",} },}
- file RectGrid_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
Variables
-
const std::string test_files_dir = TEST_FILES_DIR
-
const std::string filename = test_files_dir + "/RectGrid_test.nc"
-
const std::string date_string = "2000-01-01T00:00:00Z"
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file Slice_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
ceil(num, denom)
Typedefs
-
using Slice = ArraySlicer::Slice
-
using SliceIter = ArraySlicer::SliceIter
-
using MultiDim = SliceIter::MultiDim
Functions
- TEST_SUITE_BEGIN ("Indexer")
- TEST_CASE ("indexer <-> deIndexer")
-
TEST_SUITE_END()
- TEST_SUITE_BEGIN ("Slice")
- TEST_CASE ("One dimensional indexing")
- TEST_CASE ("Multidimensional indexing")
- TEST_CASE ("Negative steps")
- TEST_CASE ("Test matchIndices")
- TEST_CASE ("Indexing behaviour")
-
bool makeZeroStep()
- TEST_CASE ("Zero step")
- TEST_CASE ("SliceIter equality")
- TEST_CASE ("Two dimensions, slicing the end of the second dimension")
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file Time_test.cpp
Defines
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-
DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
- file XiosAxis_test.cpp
- file XiosCalendar_test.cpp
- file XiosReadDiagnostic_test.cpp
Variables
-
const std::string testFilesDir = TEST_FILES_DIR
-
const std::string diagnosticFilename = testFilesDir + "/diagnostic_2023-03-17T00:00:00Z-2023-03-17T02:59:59Z.nc"
-
static const int DGCOMP = 6
-
static const int DGSTRESSCOMP = 8
-
static const int CGDEGREE = 2
-
const std::string testFilesDir = TEST_FILES_DIR
- file XiosReadForcing_test.cpp
Variables
-
const std::string testFilesDir = TEST_FILES_DIR
-
const std::string inputFilename = testFilesDir + "/xios_test_input.nc"
-
const std::string era5ForcingFilename = testFilesDir + "/xios_test_era5_forcing.nc"
-
const std::string topazForcingFilename = testFilesDir + "/xios_test_topaz_forcing.nc"
-
static const int DGCOMP = 6
-
static const int DGSTRESSCOMP = 8
-
static const int CGDEGREE = 2
-
const std::string testFilesDir = TEST_FILES_DIR
- file XiosReadRestart_test.cpp
Variables
-
const std::string testFilesDir = TEST_FILES_DIR
-
const std::string restartFilename = testFilesDir + "/restart_2023-03-17T00:00:00Z-2023-03-17T02:59:59Z.nc"
-
static const int DGCOMP = 6
-
static const int DGSTRESSCOMP = 8
-
static const int CGDEGREE = 2
-
const std::string testFilesDir = TEST_FILES_DIR
- file XiosReadWriteRestart_test.cpp
Variables
-
const std::string testFilesDir = TEST_FILES_DIR
-
const std::string inputFilename = testFilesDir + "/xios_test_input.nc"
-
const std::string outputFilename = testFilesDir + "/readwrite%Y-%m-%dT%H:%M:%SZ.nc"
-
static const int DGCOMP = 6
-
static const int DGSTRESSCOMP = 8
-
static const int CGDEGREE = 2
-
const std::string testFilesDir = TEST_FILES_DIR
- file XiosWriteDiagnostic_test.cpp
Variables
-
const std::string testFilesDir = TEST_FILES_DIR
-
const std::string inputFilename = testFilesDir + "/xios_test_input.nc"
-
const std::string diagnosticFilename = testFilesDir + "/diagnostic%Y-%m-%dT%H:%M:%SZ.nc"
-
static const int DGCOMP = 6
-
static const int DGSTRESSCOMP = 8
-
static const int CGDEGREE = 2
-
const std::string testFilesDir = TEST_FILES_DIR
- file XiosWriteRestart_test.cpp
Variables
-
const std::string testFilesDir = TEST_FILES_DIR
-
const std::string inputFilename = testFilesDir + "/xios_test_input.nc"
-
const std::string outputFilename = testFilesDir + "/restart%Y-%m-%dT%H:%M:%SZ.nc"
-
static const int DGCOMP = 6
-
static const int DGSTRESSCOMP = 8
-
static const int CGDEGREE = 2
-
const std::string testFilesDir = TEST_FILES_DIR
- page md__home_docs_checkouts_readthedocs_org_user_builds_nextsim_dg_checkouts_latest_core_src_modules_README
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/modules/DiagnosticOutputModule
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/discontinuousgalerkin
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/modules/DynamicsModule
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/finitevolume
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/modules/FreezingPointModule
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/modules/FreezingPointModule/include
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/modules/DynamicsModule/include
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/modules/DiagnosticOutputModule/include
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/kokkos/include
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/include
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/test/testmodelarraydetails/include
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/modules/include
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/modules/StructureModule/include
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/finitevolume/include
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/discontinuousgalerkin/include
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/kokkos
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/modules
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/test/PrognosticDataTestModules
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/src/modules/StructureModule
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/test
- dir /home/docs/checkouts/readthedocs.org/user_builds/nextsim-dg/checkouts/latest/core/test/testmodelarraydetails