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.
-
openDAP est un protocole qui simplifie tous les aspects de la mise en réseau des données scientifiques.
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
openDAP est utilisé par différents logiciels pour rendre des données netCDF locales à un serveur, accessibles à des sites distants.
- Le serveur openDAP "historique" est Hyrax :
Mais d'autres serveurs ont apporté des fonctionnalités supplémentaires comme :
- Thredds https://www.unidata.ucar.edu/software/tds/, et
- Erddap : https://coastwatch.pfeg.noaa.gov/erddap/index.html
Erddap est un "middleware" qui ajoute quelques fonctionnalités interessantes par rapport aux autres serveurs. Notamment :
- faire un catalogue des datasets avec les métadonnées associées:
- la posibilité de visualiser les données nativement sous forme de graphes:
- la possibilité de faire des requetes permettant de sélectionner une partie des données
- https://erddap.osupytheas.fr/erddap/tabledap/Emso_Western_Ligurian_Albatross_Aquadopp_NetCDF_2021.html
https://erddap.osupytheas.fr/erddap/tabledap/Emso_Western_Ligurian_Albatross_Aquadopp_NetCDF_2021.htmlTable?stationname%2Clatitude%2Clongitude%2CDEPH%2Ctime%2CTEMP%2CTEMP_QC&time%3E=2023-05-09T00%3A00%3A00Z&time%3C=2023-05-16T11%3A30%3A00Z
- la possibilité de générer automatiquement des URLS d'acces aux données
- la conversion automatique de dizaines de formats de fichiers en Entree/Sortie : CSV, netCDF,JSON, XML,geoTiff etc