Skip to content

Commit ce93be8

Browse files
committed
Fix typos + cleanup
1 parent eaebd5f commit ce93be8

File tree

4 files changed

+40
-43
lines changed

4 files changed

+40
-43
lines changed

climateset/download/constants/esm_constants.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
# model
4444
MODELS = ["nan"]
4545

46-
# number of esemble members to be considered
47-
NUM_ESEMBLE = 1
46+
# number of ensemble members to be considered
47+
NUM_ENSEMBLE = 1
4848

4949
# which type of grid
5050
GRID = "grid"

climateset/download/downloader.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ def download_from_model_single_var( # noqa: C901
251251

252252
ctx = _handle_base_search_constraints(ctx, default_frequency, default_grid_label)
253253

254-
variants = list(ctx.facet_counts["variant_label"].keys())
254+
variants = list(ctx.facet_counts["variant_label"])
255255

256256
self.logger.info(f"Available variants : {variants}\n")
257257
self.logger.info(f"Length : {len(variants)}")
@@ -325,7 +325,7 @@ def download_raw_input_single_var( # noqa: C901
325325

326326
ctx = _handle_base_search_constraints(ctx, default_frequency, default_grid_label)
327327

328-
mips_targets = list(ctx.facet_counts["target_mip"].keys())
328+
mips_targets = list(ctx.facet_counts["target_mip"])
329329
self.logger.info(f"Available target mips: {mips_targets}")
330330

331331
for target in mips_targets:

climateset/download/utils.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ def get_nominal_resolution(context, logger: logging.Logger = LOGGER):
6161
"""
6262
nominal_resolution = ""
6363
nominal_resolution_list = []
64-
if "nominal_resolution" in context.facet_counts.keys():
65-
nominal_resolution_list = list(context.facet_counts["nominal_resolution"].keys())
64+
if "nominal_resolution" in context.facet_counts:
65+
nominal_resolution_list = list(context.facet_counts["nominal_resolution"])
6666
logger.info(f"Available nominal resolution : {nominal_resolution_list}")
6767
if not nominal_resolution_list:
6868
logger.warning("No nominal resolution")
@@ -186,8 +186,8 @@ def download_metadata_variable(
186186
def get_grid_label(context, default_grid_label, logger=LOGGER):
187187
grid_label = ""
188188
grid_label_list = []
189-
if "grid_label" in context.facet_counts.keys():
190-
grid_label_list = list(context.facet_counts["grid_label"].keys())
189+
if "grid_label" in context.facet_counts:
190+
grid_label_list = list(context.facet_counts["grid_label"])
191191
logger.info(f"Available grid labels : {grid_label_list}")
192192
if not grid_label_list:
193193
logger.warning("No grid labels found")
@@ -224,8 +224,8 @@ def get_max_ensemble_member_number(df_model_source: pd.DataFrame, experiments: l
224224
def get_upload_version(context, preferred_version, logger=LOGGER):
225225
version = ""
226226
versions = []
227-
if "version" in context.facet_counts.keys():
228-
versions = list(context.facet_counts["version"].keys())
227+
if "version" in context.facet_counts:
228+
versions = list(context.facet_counts["version"])
229229
if not versions:
230230
logger.warning("No versions are available. Skipping.")
231231
return version
@@ -247,8 +247,8 @@ def get_upload_version(context, preferred_version, logger=LOGGER):
247247
def get_frequency(context, default_frequency, logger=LOGGER):
248248
frequency = ""
249249
frequency_list = []
250-
if "frequency" in context.facet_counts.keys():
251-
frequency_list = list(context.facet_counts["frequency"].keys())
250+
if "frequency" in context.facet_counts:
251+
frequency_list = list(context.facet_counts["frequency"])
252252
logger.info(f"Available frequencies : {frequency_list}")
253253
if not frequency_list:
254254
logger.warning("No frequencies are available. Skipping")

tests/test_download/test_downloader.py

Lines changed: 28 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
DOWNLOAD_META_HISTORIC_SINGLE_VAR = (
1313
"climateset.download.downloader.Downloader.download_meta_historic_biomassburning_single_var"
1414
)
15-
DOWNLOAD_FROM_MODEL_SINGLE_VAR = "climateset.download.downloader.Downloader.download_from_model_single_var"
15+
DOWNLOAD_MODEL_SINGLE_VAR = "climateset.download.downloader.Downloader.download_from_model_single_var"
1616
SUBPROCESS_RUN = "subprocess.run"
1717

1818
EXPECTED_MINIMAL_RAW_INPUT_CALLS = [
@@ -43,26 +43,26 @@
4343

4444
@pytest.fixture()
4545
def mock_raw_input_single_var():
46-
with patch(DOWNLOAD_RAW_INPUT_SINGLE_VAR) as mock_raw_input:
47-
yield mock_raw_input
46+
with patch(DOWNLOAD_RAW_INPUT_SINGLE_VAR) as mock_function:
47+
yield mock_function
4848

4949

5050
@pytest.fixture()
5151
def mock_meta_historic_single_var():
52-
with patch(DOWNLOAD_META_HISTORIC_SINGLE_VAR) as mock_meta_input:
53-
yield mock_meta_input
52+
with patch(DOWNLOAD_META_HISTORIC_SINGLE_VAR) as mock_function:
53+
yield mock_function
5454

5555

5656
@pytest.fixture()
5757
def mock_model_single_var():
58-
with patch(DOWNLOAD_FROM_MODEL_SINGLE_VAR) as mock_model:
59-
yield mock_model
58+
with patch(DOWNLOAD_MODEL_SINGLE_VAR) as mock_function:
59+
yield mock_function
6060

6161

6262
@pytest.fixture()
6363
def mock_subprocess_run():
64-
with patch(SUBPROCESS_RUN) as mock_subprocess_run:
65-
yield mock_subprocess_run
64+
with patch(SUBPROCESS_RUN) as mock_function:
65+
yield mock_function
6666

6767

6868
@pytest.fixture
@@ -114,44 +114,43 @@ def test_downloader_model_params(simple_downloader_object):
114114

115115

116116
def test_download_raw_input(simple_downloader_object, mock_raw_input_single_var, mock_meta_historic_single_var):
117-
mock_raw_input = mock_raw_input_single_var
118-
mock_meta_input = mock_meta_historic_single_var
119117
simple_downloader_object.download_raw_input()
120-
assert mock_raw_input.call_args_list == EXPECTED_MINIMAL_RAW_INPUT_CALLS
121-
assert mock_meta_input.call_args_list == EXPECTED_MINIMAL_META_HISTORIC_CALLS
118+
assert mock_raw_input_single_var.call_args_list == EXPECTED_MINIMAL_RAW_INPUT_CALLS
119+
assert mock_raw_input_single_var.call_count == 8
120+
assert mock_meta_historic_single_var.call_args_list == EXPECTED_MINIMAL_META_HISTORIC_CALLS
121+
assert mock_meta_historic_single_var.call_count == 6
122122

123123

124124
def test_download_from_model(simple_downloader_object, mock_model_single_var):
125-
mock_model = mock_model_single_var
126125
simple_downloader_object.download_from_model()
127-
assert mock_model.call_args_list == EXPECTED_MINIMAL_MODEL_CALLS
126+
assert mock_model_single_var.call_args_list == EXPECTED_MINIMAL_MODEL_CALLS
127+
assert mock_model_single_var.call_count == 2
128128

129129

130130
def test_download_from_config_file(
131131
simple_downloader_object, mock_raw_input_single_var, mock_meta_historic_single_var, mock_model_single_var
132132
):
133-
mock_raw_input = mock_raw_input_single_var
134-
mock_meta_input = mock_meta_historic_single_var
135-
mock_model = mock_model_single_var
136-
137133
download_from_config_file(config=MINIMAL_DATASET_CONFIG_PATH)
138134

139-
assert mock_raw_input.call_args_list == EXPECTED_MINIMAL_RAW_INPUT_CALLS
140-
assert mock_meta_input.call_args_list == EXPECTED_MINIMAL_META_HISTORIC_CALLS
141-
assert mock_model.call_args_list == EXPECTED_MINIMAL_MODEL_CALLS
135+
assert mock_raw_input_single_var.call_args_list == EXPECTED_MINIMAL_RAW_INPUT_CALLS
136+
assert mock_raw_input_single_var.call_count == 8
137+
assert mock_meta_historic_single_var.call_args_list == EXPECTED_MINIMAL_META_HISTORIC_CALLS
138+
assert mock_meta_historic_single_var.call_count == 6
139+
assert mock_model_single_var.call_args_list == EXPECTED_MINIMAL_MODEL_CALLS
140+
assert mock_model_single_var.call_count == 2
142141

143142

144-
def _assert_content_is_in_wget_script(download_subprocess, f):
143+
def _assert_content_is_in_wget_script(mock_call, string_content):
145144
# This seems very obscure, so here's what's happening,
146145
# With the provided inputs, there should be only 1 call.
147146
# We then access the call's arguments. We are interested in
148147
# the content of the wget script that is generated, and we
149148
# want to make sure that for there inputs, we get the same files
150-
call_list = download_subprocess.call_args_list
149+
call_list = mock_call.call_args_list
151150
first_and_only_call = call_list[0]
152151
call_arguments = first_and_only_call.args[0]
153152
wget_script_content = call_arguments[2]
154-
assert f in wget_script_content
153+
assert string_content in wget_script_content
155154

156155

157156
def test_download_raw_input_single_var(simple_downloader_object, mock_subprocess_run):
@@ -173,21 +172,19 @@ def test_download_raw_input_single_var(simple_downloader_object, mock_subprocess
173172

174173

175174
def test_download_meta_historic_biomassburning_single_var(simple_downloader_object, mock_subprocess_run):
176-
download_subprocess = mock_subprocess_run
177175
simple_downloader_object.download_meta_historic_biomassburning_single_var(
178176
variable="CH4_percentage_AGRI", institution_id="VUA"
179177
)
180178

181179
expected_files = [
182180
"CH4-percentage-AGRI-em-biomassburning_input4MIPs_emissions_CMIP_VUA-CMIP-BB4CMIP6-1-2_gn_175001-201512.nc"
183181
]
184-
download_subprocess.assert_called_once()
182+
mock_subprocess_run.assert_called_once()
185183
for f in expected_files:
186-
_assert_content_is_in_wget_script(download_subprocess, f)
184+
_assert_content_is_in_wget_script(mock_call=mock_subprocess_run, string_content=f)
187185

188186

189187
def test_download_from_model_single_var(simple_downloader_object, mock_subprocess_run):
190-
download_subprocess = mock_subprocess_run
191188
simple_downloader_object.download_from_model_single_var(variable="tas", experiment="ssp126")
192189

193190
expected_files = [
@@ -201,6 +198,6 @@ def test_download_from_model_single_var(simple_downloader_object, mock_subproces
201198
"tas_Amon_NorESM2-LM_ssp126_r1i1p1f1_gn_208101-209012.nc",
202199
"tas_Amon_NorESM2-LM_ssp126_r1i1p1f1_gn_209101-210012.nc",
203200
]
204-
download_subprocess.assert_called_once()
201+
mock_subprocess_run.assert_called_once()
205202
for f in expected_files:
206-
_assert_content_is_in_wget_script(download_subprocess, f)
203+
_assert_content_is_in_wget_script(mock_call=mock_subprocess_run, string_content=f)

0 commit comments

Comments
 (0)