Output data from grib for given coordinates

Nathan Cool nathan at NATHANCOOL.COM
Thu Dec 10 13:32:19 EST 2009


Thanks Ron, that worked like a charm!

Thanks again to everyone taking the time to help me on this. I sure do
appreciate it.

Best,

-Nathan


On Thu, Dec 10, 2009 at 8:12 AM, Goodson,Ron [Edm] <Ron.Goodson at ec.gc.ca>wrote:

>  There are a number of options ..
>
> the simplest is to set gxout print ... display the data which will go into
> the "result" variable .. and then use subwrd /sublin to grab and print
> (say) the variable.
>
> Attached is a script I use with my data which reads a file of lat/lon
> points.. and prints out a bit of data for each point.  This was just for
> testing so you will have to modify.  If you can't understand the program
> flow -- you can contact me directly if you wish.
>
> ron
>
>
>
>  ------------------------------
> *From:* GRADSUSR at LIST.CINECA.IT [mailto:GRADSUSR at LIST.CINECA.IT] *On
> Behalf Of *Nathan Cool
> *Sent:* December 9, 2009 3:55 PM
>
> *To:* GRADSUSR at LIST.CINECA.IT
> *Subject:* Re: Output data from grib for given coordinates
>
> Thanks everyone.
>
> I was able to do this by manually entering in each command, but I need to
> run this in batch mode, if possible.
>
> A simple script I have now is:
>
> 'open nww3.ctl'
> 'set lon 206'
> 'set lat 33'
> 'set t 3'
> 'd HTSGWsfc'
>
> Grads is then executed using the following arguments:
>
>     gradsc -lbxc point.gs
>
> ...where point.gs is the script above.
>
> In batch mode, I don't see the result output. Is there a way to run this in
> batch mode, or perhaps a GRADS command to output the result into a file?
>
> -Nathan
>
>
> On Wed, Dec 9, 2009 at 8:49 AM, Goodson,Ron [Edm] <Ron.Goodson at ec.gc.ca>wrote:
>
>>  I'm lazier than that...
>>
>> I just set lat lon to be the coordinates I want, then print out the result
>> of displaying the data.
>>
>> This is only useful if you don't mind getting the nearest grid point to
>> your lat/lon.  Otherwise - simply use the GrADS "bilinear".
>>
>> Hmmm .. thought that was in the script library but don't see it .. so here
>> is a copy I have buried in one of my scripts.  Haven't used this script in
>> many years, so no warrantly expressed or implied.  You will probably have to
>> modify it as it looks like it was hardwired for a specific-sized grid.  And
>> it looks like it would run pretty slow.
>>
>>
>>
>> -------------------------------------------------------------------------------------------
>>
>> *****bilinear interpolation from 4 nearest gridpoints:
>> function bilinear(llat, llon, myvar)
>> **_llat = subwrd(myposition, 1)
>> **_llon = subwrd(myposition, 2)
>> ************say 'q w2gr 'llon' 'llat
>> 'q w2gr 'llon' 'llat
>> *************say result
>> xdim=subwrd(result,3)
>> xdim=0.+xdim
>> if ( xdim <= 1.) ; xdim=96.+xdim ; endif
>> ydim=subwrd(result,6)
>> * nearest x dimensions :
>> x1= math_int(xdim)
>> x2 = x1 + 1
>> * the weights are
>> xw1= xdim-x1
>> xw2= 1.-xw1
>> * nearest y dimensions :
>> y1= math_int(ydim)
>> y2 = y1 + 1
>> * the weights are
>> yw1= ydim-y1
>> yw2= 1.-yw1
>> 'set x ' x1
>> 'set y ' y1
>> 'd ' myvar
>> line2 = sublin(result,2)
>> pointa = subwrd(line2,4)
>> 'set x ' x2
>> 'set y ' y1
>> 'd ' myvar
>> line2 = sublin(result,2)
>> pointb = subwrd(line2,4)
>> 'set x ' x1
>> 'set y ' y2
>> 'd ' myvar
>> line2 = sublin(result,2)
>> pointc = subwrd(line2,4)
>> 'set x ' x2
>> 'set y ' y2
>> 'd ' myvar
>> line2 = sublin(result,2)
>> pointd = subwrd(line2,4)
>> newtemp = pointa*xw2*yw2 + pointb*xw1*yw2 + pointc*xw2*yw1 +
>> pointd*xw1*yw1
>> return newtemp
>> * station = f(x1,y1)*xw2*yw2+
>> * f(x2,y1)*xw1*yw2+
>> * f(x1,y2)*xw2*yw1+
>> * f(x2,y2)*xw1*yw1
>>
>>
>>  ------------------------------
>> *From:* GRADSUSR at LIST.CINECA.IT [mailto:GRADSUSR at LIST.CINECA.IT] *On
>> Behalf Of *Guilherme Martins
>> *Sent:* December 9, 2009 8:49 AM
>> *To:* GRADSUSR at LIST.CINECA.IT
>> *Subject:* Re: Output data from grib for given coordinates
>>
>>   Hi Nathan!
>>
>> You can use the lats4d.gs. You can extract levels, variables, specific
>> times and coordinates. The output format can be, .nc, .bin, .grb.
>>
>> Guilherme.
>>
>> 2009/12/9 Nathan Cool <nathan at nathancool.com>
>>
>>> Good morning everyone,
>>>
>>> I'm working on a project where I need to extract data from a grib file
>>> for specific coordinates only. Is there a way, using GRADS, where I can
>>> specify a given coordinate (lon, lat), and retrieve data just for that
>>> coordinate for each time series in a grib file? Or is GRADS not the tool to
>>> do this; I was thinking of just dumping the grib using wgrib and text
>>> parsing it, but thought GRADS might have an easier way.
>>>
>>> Thanks in advance,
>>>
>>> -Nathan
>>>
>>
>>
>>
>> --
>> -----------------------------------------------------------
>> José Guilherme Martins dos Santos
>> Grupo de Modelagem da Atmosfera e Interfaces - GMAI
>> Divisão de Modelagem e Desenvolvimento - DMD
>> Centro de Previsão de Tempo e Estudos Climáticos - INPE
>> Rodovia Presidente Dutra, km 39 - CEP 12630-000
>> Cachoeira Paulista, SP, Brasil
>> Telefone(CP): +55 12 3186 8502
>> Celular(SJC): +55 12 91678770 / +55 12 81528580
>> E-mail: guilherme.martins at cptec.inpe.br
>> E-mail alternativo: jgmsantos at gmail.com
>> Homepage: http://guilhermemartins.hd1.com.br/
>> -----------------------------------------------------------
>> Sent from Sao Jose Dos Campos, SP, Brazil
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20091210/974a7704/attachment.html 


More information about the gradsusr mailing list