Structure of Codebase
(from SW Codebase page : This page is somewhat outdated, but contains some useful background)
Repository Specific Improvements
Repo | Improvement | Note |
---|---|---|
https://github.com/ucgmsim/slurm_gm_workflow | Outstanding issues
Improvements
| |
Remove unneeded code/functions More coherent structure with related functions kept in the same file 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? | ||
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) | ||
Regression tests (after scientific validation) GM selection Login and user management Missing ver.1 features:
| ||
Clean up Python 3 Refactor plot_stations.py | ||
Integrate into hazard workflow (replacing OpenPSHA, no new functionality, but can streamline empdb creation) | ||
Clean up | ||
Mixed effect regression workflow to be version-controlled Add automation Improve the code quality | ||
https://github.com/ucgmsim/GMSimViz | Specifying regions of interest | |
Decide if seisfinder2 needs this | ||
Include just .000 and .090 for geom only (33% speed up) Calculate RTVZ and RX Replace Cython spectra with better Python code | ||
Velocity_Model | - | |
- |
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
Plan for Q2: Mid April - End of June
- Stable release of IM_calc and Pre-processing repos : Initially small team of 2~3 piloting, polishing up the process
- Slurm_gm_workflow & Qcore restructuring
- Completing all features for SeisFinder2
- README template :
- Standard for comment and API doc : Numpy style
- New features