payu-org / payu

A workflow management tool for numerical models on the NCI computing systems
Apache License 2.0
19 stars 26 forks source link

Store required libs on model object #356

Closed jo-basevi closed 1 year ago

jo-basevi commented 1 year ago

Store information of required libs per binary on the Model object if there exists an executable path.

Should close #354 and #355

coveralls commented 1 year ago

Coverage Status

coverage: 42.016% (+0.2%) from 41.843% when pulling f03c3fa6435bff599d12b1e2cd07284ff5112269 on jo-basevi:354-solo-model-req-libs into 105fdc0930a43ff0802c9091ebbc6d8c85d6fa40 on payu-org:master.

jo-basevi commented 1 year ago

Ok, I let it run for a bit with MOM6-CICE6 (I wasn't sure how to do a short run of it so I used qdel after it ran for awhile). Though as required_libs are set during setup so I could check that after payu setup, the required_libs field were set as expected. Everything still works fine with the ACCESS-OM2 configs

aidanheerdegen commented 1 year ago

Feel free to merge if you are happy it is good to go @jo-basevi

aidanheerdegen commented 1 year ago

I've also done some checking because Ezhil was reporting odd unrelated behaviour (that is a different issue), but it all seems to work well with single model and multi-model configs.

aidanheerdegen commented 1 year ago

I just thought, we probably want to check for storage paths in the use path.

That would be added here

https://github.com/payu-org/payu/blob/105fdc0930a43ff0802c9091ebbc6d8c85d6fa40/payu/schedulers/pbs.py#L112

Ideally we might want to look in the paths of the required_libs, but that isn't known until after the run is submitted to PBS, so not available.

jo-basevi commented 1 year ago

Ok, I've added 'module use' paths to the list to search for storage paths and added it to the tests.

aidanheerdegen commented 1 year ago

Great, thanks! Good to merge I think.