/*! \file netCdfInterface.cpp \author Ha NGUYEN \date 08 Oct 2014 \since 03 Oct 2014 \brief Wrapper of netcdf functions. */ #include "netCdfInterface.hpp" #include "netCdfException.hpp" #include "ep_mpi.hpp" namespace xios { /*! This function creates a new netcdf file and return its id \param [in] fileName Name of the file \param [in] cMode create mode \param [in/out] ncId id of the created file \return Status code */ int CNetCdfInterface::create(const StdString& fileName, int cMode, int& ncId) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_create"< buff; int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_inq_grpname_full"< attName(NC_MAX_NAME + 1,' '); int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_inq_attname"< 0), (compressionLevel > 0), compressionLevel); info(100)<<"end nc_def_var_deflate"< 0), compressionLevel)" << std::endl; sstr << errormsg << std::endl; sstr << "Unable to set the compression level of the variable with id: " << varId << " and compression level: " << compressionLevel << std::endl; StdString e = sstr.str(); throw CNetCdfException(e); } return status; } /*! Set or unset the fill mode for a NetCDF file specified by its file id. \param [in] ncid File id \param [in] fill Define whether the fill mode should be enabled or not \return Status code */ int CNetCdfInterface::setFill(int ncid, bool fill) { int old_fill_mode; int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_set_fill"< int CNetCdfInterface::ncGetAttType(int ncid, int varid, const char* attrName, double* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_get_att_double"< int CNetCdfInterface::ncGetAttType(int ncid, int varid, const char* attrName, float* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_get_att_float"< int CNetCdfInterface::ncGetAttType(int ncid, int varid, const char* attrName, int* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_get_att_int"< int CNetCdfInterface::ncGetAttType(int ncid, int varid, const char* attrName, long* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_get_att_long"< int CNetCdfInterface::ncGetAttType(int ncid, int varid, const char* attrName, short* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_get_att_short"< int CNetCdfInterface::ncGetAttType(int ncid, int varid, const char* attrName, char* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_get_att_text"< int CNetCdfInterface::ncPutAttType(int ncid, int varid, const char* attrName, StdSize numVal, const double* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_put_att_double"< int CNetCdfInterface::ncPutAttType(int ncid, int varid, const char* attrName, StdSize numVal, const float* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_put_att_float"< int CNetCdfInterface::ncPutAttType(int ncid, int varid, const char* attrName, StdSize numVal, const int* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_put_att_int"< int CNetCdfInterface::ncPutAttType(int ncid, int varid, const char* attrName, StdSize numVal, const long* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_put_att_long"< int CNetCdfInterface::ncPutAttType(int ncid, int varid, const char* attrName, StdSize numVal, const short* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_put_att_short"< int CNetCdfInterface::ncPutAttType(int ncid, int varid, const char* attrName, StdSize numVal, const char* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_put_att_text"< int CNetCdfInterface::ncGetVaraType(int ncid, int varid, const StdSize* start, const StdSize* count, double* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_get_vara_double"< int CNetCdfInterface::ncGetVaraType(int ncid, int varid, const StdSize* start, const StdSize* count, float* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_get_vara_float"< int CNetCdfInterface::ncGetVaraType(int ncid, int varid, const StdSize* start, const StdSize* count, int* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_get_vara_int"< int CNetCdfInterface::ncGetVaraType(int ncid, int varid, const StdSize* start, const StdSize* count, char* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_get_vara_text"< int CNetCdfInterface::ncPutVaraType(int ncid, int varid, const StdSize* start, const StdSize* count, const double* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_put_vara_double"< int CNetCdfInterface::ncPutVaraType(int ncid, int varid, const StdSize* start, const StdSize* count, const float* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_put_vara_float"< int CNetCdfInterface::ncPutVaraType(int ncid, int varid, const StdSize* start, const StdSize* count, const int* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_put_vara_int"< int CNetCdfInterface::ncPutVaraType(int ncid, int varid, const StdSize* start, const StdSize* count, const char* data) { int status; #pragma omp critical (_netcdf) { info(100)<<"start nc_put_vara_text"<