Program Listing for File ExternalData.hpp¶
↰ Return to documentation for file (src/include/ExternalData.hpp)
#ifndef SRC_INCLUDE_EXTERNALDATA_HPP
#define SRC_INCLUDE_EXTERNALDATA_HPP
#include "BaseElementData.hpp"
#include "constants.hpp"
namespace Nextsim {
class ExternalData : public BaseElementData {
public:
ExternalData() = default;
~ExternalData() = default;
inline double& airTemperature() { return m_tair; };
inline const double& airTemperature() const { return m_tair; }
inline double& dewPoint2m() { return m_dair; };
inline double dewPoint2m() const { return m_dair; };
inline double& airPressure() { return m_slp; };
inline const double& airPressure() const { return m_slp; }
inline double& mixingRatio() { return m_mixrat; };
inline const double& mixingRatio() const { return m_mixrat; }
inline bool hasMixingRatio() const { return (m_mixrat >= 0) && (m_mixrat <= 1); };
inline double& incomingShortwave() { return m_Qsw_in; }
inline const double& incomingShortwave() const { return m_Qsw_in; }
inline double& incomingLongwave() { return m_Qlw_in; }
inline const double& incomingLongwave() const { return m_Qlw_in; }
inline const double& iceBottomTemperature() const { return m_tbot; }
inline double& mixedLayerDepth() { return m_mld; };
inline double mixedLayerDepth() const { return m_mld; }
inline double mixedLayerBulkHeatCapacity() const { return m_mld * Water::rhoOcean * Water::cp; }
inline double& snowfall() // [kg m⁻² s⁻¹]
{
return m_snowfall;
}
inline const double& snowfall() const { return m_snowfall; }
private:
double m_tair;
double m_dair;
double m_slp;
double m_mixrat;
double m_Qsw_in;
double m_Qlw_in;
double m_tbot;
double m_mld;
double m_snowfall;
};
} /* namespace Nextsim */
#endif /* SRC_INCLUDE_EXTERNALDATA_HPP */