Résumé de section

  • netCDF est un format qui s’utilise avec des commandes et programmes spécifiques à netCDF. On ne peut pas éditer ou lire un fichier netCDF binaire avec des outils de bureautiques courants. 

    L’utilisation de netCDF n’est pas immédiate, il est nécessaire de prévoir un temps d’apprentissage pour comprendre le format interne des fichiers et l’utilisation des commandes de base pour lire et écrire dans des fichiers.

    Cependant le gain d’efficacité et de rigueur scientifique qu’on en retire est sans égal pour traiter les données et les rendre réutilisables. Ce format est d'ailleurs exigé dans certains projets ou communautés scientifiques.

    • Les commandes de base

      En téléchargeant netCDF, vous obtiendrez différents utilitaires servant à gérer des fichiers au format netCDF (.nc). Cela demande de savoir utiliser le terminal de l'ordinateur (interface en ligne de commande) et de taper des lignes de commande.

      ncdump, ncgen, nccopy

      Un fichier netCDF est binaire. Pour pouvoir le lire, on utilise la commande ncdump qui permet de générer une représentation textuelle de tout le fichier. On peut éventuellement exclure une partie ou la totalité des données. Par exemple, en tapant ncdump -h (suivi du nom du fichier) on affiche seulement l'en-tête du fichier ("-h" pour "header"), c'est-à-dire les métadonnées.

      Ci-dessous un exemple de lecture d'un fichier netCDF avec la commande ncdump.



      Si la commande ncdump permet de lire sous forme textuelle le format binaire de netCDF, la commande ncgen permet de faire l'inverse (transformer la représentation des données textuelle en binaire). 


      Afficher le fichier netCDF binaire sous forme textuelle CDL (Common Data Language)
      ncdump monfichier.nc > monfichier-cdl.txt

      Régénérer un fichier netCDF .nc à partir de la description texte .cdl précédente
      ncgen monfichier-cdl.txt -o monfichier2.nc


      Enfin la commande nccopy copie un fichier netCDF d'un format binaire à un autre, en modifiant éventuellement les paramètres de compression et de taille des morceaux.

      Pour en savoir plus, vous pouvez suivre ce guide réalisé par Unidata : https://docs.unidata.ucar.edu/nug/current/netcdf_utilities_guide.html


    • Panoply

      De nombreux logiciels graphiques peuvent interagir avec des fichiers netCDF, sans qu'on ait à taper des commandes dans un terminal. Une liste est proposée sur le site d'Unidata

      On y retrouve Panoply notamment. Développé en java par le Goddard Institute for Space Studies de la NASA, il fonctionne sur tous les systèmes d’exploitation et permet une visualisation rapide et aisée des fichiers netCDF.

      En savoir plus, télécharger Panoply : https://www.giss.nasa.gov/tools/panoply/


      Visualisation avec Panoply, issue de Towards Data Science

      Visualisation des métadonnées d'un fichier netCDF avec Panoply (équivalent de ncdump)

      Graphe de l'évolution de la température en fonction de la profondeur avec Panoply


    • Ferret

      Ferret est un autre outil d’analyse et de visualisation de fichiers netCDF qui répond aux besoins des océanographes et des météorologues qui analysent de grands ensembles complexes de données maillées 2D. C'est un outil plus complet et complexe à prendre en main que Panoply.

      En savoir plus, télécharger Ferret : https://ferret.pmel.noaa.gov/Ferret/

      Illustration issue de Ferret Tutorial Script


    • Le netCDF Operator (NCO)

      La distribution logicielle NCO fournit aussi un ensemble de commandes qui permettent de réaliser des opérations plus complexes sur les données des fichiers. NCO n'est pas inclus dans la distribution netCDF de base, il faut le télécharger en complément. Il est disponible sur la plupart des machines Linux et il existe des versions Mac et PC. 

      Quelques exemples d'opérateurs et de leurs actions :

      • ncks : pour extraire, couper, coller, imprimer des données netCDF
      • ncatted : éditeur d'attributs netCDF
      • nces : pour calculer des statistiques de fichiers netCDF 
      • netcpdq : pour permuter les dimensions rapidement et d'empaqueter les données
      Exemple d'extraction de données d'un fichier netCDF avec la commande ncks

      Exemple d'extraction de données d'un fichier netCDF avec la commande ncks
      Extrait issu de la chaîne YouTube de meteo network - NCO netCDF Operator for Windows


      Pour en savoir plus et télécharger NCO : http://nco.sourceforge.net/



    • Les langages informatiques

      Mis à part les commandes de base et les logiciels permettant d'utiliser des fichiers netCDF, on peut également travailler sur des fichiers netCDF avec de nombreux langages informatiques comme R, Perl, Python, Ruby, Matlab, Scilab, IDL (Interactive Data Language), Octave, etc. 

      Cette utilisation avancée requiert des compétences de programmation… mais permet des actions extrêmement sophistiquées pour des besoins très précis.

      Pour aller plus loin, vous pouvez voir d'autres outils (Jupyter, QGIS, Xarray...) utilisant des fichiers netCDF avec cette vidéo de l'EUMETSTAT (European Organisation for the Exploitation of Meteorological Satellites).