[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
20021105: [Fwd: 20021105: new -XRD commands FRMOLAY and IMGOLAY?]
- Subject: 20021105: [Fwd: 20021105: new -XRD commands FRMOLAY and IMGOLAY?]
- Date: Tue, 05 Nov 2002 11:08:33 -0700
>From: Dave Santek <address@hidden>
>Organization: SSEC
>Keywords: 200210270159.g9R1x6q20772 McIDAS v2002 gcc/g77 FRMOLAY IMGOLAY
Hi Dave,
re: large INTEGER*4 array in ABoM FRMOLAY and IMGOLAY code in code compiled
using gcc/g77
>Putting large arrays in COMMON blocks usually takes care of the
>compiling problems.
Your suggestion is similar to the kind of advice that folks were
passing around in messages I found in Google Groups. I tried this
approach with no success, however.
One way that using common blocks will help, however, is declaring the
working buffer with a smaller size and also declaring additional arrays
and then putting them all in a common block. This looks like:
...
integer olaybufsz
C parameter (olaybufsz=10000*9000) ! this is too big for gcc/g77 use
parameter (olaybufsz=10000*5000) ! this works for gcc/g77
integer olaybuf(olaybufsz)
integer olaybuf1(olaybufsz)
...
common /wrkspace/ olaybuf, olaybuf1
After doing this, one can address 'olaybuf' past its dimensioned size
to get a bigger working buffer. This relies on the compiler/linker
allocating contiguous space for arrays declared in common blocks.
Tom
>From address@hidden Tue Nov 5 14:13:51 2002
>Subject: Re: 20021105: [Fwd: 20021105: new -XRD commands FRMOLAY and IMGOLAY?]
Well, that's why I said usually....too bad you have to resort to one of
the Stupid Fortran Tricks to get this to work.
dave