problem: grib to ascii
Rafael Mundaray
remm69 at GMAIL.COM
Tue Jul 3 08:01:48 EDT 2007
Hi Mantas, try with this, is a script that i made for obtain data in .txt
format of a display...
Look the bold types... You must change those...
The script ask level and time that you need values...
Well, script is in Spanish but it easy reading...
Remenber you change the display 'd rhprs' for your variable 'd WIND
DIRECTION'
and change path and name of the file that you want that the datas be
saved...
.................................................................................................................................................
'q dims'
rec=sublin(result,2)
lonmin=subwrd(rec,6)
lonmax=subwrd(rec,8)
say 'lonmin 'lonmin 'lonmax 'lonmax
rec=sublin(result,3)
latmin=subwrd(rec,6)
latmax=subwrd(rec,8)
say 'latmin 'latmin 'latmax 'latmax
rec=sublin(result,2)
Imin=subwrd(rec,11)
say 'Imin 'Imin
rec=sublin(result,2)
Imax=subwrd(rec,13)
say 'Imax 'Imax
rec=sublin(result,3)
Jmin=subwrd(rec,11)
say 'Jmin 'Jmin
rec=sublin(result,3)
Jmax=subwrd(rec,13)
say 'Jmax 'Jmax
'set gxout shaded'
'q ctlinfo'
rec=sublin(result,6)
LEVELsfc=subwrd(rec,4)
say 'Nivel en Superficie es= 'LEVELsfc
rec=sublin(result,10)
LEVELtop=subwrd(rec,3)
say 'Nivel Tope es= 'LEVELtop
say 'Debe Introducir el Nivel de la Variable'
say 'Los Niveles Deben Estar Entre= 'LEVELsfc ' y ' LEVELtop
say 'INTRODUZCA EL NIVEL QUE DESEA'
pull level
'set lev 'level
if (level>LEVELsfc)
say 'Su Nivel Esta Por Debajo del Nivel de Superficie'
say 'Reinicie el Programa'
return
else
if (level<LEVELtop)
say 'Su Nivel Esta Por Encima del Nivel Tope'
say 'Reinicie el Programa'
return
endif
endif
rec=sublin(result,3)
Indefinida=subwrd(rec,2)
say 'Valor Indeterminado es= 'Indefinida
'q file'
rec=sublin(result,5)
Tsize=subwrd(rec,12)
say 'Numero de Tiempos Contenidos en el Archivo = 'Tsize
'q time'
rec=sublin(result,1)
StartTIME=subwrd(rec,3)
say 'La Hora de INICIO del Archivo Es = 'StartTIME
'set t 'Tsize
'q time'
rec=sublin(result,1)
EndTIME=subwrd(rec,3)
say 'La Hora FINAL del Archivo Es = 'EndTIME
say 'Debe Introducir un Tiempo Entre= 'StartTIME' y 'EndTIME
say 'INTRODUZCA EL TIEMPO EN QUE DESEA QUE SE GENERE EL ARCHIVO .TXT'
pull time
'set t 'time
'q time'
rec=sublin(result,1)
SELECThour=subwrd(rec,3)
say 'Tiempo Seleccionado Es = 'SELECThour
say 'Esta seguro que desea este tiempo 1=yes 0=no'
pull RES
if (RES = 0)
say 'Vuelva a Correr el Script y Seleccione el Tiempo que Desea'
return
endif
'd rhprs'
'q gr2w 'Imin' 'Jmin
rec=sublin(result,1)
XminW=subwrd(rec,3)
YminW=subwrd(rec,6)
say 'Longitud y Latitud Minima Son= 'XminW' 'YminW
'q gr2w 'Imax' 'Jmax
rec=sublin(result,1)
XmaxW=subwrd(rec,3)
YmaxW=subwrd(rec,6)
say 'Longitud y Latitud Maxima Son= 'XmaxW' 'YmaxW
dLon = (math_abs(lonmin)-math_abs(lonmax))/Imax
dLat = math_abs(math_abs(latmin)-math_abs(latmax))/Jmax
say 'dLon 'dLon 'dLat 'dLat
lon=lonmin
rc = write('/home/Rafael/Desktop/txt/RH_'SELECThour'.txt','Tiempo del
Archivo Generado= 'SELECThour'')
rc = write('/home/Rafael/Desktop/txt/RH_'SELECThour'.txt','Nivel
Seleccionado es= 'level'')
rc = write('/home/Rafael/Desktop/txt/RH_'SELECThour'.txt','Punto
('Imin','Jmin') = ('XminW','YminW')')
rc = write('/home/Rafael/Desktop/txt/RH_'SELECThour'.txt','Punto
('Imin','Jmax') = ('XminW','YmaxW')')
rc = write('/home/Rafael/Desktop/txt/RH_'SELECThour'.txt','Punto
('Imax','Jmin') = ('XmaxW','YminW')')
rc = write('/home/Rafael/Desktop/txt/RH_'SELECThour'.txt','Punto
('Imax','Jmax') = ('XmaxW','YmaxW')')
rc = write('/home/Rafael/Desktop/txt/RH_'SELECThour'.txt','X = 'Imin' a
'Imax' and Y = 'Jmin' a 'Jmax'')
rc = write('/home/Rafael/Desktop/txt/RH_'SELECThour'.txt','Valor
Indeterminado = 'Indefinida'')
rc = write('/home/Rafael/Desktop/txt/RH_'SELECThour'.txt','Latitud Longitud
Variable')
while (lon <= lonmax+dLon)
lat=latmin
while (lat <= latmax)
'set lat 'lat
'set lon 'lon
'd rhprs'
var = subwrd(result,4)
lonval = math_format('%6.3f',lon)
latval = math_format('%6.3f',lat)
valor = math_format('%4.1f',var)
say 'Latval 'latval 'Lonval 'lonval 'Variable 'valor
rc =
write('/home/Rafael/Desktop/txt/RH_'SELECThour'.txt',''latval' 'lonval'
'valor'')
'clear'
lat=lat+dLat
endwhile
lon=lon+dLon
endwhile
say 'Hora Seleccionada Fue = 'SELECThour
rc = close('/home/Rafael/Desktop/txt/RH_'SELECThour'.txt')
--
Ing. Rafael E. Mundaray M.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20070703/316cef6a/attachment.html
More information about the gradsusr
mailing list