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)

Import data and assign into MCS zone dictionaries

This is where we could create alternative sorting schemes as well (i.e., perhaps we only want to sort data from trailing stratiform spirals into these MCS zone dictionaries)


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

Initialize temperature bins and create empty variables for our stats


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)]

Bin data by temperature and calculate stats


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)


/Users/danstechman/anaconda3/envs/py35/lib/python3.5/site-packages/numpy/lib/nanfunctions.py:1434: RuntimeWarning: Degrees of freedom <= 0 for slice.
  keepdims=keepdims)

Save to Numpy Data File


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)

Plotting


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)