Skip to content

Commit 897dc5b

Browse files
committed
Simplify __init__ function's argument processing
1 parent 3080c91 commit 897dc5b

File tree

1 file changed

+16
-18
lines changed

1 file changed

+16
-18
lines changed

climateset/download/downloader.py

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import pathlib
33
from typing import Union
44

5+
import pandas as pd
56
from pyesgf.search import SearchConnection
67

78
from climateset import META_DATA, RAW_DATA
@@ -101,25 +102,24 @@ def __init__( # noqa: C901
101102
self.overwrite = overwrite
102103
self.download_metafiles = download_metafiles
103104
self.download_biomass_burning = download_biomassburning
105+
self.plain_emission_vars = plain_emission_vars
104106
self.start_year = start_year
105107
self.end_year = end_year
106108

107109
# Args processing
108-
self._hande_max_possible_member_number(
109-
df_model_source=DATA_CSV, experiments=experiments, max_ensemble_members=max_ensemble_members, model=model
110-
)
110+
self._hande_max_possible_member_number(df_model_source=DATA_CSV, max_ensemble_members=max_ensemble_members)
111111
self._handle_variables(
112-
download_biomassburning=download_biomassburning,
113-
plain_emission_vars=plain_emission_vars,
114112
variables=variables,
115113
)
116-
self._handle_model_params(model=model)
114+
self._handle_model_params()
117115

118116
#
119117
# Internal helper functions
120118
#
121-
def _hande_max_possible_member_number(self, df_model_source, experiments, max_ensemble_members, model):
122-
max_possible_member_number = get_max_ensemble_member_number(df_model_source, experiments, model)
119+
def _hande_max_possible_member_number(self, df_model_source: pd.DataFrame, max_ensemble_members: int):
120+
max_possible_member_number = get_max_ensemble_member_number(
121+
df_model_source=df_model_source, experiments=self.experiments, model=self.model
122+
)
123123
if max_ensemble_members == -1:
124124
self.logger.info("Trying to take all ensemble members available.")
125125
self.max_ensemble_members = max_possible_member_number
@@ -130,31 +130,31 @@ def _hande_max_possible_member_number(self, df_model_source, experiments, max_en
130130
self.max_ensemble_members = max_possible_member_number
131131
self.logger.info(f"Downloading data for {self.max_ensemble_members} members.")
132132

133-
def _handle_variables(self, download_biomassburning, plain_emission_vars, variables):
134-
self._generate_variables(variables)
135-
self._generate_plain_emission_vars(download_biomassburning, plain_emission_vars)
133+
def _handle_variables(self, variables: list[str]):
134+
self._generate_variables(variables=variables)
135+
self._generate_plain_emission_vars()
136136
self.logger.info(f"Raw variables to download: {self.raw_vars}")
137137
self.logger.info(f"Model predicted vars to download: {self.model_vars}")
138138
if self.download_biomass_burning:
139139
self.logger.info(f"Download biomass burning vars: {self.biomass_vars}")
140140
if self.download_metafiles:
141141
self.logger.info(f"Downloading meta vars:\n\t{self.meta_vars_percentage}\n\t{self.meta_vars_share}")
142142

143-
def _handle_model_params(self, model):
143+
def _handle_model_params(self):
144144
try:
145145
self.model_node_link = MODEL_SOURCES[self.model]["node_link"]
146146
self.model_source_center = MODEL_SOURCES[self.model]["center"]
147147
except KeyError:
148148
self.model = next(iter(MODEL_SOURCES))
149-
if model is not None:
149+
if self.model is not None:
150150
self.logger.info(f"WARNING: Model {self.model} unknown. Using default instead.")
151151
self.logger.info(f"Using : {self.model}")
152152
# else None but we still need the links
153153
self.model_node_link = MODEL_SOURCES[self.model]["node_link"]
154154
self.model_source_center = MODEL_SOURCES[self.model]["center"]
155155

156-
def _generate_plain_emission_vars(self, download_biomassburning, plain_emission_vars):
157-
if plain_emission_vars:
156+
def _generate_plain_emission_vars(self):
157+
if self.plain_emission_vars:
158158
# plain vars are biomass vars
159159
self.biomass_vars = self.raw_vars
160160
self.meta_vars_percentage = [
@@ -186,8 +186,6 @@ def _generate_plain_emission_vars(self, download_biomassburning, plain_emission_
186186
except Exception as error:
187187
self.logger.warning(f"Caught the following exception but continuing : {error}")
188188

189-
self.download_biomass_burning = download_biomassburning
190-
191189
self.meta_vars_percentage = [
192190
biomass_var + ending
193191
for biomass_var in self.biomass_vars
@@ -201,7 +199,7 @@ def _generate_plain_emission_vars(self, download_biomassburning, plain_emission_
201199
for ending in META_ENDINGS_SHAR
202200
]
203201

204-
def _generate_variables(self, variables):
202+
def _generate_variables(self, variables: list[str]):
205203
if variables is None:
206204
variables = ["tas", "pr", "SO2_em_anthro", "BC_em_anthro"]
207205
# take care of var mistype (node takes no spaces or '-' only '_')

0 commit comments

Comments
 (0)