![]()  | 
    
      ERDDAP
       Un accès facilité aux données scientifiques  | 
    
      
       Présenté par NOAA NMFS SWFSC ERD  | 
  
 vidéo .
(5 minutes)
,
XML 
,
SOAP+XML 
,
OPeNDAP 
,
WCS 
,
WFS 
,
SOS 
, ou un formulaire HTML) .
 vidéo 
 . (5 minutes)
 (dans 5 minutes!).
Cette vidéo montre :
Protocole d'accès aux données (DAP ) 
 est l'une des
recommandations techniques d'accès aux données de NOAA 
 et une
norme du système de données et d'information sur les sciences de la Terre de la NASA (ESDIS) 
 .
(OPeNDAP est génial !) ERDDAP traduit votre demande du format OPeNDAP, WMS ou SOS au format de demande de la source de données et convertit la réponse en l'une des structures de données internes d' ERDDAP .
Ensuite, ERDDAP reformate les données dans le format de fichier commun de votre choix (par exemple, sous forme de tableau .html, ESRI .asc, Google Earth .kml, .mat, .nc, ODV .txt, .csv, .tsv, .json, .xhtml, .png, .pdf) et vous envoie le fichier.
Consultez la liste des
types de fichiers Griddap et la liste des
types de fichiers tabledap .
Autres protocoles pour demander les données (par exemple,
WCS 
) pourraient être ajoutés à l’avenir.
ERDDAP est structuré pour ces ajouts et il ne semble y avoir aucun obstacle.
,
XML 
,
SOAP+XML 
,
OPeNDAP 
,
WCS 
,
WFS 
,
SOS 
, ou un formulaire HTML), au lieu du simple format d'origine ou du format de transfert OPeNDAP (qui n'a pas de manifestation de fichier standard).
Ces fichiers sont créés à la volée.
Puisqu’il existe peu de structures de données internes, il est facile d’ajouter des pilotes de type de fichier supplémentaires.
Consultez la liste complète des
types de fichiers de grille et
des types de fichiers de table .
 ou époque secondes, qui estUDUNITS 
 -compatible) et, lorsqu'il est formaté sous forme de chaîne, est formaté selon le
format"extended"ISO 8601:2004 
 standard (yyyy-MM-ddTHH:mm:ssZ, par exemple, "1985-01-02T00:00:00Z"). (Vous pouvez convertir des heures numériques vers/depuis des heures de chaîne ISO avec
le convertisseur d'heure d' ERDDAP .) De plus, pour éviter toute confusion entre le fuseau horaire et l'heure d'été, les valeurs horaires sont toujours converties dans le fuseau horaire Zulu (UTC, GMT).
ERDDAP dispose d'un utilitaire pour
convertir une heure numérique vers/à partir d'une chaîne de temps .
Pour plus de détails, voir
Comment ERDDAP gère le temps .
Étant donné que les variables de longitude, de latitude, d’altitude et de temps sont spécifiquement reconnues, ERDDAP connaît les caractéristiques géo/temporelles de chaque ensemble de données. Ceci est utile lors de la création d'images avec des cartes ou des séries chronologiques, et lors de l'enregistrement de données dans des types de fichiers géoréférencés (par exemple, .esriAscii, .geoJson et .kml ).
Deux normes courantes pour l'écriture des unités de mesure sont :
, qui est utilisé dans
COARDS 
,
FC 
 et
NetCDF 
 fichiers de données.
Par exemple, UDUNITS propose de nombreuses options pour les degrés Celsius, notamment degree_C et degC .
 - le Code Unifié des Unités de Mesure.
OGC 
 des services tels que
SOS 
,
WCS 
 et
WMS 
 font souvent référence à UCUM sous le nom d'UOM (Unités de Mesure).
Par exemple, UCUM n'a qu'une seule option sensible à la casse pour les degrés Celsius :
"Cel" .
 (par exemple,
les métadonnées CF 
) décrivant les données.
ERDDAP permet (et encourage) l'administrateur de décrire les métadonnées qui seront ajoutées aux ensembles de données et à leurs variables à la volée.
Consultez la
section addAttributes des
instructions destinées aux administrateurs .
 dans l'en-tête de la requête HTTP GET envoyée par le client.
Si un type de compression pris en charge (gzip, x-gzip ou deflate ) est trouvé dans la liste d'acceptation-encodage, ERDDAP inclut content-encoding dans l'en-tête de réponse HTTP et compresse les données au fur et à mesure de leur transmission.
C'est au programme client de rechercher content-encoding et de décompresser les données.
Les réponses compressées sont souvent 3 à 10 fois plus rapides, bien qu'il n'y ait aucun avantage à demander des fichiers .png compressés puisque le contenu des fichiers est déjà compressé.
Les navigateurs et les clients OPeNDAP le font par défaut.
Ils demandent des données compressées et décompressent automatiquement les données renvoyées.
Les autres clients (par exemple les programmes Java ) doivent le faire explicitement.
Avec curl, ajoutez --compressed à la ligne de commande pour indiquer curl de demander une réponse compressée et de la décompresser automatiquement.
 programmes).
 services d'abonnement, afin que vous puissiez être averti chaque fois qu'un ensemble de données change.
Abonnements
par e-mail/URL (non disponibles sur certaines installations ERDDAP ) Chaque fois qu'un ensemble de données change, le système d'abonnement par e-mail/URL vous enverra immédiatement un e-mail ou contactera une URL que vous spécifiez.
Les abonnements par e-mail/URL ne sont pas disponibles sur certaines installations ERDDAP .
Pour configurer un abonnement email/URL, cliquez sur l'une des icônes d'enveloppe 
 qui apparaissent à l'extrême droite sur les pages Web ERDDAP avec des listes d'ensembles de données (exemple) et sur les pages Web Data Access Forms et Make A Graph pour des ensembles de données individuels (exemple) si cette installation ERDDAP prend en charge les abonnements par e-mail/URL.
(Programmeurs informatiques :
si vous écrivez des services Web, vous pouvez utiliser le système d'URL pour ERDDAP avertisse immédiatement votre service Web chaque fois qu'un ensemble de données change.)
RSS 
 Les abonnements RSS sont un système standard permettant d'avertir les utilisateurs lorsque le contenu d'un site Web a changé.
Les navigateurs Web modernes intègrent un client RSS ou vous pouvez utiliser un
lecteur RSS distinct.
 .
ERDDAP propose un flux RSS 2.01 distinct pour chaque ensemble de données afin que vous puissiez savoir quand les ensembles de données intéressants ont changé.
Pour vous abonner au flux RSS d'un jeu de données, cliquez sur l'une des icônes RSS 
 qui apparaissent à l'extrême droite sur les pages Web ERDDAP avec des listes d'ensembles de données (exemple) ou sur les pages Web Data Access Forms et Make A Graph pour des ensembles de données individuels (exemple).
Comparaison Le service RSS est peut-être exactement ce que vous recherchez.
C'est une belle norme.
Mais si vous avez besoin de savoir le plus tôt possible lorsqu'un ensemble de données change, utilisez le système de courrier électronique/URL, et non RSS .
Les clients RSS demandent et lisent périodiquement (toutes les heures ?) le document RSS XML pour rechercher des modifications.
Ainsi, généralement, un client RSS ne détectera pas rapidement une modification apportée à un ensemble de données (30 minutes en moyenne ?).
En revanche, le système d'abonnement par e-mail/URL agit immédiatement chaque fois ERDDAP détecte une modification dans un ensemble de données.
L'approche plus proactive du système de courrier électronique/URL est également beaucoup plus efficace :
vous pourrez peut-être configurer votre client RSS pour qu'il vérifie les modifications toutes les minutes (ne le faites pas !), mais cela ne ferait que conduire à de nombreuses requêtes inutiles.
au serveur ERDDAP et il ne détecterait toujours pas les changements immédiatement.
 
 (pages Web avec des formulaires pour les humains utilisant des navigateurs)
 (avec
services pour programmes informatiques).
 - et
ROA 
 -liens de style pour rendre ses services accessibles aux programmes informatiques.
), et l'envoyer au client.
Pour de nombreuses sources de données, cela signifie que la première partie des données (par exemple, celles du premier capteur) parvient au client en quelques secondes au lieu de quelques minutes (par exemple, après la récupération des données du dernier capteur), rassurant ainsi le client.
les données arrivent.
Du point de vue de la mémoire, cela permet de traiter simultanément de nombreuses requêtes volumineuses (chacune supérieure à la mémoire disponible).
 :
Mais ERDDAP a également la capacité d'obtenir activement toutes les données disponibles à partir d'une source de données distante et
de stocker une copie locale des données .
Technologie Push 
 :
En utilisant
les services d'abonnement d' ERDDAP, d'autres serveurs de données peuvent être avertis dès que de nouvelles données sont disponibles afin qu'ils puissent demander les données (en extrayant les données).
EDDGrid FromErddap et
EDDTableFromErddap d' ERDDAP utilisent les services d'abonnement et
le système de signalisation d' ERDDAP afin qu'ils soient immédiatement avertis lorsque de nouvelles données sont disponibles.
Vous pouvez les combiner à bon escient :
si vous enroulez une copie EDDGrid autour d'un ensemble de données EDDGrid FromErddap (ou enroulez une EDDTableCopy autour d'un ensemble de données EDDTableFromErddap), ERDDAP créera et conservera automatiquement une copie locale de l'ensemble de données d'un autre ERDDAP .
Étant donné que les services d'abonnement fonctionnent dès que de nouvelles données sont disponibles, la technologie push diffuse les données très rapidement (en quelques secondes).
Cette architecture confie à chaque administrateur ERDDAP la responsabilité de déterminer d'où proviennent les données de son ERDDAP .
D'autres administrateurs ERDDAP peuvent faire de même.
Il n’y a pas besoin de coordination entre les administrateurs.
Si de nombreux administrateurs ERDDAP se connectent ERDDAP uns aux autres, un réseau de distribution de données est formé.
Les données seront diffusées rapidement, efficacement et automatiquement depuis les sources de données (ERDDAP et autres serveurs) vers les sites de redistribution de données (ERDDAP ) n'importe où sur le réseau.
Un ERDDAP donné peut être à la fois une source de données pour certains ensembles de données et un site de redistribution pour d’autres ensembles de données.
Le réseau résultant est à peu près similaire aux réseaux de distribution de données mis en place avec des programmes comme
IDD/IDM d' Unidata 
, mais moins rigidement structuré.
 
DAP ? OPeNDAP ? DODS ? ERDDAP ? Quelle est la différence? Ma compréhension (de Bob) est la suivante :
DODS (Distributed Oceanographic Data System) a été créé dans les années 1990, avant l'apparition de http : (!). Le système DODS a créé et utilisé le protocole dods : sur Internet. Lorsque HTTP est arrivé et a connu un tel succès, ils sont passés de dods: à http:.
À un moment donné, ils ont réalisé que le système était utile pour bien plus que de simples données océanographiques.
Ils ont donc abandonné ce nom DODS (bien qu'il perdure dans certains codes) et ont formé une petite organisation appelée
OPeNDAP 
 et écrit la
spécification DAP (Data Access Protocol) 
, qui standardise le format des demandes de métadonnées et/ou de données, et les réponses avec les métadonnées et/ou les données.
OPeNDAP (l'organisation) gère toujours DAP (la spécification) et est l'auteur de Hyrax (le serveur de données qui est souvent appelé à tort OPeNDAP ).
Hyrax, THREDDS, GRADS, ERDDAP et autres sont des serveurs de données (logiciels) qui implémentent DAP . Ils mettent chacun en œuvre un sous-ensemble de DAP mais font d’autres choses de manière très différente.
ERDDAP utilise du code (dans le répertoire "dods") (en fait écrit par Jake Hamby du NASA JPL) pour certaines fonctionnalités de lecture de données à partir de serveurs DAP externes.
ERDDAP utilise son propre code pour écrire les réponses DAP .
 
ERDDAP est-il une solution aux problèmes de distribution/accès aux données de chacun ?
Non.
ERDDAP essaie de trouver un point idéal qui soit une très bonne solution à la plupart des problèmes de distribution de données auxquels nous avons été confrontés.
ERDDAP adopte une approche middleware :
il peut obtenir des données provenant de nombreux types différents de serveurs de données distants et peut transmettre ces données aux clients dans de nombreux formats de fichiers différents.
Il est conçu pour être une solution agnostique qui cherche à rendre interopérables d'autres serveurs de données (OPeNDAP, SOS, OBIS, WMS, ...).
Existe-t-il un serveur de données parfait qui répond parfaitement aux besoins de chacun ?
Nous ne le pensons pas.
Et même si vous pensez qu’il y en a ou qu’il y en aura, il faudra beaucoup de temps avant que tout le monde n’y adopte, voire jamais.
D’ici là, ERDDAP est disponible dès maintenant pour rendre d’autres serveurs de données interopérables et servir les données dès maintenant.
ERDDAP peut gérer la plupart des ensembles de données tels quels, mais pas tous. Ce n'est pas que les ensembles de données restants (par exemple, les données du modèle utilisant une projection de sphère cubique) ne soient pas importants. C'est juste que l'objectif d' ERDDAP de renvoyer les données dans des formats de fichiers courants (dont certains sont assez simples) exclut une structure de données interne plus complexe. Les groupes de chercheurs travaillant avec des structures de données plus complexes disposent souvent déjà de serveurs de données spécialisés et de logiciels clients spécialisés adaptés aux besoins de leur communauté. ERDDAP, en tant que serveur de données à usage général, ne cherche pas à rivaliser avec ces serveurs de données spécialisés. Ils s'adaptent aux besoins de leur communauté et font un excellent travail. Cependant, ces ensembles de données ne sont souvent « compris » que par les logiciels spécialisés de cette communauté.
Une solution de contournement pour les ensembles de données complexes :
ERDDAP dispose d'un moyen de gérer des ensembles de données complexes qu'il ne peut pas gérer directement.
Tout comme une
base de données relationnelle 
 peut stocker un ensemble de données complexe en utilisant une seule structure de données simple (une table), ERDDAP peut servir les données d'ensembles de données plus complexes en divisant l'ensemble de données source en quelques ensembles de données ERDDAP, chacun avec des structures de données simples et similaires.
Par exemple, certains ensembles de données de modèles environnementaux maillés peuvent être stockés dans ERDDAP en plaçant les variables de surface de la mer ([temps][latitude][longitude]) dans un seul ensemble de données ERDDAP, et en plaçant les variables avec l'altitude ([temps][altitude][ latitude][longitude]) dans un autre ensemble de données ERDDAP .
Nous savons que ce n'est pas idéal, mais il est nécessaire de permettre ERDDAP de renvoyer des données dans des formats de fichiers courants (dont certains sont assez simples).
Une autre approche pour traiter des ensembles de données complexes (par exemple, pour les données de modèle utilisant une projection de sphère cubique) consiste également à proposer une version reprojetée de l'ensemble de données ([temps] [altitude] [latitude] [longitude]) avec laquelle ERDDAP peut travailler facilement.
Ces structures de données plus simples ne sont pas destinées à remplacer les structures de données d'origine, mais elles peuvent constituer un moyen utile de distribuer les données à un public plus large.
 
Dans quelle mesure le projet ERDDAP est-il durable ?
ERDDAP est très durable.
Certaines personnes sont surprises et déçues d'apprendre ERDDAP est principalement développé par une seule personne (Bob Simons, maintenant Chris John).
[À propos, les opinions sur cette page Web sont mes opinions personnelles et ne reflètent pas nécessairement la position du gouvernement ou de l' National Oceanic and Atmospheric Administration .] Ils craignent que si quelque chose m'arrive, ce sera la fin de ERDDAP .
Ce n’est tout simplement pas vrai.
Le positionnement de ERDDAP en matière de durabilité à long terme est excellent et proche du meilleur possible.
Oui, je suis le développeur principal d' ERDDAP . Je suis un employé fédéral entièrement financé. Mon financement n'est pas de l'argent « doux », donc je ne reçois pas de subventions ni ne dépends de celles-ci. Je passe plus de la moitié de mon temps à développer ERDDAP . Le reste de mon temps est consacré à la gestion d’ensembles de données. Ce travail est utile pour ERDDAP car j'ai besoin de travailler avec des ensembles de données réels afin de savoir en détail ce que ERDDAP doit faire. Mes patrons soutiennent pleinement mon travail sur ERDDAP car il fait ce pour quoi j'ai été embauché : permettre aux scientifiques halieutiques (principalement, mais vraiment à tout le monde) d'obtenir plus facilement des données scientifiques provenant de diverses sources.
Ce qui est miraculeux avec les logiciels, c'est qu'ils ne coûtent rien à dupliquer. Donc, pour faire mon travail, j'écris ERDDAP pour une utilisation chez ERD . Je pense que c'est la meilleure façon possible pour moi de faire mon travail. Cette seule raison justifie les dépenses liées au développement ERDDAP . (Je pense qu'il pourrait être démontré ERDDAP a fait gagner plus de temps aux scientifiques NOAA que j'en ai passé à développer ERDDAP . Temps = Argent.) Mais l'avantage secondaire est que toute autre organisation peut télécharger, installer et utiliser ERDDAP gratuitement pour distribuer son données scientifiques.
Plus de 90 organisations dans au moins 14 pays utilisent ERDDAP . Il existe peut-être un déjeuner gratuit.
ERDDAP est un programme Java .
Le code source de chaque version est sur
GitHub 
, le système le plus couramment utilisé pour les projets logiciels collaboratifs.
Crédits Les crédits ERDDAP sont désormais disponibles sur une
page séparée .
J'espère que d'autres contribueront au code à l'avenir.
S'il m'arrive quelque chose, mes patrons embaucheront un remplaçant dans le but précis qu'il continue le développement d' ERDDAP .
De plus, j'essaie d'écrire du code très propre.
J'écris des commentaires Java Doc.
J'écris des commentaires dans le code.
J'ai choisi les noms de variables avec soin.
Je suis les directives de formatage Java .
Tout cela est un effort pour rendre le code plus lisible, pour les autres programmeurs qui veulent le comprendre et/ou le modifier, et pour moi, car, dans un an ou deux, j'aurai oublié les détails du comment et du pourquoi du code.
a été écrit tel quel.
Un code propre avec de bons commentaires facilite mon travail en cours sur ERDDAP, je suis donc fortement incité à écrire du code propre avec de bons commentaires.
Mais toutes mes réponses jusqu’à présent ne sont pas très importantes. Une seule chose qui est vraiment importante.
Une seule chose garantit la durabilité d' ERDDAP ou de tout projet logiciel :
ERDDAP soit
un logiciel libre et open source (FOSS).
 .
Plus précisément, ERDDAP utilise
des licences logicielles compatibles Apache 
, afin que chacun puisse faire ce qu'il veut avec le code.
Pourquoi est-ce important ?
On pourrait penser que les logiciels seront disponibles de manière fiable à l’avenir parce qu’ils sont soutenus par une grande entreprise.
Mais Google, par exemple, a abandonné de nombreux projets (voici une liste 
).
Je ne veux pas m'en prendre à Google parce que j'aime vraiment Google et qu'il finance un grand nombre de grands projets open source.
Microsoft a arrêté des projets.
Apple a abandonné ses projets.
… Le fait est que le simple soutien d'une grande entreprise ne garantit pas la poursuite du projet.
Les utilisateurs de ce logiciel n’ont pas de chance, à moins que le logiciel ne soit (et soit donc toujours) un logiciel libre et open source (FOSS).
Ensuite, chaque fois qu’un seul développeur suscite l’intérêt, le projet peut et continuera d’évoluer.
FOSS est une police d’assurance.
En fait, le FOSS est la seule police d’assurance, la seule assurance qui compte.
FOSS garantit qu'il y a toujours une voie à suivre pour le logiciel.
C’est un droit que personne ne pourra jamais lui retirer.
On pourrait également penser que les logiciels dotés d’une grande équipe de développeurs seront plus durables que les logiciels dotés d’un seul développeur principal. Mais de nombreux développeurs ont généralement besoin de beaucoup de financement. Je connais un projet célèbre et assez important avec 10 développeurs (je ne les embarrasserai pas en les nommant) qui court constamment un grave danger d'arrêter le projet parce qu'ils n'ont pas suffisamment de financement. Ils comptent sur des subventions. Ils sont toujours en déficit. Leur patron les a toujours renfloués à la dernière minute, mais il en a vraiment marre de les renflouer. Donc s’ils ne parviennent pas à récolter un million de dollars par an en subventions (ou si le mécène est trop fatigué de les renflouer), ils arrêteront. Et le groupe ne conçoit pas moins de 10 développeurs. Chaque développeur a un rôle à jouer dans son groupe. À la lumière de cela, il me semble que c'est un bon signe ERDDAP puisse être, et est, activement développé par un seul développeur principal (qui est entièrement financé) avec l'aide non officielle de quelques autres. En fait, ce serait un mauvais signe si ERDDAP nécessitait plusieurs développeurs. Le fait que ERDDAP n'ait qu'un seul développeur principal signifie qu'il ne s'agit pas d'une tâche énorme qui nécessite un financement massif et continu ; il s'agit d'une tâche relativement modeste qui nécessite un minimum d'efforts et de financement. C'est plus durable, pas moins.
On pourrait penser que faire appel à une entreprise sous-traitante pour écrire des logiciels est une bonne idée. Moyennant des frais, ils fourniront des développeurs et promettront une continuité (ce qui est une bonne chose à moins/jusqu'à ce qu'ils fassent faillite). Mais ils vous ont aussi un baril : vous devez leur payer ce qu'ils demandent sinon il n'y a plus de développement, à moins que le logiciel soit un FOSS et que vous les payiez simplement pour travailler sur le code. Avec FOSS, vous avez toujours le choix quant à la manière d’avancer. Parce ERDDAP est un FOSS, les entrepreneurs sont toujours une bonne option pour vous ou pour n'importe qui en ce qui concerne ERDDAP : si quelque chose m'arrive (le seul développeur principal), ou si je n'ai pas le temps d'apporter les modifications que vous souhaitez, ou si je prenez votre retraite et vous n'aimez pas le travail de mon remplaçant, vous pouvez toujours faire appel à une entreprise contractante pour apporter les modifications que vous souhaitez (ou les effectuer vous-même).
En résumé, ERDDAP présente les deux caractéristiques de durabilité qui comptent le plus :
Comment citer un ensemble de données dans un article
Il est important de faire savoir aux lecteurs comment vous avez obtenu les données que vous avez utilisées dans votre article.
Pour chaque ensemble de données que vous avez utilisé, veuillez consulter les métadonnées de l'ensemble de données dans la section Structure des attributs de l'ensemble de données au bas de la page .html de l'ensemble de données, par exemple :
https://coastwatch.pfeg.noaa.gov/erddap/griddap/jplMU RSS T41.html .
Les métadonnées incluent parfois un format de citation requis ou suggéré pour l'ensemble de données.
Les métadonnées « licence » répertorient parfois des restrictions sur l'utilisation des données.
Pour générer une citation pour un ensemble de données :
Si vous considérez l'ensemble de données comme un article scientifique, vous pouvez générer une citation basée sur l'auteur (voir les métadonnées « nom_créateur » ou "institution" ), la date à laquelle vous avez téléchargé les données, le titre (voir les métadonnées "title" ), et l'éditeur (voir les métadonnées "publisher_name").
Si possible, veuillez inclure la ou les URL spécifiques utilisées pour télécharger les données.
Si les métadonnées de l'ensemble de données incluent un
identifiant d'objet numérique (DOI ) 
, veuillez l'inclure dans la citation que vous créez.
 
Comment citer ERDDAP dans un article
Si vous souhaitez citer ERDDAP lui-même dans un article scientifique, veuillez utiliser quelque chose comme
Simons, RA et Chris John.
2022.
ERDDAP .
https://coastwatch.pfeg.noaa.gov/erddap .
Monterey, Californie :
NOAA / NMFS / SWFSC / ERD .
Que signifie l'acronyme « ERDDAP » ?
« ERDDAP » était autrefois un acronyme, mais il a dépassé la description originale.
Maintenant, s'il vous plaît, considérez-le simplement comme un nom, pas comme un acronyme.
 
Lignes directrices pour les systèmes de distribution de données
Les opinions de Bob sur la conception et l'évaluation des systèmes de distribution de données peuvent être trouvées
ici .
 
Vous pouvez configurer votre propre serveur ERDDAP et servir vos propres données.
 et en cliquant sur "Demander l'adhésion".
Une fois que vous êtes membre, vous pouvez y poster votre question ou effectuer une recherche pour voir si la question a déjà été posée et répondue.
AVIS DE NON-RESPONSABILITÉ : Les opinions exprimées sur cette page Web sont celles de Bob Simons et ne reflètent pas nécessairement la position du gouvernement ou de la National Oceanic and Atmospheric Administration .