-
Notifications
You must be signed in to change notification settings - Fork 34
Closed
Labels
bugBug fix (will increment patch version)Bug fix (will increment patch version)
Milestone
Description
What happened?
When testing the run script that specify one year for eamxx data. I ran into multiple KeyError for different variables. Examples:
KeyError: 'lon_bnds'
KeyError: 'bounds_lon'
KeyError: 'longitude_bnds'
It is Spooky!
What did you expect to happen? Are there are possible answers you came across?
No response
Minimal Complete Verifiable Example (MVCE)
https://portal.nersc.gov/cfs/e3sm/zhang40/tests/eamxx/eamxx_decadal_1996_1031_edv3/prov/
python run_e3sm_diags_1996.py -d lat_lon_model_vs_obs_1996.cfgEXAMPLE:
2024-10-31 14:26:18,207 [INFO]: lat_lon_driver.py(run_diag:69) >> Variable: PRECT
2024-10-31 14:26:34,122 [INFO]: dataset_xr.py(_get_land_sea_mask:1470) >> Variable 'LANDFRAC' was not in the file '/global/cfs/cdirs/e3sm/chengzhu/eamxx/post/data/rgr/eamxx_decadal_ANN_199601_199612_climo.nc', nor was it defined in the derived variables dictionary.. Using default land sea mask located at `/global/cfs/cdirs/e3sm/zhang40/conda_envs/e3sm_diags_dev_654_zonal_mean_xy/share/e3sm_diags/acme_ne30_ocean_land_mask.nc`.
2024-10-31 14:26:34,180 [INFO]: regrid.py(subset_and_align_datasets:70) >> Selected region: global2024-10-31 14:26:41,216 [ERROR]: core_parameter.py(_run_diag:343) >> Error in e3sm_diags.driver.lat_lon_driver
Traceback (most recent call last):
File "/global/cfs/cdirs/e3sm/zhang40/conda_envs/e3sm_diags_dev_654_zonal_mean_xy/lib/python3.10/site-packages/xarray/core/dataset.py", line 1447, in _construct_dataarray
variable = self._variables[name]
KeyError: 'lon_bnds'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/global/cfs/cdirs/e3sm/zhang40/conda_envs/e3sm_diags_dev_654_zonal_mean_xy/lib/python3.10/site-packages/e3sm_diags/parameter/core_parameter.py", line 340, in _run_diag
single_result = module.run_diag(self)
File "/global/cfs/cdirs/e3sm/zhang40/conda_envs/e3sm_diags_dev_654_zonal_mean_xy/lib/python3.10/site-packages/e3sm_diags/driver/lat_lon_driver.py", line 110, in run_diag
_run_diags_2d(
File "/global/cfs/cdirs/e3sm/zhang40/conda_envs/e3sm_diags_dev_654_zonal_mean_xy/lib/python3.10/site-packages/e3sm_diags/driver/lat_lon_driver.py", line 339, in _run_diags_2d
metrics_dict = _create_metrics_dict(
File "/global/cfs/cdirs/e3sm/zhang40/conda_envs/e3sm_diags_dev_654_zonal_mean_xy/lib/python3.10/site-packages/e3sm_diags/driver/lat_lon_driver.py", line 593, in _create_metrics_dict
"mean": spatial_avg(ds_ref, var_key), # type: ignore
File "/global/cfs/cdirs/e3sm/zhang40/conda_envs/e3sm_diags_dev_654_zonal_mean_xy/lib/python3.10/site-packages/e3sm_diags/metrics/metrics.py", line 56, in spatial_avg
weights = _get_weights(ds, var_key, axis)
File "/global/cfs/cdirs/e3sm/zhang40/conda_envs/e3sm_diags_dev_654_zonal_mean_xy/lib/python3.10/site-packages/e3sm_diags/metrics/metrics.py", line 222, in _get_weights
spatial_wts = ds.spatial.get_weights(spatial_axis, data_var=var_key)
File "/global/cfs/cdirs/e3sm/zhang40/conda_envs/e3sm_diags_dev_654_zonal_mean_xy/lib/python3.10/site-packages/xcdat/spatial.py", line 274, in get_weights
d_bounds = self._dataset.bounds.get_bounds(axis=key, var_key=data_var)
File "/global/cfs/cdirs/e3sm/zhang40/conda_envs/e3sm_diags_dev_654_zonal_mean_xy/lib/python3.10/site-packages/xcdat/bounds.py", line 255, in get_bounds
bounds: Union[xr.Dataset, xr.DataArray] = self._dataset[
File "/global/cfs/cdirs/e3sm/zhang40/conda_envs/e3sm_diags_dev_654_zonal_mean_xy/lib/python3.10/site-packages/xarray/core/dataset.py", line 1545, in __getitem__
return self._construct_dataarray(key)
File "/global/cfs/cdirs/e3sm/zhang40/conda_envs/e3sm_diags_dev_654_zonal_mean_xy/lib/python3.10/site-packages/xarray/core/dataset.py", line 1449, in _construct_dataarray
_, name, variable = _get_virtual_variable(self._variables, name, self.dims)
File "/global/cfs/cdirs/e3sm/zhang40/conda_envs/e3sm_diags_dev_654_zonal_mean_xy/lib/python3.10/site-packages/xarray/core/dataset.py", line 214, in _get_virtual_variable
raise KeyError(key)
KeyError: 'lon_bnds'Relevant log output
Anything else we need to know?
No response
Environment
latest cdat-migration-fy24 branch
Metadata
Metadata
Assignees
Labels
bugBug fix (will increment patch version)Bug fix (will increment patch version)