[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

NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.