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