Releases: gemini3d/gemini3d
Releases · gemini3d/gemini3d
enhance robustness of build system
- add self tests
- give better user feedback when a library is missing or not working
Add numerous checks, simplify CLI
- gemini.bin command line now has only one mandatory argument: the top-level output directory. The inputs/config.nml should already be in there when gemini.bin is run.
- if the user doesn't specify an output file_format, Gemini.bin will use the same file format as the input/simsize.*.
- Check for NaNs and impossible values in several more places.
- correct potential source calculation error
- eliminate stack overflow in tests by using allocate()
- allow non-MPI unit tests to build even without MPI
- auto-download and auto-setup PyGemini if needed
- eliminate duplicative specification of "flags" in config.nml. Use presence of namelists to determine if an input is desired.
- allow namelists to be read in a different order than in file
- move all Python scripts to PyGemini except for bare minimum used for self-tests
- add optional EIA namelist
- make several .f90 files generated to cut down on linking for minimal parameters (faster parallel builds)
- add -dryrun to CI
- update reference data URL
robustness: add dryrun
- add
gemini.bin -dryrunused by job.py to help avoid HPC queuing for simple errors on first time step - Make job.py / plasma.py build msis_setup more reliably
- cleanup python packaging
- remove needless file copying from Fortran
bugfix: nml flag defaults
set safe defaults for NML flags. Under certain conditions they could default non-zero otherwise and cause simulation to hang early just after first time step.
remove unneeded code from job.py
job.py: allow manual specify max cpu count, handy for HPC where you be submitting to different node.
bugfix and add check: MPI count
Fixed a bug where MPI image count was incorrect on some systems, and added test to mpi_basic to check for this.
add implicit none (type, external) for robustness
bugfix: hdf5/netcdf detect
- general code quality via use of Fortran 2018
implicit none (external) - fix bug where on some systems h5fortran / nc4fortran / hdf5 / netcdf4 would falsely not be found
- remove many preprocessed files instead using
configure_filegenerated Fortran source for clarity - make
msis_setupmore robust to use from external Python / Matlab programs - do compiler/library checks with clearer failure messages
- add more feature printouts to final summary to help users understand their configuration
bugfix, quality
- CMake: enhancements to make CDash and console output prettier
- Docs: split Readme into several linked files and update to current info
- grid: enhance grid_check. Still need to make checks stronger for manual MPI count specification #17
- use gemini_cfg for more parameters
- general code quality and lint
Bugfix: grid size check, add cli flag parser, output.nml
V0.5.1 deallocate more grid vars
add netcdf, CDash, better CLI, fix memory leak
- add CDash
- add NetCDF4 option, by default off, while HDF5 is default on
- improve Gemini.bin CLI to be flag-based
- fix memory leak in vendor/lapack95 that would silently crash larger sims with SIGKILL 9
- fix GCC 9.3.0 by removing redundant
use
multi-type file io: raw, hdf5. cleanup
- allow raw, hdf5, netcdf file IO without recompile
- make MSIS-Python interface use stdin/stdout pipes instead of files
- enable Fortran HDF5 write compression automatic
- NetCDF is not yet fully working, needs to be debugged, but it's mostly implemented.
- move Matlab, archive to own repos
- add h5diff-based test--in case Python numeric libraries are messed up, h5diff is standalone test.