def test_grdtrack_without_newcolname_setting(dataarray): """ Run grdtrack by not passing in newcolname parameter setting. """ dataframe = load_ocean_ridge_points() with pytest.raises(GMTInvalidInput): grdtrack(points=dataframe, grid=dataarray)
def test_ocean_ridge_points(): "Check that the @ridge.txt dataset loads without errors" data = load_ocean_ridge_points() assert data.shape == (4146, 2) summary = data.describe() assert summary.loc["min", "longitude"] == -179.9401 assert summary.loc["max", "longitude"] == 179.935 assert summary.loc["min", "latitude"] == -65.6182 assert summary.loc["max", "latitude"] == 86.8
def test_grdtrack_wrong_kind_of_grid_input(dataarray): """ Run grdtrack using grid input that is not as xarray.DataArray (grid) or file. """ dataframe = load_ocean_ridge_points() invalid_grid = dataarray.to_dataset() assert data_kind(invalid_grid) == "matrix" with pytest.raises(GMTInvalidInput): grdtrack(points=dataframe, grid=invalid_grid, newcolname="bathymetry")
def test_grdtrack_wrong_kind_of_points_input(dataarray): """ Run grdtrack using points input that is not a pandas.DataFrame (matrix) or file. """ dataframe = load_ocean_ridge_points() invalid_points = dataframe.longitude.to_xarray() assert data_kind(invalid_points) == "grid" with pytest.raises(GMTInvalidInput): grdtrack(points=invalid_points, grid=dataarray, newcolname="bathymetry")
def test_grdtrack_input_dataframe_and_ncfile(): """ Run grdtrack by passing in a pandas.DataFrame and netcdf file as inputs. """ dataframe = load_ocean_ridge_points() ncfile = which("@earth_relief_01d", download="a") output = grdtrack(points=dataframe, grid=ncfile, newcolname="bathymetry") assert isinstance(output, pd.DataFrame) assert output.columns.to_list() == ["longitude", "latitude", "bathymetry"] npt.assert_allclose(output.iloc[0], [-32.2971, 37.4118, -1939.748245]) return output
def test_grdtrack_input_dataframe_and_dataarray(dataarray): """ Run grdtrack by passing in a pandas.DataFrame and xarray.DataArray as inputs. """ dataframe = load_ocean_ridge_points() output = grdtrack(points=dataframe, grid=dataarray, newcolname="bathymetry") assert isinstance(output, pd.DataFrame) assert output.columns.to_list() == ["longitude", "latitude", "bathymetry"] npt.assert_allclose(output.iloc[0], [-110.9536, -42.2489, -2790.488422]) return output
def test_ocean_ridge_points(): """ Check that the @ridge.txt dataset loads without errors. """ with pytest.warns(expected_warning=FutureWarning) as record: data = load_ocean_ridge_points() assert len(record) == 1 assert data.shape == (4146, 2) summary = data.describe() assert summary.loc["min", "longitude"] == -179.9401 assert summary.loc["max", "longitude"] == 179.935 assert summary.loc["min", "latitude"] == -65.6182 assert summary.loc["max", "latitude"] == 86.8
def fixture_dataframe(): """ Load the ocean ridge file. """ return load_ocean_ridge_points()