# Python file for plotting the results from the cyclic water retention test
# on Hamburg Sand with parallel CT-imaging
# --------------------------------------------------------------------------
# CT scans using the Laboratoire 3SR X-ray tomograph at Univ. Grenoble Alpes
# 21.07.2019 - 22.07.2019, Grenoble
# 
# Water retention measurement using the UNSAT-Pi 2 set-up
#
# 19 hydraulic steps, 20 CT-scans (including initial state),
# Continuous logging of suction during CT-scans in between hydraulic steps
#
# Control file: SWCC_test_HH_Sand_X_ray_CT_Grenoble_19_steps.py
# Test info file: Test_info_WRC_Test_HH_Sand_21_07_2019_002.csv
# Data file: WRC_Test_HH_Sand_21_07_2019_002.csv
# --------------------------------------------------------------------------
# This Python script visualises the macroscopic water retention curve (WRC)
# during cyclic drainage and imbibition. Initial and final logging steps as
# well as CT imaging steps are highlighted in the plotted data.

# Import libraries:
# ==========================================================================

import matplotlib.pyplot as plt
from matplotlib import style
style.use('ggplot')

from matplotlib import rcParams
import numpy as np

# Settings:
# ==========================================================================

# Colours:
n = 19 # number of different rainbow colours
my_color = plt.cm.jet(np.linspace(0,1,n))
my_linewidth = 1.5

savefigs = True     # Save figures to file?
# ==========================================================================
SMALL_SIZE = 8
MEDIUM_SIZE = 10
BIGGER_SIZE = 12

plt.rc('font', size=MEDIUM_SIZE)          # controls default text sizes
plt.rc('axes', titlesize=MEDIUM_SIZE)     # fontsize of the axes title
plt.rc('axes', labelsize=BIGGER_SIZE)     # fontsize of the x and y labels
plt.rc('xtick', labelsize=MEDIUM_SIZE)    # fontsize of the tick labels
plt.rc('ytick', labelsize=MEDIUM_SIZE)    # fontsize of the tick labels
plt.rc('legend', fontsize=MEDIUM_SIZE)    # legend fontsize
plt.rc('figure', titlesize=BIGGER_SIZE)   # fontsize of the figure title
# ---------------------------
rcParams['font.family'] = 'serif'
# ---------------------------
COLOR = 'black'
plt.rcParams['grid.color'] = COLOR
plt.rcParams['text.color'] = COLOR
plt.rcParams['axes.labelcolor'] = COLOR
plt.rcParams['xtick.color'] = COLOR
plt.rcParams['ytick.color'] = COLOR
plt.rcParams['legend.edgecolor'] = COLOR
plt.rc('axes',edgecolor=COLOR)

# ==========================================================================

# Read the data:
my_filename = 'WRC_Test_HH_Sand_21_07_2019_002.csv'


time_001,volume_change_001,saturation_001,suction_001= np.loadtxt(my_filename,
                                   unpack = True,
                                   delimiter = ',',
                                   skiprows = 1,
                                   usecols = (0,1,2,3))

# Set suction to zero when initially saturated:

suction_001 = suction_001 - suction_001[0]


# ==========================================================================
plot_1 = plt.figure(1)
#
ax = plot_1.add_subplot(111)
ax.patch.set_facecolor('white')


# =====
plt.plot(time_001[0:601]/60,saturation_001[0:601],
        label = ('Initial logging step'),
        linestyle='-',
        color = 'gray',
        marker = '',
        markerfacecolor = 'gray',
        markeredgecolor = 'gray',
        markersize = 3.0,
        linewidth = my_linewidth)
# =====
plt.plot(time_001[3301-1:38459]/60,saturation_001[3301-1:38459],
        label = ('Hydraulic step 1'),
        linestyle='-',
        color = my_color[0],
        marker = '',
        markerfacecolor = my_color[0],
        markeredgecolor = my_color[0],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[41162-1:63977]/60,saturation_001[41162-1:63977],
        label = ('Hydraulic step 2'),
        linestyle='-',
        color = my_color[1],
        marker = '',
        markerfacecolor = my_color[1],
        markeredgecolor = my_color[1],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[66677-1:112334]/60,saturation_001[66677-1:112334],
        label = ('Hydraulic step 3'),
        linestyle='-',
        color = my_color[2],
        marker = '',
        markerfacecolor = my_color[2],
        markeredgecolor = my_color[2],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[115037-1:160694]/60,saturation_001[115037-1:160694],
        label = ('Hydraulic step 4'),
        linestyle='-',
        color = my_color[3],
        marker = '',
        markerfacecolor = my_color[3],
        markeredgecolor = my_color[3],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[163402-1:186217]/60,saturation_001[163402-1:186217],
        label = ('Hydraulic step 5'),
        linestyle='-',
        color = my_color[4],
        marker = '',
        markerfacecolor = my_color[4],
        markeredgecolor = my_color[4],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[188857-1:211672]/60,saturation_001[188857-1:211672],
        label = ('Hydraulic step 6'),
        linestyle='-',
        color = my_color[5],
        marker = '',
        markerfacecolor = my_color[5],
        markeredgecolor = my_color[5],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[214315-1:259972]/60,saturation_001[214315-1:259972],
        label = ('Hydraulic step 7'),
        linestyle='-',
        color = my_color[6],
        marker = '',
        markerfacecolor = my_color[6],
        markeredgecolor = my_color[6],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[262680-1:308337]/60,saturation_001[262680-1:308337],
        label = ('Hydraulic step 8'),
        linestyle='-',
        color = my_color[7],
        marker = '',
        markerfacecolor = my_color[7],
        markeredgecolor = my_color[7],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[311040-1:333855]/60,saturation_001[311040-1:333855],
        label = ('Hydraulic step 9'),
        linestyle='-',
        color = my_color[8],
        marker = '',
        markerfacecolor = my_color[8],
        markeredgecolor = my_color[8],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[336504-1:359319]/60,saturation_001[336504-1:359319],
        label = ('Hydraulic step 10'),
        linestyle='-',
        color = my_color[9],
        marker = '',
        markerfacecolor = my_color[9],
        markeredgecolor = my_color[9],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[361961-1:407618]/60,saturation_001[361961-1:407618],
        label = ('Hydraulic step 11'),
        linestyle='-',
        color = my_color[10],
        marker = '',
        markerfacecolor = my_color[10],
        markeredgecolor = my_color[10],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[410320-1:455977]/60,saturation_001[410320-1:455977],
        label = ('Hydraulic step 12'),
        linestyle='-',
        color = my_color[11],
        marker = '',
        markerfacecolor = my_color[11],
        markeredgecolor = my_color[11],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[458684-1:504341]/60,saturation_001[458684-1:504341],
        label = ('Hydraulic step 13'),
        linestyle='-',
        color = my_color[12],
        marker = '',
        markerfacecolor = my_color[12],
        markeredgecolor = my_color[12],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[507047-1:552704]/60,saturation_001[507047-1:552704],
        label = ('Hydraulic step 14'),
        linestyle='-',
        color = my_color[13],
        marker = '',
        markerfacecolor = my_color[13],
        markeredgecolor = my_color[13],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[555407-1:601064]/60,saturation_001[555407-1:601064],
        label = ('Hydraulic step 15'),
        linestyle='-',
        color = my_color[14],
        marker = '',
        markerfacecolor = my_color[14],
        markeredgecolor = my_color[14],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[603763-1:626578]/60,saturation_001[603763-1:626578],
        label = ('Hydraulic step 16'),
        linestyle='-',
        color = my_color[15],
        marker = '',
        markerfacecolor = my_color[15],
        markeredgecolor = my_color[15],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[629218-1:652033]/60,saturation_001[629218-1:652033],
        label = ('Hydraulic step 17'),
        linestyle='-',
        color = my_color[16],
        marker = '',
        markerfacecolor = my_color[16],
        markeredgecolor = my_color[16],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[654682-1:677497]/60,saturation_001[654682-1:677497],
        label = ('Hydraulic step 18'),
        linestyle='-',
        color = my_color[17],
        marker = '',
        markerfacecolor = my_color[17],
        markeredgecolor = my_color[17],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[680137-1:702952]/60,saturation_001[680137-1:702952],
        label = ('Hydraulic step 19'),
        linestyle='-',
        color = my_color[18],
        marker = '',
        markerfacecolor = my_color[18],
        markeredgecolor = my_color[18],
        markersize = 3.0,
        linewidth = my_linewidth)
# =====
plt.plot(time_001[706791-1200-1:len(time_001)-1]/60,saturation_001[706791-1200-1:len(time_001)-1],
        label = ('Final logging step'),
        linestyle='-',
        color = 'gray',
        marker = '',
        markerfacecolor = 'gray',
        markeredgecolor = 'gray',
        markersize = 3.0,
        linewidth = my_linewidth)
# =========
#
plt.plot(time_001[600-1:3301]/60,saturation_001[600-1:3301],
        label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[38459-1:41162]/60,saturation_001[38459-1:41162],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[63977-1:66677]/60,saturation_001[63977-1:66677],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[112334-1:115037]/60,saturation_001[112334-1:115037],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[160694-1:163402]/60,saturation_001[160694-1:163402],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[186217-1:188857]/60,saturation_001[186217-1:188857],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[211672-1:214315]/60,saturation_001[211672-1:214315],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[259972-1:262680]/60,saturation_001[259972-1:262680],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[308337-1:311040]/60,saturation_001[308337-1:311040],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[333855-1:336504]/60,saturation_001[333855-1:336504],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[359319-1:361961]/60,saturation_001[359319-1:361961],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[407618-1:410320]/60,saturation_001[407618-1:410320],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[455977-1:458684]/60,saturation_001[455977-1:458684],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[504341-1:507047]/60,saturation_001[504341-1:507047],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[552704-1:555407]/60,saturation_001[552704-1:555407],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[601064-1:603763]/60,saturation_001[601064-1:603763],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[626578-1:629218]/60,saturation_001[626578-1:629218],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[652033-1:654682]/60,saturation_001[652033-1:654682],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[677497-1:680137]/60,saturation_001[677497-1:680137],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[702952-1:706791-1200]/60,saturation_001[702952-1:706791-1200],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)

# ===============================================

plt.xlabel('Time $t$ [min]')
plt.ylabel('Degree of saturation $S_{\mathrm{r}}$ [-]')


plot_1.subplots_adjust(bottom=0.4)
handles, labels = ax.get_legend_handles_labels()
lgd = ax.legend(handles, labels, loc ='lower center', ncol = 4, bbox_to_anchor = (0.5,-0.85),
                fancybox=True,shadow=False,facecolor='white', framealpha=1)

plt.grid(True,color='k',linestyle='--')
plt.ylim(0,1.01)
plt.xlim(0,80000.0/60.0)
plot_1.set_size_inches(20/2.54,14/2.54)
# ---
plot_1.show()

# =================================================
plot_2 = plt.figure(2)
#
ax = plot_2.add_subplot(111)
ax.patch.set_facecolor('white')


# =====
plt.plot(time_001[0:601]/60,suction_001[0:601],
        label = ('Initial logging step'),
        linestyle='-',
        color = 'gray',
        marker = '',
        markerfacecolor = 'gray',
        markeredgecolor = 'gray',
        markersize = 3.0,
        linewidth = my_linewidth)
# =====
plt.plot(time_001[3301-1:38459]/60,suction_001[3301-1:38459],
        label = ('Hydraulic step 1'),
        linestyle='-',
        color = my_color[0],
        marker = '',
        markerfacecolor = my_color[0],
        markeredgecolor = my_color[0],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[41162-1:63977]/60,suction_001[41162-1:63977],
        label = ('Hydraulic step 2'),
        linestyle='-',
        color = my_color[1],
        marker = '',
        markerfacecolor = my_color[1],
        markeredgecolor = my_color[1],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[66677-1:112334]/60,suction_001[66677-1:112334],
        label = ('Hydraulic step 3'),
        linestyle='-',
        color = my_color[2],
        marker = '',
        markerfacecolor = my_color[2],
        markeredgecolor = my_color[2],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[115037-1:160694]/60,suction_001[115037-1:160694],
        label = ('Hydraulic step 4'),
        linestyle='-',
        color = my_color[3],
        marker = '',
        markerfacecolor = my_color[3],
        markeredgecolor = my_color[3],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[163402-1:186217]/60,suction_001[163402-1:186217],
        label = ('Hydraulic step 5'),
        linestyle='-',
        color = my_color[4],
        marker = '',
        markerfacecolor = my_color[4],
        markeredgecolor = my_color[4],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[188857-1:211672]/60,suction_001[188857-1:211672],
        label = ('Hydraulic step 6'),
        linestyle='-',
        color = my_color[5],
        marker = '',
        markerfacecolor = my_color[5],
        markeredgecolor = my_color[5],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[214315-1:259972]/60,suction_001[214315-1:259972],
        label = ('Hydraulic step 7'),
        linestyle='-',
        color = my_color[6],
        marker = '',
        markerfacecolor = my_color[6],
        markeredgecolor = my_color[6],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[262680-1:308337]/60,suction_001[262680-1:308337],
        label = ('Hydraulic step 8'),
        linestyle='-',
        color = my_color[7],
        marker = '',
        markerfacecolor = my_color[7],
        markeredgecolor = my_color[7],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[311040-1:333855]/60,suction_001[311040-1:333855],
        label = ('Hydraulic step 9'),
        linestyle='-',
        color = my_color[8],
        marker = '',
        markerfacecolor = my_color[8],
        markeredgecolor = my_color[8],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[336504-1:359319]/60,suction_001[336504-1:359319],
        label = ('Hydraulic step 10'),
        linestyle='-',
        color = my_color[9],
        marker = '',
        markerfacecolor = my_color[9],
        markeredgecolor = my_color[9],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[361961-1:407618]/60,suction_001[361961-1:407618],
        label = ('Hydraulic step 11'),
        linestyle='-',
        color = my_color[10],
        marker = '',
        markerfacecolor = my_color[10],
        markeredgecolor = my_color[10],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[410320-1:455977]/60,suction_001[410320-1:455977],
        label = ('Hydraulic step 12'),
        linestyle='-',
        color = my_color[11],
        marker = '',
        markerfacecolor = my_color[11],
        markeredgecolor = my_color[11],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[458684-1:504341]/60,suction_001[458684-1:504341],
        label = ('Hydraulic step 13'),
        linestyle='-',
        color = my_color[12],
        marker = '',
        markerfacecolor = my_color[12],
        markeredgecolor = my_color[12],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[507047-1:552704]/60,suction_001[507047-1:552704],
        label = ('Hydraulic step 14'),
        linestyle='-',
        color = my_color[13],
        marker = '',
        markerfacecolor = my_color[13],
        markeredgecolor = my_color[13],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[555407-1:601064]/60,suction_001[555407-1:601064],
        label = ('Hydraulic step 15'),
        linestyle='-',
        color = my_color[14],
        marker = '',
        markerfacecolor = my_color[14],
        markeredgecolor = my_color[14],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[603763-1:626578]/60,suction_001[603763-1:626578],
        label = ('Hydraulic step 16'),
        linestyle='-',
        color = my_color[15],
        marker = '',
        markerfacecolor = my_color[15],
        markeredgecolor = my_color[15],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[629218-1:652033]/60,suction_001[629218-1:652033],
        label = ('Hydraulic step 17'),
        linestyle='-',
        color = my_color[16],
        marker = '',
        markerfacecolor = my_color[16],
        markeredgecolor = my_color[16],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[654682-1:677497]/60,suction_001[654682-1:677497],
        label = ('Hydraulic step 18'),
        linestyle='-',
        color = my_color[17],
        marker = '',
        markerfacecolor = my_color[17],
        markeredgecolor = my_color[17],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[680137-1:702952]/60,suction_001[680137-1:702952],
        label = ('Hydraulic step 19'),
        linestyle='-',
        color = my_color[18],
        marker = '',
        markerfacecolor = my_color[18],
        markeredgecolor = my_color[18],
        markersize = 3.0,
        linewidth = my_linewidth)
# =====
plt.plot(time_001[706791-1200-1:len(time_001)-1]/60,suction_001[706791-1200-1:len(time_001)-1],
        label = ('Final logging step'),
        linestyle='-',
        color = 'gray',
        marker = '',
        markerfacecolor = 'gray',
        markeredgecolor = 'gray',
        markersize = 3.0,
        linewidth = my_linewidth)
# =========
#
plt.plot(time_001[600-1:3301]/60,suction_001[600-1:3301],
        label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[38459-1:41162]/60,suction_001[38459-1:41162],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[63977-1:66677]/60,suction_001[63977-1:66677],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[112334-1:115037]/60,suction_001[112334-1:115037],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[160694-1:163402]/60,suction_001[160694-1:163402],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[186217-1:188857]/60,suction_001[186217-1:188857],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[211672-1:214315]/60,suction_001[211672-1:214315],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[259972-1:262680]/60,suction_001[259972-1:262680],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[308337-1:311040]/60,suction_001[308337-1:311040],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[333855-1:336504]/60,suction_001[333855-1:336504],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[359319-1:361961]/60,suction_001[359319-1:361961],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[407618-1:410320]/60,suction_001[407618-1:410320],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[455977-1:458684]/60,suction_001[455977-1:458684],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[504341-1:507047]/60,suction_001[504341-1:507047],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[552704-1:555407]/60,suction_001[552704-1:555407],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[601064-1:603763]/60,suction_001[601064-1:603763],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[626578-1:629218]/60,suction_001[626578-1:629218],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[652033-1:654682]/60,suction_001[652033-1:654682],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[677497-1:680137]/60,suction_001[677497-1:680137],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(time_001[702952-1:706791-1200]/60,suction_001[702952-1:706791-1200],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)

# ===============================================


plt.xlabel('Time $t$ [min]')
plt.ylabel('Matric suction $s$ [kPa]')

plot_2.subplots_adjust(bottom=0.4)
handles, labels = ax.get_legend_handles_labels()
lgd = ax.legend(handles, labels, loc ='lower center', ncol = 4, bbox_to_anchor = (0.5,-0.85),
                fancybox=True,shadow=False,facecolor='white', framealpha=1)


plt.grid(True,color='k',linestyle='--')
plt.ylim(0,1.4)
plt.xlim(0,80000.0/60.0)
plot_2.set_size_inches(20/2.54,14/2.54)
# ---
plot_2.show()
# ==========================================================================
plot_3 = plt.figure(3)
#
ax = plot_3.add_subplot(111)
ax.patch.set_facecolor('white')


# =====
plt.plot(suction_001[0:601],saturation_001[0:601],
        label = ('Initial logging step'),
        linestyle='-',
        color = 'gray',
        marker = '',
        markerfacecolor = 'gray',
        markeredgecolor = 'gray',
        markersize = 3.0,
        linewidth = my_linewidth)
# =====
plt.plot(suction_001[3301-1:38459],saturation_001[3301-1:38459],
        label = ('Hydraulic step 1'),
        linestyle='-',
        color = my_color[0],
        marker = '',
        markerfacecolor = my_color[0],
        markeredgecolor = my_color[0],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[41162-1:63977],saturation_001[41162-1:63977],
        label = ('Hydraulic step 2'),
        linestyle='-',
        color = my_color[1],
        marker = '',
        markerfacecolor = my_color[1],
        markeredgecolor = my_color[1],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[66677-1:112334],saturation_001[66677-1:112334],
        label = ('Hydraulic step 3'),
        linestyle='-',
        color = my_color[2],
        marker = '',
        markerfacecolor = my_color[2],
        markeredgecolor = my_color[2],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[115037-1:160694],saturation_001[115037-1:160694],
        label = ('Hydraulic step 4'),
        linestyle='-',
        color = my_color[3],
        marker = '',
        markerfacecolor = my_color[3],
        markeredgecolor = my_color[3],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[163402-1:186217],saturation_001[163402-1:186217],
        label = ('Hydraulic step 5'),
        linestyle='-',
        color = my_color[4],
        marker = '',
        markerfacecolor = my_color[4],
        markeredgecolor = my_color[4],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[188857-1:211672],saturation_001[188857-1:211672],
        label = ('Hydraulic step 6'),
        linestyle='-',
        color = my_color[5],
        marker = '',
        markerfacecolor = my_color[5],
        markeredgecolor = my_color[5],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[214315-1:259972],saturation_001[214315-1:259972],
        label = ('Hydraulic step 7'),
        linestyle='-',
        color = my_color[6],
        marker = '',
        markerfacecolor = my_color[6],
        markeredgecolor = my_color[6],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[262680-1:308337],saturation_001[262680-1:308337],
        label = ('Hydraulic step 8'),
        linestyle='-',
        color = my_color[7],
        marker = '',
        markerfacecolor = my_color[7],
        markeredgecolor = my_color[7],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[311040-1:333855],saturation_001[311040-1:333855],
        label = ('Hydraulic step 9'),
        linestyle='-',
        color = my_color[8],
        marker = '',
        markerfacecolor = my_color[8],
        markeredgecolor = my_color[8],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[336504-1:359319],saturation_001[336504-1:359319],
        label = ('Hydraulic step 10'),
        linestyle='-',
        color = my_color[9],
        marker = '',
        markerfacecolor = my_color[9],
        markeredgecolor = my_color[9],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[361961-1:407618],saturation_001[361961-1:407618],
        label = ('Hydraulic step 11'),
        linestyle='-',
        color = my_color[10],
        marker = '',
        markerfacecolor = my_color[10],
        markeredgecolor = my_color[10],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[410320-1:455977],saturation_001[410320-1:455977],
        label = ('Hydraulic step 12'),
        linestyle='-',
        color = my_color[11],
        marker = '',
        markerfacecolor = my_color[11],
        markeredgecolor = my_color[11],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[458684-1:504341],saturation_001[458684-1:504341],
        label = ('Hydraulic step 13'),
        linestyle='-',
        color = my_color[12],
        marker = '',
        markerfacecolor = my_color[12],
        markeredgecolor = my_color[12],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[507047-1:552704],saturation_001[507047-1:552704],
        label = ('Hydraulic step 14'),
        linestyle='-',
        color = my_color[13],
        marker = '',
        markerfacecolor = my_color[13],
        markeredgecolor = my_color[13],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[555407-1:601064],saturation_001[555407-1:601064],
        label = ('Hydraulic step 15'),
        linestyle='-',
        color = my_color[14],
        marker = '',
        markerfacecolor = my_color[14],
        markeredgecolor = my_color[14],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[603763-1:626578],saturation_001[603763-1:626578],
        label = ('Hydraulic step 16'),
        linestyle='-',
        color = my_color[15],
        marker = '',
        markerfacecolor = my_color[15],
        markeredgecolor = my_color[15],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[629218-1:652033],saturation_001[629218-1:652033],
        label = ('Hydraulic step 17'),
        linestyle='-',
        color = my_color[16],
        marker = '',
        markerfacecolor = my_color[16],
        markeredgecolor = my_color[16],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[654682-1:677497],saturation_001[654682-1:677497],
        label = ('Hydraulic step 18'),
        linestyle='-',
        color = my_color[17],
        marker = '',
        markerfacecolor = my_color[17],
        markeredgecolor = my_color[17],
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[680137-1:702952],saturation_001[680137-1:702952],
        label = ('Hydraulic step 19'),
        linestyle='-',
        color = my_color[18],
        marker = '',
        markerfacecolor = my_color[18],
        markeredgecolor = my_color[18],
        markersize = 3.0,
        linewidth = my_linewidth)
# =====
plt.plot(suction_001[706791-1200-1:len(suction_001)-1],saturation_001[706791-1200-1:len(suction_001)-1],
        label = ('Final logging step'),
        linestyle='-',
        color = 'gray',
        marker = '',
        markerfacecolor = 'gray',
        markeredgecolor = 'gray',
        markersize = 3.0,
        linewidth = my_linewidth)
# =========
#
plt.plot(suction_001[600-1:3301],saturation_001[600-1:3301],
        label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[38459-1:41162],saturation_001[38459-1:41162],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[63977-1:66677],saturation_001[63977-1:66677],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[112334-1:115037],saturation_001[112334-1:115037],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[160694-1:163402],saturation_001[160694-1:163402],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[186217-1:188857],saturation_001[186217-1:188857],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[211672-1:214315],saturation_001[211672-1:214315],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[259972-1:262680],saturation_001[259972-1:262680],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[308337-1:311040],saturation_001[308337-1:311040],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[333855-1:336504],saturation_001[333855-1:336504],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[359319-1:361961],saturation_001[359319-1:361961],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[407618-1:410320],saturation_001[407618-1:410320],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[455977-1:458684],saturation_001[455977-1:458684],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[504341-1:507047],saturation_001[504341-1:507047],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[552704-1:555407],saturation_001[552704-1:555407],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[601064-1:603763],saturation_001[601064-1:603763],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[626578-1:629218],saturation_001[626578-1:629218],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[652033-1:654682],saturation_001[652033-1:654682],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[677497-1:680137],saturation_001[677497-1:680137],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)
#
plt.plot(suction_001[702952-1:706791-1200],saturation_001[702952-1:706791-1200],
        #label = ('CT scan'),
        linestyle='-',
        color = 'k',
        marker = '',
        markerfacecolor = 'k',
        markeredgecolor = 'k',
        markersize = 3.0,
        linewidth = my_linewidth)

# ===============================================

plt.xlabel('Matric suction $s$ [kPa]')
plt.ylabel('Degree of saturation $S_{\mathrm{r}}$ [-]')

plot_3.subplots_adjust(bottom=0.4)
handles, labels = ax.get_legend_handles_labels()
lgd = ax.legend(handles, labels, loc ='lower center', ncol = 4, bbox_to_anchor = (0.5,-0.55),
                fancybox=True,shadow=False,facecolor='white', framealpha=1)



plt.grid(True,color='k',linestyle='--')
plt.ylim(0,1.01)
plt.xlim(0,1.4)
plot_3.set_size_inches(20/2.54,20/2.54)
# ---
plot_3.show()


# ==========================================================================
# Save figures to file if savefigs == True:

if savefigs == True:
    print('Saving figures to file...')
    plot_1.savefig("Sr_vs_t.pdf", bbox_inches='tight')
    plot_2.savefig("s_vs_t.pdf", bbox_inches='tight')
    plot_3.savefig("WRC.pdf", bbox_inches='tight')
    print('Done.')
else:
    print('Figures not saved to file.')


  
