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

20021105: [Fwd: 20021105: new -XRD commands FRMOLAY and IMGOLAY?]



>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