Multi-level Station Data
Random Person
snincr at YAHOO.COM
Sat Aug 20 16:07:04 EDT 2005
GrADS Users,
I cannot seem to figure out how to properly use
multi-level station data in GrADS. I've read all I
can find in the listserv archive and have not yet
found something that seems to solve my problem. I'm
able to create single-level station files and interact
with them in GrADS. I can also create station files
with both single-level and multi-level variables and
interact with any of the single-level variables but I
cannot interact with the multi-level variables. I'm
not sure if my problem is that I'm not properly
interacting with the multi-level variables or if I'm
not properly writing the multi-level variables to the
data file in the first place.
Based on an example I found in the listserv archive,
to test if the multi-level variables are recognized by
GrADS I issue the following commands:
set gxout stat
set stnprint on
d a
where 'a' is the name of the multilevel variable.
This results in the following output:
Data Type = station
Dimensions = 0 1
I Dimension = 0 to 360
J Dimension = -90 to 90
Stn count = 0
Undef value = -999
Undef count = 0 Valid count = 0
Min, Max = -999 -999
Cmin, cmax, cint = -1004 -994 1
Stats[sum,sumsqr,root(sumsqr),n]: 0 0 0 0
Stats[(sum,sumsqr,root(sumsqr))/n)]: 0 0 0
Stats[(sum,sumsqr,root(sumsqr))/(n-1))]: 0 0 0
Stats[(sigma,var)(n)]: 0 0
Stats[(sigma,var)(n-1)]: 0 0
Printing station values: #obs = 1
OB ID LON LAT LEV VAL
I assume this means that it cannot 'see' the
multi-level data since when I issue
a similar set a commands for a single-level variable
it lists output that ends with the ob ID's, lon, lat,
level, and value. Assuming that this is a valid
way to test that a multi-level variable is 'seen' by
GrADS, it would seem that I have not correctly created
the data file or ctl file.
The version of GrADS I'm using is v1.9b4 (the
Intel/LinuxRHE3 binaries).
I created the data file with the following Fortran 90
code:
*******************************************
PROGRAM TESTCASE
IMPLICIT NONE
integer :: outunit = 12 !Output file unit
character(len=8) :: stationid !Station identifier
for grads file
real :: lat,lon !Latitude, longitude
real :: timeshift !Time shift of this ob
integer :: nlev !Number of vertical layers (+1 if
flag==1)
integer :: flag !Is there sfc-only data
real :: height !Height of ob
real :: ob !Observed value
!Open the output file
open(outunit,file='testcase.dat',status='replace',action='write',&
form='unformatted',access='sequential')
write(stationid,'I8'),1
lat = 45.0
lon = 35.0
timeshift = 0.0
nlev = 2
flag = 0
!Write header
write(outunit),stationid,lat,lon,timeshift,nlev,flag
!Write data for first layer
height = 15.0
ob = 12.0
write(outunit),height,ob
!Write data for second layer
height = 25.0
ob = 22.0
write(outunit),height,ob
!Write time terminator
write(outunit),'TIMETERM',0.0,0.0,0.0,0,0
close(outunit)
END PROGRAM TESTCASE
*******************************************
My ctl file is as follows:
*******************************************
DSET ^testcase.dat
DTYPE station
STNMAP testcase.map
UNDEF -999.0
TITLE Test Data
OPTIONS sequential
TDEF 1 linear 00:00Z01may2002 01mn
VARS 1
a 1 99 no description
ENDVARS
*******************************************
For simplicity, this test case is basically a single
variable at a single time with two levels.
Running stnmap I get the following result:
*******************************************
Name of binary data set: testcase.dat
Number of times in the data set: 1
Number of surface variables: 0
Number of level dependent variables: 1
Starting scan of station data binary file.
Binary data file open: testcase.dat
Processing time = 1
ID,LON,LAT,T,NLEV,FLAG: 1 35 45 0 2 0 SIZE =
44
ID,LON,LAT,T,NLEV,FLAG: TIMETERM 0 0 0 0 0 SIZE =
28
Time = 1 has stn count = 1
Max reports per time: 1 reports at t = 1
Max data elements in largest report: 4
Version 2 Station map file created: testcase.map
stnmap: WARNING!! This stnmap file can only be
accessed by GrADS Version 1.9b4
stnmap: WARNING!! However, GrADS Version 1.9b4 can
read both versions
stnmap: COMMENT -- use the -1 command line option to
create a map for older GrADS versions
stnmap: COMMENT -- use the -q command line option to
disable the station header listing
*******************************************
I have run other test cases that vary the number of
times, the number of stations, and the number of
variables and invariably I obtain the same results.
All of the single-level variables appear correct while
I am unable to get themulti-level data to show up.
Perhaps this means that the process I'm using to check
if the multi-level data is there is incorrect?
I would appreciate any help anyone could offer.
Thanks,
Brian Reen
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
More information about the gradsusr
mailing list