Parallel I/O, version numbering, and some markdown notes
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.)