diff --git a/act/retrievals/cbh.py b/act/retrievals/cbh.py index f68f47e52c..74e55c53fc 100644 --- a/act/retrievals/cbh.py +++ b/act/retrievals/cbh.py @@ -11,7 +11,7 @@ def generic_sobel_cbh( ds, variable=None, - height_dim=None, + height_dim='range', var_thresh=None, fill_na=None, return_thresh=False, @@ -35,7 +35,7 @@ def generic_sobel_cbh( variable : string Variable on which to process. height_dim : string - Height variable to use for CBH values. + Height variable to use for CBH values. Default is 'range'. var_thresh : float Thresholding for variable if needed. fill_na : float @@ -87,6 +87,11 @@ def generic_sobel_cbh( """ if variable is None: return + if height_dim is None: + raise ValueError( + "height_dim must be specified. Please provide the name of the height " + "dimension (e.g., 'range', 'range_bins')." + ) if fill_na is None: fill_na = var_thresh @@ -119,7 +124,7 @@ def generic_sobel_cbh( edge_da = edge_da.fillna(fill_na) # Do a diff along the height dimension to define edge - diff = edge_da.diff(dim=1).values + diff = edge_da.diff(dim=height_dim).values # Get height variable to use for cbh height = ds[height_dim].values diff --git a/tests/retrievals/test_cbh.py b/tests/retrievals/test_cbh.py index 33947a8c96..8a88b98551 100644 --- a/tests/retrievals/test_cbh.py +++ b/tests/retrievals/test_cbh.py @@ -14,6 +14,6 @@ def test_generic_sobel_cbh(): edge_thresh=5, ) cbh = ceil['cbh_sobel_backscatter'].values - assert cbh[500] == 615.0 - assert cbh[1000] == 555.0 + assert cbh[500] == 585.0 + assert cbh[1000] == 525.0 ceil.close()