-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplot_gcms.py
More file actions
90 lines (74 loc) · 2.88 KB
/
plot_gcms.py
File metadata and controls
90 lines (74 loc) · 2.88 KB
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
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Oct 20 12:43:28 2023
@author: cqz20mbu
"""
#! /usr/bin python
#------------------------------------------------------------------------------
# PROGRAM: plot_gcm_unsmoothed.py
#------------------------------------------------------------------------------
# Version 0.1
# 18 October, 2023
# Michael Taylor
# michael DOT a DOT taylor AT uea DOT ac DOT uk
#------------------------------------------------------------------------------
import numpy as np
import numpy.ma as ma
import pandas as pd
import xarray as xr
import pickle
from datetime import datetime
import netCDF4
# Colour libraries:
import cmocean
# Plotting libraries:
import matplotlib
#matplotlib.use('agg')
import matplotlib.pyplot as plt; plt.close('all')
import matplotlib.cm as cm
from matplotlib import rcParams
from matplotlib.cm import ScalarMappable
from mpl_toolkits.axes_grid1 import make_axes_locatable
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()
import matplotlib.ticker as mticker
import matplotlib.dates as mdates
from matplotlib import colors as mcolors
# %matplotlib inline # for Jupyter Notebooks
# Mapping libraries:
import cartopy
import cartopy.crs as ccrs
from cartopy.io import shapereader
import cartopy.feature as cf
from cartopy.util import add_cyclic_point
from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
# Silence library version notifications
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
warnings.filterwarnings("ignore", category=UserWarning)
warnings.filterwarnings("ignore", category=RuntimeWarning)
warnings.filterwarnings("ignore", message="numpy.dtype size changed")
warnings.filterwarnings("ignore", message="numpy.ufunc size changed")
#----------------------------------------------------------------------------
# SETTINGS
#----------------------------------------------------------------------------
fontsize = 16
dpi = 300 # [144,300,600]
#----------------------------------------------------------------------------
# LOAD: GloSAT anomalies station dataframe
#----------------------------------------------------------------------------
print('loading GCM timeseries ...')
df_historical = pd.read_pickle( 'csdiETCCDI_historical_Kisumu.pkl', compression='bz2' )
df_ssp126 = pd.read_pickle( 'csdiETCCDI_ssp126_Kisumu.pkl', compression='bz2' )
df_ssp370 = pd.read_pickle( 'csdiETCCDI_ssp370_Kisumu.pkl', compression='bz2' )
df_historical.index = df_historical['datetimes']
df_ssp126.index = df_ssp126['datetimes']
df_ssp370.index = df_ssp370['datetimes']
del df_historical['datetimes']
del df_ssp126['datetimes']
del df_ssp370['datetimes']
df_historical.to_csv('kisumu-gcm-historial.csv')
df_ssp126.to_csv('kisumu-gcm-ssp126.csv')
df_ssp370.to_csv('kisumu-gcm-ssp370.csv')