Wednesday, November 4, 2009

Text output of the data from GrADS

I want to take a text output of the data according to my need...I have already used one function "" for this...It was a good tool.But It will not hep me as my data set is too big and it it is taking so much time to do it....So wats ur suggesion..How can i do it ?

You can use fwrite command with whichever variable you want to write.

fwrite Writes data to file instead of drawing a plot.

The syntax is as follows:

set fwrite fname
set gxout fwrite
display expression
disable fwrite

Here the output will be in Binary. But you need ASCII text output.

i want ascii
bcs this data i want to use for other softwares

Check the link

yeah i used like that.. i modified by including latitudes and longitudes
but now tha problm comes
u given tt=tt+1...
here 1 is constant and giving the incriment
like that i want lat= lat+incriment
..but my lat have no constant incriment
How is the distribution of your lat-increment ? We shall try. Now the solution is very near.
but we cant say such a distribution
say...near to equator it is varying with 0.45 degress
while going to pole ..this incriment is decresing..but not in a specific order
But there should be some order either linear or nonlinear.
i have not find such an order. i want to have a close look for that. anyway linear order is not there. i can send the "ctl" file to u. so that u can have alook on the varying of my latitude.
It can be solved in GrADS. It is possible in two different ways.

1. If we can have ordinary one dimensional array variable in GrADS to store Latitude values and use it inside the loop.

If the philosophy of distribution of latitude is available from the documentation of the model, so that we can regenerate the latitude values using code.

Let us try the first way.

GrADS allows for arrays using the syntax varname.i.j (e.g., for a 2-D array), where i and j must be integers.

For our problem we need a one dimensional array to store latitude values.

let it be lt.i

First you assign all the latitude levels to the array lat.i
lt.1=your first level of latitude
lt.2=your second level and so on

Then use it in your loop by incrementing the counter variable i inside the loop.

Finally code become
'set t 'tt

'set lat 'lt.i

'set lon 'ln

'd variable'





As u suggested i wrote one script including the array dimension.
This is the final script I am sending...I could get the output now.

Any way pls see my final script( iam attaching herewith)

Thanks a lot

'open goa_may05_dom3_finalattempt.ctl'
'set lon 71.5087'
lat.1 = 13.23363
lat.2 = 13.25990
lat.3 = 13.28616
'set t 1'
while( count <= 2)
'set t ' count
longi = 71.5087
while(longi <= 75.4507)
'set lon ' longi
while(i <= 3)
'set lat ' lat.i
'd lat'
longi = longi+0.0270
'close 1'
Thanks for my friend seemanth to participate in this discussion

No comments: