Users have expressed a wish to use different versions of the various binaries needed during the ground motion workflow.
In order to accomplish this we need a way of storing these different binary versions, a way for the user to specify which is to be used and for the workflow to use the appropriate binary.
Places that will want to use different binaries:
- SRF generation
- HF calculation
- LF calculation
TODO:
Ask Robin for a list of the tools that won't changeVersion the remainder by placing their version number after the file name in a defined formatCreate a CMake file for each binary that needs versioningChanged to one CMake with a flag to build each versioned binaryDetermine how SRF generation should take the requested version number from the userImplement SRF generationversioningDelayed for Pre Processing refactorDetermine how the cybershake install process should take the requested version number from the userWill read root_params.yamlImplement versioning for HF and LFDetermine where in the qcore library versioned tools are being usedDetermine how these parts should receive user input for which binary version to use- Modify all occurances of tools_dir in slurm_gm_workflow to use the new binary_version function
- Load tools_dir version from yaml templates
- Test slurm_gm_workflow with new binary_version on maui
Tools to be versioned:
EMOD3D
- Will be named emod3d-mpi_v<version>
HF tools (binmod and np2mm+ in particular)
- Will be named hb_high_binmod_v<version>
- Will be named hb_high_np2mm+_v<version>
Genslip
- Will be named genslip_v<version>
Where version is generally of the form X.Y.Z where each of X, Y, Z are normally integers
Tools that won't change:
Everything else in the folder
Build method
One CMake exists for all tools found in the tools repository.
The required tools can be built using the -DTOOL_TO_MAKE=<tool> flag, where tool is one of:
- tools, for non-versioned tools
- emod3d, for versioned emod3d (lf) tools
- hf, for versioned high frequency tools
- genslip, for versioned genslip tools
- all, to build all tools. This is the default option.
How differenct versions of binary file is used in slurm_gm_workflow
*tools_dir path: /nesi/project/nesi00213/opt/$machine/hybrid_sim_tools
*name conversion: see Tools to be versioned section.