netCDF et le protocole openDAP

Les fichiers NetCDF sont bien appropriés pour être utilisés par le protocole openDAP "Data Access Protocol"

  • Un utilisateur (ou un programme) peut construire une URL de type REST avec des expressions de contraintes élaborées qui envoyées à un serveur DAP, renverront précisément les données demandées contenues dans un fichier NetCDF

openDAP

openDAP est un protocole "openSource" défini par la NASA, d'accès aux données en réseau , et un protocole de transmission de données conçu spécifiquement pour les données scientifiques.

Le protocole repose sur les normes largement utilisées et stables Hypertext Transfer Protocol (HTTP) et Multipurpose Internet Mail Extensions (MIME), et fournit des types de données pour accommoder les données en grille (2D), les données relationnelles et les séries temporelles.

Avec un serveur DAP pour gérer des données .nc, on peut utiliser les données à distance avec de nombreux logiciels scientifiques comme :

  • matlab
  • R
  • Jupyter notebook
  • etc

Exemple d'URL REST pour acceder a des données provenant de fichiers netCDF via un serveur Erddap :

https://erddap.osupytheas.fr/erddap/tabledap/
Emso_Western_Ligurian_Albatross_Aquadopp_NetCDF_2021.graph?
time%2CHCSP%2CDEPH&
time%3E=2021-09-26T00%3A00%3A00Z&time%3C2021-09-28T00%3A00%3A00Z&
DEPH=500.0&
.draw=linesAndMarkers&.marker=6%7C3&.color=0x000000&.colorBar=%7C%7C%7C%7C%7C&.bgColor=0xffccccff
  • Le serveur erddap : https://erddap.osupytheas.fr/erddap/tabledap
  • Le dataset Id : Emso_Western_Ligurian_Albatross_Aquadopp_NetCDF_2021
  • Les données à extraire : time,HCSP
  • Les filtres : depth=500.0&time>=2021-09-26T00:00:00Z&time<2021-09-28T00:00:00Z
  • les parametres pour faire le graphe : .draw=linesAndMarkers&.marker=6%7C3&.color=0x000000&.colorBar=%7C%7C%7C%7C%7C&.bgColor=0xffccccff

  • cliquez là pour voir ce que ca donne

openDAP est utilisé par différents logiciels pour rendre des données netCDF locales à un serveur, accessibles à des sites distants.

Mais d'autres serveurs ont apporté des fonctionnalités supplémentaires comme :

Erddap est un "middleware" qui ajoute quelques fonctionnalités interessantes par rapport aux autres serveurs. Notamment :