33#include <BESInternalError.h>
35#include <libdap/Int64.h>
39#include "FONcAttributes.h"
50 : FONcBaseType(), _bt( b )
52 Int64 *u64 =
dynamic_cast<Int64 *
>(b) ;
55 string s = (
string)
"File out netcdf, FONcUInt was passed a "
56 +
"variable that is not a DAP Int64" ;
88 D4Attributes *d4_attrs = _bt->attributes();
89 updateD4AttrType(d4_attrs,NC_INT64);
92 AttrTable &attrs = _bt->get_attr_table();
93 updateAttrType(attrs,NC_INT64);
98 d_varname, d_orig_varname ) ;
114 BESDEBUG(
"fonc",
"FONcInt64::write for var " << d_varname << endl ) ;
115 size_t var_index[] = {0} ;
117 long long *data =
new long long ;
122 _bt->intern_data(*get_eval(), *get_dds());
124 _bt->buf2val( (
void**)&data ) ;
126 int stax = nc_put_var1_longlong(ncid, d_varid, var_index, data ) ;
127 if( stax != NC_NOERR )
129 string err = (
string)
"fileout.netcdf - "
130 +
"Failed to write unsigned int data for "
135 BESDEBUG(
"fonc",
"FONcInt64::done write for var " << d_varname << endl ) ;
167 strm << BESIndent::LMarg <<
"FONcInt64::dump - ("
168 << (
void *)
this <<
")" << endl ;
169 BESIndent::Indent() ;
170 strm << BESIndent::LMarg <<
"name = " << _bt->name() << endl ;
171 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.
virtual string name()
returns the name of the DAP Int64
virtual void define(int ncid)
define the DAP Int64 in the netcdf file
virtual ~FONcInt64()
Destructor that cleans up the instance.
virtual nc_type type()
returns the netcdf type of the DAP object
virtual void dump(ostream &strm) const
dumps information about this object for debugging purposes
FONcInt64(libdap::BaseType *b)
Constructor for FOncInt64 that takes a DAP Int64.
virtual void write(int ncid)
Write the unsigned int out to the netcdf file.
static void handle_error(int stax, const string &err, const string &file, int line)
handle any netcdf errors