bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
heos5cfdap.h
Go to the documentation of this file.
1// This file is part of hdf5_handler: an HDF5 file handler for the OPeNDAP
2// data server.
3
4// Copyright (c) 2011-2023 The HDF Group, Inc. and OPeNDAP, Inc.
5//
6// This is free software; you can redistribute it and/or modify it under the
7// terms of the GNU Lesser General Public License as published by the Free
8// Software Foundation; either version 2.1 of the License, or (at your
9// option) any later version.
10//
11// This software is distributed in the hope that it will be useful, but
12// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14// License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19//
20// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
21// You can contact The HDF Group, Inc. at 410 E University Ave,
22// Suite 200, Champaign, IL 61820
23
32
33
34#ifndef _HEOS5CFDAP_H
35#define _HEOS5CFDAP_H
36#include <libdap/DDS.h>
37#include <libdap/DAS.h>
38#include "hdf5.h"
39#include "HDF5CF.h"
40#include "h5commoncfdap.h"
41
42enum EOS5Metadata
43{StructMeta,CoreMeta,ArchivedMeta,SubsetMeta,ProductMeta,XMLMeta,OtherMeta};
44void map_eos5_cfdds(libdap::DDS &, hid_t, const std::string &);
45void map_eos5_cfdas(libdap::DAS &, hid_t, const std::string &);
46void gen_eos5_cfdds(libdap::DDS &, const HDF5CF::EOS5File*);
47void gen_eos5_cfdas(libdap::DAS &, hid_t, HDF5CF::EOS5File*);
48
49void gen_eos5_cf_ignored_obj_info(libdap::DAS &,const HDF5CF::EOS5File*);
50void gen_dap_oneeos5cvar_dds(libdap::DDS &,const HDF5CF::EOS5CVar*,const hid_t, const std::string &);
51
52#if 0
53//void gen_dap_oneeos5cf_dmr(libdap::D4Group*,const HDF5CF::EOS5CVar*);
54#endif
55
56void gen_dap_oneeos5cf_dds(libdap::DDS &,const HDF5CF::EOS5CVar* );
57void gen_dap_oneeos5cf_das(libdap::DAS &,const std::vector<HDF5CF::Var*>&,const HDF5CF::EOS5CVar* ,const unsigned short);
58
59// DMR
60void map_eos5_cfdmr(libdap::D4Group*,hid_t, const std::string &);
61void gen_eos5_cfdmr(libdap::D4Group*, const HDF5CF::EOS5File*);
62void gen_dap_oneeos5cvar_dmr(libdap::D4Group*,const HDF5CF::EOS5CVar*,const hid_t, const std::string &);
63void gen_dap_eos5cf_gm_dmr(libdap::D4Group*,const HDF5CF::EOS5File*);
64void gen_gm_proj_spvar_info(libdap::D4Group* d4_root,const HDF5CF::EOS5File* f);
65void gen_gm_oneproj_var(libdap::D4Group*, const HDF5CF::EOS5CVar*, const unsigned short, const HDF5CF::EOS5File *f);
66void gen_gm_oneproj_spvar(libdap::D4Group*, const HDF5CF::EOS5CVar*);
67void gen_gm_proj_var_info(libdap::D4Group* ,const HDF5CF::EOS5File* );
68void add_var_sp_attrs_to_dap4(libdap::BaseType *d4_var,const HDF5CF::EOS5CVar* cvar);
69
70void read_ecs_metadata(hid_t file_id, std::string & st_str, std::string & core_str, std::string & arch_str,std::string &xml_str, std::string& subset_str, std::string & product_str,std::string &other_str,bool st_only);
71int get_metadata_num(const std::string &);
72#endif
This class specifies the core engineering of mapping HDF5 to DAP by following CF.
This class is a derived class of CVar. It represents a coordinate variable for HDF-EOS5 files.
Definition HDF5CF.h:427
This class is a derived class of File. It includes methods applied to HDF-EOS5 files only.
Definition HDF5CF.h:1174
Functions to generate DDS and DAS for one object(variable).