From ec2761c899b2fb37760af71e8b0d63e34205ce48 Mon Sep 17 00:00:00 2001 From: Parker Norton Date: Thu, 12 Feb 2026 08:35:26 -0700 Subject: [PATCH] refactor: remove CbhAscii and CbhNetcdf classes - the new Cbh class handles the functionality for climate-by-HRU files that used to be provided by CbhAscii and CbhNetcdf --- pyPRMS/__init__.py | 4 - pyPRMS/cbh/CbhAscii.py | 458 ------------------ pyPRMS/cbh/CbhNetcdf.py | 199 -------- pyPRMS/cbh/__init__.py | 2 - tests/func/test_CbhNetcdf.py | 63 --- tests/func/test_CbhNetcdf/cbh.nc | Bin 158684 -> 0 bytes tests/func/test_CbhNetcdf/prcp.day | 734 ----------------------------- tests/func/test_CbhNetcdf/tmax.day | 734 ----------------------------- tests/func/test_CbhNetcdf/tmin.day | 734 ----------------------------- 9 files changed, 2928 deletions(-) delete mode 100644 pyPRMS/cbh/CbhAscii.py delete mode 100644 pyPRMS/cbh/CbhNetcdf.py delete mode 100644 tests/func/test_CbhNetcdf.py delete mode 100644 tests/func/test_CbhNetcdf/cbh.nc delete mode 100644 tests/func/test_CbhNetcdf/prcp.day delete mode 100644 tests/func/test_CbhNetcdf/tmax.day delete mode 100644 tests/func/test_CbhNetcdf/tmin.day diff --git a/pyPRMS/__init__.py b/pyPRMS/__init__.py index 2e4ecc7..752fc5f 100644 --- a/pyPRMS/__init__.py +++ b/pyPRMS/__init__.py @@ -19,8 +19,6 @@ from .parameters.ParamDb import ParamDb from .parameters.ParameterNetCDF import ParameterNetCDF from .cbh.Cbh import Cbh -from .cbh.CbhAscii import CbhAscii -from .cbh.CbhNetcdf import CbhNetcdf from pyPRMS.input.DataFile import DataFile @@ -35,8 +33,6 @@ 'parameters', 'cbh', 'Cbh', - 'CbhAscii', - 'CbhNetcdf', 'ConsoleManager', 'Control', 'ControlFile', diff --git a/pyPRMS/cbh/CbhAscii.py b/pyPRMS/cbh/CbhAscii.py deleted file mode 100644 index 6043343..0000000 --- a/pyPRMS/cbh/CbhAscii.py +++ /dev/null @@ -1,458 +0,0 @@ -import datetime -import os -import numpy as np -import pandas as pd # type: ignore -import netCDF4 as nc # type: ignore -# from collections import OrderedDict - -from typing import Dict, List, Union, Optional - -from ..constants import REGIONS - -CBH_VARNAMES = ['prcp', 'tmin', 'tmax'] -CBH_INDEX_COLS = [0, 1, 2, 3, 4, 5] -TS_FORMAT = '%Y %m %d %H %M %S' # 1915 1 13 0 0 0 -NA_VALS_DEFAULT = ['-99.0', '-999.0', 'NaN', 'inf'] - -class CbhAscii(object): - - """Class for handling classic climate-by-hru (CBH) files. - """ - - # Author: Parker Norton (pnorton@usgs.gov) - # Create date: 2019-04 - - # This class assumes it is dealing with regional cbh files (not a CONUS-level NHM file) - # TODO: As currently written the type of data (e.g. tmax, tmin, prcp) is ignored. - # TODO: Verify that given data type size matches number of columns - - # 2016-12-20 PAN: - # As written this works with CBH files that were created with - # java class gov.usgs.mows.GCMtoPRMS.GDPtoCBH - # This program creates the CBH files in the format needed by PRMS - # and also verifies the correctness of the data including: - # tmax is never less than tmin - # prcp is never negative - # any missing data/missing date is filled with (?? avg of bracketing dates??) - - def __init__(self, src_path: Optional[str] = None, - st_date: Optional[datetime.datetime] = None, - en_date: Optional[datetime.datetime] = None, - indices: Optional[Dict] = None, - nhm_hrus: Optional[List] = None, - mapping: Optional[Dict] = None): - """Create CbhAscii object. - - :param src_path: path to by-region CBH ASCII source files - :param st_date: start date for extraction - :param en_date: end date for extraction - :param indices: ordered dictionary of nhm_id, local_id pairs - :param nhm_hrus: list NHM HRUs to extract - :param mapping: dictionary mapping regions to nhm_id ranges - """ - - self.__src_path = src_path - - # self.__indices = [str(kk) for kk in indices] - self.__indices = indices # OrdereDict: nhm_ids -> local_ids - - self.__data = None - self.__stdate = st_date - self.__endate = en_date - self.__nhm_hrus = nhm_hrus - self.__mapping = mapping - self.__dataframe = None - - def read_cbh(self): - """Reads an entire CBH file. - """ - - # incl_cols = list(self.__indices.values()) - # for xx in CBH_INDEX_COLS[:-1]: - # incl_cols.insert(0, xx) - - incl_cols = list(CBH_INDEX_COLS) - - for xx in self.__indices.values(): - incl_cols.append(xx+5) # include an offset for the datetime info - # print(incl_cols) - - # Columns 0-5 always represent date/time information - self.__data = pd.read_csv(self.__src_path, sep=' ', skipinitialspace=True, usecols=incl_cols, - skiprows=3, engine='c', memory_map=True, - parse_dates={'time': CBH_INDEX_COLS}, - index_col='time', header=None, na_values=[-99.0, -999.0]) - - self.__data.index = pd.to_datetime(self.__data.index, exact=True, cache=True, format=TS_FORMAT) - - if self.__stdate is not None and self.__endate is not None: - self.__data = self.__data[self.__stdate:self.__endate] - - # self.__data.reset_index(drop=True, inplace=True) - - # Rename columns with NHM HRU ids - ren_dict = {v + 5: k for k, v in self.__indices.items()} - - # NOTE: The rename is an expensive operation - self.__data.rename(columns=ren_dict, inplace=True) - - def read_cbh_full(self): - """Read entire CBH file. - """ - - # incl_cols = list(self.__indices.values()) - # for xx in CBH_INDEX_COLS[:-1]: - # incl_cols.insert(0, xx) - - print('READING') - # Columns 0-5 always represent date/time information - self.__data = pd.read_csv(self.__src_path, sep=' ', skipinitialspace=True, - skiprows=3, engine='c', memory_map=True, - parse_dates={'time': CBH_INDEX_COLS}, - # date_parser=dparse, parse_dates={'time': CBH_INDEX_COLS}, - index_col='time', header=None, na_values=[-99.0, -999.0]) - - self.__data.index = pd.to_datetime(self.__data.index, exact=True, cache=True, format=TS_FORMAT) - - if self.__stdate is not None and self.__endate is not None: - self.__data = self.__data[self.__stdate:self.__endate] - - # self.__data.reset_index(drop=True, inplace=True) - - # Rename columns with NHM HRU ids - # ren_dict = {v + 5: k for k, v in self.__indices.items()} - - # NOTE: The rename is an expensive operation - # self.__data.rename(columns=ren_dict, inplace=True) - self.__data['year'] = self.__data.index.year - self.__data['month'] = self.__data.index.month - self.__data['day'] = self.__data.index.day - self.__data['hour'] = 0 - self.__data['minute'] = 0 - self.__data['second'] = 0 - - def read_ascii_file(self, filename: str, - columns: Optional[List] = None) -> pd.DataFrame: - """Reads a single CBH file. - - :param filename: name of the CBH file - :param columns: columns to read - :returns: dataframe of CBH variable - """ - # Columns 0-5 always represent date/time information - time_col_names = {0: 'year', 1: 'month', 2: 'day', 3: 'hour', 4: 'minute', 5: 'second'} - - if columns is not None: - df = pd.read_csv(filename, sep=' ', skipinitialspace=True, - skiprows=3, engine='c', memory_map=True, - header=None, na_values=NA_VALS_DEFAULT, - usecols=columns) - else: - df = pd.read_csv(filename, sep=' ', skipinitialspace=True, - skiprows=3, engine='c', memory_map=True, - header=None, na_values=NA_VALS_DEFAULT) - - # Rename columns with time information - df.rename(columns=time_col_names, inplace=True) - - # Rename columns with local model indices - ren_dict = {k + 6: k + 1 for k in range(len(df.columns))} - df.rename(columns=ren_dict, inplace=True) - - df['time'] = pd.to_datetime(df[time_col_names.values()], yearfirst=True) - df.drop(columns=time_col_names.values(), inplace=True) - df.set_index('time', inplace=True) - - return df - - def check_region(self, region: str) -> Union[Dict[int, int], None]: - """Get the range of nhm_id values for selected region. - - :param region: HUC2 region number (1 to 18) - :returns: dictionary of local_id, nhm_id pairs - """ - if self.__indices is not None: - # Get the range of nhm_ids for the region - rvals = self.__mapping[region] - - # print('Examining {} ({} to {})'.format(rr, rvals[0], rvals[1])) - if rvals[0] >= rvals[1]: - raise ValueError('Lower HRU bound is greater than upper HRU bound.') - - idx_retrieve = OrderedDict() - - for yy in self.__indices.keys(): - if rvals[0] <= yy <= rvals[1]: - idx_retrieve[self.__indices[yy]] = yy # {local_ids: nhm_ids} - - return idx_retrieve - return None - - def read_cbh_multifile(self, var: Optional[str] = None) -> Union[pd.DataFrame, None]: - """Read cbh data from multiple csv files. - - :param var: name of variable to read - :returns: dataframe of extracted variable - """ - - if var is None: - raise ValueError('Variable name (var) must be provided') - - first = True - self.__dataframe = None - - for rr in REGIONS: - idx_retrieve = self.check_region(region=rr) - - if len(idx_retrieve) > 0: - # Build the list of columns to load - # The given local ids must be adjusted by 5 to reflect: - # 1) the presence of 6 columns of time information - # 2) 0-based column names - load_cols = list(CBH_INDEX_COLS) - load_cols.extend([xx+5 for xx in idx_retrieve.keys()]) - else: - load_cols = None - - if len(idx_retrieve) > 0: - # The current region contains HRUs in the model subset - # Read in the data for those HRUs - cbh_file = f'{self.__src_path}/{rr}_{var}.cbh.gz' - - print(f'\tLoad {len(idx_retrieve)} HRUs from {rr}') - - if not os.path.isfile(cbh_file): - # Missing data file for this variable and region - raise IOError(f'Required CBH file, {cbh_file}, is missing.') - - # df = self.read_ascii_file(cbh_file, columns=load_cols) - - # Small read to get number of columns - df = pd.read_csv(cbh_file, sep=' ', skipinitialspace=True, - usecols=load_cols, nrows=2, - skiprows=3, engine='c', memory_map=True, - parse_dates={'time': CBH_INDEX_COLS}, - # date_parser=dparse, parse_dates={'time': CBH_INDEX_COLS}, - index_col='time', header=None, na_values=[-99.0, -999.0, 'NaN', 'inf']) - - - # Override Pandas' rather stupid default of float64 - col_dtypes = {xx: np.float32 for xx in df.columns} - - # Now read the whole file using float32 instead of float64 - df = pd.read_csv(cbh_file, sep=' ', skipinitialspace=True, - usecols=load_cols, dtype=col_dtypes, - skiprows=3, engine='c', memory_map=True, - parse_dates={'time': CBH_INDEX_COLS}, - # date_parser=dparse, parse_dates={'time': CBH_INDEX_COLS}, - index_col='time', header=None, na_values=[-99.0, -999.0, 'NaN', 'inf']) - - df.index = pd.to_datetime(df.index, exact=True, cache=True, format=TS_FORMAT) - - if self.__stdate is not None and self.__endate is not None: - # Restrict the date range - df = df[self.__stdate:self.__endate] - - # Rename columns with NHM HRU ids - ren_dict = {k+5: v for k, v in idx_retrieve.items()} - - # NOTE: The rename is an expensive operation - df.rename(columns=ren_dict, inplace=True) - - if first: - self.__dataframe = df.copy() - first = False - else: - self.__dataframe = self.__dataframe.join(df, how='left') - return self.__dataframe - - def get_var(self, var: str) -> Union[pd.DataFrame, None]: - """Get CBH variable. - - :param var: name of CBH variable - :returns: dataframe of CBH variable values - """ - - data = self.read_cbh_multifile(var=var) - return data - - def write_ascii(self, pathname: Optional[str] = None, - fileprefix: Optional[str] = None, - variables: Optional[List[str]] = None): - """Write ASCII CBH file for selected variable. - - By default CBH filenames are saved in the current working directory and - are named for the selected variable with an extension of .cbh - - :param pathname: path to save files to - :param fileprefix: prefix to add to CBH output filename - :param variables: variables to write to CBH files - """ - - # For out_order the first six columns contain the time information and - # are always output for the cbh files - out_order = [kk for kk in self.__nhm_hrus] - for cc in ['second', 'minute', 'hour', 'day', 'month', 'year']: - out_order.insert(0, cc) - - var_list = [] - if variables is None: - var_list = CBH_VARNAMES - elif isinstance(list, variables): - var_list = variables - - for cvar in var_list: - data = self.get_var(var=cvar) - - # Add time information as columns - data['year'] = data.index.year - data['month'] = data.index.month - data['day'] = data.index.day - data['hour'] = 0 - data['minute'] = 0 - data['second'] = 0 - - # Output ASCII CBH files - if fileprefix is None: - outfile = f'{cvar}.cbh' - else: - outfile = f'{fileprefix}_{cvar}.cbh' - - if pathname is not None: - outfile = f'{pathname}/{outfile}' - - out_cbh = open(outfile, 'w') - out_cbh.write('Written by Bandit\n') - out_cbh.write(f'{cvar} {len(self.__nhm_hrus)}\n') - out_cbh.write('########################################\n') - - data.to_csv(out_cbh, columns=out_order, na_rep='-999', float_format='%0.3f', - sep=' ', index=False, header=False, encoding=None, chunksize=50) - out_cbh.close() - - def write_netcdf(self, filename: str, - variables: Optional[List[str]] = None): - """Write CBH to netcdf format file - - :param filename: name of netCDF output file - :param variables: list of variables to write to output file - """ - - # NetCDF-related variables - var_desc = {'tmax': 'Maximum Temperature', 'tmin': 'Minimum temperature', 'prcp': 'Precipitation'} - var_units = {'tmax': 'C', 'tmin': 'C', 'prcp': 'inches'} - - # Create a netCDF file for the CBH data - nco = nc.Dataset(filename, 'w', clobber=True) - nco.createDimension('hru', len(self.__nhm_hrus)) - nco.createDimension('time', None) - - timeo = nco.createVariable('time', 'f4', ('time')) - timeo.calendar = 'standard' - # timeo.bounds = 'time_bnds' - - # FIXME: Days since needs to be set to the starting date of the model pull - timeo.units = 'days since 1980-01-01 00:00:00' - - hruo = nco.createVariable('hru', 'i4', ('hru')) - hruo.long_name = 'Hydrologic Response Unit ID (HRU)' - - var_list = [] - if variables is None: - var_list = CBH_VARNAMES - elif isinstance(list, variables): - var_list = variables - - for cvar in var_list: - varo = nco.createVariable(cvar, 'f4', ('time', 'hru'), fill_value=nc.default_fillvals['f4'], zlib=True) - varo.long_name = var_desc[cvar] - varo.units = var_units[cvar] - - nco.setncattr('Description', 'Climate by HRU') - # nco.setncattr('Bandit_version', __version__) - # nco.setncattr('NHM_version', nhmparamdb_revision) - - # Write the HRU ids - hruo[:] = self.__nhm_hrus - - first = True - for cvar in var_list: - data = self.get_var(var=cvar) - - if first: - timeo[:] = nc.date2num(data.index.tolist(), - units='days since 1980-01-01 00:00:00', - calendar='standard') - first = False - - # Write the CBH values - nco.variables[cvar][:, :] = data[self.__nhm_hrus].values - - nco.close() - - # def write_cbh_subset(self, outdir): - # outdata = None - # first = True - # - # for vv in CBH_VARNAMES: - # outorder = list(CBH_INDEX_COLS) - # - # for rr, rvals in iteritems(self.__mapping): - # idx_retrieve = {} - # - # for yy in self.__nhm_hrus.keys(): - # if rvals[0] <= yy <= rvals[1]: - # idx_retrieve[yy] = self.__nhm_hrus[yy] - # - # if len(idx_retrieve) > 0: - # self.__src_path = '{}/{}_{}.cbh.gz'.format(self.__cbhdb_dir, rr, vv) - # self.read_cbh() - # if first: - # outdata = self.__data - # first = False - # else: - # outdata = pd.merge(outdata, self.__data, how='left', left_index=True, right_index=True) - # - # # Append the HRUs as ordered for the subset - # outorder.extend(self.__nhm_hrus) - # - # out_cbh = open('{}/{}.cbh'.format(outdir, vv), 'w') - # out_cbh.write('Written by pyPRMS.Cbh\n') - # out_cbh.write('{} {}\n'.format(vv, len())) - - # def read_cbh_parq(self, src_dir): - # """Read CBH files stored in the parquet format""" - # if self.__indices: - # pfile = fp.ParquetFile('{}/daymet_{}.parq'.format(src_dir, self.__var)) - # self.__data = pfile.to_pandas(self.__indices) - # - # if self.__stdate is not None and self.__endate is not None: - # # Given a date range to restrict the output - # self.__data = self.__data[self.__stdate:self.__endate] - # - # self.__data['year'] = self.__data.index.year - # self.__data['month'] = self.__data.index.month - # self.__data['day'] = self.__data.index.day - # self.__data['hour'] = 0 - # self.__data['minute'] = 0 - # self.__data['second'] = 0 - # - # def read_cbh_hdf(self, src_dir): - # """Read CBH files stored in HDF5 format""" - # if self.__indices: - # # self.__data = pd.read_hdf('{}/daymet_{}.h5'.format(src_dir, self.__var), columns=self.__indices) - # self.__data = pd.read_hdf('{}/daymet_{}.h5'.format(src_dir, self.__var)) - # - # if self.__stdate is not None and self.__endate is not None: - # # Given a date range to restrict the output - # self.__data = self.__data[self.__stdate:self.__endate] - # - # self.__data = self.__data[self.__indices] - # - # self.__data['year'] = self.__data.index.year - # self.__data['month'] = self.__data.index.month - # self.__data['day'] = self.__data.index.day - # self.__data['hour'] = 0 - # self.__data['minute'] = 0 - # self.__data['second'] = 0 - # diff --git a/pyPRMS/cbh/CbhNetcdf.py b/pyPRMS/cbh/CbhNetcdf.py deleted file mode 100644 index 16c034a..0000000 --- a/pyPRMS/cbh/CbhNetcdf.py +++ /dev/null @@ -1,199 +0,0 @@ -import datetime -import fsspec # type: ignore -import numpy as np -import os -import pandas as pd # type: ignore -import netCDF4 as nc # type: ignore -import xarray as xr - -from pathlib import Path -from typing import Dict, List, Optional, Union - -__author__ = 'Parker Norton (pnorton@usgs.gov)' - -CBH_VARNAMES = ['prcp', 'tmin', 'tmax'] -CBH_INDEX_COLS = [0, 1, 2, 3, 4, 5] - - -class CbhNetcdf(object): - """Climate-By-HRU (CBH) files in netCDF format.""" - - def __init__(self, src_path: Union[str, Path], - nhm_hrus: List[int], - st_date: Optional[datetime.datetime] = None, - en_date: Optional[datetime.datetime] = None): - """ - :param src_path: Full path to netCDF file - :param st_date: The starting date for restricting CBH results - :param en_date: The ending date for restricting CBH results - :param nhm_hrus: List of NHM HRU IDs to extract from CBH - """ - - if isinstance(src_path, str): - src_path = Path(src_path) - - self.__src_path = src_path - self.__stdate = st_date - self.__endate = en_date - self.__nhm_hrus = nhm_hrus - - self.__dataset = self.read_netcdf() - - @property - def data(self) -> xr.Dataset: - """Returns the CBH dataset. - - :returns: xarray dataset - """ - - return self.__dataset - - def read_netcdf(self) -> xr.Dataset: - """Read CBH files stored in netCDF format. - - :returns: xarray dataset - """ - - filepath = str(self.__src_path.resolve()) - match self.__src_path.suffix: - case '.nc': - ds = xr.open_mfdataset(filepath, chunks={}, combine='by_coords', - data_vars='minimal', decode_cf=True, engine='netcdf4', - parallel=True) - case '.zarr': - ds = xr.open_zarr(filepath, consolidated=True) - case '.json': - fs = fsspec.filesystem('reference', fo=filepath) - m = fs.get_mapper('') - - ds = xr.open_dataset(m, engine='zarr', chunks={}, backend_kwargs={'consolidated': False}) - - if 'nhm_id' in ds.data_vars: - # dataset has nhm_id variable so use it as the nhru dimension - ds = ds.assign_coords(nhru=ds.nhm_id) - - if self.__stdate is None: - # Use first date from the dataset - self.__stdate = pd.to_datetime(str(ds.time[0].values)) - - if self.__endate is None: - # Use last date from the dataset - self.__endate = pd.to_datetime(str(ds.time[-1].values)) - - return ds - - def get_var(self, var: str) -> pd.DataFrame: - """Get a variable from the netCDF file. - - :param var: Name of the variable - :returns: dataframe of variable values - """ - - try: - data = self.__dataset[var].sel(time=slice(self.__stdate, self.__endate), - nhru=self.__nhm_hrus).to_pandas() - except IndexError: - print(f'ERROR: Dimensions (time, nhru) were used to subset {var} which expects' + - f'dimensions ({" ".join(map(str, self.__dataset[var].coords))})') - raise - except KeyError: - # Happens when older hruid dimension is used instead of nhru - data = self.__dataset[var].sel(time=slice(self.__stdate, self.__endate), - hruid=self.__nhm_hrus).to_pandas() - - return data - - def write_ascii(self, filename: Union[str, os.PathLike, Path], - variable: str): - """Write CBH data for variable to PRMS ASCII-formatted file. - - :param filename: Climate-by-HRU filename - :param variable: CBH variable to write - """ - - # For out_order the first six columns contain the time information and - # are always output for the cbh files - out_order: List[Union[int, str]] = [kk for kk in self.__nhm_hrus] - for cc in ['second', 'minute', 'hour', 'day', 'month', 'year']: - out_order.insert(0, cc) - - if variable in self.__dataset.data_vars: - data = self.get_var(var=variable) - - # Add time information as columns - data['year'] = data.index.year - data['month'] = data.index.month - data['day'] = data.index.day - data['hour'] = 0 - data['minute'] = 0 - data['second'] = 0 - - out_cbh = open(filename, 'w') - out_cbh.write('Written by Bandit\n') - out_cbh.write(f'{variable} {len(self.__nhm_hrus)}\n') - out_cbh.write('########################################\n') - # data.to_csv(out_cbh, columns=out_order, na_rep='-999', float_format='%0.3f', - data.to_csv(out_cbh, columns=out_order, na_rep='-999', float_format='%0.2f', - sep=' ', index=False, header=False, lineterminator='\n', encoding=None, chunksize=50) - out_cbh.close() - else: - print(f'WARNING: {variable} does not exist in source CBH files..skipping') - - def write_netcdf(self, filename: Union[str, os.PathLike, Path], - variables: Optional[List[str]] = None, - global_attrs: Optional[Dict] = None): - """Write CBH variables to netCDF file. - - :param filename: name of netCDF output file - :param variables: list of CBH variables to write - :param global_attrs: optional dictionary of attributes to include in netcdf file - """ - - ds = self.__dataset - ds = ds.sel(time=slice(self.__stdate, self.__endate), nhru=self.__nhm_hrus) - - if variables is None: - pass - elif isinstance(variables, list): - ds = ds[variables] - - # Remove _FillValue from coordinate variables - for vv in list(ds.coords): - ds[vv].encoding.update({'_FillValue': None}) - - ds['crs'] = self.__dataset['crs'] - ds['crs'].encoding.update({'_FillValue': None, - 'contiguous': True}) - - ds['time'].attrs['standard_name'] = 'time' - ds['time'].attrs['long_name'] = 'time' - - # Add nhm_id variable which will be the global NHM IDs - ds['nhm_id'] = ds['nhru'] - ds['nhm_id'].attrs['long_name'] = 'Global model Hydrologic Response Unit ID (HRU)' - - # Change the nhru coordinate variable values to reflect the local model HRU IDs - ds = ds.assign_coords(nhru=np.arange(1, ds.nhru.values.size+1, dtype=ds.nhru.dtype)) - ds['nhru'].attrs['long_name'] = 'Local model Hydrologic Response Unit ID (HRU)' - ds['nhru'].attrs['cf_role'] = 'timeseries_id' - - # Add/update global attributes - ds.attrs['Description'] = 'Climate-by-HRU' - - if global_attrs is not None: - for kk, vv in global_attrs.items(): - ds.attrs[kk] = vv - - encoding = {} - - for cvar in ds.variables: - if ds[cvar].ndim > 1: - encoding[cvar] = dict(_FillValue=ds[cvar].encoding['_FillValue'], - compression='zlib', - complevel=2, - fletcher32=True) - else: - encoding[cvar] = dict(_FillValue=None, - contiguous=True) - - ds.load().to_netcdf(filename, engine='netcdf4', format='NETCDF4', encoding=encoding) diff --git a/pyPRMS/cbh/__init__.py b/pyPRMS/cbh/__init__.py index 26aa1fe..ec977ac 100644 --- a/pyPRMS/cbh/__init__.py +++ b/pyPRMS/cbh/__init__.py @@ -1,3 +1 @@ from .Cbh import Cbh -from .CbhAscii import CbhAscii -from .CbhNetcdf import CbhNetcdf diff --git a/tests/func/test_CbhNetcdf.py b/tests/func/test_CbhNetcdf.py deleted file mode 100644 index 4a710dd..0000000 --- a/tests/func/test_CbhNetcdf.py +++ /dev/null @@ -1,63 +0,0 @@ -import pytest -import os -from distutils import dir_util -from pyPRMS import CbhNetcdf - -@pytest.fixture -def datadir(tmpdir, request): - """ - Fixture responsible for searching a folder with the same name of test - module and, if available, moving all contents to a temporary directory so - tests can use them freely. - """ - # 2023-07-18 - # https://stackoverflow.com/questions/29627341/pytest-where-to-store-expected-data - filename = request.module.__file__ - test_dir, _ = os.path.splitext(filename) - - if os.path.isdir(test_dir): - dir_util.copy_tree(test_dir, str(tmpdir)) - - return tmpdir - - -class TestCbhNetcdf: - - def test_read_netcdf_roundtrip_ascii(self, datadir, tmp_path): - """Test reading a netCDF file and writing it to an ASCII file""" - cbh_file = str(datadir.join('cbh.nc')) - - nhm_ids = [57863, 57864, 57867, 57868, 57869, 57872, 57873, 57874, 57877, 57878, 57879, 57880, 57881, 57882] - cbh = CbhNetcdf(cbh_file, nhm_hrus=nhm_ids) - - out_path = tmp_path / 'run_files' - out_path.mkdir() - - for cvar in ['prcp', 'tmax', 'tmin']: - out_file = out_path / f'{cvar}_chk.day' - cbh.write_ascii(out_file, variable=cvar) - - with open(datadir.join(f'{cvar}.day'), 'r') as f: - lines_orig = f.readlines() - - with open(out_file, 'r') as f: - lines_chk = f.readlines() - - assert lines_orig == lines_chk - - def test_read_netcdf_roundtrip_netcdf(self, datadir, tmp_path): - """Test reading a netCDF file and writing it to a netCDF file""" - cbh_file = str(datadir.join('cbh.nc')) - - nhm_ids = [57863, 57864, 57867, 57868, 57869, 57872, 57873, 57874, 57877, 57878, 57879, 57880, 57881, 57882] - cbh = CbhNetcdf(cbh_file, nhm_hrus=nhm_ids) - - out_path = tmp_path / 'run_files' - out_path.mkdir() - out_file = out_path / 'cbh_chk.nc' - - cbh.write_netcdf(out_file, global_attrs=dict(source='test')) - cbh_chk = CbhNetcdf(out_file, nhm_hrus=nhm_ids) - - assert cbh_chk.data.equals(cbh.data) - assert cbh_chk.data.attrs['source'] == 'test' diff --git a/tests/func/test_CbhNetcdf/cbh.nc b/tests/func/test_CbhNetcdf/cbh.nc deleted file mode 100644 index 53e71387b98137f84fbab7759218ff4958c23a23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158684 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 oH6ps)|Ji3f^k+UiD1K(-@uuu!!h