From: ccm@sage.cgd.ucar.edu (CCM Group Directories)
Message-Id: <199406301951.NAA24502@grub.cgd.ucar.edu>
Subject: CCM1 estabv confusion
To: ccm-users@ncar.ucar.edu
Date: Thu, 30 Jun 94 13:51:16 MDT
We are mystified over the continued confusion regarding the
modifications to the CCM1 routine ESTABV, recently made available to
address code generation problems. These code generation problems
first appeared with the introduction of the Cray 5.0.2.15 compiler
release, and result from the incorrect overlap of memory reads and
writes (due to ambiguities in the ESTABV code). If a user compiles
and executes the CCM1 code on the NCAR Cray supercomputers, the
incorporation of the available ESTABV modifications **will change
answers**, assuming that the user is exercising any of the model moist
physics. Changed answers do not depend on how the hydrological cycle
flag is set. And it is not necessary to integrate the model for more
than a single time step to see these changes. They are apparent even
in the global integrals printed by the model (as we will show below).
If a user attempts to incorporate the modifications and does not see
differences in the results, we must assume that they have not
incorporated them properly (especially in the absence of any
indication that there has been an attempt to independently verify that
the new code has been incorporated). Given the ongoing exchange of
messages on this subject, we provide the following detailed example:
To incorporate the mods /ccm/ccm1/r15/estabv.mods into your present mod
file, you must either copy these mods into your own mod file, or add the
following line to your mod file when running on NCAR's Cray supercomputer
systems (in this case, shavano):
$READ /ccm/ccm1/r15/estabv.mods
We have run the standard CCM1 using mod file /ccm/ccm1/r15/lrw.mods
(labelled (a) below) and using mod files /ccm/ccm1/r15/lrw.mods and
/ccm/ccm1/r15/estabv.mods combined (labelled (b)), using the following
namelist input:
CCM1.1 - CASE001 - SEASONAL 12 Layers - UNICOS
E$EXPDEF
ICDATA = 'jan1r15',
IRT=0,
NSREST=0,
NSWRPS='passwd',
NSVSN='CCM1SA',
$
E$NEWRUN
LTAPES = 'CCM1TS1',
'CCM1TS2',
'CCM1TS3',
NRVSNS = 'CCM1RS1',
'CCM1RS2',
'CCM1RS3',
NDENS = 2,
LEAPY =.FALSE.,
MFILT = 30,
MFILS = 30,
NNBDAT=750116,
NNDBAS=0,
NNSBAS=0,
NNBSEC=0,
DTIME = 1800.,
NESTEP = 1,
NNUMWT = 24,
IRADSW = 24,
IRADLW = 24,
NLPHYS=.TRUE.,
EPS=0.06,
$
E$ANNUAL
ANNCYC=.T.,
JANUAR=.F.,
JULY =.F.,
HYDRO =.F.,
$
At timestep zero, the global integrals were as follows:
(a) NSTEP RMSZ RMSD RMST STPS
NSTEP = 0 0.894239E-04 0.926982E-05 0.250001E+03 0.984330E+05
STQ STPE STKE STTE
0.213548E+02 0.252712E+10 0.172936E+07 0.252885E+10
(b) NSTEP RMSZ RMSD RMST STPS
NSTEP = 0 0.894239E-04 0.926982E-05 0.249973E+03 0.984330E+05
STQ STPE STKE STTE
0.214599E+02 0.252685E+10 0.172936E+07 0.252858E+10
See specifically RMST, STQ, STPE and STTE for obvious differences.
This will hopefully clear up any remaining confusion regarding how to
incorporate the available code modifications to ESTABV in CCM1.
CCM Core Group
(0)