From: rosinski@neit.cgd.ucar.edu (Jim Rosinski)
Message-Id: <199608012338.RAA00876@skyhawk.cgd.ucar.EDU>
Subject: Re: Porting Bug Report
To: ccm-users@ncar.ucar.edu
Date: Thu, 1 Aug 1996 17:38:29 -0600 (MDT)
In-Reply-To: <199608012242.PAA15085@global.phy.pdx.edu.> from "Gerhard Gross" at Aug 1, 96 03:42:03 pm
Gerhard Gross wrote:
> I have found that CCM3.2 (and CCM3) will not compile on my SUN or IBM RS6000.
> The culprit is the line (in wshist.F):
>
> parameter (tootiny=1.e-2000)
>
> The SUN OS Solaris allows a min value of e-324 for type 'double' (double
> precision real in FORTRAN) and the RS6000 allows a min of e-322. After
> changing the above line to
>
> parameter (tootiny=1.e-300)
>
> the code compiles fine.
Hmmm. I am surprised that you're actually getting a compiler *error*. I
have seen warnings before (the normal behavior is to simply truncate to zero)
but not errors, i.e. the compiler should still give you a .o file. So this
is probably a compiler-dependent problem.
The purpose of "tootiny" is to guard against packing problems which sometimes
occur when attempting to pack a number whose value is near machine roundoff.
All field values having an absolute magnitude less than "tootiny" are simply
set to zero before writing. So be aware that increasing the value of
"tootiny" will increase the threshold of where history tape values are
truncated to zero.
Jim Rosinski
CCM Core Group