diff --git a/.gitignore b/.gitignore index 21907e510ac58e5a71b40017b0569c933455fb7c..5361fda923a2cc81ecc763d7989f0e592f55077b 100644 --- a/.gitignore +++ b/.gitignore @@ -125,6 +125,7 @@ docs/source/examples/ docs/source/generated/ examples/test_domain examples/qmod.nc +examples/qmod_couple.nc /docs/build/ /docs/finam_mhm.* diff --git a/examples/simple_viewer.py b/examples/01_simple_viewer.py similarity index 93% rename from examples/simple_viewer.py rename to examples/01_simple_viewer.py index c656550530cf22ce68f3cf37a52ef50a5825b981..acd1b077f8cf35fe5f68fc96050091db126cb679 100644 --- a/examples/simple_viewer.py +++ b/examples/01_simple_viewer.py @@ -19,6 +19,7 @@ test_domain = here / "test_domain" shutil.rmtree(test_domain, ignore_errors=True) download_test(path=test_domain) + mhm = fm_mhm.MHM(cwd=test_domain) runoff_viewer = fm_plt.ImagePlot(vmin=0.0, vmax=650, update_interval=24) # netcdf writing files @@ -26,7 +27,6 @@ writer = fm_nc.NetCdfTimedWriter( path=here / "qmod.nc", inputs={"QMOD": fm_nc.Layer(var="QMOD", xyz=("x", "y"))}, time_var="time", - start=start_date, step=day, ) @@ -36,4 +36,4 @@ composition.initialize() mhm.outputs["L11_QMOD"] >> writer.inputs["QMOD"] mhm.outputs["L11_QMOD"] >> runoff_viewer.inputs["Grid"] -composition.run(end_time=datetime(1991, 1, 1)) +composition.run(end_time=datetime(1990, 12, 31)) diff --git a/examples/02_meteo_couple.py b/examples/02_meteo_couple.py new file mode 100644 index 0000000000000000000000000000000000000000..9ebde176147edb25e38d43aa2b02cbffed56fa7b --- /dev/null +++ b/examples/02_meteo_couple.py @@ -0,0 +1,47 @@ +""" +Simple coupling setup using live view modules. +""" +import shutil +from datetime import datetime, timedelta +from pathlib import Path + +import finam as fm +import finam_netcdf as fm_nc +from mhm import download_test + +import finam_mhm as fm_mhm + +# start_date = datetime(1993, 1, 1) +# end_date = datetime(1993, 12, 31) +start_date = datetime(1990, 1, 1) +end_date = datetime(1993, 12, 31) +day = timedelta(days=1) +here = Path(__file__).parent +test_domain = here / "test_domain" +shutil.rmtree(test_domain, ignore_errors=True) + +download_test(path=test_domain, domain=1) + +pre_reader = fm_nc.NetCdfReader(test_domain / "input" / "meteo" / "pre" / "pre.nc") + +mhm = fm_mhm.MHM( + cwd=test_domain, + input_names=["METEO_PRE"], + meteo_timestep=24, + ignore_input_grid=True, +) +# netcdf writing files +writer = fm_nc.NetCdfTimedWriter( + path=here / "qmod_couple.nc", + inputs={"QMOD": fm_nc.Layer(var="QMOD", xyz=("x", "y"))}, + time_var="time", + step=day, +) + +composition = fm.Composition([pre_reader, mhm, writer]) +composition.initialize() + +pre_reader["pre"] >> mhm.inputs["METEO_PRE"] +mhm.outputs["L11_QMOD"] >> writer.inputs["QMOD"] + +composition.run(start_time=start_date, end_time=end_date)