From 6d97218255c5eef64537f856bcd3622396ac4076 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Wed, 28 Aug 2024 14:02:36 -0600 Subject: [PATCH] _RegridTargetPrep(): Handle existing lon/lat dims/variables. --- src/landusedata/utils.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/landusedata/utils.py b/src/landusedata/utils.py index addb507..ea84fdf 100644 --- a/src/landusedata/utils.py +++ b/src/landusedata/utils.py @@ -21,6 +21,16 @@ def _RegridTargetPrep(regrid_target): by xesmf. As such, this function renames the dimensions. It also adds lat/lon coordinates based on the LONGXY and LATIXY variables. """ + + # Skip if lat and lon are already the dimension names + if "lat" in regrid_target.dims and "lon" in regrid_target.dims: + return regrid_target + + # Drop dimension variables if they already exist + regrid_target = regrid_target.drop_vars("lat", errors="ignore") + regrid_target = regrid_target.drop_vars("lon", errors="ignore") + + # Rename dimensions and add coordinates regrid_target = regrid_target.rename_dims(dims_dict={'lsmlat':'lat','lsmlon':'lon'}) regrid_target['lon'] = regrid_target.LONGXY.isel(lat=0) regrid_target['lat'] = regrid_target.LATIXY.isel(lon=0)