Given an array of datetime objects, returns the tuple `(num, units, calendar)` suitable for a CF compliant time variable. Unlike `date2num`, this function can handle datetime64 arrays. See Also -------- cftime.date2num
(
dates: T_DuckArray, # type: ignore[misc]
units: str | None = None,
calendar: str | None = None,
dtype: np.dtype | None = None,
)
| 1019 | |
| 1020 | |
| 1021 | def encode_cf_datetime( |
| 1022 | dates: T_DuckArray, # type: ignore[misc] |
| 1023 | units: str | None = None, |
| 1024 | calendar: str | None = None, |
| 1025 | dtype: np.dtype | None = None, |
| 1026 | ) -> tuple[T_DuckArray, str, str]: |
| 1027 | """Given an array of datetime objects, returns the tuple `(num, units, |
| 1028 | calendar)` suitable for a CF compliant time variable. |
| 1029 | |
| 1030 | Unlike `date2num`, this function can handle datetime64 arrays. |
| 1031 | |
| 1032 | See Also |
| 1033 | -------- |
| 1034 | cftime.date2num |
| 1035 | """ |
| 1036 | dates = asarray(dates) |
| 1037 | if is_chunked_array(dates): |
| 1038 | return _lazily_encode_cf_datetime(dates, units, calendar, dtype) |
| 1039 | else: |
| 1040 | return _eagerly_encode_cf_datetime(dates, units, calendar, dtype) |
| 1041 | |
| 1042 | |
| 1043 | def _infer_needed_units_numpy(ref_date, data_units): |
searching dependent graphs…