def water(target, temperature='pore.temperature', salinity='pore.salinity'):
    """
    Calculates viscosity of pure water or seawater at atmospheric pressure
    using Eq. (22) given by Sharqawy et. al [1]. Values at temperature higher
    than the normal boiling temperature are calculated at the saturation
    pressure.

    Parameters
    ----------
    target : OpenPNM Object
        The object for which these values are being calculated. This
        controls the length of the calculated array, and also provides
        access to other necessary thermofluid properties.

    temperature : string
        The dictionary key containing the temperature values. Temperature must
        be in Kelvin for this emperical equation to work. Can be either a pore
        or throat array.

    salinity : string
        The dictionary key containing the salinity values. Salinity must be
        expressed in g of salt per kg of solution (ppt). Can be either a
        pore or throat array, but must be consistent with ``temperature``.

    Returns
    -------
    value : NumPy ndarray
        Array containing viscosity of water/seawater in [kg/m.s]

    Notes
    -----
     T must be in K, and S in g of salt per kg of phase, or ppt (parts per
        thousand)
    VALIDITY: 273 < T < 453 K; 0 < S < 150 g/kg;
    ACCURACY: 1.5 %

    References
    ----------
    [1] Sharqawy M. H., Lienhard J. H., and Zubair, S. M., Desalination and
        Water Treatment, 2010.

    """
    T = target[temperature]
    if salinity in target.keys():
        S = target[salinity]
    else:
        S = 0
    TC = T - 273.15
    S = S / 1000
    a1 = 0.15700386464
    a2 = 64.99262005
    a3 = -91.296496657
    a4 = 4.2844324477e-05
    mu_w = a4 + 1 / (a1 * (TC + a2) ** 2 + a3)
    a5 = 1.540913604
    a6 = 0.019981117208
    a7 = -9.5203865864e-05
    a8 = 7.9739318223
    a9 = -0.075614568881
    a10 = 0.00047237011074
    A = a5 + a6 * T + a7 * T ** 2
    B = a8 + a9 * T + a10 * T ** 2
    mu_sw = mu_w * (1 + A * S + B * S ** 2)
    value = mu_sw
    return value
