This is a summary of the ChangeLog entries from CAM 3.5.07 to CAM(WACCM) 3.5.48
with emphasis on modules modified for the TI extension of WACCM. Tag names are
color coded:

Red indicates tags containing changes which may affect physics/dynamics/chemistry
of modules modified for TI extension
Green indicates tags containing changes which do not appear to directly affect
physics/dynamics/chemistry of modules modified for TI extension



Tag name: cam3_5_08
Originator(s): andrew, eaton
Date: Wed Aug 15 15:44:58 MDT 2007
One-line Summary: add Morrison-Gettleman microphysics code; 2-bin sea salt optics

Purpose of changes:

. The Morrison-Gettleman microphysics code has been added as an option to
replace the default Rasch-Kristjansson microphysics. To enable this
option:
– configure must add 2 additional constituents. If no other optional
constituents are enabled then the number of constituents needs to be
increased from its default value of 3 to 5 via setting the configure
arg "-nadv 5".
– set the namelist variable microp_scheme='MG'

. An option to produce radiation fields used to diagnose the indirect
effect has been added. It is off by default. To enable it set the
namelist variable indforce=.true.

. The aerosol optics for sea salt has been changed to use 2 sea salt size
bins. The previous sea salt optics assumed only 1 bin. This results in
larger than roundoff changes to the climate simulation.

. Add restart and baseline tests to the regression suite for running with
the MG microphysics enabled.

models/atm/cam/src/physics/cam/physics_types.F90 . mods for MG microphysics



Tag name: cam3_5_10
Originator(s): Art Mirin, Pat Worley
Date: 9/5/07
One-line Summary: Enable different numbers of processes for different portions of the calculation

Purpose of changes: Improve scalability and make minor changes to physics
tuning for 0.5-deg and 0.25-deg FV.

CAM is now able to utilize different numbers of processes for different
portions of the calculation. More specifically:

(1) CAM/FV can run with a smaller latitude-vertical decomposition than
longitude-latitude decomposition.

(2) CAM can run with more physics processes than dynamics processes, or with
inactive processes. Inactive physics processes are enabled by assigning zero chunks.
The current restrictions are as follows: If phys_loadbalance equals 0 or 3, then the
physics process count will equal the dynamics process count, and additional processes will be
idle throughout. If phys_loadbalance equals 2, all processes will be assigned to
the physics and a prescribed subset to the dynamics. The current capability holds for FV,
EUL and SLD dynamical cores.

Also, a few physics tuning parameters relevant to running the FV dycore at
0.5-deg or finer have been modified.

src/physics/cam/gw_drag.F90 -writing effgw_oro and kwv to stdout
src/physics/cam/physpkg.F90 - automatic => allocatable arrays in gavglook (Note: if/when gavglook is
optimized a la phys_gmean, this will be unnecessary)
src/dynamics/fv/dp_coupling.F90 - flexible dynamics and physics decompositions
src/dynamics/fv/dyn_comp.F90 - flexible dynamics decompositions and add communicator to calls
src/dynamics/fv/stepon.F90 - add communicator to calls and tracer subcycling
src/dynamics/fv/te_map.F90 - add communicator to calls



Tag name: cam3_5_11
Originator(s): mvr
Date: 7 Sep 2007
One-line Summary: replacing inline archiving of model output with
scripts for archiving after completion of model run

Purpose of changes: it's been a long-time desire to make the archiving
of model output a post-processing activity, similar to running with ccsm;
ideally, we'd like both systems to use the same scripts; this should
allow for adding support for more machines and storage systems, inside
and eventually outside ncar...



Tag name: cam3_5_12
Originator(s): jet, mariana
Date: Tue Sep 18 15:00:16 MDT 2007

One-line Summary: SCM fixes, brought clm external up to latest commit,
added focndomain changes.

Purpose of changes: Fixed outstanding problem with SCM not being able
to read land initial data, also refactored the way scm mode
determines whether land/ocn/ice is present by using new focndomain
boundary dataset. Required analogous changes to drv,share,clm
externals.

models/atm/cam/src/physics/cam/gw_drag.F90 - scam bug fix



Tag name: cam3_5_13
Originator(s): eaton
Date: Thu Sep 20 17:45:00 MDT 2007
One-line Summary: Reduce memory use

Purpose of changes:

. Reduce memory use.

. Update the csm_share tag to trunk_tags/share3_070918

Describe any substantial timing or memory changes:

. Memory use in the FV core was reduced by eliminating the allocation of 4
unnecessary 3D arrays in inidat.

. Memory use was reduced when absorptivity/emissivity restart files are
read/written by breaking the read and write of the abs/ems arrays into
smaller pieces so no more than a single 3D global array of temporary
storage is required. Previously PLEVP 3D arrays were being
simultaneously allocated.



Tag name: cam3_5_14
Originator(s): mvr
Date: 070925
One-line Summary: all writes of model log output to unit 6 were replaced
with writes to a variable logical unit - allows for a move to a unique
unit number with assigned log file in the future

Purpose of changes: sorting through the log output of a coupled
run was complicated by various components all dumping to stdout;
assigning unique unit numbers with associated log files for each
component will clear some of the confusion

- every file with writes to stdout was modified to use a variable unit number
instead



Tag name: cam3_5_15
Originator(s): andrew, eaton
Date: Thu Oct 4 18:44:20 MDT 2007
One-line Summary: fix MG microphysics diagnostics; update CLM datasets; new
use cases

Purpose of changes:

. MG microphysics: Add fixes for diagnostics and add new radar reflectivity
diagnostics.

. Update the CLM datasets for 1 degree and higher resolutions.

. Add new build-namelist -use_case options:
1870-2000_control – CAM configuration for running 1870-2000 CCSM controls
waccm_1995_climo – WACCM 1995 climatology

. Modify co2vmr value in 1990_control use case to be consistent with the
value in the CCSM scripts.

. Modify WACCM code not to use iyear_ad because it is not available when
running in the CCSM environment.



Tag name: cam3_5_16
Originator(s): mvr, mvertens, mirin
Date: 071009
One-line Summary: bug fix for gensom utility (temporary); cleanup of
getfil routine; line length bug fix for code entered in prev tag; new
resolutions for ocnfrac input files

Purpose of changes: the gensom utility broke with cam3_5_01 where
the string variables passed between components were being truncated
when the max length was exceeded - a temporary fix, extending the
length of the strings was put into the drv code...the getfil routine
still had logic trying to locate files remotely if not present on
local disc - this should have been cleaned up with cam3_5_11...lines
of fortran code cannot exceed 132 chars on tempest compilers - new
code from cam3_5_15 needed to be split into two lines



Tag name: cam3_5_17
Originator(s): Pat Worley, Brian Eaton, James B. White III
Date: 10/18/07
One-line Summary: introduction of scalable gmean algorithms;
replacement of gavglook by gmean_mass (which calls gmean)

Purpose of changes: improve performance and memory scalability of
field mean calculations in the physics

atm/cam/src/physics/cam/physpkg.F90
- gmean_mass replacement for gavglook



Tag name: cam3_5_18
Originator(s): Jim Edwards
Date: 10/24/07
One-line Summary: update of homme dycore

Purpose of changes: merge recent development of homme dycore into trunk



Tag name: cam3_5_19
Originator(s): mvertens
Date: Wed Oct 31 13:59:52 MDT 2007
One-line Summary: updated externals to ccsm4_0_alpha07

Purpose of changes: Bring cam trunk up to date with sequential ccsm
code base



Tag name: cam3_5_20
Originator(s): Andrew Conley
Date: 11/01/07
One-line Summary:
Move (CAM) data descriptions of gas constituents to pbuf

Purpose of changes:
Preparation for implementation of Radiative Constituents interface.
Note that CAM/CHEM (MOZART) data gasses have not yet been moved.

models/atm/cam/src/physics/waccm/radheat.F90 - add access to pbuf
models/atm/cam/src/physics/cam/physpkg.F90
- rm call to "ghg_defaults_init" and add pbuf to call advnce(phys_state, pbuf)



Tag name: cam3_5_21
Originator(s): Art Mirin
Date: November 6, 2007
One-line Summary: Addition of Rayleigh friction and Putman filtering (FV)

Purpose of changes:

CAM has been augmented with the capability to apply Rayleigh
friction or additional filtering (FV). The purpose is to counteract
the effects of a polar jet that appears in the upper portions
of the model, particularly at higher resolution. The jet, the
extent of which is believed to be non-physical and progressively
worse as the resolution increases, can force the model to run at
a prohibitively low time step.

Additionally, an update to the Pilgrim parutilitiesmodule.F90,
courtesy of John Dennis, is included. The purpose of the
update is to reduce memory requirements. This is needed
particularly for running on BG/L at moderate to high resolution.

Also included in this update is pointing model/drv/seq_mct to
drvseq1_0_56.

Rayleigh friction: Frictional term is applied with an adjustable
vertical profile based on hyperbolic tangent; lost kinetic energy
is converted to potential energy. Namelist variables are as follows:
rayk0 - vertical index of peak (default 2).
raykrange - determines width of profile; if 0., default width
is chosen; see rayleigh_friction.F90.
raytau0 - approximate decay time (days) at top of model;
default of 0. means no Rayleigh friction.

Filtering: Capability to optionally filter intermediate c-grid winds,
courtesy of Bill Putman. Majority of code changes due to necessity
of computing c-grid winds before call to c_sw. Namelist variable is:
filtcw - yes (1), no (0). Default is 0.

src/physics/cam/physpkg.F90: call rayleigh_friction_init.
src/physics/cam/tphysac.F90: call rayleigh_friction_tend and subsequent physics_update.
src/dynamics/fv/dyn_comp.F90: Pass through filtcw namelist variable.



Tag name: cam3_5_22
Originator(s): mvr, mirin, eaton
Date: 071116
One-line Summary: added tests for running with fv decomposition; various
other bug fixes

Purpose of changes:
needed to beef up testing of the various fv decomposition settings as features
are being added; updating to newer drv tag fixes PGI testing (done post-tag)
which started failing with cam3_5_19; files need to have the same name as the
module they contain - an offender was introduced in cam3_5_20; build-namelist
has not been placing certain variables that are required in multiple namelists



Tag name: cam3_5_23
Originator(s): Art Mirin
Date: November 17, 2007
One-line Summary: Overlap of dynamics and tracer FV subcycles

Purpose of changes:
This version supports overlap of trac2d and cd_core subcycles. This refers to the
subcycles described by the "do 2000 n=1,n2" loop in dyn_run and has nothing to do
with the "do it=1,nsplit" lower-level subcycling. Each trac2d call ( n ), other
than the last, is overlapped with the subsequent cd_core 'series' (n+1).

This capability becomes relevant as we go to higher and higher resolution and
operate with more and more tracers. Best results are obtained when the dynamics
and tracer times are comparable (for example, operating with more than the default
number of tracers) and when there is a high degrees of subcycling (for example, at
0.47x0.63 with nspltrac=8).

The controlling namelist variable is ct_overlap. The overlapping trac2d calls are
carried out on the second set of npes_yz processes (npes_yz <= iam < 2*npes_yz).
The tracer arrays are sent to the auxiliary processes prior to the do-2000 loop.
During each subcycle (other than the last), the dp0 array is sent prior to the
cd_core series; arrays cx, cy, mfx, mfy are sent directly from cd_core during
the last call in the series (it=nsplit). At the completion of the last auxiliary
trac2d subcycle (n=n2-1), the updated tracer values are returned to the primary
processes; the last tracer subcycle (n=n2) is carried out on the primary processes.
Communication calls are nonblocking, with attempt to overlap computation to the
extent possible. The CCSM mpi layer (wrap_mpi) is used. Tags with values greater
than npes_xy are chosen to avoid possible interference between the messages sent
from cd_core and the geopk-related transpose messages called from cd_core
thereafter. The auxiliary processes must use values of jfirst, jlast, kfirst,
klast corresponding to their primary process antecedents, whereas by design
those values are (1,0,1,0), resp. (set in spmdinit_dyn). We therefore add
auxiliary subdomain limits to the grid datatype: jfirstct, jlastct, kfirstct,
klastct. For the primary processes, these are identical to the actual subdomain
limits; for the secondary processes, these correspond to the subdomain limits of
the antecedent primary process. These values are communicated to the auxiliary
processes during initialization (spmd_vars_init). During the auxiliary
calculations (and allocations) we temporarily set jfirst equal to jfirstct, etc.,
and when done, restore to the original values. Other information needed by the
auxiliary processes is obtained through the grid datatype.

src/dynamics/fv/dyn_comp.F90 - principal routine modified to accomplish cd_core/trac2d overlap



Tag name: cam3_5_24
Originator(s): tcraig, dennis, eaton
Date: Tue Nov 27 18:32:47 MST 2007
One-line Summary: MPI fixes

Purpose of changes:

. Update the driver external to camxa01_drvseq1_0_57. This tag is
seqmct1_0_57 with mods from John Dennis to fix the
mpicom problems and fix a memory leak.

. Add the file cam.cpl6.template to CAM's bld directory for CCSM build
system modifications being implemented in the ccsm3_9_betaXX series.



Tag name: cam3_5_25
Originator(s): eaton
Date: Mon Dec 3 18:50:09 MST 2007
One-line Summary: misc bugfixes

Purpose of changes:

. Merge bugfixes from the ccsm35 branch (between tags ccsm35_03_cam3_5_07
and ccsm35_12_cam3_5_07) onto the trunk.

These fixes change answers for the following CAM configurations.
- All WACCM configurations
- CAM-CHEM configurations "-chem trop_mozart" and "-chem
trop_mozart_aero" with the prognostic dust radiatively passive and the
old prescribed dust radiatively active.

. Makefile.in change in AIX section to support new timing library.

. Update the 1870-2000_control use case to use the version of prescribed
aerosol datasets that contains 10-year climatologies.

. Update to the CAM-CHEM time interpolation codes to deal with input
datasets that contain gaps in a time series of monthly averages.

. Change the check on the sum of cell areas when running with cpl6 from an
absolute to a relative error check.

. Loosen check in interpolate_data module for what percent of interpolated
grid points fall outside the range of the data points. This check was
causing a 31 level model version to fail when interpolating the
noaamisc.r8.nc file for simple GHG chemistry.

models/atm/cam/src/physics/cam/physpkg.F90
. WACCM bugfix - call qbo_init
. move call aer_optics_initialize to after chem init (needed for the new
function mz_prescribed_dust)
models/atm/cam/src/physics/cam/vertical_diffusion.F90 . replace 'diag TKE' by 'diag_TKE'



Tag name: cam3_5_26
Originator(s): Jim Edwards
Date: 12/04/2007
One-line Summary: Remove memory consuming arrays from cam_history

Purpose of changes: Memory usage reduction



Tag name: cam3_5_27
Originator(s): mvr, mvertens
Date: 071212
One-line Summary:
CAM will now couple to the surface components every CAM time step in a way
that mirrors the coupling mechanism in cpl6; orbital parameter orb_iyear_ad
will now default to 1990 rather than 1950.

Purpose of changes:
This new coupling mechanism also solves the current problem whereby history
files were not obtained in the last month of production runs. Now when cam
and the surface components couple every cam time step, cam and clm do not
communicate with the driver at nstep=0. Backwards compatibility was maintained
to still permit the coupling of cam with the surface components on the cam
radiation time step. The cam tests now use coupling every time step as the
default approach.
Orbital parameter now matches that used in CCSM.



Tag name: cam3_5_28
Originator(s): eaton
Date: Fri Jan 4 16:34:15 MST 2008
One-line Summary: refactor the adiabatic and ideal physics options

Purpose of changes:

. The ideal physics mode was broken when using the FV dycore. The
process of fixing that configuration inspired a refactoring of the
implementation of both adiabatic and ideal physics modes for all
dycores. The main features of the refactoring are:
- The dry atmosphere is implemented by setting the specific humidity to
zero rather than by setting physical constants for water vapor to
those for dry air. The Q field is no longer required on the initial
file for these modes.
- The condensed water species are no longer allocated and transported
around as inert species.
- The FV dycore is not called in a special mode but is called the same
way as when full physics forcings are applied.
- The adiabatic and ideal physics forcings are returned as tendencies and
applied to the state in the identical way that full physics forcings
are applied.
- The energy conservation for the FV dycore which is done in the physics
part of the code is now done in adiabatic and ideal modes identically
to how it's done in full physics mode.
- Eliminate write/read of fields from restart files that aren't used in
ideal/adiabatic modes.

models/atm/cam/src/dynamics/fv/dp_coupling.F90
. remove full_phys dummy arg from d_p_coupling and p_d_coupling
. remove full_phys conditionals – keep only the full_phys=.true. branches
. remove full_phys actual arg from call to p_d_adjust
. remove dummy arg adiabatic from d_p_coupling
. change timer event tag from 'DP_CPLN: ctem' to DP_CPLN_ctem
models/atm/cam/src/dynamics/fv/dyn_comp.F90
. make convt a module parameter set to .true., so the FV core is always
called in its "full physics" mode.
. remove convt as a dummy arg from dyn_run
. remove addfld calls for constituent tendencies that don't have
corresponding outfld calls.
models/atm/cam/src/dynamics/fv/stepon.F90
. remove full_phys logical.
. don't set zvir=0 for adiabatic/ideal physics. Set q=0 instead.
. use new moist_physics variable to control call to dryairm
(moist_physics = .not. adiabatic .and. .not. ideal_physics)
. remove full_phys as actual arg in calls to dyn_run, d_p_coupling,
p_d_coupling
. moist_phys is only used in call to fv_out to control whether or not
precip stats are output.
. remove adiabatic as actual arg in call to p_d_coupling
models/atm/cam/src/physics/cam/physics_types.F90
. add conditionals so special tests for cloud liq/ice aren't done when atm
is dry.
. remove unused "use" statements in physics_tend_init
models/atm/cam/src/physics/cam/physpkg.F90
. phys_init
- remove setting special values of physical constants for adiabatic/ideal
physics modes
- return early when ideal_phys or adiabatic
- move call to diag_init to happen before early exit for
ideal_phys/adiabatic modes
- move call to check_energy_init to happen before early exit for
ideal_phys/adiabatic modes
. phys_run1
- remove dummy arg etamid
- remove actual args etamid and cam_in from call to
phys_run1_adiabatic_or_ideal
- move call to check_energy_gmean up so that it gets done whether using
ideal or full physics.
. phys_run1_adiabatic_or_ideal:
- remove call to geopotential_t since all versions of d_p_coupling make
this call.
- use physics_tend_init to initialize phys_tend
- update calling args to tphysidl
- remove dummy args cam_in, etamid



Tag name: cam3_5_29
Originator(s): andrew, edwards, worley, eaton
Date: Wed Jan 9 11:21:24 MST 2008
One-line Summary: bug fixes for MG microphysics, aerosol optics, & misc

| 24 Jan 2008, eaton, update ChangeLog for cam3_5_29
|
| Andrew Conley let me know that the indexing bug in aer_optics.F90
| shouldn't affect the default physics because in the original prescribed
| aerosols the longwave effect of seasalt and dust was zero. I verified
| this. The ChangeLog documention has been updated accordingly.

Purpose of changes:

. Bug fixes and diagnostics changes for MG microphysics. Also changed some
diagnostics from RK microphysics. Only affects simulations with MG
microphysics turned on.

. Fix indexing bug in aer_optics.F90 which affects simulations where the
new seasalt and dust aerosols are radiatively active.

. Add fix or workaround (not sure which) for a problem with the pgi



Tag name: cam3_5_30
Originator(s): eaton
Date: Thu Jan 24 09:32:04 MST 2008
One-line Summary: new version of build-namelist

Purpose of changes:

. A new version of build-namelist has been implemented with new features
which will make namelist generation more robust, as well as being easier
to extend and maintain.

From the user perspective the biggest differences with the old version
are:

- All valid namelist variables are known to build-namelist. So an
incorrectly specified variable from the user (supplied either by the
-infile or -namelist options) will cause build-namelist to fail with an
error message telling which namelist variable is invalid. This is a
big improvement over a runtime failure caused by an invalid variable
which typically gives no hint as to which variable caused the problem.

- In addition to knowing all valid variable names and their types,
build-namelist also knows which namelist group each variable belongs
to. This means that the user only needs to specify variable names to
build-namelist and not the group names. The -infile and -namelist
options still require valid namelist syntax as input. But the group
name(s) is ignored. So all variables can be put in a single group with
an arbitrary name, for example, "&in ... /".

From the developer perspective the main differences are:

- New namelist variables added to existing namelist groups require adding
an entry to the definition file (namelist_definition.xml). If the new
variable has default values these are provided by modifying the
build-namelist script and possibly the defaults file
(namelist_defaults_cam.xml).

- Implementing a new namelist group no longer requires writing a new perl
module. The variables are added following the same procedure used to
add a variable to an existing namelist group.

The commandline interface to build-namelist has not been changed except
to remove the -cam_cfg option. This was used to specify the directory
containing the CAM configuration files. It's not needed because we
assume the files are located in directories relative to the one that
contains the build-namelist script being executed (which is known by
looking at $0).

The -test option has not yet been implemented.

The -v (verbose) option no longer accepts a value. It's an on switch.

compiler on jaguarcnl. Compiler is failing on a declaration of a zero
size array which uses a scalar initializer.

. Change entropy function (in zm_conv.F90) to return a real(r8) result. It
was returning a single precision result. This results in a larger than
roundoff difference in the simulations with default physics.

Also replace the stop with an endrun call in the convergence checking
loop of subroutine ientropy (in zm_conv.F90).



Tag name: cam3_5_31
Originator(s): mvr
Date: 080130
One-line Summary: enable test_driver for jaguar (cray xt); now pulling in
entire ccsm scripts directory as external; mod to allow communication with
flux coupler every cam timestep

Purpose of changes:
there was a need to perform regular cam testing on jaguar as reliance
on this machine for production use increases

a bug fix was added to the archiving scripts, so the external for
its scripts tag needed updating...we eventually will need the ccsm
scripts available as the two systems merge, so we decided to pull
in the entire ccsm scripts directory as the external

a fix was needed in ccsm_msg.F90 to match a corresponding correction
in the flux coupler to correctly specify the albedo shift and enable
communication every cam timestep



Tag name: cam3_5_32
Originator(s): mvr,mvertens
Date: 080131
One-line Summary: mods to enable cam to work with cpl7

Purpose of changes: (None listed)



Tag name: cam3_5_33
Originator(s): mvertens
Date: Tue Feb 5 08:39:49 MST 2008
One-line Summary: migrated all cpl7 framework references to xxx_comp_mct.F90

Purpose of changes: enable cam-cpl6 to run without reference to any cpl7
data structures and move move all cpl7 framework references to xxx_comp_mct.F90
(e.g. remove all references from cam_comp.F90, etc).



Tag name: cam3_5_34
Originator(s): mvertens
Date: Tue Feb 5 23:19:00 MST 2008
One-line Summary: minor bug fixes for cpl6 mode compatibilty

Purpose of changes: fix a compiler problem on jaguar and put fix back
in (that was taken out of cam3_5_33) for coupling every time step



Tag name: cam3_5_35
Originator(s): sungsu, pjr, pworley, mvr, eaton
Date: Fri Feb 15 17:15:40 MST 2008
One-line Summary: Mods to PBL code; add physics debug utility; fix archiving script

Purpose of changes:

. Modifications to UW PBL scheme. (sungsu)

. Add HBR option to eddy_scheme. (pjr)

. Add flux_avg module which contains code to smooth the surface fluxes
to reduce instabilities in the surface layer. (pjr)

. Add physics debugging utility code that allows easy location of the
closest column in the physics grid to a specified location. (pjr, pworley)

. Some debugging code to help analyze how PBL schemes are behaving near the
surface has been left on the trunk until the CAM4 PBL scheme has been
verified. The debugging code will be removed once the verification has
taken place. (pjr, eaton)

. Update external for scripts directory. *** N.B. *** This fixes a bug in
the archiving scripts introduced at cam3_5_31. (mvr)

models/atm/cam/src/physics/cam/eddy_diff.F90
. change default averaging of diagnostic output from instantaneous to
averaged
. mods from sungsu
models/atm/cam/src/physics/cam/physics_types.F90
. add temporary debug code
models/atm/cam/src/physics/cam/physpkg.F90
. add init call for physics_debug
. move tracer_init call to before exit for adiabatic/ideal physics
models/atm/cam/src/physics/cam/tphysac.F90
. add optional call for surface flux averaging
models/atm/cam/src/physics/cam/vertical_diffusion.F90
. mods to UW code by Sungsu
. add HBR option to eddy_scheme
. add eddy_scheme as actual arg to init_hb_diff
. change default averaging from I to A for UW PBL diagnostic fields
. add temporary debug code



Tag name: cam3_5_36
Originator(s): eaton
Date: Mon Mar 3 10:11:54 MST 2008
One-line Summary: bug fixes for build-namelist

Purpose of changes:

. Bug fixes for build-namelist – see below.

. Reimplement the -test option to build-namelist. This checks whether the
input datasets exist on the local disk. It's also an easy way to
generate a list of the input datasets required for the run.

. Allow the phys_debug_util module to read its own namelist. The
implementation is meant to serve as an example for other modules for
which it's appropriate to read namelist input. The general design that
we've been moving towards is for modules to read their own namelist
rather than have all namelist variables live in one big namelist. The
new build-namelist utility makes it easy to define a new namelist group
and have that namelist group be written to the atm_in file simply by
adding an appropriate definition of the variables in the
namelist_definition.xml file.



Tag name: cam3_5_37
Originator(s): andrew, eaton
Date: Thu Mar 13 12:27:27 MDT 2008
One-line Summary: Mods and bug fixes in MG microphysics and CLDTOP/CLDBOT indexes.

Purpose of changes:

. Mods and bug fixes for MG microphysics – see details in changes to
prescribed_aerosols and cldwat2m modules below.

. Fix bug in UW shallow convection scheme that was setting cloud top and
cloud bottom indexes incorrectly in cloud free columns. The chemistry
is the only parameterization affected by this bug.

. Change the default averaging flag for radiative forcing and aerosol
indirect diagnostic output fields from 'I' to 'A'



Tag name: cam3_5_38
Originator(s): mvr, mvertens
Date: 080314
One-line Summary: brought cam up to date with ccsm4_0_alpha25 driver

Purpose of changes: To bring the ccsm4_0_alpha25 cam branch and other
ccsm4_0_alpha25 externals (primarily the drvseq2_0_10 driver) onto
the cam trunk. The cam "stand-alone" configuration (for both
cam/dom and cam/som) will always be run with the new driver
"ocean_tight_coupling" namelist option set to .true. The ocean
tight coupling option treats ocean model like lnd/ice in
coupling. When this is true, the updated state from the ocean is
merged with the updated state from the land and ice to create the
input atmospheric state. The updated state from the ocean is also
used in the atm/ocn flux calculation. When this is not true
(i.e. loose coupling) the previous state of the ocean is used
along with the updated state from the land and ice to be merged
into the input atmosphere. In addition, the previous state of the
ocean is used in the atm/ocn flux calculation too. Loose coupling
is the way pop2 is always coupled into the system and corresponds
to the way a concurrent ocean would be run.



Tag name: cam3_5_39
Originator(s): mirin
Date: 3/21/08
One-line Summary: Advect tracers simultaneously and allow finer decomp. with FV

Purpose of changes: Several issues are addressed:

A. Ability to advect multiple tracers simultaneously with FV

Tracers may be divided into "trac_decomp" groups, with trac2d invoked
concurrently for the various groups. The additional groups are solved
using auxiliary computational processes. In particular, the kth group of
tracers is advected on the kth set of npes_yz processs. The relevant
namelist variable is trac_decomp, whose default is 1. The implementation
of this option is very similar to that of overlapping trac2d and
cd_core subcycles; however, these options are presently mutually exclusive.

B. Ability to use larger FV domain decomposition

The condition that a subdomain contain 3 vertical lines has been relaxed.
Subdomains need contain at least one vertical line.

C. Bug fix and minor modification to mod_comm

A bug was discovered that affects scenarios with more than 1024 processes
ONLY WHEN at least one of the modcomm_?? namelist variables equals 1.
This was remedied by changing some static arrays to allocatable.

Also, the quantity "alloc_slack_factor" was changed to 8, to accommodate
certain fine-domain-decomposition scenarios.

D. Allow new 64-bit netCDF format

This is necessary for some high-resolution scenarios. The relevant
namelist variable is use_64bit_nc, which defaults as .false.

E. Incorporate minor modification and bug fix from MVR

Bug fix involves use with PGI.

models/atm/cam/dynamics/fv/dyn_comp.F90



Tag name: cam3_5_40
Originator(s): Dani Coleman (bundy@ucar.edu)
Date: 28 Mar 2008
One-line Summary: Fix pdeldry bug and remove cnst_need_pdeldry option

Purpose of changes:
The bug caused the EUL dycore to fail when run with phys_loadbalance=2 and
cnst_need_pdeldry. Now the model always saves pdeldry, regardless of the constituents.

models/atm/cam/src/physics/cam/physics_types.F90
models/atm/cam/src/physics/cam/physpkg.F90



Tag name: cam3_5_41
Originator(s): mvr,tcraig
Date: 080401

One-line Summary:
mods to test scripts in preparation of the decommission of machine
tempest; enhanced post-tag testing on jaguar; fix to cleanup problems in
cpl history file

Purpose of changes:
machine tempest is being decommissioned on 4/5. the default tests
performed there as a requirement for committing to the cam developement
trunk had to be farmed out to other platforms. going forward, pretag
testing will be required on just two platforms, bangkok/lahey and
bluevista.



Tag name: cam3_5_42
Originator(s): eaton, mvertens
Date:
One-line Summary: misc mods for build, trop_mozart_prescribed_aero, cam-som

Purpose of changes:

. build-namelist mods:
- when user specifies ncdata require that start_ymd also be specified
- don't write dom namelist when ocn=none. similarly for csim when
ice=none.

. configure mods:
- don't put utils/timing in filepath for build using ccsm scripts (they
build the timing lib separately)

. Modify behavior of "-chem trop_mozart_prescribed_aero". This option has
been changed to allow one to use the prescribed mozart ozone via the
"prescribed_ozone_file" namelist option. If "prescribed_ozone_file" is
not set then the default cam ozone data is used for the radiation
calculation, just as before.

. Modify DOM so that it writes TSOCN to CAM's initial file. This is needed
for CAM-SOM.

. Add ENDOFRUN option to the inithist namelist variable. This allows an
initial file to be written only at the end of the run.
:N.B. this option won't be fully functional until mods are made to
CLM and to the driver code.



Tag name: cam3_5_43
Originator(s): mvertens,tcraig,mvr
Date: 080424
One-line Summary: update to externals list of ccsm4_0_alpha28;
removed all code related to permutation of grid points;
minor modifications to test scripts

Purpose of changes: permutation of grid points now handled within
mct code, so update to latest mct tag allowed removal of this code



Tag name: cam3_5_44
Originator(s): eaton
Date: Wed May 7 14:44:38 MDT 2008
One-line Summary: build-namelist mods

Purpose of changes:

. fix bug in waccm_1995_climo use case

. update the Build::NamelistDefinition module with methods for creating
documentation from the definition xml file

. extend build-namelist to write the /modelio/ namelists used by components
to redirect their log output to a named file.



Tag name: cam3_5_45
Originator(s): mvr,dennis,jedwards
Date: Thurs May 8 MDT 2008
One-line Summary: code work-arounds for bluevista compiler problems;
new default initial conditions file for fv 0.47x0.63 and jan 1 start date

Purpose of changes:
we're still waiting for ibm to provide a fix for problems with the new
xlf compiler (version 11.1)...in the meantime, jedwards has provided
code work-arounds for two cam files to enable running with two of
the configurations known to trigger problems...



Tag name: cam3_5_46
Originator(s): mvr,pworley,robj,eaton,mvertens
Date: Tue May 27 MDT 2008
One-line Summary: test scripts updated for new jaguar hardware and compilers;
updated to new clm,mct and scripts externals to address bugs; other bug fixes

Purpose of changes:
jaguar returned to production with new quad-core processors - the test
scripts needed mods to work with the new hardware and pgi compilers (7.1-6)

a new mct tag was released that addressed several cam bugs - one with fv
decomp and phys_loadbalance=0 on jaguar and the other with excessive writes
from processors other than the master

a new clm tag addressed a bug in logic for do-albedo calculation

numerous ccsm tests were failing due to bugs in the scripts used by the coupled
system, including a mismatch in the grids specified for the eul dycore

new default aquaplanet initial files added to help in running pergro tests

Tag name: cam3_5_47
Originator(s): Francis Vitt
Date: 29 May 2008
One-line Summary: WACCM bug fixes and enhancements.

Purpose of changes:

Enhance science in WACCM chemistry and fix a few bugs. The enhancements
and bug fixes include:
- Updated chemistry to JPL-2006.
- Added ClOy and BrOy family tracers (CLY and BRY) to improve
conservation of Cl and Br during advection.
- Made photolysis more flexible by using label tags in the
preprocessor input file.
- Don't allow wet removal above 300 mb in polar region.
- Added tidal diagnostics.
- Updates in aurora code.
- Added the ability to input surface fields that are lat, and time
dependent only in addition to fields that are lon, lat, and time
dependent.
- Added F107, F107a, Kp, Ap to history tapes.
- Added offline waccm driver capability.
- Added capability to use the Judith Lean solar irradiance data.
- Added the radiative feed back option for stratospheric sulfur aerosols

Bugs fixed (include bugzilla ID):

Fixed bug in O2 data used in radsw for waccm

Fixed inithist bug (bugzilla ID 715)

Fixed a bug in mo_jlong which was producing jagged photolysis
rate profiles. There was in error in the calculation of the
ozone ratios used in the interpolations of the radiative source
functions.

Fixed negative del_p bug in mo_jlong

Describe any changes made to build system:

Increased the number of advected tracers by two for waccm_mozart chemistry

Added build-namelist use_cases for waccm:
- waccm_1950_smax
- waccm_1950_smin
- waccm_1995_smax
- waccm_1995_smin
- waccm_1950_ramped
- waccm_1953_ramped_qbo

List all subroutines added and what they do:

models/atm/cam/bld/namelist_files/use_cases/waccm_1950_ramped.xml
models/atm/cam/bld/namelist_files/use_cases/waccm_1950_smax.xml
models/atm/cam/bld/namelist_files/use_cases/waccm_1953_ramped_qbo.xml
models/atm/cam/bld/namelist_files/use_cases/waccm_1995_smin.xml
models/atm/cam/bld/namelist_files/use_cases/waccm_1995_smax.xml
models/atm/cam/bld/namelist_files/use_cases/waccm_1950_smin.xml
* new waccm use cases

models/atm/cam/src/physics/cam/tphysac.F90
* invocation added to set CLY and BRY family tracers before advection

models/atm/cam/src/chemistry/waccm_mozart/chemistry.F90
* history addfld calls added
* call to advance Lean irradiance data added

models/atm/cam/src/dynamics/fv/dyn_comp.F90
* changes for offline waccm driver



Tag name: cam3_5_48
Originator(s): Francis Vitt
Date: 3 June 2008
One-line Summary: changes for ifort compiler

Purpose of changes: to compile with ifort compiler


Tag name: waccm01_cam3_5_48

Date: 7 July 2008

Summary:

Merged in Yaga's gravity waves mods.

Details:

models/atm/cam/src/physics/cam/physics_types.F90
models/atm/cam/src/physics/cam/physpkg.F90
models/atm/cam/src/physics/cam/vertical_diffusion.F90
models/atm/cam/src/physics/waccm/gw_drag.F90
models/atm/cam/src/dynamics/fv/dp_coupling.F90

  • No labels