bes  Updated for version 3.20.8
FONcArray Class Reference

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

#include <FONcArray.h>

Collaboration diagram for FONcArray:
Collaboration graph

Public Member Functions

virtual libdap::Array * array ()
 
virtual void clear_embedded ()
 Clears the list of embedded variable names. More...
 
virtual void convert (std::vector< std::string > embed, bool is_dap4_group=false)
 Converts the DAP Array to a FONcArray. More...
 
virtual void define (int ncid)
 define the DAP Array in the netcdf file More...
 
virtual void dump (std::ostream &strm) const
 dumps information about this object for debugging purposes More...
 
 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 > &rbs_nums)
 
virtual bool isNetCDF4 ()
 Returns true if NetCDF4 features will be required. More...
 
virtual bool isNetCDF4_ENHANCED ()
 
virtual std::string name ()
 returns the name of the DAP Array More...
 
virtual void set_is_dap4 (bool set_dap4)
 
virtual void setNC4DataModel (std::string nc4_datamodel)
 Identifies the netCDF4 data model (CLASSIC or ENHANCED) More...
 
virtual void setVersion (std::string version)
 Identifies variable with use of NetCDF4 features. More...
 
virtual nc_type type ()
 Returns the type of data of this variable. More...
 
virtual int varid () const
 
virtual void write (int ncid)
 Write the array out to the netcdf file. More...
 
virtual ~FONcArray ()
 Destructor that cleans up the array. More...
 

Static Public Member Functions

static libdap::AttrType getAttrType (nc_type t)
 

Static Public Attributes

static std::vector< FONcDim * > Dimensions
 

Protected Attributes

bool _defined
 
std::vector< std::string > _embed
 
std::string _nc4_datamodel
 
std::string _ncVersion
 
std::string _orig_varname
 
int _varid
 
std::string _varname
 
bool is_dap4
 
bool is_dap4_group
 

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 55 of file FONcArray.h.

Constructor & Destructor Documentation

◆ ~FONcArray()

FONcArray::~FONcArray ( )
virtual

Destructor that cleans up the array.

The destrutor 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 101 of file FONcArray.cc.

Member Function Documentation

◆ clear_embedded()

void FONcBaseType::clear_embedded ( )
virtualinherited

Clears the list of embedded variable names.

Definition at line 82 of file FONcBaseType.cc.

◆ convert()

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

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 132 of file FONcArray.cc.

◆ define()

void FONcArray::define ( int  ncid)
virtual

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 342 of file FONcArray.cc.

◆ dump()

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

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 679 of file FONcArray.cc.

◆ isNetCDF4()

bool FONcBaseType::isNetCDF4 ( )
virtualinherited

Returns true if NetCDF4 features will be required.

Definition at line 106 of file FONcBaseType.cc.

◆ name()

string FONcArray::name ( )
virtual

returns the name of the DAP Array

Returns
The name of the DAP Array

Implements FONcBaseType.

Definition at line 666 of file FONcArray.cc.

◆ setNC4DataModel()

void FONcBaseType::setNC4DataModel ( std::string  nc4_datamodel)
virtualinherited

Identifies the netCDF4 data model (CLASSIC or ENHANCED)

Definition at line 98 of file FONcBaseType.cc.

◆ setVersion()

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

Identifies variable with use of NetCDF4 features.

Definition at line 89 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 FONcUShort, FONcUInt64, FONcUInt, FONcUByte, FONcStr, FONcShort, FONcInt8, FONcInt64, FONcInt, FONcFloat, FONcDouble, and FONcByte.

Definition at line 75 of file FONcBaseType.cc.

◆ write()

void FONcArray::write ( int  ncid)
virtual

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

Reimplemented from FONcBaseType.

Definition at line 473 of file FONcArray.cc.


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