Arctic sea surface temp anomaly visualization

This commit is contained in:
Muaz Ahmad 2023-08-01 12:33:30 +05:00
parent 27401cf427
commit 2b20519dbb

View file

@ -0,0 +1,24 @@
import json
import matplotlib.pyplot as plt
import numpy, pandas
import requests
res = requests.get('https://climatereanalyzer.org/clim/sst_daily/json/oisst2.1_world2_sst_day.json')
if res.status_code == 200:
data = json.loads(res.text)
data = data[:-3] # remove final three cols (avg and sds)
temps = numpy.array([i['data'] for i in data], numpy.float32).T
cols = [i['name'] for i in data]
df = pandas.DataFrame(temps, columns = cols)
diffs = pandas.DataFrame(columns = cols, dtype=numpy.float32)
for col in cols[20:]:
i = cols.index(col)
means = df[df.columns[0:20]].mean(axis=1) # 1981 - 2001 mean sst
diffs[col] = df[col] - means
series = diffs.melt().drop('variable', axis=1)
series.plot(figsize=(20,5))
plt.xticks(numpy.arange(0,len(series),366)[20:], (numpy.arange(0, len(series), 366)[20:] / 366 + 1981).astype(int))
plt.show()