def METHOD_NAME(self, temperature: ndarray) -> ndarray:
    """
    Saturation Vapour pressure in a water vapour system calculated using
    the Goff-Gratch Equation (WMO standard method).
    Args:
        temperature:
            Temperature values in Kelvin. Valid from 173K to 373K
    Returns:
        Corresponding values of saturation vapour pressure for a pure
        water vapour system, in hPa.
    References:
        Numerical data and functional relationships in science and
        technology. New series. Group V. Volume 4. Meteorology.
        Subvolume b. Physical and chemical properties of the air, P35.
    """
    constants = {
        1: 10.79574,
        2: 5.028,
        3: 1.50475e-4,
        4: -8.2969,
        5: 0.42873e-3,
        6: 4.76955,
        7: 0.78614,
        8: -9.09685,
        9: 3.56654,
        10: 0.87682,
        11: 0.78614,
    }
    triple_pt = TRIPLE_PT_WATER
    # Values for which method is considered valid (see reference).
    # WetBulbTemperature.check_range(temperature.data, 173., 373.)
    if (
        temperature.max() > self.MAX_VALID_TEMPERATURE
        or temperature.min() < self.MIN_VALID_TEMPERATURE
    ):
        msg = "Temperatures out of SVP table range: min {}, max {}"
        warnings.warn(msg.format(temperature.min(), temperature.max()))
    svp = temperature.copy()
    for cell in np.nditer(svp, op_flags=["readwrite"]):
        if cell > triple_pt:
            n0 = constants[1] * (1.0 - triple_pt / cell)
            n1 = constants[2] * np.log10(cell / triple_pt)
            n2 = constants[3] * (
                1.0 - np.power(10.0, (constants[4] * (cell / triple_pt - 1.0)))
            )
            n3 = constants[5] * (
                np.power(10.0, (constants[6] * (1.0 - triple_pt / cell))) - 1.0
            )
            log_es = n0 - n1 + n2 + n3 + constants[7]
            cell[...] = np.power(10.0, log_es)
        else:
            n0 = constants[8] * ((triple_pt / cell) - 1.0)
            n1 = constants[9] * np.log10(triple_pt / cell)
            n2 = constants[10] * (1.0 - (cell / triple_pt))
            log_es = n0 - n1 + n2 + constants[11]
            cell[...] = np.power(10.0, log_es)
    return svp