STATION DATA FORTRAN SEQUENTIAL FORMAT

Davide Sotil Bertanzetti davide at CEAM.ES
Thu Jul 13 04:44:11 EDT 2006


Hello Jim.

Thanks about your response!, but I'm sorry if I disappoint you, because my
platform is an intel SUSE LINUX machine, not an IRIX/Solaris. Anyway, my
compiler is PGI, version 5.2 (I know, is old), for LINUX.

Finally, just before your reply, I've been able like you to make the
"stnmap" work in my platform by specifying the byte order in the CTL, that
is, in my case "option sequential big_endian". It was that. The "stnmap"
seems to need to know how the data is ordered, even when I have found no
reference about that in the GRADS documentation, and the error reported was
not clarifying.


Davide Sotil Bertanzetti.


On Wed, 12 Jul 2006 07:59:26 -1000, James T. Potemra <jimp at HAWAII.EDU> wrote:

>Davide:
>
>I've encountered similar problems generating station data with a
>sequential write (see posting by Oswaldo Julca).  Can you tell me what
>platform and compiler you are using?  My guess is that the IRIX/Solaris
>"stnmap" binaries do not correctly support the "options sequential".  I
>can, for example, generate a station data set using similar code to
>your's on a linux machine and on IRIX/Solaris machines.  I get no errors
>running "stnmap" on the linux side, either on the linux-generated data
>or the IRIX-generated data (adding a "big_endian" option).  The IRIX
>"stnmap" however gives errors similar to yours.
>
>Jim
>
>Davide Sotil Bertanzetti wrote:
>
>>Hello GRADS Users. I ask you about my problem because I think I will go mad
>>in other case. I want to create a station data GRADS file using FORTRAN.
>>That's all. I can't use the FORTRAN "recordtype='STREAM'" option (as
>>described in an example in the GRADS documentation), so I have to use the
>>"options sequential" in the GRADS CTL (no examples about that in the GRADS
>>documentation). Basically, this is the program I have made:
>>
>>open(15,file='staGRADSsta.dat',form='UNFORMATTED',access='SEQUENTIAL',
>>status='UNKNOWN')
>>TIM=0.0
>>NFLAG=1
>>do t=1,numTim
>>  NLEV=1
>>  do s=1,numSta
>>    write(15) nameSta(s),latSta(s),lonSta(s),TIM,NLEV,NFLAG
>>    do v=1,numVarASC
>>      write(15) data(t,s,v)
>>    enddo
>>  enddo
>>  NLEV=0
>>  if(t.eq.numTim) then
>>    s=numSta
>>  else
>>    s=1
>>  endif
>>  write(15) nameSta(s),latSta(s),lonSta(s),TIM,NLEV,NFLAG
>>enddo
>>
>>Where:
>>
>>numTim: number of times.
>>numSta: number of stations.
>>numVarASC: number of variables.
>>
>>This is the CTL file:
>>
>>dset ^staGRADSsta.dat
>>dtype station
>>stnmap ^staGRADSsta.map
>>undef -999.99
>>options sequential
>>tdef 1080 linear 01:30Z14MAY2005 1hr
>>vars 2
>>temp 0 99 - temp
>>hr 0 99 - hr
>>endvars
>>
>>The problem is I can't make this to work, because the "stnmap" program
>>reports the following error:
>>
>>  Name of binary data set: staGRADSsta.dat
>>  Number of times in the data set: 1080
>>  Number of surface variables: 2
>>  Number of level dependent variables: 0
>>
>>Starting scan of station data binary file.
>>Binary data file open: staGRADSsta.dat
>>Processing time = 1
>>  Invalid station hdr found in station binary file
>>  Possible causes:  Invalid level count in hdr
>>                    Descriptor file mismatch
>>                    File not station data
>>                    Invalid relative time
>>                    Invalid sequential format
>>    levs = 16777216  flag = 16777216  time = 0
>>
>>The error appears just at the first time and is highly generic. I've been
>>trying to change many things having the same error. That's really
>>frustrating. I don't think my program should be a difficult work to do. I
>>expect that to be easy. Maybe I'm missing something or I'm making some
>>obvious error I can't see. Has somebody make programs like this? (I can't
>>believe nobody has), could somebody help me?.
>>
>>
>>Davide Sotil Bertanzetti.
>>
>>



More information about the gradsusr mailing list