Ignore:
Timestamp:
12/09/21 12:28:20 (2 years ago)
Author:
ymipsl
Message:

Tracking memory leak : release memory statically alocated

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/io/netCdf_cf_constant.hpp

    r782 r2274  
    77namespace xios 
    88{ 
    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"}; 
     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"}; 
    1111 
    1212struct CCFKeywords 
     
    1717  static const StdString XIOS_CF_bounds; 
    1818}; 
    19 const StdString CCFKeywords::XIOS_CF_units("units"); 
    20 const StdString CCFKeywords::XIOS_CF_standard_name("standard_name"); 
    21 const StdString CCFKeywords::XIOS_CF_coordinates("coordinates"); 
    22 const StdString CCFKeywords::XIOS_CF_bounds("bounds"); 
    2319 
    2420struct CCFConvention 
    2521{ 
    26   static const std::set<StdString> XIOS_CF_Latitude_units; 
    27   static const std::set<StdString> XIOS_CF_Longitude_units; 
     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  } 
    2827 
     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() ; } 
    2934private: 
    3035  CCFConvention(); 
     36  static std::set<StdString> XIOS_CF_Latitude_units_; 
     37  static std::set<StdString> XIOS_CF_Longitude_units_; 
    3138}; 
    32  
    33 const std::set<StdString> CCFConvention::XIOS_CF_Latitude_units(CFLatUnits, CFLatUnits+sizeof(CFLatUnits)/sizeof(CFLatUnits[0])); 
    34 const std::set<StdString> CCFConvention::XIOS_CF_Longitude_units(CFLonUnits, CFLonUnits+sizeof(CFLonUnits)/sizeof(CFLonUnits[0])); 
    3539 
    3640} // namespace xios 
Note: See TracChangeset for help on using the changeset viewer.