bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
HDFEOS5CFMissLLArray.h
Go to the documentation of this file.
1// This file is part of the hdf5_handler implementing for the CF-compliant
2// Copyright (c) 2011-2023 The HDF Group, Inc. and OPeNDAP, Inc.
3//
4// This is free software; you can redistribute it and/or modify it under the
5// terms of the GNU Lesser General Public License as published by the Free
6// Software Foundation; either version 2.1 of the License, or (at your
7// option) any later version.
8//
9// This software is distributed in the hope that it will be useful, but
10// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
12// License for more details.
13//
14// You should have received a copy of the GNU Lesser General Public
15// License along with this library; if not, write to the Free Software
16// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17//
18// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
19// You can contact The HDF Group, Inc. at 410 E University Ave,
20// Suite 200, Champaign, IL 61820
21
31
32#ifndef _HDFEOS5CFMISSLLARRAY_H
33#define _HDFEOS5CFMISSLLARRAY_H
34
35// STL includes
36#include <string>
37#include <vector>
38
39// DODS includes
40#include "HDF5CF.h"
41#include "HDF5BaseArray.h"
42#include "HDF5DiskCache.h"
43
44
45class HDFEOS5CFMissLLArray:public HDF5BaseArray {
46 public:
47 HDFEOS5CFMissLLArray(int h5_rank, const std::string & h5_filename, const hid_t h5_fileid, const std::string &varfullpath, CVType h5_cvartype,float h5_point_lower, float h5_point_upper, float h5_point_left, float h5_point_right, EOS5GridPRType h5_eos5_pixelreg, EOS5GridOriginType h5_eos5_origin, EOS5GridPCType h5_eos5_projcode, const std::vector<double> & h5_eos5_params,int h5_eos5_zone,int h5_eos5_sphere,int h5_xdimsize, int h5_ydimsize, const std::string & n="", libdap::BaseType * v = nullptr):
48 HDF5BaseArray(n,v),
49 rank(h5_rank),
50 filename(h5_filename),
51 fileid(h5_fileid),
52 varname(varfullpath),
53 cvartype(h5_cvartype),
54 point_lower(h5_point_lower),
55 point_upper(h5_point_upper),
56 point_left(h5_point_left),
57 point_right(h5_point_right),
58 eos5_pixelreg(h5_eos5_pixelreg),
59 eos5_origin(h5_eos5_origin),
60 eos5_projcode(h5_eos5_projcode),
61 eos5_params(h5_eos5_params),
62 eos5_zone(h5_eos5_zone),
63 eos5_sphere(h5_eos5_sphere),
64 xdimsize(h5_xdimsize),
65 ydimsize(h5_ydimsize) {
66 }
67
68 ~ HDFEOS5CFMissLLArray() override = default;
69 libdap::BaseType *ptr_duplicate() override;
70
71 bool read() override;
72 void read_data_NOT_from_mem_cache(bool add_cache,void*buf) override;
73 void read_data_NOT_from_mem_cache_geo(bool add_cache,void*buf);
74 std::string obtain_ll_cache_name();
75
76 private:
77 int rank;
78 std::string filename;
79 hid_t fileid;
80 std::string varname;
81 CVType cvartype;
82 float point_lower;
83 float point_upper;
84 float point_left;
85 float point_right;
86 EOS5GridPRType eos5_pixelreg;
87 EOS5GridOriginType eos5_origin;
88 EOS5GridPCType eos5_projcode;
89 std::vector<double> eos5_params;
90 int eos5_zone;
91 int eos5_sphere;
92 int xdimsize;
93 int ydimsize;
94};
95
96#endif // _HDFEOS5CFMISSLLARRAY_H
97
A helper class that aims to reduce code redundence for different special CF derived array class For e...
This class specifies the core engineering of mapping HDF5 to DAP by following CF.