Raw File
Tip revision: dceb57bf3c337b4fc93ace6c4b35764e7fe00909 authored by thwbecker on 05 January 2021, 20:19 UTC
Better log file output.
Tip revision: dceb57b
CitcomS NEWS -- history of user-visible changes.  2014-10-09

Please send bug reports to

Version 3.3.0

 * Removed Python sections of CitcomS

 * Wrote Python to standard parameter file conversion tool (Py2C)

 * Converted Python cookbooks parameter files to original style parameter files

 * Added output of parameters to a pidXXXXXX style file

 * Updated the manual to correspond to the new changes

Version 3.2.0

* Pyre configuration is now disabled by default.

* If Python 2.7 is detected, Pyre is disabled due to conflicts.

* Enhanced VTK output, mostly contributed by Rene Gassmoeller at GFZ.

* Revised Advection_diffusion routine. Contributed by Thorsten Becker
  and Shijie Zhong.

* Trial implementation of anisotropic viscosity.
  Contributed by Thorsten Becker.

* Added support of multigrid solver in Exchanger.
  Contributed by Eh Tan.

* Added control for inner loop solution accuracy (inner_accuracy_scale).
  Added option to remove rigid body rotation at each Uzawa iteration
  step (inner_remove_rigid_rotation). Contributed by Thorsten Becker.

* Added two boolean parameters for controlling convergence
  criterion: check_continuity_convergence and check_pressure_convergence.
  Contributed by Eh Tan.

* Added experimental implementation of internal stress or velocity
  boundary conditions. Contributed by Thorsten Becker.

* Improved handling of grd-read velocity and traction boundary
  conditions. Contributed by Thorsten Becker.

* Changed default parameters for z_410, z_lmantle, z_lith to more 
  Earth-like parameters. Contributed by Thorsten Becker.

* Added experimental traction surface BC from grds.
  Contributed by Thorsten Becker.

* Added ability for each radial layer to have distinct viscosity
  parameters. Contributed by Eh Tan.

* Added test implementation of steady state strain-rate weakening
  via PDEPV psrw=on parameter. Contributed by Thorsten Becker.

* Added Murnaghan's integrated linear EoS. Contributed by Eh Tan.

* Added augmented Lagrangian component of stiffness matrix in cbf
  topo. Contributed by Eh Tan.

* Performance optimizations for CUDA code. Contributed by Leif Strand.

* Fixed several bugs in the code and manual, including:
  - Fixed a bug in pseudo free surface, reported by Robert Moucha.
  - Correctly handle orphan tracers.
  - Added Pyre binding for write_q_files, z_layer, r_grid_layers,
    rr, nr, others.
  - Replaced fixed accuracy setting. Bug reported by Rob Moucha.
  - Fixed temperature perturbation bug for multiple processors.

Version 3.1.1

* Added precise_strain_rate function. Contributed by Thorsten Becker.

* Added density (rho) scaling in convective heat flux (necessary
  for compressible flow). Contributed by Dan Bower.

* Added parameters 'amending_outflow' and 'exchange_pressure' to
  help the convergence of esolver. Contributed by Eh Tan.

* Added boundary for global mesh in exchanger module.
  Contributed by Eh Tan.

* Refined Cookbooks 9, 10.

* Added CUDA-ized e_assemble_del2_u() function, multigrid solver,
  other functions also parallelized. Enabled using configure option
  "--with-cuda".  Contributed by Leif Strand.

* Added blob_bc_persist parameter to allow assigning blob-like temperature
  anomalies to BCs. Contributed by Thorsten Becker.

* Fixed several bugs in the code and manual, including:

  - Ensure output variables are correctly initialized.
  - Avoid multiple error messages when using multiple processors.

Version 3.1.0

* Converting temperature and composition to seismic velocities. The seismic 
  velocities output can be uploaded to CIG seismic portal for SPECFEM3D 
  simulation to generate synthetic seismograms. See Cookbook 10 in the
* Allowing tracers in global model with nproc > 2 by changing the mesh 

* The convergence of Stokes solver is controlled by parameter "accuracy" in 
  [CitcomS.solver.vsolver]. "tole_compressibility" is not used anymore. Also, 
  the norms of div(u), u, and p are no longer dependent on the grid size.

* Adding self-gravitational effect on geoid, contributed by Shijie Zhong.
  See Cookbook 8 in the manual.

* Adding Consistent-Boundary-Flux (CBF) method to compute dynamic topography,
  contributed by Shijie Zhong. See Cookbook 8 in the manual.

* Better convergence for the nested solver calculation. See Cookbook 9 in the

* Adding GMT/netcdf grd input for surface velocity boundary conditions,
  initial temperature, material dependence and local Rayleigh number in
  surface layers, contributed by Thorsten Becker.

* Adding capability to read in time- and geographic-dependent, top surface
  temperature boundary conditions, contributed by Mike Gurnis.

* Allowing multi-component chemical viscosity.

* Optimizing the speed. Cookbook 8 becomes 13% faster than v3.0.3.

* Moving input parameter "mantle_temp" from [CitcomS.solver.param] to
  [CitcomS.solver.ic] section.

* visual/project_geoid starts from degree-2 spherical harmonics.

* Fixed several bugs in the code and manual. Important bug fix includes:

  - A memory bug in visual/project_geoid.c, fixed by Thorsten Becker.

  - Initial temperature "tic_method=0" for regional model applied sinusoidal 
    perturbations to 0th processor only.
  - Initial temperature "tic_method=1" for regional model generated a top 
    thermal boundary layer 25x older than specfied by "half_space_age".

  - Compiling with both HDF5 and Exchanger support will crash Cookbook 9
    (Issue 528).

  - Insufficient error checking when reading input files (Issue 265, reported
    by Clint Conrad).

  - Installation bug: Python.h and system header not properly checked by
    configure script (Isse 45, reported by Vlad Manea and Ricardo Arevalo).

  - Manual fixes: description of rheol=4 (Isse 152, reported by James Robert),
    energy equation (Issue 162 & 164, reported by Dan Bower), documented all
    "tic_method" and "rheol" options.

Version 3.0.3

* Fixed issue 158: incorrect E->control.fi_max with coor=1. In regional
  model, when coor=1 is used and nodex is not equal to nodey, the maximum
  value of phi coordinate is set incorrectly. These parts of the code are
  - the initial temperature of regional model with tic_method 0 or 2.
  - the tracer module of regional model.
  - the lith_age module of regional model.

* Fixed a bug in geoid when nprocz>1. The geoid contribution due to topography
  would contain artitrary result if more than one processor in z direction is

* Fixed a dead-lock problem in full-regional coupling model.

* visual/project_geoid.c: Fixed a typo in memory allocation that led
  to core dump. Changed the order of input arguments to match the manual.

* Closed *.tracer_log.* files before the program exits.

More details can be found in CIG Issue Tracker

Version 3.0.2

* Fixed a bug in HDF5 output which causes compilation error (Issue 131);

* Fixed a bug in normalizing the tracer coordinate (Issue 139);

* Fixed a behavior regression when using lith_age=1 and tic_method=-1;

* Greatly reduced the number of tracers per elemente that is required for
  thermo-chemical convection (Issue 140).

More details can be found in CIG Issue Tracker

Version 3.0.1

* A header file for the exchanger was missing in v3.0.0.

Version 3.0.0

This release of CitcomS (3.0) contains many new features, including:

* two implementations of compressible convection, one by Wei Leng and Shijie
  Zhong and the other by Eh Tan (Cookbook 8);

* the ability to resume computation from previous checkpoints (Cookbook 8);

* multi-component chemical convection;

* a fixed non-Newtonian solver;

* an exchanger package for solver coupling (Cookbook 9);

* removing the rigid body rotation component from the velocity by Shijie
  Zhong (Cookbook 8);

* an option to disable monitoring of maximum temperature (Cookbook 9);

* a rheology option for pseudo-plasiticity, composition dependent viscosity
  and heat generation, compressed ASCII output, and an easier way for mesh
  refinement for the radial coordinate by Thorsten Becker.

There are additional seven backward-incompatible changes. Among them, the
first four will affect the results. The same input file will produce slightly
different results in v3.0.0 than in v2.2.2.

* the viscosity field at element level is not smoothed (this might slow down
  the convergence but will represent the viscosity field more accurately);

* the Lenardic filter on temperature is disabled by default;

* the rigid body rotation component is removed from the velocity by default;

* use of a better pseudo-random number generator to generate the initial

* the type of input parameter coor is changed from a boolean to an integer;

* setting restart=on will resume the computation from the checkpoint files and
  will not need the tracer files (the old way of reading  initial temperature
  from velo files can be achieved by tic_method=-1);

* the input parameter reset_initial_composition becomes obsolete.  

Version 2.2.2

* A bug in geoid calculation is fixed. The buoyancy contribution on geoid
  was not correctly zeroed before every geoid calculation. This caused the
  geoid at former timestep accumulated over the later timestep. (Issue 114)

* The pressure, stress, and composition output, if enabled, will be combined
  by "" script as well. The combined output is stored in
  opt-files, similar to the cap-files. (Issue 99)

* Generating random tracers is sped up. This should avoid a potential problem
  of "too many tries?" error when the domain size of a processor is much
  smaller (<1%) than the size of the whole sphere.

Version 2.2.1

* One example, Cookbook7, was missing in v2.2.0.

Version 2.2.0

* A new feature to track particles in the flow (code donated by Allen McNamara
  and Shijie Zhong).

* A new feature to use the tracers to compute composition field and compute
  thermo-chemical convection (code donated by Allen McNamara and Shijie Zhong).
  A new cookcook (Cookbook7) in the manual introduces how to use this feature.

* New feature to use the tracers to define the low viscosity wedges/channels
  in the subduction zones (code donated by Vlad Manea).

* Fixes of sevearal bugs: issue 72, 73, 75, 77 and 81. See the Geodynamics
  Roundup issue tracker ( and the file 
  ChangeLog for details. Important bug fixes include:

  - 'make install' broken for non-pyred CitcomS. (Issue 72)

  - '' did not work in Ubuntu 6.10. (Issue 73)

  - Velocity b.c not scaled correctly when age becomes negative. When using
    file_vbcs=on and the age becomes negative (passing the present time),
    the read-in velocity BC was not scaled properly. Usually the boundary
    velocity became ~1000x smaller than it should be. (Issue 77)
  - Errors in the manual. The manual failed to document the unit of the
    vbc_file is in cm/yr. The manual contained a small error in the
    description of the header of the coor_file. (Issue 75 and 81)

Version 2.1.0

* The filenames of post-processed and combined data are changed slightly. For 
  example, "model.cap0.100" is renamed to "model.cap00.100", "model.cap6.100" 
  is renamed to "model.cap06.100", and "model.cap11.100" is unchanged.

* A new input parameter "datadir" specifies the path of output files. The
  "datafile" input parameter (cannot contain path) specifies the filename
  prefix of the output files. In v2.0.x and before, "datafile" is used to
  specify the path and filename prefix of output files. This change is not
  backward compatible. Users need to change their old input file to run it.

* Improved build procedure. The CitComS executable embeds python
  interpreter by default and is statically linked with MPI library,
  which improves the portability of the code. 

* New input format (INI-styled .cfg)

* No need to specify launcher.nodes anymore, it is calculated from the mesher

* Support of binary format output (using HDF5 library).

* Additional data output (including: geoid, stress, pressure, and horizontal
  average) can be enabled/disabled by changing the input parameters.

* Scripts (using GMT commands) to plot 2-D cross sections of temperature field.

* Added/removed a few input parameters (all in solver.const component) for
  computing geoid. Removed "layerd" and "wdensity" and added "radius", 
  "density_above" and "density_below".

* Fixes for several bugs: issue 30, 35, 42, 44 and 55. See the Geodynamics
  Roundup issue tracker ( and the file
  ChangeLog for details. Important bug fixes include:

  - Inconsistent times in C and Pyre. When 'fixed_timestep' is set
    and the grid resolution is insufficient, the Pyre part of CitComS
    could give the wrong model time. (Issue 35)

  - Accidental deletion of surf files by is a script
    to combine the surf files. If the current working directory happens to be
    the output directory of CitcomS, the script would delete the original surf
    files. (Issue 55)

Version 2.0.2

* Fixes for several minor bugs: issues 7, 8, 9, 10, 11, 12, and 13.
  Most of these are installation-related.  See the Geodynamics Roundup
  issue tracker ( and the file ChangeLog
  for details.

Version 2.0.1

* is now distributed under the GNU General Public License.
  See the file COPYING for copying conditions.

* now uses the GNU Build System (Autoconf, Automake, and
  Libtool).  See the file INSTALL for building and installation

Local variables:
version-control: never
mode: indented-text
back to top