Skip to content

Parallel I/O, version numbering, and some markdown notes

Ben Storer requested to merge bastorer/SPINS_main:master into master

This merge request will introduce three main features

Parallel I/O

Commits 833439a8 and 54034d65 modify the read_array and write_array functions in T_util to use MPI parallel read/write features. The main advantage of this change is in memory. In particular, reading in from SPINS outputs (such as when restarting or using wave_reader) had large memory overhead with the previous memmap read_array. The MPI parallel input resolves this (tested on a large salt-temperature case with @ddeepwel ).

This change was tested on 2D and 3D gravity_current cases and behaved as expected.

These read/write functions have also been used for the vortex_reader and qg_reader casefiles for a few years now without issues.

Version Numbering

Version numbering has be introduced. The relevant commits are 73fec6f0 and 874de93a

The file VERSION contains definitions for variables MAJOR_VERSION, MINOR_VERSION, and PATCH_VERSION. The Makefile passes those variables at compile-time so that casefiles print the SPINS version with which they were compiled whenever they are run. This should help reduce version mix-match issues. These changes were made to the Makefile and BaseCase.

./casefile.x --version prints the version number and exits. This change was made in Options

Markdown Files

Two markdown information files were added.

README

Commit c7da3faa adds a README file to the main directory. It's fairly barebones, but adds some information to the front-page for the git repository.

CONTRIBUTING

Commit 78968f89 adds a contribution guide. This is also accessible from the repository website and gives some information about how to submit changes (and some best practices information.)

Minor changes

  • commit d25865f7 adds *.src.c files to the git ignore
  • commit 78ba39f1 fixes a small typo error in wave_reader

Merge request reports