Loading .gitignore +2 −1 Original line number Diff line number Diff line Loading @@ -15,3 +15,4 @@ pydoubletcalc_install workdir **/output_plots/** **/output_grids/** No newline at end of file tests/utc/test_rosl_roslu.py +37 −117 Original line number Diff line number Diff line from pathlib import Path import shutil import pytest import xarray as xr Loading @@ -9,7 +8,7 @@ from pythermogis.workflow.utc.configuration import UTCConfiguration from pythermogis.workflow.utc.utc import run_utc_workflow @pytest.mark.skip(reason="Takes too long, and results should be checked manually") # @pytest.mark.skip(reason="Takes too long, and results should be checked manually") def test_rosl_roslu(): """ Integration test that runs the whole ROSL_ROSLU aquifer. Loading @@ -23,122 +22,43 @@ def test_rosl_roslu(): input_folder = Path(__file__).parent / "input" grid_output_folder = Path(__file__).parent / "output_grids" plot_output_folder = Path(__file__).parent / "output_plots" java_ouput_folder = Path(__file__).parent / "java_output" java_output_folder = Path(__file__).parent / "java_output" plot_output_folder.mkdir(parents=True, exist_ok=True) grid_output_folder.mkdir(parents=True, exist_ok=True) try: p_values = [50, 90] config = UTCConfiguration( input_data_dir=input_folder, results_dir=grid_output_folder, aquifers=["ROSL_ROSLU"], segment_length=1, p_values=[50, 90] p_values=p_values ) result = run_utc_workflow(config) # UTC java_utc_p50 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__utc_P50.nc")["data"] python_utc_p50 = result.ROSL_ROSLU.utc_p50 plot_grid_comparison( grid1=java_utc_p50, grid2=python_utc_p50, outfile=plot_output_folder / "ROSL_ROSLU__utc_P50.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="utc p50" ) variables = [ ("utc", "utc"), ("flowr", "flow"), ("power", "power"), ("welld", "welld") ] java_utc_p90 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__utc_P90.nc")["data"] python_utc_p90 = result.ROSL_ROSLU.utc_p90 plot_grid_comparison( grid1=java_utc_p90, grid2=python_utc_p90, outfile=plot_output_folder / "ROSL_ROSLU__utc_P90.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="utc p90" ) # FLOW java_flow_p50 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__flowr_P50.nc")["data"] python_flow_p50 = result.ROSL_ROSLU.flow_p50 plot_grid_comparison( grid1=java_flow_p50, grid2=python_flow_p50, outfile=plot_output_folder / "ROSL_ROSLU__flow_P50.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="flow p50" ) for java_name, python_name in variables: for p_value in p_values: java_file = java_output_folder / f"ROSL_ROSLU__{java_name}_P{p_value}.nc" java_data = xr.open_dataset(java_file)["data"] java_flow_p90 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__flowr_P90.nc")["data"] python_flow_p90 = result.ROSL_ROSLU.flow_p90 plot_grid_comparison( grid1=java_flow_p90, grid2=python_flow_p90, outfile=plot_output_folder / "ROSL_ROSLU__flow_P90.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="flow p90" ) python_data = getattr(result.ROSL_ROSLU, f"{python_name}_p{p_value}") # POWER java_power_p50 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__power_P50.nc")["data"] python_power_p50 = result.ROSL_ROSLU.power_p50 plot_grid_comparison( grid1=java_power_p50, grid2=python_power_p50, outfile=plot_output_folder / "ROSL_ROSLU__power_P50.png", grid1=java_data, grid2=python_data, outfile=plot_output_folder / f"ROSL_ROSLU__{python_name}_P{p_value}.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="power p50" suptitle=f"{python_name} p{p_value}" ) No newline at end of file java_power_p90 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__power_P90.nc")["data"] python_power_p90 = result.ROSL_ROSLU.power_p90 plot_grid_comparison( grid1=java_power_p90, grid2=python_power_p90, outfile=plot_output_folder / "ROSL_ROSLU__power_P90.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="power p90" ) # welld java_welld_p50 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__welld_P50.nc")["data"] python_welld_p50 = result.ROSL_ROSLU.welld_p50 plot_grid_comparison( grid1=java_welld_p50, grid2=python_welld_p50, outfile=plot_output_folder / "ROSL_ROSLU__welld_P50.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="welld p50" ) java_welld_p90 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__welld_P90.nc")["data"] python_welld_p90 = result.ROSL_ROSLU.welld_p90 plot_grid_comparison( grid1=java_welld_p90, grid2=python_welld_p90, outfile=plot_output_folder / "ROSL_ROSLU__welld_P90.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="welld p90" ) finally: if grid_output_folder and grid_output_folder.exists(): shutil.rmtree(grid_output_folder) Loading
.gitignore +2 −1 Original line number Diff line number Diff line Loading @@ -15,3 +15,4 @@ pydoubletcalc_install workdir **/output_plots/** **/output_grids/** No newline at end of file
tests/utc/test_rosl_roslu.py +37 −117 Original line number Diff line number Diff line from pathlib import Path import shutil import pytest import xarray as xr Loading @@ -9,7 +8,7 @@ from pythermogis.workflow.utc.configuration import UTCConfiguration from pythermogis.workflow.utc.utc import run_utc_workflow @pytest.mark.skip(reason="Takes too long, and results should be checked manually") # @pytest.mark.skip(reason="Takes too long, and results should be checked manually") def test_rosl_roslu(): """ Integration test that runs the whole ROSL_ROSLU aquifer. Loading @@ -23,122 +22,43 @@ def test_rosl_roslu(): input_folder = Path(__file__).parent / "input" grid_output_folder = Path(__file__).parent / "output_grids" plot_output_folder = Path(__file__).parent / "output_plots" java_ouput_folder = Path(__file__).parent / "java_output" java_output_folder = Path(__file__).parent / "java_output" plot_output_folder.mkdir(parents=True, exist_ok=True) grid_output_folder.mkdir(parents=True, exist_ok=True) try: p_values = [50, 90] config = UTCConfiguration( input_data_dir=input_folder, results_dir=grid_output_folder, aquifers=["ROSL_ROSLU"], segment_length=1, p_values=[50, 90] p_values=p_values ) result = run_utc_workflow(config) # UTC java_utc_p50 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__utc_P50.nc")["data"] python_utc_p50 = result.ROSL_ROSLU.utc_p50 plot_grid_comparison( grid1=java_utc_p50, grid2=python_utc_p50, outfile=plot_output_folder / "ROSL_ROSLU__utc_P50.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="utc p50" ) variables = [ ("utc", "utc"), ("flowr", "flow"), ("power", "power"), ("welld", "welld") ] java_utc_p90 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__utc_P90.nc")["data"] python_utc_p90 = result.ROSL_ROSLU.utc_p90 plot_grid_comparison( grid1=java_utc_p90, grid2=python_utc_p90, outfile=plot_output_folder / "ROSL_ROSLU__utc_P90.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="utc p90" ) # FLOW java_flow_p50 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__flowr_P50.nc")["data"] python_flow_p50 = result.ROSL_ROSLU.flow_p50 plot_grid_comparison( grid1=java_flow_p50, grid2=python_flow_p50, outfile=plot_output_folder / "ROSL_ROSLU__flow_P50.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="flow p50" ) for java_name, python_name in variables: for p_value in p_values: java_file = java_output_folder / f"ROSL_ROSLU__{java_name}_P{p_value}.nc" java_data = xr.open_dataset(java_file)["data"] java_flow_p90 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__flowr_P90.nc")["data"] python_flow_p90 = result.ROSL_ROSLU.flow_p90 plot_grid_comparison( grid1=java_flow_p90, grid2=python_flow_p90, outfile=plot_output_folder / "ROSL_ROSLU__flow_P90.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="flow p90" ) python_data = getattr(result.ROSL_ROSLU, f"{python_name}_p{p_value}") # POWER java_power_p50 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__power_P50.nc")["data"] python_power_p50 = result.ROSL_ROSLU.power_p50 plot_grid_comparison( grid1=java_power_p50, grid2=python_power_p50, outfile=plot_output_folder / "ROSL_ROSLU__power_P50.png", grid1=java_data, grid2=python_data, outfile=plot_output_folder / f"ROSL_ROSLU__{python_name}_P{p_value}.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="power p50" suptitle=f"{python_name} p{p_value}" ) No newline at end of file java_power_p90 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__power_P90.nc")["data"] python_power_p90 = result.ROSL_ROSLU.power_p90 plot_grid_comparison( grid1=java_power_p90, grid2=python_power_p90, outfile=plot_output_folder / "ROSL_ROSLU__power_P90.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="power p90" ) # welld java_welld_p50 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__welld_P50.nc")["data"] python_welld_p50 = result.ROSL_ROSLU.welld_p50 plot_grid_comparison( grid1=java_welld_p50, grid2=python_welld_p50, outfile=plot_output_folder / "ROSL_ROSLU__welld_P50.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="welld p50" ) java_welld_p90 = xr.open_dataset(java_ouput_folder / "ROSL_ROSLU__welld_P90.nc")["data"] python_welld_p90 = result.ROSL_ROSLU.welld_p90 plot_grid_comparison( grid1=java_welld_p90, grid2=python_welld_p90, outfile=plot_output_folder / "ROSL_ROSLU__welld_P90.png", add_netherlands_shapefile=True, title1="Java results", title2="Python results", suptitle="welld p90" ) finally: if grid_output_folder and grid_output_folder.exists(): shutil.rmtree(grid_output_folder)