NetCDF
NetCDF (Network Common Data Form) est constitué, d'une part, d'un ensemble de bibliothèques logicielles et d'autre part, d'un format de données « auto-documenté », indépendant de l'architecture matérielle qui permet la création, l'accès et le partage de données scientifiques stockées sous la forme de tableaux. Le site internet du projet est hébergé par le Unidata program à l'University Corporation for Atmospheric Research (UCAR). Ils sont par ailleurs les mainteneurs principaux des programmes, des spécifications, etc. Il s'agit d'un format ouvert.
Extension |
.nc .cdf |
---|---|
Type MIME |
application/netcdf application/x-netcdf |
PUID | |
Développé par | |
Type de format | |
Basé sur |
CDF |
Site web |
La version 4.0 datant de 2008 améliore le format en ajoutant le support du modèle de données HDF5.
Le format, à l'origine, avait pour modèle conceptuel le format CDF issu de la NASA mais il a depuis divergé de façon telle qu'aujourd'hui ces deux formats ne sont plus compatibles.
Description du format
Le format de données est « auto-documenté » c'est-à-dire qu'il existe un en-tête qui décrit la disposition des données dans le reste du fichier, et en particulier des tableaux de données. Cet en-tête contient aussi une liste arbitraire de métadonnées se présentant sous la forme d'attribut de type nom/valeur. Le format est indépendant de l'architecture matérielle, notamment grâce à la prise en charge par la bibliothèque des questions de boutisme. Les tableaux de données sont linéaires et sont stockés de manière simple de façon à permettre un accès efficace à un sous-ensemble d'un tableau.
La version 4.0 de l'API netCDF[1] permet l'utilisation du format de données HDF5. Ce nouveau format étend les possibilités de l'ancien notamment en ajoutant:
- six nouveaux types primitifs,
- la possibilité pour les utilisateurs de définir des types de données personnalisés,
- la possibilité de définir des dimensions illimitées,
- la possibilité de définir des groupes permettant d'organiser hiérarchiquement les données et de fournir, aux noms, une portée.
Par défaut, la bibliothèque netCDF utilise le format binaire classique. Cette version est totalement rétro-compatible en lecture avec l'ancien format de fichier netCDF.
Logiciels
Bibliothèques
Les bibliothèques fournies par l'UCAR permettent un accès en lecture/écriture aux fichiers netCDF. La bibliothèque principale est écrite en C, et fournit une API pour les applications codées dans les langages C, C++ et Fortran. Une implémentation alternative, aussi développée et maintenue par Unidata, est écrite en Java; cette implémentation étend le modèle de données et ajoute de nouvelles fonctionnalités. La manipulation de la bibliothèque C par d'autres langages ou des logiciels peut se faire à l'aide des nombreux bindings existants : R, Perl, Python, Ruby, Matlab, Scilab, IDL, et Octave. De même tous les langages fournissant une FFI peuvent utiliser la bibliothèque C et ainsi manipuler les fichiers netCDF. Les conventions d'appels spécifiques à une version de la bibliothèque sont préservés pour des raisons de rétro-compatibilité.
Utilitaires
Il existe de nombreuses applications qui utilisent le format de fichier netCDF. Cela va de l'utilitaire en ligne de commande à l'application de visualisation. Vous trouverez, ci-dessous, une liste succincte. Une liste[2] plus détaillée est disponible sur le site de l'UCAR.
- Un ensemble d'utilitaires en ligne de commande pour les fichiers netCDF appelé NetCDF Operators (NCO). Cet ensemble fournit des commandes pour la manipulation et l'analyse des fichiers netCDF.
- ncBrowse[3] est une visionneuse générique de fichier netCDF.
- ncview[4] est un explorateur de fichiers netCDF. Ce programme est un outil graphique simple, rapide permettant de la visualisation des champs des fichiers netCDF.
- Panoply[5] est un visualisateur développé par le Goddard Institute for Space Studies de la NASA. Il a été développé en Java.
- Le langage NCAR Command Language est utilisé pour analyser et visualiser les données de fichiers netCDF (entre autres).
- PyNIO[6] est un module Python qui permet de lire et d'écrire dans de nombreux formats de fichiers notamment le netCDF.
- nCDF_Browser[7] est un explorateur de fichiers netCDF, écrit en IDL.
Champs d'utilisation
Ce format est couramment utilisé dans des applications de climatologie, de météorologie et d'océanographie (ex., prévision météorologique, changement climatique et applications des S.I.G.).
Il s'agit d'un format de choix pour les entrées/sorties de nombreux S.I.G. et pour l'échange de données scientifiques. Le site définit le format NetCDF comme "une interface pour un accès aux données orienté tableaux et une bibliothèque qui fournit une implémentation de cette interface. La bibliothèque netCDF définit en sus un format de représentation des données scientifiques indépendant de l'architecture machine".
Parallel-NetCDF
Il existe une extension du format netCDF pour le calcul parallèle appelé Parallel-NetCDF (ou PnetCDF) qui a été développé par l'Argonne National Laboratory et l'université Northwestern[8]. Elle est construite au-dessus de MPI-IO, l'extension d'E/S des communications MPI. En utilisant les structures de données de haut niveau de netCDF, la bibliothèque PnetCDF peut utiliser les optimisations pour répartir la charge des lectures et des écritures du fichier sur de nombreux processeurs. PnetCDF peut seulement lire/écrire le format classique et son extension 64-bits. PnetCDF est incapable de lire ou d'écrire le modèle de données HDF5 disponible avec netCDF-4.0.
Les E/S parallèles sont disponibles depuis la version 4 de l'implémentation d'Unidata de la bibliothèque netCDF, mais uniquement pour le modèle de données HDF5.
Voir aussi
- Common Data Format (CDF)
- GRIB (GRIdded Binary)
- Hierarchical Data Format (HDF)
- FITS
Références
- Version 4.0 of the netCDF API
- Liste des logiciels utilisant le format netCDF.
- ncBrowse
- ncview
- Panoply
- PyNIO
- nCDF_Browser software dans un fichier zip.
- Parallel-NetCDF (or PnetCDF)
Liens externes
- netCDF project Le site officiel à l'University Corporation for Atmospheric Research (UCAR)
- netCDF-Java project à l'UCAR
- netCDF4 project à l'UCAR
- ncBrowse - Un visionneuse générique pour les fichiers netCDF - permet l'animation et la visualisation en 3D d'un grand nombre de type de fichiers netCDF
- « An Introduction to Distributed Visualization » le paragraphe 4.2 contient une comparaison entre le CDF, le HDF, et le netCDF
- NCO, un ensemble de programmes qui facilite la manipulation et analyse des fichiers netCDF
- dapper un serveur de données et DChart un client web pour visualiser les données OPeNDAP présentes dans le format netCDF
- Animating NetCDF Data in ArcMap
- ncWMS, un Web Map Service et un site internet pour la visualisation de données NetCDF (demo site)
- CF Conventions documents
- CF home page
- Overview of CF
- Projects and Groups using CF (partial)
- List of software utilities using netCDF files
(en) Cet article contient des extraits de la Free On-line Dictionary of Computing qui autorise l'utilisation de son contenu sous licence GFDL.
- Portail de l’informatique