Ejemplo n.º 1
0
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",
    }
Ejemplo n.º 2
0
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',
    }
Ejemplo n.º 3
0
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",
    }
Ejemplo n.º 4
0
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',
    }
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
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
Ejemplo n.º 9
0
def test_translate_coords_errors(da3):
    with pytest.raises(RuntimeError):
        cfcoords.translate_coords(da3)
Ejemplo n.º 10
0
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')
Ejemplo n.º 11
0
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")