Change log

8.2 (2023)

Breaking Changes

  • The entry points to GS2 when using it as a library have been refactored, with some deprecated routines having been removed. The main entry point is still run_gs2, but this now takes only two arguments: the program state, and an option to delay finalising the simulation until finish_gs2 is called. The user is expected to take care of initialising and finalising MPI, and passing the MPI communicator through state%mp_comm.

  • The change to the GS2 entry points means that some interfaces to external codes, such as Trinity, have also been removed. The caller should now handle any customisation to the GS2 setup/teardown.

  • The "replay" feature to recalculate some diagnostics on a previous run has been removed. This feature only interacted with the "new" diagnostics module, and only a certain subset of diagnostics.

8.1.2 (2022-07-26)

Breaking Changes

  • Correction for collisional treatment with new_trap_int = T may change results.

  • Correction for nonadiabatic dfn initial conditions with adiabatic species may prevent reproducibility of previous simulations (but not change the physics of the time advance).

Known issues

No new known issues.

Merged Pull Requests

8.1.1 (2022-04-29)

Breaking Changes

  • Previously if gridgen failed it would report the failure but the run would continue. The run will now abort.
  • Collisional electromagnetic simulations with normalising density/charge not equal to one previously missed a normalising factor in the drag term. This has been fixed but may change results.

Known issues

No new known issues.

Merged Pull Requests

8.1.0 (2021-12-10)

Breaking Changes

From v8.1 onwards, we will be recording breaking changes. GS2 development policy is to minmize disruption to users by only introducing breaking changes into major and minor releases (e.g. v8, v8.1, but not v8.1.1). By "breaking change", we mean anything (that isn't a bug fix!) that will change the physics results or lead to different/unexpected code behaviour without the user changing anything in their input file. This typically means changes to defaults, or improvements to physics/algorithms that change the results but aren't fixing a definite bug.

The breaking changes for v8.1 are:

  • PR 353 Ensure maximum timestep stored in restart. With this change, the maximum time step (input variable dt0) is stored in the restart file and is restored when delt_option = 'check_restart'. The value used can still be overridden by setting dt0. This breaks backwards compatibility with pre-8.1 restart files: now if delt_max is not found in the restart file then we would fail to set the maximum time step or the time step history from the restart file, and an error is thrown.
  • opt_redist_init is no longer an option - we only support the optimal version of the redistribution initialization routine. Users need to remove opt_redist_init from layout_knobs namelist in input files.
  • For consistency, the new diagnostics now uses lower case for rplot, zplot, rprime and zprime. This has the potential to break analysis scripts.
  • Changes to defaults: write_fluxes and write_fluxes_by_mode now default to true for nonlinear runs and false for nonlinear runs.
  • Runs now abort if the user attempts to load a restart file with a different layout than the one set in the rest of the code / input file.

Known issues

  • If users see compile/cleaning errors relating to tests, it may be necessary to delete folders for benchmarks that no longer exist in 8.1:
rm -rf tests/benchmarks/init
rm -rf tests/benchmarks/timestep
  • Switched to the NETCDF4 file format for all netcdf output. Existing analysis tools should continue to work, however, this generally means one should not access the netcdf files whilst the run is ongoing by default. For example, running ncdump on an in use file is likely to return a HDF error. To avoid this and allow access during a run one can set HDF5_USE_FILE_LOCKING=FALSE in the environment (e.g. export this in bash)*.

Merged Pull Requests

8.0.6 (2021-02-04)

8.0.5 (2020-09-02)

8.0.4 (2020-03-19)

8.0.3 (2020-02-07)

8.0.2 (2019-06-10)

v8.0.1 (2019-02-05)