From 2c947fa3752bbc63062daddf7b1c2ddcd1e495d6 Mon Sep 17 00:00:00 2001 From: drounce Date: Sun, 18 Sep 2022 06:33:23 +0200 Subject: [PATCH] changed filenames, added version control to avoid _, diag errors w ev_model run --- pygem/pygem_input.py | 2 +- ...calibration_woggm.py => run_calibration.py | 0 run_simulation_woggm.py => run_simulation.py | 27 ++++++++++++++----- 3 files changed, 21 insertions(+), 8 deletions(-) rename run_calibration_woggm.py => run_calibration.py (100%) rename run_simulation_woggm.py => run_simulation.py (99%) diff --git a/pygem/pygem_input.py b/pygem/pygem_input.py index 5881f57b..69d96a97 100755 --- a/pygem/pygem_input.py +++ b/pygem/pygem_input.py @@ -52,7 +52,7 @@ # Simulation runs (refers to period of simulation and needed separately from reference year to account for bias adjustments) gcm_startyear = 2000 # first year of model run (simulation dataset) -gcm_endyear = 2100 # last year of model run (simulation dataset) +gcm_endyear = 2019 # last year of model run (simulation dataset) gcm_wateryear = 'calendar' # options for years: 'calendar', 'hydro', 'custom' gcm_spinupyears = 0 # spin up years for simulation (output not set up for spinup years at present) constantarea_years = 0 # number of years to not let the area or volume change diff --git a/run_calibration_woggm.py b/run_calibration.py similarity index 100% rename from run_calibration_woggm.py rename to run_calibration.py diff --git a/run_simulation_woggm.py b/run_simulation.py similarity index 99% rename from run_simulation_woggm.py rename to run_simulation.py index 195b8551..a880d4e9 100755 --- a/run_simulation_woggm.py +++ b/run_simulation.py @@ -33,6 +33,7 @@ import pygemfxns_gcmbiasadj as gcmbiasadj import spc_split_glaciers as split_glaciers +from oggm import __version__ as oggm_version from oggm import cfg from oggm import graphics from oggm import tasks @@ -91,9 +92,9 @@ def getparser(): help='start year for the model run') parser.add_argument('-gcm_endyear', action='store', type=int, default=pygem_prms.gcm_endyear, help='start year for the model run') - parser.add_argument('-num_simultaneous_processes', action='store', type=int, default=4, + parser.add_argument('-num_simultaneous_processes', action='store', type=int, default=1, help='number of simultaneous processes (cores) to use') - parser.add_argument('-option_parallels', action='store', type=int, default=1, + parser.add_argument('-option_parallels', action='store', type=int, default=0, help='Switch to use or not use parallels (1 - use parallels, 0 - do not)') parser.add_argument('-rgi_glac_number_fn', action='store', type=str, default=None, help='Filename containing list of rgi_glac_number, helpful for running batches on spc') @@ -1383,7 +1384,10 @@ def main(list_packed_vars): plt.show() try: - _, diag = ev_model.run_until_and_store(nyears) + if int(oggm_version.split('.')[0]) == 1 and int(oggm_version.split('.')[1]) < 6: + _, diag = ev_model.run_until_and_store(nyears) + else: + diag = ev_model.run_until_and_store(nyears) ev_model.mb_model.glac_wide_volume_annual[-1] = diag.volume_m3[-1] ev_model.mb_model.glac_wide_area_annual[-1] = diag.area_m2[-1] @@ -1436,7 +1440,10 @@ def main(list_packed_vars): is_tidewater=gdir.is_tidewater, water_level=water_level ) - _, diag = ev_model.run_until_and_store(nyears) + if int(oggm_version.split('.')[0]) == 1 and int(oggm_version.split('.')[1]) < 6: + _, diag = ev_model.run_until_and_store(nyears) + else: + diag = ev_model.run_until_and_store(nyears) ev_model.mb_model.glac_wide_volume_annual = diag.volume_m3.values ev_model.mb_model.glac_wide_area_annual = diag.area_m2.values @@ -1464,7 +1471,10 @@ def main(list_packed_vars): is_tidewater=gdir.is_tidewater, water_level=water_level ) - _, diag = ev_model.run_until_and_store(nyears) + if int(oggm_version.split('.')[0]) == 1 and int(oggm_version.split('.')[1]) < 6: + _, diag = ev_model.run_until_and_store(nyears) + else: + diag = ev_model.run_until_and_store(nyears) ev_model.mb_model.glac_wide_volume_annual = diag.volume_m3.values ev_model.mb_model.glac_wide_area_annual = diag.area_m2.values @@ -1501,7 +1511,10 @@ def main(list_packed_vars): graphics.plot_modeloutput_section(ev_model) try: - _, diag = ev_model.run_until_and_store(nyears) + if int(oggm_version.split('.')[0]) == 1 and int(oggm_version.split('.')[1]) < 6: + _, diag = ev_model.run_until_and_store(nyears) + else: + diag = ev_model.run_until_and_store(nyears) # print('shape of volume:', ev_model.mb_model.glac_wide_volume_annual.shape, diag.volume_m3.shape) ev_model.mb_model.glac_wide_volume_annual = diag.volume_m3.values ev_model.mb_model.glac_wide_area_annual = diag.area_m2.values @@ -1885,7 +1898,7 @@ def main(list_packed_vars): #%% PARALLEL PROCESSING -if __name__ == '__main__': +if __name__ == '__main__': time_start = time.time() parser = getparser() args = parser.parse_args()