(from SW Codebase page : This page is somewhat outdated, but contains some useful background)
Repository Specific Improvements
Repo | Improvement | Note |
---|---|---|
slurm_gm_workflow | DB Issue: Fix the lock issue caused by excessive access Remove/update legacy code & parameters and accomodate new environment
Better logging Automated verification/testing Integrate model (srf/vm) into the workflow (with an option to stop before simulation) Estimation performance optimization Automated Visualisation Error handling Deprecate cybershake.json Separate repos: workflow automation vs calculation Realisation name change: AlpineF2K_HYP01-47_S1244 to AlpineF2K_REL01 | |
qcore | More coherent structure with related functions kept in the same file Remove unneeded code/functions Consistent comment styles using doctoring and API doc Expand automated unit test coverage (less than 10%) (lat.lon).csv → grid.xml currently not used. Plan for PAGER? | |
Pre-processing | Better estimation for model generation Repo restructure : GMSim_model, NonUniformGrid and archive unused legacy code Incorporate model generation into management DB (See slurm_gm_workflow) Automated testing for model generation NonUniformGrid code has minor issues (but low priority, run yearly) | |
seisfinder (ver.1/ver.2) | Regression tests (after scientific validation) GM selection Login and user management Missing ver.1 features:
| |
Visualisation | Clean up Python 3 Refactor plot_stations.py | |
empirical_engine | Integrate into hazard workflow (replacing OpenPSHA, no new functionality, but can streamline empdb creation) | |
ground failure | Clean up | |
validation | Mixed effect regression workflow to be version-controlled Add automation Improve the code quality | |
GMSimViz | Specifying regions of interest | |
gm_publish | Decide if seisfinder2 needs this | |
IM_calculation | Include just .000 and .090 for geom only (33% speed up) Calculate RTVZ and RX Replace Cython spectra with better Python code | |
Velocity_Model | - | |
EMOD3D | - |
Common Improvements
- Template for README : Amalgamate README, Codebase wiki page and repo maturity page, and put everything in README.
- Python 3 and coding & comment style
- Automated testing and Continuous integration
Stable Release
A repository that satisfies the following criteria will have an official stable release.
- All the planned functionalities have been developed and tested
- Codebase has been cleaned up
- Good comments & documentation (README)
- Automated testing coverage over 80%
The repositories we should aim to produce stable releases are (ordered by impact/risk analysis)
- IM_calculation
- Pre-processing
- Qcore
- Slurm_gm_workflow