bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
|
Functions to generate DDS and DAS for one object(variable). More...
#include <fcntl.h>
#include <iostream>
#include <unordered_map>
#include <unordered_set>
#include <libdap/InternalErr.h>
#include <BESDebug.h>
#include "HDF5RequestHandler.h"
#include "h5cfdaputil.h"
#include "h5gmcfdap.h"
#include "HDF5CFByte.h"
#include "HDF5CFInt8.h"
#include "HDF5CFUInt16.h"
#include "HDF5CFInt16.h"
#include "HDF5CFUInt32.h"
#include "HDF5CFInt32.h"
#include "HDF5CFFloat32.h"
#include "HDF5CFFloat64.h"
#include "HDF5CFInt64.h"
#include "HDF5CFUInt64.h"
#include "HDF5CFStr.h"
#include "HDF5CFArray.h"
#include "HDF5CFGeoCF1D.h"
#include "HDF5CFGeoCFProj.h"
#include "HDF5CFUtil.h"
Go to the source code of this file.
Macros | |
#define | HANDLE_CASE(tid, type) |
#define | HANDLE_CASE(tid, type) |
Functions | |
void | add_cf_grid_cv_attrs (DAS &das, const vector< HDF5CF::Var * > &vars, EOS5GridPCType cv_proj_code, const vector< HDF5CF::Dimension * > &dims, const vector< double > &eos5_proj_params, unsigned short g_suffix) |
void | add_cf_grid_cv_dap4_attrs (D4Group *d4_root, const string &cf_projection, const vector< HDF5CF::Dimension * > &dims, const vector< string > &cvar_name) |
void | add_cf_grid_cv_dap4_attrs_helper (Array *t_a, const string &dim0name, hsize_t dim0size, bool &has_dim0, const string &dim1name, hsize_t dim1size, bool &has_dim1) |
void | add_cf_grid_cvs (DDS &dds, EOS5GridPCType cv_proj_code, float cv_point_lower, float cv_point_upper, float cv_point_left, float cv_point_right, const vector< HDF5CF::Dimension * > &dims) |
void | add_cf_grid_mapinfo_var (DDS &dds, EOS5GridPCType grid_proj_code, unsigned short g_suffix) |
void | add_cf_grid_mapping_attr (DAS &das, const vector< HDF5CF::Var * > &vars, const string &cf_projection, const string &dim0name, hsize_t dim0size, const string &dim1name, hsize_t dim1size) |
void | add_cf_projection_attrs (DAS &das, EOS5GridPCType cv_proj_code, const vector< double > &eos5_proj_params, const string &cf_projection) |
void | add_dap4_coverage (libdap::D4Group *d4_root, const vector< string > &coord_var_names, bool is_coard) |
void | add_dap4_coverage_grid (unordered_map< string, Array * > &d4map_array_maps, vector< Array * > &has_map_arrays) |
void | add_dap4_coverage_set_up (unordered_map< string, Array * > &d4map_array_maps, vector< Array * > &has_map_arrays, Array *t_a, const vector< string > &coord_var_names, const 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< string, Array * > &d4map_array_maps, Array *has_map_array, const vector< string > &coord_names, unordered_set< string > &coord_dim_names) |
void | add_gm_oneproj_var_dap4_attrs (BaseType *var, EOS5GridPCType cv_proj_code, const 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 *var, bool is_dim0) |
void | add_grp_dap4_attr (D4Group *d4_grp, const string &attr_name, D4AttributeType attr_type, const string &attr_value) |
void | add_ll_valid_range (AttrTable *at, bool is_lat) |
void | add_var_dap4_attr (BaseType *var, const string &attr_name, D4AttributeType attr_type, const string &attr_value) |
void | check_update_int64_attr (const string &obj_name, const HDF5CF::Attribute *attr) |
D4Attribute * | gen_dap4_attr (const HDF5CF::Attribute *attr) |
void | gen_dap_oneobj_das (AttrTable *at, const HDF5CF::Attribute *attr, const HDF5CF::Var *var) |
void | gen_dap_onevar_dds (DDS &dds, const HDF5CF::Var *var, hid_t file_id, const string &filename) |
void | gen_dap_onevar_dds_array (DDS &dds, const HDF5CF::Var *var, hid_t file_id, const string &filename, const vector< HDF5CF::Dimension * > &dims) |
void | gen_dap_onevar_dds_sca_64bit_int (const HDF5CF::Var *var, const string &filename) |
void | gen_dap_onevar_dds_sca_atomic (DDS &dds, const HDF5CF::Var *var, const string &filename) |
void | gen_dap_onevar_dmr (libdap::D4Group *d4_grp, const HDF5CF::Var *var, hid_t file_id, const string &filename) |
void | gen_dap_onevar_dmr_array (D4Group *d4_grp, const HDF5CF::Var *var, hid_t file_id, const string &filename, const vector< HDF5CF::Dimension * > &dims) |
void | gen_dap_onevar_dmr_sca (D4Group *d4_grp, const HDF5CF::Var *var, const string &filename) |
void | gen_dap_special_oneobj_das (AttrTable *at, const HDF5CF::Attribute *attr, const HDF5CF::Var *var) |
void | gen_dap_str_attr (AttrTable *at, const HDF5CF::Attribute *attr) |
Transfer string attributes to a DAP2 AttrTable. | |
string | get_cf_string (string &s) |
string | get_cf_string_helper (string &s) |
void | handle_coor_attr_for_int64_var (const HDF5CF::Attribute *attr, const string &var_path, string &tempstring, bool chg_coor_value) |
bool | is_fvalue_valid (H5DataType var_dtype, const HDF5CF::Attribute *attr) |
void | map_cfh5_attr_container_to_dap4 (libdap::D4Attribute *d4_con, const HDF5CF::Attribute *attr) |
void | map_cfh5_grp_attr_to_dap4 (libdap::D4Group *d4_grp, const HDF5CF::Attribute *attr) |
void | map_cfh5_var_attrs_to_dap4 (const HDF5CF::Var *var, BaseType *d4_var) |
void | map_cfh5_var_attrs_to_dap4_int64 (const HDF5CF::Var *var, BaseType *d4_var) |
bool | need_attr_values_for_dap4 (const HDF5CF::Var *var) |
bool | need_special_attribute_handling (const HDF5CF::Attribute *attr, const HDF5CF::Var *var) |
Functions to generate DDS and DAS for one object(variable).
Definition in file h5commoncfdap.cc.
#define HANDLE_CASE | ( | tid, | |
type ) |
#define HANDLE_CASE | ( | tid, | |
type ) |
void add_cf_grid_cv_attrs | ( | DAS & | das, |
const vector< HDF5CF::Var * > & | vars, | ||
EOS5GridPCType | cv_proj_code, | ||
const vector< HDF5CF::Dimension * > & | dims, | ||
const vector< double > & | eos5_proj_params, | ||
unsigned short | g_suffix ) |
Definition at line 713 of file h5commoncfdap.cc.
void add_cf_grid_cv_dap4_attrs | ( | D4Group * | d4_root, |
const string & | cf_projection, | ||
const vector< HDF5CF::Dimension * > & | dims, | ||
const vector< string > & | cvar_name ) |
Definition at line 1235 of file h5commoncfdap.cc.
void add_cf_grid_cv_dap4_attrs_helper | ( | Array * | t_a, |
const string & | dim0name, | ||
hsize_t | dim0size, | ||
bool & | has_dim0, | ||
const string & | dim1name, | ||
hsize_t | dim1size, | ||
bool & | has_dim1 ) |
Definition at line 1263 of file h5commoncfdap.cc.
void add_cf_grid_cvs | ( | DDS & | dds, |
EOS5GridPCType | cv_proj_code, | ||
float | cv_point_lower, | ||
float | cv_point_upper, | ||
float | cv_point_left, | ||
float | cv_point_right, | ||
const vector< HDF5CF::Dimension * > & | dims ) |
Definition at line 648 of file h5commoncfdap.cc.
void add_cf_grid_mapinfo_var | ( | DDS & | dds, |
EOS5GridPCType | grid_proj_code, | ||
unsigned short | g_suffix ) |
Definition at line 684 of file h5commoncfdap.cc.
void add_cf_grid_mapping_attr | ( | DAS & | das, |
const vector< HDF5CF::Var * > & | vars, | ||
const string & | cf_projection, | ||
const string & | dim0name, | ||
hsize_t | dim0size, | ||
const string & | dim1name, | ||
hsize_t | dim1size ) |
Definition at line 886 of file h5commoncfdap.cc.
void add_cf_projection_attrs | ( | DAS & | das, |
EOS5GridPCType | cv_proj_code, | ||
const vector< double > & | eos5_proj_params, | ||
const string & | cf_projection ) |
Definition at line 773 of file h5commoncfdap.cc.
void add_dap4_coverage | ( | libdap::D4Group * | d4_root, |
const vector< string > & | coord_var_names, | ||
bool | is_coard ) |
Definition at line 1362 of file h5commoncfdap.cc.
void add_dap4_coverage_grid | ( | unordered_map< string, Array * > & | d4map_array_maps, |
vector< Array * > & | has_map_arrays ) |
Definition at line 1423 of file h5commoncfdap.cc.
void add_dap4_coverage_set_up | ( | unordered_map< string, Array * > & | d4map_array_maps, |
vector< Array * > & | has_map_arrays, | ||
Array * | t_a, | ||
const vector< string > & | coord_var_names, | ||
const string & | vname ) |
Definition at line 1399 of file h5commoncfdap.cc.
void add_dap4_coverage_swath | ( | unordered_map< std::string, libdap::Array * > & | d4map_array_maps, |
const std::vector< libdap::Array * > & | has_map_arrays ) |
Definition at line 1445 of file h5commoncfdap.cc.
void add_dap4_coverage_swath_coords | ( | unordered_map< string, Array * > & | d4map_array_maps, |
Array * | has_map_array, | ||
const vector< string > & | coord_names, | ||
unordered_set< string > & | coord_dim_names ) |
Definition at line 1475 of file h5commoncfdap.cc.
void add_gm_oneproj_var_dap4_attrs | ( | BaseType * | var, |
EOS5GridPCType | cv_proj_code, | ||
const vector< double > & | eos5_proj_params ) |
Definition at line 1129 of file h5commoncfdap.cc.
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.
void add_gm_spcvs_attrs | ( | libdap::BaseType * | var, |
bool | is_dim0 ) |
Definition at line 1318 of file h5commoncfdap.cc.
void add_grp_dap4_attr | ( | D4Group * | d4_grp, |
const string & | attr_name, | ||
D4AttributeType | attr_type, | ||
const string & | attr_value ) |
Definition at line 1343 of file h5commoncfdap.cc.
void add_ll_valid_range | ( | AttrTable * | at, |
bool | is_lat ) |
Definition at line 918 of file h5commoncfdap.cc.
void add_var_dap4_attr | ( | BaseType * | var, |
const string & | attr_name, | ||
D4AttributeType | attr_type, | ||
const string & | attr_value ) |
Definition at line 1352 of file h5commoncfdap.cc.
void check_update_int64_attr | ( | const string & | obj_name, |
const HDF5CF::Attribute * | attr ) |
Definition at line 999 of file h5commoncfdap.cc.
D4Attribute * gen_dap4_attr | ( | const HDF5CF::Attribute * | attr | ) |
Definition at line 1095 of file h5commoncfdap.cc.
void gen_dap_oneobj_das | ( | AttrTable * | at, |
const HDF5CF::Attribute * | attr, | ||
const HDF5CF::Var * | var ) |
Definition at line 357 of file h5commoncfdap.cc.
void gen_dap_onevar_dds | ( | DDS & | dds, |
const HDF5CF::Var * | var, | ||
hid_t | file_id, | ||
const string & | filename ) |
Definition at line 68 of file h5commoncfdap.cc.
void gen_dap_onevar_dds_array | ( | DDS & | dds, |
const HDF5CF::Var * | var, | ||
hid_t | file_id, | ||
const string & | filename, | ||
const vector< HDF5CF::Dimension * > & | dims ) |
Definition at line 181 of file h5commoncfdap.cc.
void gen_dap_onevar_dds_sca_64bit_int | ( | const HDF5CF::Var * | var, |
const string & | filename ) |
Definition at line 93 of file h5commoncfdap.cc.
void gen_dap_onevar_dds_sca_atomic | ( | DDS & | dds, |
const HDF5CF::Var * | var, | ||
const string & | filename ) |
Definition at line 121 of file h5commoncfdap.cc.
void gen_dap_onevar_dmr | ( | libdap::D4Group * | d4_grp, |
const HDF5CF::Var * | var, | ||
hid_t | file_id, | ||
const string & | filename ) |
Definition at line 412 of file h5commoncfdap.cc.
void gen_dap_onevar_dmr_array | ( | D4Group * | d4_grp, |
const HDF5CF::Var * | var, | ||
hid_t | file_id, | ||
const string & | filename, | ||
const vector< HDF5CF::Dimension * > & | dims ) |
Definition at line 545 of file h5commoncfdap.cc.
void gen_dap_onevar_dmr_sca | ( | D4Group * | d4_grp, |
const HDF5CF::Var * | var, | ||
const string & | filename ) |
Definition at line 425 of file h5commoncfdap.cc.
void gen_dap_special_oneobj_das | ( | AttrTable * | at, |
const HDF5CF::Attribute * | attr, | ||
const HDF5CF::Var * | var ) |
Definition at line 276 of file h5commoncfdap.cc.
void gen_dap_str_attr | ( | AttrTable * | at, |
const HDF5CF::Attribute * | attr ) |
Transfer string attributes to a DAP2 AttrTable.
For an HDF5 string attribute stored in a HDF5CF::Attribute, transfer the value(s) of that attribute to a DAP2 AttrTable object. This function handles both single and multiple attribute value cases. It should only be called for string attributes. Except as noted below, the attribute values are escaped so that non-printable ASCII characters are represented by a backslash and an octal code (e.g. \005).The operation occurrs in the libdap4 rather than in the handler level.
at | Put the string attribute in this DAP2 AttrTable |
attr | The source attribute information |
Definition at line 616 of file h5commoncfdap.cc.
Definition at line 1517 of file h5commoncfdap.cc.
Definition at line 1528 of file h5commoncfdap.cc.
void handle_coor_attr_for_int64_var | ( | const HDF5CF::Attribute * | attr, |
const string & | var_path, | ||
string & | tempstring, | ||
bool | chg_coor_value ) |
Definition at line 1046 of file h5commoncfdap.cc.
bool is_fvalue_valid | ( | H5DataType | var_dtype, |
const HDF5CF::Attribute * | attr ) |
Definition at line 297 of file h5commoncfdap.cc.
void map_cfh5_attr_container_to_dap4 | ( | libdap::D4Attribute * | d4_con, |
const HDF5CF::Attribute * | attr ) |
Definition at line 1087 of file h5commoncfdap.cc.
void map_cfh5_grp_attr_to_dap4 | ( | libdap::D4Group * | d4_grp, |
const HDF5CF::Attribute * | attr ) |
Definition at line 1079 of file h5commoncfdap.cc.
void map_cfh5_var_attrs_to_dap4 | ( | const HDF5CF::Var * | var, |
BaseType * | d4_var ) |
Definition at line 1070 of file h5commoncfdap.cc.
void map_cfh5_var_attrs_to_dap4_int64 | ( | const HDF5CF::Var * | var, |
BaseType * | d4_var ) |
Definition at line 941 of file h5commoncfdap.cc.
bool need_attr_values_for_dap4 | ( | const HDF5CF::Var * | var | ) |
Definition at line 931 of file h5commoncfdap.cc.
bool need_special_attribute_handling | ( | const HDF5CF::Attribute * | attr, |
const HDF5CF::Var * | var ) |
Definition at line 270 of file h5commoncfdap.cc.