Summary
We end up downloading the Zenodo files fairly frequently on the github runner. That stresses the Zenodo servers, slows down the runner, and increases the per-run storage requirements for the runner.
Proposed solution
Write some functions to programmatically generate fake CF/load profiles, for use only when a GSw_UseFakeData (or something) flag is turned on. This approach would only be used for the github tests.
- CF profiles
- Demand
- Infrastructure in
runbatch.py
Alternative solution
We could instead store a subset of the actual data on Zenodo. But we'd need to update it whenever we update any of the other Zenodo files, or the regions used in the runner tests, which is not ideal. It would also keep us from doing larger-area simplified tests.
(copied from https://github.nrel.gov/ReEDS/ReEDS-2.0/issues/2036)
Summary
We end up downloading the Zenodo files fairly frequently on the github runner. That stresses the Zenodo servers, slows down the runner, and increases the per-run storage requirements for the runner.
Proposed solution
Write some functions to programmatically generate fake CF/load profiles, for use only when a
GSw_UseFakeData(or something) flag is turned on. This approach would only be used for the github tests.inputs/supply_curve/supplycurve_{tech}-{siting}.csvand then use a suitable distribution fromnp.randomto create a noisy profile with the same mean for each site, matching the structure of the real site-level files on Zenodo. (Or they could be completely random.)recf.pyas a new if/then:ReEDS/input_processing/recf.py
Lines 132 to 139 in 4bf761b
hourly_load.py:ReEDS/input_processing/hourly_load.py
Lines 618 to 623 in 4bf761b
runbatch.pycheck_compatibility()to enforce that all parallel cases must use the sameGSw_UseFakeDatasetting for simplicityreeds.remote.download_remote_files()ifGSw_UseFakeDatais turned onAlternative solution
We could instead store a subset of the actual data on Zenodo. But we'd need to update it whenever we update any of the other Zenodo files, or the regions used in the runner tests, which is not ideal. It would also keep us from doing larger-area simplified tests.
(copied from https://github.nrel.gov/ReEDS/ReEDS-2.0/issues/2036)