Program Listing for File PhysicsData.hpp¶
↰ Return to documentation for file (src/include/PhysicsData.hpp)
#ifndef SRC_INCLUDE_PHYSICSDATA_HPP
#define SRC_INCLUDE_PHYSICSDATA_HPP
#include "BaseElementData.hpp"
#include "PrognosticData.hpp"
namespace Nextsim {
class PhysicsData : public BaseElementData {
public:
PhysicsData() = default;
~PhysicsData() = default;
inline double& airDensity() { return m_rho; };
inline double& windSpeed() { return m_wspeed; }
inline double& specificHumidityWater() { return m_sphumw; }
inline double& specificHumidityIce() { return m_sphumi; }
inline double& specificHumidityAir() { return m_sphuma; }
inline double mixingRatio() { return m_sphuma / (1 - m_sphuma); }
inline double& heatCapacityWetAir() { return m_cspec; }
inline double& dragPressure() { return m_tau; }
inline double& updatedIceTrueThickness() { return m_hi_new; }
inline double& updatedSnowTrueThickness() { return m_hs; }
inline double& updatedIceSurfaceTemperature() { return m_TiceNew[0]; }
inline double& updatedIceConcentration() { return m_conc_new; }
private:
double m_rho;
double m_wspeed;
double m_sphumw;
double m_sphumi;
double m_sphuma;
double m_cspec;
double m_tau;
// thermodynamic values
double m_hi_new; // updated true ice thickness [m]
double m_hs;
std::array<double, N_ICE_TEMPERATURES> m_TiceNew;
double m_conc_new; // updated ice concentration
};
} /* namespace Nextsim */
#endif /* SRC_INCLUDE_PHYSICSDATA_HPP */