code: def tg90p(tas, t90, freq='YS'):
      r
      if 'dayofyear' not in t90.coords.keys():
          raise AttributeError("t10 should have dayofyear coordinates.")
  
      t90 = utils.convert_units_to(t90, tas)
  
      # adjustment of t90 to tas doy range
      t90 = utils.adjust_doy_calendar(t90, tas)
  
      # create array of percentile with tas shape and coords
      thresh = xr.full_like(tas, np.nan)
      doy = thresh.time.dt.dayofyear.values
      thresh.data = t90.sel(dayofyear=doy)
  
      # compute the cold days
      over = (tas > thresh)
  
      return over.resample(time=freq).sum(dim='time')
docs: r"""Number of days with daily mean temperature over the 90th percentile.
  
      Number of days with daily mean temperature over the 90th percentile.
  
      Parameters
      ----------
      tas : xarray.DataArray
        Mean daily temperature [℃] or [K]
      t90 : xarray.DataArray
        90th percentile of daily mean temperature [℃] or [K]
      freq : str, optional
        Resampling frequency
  
      Returns
      -------
      xarray.DataArray
        Count of days with daily mean temperature below the 10th percentile [days]
  
      Notes
      -----
      The 90th percentile should be computed for a 5 day window centered on each calendar day for a reference period.
  
      Example
      -------
      >>> t90 = percentile_doy(historical_tas, per=0.9)
      >>> hot_days = tg90p(tas, t90)