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 format- Create a CMake file for each binary that needs versioning
- Determine how SRF generation should take the requested version number from the user
- Implement SRF generation versioning
- Determine how the cybershake install process should take the requested version number from the user
- Implement versioning for HF and LF
- Determine where in the qcore library versioned tools are being used
- Determine how these parts should receive user input for which binary version to use
Tools that won't change:
Tools to be versioned:
EMOD3D
- Will be named emod3d-mpi_v<version>
HF tools (binmod and np2mm+ in particular)
- Will be named hb_high_v<version>_binmod
- Will be named hb_high_v<version>_np2mm+
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
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