File: test_others.py

package info (click to toggle)
mapraster 2026.01.06-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 556 kB
  • sloc: python: 476; makefile: 105
file content (63 lines) | stat: -rw-r--r-- 1,368 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import numpy as np
import xarray as xr
from tools_test import build_footprint, fake_dataset, fake_ecmwf_0100_1h

from mapraster.main import _get_image_dims, map_raster


def test_get_image_dims_ignore_pol():
    ny, nx, npol = 10, 20, 2
    lon = np.zeros((ny, nx, npol))

    ds = xr.Dataset(
        {
            "longitude": (("line", "sample", "pol"), lon),
        }
    )
    az_dim, ra_dim = _get_image_dims(ds)

    assert az_dim == "line"
    assert ra_dim == "sample"


test_get_image_dims_ignore_pol()


def test_data_type():
    """
    Make sure that map_raster works when input is DataArray or Dataset
    """

    dataset = fake_dataset(cross_antimeridian=False)
    footprint = build_footprint(dataset)
    raster = fake_ecmwf_0100_1h(
        to180=True,
        with_nan=False,
    )

    assert (
        type(
            map_raster(
                raster_ds=raster,  # Dataset
                originalDataset=dataset,
                footprint=footprint,
                cross_antimeridian=False,
            )
        )
        == xr.Dataset
    )

    assert (
        type(
            map_raster(
                raster_ds=raster.U10,  # DataArray
                originalDataset=dataset,
                footprint=footprint,
                cross_antimeridian=False,
            )
        )
        == xr.DataArray
    )


test_data_type()