(unique_timedeltas)
| 727 | |
| 728 | |
| 729 | def _infer_time_units_from_diff(unique_timedeltas) -> str: |
| 730 | # todo: check, if this function works correctly wrt np.timedelta64 |
| 731 | unit_timedelta: Callable[[str], timedelta] | Callable[[str], np.timedelta64] |
| 732 | zero_timedelta: timedelta | np.timedelta64 |
| 733 | unique_timedeltas = asarray(unique_timedeltas) |
| 734 | if unique_timedeltas.dtype == np.dtype("O"): |
| 735 | time_units = _NETCDF_TIME_UNITS_CFTIME |
| 736 | unit_timedelta = _unit_timedelta_cftime |
| 737 | zero_timedelta = timedelta(microseconds=0) |
| 738 | else: |
| 739 | time_units = _NETCDF_TIME_UNITS_NUMPY |
| 740 | unit_timedelta = _unit_timedelta_numpy |
| 741 | zero_timedelta = np.timedelta64(0, "ns") |
| 742 | for time_unit in time_units: |
| 743 | if array_all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta): |
| 744 | return time_unit |
| 745 | return "seconds" |
| 746 | |
| 747 | |
| 748 | def _time_units_to_timedelta(units: str) -> timedelta: |
no test coverage detected
searching dependent graphs…