|
19 | 19 | # Collapse data by area mean (average over spatial dimensions)
|
20 | 20 | am_max = sst.collapse("area: maximum") # equivalent to "X Y: mean"
|
21 | 21 | am_min = sst.collapse("area: minimum") # equivalent to "X Y: mean"
|
22 |
| -#am.squeeze(inplace=True)cf.seasons() |
23 | 22 | print("AM SEASONAL IS", am_min, am_max)
|
24 |
| -# REDUCE TO TEST |
25 |
| -am_min = am_min[-100:] # final 100 points |
26 |
| -am_max = am_max[-100:] # final 100 points |
27 | 23 |
|
28 |
| -# Check available coordinates (already found 'dimensioncoordinate0' as the |
29 |
| -# time coordinate) |
30 |
| -###print("Available coordinates:", am.coordinates()) |
| 24 | +# Reduce all timeseries down to just 1980+ since there are some data |
| 25 | +# quality issues before 1970 |
| 26 | +am_max = am_max.subspace(T=cf.ge(cf.dt("1980-01-01"))) |
| 27 | +am_min = am_min.subspace(T=cf.ge(cf.dt("1980-01-01"))) |
| 28 | +print("FINAL FIELDS ARE", am_max, am_min) |
31 | 29 |
|
32 |
| -###am_dim_key, am_data = am.coordinate("dimensioncoordinate0", item=True) |
33 | 30 | am_sub_1 = am_min.collapse("T: mean", group=cf.mam())
|
34 | 31 | am_sub_2 = am_min.collapse("T: mean", group=cf.jja())
|
35 | 32 | am_sub_3 = am_min.collapse("T: mean", group=cf.son())
|
36 | 33 | am_sub_4 = am_min.collapse("T: mean", group=cf.djf())
|
| 34 | + |
37 | 35 | am_sub_5 = am_max.collapse("T: mean", group=cf.mam())
|
38 | 36 | am_sub_6 = am_max.collapse("T: mean", group=cf.jja())
|
39 | 37 | am_sub_7 = am_max.collapse("T: mean", group=cf.son())
|
40 | 38 | am_sub_8 = am_max.collapse("T: mean", group=cf.djf())
|
41 | 39 |
|
42 | 40 |
|
| 41 | +cfp.gopen(rows=2, columns=1, bottom=0.2, file="global_avg_sst_plot.png") |
43 | 42 |
|
44 |
| -""" |
45 |
| -am_sub_1 = am.subspace(**{am_dim_key: cf.mam()}) |
46 |
| -am_sub_2 = am.subspace(**{am_dim_key: cf.month(3)}) |
47 |
| -am_sub_3 = am.subspace(**{am_dim_key: cf.month(4)}) |
48 |
| -am_sub_4 = am.subspace(**{am_dim_key: cf.month(5)}) |
49 |
| -am_sub_2 = am_sub_2 - am_sub_1 |
50 |
| -am_sub_3 = am_sub_3 - am_sub_1 |
51 |
| -am_sub_4 = am_sub_4 - am_sub_1 |
52 |
| -""" |
| 43 | +# Put maxima subplot at top since these values are higher, given |
| 44 | +# increasing x axis |
| 45 | +xticks = list(range(1980, 2024)) |
| 46 | +xlabels = [None for i in xticks] |
53 | 47 |
|
54 |
| - |
55 |
| -cfp.gopen(file="global_avg_sst_plot.png") |
56 |
| -#cfp.lineplot( |
57 |
| -# am, |
58 |
| -# color="blue", |
59 |
| -# title="Global Average Sea Surface Temperature", |
60 |
| -# ylabel="Temperature (K)", |
61 |
| -# xlabel="Time" |
62 |
| -#) |
| 48 | +cfp.gpos(1) |
63 | 49 | cfp.lineplot(
|
64 |
| - am_sub_1, |
| 50 | + am_max, |
| 51 | + color="grey", |
| 52 | + xlabel="", |
| 53 | + #xticks=xticks, |
| 54 | + #xticklabels=xlabels, |
| 55 | +) |
| 56 | +cfp.lineplot( |
| 57 | + am_sub_5, |
65 | 58 | color="red",
|
| 59 | + markeredgecolor="red", |
| 60 | + marker="o", |
| 61 | + xlabel="", |
| 62 | + #xticks=xticks, |
| 63 | + #xticklabels=xlabels, |
66 | 64 | )
|
67 | 65 | cfp.lineplot(
|
68 |
| - am_sub_2, |
| 66 | + am_sub_6, |
69 | 67 | color="green",
|
| 68 | + markeredgecolor="green", |
| 69 | + marker="o", |
| 70 | + xlabel="", |
| 71 | + #xticks=xticks, |
| 72 | + #xticklabels=xlabels, |
70 | 73 | )
|
71 | 74 | cfp.lineplot(
|
72 |
| - am_sub_3, |
| 75 | + am_sub_7, |
73 | 76 | color="blue",
|
| 77 | + markeredgecolor="blue", |
| 78 | + marker="o", |
| 79 | + xlabel="", |
| 80 | + #xticks=xticks, |
| 81 | + #xticklabels=xlabels, |
74 | 82 | )
|
75 | 83 | cfp.lineplot(
|
76 |
| - am_sub_4, |
| 84 | + am_sub_8, |
77 | 85 | color="purple",
|
| 86 | + markeredgecolor="purple", |
| 87 | + marker="o", |
| 88 | + xlabel="", |
| 89 | + #xticks=xticks, |
| 90 | + #xticklabels=xlabels, |
78 | 91 | )
|
| 92 | + |
| 93 | +# Minima subplot below the maxima one |
| 94 | +cfp.gpos(2) |
79 | 95 | cfp.lineplot(
|
80 |
| - am_sub_5, |
| 96 | + am_min, |
| 97 | + color="grey", |
| 98 | +) |
| 99 | +#cfp.lineplot( |
| 100 | +# am, |
| 101 | +# color="blue", |
| 102 | +# title="Global Average Sea Surface Temperature", |
| 103 | +# ylabel="Temperature (K)", |
| 104 | +# xlabel="Time" |
| 105 | +#) |
| 106 | +cfp.lineplot( |
| 107 | + am_sub_1, |
81 | 108 | color="red",
|
| 109 | + markeredgecolor="red", |
| 110 | + marker="o" |
82 | 111 | )
|
83 | 112 | cfp.lineplot(
|
84 |
| - am_sub_6, |
| 113 | + am_sub_2, |
85 | 114 | color="green",
|
| 115 | + markeredgecolor="green", |
| 116 | + marker="o" |
86 | 117 | )
|
87 | 118 | cfp.lineplot(
|
88 |
| - am_sub_7, |
| 119 | + am_sub_3, |
89 | 120 | color="blue",
|
| 121 | + markeredgecolor="blue", |
| 122 | + marker="o" |
90 | 123 | )
|
91 | 124 | cfp.lineplot(
|
92 |
| - am_sub_8, |
| 125 | + am_sub_4, |
93 | 126 | color="purple",
|
| 127 | + markeredgecolor="purple", |
| 128 | + marker="o" |
94 | 129 | )
|
| 130 | + |
95 | 131 | cfp.gclose()
|
0 commit comments