diff --git a/monetio/models/icap_mme.py b/monetio/models/icap_mme.py index 98bd1aab..b2274b9a 100644 --- a/monetio/models/icap_mme.py +++ b/monetio/models/icap_mme.py @@ -11,7 +11,7 @@ ) -def build_urls(dates, *, filetype="MMC", data_var="dustaod550", verbose=True): +def build_urls(dates, filetype="MMC", data_var="dustaod550", *, verbose=True): """Construct URLs for downloading NEPS data. Parameters @@ -57,7 +57,7 @@ def build_urls(dates, *, filetype="MMC", data_var="dustaod550", verbose=True): return urls, fnames -def check_remote_file_exists(file_url): +def check_remote_file_exists(file_url, *, verbose=True): import requests r = requests.head(file_url) @@ -65,7 +65,8 @@ def check_remote_file_exists(file_url): if r.status_code == 200: return True else: - print(f"HTTP Error {r.status_code} - {r.reason}") + if verbose: + print(f"HTTP Error {r.status_code} - {r.reason}") return False @@ -112,7 +113,7 @@ def retrieve(url, fname, *, download=False, verbose=True): return p -def _check_file_url(url): +def _check_file_url(url, *, verbose=True): """ Raises ------ @@ -120,7 +121,7 @@ def _check_file_url(url): If the file URL HEAD request doesn't return 200, with info about how to check available products / data vars for the date. """ - if not check_remote_file_exists(url): + if not check_remote_file_exists(url, verbose=verbose): raise ValueError( f"File does not exist on ICAP HTTPS server: {url}. " f"Check {url[:url.index('icap_')]} to see the available " @@ -128,7 +129,7 @@ def _check_file_url(url): ) -def open_dataset(date, product="MMC", data_var="dustaod550", download=False, verbose=True): +def open_dataset(date, product="MMC", data_var="dustaod550", *, download=False, verbose=True): """ Parameters ---------- @@ -167,13 +168,13 @@ def open_dataset(date, product="MMC", data_var="dustaod550", download=False, ver urls, fnames = build_urls(d, filetype=product, data_var=data_var, verbose=verbose) url = urls.values[0] fname = fnames.values[0] - _check_file_url(url) + _check_file_url(url, verbose=verbose) dset = xr.open_dataset(retrieve(url, fname, download=download, verbose=verbose)) return dset -def open_mfdataset(dates, product="MMC", data_var="dustaod550", download=False, verbose=True): +def open_mfdataset(dates, product="MMC", data_var="dustaod550", *, download=False, verbose=True): """ Parameters ---------- @@ -217,13 +218,13 @@ def open_mfdataset(dates, product="MMC", data_var="dustaod550", download=False, if download is True: paths = [] for url, fname in zip(urls, fnames): - _check_file_url(url) + _check_file_url(url, verbose=verbose) paths.append(retrieve(url, fname, download=True, verbose=verbose)) dset = xr.open_mfdataset(paths, combine="nested", concat_dim="time") else: dsets = [] for url, fname in zip(urls, fnames): - _check_file_url(url) + _check_file_url(url, verbose=verbose) o = retrieve(url, fname, download=False, verbose=verbose) dsets.append(xr.open_dataset(o)) dset = xr.concat(dsets, dim="time")