23#ifndef WOSS_SSP_NETCDF_DB_H
24#define WOSS_SSP_NETCDF_DB_H
37#ifdef WOSS_NETCDF_SUPPORT
42#if defined (WOSS_NETCDF4_SUPPORT)
48 static constexpr inline int SSP_WOA2005_STD_NLAT = 180;
50 static constexpr inline int SSP_WOA2005_STD_NLON = 360;
52 static constexpr inline double SSP_WOA2005_STD_SPACING = 1.0;
54 static constexpr inline double SSP_WOA2005_STD_MIN_LAT = -89.5;
56 static constexpr inline double SSP_WOA2005_STD_MAX_LAT = 89.5;
58 static constexpr inline double SSP_WOA2005_STD_MIN_LON = -179.5;
60 static constexpr inline double SSP_WOA2005_STD_MAX_LON = 179.5;
62 static constexpr inline double SSP_WOA2005_STD_START_LAT = 89.5;
64 static constexpr inline double SSP_WOA2005_STD_START_LON = -179.5;
66 static constexpr inline int SSP_WOA2013_STD_NLAT = 720;
68 static constexpr inline int SSP_WOA2013_STD_NLON = 1440;
70 static constexpr inline double SSP_WOA2013_STD_SPACING = 0.25;
72 static constexpr inline double SSP_WOA2013_STD_MIN_LAT = -89.875;
74 static constexpr inline double SSP_WOA2013_STD_MAX_LAT = 89.875;
76 static constexpr inline double SSP_WOA2013_STD_MIN_LON = -179.875;
78 static constexpr inline double SSP_WOA2013_STD_MAX_LON = 179.875;
80 static constexpr inline double SSP_WOA2013_STD_START_LAT = -89.875;
82 static constexpr inline double SSP_WOA2013_STD_START_LON = -179.875;
84 static constexpr inline int SSP_STD_NDEPTH = 33;
89 static constexpr inline short ssp_std_depths[SSP_STD_NDEPTH] = { 0, 10, 20, 30, 50, 75, 100, 125, 150, 200, 250, 300,
90 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500,
91 1750, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500 };
119#if defined (WOSS_NETCDF4_SUPPORT)
155 virtual std::unique_ptr<SSP>
getValue(
const Coord& coordinates,
const Time& time,
long double ssp_depth_precision )
const override;
174#if defined (WOSS_NETCDF4_SUPPORT)
179#if defined (WOSS_NETCDF4_SUPPORT)
197#if defined (WOSS_NETCDF4_SUPPORT)
Coordinates (lat, long) class definitions and functions library.
Definition coordinates-definitions.h:98
SSP class offers multiple creation and manipulation capabilities for sound speed profile.
Definition ssp-definitions.h:247
WossDb for the custom made NetCDF WOA2005 SSP database.
Definition ssp-woa2005-db.h:109
void getSSPValue(const SSPIndexes &indexes, double ssp_values[]) const
SSPIndexes getSSPIndexes(const Coord &coordinates) const
Definition ssp-woa2005-db.cpp:120
WOADbType woa_db_type
Definition ssp-woa2005-db.h:169
virtual ~SspWoa2005Db() override=default
virtual bool finalizeConnection() override
Definition ssp-woa2005-db.cpp:70
netCDF::NcVar ssp_var
Definition ssp-woa2005-db.h:175
NcVar * ssp_var
Definition ssp-woa2005-db.h:177
netCDF::NcVar lon_var
Definition ssp-woa2005-db.h:187
netCDF::NcVar lat_var
Definition ssp-woa2005-db.h:183
WOADbType getWoaDbType() const
Definition ssp-woa2005-db.h:161
virtual bool insertValue(const Coord &coordinates, const Time &time_value, const SSP &ssp_value) override
Definition ssp-woa2005-db.cpp:114
virtual std::unique_ptr< SSP > getValue(const Coord &coordinates, const Time &time, long double ssp_depth_precision) const override
Definition ssp-woa2005-db.cpp:266
void getSSPValue(const Coord &coordinates, const SSPIndexes &indexes, double ssp_values[]) const
Definition ssp-woa2005-db.cpp:169
a class for time date manipulation
Definition time-definitions.h:83
NetCDF implementation of WossDb.
Definition woss-db.h:178
Data behaviour class for SSP database.
Definition woss-db.h:338
Definition ac-toolbox-arr-asc-reader.h:44
WOADbType
Definition ssp-woa2005-db.h:98
@ WOA_DB_TYPE_INVALID
Must always be the last.
@ WOA_DB_TYPE_2013
2013, 2001, 2018 and 2023 NetCDF4 Db type, 0.25 degree resolution
@ WOA_DB_TYPE_2005
2005 and 2009 NetCDF Db type, 1 degree resolution
std::pair< int, int > SSPIndexes
Definition ssp-woa2005-db.h:96
Definitions and library for Sound Speed Profiles.
Provides the interface for woss::WossDb class.