[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20000504: utdec() error reading NCEP reanalysis data



Eunjoo,

>Date: Thu, 04 May 2000 12:30:00 +1000
>From: Eunjoo Jung <address@hidden>
>Organization: School of Mathematics UNSW 
>To: Steve Emmerson <address@hidden>
>Subject: Re: 20000503: utdec() error reading NCEP reanalysis data
>Keywords: 200005030232.e432WhG20618

In the above message, you wrote:

> Thank you for your prompt reply.
> I modified "the readgeneral.f " to compile and link it.
> the modifications are
> 
> 1)paths of "udunits.inc","netcdf.inc"
> 2)the expressions including like this " if(filename.eq.'') " --->
> if(filename.eq.' ')
>     because it couldn't be compiled without these modifications
> 
> the error happened in "utdec" routine.
> two arugtiments of utdec function are,
> 
>      timeunit : hours since 1-1-1 00:00:0.0
>      unitptr : 1073932352
> 
> the debugging results is,
> ---------------------------------------------------------------------
> signal Segmentation fault at >*[utClear, 0x12003c890]   stl     r31, 16(r16)
> (dbx) where
> >  0 utClear(0x3ff81a7a098, 0x14002fd00, 0x3ff81a4fbcc, 0x14002fd00,
> 0x12003d774) [0x12003c890]
>    1 (unknown)() [0x12003d7cc]
>    2 utScan(0x0, 0x8000000, 0x12003e310, 0x14002e870, 0x400069104002e840)
> [0x12003e1c4]
>    3 utdec(0x380ff00, 0x140010e20, 0x11fffed2c, 0x14002e870, 0x1b)
> [0x12003e30c]
>    4 udparse(0x1400068c4, 0x100000003, 0x100000003, 0x8, 0x120008540)
> ["read.f":617, 0x12000d2ac]
>    5 timeindex(0x1400490c8, 0x140057b08, 0x14000db80, 0x14002fd00, 0x3)
> ["read.f":287, 0x12000bed8]
>    6 read$main(0x100000000, 0x201e, 0x12000b2f0, 0x0, 0x1) ["read.f":43,
> 0x12000b48c]
>    7 main() ["for_main.c":203, 0x12000b304]
> (dbx)
> --------------------------------------------------------------------

A segmentation fault usually indicates an attempt to access an invalid
memory location.  I would guess that one of the arguments to the utdec
routine is invalid.  One possibility is that the "PTR unit" argument
wasn't set by a call to the utmake() routine.  A more likely possibility
is that the primitive data type defined by the PTR macro isn't capacious
enough to hold a pointer.

The macro PTR is defined in the file lib/udunits.inc, which is installed
in the include/ installation-directory.  On a Dec Alpha, it should be
defined as an "unsigned long".  Verify that it is.

> I am using fortran77 under dec alpha OSF1.
> I will very appreciate if you give ma advice about that.

The UDUNITS package is known to work on Dec Alphas.

Regards,
Steve Emmerson   <http://www.unidata.ucar.edu>