Closed MarkWieczorek closed 4 years ago
With more investigation, it turns out that grdimage works when reading a netcdf file, but not when using an xarray dataarray. In particular, the following works:
fig.grdimage('test.cdf', region='g', projection="W0/6i")
but the following doesn't
grid = xr.load_dataset('test.cdf')
fig.grdimage(grid.data, region='g', projection="W0/6i") # data is the name of the dataarray
I've narrowed the problem down to the following:
pygmt can not deal with grids where latitudes decrease, such as [90, 80, ....-80].
By inverting the array of latitudes, everything worked fine (but with an upside down image). Given that gmt can correctly parse this, the problem is somewhere in pygmt.
Hi @MarkWieczorek, thanks for taking a look at this, and opening a Pull Request too! I'll try and review your work in a bit.
Closed in #369.
grdimage
fails when attempting to plot grids that are not "global" [0, 360, -90, 90].The xarray dataset I am trying to plot is equispaced in latitude and longitude, and normally would work with gmt. When trying to plot with pygmt however, the routine goes into some kind of infinite loop and never terminates.
The xarray dataset has the following characteristics:
and I tried to plot the data using
I note that the redundant data points at 360 E are not provided, and the data point at the south pole is not provided. I further note that this is the standard format for Driscoll and Healy sampled grids which are employed in
pyshtools
.