Skip to content

Commit

Permalink
Merge pull request #12 from PCMDI/era5_bounds_issue
Browse files Browse the repository at this point in the history
Flexible extraction of bounds variable names
  • Loading branch information
lee1043 authored Aug 9, 2023
2 parents 474b931 + e4de3b7 commit a0ff612
Showing 1 changed file with 18 additions and 7 deletions.
25 changes: 18 additions & 7 deletions pcmdi_utils/land_sea_mask.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ def generate_land_sea_mask(ds, tool="pcmdi", maskname="lsmask"):
return mask


# flake8: noqa: C901
def generate_land_sea_mask__pcmdi(
target_grid,
source=None,
Expand Down Expand Up @@ -125,16 +126,26 @@ def generate_land_sea_mask__pcmdi(
)

# Add missed information during the regrid process
# (this might be a bug... will report it to xcdat repo later)
ds_regrid[data_var].lat.attrs["axis"] = "Y"
ds_regrid[data_var].lon.attrs["axis"] = "X"
ds_regrid[data_var].lat.attrs["bounds"] = "lat_bnds"
ds_regrid[data_var].lon.attrs["bounds"] = "lon_bnds"
ds_regrid[data_var].lat.attrs["units"] = "degrees_north"
# (this might be a bug... will report it to xcdat team later)
if "axis" not in ds_regrid[data_var].lat.attrs.keys():
ds_regrid[data_var].lat.attrs["axis"] = "Y"
if "axis" not in ds_regrid[data_var].lon.attrs.keys():
ds_regrid[data_var].lon.attrs["axis"] = "X"
if "bounds" not in ds_regrid[data_var].lat.attrs.keys():
ds_regrid[data_var].lat.attrs["bounds"] = "lat_bnds"
if "bounds" not in ds_regrid[data_var].lon.attrs.keys():
ds_regrid[data_var].lon.attrs["bounds"] = "lon_bnds"
if "units" not in ds_regrid[data_var].lat.attrs:
ds_regrid[data_var].lat.attrs["units"] = "degrees_north"

# re-generate lat lon bounds (original bounds are 2d arrays where 1d array for each is expected)
ds_regrid = (
ds_regrid.drop_vars(["lat_bnds", "lon_bnds"])
ds_regrid.drop_vars(
[
ds_regrid[data_var].lat.attrs["bounds"],
ds_regrid[data_var].lon.attrs["bounds"],
]
)
.bounds.add_bounds("Y")
.bounds.add_bounds("X")
)
Expand Down

0 comments on commit a0ff612

Please sign in to comment.