bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
HDF5CF::File Class Referenceabstract

This class retrieves all information from an HDF5 file. More...

#include <HDF5CF.h>

Inheritance diagram for HDF5CF::File:
Inheritance graph
Collaboration diagram for HDF5CF::File:
Collaboration graph

Public Member Functions

virtual void Add_Supplement_Attrs (bool)
 Add supplemental attributes such as fullpath and original name.
 
virtual void Adjust_Dim_Name ()=0
 Adjust dimension names based on different products.
 
virtual void Adjust_Obj_Name ()=0
 Adjust object names based on different products.
 
virtual void Flatten_Obj_Name (bool)
 Flatten the object name.
 
virtual const std::string & Get_Ignored_Msg ()=0
 Obtain the message that contains the ignored object info.
 
virtual bool Get_IgnoredInfo_Flag ()=0
 Obtain the flag to see if ignored objects should be generated.
 
const std::vector< Attribute * > & getAttributes () const
 Public interface to obtain information of all attributes under the root group.
 
bool getDap4 () const
 
hid_t getFileID () const
 Obtain the HDF5 file ID.
 
const std::vector< Group * > & getGroups () const
 Public interface to obtain all the group info.
 
bool getIsCOARD () const
 
const std::string & getPath () const
 Obtain the path of the file.
 
const std::vector< Var * > & getVars () const
 Public interface to obtain information of all variables.
 
virtual void Handle_Coor_Attr ()=0
 Handle "coordinates" attributes.
 
virtual void Handle_CVar ()=0
 Handle coordinate variables.
 
virtual void Handle_DimNameClashing ()=0
 
template<class T>
void Handle_General_NameClashing (set< string > &objnameset, vector< T * > &objvec)
 
virtual void Handle_Grid_Mapping_Vars ()
 Handle Grid Mapping Vars.
 
virtual void Handle_SpVar ()=0
 Handle special variables.
 
virtual void Handle_SpVar_Attr ()=0
 Handle special variable attributes.
 
virtual void Handle_SpVar_DMR ()=0
 Handle Special variable and attributes for DMR.
 
virtual void Handle_Unsupported_Dspace (bool)
 Handle unsupported HDF5 dataspaces for datasets.
 
virtual void Handle_Unsupported_Dtype (bool)
 Handle unsupported HDF5 datatypes.
 
virtual void Handle_Unsupported_Others (bool)
 Handle other unmapped objects/attributes.
 
virtual bool Have_Grid_Mapping_Attrs ()
 Check if having Grid Mapping Attrs.
 
bool HaveUnlimitedDim () const
 Has unlimited dimensions.
 
virtual void Retrieve_H5_CVar_Supported_Attr_Values ()=0
 Retrieve coordinate variable attributes.
 
virtual void Retrieve_H5_Info (const char *path, hid_t file_id, bool)
 
virtual void Retrieve_H5_Supported_Attr_Values ()
 Retrieve attribute values for the supported HDF5 datatypes.
 
virtual void Retrieve_H5_Var_Attr_Values (Var *var)
 Retrieve attribute values for a variable.
 
void setDap4 (bool is_dap4)
 

Protected Member Functions

void add_ignored_droplongstr_hdr ()
 
void add_ignored_grp_longstr_info (const std::string &grp_path, const std::string &attr_name)
 
void add_ignored_info_attrs (bool is_grp, const std::string &obj_path, const std::string &attr_name)
 
void add_ignored_info_links (const std::string &link_name)
 
void add_ignored_info_links_header ()
 
void add_ignored_info_namedtypes (const std::string &, const std::string &)
 
void add_ignored_info_obj_header ()
 
void add_ignored_info_objs (bool is_dim_related, const std::string &obj_path)
 
void add_ignored_info_page_header ()
 
void add_ignored_var_longstr_info (const Var *var, const Attribute *attr)
 
void add_no_ignored_info ()
 
void Add_One_FakeDim_Name (Dimension *dim)
 
void Add_One_Float_Attr (Attribute *attr, const std::string &attrname, float float_value) const
 
void Add_Str_Attr (Attribute *attr, const std::string &attrname, const std::string &strvalue) const
 
void Adjust_Duplicate_FakeDim_Name (Dimension *dim)
 
void Adjust_Duplicate_FakeDim_Name2 (Dimension *dim, int dup_dim_size_index)
 
void Change_Attr_One_Str_to_Others (Attribute *attr, const Var *var) const
 
bool Check_DropLongStr (const Var *var, const Attribute *attr)
 
std::string Check_Grid_Mapping_FullPath (const std::string &attr_value) const
 
std::string Check_Grid_Mapping_VarName (const std::string &attr_value, const std::string &var_full_path) const
 
bool Check_VarDropLongStr (const std::string &varpath, const std::vector< Dimension * > &, H5DataType) const
 
 File (const char *h5_path, hid_t file_id)
 
void Gen_DimScale_VarAttr_Unsupported_Dtype_Info ()
 
void Gen_Group_Unsupported_Dtype_Info ()
 
virtual void Gen_Unsupported_Dspace_Info ()
 
virtual void Gen_Unsupported_Dtype_Info (bool)=0
 
void Gen_Var_Unsupported_Dtype_Info ()
 
virtual void Gen_VarAttr_Unsupported_Dtype_Info ()
 
virtual std::string get_CF_string (std::string)
 
template<typename T>
void Handle_General_NameClashing (std::set< std::string > &objnameset, std::vector< T * > &objvec)
 
void Handle_GeneralObj_NameClashing (bool, std::set< std::string > &objnameset)
 
void Handle_Group_NameClashing (std::set< std::string > &objnameset)
 
void Handle_Group_Unsupported_Dtype ()
 
void Handle_GroupAttr_Unsupported_Dspace ()
 
void Handle_Obj_AttrNameClashing ()
 
void Handle_Var_NameClashing (std::set< std::string > &objnameset)
 
void Handle_Var_Unsupported_Dtype ()
 
void Handle_VarAttr_Unsupported_Dspace ()
 
void Handle_VarAttr_Unsupported_Dtype ()
 
bool has_latlon_cf_units (Attribute *attr, const std::string &varfullpath, bool is_lat)
 
bool ignored_dimscale_ref_list (const Var *var) const
 
void Insert_One_NameSizeMap_Element (const std::string &name, hsize_t size, bool unlimited)
 
void Insert_One_NameSizeMap_Element2 (std::map< std::string, hsize_t > &, std::map< std::string, bool > &, const std::string &name, hsize_t size, bool unlimited) const
 
bool Is_geolatlon (const std::string &var_name, bool is_lat) const
 
bool Is_Str_Attr (Attribute *attr, const std::string &varfullpath, const std::string &attrname, const std::string &strvalue)
 
bool is_var_under_group (const std::string &varname, const std::string &grpname, const int var_rank, std::vector< size_t > &var_size) const
 
void release_standalone_var_vector (std::vector< Var * > &vars)
 
void remove_netCDF_internal_attributes (bool include_attr)
 
void Replace_Var_Attrs (const Var *src, Var *target)
 
void Replace_Var_Info (const Var *src, Var *target)
 
void Replace_Var_Str_Attr (Var *var, const std::string &attr_name, const std::string &strvalue)
 
void Retrieve_H5_Attr_Info (Attribute *, hid_t obj_id, const int j, bool &unsup_attr_dtype, bool &unsup_attr_dspace) const
 
void Retrieve_H5_Attr_Value (Attribute *attr, const std::string &) const
 
void Retrieve_H5_Obj (hid_t grp_id, const char *gname, bool include_attr)
 
float Retrieve_H5_VarCompRatio (const Var *, const hid_t) const
 
void Retrieve_H5_VarDim (Var *, hid_t dset_id, const std::string &varname, bool &unsup_var_dspace)
 
void Retrieve_H5_VarType (Var *, hid_t dset_id, const std::string &varname, bool &unsup_var_dtype) const
 
std::string Retrieve_Str_Attr_Value (Attribute *attr, const std::string &var_path) const
 

Protected Attributes

bool _is_dap4 = false
 
int addeddimindex = 0
 
bool check_ignored = false
 
std::map< std::string, hsize_t > dimname_to_dimsize
 
std::map< std::string, booldimname_to_unlimited
 
std::set< std::string > dimnamelist
 
std::map< hsize_t, std::string > dimsize_to_fakedimname
 Handle added dimension names.
 
std::vector< std::pair< hsize_t, std::string > > dup_dimsize_dimname
 
hid_t fileid
 
std::vector< Group * > groups
 Non-root group vectors.
 
bool have_ignored = false
 
bool have_udim = false
 
std::string ignored_msg
 
bool iscoard = false
 
std::string path
 
std::vector< Attribute * > root_attrs
 Root attribute vectors.
 
hid_t rootid = -1
 
bool unsupported_attr_dspace = false
 
bool unsupported_attr_dtype = false
 
bool unsupported_var_attr_dspace = false
 
bool unsupported_var_dspace = false
 
bool unsupported_var_dtype = false
 
std::vector< Var * > vars
 Var vectors.
 

Detailed Description

This class retrieves all information from an HDF5 file.

Definition at line 559 of file HDF5CF.h.

Constructor & Destructor Documentation

◆ ~File()

File::~File ( )
virtual

Definition at line 145 of file HDF5CF.cc.

◆ File()

HDF5CF::File::File ( const char * h5_path,
hid_t file_id )
inlineprotected

Definition at line 774 of file HDF5CF.h.

Member Function Documentation

◆ add_ignored_droplongstr_hdr()

void File::add_ignored_droplongstr_hdr ( )
protected

Definition at line 2803 of file HDF5CF.cc.

◆ add_ignored_grp_longstr_info()

void File::add_ignored_grp_longstr_info ( const std::string & grp_path,
const std::string & attr_name )
protected

Definition at line 2783 of file HDF5CF.cc.

◆ add_ignored_info_attrs()

void File::add_ignored_info_attrs ( bool is_grp,
const std::string & obj_path,
const std::string & attr_name )
protected

Definition at line 2451 of file HDF5CF.cc.

◆ add_ignored_info_links()

void File::add_ignored_info_links ( const std::string & link_name)
protected

Definition at line 2421 of file HDF5CF.cc.

◆ add_ignored_info_links_header()

void File::add_ignored_info_links_header ( )
protected

Definition at line 2381 of file HDF5CF.cc.

◆ add_ignored_info_namedtypes()

void File::add_ignored_info_namedtypes ( const std::string & ,
const std::string &  )
protected

Definition at line 2430 of file HDF5CF.cc.

◆ add_ignored_info_obj_header()

void File::add_ignored_info_obj_header ( )
protected

Definition at line 2356 of file HDF5CF.cc.

◆ add_ignored_info_objs()

void File::add_ignored_info_objs ( bool is_dim_related,
const std::string & obj_path )
protected

Definition at line 2484 of file HDF5CF.cc.

◆ add_ignored_info_page_header()

void File::add_ignored_info_page_header ( )
protected

Definition at line 2349 of file HDF5CF.cc.

◆ add_ignored_var_longstr_info()

void File::add_ignored_var_longstr_info ( const Var * var,
const Attribute * attr )
protected

Definition at line 2790 of file HDF5CF.cc.

◆ add_no_ignored_info()

void File::add_no_ignored_info ( )
protected

Definition at line 2514 of file HDF5CF.cc.

◆ Add_One_FakeDim_Name()

void File::Add_One_FakeDim_Name ( Dimension * dim)
protected

Definition at line 1585 of file HDF5CF.cc.

◆ Add_One_Float_Attr()

void File::Add_One_Float_Attr ( Attribute * attr,
const std::string & attrname,
float float_value ) const
protected

Definition at line 1836 of file HDF5CF.cc.

◆ Add_Str_Attr()

void File::Add_Str_Attr ( Attribute * attr,
const std::string & attrname,
const std::string & strvalue ) const
protected

Definition at line 1766 of file HDF5CF.cc.

◆ Add_Supplement_Attrs()

void File::Add_Supplement_Attrs ( bool add_path)
virtual

Add supplemental attributes such as fullpath and original name.

Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

Definition at line 2027 of file HDF5CF.cc.

◆ Adjust_Dim_Name()

virtual void HDF5CF::File::Adjust_Dim_Name ( )
pure virtual

Adjust dimension names based on different products.

Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

◆ Adjust_Duplicate_FakeDim_Name()

void File::Adjust_Duplicate_FakeDim_Name ( Dimension * dim)
protected

Definition at line 1638 of file HDF5CF.cc.

◆ Adjust_Duplicate_FakeDim_Name2()

void File::Adjust_Duplicate_FakeDim_Name2 ( Dimension * dim,
int dup_dim_size_index )
protected

Definition at line 1678 of file HDF5CF.cc.

◆ Adjust_Obj_Name()

virtual void HDF5CF::File::Adjust_Obj_Name ( )
pure virtual

Adjust object names based on different products.

Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

◆ Change_Attr_One_Str_to_Others()

void File::Change_Attr_One_Str_to_Others ( Attribute * attr,
const Var * var ) const
protected

Definition at line 1848 of file HDF5CF.cc.

◆ Check_DropLongStr()

bool File::Check_DropLongStr ( const Var * var,
const Attribute * attr )
protected

Definition at line 2557 of file HDF5CF.cc.

◆ Check_Grid_Mapping_FullPath()

string File::Check_Grid_Mapping_FullPath ( const std::string & attr_value) const
protected

Definition at line 2253 of file HDF5CF.cc.

◆ Check_Grid_Mapping_VarName()

string File::Check_Grid_Mapping_VarName ( const std::string & attr_value,
const std::string & var_full_path ) const
protected

Definition at line 2237 of file HDF5CF.cc.

◆ Check_VarDropLongStr()

bool File::Check_VarDropLongStr ( const std::string & varpath,
const std::vector< Dimension * > & ,
H5DataType  ) const
protected

Definition at line 2588 of file HDF5CF.cc.

◆ Flatten_Obj_Name()

void File::Flatten_Obj_Name ( bool include_attr)
virtual

Flatten the object name.

Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

Definition at line 1376 of file HDF5CF.cc.

◆ Gen_DimScale_VarAttr_Unsupported_Dtype_Info()

void File::Gen_DimScale_VarAttr_Unsupported_Dtype_Info ( )
protected

Definition at line 1185 of file HDF5CF.cc.

◆ Gen_Group_Unsupported_Dtype_Info()

void File::Gen_Group_Unsupported_Dtype_Info ( )
protected

Definition at line 1057 of file HDF5CF.cc.

◆ Gen_Unsupported_Dspace_Info()

void File::Gen_Unsupported_Dspace_Info ( )
protectedvirtual

Definition at line 1305 of file HDF5CF.cc.

◆ Gen_Var_Unsupported_Dtype_Info()

void File::Gen_Var_Unsupported_Dtype_Info ( )
protected

Definition at line 1116 of file HDF5CF.cc.

◆ Gen_VarAttr_Unsupported_Dtype_Info()

void File::Gen_VarAttr_Unsupported_Dtype_Info ( )
protectedvirtual

Definition at line 1159 of file HDF5CF.cc.

◆ get_CF_string()

string File::get_CF_string ( std::string )
protectedvirtual

Definition at line 1525 of file HDF5CF.cc.

◆ Get_Ignored_Msg()

virtual const std::string & HDF5CF::File::Get_Ignored_Msg ( )
pure virtual

Obtain the message that contains the ignored object info.

Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

◆ Get_IgnoredInfo_Flag()

virtual bool HDF5CF::File::Get_IgnoredInfo_Flag ( )
pure virtual

Obtain the flag to see if ignored objects should be generated.

Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

◆ getAttributes()

const std::vector< Attribute * > & HDF5CF::File::getAttributes ( ) const
inline

Public interface to obtain information of all attributes under the root group.

Definition at line 645 of file HDF5CF.h.

◆ getDap4()

bool HDF5CF::File::getDap4 ( ) const
inline

Definition at line 666 of file HDF5CF.h.

◆ getFileID()

hid_t HDF5CF::File::getFileID ( ) const
inline

Obtain the HDF5 file ID.

Definition at line 627 of file HDF5CF.h.

◆ getGroups()

const std::vector< Group * > & HDF5CF::File::getGroups ( ) const
inline

Public interface to obtain all the group info.

Definition at line 651 of file HDF5CF.h.

◆ getIsCOARD()

bool HDF5CF::File::getIsCOARD ( ) const
inline

Definition at line 671 of file HDF5CF.h.

◆ getPath()

const std::string & HDF5CF::File::getPath ( ) const
inline

Obtain the path of the file.

Definition at line 633 of file HDF5CF.h.

◆ getVars()

const std::vector< Var * > & HDF5CF::File::getVars ( ) const
inline

Public interface to obtain information of all variables.

Definition at line 639 of file HDF5CF.h.

◆ Handle_Coor_Attr()

virtual void HDF5CF::File::Handle_Coor_Attr ( )
pure virtual

Handle "coordinates" attributes.

Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

◆ Handle_CVar()

virtual void HDF5CF::File::Handle_CVar ( )
pure virtual

Handle coordinate variables.

Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

◆ Handle_DimNameClashing()

virtual void HDF5CF::File::Handle_DimNameClashing ( )
pure virtual

Handle dimension name clashing. Since COARDS requires the change of cv names, So we need to handle dimension name clashing specially.

Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

◆ Handle_General_NameClashing()

template<class T>
void HDF5CF::File::Handle_General_NameClashing ( set< string > & objnameset,
vector< T * > & objvec )

Definition at line 1470 of file HDF5CF.cc.

◆ Handle_GeneralObj_NameClashing()

void File::Handle_GeneralObj_NameClashing ( bool ,
std::set< std::string > & objnameset )
protected

Definition at line 1514 of file HDF5CF.cc.

◆ Handle_Grid_Mapping_Vars()

void File::Handle_Grid_Mapping_Vars ( )
virtual

Handle Grid Mapping Vars.

Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

Definition at line 2208 of file HDF5CF.cc.

◆ Handle_Group_NameClashing()

void File::Handle_Group_NameClashing ( std::set< std::string > & objnameset)
protected

Definition at line 1411 of file HDF5CF.cc.

◆ Handle_Group_Unsupported_Dtype()

void File::Handle_Group_Unsupported_Dtype ( )
protected

Definition at line 1016 of file HDF5CF.cc.

◆ Handle_GroupAttr_Unsupported_Dspace()

void File::Handle_GroupAttr_Unsupported_Dspace ( )
protected

Definition at line 1214 of file HDF5CF.cc.

◆ Handle_Obj_AttrNameClashing()

void File::Handle_Obj_AttrNameClashing ( )
protected

Definition at line 1439 of file HDF5CF.cc.

◆ Handle_SpVar()

virtual void HDF5CF::File::Handle_SpVar ( )
pure virtual

Handle special variables.

Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

◆ Handle_SpVar_Attr()

virtual void HDF5CF::File::Handle_SpVar_Attr ( )
pure virtual

Handle special variable attributes.

Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

◆ Handle_SpVar_DMR()

virtual void HDF5CF::File::Handle_SpVar_DMR ( )
pure virtual

Handle Special variable and attributes for DMR.

Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

◆ Handle_Unsupported_Dspace()

void File::Handle_Unsupported_Dspace ( bool include_attr)
virtual

Handle unsupported HDF5 dataspaces for datasets.

Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

Definition at line 1279 of file HDF5CF.cc.

◆ Handle_Unsupported_Dtype()

void File::Handle_Unsupported_Dtype ( bool include_attr)
virtual

Handle unsupported HDF5 datatypes.

Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

Definition at line 922 of file HDF5CF.cc.

◆ Handle_Unsupported_Others()

void File::Handle_Unsupported_Others ( bool include_attr)
virtual

Handle other unmapped objects/attributes.

Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

Definition at line 1326 of file HDF5CF.cc.

◆ Handle_Var_NameClashing()

void File::Handle_Var_NameClashing ( std::set< std::string > & objnameset)
protected

Definition at line 1404 of file HDF5CF.cc.

◆ Handle_Var_Unsupported_Dtype()

void File::Handle_Var_Unsupported_Dtype ( )
protected

Definition at line 1096 of file HDF5CF.cc.

◆ Handle_VarAttr_Unsupported_Dspace()

void File::Handle_VarAttr_Unsupported_Dspace ( )
protected

Definition at line 1254 of file HDF5CF.cc.

◆ Handle_VarAttr_Unsupported_Dtype()

void File::Handle_VarAttr_Unsupported_Dtype ( )
protected

Definition at line 1136 of file HDF5CF.cc.

◆ has_latlon_cf_units()

bool File::has_latlon_cf_units ( Attribute * attr,
const std::string & varfullpath,
bool is_lat )
protected

Definition at line 1822 of file HDF5CF.cc.

◆ Have_Grid_Mapping_Attrs()

bool File::Have_Grid_Mapping_Attrs ( )
virtual

Check if having Grid Mapping Attrs.

Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

Definition at line 2191 of file HDF5CF.cc.

◆ HaveUnlimitedDim()

bool HDF5CF::File::HaveUnlimitedDim ( ) const
inline

Has unlimited dimensions.

Definition at line 657 of file HDF5CF.h.

◆ ignored_dimscale_ref_list()

bool File::ignored_dimscale_ref_list ( const Var * var) const
protected

Definition at line 2523 of file HDF5CF.cc.

◆ Insert_One_NameSizeMap_Element()

void File::Insert_One_NameSizeMap_Element ( const std::string & name,
hsize_t size,
bool unlimited )
protected

Definition at line 1542 of file HDF5CF.cc.

◆ Insert_One_NameSizeMap_Element2()

void File::Insert_One_NameSizeMap_Element2 ( std::map< std::string, hsize_t > & ,
std::map< std::string, bool > & ,
const std::string & name,
hsize_t size,
bool unlimited ) const
protected

Definition at line 1557 of file HDF5CF.cc.

◆ Is_geolatlon()

bool File::Is_geolatlon ( const std::string & var_name,
bool is_lat ) const
protected

Definition at line 2004 of file HDF5CF.cc.

◆ Is_Str_Attr()

bool File::Is_Str_Attr ( Attribute * attr,
const std::string & varfullpath,
const std::string & attrname,
const std::string & strvalue )
protected

Definition at line 1810 of file HDF5CF.cc.

◆ is_var_under_group()

bool File::is_var_under_group ( const std::string & varname,
const std::string & grpname,
const int var_rank,
std::vector< size_t > & var_size ) const
protected

Definition at line 2164 of file HDF5CF.cc.

◆ release_standalone_var_vector()

void File::release_standalone_var_vector ( std::vector< Var * > & vars)
protected

Definition at line 2817 of file HDF5CF.cc.

◆ remove_netCDF_internal_attributes()

void File::remove_netCDF_internal_attributes ( bool include_attr)
protected

Definition at line 2266 of file HDF5CF.cc.

◆ Replace_Var_Attrs()

void File::Replace_Var_Attrs ( const Var * src,
Var * target )
protected

Definition at line 2132 of file HDF5CF.cc.

◆ Replace_Var_Info()

void File::Replace_Var_Info ( const Var * src,
Var * target )
protected

Definition at line 2075 of file HDF5CF.cc.

◆ Replace_Var_Str_Attr()

void File::Replace_Var_Str_Attr ( Var * var,
const std::string & attr_name,
const std::string & strvalue )
protected

Definition at line 1968 of file HDF5CF.cc.

◆ Retrieve_H5_Attr_Info()

void File::Retrieve_H5_Attr_Info ( Attribute * attr,
hid_t obj_id,
const int j,
bool & unsup_attr_dtype,
bool & unsup_attr_dspace ) const
protected

Definition at line 594 of file HDF5CF.cc.

◆ Retrieve_H5_Attr_Value()

void File::Retrieve_H5_Attr_Value ( Attribute * attr,
const std::string &  ) const
protected

Definition at line 760 of file HDF5CF.cc.

◆ Retrieve_H5_CVar_Supported_Attr_Values()

virtual void HDF5CF::File::Retrieve_H5_CVar_Supported_Attr_Values ( )
pure virtual

Retrieve coordinate variable attributes.

Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

◆ Retrieve_H5_Info()

void File::Retrieve_H5_Info ( const char * path,
hid_t file_id,
bool include_attr )
virtual

Retrieve DDS information from the HDF5 file. The reason to separate reading DDS from DAS is: DAP needs to hold all values of attributes in the memory, building DDS doesn't need the attributes. So to reduce huge memory allocation for some HDF5 files, we separate the access of DAS from DDS although internally they still share common routines.

Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

Definition at line 170 of file HDF5CF.cc.

◆ Retrieve_H5_Obj()

void File::Retrieve_H5_Obj ( hid_t grp_id,
const char * gname,
bool include_attr )
protected

Definition at line 231 of file HDF5CF.cc.

◆ Retrieve_H5_Supported_Attr_Values()

void File::Retrieve_H5_Supported_Attr_Values ( )
virtual

Retrieve attribute values for the supported HDF5 datatypes.

Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.

Definition at line 735 of file HDF5CF.cc.

◆ Retrieve_H5_Var_Attr_Values()

void File::Retrieve_H5_Var_Attr_Values ( Var * var)
virtual

Retrieve attribute values for a variable.

Definition at line 753 of file HDF5CF.cc.

◆ Retrieve_H5_VarCompRatio()

float File::Retrieve_H5_VarCompRatio ( const Var * var,
const hid_t dset_id ) const
protected

Definition at line 453 of file HDF5CF.cc.

◆ Retrieve_H5_VarDim()

void File::Retrieve_H5_VarDim ( Var * ,
hid_t dset_id,
const std::string & varname,
bool & unsup_var_dspace )
protected

Definition at line 521 of file HDF5CF.cc.

◆ Retrieve_H5_VarType()

void File::Retrieve_H5_VarType ( Var * ,
hid_t dset_id,
const std::string & varname,
bool & unsup_var_dtype ) const
protected

Definition at line 487 of file HDF5CF.cc.

◆ Retrieve_Str_Attr_Value()

string File::Retrieve_Str_Attr_Value ( Attribute * attr,
const std::string & var_path ) const
protected

Definition at line 1797 of file HDF5CF.cc.

◆ setDap4()

void HDF5CF::File::setDap4 ( bool is_dap4)
inline

Definition at line 662 of file HDF5CF.h.

Member Data Documentation

◆ _is_dap4

bool HDF5CF::File::_is_dap4 = false
protected

Definition at line 815 of file HDF5CF.h.

◆ addeddimindex

int HDF5CF::File::addeddimindex = 0
protected

Definition at line 809 of file HDF5CF.h.

◆ check_ignored

bool HDF5CF::File::check_ignored = false
protected

Definition at line 812 of file HDF5CF.h.

◆ dimname_to_dimsize

std::map<std::string, hsize_t> HDF5CF::File::dimname_to_dimsize
protected

Definition at line 802 of file HDF5CF.h.

◆ dimname_to_unlimited

std::map<std::string, bool> HDF5CF::File::dimname_to_unlimited
protected

Definition at line 805 of file HDF5CF.h.

◆ dimnamelist

std::set<std::string> HDF5CF::File::dimnamelist
protected

Definition at line 800 of file HDF5CF.h.

◆ dimsize_to_fakedimname

std::map<hsize_t, std::string> HDF5CF::File::dimsize_to_fakedimname
protected

Handle added dimension names.

Definition at line 808 of file HDF5CF.h.

◆ dup_dimsize_dimname

std::vector<std::pair<hsize_t, std::string> > HDF5CF::File::dup_dimsize_dimname
protected

Definition at line 810 of file HDF5CF.h.

◆ fileid

hid_t HDF5CF::File::fileid
protected

Definition at line 781 of file HDF5CF.h.

◆ groups

std::vector<Group*> HDF5CF::File::groups
protected

Non-root group vectors.

Definition at line 791 of file HDF5CF.h.

◆ have_ignored

bool HDF5CF::File::have_ignored = false
protected

Definition at line 813 of file HDF5CF.h.

◆ have_udim

bool HDF5CF::File::have_udim = false
protected

Definition at line 814 of file HDF5CF.h.

◆ ignored_msg

std::string HDF5CF::File::ignored_msg
protected

Definition at line 817 of file HDF5CF.h.

◆ iscoard

bool HDF5CF::File::iscoard = false
protected

Definition at line 816 of file HDF5CF.h.

◆ path

std::string HDF5CF::File::path
protected

Definition at line 780 of file HDF5CF.h.

◆ root_attrs

std::vector<Attribute *> HDF5CF::File::root_attrs
protected

Root attribute vectors.

Definition at line 788 of file HDF5CF.h.

◆ rootid

hid_t HDF5CF::File::rootid = -1
protected

Definition at line 782 of file HDF5CF.h.

◆ unsupported_attr_dspace

bool HDF5CF::File::unsupported_attr_dspace = false
protected

Definition at line 797 of file HDF5CF.h.

◆ unsupported_attr_dtype

bool HDF5CF::File::unsupported_attr_dtype = false
protected

Definition at line 794 of file HDF5CF.h.

◆ unsupported_var_attr_dspace

bool HDF5CF::File::unsupported_var_attr_dspace = false
protected

Definition at line 798 of file HDF5CF.h.

◆ unsupported_var_dspace

bool HDF5CF::File::unsupported_var_dspace = false
protected

Definition at line 796 of file HDF5CF.h.

◆ unsupported_var_dtype

bool HDF5CF::File::unsupported_var_dtype = false
protected

Definition at line 793 of file HDF5CF.h.

◆ vars

std::vector<Var *> HDF5CF::File::vars
protected

Var vectors.

Definition at line 785 of file HDF5CF.h.


The documentation for this class was generated from the following files: