How to add new Models:
Important: an adv_im models is ran by using sub-process calls, it is expected to to self-contained within a separate folder.
1. copy the whole model folder into IM_calculation/Adanced_IM/Models
2. update the Run.py to the latest. (mismatch version may cause serious crashes)
3. make sure the paths in tcl are correct and loadable. ( run test_paths.py will give you an brief test/result )
4. modify the "advanced_im_config.yaml" to point to correct location of run.py
Steel_MF_5Story: script_location: 'Models/Steel_MF_5Story/run.py' SAC_Steel_MF_3Story: script_location: 'Models/SAC_Steel_MF_3Story/run.py' SAC_Steel_MF_9Story: script_location: 'Models/SAC_Steel_MF_9Story/run.py'
5. run a unit test too check it produces output without crashes. ( automatic-test still in progress)
Models currently added:
Steel_MF_5Story
SAC_Steel_MF_3Story
SAC_Steel_MF_9Story
Testings:
Model testing:
tcl path testing : test_path.py ( this will ensure all path in *.tcl are loadable or at least exist )
unit testing: in-progress
workflow testing:
subprocess-call testing: in-progress
e2e_test: in-progress
output testing:
opensees-ouput test: test_adv_IM.py (test if there is unexpected output e.g. NaN or blank)
Issues/Bugs:
- headers are sorted in wrong order if im_count > 10
example:ST1,ST10,ST11,…,ST2,ST3
instead of:
ST1,ST2,ST3,…,ST10