XMLIOSERVER 0.4
Serveur d'Entrées/Sorties parallèles
Référence de la classe xmlioserver::io::CONetCDF4

Classe permettant d'écrire des fichiers de données au format netCDF-4. Plus de détails...

#include <onetcdf4.hpp>

Graphe de collaboration de xmlioserver::io::CONetCDF4:

Liste de tous les membres

Types publics

typedef std::vector< std::string > CNetCDF4Path
 Redéfinition de std::vector<std::string> pour simplification d'écriture.

Fonctions membres publiques

 CONetCDF4 (void)
 Constructeur simple.
 CONetCDF4 (const std::string &_filename, bool exist=false, const MPI_Comm *_comm_server=NULL)
 Constructeur à partir d'un nom de fichier au format netCDF4.
 CONetCDF4 (const CONetCDF4 &_onetcdf4)
 Constructeur par copie .
 CONetCDF4 (const CONetCDF4 *const _onetcdf4_ptr)
 Constructeur par copie.
virtual ~CONetCDF4 (void)
 Destructeur de l'objet (le fichier est clos lors de son appel).
void setCurrentPath (const CNetCDF4Path &_path)
int addDimension (const std::string &_name, std::size_t _size=UNLIMITED_DIM)
int addVariable (const std::string &_name, nc_type _type, const std::vector< std::string > &_dims)
int addGroup (const std::string &_name)
const CNetCDF4PathgetCurrentPath (void) const
std::string getUnlimitedDimensionName (void)
std::vector< std::string > getDimensionsIdList (const std::string *_varname)
template<class DataType >
void writeAttribute (const std::string &_attname, const std::vector< DataType > &_value, const std::string *_varname=NULL)
void writeAttribute (const std::string &_attname, const std::string &_value, const std::string *_varname=NULL)
template<class DataType , std::size_t ndim>
void writeData (const boost::multi_array< DataType, ndim > &_data, const std::string &_varname, std::size_t _record=0, bool _collective=true, const std::vector< std::size_t > *_start=NULL, const std::vector< std::size_t > *_count=NULL)
void definition_start (void)
void definition_end (void)
template<>
void writeData_ (int _grpid, int _varid, const std::vector< std::size_t > &_sstart, const std::vector< std::size_t > &_scount, const float *_data)
template<>
void writeData_ (int _grpid, int _varid, const std::vector< std::size_t > &_sstart, const std::vector< std::size_t > &_scount, const int *_data)
template<>
void writeData_ (int _grpid, int _varid, const std::vector< std::size_t > &_sstart, const std::vector< std::size_t > &_scount, const double *_data)
template<>
void writeAttribute_ (const std::string &_attname, const double *_value, std::size_t _size, int _grpid, int _varid)
template<>
void writeAttribute_ (const std::string &_attname, const float *_value, std::size_t _size, int _grpid, int _varid)
template<>
void writeAttribute_ (const std::string &_attname, const int *_value, std::size_t _size, int _grpid, int _varid)
template<>
void writeAttribute_ (const std::string &_attname, const char *_value, std::size_t _size, int _grpid, int _varid)

Attributs publics

boost::optional< MPI_Comm > comm_server
std::vector< std::string > path
int ncidp

Fonctions membres protégées

int getCurrentGroup (void)
 Retourne l'identifiant du groupe courant (le chemin est gardée en mémoire dans la variable path).
int getGroup (const CNetCDF4Path &_path)
 Retourne l'identifiant du groupe dont le chemin est passé en argument.
int getVariable (const std::string &_varname)
 Retourne l'identifiant d'une variable dans le groupe courant.
int getDimension (const std::string &_dimname)
 Retourne l'identifiant d'une dimension dans le groupe courant.
std::vector< std::size_t > getDimensions (const std::string &_varname)
 Retourne les dimensions d'une variable.
int getUnlimitedDimension (void)
 Retourne l'identifiant de la dimension non limité dans le fichier.
bool varExist (const std::string &_varname)
 Indique si une variable existe dans le groupe courant.

Fonctions membres privées

template<class DataType >
void writeData_ (int _grpid, int _varid, const std::vector< std::size_t > &_sstart, const std::vector< std::size_t > &_scount, const DataType *_data)
template<class DataType >
void writeAttribute_ (const std::string &_attname, const DataType *_value, std::size_t _size, int _grpid, int _varid=NC_GLOBAL)
void getWriteDataInfos (const std::string &_varname, std::size_t _record, std::size_t &_array_size, std::vector< std::size_t > &_sstart, std::vector< std::size_t > &_scount, const std::vector< std::size_t > *_start, const std::vector< std::size_t > *_count)

Fonctions membres privées statiques

static void CheckError (int _status) throw (CException)

Description détaillée

Classe permettant d'écrire des fichiers de données au format netCDF-4.

Définition à la ligne 46 du fichier onetcdf4.hpp.


Documentation des définitions de type membres

typedef std::vector<std::string> xmlioserver::io::CONetCDF4::CNetCDF4Path

Redéfinition de std::vector<std::string> pour simplification d'écriture.

Définition à la ligne 51 du fichier onetcdf4.hpp.


Documentation des constructeurs et destructeur

xmlioserver::io::CONetCDF4::CONetCDF4 ( void  )

Constructeur simple.

xmlioserver::io::CONetCDF4::CONetCDF4 ( const std::string &  _filename,
bool  exist = false,
const MPI_Comm *  _comm_server = NULL 
) [explicit]

Constructeur à partir d'un nom de fichier au format netCDF4.

Paramètres:
_filename: un nom de fichier au format netCDF4.

Définition à la ligne 16 du fichier onetcdf4.cpp.

Références CheckError(), comm_server, et ncidp.

Voici le graphe d'appel pour cette fonction :

xmlioserver::io::CONetCDF4::CONetCDF4 ( const CONetCDF4 _onetcdf4)

Constructeur par copie .

Paramètres:
_onetcdf4: référence de l'objet à copier.
xmlioserver::io::CONetCDF4::CONetCDF4 ( const CONetCDF4 *const  _onetcdf4_ptr)

Constructeur par copie.

Paramètres:
_onetcdf4_ptr: le pointeur sur l'objet à copier.
xmlioserver::io::CONetCDF4::~CONetCDF4 ( void  ) [virtual]

Destructeur de l'objet (le fichier est clos lors de son appel).

Définition à la ligne 40 du fichier onetcdf4.cpp.

Références CheckError(), et ncidp.

Voici le graphe d'appel pour cette fonction :


Documentation des fonctions membres

int xmlioserver::io::CONetCDF4::addDimension ( const std::string &  _name,
std::size_t  _size = UNLIMITED_DIM 
)

Définition à la ligne 128 du fichier onetcdf4.cpp.

Références CheckError(), getCurrentGroup(), et UNLIMITED_DIM.

Voici le graphe d'appel pour cette fonction :

int xmlioserver::io::CONetCDF4::addGroup ( const std::string &  _name)

Définition à la ligne 158 du fichier onetcdf4.cpp.

Références CheckError(), et getCurrentGroup().

Voici le graphe d'appel pour cette fonction :

int xmlioserver::io::CONetCDF4::addVariable ( const std::string &  _name,
nc_type  _type,
const std::vector< std::string > &  _dims 
)

Définition à la ligne 139 du fichier onetcdf4.cpp.

Références CheckError(), getCurrentGroup(), et getDimension().

Voici le graphe d'appel pour cette fonction :

void xmlioserver::io::CONetCDF4::CheckError ( int  _status) throw (CException) [static, private]
void xmlioserver::io::CONetCDF4::definition_end ( void  )

Définition à la ligne 64 du fichier onetcdf4.cpp.

Références CheckError(), et ncidp.

Voici le graphe d'appel pour cette fonction :

void xmlioserver::io::CONetCDF4::definition_start ( void  )

Définition à la ligne 59 du fichier onetcdf4.cpp.

Références CheckError(), et ncidp.

Voici le graphe d'appel pour cette fonction :

int xmlioserver::io::CONetCDF4::getCurrentGroup ( void  ) [protected]

Retourne l'identifiant du groupe courant (le chemin est gardée en mémoire dans la variable path).

Renvoie:
l'identifiant du groupe courant
Voir également:
path

Définition à la ligne 168 du fichier onetcdf4.cpp.

Références getCurrentPath(), et getGroup().

Référencé par addDimension(), addGroup(), addVariable(), getDimension(), getDimensions(), getDimensionsIdList(), getUnlimitedDimension(), getVariable(), varExist(), et writeData().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

const CONetCDF4::CNetCDF4Path & xmlioserver::io::CONetCDF4::getCurrentPath ( void  ) const

Définition à la ligne 71 du fichier onetcdf4.cpp.

Références path.

Référencé par getCurrentGroup().

Voici le graphe d'appel pour cette fonction :

int xmlioserver::io::CONetCDF4::getDimension ( const std::string &  _dimname) [protected]

Retourne l'identifiant d'une dimension dans le groupe courant.

Paramètres:
_dimname: Le nom d'une dimension dans le fichier de données.
Renvoie:
l'identifiant de la dimension.

Définition à la ligne 196 du fichier onetcdf4.cpp.

Références CheckError(), et getCurrentGroup().

Référencé par addVariable().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

std::vector< std::size_t > xmlioserver::io::CONetCDF4::getDimensions ( const std::string &  _varname) [protected]

Retourne les dimensions d'une variable.

Paramètres:
_varname: Le nom d'une variable dans le fichier de données.
Renvoie:
Un vecteur des dimensions associées à la variables

Définition à la ligne 212 du fichier onetcdf4.cpp.

Références CheckError(), getCurrentGroup(), getVariable(), et UNLIMITED_DIM.

Référencé par getWriteDataInfos().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

std::vector< std::string > xmlioserver::io::CONetCDF4::getDimensionsIdList ( const std::string *  _varname)

Définition à la ligne 89 du fichier onetcdf4.cpp.

Références CheckError(), getCurrentGroup(), et getVariable().

Référencé par getWriteDataInfos().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

int xmlioserver::io::CONetCDF4::getGroup ( const CNetCDF4Path _path) [protected]

Retourne l'identifiant du groupe dont le chemin est passé en argument.

Paramètres:
_path: Un chemin dans la structure de donnée netCDF.
Renvoie:
l'identifiant du groupe.

Exemple d'utilisation:

 //> Retourne l'identifiant d'un group.
 CINetCDF4 ncinput(std::string("mon_fichier.nc"));
 CNetCDF4Path path;
 path.push_back("mes_donnees"); path.push_back("mes_tableaux");
 int groupid = ncinput.getGroup(path);

Définition à la ligne 173 du fichier onetcdf4.cpp.

Références CheckError(), et ncidp.

Référencé par getCurrentGroup(), et getUnlimitedDimensionName().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

int xmlioserver::io::CONetCDF4::getUnlimitedDimension ( void  ) [protected]

Retourne l'identifiant de la dimension non limité dans le fichier.

Renvoie:
l'identifiant de la dimension non limité ou -1 s'il n'y en a pas.

Définition à la ligne 204 du fichier onetcdf4.cpp.

Références CheckError(), et getCurrentGroup().

Référencé par getUnlimitedDimensionName().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

std::string xmlioserver::io::CONetCDF4::getUnlimitedDimensionName ( void  )

Définition à la ligne 76 du fichier onetcdf4.cpp.

Références CheckError(), getGroup(), getUnlimitedDimension(), et path.

Référencé par getWriteDataInfos().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

int xmlioserver::io::CONetCDF4::getVariable ( const std::string &  _varname) [protected]

Retourne l'identifiant d'une variable dans le groupe courant.

Paramètres:
_varname: Le nom d'une variable dans le fichier de données.
Renvoie:
l'identifiant de la variable.

Définition à la ligne 188 du fichier onetcdf4.cpp.

Références CheckError(), et getCurrentGroup().

Référencé par getDimensions(), getDimensionsIdList(), et writeData().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

void xmlioserver::io::CONetCDF4::getWriteDataInfos ( const std::string &  _varname,
std::size_t  _record,
std::size_t &  _array_size,
std::vector< std::size_t > &  _sstart,
std::vector< std::size_t > &  _scount,
const std::vector< std::size_t > *  _start,
const std::vector< std::size_t > *  _count 
) [private]

Définition à la ligne 244 du fichier onetcdf4.cpp.

Références getDimensions(), getDimensionsIdList(), et getUnlimitedDimensionName().

Référencé par writeData().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

void xmlioserver::io::CONetCDF4::setCurrentPath ( const CNetCDF4Path _path)

Définition à la ligne 123 du fichier onetcdf4.cpp.

Références path.

bool xmlioserver::io::CONetCDF4::varExist ( const std::string &  _varname) [protected]

Indique si une variable existe dans le groupe courant.

Paramètres:
_varname: Le nom d'une variable dans le fichier de données.
Renvoie:
true si la variable existe, false sinon.

Définition à la ligne 235 du fichier onetcdf4.cpp.

Références getCurrentGroup().

Voici le graphe d'appel pour cette fonction :

void xmlioserver::io::CONetCDF4::writeAttribute ( const std::string &  _attname,
const std::string &  _value,
const std::string *  _varname = NULL 
)

Définition à la ligne 346 du fichier onetcdf4.cpp.

template<class DataType >
void xmlioserver::io::CONetCDF4::writeAttribute ( const std::string &  _attname,
const std::vector< DataType > &  _value,
const std::string *  _varname = NULL 
)

Définition à la ligne 41 du fichier onetcdf4_impl.hpp.

template<>
void xmlioserver::io::CONetCDF4::writeAttribute_ ( const std::string &  _attname,
const int *  _value,
std::size_t  _size,
int  _grpid,
int  _varid 
)

Définition à la ligne 333 du fichier onetcdf4.cpp.

template<>
void xmlioserver::io::CONetCDF4::writeAttribute_ ( const std::string &  _attname,
const char *  _value,
std::size_t  _size,
int  _grpid,
int  _varid 
)

Définition à la ligne 340 du fichier onetcdf4.cpp.

template<class DataType >
void xmlioserver::io::CONetCDF4::writeAttribute_ ( const std::string &  _attname,
const DataType *  _value,
std::size_t  _size,
int  _grpid,
int  _varid = NC_GLOBAL 
) [private]
template<>
void xmlioserver::io::CONetCDF4::writeAttribute_ ( const std::string &  _attname,
const float *  _value,
std::size_t  _size,
int  _grpid,
int  _varid 
)

Définition à la ligne 326 du fichier onetcdf4.cpp.

template<>
void xmlioserver::io::CONetCDF4::writeAttribute_ ( const std::string &  _attname,
const double *  _value,
std::size_t  _size,
int  _grpid,
int  _varid 
)

Définition à la ligne 319 du fichier onetcdf4.cpp.

template<class DataType , std::size_t ndim>
void xmlioserver::io::CONetCDF4::writeData ( const boost::multi_array< DataType, ndim > &  _data,
const std::string &  _varname,
std::size_t  _record = 0,
bool  _collective = true,
const std::vector< std::size_t > *  _start = NULL,
const std::vector< std::size_t > *  _count = NULL 
)

Définition à la ligne 17 du fichier onetcdf4_impl.hpp.

Références CheckError(), comm_server, getCurrentGroup(), getVariable(), getWriteDataInfos(), et writeData_().

Voici le graphe d'appel pour cette fonction :

template<>
void xmlioserver::io::CONetCDF4::writeData_ ( int  _grpid,
int  _varid,
const std::vector< std::size_t > &  _sstart,
const std::vector< std::size_t > &  _scount,
const float *  _data 
)

Définition à la ligne 289 du fichier onetcdf4.cpp.

Références CheckError().

Voici le graphe d'appel pour cette fonction :

template<class DataType >
void xmlioserver::io::CONetCDF4::writeData_ ( int  _grpid,
int  _varid,
const std::vector< std::size_t > &  _sstart,
const std::vector< std::size_t > &  _scount,
const DataType *  _data 
) [private]

Référencé par writeData().

Voici le graphe d'appel pour cette fonction :

template<>
void xmlioserver::io::CONetCDF4::writeData_ ( int  _grpid,
int  _varid,
const std::vector< std::size_t > &  _sstart,
const std::vector< std::size_t > &  _scount,
const int *  _data 
)

Définition à la ligne 298 du fichier onetcdf4.cpp.

Références CheckError().

Voici le graphe d'appel pour cette fonction :

template<>
void xmlioserver::io::CONetCDF4::writeData_ ( int  _grpid,
int  _varid,
const std::vector< std::size_t > &  _sstart,
const std::vector< std::size_t > &  _scount,
const double *  _data 
)

Définition à la ligne 307 du fichier onetcdf4.cpp.

Références CheckError().

Voici le graphe d'appel pour cette fonction :


Documentation des données membres

boost::optional<MPI_Comm> xmlioserver::io::CONetCDF4::comm_server

Définition à la ligne 217 du fichier onetcdf4.hpp.

Référencé par CONetCDF4(), et writeData().

std::vector<std::string> xmlioserver::io::CONetCDF4::path

Définition à la ligne 218 du fichier onetcdf4.hpp.

Référencé par getCurrentPath(), getUnlimitedDimensionName(), et setCurrentPath().


La documentation de cette classe a été générée à partir des fichiers suivants :
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définition de type Énumérations Valeurs énumérées Amis Macros