(
self,
freq: ResampleCompatible | BaseCFTimeOffset,
closed: SideOptions | None = None,
label: SideOptions | None = None,
origin: str | CFTimeDatetime = "start_day",
offset: str | datetime.timedelta | BaseCFTimeOffset | None = None,
)
| 76 | offset: datetime.timedelta | None |
| 77 | |
| 78 | def __init__( |
| 79 | self, |
| 80 | freq: ResampleCompatible | BaseCFTimeOffset, |
| 81 | closed: SideOptions | None = None, |
| 82 | label: SideOptions | None = None, |
| 83 | origin: str | CFTimeDatetime = "start_day", |
| 84 | offset: str | datetime.timedelta | BaseCFTimeOffset | None = None, |
| 85 | ): |
| 86 | self.freq = to_offset(freq) |
| 87 | self.origin = origin |
| 88 | |
| 89 | if not isinstance(self.freq, CFTIME_TICKS): |
| 90 | if offset is not None: |
| 91 | message = ( |
| 92 | "The 'offset' keyword does not take effect when " |
| 93 | "resampling with a 'freq' that is not Tick-like (h, m, s, " |
| 94 | "ms, us)" |
| 95 | ) |
| 96 | emit_user_level_warning(message, category=RuntimeWarning) |
| 97 | if origin != "start_day": |
| 98 | message = ( |
| 99 | "The 'origin' keyword does not take effect when " |
| 100 | "resampling with a 'freq' that is not Tick-like (h, m, s, " |
| 101 | "ms, us)" |
| 102 | ) |
| 103 | emit_user_level_warning(message, category=RuntimeWarning) |
| 104 | |
| 105 | if isinstance(self.freq, MonthEnd | QuarterEnd | YearEnd) or self.origin in [ |
| 106 | "end", |
| 107 | "end_day", |
| 108 | ]: |
| 109 | # The backward resample sets ``closed`` to ``'right'`` by default |
| 110 | # since the last value should be considered as the edge point for |
| 111 | # the last bin. When origin in "end" or "end_day", the value for a |
| 112 | # specific ``cftime.datetime`` index stands for the resample result |
| 113 | # from the current ``cftime.datetime`` minus ``freq`` to the current |
| 114 | # ``cftime.datetime`` with a right close. |
| 115 | if closed is None: |
| 116 | self.closed = "right" |
| 117 | else: |
| 118 | self.closed = closed |
| 119 | if label is None: |
| 120 | self.label = "right" |
| 121 | else: |
| 122 | self.label = label |
| 123 | else: |
| 124 | if closed is None: |
| 125 | self.closed = "left" |
| 126 | else: |
| 127 | self.closed = closed |
| 128 | if label is None: |
| 129 | self.label = "left" |
| 130 | else: |
| 131 | self.label = label |
| 132 | |
| 133 | if offset is not None: |
| 134 | try: |
| 135 | self.offset = _convert_offset_to_timedelta(offset) |
nothing calls this directly
no test coverage detected