-
Notifications
You must be signed in to change notification settings - Fork 0
/
DryBubble.jl
158 lines (153 loc) · 8.44 KB
/
DryBubble.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
""" :( """
function DryBubble_θ_liq_ice(::Type{FT}) where {FT}
z_in = FT[
25., 75., 125., 175., 225., 275., 325., 375., 425.,
475., 525., 575., 625., 675., 725., 775., 825., 875.,
925., 975., 1025., 1075., 1125., 1175., 1225., 1275., 1325.,
1375., 1425., 1475., 1525., 1575., 1625., 1675., 1725., 1775.,
1825., 1875., 1925., 1975., 2025., 2075., 2125., 2175., 2225.,
2275., 2325., 2375., 2425., 2475., 2525., 2575., 2625., 2675.,
2725., 2775., 2825., 2875., 2925., 2975., 3025., 3075., 3125.,
3175., 3225., 3275., 3325., 3375., 3425., 3475., 3525., 3575.,
3625., 3675., 3725., 3775., 3825., 3875., 3925., 3975., 4025.,
4075., 4125., 4175., 4225., 4275., 4325., 4375., 4425., 4475.,
4525., 4575., 4625., 4675., 4725., 4775., 4825., 4875., 4925.,
4975., 5025., 5075., 5125., 5175., 5225., 5275., 5325., 5375.,
5425., 5475., 5525., 5575., 5625., 5675., 5725., 5775., 5825.,
5875., 5925., 5975., 6025., 6075., 6125., 6175., 6225., 6275.,
6325., 6375., 6425., 6475., 6525., 6575., 6625., 6675., 6725.,
6775., 6825., 6875., 6925., 6975., 7025., 7075., 7125., 7175.,
7225., 7275., 7325., 7375., 7425., 7475., 7525., 7575., 7625.,
7675., 7725., 7775., 7825., 7875., 7925., 7975., 8025., 8075.,
8125., 8175., 8225., 8275., 8325., 8375., 8425., 8475., 8525.,
8575., 8625., 8675., 8725., 8775., 8825., 8875., 8925., 8975.,
9025., 9075., 9125., 9175., 9225., 9275., 9325., 9375., 9425.,
9475., 9525., 9575., 9625., 9675., 9725., 9775., 9825., 9875.,
9925., 9975.
]
θ_liq_ice_in = FT[
299.9834, 299.9836, 299.9841, 299.985 , 299.9864, 299.9883,
299.9907, 299.9936, 299.9972, 300.0012, 300.0058, 300.011 ,
300.0166, 300.0228, 300.0293, 300.0363, 300.0436, 300.0512,
300.0591, 300.0672, 300.0755, 300.0838, 300.0921, 300.1004,
300.1086, 300.1167, 300.1245, 300.132 , 300.1393, 300.1461,
300.1525, 300.1583, 300.1637, 300.1685, 300.1726, 300.1762,
300.179 , 300.1812, 300.1826, 300.1833, 300.1833, 300.1826,
300.1812, 300.179 , 300.1762, 300.1727, 300.1685, 300.1637,
300.1584, 300.1525, 300.1461, 300.1393, 300.1321, 300.1245,
300.1167, 300.1087, 300.1005, 300.0922, 300.0838, 300.0755,
300.0673, 300.0592, 300.0513, 300.0437, 300.0364, 300.0294,
300.0228, 300.0167, 300.0111, 300.0059, 300.0013, 299.9972,
299.9937, 299.9908, 299.9884, 299.9865, 299.9851, 299.9842,
299.9837, 299.9835, 299.9835, 299.9835, 299.9835, 299.9835,
299.9835, 299.9835, 299.9835, 299.9835, 299.9835, 299.9835,
299.9835, 299.9835, 299.9835, 299.9835, 299.9835, 299.9835,
299.9835, 299.9835, 299.9835, 299.9835, 299.9835, 299.9835,
299.9835, 299.9835, 299.9835, 299.9835, 299.9835, 299.9835,
299.9835, 299.9835, 299.9835, 299.9835, 299.9835, 299.9835,
299.9836, 299.9836, 299.9836, 299.9836, 299.9836, 299.9836,
299.9836, 299.9836, 299.9836, 299.9836, 299.9836, 299.9836,
299.9836, 299.9836, 299.9836, 299.9836, 299.9836, 299.9836,
299.9836, 299.9836, 299.9836, 299.9836, 299.9836, 299.9836,
299.9836, 299.9836, 299.9836, 299.9836, 299.9836, 299.9836,
299.9836, 299.9836, 299.9836, 299.9836, 299.9836, 299.9836,
299.9836, 299.9836, 299.9836, 299.9836, 299.9836, 299.9836,
299.9836, 299.9836, 299.9836, 299.9836, 299.9836, 299.9836,
299.9836, 299.9836, 299.9836, 299.9836, 299.9836, 299.9836,
299.9836, 299.9836, 299.9836, 299.9836, 299.9836, 299.9836,
299.9836, 299.9836, 299.9836, 299.9836, 299.9837, 299.9837,
299.9837, 299.9837, 299.9837, 299.9837, 299.9837, 299.9837,
299.9837, 299.9837, 299.9837, 299.9837, 299.9837, 299.9837,
299.9837, 299.9837, 299.9837, 299.9837, 299.9837, 299.9837,
299.9837, 299.9837
]
profile = Dierckx.Spline1D(z_in, θ_liq_ice_in; k = 1)
return profile
end
""" :( """
function DryBubble_updrafts_z(::Type{FT}) where {FT}
z_in = FT[
75., 125., 175., 225., 275., 325., 375., 425., 475.,
525., 575., 625., 675., 725., 775., 825., 875., 925.,
975., 1025., 1075., 1125., 1175., 1225., 1275., 1325., 1375.,
1425., 1475., 1525., 1575., 1625., 1675., 1725., 1775., 1825.,
1875., 1925., 1975., 2025., 2075., 2125., 2175., 2225., 2275.,
2325., 2375., 2425., 2475., 2525., 2575., 2625., 2675., 2725.,
2775., 2825., 2875., 2925., 2975., 3025., 3075., 3125., 3175.,
3225., 3275., 3325., 3375., 3425., 3475., 3525., 3575., 3625.,
3675., 3725., 3775., 3825., 3875., 3925.]
return z_in
end
""" :( """
function DryBubble_updrafts_θ_liq_ice(::Type{FT}) where {FT}
z_in = DryBubble_updrafts_z(FT)
θ_liq_in = FT[
299.9882, 299.996 , 300.0063, 300.0205, 300.04 , 300.0594,
300.0848, 300.1131, 300.1438, 300.1766, 300.2198, 300.2567,
300.2946, 300.3452, 300.3849, 300.4245, 300.4791, 300.5182,
300.574 , 300.6305, 300.6668, 300.7222, 300.7771, 300.8074,
300.8591, 300.9092, 300.9574, 300.9758, 301.0182, 301.0579,
301.0944, 301.1276, 301.1572, 301.1515, 301.1729, 301.1902,
301.2033, 301.2122, 301.2167, 301.2169, 301.2127, 301.2041,
301.1913, 301.1743, 301.1533, 301.1593, 301.1299, 301.097 ,
301.0606, 301.0212, 300.9788, 300.9607, 300.9125, 300.8625,
300.8108, 300.7806, 300.7256, 300.6701, 300.6338, 300.5772,
300.5212, 300.482 , 300.4272, 300.3875, 300.3354, 300.2968,
300.2587, 300.2216, 300.1782, 300.1452, 300.1143, 300.0859,
300.0603, 300.0408, 300.0211, 300.0067, 299.9963, 299.9884]
profile = Dierckx.Spline1D(z_in, θ_liq_in; k = 1)
return profile
end
""" :( """
function DryBubble_updrafts_area(::Type{FT}) where {FT}
z_in = DryBubble_updrafts_z(FT)
Area_in = FT[
0.04 , 0.055, 0.07 , 0.08 , 0.085, 0.095, 0.1 , 0.105, 0.11 ,
0.115, 0.115, 0.12 , 0.125, 0.125, 0.13 , 0.135, 0.135, 0.14 ,
0.14 , 0.14 , 0.145, 0.145, 0.145, 0.15 , 0.15 , 0.15 , 0.15 ,
0.155, 0.155, 0.155, 0.155, 0.155, 0.155, 0.16 , 0.16 , 0.16 ,
0.16 , 0.16 , 0.16 , 0.16 , 0.16 , 0.16 , 0.16 , 0.16 , 0.16 ,
0.155, 0.155, 0.155, 0.155, 0.155, 0.155, 0.15 , 0.15 , 0.15 ,
0.15 , 0.145, 0.145, 0.145, 0.14 , 0.14 , 0.14 , 0.135, 0.135,
0.13 , 0.13 , 0.125, 0.12 , 0.115, 0.115, 0.11 , 0.105, 0.1 ,
0.095, 0.085, 0.08 , 0.07 , 0.055, 0.04]
profile = Dierckx.Spline1D(z_in, Area_in; k = 1)
return profile
end
""" :( """
function DryBubble_updrafts_w(::Type{FT}) where {FT}
z_in = DryBubble_updrafts_z(FT)
W_in = FT[
0.017 , 0.0266, 0.0344, 0.0417, 0.0495, 0.0546, 0.061 , 0.0668,
0.0721, 0.0768, 0.0849, 0.0887, 0.092 , 0.0996, 0.1019, 0.1037,
0.1106, 0.1114, 0.1179, 0.1243, 0.1238, 0.1297, 0.1355, 0.1335,
0.1387, 0.1437, 0.1485, 0.1448, 0.1489, 0.1527, 0.1564, 0.1597,
0.1628, 0.1565, 0.1588, 0.1609, 0.1626, 0.1641, 0.1652, 0.166 ,
0.1665, 0.1667, 0.1666, 0.1662, 0.1655, 0.1736, 0.1722, 0.1706,
0.1686, 0.1664, 0.1639, 0.1698, 0.1667, 0.1634, 0.1599, 0.1641,
0.1601, 0.1559, 0.1589, 0.1543, 0.1496, 0.1514, 0.1464, 0.1475,
0.1422, 0.1425, 0.1424, 0.1419, 0.1361, 0.135 , 0.1335, 0.1316,
0.1294, 0.1302, 0.1271, 0.1264, 0.1269, 0.1256]
profile = Dierckx.Spline1D(z_in, W_in; k = 1)
return profile
end
""" :( """
function DryBubble_updrafts_T(::Type{FT}) where {FT}
z_in = DryBubble_updrafts_z(FT)
T_in = FT[
299.2557, 298.775 , 298.2969, 297.8227, 297.3536, 296.8843,
296.421 , 295.9603, 295.502 , 295.0456, 294.5994, 294.1468,
293.6951, 293.2556, 292.8054, 292.3549, 291.9188, 291.4677,
291.0325, 290.5978, 290.1434, 289.7073, 289.2706, 288.81 ,
288.3698, 287.928 , 287.4842, 287.0118, 286.5622, 286.1099,
285.6544, 285.1957, 284.7335, 284.2379, 283.7677, 283.2937,
282.8157, 282.3337, 281.8476, 281.3574, 280.8631, 280.3649,
279.8626, 279.3565, 278.8467, 278.362 , 277.8447, 277.3241,
276.8006, 276.2742, 275.7454, 275.2388, 274.705 , 274.1694,
273.6327, 273.1155, 272.576 , 272.0363, 271.514 , 270.9736,
270.4339, 269.9094, 269.3711, 268.8465, 268.311 , 267.7877,
267.2649, 266.7432, 266.2159, 265.698 , 265.1821, 264.6685,
264.1574, 263.6518, 263.1461, 262.6451, 262.1476, 261.6524]
profile = Dierckx.Spline1D(z_in, T_in; k = 1)
return profile
end