From 4a2094d2c8de217dc3351442730060942edff1cf Mon Sep 17 00:00:00 2001 From: Lizzie Lundgren Date: Tue, 20 Aug 2019 11:57:03 -0400 Subject: [PATCH] Add error handling for CS to CS comparison at different resolutions CS to CS regridding is not implemented in gcpy. Ref and dev at different CS resolutions can only be compared on a lat-lon grid. This is an open issue, but now there is error handling to exit out with a helpful message if attempting to regrid CS to CS due to the comparison grid. Signed-off-by: Lizzie Lundgren --- gcpy/benchmark.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gcpy/benchmark.py b/gcpy/benchmark.py index b84ad33f..b97c82ce 100644 --- a/gcpy/benchmark.py +++ b/gcpy/benchmark.py @@ -244,7 +244,7 @@ def compare_single_level(refdata, refstr, devdata, devstr, varlist=None, cmpgridtype = 'll' else: cmpgridtype = 'cs' - + # Determine what, if any, need regridding. regridref = refres != cmpres regriddev = devres != cmpres @@ -280,12 +280,20 @@ def compare_single_level(refdata, refstr, devdata, devstr, varlist=None, if refgridtype == 'll': refregridder = make_regridder_L2L(refres, cmpres, weightsdir=weightsdir, reuse_weights=True) else: - refregridder_list = make_regridder_C2L(refres, cmpres, weightsdir=weightsdir, reuse_weights=True) + if cmpgridtype == 'cs': + print('ERROR: CS to CS regridding is not yet implemented in gcpy. Ref and dev cubed sphere grids must be the same resolution, or pass cmpres to compare_single_level as a lat-lon grid resolution.') + return + else: + refregridder_list = make_regridder_C2L(refres, cmpres, weightsdir=weightsdir, reuse_weights=True) if regriddev: if devgridtype == 'll': devregridder = make_regridder_L2L(devres, cmpres, weightsdir=weightsdir, reuse_weights=True) else: - devregridder_list = make_regridder_C2L(devres, cmpres, weightsdir=weightsdir, reuse_weights=True) + if cmpgridtype == 'cs': + print('ERROR: CS to CS regridding is not yet implemented in gcpy. Ref and dev cubed sphere grids must be the same resolution, or pass cmpres to compare_single_level as a lat-lon grid resolution.') + return + else: + devregridder_list = make_regridder_C2L(devres, cmpres, weightsdir=weightsdir, reuse_weights=True) #################################################################### # Get lat/lon extents, if applicable