def test_ecmwf(): ds = xarray_store.open_dataset(TEST_DATA1) res = cfcoords.translate_coords(ds, coord_model=datamodels.ECMWF) assert set( res.dims) == {"latitude", "level", "longitude", "number", "time"} assert set(res.coords) == { "latitude", "level", "longitude", "number", "step", "time", "valid_time", } ds = xarray_store.open_dataset(TEST_DATA2) res = cfcoords.translate_coords(ds, coord_model=datamodels.ECMWF) assert set(res.dims) == {"x", "y"} assert set(res.coords) == { "heightAboveGround", "latitude", "longitude", "step", "time", "valid_time", }
def test_ecmwf(): ds = xarray_store.open_dataset(TEST_DATA1) res = cfcoords.translate_coords(ds, coord_model=datamodels.ECMWF) assert set( res.dims) == {'latitude', 'level', 'longitude', 'number', 'time'} assert set(res.coords) == { 'latitude', 'level', 'longitude', 'number', 'step', 'time', 'valid_time', } ds = xarray_store.open_dataset(TEST_DATA2) res = cfcoords.translate_coords(ds, coord_model=datamodels.ECMWF) assert set(res.dims) == {'x', 'y'} assert set(res.coords) == { 'heightAboveGround', 'latitude', 'longitude', 'step', 'time', 'valid_time', }
def test_cds(): ds = xarray_store.open_dataset(TEST_DATA1) res = cfcoords.translate_coords(ds, coord_model=datamodels.CDS) assert set(res.dims) == { "forecast_reference_time", "lat", "lon", "plev", "realization" } assert set(res.coords) == { "forecast_reference_time", "lat", "leadtime", "lon", "plev", "realization", "time", } ds = xarray_store.open_dataset(TEST_DATA2) res = cfcoords.translate_coords(ds, coord_model=datamodels.CDS) assert set(res.dims) == {"x", "y"} assert set(res.coords) == { "forecast_reference_time", "heightAboveGround", "lat", "leadtime", "lon", "time", }
def test_cds(): ds = xarray_store.open_dataset(TEST_DATA1) res = cfcoords.translate_coords(ds, coord_model=datamodels.CDS) assert set(res.dims) == {'time', 'lat', 'lon', 'plev', 'realization'} assert set(res.coords) == { 'forecast_reference_time', 'lat', 'leadtime', 'lon', 'plev', 'realization', 'time', } ds = xarray_store.open_dataset(TEST_DATA2) res = cfcoords.translate_coords(ds, coord_model=datamodels.CDS) assert set(res.dims) == {'x', 'y'} assert set(res.coords) == { 'forecast_reference_time', 'heightAboveGround', 'lat', 'leadtime', 'lon', 'time', }
def test_translate_coords(da1, da2): result = cfcoords.translate_coords(da1) assert 'latitude' in result.coords assert 'longitude' in result.coords assert 'time' in result.coords result = cfcoords.translate_coords(da2) assert 'latitude' in result.coords assert 'longitude' in result.coords assert 'valid_time' in result.coords
def test_translate_coords(da1, da2, da3): res = cfcoords.translate_coords(da1) assert 'latitude' in res.coords assert 'longitude' in res.coords assert 'time' in res.coords res = cfcoords.translate_coords(da2) assert 'latitude' in res.coords assert 'longitude' in res.coords assert 'valid_time' in res.coords res = cfcoords.translate_coords(da3, errors='ignore') assert 'latitude' in res.coords assert 'longitude' in res.coords
def test_translate_coords(da1, da2, da3): res = cfcoords.translate_coords(da1) assert "latitude" in res.coords assert "longitude" in res.coords assert "time" in res.coords res = cfcoords.translate_coords(da2) assert "latitude" in res.coords assert "longitude" in res.coords assert "valid_time" in res.coords res = cfcoords.translate_coords(da3, errors="ignore") assert "latitude" in res.coords assert "longitude" in res.coords
def test_translate_coords(da1: xr.Dataset, da2: xr.Dataset, da3: xr.Dataset) -> None: res = cfcoords.translate_coords(da1) assert "latitude" in res.coords assert "longitude" in res.coords assert "time" in res.coords res = cfcoords.translate_coords(da2) assert "latitude" in res.coords assert "longitude" in res.coords assert "valid_time" in res.coords res = cfcoords.translate_coords(da3, errors="ignore") assert "latitude" in res.coords assert "longitude" in res.coords
def test_translate_coords_errors(da3): with pytest.raises(RuntimeError): cfcoords.translate_coords(da3)
def test_translate_coords_errors(da3): cfcoords.translate_coords(da3) cfcoords.translate_coords(da3, errors='ignore') with pytest.raises(RuntimeError): cfcoords.translate_coords(da3, errors='raise') DATA_MODEL = {'config': {'preferred_time_dimension': 'valid_time'}} cfcoords.translate_coords(da3, DATA_MODEL) da3_fail = da3.drop('time') cfcoords.translate_coords(da3_fail, DATA_MODEL) cfcoords.translate_coords(da3_fail, DATA_MODEL, errors='ignore') with pytest.raises(RuntimeError): cfcoords.translate_coords(da3_fail, DATA_MODEL, errors='raise')
def test_translate_coords_errors(da3: xr.Dataset) -> None: cfcoords.translate_coords(da3) cfcoords.translate_coords(da3, errors="ignore") with pytest.raises(RuntimeError): cfcoords.translate_coords(da3, errors="raise") DATA_MODEL = {"config": {"preferred_time_dimension": "valid_time"}} cfcoords.translate_coords(da3, DATA_MODEL) da3_fail = da3.drop_vars("time") cfcoords.translate_coords(da3_fail, DATA_MODEL) cfcoords.translate_coords(da3_fail, DATA_MODEL, errors="ignore")