コード例 #1
0
ファイル: test_zarr.py プロジェクト: esowc/climetlab
def test_zarr_source_3():
    import datetime

    from climetlab.utils.dates import to_datetime_list

    source = load_source(
        "zarr-s3",
        [
            f"{S3_URL}/zarr/mini-hc-20200109.zarr",
            f"{S3_URL}/zarr/mini-hc-20200102.zarr",
        ],
    )
    ds = source.to_xarray()
    assert len(ds.forecast_time) == 8

    dates = to_datetime_list(ds.forecast_time)
    assert dates[0] == datetime.datetime(2000, 1, 2)
    assert dates[1] == datetime.datetime(2000, 1, 9)
    assert dates[2] == datetime.datetime(2001, 1, 2)
    assert dates[3] == datetime.datetime(2001, 1, 9)

    dates = to_datetime_list(ds.forecast_time.values)
    assert dates[0] == datetime.datetime(2000, 1, 2)
    assert dates[1] == datetime.datetime(2000, 1, 9)
    assert dates[2] == datetime.datetime(2001, 1, 2)
    assert dates[3] == datetime.datetime(2001, 1, 9)
コード例 #2
0
def test_pandas_dates():
    import pandas as pd

    assert to_datetime_list(
        pd.date_range(start="2020-01-02", end="2020-01-16", freq="w-thu")) == [
            datetime.datetime(2020, 1, 2),
            datetime.datetime(2020, 1, 9),
            datetime.datetime(2020, 1, 16),
        ]
コード例 #3
0
def test_to_datetimes_list():
    assert to_datetime_list("20000101/to/20000103") == [
        datetime.datetime(2000, 1, 1),
        datetime.datetime(2000, 1, 2),
        datetime.datetime(2000, 1, 3),
    ]
    assert to_datetime_list("2000-01-01/to/2000-01-03") == [
        datetime.datetime(2000, 1, 1),
        datetime.datetime(2000, 1, 2),
        datetime.datetime(2000, 1, 3),
    ]
    assert to_datetime_list("2000-01-01/to/2000-01-10/by/3") == [
        datetime.datetime(2000, 1, 1),
        datetime.datetime(2000, 1, 4),
        datetime.datetime(2000, 1, 7),
        datetime.datetime(2000, 1, 10),
    ]
    assert to_datetime_list((20000101, "to", 20000103)) == [
        datetime.datetime(2000, 1, 1),
        datetime.datetime(2000, 1, 2),
        datetime.datetime(2000, 1, 3),
    ]

    assert to_datetime_list(("2000-01-01", "to", "2000-01-10", "by", "3")) == [
        datetime.datetime(2000, 1, 1),
        datetime.datetime(2000, 1, 4),
        datetime.datetime(2000, 1, 7),
        datetime.datetime(2000, 1, 10),
    ]

    assert len(to_datetime_list((-10, "to", -1))) == 10
コード例 #4
0
 def to_datetime_list(self):
     return to_datetime_list(self.data.values)
コード例 #5
0
def test_to_datetimes_list_grib():
    source = load_source("file", "docs/examples/test.grib")
    for s in source:
        assert to_datetime_list(s) == [datetime.datetime(2020, 5, 13, 12, 0)]
コード例 #6
0
ファイル: test_dates.py プロジェクト: NewHarmony/climetlab
        datetime.datetime(2000, 1, 1),
        datetime.datetime(2000, 1, 4),
        datetime.datetime(2000, 1, 7),
        datetime.datetime(2000, 1, 10),
    ]
    assert to_datetime_list((20000101, "to", 20000103)) == [
        datetime.datetime(2000, 1, 1),
        datetime.datetime(2000, 1, 2),
        datetime.datetime(2000, 1, 3),
    ]

    assert to_datetime_list(("2000-01-01", "to", "2000-01-10", "by", "3")) == [
        datetime.datetime(2000, 1, 1),
        datetime.datetime(2000, 1, 4),
        datetime.datetime(2000, 1, 7),
        datetime.datetime(2000, 1, 10),
    ]

    assert len(to_datetime_list((-10, "to", -1))) == 10


def test_to_datetimes_list_grib():
    source = load_source("file", "docs/examples/test.grib")
    for s in source:
        assert to_datetime_list(s) == [datetime.datetime(2020, 5, 13, 12, 0)]


if __name__ == "__main__":
    # test_to_datetime()
    to_datetime_list()