You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've written a command line program where argparse defines start_date, end_date, lat_bnds and lon_bnds options that are None by default (i.e. unless the user passes their desired values for those options at the command line). I then pass those values to subset_bbox as follows:
I figured this would work fine because in the clisops source code the default value for each of those keyword arguments is None in the subset_bbox function definition, but it fails if you pass lon_bnds=None. I think the issue might be related to how the check_lons decorator function handles the input?
<xarray.Dataset>
Dimensions: (lat: 25, time: 2920, lon: 53)
Coordinates:
* lat (lat) float32 75.0 72.5 70.0 67.5 65.0 ... 25.0 22.5 20.0 17.5 15.0
* lon (lon) float32 200.0 202.5 205.0 207.5 ... 322.5 325.0 327.5 330.0
* time (time) datetime64[ns] 2013-01-01 ... 2014-12-31T18:00:00
Data variables:
air (time, lat, lon) float32 241.2 242.5 243.5 ... 296.5 296.2 295.7
Attributes:
Conventions: COARDS
title: 4x daily NMC reanalysis (1948)
description: Data is from NMC initialized reanalysis\n(4x/day). These a...
platform: Model
references: http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanaly...
subset_bbox(ds, lon_bnds=None)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In [5], line 1
----> 1 subset_bbox(ds, lon_bnds=None)
File /g/data/xv83/dbi599/miniconda3/envs/icclim/lib/python3.10/site-packages/clisops/core/subset.py:270, in check_lons.<locals>.func_checker(*args, **kwargs)
267 else:
268 kwargs[lon][kwargs[lon] <= 180] -= 360
--> 270 return func(*args, **kwargs)
File /g/data/xv83/dbi599/miniconda3/envs/icclim/lib/python3.10/site-packages/clisops/core/subset.py:1211, in subset_bbox(da, lon_bnds, lat_bnds, start_date, end_date, first_level, last_level, time_values, level_values)
1209 if lon in da.dims and lon_bnds is not None:
1210 lon_bnds = _check_desc_coords(coord=da[lon], bounds=lon_bnds, dim=lon)
-> 1211 da = da.sel({lon: slice(*lon_bnds)})
1213 # Curvilinear case (lat and lon are coordinates, not dimensions)
1214 elif ((lat in da.coords) and (lon in da.coords)) or (
1215 (lat in da.data_vars) and (lon in da.data_vars)
1216 ):
1217 # Define a bounding box along the dimensions
1218 # This is an optimization, a simple `where` would work but take longer for large hi-res grids.
TypeError: iteration over a 0-d array
The text was updated successfully, but these errors were encountered:
Description
I've written a command line program where argparse defines
start_date
,end_date
,lat_bnds
andlon_bnds
options that areNone
by default (i.e. unless the user passes their desired values for those options at the command line). I then pass those values tosubset_bbox
as follows:I figured this would work fine because in the clisops source code the default value for each of those keyword arguments is
None
in the subset_bbox function definition, but it fails if you passlon_bnds=None
. I think the issue might be related to how the check_lons decorator function handles the input?What I Did
The text was updated successfully, but these errors were encountered: