esmtools.grid.convert_lon

esmtools.grid.convert_lon(ds, coord='lon')[source]

Converts longitude grid from -180to180 to 0to360 and vice versa.

Note

Longitudes are not sorted after conversion (i.e., spanning -180 to 180 or 0 to 360 from index 0, …, N) if it is 2D.,

Parameters:
  • ds (xarray object) – Dataset to be converted.
  • coord (optional str) – Name of longitude coordinate.
Returns:

Dataset with converted longitude grid.

Return type:

xarray object

Raises:

ValueError – If coord does not exist in the dataset.

Examples

>>> import numpy as np
>>> import xarray as xr
>>> from esmtools.grid import convert_lon
>>> lat = np.linspace(-89.5, 89.5, 180)
>>> lon = np.linspace(0.5, 359.5, 360)
>>> empty = xr.DataArray(np.empty((180, 360)), dims=['lat', 'lon'])
>>> data = xr.DataArray(np.linspace(-180, 180, 360), dims=['lon'],)
>>> data, _ = xr.broadcast(data, empty)
>>> data = data.T
>>> data['lon'] = lon
>>> data['lat'] = lat
>>> converted = convert_lon(data, coord='lon')