55 GRID, SWATH, ZA, OTHERVARS
58 GENERAL_DIMSCALE, GENERAL_LATLON2D, GENERAL_LATLON1D, GENERAL_LATLON_COOR_ATTR, OTHERGMS
61 OMI, MLS, HIRDLS, TES, NOTAURA
63 static std::string FILE_ATTR_TABLE_NAME =
"HDF5_GLOBAL";
82 virtual const char *what()
const throw ()
84 return this->message.c_str();
87 virtual void setException(std::string except_message)
89 this->message = except_message;
95 template<
typename T,
typename U,
typename V,
typename W,
typename X>
static void _throw5(
const char *fname,
int line,
96 int numarg,
const T & a1,
const U & a2,
const V & a3,
const W & a4,
const X & a5)
98 std::ostringstream ss;
99 ss << fname <<
":" << line <<
":";
100 for (
int i = 0; i < numarg; ++i) {
122 throw Exception(ss.str());
128 #define throw1(a1) _throw5(__FILE__, __LINE__, 1, a1, 0, 0, 0, 0)
129 #define throw2(a1, a2) _throw5(__FILE__, __LINE__, 2, a1, a2, 0, 0, 0)
130 #define throw3(a1, a2, a3) _throw5(__FILE__, __LINE__, 3, a1, a2, a3, 0, 0)
131 #define throw4(a1, a2, a3, a4) _throw5(__FILE__, __LINE__, 4, a1, a2, a3, a4, 0)
132 #define throw5(a1, a2, a3, a4, a5) _throw5(__FILE__, __LINE__, 5, a1, a2, a3, a4, a5)
135 template<
typename T>
void operator ()(T * ptr)
147 hsize_t getSize()
const
151 const std::string & getName()
const
155 const std::string & getNewName()
const
157 return this->newname;
163 return unlimited_dim;
168 size(dimsize), name(
""), newname(
""), unlimited_dim(false)
178 friend class EOS5File;
184 friend class EOS5CVar;
185 friend class GMSPVar;
193 dtype(H5UNSUPTYPE), count(0), fstrsize(0),is_cset_ascii(
true)
199 const std::string & getName()
const
204 const std::string & getNewName()
const
206 return this->newname;
209 H5DataType getType()
const
214 hsize_t getCount()
const
219 size_t getBufSize()
const
221 return (this->value).size();
224 const std::vector<char>&getValue()
const
229 const std::vector<size_t>&getStrSize()
const
231 return this->strsize;
234 bool getCsetType()
const {
235 return this->is_cset_ascii;
243 std::vector<size_t> strsize;
245 std::vector<char> value;
262 dtype(H5UNSUPTYPE), rank(-1), comp_ratio(1), total_elems(0), unsupported_attr_dtype(
false),
263 unsupported_attr_dspace(
false), unsupported_dspace(
false), dimnameflag(
false)
279 return this->newname;
285 return this->fullpath;
288 size_t getTotalElems()
const
290 return this->total_elems;
306 const std::vector<Attribute *>&getAttributes()
const
320 return this->comp_ratio;
327 std::string fullpath;
332 bool unsupported_attr_dtype;
333 bool unsupported_attr_dspace;
334 bool unsupported_dspace;
337 std::vector<Attribute *> attrs;
338 std::vector<Dimension *> dims;
353 cvartype(CV_UNSUPPORTED)
362 return this->cvartype;
365 bool isLatLon()
const;
371 std::string cfdimname;
383 otype(H5UNSUPTYPE), sdbit(-1), numofdbits(-1)
390 H5DataType getOriginalType()
const
395 int getStartBit()
const
400 int getBitNum()
const
402 return this->numofdbits;
418 product_type(General_Product)
429 return this->product_type;
433 H5GCFProduct product_type;
441 eos_type(OTHERVARS), is_2dlatlon(
false), point_lower(0.0), point_upper(0.0), point_left(0.0), point_right(0.0), xdimsize(
442 0), ydimsize(0), eos5_pixelreg(HE5_HDFE_CENTER),
443 eos5_origin(HE5_HDFE_GD_UL),
444 eos5_projcode(HE5_GCTP_GEO),
447 std::fill_n(param, 13, 0);
456 EOS5Type getEos5Type()
const
458 return this->eos_type;
460 float getPointLower()
const
462 return this->point_lower;
464 float getPointUpper()
const
466 return this->point_upper;
469 float getPointLeft()
const
471 return this->point_left;
473 float getPointRight()
const
475 return this->point_right;
478 EOS5GridPRType getPixelReg()
const
480 return this->eos5_pixelreg;
482 EOS5GridOriginType getOrigin()
const
484 return this->eos5_origin;
487 EOS5GridPCType getProjCode()
const
489 return this->eos5_projcode;
492 int getXDimSize()
const
494 return this->xdimsize;
497 int getYDimSize()
const
499 return this->ydimsize;
502 std::vector<double> getParams()
const
504 std::vector<double> ret_params;
505 for (
int i = 0; i < 13; i++)
506 ret_params.push_back(param[i]);
515 int getSphere()
const
529 EOS5GridPRType eos5_pixelreg;
530 EOS5GridOriginType eos5_origin;
531 EOS5GridPCType eos5_projcode;
543 unsupported_attr_dtype(
false), unsupported_attr_dspace(
false)
558 return this->newname;
561 const std::vector<Attribute *>&getAttributes()
const
571 std::vector<Attribute *> attrs;
572 bool unsupported_attr_dtype;
573 bool unsupported_attr_dspace;
577 friend class EOS5File;
691 void Retrieve_H5_Obj(hid_t grp_id,
const char*gname,
bool include_attr);
692 void Retrieve_H5_Attr_Info(
Attribute *, hid_t obj_id,
const int j,
bool& unsup_attr_dtype,
bool & unsup_attr_dspace);
694 void Retrieve_H5_Attr_Value(
Attribute *attr, std::string);
696 void Retrieve_H5_VarType(
Var*, hid_t dset_id,
const std::string& varname,
bool &unsup_var_dtype);
697 void Retrieve_H5_VarDim(
Var*, hid_t dset_id,
const std::string &varname,
bool & unsup_var_dspace);
699 float Retrieve_H5_VarCompRatio(
Var*, hid_t);
701 void Handle_Group_Unsupported_Dtype() ;
702 void Handle_Var_Unsupported_Dtype() ;
703 void Handle_VarAttr_Unsupported_Dtype() ;
705 void Handle_GroupAttr_Unsupported_Dspace() ;
706 void Handle_VarAttr_Unsupported_Dspace() ;
708 void Gen_Group_Unsupported_Dtype_Info() ;
709 void Gen_Var_Unsupported_Dtype_Info() ;
710 virtual void Gen_VarAttr_Unsupported_Dtype_Info() ;
712 void Handle_GeneralObj_NameClashing(
bool, std::set<std::string> &objnameset) ;
713 void Handle_Var_NameClashing(std::set<std::string> &objnameset) ;
714 void Handle_Group_NameClashing(std::set<std::string> &objnameset) ;
715 void Handle_Obj_AttrNameClashing() ;
716 template<
typename T>
void Handle_General_NameClashing(std::set<std::string>&objnameset, std::vector<T*>& objvec) ;
718 void Add_One_FakeDim_Name(
Dimension *dim) ;
719 void Adjust_Duplicate_FakeDim_Name(
Dimension * dim) ;
720 void Insert_One_NameSizeMap_Element(std::string name, hsize_t size,
bool unlimited) ;
721 void Insert_One_NameSizeMap_Element2(std::map<std::string, hsize_t> &, std::map<std::string, bool>&, std::string name, hsize_t size,
724 virtual std::string get_CF_string(std::string);
725 virtual void Replace_Var_Info(
Var* src,
Var *target);
726 virtual void Replace_Var_Attrs(
Var *src,
Var*target);
728 void Add_Str_Attr(
Attribute* attr,
const std::string &attrname,
const std::string& strvalue) ;
729 std::string Retrieve_Str_Attr_Value(
Attribute *attr,
const std::string var_path);
730 bool Is_Str_Attr(
Attribute* attr, std::string varfullpath,
const std::string &attrname,
const std::string& strvalue);
731 void Add_One_Float_Attr(
Attribute* attr,
const std::string &attrname,
float float_value) ;
732 void Replace_Var_Str_Attr(
Var* var,
const std::string &attr_name,
const std::string& strvalue);
733 void Change_Attr_One_Str_to_Others(
Attribute *attr,
Var *var) ;
736 bool Is_geolatlon(
const std::string &var_name,
bool is_lat);
737 bool has_latlon_cf_units(
Attribute*attr,
const std::string &varfullpath,
bool is_lat);
742 bool is_var_under_group(
const std::string &varname,
const std::string &grpname,
const int var_rank, std::vector<size_t> &var_size);
745 void remove_netCDF_internal_attributes(
bool include_attr);
747 virtual void Gen_Unsupported_Dtype_Info(
bool) = 0;
748 virtual void Gen_Unsupported_Dspace_Info() ;
749 void Gen_DimScale_VarAttr_Unsupported_Dtype_Info() ;
750 void add_ignored_info_page_header();
751 void add_ignored_info_obj_header();
754 void add_ignored_info_links_header();
755 void add_ignored_info_links(
const std::string& link_name);
756 void add_ignored_info_namedtypes(
const std::string&,
const std::string&);
757 void add_ignored_info_attrs(
bool is_grp,
const std::string & obj_path,
const std::string &attr_name);
758 void add_ignored_info_objs(
bool is_dim_related,
const std::string & obj_path);
759 void add_no_ignored_info();
760 bool ignored_dimscale_ref_list(
Var *var);
762 void add_ignored_var_longstr_info(
Var*var,
Attribute *attr) ;
763 void add_ignored_grp_longstr_info(
const std::string& grp_path,
const std::string& attr_name);
764 void add_ignored_droplongstr_hdr();
765 bool Check_VarDropLongStr(
const std::string &varpath,
const std::vector<Dimension *>&, H5DataType) ;
767 void release_standalone_var_vector(std::vector<Var*>&
vars);
770 std::string Check_Grid_Mapping_VarName(
const std::string& attr_value,
const std::string& var_full_path);
771 std::string Check_Grid_Mapping_FullPath(
const std::string& attr_value);
774 File(
const char *h5_path, hid_t file_id) :
775 path(std::string(h5_path)), fileid(file_id), rootid(-1), unsupported_var_dtype(false), unsupported_attr_dtype(false), unsupported_var_dspace(
776 false), unsupported_attr_dspace(false), unsupported_var_attr_dspace(false), addeddimindex(0), check_ignored(
777 false), have_ignored(false), have_udim(false)
795 bool unsupported_var_dtype;
796 bool unsupported_attr_dtype;
798 bool unsupported_var_dspace;
799 bool unsupported_attr_dspace;
800 bool unsupported_var_attr_dspace;
802 std::set<std::string> dimnamelist;
804 std::map<std::string, hsize_t> dimname_to_dimsize;
807 std::map<std::string, bool> dimname_to_unlimited;
816 std::string ignored_msg;
823 GMFile(
const char*path, hid_t file_id, H5GCFProduct product, GMPattern gproduct_pattern);
826 H5GCFProduct getProductType()
const
831 const std::vector<GMCVar *>&getCVars()
const
836 const std::vector<GMSPVar *>&getSPVars()
const
900 bool Is_Hybrid_EOS5();
901 void Handle_Hybrid_EOS5();
918 return check_ignored;
928 void Remove_OMPSNPP_InputPointers();
929 void Add_Dim_Name_GPM() ;
930 void Add_Dim_Name_Mea_SeaWiFS() ;
931 void Handle_UseDimscale_Var_Dim_Names_Mea_SeaWiFS_Ozone(
Var*) ;
932 void Add_UseDimscale_Var_Dim_Names_Mea_SeaWiFS_Ozone(
Var *,
Attribute*) ;
934 void Add_Dim_Name_Mea_Ozonel3z() ;
935 bool check_cv(std::string & varname) ;
937 void Add_Dim_Name_Aqu_L3() ;
938 void Add_Dim_Name_OBPG_L3() ;
939 void Add_Dim_Name_OSMAPL2S() ;
940 void Add_Dim_Name_ACOS_L2S_OCO2_L1B() ;
942 void Add_Dim_Name_General_Product() ;
943 void Check_General_Product_Pattern() ;
944 bool Check_Dimscale_General_Product_Pattern() ;
945 bool Check_LatLon2D_General_Product_Pattern() ;
946 bool Check_LatLon2D_General_Product_Pattern_Name_Size(
const std::string& latname,
const std::string& lonname)
948 bool Check_LatLon1D_General_Product_Pattern() ;
949 bool Check_LatLon1D_General_Product_Pattern_Name_Size(
const std::string& latname,
const std::string& lonname)
952 bool Check_LatLon_With_Coordinate_Attr_General_Product_Pattern() ;
953 void Build_lat1D_latlon_candidate(
Var*,
const std::vector<Var*>&);
954 void Build_latg1D_latlon_candidate(
Var*,
const std::vector<Var*>&);
955 void Build_unique_latlon_candidate();
956 void Add_Dim_Name_LatLon1D_Or_CoordAttr_General_Product() ;
957 void Add_Dim_Name_LatLon2D_General_Product() ;
958 void Add_Dim_Name_Dimscale_General_Product() ;
959 void Handle_UseDimscale_Var_Dim_Names_General_Product(
Var*) ;
960 void Add_UseDimscale_Var_Dim_Names_General_Product(
Var*,
Attribute*) ;
963 void Update_M2DLatLon_Dimscale_CVs() ;
964 bool Check_1DGeolocation_Dimscale() ;
965 void Obtain_1DLatLon_CVs(std::vector<GMCVar*> &cvar_1dlat, std::vector<GMCVar*> &cvar_1dlon);
966 void Obtain_2DLatLon_Vars(std::vector<Var*> &var_2dlat, std::vector<Var*> &var_2dlon,
967 std::map<std::string, int>&latlon2d_path_to_index);
968 void Obtain_2DLLVars_With_Dims_not_1DLLCVars(std::vector<Var*> &var_2dlat, std::vector<Var*> &var_2dlon,
969 std::vector<GMCVar*> &cvar_1dlat, std::vector<GMCVar*> &cvar_1dlon, std::map<std::string, int>&latlon2d_path_to_index);
970 void Obtain_2DLLCVar_Candidate(std::vector<Var*> &var_2dlat, std::vector<Var*> &var_2dlon,
971 std::map<std::string, int>&latlon2d_path_to_index) ;
972 void Obtain_unique_2dCV(std::vector<Var*>&, std::map<std::string, int>&);
973 void Remove_2DLLCVar_Final_Candidate_from_Vars(std::vector<int>&) ;
975 void Handle_CVar_GPM_L1() ;
976 void Handle_CVar_GPM_L3() ;
977 void Handle_CVar_Mea_SeaWiFS() ;
978 void Handle_CVar_Aqu_L3() ;
979 void Handle_CVar_OBPG_L3() ;
980 void Handle_CVar_OSMAPL2S() ;
981 void Handle_CVar_Mea_Ozone() ;
982 void Handle_SpVar_ACOS_OCO2() ;
983 void Handle_CVar_Dimscale_General_Product() ;
984 void Handle_CVar_LatLon2D_General_Product() ;
985 void Handle_CVar_LatLon1D_General_Product() ;
986 void Handle_CVar_LatLon_General_Product() ;
988 void Adjust_Mea_Ozone_Obj_Name() ;
989 void Adjust_GPM_L3_Obj_Name() ;
991 void Handle_GMCVar_NameClashing(std::set<std::string> &) ;
992 void Handle_GMCVar_AttrNameClashing() ;
993 void Handle_GMSPVar_NameClashing(std::set<std::string> &) ;
994 void Handle_GMSPVar_AttrNameClashing() ;
995 template<
typename T>
void GMHandle_General_NameClashing(std::set<std::string>&objnameset, std::vector<T*>& objvec)
998 std::string get_CF_string(std::string s);
1001 bool Check_Var_2D_CVars(
Var*) ;
1002 bool Flatten_VarPath_In_Coordinates_Attr(
Var*) ;
1004 void Handle_LatLon_With_CoordinateAttr_Coor_Attr() ;
1005 bool Coord_Match_LatLon_NameSize(
const std::string & coord_values) ;
1006 bool Coord_Match_LatLon_NameSize_Same_Group(
const std::string & coord_values,
const std::string &var_path) ;
1007 void Add_VarPath_In_Coordinates_Attr(
Var*,
const std::string &);
1010 void Handle_GPM_l1_Coor_Attr() ;
1011 void Correct_GPM_L1_LatLon_units(
Var *var,
const std::string unit_value) ;
1012 void Add_GPM_Attrs() ;
1014 void Add_Aqu_Attrs() ;
1015 void Add_SeaWiFS_Attrs() ;
1016 void Create_Missing_CV(
GMCVar*,
const std::string &) ;
1018 bool Is_netCDF_Dimension(
Var *var) ;
1020 void Gen_Unsupported_Dtype_Info(
bool);
1021 void Gen_VarAttr_Unsupported_Dtype_Info() ;
1022 void Gen_GM_VarAttr_Unsupported_Dtype_Info();
1023 void Gen_Unsupported_Dspace_Info() ;
1024 void Handle_GM_Unsupported_Dtype(
bool) ;
1025 void Handle_GM_Unsupported_Dspace(
bool) ;
1027 bool Remove_EOS5_Strings(std::string &);
1028 bool Remove_EOS5_Strings_NonEOS_Fields (std::string &);
1029 void release_standalone_GMCVar_vector(std::vector<GMCVar*> &tempgc_vars);
1032 H5GCFProduct product_type;
1033 GMPattern gproduct_pattern;
1034 std::vector<GMCVar *> cvars;
1035 std::vector<GMSPVar *> spvars;
1036 std::string gp_latname;
1037 std::string gp_lonname;
1038 std::set<std::string> grp_cv_paths;
1039 std::vector<struct Name_Size_2Pairs> latloncv_candidate_pairs;
1045 bool have_nc4_non_coord;
1053 point_lower(0.0), point_upper(0.0), point_left(0.0), point_right(0.0),
1054 eos5_pixelreg(HE5_HDFE_CENTER),
1055 eos5_origin(HE5_HDFE_GD_UL),
1056 eos5_projcode(HE5_GCTP_GEO),
1057 zone(-1), sphere(0),
1059 xdimsize(0), ydimsize(0),
1060 has_nolatlon(
true), has_1dlatlon(
false), has_2dlatlon(
false), has_g2dlatlon(
false)
1062 std::fill_n(param, 13, 0);
1070 void Update_Dimnamelist();
1077 EOS5GridPRType eos5_pixelreg;
1078 EOS5GridOriginType eos5_origin;
1079 EOS5GridPCType eos5_projcode;
1085 std::vector<std::string> dimnames;
1086 std::set<std::string> vardimnames;
1087 std::map<std::string, hsize_t> dimnames_to_dimsizes;
1090 std::map<std::string, bool> dimnames_to_unlimited;
1092 std::map<hsize_t, std::string> dimsizes_to_dimnames;
1095 std::map<std::string, std::string> dnames_to_1dvnames;
1111 addeddimindex(0), has_nolatlon(
true), has_1dlatlon(
false), has_2dlatlon(
false), has_g2dlatlon(
false)
1121 std::vector<std::string> dimnames;
1122 std::set<std::string> vardimnames;
1123 std::map<std::string, hsize_t> dimnames_to_dimsizes;
1126 std::map<std::string, bool> dimnames_to_unlimited;
1128 std::map<hsize_t, std::string> dimsizes_to_dimnames;
1131 std::map<std::string, std::string> dnames_to_geo1dvnames;
1155 std::vector<std::string> dimnames;
1156 std::set<std::string> vardimnames;
1157 std::map<std::string, hsize_t> dimnames_to_dimsizes;
1159 std::map<std::string, bool> dimnames_to_unlimited;
1161 std::map<hsize_t, std::string> dimsizes_to_dimnames;
1164 std::map<std::string, std::string> dnames_to_1dvnames;
1173 EOS5File(
const char*he5_path, hid_t file_id) :
1174 File(he5_path, file_id), iscoard(
false), grids_multi_latloncvs(
false), isaura(
false), aura_name(NOTAURA),
1268 return check_ignored;
1277 void Adjust_H5_Attr_Value(
Attribute *attr) ;
1279 void Adjust_EOS5Dim_List(std::vector<HE5Dim>&) ;
1280 void Condense_EOS5Dim_List(std::vector<HE5Dim>&) ;
1281 void Remove_NegativeSizeDims(std::vector<HE5Dim>&) ;
1282 void Adjust_EOS5DimSize_List(std::vector<HE5Dim>&,
const std::vector<HE5Var>&,
const EOS5Type,
const std::string & eos5objname);
1283 void Adjust_EOS5VarDim_Info(std::vector<HE5Dim>&, std::vector<HE5Dim>&,
const std::string &, EOS5Type) ;
1285 void EOS5Handle_nonlatlon_dimcvars(std::vector<HE5Var> & eos5varlist, EOS5Type, std::string groupname,
1286 std::map<std::string, std::string>& dnamesgeo1dvnames) ;
1287 template<
class T>
void EOS5SwathGrid_Set_LatLon_Flags(T* eos5gridswath, std::vector<HE5Var>& eos5varlist)
1290 void Obtain_Var_NewName(
Var*) ;
1291 EOS5Type Get_Var_EOS5_Type(
Var*) ;
1294 template<
class T>
bool Set_Var_Dims(T*,
Var*, std::vector<HE5Var>&,
const std::string&,
int, EOS5Type) ;
1295 template<
class T>
void Create_Unique_DimName(T*, std::set<std::string>&,
Dimension *,
int, EOS5Type) ;
1297 template<
class T>
bool Check_All_DimNames(T*, std::string &, hsize_t);
1298 std::string Obtain_Var_EOS5Type_GroupName(
Var*, EOS5Type) ;
1299 int Check_EOS5Swath_FieldType(
Var*) ;
1300 void Get_Unique_Name(std::set<std::string>&, std::string&) ;
1302 template<
class T> std::string Create_Unique_FakeDimName(T*, EOS5Type) ;
1303 template<
class T>
void Set_NonParse_Var_Dims(T*,
Var*, std::map<hsize_t, std::string>&,
int, EOS5Type) ;
1305 void Handle_Grid_CVar(
bool) ;
1306 void Handle_Augmented_Grid_CVar() ;
1307 template<
class T>
void Handle_Single_Augment_CVar(T*, EOS5Type) ;
1309 void Handle_Multi_Nonaugment_Grid_CVar() ;
1310 void Handle_Single_Nonaugment_Grid_CVar(
EOS5CFGrid*) ;
1311 bool Handle_Single_Nonaugment_Grid_CVar_OwnLatLon(
EOS5CFGrid *, std::set<std::string>&) ;
1312 bool Handle_Single_Nonaugment_Grid_CVar_EOS5LatLon(
EOS5CFGrid *, std::set<std::string>&) ;
1313 void Handle_NonLatLon_Grid_CVar(
EOS5CFGrid *, std::set<std::string>&) ;
1314 void Remove_MultiDim_LatLon_EOS5CFGrid() ;
1317 void Handle_Swath_CVar(
bool) ;
1318 void Handle_Single_1DLatLon_Swath_CVar(
EOS5CFSwath *cfswath,
bool is_augmented) ;
1319 void Handle_Single_2DLatLon_Swath_CVar(
EOS5CFSwath *cfswath,
bool is_augmented) ;
1320 void Handle_NonLatLon_Swath_CVar(
EOS5CFSwath *cfswath, std::set<std::string>& tempvardimnamelist) ;
1321 void Handle_Special_NonLatLon_Swath_CVar(
EOS5CFSwath *cfswath, std::set<std::string>&tempvardimnamelist) ;
1323 void Handle_Za_CVar(
bool) ;
1325 bool Check_Augmentation_Status() ;
1330 template<
class T>
bool Check_Augmented_Var_Candidate(T*,
Var*, EOS5Type) ;
1332 template<
class T>
void Adjust_Per_Var_Dim_NewName_Before_Flattening(T*,
bool,
int,
int,
int) ;
1333 void Adjust_SharedLatLon_Grid_Var_Dim_Name() ;
1335 void Adjust_Aura_Attr_Name() ;
1336 void Adjust_Aura_Attr_Value() ;
1337 void Handle_EOS5CVar_Unit_Attr() ;
1338 void Add_EOS5_Grid_CF_Attr() ;
1339 void Handle_Aura_Special_Attr() ;
1341 std::string get_CF_string(std::string s);
1344 void Handle_EOS5CVar_NameClashing(std::set<std::string> &) ;
1345 void Handle_EOS5CVar_AttrNameClashing() ;
1346 template<
typename T>
void EOS5Handle_General_NameClashing(std::set<std::string>&objnameset, std::vector<T*>& objvec)
1348 template<
typename T>
void Create_Missing_CV(T*,
EOS5CVar*,
const std::string &, EOS5Type,
int) ;
1349 void Create_Added_Var_NewName_FullPath(EOS5Type,
const std::string&,
const std::string&, std::string &, std::string &) ;
1351 void Handle_EOS5_Unsupported_Dtype(
bool) ;
1352 void Handle_EOS5_Unsupported_Dspace(
bool) ;
1354 void Gen_Unsupported_Dtype_Info(
bool);
1355 void Gen_VarAttr_Unsupported_Dtype_Info() ;
1356 void Gen_EOS5_VarAttr_Unsupported_Dtype_Info() ;
1358 void Gen_Unsupported_Dspace_Info() ;
1361 std::vector<EOS5CVar *> cvars;
1362 std::vector<EOS5CFGrid *> eos5cfgrids;
1363 std::vector<EOS5CFSwath *> eos5cfswaths;
1364 std::vector<EOS5CFZa *> eos5cfzas;
1365 std::map<std::string, std::string> eos5_to_cf_attr_map;
1367 bool grids_multi_latloncvs;
1369 EOS5AuraName aura_name;
1371 std::multimap<std::string, std::string> dimname_to_dupdimnamelist;