bes  Updated for version 3.20.8
h5get.cc File Reference
#include "h5get.h"
#include "HDF5Int32.h"
#include "HDF5UInt32.h"
#include "HDF5UInt16.h"
#include "HDF5Int16.h"
#include "HDF5Byte.h"
#include "HDF5Int8.h"
#include "HDF5Int64.h"
#include "HDF5UInt64.h"
#include "HDF5Array.h"
#include "HDF5Str.h"
#include "HDF5Float32.h"
#include "HDF5Float64.h"
#include "HDF5Url.h"
#include "HDF5Structure.h"
#include "HDF5RequestHandler.h"
#include <BESDebug.h>
#include <math.h>
#include <sstream>
Include dependency graph for h5get.cc:

Go to the source code of this file.

Functions

bool check_dimscale (hid_t fileid)
 
bool check_h5str (hid_t h5type)
 
bool check_str_attr_value (hid_t attr_id, hid_t atype_id, const string &value_to_compare, bool check_substr)
 
void close_fileid (hid_t fid)
 
D4AttributeType daptype_strrep_to_dap4_attrtype (std::string s)
 
hid_t get_attr_info (hid_t dset, int index, bool is_dap4, DSattr_t *attr_inst_ptr, bool *ignore_attr_ptr)
 
BaseType * Get_bt (const string &vname, const string &vpath, const string &dataset, hid_t datatype, bool is_dap4)
 
string get_dap_type (hid_t type, bool is_dap4)
 
void get_dataset (hid_t pid, const string &dname, DS_t *dt_inst_ptr)
 
void get_dataset (hid_t pid, const string &dname, DS_t *dt_inst_ptr, bool use_dimscale, bool &is_pure_dim)
 
hid_t get_fileid (const char *filename)
 
Structure * Get_structure (const string &varname, const string &vpath, const string &dataset, hid_t datatype, bool is_dap4)
 
bool has_dimscale_attr (hid_t dataset)
 
void obtain_dimnames (hid_t dset, int ndims, DS_t *dt_inst_ptr)
 
string print_attr (hid_t type, int loc, void *sm_buf)
 
void write_vlen_str_attrs (hid_t attr_id, hid_t ty_id, DSattr_t *attr_inst_ptr, D4Attribute *d4_attr, AttrTable *d2_attr, bool is_dap4)
 

Detailed Description

iterates all HDF5 internals.

This file includes all the routines to search HDF5 group, dataset, links, and attributes. since we are using HDF5 C APIs, we include all c functions in this file.

Author
Hyo-Kyung Lee hyokl.nosp@m.ee@h.nosp@m.dfgro.nosp@m.up.o.nosp@m.rg
Muqun Yang myang.nosp@m.6@hd.nosp@m.fgrou.nosp@m.p.or.nosp@m.g

Definition in file h5get.cc.

Function Documentation

◆ check_h5str()

check_h5str ( hid_t  h5type)

checks if type is HDF5 string type

Parameters
h5typedata type id
Returns
true if type is string
false otherwise

Definition at line 685 of file h5get.cc.

◆ close_fileid()

close_fileid ( hid_t  fid)

closes HDF5 file reffered by fid.

This function closes the HDF5 file.

Parameters
fidHDF5 file id
Returns
throws an error if it can't close the file.

Definition at line 427 of file h5get.cc.

◆ get_attr_info()

get_attr_info ( hid_t  dset,
int  index,
bool  is_dap4,
DSattr_t attr_inst_ptr,
bool ignoreptr 
)

will get attribute information.

This function will get attribute information: datatype, dataspace(dimension sizes) and number of dimensions and put it into a data struct.

Parameters
[in]dsetdataset id
[in]indexindex of attribute
[in]is_dap4is this for DAP4
[out]attr_inst_ptran attribute instance pointer
[out]ignoreptra flag to record whether it can be ignored.
Returns
pointer to attribute structure
Exceptions
InternalError

Definition at line 84 of file h5get.cc.

◆ get_dap_type()

get_dap_type ( hid_t  type,
bool  is_dap4 
)

returns the string representation of HDF5 type.

This function will get the text representation(string) of the corresponding DODS datatype. DODS-HDF5 subclass method will use this function. Return type is different for DAP2 and DAP4.

Returns
string
Parameters
typedatatype id
is_dap4is this for DAP4(for the calls from DMR-related routines)

Definition at line 285 of file h5get.cc.

◆ get_dataset()

get_dataset ( hid_t  pid,
const string &  dname,
DS_t dt_inst_ptr 
)

obtain data information in a dataset datatype, dataspace(dimension sizes) and number of dimensions and put these information into a pointer of data struct.

Parameters
[in]pidparent object id(group id)
[in]dnamedataset name
[in]use_dimscalewhether dimscale is used. Should always be false for DDS building.
[out]dt_inst_ptrpointer to the attribute struct(* attr_inst_ptr)

Definition at line 435 of file h5get.cc.

◆ get_fileid()

get_fileid ( const char *  filename)

gets HDF5 file id.

This function is used because H5Fopen cannot be directly used in a C++ code.

Parameters
filenameHDF5 filename
Returns
a file handler id

Definition at line 405 of file h5get.cc.

◆ obtain_dimnames()

obtain_dimnames ( hid_t  dset,
int  ndims,
DS_t dt_inst_ptr 
)

Obtain the dimension names of an HDF5 dataset and save the dimension names.

Parameters
[in]dsetHDF5 dataset ID
[in]ndimsnumber of dimensions
[out]dt_inst_ptrpointer to the dataset struct that saves the dim. names

Definition at line 1748 of file h5get.cc.

◆ print_attr()

print_attr ( hid_t  type,
int  loc,
void *  sm_buf 
)

will get the printed representation of an attribute.

Parameters
typeHDF5 data type id
locthe number of array number
sm_bufpointer to an attribute
Returns
a string
Todo:

Due to the priority of the handler work, this function will not be

re-written in this re-engineering process. KY 2011-Nov. 14th

Definition at line 706 of file h5get.cc.