Documentos de Académico
Documentos de Profesional
Documentos de Cultura
com
Versión 1.0
Octubre 2012
1. Introducción
Antes de presentar los recursos de GrADS, se muestran algunos sitios web que
brindan datos meteorológicos que se pueden trabajar en este software.
Un sitio web que proporciona datos meteorológicos del planeta ordenados en puntos
de cuadrícula es Administración Nacional Oceánica y Atmosférica (NOAA). Los datos están en el
formatoFormulario de datos comunes de red (netcdf). Vea a continuación, a través de la
secuencia de figuras, cómo obtener los datos.
b) En la figura anterior, tenga en cuenta que en el lado izquierdo hay un menú Acceso a datos y trazado.
Haga clic en la primera opciónConjuntos de datos de reanálisis. Esto abrirá la ventana:
c) En la figura anterior, se ofrecen datos de diferentes conjuntos de reanálisis. Si desea
datos del año actual, elija la primera opción:NCEP/NCAR Reanálisis I (1948-presente). Al
hacer clic en esta opción, aparecerá la ventana:
d) Tenga en cuenta que los datos se ofrecen cada 6 horas, diariamente y mensualmente. Luego,
simplemente haga clic en la opción deseada. Si quieres datos diarios, haz clic en la primera opción. Así,
aparecerá la ventana:
e) Si observa la parte inferior de la imagen de arriba, notará que hay varias opciones de datos: nivel
de presión, superficie, etc Si desea una variable que solo se mide en la superficie, como la presión
media a nivel del mar, haga clic en la superficie. Después de hacer clic en esta opción, aparece una
nueva ventana con una lista de varias variables atmosféricas. Encuentra el nombre de la variable que
te interesa (que en este caso espresión a nivel del mar), haga clic en la figura a la derecha del
nombre de la variable. Se abrirá una nueva ventana y debe hacer clic en la figura, como se muestra
en la ventana a continuación.
f) Ahora solo complete la información de latitud y longitud y el período en el que desea obtener
los datos. Después de hacer clic encrear un subconjunto sin hacer un gráfico. Esto abrirá una
nueva ventana y debes hacer clic enFTP una copia del archivo y guarde el archivo. En el ejemplo
que se muestra, los datos de la presión media global a nivel del mar desde el 1 de enero de
2010 a las 00 UTC hasta el 31 de enero de 2010 a las 18 UTC se obtienen del sitio web de la
NOAA.
EL Centro Europeo de Previsiones Meteorológicas a Medio Plazo (ECMWF) también
proporciona datos meteorológicos globales. Sin embargo, antes de poder descargarlo, debe
registrarse en el sitio. Para obtener más detalles sobre estos datos, visite: http://
dataportal.ecmwf.int/data/d/era40_daily/ para datos de reanálisis de ERA-40 y http://
dataportal.ecmwf.int/data/d/interim_daily/ para obtener datos del reanálisis ERAInterim.
Después de acceder al sitio, haga clic en descargar. Aparecerá una ventana que
muestra varias versiones de GrADS para los sistemas operativos Linux y Windows. Ahora
simplemente elija la versión que desee, descárguela e instálela en su computadora.
Los ejemplos proporcionados en este libro de trabajo se ejecutaron con la versión 2.0a5.oga.5.
4 Uso de GrADS
GrADS lee archivos en varios formatos, pero este folleto presenta los
procedimientos para leer archivos netcdf y binarios. Estos formatos son los más
utilizados en Meteorología.
Los archivos netcdf contienen una lista de información que describe los datos, por
ejemplo, latitudes, longitudes, niveles verticales y tiempo. Para ilustrar la ejecución de
comandos GrADS con datos en formato netcdf, se utilizará el conjunto de datos de presión
media del nivel del mar para el mes de enero de 2010 obtenidos del sitio web de la NOAA
(versección 2). Cambie el nombre del archivo de datos descargado en su computadora a
slp2010.nc.
Ejemplo:
sdfopen C:\Reboita\aula\slp2010.nc
Después de escribir el comando, presione la tecla enter. Tenga en cuenta que
aparecerá toda la información relativa al archivo: LON (longitud), LAT (latitud), LEV (niveles
verticales) y hora (hora inicial de los datos).
Archivos binarios para ser leídos por software GrADS necesita archivos
descriptores, que están integrados en archivos de texto. Estos archivos se guardan
con la extensión.controlar. Por ejemplo, tenemos un archivo binario llamado mslp.bin
y para leerlo tenemos el archivo descriptor mslp.ctl (ver detalles a continuación).
dset C:\Reboita\aula\mslp.bin
undef 9,999E+20
presión del título
opciones little_endian
ydef 181 lineal -90,0 1,0
xdef 360 lineal 0,0 1,0
tdef 40 lineal 00Z05Mar2010 6hr
zdef 1 niveles 1000
vars 1
mslp 1 0 endvars de
presión
Significado de cada línea del archivo descriptor
Nota: un archivo binario puede contener varias variables en diferentes niveles verticales y
cubriendo muchas latitudes y longitudes.
Ejemplo:
abrir C:\Reboita\aula\mslp.ctl
Uso de la opción de plantilla
Los grados:
- la entrada DSET tiene una plantilla de reemplazo en lugar del nombre de archivo. A continuación se
muestra una descripción de todos los componentes posibles de una plantilla;
- la entrada OPCIONES debe contener la palabra clave plantilla;
- la entrada TDEF describe los límites de tiempo para todo el conjunto de archivos de
datos.
Ejemplos
31may92.dat
DSET ^%d1may92.dat
plantilla OPCIONES
TDEF 744 lineal 0z1may1992 1hr
Si el conjunto de datos ha crecido y hay más archivos contenidos en datos por hora
para otros meses y años:
1jun92.fecha
2jun92.fecha
...
1ene93.dat
Luego será necesario agregar una plantilla para cada mes y año a la
entrada DSET y ampliar el rango de la TDEF:
DSET ^%d1%mc%y2.dat
plantilla OPCIONES
TDEF 6624 lineal 0z1may1992 1hr
Suponiendo un conjunto de siete archivos netcdf, cada uno con datos mensuales
que abarcan toda la década:
pr.1880_1889.nc
pr.1890_1899.nc
pr.1900_1909.nc
pr.1910_1919.nc
pr.1920_1929.nc
pr.1930_1939.nc
pr.1940_1949.nc
DSET ^pr.%x30_%x39.nc
plantilla OPCIONES
DTYPE netcdf
TDEF 840 lineal ene1880 1 mes
PRCP_CU_GAUGE_V1.0GLB_0.50deg.lnx.20121123.RT
PRCP_CU_GAUGE_V1.0GLB_0.50deg.lnx.20121124.RT
PRCP_CU_GAUGE_V1.0GLB_0.50deg.lnx.20121125.RT
PRCP_CU_GAUGE_V1.0GLB
Nuestro objetivo es editar el archivo descriptor (ctl) para abrir los tres archivos
binarios con datos de precipitación (a 0,1 mm por día) a la vez en GrADS. El archivo
descriptor obtenido del sitio web contiene la siguiente información:
dset /export/cpccfnfs/cpcsat/cpcUniGaugeRT/PRODUCTS/GRID/%y4/gridGLB /
DEG0.500M/PRCP_CU_GAUGE_V1.0GLB_0.50deg.lnx.%y4%m2%d2.RT opciones
plantilla little_endian
title análisis diario global (media del cuadro de cuadrícula, la cuadrícula que se muestra es el centro del cuadro de cuadrícula)
undef -999.0
xdef 720 lineal 0,25 0,50
ydef 360 lineal -89,75 0,50
zdef 1 lineal 1 1
tdef 2156 lineal 01ene2007 1dy
vars 2
lluvia 1 00 el análisis de la red (0,1 mm/día)
gnum 1 00 el número de stn
ENDVARS
Ejemplo
Considere dos archivos netcdf, uno que contiene 50 años de datos mensuales (600 pasos de
tiempo) y el otro que contiene 100 años (1200 pasos de tiempo): pr.1851-1900.nc
pr.1901-2000.nc
El archivo descriptor debe tener las siguientes entradas:
DSET ^pr.%ch.nc
CHSUB 1 600 1851-1900
CHSUB 601 1800 1901-2000
Plantilla OPCIONES
DTYPE netcdf
TDEF 1800 lineal ene1851 1 mes
con el comando que archivo se observó que el archivo tiene 124 veces. Para graficar la
variable slp en un momento dado, es necesario indicar ese tiempo. Para ello se utiliza el
comando:establecer t seguido del tiempo deseado. La variable se grafica con el comando
visualización seguida del nombre de la variable. El comandomonitor se puede abreviar con la
letra D.
dslp/100
Ejemplo:
establecer hora 00Z01Jan2010
Tenga en cuenta que los meses que se colocan en la expresión anterior son abreviaturas en inglés: enero,
febrero, marzo, abril, mayo, junio, julio, agosto, septiembre, octubre, noviembre y diciembre.
Ahora si quieres borrar la pantalla grafica para hacer un mapa solo de america
del Sur y en el tiempo 10. Para borrar la pantalla gráfica, use el comando claro que se puede
abreviar por C. Para crear un mapa de América del Sur, es necesario delimitar las latitudes y
longitudes de interés. Esto se hace con los comandosestablecer lat y conjunto largo. Vea abajo:
Actualmente, GrADS tiene los últimos comandos ingresados en la memoria. Por tanto,
si el objetivo es, por ejemplo, crear una gráfica con latitudes diferentes a la anterior, puedes
utilizar el comandoReiniciar para borrar los comandos escritos de la memoria y se escriben
nuevos comandos.
En las instrucciones anteriores, se creó un mapa para América del Sur. Para
guardar esta figura, use el comando impresión. Este comando le permite guardar la figura
en formato jpeg o gif. A menudo, las imágenes guardadas en estos formatos son de mala
calidad. Por lo tanto, puede usar un conjunto de comandos para guardar la figura en
formato gmf. Las cifras en gmf se pueden ver con elsoftware gv32.exe disponible para
descargar en http://www.iges.org/grads/downloads.html.
establecer t 10
dslp/100
Guardar la figura con el comando printim: junto a este comando, especifique la ruta donde
se guardará la figura y el nombre de la figura. Para dejar el área de fondo de la figura en
blanco, use la palabra blanco.
deshabilitar imprimir
Hasta ahora se han trazado gráficos lineales. Ahora agreguemos la opción que hace que la
figura se llene. Para ello se utilizará el comandoestablecer gxout sombreado.
C
establecer t 10
dslp/100
Observe en la ventana de comandos que los valores de presión van desde 975 a
1020 hPa y que la figura fue construida con intervalos de 5 hPa. Ahora desea cambiar los
intervalos a 4 hPa y definir colores para ellos. Usemos los comandosjuego de llaves y
establecer ccols. GrADS tiene una tabla con la cantidad de colores. Entonces, simplemente
consulte la tabla (ver más abajo). Más adelante, cuando lleguemos al tema scripts,
aprenderemos a construir tablas de colores.
Tabla de colores
En http://www.iges.org/grads/gadoc/gadocindex.html se presenta la siguiente tabla de
colores:
9 14 4 11 5 13 3 10 7 12 8 dos 6
Ejemplo:
Juego de horquillas 975 979 983 987 991 995 999 1003 1007 1011 1015 1019
Como se colocaron 12 valores al lado del comando clevs, tenemos que tener 13 colores
definidos al lado del comando ccols.
establecer colores ccols
juego de horquillas 975 979 983 987 991 995 999 1003 1007 1011 1015 1019 d
slp/100
La inserción de una paleta de colores en una figura está condicionada al uso previo del
comando establecer gxout sombreado. Después de usar este comando, simplemente escriba el
comando para insertar la pastilla de color (cbar.gs o cbarn.gs). La diferencia entre cbar y cbarn
es que este último crea triángulos al final de las paletas. Consulte las figuras a continuación.
ejecutar C:\Reboita\aula\cbar.gs
En la siguiente figura, se insertaron dos paletas, una con cbar y la otra con cbarn. Tenga en
cuenta la diferencia entre ellos.
cbarn.gs nos ofrece algunas opciones como modificar la ubicación de la paleta
(vertical u horizontal), acercarla o alejarla de la figura, o hacerla más delgada o gruesa.
Grosor de la paleta
cambie el número (tamaño) multiplicado por este factor de ejecución cbarn (1.2)
Actividad
Acceda al sitio web de NCEP (consulte la guía al comienzo del folleto) y reduzca la
temperatura del aire al nivel de 1000 hPa para todo el mundo en julio de 2012. Trace un
gráfico para:
- tiempo 24
- Cuadrícula de América del Sur (ver ejemplos anteriores)
- temperatura en grados Celsius
- Clevs que van desde -10 a 30 con intervalos de 4 grados
- colores: según tu voluntad
- inserte la paleta de colores verticalmente y cerca de la figura
- guardar la figura en formato gif y con fondo blanco
4.8 Gráficos
Datos de cuadrícula
Hay una serie de opciones que se pueden utilizar para dar formato a las líneas de
contorno de un gráfico.
color de linea
estilo de línea
0 ninguno
1 sólido
2 guiones largos
3 guiones cortos
4 largos discontinuos intercalados con 5
cortos punteados
6 punteado – discontinuo
7 puntos dobles seguidos de guiones
establecer cstyle 2
Considere los datos del archivo slp2010.nc. Si lo que interesa es realizar una gráfica cuyo
valor mínimo de presión sea 1000 hPa, utilice el comando set cmin.
establecer cmin 1000 - el valor mínimo que tendrá el gráfico es 1000 hPa
el grosor varía de 1 a 10 el
tamaño varía de 0 a 1
establecer tamaño de grosor de color xlopts - color, grosor y tamaño de la etiqueta del eje x
establecer xlopts 1 0.14 0.14
establecer ylopts color espesor tamaño - color, grosor y tamaño de la etiqueta del eje y establecer
ylopts 1 0.14 0.14
El comando dibujar se usa para ingresar títulos. Debe insertarse después de la
visualización del gráfico.
Nota: para los que no les gusta la pantalla negra, GrADS tiene la opción de poner la pantalla
gráfica en blanco, para eso es necesario ingresar los comandos:
Acceda al sitio web del NCEP, reanálisis 1, descargue los datos horarios del mes de junio de 2012 de
las componentes zonal y meridional a 200 hPa. Cambie el nombre de los archivos a: u_0612.nc y
v_0612.nc.
4.8.2 Vectores
sdfopen C:\Reboita\aula\u_0612.nc
sdfopen C:\Reboita\aula\v_0612.nc
d uwnd.1;vwnd.2
o
d saltar(uwnd.1,2);vwnd.2
En la primera opción, los vectores de viento se trazarán para todos los puntos de la
cuadrícula, en la segunda opción existe la opción de omitir algunos puntos, lo que se indica con el
número 2, después de la coma.
establecer valor de magnitud arrscl - longitud del vector según magnitud. El valor debe estar
entre 0,5 a 1. La magnitud depende de los valores de los datos bajo análisis.
establecer el valor de la punta de flecha - tamaño de la punta de flecha. El valor predeterminado es 0.05
conjunto arrscl 1 60
conjunto t 3
d saltar(uwnd.1,3);vwnd.2
Junto con la dirección del viento es interesante representar su intensidad. Para ello,
antes de graficar la dirección, se calcula la magnitud del viento y luego se grafica.
define magnitud=sqrt(pow(uwnd.1,2)+pow(vwnd.2,2))
NOTA: Los siguientes comandos no funcionan define
magnitud=sqrt((uwnd.1**2)+ (vwnd.2* *dos))
definir magnitud=mag(uwnd.1,vwnd.2)
Hagamos un ejemplo:
Reiniciar
conjunto t 3
define magnitud=mag(uwnd.1,vwnd.2) d
magnitud
establecer vector gxout
d saltar(uwnd.1,3);vwnd.2
Además de las opciones mostradas en el ítem 4.8.1, para este tipo de gráfico:
establecer valor strmden - densidad de línea actual. Varía de1 El 10. El valor 5 es el predeterminado.
establecer strmden 5
d uwnd.1.vwnd.2
establecer secuencia gxout
establecer strmden 3
establecer colores 4
d uwnd.1.vwnd.2
d upnd.1
d upnd.1
establecer t 1 último
d uwnd.1;vwnd.2
Para construir esta figura, obtengamos el componente de viento zonal del sitio web
de NCEP el 10 de junio de 2012 a las 12 UTC en todos los niveles verticales. El archivo se
llamará u_vertical.nc
sdfopen C:\Reboita\aula\u_vertical.nc
set lon -100 0
fijar lat -45
septiembre z 1 17
abajo
establecer contorno gxout
establecer ccolor 1
abajo
dibujar título Sección Vertical del Viento Zonal
dibujar xlab Longitud
dibujar ylab Altura (hPa)
Para la escala logarítmica, utilice activar zlog.
sdfopen C:\Reboita\aula\u_vertical.nc
set lon -100 0
fijar lat -45
septiembre z 1 17
activar zlog
establecer xlopts 1 0,14 0,14
establecer ylopts 1 0,14 0,14
establecer gxout sombreado
abajo
establecer contorno gxout
establecer ccolor 1
abajo
dibujar título Sección Vertical del Viento Zonal
dibujar xlab Longitud
dibujar ylab Altura (hPa)
4.9 Mapas y formato
establecer mapa 2 1 10
dslp/100
establecer mpdset <lowres|mres|contrataciones|nmap - seleccione los límites geográficos del mapa baja
resolución es el predeterminado sin límites de país
Señora y contrata tienen una división de países y en los Estados Unidos, una división de
estados. nmap solo cubre Norteamérica
establecer color 1
dslp/100
Tipos de proyecciones
Ejemplos:
apartar a los graduados
establecer t 1
establecer mapa 1 1 10
establecer t 1
establecer mapa 1 1 10
establecer t 1
establecer mapa 1 1 10
establecer t 1
establecer t 1
establecer t 1
establecer t 1
establecer t 1
desactivar mproj
establecer mapa 1 1 10
conjunto parea xmin xmax ymin ymax - x e y proporcionan las coordenadas para la posición de los
gráficos
dslp/100
establecer contorno gxout
establecer color 1
dslp/100
título del sorteo 00Z10ene2010
Repita la misma secuencia de comandos anterior tres veces más, pero cambiando la fecha y
utilizando para cada una de las secuencias los siguientes valores de parea establecidos: set parea 6
10 4.5 7.5 set parea 1 5 0.5 3.5 set parea 6 10 0.5 3.5
NOTA: al trazar solo las curvas de nivel, el mapa solo aparecía en la primera figura. Usando
sombreado este problema desaparece. No puedo explicar por qué.
4.11 Cuerdas
Este último comando escribe el texto en el punto x,y. Recuerda que la visualización gráfica
está definida en unidades virtuales y en formato apaisado tiene 11 unidades en el eje x y 8,5
unidades en el eje y.
establecer cadena 1 l 5 0
En los guiones:
Vamos a generar algunos scripts. El primero será para la construcción de figuras con
diferentes proyecciones cartográficas, como las presentadas en el ítem 4.9. Inicialmente, abra
el editor de texto, guarde el archivo con un nombre determinado, por ejemplo mapas.gs, y
comienza la introducción de los comandos.
______________________________________________________________________
* Este programa genera mapas con diferentes proyecciones cartográficas
* Creado el 01/11/2012
'reiniciar'
'sdfopen C:\Reboita\aula\slp2010.nc'
'desactivar calificaciones'
'establecer t 1'
'desactivar calificaciones'
'establecer t 1'
'desactivar calificaciones'
'establecer t 1'
'desactivar calificaciones'
'establecer t 1'
'desactivar calificaciones'
'establecer t 1'
'desactivar calificaciones'
'establecer t 1'
'desactivar calificaciones'
'establecer t 1'
'desactivar calificaciones'
'establecer t 1'
'desactivar mproj'
'establecer mapa 1 1 10'
'establecer xlopts 1 1 0.16'
'establecer ylopts 1 1 0.16'
'd slp/100'
'dibujar título Proyección desactivada'
Para ejecutar el programa, use el comando ejecutar seguido de la ruta y el nombre del
texto.
ejecutar C:\Reboita\aula\mapas.gs
Ahora los comandos que se usaron para generar múltiples cifras de presión
atmosférica en la misma ventana gráfica también se insertarán en un script.
______________________________________________________________________
* Este programa genera cuatro figuras en la misma ventana gráfica
* Creado el 01/11/2012
'reiniciar'
'sdfopen C:\Reboita\aula\slp2010.nc'
'deshabilitar graduados'
'dslp/100'
'establecer contorno gxout'
'dslp/100'
'título del sorteo 00Z10Jan2010'
'deshabilitar graduados'
'dslp/100'
'establecer contorno gxout'
'dslp/100'
'título del sorteo 06Z10Jan2010'
'deshabilitar graduados'
'dslp/100'
'establecer contorno gxout'
'dslp/100'
'título del sorteo 12Z10Jan2010'
'deshabilitar graduados'
'dslp/100'
'establecer contorno gxout'
'dslp/100'
'título del sorteo 18Z10Jan2010'
tirar n
'C'
______________________________________________________________________
También es posible crear scripts para generar tonos de color que no sean los
predeterminados de GrADS. Para ello se utiliza el sistema RGB.
Por tanto, en el sistema RGB, los colores se crean mezclando tres colores (rojo,
verde y azul). Así, en programación se proporcionan tres valores, cada uno de los cuales
puede variar entre 0 y 255. Una secuencia de tres ceros corresponde al negro y una de tres
255, al blanco. En internet hay varias páginas que presentan tablas de colores con valores
RGB, por ejemplo, http://efeitosespeciais.net/tabela.htm. En el archivo adjunto se
reproduce una copia de la tabla de colores de ese sitio web.
Ahora vamos a crear un script con ocho tonos de azul y guardarlo con el nombre
cor_azul.gs. Como este script se usará dentro de otros, no vamos a usar reinit.
color_azul.gs
______________________________________________________________________
'establecer rgb 30 51 255 255' 'establecer
______________________________________________________________________
slp_cor_azul.gs
______________________________________________________________________
'reiniciar'
'sdfopen C:\Reboita\aula\slp2010.nc'
'ejecutar C:\Reboita\aula\cor_azul.gs'
'deshabilitar graduados'
'dslp/100'
'establecer contorno gxout'
'establecer horquillas 995 1000 1005 1010 1015 1020'
'establecer color 1'
'establecer clopts 1 5
0.16' 'd slp/100'
'título del sorteo 00Z10Jan2010'
'printim C:\Reboita\aula\fig_azul.gif blanco'
______________________________________________________________________
4.13.1 Concatenación
______________________________________________________________________
'reiniciar'
'sdfopen C:\Reboita\aula\slp2010.nc'
minlat = -30
maxlat = minlat + 60
minlon = -90
maxlon = -30
'establecer lat 'minlat' 'maxlat''
'establecer lon 'minlon' 'maxlon''
'dslp/100'
______________________________________________________________________
Es posible configurar para guardar un valor GrADS y luego usarlo con el nombre
asignado.
4.13.2 Decir
______________________________________________________________________
'reiniciar'
di hola'
expresión = 'IRADO'
decir ' '
decir 'Aprender GrADS es muy' expresión
decir ' '
Di adiós'
______________________________________________________________________
4.13.3 Tirar
El comando jalar junto con decir nos permite capturar información escrita en la
ventana de comandos de GrADS. Para este ejemplo, creemos un script llamado
ling_3.gs. En este mismo script también aprenderemos a definir una variable (ver
comandodefine).
______________________________________________________________________
'reiniciar'
'sdfopen C:\Reboita\aula\slp2010.nc'
say Type ' ' minor ' ' latitude pull minlat
'd pres'
______________________________________________________________________
4.13.4 Operadores
mientras / al final
Sintaxis
mientras
Línea de comando
.
mientras tanto
______________________________________________________________________
'reiniciar'
'sdfopen C:\Reboita\aula\slp2010.nc'
tiempo = 1
while (tiempo <= 25)
'establecer t' tiempo
'dslp/100'
'C'
tiempo = tiempo + 1
endwhile
______________________________________________________________________
si / más / endif
Sintaxis
si expresión
Línea de comando
.
demás
Línea de comando
.
terminara si
______________________________________________________________________
'reiniciar'
'sdfopen C:\Reboita\aula\slp2010.nc'
tiempo = 1
while (tiempo <= 25)
'establecer t' tiempo
si tiempo=1
'definir pres=slp'
terminara si
'dslp/100'
'C'
tiempo = tiempo + 1
endwhile
______________________________________________________________________
Ejemplos:
Qué equipo - al escribir q time en la ventana de comandos de GrADS, aparece la siguiente línea Hora
= 00Z01Jan2010 a 00Z01Jan2010 de viernes a viernes
data_val=subwrd(resultado,5) - esta función captura la información de la quinta posición de la línea
que en este caso es 00Z01Jan2010
establecer t 1
Qué pasa
línea = sublin(resultado,5) - almacena la información que aparece en la quinta línea de lin. fecha =
subwrd(línea,6) - obtener la información que está en la posición 6 de la línea seleccionada
______________________________________________________________________
'reiniciar'
'sdfopen C:\Reboita\aula\slp2010.nc'
'set t 10'
'lo que atenúa'
lin=sublin(resultado,5)
say 'Información obtenida en sublin'
say lin
datos = subwrd (lin, 6)
say 'Información obtenida en subwrd'
say data
'dslp/100'
diga 'Usaremos la información almacenada en los datos' 'título
del dibujo 'datos'
______________________________________________________________________
Ejercicio: Cree un guión con la siguiente información. Guardar como ling_7.gs. Describa lo que
hace el programa.
______________________________________________________________________
'reiniciar'
'sdfopen C:\Reboita\aula\slp2010.nc'
i0=1
mientras (i0 <= 124)
'establecer t' i0
'qué hora'
data_val=subwrd(resultado,5)
'establecer lat -50 15'
'establecer lon -100 -20' 'establecer
contrataciones de mpdset'
____________________________________________________________________________
Para ver un gráfico a la vez, haga clic en la ventana de comandos y presione la tecla
Intro. Cada vez que presione la tecla enter, aparecerá un nuevo gráfico.
4.14 Guardar archivos en formato binario y de texto
formato binario
ver el programa ling_8.gs para guardar las dos primeras veces del archivo
slp2010.nc en binario. En este script, los comandos para guardar los datos en formato
binario son:
______________________________________________________________________
'reiniciar'
'sdfopen C:\Reboita\aula\slp2010.nc'
'establecer t 1 2'
'conjunto x 1 144'
'conjunto y 1 73'
______________________________________________________________________
En el programa ling8,gs, tenga en cuenta que los puntos se han fijado en xey. Esto
es necesario incluso cuando se escribe toda la cuadrícula de datos. Sin esto, GrADS crea
una latitud o longitud a partir de puntos indefinidos. Para saber si el tamaño del archivo
creado es el correcto, multiplica el número de latitudes, por el número de longitudes, por
el número de veces, por el número de niveles verticales, por el número de variables y por
4.
Otra novedad contenida en el programa es el comando renunciar, que se utiliza para cerrar
GrADS después de ejecutar un trabajo.
dset C:\Reboita\aula\pressao.bin
undef 9,999E+20
presión del título
opciones little_endian
ydef 73 lineal -90.0 2.5 xdef 144
lineal 0.0 2.5 tdef 2 lineal
00Z01Jan2010 6hr zdef 1 niveles
1000
vars 1
slp 1 0 presión
endvars
abrir C:\Reboita\aula\pressao.ctl
Formato de texto
______________________________________________________________________
'reiniciar'
'!rm -f C:\Reboita\aula\dadostxt.dat'
'sdfopen C:\Reboita\aula\slp2010.nc'
yo=1
mientras(i<=124)
'set t'i
'establecer lat -22'
'dslp/100'
valor=sublin(resultado,2)
decir valor
write('C:\Reboita\aula\dadostxt.dat',valor)
yo=yo+1
mientras tanto
close('C:\Reboita\aula\dadostxt.dat')
______________________________________________________________________
Ahora guardemos todos los puntos de cuadrícula entre 90El S y 0 en un solo tiempo
(pero el programa estará listo para grabar más veces). Vamos a usar los mismos comandos
resaltados en el script anterior, pero como tenemos que barrer todos los puntos de la
cuadrícula, haremos un contador para la latitud. Además, utilizaremosel conjunto de prnopts
que se explicará a continuación. Es importante tener en cuenta que los datos en GrADS, en
general, se almacenan desde la latitud más baja hasta la latitud más alta (-90El El
+ 90El), pero en la representación gráfica (en los mapas) los datos están ordenados de +90El El -
90El. Entonces, en el programaling_10.gs, que se mostrará a continuación, los datos se guardarán
desde la latitud más baja a la más alta (-90 a 0). Es decir, la primera línea representará la latitud 90º S,
la segunda 87,5º S y así sucesivamente.
Controla la forma en que se imprimen los valores cuando establecer gxout imprimir es usado.
Formato una plantilla en lenguaje C para formatear la salida ascii. El valor predeterminado es %g.
número número de valores impresos por registro. El valor predeterminado es 8.
entumecido número de caracteres en blanco insertados entre valores. El valor predeterminado es 1.
tu Imprime 'Undef' en lugar del valor numérico para los datos que faltan.
Algunas observaciones
La primera línea de salida ASCII informa cuántos valores de datos se están imprimiendo,
así como los valores de datos faltantes.
ling_10.gs
______________________________________________________________________
'reiniciar'
'!rm -f C:\Reboita\aula\datagrade.dat'
'sdfopen C:\Reboita\aula\slp2010.nc'
* Número de puntos en x y nx
= 144
ny=37+1
* bucle en el tiempo i =
1
mientras(i<=1)
'set t'i
'conjunto x 1 'nx'
* looping en latitudes
* Tenemos que empezar en dos para no almacenar
* la línea de información de la cuadrícula de impresión y=2
while(y<=ny)
'establecer impresión gxout'
y=y+1
mientras tanto
yo=yo+1
mientras tanto
close('C:\Reboita\class\datagrade.dat')
______________________________________________________________________
Ahora imagine que está interesado en escribir los datos para que la latitud 0
sea la primera línea del archivo y la latitud -90 sea la última línea. Para eso, vea el
guión.ling_11.gs.
______________________________________________________________________
'reiniciar'
'!rm -f C:\Reboita\aula\datagrade_inv.dat'
'sdfopen C:\Reboita\aula\slp2010.nc'
* Número de puntos en x (nx) e y (ny)
nx=144
ny=37+1
* bucle en el tiempo i =
1
mientras(i<=1)
'set t'i
Traducido del portugués al español - www.onlinedoctranslator.com
'conjunto x 1 'nx'
* looping en latitudes
* Tenemos que empezar en dos para no almacenar
* la línea de información de la cuadrícula de
impresión y=ny
mientras(y>1)
'establecer impresión gxout'
y=y-1
mientras tanto
yo=yo+1
mientras tanto
close('C:\Reboita\class\datagrade_inv.dat')
______________________________________________________________________
formato netcdf
25 26 28
27 30 29
(yo, j)
27 28 28
Suponga que la distancia entre cada punto de la cuadrícula es de 100 km.
∆ = ∆ = 100
+1, − −1,
=
2 ∆
29 - 27
= = 0,01 /
2 (100)
Como generalmente calculamos derivadas sobre grandes porciones del globo, es necesario
entrar en el efecto de la esfericidad de la Tierra. El siguiente ejemplo muestra la ecuación para la
advección de temperatura horizontal en coordenadas esféricas.
− ?⃗? ∙ ∇
Sabiendo que:
= − ( + )
cdiff(expr,dim) operación de diferencia centrada en expr en la dirección especificada por dim. Tenga
en cuenta que al usar esta función no tendrá datos en el borde de la cuadrícula. Los valores serán
indefinidos.
'define dx = 6.37E6*cos(lat*(3.14159/180))*cdiff(lon,x)*(3.14159/180)'
'define dy = 6.37E6*cdiff(lat,y)*(3.14159/180) '
uwnd_0310.nc
vwnd_0310.nc
Guarde el programa con el nombre de ling_12.gs.
______________________________________________________________________
* Este programa calcula la advección de temperatura horizontal
'reiniciar'
'sdfopen C:\Reboita\aula\air_0310.nc'
'sdfopen C:\Reboita\aula\uwnd_0310.nc'
'sdfopen C:\Reboita\aula\vwnd_0310.nc'
'define dx = 6.37E6*cos(lat*(3.14159/180))*cdiff(lon,x)*(3.14159/180)'
'define dy = 6.37E6*cdiff(lat,y)*(3.14159/180) '
'd advección'
______________________________________________________________________
En las dos primeras semanas de marzo de 2010, el ciclón Anita ocurrió cerca de la costa
del sur de Brasil. Calcule la advección de temperatura asociada con este sistema a las
06Z10Mar2010 entre las latitudes -40 y -20 y las longitudes -60 y -30. Trace los vectores de
viento sobre el campo de advección de temperatura (ling_13.gs).
Viento geostrófico
En coordenadas esféricas:
1 ∅ 1 ∅
= − =
hgt_200_0310.nc
uwnd_200_0310.nc
vwnd_200_0310.nc
NOTA: Los reanálisis proporcionan la altura geopotencial (Z) y no el geopotencial (-). Por
tanto, en la elaboración de programas debemos multiplicar el valor de la altura
geopotencial (Z) por la aceleración de la gravedad terrestre media (gEl= 9,8 ms-dos), para
obtener la cantidad geopotencial (-).
≡ ( )
______________________________________________________________________
* Este programa calcula el viento geostrófico
'reiniciar'
'sdfopen C:\Reboita\aula\hgt_200_0310.nc'
'sdfopen C:\Reboita\aula\uwnd_200_0310.nc'
'sdfopen C:\Reboita\aula\vwnd_200_0310.nc'
'definir f=2*7.292e-5*sin(lat*(3.14159/180))'
'define ug=-1/f*(cdiff(9.8*hgt.1,y)/dy)'
'define vg=1/f*(cdiff(9.8*hgt.1,x)/dx)'
'definir ua=uwnd.2-ug'
'definir va=vwnd.3-vg'
'd uwnd.2;vwnd.3'
'establecer transmisión gxout'
'dug;vg'
'titulo del sorteo Vento Real (Negro) y Vento Geostrofico (Azul)'
______________________________________________________________________
Divergencia
= +
En coordenadas esféricas:
= +
porque
______________________________________________________________________
* Este programa calcula la divergencia
* valores + = div valores - = conv
'reiniciar'
'sdfopen C:\Reboita\aula\uwnd_200_0310.nc'
'sdfopen C:\Reboita\aula\vwnd_200_0310.nc'
'define dx = 6.37E6*cos(lat*(3.14159/180))*cdiff(lon,x)*(3.14159/180)'
'define dy = 6.37E6*cdiff(lat,y)*(3.14159/180) '
'definir dudx=(cdiff(uwnd.1,x)/dx)'
'definir dvdy=(cdiff(vwnd.2,y)/dy)'
'definir div=dudx+dvdy'
'div'
'ejecutar cbarn.gs'
'título del dibujo Divergencia de masas'
'printim C:\Reboita\aula\divergencia.gif blanco'
______________________________________________________________________
Vorticidad relativa
= −
En coordenadas esféricas:
= −
porque
'reiniciar'
'sdfopen C:\Reboita\aula\uwnd_200_0310.nc'
'sdfopen C:\Reboita\aula\vwnd_200_0310.nc'
'define dx = 6.37E6*cos(lat*(3.14159/180))*cdiff(lon,x)*(3.14159/180)'
'define dy = 6.37E6*cdiff(lat,y)*(3.14159/180) '
'definir dvdx=(cdiff(vwnd.2,x)/dx)'
'definir dudy=(cdiff(uwnd.1,y)/dy)'
'definir vort=dvdx-dudy'
'vort'
'ejecutar cbarn.gs'
'título del dibujo Vorticidad relativa'
'printim C:\Reboita\aula\vortrelativa.gif blanco'
______________________________________________________________________
4.16 Funciones predefinidas en GrADS
cdiff(expr,dim) operación de diferencia centrada en expr en la dirección especificada por dim Los valores
en los bordes de la cuadrícula no están definidos.
ginebra (expr) integral de expr (similar a pájaro, pero no dividido por el área total)
registro (expr) calcular el logaritmo natural de expr Los valores menores o iguales a cero no están
definidos.
acos(expr) coseno inverso de expr en radianes. Los valores de expr mayores que 1 y
menores que -1 se consideran faltantes.
saltar (expr, skipx, skipy) flecha valores alternos de expr en la cuadrícula X,Y. Se utiliza
principalmente para disminuir la densidad de vectores y púas.
expr expresión variable skipx factor
de salto en la dirección X skipy
factor de salto en la dirección Y
______________________________________________________________________
* Este programa calcula la divergencia, la vorticidad relativa y la magnitud
* del viento usando funciones predefinidas.
'reiniciar'
'sdfopen C:\Reboita\aula\uwnd_200_0310.nc'
'sdfopen C:\Reboita\aula\vwnd_200_0310.nc'
* divergencia
'definir div=hdivg(uwnd.1,vwnd.2)'
* vorticidad
'definir vort=hcurl(uwnd.1,vwnd.2)'
* Magnitud del viento
'definir magnitud=mag(uwnd.1,vwnd.2)'
* Cifras
'establecer gxout sombreado'
'div*10E5'
'ejecutar cbarn.gs'
'establecer contorno gxout'
tirar n
'C'
'establecer gxout sombreado'
'd magnitud'
'ejecutar cbarn.gs'
'establecer vector gxout'
'saltaría(uwnd.1,2);vwnd.2'
'título dibujo Magnitud y Vector Viento' 'printim C:
\Reboita\aula\mag_vector.gif blanco'
______________________________________________________________________
Obtenga datos mensuales de TSM (OISST V2) desde enero de 2011 hasta septiembre de
2012 del sitio web de NCEP.Nombre el archivo sst_0111_0912.nc. Tenga en cuenta las
operaciones realizadas en elling_18.gs.
______________________________________________________________________
* Este programa calcula el promedio del TSM en puntos de cuadrícula
'reiniciar'
'sdfopen C:\Reboita\aula\sst_0111_0912.nc'
**************************************************************
* Promedio en la zona
'establecer t 1'
'definir mjana=aave(sst,lon=0,lon=357.5,lat=-90,lat=90)'
______________________________________________________________________
max(expr, dim1, dim2, tinc) el valor máximo de expr en la dimensión especificada tinc es opcional en
caso de que la dimensión sea T
min(expr, dim1, dim2, tinc) el valor mínimo de expr en la dimensión especificada tinc es opcional en
caso de que la dimensión sea T
los guiones ling_19.gs y ling_20.gs proporcione ejemplos del uso del comando
algo9 para el suavizado de datos. En ling_19.gs vamos a suavizar el campo de presión
atmosférica. Como esta variable no tiene mucho ruido, aplicaremos el suavizado tres
veces.
ling_19.gs
______________________________________________________________________
* Ejemplo de suavizado de datos
'reiniciar'
'sdfopen C:\Reboita\aula\slp2010.nc'
'set t 1'
'establecer gxout sombreado'
'set clevs 990 995 1000 1005 1010 1015 1020 1025 1030' 'd
slp/100'
'printim C:\Reboita\aula\slp_orig.gif blanco'
tirar n
'C'
'establecer t 1'
'fije las horquillas 990 995 1000 1005 1010 1015 1020 1025 1030'
'd smth9(smth9(smth9(slp/100)))'
'printim C:\Reboita\aula\slp_suav.gif blanco'
______________________________________________________________________
ling_20.gs
______________________________________________________________________
'reiniciar'
tirar n
'C'
* alisado
'establecer gxout sombreado'
0 océano
1 continente
______________________________________________________________________
* Uso de enmascaramiento
* NOTA: no es posible mantener abiertos archivos con diferentes dimensiones al mismo tiempo
* Entonces, abramos el archivo de máscara, configuremos la variable y cerremos el archivo
'reiniciar'
'sdfopen C:\Reboita\aula\land.nc'
'define mask=land'
'cerrar 1'
'sdfopen C:\Reboita\aula\slp2010.nc'
tirar n
'C'
que pos - después de activar este comando, GrADS deja de ejecutar el script hasta
que el usuario haga clic con el mouse.
Hay una convención en GrADS, el botón izquierdo del mouse se identifica como
número 1, el central como 2 y el derecho como 3. Si después del comando q pos hacemos
clic con el botón izquierdo del mouse, el número 3 se almacenará en Memoria GrADS Con
esta información es posible realizar una secuencia de instrucciones para que GrADS
avance o retroceda las cifras. Ver el ejemplo en el programa.ling_22.gs.
______________________________________________________________________
* Creación de botones
'reiniciar'
'sdfopen C:\Reboita\aula\slp2010.nc'
diga "Haga clic con el botón izquierdo en la figura para avanzar" diga
"Haga clic con el botón derecho sobre la figura para retroceder" diga
"Haga clic con ambos botones para salir de gs"
tiempo=1
tfim=5
mientras (tiempo <= tender)
'establecer t' tiempo
'desactivar calificaciones'
* tirar n
* 'C'
tiempo=tiempo+1
* Comandos de botón
'que pos'
lt=sublínea(resultado,1)
dilo
clic = subwrd (lt, 5)
di clic
terminara si
* boton 2 (central)-> salir
si(click=2)
'reiniciar'
tiempo = fin
terminara si
'C'
mientras tanto
______________________________________________________________________
Ejemplo del contenido del archivo de texto. La primera columna tiene latitudes y la segunda tiene
longitudes.
- 20 300
- 22 302
- 23 310
- 26 320
- 28 326
- 29 330
texto trayectorias.gs
______________________________________________________________________
'sdfopen C:\Reboita\aula\slp2010.nc'
* Trazar el mapa de fondo
'establecer color de pantalla blanco'
'C'
'establecer mpdset mres'
* diagrama de mapa
'establecer cmax -10000000'
'set lat -50 -5' 'set
lon 270 340' 'set
grads off'
'dslp'
* Número de posiciones (lat,lon)
numpos=6
yo=0
while (i<=numpos-1)
ret = read('C:\Reboita\aula\trk0804.dat0082') rec
= sublin(ret,2)
lat = subwrd(rec,1)
lon = subwrd(rec,2)
* Puntos de conexión
si (i>0)
diga 'Ingresé el if de i>0'
'dibuje la línea 'xold' 'yold' 'x' 'y
endif
yo=yo+1
mientras tanto
______________________________________________________________________
Referencias
- Folleto de Graduados
- Folleto de Everaldo
Archivos adjuntos