29#include <BESInternalError.h>
34#include "FONcAttributes.h"
45 : FONcBaseType(), _b( 0 )
47 _b =
dynamic_cast<Byte *
>(b) ;
50 string s = (
string)
"File out netcdf, FONcUByte was passed a "
51 +
"variable that is not a DAP Byte" ;
83 D4Attributes *d4_attrs = _b->attributes();
84 updateD4AttrType(d4_attrs,NC_UBYTE);
87 AttrTable &attrs = _b->get_attr_table();
88 updateAttrType(attrs,NC_UBYTE);
93 d_varname, d_orig_varname ) ;
111 BESDEBUG(
"fonc",
"FOncUByte::write for var " << d_varname << endl ) ;
112 size_t var_index[] = {0} ;
113 unsigned char *data =
new unsigned char ;
118 _b->intern_data(*get_eval(), *get_dds());
120 _b->buf2val( (
void**)&data ) ;
121 int stax = nc_put_var1_uchar(ncid, d_varid, var_index, data ) ;
122 if( stax != NC_NOERR )
124 string err = (
string)
"fileout.netcdf - "
125 +
"Failed to write byte data for "
161 strm << BESIndent::LMarg <<
"FONcUByte::dump - ("
162 << (
void *)
this <<
")" << endl ;
163 BESIndent::Indent() ;
164 strm << BESIndent::LMarg <<
"name = " << _b->name() << endl ;
165 BESIndent::UnIndent() ;
exception thrown if internal error encountered
static void add_original_name(int ncid, int varid, const string &var_name, const string &orig)
Adds an attribute for the variable if the variable name had to be modified in any way.
static void add_variable_attributes(int ncid, int varid, BaseType *b, bool is_netCDF_enhanced, bool is_dap4)
Add the attributes for an OPeNDAP variable to the netcdf file.
virtual void define(int ncid)
Define the variable in the netcdf file.
FONcUByte(libdap::BaseType *b)
Constructor for FONcUByte that takes a DAP Byte.
virtual void define(int ncid)
define the DAP Byte in the netcdf file
virtual ~FONcUByte()
Destructor that cleans up the byte.
virtual nc_type type()
returns the netcdf type of the DAP Byte
virtual string name()
returns the name of the DAP Byte
virtual void write(int ncid)
Write the byte out to the netcdf file.
virtual void dump(ostream &strm) const
dumps information about this object for debugging purposes
static void handle_error(int stax, const string &err, const string &file, int line)
handle any netcdf errors