nco_c++/nco_var.hh File Reference

#include <iostream>
#include <string>
#include <valarray>
#include <netcdf.h>
#include <nco_utl.hh>

Include dependency graph for nco_var.hh:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int nco_def_var (const int &nc_id, const std::string &var_nm, const nc_type &var_xtype, const int &dmn_nbr, const int *const &dmn_id, int &var_id)
int nco_def_var (const int &nc_id, const std::string &var_nm, const nc_type &var_xtype, const std::valarray< int > &dmn_id, int &var_id)
int nco_inq_var (const int &nc_id, const int &var_id, std::string &var_nm, nc_type &var_typ, int &dmn_nbr, int *&dmn_id, int &att_nbr, const int &rcd_opt=NC_NOERR)
int nco_inq_varid (const int &nc_id, const std::string &var_nm, int &var_id, const int &rcd_opt=NC_NOERR)
int nco_inq_varid (const int &nc_id, const std::string &var_nm)
int nco_inq_varname (const int &nc_id, const int &var_id, std::string &var_nm, const int &rcd_opt=NC_NOERR)
std::string nco_inq_varname (const int &nc_id, const int &var_id)
int nco_inq_vartype (const int &nc_id, const int &var_id, nc_type &var_typ, const int &rcd_opt=NC_NOERR)
nc_type nco_inq_vartype (const int &nc_id, const int &var_id)
nc_type nco_inq_vartype (const int &nc_id, const std::string &var_nm)
int nco_inq_varndims (const int &nc_id, const int &var_id, int &dmn_nbr, const int &rcd_opt=NC_NOERR)
int nco_inq_varndims (const int &nc_id, const int &var_id)
int nco_inq_varndims (const int &nc_id, const std::string &var_nm)
int nco_inq_varnatts (const int &nc_id, const int &var_id, int &att_nbr, const int &rcd_opt=NC_NOERR)
int nco_inq_varnatts (const int &nc_id, const int &var_id)
int nco_inq_varnatts (const int &nc_id, const std::string &var_nm)
int nco_inq_vardimid (const int &nc_id, const int &var_id, int *&dmn_id, const int &rcd_opt=NC_NOERR)
int nco_put_vara (const int &nc_id, const int &var_id, const std::valarray< size_t > &var_srt, const std::valarray< size_t > &var_cnt, const float *const &var_val)
int nco_put_vara (const int &nc_id, const int &var_id, const size_t *const &var_srt, const size_t *const &var_cnt, const float *const &var_val)
int nco_put_vara (const int &nc_id, const int &var_id, const size_t *const &var_srt, const size_t *const &var_cnt, const double *const &var_val)
int nco_put_vara (const int &nc_id, const int &var_id, const size_t *const &var_srt, const size_t *const &var_cnt, const long double *const &var_val)
int nco_put_vara (const int &nc_id, const int &var_id, const size_t *const &var_srt, const size_t *const &var_cnt, const int *const &var_val)
int nco_put_vara (const int &nc_id, const int &var_id, const size_t *const &var_srt, const size_t *const &var_cnt, const long *const &var_val)
int nco_put_vara (const int &nc_id, const int &var_id, const size_t *const &var_srt, const size_t *const &var_cnt, const short *const &var_val)
template<typename typ_ntr>
int nco_put_vara (const int &nc_id, const std::string &var_nm, const size_t *const &var_srt, const size_t *const &var_cnt, const typ_ntr *const &var_val)
template<typename typ_ntr>
int nco_put_vara_crd (const int &nc_id, const std::string &var_nm, const size_t &dmn_sz, const typ_ntr *const &var_val)
int nco_put_var (const int &nc_id, const int &var_id, const float *const &var_val)
int nco_put_var (const int &nc_id, const int &var_id, const double *const &var_val)
int nco_put_var (const int &nc_id, const int &var_id, const long double *const &var_val)
int nco_put_var (const int &nc_id, const int &var_id, const int *const &var_val)
int nco_put_var (const int &nc_id, const int &var_id, const long *const &var_val)
int nco_put_var (const int &nc_id, const int &var_id, const short *const &var_val)
template<typename typ_ntr>
int nco_put_var (const int &nc_id, const int &var_id, const std::valarray< typ_ntr > &var_val)
template<typename typ_ntr>
int nco_put_var (const int &nc_id, const std::string &var_nm, const typ_ntr *const &var_val)
template<typename typ_ntr>
int nco_put_var (const int &nc_id, const std::string &var_nm, const std::valarray< typ_ntr > &var_val)
int nco_put_var (const int &nc_id, const int &var_id, const float &var_val)
int nco_put_var (const int &nc_id, const int &var_id, const double &var_val)
int nco_put_var (const int &nc_id, const int &var_id, const long double &var_val)
int nco_put_var (const int &nc_id, const int &var_id, const int &var_val)
int nco_put_var (const int &nc_id, const int &var_id, const long &var_val)
int nco_put_var (const int &nc_id, const int &var_id, const short &var_val)
template<typename typ_ntr>
int nco_put_var (const int &nc_id, const std::string &var_nm, const typ_ntr &var_val)
int nco_get_var (const int &nc_id, const int &var_id, float *&var_val)
int nco_get_var (const int &nc_id, const int &var_id, double *&var_val)
int nco_get_var (const int &nc_id, const int &var_id, long double *&var_val)
int nco_get_var (const int &nc_id, const int &var_id, int *&var_val)
int nco_get_var (const int &nc_id, const int &var_id, long *&var_val)
float * nco_get_var (const int &nc_id, const int &var_id)
template<typename typ_ntr>
int nco_get_var (const int &nc_id, const std::string &var_nm, typ_ntr *&var_val)
float * nco_get_var (const int &nc_id, const std::string &var_nm)
template<typename typ_ntr>
int nco_get_var (const int &nc_id, const std::string &var_nm, typ_ntr &var_val)


Function Documentation

int nco_def_var const int &  nc_id,
const std::string &  var_nm,
const nc_type var_xtype,
const std::valarray< int > &  dmn_id,
int &  var_id
 

Definition at line 49 of file nco_var.cc.

References NC_NOERR, nco_def_var(), and nco_err_exit().

00054 {
00055   // Purpose: Wrapper for nco_def_var()
00056   /* fxm: It would be nice if dmn_id could be passed as const, but I cannot
00057      figure out how to do this and pass a const int * to nc_def_var */
00058   //  int rcd=nco_def_var(nc_id,var_nm,var_xtype,dmn_id.size(),&dmn_id[0],var_id);
00059   int rcd=nco_def_var(nc_id,var_nm,var_xtype,static_cast<int>(dmn_id.size()),&(const_cast<std::valarray<int> &>(dmn_id)[0]),var_id);
00060   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_def_var");
00061   return rcd;
00062 } // end nco_def_var<std::valarray<int>>()

int nco_def_var const int &  nc_id,
const std::string &  var_nm,
const nc_type var_xtype,
const int &  dmn_nbr,
const int *const &  dmn_id,
int &  var_id
 

Definition at line 34 of file nco_var.cc.

References nc_def_var, NC_NOERR, and nco_err_exit().

00040 {
00041   // Purpose: Wrapper for nc_def_var()
00042   int rcd=nc_def_var(nc_id,var_nm.c_str(),var_xtype,dmn_nbr,dmn_id,&var_id);
00043   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_def_var");
00044   return rcd;
00045 } // end nco_def_var<int *>()

template<typename typ_ntr>
int nco_get_var const int &  nc_id,
const std::string &  var_nm,
typ_ntr &  var_val
 

Definition at line 513 of file nco_var.hh.

References nco_get_var(), and nco_inq_varid().

00516 {
00517   // Purpose: Wrapper for nco_get_var()
00518   int rcd=nco_get_var(nc_id,nco_inq_varid(nc_id,var_nm),var_val);
00519   return rcd;
00520 } // end nco_get_var<typ_ntr>()

float* nco_get_var const int &  nc_id,
const std::string &  var_nm
 

Definition at line 674 of file nco_var.cc.

References nco_get_var(), and nco_inq_varid().

00676 {
00677   // Purpose: Wrapper for nco_get_var()
00678   float *var_val; // [frc] Variable value
00679   int rcd=nco_get_var(nc_id,nco_inq_varid(nc_id,var_nm),var_val);
00680   rcd+=0; // CEWI
00681   return var_val;
00682 } // end nco_get_var<float>()

template<typename typ_ntr>
int nco_get_var const int &  nc_id,
const std::string &  var_nm,
typ_ntr *&  var_val
 

Definition at line 491 of file nco_var.hh.

References nco_get_var(), and nco_inq_varid().

00494 {
00495   // Purpose: Wrapper for nco_get_var()
00496   int rcd=nco_get_var(nc_id,nco_inq_varid(nc_id,var_nm),var_val);
00497   return rcd;
00498 } // end nco_get_var<typ_ntr *>()

float* nco_get_var const int &  nc_id,
const int &  var_id
 

Definition at line 661 of file nco_var.cc.

References nco_get_var().

00663 {
00664   // Purpose: Wrapper for nco_get_var()
00665   float *var_val; // [frc] Variable value
00666   int rcd=nco_get_var(nc_id,var_id,var_val);
00667   rcd+=0; // CEWI
00668   return var_val;
00669 } // end nco_get_var<float>()

int nco_get_var const int &  nc_id,
const int &  var_id,
long *&  var_val
 

Definition at line 644 of file nco_var.cc.

References nc_get_var_long, NC_NOERR, nco_err_exit(), nco_inq_varname(), and nco_inq_varsz().

00647 {
00648   // Purpose: Wrapper for nc_get_var()
00649   size_t var_sz; // [nbr] Variable size
00650   int rcd=nco_inq_varsz(nc_id,var_id,var_sz);
00651   // Allocate space for variable: User is responsible for freeing space
00652   var_val=new long[var_sz]; // [frc] Variable value
00653   rcd=nc_get_var_long(nc_id,var_id,var_val);
00654   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_get_var<long> failed with variable "+nco_inq_varname(nc_id,var_id));
00655   return rcd;
00656 } // end nco_get_var<long>()

int nco_get_var const int &  nc_id,
const int &  var_id,
int *&  var_val
 

Definition at line 628 of file nco_var.cc.

References nc_get_var_int, NC_NOERR, nco_err_exit(), nco_inq_varname(), and nco_inq_varsz().

00631 {
00632   // Purpose: Wrapper for nc_get_var()
00633   size_t var_sz; // [nbr] Variable size
00634   int rcd=nco_inq_varsz(nc_id,var_id,var_sz);
00635   // Allocate space for variable: User is responsible for freeing space
00636   var_val=new int[var_sz]; // [frc] Variable value
00637   rcd=nc_get_var_int(nc_id,var_id,var_val);
00638   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_get_var<int> failed with variable "+nco_inq_varname(nc_id,var_id));
00639   return rcd;
00640 } // end nco_get_var<int>()

int nco_get_var const int &  nc_id,
const int &  var_id,
long double *&  var_val
 

Definition at line 607 of file nco_var.cc.

References nc_get_var_double, NC_NOERR, nco_err_exit(), nco_inq_varname(), and nco_inq_varsz().

00610 {
00611   // Purpose: Wrapper for nc_get_var()
00612   size_t var_sz; // [nbr] Variable size
00613   int rcd=nco_inq_varsz(nc_id,var_id,var_sz);
00614   // Allocate space for variable: User is responsible for freeing space
00615   var_val=new long double[var_sz]; // [frc] Variable value
00616   double *var_val_dbl=new double[var_sz]; // [frc] Double precision values
00617   rcd=nc_get_var_double(nc_id,var_id,var_val_dbl);
00618   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_get_var<long double> failed with variable "+nco_inq_varname(nc_id,var_id));
00619   for(size_t lmn_idx=0;lmn_idx<var_sz;lmn_idx++){
00620     var_val[lmn_idx]=var_val_dbl[lmn_idx];
00621   } // end loop over idx
00622   delete []var_val_dbl;
00623   return rcd;
00624 } // end nco_get_var<long double>()

int nco_get_var const int &  nc_id,
const int &  var_id,
double *&  var_val
 

Definition at line 591 of file nco_var.cc.

References nc_get_var_double, NC_NOERR, nco_err_exit(), nco_inq_varname(), and nco_inq_varsz().

00594 {
00595   // Purpose: Wrapper for nc_get_var()
00596   size_t var_sz; // [nbr] Variable size
00597   int rcd=nco_inq_varsz(nc_id,var_id,var_sz);
00598   // Allocate space for variable: User is responsible for freeing space
00599   var_val=new double[var_sz]; // [frc] Variable value
00600   rcd=nc_get_var_double(nc_id,var_id,var_val);
00601   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_get_var<double> failed with variable "+nco_inq_varname(nc_id,var_id));
00602   return rcd;
00603 } // end nco_get_var<double>()

int nco_get_var const int &  nc_id,
const int &  var_id,
float *&  var_val
 

Definition at line 575 of file nco_var.cc.

References nc_get_var_float, NC_NOERR, nco_err_exit(), nco_inq_varname(), and nco_inq_varsz().

00578 {
00579   // Purpose: Wrapper for nc_get_var()
00580   size_t var_sz; // [nbr] Variable size
00581   int rcd=nco_inq_varsz(nc_id,var_id,var_sz);
00582   // Allocate space for variable: User is responsible for freeing space
00583   var_val=new float[var_sz]; // [frc] Variable value
00584   rcd=nc_get_var_float(nc_id,var_id,var_val);
00585   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_get_var<float> failed with variable "+nco_inq_varname(nc_id,var_id));
00586   return rcd;
00587 } // end nco_get_var<float>()

int nco_inq_var const int &  nc_id,
const int &  var_id,
std::string &  var_nm,
nc_type var_typ,
int &  dmn_nbr,
int *&  dmn_id,
int &  att_nbr,
const int &  rcd_opt = NC_NOERR
 

Definition at line 69 of file nco_var.cc.

References nc_inq_var, NC_MAX_NAME, NC_NOERR, and nco_err_exit().

00077 {
00078   /* Purpose: Wrapper for nc_inq_var()
00079      User may omit rcd_opt, or supply value of non-fatal netCDF return code */
00080   char var_nm_chr[NC_MAX_NAME];
00081   int rcd=nc_inq_var(nc_id,var_id,var_nm_chr,&var_typ,&dmn_nbr,dmn_id,&att_nbr);
00082   var_nm=var_nm_chr;
00083   if(rcd != NC_NOERR && rcd != rcd_opt) nco_err_exit(rcd,"nco_inq_var");
00084   return rcd;
00085 } // end nco_inq_var() 

int nco_inq_vardimid const int &  nc_id,
const int &  var_id,
int *&  dmn_id,
const int &  rcd_opt = NC_NOERR
 

Definition at line 273 of file nco_var.cc.

References nc_inq_vardimid, NC_NOERR, and nco_err_exit().

00277 {
00278   /* Purpose: Wrapper for nc_inq_vardimid()
00279      User may omit rcd_opt, or supply value of non-fatal netCDF return code */
00280   int rcd=nc_inq_vardimid(nc_id,var_id,dmn_id);
00281   if(rcd != NC_NOERR && rcd != rcd_opt) nco_err_exit(rcd,"nco_inq_vardimid");
00282   return rcd;
00283 } // end nco_inq_vardimid() 

int nco_inq_varid const int &  nc_id,
const std::string &  var_nm
 

Definition at line 105 of file nco_var.cc.

References nco_inq_varid().

00107 {
00108   // Purpose: Wrapper for nco_inq_varid()
00109   int var_id; // O [id] Variable ID
00110   int rcd=nco_inq_varid(nc_id,var_nm,var_id);
00111   rcd+=0; // CEWI
00112   return var_id;
00113 } // end nco_inq_varid() 

int nco_inq_varid const int &  nc_id,
const std::string &  var_nm,
int &  var_id,
const int &  rcd_opt = NC_NOERR
 

Definition at line 91 of file nco_var.cc.

References nc_inq_varid, NC_NOERR, and nco_err_exit().

00095 {
00096   /* Purpose: Wrapper for nc_inq_varid()
00097      User may omit rcd_opt, or supply value of non-fatal netCDF return code */
00098   int rcd=nc_inq_varid(nc_id,var_nm.c_str(),&var_id);
00099   if(rcd != NC_NOERR && rcd != rcd_opt) nco_err_exit(rcd,"nco_inq_varid","Unable to to find variable ID for variable \""+var_nm+"\", exiting...");
00100   return rcd;
00101 } // end nco_inq_varid() 

std::string nco_inq_varname const int &  nc_id,
const int &  var_id
 

Definition at line 136 of file nco_var.cc.

References nco_inq_varname().

00138 {
00139   // Purpose: Wrapper for nco_inq_varname()
00140   std::string var_nm; // O [id] Variable name
00141   int rcd=nco_inq_varname(nc_id,var_id,var_nm);
00142   rcd+=0; // CEWI
00143   return var_nm;
00144 } // end nco_inq_varname() 

int nco_inq_varname const int &  nc_id,
const int &  var_id,
std::string &  var_nm,
const int &  rcd_opt = NC_NOERR
 

Definition at line 120 of file nco_var.cc.

References nc_inq_varname, NC_MAX_NAME, NC_NOERR, and nco_err_exit().

00124 {
00125   /* Purpose: Wrapper for nc_inq_varname()
00126      User may omit rcd_opt, or supply value of non-fatal netCDF return code */
00127   char var_nm_chr[NC_MAX_NAME];
00128   int rcd=nc_inq_varname(nc_id,var_id,var_nm_chr);
00129   var_nm=var_nm_chr;
00130   if(rcd != NC_NOERR && rcd != rcd_opt) nco_err_exit(rcd,"nco_inq_varname");
00131   return rcd;
00132 } // end nco_inq_varname() 

int nco_inq_varnatts const int &  nc_id,
const std::string &  var_nm
 

Definition at line 259 of file nco_var.cc.

References nco_inq_varid(), and nco_inq_varnatts().

00261 {
00262   // Purpose: Wrapper for nco_inq_varnatts()
00263   int att_nbr; // O [nbr] Number of attributes
00264   int rcd=nco_inq_varnatts(nc_id,nco_inq_varid(nc_id,var_nm),att_nbr);
00265   rcd+=0; // CEWI
00266   return att_nbr;
00267 } // end nco_inq_varnatts() 

int nco_inq_varnatts const int &  nc_id,
const int &  var_id
 

Definition at line 247 of file nco_var.cc.

References nco_inq_varnatts().

00249 {
00250   // Purpose: Wrapper for nco_inq_varnatts()
00251   int att_nbr; // O [nbr] Number of attributes
00252   int rcd=nco_inq_varnatts(nc_id,var_id,att_nbr);
00253   rcd+=0; // CEWI
00254   return att_nbr;
00255 } // end nco_inq_varnatts() 

int nco_inq_varnatts const int &  nc_id,
const int &  var_id,
int &  att_nbr,
const int &  rcd_opt = NC_NOERR
 

Definition at line 233 of file nco_var.cc.

References nc_inq_varnatts, NC_NOERR, and nco_err_exit().

00237 {
00238   /* Purpose: Wrapper for nc_inq_varnatts()
00239      User may omit rcd_opt, or supply value of non-fatal netCDF return code */
00240   int rcd=nc_inq_varnatts(nc_id,var_id,&att_nbr);
00241   if(rcd != NC_NOERR && rcd != rcd_opt) nco_err_exit(rcd,"nco_inq_varnatts");
00242   return rcd;
00243 } // end nco_inq_varnatts() 

int nco_inq_varndims const int &  nc_id,
const std::string &  var_nm
 

Definition at line 218 of file nco_var.cc.

References nco_inq_varid(), and nco_inq_varndims().

00220 {
00221   // Purpose: Wrapper for nco_inq_varndims()
00222   int dmn_nbr; // O [nbr] Number of dimensions
00223   int rcd=nco_inq_varndims(nc_id,nco_inq_varid(nc_id,var_nm),dmn_nbr);
00224   rcd+=0; // CEWI
00225   return dmn_nbr;
00226 } // end nco_inq_varndims() 

int nco_inq_varndims const int &  nc_id,
const int &  var_id
 

Definition at line 206 of file nco_var.cc.

References nco_inq_varndims().

00208 {
00209   // Purpose: Wrapper for nco_inq_varndims()
00210   int dmn_nbr; // O [nbr] Number of dimensions
00211   int rcd=nco_inq_varndims(nc_id,var_id,dmn_nbr);
00212   rcd+=0; // CEWI
00213   return dmn_nbr;
00214 } // end nco_inq_varndims() 

int nco_inq_varndims const int &  nc_id,
const int &  var_id,
int &  dmn_nbr,
const int &  rcd_opt = NC_NOERR
 

Definition at line 192 of file nco_var.cc.

References nc_inq_varndims, NC_NOERR, and nco_err_exit().

00196 {
00197   /* Purpose: Wrapper for nc_inq_varndims()
00198      User may omit rcd_opt, or supply value of non-fatal netCDF return code */
00199   int rcd=nc_inq_varndims(nc_id,var_id,&dmn_nbr);
00200   if(rcd != NC_NOERR && rcd != rcd_opt) nco_err_exit(rcd,"nco_inq_varndims");
00201   return rcd;
00202 } // end nco_inq_varndims() 

nc_type nco_inq_vartype const int &  nc_id,
const std::string &  var_nm
 

Definition at line 177 of file nco_var.cc.

References nco_inq_varid(), and nco_inq_vartype().

00179 {
00180   // Purpose: Wrapper for nco_inq_vartype()
00181   nc_type var_typ; // O [enm] Variable type
00182   int rcd=nco_inq_vartype(nc_id,nco_inq_varid(nc_id,var_nm),var_typ);
00183   rcd+=0; // CEWI
00184   return var_typ;
00185 } // end nco_inq_vartype() 

nc_type nco_inq_vartype const int &  nc_id,
const int &  var_id
 

Definition at line 165 of file nco_var.cc.

References nco_inq_vartype().

00167 {
00168   // Purpose: Wrapper for nco_inq_vartype()
00169   nc_type var_typ; // O [enm] Variable type
00170   int rcd=nco_inq_vartype(nc_id,var_id,var_typ);
00171   rcd+=0; // CEWI
00172   return var_typ;
00173 } // end nco_inq_vartype() 

int nco_inq_vartype const int &  nc_id,
const int &  var_id,
nc_type var_typ,
const int &  rcd_opt = NC_NOERR
 

Definition at line 151 of file nco_var.cc.

References nc_inq_vartype, NC_NOERR, and nco_err_exit().

00155 {
00156   /* Purpose: Wrapper for nc_inq_vartype()
00157      User may omit rcd_opt, or supply value of non-fatal netCDF return code */
00158   int rcd=nc_inq_vartype(nc_id,var_id,&var_typ);
00159   if(rcd != NC_NOERR && rcd != rcd_opt) nco_err_exit(rcd,"nco_inq_vartype");
00160   return rcd;
00161 } // end nco_inq_vartype() 

template<typename typ_ntr>
int nco_put_var const int &  nc_id,
const std::string &  var_nm,
const typ_ntr &  var_val
 

Definition at line 431 of file nco_var.hh.

References nco_inq_varid(), and nco_put_var().

00434 {
00435   // Purpose: Wrapper for nco_put_var()
00436   // std::cout << "template<typename typ_ntr> int nco_put_var(const int &nc_id,const std::string &var_nm,const typ_ntr &var_val) received variable \"" << var_nm << "\"" << std::endl;
00437   int rcd=nco_put_var(nc_id,nco_inq_varid(nc_id,var_nm),var_val);
00438   return rcd;
00439 } // end nco_put_var<typ_ntr>()

int nco_put_var const int &  nc_id,
const int &  var_id,
const short &  var_val
 

Definition at line 558 of file nco_var.cc.

References NC_NOERR, nc_put_var1_short, nco_err_exit(), nco_inq_varname(), and nco_inq_varndims().

00561 {
00562   // Purpose: Wrapper for nc_put_var1_short()
00563   std::valarray<size_t> srt(static_cast<size_t>(0U),static_cast<size_t>(nco_inq_varndims(nc_id,var_id)));
00564   int rcd=nc_put_var1_short(nc_id,var_id,&srt[0],&(const_cast<short &>(var_val)));
00565   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_var<short> failed with variable "+nco_inq_varname(nc_id,var_id));
00566   return rcd;
00567 } // end nco_put_var<short>()

int nco_put_var const int &  nc_id,
const int &  var_id,
const long &  var_val
 

Definition at line 532 of file nco_var.cc.

References NC_NOERR, nc_put_var1_long, nco_err_exit(), nco_inq_varname(), and nco_inq_varndims().

00535 {
00536   /* Purpose: Wrapper for nc_put_var1_long()
00537      srt values are not used for scalars, but referencing srt[0] may be unsafe,
00538      or at least flagged as potential errors by some compilers, 
00539      so create valarrays of at least size 1
00540      fxm: Decide which method is best, this one or the one used for floats */
00541   const int dmn_nbr(nco_inq_varndims(nc_id,var_id));
00542   int rcd; // O [enm] Return success code
00543   if(dmn_nbr == 0){
00544     size_t srt_dmn_0=0; // Faster than initializing a valarray
00545     const size_t *srt_dmn_0_ptr(&srt_dmn_0);
00546     rcd=nc_put_var1_long(nc_id,var_id,srt_dmn_0_ptr,&(const_cast<long &>(var_val)));
00547   }else{
00548     // Default starting index is 0
00549     std::valarray<size_t> srt(static_cast<size_t>(0U),static_cast<size_t>(dmn_nbr));
00550     rcd=nc_put_var1_long(nc_id,var_id,&srt[0],&(const_cast<long &>(var_val)));
00551   } // endelse
00552   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_var<long> failed with variable "+nco_inq_varname(nc_id,var_id));
00553   return rcd;
00554 } // end nco_put_var<long>()

int nco_put_var const int &  nc_id,
const int &  var_id,
const int &  var_val
 

Definition at line 519 of file nco_var.cc.

References NC_NOERR, nc_put_var1_int, nco_err_exit(), nco_inq_varname(), and nco_inq_varndims().

00522 {
00523   // Purpose: Wrapper for nc_put_var1_int()
00524   std::valarray<size_t> srt(static_cast<size_t>(0U),static_cast<size_t>(nco_inq_varndims(nc_id,var_id)));
00525   int rcd=nc_put_var1_int(nc_id,var_id,&srt[0],&(const_cast<int &>(var_val)));
00526   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_var<int> failed with variable "+nco_inq_varname(nc_id,var_id));
00527   return rcd;
00528 } // end nco_put_var<int>()

int nco_put_var const int &  nc_id,
const int &  var_id,
const long double &  var_val
 

Definition at line 505 of file nco_var.cc.

References NC_NOERR, nc_put_var1_double, nco_err_exit(), nco_inq_varname(), and nco_inq_varndims().

00508 {
00509   // Purpose: Wrapper for nc_put_var1_double()
00510   const double var_val_dbl(var_val); // [frc] Double precision value
00511   std::valarray<size_t> srt(static_cast<size_t>(0U),static_cast<size_t>(nco_inq_varndims(nc_id,var_id)));
00512   int rcd=nc_put_var1_double(nc_id,var_id,&srt[0],&(const_cast<double &>(var_val_dbl)));
00513   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_var<long double> failed with variable "+nco_inq_varname(nc_id,var_id));
00514   return rcd;
00515 } // end nco_put_var<long double>()

int nco_put_var const int &  nc_id,
const int &  var_id,
const double &  var_val
 

Definition at line 492 of file nco_var.cc.

References NC_NOERR, nc_put_var1_double, nco_err_exit(), nco_inq_varname(), and nco_inq_varndims().

00495 {
00496   // Purpose: Wrapper for nc_put_var1_double()
00497   std::valarray<size_t> srt(static_cast<size_t>(0U),static_cast<size_t>(nco_inq_varndims(nc_id,var_id)));
00498   int rcd=nc_put_var1_double(nc_id,var_id,&srt[0],&(const_cast<double &>(var_val)));
00499   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_var<double> failed with variable "+nco_inq_varname(nc_id,var_id));
00500   return rcd;
00501 } // end nco_put_var<double>()

int nco_put_var const int &  nc_id,
const int &  var_id,
const float &  var_val
 

Definition at line 478 of file nco_var.cc.

References NC_NOERR, nc_put_var1_float, nco_err_exit(), nco_inq_varname(), and nco_inq_varndims().

00481 {
00482   // Purpose: Wrapper for nc_put_var1_float()
00483   // fxm: Decide which method is best, this one or the one used for longs */
00484   std::valarray<size_t> srt(static_cast<size_t>(0U),static_cast<size_t>(nco_inq_varndims(nc_id,var_id)));
00485   int rcd=nc_put_var1_float(nc_id,var_id,&srt[0],&(const_cast<float &>(var_val)));
00486   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_var<float> failed with variable "+nco_inq_varname(nc_id,var_id));
00487   return rcd;
00488 } // end nco_put_var<float>()

template<typename typ_ntr>
int nco_put_var const int &  nc_id,
const std::string &  var_nm,
const std::valarray< typ_ntr > &  var_val
 

Definition at line 372 of file nco_var.hh.

References nco_inq_varid(), and nco_put_var().

00374        : make this typename?
00375  const std::valarray<typ_ntr> &var_val) // I [frc] Variable value
00376 {
00377   // Purpose: Wrapper for nco_put_var()
00378   int rcd=nco_put_var(nc_id,nco_inq_varid(nc_id,var_nm),&(const_cast<std::valarray<typ_ntr> &>(var_val)[0]));
00379   // int rcd=nco_put_var(nc_id,nco_inq_varid(nc_id,var_nm),&var_val[0]);
00380   return rcd;
00381 } // end nco_put_var<std::valarray<typ_ntr> >()

template<typename typ_ntr>
int nco_put_var const int &  nc_id,
const std::string &  var_nm,
const typ_ntr *const &  var_val
 

Definition at line 358 of file nco_var.hh.

References nco_inq_varid(), and nco_put_var().

00361 {
00362   // Purpose: Wrapper for nco_put_var()
00363   // std::cout << "template<typename typ_ntr> int nco_put_var(const int &nc_id,const std::string &var_nm,const typ_ntr * const &var_val) received variable \"" << var_nm << "\"" << std::endl;
00364   int rcd=nco_put_var(nc_id,nco_inq_varid(nc_id,var_nm),var_val);
00365   return rcd;
00366 } // end nco_put_var<typ_ntr *>()

template<typename typ_ntr>
int nco_put_var const int &  nc_id,
const int &  var_id,
const std::valarray< typ_ntr > &  var_val
 

Definition at line 341 of file nco_var.hh.

References nco_put_var().

00343        : make this typename?
00344  const std::valarray<typ_ntr> &var_val) // I [frc] Variable value
00345 {
00346   // Purpose: Wrapper for nco_put_var()
00347   int rcd=nco_put_var(nc_id,var_id,&(const_cast<std::valarray<typ_ntr> &>(var_val)[0]));
00348   // Simpler statement fails unless const replaced by typename in var_val qualifier because taking address of non-lvalue
00349   //  int rcd=nco_put_var(nc_id,var_id,&var_val[0]);
00350   return rcd;
00351 } // end nco_put_var<std::valarray<typ_ntr> >()

int nco_put_var const int &  nc_id,
const int &  var_id,
const short *const &  var_val
 

Definition at line 465 of file nco_var.cc.

References NC_NOERR, nc_put_var_short, nco_err_exit(), and nco_inq_varname().

00468 {
00469   // Purpose: Wrapper for nc_put_var_short()
00470   int rcd=nc_put_var_short(nc_id,var_id,var_val);
00471   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_var<short *> failed with variable "+nco_inq_varname(nc_id,var_id));
00472   return rcd;
00473 } // end nco_put_var<short *>()

int nco_put_var const int &  nc_id,
const int &  var_id,
const long *const &  var_val
 

Definition at line 453 of file nco_var.cc.

References NC_NOERR, nc_put_var_long, nco_err_exit(), and nco_inq_varname().

00456 {
00457   // Purpose: Wrapper for nc_put_var_long()
00458   int rcd=nc_put_var_long(nc_id,var_id,var_val);
00459   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_var<long *> failed with variable "+nco_inq_varname(nc_id,var_id));
00460   return rcd;
00461 } // end nco_put_var<long *>()

int nco_put_var const int &  nc_id,
const int &  var_id,
const int *const &  var_val
 

Definition at line 441 of file nco_var.cc.

References NC_NOERR, nc_put_var_int, nco_err_exit(), and nco_inq_varname().

00444 {
00445   // Purpose: Wrapper for nc_put_var_int()
00446   int rcd=nc_put_var_int(nc_id,var_id,var_val);
00447   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_var<int *> failed with variable "+nco_inq_varname(nc_id,var_id));
00448   return rcd;
00449 } // end nco_put_var<int *>()

int nco_put_var const int &  nc_id,
const int &  var_id,
const long double *const &  var_val
 

Definition at line 423 of file nco_var.cc.

References NC_NOERR, nc_put_var_double, nco_err_exit(), nco_inq_varname(), and nco_inq_varsz().

00426 {
00427   // Purpose: Wrapper for nc_put_var_double()
00428   const size_t var_sz(nco_inq_varsz(nc_id,var_id)); // [nbr] Number of elements
00429   double *var_val_dbl=new double[var_sz]; // [frc] Double precision values
00430   for(size_t lmn_idx=0;lmn_idx<var_sz;lmn_idx++){
00431     var_val_dbl[lmn_idx]=var_val[lmn_idx];
00432   } // end loop over idx
00433   int rcd=nc_put_var_double(nc_id,var_id,var_val_dbl);
00434   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_var<long double *> failed with variable "+nco_inq_varname(nc_id,var_id));
00435   delete []var_val_dbl;
00436   return rcd;
00437 } // end nco_put_var<long double *>()

int nco_put_var const int &  nc_id,
const int &  var_id,
const double *const &  var_val
 

Definition at line 411 of file nco_var.cc.

References NC_NOERR, nc_put_var_double, nco_err_exit(), and nco_inq_varname().

00414 {
00415   // Purpose: Wrapper for nc_put_var_double()
00416   int rcd=nc_put_var_double(nc_id,var_id,var_val);
00417   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_var<double *> failed with variable "+nco_inq_varname(nc_id,var_id));
00418   return rcd;
00419 } // end nco_put_var<double *>()

int nco_put_var const int &  nc_id,
const int &  var_id,
const float *const &  var_val
 

Definition at line 399 of file nco_var.cc.

References NC_NOERR, nc_put_var_float, nco_err_exit(), and nco_inq_varname().

00402 {
00403   // Purpose: Wrapper for nc_put_var_float()
00404   int rcd=nc_put_var_float(nc_id,var_id,var_val);
00405   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_var<float *> failed with variable "+nco_inq_varname(nc_id,var_id));
00406   return rcd;
00407 } // end nco_put_var<float *>()

template<typename typ_ntr>
int nco_put_vara const int &  nc_id,
const std::string &  var_nm,
const size_t *const &  var_srt,
const size_t *const &  var_cnt,
const typ_ntr *const &  var_val
 

Definition at line 255 of file nco_var.hh.

References nco_inq_varid(), and nco_put_vara().

00260 {
00261   // Purpose: Wrapper for nco_put_vara()
00262   int rcd=nco_put_vara(nc_id,nco_inq_varid(nc_id,var_nm),var_srt,var_cnt,var_val);
00263   return rcd;
00264 } // end nco_put_vara<size_t *,size_t *,typ_ntr *>()

int nco_put_vara const int &  nc_id,
const int &  var_id,
const size_t *const &  var_srt,
const size_t *const &  var_cnt,
const short *const &  var_val
 

Definition at line 381 of file nco_var.cc.

References NC_NOERR, nc_put_vara_short, nco_err_exit(), and nco_inq_varname().

00386 {
00387   // Purpose: Wrapper for nc_put_vara_short()
00388   int rcd=nc_put_vara_short(nc_id,var_id,var_srt,var_cnt,var_val);
00389   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_vara<size_t *,size_t *,short *> failed with variable "+nco_inq_varname(nc_id,var_id));
00390   return rcd;
00391 } // end nco_put_vara<size_t *,size_t *,short *>()

int nco_put_vara const int &  nc_id,
const int &  var_id,
const size_t *const &  var_srt,
const size_t *const &  var_cnt,
const long *const &  var_val
 

Definition at line 367 of file nco_var.cc.

References NC_NOERR, nc_put_vara_long, nco_err_exit(), and nco_inq_varname().

00372 {
00373   // Purpose: Wrapper for nc_put_vara_long()
00374   int rcd=nc_put_vara_long(nc_id,var_id,var_srt,var_cnt,var_val);
00375   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_vara<size_t *,size_t *,long *> failed with variable "+nco_inq_varname(nc_id,var_id));
00376   return rcd;
00377 } // end nco_put_vara<size_t *,size_t *,long *>()

int nco_put_vara const int &  nc_id,
const int &  var_id,
const size_t *const &  var_srt,
const size_t *const &  var_cnt,
const int *const &  var_val
 

Definition at line 353 of file nco_var.cc.

References NC_NOERR, nc_put_vara_int, nco_err_exit(), and nco_inq_varname().

00358 {
00359   // Purpose: Wrapper for nc_put_vara_int()
00360   int rcd=nc_put_vara_int(nc_id,var_id,var_srt,var_cnt,var_val);
00361   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_vara<size_t *,size_t *,int *> failed with variable "+nco_inq_varname(nc_id,var_id));
00362   return rcd;
00363 } // end nco_put_vara<size_t *,size_t *,int *>()

int nco_put_vara const int &  nc_id,
const int &  var_id,
const size_t *const &  var_srt,
const size_t *const &  var_cnt,
const long double *const &  var_val
 

Definition at line 333 of file nco_var.cc.

References NC_NOERR, nc_put_vara_double, nco_err_exit(), nco_inq_varname(), and nco_inq_varsz().

00338 {
00339   // Purpose: Wrapper for nc_put_vara_double()
00340   const size_t var_sz(nco_inq_varsz(nc_id,var_id)); // [nbr] Number of elements
00341   double *var_val_dbl=new double[var_sz]; // [frc] Double precision values
00342   for(size_t lmn_idx=0;lmn_idx<var_sz;lmn_idx++){
00343     var_val_dbl[lmn_idx]=var_val[lmn_idx];
00344   } // end loop over idx
00345   int rcd=nc_put_vara_double(nc_id,var_id,var_srt,var_cnt,var_val_dbl);
00346   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_vara<size_t *,size_t *,long double *> failed with variable "+nco_inq_varname(nc_id,var_id));
00347   delete []var_val_dbl;
00348   return rcd;
00349 } // end nco_put_vara<size_t *,size_t *,long double *>()

int nco_put_vara const int &  nc_id,
const int &  var_id,
const size_t *const &  var_srt,
const size_t *const &  var_cnt,
const double *const &  var_val
 

Definition at line 319 of file nco_var.cc.

References NC_NOERR, nc_put_vara_double, nco_err_exit(), and nco_inq_varname().

00324 {
00325   // Purpose: Wrapper for nc_put_vara_double()
00326   int rcd=nc_put_vara_double(nc_id,var_id,var_srt,var_cnt,var_val);
00327   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_vara<size_t *,size_t *,double *> failed with variable "+nco_inq_varname(nc_id,var_id));
00328   return rcd;
00329 } // end nco_put_vara<size_t *,size_t *,double *>()

int nco_put_vara const int &  nc_id,
const int &  var_id,
const size_t *const &  var_srt,
const size_t *const &  var_cnt,
const float *const &  var_val
 

Definition at line 305 of file nco_var.cc.

References NC_NOERR, nc_put_vara_float, nco_err_exit(), and nco_inq_varname().

00310 {
00311   // Purpose: Wrapper for nc_put_vara_float()
00312   int rcd=nc_put_vara_float(nc_id,var_id,var_srt,var_cnt,var_val);
00313   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_vara<size_t *,size_t *,float *> failed with variable "+nco_inq_varname(nc_id,var_id));
00314   return rcd;
00315 } // end nco_put_vara<size_t *,size_t *,float *>()

int nco_put_vara const int &  nc_id,
const int &  var_id,
const std::valarray< size_t > &  var_srt,
const std::valarray< size_t > &  var_cnt,
const float *const &  var_val
 

Definition at line 291 of file nco_var.cc.

References NC_NOERR, nc_put_vara_float, nco_err_exit(), and nco_inq_varname().

00296 {
00297   // Purpose: Wrapper for nc_put_vara_float()
00298   int rcd=nc_put_vara_float(nc_id,var_id,&(const_cast<std::valarray<size_t> &>(var_srt)[0]),&(const_cast<std::valarray<size_t> &>(var_cnt)[0]),var_val);
00299   if(rcd != NC_NOERR) nco_err_exit(rcd,"nco_put_vara<valarray,valarray,float *> failed with variable "+nco_inq_varname(nc_id,var_id));
00300   return rcd;
00301 } // end nco_put_vara<valarray,valarray,float *>()

template<typename typ_ntr>
int nco_put_vara_crd const int &  nc_id,
const std::string &  var_nm,
const size_t &  dmn_sz,
const typ_ntr *const &  var_val
 

Definition at line 270 of file nco_var.hh.

References nco_inq_varid(), and nco_put_vara().

00274 {
00275   /* Purpose: Wrapper for nco_put_vara() for coordinates
00276      Routine writes all values input coordinate variable with nco_put_vara() interface
00277      Routine works with writing any coordinate, record or not
00278      Non-record coordinates may be written with nco_put_var() interface
00279      since dimension fixed dimension size is always known by netCDF layer.
00280      Record coordinate size is unknown until nco_put_vara() interface is called
00281      Hence, first record variable write in program _should_ call this routine
00282      This facilitates communicating record variable size netCDF file */
00283   const size_t cnt_crd(dmn_sz); // [nbr] Count for dimension
00284   const size_t *cnt_vct_crd(&cnt_crd); // [nbr] Count vector for dimension
00285   const size_t srt_crd(0); // [idx] Starting offset for dimension
00286   const size_t *srt_vct_crd(&srt_crd); // [idx] Starting offset vector for dimension
00287 
00288   int rcd=nco_put_vara(nc_id,nco_inq_varid(nc_id,var_nm),srt_vct_crd,cnt_vct_crd,var_val);
00289   return rcd;
00290 } // end nco_put_vara_crd<string,size_t,typ_ntr *>()


Generated on Thu Mar 16 18:17:26 2006 for nco by  doxygen 1.4.4