Trabajando con eldatasets.xmlArchivo
\[Esta página web sólo será de interésERDDAP™administradores.\]
Después de haber seguido elERDDAP™ Instrucciones de instalación, debe editar eldatasets.xmlarchivo en tomcat /content/erddap/ para describir los conjuntos de datos que suERDDAP™la instalación servirá.
Puedes ver un ejemplo.datasets.xmlen GitHub.
Introducción
Algunas Asambleas necesarias
Configuración de un conjunto de datosERDDAP™no es solo cuestión de apuntar al directorio o URL del conjunto de datos. Tienes que escribir un trozo de XML paradatasets.xmlque describe el conjunto de datos.
- Para conjuntos de datos redondeados, con el fin de que el conjunto de datos se ajuste aERDDAP's estructura de datos para datos redondeados, usted tiene que identificar un subconjunto de las variables del conjunto de datos que comparten las mismas dimensiones. (¿Por qué? ¿Cómo?)
- Los metadatos actuales del conjunto de datos se importan automáticamente. Pero si quieres modificar esos metadatos o añadir otros metadatos, tienes que especificarlo endatasets.xml. YERDDAP™necesidades de otros metadatos, incluidosatributos globales (tales comoinfoUrl, institución,sourceUrl, resumen y título) yatributos variables (tales comolong\_namey unidades) . Así como los metadatos que se encuentran actualmente en el conjunto de datos agregan información descriptiva al conjunto de datos, los metadatos solicitados porERDDAP™añade información descriptiva al conjunto de datos. Los metadatos adicionales son una buena adición a su conjunto de datos y ayudaERDDAP™hacer un mejor trabajo de presentar sus datos a los usuarios que no están familiarizados con él.
- ERDDAP™necesita que hagas cosas especiales conlongitud, latitud, altitud (o profundidad) , y variables de tiempo.
Si usted compra en estas ideas y gasta el esfuerzo para crear el XML paradatasets.xml, usted consigue todas las ventajas deERDDAP™, incluyendo:
- Búsqueda completa de texto para conjuntos de datos
- Buscar conjuntos de datos por categoría
- Formularios de acceso a datos ( datasetID HTML) para que pueda solicitar un subconjunto de datos en muchos formatos de archivo diferentes
- Formularios para solicitar gráficos y mapas ( datasetID .graph)
- Web Map Service (WMS) para conjuntos de datos redondeados
- RESTfulacceso a sus datos
Hacer eldatasets.xmltoma considerable esfuerzo para los primeros pocos datasets, pero se hace más fácil . Después del primer conjunto de datos, a menudo puede reutilizar mucho de su trabajo para el próximo conjunto de datos. Afortunadamente,ERDDAP™viene con dosHerramientaspara ayudarle a crear el XML para cada conjunto de datosdatasets.xml. Si te atascas, veamos nuestrasección sobre la obtención de apoyo adicional.
Proveedor de datos Formulario
Cuando un proveedor de datos viene a usted esperando añadir algunos datos a suERDDAP, puede ser difícil y consume mucho tiempo para recoger todos los metadatos (información sobre el conjunto de datos) necesario para agregar el conjunto de datosERDDAP. Muchas fuentes de datos (por ejemplo, archivos .csv, Archivos de Excel, bases de datos) no tienen metadatos internos, así queERDDAP™tiene un Formulario de Proveedor de Datos que reúne metadatos del proveedor de datos y da al proveedor de datos alguna otra orientación, incluyendo una amplia orientación paraDatos en bases de datos. La información presentada se convierte endatasets.xmlformato y luego correo electrónico alERDDAP™administrador (Tú) y escrito (apéndice) a bigParentDirectory /logs/dataProviderForm.log . Así, el formulario semiautomatiza el proceso de conseguir un conjunto de datos enERDDAP, pero elERDDAP™administrador todavía tiene que completar eldatasets.xmly tratar con obtener el archivo de datos (s) del proveedor o conectarse a la base de datos.
La presentación de archivos de datos reales de fuentes externas es un gran riesgo de seguridad, por lo queERDDAP™no trata de eso. Usted tiene que encontrar una solución que funciona para usted y el proveedor de datos, por ejemplo, correo electrónico (para pequeños archivos) , tire de la nube (por ejemplo, DropBox o Google Drive) , un sitio de sftp (con contraseñas) , o zapatilla Net (una unidad USB o disco duro externo) . Probablemente sólo deberías aceptar archivos de personas que conoces. Usted necesitará escanear los archivos para virus y tomar otras precauciones de seguridad.
No hay un enlace enERDDAP™al Formulario de Proveedor de Datos (por ejemplo, enERDDAP™página principal) . En su lugar, cuando alguien le dice que quieren que sus datos sean servidos por suERDDAP, puede enviarles un correo electrónico diciendo algo como: Sí, podemos conseguir sus datosERDDAP. Para empezar, rellena el formulario https://yourUrl/erddap/dataProviderForm.html (ohttp://sihttps://no está habilitado) . Después de que termines, te contactaré para conocer los detalles finales. Si sólo quieres mirar el formulario (sin llenarlo) , puedes ver el formulario enERD'sERDDAP:Introducción,Parte 1,Segunda parte,Parte 3, yParte 4. Estos enlaces sobreERD ERDDAP™envíame información a mí, no a ti, así que no envíes información con ellos a menos que realmente quieras agregar datos alERD ERDDAP.
Si desea eliminar el Formulario de Proveedor de Datos de suERDDAP™, poner
<dataProviderFormActive>false</dataProviderFormActive>
en su archivo setup.xml.
El impulso para esto fueNOAA2014Acceso público a resultados de investigación (PARR) Directiva, que requiere que todoNOAAdatos ambientales financiados a través de dólares de los contribuyentes se ponen a disposición mediante un servicio de datos (no sólo archivos) dentro de 12 meses de creación. Así que hay mayor interés en utilizarERDDAP™para poner los conjuntos de datos disponibles a través de un servicio ASAP. Necesitamos una manera más eficiente de tratar con un gran número de proveedores de datos.
¿Retroalimentación/Sugerencias? Este formulario es nuevo, así que por favor emailerd dot data at noaa dot govsi usted tiene algún comentario o sugerencias para mejorar esto.
Herramientas
ERDDAP™viene con dos programas de línea de comandos que son herramientas para ayudarle a crear el XML para cada conjunto de datos que desea suERDDAP™para servir. Una vez que hayas preparadoERDDAP™y ejecutarlo (al menos una vez) , usted puede encontrar y utilizar estos programas en tomcat /webapps/erddap/WEB-INF directory. Hay scripts Linux/Unix shell (con la extensión .sh) y scripts de Windows (con la extensión .bat) para cada programa.\[En Linux, ejecute estas herramientas como el mismo usuario (¿Tomcat?) que correrá Tomcat.\]Cuando ejecutas cada programa, te hará preguntas. Para cada pregunta, escriba una respuesta, luego presione Enter. O pulse ^C para salir de un programa en cualquier momento.
¿El programa no funcionará?
- Si tienes un programa desconocido (o similares) mensaje de error, el problema es probablemente que el sistema operativo no pudo encontrarJava. Tienes que averiguar dóndeJavaestá en su computadora, a continuación, editar la referencia java en el archivo .bat o .sh que está tratando de utilizar.
- Si usted consigue un archivo de tarro no encontrado o clase no se encontró mensaje de error, entoncesJavano podía encontrar una de las clases enumeradas en el archivo .bat o .sh que está tratando de utilizar. La solución es averiguar dónde está ese archivo .jar y editar la referencia de java en el archivo .bat o .sh.
- Si está usando una versión deJavaque es demasiado viejo para un programa, el programa no funcionará y verá un mensaje de error como
Excepción en hilo "main" java.lang.UnsupportedClassVersionError:
algunos/clase/nombre : Versión principal sin soporte algunosNúmero
La solución es actualizar a la versión más reciente deJavay asegúrese de que el archivo .sh o .bat para el programa lo está utilizando.
Las herramientas imprimen varios mensajes de diagnóstico:
- La palabra "ERROR" se utiliza cuando algo salió tan mal que el procedimiento no pudo completar. Aunque es molesto obtener un error, el error le obliga a lidiar con el problema.
- La palabra "WARNING" se utiliza cuando algo salió mal, pero el procedimiento fue capaz de ser completado. Son bastante raros.
- Cualquier otra cosa es sólo un mensaje informativo. Puede añadir \-verbose a laGenerarDatasetsXmloDasDdslínea de comandos para obtener mensajes informativos adicionales, que a veces ayuda a resolver problemas.
Las dos herramientas son una gran ayuda, pero todavía debe leer todas estas instrucciones en esta página cuidadosamente y tomar decisiones importantes usted mismo.
GenerarDatasetsXml
- GenerarDatasetsXml es un programa de línea de comandos que puede generar un borrador aproximado del XML de conjunto de datos para casi cualquier tipo de conjunto de datos.
We STRONGLY RECOMMEND that you use GenerateDatasets Xml en lugar de crear pedazos dedatasets.xmla mano porque:
- GenerarDatasets Xml trabaja en segundos. Hacer esto a mano es al menos una hora de trabajo, incluso cuando sabes lo que estás haciendo.
- GenerarDatasets Xml hace un mejor trabajo. Hacer esto a mano requiere un amplio conocimiento de cómoERDDAP™funciona. Es poco probable que usted hará un mejor trabajo a mano. (Bob Simons siempre usa GenerateDatasets Xml para el primer borrador, y escribióERDDAP.)
- GenerarDatasets Xml siempre genera un trozo válido dedatasets.xml. Cualquier pedazo dedatasets.xmlque escriba probablemente tendrá al menos algunos errores que prevenganERDDAP™desde la carga del conjunto de datos. A menudo toma horas para diagnosticar estos problemas. No pierdas tu tiempo. Let Generate Datasets Xml hace el trabajo duro. Entonces puedes refinar el .xml a mano si quieres.
Cuando usted utiliza el GenerarDatasets Programa Xml:
- En Windows, la primera vez que ejecuta GenerateDatasetsXml, necesita editar el archivo GenerateDatasetsXml.bat con un editor de texto para cambiar la ruta hacia la java. archivo exe para que Windows pueda encontrarJava.
- GenerarDatasets Xml primero le pide que especifique el EDDType (Erd Dap Dataset Tipo) del conjunto de datos. Ver elLista de tipos de conjunto de datos (en el presente documento) para averiguar cuál es el tipo apropiado para el conjunto de datos en el que está trabajando. Además de los EDDTypes regulares, también hay algunosTipos de conjunto de datos especiales/Pseudo (por ejemplo, uno que arrastra un catálogo de THREDDS para generar un pedazo dedatasets.xmlpara cada uno de los conjuntos de datos del catálogo) .
- GenerarDatasets Xml entonces le hace una serie de preguntas específicas a ese EDDType. Las preguntas reúnen la información necesaria paraERDDAP™para acceder a la fuente del conjunto de datos. Para entender quéERDDAP™está pidiendo, vea la documentación para el EDDType que especificó haciendo clic en el mismo tipo de conjunto de datos en elLista de tipos de conjunto de datos.
Si necesita introducir una cadena con caracteres especiales (por ejemplo, caracteres blancos al principio o al final, caracteres no ASCII) , entrar acuerda de estilo JSON (con caracteres especiales escaparon con caracteres \) . Por ejemplo, para introducir sólo un personaje de pestaña, introduzca "\t" (con las citas dobles circundantes, que dicenERDDAP™que esta es una cadena de estilo JSON.
- A menudo, una de sus respuestas no será lo que GeneraDatasetsXml necesita. Entonces puedes intentarlo de nuevo, con respuestas revisadas a las preguntas, hasta GenerateDatasets Xml puede encontrar y entender con éxito los datos fuente.
- Si responde correctamente a las preguntas (o lo suficientemente correcto) , GenerarDatasets Xml se conectará a la fuente del conjunto de datos y recopilará información básica (por ejemplo, nombres variables y metadatos) . Para conjuntos de datos que son de localesNetCDF .ncy archivos relacionados, GenerateDatasets Xml a menudo imprimirá la estructura similar al ncdump del archivo después de que primero lea el archivo. Esto puede darle información para responder mejor a las preguntas en un bucle posterior a través de GenerateDatasetsXml.
- GenerarDatasets Xml generará un borrador aproximado del XML de conjunto de datos para ese conjunto de datos.
- Se escribirá información diagnóstica y el borrador áspero del XML de conjunto de datos bigParentDirectory /logs/GenerateDatasetsXml.log .
- El borrador áspero del XML de conjunto de datos se escribirá para bigParentDirectory /logs/GenerateDatasetsXml.out .
"0 archivos" Mensaje de error
Si corres GenerateDatasets Xml oDasDds, o si intenta cargar unaEDDGridDesde...Files o EDDTableDesde... Dataset de archivos enERDDAP™, y recibe un mensaje de error de "0 archivos" indicando queERDDAP™encontrados 0 archivos coincidentes en el directorio (cuando usted piensa que hay archivos coincidentes en ese directorio) :
-
Compruebe que ha especificado el nombre completo del directorio. Y si especificó el nombre de archivo de la muestra, asegúrese de especificar el nombre completo del archivo, incluyendo el nombre completo del directorio.
-
Compruebe que los archivos realmente están en ese directorio.
-
Compruebe la ortografía del nombre del directorio.
-
Revisa el archivoNameRegex. Es realmente, muy fácil cometer errores con regexes. Para fines de prueba, prueba el regex .\* que debe coincidir con todos los nombres de archivo. (Mira esto.documentación de regexyregex tutorial.)
-
Compruebe que el usuario que está ejecutando el programa (por ejemplo, user=tomcat (?) para Tomcat/ERDDAP) tiene permiso 'leer' para esos archivos.
-
En algunos sistemas operativos (por ejemplo, SELinux) y dependiendo de la configuración del sistema, el usuario que ejecutó el programa debe tener permiso 'leer' para toda la cadena de directorios que conducen al directorio que tiene los archivos.
-
Si tienes problemas que no puedes resolver,Solicitud de apoyocon la mayor información posible. De manera similar, si parece que el EDDType adecuado para un conjunto de datos dado no funciona con ese conjunto de datos, o si no hay EDDType adecuado, por favor, archiva unsobre GitHubcon los detalles (y un archivo de muestra si es relevante) .
Necesita editar la salida de GenerateDatasets Xml para mejorarlo.
-
DESCLAMADOR: EL CHUNK OFdatasets.xmlMADE BE GenerarDatasets Xml no es perfecto. Debes leer y grabar el XML antes de usarlo en una públicaERDDAP. GenerarDatasets Xml RELIES ON A LOT OF RULES-OF-THUMB WHICH AREN'T ALWAYS CORRECT. Usted es RESPONSABLE PARA AUMENTAR LA CORRECCIÓN DEL XML QUE AÑADIR AERDDAP'Sdatasets.xmlSilencio.
(No estoy gritando. Por razones legales históricas, los descargos deben ser escritos en todos los caps.)
La salida de GenerateDatasetsXml es un borrador duro. Casi siempre tendrás que editarlo. Hemos hecho y seguimos haciendo un gran esfuerzo para hacer que la salida sea lo más lista posible, pero hay límites. A menudo, la información necesaria simplemente no está disponible en los metadatos de origen.
Un problema fundamental es que estamos pidiendo un programa informático (GenerarDatasetsXml) para hacer una tarea donde, si le dieras la misma tarea a 100 personas, obtendrías 100 resultados diferentes. No hay una sola respuesta "derecha". Obviamente, el programa se acerca más a leer la mente de Bob (no tuyo) , pero aún así, no es un programa de IA todo-comprendido, sólo un montón de heurísticas adoquinaron juntos para hacer una tarea similar a IA. (Ese día de un programa de IA que todo lo entiende puede venir, pero aún no lo ha hecho. Si/cuando lo hace, los humanos podemos tener problemas mayores. Ten cuidado con lo que deseas.)
-
Para fines informativos, la salida muestra la fuente globalAtributos y fuente variableAtributos como comentarios.ERDDAP™combina fuenteAtributos yaddAttributes (que tienen precedencia) para hacer la combinación Atributos que se muestran al usuario. (Y otros atributos se añaden automáticamente a variables de longitud, latitud, altitud, profundidad y tiempo cuandoERDDAP™realmente hace el conjunto de datos) .
-
Si no te gusta una fuenteAtributo, sobreescribirla añadiendo una adiciónAtributo con el mismo nombre pero un valor diferente (o ningún valor, si quieres eliminarlo) .
-
Todo el mundoaddAttributesson sugerencias generadas por ordenador. ¡Mátalos! Si no te gusta un agregadoAttribute, cámbialo.
-
Si quieres añadir otroaddAttributes, agréguelos.
-
Si quieres cambiar undestinationNameCámbialo. Pero no cambiessourceNames.
-
Puedes cambiar el orden deldataVariables o eliminar cualquiera de ellos.
- Entonces puedes usarDasDds (véase infra) para probar repetidamente el XML para ese conjunto de datos para asegurar que el conjunto de datos resultante aparezca como desee.ERDDAP.
- Siéntete libre de hacer pequeños cambiosdatasets.xmlque se generó, por ejemplo, suministrar un mejorinfoUrl, resumen o título.
noAddStandardNames
Si incluye \-doNotAddStandardNames como parámetro de línea de comandos cuando se ejecuta genera Datasets Xml, genera Datasets Xml no añadirástandard\_namea laaddAttributespara cualquier variables distintas de variables llamadas latitud, longitud, altitud, profundidad o tiempo (que tienenstandard\_names) . Esto puede ser útil si está utilizando la salida de generar Datasets Xml directamente enERDDAP™sin editar la salida, porque genera Datasets Xml suele adivinarstandard\_nameincorrectamente. (Tenga en cuenta que siempre recomendamos que edite la salida antes de usarlo enERDDAP.) Usando este parámetro tendrá otros efectos relacionados menores porque el conjeturadostandard\_namea menudo se utiliza para otros fines, por ejemplo, para crear un nuevolong\_name, y para crear la configuración de colorBar.
Scripting
Como alternativa para responder las preguntas de forma interactiva en el teclado y bucle para generar conjuntos de datos adicionales, puede proporcionar argumentos de línea de comandos para responder a todas las preguntas para generar un conjunto de datos. GenerarDatasets Xml procesará esos parámetros, escribirá la salida al archivo de salida y saldrá del programa.
Para configurar esto, primero utilice el programa en modo interactivo y escriba sus respuestas. Aquí hay un ejemplo parcial: Digamos que ejecuta el script: ./GenerateDatasetsXml.sh Ingrese: EDDTableDesdeAsciiFiles Ingrese: /u00/data/ Entonces entra: Ingrese: /u00/data/sampleFile.asc A continuación, introduzca: ISO-8859-1
Para ejecutar esto de forma no interactiva, utilice esta línea de comandos: ./GenerateDatasetsXml.sh EDDTableDesdeAsciiFiles /u00/data/ .\*\.asc /u00/data/sampleFile.asc ISO-8859-1 Así que básicamente, sólo enumera todas las respuestas en la línea de comandos. Esto debe ser útil para conjuntos de datos que cambian con frecuencia de una manera que requiere re-correr GenerateDatasets Xml (notablementeEDDGridDeThreddsCatalog) .
Detalles:
- Si un parámetro contiene un espacio o algún personaje especial, codifica el parámetro como uncuerda de estilo JSON"Mi parámetro con espacios y dos\nlíneas".
- Si desea especificar una cadena vacía como parámetro, use: nada
- Si desea especificar el valor predeterminado de un parámetro, use: default
- GenerarDatasets Xml soporta a -i conjuntos de datos XmlName # tagName parámetro línea de comandos que inserta la salida en el parámetro especificadodatasets.xmlarchivo (el default tomcat /content/erddap/datasets.xml) . GenerarDatasets Xml busca dos líneas en conjuntos de datos XmlName:
<!-- Begin GenerateDatasetsXml #*tagName someDatetime* -->
y
<!-- End GenerateDatasetsXml #*tagName someDatetime* -->
y reemplaza todo entre esas líneas con el nuevo contenido, y cambia el tiempo de destino.
- El interruptor -i solo se procesa (y cambios endatasets.xmlsólo se hacen) si corres GenerateDatasets Xml con argumentos de línea de comandos que especifican todas las respuestas a todas las preguntas para un bucle del programa. (Ver 'Scripting' arriba.) (El pensamiento es: Este parámetro es para uso con scripts. Si utiliza el programa en modo interactivo (escribiendo información sobre el teclado) , es probable que genere algunos fragmentos incorrectos de XML antes de generar el que desee.)
- Si no se encuentran las líneas de Inicio y Fin, entonces esas líneas y el nuevo contenido se insertan justo antes</erddapDatasets confiar.
- También hay un -I (capital i) interruptor para propósitos de prueba que funciona igual que -i, pero crea un archivo llamadodatasets.xml Fecha y no hace cambios adatasets.xml.
- No corras GenerateDatasets Xml con -i en dos procesos a la vez. Hay una posibilidad de que sólo se mantenga un conjunto de cambios. Puede haber problemas graves. (por ejemplo, archivos dañados) .
Si utiliza "GenerateDatasetsXml -verbose", imprimirá más mensajes de diagnóstico de lo habitual.
Tipos de conjunto de datos especiales/Pseudo
En general, las opciones EDDType en GenerateDatasets Xml match of the EDD types described in this document (ver elLista de tipos de conjunto de datos) y generar unodatasets.xmlpara crear un conjunto de datos de una fuente de datos específica. Existen algunas excepciones y casos especiales:
EDDGridFromErddap
Este EDDType genera todo eldatasets.xmlpedazos necesarios para hacerEDDGridFromErddapconjuntos de datos de todos losEDDGriddatasets in a remoteERDDAP. Usted tendrá la opción de mantener el originaldatasetIDs (que puede duplicar algunosdatasetIDya en tuERDDAP) o generando nuevos nombres que serán únicos (pero generalmente no son tan legibles por el ser humano) .
EDDTableDeErddap
Este EDDType genera todo eldatasets.xmlpedazos necesarios para hacerEDDTableDeErddapconjuntos de datos de todos los conjuntos de datos EDDTable en un remotoERDDAP. Usted tendrá la opción de mantener el originaldatasetIDs (que puede duplicar algunosdatasetIDya en tuERDDAP) o generando nuevos nombres que serán únicos (pero generalmente no son tan legibles por el ser humano) .
EDDGridDeThreddsCatalog
Este EDDType genera todo eldatasets.xmlpedazos necesarios para todos losEDDGridDeDapconjuntos de datos que puede encontrar arrastrando recursivamente a través de un THREDDS (sub) catálogo. Hay muchas formas de URLs del catálogo de THREDDS. Esta opción requiere una URL de THREDDS .xml con /catalog/ en ella, por ejemplo,
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/catalog.xml o
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/Satellite/aggregsatMH/chla/catalog.xml
(a related .html catalog is at
https://oceanwatch.pfeg.noaa.gov/thredds/Satellite/aggregsatMH/chla/catalog.html , que no es aceptable paraEDDGridDeThreddsCatalog).
Si tienes problemas conEDDGridDeThredds Catálogo:
- Asegúrese de que la URL que está utilizando es válida, incluye /catalog/, y termina con /catalog.xml .
- Si es posible, utilice una dirección IP pública (por ejemplo, https://oceanwatch.pfeg.noaa.gov ) en la URL, no una dirección IP numérica local (por ejemplo, https://12.34.56.78 ) . Si los THREDDS sólo son accesibles a través de la dirección IP numérica local, puede utilizar [<convertToPublicSourceUrl] (#converttopublicsourceurl) Así que...ERDDAP™los usuarios ven la dirección pública, aunqueERDDAP™obtiene datos de la dirección numérica local.
- Si tienes problemas que no puedes resolver,comprobar los consejos de solución de problemas.
- El código de bajo nivel para esto ahora utiliza elUnidatanetcdf-java catálogo gateer code (Tredds. Clases de catálogo) para que pueda manejar todos los catálogos de THREDDS (que puede ser sorprendentemente complejo) GraciasUnidatapara ese código.
EDDGridLonPM180DesdeErddapCatalog
Este EDDType genera eldatasets.xmlpara hacerEDDGridLonPM180conjuntos de datos de todos losEDDGriddatasets in anERDDAPque tienen valores de longitud superiores a 180.
- Si es posible, utilice una dirección IP pública (por ejemplo, https://oceanwatch.pfeg.noaa.gov ) en la URL, no una dirección IP numérica local (por ejemplo, https://12.34.56.78 ) . SiERDDAP™sólo es accesible a través de la dirección IP numérica local, puede utilizar [<convertToPublicSourceUrl] (#converttopublicsourceurl) Así que...ERDDAP™los usuarios ven la dirección pública, aunqueERDDAP™obtiene datos de la dirección numérica local.
EDDGridLon0360DesdeErddapCatalog
Este EDDType genera eldatasets.xmlpara hacerEDDGridLon0360conjuntos de datos de todos losEDDGriddatasets in anERDDAPque tienen valores de longitud inferiores a 0.
- Si es posible, utilice una dirección IP pública (por ejemplo, https://oceanwatch.pfeg.noaa.gov ) en la URL, no una dirección IP numérica local (por ejemplo, https://12.34.56.78 ) . SiERDDAP™sólo es accesible a través de la dirección IP numérica local, puede utilizar [<convertToPublicSourceUrl] (#converttopublicsourceurl) Así que...ERDDAP™los usuarios ven la dirección pública, aunqueERDDAP™obtiene datos de la dirección numérica local.
EDDsDeFiles
Dado un directorio inicial, esto atraviesa el directorio y todos los subdirectorios y trata de crear un conjunto de datos para cada grupo de archivos de datos que encuentra.
- Esto supone que cuando se encuentra un conjunto de datos, el conjunto de datos incluye todos los subdirectorios.
- Si se encuentra un conjunto de datos, directorios similares de hermanos serán tratados como conjuntos de datos separados (por ejemplo, los directorios para los años noventa, los 2000, los 2010's, generarán conjuntos de datos separados) . Deberían ser fáciles de combinar a mano -- simplemente cambiar el primer conjunto de datos<fileDir contacto con el directorio padre y eliminar todos los conjuntos de datos de hermanos posteriores.
- Esto sólo tratará de generar un pedazo dedatasets.xmlpara el tipo más común de extensión de archivo en un directorio (no cuenta .md5, que se ignora) . Así que, dado un directorio con 10.ncarchivos y 5 .txt archivos, se generará un conjunto de datos para el.ncSólo archivos.
- Esto supone que todos los archivos en un directorio con la misma extensión pertenecen al mismo conjunto de datos. Si un directorio tiene algunos.ncarchivos con datos SST y algunos.ncarchivos con datos de clorofila, solo una muestra.ncarchivo será leído (¿SST? ¿Clorofila?) y sólo se creará un conjunto de datos para ese tipo de archivo. Ese conjunto de datos probablemente no se cargará debido a las complicaciones de intentar cargar dos tipos de archivos en el mismo conjunto de datos.
- Si hay menos de 4 archivos con la extensión más común en un directorio, esto supone que no son archivos de datos y simplemente salta el directorio.
- Si hay 4 o más archivos en un directorio, pero esto no puede generar con éxitodatasets.xmlpara los archivos (por ejemplo, un tipo de archivo sin soporte) , esto generará unEDDTableDesdeFileNamesDataset para los archivos.
- Al final del diagnóstico que esto escribe al archivo de registro, justo antes deldatasets.xmlpedazos, esto imprimirá una tabla con un resumen de la información reunida por el rastreo de todos los subdirectorios. La tabla enumerará cada subdirectorio e indicará el tipo más común de extensión de archivo, el número total de archivos, y qué tipo de conjunto de datos se creó para estos archivos (si) . Si te enfrentas a una estructura de archivos compleja y profundamente anidada, considera correr GenerateDatasets Xml con EDDType=EDDsDeFiles sólo para generar esta información,
- Esta opción puede no hacer un gran trabajo de adivinar el mejor EDDType para un grupo dado de archivos de datos, pero es rápido, fácil y vale la pena intentarlo. Si los archivos fuente son adecuados, funciona bien y es un buen primer paso en generar eldatasets.xmlpara un sistema de archivos con un montón de subdirectorios, cada uno con archivos de datos de diferentes conjuntos de datos.
EDDTableDeEML y EDDTableDeEMLBatch
Este EDDType especial genera eldatasets.xmlpara hacer unaEDDTableDesde el aeropuertodataset de cada una de las tablas descritasEcological Metadata LanguageArchivo XML. La variante "Batch" funciona en todos los archivos EML en un directorio local o remoto. Por favor, vea el separadodocumentación para EDDTableDesdeEML.
EDDTableDesde InPort
Este EDDType especial genera eldatasets.xmlpara hacer unaEDDTableDesde el aeropuertodataset desde la información en uninport-xmlarchivo. Si puede acceder al archivo de datos fuente (el archivo inport-xml debe tener pistas para dónde encontrarlo) , puede hacer un conjunto de datos de trabajo enERDDAP.
Los siguientes pasos describen cómo utilizar GenerateDatasets Xml con un archivo inport-xml para obtener un conjunto de datos de trabajo enERDDAP.
- Una vez que tenga acceso al archivo inport-xml (ya sea como una URL o un archivo local) : ejecutar GenerateDatasets Xml, especifique EDDType=EDDTableDesdeInPort, especifique la URL inport-xml o nombre completo de archivo, especifique quéChild=0, y especifique la otra información solicitada (si se sabe) . (En este punto, usted no necesita tener el archivo de datos fuente o especificar su nombre.) El ajuste queChild=0 dice GenerarDatasets Xml para escribir la información para Todos de la<entidad-atributo-información<en el archivo inport-xml (si hay alguna) . También imprime un resumen de información de antecedentes, incluyendo todos los datos de descarga listados en el archivo inport-xml.
- Mira toda esa información (incluyendo la información de fondo que GeneraDatasets Impresión Xml) y visitar la descarga-url (s) para tratar de encontrar el archivo de datos fuente (s) . Si puedes encontrarlo (ellos) , descargarlo (ellos) en un directorio que es accesibleERDDAP. (Si no puede encontrar ningún archivo de datos fuente, no hay punto en proceder.)
- Run Generate Datasets Otra vez Xml. Si el archivo de datos fuente corresponde a uno del archivo inport-xml<entidad-atributo-información<entidad título, especificar qué niño= queEntity'sNumber (por ejemplo, 1, 2, 3, ...) .ERDDAP™intentará igualar los nombres de las columnas en el archivo de datos fuente a los nombres de la información de la entidad, y pedirá que acepte/rechate/fijo cualquier discrepancia. O, si el archivo inport-xml no tiene ninguna<entidad-atributo-información<entidad título, especifique qué niño=0.
- En el pedazo dedatasets.xmlque fue hecho por GenerateDatasets Xml, revisa el [global]<addAttributes> (#global-atributos) según sea necesario o deseado.
- En el pedazo dedatasets.xmlque fue hecho por GenerateDatasetsXml, añadir/revise el [<dataVariable> (#datavariable) información según sea necesario o deseada para describir cada una de las variables. Asegúrese de identificar correctamente cada variable [<sourceName> (#sourcename) (como aparece en la fuente) , [<destinationName> (#Destino) (que tiene más limitaciones en caracteres permitidos quesourceName) , [<unidades] (#unidades) (especialmente si es untiempo o temporizador variabledonde las unidades necesitan especificar el formato) , y [<missing\_value> (#missing_value) ,
- Cuando estés cerca de terminar, usa repetidamente elDasDdsherramienta para ver rápidamente si la descripción del conjunto de datos es válida y si el conjunto de datos aparecerá enERDDAP™como quieras.
Sería genial si los grupos que utilizan InPort para documentar sus conjuntos de datos también utilizaranERDDAP™para poner los datos efectivos disponibles:
- ERDDAP™es una solución que se puede utilizar ahora mismo para que pueda cumplirNOAA'sAcceso público a resultados de investigación (PARR) necesidadesahora mismo, no en un momento vago en el futuro.
- ERDDAP™hace que los datos reales estén disponibles para los usuarios, no sólo los metadatos. (¿Qué bien son los metadatos sin datos?)
- ERDDAP™soporta metadatos (en particular, las unidades de variables) , a diferencia de otros software del servidor de datos que se están considerando. (¿Qué bien son los datos sin metadatos?) Utilizar software que no admite metadatos es invitar a los datos a ser malinterpretados y mal utilizados.
- ERDDAP™es software libre y de código abierto a diferencia de otros software que se están considerando. Desarrollo permanenteERDDAP™ya está pagado. ApoyoERDDAP™Los usuarios son libres.
- ERDDAP's apariencia se puede personalizar fácilmente para reflejar y resaltar su grupo (noERDoERDDAP) .
- ERDDAP™ofrece una manera consistente de acceder a todos los conjuntos de datos.
- ERDDAP™puede leer datos de muchos tipos de archivos de datos y de bases de datos relacionales.
- ERDDAP™puede tratar con grandes conjuntos de datos, incluyendo conjuntos de datos donde los datos de la fuente están en muchos archivos de datos.
- ERDDAP™puede escribir datos a muchos tipos de archivos de datos, a petición del usuario, incluyendo tipos de archivos de datos científicos como netCDF, ESRI .csv, yODV .txt.
- ERDDAP™puede hacer gráficos y mapas personalizados de subconjuntos de los datos, basados en las especificaciones del usuario.
- ERDDAP™puede tratar con conjuntos de datos no data, como colecciones de archivos de imagen, vídeo o audio.
- ERDDAP™ha sido instalado y utilizado enmás de 60 instituciones en todo el mundo.
- ERDDAP™se enumera como uno de los servidores de datos recomendados para uso dentroNOAAen elNOAAData Access Procedural Directive, a diferencia de que se está considerando otro software.
- ERDDAP™es un producto deNMFS/NOAA, así que utilizarlo dentroNMFSyNOAAdebe ser un punto de orgullo paraNMFSyNOAA.
Por favor.ERDDAP™un intento. Si necesita ayuda, por favor envíe un mensaje en elERDDAP™Grupo de Google.
addFillValueAttributes
Esta opción especial EDDType no es un tipo de conjunto de datos. Es una herramienta que puede añadir atributos \_FillValue a algunas variables en algunos conjuntos de datos. SeeaddFillValueAttributes.
encontrarDuplicar Hora
Esta opción especial EDDType no es un tipo de conjunto de datos. En lugar de eso, dice GenerarDatasets Xml para buscar a través de una colección de rejillas.nc (y conexas) archivos para encontrar e imprimir una lista de archivos con valores de tiempo duplicados. Cuando mira los valores de tiempo, los convierte de las unidades originales a"seconds since 1970-01-01"en caso de que diferentes archivos usen diferentes cadenas de unidades. Necesitas proporcionar el directorio inicial (con o sin la barra de seguimiento) , el nombre del archivo expresión regular (por ejemplo,.nc ) , y el nombre de la variable de tiempo en los archivos.
ncdump
Esta opción especial EDDType no es un tipo de conjunto de datos. En lugar de eso, dice GenerarDatasets Xml para imprimirncdump\-como impresión de una.nc,.ncml o.hdfarchivo. En realidad utiliza el netcdf-javaNCdump, que es una herramienta más limitada que la versión C de NCdump. Si utiliza esta opción, GenerateDatasetsXml le pedirá que utilice una de las opciones: "-h" (header) , "c" (coordenadas) , "vall" (por defecto) , "-v var1;var2", "-v var1 (0,010,0:20) ". Esto es útil porque, sin ncdump, es difícil saber lo que hay en un.nc,.ncml o.hdfarchivo y por lo tanto qué EDDType debe especificar para GenerateDatasets Xml. Para un.ncarchivo ml, esto imprimirá la salida ncdump para el resultado del.nccambios de archivo de ml aplicados a la.nco.hdfarchivo.
DasDds
- DasDds es un programa de línea de comandos que puede utilizar después de haber creado un primer intento en el XML para un nuevo conjunto de datos endatasets.xml. Con DasDds, puede probar y perfeccionar repetidamente el XML. Cuando utiliza el programa DasDds:
- En Windows, la primera vez que ejecuta DasDds, necesita editar los DasDds. archivo de murciélago con un editor de texto para cambiar la ruta hacia el java. archivo exe para que Windows pueda encontrarJava.
- DasDds te pregunta por eldatasetIDpara el conjunto de datos en el que está trabajando.
- DasDds intenta crear el conjunto de datos con esodatasetID.
- DasDds siempre imprime muchos mensajes de diagnóstico. Si utiliza "DasDds -verbose", DasDds imprimirá más mensajes de diagnóstico de lo habitual.
- Para seguridad, DasDds siempre elimina toda la información de conjunto de datos caché (archivos) para el conjunto de datos antes de intentar crear el conjunto de datos. Este es el equivalente de establecer unbandera duraAsí que para conjuntos de datos agregados, es posible que desee ajustar el archivoNameRegex temporalmente para limitar el número de archivos que el constructor de datos encuentra.
- Si el conjunto de datos no se carga (por cualquier razón) , DasDds parará y le mostrará el mensaje de error para el primer error que encuentra.
No intentes adivinar cuál es el problema. Lea cuidadosamente el mensaje ERROR.
Si es necesario, lea los mensajes diagnósticos anteriores para encontrar más pistas e información, también. - Haga un cambio en el XML del conjunto de datos para tratar de resolver ese problema
y dejar que DasDds trate de crear el conjunto de datos de nuevo. - Si repetidamente resuelves cada problema, eventualmente resolverás todos los problemas
y el conjunto de datos se cargará.
- Todos los DasDds salida (diagnóstico y resultados) están escritos a la pantalla y a bigParentDirectory /logs/DasDds.log .
- Si DasDds puede crear el conjunto de datos, DasDds le mostrará el.das (Dataset Attribute Structure) ,.dds (Descriptor de Dataset Estructura) , y.timeGaps (deficiencias del tiempo) información para el conjunto de datos en su pantalla y escríbalos a bigParentDirectory /logs/DasDds.out .
- A menudo, usted querrá hacer un pequeño cambio en el XML del conjunto de datos para limpiar los metadatos del conjunto de datos y recorar DasDds.
Bono Third-Party Tool:ERDDAP- No.
ERDDAP-lint es un programa de Rob Fuller y Adam Leadbetter del Instituto Marino Irlandés que usted puede utilizar para mejorar los metadatos de suERDDAP™Datasets.ERDDAP-incluye "contiene reglas y una simple aplicación web estática para realizar algunas pruebas de verificación contra suERDDAP™servidor. Todas las pruebas se ejecutan en el navegador web." Como elHerramienta Unix/Linux lint, puede editar las reglas existentes o añadir nuevas reglas. SeeERDDAP- No.para más información.
Esta herramienta es especialmente útil para conjuntos de datos que creaste hace algún tiempo y ahora quieres actualizar tus preferencias de metadatos actuales. Por ejemplo, versiones tempranas de GenerateDatasets Xml no puso ningún esfuerzo en crear globalcreator\_name,creator\_email, creador\_tipo, ocreator\_urlmetadatos. Podrías usarERDDAP- Insinúa identificar los conjuntos de datos que carecen de esos atributos de metadatos.
Gracias a Rob y Adam por crear esta herramienta y ponerla a disposición de laERDDAP™comunidad.
La estructura básica de ladatasets.xmlArchivo
Las etiquetas requeridas y opcionales permitidas en undatasets.xmlarchivo (y el número de veces que pueden aparecer) se muestran a continuación. En la práctica, tudatasets.xmltendrá muchos<etiquetas de dataset iconos y sólo utilizar las otras etiquetas dentro<erddapDatasets confiar según sea necesario.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<erddapDatasets>
<angularDegreeUnits>...</angularDegreeUnits> <!-- 0 or 1 -->
<angularDegreeTrueUnits>...</angularDegreeTrueUnits> <!-- 0 or 1 -->
<cacheMinutes>...</cacheMinutes> <!-- 0 or 1 -->
<commonStandardNames>...</commonStandardNames> <!-- 0 or 1 -->
<convertInterpolateRequestCSVExample /> <!-- 0 or more -->
<convertInterpolateDatasetIDVariableList /> <!-- 0 or more -->
<convertToPublicSourceUrl /> <!-- 0 or more -->
<decompressedCacheMaxGB>...</decompressedCacheMaxGB> <!-- 0 or 1 -->
<decompressedCacheMaxMinutesOld>...</decompressedCacheMaxMinutesOld> <!-- 0 or 1 -->
<drawLandMask>...</drawLandMask> <!-- 0 or 1 -->