bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
|
This class retrieves all information from an HDF5 file. More...
#include <HDF5CF.h>
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, bool > | dimname_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. | |
|
inlineprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
virtual |
Add supplemental attributes such as fullpath and original name.
Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
pure virtual |
Adjust dimension names based on different products.
Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
protected |
|
pure virtual |
Adjust object names based on different products.
Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
protected |
|
protected |
|
virtual |
Flatten the object name.
Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
protected |
|
protected |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
pure virtual |
Obtain the message that contains the ignored object info.
Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
pure virtual |
Obtain the flag to see if ignored objects should be generated.
Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
pure virtual |
Handle "coordinates" attributes.
Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
pure virtual |
Handle coordinate variables.
Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
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.
|
protected |
|
virtual |
Handle Grid Mapping Vars.
Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
protected |
|
protected |
|
pure virtual |
Handle special variables.
Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
pure virtual |
Handle special variable attributes.
Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
pure virtual |
Handle Special variable and attributes for DMR.
Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
virtual |
Handle unsupported HDF5 dataspaces for datasets.
Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
virtual |
Handle unsupported HDF5 datatypes.
Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
virtual |
Handle other unmapped objects/attributes.
Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
protected |
|
protected |
|
protected |
|
virtual |
Check if having Grid Mapping Attrs.
Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
pure virtual |
Retrieve coordinate variable attributes.
Implemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
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.
|
protected |
|
virtual |
Retrieve attribute values for the supported HDF5 datatypes.
Reimplemented in HDF5CF::EOS5File, and HDF5CF::GMFile.
|
virtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |