@staticmethod
def T2_ph(p, h):
    """function T2_ph = T2_ph(p, h)

        6 Equations for Region 2, 6.3.1 The Backward Equations T(p, h) for Subregions 2a, 2b, and 2c
        """
    if p < 4:
        sub_reg = 1
    elif p < 905.84278514723 - 0.67955786399241 * h + 0.00012809002730136 * h ** 2:
        sub_reg = 2
    else:
        sub_reg = 3
    if sub_reg == 1:
        Ji = [0, 1, 2, 3, 7, 20, 0, 1, 2, 3, 7, 9, 11, 18, 44, 0, 2, 7, 36,
            38, 40, 42, 44, 24, 44, 12, 32, 44, 32, 36, 42, 34, 44, 28]
        Ii = [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
            2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7]
        ni = [1089.8952318288, 849.51654495535, -107.81748091826, 
            33.153654801263, -7.4232016790248, 11.765048724356, 
            1.844574935579, -4.1792700549624, 6.2478196935812, -
            17.344563108114, -200.58176862096, 271.96065473796, -
            455.11318285818, 3091.9688604755, 252266.40357872, -
            0.0061707422868339, -0.31078046629583, 11.670873077107, 
            128127984.04046, -985549096.23276, 2822454697.3002, -
            3594897141.0703, 1722734991.3197, -13551.334240775, 
            12848734.66465, 1.3865724283226, 235988.32556514, -
            13105236.545054, 7399.9835474766, -551966.9703006, 
            3715408.5996233, 19127.72923966, -415351.64835634, -62.459855192507
            ]
        Ts = 0
        hs = h / 2000
        for i in range(0, 34):
            Ts = Ts + ni[i] * p ** Ii[i] * (hs - 2.1) ** Ji[i]
    elif sub_reg == 2:
        Ji = [0, 1, 2, 12, 18, 24, 28, 40, 0, 2, 6, 12, 18, 24, 28, 40, 2, 
            8, 18, 40, 1, 2, 12, 24, 2, 12, 18, 24, 28, 40, 18, 24, 40, 28,
            2, 28, 1, 40]
        Ii = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3,
            3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 7, 7, 9, 9]
        ni = [1489.5041079516, 743.07798314034, -97.708318797837, 
            2.4742464705674, -0.63281320016026, 1.1385952129658, -
            0.47811863648625, 0.0085208123431544, 0.93747147377932, 
            3.3593118604916, 3.3809355601454, 0.16844539671904, 
            0.73875745236695, -0.47128737436186, 0.15020273139707, -
            0.002176411421975, -0.021810755324761, -0.10829784403677, -
            0.046333324635812, 7.1280351959551e-05, 0.00011032831789999, 
            0.00018955248387902, 0.0030891541160537, 0.0013555504554949, 
            2.8640237477456e-07, -1.0779857357512e-05, -7.6462712454814e-05,
            1.4052392818316e-05, -3.1083814331434e-05, -1.0302738212103e-06,
            2.821728163504e-07, 1.2704902271945e-06, 7.3803353468292e-08, -
            1.1030139238909e-08, -8.1456365207833e-14, -2.5180545682962e-11,
            -1.7565233969407e-18, 8.6934156344163e-15]
        Ts = 0
        hs = h / 2000
        for i in range(0, 38):
            Ts = Ts + ni[i] * (p - 2) ** Ii[i] * (hs - 2.6) ** Ji[i]
    else:
        Ji = [0, 4, 0, 2, 0, 2, 0, 1, 0, 2, 0, 1, 4, 8, 4, 0, 1, 4, 10, 12,
            16, 20, 22]
        Ii = [-7, -7, -6, -6, -5, -5, -2, -2, -1, -1, 0, 0, 1, 1, 2, 6, 6, 
            6, 6, 6, 6, 6, 6]
        ni = [-3236839855524.2, 7326335090218.1, 358250899454.47, -
            583401318515.9, -10783068217.47, 20825544563.171, 
            610747.83564516, 859777.2253558, -25745.72360417, 
            31081.088422714, 1208.2315865936, 482.19755109255, 
            3.7966001272486, -10.842984880077, -0.04536417267666, 
            1.4559115658698e-13, 1.126159740723e-12, -1.7804982240686e-11, 
            1.2324579690832e-07, -1.1606921130984e-06, 2.7846367088554e-05,
            -0.00059270038474176, 0.0012918582991878]
        Ts = 0
        hs = h / 2000
        for i in range(0, 23):
            Ts = Ts + ni[i] * (p + 25) ** Ii[i] * (hs - 1.8) ** Ji[i]
    return Ts
