Este es el comando ncmpigen que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
ncmpigen: a partir de un archivo CDL, genere un archivo netCDF, un programa C o un programa Fortran
SINOPSIS
cmpigen [-b] [-c] [-f] [-n] [-o netcdf_nombre_archivo] [-v formato de archivo] fichero de entrada
DESCRIPCIÓN
nmpigen genera un archivo netCDF o código fuente C o Fortran para crear un netCDF
expediente. La entrada a nmpigen es una descripción de un archivo netCDF en un pequeño idioma conocido
como CDL (Network Common Data Form Language), que se describe a continuación. Si no se especifican opciones
al invocar nmpigen, simplemente verifica la sintaxis del archivo CDL de entrada, produciendo un error
mensajes por cualquier violación de la sintaxis de CDL. Se pueden utilizar otras opciones para crear el
correspondiente archivo netCDF, para generar un programa C que utiliza la interfaz netCDF C para
crear el archivo netCDF o generar un programa Fortran que utilice netCDF Fortran
interfaz para crear el mismo archivo netCDF.
nmpigen se puede utilizar con el programa complementario ncmpidump para realizar algunos simples
operaciones en archivos netCDF. Por ejemplo, para cambiar el nombre de una dimensión en un archivo netCDF, use
ncmpidump para obtener una versión CDL del archivo netCDF, edite el archivo CDL para cambiar el nombre de
las dimensiones y el uso nmpigen para generar el archivo netCDF correspondiente a partir del
Archivo CDL.
OPCIONES
-b Cree un archivo netCDF (binario). Si el -o la opción está ausente, un nombre de archivo predeterminado
se construirá a partir del nombre netCDF (especificado después de la netcdf palabra clave en el
input) agregando la extensión `.nc '. Si ya existe un archivo con el
nombre especificado, se sobrescribirá.
-c Generar C código fuente que creará un archivo netCDF que coincida con el netCDF
especificación. El código fuente de C se escribe en la salida estándar.
-f Generar Fortran código fuente que creará un archivo netCDF que coincida con el netCDF
especificación. El código fuente de Fortran se escribe en la salida estándar.
-o archivo_netcdf
Nombre del archivo netCDF binario creado. Si se especifica esta opción, implica
la "-b"opción. (Esta opción es necesaria porque los archivos netCDF no se pueden escribir
directamente a la salida estándar, ya que la salida estándar no se puede buscar).
-n Como -b opción, excepto que crea un archivo netCDF con la extensión obsoleta `.cdf '
en lugar de la extensión '.nc', en ausencia de un nombre de archivo de salida especificado por
el -o opción. Esta opción solo se admite por compatibilidad con versiones anteriores.
-v formato de archivo
Formato de archivo del archivo netCDF de salida. El valor de file_format puede ser: 1 o
clásico para formato CDF-1. El desplazamiento de 2 o 64 bits es CDF-2. Variable de 5 o 64 bits para
CDF-5. El predeterminado (si no se proporciona esta opción) es CDF-1, el formato clásico.
EJEMPLOS
Compruebe la sintaxis del archivo CDL `foo.cdl':
cmpigen foo.cdl
Desde el archivo CDL `foo.cdl', genera un archivo netCDF binario equivalente llamado `x.nc':
ncmpigen -o x.nc foo.cdl
Desde el archivo CDL `foo.cdl', genera un programa en C que contiene la función netCDF
invocaciones necesarias para crear un archivo netCDF binario equivalente llamado `x.nc':
ncmpigen -c -o x.nc foo.cdl
USO
Licencia CDL Sintaxis Resumen
A continuación se muestra un ejemplo de sintaxis de CDL, que describe un archivo netCDF con varias dimensiones nombradas
(lat, lon y tiempo), variables (Z, t, p, rh, lat, lon, tiempo), atributos variables (unidades,
long_name, valid_range, _FillValue) y algunos datos. Las palabras clave de CDL están en negrita. (Esta
El ejemplo está destinado a ilustrar la sintaxis; un archivo CDL real tendría un aspecto más completo
conjunto de atributos para que los datos sean más completamente autodescriptivos).
netcdf foo {// un ejemplo de especificación netCDF en CDL
dimensiones:
lat = 10, lon = 5, tiempo = ilimitado ;
las variables:
long lat (lat), lon (lon), tiempo (tiempo);
flotar Z (tiempo, lat, lon), t (tiempo, lat, lon);
doble p (tiempo, lat, lon);
long rh (tiempo, lat, lon);
// atributos variables
lat: long_name = "latitud";
lat: unidades = "grados_norte";
lon: long_name = "longitud";
lon: unidades = "grados_east";
tiempo: unidades = "segundos desde 1992-1-1 00:00:00";
Z: unidades = "metros geopotenciales";
Z: rango_válido = 0., 5000 .;
p: _FillValue = -9999 .;
rh: _FillValue = -1;
datos:
latitud = 0, 10, 20, 30, 40, 50, 60, 70, 80, 90;
lon = -140, -118, -96, -84, -52;
}
Todas las declaraciones de CDL terminan con un punto y coma. Se pueden usar espacios, tabulaciones y nuevas líneas
libremente para facilitar la lectura. Los comentarios pueden seguir a los caracteres `// 'en cualquier línea.
Una descripción de CDL consta de tres partes opcionales: dimensiones, las variables y datos,
comenzando con la palabra clave dimensiones:, variables: y datos, respectivamente. La variable
parte puede contener variable declaraciones y atributo asignaciones.
Un netCDF dimensión se utiliza para definir la forma de uno o más de los multidimensionales
variables contenidas en el archivo netCDF. Una dimensión netCDF tiene un nombre y un tamaño. A
la mayoría de una dimensión en un archivo netCDF puede tener la ilimitado tamaño, que significa una variable
el uso de esta dimensión puede crecer a cualquier longitud (como un número de registro en un archivo).
A variable representa una matriz multidimensional de valores del mismo tipo. Una variable tiene
un nombre, un tipo de datos y una forma descrita por su lista de dimensiones. Cada variable puede
también se han asociado atributos (ver más abajo) así como valores de datos. El nombre, tipo de datos,
y la forma de una variable se especifican mediante su declaración en el variable sección de una CDL
descripción. Una variable puede tener el mismo nombre que una dimensión; por convención tal
La variable es unidimensional y contiene coordenadas de la dimensión que nombra.
Las dimensiones no necesitan tener variables correspondientes.
Un netCDF atributo contiene información sobre una variable netCDF o sobre todo el netCDF
conjunto de datos. Los atributos se utilizan para especificar propiedades tales como unidades, valores especiales, máximos
y valores mínimos válidos, factores de escala, compensaciones y parámetros. Información de atributos
está representado por valores únicos o matrices de valores. Por ejemplo, "unidades" es un atributo
representado por una matriz de caracteres como "celsius". Un atributo tiene asociado
variable, un nombre, un tipo de datos, una longitud y un valor. En contraste con las variables que son
destinados a datos, los atributos están destinados a metadatos (datos sobre datos).
En CDL, un atributo se designa mediante una variable y un nombre de atributo, separados por ':'. Eso
es posible asignar global atributos no asociados con ninguna variable al netCDF como
un todo usando `: 'antes del nombre del atributo. El tipo de datos de un atributo en CDL es
derivado del tipo de valor que se le asigna. La longitud de un atributo es la
número de valores de datos asignados a él, o el número de caracteres en la cadena de caracteres
asignado a él. Se asignan varios valores a los atributos que no son caracteres separando
los valores con comas. Todos los valores asignados a un atributo deben ser del mismo tipo.
Los nombres de las dimensiones, las variables y los atributos de la CDL deben comenzar con una letra alfabética.
carácter o '_', y los caracteres subsiguientes pueden ser alfanuméricos o '_' o '-'.
La opción datos sección de una especificación CDL es donde las variables netCDF pueden ser
inicializado. La sintaxis de una inicialización es simple: un nombre de variable, un signo igual,
y una lista de constantes delimitadas por comas (posiblemente separadas por espacios, tabulaciones y nuevas líneas)
terminado con un punto y coma. Para matrices multidimensionales, la última dimensión varía
lo más rápido. Por tanto, para las matrices se utiliza el orden de filas en lugar de el orden de columnas. Si menos valores
se suministran de los necesarios para completar una variable, se amplía con un tipo dependiente
"valor de relleno", que se puede anular proporcionando un valor para una variable distinguida
atributo llamado '_FillValue'. Los tipos de constantes no necesitan coincidir con el tipo declarado para
una variable; las coacciones se realizan para convertir enteros a punto flotante, por ejemplo. los
La constante `_ 'se puede usar para designar el valor de relleno de una variable.
Primitivo Fecha Tipos
tanque personajes
byte Bits de datos 8-
short Enteros de 16 bits con signo
long Enteros de 32 bits con signo
int (sinónimo de long)
flotar Punto flotante de precisión simple IEEE (32 bits)
real (sinónimo de flotar)
doble Punto flotante de doble precisión IEEE (64 bits)
Excepto por el tipo de datos agregado byte y la falta de no firmado, CDL admite lo mismo
tipos de datos primitivos como C. Los nombres de los tipos de datos primitivos son palabras reservadas en
CDL, por lo que los nombres de variables, dimensiones y atributos no deben ser nombres de tipos. En
declaraciones, los nombres de los tipos se pueden especificar en mayúsculas o minúsculas.
Los bytes se diferencian de los caracteres en que están destinados a contener ocho bits completos de datos,
y el byte cero no tiene un significado especial, como lo tiene para los datos de caracteres. nmpigen
conversos byte declaraciones a tanque declaraciones en el código C de salida y al
no estándar BYTE declaración en el código de salida Fortran.
Los pantalones cortos pueden contener valores entre -32768 y 32767. nmpigen conversos short declaraciones a
short declaraciones en el código C de salida y al no estándar INTEGER * 2 declaración en
salida de código Fortran.
Los largos pueden contener valores entre -2147483648 y 2147483647. nmpigen conversos long
declaraciones a long declaraciones en el código C de salida y para INTEGER declaraciones en
salida de código Fortran. int y entero se aceptan como sinónimos de long en CDL
declaraciones. Ahora que hay plataformas con representaciones de 64 bits para C long,
puede ser mejor usar el int sinónimo para evitar confusiones.
Los flotadores pueden contener valores entre aproximadamente -3.4 + 38 y 3.4 + 38. Su representación externa es
como números de coma flotante de precisión simple normalizados IEEE de 32 bits. nmpigen conversos
flotar declaraciones a flotar declaraciones en el código C de salida y para REAL declaraciones en
salida de código Fortran. real se acepta como sinónimo de flotar en declaraciones CDL.
Los dobles pueden contener valores entre -1.7 + 308 y 1.7 + 308. Su representación externa
es como números de coma flotante de doble precisión normalizados estándar IEEE de 64 bits. nmpigen
conversos doble declaraciones a doble declaraciones en el código C de salida y para DOBLE
PRECISIÓN declaraciones en el código de salida Fortran.
Licencia CDL Constantes
Las constantes asignadas a atributos o variables pueden ser de cualquiera de los tipos básicos de netCDF.
La sintaxis de las constantes es similar a la sintaxis de C, excepto que los sufijos de tipo deben ser
anexado a pantalones cortos y flotadores para distinguirlos de largos y dobles.
A byte La constante está representada por una secuencia de escape de un solo carácter o de varios caracteres.
entre comillas simples. Por ejemplo,
'a' // ASCII `a '
'\ 0' // un byte cero
'\ n' // Carácter de nueva línea ASCII
'\ 33' // Carácter de escape ASCII (33 octal)
'\ x2b' // ASCII más (2b hex)
'\ 377' // 377 octal = 255 decimal, no ASCII
Las constantes de caracteres se incluyen entre comillas dobles. Se puede representar una matriz de caracteres
como una cadena entre comillas dobles. Se respetan las convenciones habituales de escape de cadenas de C.
Por ejemplo
"a" // ASCII `a '
"Dos \ nlíneas \ n" // una cadena de 10 caracteres con dos nuevas líneas incrustadas
"una campana: \ 007" // una cadena que contiene una campana ASCII
Tenga en cuenta que la matriz de caracteres netCDF "a" encajaría en una variable de un elemento, ya que no
se asume el carácter de terminación NULL. Sin embargo, un byte cero en una matriz de caracteres es
interpretado como el final de los caracteres significativos por el ncmpidump programa, siguiendo
la convención C. Por lo tanto, no se debe incrustar un byte NULL en una cadena de caracteres.
a menos que al final: use el byte tipo de datos en su lugar para matrices de bytes que contienen el cero
byte. NetCDF y CDL no tienen tipo de cadena, sino solo matrices de caracteres de longitud fija, que
puede ser multidimensional.
short Las constantes enteras están diseñadas para representar cantidades con signo de 16 bits. La forma
creando short La constante es una constante entera con una 's' o una 'S' agregada. Si un short
constante comienza con '0', se interpreta como octal, excepto que si comienza con '0x',
se interpreta como una constante hexadecimal. Por ejemplo:
-2s // un -2 corto
0123s // octal
0x7ffs // hexadecimal
Largo Las constantes enteras están diseñadas para representar cantidades con signo de 32 bits. La forma
creando long constante es una constante entera ordinaria, aunque es aceptable agregar un
opcional 'l' o 'L'. Si un long constante comienza con '0', se interpreta como octal,
excepto que si comienza con '0x', se interpreta como una constante hexadecimal. Ejemplos de
de valido long las constantes incluyen:
-2
1234567890L
0123 // octava
0x7ff // hexadecimal
Constantes de coma flotante de tipo flotar son apropiados para representar el punto flotante
datos con aproximadamente siete dígitos significativos de precisión. La forma de un flotar constante es
lo mismo que una constante de coma flotante C con una `f 'o una` F' agregada. Por ejemplo el
los siguientes son todos aceptables flotar constantes:
-2.0f
3.14159265358979f // se truncará con menos precisión
1.f
Constantes de coma flotante de tipo doble son apropiados para representar el punto flotante
datos con aproximadamente dieciséis dígitos significativos de precisión. La forma de un doble constante es
lo mismo que una constante de coma flotante C. Se puede agregar una "d" o "D" opcional. Para
ejemplo los siguientes son todos aceptables doble constantes:
-2.0
3.141592653589793
1.0e-20
1.d
FECHA
$ Fecha: 2014-04-16 13:38:34 -0500 (miércoles, 16 de abril de 2014) $
Utilice ncmpigen en línea utilizando los servicios de onworks.net