Mesh Oriented datABase  (version 5.6.0)
An array-based unstructured mesh library
MBNcDispatch.cpp File Reference
#include "MBNcDispatch.hpp"
#include <cstdio>
#include <cstring>
#include <vector>
+ Include dependency graph for MBNcDispatch.cpp:

Go to the source code of this file.

Namespaces

 moab
 Class representing axis-aligned bounding box.
 
 moab::anonymous_namespace{MBNcDispatch.cpp}
 

Functions

int moab::mbnc_detect_format (const char *path)
 Inspect the file header to classify NetCDF format. Reads only the first 8 bytes — relies on the well-known "CDF\xNN" and HDF5 magic signatures. Returns NCFMT_UNKNOWN if the file cannot be opened or the signature does not match. Safe to call from any single rank. More...
 
NcBackend moab::mbnc_choose_backend_for_read (int format, int mpi_size)
 Pick the best available backend for reading a file of the given format with the given MPI size. Returns NCB_NONE if no compatible backend is configured (caller should error out with a precise message naming the missing capability). More...
 
NcBackend moab::mbnc_choose_backend_for_write (int requested_format, int mpi_size)
 Pick a backend for writing. The format is provided by the caller (typically derived from a user option / file extension), not probed. More...
 
int moab::mbnc_open (const char *path, int omode, int *taggedFileId)
 Serial open. Tags the returned id as NCB_NETCDF_SERIAL. More...
 
int moab::mbnc_create (const char *path, int cmode, int *taggedFileId)
 Serial create. More...
 
int moab::mbnc_close (int taggedFileId)
 Close. Untags + dispatches. More...
 
int moab::mbnc_redef (int taggedFileId)
 
int moab::mbnc_enddef (int taggedFileId)
 
int moab::mbnc_def_dim (int taggedFileId, const char *name, size_t len, int *dimid)
 
int moab::mbnc_def_var (int taggedFileId, const char *name, nc_type xtype, int ndims, const int *dimids, int *varid)
 
int moab::mbnc_begin_indep_data (int taggedFileId)
 
int moab::mbnc_end_indep_data (int taggedFileId)
 
int moab::mbnc_inq_natts (int taggedFileId, int *nattsp)
 
int moab::mbnc_inq_ndims (int taggedFileId, int *ndimsp)
 
int moab::mbnc_inq_nvars (int taggedFileId, int *nvarsp)
 
int moab::mbnc_inq_dimid (int taggedFileId, const char *name, int *dimidp)
 
int moab::mbnc_inq_dim (int taggedFileId, int dimid, char *name, size_t *lenp)
 
int moab::mbnc_inq_dimlen (int taggedFileId, int dimid, size_t *lenp)
 
int moab::mbnc_inq_varid (int taggedFileId, const char *name, int *varidp)
 
int moab::mbnc_inq_varname (int taggedFileId, int varid, char *name)
 
int moab::mbnc_inq_vartype (int taggedFileId, int varid, nc_type *xtypep)
 
int moab::mbnc_inq_varndims (int taggedFileId, int varid, int *ndimsp)
 
int moab::mbnc_inq_vardimid (int taggedFileId, int varid, int *dimids)
 
int moab::mbnc_inq_varnatts (int taggedFileId, int varid, int *nattsp)
 
int moab::mbnc_inq_attname (int taggedFileId, int varid, int attnum, char *name)
 
int moab::mbnc_inq_att (int taggedFileId, int varid, const char *name, nc_type *xtypep, size_t *lenp)
 
int moab::mbnc_get_att_text (int taggedFileId, int varid, const char *name, char *value)
 
int moab::mbnc_get_att_int (int taggedFileId, int varid, const char *name, int *value)
 
int moab::mbnc_get_att_short (int taggedFileId, int varid, const char *name, short *value)
 
int moab::mbnc_get_att_long (int taggedFileId, int varid, const char *name, long *value)
 
int moab::mbnc_get_att_float (int taggedFileId, int varid, const char *name, float *value)
 
int moab::mbnc_get_att_double (int taggedFileId, int varid, const char *name, double *value)
 
int moab::mbnc_put_att_text (int taggedFileId, int varid, const char *name, size_t len, const char *value)
 
int moab::mbnc_put_att_int (int taggedFileId, int varid, const char *name, nc_type xtype, size_t len, const int *value)
 
int moab::mbnc_put_att_short (int taggedFileId, int varid, const char *name, nc_type xtype, size_t len, const short *value)
 
int moab::mbnc_put_att_float (int taggedFileId, int varid, const char *name, nc_type xtype, size_t len, const float *value)
 
int moab::mbnc_put_att_double (int taggedFileId, int varid, const char *name, nc_type xtype, size_t len, const double *value)
 
int moab::mbnc_get_vara_double (int taggedFileId, int varid, const size_t *start, const size_t *count, double *data)
 
int moab::mbnc_get_vara_int (int taggedFileId, int varid, const size_t *start, const size_t *count, int *data)
 
int moab::mbnc_get_vara_long (int taggedFileId, int varid, const size_t *start, const size_t *count, long *data)
 
int moab::mbnc_get_vara_text (int taggedFileId, int varid, const size_t *start, const size_t *count, char *data)
 
int moab::mbnc_get_vars_double (int taggedFileId, int varid, const size_t *start, const size_t *count, const ptrdiff_t *stride, double *data)
 
int moab::mbnc_put_vara_double (int taggedFileId, int varid, const size_t *start, const size_t *count, const double *data)
 
int moab::mbnc_put_vara_int (int taggedFileId, int varid, const size_t *start, const size_t *count, const int *data)
 
int moab::mbnc_put_vara_text (int taggedFileId, int varid, const size_t *start, const size_t *count, const char *data)
 
int moab::mbnc_iget_vara_double (int taggedFileId, int varid, const size_t *start, const size_t *count, double *data, int *req)
 
int moab::mbnc_iget_vara_int (int taggedFileId, int varid, const size_t *start, const size_t *count, int *data, int *req)
 
int moab::mbnc_get_vara_double_indep (int taggedFileId, int varid, const size_t *start, const size_t *count, double *data)
 
int moab::mbnc_get_vara_int_indep (int taggedFileId, int varid, const size_t *start, const size_t *count, int *data)
 
int moab::mbnc_get_vara_long_indep (int taggedFileId, int varid, const size_t *start, const size_t *count, long *data)
 
int moab::mbnc_get_vara_text_indep (int taggedFileId, int varid, const size_t *start, const size_t *count, char *data)
 
int moab::mbnc_get_vars_double_indep (int taggedFileId, int varid, const size_t *start, const size_t *count, const ptrdiff_t *stride, double *data)
 
int moab::mbnc_put_vara_double_indep (int taggedFileId, int varid, const size_t *start, const size_t *count, const double *data)
 
int moab::mbnc_put_vara_int_indep (int taggedFileId, int varid, const size_t *start, const size_t *count, const int *data)
 
int moab::mbnc_put_vara_text_indep (int taggedFileId, int varid, const size_t *start, const size_t *count, const char *data)
 
int moab::mbnc_iput_vara_double (int taggedFileId, int varid, const size_t *start, const size_t *count, const double *data, int *req)
 
int moab::mbnc_iput_vara_int (int taggedFileId, int varid, const size_t *start, const size_t *count, const int *data, int *req)
 
int moab::mbnc_wait_all (int taggedFileId, int nreq, int *requests, int *statuses)
 

Variables

constexpr int moab::anonymous_namespace{MBNcDispatch.cpp}::kMaxDims = 16
 Maximum NetCDF variable rank we expect to encounter. Plenty for any climate / mesh file (typical max is 4–5). Used for stack-allocated size_t ↔ MPI_Offset conversion buffers in PNetCDF dispatches. More...