Since CMake >= 3.20 is required for Intel compilers and to reduce maintenance burden due to numerous features added in CMake 3.20, full features of Gemini3D self-tests now requires CMake >= 3.20. Gemini3d can still build and run some unit tests with CMake >= 3.13. For best robustness of build and test, we recommended CMake >= 3.20.
Features added:
* add ability to expand environment variables into paths in config.nml. This is a more robust / general method than fixed absolute paths in config.nml. For example, `GEMINI_SIMROOT` starting a path in config.nml tells Gemini to read environment variable GEMINI_SIMROOT and inject it there
* improve gemini3d.compare considerably, covering more quantities and adding ability to use Python or Matlab to plot differences detected
* use newer Glow version that corrects bugs leading to NaN in output data
* gemini3d.run frontend: more effective at finding low-level gemini.bin
* added ability to `ctest -R download` to one-time download test reference data for systems that are normally offline
* ExternalProject: use better options to avoid constantly rebuilding external libraries
* Mumps >= 5.4.0 uses an enhanced build technique with better source code traceability