bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
h5commoncfdap.h File Reference

Functions to generate DDS and DAS for one object(variable). More...

#include <string>
#include <unordered_map>
#include <unordered_set>
#include <memory>
#include <libdap/DMR.h>
#include <libdap/DDS.h>
#include <libdap/DAS.h>
#include <libdap/D4Attributes.h>
#include <libdap/D4Maps.h>
#include "hdf5.h"
#include "HDF5CF.h"
Include dependency graph for h5commoncfdap.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void add_cf_grid_cv_attrs (libdap::DAS &das, const std::vector< HDF5CF::Var * > &vars, EOS5GridPCType cv_proj_code, const std::vector< HDF5CF::Dimension * > &dims, const std::vector< double > &params, unsigned short)
 
void add_cf_grid_cv_dap4_attrs (libdap::D4Group *d4_root, const std::string &cf_projection, const std::vector< HDF5CF::Dimension * > &dims, const std::vector< std::string > &)
 
void add_cf_grid_cv_dap4_attrs_helper (libdap::Array *t_a, const std::string &dim0name, hsize_t dim0size, bool &has_dim0, const std::string &dim1name, hsize_t dim1size, bool &has_dim1)
 
void add_cf_grid_cvs (libdap::DDS &dds, EOS5GridPCType cv_proj_code, float cv_point_lower, float cv_point_upper, float cv_point_left, float cv_point_right, const std::vector< HDF5CF::Dimension * > &dims)
 
void add_cf_grid_mapinfo_var (libdap::DDS &dds, EOS5GridPCType, unsigned short)
 
void add_cf_grid_mapping_attr (libdap::DAS &das, const std::vector< HDF5CF::Var * > &vars, const std::string &cf_projection, const std::string &dim0name, hsize_t dim0size, const std::string &dim1name, hsize_t dim1size)
 
void add_cf_projection_attrs (libdap::DAS &, EOS5GridPCType, const std::vector< double > &, const std::string &)
 
void add_dap4_coverage (libdap::D4Group *d4_grp, const std::vector< std::string > &map_array, bool is_coard)
 
void add_dap4_coverage_grid (unordered_map< std::string, libdap::Array * > &d4map_array_maps, std::vector< libdap::Array * > &has_map_arrays)
 
void add_dap4_coverage_set_up (unordered_map< std::string, libdap::Array * > &d4map_array_maps, std::vector< libdap::Array * > &has_map_arrays, libdap::Array *t_a, const std::vector< std::string > &coord_var_names, const std::string &vname)
 
void add_dap4_coverage_swath (unordered_map< std::string, libdap::Array * > &d4map_array_maps, const std::vector< libdap::Array * > &has_map_arrays)
 
void add_dap4_coverage_swath_coords (unordered_map< std::string, libdap::Array * > &d4map_array_maps, libdap::Array *has_map_array, const std::vector< std::string > &coord_names, unordered_set< std::string > &coord_dim_names)
 
void add_gm_oneproj_var_dap4_attrs (libdap::BaseType *d4_var, EOS5GridPCType cv_proj_code, const std::vector< double > &eos5_proj_params)
 
void add_gm_spcvs (libdap::D4Group *d4_root, EOS5GridPCType cv_proj_code, float cv_point_lower, float cv_point_upper, float cv_point_left, float cv_point_right, const std::vector< HDF5CF::Dimension * > &dims)
 
void add_gm_spcvs_attrs (libdap::BaseType *d4_var, bool is_dim0)
 
void add_grp_dap4_attr (libdap::D4Group *d4_grp, const std::string &attr_name, D4AttributeType attr_type, const std::string &attr_value)
 
void add_ll_valid_range (libdap::AttrTable *, bool is_lat)
 
void add_var_dap4_attr (libdap::BaseType *d4_var, const std::string &attr_name, D4AttributeType attr_type, const std::string &attr_value)
 
void check_update_int64_attr (const std::string &, const HDF5CF::Attribute *)
 
libdap::D4Attribute * gen_dap4_attr (const HDF5CF::Attribute *)
 
void gen_dap_oneobj_das (libdap::AttrTable *, const HDF5CF::Attribute *, const HDF5CF::Var *)
 
void gen_dap_onevar_dds (libdap::DDS &dds, const HDF5CF::Var *, hid_t, const std::string &)
 
void gen_dap_onevar_dds_array (libdap::DDS &dds, const HDF5CF::Var *var, hid_t file_id, const std::string &filename, const std::vector< HDF5CF::Dimension * > &dims)
 
void gen_dap_onevar_dds_sca_64bit_int (const HDF5CF::Var *var, const std::string &filename)
 
void gen_dap_onevar_dds_sca_atomic (libdap::DDS &dds, const HDF5CF::Var *var, const std::string &filename)
 
void gen_dap_onevar_dmr (libdap::D4Group *, const HDF5CF::Var *, hid_t, const std::string &)
 
void gen_dap_onevar_dmr_array (libdap::D4Group *d4_grp, const HDF5CF::Var *var, hid_t file_id, const std::string &filename, const std::vector< HDF5CF::Dimension * > &dims)
 
void gen_dap_onevar_dmr_sca (libdap::D4Group *d4_grp, const HDF5CF::Var *var, const std::string &filename)
 
void gen_dap_special_oneobj_das (libdap::AttrTable *, const HDF5CF::Attribute *, const HDF5CF::Var *)
 
void gen_dap_str_attr (libdap::AttrTable *, const HDF5CF::Attribute *)
 
std::string get_cf_string (std::string &s)
 
std::string get_cf_string_helper (std::string &s)
 
void handle_coor_attr_for_int64_var (const HDF5CF::Attribute *, const std::string &, std::string &, bool)
 
bool is_fvalue_valid (H5DataType, const HDF5CF::Attribute *)
 
void map_cfh5_attr_container_to_dap4 (libdap::D4Attribute *, const HDF5CF::Attribute *)
 
void map_cfh5_grp_attr_to_dap4 (libdap::D4Group *, const HDF5CF::Attribute *)
 
void map_cfh5_var_attrs_to_dap4 (const HDF5CF::Var *var, libdap::BaseType *new_var)
 
void map_cfh5_var_attrs_to_dap4_int64 (const HDF5CF::Var *var, libdap::BaseType *new_var)
 
bool need_attr_values_for_dap4 (const HDF5CF::Var *var)
 
bool need_special_attribute_handling (const HDF5CF::Attribute *, const HDF5CF::Var *)
 

Detailed Description

Functions to generate DDS and DAS for one object(variable).

Author
Kent Yang myang.nosp@m.6@hd.nosp@m.fgrou.nosp@m.p.or.nosp@m.g

Definition in file h5commoncfdap.h.

Function Documentation

◆ add_cf_grid_cv_dap4_attrs()

void add_cf_grid_cv_dap4_attrs ( libdap::D4Group * d4_root,
const std::string & cf_projection,
const std::vector< HDF5CF::Dimension * > & dims,
const std::vector< std::string > & cvar_name )

Definition at line 1235 of file h5commoncfdap.cc.

◆ add_cf_grid_cvs()

void add_cf_grid_cvs ( libdap::DDS & dds,
EOS5GridPCType cv_proj_code,
float cv_point_lower,
float cv_point_upper,
float cv_point_left,
float cv_point_right,
const std::vector< HDF5CF::Dimension * > & dims )

Definition at line 648 of file h5commoncfdap.cc.

◆ add_cf_grid_mapinfo_var()

void add_cf_grid_mapinfo_var ( libdap::DDS & dds,
EOS5GridPCType grid_proj_code,
unsigned short g_suffix )

Definition at line 684 of file h5commoncfdap.cc.

◆ add_dap4_coverage()

void add_dap4_coverage ( libdap::D4Group * d4_grp,
const std::vector< std::string > & map_array,
bool is_coard )

Definition at line 1362 of file h5commoncfdap.cc.

◆ add_gm_spcvs()

void add_gm_spcvs ( libdap::D4Group * d4_root,
EOS5GridPCType cv_proj_code,
float cv_point_lower,
float cv_point_upper,
float cv_point_left,
float cv_point_right,
const std::vector< HDF5CF::Dimension * > & dims )

Definition at line 1280 of file h5commoncfdap.cc.

◆ add_gm_spcvs_attrs()

void add_gm_spcvs_attrs ( libdap::BaseType * d4_var,
bool is_dim0 )

Definition at line 1318 of file h5commoncfdap.cc.

◆ add_grp_dap4_attr()

void add_grp_dap4_attr ( libdap::D4Group * d4_grp,
const std::string & attr_name,
D4AttributeType attr_type,
const std::string & attr_value )

Definition at line 1343 of file h5commoncfdap.cc.

◆ check_update_int64_attr()

void check_update_int64_attr ( const std::string & obj_name,
const HDF5CF::Attribute * attr )

Definition at line 999 of file h5commoncfdap.cc.

◆ gen_dap4_attr()

libdap::D4Attribute * gen_dap4_attr ( const HDF5CF::Attribute * attr)

Definition at line 1095 of file h5commoncfdap.cc.

◆ gen_dap_onevar_dds()

void gen_dap_onevar_dds ( libdap::DDS & dds,
const HDF5CF::Var * var,
hid_t file_id,
const std::string & filename )

Definition at line 68 of file h5commoncfdap.cc.

◆ gen_dap_onevar_dds_array()

void gen_dap_onevar_dds_array ( libdap::DDS & dds,
const HDF5CF::Var * var,
hid_t file_id,
const std::string & filename,
const std::vector< HDF5CF::Dimension * > & dims )

Definition at line 181 of file h5commoncfdap.cc.

◆ gen_dap_onevar_dds_sca_64bit_int()

void gen_dap_onevar_dds_sca_64bit_int ( const HDF5CF::Var * var,
const std::string & filename )

Definition at line 93 of file h5commoncfdap.cc.

◆ gen_dap_onevar_dds_sca_atomic()

void gen_dap_onevar_dds_sca_atomic ( libdap::DDS & dds,
const HDF5CF::Var * var,
const std::string & filename )

Definition at line 121 of file h5commoncfdap.cc.

◆ gen_dap_onevar_dmr()

void gen_dap_onevar_dmr ( libdap::D4Group * d4_grp,
const HDF5CF::Var * var,
hid_t file_id,
const std::string & filename )

Definition at line 412 of file h5commoncfdap.cc.

◆ gen_dap_onevar_dmr_array()

void gen_dap_onevar_dmr_array ( libdap::D4Group * d4_grp,
const HDF5CF::Var * var,
hid_t file_id,
const std::string & filename,
const std::vector< HDF5CF::Dimension * > & dims )

Definition at line 545 of file h5commoncfdap.cc.

◆ gen_dap_onevar_dmr_sca()

void gen_dap_onevar_dmr_sca ( libdap::D4Group * d4_grp,
const HDF5CF::Var * var,
const std::string & filename )

Definition at line 425 of file h5commoncfdap.cc.

◆ get_cf_string()

std::string get_cf_string ( std::string & s)

Definition at line 1517 of file h5commoncfdap.cc.

◆ get_cf_string_helper()

std::string get_cf_string_helper ( std::string & s)

Definition at line 1528 of file h5commoncfdap.cc.

◆ handle_coor_attr_for_int64_var()

void handle_coor_attr_for_int64_var ( const HDF5CF::Attribute * attr,
const std::string & var_path,
std::string & tempstring,
bool chg_coor_value )

Definition at line 1046 of file h5commoncfdap.cc.

◆ is_fvalue_valid()

bool is_fvalue_valid ( H5DataType var_dtype,
const HDF5CF::Attribute * attr )

Definition at line 297 of file h5commoncfdap.cc.

◆ map_cfh5_attr_container_to_dap4()

void map_cfh5_attr_container_to_dap4 ( libdap::D4Attribute * d4_con,
const HDF5CF::Attribute * attr )

Definition at line 1087 of file h5commoncfdap.cc.

◆ map_cfh5_grp_attr_to_dap4()

void map_cfh5_grp_attr_to_dap4 ( libdap::D4Group * d4_grp,
const HDF5CF::Attribute * attr )

Definition at line 1079 of file h5commoncfdap.cc.

◆ need_attr_values_for_dap4()

bool need_attr_values_for_dap4 ( const HDF5CF::Var * var)

Definition at line 931 of file h5commoncfdap.cc.

◆ need_special_attribute_handling()

bool need_special_attribute_handling ( const HDF5CF::Attribute * attr,
const HDF5CF::Var * var )

Definition at line 270 of file h5commoncfdap.cc.