code: def pint2cfunits(value):
      
      # Print units using abbreviations (millimeter -> mm)
      s = "{:~}".format(value)
  
      # Search and replace patterns
      pat = r'(?P<inverse>/ )?(?P<unit>\w+)(?: \*\* (?P<pow>\d))?'
  
      def repl(m):
          i, u, p = m.groups()
          p = p or (1 if i else '')
          neg = '-' if i else ('^' if p else '')
  
          return "{}{}{}".format(u, neg, p)
  
      out, n = re.subn(pat, repl, s)
      return out
docs: Return a CF-Convention unit string from a `pint` unit.
  
      Parameters
      ----------
      value : pint.Unit
        Input unit.
  
      Returns
      -------
      out : str
        Units following CF-Convention.