(calendar, units_year)
| 7113 | @pytest.mark.parametrize("calendar", _ALL_CALENDARS) |
| 7114 | @pytest.mark.parametrize("units_year", [1500, 2000, 2500]) |
| 7115 | def test_use_cftime_true(calendar, units_year) -> None: |
| 7116 | import cftime |
| 7117 | |
| 7118 | x = [0, 1] |
| 7119 | time = [0, 720] |
| 7120 | units = f"days since {units_year}-01-01" |
| 7121 | original = DataArray(x, [("time", time)], name="x").to_dataset() |
| 7122 | for v in ["x", "time"]: |
| 7123 | original[v].attrs["units"] = units |
| 7124 | original[v].attrs["calendar"] = calendar |
| 7125 | |
| 7126 | decoded_x = cftime.num2date(x, units, calendar, only_use_cftime_datetimes=True) |
| 7127 | decoded_time = cftime.num2date( |
| 7128 | time, units, calendar, only_use_cftime_datetimes=True |
| 7129 | ) |
| 7130 | expected_x = DataArray(decoded_x, [("time", decoded_time)], name="x") |
| 7131 | expected_time = DataArray(decoded_time, [("time", decoded_time)], name="time") |
| 7132 | |
| 7133 | with create_tmp_file() as tmp_file: |
| 7134 | original.to_netcdf(tmp_file) |
| 7135 | with warnings.catch_warnings(record=True) as record: |
| 7136 | decoder = CFDatetimeCoder(use_cftime=True) |
| 7137 | with open_dataset(tmp_file, decode_times=decoder) as ds: |
| 7138 | assert_identical(expected_x, ds.x) |
| 7139 | assert_identical(expected_time, ds.time) |
| 7140 | _assert_no_dates_out_of_range_warning(record) |
| 7141 | |
| 7142 | |
| 7143 | @requires_scipy_or_netCDF4 |
nothing calls this directly
no test coverage detected
searching dependent graphs…