source: XIOS3/branches/xios-3.0-beta/src/io/netCdf_cf_constant.hpp

Last change on this file was 2274, checked in by ymipsl, 3 years ago

Tracking memory leak : release memory statically alocated

YM

File size: 1.4 KB
Line 
1#ifndef __XIOS_INETCDF4_IMPL__
2#define __XIOS_INETCDF4_IMPL__
3
4#include "inetcdf4.hpp"
5#include "netCdfInterface.hpp"
6
7namespace xios
8{
9//const StdString CFLatUnits[] = {"degrees_north", "degree_north", "degree_N", "degrees_N", "degreeN", "degreesN"};
10//const StdString CFLonUnits[] = {"degrees_east", "degree_east", "degree_E", "degrees_E", "degreeE", "degreesE"};
11
12struct CCFKeywords
13{
14  static const StdString XIOS_CF_units;
15  static const StdString XIOS_CF_standard_name;
16  static const StdString XIOS_CF_coordinates;
17  static const StdString XIOS_CF_bounds;
18};
19
20struct CCFConvention
21{
22  static const std::set<StdString>& XIOS_CF_Latitude_units()
23  {
24    if (XIOS_CF_Longitude_units_.empty()) XIOS_CF_Latitude_units_= {"degrees_north", "degree_north", "degree_N", "degrees_N", "degreeN", "degreesN"};
25    return XIOS_CF_Latitude_units_ ;
26  }
27
28  static const std::set<StdString>& XIOS_CF_Longitude_units()
29  {
30    if (XIOS_CF_Longitude_units_.empty()) XIOS_CF_Longitude_units_= {"degrees_east", "degree_east", "degree_E", "degrees_E", "degreeE", "degreesE"};
31    return XIOS_CF_Longitude_units_ ;
32  }
33  static void releaseStaticAllocation(void) { XIOS_CF_Latitude_units_.clear() ; XIOS_CF_Longitude_units_.clear() ; }
34private:
35  CCFConvention();
36  static std::set<StdString> XIOS_CF_Latitude_units_;
37  static std::set<StdString> XIOS_CF_Longitude_units_;
38};
39
40} // namespace xios
41
42#endif //__XIOS_INETCDF4_IMPL__
Note: See TracBrowser for help on using the repository browser.