code: def daily_freezethaw_cycles(tasmax, tasmin, freq='YS'):
      r
      frz = utils.convert_units_to('0 degC', tasmax)
      ft = (tasmin < frz) * (tasmax > frz) * 1
      out = ft.resample(time=freq).sum(dim='time')
      return out
docs: r"""Number of days with a diurnal freeze-thaw cycle
  
      The number of days where Tmax > 0℃ and Tmin < 0℃.
  
      Parameters
      ----------
      tasmax : xarray.DataArray
        Maximum daily temperature [℃] or [K]
      tasmin : xarray.DataArray
        Minimum daily temperature values [℃] or [K]
      freq : str
        Resampling frequency
  
      Returns
      -------
      xarray.DataArray
        Number of days with a diurnal freeze-thaw cycle
  
      Notes
      -----
      Let :math:`TX_{i}` be the maximum temperature at day :math:`i` and :math:`TN_{i}` be
      the daily minimum temperature at day :math:`i`. Then the number of freeze thaw cycles
      during period :math:`\phi` is given by :
  
      .. math::
  
          \sum_{i \in \phi} [ TX_{i} > 0℃ ] [ TN_{i} <  0℃ ]
  
      where :math:`[P]` is 1 if :math:`P` is true, and 0 if false.