In [1]:
import warnings
warnings.filterwarnings("ignore",category=FutureWarning)
import xarray as xr
import numpy as np
from matplotlib import pyplot as plt
import os
warnings.filterwarnings("ignore",message='invalid value encountered in less_equal')
%matplotlib inline
In [2]:
figSavePath = '/Users/danstechman/GoogleDrive/School/Research/PECAN/Microphysics/plots/vertical_profiles/RIJ-compare-excldU4S7'
fType = 'pdf'
npSaveFname = '/Users/danstechman/GoogleDrive/PECAN-Data/mp-data/esr_RIJcmp_stats_excldU4S7.npz'
saveNP = True
noDispSave = True
plotRIJcmpAll = False
plotRIJcmpSR = True
plotRH = True
plotNt = True
plotTWC = True
plotDmm = True
plotARat = True
plotRE = False
plotRjcR = False
# Define temp bin interval
binIntvl = 1.0
flights = ['20150617','20150620','20150701','20150706','20150709']
esrFill = 'mediumslateblue'
esrLine = '#3D3477'
rijFill = '#c80815'
rijLine = '#b22222'
nrijFill = '#0059b3'
nrijLine = '#003367'
if not os.path.exists(figSavePath):
os.makedirs(figSavePath)
In [3]:
# Dictionary to hold each concatenated variable from all RIJ spirals
allRIJ = {'tempC': [],'rh': [],'Nt': [],'twc': [],'Dmm': [],'ar': [],'re': [],'rjctRatio': []}
# Dictionaries for RIJ spirals, sorted by zone
srRIJ = {'tempC': [],'rh': [],'Nt': [],'twc': [],'Dmm': [],'ar': [],'re': [],'rjctRatio': []}
# Dictionary for all other spirals
allNRIJ = {'tempC': [],'rh': [],'Nt': [],'twc': [],'Dmm': [],'ar': [],'re': [],'rjctRatio': []}
# Dictionaries for non-RIJ spirals, sorted by zone (only TZ and ESR; no AR RIJ spirals to compare with)
srNRIJ = {'tempC': [],'rh': [],'Nt': [],'twc': [],'Dmm': [],'ar': [],'re': [],'rjctRatio': []}
allCount = 0
rijCount = 0
srRIJcount = 0
nrijCount = 0
srNRIJcount = 0
for flight in flights:
cipFile = '/Users/danstechman/GoogleDrive/PECAN-Data/mp-data/' + flight + '/' + flight + '_CIPfit-spirals-10s1sAvg.nc'
# Pull out any global variables/attributes from the netcdf file
cipData_root = xr.open_dataset(cipFile)
sprlZone = str(cipData_root.sprlZone.data,'utf-8')
numSprls = len(sprlZone)
# Loop over each spiral for the current flight
for ix in np.arange(0,numSprls):
# Open the group associated with the current spiral
cipData = xr.open_dataset(cipFile,group='spiral_' + str(ix+1))
# Extract the RIJ spirals (all but #3 and #6 from 20 June)
# (Remember that ix is 0-based, i.e., ix=2 is actually spiral 3)
if flight == '20150620' and (ix in [0,1,3,4,6]):
if ix == 6:
continue
allCount += 1
rijCount += 1
if sprlZone[ix] == 'S':
srRIJcount += 1
srRIJ['tempC'].append(cipData.tempC_10s.data.tolist())
srRIJ['rh'].append(cipData.rh_10s.data.tolist())
srRIJ['Nt'].append(cipData.cipNt_hybrid_igf.data.tolist())
srRIJ['twc'].append(cipData.cipTWC_hybrid_igf_mlr.data.tolist())
srRIJ['Dmm'].append(cipData.cipDmm_hybrid_igf_mlr.data.tolist())
srRIJ['ar'].append(cipData.areaRatio_10s.data.tolist())
srRIJ['re'].append(cipData.efctvRadius_10s_mlr.data.tolist())
srRIJ['rjctRatio'].append(cipData.rjctRatio_10s.data.tolist())
# Data from all RIJ spirals
allRIJ['tempC'].append(cipData.tempC_10s.data.tolist())
allRIJ['rh'].append(cipData.rh_10s.data.tolist())
allRIJ['Nt'].append(cipData.cipNt_hybrid_igf.data.tolist())
allRIJ['twc'].append(cipData.cipTWC_hybrid_igf_mlr.data.tolist())
allRIJ['Dmm'].append(cipData.cipDmm_hybrid_igf_mlr.data.tolist())
allRIJ['ar'].append(cipData.areaRatio_10s.data.tolist())
allRIJ['re'].append(cipData.efctvRadius_10s_mlr.data.tolist())
allRIJ['rjctRatio'].append(cipData.rjctRatio_10s.data.tolist())
else:
if flight == '20150617' and (ix in [0,2]):
continue
if flight == '20150706' and (ix in [0,1]):
continue
else:
allCount += 1
nrijCount += 1
if sprlZone[ix] == 'S':
srNRIJcount += 1
srNRIJ['tempC'].append(cipData.tempC_10s.data.tolist())
srNRIJ['rh'].append(cipData.rh_10s.data.tolist())
srNRIJ['Nt'].append(cipData.cipNt_hybrid_igf.data.tolist())
srNRIJ['twc'].append(cipData.cipTWC_hybrid_igf_mlr.data.tolist())
srNRIJ['Dmm'].append(cipData.cipDmm_hybrid_igf_mlr.data.tolist())
srNRIJ['ar'].append(cipData.areaRatio_10s.data.tolist())
srNRIJ['re'].append(cipData.efctvRadius_10s_mlr.data.tolist())
srNRIJ['rjctRatio'].append(cipData.rjctRatio_10s.data.tolist())
# Data from all non-RIJ spirals
allNRIJ['tempC'].append(cipData.tempC_10s.data.tolist())
allNRIJ['rh'].append(cipData.rh_10s.data.tolist())
allNRIJ['Nt'].append(cipData.cipNt_hybrid_igf.data.tolist())
allNRIJ['twc'].append(cipData.cipTWC_hybrid_igf_mlr.data.tolist())
allNRIJ['Dmm'].append(cipData.cipDmm_hybrid_igf_mlr.data.tolist())
allNRIJ['ar'].append(cipData.areaRatio_10s.data.tolist())
allNRIJ['re'].append(cipData.efctvRadius_10s_mlr.data.tolist())
allNRIJ['rjctRatio'].append(cipData.rjctRatio_10s.data.tolist())
# Pull out all the data for each variable and place within a single
# list (the steps above produce nested lists for some reason...)
allRIJ['tempC'] = [i for sublist in allRIJ['tempC'] for i in sublist]
allRIJ['rh'] = [i for sublist in allRIJ['rh'] for i in sublist]
allRIJ['Nt'] = [i for sublist in allRIJ['Nt'] for i in sublist]
allRIJ['twc'] = [i for sublist in allRIJ['twc'] for i in sublist]
allRIJ['Dmm'] = [i for sublist in allRIJ['Dmm'] for i in sublist]
allRIJ['ar'] = [i for sublist in allRIJ['ar'] for i in sublist]
allRIJ['re'] = [i for sublist in allRIJ['re'] for i in sublist]
allRIJ['rjctRatio'] = [i for sublist in allRIJ['rjctRatio'] for i in sublist]
srRIJ['tempC'] = [i for sublist in srRIJ['tempC'] for i in sublist]
srRIJ['rh'] = [i for sublist in srRIJ['rh'] for i in sublist]
srRIJ['Nt'] = [i for sublist in srRIJ['Nt'] for i in sublist]
srRIJ['twc'] = [i for sublist in srRIJ['twc'] for i in sublist]
srRIJ['Dmm'] = [i for sublist in srRIJ['Dmm'] for i in sublist]
srRIJ['ar'] = [i for sublist in srRIJ['ar'] for i in sublist]
srRIJ['re'] = [i for sublist in srRIJ['re'] for i in sublist]
srRIJ['rjctRatio'] = [i for sublist in srRIJ['rjctRatio'] for i in sublist]
allNRIJ['tempC'] = [i for sublist in allNRIJ['tempC'] for i in sublist]
allNRIJ['rh'] = [i for sublist in allNRIJ['rh'] for i in sublist]
allNRIJ['Nt'] = [i for sublist in allNRIJ['Nt'] for i in sublist]
allNRIJ['twc'] = [i for sublist in allNRIJ['twc'] for i in sublist]
allNRIJ['Dmm'] = [i for sublist in allNRIJ['Dmm'] for i in sublist]
allNRIJ['ar'] = [i for sublist in allNRIJ['ar'] for i in sublist]
allNRIJ['re'] = [i for sublist in allNRIJ['re'] for i in sublist]
allNRIJ['rjctRatio'] = [i for sublist in allNRIJ['rjctRatio'] for i in sublist]
srNRIJ['tempC'] = [i for sublist in srNRIJ['tempC'] for i in sublist]
srNRIJ['rh'] = [i for sublist in srNRIJ['rh'] for i in sublist]
srNRIJ['Nt'] = [i for sublist in srNRIJ['Nt'] for i in sublist]
srNRIJ['twc'] = [i for sublist in srNRIJ['twc'] for i in sublist]
srNRIJ['Dmm'] = [i for sublist in srNRIJ['Dmm'] for i in sublist]
srNRIJ['ar'] = [i for sublist in srNRIJ['ar'] for i in sublist]
srNRIJ['re'] = [i for sublist in srNRIJ['re'] for i in sublist]
srNRIJ['rjctRatio'] = [i for sublist in srNRIJ['rjctRatio'] for i in sublist]
In [4]:
# Convert the lists in each dictionary to numpy arrays
allRIJ = {key: np.array(val) for key, val in allRIJ.items()}
srRIJ = {key: np.array(val) for key, val in srRIJ.items()}
allNRIJ = {key: np.array(val) for key, val in allNRIJ.items()}
srNRIJ = {key: np.array(val) for key, val in srNRIJ.items()}
# Change units as desired for any variables
allRIJ['re'] = allRIJ['re']/1000 # Convert from um to mm
srRIJ['re'] = srRIJ['re']/1000
allNRIJ['re'] = allNRIJ['re']/1000
srNRIJ['re'] = srNRIJ['re']/1000
# Set 0's to NaNs in variables where the 0's cause issues
# with the fill plotting (and where a 0 vs. a NaN do not
# make a difference scientifically in my case)
allRIJ['Dmm'][allRIJ['Dmm'] == 0] = np.nan
srRIJ['Dmm'][srRIJ['Dmm'] == 0] = np.nan
allNRIJ['Dmm'][allNRIJ['Dmm'] == 0] = np.nan
srNRIJ['Dmm'][srNRIJ['Dmm'] == 0] = np.nan
allRIJ['Nt'][allRIJ['Nt'] == 0] = np.nan
srRIJ['Nt'][srRIJ['Nt'] == 0] = np.nan
allNRIJ['Nt'][allNRIJ['Nt'] == 0] = np.nan
srNRIJ['Nt'][srNRIJ['Nt'] == 0] = np.nan
allRIJ['twc'][allRIJ['twc'] == 0] = np.nan
srRIJ['twc'][srRIJ['twc'] == 0] = np.nan
allNRIJ['twc'][allNRIJ['twc'] == 0] = np.nan
srNRIJ['twc'][srNRIJ['twc'] == 0] = np.nan
In [5]:
# Define temperature bin edges and determine bin midpoints
edgeMin = -19.0 - (binIntvl/2.)
edgeMax = 20.5 + (binIntvl/2.)
edgesTemp = np.arange(edgeMin,edgeMax,binIntvl)
bin_mid = (edgesTemp[0:-1] + edgesTemp[1:])/2
numBins = len(edgesTemp)-1
# Determine which bins each of the temperatures correspond to within each MCS region
whichBinTemp_ALLrij = np.digitize(allRIJ['tempC'],edgesTemp)
whichBinTemp_SRrij = np.digitize(srRIJ['tempC'],edgesTemp)
whichBinTemp_ALLnrij = np.digitize(allNRIJ['tempC'],edgesTemp)
whichBinTemp_SRnrij = np.digitize(srNRIJ['tempC'],edgesTemp)
# Define arrays filled with NaNs to hold the min/max/mean/quantiles
# for each variable and at each temperature bin
binRH_min_ALLrij, binRH_max_ALLrij, binRH_mean_ALLrij, binRH_median_ALLrij, binRH_10pct_ALLrij, binRH_25pct_ALLrij, binRH_75pct_ALLrij, binRH_90pct_ALLrij, binRH_stdv_ALLrij, \
binNt_min_ALLrij, binNt_max_ALLrij, binNt_mean_ALLrij, binNt_median_ALLrij, binNt_10pct_ALLrij, binNt_25pct_ALLrij, binNt_75pct_ALLrij, binNt_90pct_ALLrij, binNt_stdv_ALLrij, \
binTWC_min_ALLrij, binTWC_max_ALLrij, binTWC_mean_ALLrij, binTWC_median_ALLrij, binTWC_10pct_ALLrij, binTWC_25pct_ALLrij, binTWC_75pct_ALLrij, binTWC_90pct_ALLrij, binTWC_stdv_ALLrij, \
binDmm_min_ALLrij, binDmm_max_ALLrij, binDmm_mean_ALLrij, binDmm_median_ALLrij, binDmm_10pct_ALLrij, binDmm_25pct_ALLrij, binDmm_75pct_ALLrij, binDmm_90pct_ALLrij, binDmm_stdv_ALLrij, \
binARat_min_ALLrij, binARat_max_ALLrij, binARat_mean_ALLrij, binARat_median_ALLrij, binARat_10pct_ALLrij, binARat_25pct_ALLrij, binARat_75pct_ALLrij, binARat_90pct_ALLrij, binARat_stdv_ALLrij, \
binRE_min_ALLrij, binRE_max_ALLrij, binRE_mean_ALLrij, binRE_median_ALLrij, binRE_10pct_ALLrij, binRE_25pct_ALLrij, binRE_75pct_ALLrij, binRE_90pct_ALLrij, \
binRjcR_min_ALLrij, binRjcR_max_ALLrij, binRjcR_mean_ALLrij, binRjcR_median_ALLrij, binRjcR_10pct_ALLrij, binRjcR_25pct_ALLrij, binRjcR_75pct_ALLrij, binRjcR_90pct_ALLrij, \
= [np.full(numBins,np.nan) for i in range(61)]
binRH_min_SRrij, binRH_max_SRrij, binRH_mean_SRrij, binRH_median_SRrij, binRH_10pct_SRrij, binRH_25pct_SRrij, binRH_75pct_SRrij, binRH_90pct_SRrij, binRH_stdv_SRrij, \
binNt_min_SRrij, binNt_max_SRrij, binNt_mean_SRrij, binNt_median_SRrij, binNt_10pct_SRrij, binNt_25pct_SRrij, binNt_75pct_SRrij, binNt_90pct_SRrij, binNt_stdv_SRrij, \
binTWC_min_SRrij, binTWC_max_SRrij, binTWC_mean_SRrij, binTWC_median_SRrij, binTWC_10pct_SRrij, binTWC_25pct_SRrij, binTWC_75pct_SRrij, binTWC_90pct_SRrij, binTWC_stdv_SRrij, \
binDmm_min_SRrij, binDmm_max_SRrij, binDmm_mean_SRrij, binDmm_median_SRrij, binDmm_10pct_SRrij, binDmm_25pct_SRrij, binDmm_75pct_SRrij, binDmm_90pct_SRrij, binDmm_stdv_SRrij, \
binARat_min_SRrij, binARat_max_SRrij, binARat_mean_SRrij, binARat_median_SRrij, binARat_10pct_SRrij, binARat_25pct_SRrij, binARat_75pct_SRrij, binARat_90pct_SRrij, binARat_stdv_SRrij, \
binRE_min_SRrij, binRE_max_SRrij, binRE_mean_SRrij, binRE_median_SRrij, binRE_10pct_SRrij, binRE_25pct_SRrij, binRE_75pct_SRrij, binRE_90pct_SRrij, \
binRjcR_min_SRrij, binRjcR_max_SRrij, binRjcR_mean_SRrij, binRjcR_median_SRrij, binRjcR_10pct_SRrij, binRjcR_25pct_SRrij, binRjcR_75pct_SRrij, binRjcR_90pct_SRrij, \
= [np.full(numBins,np.nan) for i in range(61)]
binRH_min_ALLnrij, binRH_max_ALLnrij, binRH_mean_ALLnrij, binRH_median_ALLnrij, binRH_10pct_ALLnrij, binRH_25pct_ALLnrij, binRH_75pct_ALLnrij, binRH_90pct_ALLnrij, binRH_stdv_ALLnrij, \
binNt_min_ALLnrij, binNt_max_ALLnrij, binNt_mean_ALLnrij, binNt_median_ALLnrij, binNt_10pct_ALLnrij, binNt_25pct_ALLnrij, binNt_75pct_ALLnrij, binNt_90pct_ALLnrij, binNt_stdv_ALLnrij, \
binTWC_min_ALLnrij, binTWC_max_ALLnrij, binTWC_mean_ALLnrij, binTWC_median_ALLnrij, binTWC_10pct_ALLnrij, binTWC_25pct_ALLnrij, binTWC_75pct_ALLnrij, binTWC_90pct_ALLnrij, binTWC_stdv_ALLnrij, \
binDmm_min_ALLnrij, binDmm_max_ALLnrij, binDmm_mean_ALLnrij, binDmm_median_ALLnrij, binDmm_10pct_ALLnrij, binDmm_25pct_ALLnrij, binDmm_75pct_ALLnrij, binDmm_90pct_ALLnrij, binDmm_stdv_ALLnrij, \
binARat_min_ALLnrij, binARat_max_ALLnrij, binARat_mean_ALLnrij, binARat_median_ALLnrij, binARat_10pct_ALLnrij, binARat_25pct_ALLnrij, binARat_75pct_ALLnrij, binARat_90pct_ALLnrij, binARat_stdv_ALLnrij, \
binRE_min_ALLnrij, binRE_max_ALLnrij, binRE_mean_ALLnrij, binRE_median_ALLnrij, binRE_10pct_ALLnrij, binRE_25pct_ALLnrij, binRE_75pct_ALLnrij, binRE_90pct_ALLnrij, \
binRjcR_min_ALLnrij, binRjcR_max_ALLnrij, binRjcR_mean_ALLnrij, binRjcR_median_ALLnrij, binRjcR_10pct_ALLnrij, binRjcR_25pct_ALLnrij, binRjcR_75pct_ALLnrij, binRjcR_90pct_ALLnrij, \
= [np.full(numBins,np.nan) for i in range(61)]
binRH_min_SRnrij, binRH_max_SRnrij, binRH_mean_SRnrij, binRH_median_SRnrij, binRH_10pct_SRnrij, binRH_25pct_SRnrij, binRH_75pct_SRnrij, binRH_90pct_SRnrij, binRH_stdv_SRnrij, \
binNt_min_SRnrij, binNt_max_SRnrij, binNt_mean_SRnrij, binNt_median_SRnrij, binNt_10pct_SRnrij, binNt_25pct_SRnrij, binNt_75pct_SRnrij, binNt_90pct_SRnrij, binNt_stdv_SRnrij, \
binTWC_min_SRnrij, binTWC_max_SRnrij, binTWC_mean_SRnrij, binTWC_median_SRnrij, binTWC_10pct_SRnrij, binTWC_25pct_SRnrij, binTWC_75pct_SRnrij, binTWC_90pct_SRnrij, binTWC_stdv_SRnrij, \
binDmm_min_SRnrij, binDmm_max_SRnrij, binDmm_mean_SRnrij, binDmm_median_SRnrij, binDmm_10pct_SRnrij, binDmm_25pct_SRnrij, binDmm_75pct_SRnrij, binDmm_90pct_SRnrij, binDmm_stdv_SRnrij, \
binARat_min_SRnrij, binARat_max_SRnrij, binARat_mean_SRnrij, binARat_median_SRnrij, binARat_10pct_SRnrij, binARat_25pct_SRnrij, binARat_75pct_SRnrij, binARat_90pct_SRnrij, binARat_stdv_SRnrij, \
binRE_min_SRnrij, binRE_max_SRnrij, binRE_mean_SRnrij, binRE_median_SRnrij, binRE_10pct_SRnrij, binRE_25pct_SRnrij, binRE_75pct_SRnrij, binRE_90pct_SRnrij, \
binRjcR_min_SRnrij, binRjcR_max_SRnrij, binRjcR_mean_SRnrij, binRjcR_median_SRnrij, binRjcR_10pct_SRnrij, binRjcR_25pct_SRnrij, binRjcR_75pct_SRnrij, binRjcR_90pct_SRnrij, \
= [np.full(numBins,np.nan) for i in range(61)]
In [6]:
# Loop through the temperature bins and determine the indices of the
# temperature variable corresponding to temps within said bin
# Then, use these indices to refer to the appropriate values in each of
# our variables of interest.
with warnings.catch_warnings():
# Many of our variables have temp bins with all NaNs which will
# throw runtime warnings everytime we try to use nan*math functions
# Here we just tell python to ignore these specific warnings to unclutter
# the output
warnings.filterwarnings('ignore', 'All-NaN (slice|axis) encountered')
warnings.filterwarnings('ignore', 'Mean of empty slice')
for ix in range(0,numBins):
binMatch_ALLrij = np.squeeze(np.where(whichBinTemp_ALLrij == ix))
binMatch_SRrij = np.squeeze(np.where(whichBinTemp_SRrij == ix))
binMatch_ALLnrij = np.squeeze(np.where(whichBinTemp_ALLnrij == ix))
binMatch_SRnrij = np.squeeze(np.where(whichBinTemp_SRnrij == ix))
binRH_ALLrij = allRIJ['rh'][binMatch_ALLrij]
binRH_SRrij = srRIJ['rh'][binMatch_SRrij]
binRH_ALLnrij = allNRIJ['rh'][binMatch_ALLnrij]
binRH_SRnrij = srNRIJ['rh'][binMatch_SRnrij]
binNt_ALLrij = allRIJ['Nt'][binMatch_ALLrij]
binNt_SRrij = srRIJ['Nt'][binMatch_SRrij]
binNt_ALLnrij = allNRIJ['Nt'][binMatch_ALLnrij]
binNt_SRnrij = srNRIJ['Nt'][binMatch_SRnrij]
binTWC_ALLrij = allRIJ['twc'][binMatch_ALLrij]
binTWC_SRrij = srRIJ['twc'][binMatch_SRrij]
binTWC_ALLnrij = allNRIJ['twc'][binMatch_ALLnrij]
binTWC_SRnrij = srNRIJ['twc'][binMatch_SRnrij]
binDmm_ALLrij = allRIJ['Dmm'][binMatch_ALLrij]
binDmm_SRrij = srRIJ['Dmm'][binMatch_SRrij]
binDmm_ALLnrij = allNRIJ['Dmm'][binMatch_ALLnrij]
binDmm_SRnrij = srNRIJ['Dmm'][binMatch_SRnrij]
binARat_ALLrij = allRIJ['ar'][binMatch_ALLrij]
binARat_SRrij = srRIJ['ar'][binMatch_SRrij]
binARat_ALLnrij = allNRIJ['ar'][binMatch_ALLnrij]
binARat_SRnrij = srNRIJ['ar'][binMatch_SRnrij]
binRE_ALLrij = allRIJ['re'][binMatch_ALLrij]
binRE_SRrij = srRIJ['re'][binMatch_SRrij]
binRE_ALLnrij = allNRIJ['re'][binMatch_ALLnrij]
binRE_SRnrij = srNRIJ['re'][binMatch_SRnrij]
binRjcR_ALLrij = allRIJ['rjctRatio'][binMatch_ALLrij]
binRjcR_SRrij = srRIJ['rjctRatio'][binMatch_SRrij]
binRjcR_ALLnrij = allNRIJ['rjctRatio'][binMatch_ALLnrij]
binRjcR_SRnrij = srNRIJ['rjctRatio'][binMatch_SRnrij]
if np.any(binMatch_ALLrij):
binRH_min_ALLrij[ix] = np.nanmin(binRH_ALLrij)
binRH_max_ALLrij[ix] = np.nanmax(binRH_ALLrij)
binRH_mean_ALLrij[ix] = np.nanmean(binRH_ALLrij)
binRH_median_ALLrij[ix] = np.nanmedian(binRH_ALLrij)
binRH_10pct_ALLrij[ix] = np.nanpercentile(binRH_ALLrij,10)
binRH_25pct_ALLrij[ix] = np.nanpercentile(binRH_ALLrij,25)
binRH_75pct_ALLrij[ix] = np.nanpercentile(binRH_ALLrij,75)
binRH_90pct_ALLrij[ix] = np.nanpercentile(binRH_ALLrij,90)
binRH_stdv_ALLrij[ix] = np.nanstd(binRH_ALLrij)
binNt_min_ALLrij[ix] = np.nanmin(binNt_ALLrij)
binNt_max_ALLrij[ix] = np.nanmax(binNt_ALLrij)
binNt_mean_ALLrij[ix] = np.nanmean(binNt_ALLrij)
binNt_median_ALLrij[ix] = np.nanmedian(binNt_ALLrij)
binNt_10pct_ALLrij[ix] = np.nanpercentile(binNt_ALLrij,10)
binNt_25pct_ALLrij[ix] = np.nanpercentile(binNt_ALLrij,25)
binNt_75pct_ALLrij[ix] = np.nanpercentile(binNt_ALLrij,75)
binNt_90pct_ALLrij[ix] = np.nanpercentile(binNt_ALLrij,90)
binNt_stdv_ALLrij[ix] = np.nanstd(binNt_ALLrij)
binTWC_min_ALLrij[ix] = np.nanmin(binTWC_ALLrij)
binTWC_max_ALLrij[ix] = np.nanmax(binTWC_ALLrij)
binTWC_mean_ALLrij[ix] = np.nanmean(binTWC_ALLrij)
binTWC_median_ALLrij[ix] = np.nanmedian(binTWC_ALLrij)
binTWC_10pct_ALLrij[ix] = np.nanpercentile(binTWC_ALLrij,10)
binTWC_25pct_ALLrij[ix] = np.nanpercentile(binTWC_ALLrij,25)
binTWC_75pct_ALLrij[ix] = np.nanpercentile(binTWC_ALLrij,75)
binTWC_90pct_ALLrij[ix] = np.nanpercentile(binTWC_ALLrij,90)
binTWC_stdv_ALLrij[ix] = np.nanstd(binTWC_ALLrij)
binDmm_min_ALLrij[ix] = np.nanmin(binDmm_ALLrij)
binDmm_max_ALLrij[ix] = np.nanmax(binDmm_ALLrij)
binDmm_mean_ALLrij[ix] = np.nanmean(binDmm_ALLrij)
binDmm_median_ALLrij[ix] = np.nanmedian(binDmm_ALLrij)
binDmm_10pct_ALLrij[ix] = np.nanpercentile(binDmm_ALLrij,10)
binDmm_25pct_ALLrij[ix] = np.nanpercentile(binDmm_ALLrij,25)
binDmm_75pct_ALLrij[ix] = np.nanpercentile(binDmm_ALLrij,75)
binDmm_90pct_ALLrij[ix] = np.nanpercentile(binDmm_ALLrij,90)
binDmm_stdv_ALLrij[ix] = np.nanstd(binDmm_ALLrij)
binARat_min_ALLrij[ix] = np.nanmin(binARat_ALLrij)
binARat_max_ALLrij[ix] = np.nanmax(binARat_ALLrij)
binARat_mean_ALLrij[ix] = np.nanmean(binARat_ALLrij)
binARat_median_ALLrij[ix] = np.nanmedian(binARat_ALLrij)
binARat_10pct_ALLrij[ix] = np.nanpercentile(binARat_ALLrij,10)
binARat_25pct_ALLrij[ix] = np.nanpercentile(binARat_ALLrij,25)
binARat_75pct_ALLrij[ix] = np.nanpercentile(binARat_ALLrij,75)
binARat_90pct_ALLrij[ix] = np.nanpercentile(binARat_ALLrij,90)
binARat_stdv_ALLrij[ix] = np.nanstd(binARat_ALLrij)
binRE_min_ALLrij[ix] = np.nanmin(binRE_ALLrij)
binRE_max_ALLrij[ix] = np.nanmax(binRE_ALLrij)
binRE_mean_ALLrij[ix] = np.nanmean(binRE_ALLrij)
binRE_median_ALLrij[ix] = np.nanmedian(binRE_ALLrij)
binRE_10pct_ALLrij[ix] = np.nanpercentile(binRE_ALLrij,10)
binRE_25pct_ALLrij[ix] = np.nanpercentile(binRE_ALLrij,25)
binRE_75pct_ALLrij[ix] = np.nanpercentile(binRE_ALLrij,75)
binRE_90pct_ALLrij[ix] = np.nanpercentile(binRE_ALLrij,90)
binRjcR_min_ALLrij[ix] = np.nanmin(binRjcR_ALLrij)
binRjcR_max_ALLrij[ix] = np.nanmax(binRjcR_ALLrij)
binRjcR_mean_ALLrij[ix] = np.nanmean(binRjcR_ALLrij)
binRjcR_median_ALLrij[ix] = np.nanmedian(binRjcR_ALLrij)
binRjcR_10pct_ALLrij[ix] = np.nanpercentile(binRjcR_ALLrij,10)
binRjcR_25pct_ALLrij[ix] = np.nanpercentile(binRjcR_ALLrij,25)
binRjcR_75pct_ALLrij[ix] = np.nanpercentile(binRjcR_ALLrij,75)
binRjcR_90pct_ALLrij[ix] = np.nanpercentile(binRjcR_ALLrij,90)
if np.any(binMatch_SRrij):
binRH_min_SRrij[ix] = np.nanmin(binRH_SRrij)
binRH_max_SRrij[ix] = np.nanmax(binRH_SRrij)
binRH_mean_SRrij[ix] = np.nanmean(binRH_SRrij)
binRH_median_SRrij[ix] = np.nanmedian(binRH_SRrij)
binRH_10pct_SRrij[ix] = np.nanpercentile(binRH_SRrij,10)
binRH_25pct_SRrij[ix] = np.nanpercentile(binRH_SRrij,25)
binRH_75pct_SRrij[ix] = np.nanpercentile(binRH_SRrij,75)
binRH_90pct_SRrij[ix] = np.nanpercentile(binRH_SRrij,90)
binRH_stdv_SRrij[ix] = np.nanstd(binRH_SRrij)
binNt_min_SRrij[ix] = np.nanmin(binNt_SRrij)
binNt_max_SRrij[ix] = np.nanmax(binNt_SRrij)
binNt_mean_SRrij[ix] = np.nanmean(binNt_SRrij)
binNt_median_SRrij[ix] = np.nanmedian(binNt_SRrij)
binNt_10pct_SRrij[ix] = np.nanpercentile(binNt_SRrij,10)
binNt_25pct_SRrij[ix] = np.nanpercentile(binNt_SRrij,25)
binNt_75pct_SRrij[ix] = np.nanpercentile(binNt_SRrij,75)
binNt_90pct_SRrij[ix] = np.nanpercentile(binNt_SRrij,90)
binNt_stdv_SRrij[ix] = np.nanstd(binNt_SRrij)
binTWC_min_SRrij[ix] = np.nanmin(binTWC_SRrij)
binTWC_max_SRrij[ix] = np.nanmax(binTWC_SRrij)
binTWC_mean_SRrij[ix] = np.nanmean(binTWC_SRrij)
binTWC_median_SRrij[ix] = np.nanmedian(binTWC_SRrij)
binTWC_10pct_SRrij[ix] = np.nanpercentile(binTWC_SRrij,10)
binTWC_25pct_SRrij[ix] = np.nanpercentile(binTWC_SRrij,25)
binTWC_75pct_SRrij[ix] = np.nanpercentile(binTWC_SRrij,75)
binTWC_90pct_SRrij[ix] = np.nanpercentile(binTWC_SRrij,90)
binTWC_stdv_SRrij[ix] = np.nanstd(binTWC_SRrij)
binDmm_min_SRrij[ix] = np.nanmin(binDmm_SRrij)
binDmm_max_SRrij[ix] = np.nanmax(binDmm_SRrij)
binDmm_mean_SRrij[ix] = np.nanmean(binDmm_SRrij)
binDmm_median_SRrij[ix] = np.nanmedian(binDmm_SRrij)
binDmm_10pct_SRrij[ix] = np.nanpercentile(binDmm_SRrij,10)
binDmm_25pct_SRrij[ix] = np.nanpercentile(binDmm_SRrij,25)
binDmm_75pct_SRrij[ix] = np.nanpercentile(binDmm_SRrij,75)
binDmm_90pct_SRrij[ix] = np.nanpercentile(binDmm_SRrij,90)
binDmm_stdv_SRrij[ix] = np.nanstd(binDmm_SRrij)
binARat_min_SRrij[ix] = np.nanmin(binARat_SRrij)
binARat_max_SRrij[ix] = np.nanmax(binARat_SRrij)
binARat_mean_SRrij[ix] = np.nanmean(binARat_SRrij)
binARat_median_SRrij[ix] = np.nanmedian(binARat_SRrij)
binARat_10pct_SRrij[ix] = np.nanpercentile(binARat_SRrij,10)
binARat_25pct_SRrij[ix] = np.nanpercentile(binARat_SRrij,25)
binARat_75pct_SRrij[ix] = np.nanpercentile(binARat_SRrij,75)
binARat_90pct_SRrij[ix] = np.nanpercentile(binARat_SRrij,90)
binARat_stdv_SRrij[ix] = np.nanstd(binARat_SRrij)
binRE_min_SRrij[ix] = np.nanmin(binRE_SRrij)
binRE_max_SRrij[ix] = np.nanmax(binRE_SRrij)
binRE_mean_SRrij[ix] = np.nanmean(binRE_SRrij)
binRE_median_SRrij[ix] = np.nanmedian(binRE_SRrij)
binRE_10pct_SRrij[ix] = np.nanpercentile(binRE_SRrij,10)
binRE_25pct_SRrij[ix] = np.nanpercentile(binRE_SRrij,25)
binRE_75pct_SRrij[ix] = np.nanpercentile(binRE_SRrij,75)
binRE_90pct_SRrij[ix] = np.nanpercentile(binRE_SRrij,90)
binRjcR_min_SRrij[ix] = np.nanmin(binRjcR_SRrij)
binRjcR_max_SRrij[ix] = np.nanmax(binRjcR_SRrij)
binRjcR_mean_SRrij[ix] = np.nanmean(binRjcR_SRrij)
binRjcR_median_SRrij[ix] = np.nanmedian(binRjcR_SRrij)
binRjcR_10pct_SRrij[ix] = np.nanpercentile(binRjcR_SRrij,10)
binRjcR_25pct_SRrij[ix] = np.nanpercentile(binRjcR_SRrij,25)
binRjcR_75pct_SRrij[ix] = np.nanpercentile(binRjcR_SRrij,75)
binRjcR_90pct_SRrij[ix] = np.nanpercentile(binRjcR_SRrij,90)
if np.any(binMatch_ALLnrij):
binRH_min_ALLnrij[ix] = np.nanmin(binRH_ALLnrij)
binRH_max_ALLnrij[ix] = np.nanmax(binRH_ALLnrij)
binRH_mean_ALLnrij[ix] = np.nanmean(binRH_ALLnrij)
binRH_median_ALLnrij[ix] = np.nanmedian(binRH_ALLnrij)
binRH_10pct_ALLnrij[ix] = np.nanpercentile(binRH_ALLnrij,10)
binRH_25pct_ALLnrij[ix] = np.nanpercentile(binRH_ALLnrij,25)
binRH_75pct_ALLnrij[ix] = np.nanpercentile(binRH_ALLnrij,75)
binRH_90pct_ALLnrij[ix] = np.nanpercentile(binRH_ALLnrij,90)
binRH_stdv_ALLnrij[ix] = np.nanstd(binRH_ALLnrij)
binNt_min_ALLnrij[ix] = np.nanmin(binNt_ALLnrij)
binNt_max_ALLnrij[ix] = np.nanmax(binNt_ALLnrij)
binNt_mean_ALLnrij[ix] = np.nanmean(binNt_ALLnrij)
binNt_median_ALLnrij[ix] = np.nanmedian(binNt_ALLnrij)
binNt_10pct_ALLnrij[ix] = np.nanpercentile(binNt_ALLnrij,10)
binNt_25pct_ALLnrij[ix] = np.nanpercentile(binNt_ALLnrij,25)
binNt_75pct_ALLnrij[ix] = np.nanpercentile(binNt_ALLnrij,75)
binNt_90pct_ALLnrij[ix] = np.nanpercentile(binNt_ALLnrij,90)
binNt_stdv_ALLnrij[ix] = np.nanstd(binNt_ALLnrij)
binTWC_min_ALLnrij[ix] = np.nanmin(binTWC_ALLnrij)
binTWC_max_ALLnrij[ix] = np.nanmax(binTWC_ALLnrij)
binTWC_mean_ALLnrij[ix] = np.nanmean(binTWC_ALLnrij)
binTWC_median_ALLnrij[ix] = np.nanmedian(binTWC_ALLnrij)
binTWC_10pct_ALLnrij[ix] = np.nanpercentile(binTWC_ALLnrij,10)
binTWC_25pct_ALLnrij[ix] = np.nanpercentile(binTWC_ALLnrij,25)
binTWC_75pct_ALLnrij[ix] = np.nanpercentile(binTWC_ALLnrij,75)
binTWC_90pct_ALLnrij[ix] = np.nanpercentile(binTWC_ALLnrij,90)
binTWC_stdv_ALLnrij[ix] = np.nanstd(binTWC_ALLnrij)
binDmm_min_ALLnrij[ix] = np.nanmin(binDmm_ALLnrij)
binDmm_max_ALLnrij[ix] = np.nanmax(binDmm_ALLnrij)
binDmm_mean_ALLnrij[ix] = np.nanmean(binDmm_ALLnrij)
binDmm_median_ALLnrij[ix] = np.nanmedian(binDmm_ALLnrij)
binDmm_10pct_ALLnrij[ix] = np.nanpercentile(binDmm_ALLnrij,10)
binDmm_25pct_ALLnrij[ix] = np.nanpercentile(binDmm_ALLnrij,25)
binDmm_75pct_ALLnrij[ix] = np.nanpercentile(binDmm_ALLnrij,75)
binDmm_90pct_ALLnrij[ix] = np.nanpercentile(binDmm_ALLnrij,90)
binDmm_stdv_ALLnrij[ix] = np.nanstd(binDmm_ALLnrij)
binARat_min_ALLnrij[ix] = np.nanmin(binARat_ALLnrij)
binARat_max_ALLnrij[ix] = np.nanmax(binARat_ALLnrij)
binARat_mean_ALLnrij[ix] = np.nanmean(binARat_ALLnrij)
binARat_median_ALLnrij[ix] = np.nanmedian(binARat_ALLnrij)
binARat_10pct_ALLnrij[ix] = np.nanpercentile(binARat_ALLnrij,10)
binARat_25pct_ALLnrij[ix] = np.nanpercentile(binARat_ALLnrij,25)
binARat_75pct_ALLnrij[ix] = np.nanpercentile(binARat_ALLnrij,75)
binARat_90pct_ALLnrij[ix] = np.nanpercentile(binARat_ALLnrij,90)
binARat_stdv_ALLnrij[ix] = np.nanstd(binARat_ALLnrij)
binRE_min_ALLnrij[ix] = np.nanmin(binRE_ALLnrij)
binRE_max_ALLnrij[ix] = np.nanmax(binRE_ALLnrij)
binRE_mean_ALLnrij[ix] = np.nanmean(binRE_ALLnrij)
binRE_median_ALLnrij[ix] = np.nanmedian(binRE_ALLnrij)
binRE_10pct_ALLnrij[ix] = np.nanpercentile(binRE_ALLnrij,10)
binRE_25pct_ALLnrij[ix] = np.nanpercentile(binRE_ALLnrij,25)
binRE_75pct_ALLnrij[ix] = np.nanpercentile(binRE_ALLnrij,75)
binRE_90pct_ALLnrij[ix] = np.nanpercentile(binRE_ALLnrij,90)
binRjcR_min_ALLnrij[ix] = np.nanmin(binRjcR_ALLnrij)
binRjcR_max_ALLnrij[ix] = np.nanmax(binRjcR_ALLnrij)
binRjcR_mean_ALLnrij[ix] = np.nanmean(binRjcR_ALLnrij)
binRjcR_median_ALLnrij[ix] = np.nanmedian(binRjcR_ALLnrij)
binRjcR_10pct_ALLnrij[ix] = np.nanpercentile(binRjcR_ALLnrij,10)
binRjcR_25pct_ALLnrij[ix] = np.nanpercentile(binRjcR_ALLnrij,25)
binRjcR_75pct_ALLnrij[ix] = np.nanpercentile(binRjcR_ALLnrij,75)
binRjcR_90pct_ALLnrij[ix] = np.nanpercentile(binRjcR_ALLnrij,90)
if np.any(binMatch_SRnrij):
binRH_min_SRnrij[ix] = np.nanmin(binRH_SRnrij)
binRH_max_SRnrij[ix] = np.nanmax(binRH_SRnrij)
binRH_mean_SRnrij[ix] = np.nanmean(binRH_SRnrij)
binRH_median_SRnrij[ix] = np.nanmedian(binRH_SRnrij)
binRH_10pct_SRnrij[ix] = np.nanpercentile(binRH_SRnrij,10)
binRH_25pct_SRnrij[ix] = np.nanpercentile(binRH_SRnrij,25)
binRH_75pct_SRnrij[ix] = np.nanpercentile(binRH_SRnrij,75)
binRH_90pct_SRnrij[ix] = np.nanpercentile(binRH_SRnrij,90)
binRH_stdv_SRnrij[ix] = np.nanstd(binRH_SRnrij)
binNt_min_SRnrij[ix] = np.nanmin(binNt_SRnrij)
binNt_max_SRnrij[ix] = np.nanmax(binNt_SRnrij)
binNt_mean_SRnrij[ix] = np.nanmean(binNt_SRnrij)
binNt_median_SRnrij[ix] = np.nanmedian(binNt_SRnrij)
binNt_10pct_SRnrij[ix] = np.nanpercentile(binNt_SRnrij,10)
binNt_25pct_SRnrij[ix] = np.nanpercentile(binNt_SRnrij,25)
binNt_75pct_SRnrij[ix] = np.nanpercentile(binNt_SRnrij,75)
binNt_90pct_SRnrij[ix] = np.nanpercentile(binNt_SRnrij,90)
binNt_stdv_SRnrij[ix] = np.nanstd(binNt_SRnrij)
binTWC_min_SRnrij[ix] = np.nanmin(binTWC_SRnrij)
binTWC_max_SRnrij[ix] = np.nanmax(binTWC_SRnrij)
binTWC_mean_SRnrij[ix] = np.nanmean(binTWC_SRnrij)
binTWC_median_SRnrij[ix] = np.nanmedian(binTWC_SRnrij)
binTWC_10pct_SRnrij[ix] = np.nanpercentile(binTWC_SRnrij,10)
binTWC_25pct_SRnrij[ix] = np.nanpercentile(binTWC_SRnrij,25)
binTWC_75pct_SRnrij[ix] = np.nanpercentile(binTWC_SRnrij,75)
binTWC_90pct_SRnrij[ix] = np.nanpercentile(binTWC_SRnrij,90)
binTWC_stdv_SRnrij[ix] = np.nanstd(binTWC_SRnrij)
binDmm_min_SRnrij[ix] = np.nanmin(binDmm_SRnrij)
binDmm_max_SRnrij[ix] = np.nanmax(binDmm_SRnrij)
binDmm_mean_SRnrij[ix] = np.nanmean(binDmm_SRnrij)
binDmm_median_SRnrij[ix] = np.nanmedian(binDmm_SRnrij)
binDmm_10pct_SRnrij[ix] = np.nanpercentile(binDmm_SRnrij,10)
binDmm_25pct_SRnrij[ix] = np.nanpercentile(binDmm_SRnrij,25)
binDmm_75pct_SRnrij[ix] = np.nanpercentile(binDmm_SRnrij,75)
binDmm_90pct_SRnrij[ix] = np.nanpercentile(binDmm_SRnrij,90)
binDmm_stdv_SRnrij[ix] = np.nanstd(binDmm_SRnrij)
binARat_min_SRnrij[ix] = np.nanmin(binARat_SRnrij)
binARat_max_SRnrij[ix] = np.nanmax(binARat_SRnrij)
binARat_mean_SRnrij[ix] = np.nanmean(binARat_SRnrij)
binARat_median_SRnrij[ix] = np.nanmedian(binARat_SRnrij)
binARat_10pct_SRnrij[ix] = np.nanpercentile(binARat_SRnrij,10)
binARat_25pct_SRnrij[ix] = np.nanpercentile(binARat_SRnrij,25)
binARat_75pct_SRnrij[ix] = np.nanpercentile(binARat_SRnrij,75)
binARat_90pct_SRnrij[ix] = np.nanpercentile(binARat_SRnrij,90)
binARat_stdv_SRnrij[ix] = np.nanstd(binARat_SRnrij)
binRE_min_SRnrij[ix] = np.nanmin(binRE_SRnrij)
binRE_max_SRnrij[ix] = np.nanmax(binRE_SRnrij)
binRE_mean_SRnrij[ix] = np.nanmean(binRE_SRnrij)
binRE_median_SRnrij[ix] = np.nanmedian(binRE_SRnrij)
binRE_10pct_SRnrij[ix] = np.nanpercentile(binRE_SRnrij,10)
binRE_25pct_SRnrij[ix] = np.nanpercentile(binRE_SRnrij,25)
binRE_75pct_SRnrij[ix] = np.nanpercentile(binRE_SRnrij,75)
binRE_90pct_SRnrij[ix] = np.nanpercentile(binRE_SRnrij,90)
binRjcR_min_SRnrij[ix] = np.nanmin(binRjcR_SRnrij)
binRjcR_max_SRnrij[ix] = np.nanmax(binRjcR_SRnrij)
binRjcR_mean_SRnrij[ix] = np.nanmean(binRjcR_SRnrij)
binRjcR_median_SRnrij[ix] = np.nanmedian(binRjcR_SRnrij)
binRjcR_10pct_SRnrij[ix] = np.nanpercentile(binRjcR_SRnrij,10)
binRjcR_25pct_SRnrij[ix] = np.nanpercentile(binRjcR_SRnrij,25)
binRjcR_75pct_SRnrij[ix] = np.nanpercentile(binRjcR_SRnrij,75)
binRjcR_90pct_SRnrij[ix] = np.nanpercentile(binRjcR_SRnrij,90)
In [7]:
if saveNP:
np.savez(npSaveFname,
bin_mid=bin_mid,
binRH_min_ALLrij=binRH_min_ALLrij,
binRH_max_ALLrij=binRH_max_ALLrij,
binRH_mean_ALLrij=binRH_mean_ALLrij,
binRH_median_ALLrij=binRH_median_ALLrij,
binRH_10pct_ALLrij=binRH_10pct_ALLrij,
binRH_25pct_ALLrij=binRH_25pct_ALLrij,
binRH_75pct_ALLrij=binRH_75pct_ALLrij,
binRH_90pct_ALLrij=binRH_90pct_ALLrij,
binRH_stdv_ALLrij=binRH_stdv_ALLrij,
binNt_min_ALLrij=binNt_min_ALLrij,
binNt_max_ALLrij=binNt_max_ALLrij,
binNt_mean_ALLrij=binNt_mean_ALLrij,
binNt_median_ALLrij=binNt_median_ALLrij,
binNt_10pct_ALLrij=binNt_10pct_ALLrij,
binNt_25pct_ALLrij=binNt_25pct_ALLrij,
binNt_75pct_ALLrij=binNt_75pct_ALLrij,
binNt_90pct_ALLrij=binNt_90pct_ALLrij,
binNt_stdv_ALLrij=binNt_stdv_ALLrij,
binTWC_min_ALLrij=binTWC_min_ALLrij,
binTWC_max_ALLrij=binTWC_max_ALLrij,
binTWC_mean_ALLrij=binTWC_mean_ALLrij,
binTWC_median_ALLrij=binTWC_median_ALLrij,
binTWC_10pct_ALLrij=binTWC_10pct_ALLrij,
binTWC_25pct_ALLrij=binTWC_25pct_ALLrij,
binTWC_75pct_ALLrij=binTWC_75pct_ALLrij,
binTWC_90pct_ALLrij=binTWC_90pct_ALLrij,
binTWC_stdv_ALLrij=binTWC_stdv_ALLrij,
binDmm_min_ALLrij=binDmm_min_ALLrij,
binDmm_max_ALLrij=binDmm_max_ALLrij,
binDmm_mean_ALLrij=binDmm_mean_ALLrij,
binDmm_median_ALLrij=binDmm_median_ALLrij,
binDmm_10pct_ALLrij=binDmm_10pct_ALLrij,
binDmm_25pct_ALLrij=binDmm_25pct_ALLrij,
binDmm_75pct_ALLrij=binDmm_75pct_ALLrij,
binDmm_90pct_ALLrij=binDmm_90pct_ALLrij,
binDmm_stdv_ALLrij=binDmm_stdv_ALLrij,
binARat_min_ALLrij=binARat_min_ALLrij,
binARat_max_ALLrij=binARat_max_ALLrij,
binARat_mean_ALLrij=binARat_mean_ALLrij,
binARat_median_ALLrij=binARat_median_ALLrij,
binARat_10pct_ALLrij=binARat_10pct_ALLrij,
binARat_25pct_ALLrij=binARat_25pct_ALLrij,
binARat_75pct_ALLrij=binARat_75pct_ALLrij,
binARat_90pct_ALLrij=binARat_90pct_ALLrij,
binARat_stdv_ALLrij=binARat_stdv_ALLrij,
binRH_min_ALLnrij=binRH_min_ALLnrij,
binRH_max_ALLnrij=binRH_max_ALLnrij,
binRH_mean_ALLnrij=binRH_mean_ALLnrij,
binRH_median_ALLnrij=binRH_median_ALLnrij,
binRH_10pct_ALLnrij=binRH_10pct_ALLnrij,
binRH_25pct_ALLnrij=binRH_25pct_ALLnrij,
binRH_75pct_ALLnrij=binRH_75pct_ALLnrij,
binRH_90pct_ALLnrij=binRH_90pct_ALLnrij,
binRH_stdv_ALLnrij=binRH_stdv_ALLnrij,
binNt_min_ALLnrij=binNt_min_ALLnrij,
binNt_max_ALLnrij=binNt_max_ALLnrij,
binNt_mean_ALLnrij=binNt_mean_ALLnrij,
binNt_median_ALLnrij=binNt_median_ALLnrij,
binNt_10pct_ALLnrij=binNt_10pct_ALLnrij,
binNt_25pct_ALLnrij=binNt_25pct_ALLnrij,
binNt_75pct_ALLnrij=binNt_75pct_ALLnrij,
binNt_90pct_ALLnrij=binNt_90pct_ALLnrij,
binNt_stdv_ALLnrij=binNt_stdv_ALLnrij,
binTWC_min_ALLnrij=binTWC_min_ALLnrij,
binTWC_max_ALLnrij=binTWC_max_ALLnrij,
binTWC_mean_ALLnrij=binTWC_mean_ALLnrij,
binTWC_median_ALLnrij=binTWC_median_ALLnrij,
binTWC_10pct_ALLnrij=binTWC_10pct_ALLnrij,
binTWC_25pct_ALLnrij=binTWC_25pct_ALLnrij,
binTWC_75pct_ALLnrij=binTWC_75pct_ALLnrij,
binTWC_90pct_ALLnrij=binTWC_90pct_ALLnrij,
binTWC_stdv_ALLnrij=binTWC_stdv_ALLnrij,
binDmm_min_ALLnrij=binDmm_min_ALLnrij,
binDmm_max_ALLnrij=binDmm_max_ALLnrij,
binDmm_mean_ALLnrij=binDmm_mean_ALLnrij,
binDmm_median_ALLnrij=binDmm_median_ALLnrij,
binDmm_10pct_ALLnrij=binDmm_10pct_ALLnrij,
binDmm_25pct_ALLnrij=binDmm_25pct_ALLnrij,
binDmm_75pct_ALLnrij=binDmm_75pct_ALLnrij,
binDmm_90pct_ALLnrij=binDmm_90pct_ALLnrij,
binDmm_stdv_ALLnrij=binDmm_stdv_ALLnrij,
binARat_min_ALLnrij=binARat_min_ALLnrij,
binARat_max_ALLnrij=binARat_max_ALLnrij,
binARat_mean_ALLnrij=binARat_mean_ALLnrij,
binARat_median_ALLnrij=binARat_median_ALLnrij,
binARat_10pct_ALLnrij=binARat_10pct_ALLnrij,
binARat_25pct_ALLnrij=binARat_25pct_ALLnrij,
binARat_75pct_ALLnrij=binARat_75pct_ALLnrij,
binARat_90pct_ALLnrij=binARat_90pct_ALLnrij,
binARat_stdv_ALLnrij=binARat_stdv_ALLnrij,
binRH_min_SRrij=binRH_min_SRrij,
binRH_max_SRrij=binRH_max_SRrij,
binRH_mean_SRrij=binRH_mean_SRrij,
binRH_median_SRrij=binRH_median_SRrij,
binRH_10pct_SRrij=binRH_10pct_SRrij,
binRH_25pct_SRrij=binRH_25pct_SRrij,
binRH_75pct_SRrij=binRH_75pct_SRrij,
binRH_90pct_SRrij=binRH_90pct_SRrij,
binRH_stdv_SRrij=binRH_stdv_SRrij,
binNt_min_SRrij=binNt_min_SRrij,
binNt_max_SRrij=binNt_max_SRrij,
binNt_mean_SRrij=binNt_mean_SRrij,
binNt_median_SRrij=binNt_median_SRrij,
binNt_10pct_SRrij=binNt_10pct_SRrij,
binNt_25pct_SRrij=binNt_25pct_SRrij,
binNt_75pct_SRrij=binNt_75pct_SRrij,
binNt_90pct_SRrij=binNt_90pct_SRrij,
binNt_stdv_SRrij=binNt_stdv_SRrij,
binTWC_min_SRrij=binTWC_min_SRrij,
binTWC_max_SRrij=binTWC_max_SRrij,
binTWC_mean_SRrij=binTWC_mean_SRrij,
binTWC_median_SRrij=binTWC_median_SRrij,
binTWC_10pct_SRrij=binTWC_10pct_SRrij,
binTWC_25pct_SRrij=binTWC_25pct_SRrij,
binTWC_75pct_SRrij=binTWC_75pct_SRrij,
binTWC_90pct_SRrij=binTWC_90pct_SRrij,
binTWC_stdv_SRrij=binTWC_stdv_SRrij,
binDmm_min_SRrij=binDmm_min_SRrij,
binDmm_max_SRrij=binDmm_max_SRrij,
binDmm_mean_SRrij=binDmm_mean_SRrij,
binDmm_median_SRrij=binDmm_median_SRrij,
binDmm_10pct_SRrij=binDmm_10pct_SRrij,
binDmm_25pct_SRrij=binDmm_25pct_SRrij,
binDmm_75pct_SRrij=binDmm_75pct_SRrij,
binDmm_90pct_SRrij=binDmm_90pct_SRrij,
binDmm_stdv_SRrij=binDmm_stdv_SRrij,
binARat_min_SRrij=binARat_min_SRrij,
binARat_max_SRrij=binARat_max_SRrij,
binARat_mean_SRrij=binARat_mean_SRrij,
binARat_median_SRrij=binARat_median_SRrij,
binARat_10pct_SRrij=binARat_10pct_SRrij,
binARat_25pct_SRrij=binARat_25pct_SRrij,
binARat_75pct_SRrij=binARat_75pct_SRrij,
binARat_90pct_SRrij=binARat_90pct_SRrij,
binARat_stdv_SRrij=binARat_stdv_SRrij,
binRH_min_SRnrij=binRH_min_SRnrij,
binRH_max_SRnrij=binRH_max_SRnrij,
binRH_mean_SRnrij=binRH_mean_SRnrij,
binRH_median_SRnrij=binRH_median_SRnrij,
binRH_10pct_SRnrij=binRH_10pct_SRnrij,
binRH_25pct_SRnrij=binRH_25pct_SRnrij,
binRH_75pct_SRnrij=binRH_75pct_SRnrij,
binRH_90pct_SRnrij=binRH_90pct_SRnrij,
binRH_stdv_SRnrij=binRH_stdv_SRnrij,
binNt_min_SRnrij=binNt_min_SRnrij,
binNt_max_SRnrij=binNt_max_SRnrij,
binNt_mean_SRnrij=binNt_mean_SRnrij,
binNt_median_SRnrij=binNt_median_SRnrij,
binNt_10pct_SRnrij=binNt_10pct_SRnrij,
binNt_25pct_SRnrij=binNt_25pct_SRnrij,
binNt_75pct_SRnrij=binNt_75pct_SRnrij,
binNt_90pct_SRnrij=binNt_90pct_SRnrij,
binNt_stdv_SRnrij=binNt_stdv_SRnrij,
binTWC_min_SRnrij=binTWC_min_SRnrij,
binTWC_max_SRnrij=binTWC_max_SRnrij,
binTWC_mean_SRnrij=binTWC_mean_SRnrij,
binTWC_median_SRnrij=binTWC_median_SRnrij,
binTWC_10pct_SRnrij=binTWC_10pct_SRnrij,
binTWC_25pct_SRnrij=binTWC_25pct_SRnrij,
binTWC_75pct_SRnrij=binTWC_75pct_SRnrij,
binTWC_90pct_SRnrij=binTWC_90pct_SRnrij,
binTWC_stdv_SRnrij=binTWC_stdv_SRnrij,
binDmm_min_SRnrij=binDmm_min_SRnrij,
binDmm_max_SRnrij=binDmm_max_SRnrij,
binDmm_mean_SRnrij=binDmm_mean_SRnrij,
binDmm_median_SRnrij=binDmm_median_SRnrij,
binDmm_10pct_SRnrij=binDmm_10pct_SRnrij,
binDmm_25pct_SRnrij=binDmm_25pct_SRnrij,
binDmm_75pct_SRnrij=binDmm_75pct_SRnrij,
binDmm_90pct_SRnrij=binDmm_90pct_SRnrij,
binDmm_stdv_SRnrij=binDmm_stdv_SRnrij,
binARat_min_SRnrij=binARat_min_SRnrij,
binARat_max_SRnrij=binARat_max_SRnrij,
binARat_mean_SRnrij=binARat_mean_SRnrij,
binARat_median_SRnrij=binARat_median_SRnrij,
binARat_10pct_SRnrij=binARat_10pct_SRnrij,
binARat_25pct_SRnrij=binARat_25pct_SRnrij,
binARat_75pct_SRnrij=binARat_75pct_SRnrij,
binARat_90pct_SRnrij=binARat_90pct_SRnrij,
binARat_stdv_SRnrij=binARat_stdv_SRnrij)
In [8]:
if plotRIJcmpAll:
if plotRH:
fig, ax = plt.subplots(figsize=(16,20))
# Plot the spread fill and then plot just the outline of each spread
# (the alpha of the spread will affect the outline if done in the
# same fill_betweenx command)
ax.fill_betweenx(bin_mid,binRH_25pct_ALLrij,binRH_75pct_ALLrij,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ $P_{25-75}$')
ax.fill_betweenx(bin_mid,binRH_25pct_ALLrij,binRH_75pct_ALLrij,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax.fill_betweenx(bin_mid,binRH_25pct_ALLnrij,binRH_75pct_ALLnrij,
alpha=0.5,facecolor=nrijFill,
edgecolor='none',linewidth=0,label='Non-RIJ $P_{25-75}$')
ax.fill_betweenx(bin_mid,binRH_25pct_ALLnrij,binRH_75pct_ALLnrij,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=nrijLine,linewidth=2,zorder=5)
# Plot medians
ax.plot(binRH_median_ALLrij,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ Median')
ax.plot(binRH_median_ALLnrij,bin_mid,color=nrijLine,alpha=0.5,linewidth=3,label='Non-RIJ Median')
ax.invert_yaxis()
ax.set_ylim(22,-18.5)
ax.legend(loc='upper left',fontsize=18)
ax.set_xlabel('Relative Humidity (%)',fontsize=24)
ax.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax.tick_params(axis='both', which='major', labelsize=22)
ax.set_title('PECAN - RH - RIJ v. Non-RIJ Spirals',fontsize=26)
ax.grid()
# Save the output figure
saveStr = '{}/RIJcmpAll_RH-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig.savefig(saveStr,bbox_inches='tight')
plt.close(fig)
if plotNt:
fig2, ax2 = plt.subplots(figsize=(16,20))
ax2.fill_betweenx(bin_mid,binNt_25pct_ALLrij,binNt_75pct_ALLrij,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ $P_{25-75}$')
ax2.fill_betweenx(bin_mid,binNt_25pct_ALLrij,binNt_75pct_ALLrij,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax2.fill_betweenx(bin_mid,binNt_25pct_ALLnrij,binNt_75pct_ALLnrij,
alpha=0.5,facecolor=nrijFill,
edgecolor='none',linewidth=0,label='Non-RIJ $P_{25-75}$')
ax2.fill_betweenx(bin_mid,binNt_25pct_ALLnrij,binNt_75pct_ALLnrij,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=nrijLine,linewidth=2,zorder=5)
# Plot medians
ax2.plot(binNt_median_ALLrij,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ Median')
ax2.plot(binNt_median_ALLnrij,bin_mid,color=nrijLine,alpha=0.5,linewidth=3,label='Non-RIJ Median')
ax2.invert_yaxis()
ax2.set_ylim(22,-18.5)
ax2.set_xscale('log',nonposx='mask')
ax2.legend(loc='upper left',fontsize=18)
ax2.set_xlabel('Total Number Concentration ($cm^{-3}$)',fontsize=24)
ax2.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax2.tick_params(axis='both', which='major', labelsize=22)
ax2.set_title('PECAN - $N_t$ - RIJ v. Non-RIJ Spirals',fontsize=26)
ax2.grid()
# Save the output figure
saveStr2 = '{}/RIJcmpAll_Nt-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig2.savefig(saveStr2,bbox_inches='tight')
plt.close(fig2)
if plotTWC:
fig3, ax3 = plt.subplots(figsize=(16,20))
ax3.fill_betweenx(bin_mid,binTWC_25pct_ALLrij,binTWC_75pct_ALLrij,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ $P_{25-75}$')
ax3.fill_betweenx(bin_mid,binTWC_25pct_ALLrij,binTWC_75pct_ALLrij,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax3.fill_betweenx(bin_mid,binTWC_25pct_ALLnrij,binTWC_75pct_ALLnrij,
alpha=0.5,facecolor=nrijFill,
edgecolor='none',linewidth=0,label='Non-RIJ $P_{25-75}$')
ax3.fill_betweenx(bin_mid,binTWC_25pct_ALLnrij,binTWC_75pct_ALLnrij,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=nrijLine,linewidth=2,zorder=5)
# Plot medians
ax3.plot(binTWC_median_ALLrij,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ Median')
ax3.plot(binTWC_median_ALLnrij,bin_mid,color=nrijLine,alpha=0.5,linewidth=3,label='Non-RIJ Median')
ax3.invert_yaxis()
ax3.set_ylim(22,-18.5)
ax3.set_xscale('log',nonposx='mask')
ax3.legend(loc='upper left',fontsize=18)
ax3.set_xlabel('Total Water Content ($g\ m^{-3}$)',fontsize=24)
ax3.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax3.tick_params(axis='both', which='major', labelsize=22)
ax3.set_title('PECAN - TWC - RIJ v. Non-RIJ Spirals',fontsize=26)
ax3.grid()
# Save the output figure
saveStr3 = '{}/RIJcmpAll_TWC-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig3.savefig(saveStr3,bbox_inches='tight')
plt.close(fig3)
if plotDmm:
fig4, ax4 = plt.subplots(figsize=(16,20))
ax4.fill_betweenx(bin_mid,binDmm_25pct_ALLrij,binDmm_75pct_ALLrij,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ $P_{25-75}$')
ax4.fill_betweenx(bin_mid,binDmm_25pct_ALLrij,binDmm_75pct_ALLrij,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax4.fill_betweenx(bin_mid,binDmm_25pct_ALLnrij,binDmm_75pct_ALLnrij,
alpha=0.5,facecolor=nrijFill,
edgecolor='none',linewidth=0,label='Non-RIJ $P_{25-75}$')
ax4.fill_betweenx(bin_mid,binDmm_25pct_ALLnrij,binDmm_75pct_ALLnrij,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=nrijLine,linewidth=2,zorder=5)
# Plot medians
ax4.plot(binDmm_median_ALLrij,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ Median')
ax4.plot(binDmm_median_ALLnrij,bin_mid,color=nrijLine,alpha=0.5,linewidth=3,label='Non-RIJ Median')
ax4.invert_yaxis()
ax4.set_ylim(22,-18.5)
ax4.legend(loc='upper left',fontsize=18)
ax4.set_xlabel('Median Mass Diameter (mm)',fontsize=24)
ax4.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax4.tick_params(axis='both', which='major', labelsize=22)
ax4.set_title('PECAN - $D_{{mm}}$ - RIJ v. Non-RIJ Spirals',fontsize=26)
ax4.grid()
# Save the output figure
saveStr4 = '{}/RIJcmpAll_Dmm-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig4.savefig(saveStr4,bbox_inches='tight')
plt.close(fig4)
if plotARat:
fig5, ax5 = plt.subplots(figsize=(16,20))
ax5.fill_betweenx(bin_mid,binARat_25pct_ALLrij*100,binARat_75pct_ALLrij*100,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ $P_{25-75}$')
ax5.fill_betweenx(bin_mid,binARat_25pct_ALLrij*100,binARat_75pct_ALLrij*100,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax5.fill_betweenx(bin_mid,binARat_25pct_ALLnrij*100,binARat_75pct_ALLnrij*100,
alpha=0.5,facecolor=nrijFill,
edgecolor='none',linewidth=0,label='Non-RIJ $P_{25-75}$')
ax5.fill_betweenx(bin_mid,binARat_25pct_ALLnrij*100,binARat_75pct_ALLnrij*100,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=nrijLine,linewidth=2,zorder=5)
# Plot medians
ax5.plot(binARat_median_ALLrij*100,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ Median')
ax5.plot(binARat_median_ALLnrij*100,bin_mid,color=nrijLine,alpha=0.5,linewidth=3,label='Non-RIJ Median')
ax5.invert_yaxis()
ax5.set_ylim(22,-18.5)
ax5.legend(loc='upper right',fontsize=18)
ax5.set_xlabel('Area Ratio (%)',fontsize=24)
ax5.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax5.tick_params(axis='both', which='major', labelsize=22)
ax5.set_title('PECAN - Area Ratio - RIJ v. Non-RIJ Spirals',fontsize=26)
ax5.grid()
# Save the output figure
saveStr5 = '{}/RIJcmpAll_ARatio-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig5.savefig(saveStr5,bbox_inches='tight')
plt.close(fig5)
if plotRE:
fig6, ax6 = plt.subplots(figsize=(16,20))
ax6.fill_betweenx(bin_mid,binRE_25pct_ALLrij,binRE_75pct_ALLrij,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ $P_{25-75}$')
ax6.fill_betweenx(bin_mid,binRE_25pct_ALLrij,binRE_75pct_ALLrij,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax6.fill_betweenx(bin_mid,binRE_25pct_ALLnrij,binRE_75pct_ALLnrij,
alpha=0.5,facecolor=nrijFill,
edgecolor='none',linewidth=0,label='Non-RIJ $P_{25-75}$')
ax6.fill_betweenx(bin_mid,binRE_25pct_ALLnrij,binRE_75pct_ALLnrij,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=nrijLine,linewidth=2,zorder=5)
# Plot medians
ax6.plot(binRE_median_ALLrij,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ Median')
ax6.plot(binRE_median_ALLnrij,bin_mid,color=nrijLine,alpha=0.5,linewidth=3,label='Non-RIJ Median')
ax6.invert_yaxis()
ax6.set_ylim(22,-18.5)
ax6.legend(loc='upper left',fontsize=18)
ax6.set_xlabel('Effective Radius (mm)',fontsize=24)
ax6.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax6.tick_params(axis='both', which='major', labelsize=22)
ax6.set_title('PECAN - $R_e$ - RIJ v. Non-RIJ Spirals',fontsize=26)
ax6.grid()
# Save the output figure
saveStr6 = '{}/RIJcmpAll_RE-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig6.savefig(saveStr6,bbox_inches='tight')
plt.close(fig6)
if plotRjcR:
fig7, ax7 = plt.subplots(figsize=(16,20))
ax7.fill_betweenx(bin_mid,binRjcR_25pct_ALLrij,binRjcR_75pct_ALLrij,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ $P_{25-75}$')
ax7.fill_betweenx(bin_mid,binRjcR_25pct_ALLrij,binRjcR_75pct_ALLrij,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax7.fill_betweenx(bin_mid,binRjcR_25pct_ALLnrij,binRjcR_75pct_ALLnrij,
alpha=0.5,facecolor=nrijFill,
edgecolor='none',linewidth=0,label='Non-RIJ $P_{25-75}$')
ax7.fill_betweenx(bin_mid,binRjcR_25pct_ALLnrij,binRjcR_75pct_ALLnrij,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=nrijLine,linewidth=2,zorder=5)
# Plot medians
ax7.plot(binRjcR_median_ALLrij,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ Median')
ax7.plot(binRjcR_median_ALLnrij,bin_mid,color=nrijLine,alpha=0.5,linewidth=3,label='Non-RIJ Median')
ax7.invert_yaxis()
ax7.set_ylim(22,-18.5)
ax7.legend(loc='upper left',fontsize=18)
ax7.set_xlabel('Reject Ratio (%)',fontsize=24)
ax7.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax7.tick_params(axis='both', which='major', labelsize=22)
ax7.set_title('PECAN - Reject Ratio - RIJ v. Non-RIJ Spirals',fontsize=26)
ax7.grid()
# Save the output figure
saveStr7 = '{}/RIJcmpAll_RjcR-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig7.savefig(saveStr7,bbox_inches='tight')
plt.close(fig7)
In [9]:
if plotRIJcmpSR:
if plotRH:
fig, ax = plt.subplots(figsize=(16,20))
ax.fill_betweenx(bin_mid,binRH_25pct_SRrij,binRH_75pct_SRrij,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ ESR $P_{25-75}$')
ax.fill_betweenx(bin_mid,binRH_25pct_SRrij,binRH_75pct_SRrij,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax.fill_betweenx(bin_mid,binRH_25pct_SRnrij,binRH_75pct_SRnrij,
alpha=0.5,facecolor=esrFill,
edgecolor='none',linewidth=0,label='Non-RIJ ESR $P_{25-75}$')
ax.fill_betweenx(bin_mid,binRH_25pct_SRnrij,binRH_75pct_SRnrij,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=esrLine,linewidth=2,zorder=5)
# Plot medians
ax.plot(binRH_median_SRrij,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ ESR Median')
ax.plot(binRH_median_SRnrij,bin_mid,color=esrLine,alpha=0.5,linewidth=3,label='Non-RIJ ESR Median')
ax.invert_yaxis()
ax.set_ylim(22,-18.5)
ax.legend(loc='upper left',fontsize=18)
ax.set_xlabel('Relative Humidity (%)',fontsize=24)
ax.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax.tick_params(axis='both', which='major', labelsize=22)
ax.set_title('PECAN - RH - RIJ v. Non-RIJ ESR Spirals',fontsize=26)
ax.grid()
# Save the output figure
saveStr = '{}/RIJcmpESR_RH-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig.savefig(saveStr,bbox_inches='tight')
plt.close(fig)
if plotNt:
fig2, ax2 = plt.subplots(figsize=(16,20))
ax2.fill_betweenx(bin_mid,binNt_25pct_SRrij,binNt_75pct_SRrij,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ ESR $P_{25-75}$')
ax2.fill_betweenx(bin_mid,binNt_25pct_SRrij,binNt_75pct_SRrij,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax2.fill_betweenx(bin_mid,binNt_25pct_SRnrij,binNt_75pct_SRnrij,
alpha=0.5,facecolor=esrFill,
edgecolor='none',linewidth=0,label='Non-RIJ ESR $P_{25-75}$')
ax2.fill_betweenx(bin_mid,binNt_25pct_SRnrij,binNt_75pct_SRnrij,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=esrLine,linewidth=2,zorder=5)
# Plot medians
ax2.plot(binNt_median_SRrij,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ ESR Median')
ax2.plot(binNt_median_SRnrij,bin_mid,color=esrLine,alpha=0.5,linewidth=3,label='Non-RIJ ESR Median')
ax2.invert_yaxis()
ax2.set_ylim(22,-18.5)
ax2.set_xscale('log',nonposx='mask')
ax2.legend(loc='upper left',fontsize=18)
ax2.set_xlabel('Total Number Concentration ($cm^{-3}$)',fontsize=24)
ax2.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax2.tick_params(axis='both', which='major', labelsize=22)
ax2.set_title('PECAN - $N_t$ - RIJ v. Non-RIJ ESR Spirals',fontsize=26)
ax2.grid()
# Save the output figure
saveStr2 = '{}/RIJcmpESR_Nt-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig2.savefig(saveStr2,bbox_inches='tight')
plt.close(fig2)
if plotTWC:
fig3, ax3 = plt.subplots(figsize=(16,20))
ax3.fill_betweenx(bin_mid,binTWC_25pct_SRrij,binTWC_75pct_SRrij,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ ESR $P_{25-75}$')
ax3.fill_betweenx(bin_mid,binTWC_25pct_SRrij,binTWC_75pct_SRrij,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax3.fill_betweenx(bin_mid,binTWC_25pct_SRnrij,binTWC_75pct_SRnrij,
alpha=0.5,facecolor=esrFill,
edgecolor='none',linewidth=0,label='Non-RIJ ESR $P_{25-75}$')
ax3.fill_betweenx(bin_mid,binTWC_25pct_SRnrij,binTWC_75pct_SRnrij,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=esrLine,linewidth=2,zorder=5)
# Plot medians
ax3.plot(binTWC_median_SRrij,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ ESR Median')
ax3.plot(binTWC_median_SRnrij,bin_mid,color=esrLine,alpha=0.5,linewidth=3,label='Non-RIJ ESR Median')
ax3.invert_yaxis()
ax3.set_ylim(22,-18.5)
ax3.set_xscale('log',nonposx='mask')
ax3.legend(loc='upper left',fontsize=18)
ax3.set_xlabel('Total Water Content ($g\ m^{-3}$)',fontsize=24)
ax3.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax3.tick_params(axis='both', which='major', labelsize=22)
ax3.set_title('PECAN - TWC - RIJ v. Non-RIJ ESR Spirals',fontsize=26)
ax3.grid()
# Save the output figure
saveStr3 = '{}/RIJcmpESR_TWC-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig3.savefig(saveStr3,bbox_inches='tight')
plt.close(fig3)
if plotDmm:
fig4, ax4 = plt.subplots(figsize=(16,20))
ax4.fill_betweenx(bin_mid,binDmm_25pct_SRrij,binDmm_75pct_SRrij,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ ESR $P_{25-75}$')
ax4.fill_betweenx(bin_mid,binDmm_25pct_SRrij,binDmm_75pct_SRrij,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax4.fill_betweenx(bin_mid,binDmm_25pct_SRnrij,binDmm_75pct_SRnrij,
alpha=0.5,facecolor=esrFill,
edgecolor='none',linewidth=0,label='Non-RIJ ESR $P_{25-75}$')
ax4.fill_betweenx(bin_mid,binDmm_25pct_SRnrij,binDmm_75pct_SRnrij,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=esrLine,linewidth=2,zorder=5)
# Plot medians
ax4.plot(binDmm_median_SRrij,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ ESR Median')
ax4.plot(binDmm_median_SRnrij,bin_mid,color=esrLine,alpha=0.5,linewidth=3,label='Non-RIJ ESR Median')
ax4.invert_yaxis()
ax4.set_ylim(22,-18.5)
ax4.legend(loc='upper right',fontsize=18)
ax4.set_xlabel('Median Mass Diameter (mm)',fontsize=24)
ax4.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax4.tick_params(axis='both', which='major', labelsize=22)
ax4.set_title('PECAN - $D_{{mm}}$ - RIJ v. Non-RIJ ESR Spirals',fontsize=26)
ax4.grid()
# Save the output figure
saveStr4 = '{}/RIJcmpESR_Dmm-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig4.savefig(saveStr4,bbox_inches='tight')
plt.close(fig4)
if plotARat:
fig5, ax5 = plt.subplots(figsize=(16,20))
ax5.fill_betweenx(bin_mid,binARat_25pct_SRrij*100,binARat_75pct_SRrij*100,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ ESR $P_{25-75}$')
ax5.fill_betweenx(bin_mid,binARat_25pct_SRrij*100,binARat_75pct_SRrij*100,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax5.fill_betweenx(bin_mid,binARat_25pct_SRnrij*100,binARat_75pct_SRnrij*100,
alpha=0.5,facecolor=esrFill,
edgecolor='none',linewidth=0,label='Non-RIJ ESR $P_{25-75}$')
ax5.fill_betweenx(bin_mid,binARat_25pct_SRnrij*100,binARat_75pct_SRnrij*100,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=esrLine,linewidth=2,zorder=5)
# Plot medians
ax5.plot(binARat_median_SRrij*100,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ ESR Median')
ax5.plot(binARat_median_SRnrij*100,bin_mid,color=esrLine,alpha=0.5,linewidth=3,label='Non-RIJ ESR Median')
ax5.invert_yaxis()
ax5.set_ylim(22,-18.5)
ax5.legend(loc='upper right',fontsize=18)
ax5.set_xlabel('Area Ratio (%)',fontsize=24)
ax5.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax5.tick_params(axis='both', which='major', labelsize=22)
ax5.set_title('PECAN - Area Ratio - RIJ v. Non-RIJ ESR Spirals',fontsize=26)
ax5.grid()
# Save the output figure
saveStr5 = '{}/RIJcmpESR_ARatio-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig5.savefig(saveStr5,bbox_inches='tight')
plt.close(fig5)
if plotRE:
fig6, ax6 = plt.subplots(figsize=(16,20))
ax6.fill_betweenx(bin_mid,binRE_25pct_SRrij,binRE_75pct_SRrij,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ ESR $P_{25-75}$')
ax6.fill_betweenx(bin_mid,binRE_25pct_SRrij,binRE_75pct_SRrij,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax6.fill_betweenx(bin_mid,binRE_25pct_SRnrij,binRE_75pct_SRnrij,
alpha=0.5,facecolor=esrFill,
edgecolor='none',linewidth=0,label='Non-RIJ ESR $P_{25-75}$')
ax6.fill_betweenx(bin_mid,binRE_25pct_SRnrij,binRE_75pct_SRnrij,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=esrLine,linewidth=2,zorder=5)
# Plot medians
ax6.plot(binRE_median_SRrij,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ ESR Median')
ax6.plot(binRE_median_SRnrij,bin_mid,color=esrLine,alpha=0.5,linewidth=3,label='Non-RIJ ESR Median')
ax6.invert_yaxis()
ax6.set_ylim(22,-18.5)
ax6.legend(loc='upper left',fontsize=18)
ax6.set_xlabel('Effective Radius (mm)',fontsize=24)
ax6.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax6.tick_params(axis='both', which='major', labelsize=22)
ax6.set_title('PECAN - $R_e$ - RIJ v. Non-RIJ ESR Spirals',fontsize=26)
ax6.grid()
# Save the output figure
saveStr6 = '{}/RIJcmpESR_RE-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig6.savefig(saveStr6,bbox_inches='tight')
plt.close(fig6)
if plotRjcR:
fig7, ax7 = plt.subplots(figsize=(16,20))
ax7.fill_betweenx(bin_mid,binRjcR_25pct_SRrij,binRjcR_75pct_SRrij,
alpha=0.5,facecolor=rijFill,
edgecolor='none',linewidth=0,label='RIJ ESR $P_{25-75}$')
ax7.fill_betweenx(bin_mid,binRjcR_25pct_SRrij,binRjcR_75pct_SRrij,
facecolor='none',linestyle =(0.5,[10,5]),
edgecolor=rijLine,linewidth=2,zorder=5)
ax7.fill_betweenx(bin_mid,binRjcR_25pct_SRnrij,binRjcR_75pct_SRnrij,
alpha=0.5,facecolor=esrFill,
edgecolor='none',linewidth=0,label='Non-RIJ ESR $P_{25-75}$')
ax7.fill_betweenx(bin_mid,binRjcR_25pct_SRnrij,binRjcR_75pct_SRnrij,
facecolor='none',linestyle =(0.5,[20,10]),
edgecolor=esrLine,linewidth=2,zorder=5)
# Plot medians
ax7.plot(binRjcR_median_SRrij,bin_mid,color=rijLine,alpha=0.5,linewidth=3,label='RIJ ESR Median')
ax7.plot(binRjcR_median_SRnrij,bin_mid,color=esrLine,alpha=0.5,linewidth=3,label='Non-RIJ ESR Median')
ax7.invert_yaxis()
ax7.set_ylim(22,-18.5)
ax7.legend(loc='upper left',fontsize=18)
ax7.set_xlabel('Reject Ratio (%)',fontsize=24)
ax7.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax7.tick_params(axis='both', which='major', labelsize=22)
ax7.set_title('PECAN - Reject Ratio - RIJ v. Non-RIJ ESR Spirals',fontsize=26)
ax7.grid()
# Save the output figure
saveStr7 = '{}/RIJcmpESR_RjcR-spread_25-75.{}'.format(figSavePath,fType)
if noDispSave:
fig7.savefig(saveStr7,bbox_inches='tight')
plt.close(fig7)