Changes to the source code between versions are summarized here. Version
numbers can be interpreted as follows: if the version number is
n.m.k, then a change in
n denotes a major revision, in
m denotes a significant addition or improvement, and in
k denotes a bug fix or minor change.
Version 1.4.3 (22 May 2001):
Changes for this release are:
- Added new tmix_opt options for using averaging time steps.
'avgbb' replaces the back_to_back flag for using back-to-back
averaging steps.
'avgfit' computes the proper number of full and half steps
to fit exactly into a time interval
'fit_freq' is the number of intervals per day to
fit exactly (eg fit_freq=1 will always end on day
boundaries).
- Added change to ensure conservation when averaging steps
are used with variable thickness surface layer.
- Fixed a few bugs in time manager affecting the value of
tday and properly determining the end of day.
- Fixed bug in which ghost cells were not being updated for
tracers > 2 when using variable thickness surface layer.
- Changed position of reset_to_freezing to avoid resetting
tendencies during predictor/corrector steps.
Back to top
Version 1.4.2 (29 Mar 2001):
Changes for this release are:
- Fixed bugs in back_to_back averaging time steps. The
previous version accumulated time correctly, but didn't
actually do any back_to_back averaging.
- Fixed bugs in restart where some restart namelist items
were not initialized before being read.
Back to top
Version 1.4.1 (27 Mar 2001):
Changes for this release are:
- Fixed bug in Jacket and McDougall equation of state. The
previously released version returned an inaccurate perturbation
density. The full density is now returned.
- Added back-to-back averaging time step option. This was
added as a short term fix to the problem of being able to
take a fixed number of steps per time interval when using
averaging as the time mix option.
- Fixed tday bug in new time manager.
- Made some additional time manager changes for use in coupled
mode.
Back to top
Version 1.4 (24 Feb 2001):
Changes for this release are:
- Implemented new time manager - removes restrictions on time steps and
is generally more flexible. The method for specifying the time
step is changed - see user manual for details.
- Added variable thickness surface layer option
to provide conservation of tracers and allows true freshwater
flux without converting to virtual salinity flux. Old surface
layer and rigid lid are still supported as options as well.
The surface layer option is chosen in the grid namelist.
- Added new anisotropic viscosity formulation. See horizontal
mixing section of user manual.
- Changed Gent-McWilliams formulation to allow different
diffusivities and tapering for Redi and bolus terms.
- NOTE: The new time manager and new variable thickness surface
layer require changes to the restart files. The time
manager requires different information in the header and
if the variable thickness surface is chosen a new 2-d field
is stored in the restart file.
Back to top
Version 1.3 (21 Dec 2000):
Changes for this release are:
- New Jackett and McDougall equation of state which eliminates
need for the polynomial approximations (and their T,S range limits).
- Reduced multiple forms of state call to a single state routine which
handles all options (through optional arguments).
- Fixed bugs in potential temperature conversion routine, changed the
internal initial T profile to potential temperature, added a
pressure vector with pressure as function of depth and changed
the pressure-depth conversion function to correspond more closely
with Dukowicz paper.
- Added a depth-dependent background diffusivity and viscosity
to the KPP formulation - NOTE: THIS CHANGES THE WAY YOU SPECIFY
vdc_bckgrnd, vvc_bckgrnd SEE USERS GUIDE FOR DETAILS.
- Added a depth-dependent KAPPA to Gent-McWilliams - NOTE: THIS
CHANGES THE WAY KAPPA IS INITIALIZED. SEE USERS GUIDE FOR HOW
TO SPECIFY KAPPA FOR BACK COMPATIBILITY.
- Added option of removing bolus component of GM.
- Moved REGION_MASK to grid module (from forcing_shf) so that
it can be used in coupling, river runoff and regional diagnostics.
- Removed the expansion module - this quantity is more simply computed
as a diagnostic and will be added as a diagnostic in future releases.
- Fixed KPP bug in wscale with small USTAR in convective limit.
- Fixed KPP bug in double diffusive routine.
- Fixed some bugs in operator discretization and B.C.s.
- Fixed MPI reorder flag bug.
- Fixed tavg bug which was causing a restart read and no
re-initialization when restarting on tavg dump timestep (thus
creating a sum of more than one tavg interval).
- Fixed minor Gent-McWilliams bugs for z grid location and slope
computation.
- Fixed bug in time manager in calculation of number of half steps.
- Fixed various forcing bugs, mostly in the nhour option.
- Fixed bug in diagnostics which was causing cfl numbers at all
depths to be written from all processors.
- Changed boussinesq correction to pressure gradient to correspond
more closely to Dukowicz paper.
Back to top
Version 1.2 (5 May 2000):
Changes for this release are:
- New, faster implementation of the Gent-McWilliams parameterization.
NOTE: You will need to use a smaller value of ah for this implementation.
For example, in a x3' case, we needed to reduce ah from 0.8e7 to
0.7e7.
- New ice formation criterion to avoid excessive ice where advective
overshoots occur.
- New form of the velocity scale in KPP to account for the
convective limit (where surface momentum forcing is small or zero).
- Removed addition of .025 to densities in the equation of state
(old "specific gravity" form passed down over generations).
- Coupled routines now send fields averaged over a coupling
interval.
- Changed name of SHGT in tavg routines to SSH
- Fixed bug in advection where WTKB was not necessarily zero
at the bottom boundary.
- Fixed bug in baroclinic where WORKN was not reset to zero
for tracers > 2 so that vertical diffusion could be double-counted.
- Fixed bug in branch init_ts option where the branch run was
taking a forward Euler step rather than a leapfrog on the first step.
- Fixed bug in time manager that caused the avg_ts_next flag not to
be set correctly on the first step of a new day. This resulted in
incorrect weighting of fields in the tavg routines (note that
the tavg results were normalized consistently - the results were
just weighting the first step in each day incorrectly).
- Fixed bug in time manager which prevented reading a tavg restart
file if the simulation was restarted in the middle of the start year
when the nyear start option was specified.
- mean init_ts option now reads the mean salinity in ppt for
consistency with other init_ts options
- KPP now uses the FCORT field and uses SMF at T points when
available (eg coupled mode) rather than averaging these
quantities from U points.
- moved restart namelist from a module variable to local subroutine
variables to prevent problems with some compilers
- added some new .gnu files for T3E and Linux-Alpha
- several trivial changes for consistency (re-arranging some
vars in forcing, units of reference salinities in ice.F,
adding CVS keywords, etc.)
Back to top
Version 1.1.1 (10 Jan 2000):
Changes for this release are:
- fixed serious bug in new implicit vmix routines
- added a 'branch' init_ts option to branch a new simulation
from an old restart file
- made some minor changes to coupler interface
Back to top
Version 1.1:
Changes for this release are:
- Optimized implicit vertical mix solvers
- Added option for tracer diagnostics at all levels.
- Changed KPP parameter Riinfty to reflect current recommended value.
- Added optional LMASK argument to global minval,maxval routines
to mask (land) points when computing minval,maxval.
- Added option to redirect stdout internally to log file
- Added option to use 'pointer files' to determine location
of last restart file (this is useful for running in production
without having to change the pop_in file for every run)
- Added optional date_separator to use a character to separate
yyyymmdd when date used as a suffix.
- Added record length parameters to be used in place of 32 and
64 in open_parallel_file calls. These can be changed for machines
which need recl in units other than bytes or for machines in
which 32-bit output is not possible.
- Replaced string concatenation operators with string assignments
to avoid concatenation conflicts with some cpp preprocessors.
- Added TAREA, UAREA reciprocal arrays to avoid slow division
operations on some machines.
- Fixed array initialization problems in forcing routines.
- Fixed exponent on variable hmix for biharmonic mixing.
- Moved some bulk-NCEP restoring parameters to namelist input.
- Changed some history/tavg field names to be more consistent
(e.g. SSF to SFWF).
- Added on-line documentation.
- Fixed some documentation bugs.
- Updated io_psf to allow io with parallel psf library.
- Fixed some coupled model interface bugs.
- Added an initial (currently incomplete) version of the
Visbeck et al variable KAPPA in Gent-McWilliams parameterization.
Back to top
Version 1.0.2:
Changes for this release are:
- added standard benchmark setups and scrips for COWbench suite
Back to top
Version 1.0.1:
Changes for this release are:
- correct coupler interface for new NCAR flux coupler
- fixed tavg restart and normalization bugs
- exits with correct message when K.E. > 100
- forcing interp_inc set to zero for 'never' and 'every-timestep' cases
- explicitly converted Barnier restoring timescale to seconds
Back to top