This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
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>