pvnet_nl / tests /test_utils.py
peterdudfield's picture
Upload folder using huggingface_hub
a5be142
raw
history blame
1.2 kB
from ocf_data_sampler.select.location import Location
from pvnet.utils import SiteLocationLookup
import xarray as xr
import pytest
@pytest.mark.parametrize(
"lookup_site_id, expected_x, expected_y, expected_id",
[
(1, -1.99106, 48.709865, 1),
(0, 0.30693, 51.509865, 0),
(2, -1.56106, 56.203865, 2),
],
)
def test_site_location_lookup(lookup_site_id, expected_x, expected_y, expected_id):
# setup
site_ids = [0, 1, 2]
longs = [0.30693, -1.99106, -1.56106]
lats = [51.509865, 48.709865, 56.203865]
da_long = xr.DataArray(
data=longs,
dims="pv_system_id",
coords=dict(site_id=(["pv_system_id"], site_ids), long=(["pv_system_id"], longs)),
)
da_lat = xr.DataArray(
data=lats,
dims="pv_system_id",
coords=dict(site_id=(["pv_system_id"], site_ids), long=(["pv_system_id"], lats)),
)
# Actual testing part
site_lookup = SiteLocationLookup(long=da_long, lat=da_lat)
# retrieve location of site 1
site_location: Location = site_lookup(lookup_site_id)
assert site_location.x == expected_x
assert site_location.y == expected_y
assert site_location.id == expected_id