bes Updated for version 3.20.13
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 (const 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_dmr (const hid_t file_id, hid_t pid, const string &dname, DS_t *dt_inst_ptr, bool use_dimscale, bool &is_pure_dim, vector< link_info_t > &hdf5_hls)
 
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 (const hid_t file_id, hid_t dset, int ndims, DS_t *dt_inst_ptr, vector< link_info_t > &hdf5_hls)
 
std::string obtain_shortest_ancestor_path (const std::vector< std::string > &hls)
 
string print_attr (hid_t type, int loc, void *sm_buf)
 
void write_vlen_str_attrs (hid_t attr_id, hid_t ty_id, const 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_dimscale()

bool check_dimscale ( hid_t  fileid)

Definition at line 1502 of file h5get.cc.

◆ 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 849 of file h5get.cc.

◆ check_str_attr_value()

bool check_str_attr_value ( hid_t  attr_id,
hid_t  atype_id,
const string &  value_to_compare,
bool  check_substr 
)

Definition at line 2226 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 434 of file h5get.cc.

◆ daptype_strrep_to_dap4_attrtype()

D4AttributeType daptype_strrep_to_dap4_attrtype ( const string &  s)

Definition at line 1066 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 90 of file h5get.cc.

◆ Get_bt()

BaseType * Get_bt ( const string &  vname,
const string &  vpath,
const string &  dataset,
hid_t  datatype,
bool  is_dap4 
)

Definition at line 1115 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 292 of file h5get.cc.

◆ get_dataset()

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

For DAP2, 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
[out]dt_inst_ptrpointer to the attribute struct(* attr_inst_ptr)

Definition at line 453 of file h5get.cc.

◆ get_dataset_dmr()

void get_dataset_dmr ( const hid_t  file_id,
hid_t  pid,
const string &  dname,
DS_t dt_inst_ptr,
bool  use_dimscale,
bool is_pure_dim,
vector< link_info_t > &  hdf5_hls 
)

Definition at line 610 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 412 of file h5get.cc.

◆ Get_structure()

Structure * Get_structure ( const string &  varname,
const string &  vpath,
const string &  dataset,
hid_t  datatype,
bool  is_dap4 
)

Definition at line 1320 of file h5get.cc.

◆ has_dimscale_attr()

bool has_dimscale_attr ( hid_t  dataset)

Definition at line 1586 of file h5get.cc.

◆ obtain_dimnames()

void obtain_dimnames ( const hid_t  file_id,
hid_t  dset,
int  ndims,
DS_t dt_inst_ptr,
vector< link_info_t > &  hdf5_hls 
)

Definition at line 1928 of file h5get.cc.

◆ obtain_shortest_ancestor_path()

std::string obtain_shortest_ancestor_path ( const std::vector< std::string > &  hls)

Definition at line 2385 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

Definition at line 868 of file h5get.cc.

◆ write_vlen_str_attrs()

void write_vlen_str_attrs ( hid_t  attr_id,
hid_t  ty_id,
const DSattr_t attr_inst_ptr,
D4Attribute *  d4_attr,
AttrTable *  d2_attr,
bool  is_dap4 
)

Definition at line 2160 of file h5get.cc.