Skip to content

Commit 1b79730

Browse files
committed
Added option to specify tmpdir in define_waterregion function
1 parent 7d51bed commit 1b79730

File tree

3 files changed

+15
-11
lines changed

3 files changed

+15
-11
lines changed

.github/workflows/ci_env.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,4 @@ jobs:
4747
shell: bash -el {0}
4848
run: |
4949
pip install pytest pytest-cov
50-
pytest tests/test_waterregions.py
50+
pytest

src/lisfloodutilities/waterregions/define_waterregions.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,12 @@ def parse_metadata(metadata_file):
120120
metadata = json.load(f)
121121
return metadata
122122

123-
def define_waterregions(calib_points=None, countries_id=None, ldd=None, waterregions_initial=None, output_wr=None, metadata_parsed=None):
124-
123+
def define_waterregions(calib_points=None, countries_id=None, ldd=None, waterregions_initial=None, output_wr=None, metadata_parsed=None, tmpdir=None):
124+
if tmpdir is None:
125+
tmpdir = tempfile.gettempdir()
125126
#0. Check whether the input maps are in pcraster format, use nc2pcr if the condition is not satisfied
126127
if ldd[-3:]=='.nc':
127-
ldd_pcr=tempfile.gettempdir() + '/ldd_pcr.map'
128+
ldd_pcr= tmpdir + '/ldd_pcr.map'
128129
try:
129130
os.remove(ldd_pcr)
130131
except:
@@ -133,7 +134,7 @@ def define_waterregions(calib_points=None, countries_id=None, ldd=None, waterreg
133134
else:
134135
ldd_pcr=ldd
135136
if countries_id[-3:]=='.nc':
136-
countries_id_pcr=tempfile.gettempdir() + '/countries_id_pcr.map'
137+
countries_id_pcr=tmpdir + '/countries_id_pcr.map'
137138
try:
138139
os.remove(countries_id_pcr)
139140
except:
@@ -142,7 +143,7 @@ def define_waterregions(calib_points=None, countries_id=None, ldd=None, waterreg
142143
else:
143144
countries_id_pcr=countries_id
144145
if waterregions_initial[-3:]=='.nc':
145-
waterregions_initial_pcr=tempfile.gettempdir() + '/waterregions_initial_pcr.map'
146+
waterregions_initial_pcr=tmpdir + '/waterregions_initial_pcr.map'
146147
try:
147148
os.remove(waterregions_initial_pcr)
148149
except:
@@ -153,7 +154,7 @@ def define_waterregions(calib_points=None, countries_id=None, ldd=None, waterreg
153154

154155

155156
#1. The calibration points are converted into a map
156-
pointmap_file=tempfile.gettempdir() + '/points.map'
157+
pointmap_file=tmpdir + '/points.map'
157158
try:
158159
os.remove(pointmap_file)
159160
except:
@@ -165,7 +166,10 @@ def define_waterregions(calib_points=None, countries_id=None, ldd=None, waterreg
165166
ldd1 = pcr.readmap(ldd_pcr)
166167
points = pcr.readmap(pointmap_file)
167168
subcat1 = pcr.subcatchment(ldd1,points)
168-
169+
try:
170+
os.remove(pointmap_file)
171+
except:
172+
pass
169173
#3. Making map with all valid ldd cells
170174
land = pcr.scalar(subcat1)
171175
land = pcr.nominal(land >= 0.99999)
@@ -192,9 +196,9 @@ def define_waterregions(calib_points=None, countries_id=None, ldd=None, waterreg
192196
#9. Save the water region map
193197
if output_wr[-3:]==".nc":
194198
waterregion_nc=output_wr
195-
output_wr=tempfile.gettempdir() + '/wr_pcr.map'
199+
output_wr=tmpdir + '/wr_pcr.map'
196200
else:
197-
waterregion_nc=tempfile.gettempdir() + '/wr_nc.nc'
201+
waterregion_nc=tmpdir + '/wr_nc.nc'
198202
metadata_parsed=[]
199203

200204
try:

tests/test_waterregions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def test_define_waterregions(self):
1717
output_wr = 'tests/data/waterregions/waterregions_output_test.map'
1818
reference_output = 'tests/data/waterregions/waterregions_reference_output.map'
1919

20-
define_waterregions(calib_points, countries_id, ldd, waterregion_init, output_wr)
20+
define_waterregions(calib_points, countries_id, ldd, waterregion_init, output_wr, tmpdir='tests/data/waterregions/')
2121

2222
out = PCRasterMap(output_wr)
2323
reference = PCRasterMap(reference_output)

0 commit comments

Comments
 (0)