ERDDAP > Informations
ERDDAP est un serveur de données qui vous offre un moyen simple et cohérent de télécharger des sous-ensembles d'ensembles de données scientifiques dans des formats de fichiers courants et de créer des graphiques et des cartes.
Table des matières
Sans ERDDAP, lorsqu'une personne (ou un programme informatique) recherche sur Internet un type spécifique de données scientifiques (par exemple, des données satellitaires sur la température de la surface de la mer), il y a des problèmes ...
- Les ensembles de données intéressants sont difficiles à trouver car ils se trouvent sur de nombreux sites Web différents.
- Chaque site nécessite un protocole différent pour demander les données :
(par exemple,
HTTP GET ,
XML ,
SOAP+XML ,
OPeNDAP ,
WCS ,
WFS ,
SOS , ou un formulaire HTML) .
- Chaque site renvoie les données dans un format différent (par exemple, XML, SOAP+XML, flux de données binaires OPeNDAP, texte ASCII, HDF 4, HDF 5, NetCDF, ...) et ce n'est pas le format de fichier courant que vous vouloir.
- Les données de différents sites sont difficiles à comparer car les dates+heures sont exprimées dans différents formats, par exemple, "2 janvier 1985", "02-JAN-1985", "1/2/85", "2/1/85", "1985-01-02", ou jours depuis le 1er janvier 1980, ou ...).
- Pour une introduction rapide à ERDDAP,
regardez la première moitié de ce vidéo . (5 minutes)
Dans ce document, un scientifique télécharge les données de prévision des courants océaniques d' ERDDAP pour modéliser un déversement toxique dans l'océan à l'aide
du logiciel GNOME de la NOAA .
(dans 5 minutes!).
Cette vidéo montre :
Merci à Rich Signell.
(Une petite erreur dans la vidéo :
lors de la recherche d'ensembles de données, n'utilisez pas AND entre les termes de recherche.
C'est implicite.)
- ERDDAP peut obtenir des données à partir de sources de données locales (sur le disque dur du serveur) et distantes (accessibles via le Web).
Consultez la
liste des types de sources de données auxquelles ERDDAP peut accéder.
- ERDDAP peut servir de nombreux types de données scientifiques, pas seulement des données océanographiques.
ERDDAP est un serveur de données qui a été écrit au
NOAA
NMFS
SWFSC
ERD .
Le serveur ERDDAP de l' ERD sert des données océanographiques, mais ERDDAP (le programme) peut accéder et servir toutes les données maillées ou tabulaires.
- ERDDAP propose plusieurs façons de rechercher des ensembles de données intéressants.
Par exemple, la recherche en
texte intégral,
la recherche par catégorie (également appelée recherche à facettes) et la
recherche avancée .
La recherche avancée combine toutes les techniques de recherche et ajoute des recherches d'ensembles de données qui contiennent des données dans des plages de longitude, latitude et temps, afin que vous puissiez rechercher des ensembles de données en fonction de nombreux critères différents simultanément.
- ERDDAP vous permet de demander des données de manière standardisée,
quel que soit le protocole de requête de la source de données.
ERDDAP fournit également des formulaires d'accès aux données (pages Web) qui aident les humains à créer les demandes OPeNDAP .
OPeNDAP
Protocole d'accès aux données (DAP ) est l'une des
recommandations techniques d'accès aux données de la NOAA et une norme de la
NASA Earth Science Data and Information System (ESDIS) .
(OPeNDAP est génial !) ERDDAP traduit votre demande du 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.
Voir la liste des types de
fichiers griddap et la liste des types de
fichiers tabledap .
D'autres protocoles pour demander les données (par exemple,
WCS ) pourrait être ajouté à l'avenir.
ERDDAP est structuré pour ces ajouts et il ne semble pas y avoir d'obstacles.
- Les demandes de données maillées peuvent être effectuées en unités utilisateur.
Bien que les demandes de données maillées dans ERDDAP puissent être effectuées avec des indices de tableau (suivant la spécification OPeNDAP ), les demandes peuvent également être exprimées en unités utilisateur (par exemple, degrés est), en utilisant
une notation entre parenthèses, car les utilisateurs pensent dans ces unités, pas dans les indices.
- ERDDAP envoie les résultats dans des formats de fichiers de données courants.
Les résultats peuvent être renvoyés dans l'un des nombreux formats de fichiers de données courants (par exemple,
HTTP GET ,
XML ,
SOAP+XML ,
OPeNDAP ,
WCS ,
WFS ,
SOS , ou un formulaire HTML), au lieu du 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.
Comme il existe peu de structures de données internes, il est facile d'ajouter des pilotes de type fichier supplémentaires.
Consultez la liste complète des types de
fichiers de grille et
des types de fichiers de table .
- ERDDAP normalise les noms de variables et les unités de longitude, latitude, altitude, profondeur et temps dans les résultats.
Pour faciliter les comparaisons de données provenant de différents jeux de données, les requêtes et les résultats dans ERDDAP utilisent des unités d'axe espace/temps normalisées :
- la longitude est toujours exprimée en degrees_east .
- la latitude est toujours exprimée en degrees_north .
- l'altitude est toujours en mètres avec positive=up.
- la profondeur est toujours en mètres avec positif=bas.
- l'heure, lorsqu'elle est formatée sous forme de nombre, est toujours en "seconds since 1970-01-01T00:00:00Z" (appelée
heure Unix ou secondes d'époque, qui estUDUNITS -compatible) et, lorsqu'il est formaté en tant que 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 chaînes 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).
Cela permet de spécifier facilement des contraintes dans les requêtes sans avoir à se soucier du format des données d'altitude (les valeurs positives sont-elles vers le haut ou vers le bas ?
en mètres ou en brasses ?) 2, 1985","02-JAN-1985","1/2/85","2/1/85","1985-01-02", ou jours depuis le 1er janvier 1980).
Cela rend les résultats de différentes sources de données faciles à comparer.
ERDDAP a un utilitaire pour
convertir un temps numérique vers/depuis un temps de chaîne .
Pour plus de détails, voir
Comment ERDDAP traite le temps .
Étant donné que les variables de longitude, latitude, altitude et temps sont spécifiquement reconnues, ERDDAP est conscient des 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 communes pour l'écriture des unités de mesure sont :
- UDUNITSes ne constitue pas une approbation."> - de
Unidata , qui est utilisé dans
COARDS ,
CF , et
NetCDF fichiers de données.
Par exemple, UDUNITS propose de nombreuses options pour les degrés Celsius, notamment degree_C et degC .
- UCUM - le Code Unifié des Unités de Mesure.
OGC des services tels que
SOS ,
WCS , et
WMS se réfèrent souvent à UCUM comme UOM (unités de mesure).
Par exemple, UCUM n'a qu'une seule option sensible à la casse pour les degrés Celsius :
"Cel" .
Bien ERDDAP n'exige l'utilisation d'aucune des unités standard, la plupart des installations ERDDAP privilégient l'une ou l'autre.
(Administrateurs ERDDAP :
vous pouvez le spécifier avec la <units_standard> dans setup.xml.) Vous pouvez convertir UDUNITS vers/depuis les unités UCUM avec le convertisseur d'
unités ERDDAP .
Lorsque vous demandez des données ou un graphique à partir d'un ensemble de
données tabledap, vous pouvez ajouter &units("UDUNITS") ou &units("UCUM") à la fin de l'URL pour demander des unités UDUNITS ou UCUM.
Plus d'information
- ERDDAP peut ajouter ou modifier des métadonnées.
De nombreuses sources de données ont peu ou pas de
métadonnées (par exemple,
les métadonnées CF ) décrivant les données.
ERDDAP laisse (et encourage) l'administrateur à décrire les métadonnées qui seront ajoutées aux jeux de données et leurs variables à la volée.
Voir la
section addAttributes des
instructions pour les administrateurs .
- ERDDAP vous permet de demander des fichiers image .png et .pdf avec des graphiques et des cartes
des données en plus des données réelles.
Et Make A Graph d' ERDDAP vous permet de personnaliser les images.
Certaines utilisations spéciales de ces images sont :
- Demande de fichiers compressés
ERDDAP n'offre pas de résultats stockés dans des fichiers compressés (par exemple, .zip ou .gzip ) à moins que le fichier source ne soit déjà compressé.
Au lieu de cela, ERDDAP recherche l'
encodage d'acceptation dans l'en-tête de requête HTTP GET envoyé par le client.
Si un type de compression pris en charge (gzip, x-gzip ou deflate ) est trouvé dans la liste de codage d'acceptation, ERDDAP inclut content-encoding dans l'en-tête de réponse HTTP et compresse les données au fur et à mesure qu'il les transmet.
Il appartient 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.
D'autres clients (par exemple, les programmes Java) doivent le faire explicitement.
Avec curl, ajoutez --compressed à la ligne de commande pour dire à curl de demander une réponse compressée et la décompresser automatiquement.
- ERDDAP rend interopérables différents types de serveurs de données (OPeNDAP, OBIS, SOS, WMS, ...).
Différents types de serveurs de données sont utilisés dans différentes communautés scientifiques.
Dans un avenir prévisible, il est peu probable qu'un type devienne dominant et remplace les autres.
Ainsi ERDDAP agit comme un pont entre différents types de programmes clients (navigateurs web, IDV, Matlab, programmes netCDF, ODV, clients WMS, etc.) et les différents types de serveurs de données.
- ERDDAP accepte les demandes des clients pour des données dans différents formats (par exemple, OPeNDAP, WMS ).
- ERDDAP convertit une requête donnée dans le format de requête utilisé par le serveur de données source (par exemple, OPeNDAP, SOS, OBIS, ...) et l'envoie au serveur de données source.
- ERDDAP convertit les données de réponse du serveur de données source dans un format interne, y compris la conversion de toutes les données temporelles dans un format commun :
"seconds since 1970-01-01T00:00:00Z" .
- ERDDAP convertit les données du format interne dans le format de fichier demandé par le client (par exemple, .csv, Google Earth .kml, .htmlTable, .dods, .mat, .nc, ODV .txt, .png).
Les clients n'ont pas à s'inquiéter ou à connaître le type de serveur de données source.
Ils obtiennent simplement les données qu'ils veulent, dans le format de fichier qu'ils veulent.
- ERDDAP n'utilise que deux structures de données de base pour conserver les données.
- Comme il est difficile pour les clients humains et les clients informatiques de gérer un ensemble complexe de structures de jeux de données possibles, ERDDAP n'utilise que deux structures de données de base :
- Certes, toutes les données ne peuvent pas être exprimées dans ces structures, mais une grande partie le peut.
Les tableaux, en particulier, sont des structures de données très flexibles (regardez le succès phénoménal des bases de
données relationnelles programmes).
- Cela rend les requêtes de données plus faciles à construire.
- Cela permet aux réponses de données d'avoir une structure simple, ce qui facilite la diffusion des données dans une plus grande variété de types de fichiers standard (qui ne prennent souvent en charge que des structures de données simples).
C'est la raison principale pour laquelle nous avons créé l' ERDDAP de cette façon.
- Ceci, à son tour, rend très facile pour nous (ou pour quiconque) d'écrire un logiciel client qui fonctionne avec tous les ensembles de données ERDDAP .
- Cela facilite la comparaison des données provenant de différentes sources, par exemple pour une analyse intégrée des écosystèmes (AIE).
- Nous sommes très conscients que si vous avez l'habitude de travailler avec des données dans d'autres structures de données, vous pouvez d'abord penser que cette approche est simpliste ou insuffisante.
Mais toutes les structures de données ont des compromis.
Aucun n'est parfait.
Même les structures à tout faire ont leurs inconvénients :
leur utilisation est complexe et les fichiers ne peuvent être écrits ou lus qu'avec des bibliothèques logicielles spéciales.
Si vous acceptez suffisamment l'approche d' ERDDAP pour essayer de l'utiliser, vous constaterez peut-être qu'elle a ses avantages (notamment la prise en charge de plusieurs types de fichiers pouvant contenir les réponses de données).
Le
diaporama original de l' ERDDAP (en particulier le
diaporama sur les structures de données) aborde ces questions.
- Et même si cette approche vous semble étrange, la plupart des clients ERDDAP ne le remarqueront jamais - ils verront simplement que tous les ensembles de données ont une belle structure simple et ils seront reconnaissants de pouvoir obtenir des données provenant d'une grande variété de sources renvoyées dans une grande variété de formats de fichiers.
- ERDDAP propose des
e-mails/URL et
RSS services d'abonnement, afin que vous puissiez être averti chaque fois qu'un ensemble de données change.
- ERDDAP est très efficace pour détecter les modifications apportées aux ensembles de données maillées, car il peut détecter le changement des valeurs des axes (par exemple, les valeurs temporelles).
- ERDDAP n'est pas très efficace pour détecter les modifications apportées aux ensembles de données tabulaires, car il n'y a généralement pas de modification des métadonnées lorsque de nouvelles données sont ajoutées.
- ERDDAP détectera si un ensemble de données devient indisponible (mais peut-être pas immédiatement).
- ERDDAP détectera quand cet ensemble de données sera à nouveau disponible.
- ERDDAP ne fait aucune promesse quant à la pertinence ou à l'exactitude de ces services (voir
les CLAUSES DE NON-RESPONSABILITÉ d' ERDDAP).
Abonnements
par e-mail/URL (non disponible 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 par e-mail/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 les ensembles de données individuels (exemple) si cette installation ERDDAP prend en charge les abonnements par e-mail/URL.
(Programmateurs informatiques :
si vous écrivez des services Web, vous pouvez utiliser le système d'URL pour que ERDDAP informe immédiatement votre service Web chaque fois qu'un ensemble de données change.)
RSS Abonnements RSS est un système standard pour informer les utilisateurs lorsque le contenu d'un site Web a changé.
Les navigateurs Web modernes ont un client RSS intégré ou vous pouvez utiliser un
lecteur RSS séparé
.
ERDDAP propose un RSS 2.01 distinct pour chaque ensemble de données afin que vous puissiez savoir quand des ensembles de données intéressants ont changé.
Pour vous abonner au RSS d'un jeu de données, cliquez sur l'une des icônes RSS qui apparaissent à l'extrême droite des 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 peut être exactement ce que vous recherchez.
C'est une belle norme.
Mais si vous avez besoin de savoir dès que possible lorsqu'un ensemble de données change, utilisez le système de courrier électronique/URL, et non RSS .
Les clients RSS périodiquement (toutes les heures ?) demandent et lisent le document RSS XML pour rechercher les modifications.
Ainsi, généralement, un client RSS ne détectera pas rapidement une modification d'un ensemble de données (en moyenne 30 minutes ?).
En revanche, le système d'abonnement par e-mail/URL agit immédiatement chaque fois ERDDAP détecte une modification d'un ensemble de données.
L'approche plus proactive du système e-mail/URL est également beaucoup plus efficace :
vous pouvez configurer votre client RSS pour qu'il vérifie les modifications toutes les minutes (ne le faites pas !), mais cela conduirait simplement à de nombreuses demandes inutiles.
au serveur ERDDAP et il ne détecterait toujours pas les changements immédiatement.
- ERDDAP est une
application web (pages Web avec des formulaires pour les humains utilisant des navigateurs)
et un
webservice (avec
services pour programmes informatiques).
En fait, les formulaires des pages Web de l' ERDDAP ne font que générer des URL spécialement formées qui sont ensuite soumises aux services Web de l' ERDDAP .
- ERDDAP a
REST - et
ROA -des liens de style pour rendre ses services accessibles aux programmes informatiques.
Ces fonctionnalités peuvent être utilisées pour créer un autre service Web au-dessus d' ERDDAP (en faisant faire tout le travail à ERDDAP !).
ERDDAP n'est pas destiné à être un service d'exploration/graphique de données de haut niveau.
Au lieu de cela, ERDDAP est destiné à fournir des services pour ces sites Web et programmes.
Donc, si vous avez une idée pour une meilleure interface avec les données servies par l' ERDDAP, nous vous encourageons à créer votre propre application Web ou service Web et à utiliser ERDDAP comme base.
En savoir plus sur les services d' ERDDAP
pour les programmes informatiques .
- Sécurité - Par défaut, ERDDAP fonctionne comme un serveur entièrement public sans système de connexion et sans restriction d'accès aux données.
Cependant, un administrateur ERDDAP peut configurer ERDDAP pour restreindre l'accès à certains ou à tous les ensembles de données aux utilisateurs qui se connectent et auxquels certains rôles ont été attribués.
ERDDAP a des méthodes intégrées pour l'authentification (connexion).
Si l'authentification d'une installation ERDDAP est activée, il y aura un lien « connexion » en haut de chaque page Web.
Les utilisateurs n'ont jamais à se connecter pour accéder aux ensembles de données accessibles au public.
Les utilisateurs qui se sont connectés peuvent accéder aux ensembles de données publics et aux ensembles de données privés auxquels ils sont autorisés à accéder.
Les utilisateurs doivent utiliser https :
(Secure Sockets Layer) pour se connecter et accéder aux ensembles de données privés.
Les ensembles de données peuvent être configurés pour avoir des graphiques et des cartes accessibles au public, mais les données ne sont accessibles qu'aux utilisateurs autorisés.
(plus d'informations)
- ERDDAP traite les données par morceaux.
Pour économiser de la mémoire (un gros problème) et faire en sorte que les réponses commencent plus tôt, ERDDAP traite les demandes de données par morceaux - récupérant à plusieurs reprises un morceau de données de la source, le nettoyant (par exemple, en ajoutant
des métadonnées ), et l'envoyer au client.
Pour de nombreuses sources de données, cela signifie que le premier bloc de données (par exemple, du premier capteur) parvient au client en quelques secondes au lieu de minutes (par exemple, après que les données du dernier capteur ont été récupérées), rassurant le client que 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).
- ERDDAP a une structure modulaire.
ERDDAP est structuré de sorte qu'il est facile d'ajouter différents composants (par exemple, une classe pour demander des données à un serveur SOS et les stocker sous forme de table).
Le nouveau composant bénéficie alors de toutes les fonctionnalités et capacités du parent (par exemple, la prise en charge des requêtes OPeNDAP et la possibilité d'enregistrer les données dans plusieurs formats de fichiers courants).
- Réseaux de diffusion de données / de distribution de données :
Push and Pull
Normalement, ERDDAP joue le rôle d'intermédiaire :
il reçoit une demande d'un utilisateur ; obtient des données à partir d'une source de données distante ; reformate les données ; et l'envoie à l'utilisateur.
Technologie de Pull :
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 de 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 tirant les données).
ERDDAP
EDDGrid et EDDTableFromErddap d'
ERDDAP utilisent les services d'abonnement et
le système de signalisation d' ERDDAP afin qu'ils soient avertis immédiatement lorsque de nouvelles données sont disponibles.
Vous pouvez les combiner à bon escient :
si vous encapsulez une copie EDDGrid autour d'un ensemble de données EDDGrid FromErddap (ou encapsulez une EDDTableCopy autour d'un ensemble de données EDDTableFromErddap), ERDDAP créera et conservera automatiquement une copie locale d'un autre ensemble de données ERDDAP .
Parce 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 charge chaque administrateur ERDDAP 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 d' ERDDAP se connectent aux ERDDAP des autres, un réseau de distribution de données est formé.
Les données seront diffusées rapidement, efficacement et automatiquement à partir des sources de données (ERDDAP et autres serveurs) vers les sites de redistribution des données (ERDDAP ) n'importe où dans le réseau.
Un ERDDAP donné peut être à la fois une source de données pour certains jeux de données et un site de redistribution pour d'autres jeux 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 :
DODS (Distributed Oceanographic Data System) a été créé dans les années 1990, avant qu'il n'y ait 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 plus que de simples données océanographiques.
Alors ils ont abandonné ce nom DODS (bien qu'il vive dans un certain code), 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) dirige 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 implémentent chacun un sous-ensemble de DAP mais font d'autres choses très différemment.
ERDDAP utilise du code (dans le répertoire "dods") (écrit en fait par Jake Hamby au 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 .
L' ERDDAP est-il une solution aux problèmes de distribution/accès aux données de chacun ?
Non.
ERDDAP essaie de trouver une solution idéale à 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 à partir de nombreux types différents de serveurs de données distants et il peut fournir ces données aux clients dans de nombreux formats de fichiers différents.
Il est conçu comme 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 passe, voire jamais.
D'ici là, ERDDAP est disponible dès maintenant pour rendre d'autres serveurs de données interopérables et pour servir des données dès maintenant.
ERDDAP peut gérer la plupart/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 de modèle utilisant une projection de sphère cubique) ne sont 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 ont souvent déjà des serveurs de données spécialisés et des logiciels clients spécialisés qui sont adaptés aux besoins de leur communauté.
ERDDAP, en tant que serveur de données à usage général, ne cherche pas à concurrencer ces serveurs de données spécialisés.
Ils sont adaptés 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 a 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 quadrillés peuvent être stockés dans ERDDAP en mettant les variables de surface de la mer ([time][latitude][longitude]) dans un ensemble de données ERDDAP, et en mettant les variables avec l'altitude ([time][altitude][ latitude][longitude]) dans un autre jeu de données ERDDAP .
Nous savons que ce n'est pas idéal, mais il est nécessaire de permettre à ERDDAP de renvoyer les 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) est d'offrir également une version reprojetée de l'ensemble de données ([heure][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 être un moyen utile de distribuer les données à un public plus large.
Quelle est la pérennité du projet ERDDAP ?
ERDDAP est très durable.
Certaines personnes sont surprises et déçues d'apprendre que ERDDAP est principalement développé par une seule personne (moi, Bob Simons).
[Soit dit en passant, les opinions sur cette page Web sont mes opinions personnelles et ne reflètent pas nécessairement une position du gouvernement ou de l' National Oceanic and Atmospheric Administration .] Ils craignent que s'il m'arrive quelque chose, ce sera la fin de ERDDAP .
Ce n'est tout simplement pas vrai.
Le positionnement de l' ERDDAP pour la durabilité à long terme est excellent, et proche du meilleur qu'il puisse être.
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 ou ne compte pas sur des subventions.
Je passe plus de la moitié de mon temps à développer ERDDAP .
Le reste de mon temps est consacré à la gestion des ensembles de données.
Ce travail est utile pour ERDDAP car j'ai besoin de travailler avec de vrais jeux de données 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 des données scientifiques de diverses sources.
Ce qui est miraculeux avec un logiciel, c'est qu'il ne coûte rien à dupliquer. Donc pour faire mon travail, j'écris ERDDAP pour une utilisation à l' ERD .
Je pense que c'est la meilleure façon pour moi de faire mon travail.
Cette seule raison justifie les dépenses de développement de ERDDAP .
(Je pense qu'il pourrait être démontré ERDDAP a fait gagner plus de temps aux scientifiques de la NOAA que ce que j'ai passé à développer ERDDAP .
Time=Money.) Mais l'avantage secondaire est que toute autre organisation peut
télécharger, installer et utiliser ERDDAP gratuitement pour distribuer leur données scientifiques.
Plus de 90 organisations dans au moins 14 pays utilisent ERDDAP .
Peut-être qu'il existe une chose telle qu'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 de logiciels collaboratifs.
Jusqu'à présent, quatre autres groupes ont contribué au code de l' ERDDAP :
- EDDGrid FromMergeIRFiles.java a été écrit et contribué par Jonathan Lafite et Philippe Makowski de R.Tech Engineering (licence :
open source protégé par copyright).
Merci Jonathan et Philippe !
- .dataTable (TableWriterDataTable.java) a été écrit et contribué par Roland Schweitzer de NOAA (licence :
open source protégé par copyright).
Merci Roland !
- La version initiale de la fonctionnalité de
balisage sémantique des ensembles de données avec json-ld (données liées JSON) (et donc tout le travail acharné de conception du contenu) a été écrite et contribuée (licence :
open source protégé par copyright) par Adam Leadbetter et Rob Fuller de le Marine Institute en Irlande.
Merci Adam et Rob !
- Le code du
filtre orderByMean dans tabledap et les modifications importantes apportées au code pour prendre en charge la
notation variableName/divisor:offset pour tous les filtres orderBy été écrits et contribués (licence :
open source sous copyright) par Rob Fuller et Adam Leadbetter du Marine Institute en Irlande.
Merci Rob et Adam !
- Le code pour trois nouveaux types de marqueurs (Borderless Filled Square, Borderless Filled Circle, Borderless Filled Up Triangle) a été fourni par Marco Alba de ETT / EMODnet Physics.
Merci Marco Alba.
J'espère que d'autres contribueront au code à l'avenir.
S'il m'arrive quelque chose, mes patrons embaucheront un remplaçant avec pour objectif précis qu'il continue le développement de l' ERDDAP .
De plus, j'essaie d'écrire un 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 d'autres programmeurs qui veulent le comprendre et/ou le changer, et pour moi, car, dans un an ou deux, j'aurai oublié les détails du comment et du pourquoi le code a été écrit tel qu'il était.
Un code propre avec de bons commentaires facilite mon travail en cours sur ERDDAP, donc j'ai une grande incitation à écrire un 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 pérennité de l' ERDDAP ou de tout projet logiciel :
ERDDAP est un logiciel
libre et ouvert (FOSS) .
Concrètement, ERDDAP utilise
des licences logicielles compatibles Apache , donc n'importe qui peut 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'une grande entreprise est derrière.
Mais Google, par exemple, a abandonné de nombreux projets (voici une liste ).
Je ne veux pas m'en prendre à Google parce que j'aime beaucoup Google et qu'ils financent un grand nombre de grands projets open source.
Microsoft a abandonné des projets.
Apple a interrompu 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 toujours) un logiciel libre et ouvert (FOSS).
Ensuite, chaque fois qu'un seul développeur s'y intéresse, le projet peut et continuera d'évoluer.
FOSS est une police d'assurance.
En fait, 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 peut retirer, jamais.
On pourrait également penser qu'un logiciel qui a une grande équipe de développeurs sera plus durable qu'un logiciel avec un développeur principal.
Mais beaucoup de 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 vais pas les embarrasser en les nommant) qui est constamment en danger sérieux d'arrêter le projet parce qu'ils n'ont pas assez de financement.
Ils dépendent 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 peuvent pas collecter un million de dollars par an en subventions (ou si le mécène est trop fatigué de les renflouer), ils s'arrêteront.
Et le groupe ne peut pas imaginer avoir 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 grand signe que ERDDAP peut ê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 ERDDAP n'ait qu'un seul développeur principal signifie que ce n'est pas une tâche énorme qui nécessite un financement continu massif ; il s'agit d'une tâche relativement petite qui nécessite un minimum d'efforts et de financement.
C'est plus durable, pas moins.
On pourrait penser que l'embauche d'une entreprise contractante pour écrire des logiciels est une bonne idée. Moyennant des frais, ils fourniront aux développeurs et promettent la continuité (ce qui est bien à moins/jusqu'à ce qu'ils fassent faillite).
Mais ils vous ont aussi sur un baril :
vous devez les payer ce qu'ils demandent ou il n'y a plus de développement, à moins que le logiciel ne soit FOSS et que vous ne les payiez que pour travailler sur le code.
Avec FOSS, vous avez toujours le choix sur la façon d'aller de l'avant.
Parce ERDDAP est FOSS, les sous-traitants sont toujours une bonne option pour vous ou n'importe qui en ce qui concerne ERDDAP :
s'il m'arrive quelque chose (le développeur principal), ou si je n'ai pas le temps de faire un changement que vous voulez, ou je prendre votre retraite et que vous n'aimez pas le travail de mon remplaçant, vous pouvez toujours engager une entreprise sous-traitante pour faire les changements que vous voulez (ou les faire vous-même).
En résumé, ERDDAP possède les deux caractéristiques de durabilité qui comptent le plus :
- ERDDAP est un petit projet (assez petit pour être géré par un développeur principal avec l'aide non officielle de quelques autres), il ne nécessite donc pas de ressources massives.
- ERDDAP est un logiciel libre et à code source ouvert, donc personne ne pourra jamais vous empêcher, vous ou quelqu'un d'autre, de travailler sur ERDDAP .
Je ne peux pas penser à une meilleure situation.
J'espère que cela apaise toutes les craintes que vous (ou quelqu'un d'autre) aviez au sujet de la durabilité de l' ERDDAP .
Si vous entendez des personnes remettre en question ou décourager l'utilisation d' ERDDAP parce qu'il n'y a qu'un seul développeur principal, veuillez les mettre au clair en les dirigeant vers la discussion ci-dessus à cette URL :
https://coastwatch.pfeg.noaa.gov/erddap/information.
html#durable .
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 obligatoire 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 "creator_name" 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 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
identificateur 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 2020.
ERDDAP .
https://coastwatch.pfeg.noaa.gov/erddap.
Monterey, Californie :
NOAA / NMFS / SWFSC / ERD .
Que signifie l'acronyme « ERDDAP » ?
"ERDDAP" était un acronyme, mais il est devenu trop grand pour cette description originale.
Maintenant, s'il vous plaît, considérez-le simplement comme un nom, pas un acronyme.
Directives 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 consultées
ici .
Vous pouvez
configurer votre propre serveur ERDDAP et servir vos propres données.
- Le petit effort pour mettre en place ERDDAP apporte de nombreux avantages.
- Si vous disposez déjà d'un service web pour diffuser vos données, vous pouvez paramétrer ERDDAP pour accéder à vos données via le service existant ou via les fichiers sources ou une base de données.
Du coup, les utilisateurs auront un autre moyen d'accéder à vos données et pourront télécharger les données dans des formats de fichiers supplémentaires ou sous forme de graphiques ou de cartes.
- Si vous avez des ensembles de données très demandés, vous pouvez installer
plusieurs ERDDAP qui fonctionnent ensemble pour évoluer et répondre aux besoins d'un grand centre de distribution de données.
Si vous avez des questions, des suggestions ou des commentaires sur ERDDAP en général (pas cette installation spécifique d' ERDDAP ), veuillez envoyer un e-mail à
bob dot simons at noaa dot gov et inclure l'URL ERDDAP directement liée à votre question ou commentaire.
Ou, vous pouvez rejoindre le groupe Google ERDDAP / liste de diffusion en visitant
https://groups.google.com/forum/#!forum/erddap 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 sur cette page Web sont des opinions personnelles de Bob Simons et ne reflètent pas nécessairement une position du gouvernement ou de la National Oceanic and Atmospheric Administration .