def test_grdfill_file_out(grid): """ grdfill with an outgrid set. """ with GMTTempFile(suffix=".nc") as tmpfile: result = grdfill(grid=grid, mode="c20", outgrid=tmpfile.name) assert result is None # return value is None assert os.path.exists(path=tmpfile.name) # check that outgrid exists result = grdinfo(tmpfile.name, per_column=True).strip() assert result == "-5 5 -5 5 -5130.5 inf 1 1 10 10 1 1"
def test_grdfill_file_out(grid, expected_grid): """ Test grdfill with an outgrid set. """ with GMTTempFile(suffix=".nc") as tmpfile: result = grdfill(grid=grid, mode="c20", outgrid=tmpfile.name) assert result is None # return value is None assert os.path.exists(path=tmpfile.name) # check that outgrid exists temp_grid = load_dataarray(tmpfile.name) xr.testing.assert_allclose(a=temp_grid, b=expected_grid)
def test_grdfill_dataarray_out(grid, expected_grid): """ Test grdfill with a DataArray output. """ result = grdfill(grid=grid, mode="c20") # check information of the output grid assert isinstance(result, xr.DataArray) assert result.gmt.gtype == 1 # Geographic grid assert result.gmt.registration == 1 # Pixel registration # check information of the output grid xr.testing.assert_allclose(a=result, b=expected_grid)
def test_grdfill_dataarray_out(grid): """ grdfill with a DataArray output. """ result = grdfill(grid=grid, mode="c20") # check information of the output grid assert isinstance(result, xr.DataArray) assert result[4, 4] == 20 assert result[5, 5] == np.inf assert not result.isnull().all() # check that no NaN values exists assert result.gmt.gtype == 1 # Geographic grid assert result.gmt.registration == 1 # Pixel registration
def test_grdfill_asymmetric_pad(grid, expected_grid): """ Test grdfill using a region that includes the edge of the grid. Regression test for https://github.com/GenericMappingTools/pygmt/issues/1745. """ result = grdfill(grid=grid, mode="c20", region=[-55, -50, -24, -16]) # check information of the output grid assert isinstance(result, xr.DataArray) assert result.gmt.gtype == 1 # Geographic grid assert result.gmt.registration == 1 # Pixel registration # check information of the output grid xr.testing.assert_allclose(a=result, b=expected_grid.sel(lon=slice(-55, -50), lat=slice(-24, -16)))
def test_grdfill_required_args(grid): """ Test that grdfill fails without arguments for `mode` and `L`. """ with pytest.raises(GMTInvalidInput): grdfill(grid=grid)