xcdat.regridder.accessor.RegridderAccessor
xcdat.regridder.accessor.RegridderAccessor#
- class xcdat.regridder.accessor.RegridderAccessor(dataset)[source]#
An accessor class that provides regridding attributes and methods on xarray Datasets through the
.regridderattribute.Examples
Import RegridderAccessor class:
>>> import xcdat # or from xcdat import regridder
Use RegridderAccessor class:
>>> ds = xcdat.open_dataset("/path/to/file") >>> >>> ds.regridder.<attribute> >>> ds.regridder.<method> >>> ds.regridder.<property>
- Parameters
dataset (xr.Dataset) – A Dataset object.
Methods
__init__(dataset)horizontal(data_var, output_grid[, tool])Apply horizontal regridding to
data_varof the currentxr.Datasettooutput_grid.horizontal_regrid2(data_var, output_grid, ...)Pure python implementation of CDAT's regrid2 horizontal regridder.
horizontal_xesmf(data_var, output_grid, ...)Wraps the xESMF library providing access to regridding between structured rectilinear and curvilinear grids.
Attributes
Returns
xr.Datasetcontaining grid information.- _ds#
- property grid#
Returns
xr.Datasetcontaining grid information.- Returns
xr.Dataset – With data variables describing the grid.
- Raises
ValueError – If axis data variable is not correctly identified.
- horizontal_xesmf(data_var, output_grid, **options)[source]#
Wraps the xESMF library providing access to regridding between structured rectilinear and curvilinear grids.
Regrids
data_varin dataset tooutput_grid.Option documentation
xcdat.regridder.xesmf.XESMFRegridder()- Parameters
data_var (str) – Name of the variable in the xr.Dataset to regrid.
output_grid (xr.Dataset) – Dataset containing output grid.
options (Dict[str, Any]) – Dictionary with extra parameters for the regridder.
- Returns
xr.Dataset – With the
data_varvariable on the grid defined inoutput_grid.- Raises
ValueError – If tool is not supported.
Examples
Generate output grid:
>>> output_grid = xcdat.create_gaussian_grid(32)
Regrid data to output grid using xesmf:
>>> ds.regridder.horizontal_xesmf("ts", output_grid)
- horizontal_regrid2(data_var, output_grid, **options)[source]#
Pure python implementation of CDAT’s regrid2 horizontal regridder.
Regrids
data_varin dataset tooutput_gridusing regrid2’s algorithm.Options documentation
xcdat.regridder.regrid2.Regrid2Regridder()- Parameters
data_var (str) – Name of the variable in the xr.Dataset to regrid.
output_grid (xr.Dataset) – Dataset containing output grid.
options (Dict[str, Any]) – Dictionary with extra parameters for the regridder.
- Returns
xr.Dataset – With the
data_varvariable on the grid defined inoutput_grid.- Raises
ValueError – If tool is not supported.
Examples
Generate output grid:
>>> output_grid = xcdat.create_gaussian_grid(32)
Regrid data to output grid using regrid2:
>>> ds.regridder.horizontal_regrid2("ts", output_grid)
- horizontal(data_var, output_grid, tool='xesmf', **options)[source]#
Apply horizontal regridding to
data_varof the currentxr.Datasettooutput_grid.Supported tools:
- xESMF (https://pangeo-xesmf.readthedocs.io/en/latest/)
Rectilinear and curvilinear grids
Find options at
xcdat.regridder.xesmf.XESMFRegridder()
- Regrid2
Rectilinear grids
Find options at
xcdat.regridder.regrid2.Regrid2Regridder()
- Parameters
data_var (str) – Name of the variable in the
xr.Datasetto regrid.output_grid (xr.Dataset) – Dataset containing output grid.
tool (str) – Name of the regridding tool.
**options (Dict[str, Any]) – These options are passed to the tool being used for regridding. See specific regridder documentation for available options.
- Returns
xr.Dataset – With the
data_varvariable on the grid defined inoutput_grid.- Raises
ValueError – If tool is not supported.
Examples
Create destination grid:
>>> output_grid = xcdat.create_uniform_grid(-90, 90, 4.0, -180, 180, 5.0)
Regrid variable using “xesmf”:
>>> ds.regridder.horizontal("ts", output_grid, tool="xesmf", method="bilinear")
Regrid variable using “regrid2”:
>>> ds.regridder.horizontal("ts", output_grid, tool="regrid2")
Use convenience methods:
>>> ds.regridder.horizontal_xesmf("ts", output_grid, method="bilinear")
>>> ds.regridder.horizontal_regrid2("ts", output_grid)