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

Classe permettant de lire les fichiers de données au format netCDF-4. Plus de détails...

#include <inetcdf4.hpp>

Graphe d'héritage de xmlioserver::io::CINetCDF4:
Graphe de collaboration de xmlioserver::io::CINetCDF4:

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

 CINetCDF4 (void)
 Constructeur simple.
 CINetCDF4 (const std::string &_filename)
 Constructeur à partir d'un nom de fichier au format netCDF4.
 CINetCDF4 (const CINetCDF4 &_inetcdf4)
 Constructeur par copie .
 CINetCDF4 (const CINetCDF4 *const _inetcdf4_ptr)
 Constructeur par copie.
virtual ~CINetCDF4 (void)
 Destructeur de l'objet (le fichier est clos lors de son appel).
std::size_t getNbOfTimestep (void)
std::string getUnlimitedDimensionName (void)
std::map< std::string,
std::size_t > 
getDimensions (const std::string *const _varname=NULL)
std::vector< std::string > getDimensionsIdList (const std::string *_varname)
std::vector< std::string > getAttributes (const std::string *const _varname=NULL)
std::vector< std::string > getGroups (void)
std::vector< std::string > getVariables (void)
void setCurrentPath (const CNetCDF4Path &_path)
const CNetCDF4PathgetCurrentPath (void) const
template<class DataType >
void readAttribute (const std::string &_attname, std::vector< DataType > &_value, const std::string *_varname=NULL)
void readAttribute (const std::string &_attname, std::string &_value, const std::string *_varname=NULL)
template<class DataType , std::size_t ndim>
void readData (boost::multi_array< DataType, ndim > &_data, const std::string &_varname, std::size_t _record=0, const std::vector< std::size_t > *_start=NULL, const std::vector< std::size_t > *_count=NULL)
template<>
void readData_ (int _grpid, int _varid, const std::vector< std::size_t > &_sstart, const std::vector< std::size_t > &_scount, float *_data)
template<>
void readData_ (int _grpid, int _varid, const std::vector< std::size_t > &_sstart, const std::vector< std::size_t > &_scount, int *_data)
template<>
void readData_ (int _grpid, int _varid, const std::vector< std::size_t > &_sstart, const std::vector< std::size_t > &_scount, double *_data)
template<>
void readAttribute_ (const std::string &_attname, double *_value, int _grpid, int _varid)
template<>
void readAttribute_ (const std::string &_attname, float *_value, int _grpid, int _varid)
template<>
void readAttribute_ (const std::string &_attname, int *_value, int _grpid, int _varid)
template<>
void readAttribute_ (const std::string &_attname, char *_value, int _grpid, int _varid)

Attributs publics

std::vector< std::string > path
 Chemin vers le groupe de données en cours de lecture.
int ncidp
 Identifiant de fichiers netCDF.

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

void getReadDataInfos (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)
template<class DataType >
void readData_ (int _grpid, int _varid, const std::vector< std::size_t > &_sstart, const std::vector< std::size_t > &_scount, DataType *_data)
template<class DataType >
void readAttribute_ (const std::string &_attname, DataType *_value, int _grpid, int _varid=NC_GLOBAL)

Fonctions membres privées statiques

static void CheckError (int _status) throw (CException)
 Vérifie le code d'erreur retourné lors de l'appel d'une fonction dans la bibliothèque netCDF afin de détecter les erreurs.

Description détaillée

Classe permettant de lire les fichiers de données au format netCDF-4.

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


Documentation des définitions de type membres

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

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

Définition à la ligne 56 du fichier inetcdf4.hpp.


Documentation des constructeurs et destructeur

xmlioserver::io::CINetCDF4::CINetCDF4 ( void  )

Constructeur simple.

xmlioserver::io::CINetCDF4::CINetCDF4 ( const std::string &  _filename) [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 25 du fichier inetcdf4.cpp.

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

Voici le graphe d'appel pour cette fonction :

xmlioserver::io::CINetCDF4::CINetCDF4 ( const CINetCDF4 _inetcdf4)

Constructeur par copie .

Paramètres:
_inetcdf4: référence de l'objet à copier.
xmlioserver::io::CINetCDF4::CINetCDF4 ( const CINetCDF4 *const  _inetcdf4_ptr)

Constructeur par copie.

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

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

Définition à la ligne 32 du fichier inetcdf4.cpp.

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

Voici le graphe d'appel pour cette fonction :


Documentation des fonctions membres

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

Vérifie le code d'erreur retourné lors de l'appel d'une fonction dans la bibliothèque netCDF afin de détecter les erreurs.

Paramètres:
_status: le code d'erreur retourné par l'appel d'une fonction netCDF.
Remarques:
Tous les appels de fonction dans la bibliothèque netCDF doivent être pris en charge par cette méthode statique.

Exemple d'utilisation:

 //> Retourne l'identifiant d'une variable netCDF dont le nom est 'varname' dans le groupe grpid 
 CheckError(nc_inq_varid (grpid, varname, varid));

Définition à la ligne 39 du fichier inetcdf4.cpp.

Références XIOS_ERROR.

Référencé par CINetCDF4(), getAttributes(), getDimension(), getDimensions(), getDimensionsIdList(), getGroup(), getGroups(), getUnlimitedDimension(), getUnlimitedDimensionName(), getVariable(), getVariables(), readData_(), et ~CINetCDF4().

Voici le graphe d'appel pour cette fonction :

std::vector< std::string > xmlioserver::io::CINetCDF4::getAttributes ( const std::string *const  _varname = NULL)

Définition à la ligne 251 du fichier inetcdf4.cpp.

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

Référencé par xmlioserver::io::CINetCDF4Adv::hasAttribute().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

int xmlioserver::io::CINetCDF4::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 51 du fichier inetcdf4.cpp.

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

Référencé par getAttributes(), getDimension(), getDimensions(), getDimensionsIdList(), getGroups(), getUnlimitedDimension(), getVariable(), getVariables(), readData(), et varExist().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

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

Définition à la ligne 127 du fichier inetcdf4.cpp.

Références path.

Référencé par getCurrentGroup().

Voici le graphe d'appel pour cette fonction :

int xmlioserver::io::CINetCDF4::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 79 du fichier inetcdf4.cpp.

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

Voici le graphe d'appel pour cette fonction :

std::map< std::string, std::size_t > xmlioserver::io::CINetCDF4::getDimensions ( const std::string *const  _varname = NULL)
std::vector< std::size_t > xmlioserver::io::CINetCDF4::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 95 du fichier inetcdf4.cpp.

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

Voici le graphe d'appel pour cette fonction :

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

Définition à la ligne 373 du fichier inetcdf4.cpp.

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

Référencé par xmlioserver::io::CINetCDF4Adv::getCoordinatesId(), xmlioserver::io::CINetCDF4Adv::getNbVertex(), getReadDataInfos(), et xmlioserver::io::CINetCDF4Adv::isUnstructured().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

int xmlioserver::io::CINetCDF4::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 56 du fichier inetcdf4.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 :

std::vector< std::string > xmlioserver::io::CINetCDF4::getGroups ( void  )

Définition à la ligne 308 du fichier inetcdf4.cpp.

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

Voici le graphe d'appel pour cette fonction :

std::size_t xmlioserver::io::CINetCDF4::getNbOfTimestep ( void  )

Définition à la ligne 353 du fichier inetcdf4.cpp.

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

Voici le graphe d'appel pour cette fonction :

void xmlioserver::io::CINetCDF4::getReadDataInfos ( 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 141 du fichier inetcdf4.cpp.

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

Référencé par readData().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

int xmlioserver::io::CINetCDF4::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 87 du fichier inetcdf4.cpp.

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

Référencé par getNbOfTimestep(), getUnlimitedDimensionName(), et xmlioserver::io::CINetCDF4Adv::hasTemporalDim().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

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

Définition à la ligne 360 du fichier inetcdf4.cpp.

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

Référencé par getNbOfTimestep(), getReadDataInfos(), et xmlioserver::io::CINetCDF4Adv::getTimeCoordName().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

int xmlioserver::io::CINetCDF4::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 71 du fichier inetcdf4.cpp.

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

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

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

std::vector< std::string > xmlioserver::io::CINetCDF4::getVariables ( void  )

Définition à la ligne 331 du fichier inetcdf4.cpp.

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

Référencé par xmlioserver::io::CINetCDF4Adv::getBoundVariables(), et xmlioserver::io::CINetCDF4Adv::getCoordVariables().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :

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

Définition à la ligne 214 du fichier inetcdf4.cpp.

template<>
void xmlioserver::io::CINetCDF4::readAttribute_ ( const std::string &  _attname,
double *  _value,
int  _grpid,
int  _varid 
)

Définition à la ligne 223 du fichier inetcdf4.cpp.

template<>
void xmlioserver::io::CINetCDF4::readAttribute_ ( const std::string &  _attname,
float *  _value,
int  _grpid,
int  _varid 
)

Définition à la ligne 230 du fichier inetcdf4.cpp.

template<class DataType >
void xmlioserver::io::CINetCDF4::readAttribute_ ( const std::string &  _attname,
DataType *  _value,
int  _grpid,
int  _varid = NC_GLOBAL 
) [private]
template<>
void xmlioserver::io::CINetCDF4::readAttribute_ ( const std::string &  _attname,
char *  _value,
int  _grpid,
int  _varid 
)

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

template<>
void xmlioserver::io::CINetCDF4::readAttribute_ ( const std::string &  _attname,
int *  _value,
int  _grpid,
int  _varid 
)

Définition à la ligne 237 du fichier inetcdf4.cpp.

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

Définition à la ligne 25 du fichier inetcdf4_impl.hpp.

Références getCurrentGroup(), getReadDataInfos(), getVariable(), et readData_().

Voici le graphe d'appel pour cette fonction :

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

Référencé par readData().

Voici le graphe d'appel pour cette fonction :

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

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

Références CheckError().

Voici le graphe d'appel pour cette fonction :

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

Définition à la ligne 186 du fichier inetcdf4.cpp.

Références CheckError().

Voici le graphe d'appel pour cette fonction :

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

Définition à la ligne 195 du fichier inetcdf4.cpp.

Références CheckError().

Voici le graphe d'appel pour cette fonction :

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

Définition à la ligne 134 du fichier inetcdf4.cpp.

Références path.

bool xmlioserver::io::CINetCDF4::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 118 du fichier inetcdf4.cpp.

Références getCurrentGroup().

Référencé par xmlioserver::io::CINetCDF4Adv::hasVariable().

Voici le graphe d'appel pour cette fonction :

Voici le graphe d'appel pour cette fonction :


Documentation des données membres

Identifiant de fichiers netCDF.

Définition à la ligne 237 du fichier inetcdf4.hpp.

Référencé par CINetCDF4(), getGroup(), et ~CINetCDF4().

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

Chemin vers le groupe de données en cours de lecture.

Définition à la ligne 236 du fichier inetcdf4.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