bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
FONcArray Class Reference

A DAP Array with file out netcdf information included. More...

#include <FONcArray.h>

Inheritance diagram for FONcArray:
Inheritance graph
Collaboration diagram for FONcArray:
Collaboration graph

Public Member Functions

virtual libdap::Array * array ()
 
virtual void clear_embedded ()
 Clears the list of embedded variable names.
 
virtual void convert (std::vector< std::string > embed, bool _dap4=false, bool is_dap4_group=false) override
 Converts the DAP Array to a FONcArray.
 
void convert (std::vector< std::string > embed)
 
void convert (std::vector< std::string > embed, bool is_dap4)
 
virtual void define (int ncid) override
 define the DAP Array in the netcdf file
 
virtual void dump (std::ostream &strm) const override
 dumps information about this object for debugging purposes
 
 FONcArray (libdap::BaseType *b)
 
 FONcArray (libdap::BaseType *b, const std::vector< int > &dim_ids, const std::vector< bool > &use_dim_ids, const std::vector< int > &rds_nums)
 
libdap::DDS * get_dds () const
 
libdap::ConstraintEvaluator * get_eval () const
 
bool get_fdio_flag () const
 
virtual libdap::AttrType getAttrType (nc_type t)
 
virtual D4AttributeType getD4AttrType (nc_type t)
 
virtual bool isNetCDF4 ()
 Returns true if NetCDF4 features will be required.
 
bool isNetCDF4_ENHANCED ()
 
std::string name () override
 returns the name of the DAP Array
 
void set_dds (libdap::DDS *dds)
 
void set_eval (libdap::ConstraintEvaluator *eval)
 
void set_fdio_flag (bool dio_flag_value=true)
 
virtual void set_is_dap4 (bool set_dap4)
 
virtual void setNC4DataModel (const string &nc4_datamodel)
 Identifies the netCDF4 data model (CLASSIC or ENHANCED)
 
virtual void setVersion (const std::string &version)
 Identifies variable with use of NetCDF4 features.
 
virtual nc_type type ()
 Returns the type of data of this variable.
 
virtual void updateAttrType (libdap::AttrTable &attrs, nc_type t)
 
virtual void updateD4AttrType (libdap::D4Attributes *d4_attrs, nc_type t)
 
virtual int varid () const
 
virtual void write (int ncid) override
 Write the array out to the netcdf file.
 
 ~FONcArray () override
 Destructor that cleans up the array.
 

Static Public Attributes

static std::vector< FONcDim * > Dimensions
 

Protected Attributes

libdap::DDS * d_dds = nullptr
 
bool d_defined = false
 
std::vector< std::string > d_embed
 
libdap::ConstraintEvaluator * d_eval = nullptr
 
bool d_is_dap4 = false
 
bool d_is_dap4_group = false
 
std::string d_nc4_datamodel
 
std::string d_ncVersion
 
std::string d_orig_varname
 
int d_varid = 0
 
std::string d_varname
 
bool fdio_flag = false
 

Friends

class FONcArrayTest
 

Detailed Description

A DAP Array with file out netcdf information included.

This class represents a DAP Array with additional information needed to write it out to a netcdf file. Includes a reference to the actual DAP Array being converted.

Definition at line 56 of file FONcArray.h.

Constructor & Destructor Documentation

◆ ~FONcArray()

FONcArray::~FONcArray ( )
override

Destructor that cleans up the array.

The destructor cleans up by removing the array dimensions from it's list. Since the dimensions can be shared by other arrays, FONcDim uses reference counting, so the instances aren't actually deleted here, but their reference count is decremented

The DAP Array instance does not belong to the FONcArray instance, so it is not deleted.

Definition at line 117 of file FONcArray.cc.

Member Function Documentation

◆ array()

virtual libdap::Array * FONcArray::array ( )
inlinevirtual

Definition at line 141 of file FONcArray.h.

◆ clear_embedded()

void FONcBaseType::clear_embedded ( )
virtualinherited

Clears the list of embedded variable names.

Definition at line 93 of file FONcBaseType.cc.

◆ convert() [1/3]

void FONcArray::convert ( std::vector< std::string > embed,
bool _dap4 = false,
bool is_dap4_group = false )
overridevirtual

Converts the DAP Array to a FONcArray.

Does this by converting the name to a valid netcdf variable name, creating FONcDim instances for each of the dimensions of the array, or finding a shared dimension in the global list of dimensions.

Also keeps track of any single dimensional arrays where the name of the array is the same as the dimension name, as these could be maps for grids that might be defined.

Parameters
embedA list of strings for each name of parent structures or grids
Exceptions
BESInternalErrorif there is a problem converting the Array

Reimplemented from FONcBaseType.

Definition at line 141 of file FONcArray.cc.

◆ convert() [2/3]

void FONcBaseType::convert ( std::vector< std::string > embed)
inlineinherited

Definition at line 97 of file FONcBaseType.h.

◆ convert() [3/3]

void FONcBaseType::convert ( std::vector< std::string > embed,
bool is_dap4 )
inlineinherited

Definition at line 100 of file FONcBaseType.h.

◆ define()

void FONcArray::define ( int ncid)
overridevirtual

define the DAP Array in the netcdf file

This includes creating the dimensions, if they haven't already been created, and then defining the array itself. Once the array is defined, all of the attributes are written out.

If the Array is an array of strings, an additional dimension is created to represent the maximum length of the strings so that the array can be written out as text

Parameters
ncidThe id of the NetCDF file
Exceptions
BESInternalErrorif there is a problem defining the dimensions or variable

Reimplemented from FONcBaseType.

Definition at line 540 of file FONcArray.cc.

◆ dump()

void FONcArray::dump ( std::ostream & strm) const
overridevirtual

dumps information about this object for debugging purposes

Displays the pointer value of this instance plus instance data, including private data for this instance, and dumps the list of dimensions for this array.

Parameters
strmC++ i/o stream to dump the information to

Implements FONcBaseType.

Definition at line 1124 of file FONcArray.cc.

◆ get_dds()

libdap::DDS * FONcBaseType::get_dds ( ) const
inlineinherited

Definition at line 89 of file FONcBaseType.h.

◆ get_eval()

libdap::ConstraintEvaluator * FONcBaseType::get_eval ( ) const
inlineinherited

Definition at line 92 of file FONcBaseType.h.

◆ get_fdio_flag()

bool FONcBaseType::get_fdio_flag ( ) const
inlineinherited

Definition at line 129 of file FONcBaseType.h.

◆ getAttrType()

libdap::AttrType FONcBaseType::getAttrType ( nc_type t)
virtualinherited

Definition at line 163 of file FONcBaseType.cc.

◆ getD4AttrType()

D4AttributeType FONcBaseType::getD4AttrType ( nc_type t)
virtualinherited

Definition at line 211 of file FONcBaseType.cc.

◆ isNetCDF4()

bool FONcBaseType::isNetCDF4 ( )
virtualinherited

Returns true if NetCDF4 features will be required.

Definition at line 118 of file FONcBaseType.cc.

◆ isNetCDF4_ENHANCED()

bool FONcBaseType::isNetCDF4_ENHANCED ( )
inherited

Definition at line 123 of file FONcBaseType.cc.

◆ name()

string FONcArray::name ( )
overridevirtual

returns the name of the DAP Array

Returns
The name of the DAP Array

Implements FONcBaseType.

Definition at line 1112 of file FONcArray.cc.

◆ set_dds()

void FONcBaseType::set_dds ( libdap::DDS * dds)
inlineinherited

Definition at line 90 of file FONcBaseType.h.

◆ set_eval()

void FONcBaseType::set_eval ( libdap::ConstraintEvaluator * eval)
inlineinherited

Definition at line 93 of file FONcBaseType.h.

◆ set_fdio_flag()

void FONcBaseType::set_fdio_flag ( bool dio_flag_value = true)
inlineinherited

Definition at line 130 of file FONcBaseType.h.

◆ set_is_dap4()

virtual void FONcBaseType::set_is_dap4 ( bool set_dap4)
inlinevirtualinherited

Definition at line 121 of file FONcBaseType.h.

◆ setNC4DataModel()

void FONcBaseType::setNC4DataModel ( const string & nc4_datamodel)
virtualinherited

Identifies the netCDF4 data model (CLASSIC or ENHANCED)

Definition at line 109 of file FONcBaseType.cc.

◆ setVersion()

void FONcBaseType::setVersion ( const std::string & version)
virtualinherited

Identifies variable with use of NetCDF4 features.

Definition at line 100 of file FONcBaseType.cc.

◆ type()

nc_type FONcBaseType::type ( )
virtualinherited

Returns the type of data of this variable.

This implementation of the method returns the default type of data. Subclasses of FONcBaseType will return the specific type of data for simple types

Reimplemented in FONcArrayStructureField, FONcByte, FONcDouble, FONcFloat, FONcInt64, FONcInt8, FONcInt, FONcShort, FONcStr, FONcUByte, FONcUInt64, FONcUInt, and FONcUShort.

Definition at line 86 of file FONcBaseType.cc.

◆ updateAttrType()

void FONcBaseType::updateAttrType ( libdap::AttrTable & attrs,
nc_type t )
virtualinherited

Definition at line 144 of file FONcBaseType.cc.

◆ updateD4AttrType()

void FONcBaseType::updateD4AttrType ( libdap::D4Attributes * d4_attrs,
nc_type t )
virtualinherited

Definition at line 128 of file FONcBaseType.cc.

◆ varid()

virtual int FONcBaseType::varid ( ) const
inlinevirtualinherited

Definition at line 113 of file FONcBaseType.h.

◆ write()

void FONcArray::write ( int ncid)
overridevirtual

Write the array out to the netcdf file.

Once the array is defined, the values of the array can be written out as well.

Parameters
ncidThe id of the netcdf file
Exceptions
BESInternalErrorif there is a problem writing the values out to the netcdf file

Implements FONcBaseType.

Definition at line 859 of file FONcArray.cc.

Friends And Related Symbol Documentation

◆ FONcArrayTest

friend class FONcArrayTest
friend

Definition at line 127 of file FONcArray.h.

Member Data Documentation

◆ d_dds

libdap::DDS* FONcBaseType::d_dds = nullptr
protectedinherited

Definition at line 76 of file FONcBaseType.h.

◆ d_defined

bool FONcBaseType::d_defined = false
protectedinherited

Definition at line 66 of file FONcBaseType.h.

◆ d_embed

std::vector<std::string> FONcBaseType::d_embed
protectedinherited

Definition at line 65 of file FONcBaseType.h.

◆ d_eval

libdap::ConstraintEvaluator* FONcBaseType::d_eval = nullptr
protectedinherited

Definition at line 77 of file FONcBaseType.h.

◆ d_is_dap4

bool FONcBaseType::d_is_dap4 = false
protectedinherited

Definition at line 71 of file FONcBaseType.h.

◆ d_is_dap4_group

bool FONcBaseType::d_is_dap4_group = false
protectedinherited

Definition at line 74 of file FONcBaseType.h.

◆ d_nc4_datamodel

std::string FONcBaseType::d_nc4_datamodel
protectedinherited

Definition at line 68 of file FONcBaseType.h.

◆ d_ncVersion

std::string FONcBaseType::d_ncVersion
protectedinherited

Definition at line 67 of file FONcBaseType.h.

◆ d_orig_varname

std::string FONcBaseType::d_orig_varname
protectedinherited

Definition at line 64 of file FONcBaseType.h.

◆ d_varid

int FONcBaseType::d_varid = 0
protectedinherited

Definition at line 62 of file FONcBaseType.h.

◆ d_varname

std::string FONcBaseType::d_varname
protectedinherited

Definition at line 63 of file FONcBaseType.h.

◆ Dimensions

vector< FONcDim * > FONcArray::Dimensions
static

Definition at line 170 of file FONcArray.h.

◆ fdio_flag

bool FONcBaseType::fdio_flag = false
protectedinherited

Definition at line 82 of file FONcBaseType.h.


The documentation for this class was generated from the following files: