From 3cc3390e8a236cbb845fc09754ee518b5e322fd2 Mon Sep 17 00:00:00 2001 From: "Daniel.Frisinghelli" <daniel.frisinghelli@eurac.edu> Date: Mon, 4 Oct 2021 12:32:20 +0200 Subject: [PATCH] Optional compression for ERA5. --- climax/core/cli.py | 5 +++++ climax/main/preprocess/preprocess_ERA5.py | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/climax/core/cli.py b/climax/core/cli.py index 6621463..eaed173 100644 --- a/climax/core/cli.py +++ b/climax/core/cli.py @@ -168,6 +168,11 @@ def preprocess_era5_parser(): help='Overwrite existing files {}.'.format(default), default=False, nargs='?', const=True, metavar='') + # optional argument: whether to apply compression + parser.add_argument('-c', '--compress', type=bool, + help='Apply file compression {}.'.format(default), + default=False, nargs='?', const=True, metavar='') + # optional argument: dry run, print files which would be processed parser.add_argument('-d', '--dry-run', type=bool, help=('Print files which would be processed {}.' diff --git a/climax/main/preprocess/preprocess_ERA5.py b/climax/main/preprocess/preprocess_ERA5.py index 6a83c91..4f666d4 100644 --- a/climax/main/preprocess/preprocess_ERA5.py +++ b/climax/main/preprocess/preprocess_ERA5.py @@ -128,9 +128,10 @@ if __name__ == '__main__': ds = xr.open_mfdataset(target, parallel=True).compute() # set NetCDF file compression for each variable - for _, var in ds.data_vars.items(): - var.encoding['zlib'] = True - var.encoding['complevel'] = 5 + if args.compress: + for _, var in ds.data_vars.items(): + var.encoding['zlib'] = True + var.encoding['complevel'] = 5 # save aggregated netcdf file LOGGER.info('Compressing NetCDF: {}'.format(filename)) -- GitLab