In [1]:
import numpy as np
from matplotlib import pyplot as plt
import os
import warnings
warnings.filterwarnings("ignore",category=FutureWarning)
import xarray as xr
from matplotlib.ticker import MultipleLocator, FormatStrFormatter

warnings.filterwarnings("ignore",message='invalid value encountered in less_equal')

%matplotlib inline

In [2]:
npAllSprls = np.load('/Users/danstechman/GoogleDrive/PECAN-Data/mp-data/allSpirals_excldOutlrs_stats.npz')

ufo4_S1 = npAllSprls['tzUFO4_S1'][()]
ufo4_S2 = npAllSprls['tzUFO4_S2'][()]
iop11S2 = npAllSprls['iop11S2'][()]

In [3]:
temps = npAllSprls['bin_mid']
temp_lte0 = temps[temps <= 0]
temp_gt0 = temps[temps > 0]
temp_gte5 = temps[temps >= 5]
temp_lte0gt_n5 = temps[(temps > -5) & (temps <= 0)]
temp_lte0gt_n6 = temps[(temps > -6) & (temps <= 0)]
temp_gt0lte10 = temps[(temps > 0) & (temps <= 10)]
temp_lte0gte_n10 = temps[(temps <= 0) & (temps >= -10)]

u4temp_lt_n9 = ufo4_S2['tempC'][ufo4_S2['tempC'] < -9]
u4temp_gte_n9_lte_n6 = ufo4_S2['tempC'][(ufo4_S2['tempC'] >= -9) & (ufo4_S2['tempC'] <= -6)]
u4temp_gt_n9_lte5 = ufo4_S2['tempC'][(ufo4_S2['tempC'] > -9) & (ufo4_S2['tempC'] <= 5)]
u4temp_gt_n9 = ufo4_S2['tempC'][ufo4_S2['tempC'] > -9]
u4temp_gt_n6_lte0 = ufo4_S2['tempC'][(ufo4_S2['tempC'] > -6) & (ufo4_S2['tempC'] <= 0)]

lte0 = np.where(temps <= 0)[0]
gt0 = np.where(temps > 0)[0]
gte5 = np.where(temps >= 5)[0]
gt0lt5 = np.where((temps > 0) & (temps < 5))[0]
lte0gt_n5 = np.where((temps > -5) & (temps <= 0))[0]
lte0gt_n6 = np.where((temps > -6) & (temps <= 0))[0]
gt0lte10 = np.where((temps > 0) & (temps <= 10))[0]
lte0gte_n10 = np.where((temps <= 0) & (temps >= -10))[0]

u4lt_n9 = np.where(ufo4_S2['tempC'] < -9)[0]
u4gte_n9_lte_n6 = np.where((ufo4_S2['tempC'] >= -9) & (ufo4_S2['tempC'] <= -6))[0]
u4gt_n9_lte5 = np.where((ufo4_S2['tempC'] > -9) & (ufo4_S2['tempC'] <= 5))[0]
u4gt_n9 = np.where(ufo4_S2['tempC'] > -9)[0]
u4gt_n6 = np.where(ufo4_S2['tempC'] > -6)[0]
u4gt_n6_lte0 = np.where((ufo4_S2['tempC'] > -6) & (ufo4_S2['tempC'] <= 0))[0]

$dRH/dT$ for $T \leq 0^{\circ}C$


In [ ]:
# rhMed_TZ_lte0 = npAllSprls['binRH_median_TZ'][lte0]
# finiteIx = np.isfinite(rhMed_TZ_lte0)
# pf_rhMed_TZ_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],rhMed_TZ_lte0[finiteIx],  1))
# rhMed_TZ_lte0_dT = pf_rhMed_TZ_lte0(-5) - pf_rhMed_TZ_lte0(-6)   
# print(rhMed_TZ_lte0_dT)

rh_u4s1_lte0 = ufo4_S1['rh'][ufo4_S1['tempC'] <= 0]
finiteIx_u4s1 = np.isfinite(rh_u4s1_lte0)
pf_rh_u4s1_lte0 = np.poly1d(np.polyfit(ufo4_S1['tempC'][ufo4_S1['tempC'] <= 0][finiteIx_u4s1],rh_u4s1_lte0[finiteIx_u4s1],  1))
rh_u4s1_lte0_dT = pf_rh_u4s1_lte0(-5) - pf_rh_u4s1_lte0(-6)
print(rh_u4s1_lte0_dT)

rh_u4s2_lte0 = ufo4_S2['rh'][ufo4_S2['tempC'] <= 0]
finiteIx_u4s2 = np.isfinite(rh_u4s2_lte0)
pf_rh_u4s2_lte0 = np.poly1d(np.polyfit(ufo4_S2['tempC'][ufo4_S2['tempC'] <= 0][finiteIx_u4s2],rh_u4s2_lte0[finiteIx_u4s2],  1))
rh_u4s2_lte0_dT = pf_rh_u4s2_lte0(-5) - pf_rh_u4s2_lte0(-6)
print(rh_u4s2_lte0_dT)


rhMed_SR_lte0 = npAllSprls['binRH_median_SR'][lte0]
finiteIx = np.isfinite(rhMed_SR_lte0)
pf_rhMed_SR_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],rhMed_SR_lte0[finiteIx],  1))
rhMed_SR_lte0_dT = pf_rhMed_SR_lte0(-5) - pf_rhMed_SR_lte0(-6)
        
print(rhMed_SR_lte0_dT)

rhMed_AR_lte0 = npAllSprls['binRH_median_AR'][lte0]
finiteIx = np.isfinite(rhMed_AR_lte0)
pf_rhMed_AR_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],rhMed_AR_lte0[finiteIx],  1))
rhMed_AR_lte0_dT = pf_rhMed_AR_lte0(-5) - pf_rhMed_AR_lte0(-6)
        
print(rhMed_AR_lte0_dT)

rh_i11s2_lte0 = iop11S2['rh'][iop11S2['tempC'] <= 0]
temp_i11s2_lte0 = iop11S2['tempC'][iop11S2['tempC'] <= 0]
finiteIx = np.isfinite(rh_i11s2_lte0)
pf_rh_i11s2_lte0 = np.poly1d(np.polyfit(temp_i11s2_lte0[finiteIx],rh_i11s2_lte0[finiteIx],  1))
rh_i11s2_lte0_dT = pf_rh_i11s2_lte0(-5) - pf_rh_i11s2_lte0(-6)
        
print(rh_i11s2_lte0_dT)

In [ ]:
rh_u4s1_lte0 = ufo4_S1['rh'][ufo4_S1['tempC'] < -9]
finiteIx_u4s1 = np.isfinite(rh_u4s1_lte0)
pf_rh_u4s1_lte0 = np.poly1d(np.polyfit(ufo4_S1['tempC'][ufo4_S1['tempC'] < -9][finiteIx_u4s1],rh_u4s1_lte0[finiteIx_u4s1],  1))
rh_u4s1_lte0_dT = pf_rh_u4s1_lte0(-5) - pf_rh_u4s1_lte0(-6)
print(rh_u4s1_lte0_dT)

rh_u4s2_lte0 = ufo4_S2['rh'][ufo4_S2['tempC'] < -9]
finiteIx_u4s2 = np.isfinite(rh_u4s2_lte0)
pf_rh_u4s2_lte0 = np.poly1d(np.polyfit(ufo4_S2['tempC'][ufo4_S2['tempC'] < -9][finiteIx_u4s2],rh_u4s2_lte0[finiteIx_u4s2],  1))
rh_u4s2_lte0_dT = pf_rh_u4s2_lte0(-5) - pf_rh_u4s2_lte0(-6)
print(rh_u4s2_lte0_dT)

In [ ]:
rh_u4s2_lte0 = ufo4_S2['rh'][u4gt_n9]
finiteIx_u4s2 = np.isfinite(rh_u4s2_lte0)
pf_rh_u4s2_lte0 = np.poly1d(np.polyfit(u4temp_gt_n9[finiteIx_u4s2],rh_u4s2_lte0[finiteIx_u4s2],  1))
rh_u4s2_lte0_dT = pf_rh_u4s2_lte0(-5) - pf_rh_u4s2_lte0(-6)
print(rh_u4s2_lte0_dT)

In [ ]:
rhMed_AR_lte0gte_n10 = npAllSprls['binRH_median_AR'][lte0gte_n10]
finiteIx = np.isfinite(rhMed_AR_lte0gte_n10)
pf_rhMed_AR_lte0gte_n10 = np.poly1d(np.polyfit(temp_lte0gte_n10[finiteIx],rhMed_AR_lte0gte_n10[finiteIx],  1))
rhMed_AR_lte0gte_n10_dT = pf_rhMed_AR_lte0gte_n10(-5) - pf_rhMed_AR_lte0gte_n10(-6)
        
print(rhMed_AR_lte0gte_n10_dT)

In [ ]:
rhMed_AR_gt0lte10 = npAllSprls['binRH_median_AR'][gt0lte10]
finiteIx = np.isfinite(rhMed_AR_gt0lte10)
pf_rhMed_AR_gt0lte10 = np.poly1d(np.polyfit(temp_gt0lte10[finiteIx],rhMed_AR_gt0lte10[finiteIx],  1))
rhMed_AR_gt0lte10_dT = pf_rhMed_AR_gt0lte10(5) - pf_rhMed_AR_gt0lte10(6)
        
print(rhMed_AR_gt0lte10_dT)

$dRH/dT$ for $T > 0^{\circ}C$


In [ ]:
# rhMed_TZ_gt0 = npAllSprls['binRH_median_TZ'][gt0]
# finiteIx = np.isfinite(rhMed_TZ_gt0)
# pf_rhMed_TZ_gt0 = np.poly1d(np.polyfit(temp_gt0[finiteIx],rhMed_TZ_gt0[finiteIx],  1))
# rhMed_TZ_gt0_dT = pf_rhMed_TZ_gt0(6) - pf_rhMed_TZ_gt0(5)
# print(rhMed_TZ_gt0_dT)

rh_u4s2_gt0 = ufo4_S2['rh'][ufo4_S2['tempC'] > 0]
finiteIx_u4s2 = np.isfinite(rh_u4s2_gt0)
pf_rh_u4s2_gt0 = np.poly1d(np.polyfit(ufo4_S2['tempC'][ufo4_S2['tempC'] > 0][finiteIx_u4s2],rh_u4s2_gt0[finiteIx_u4s2],  1))
rh_u4s2_gt0_dT = pf_rh_u4s2_gt0(6) - pf_rh_u4s2_gt0(5)

print(rh_u4s2_gt0_dT)

rhMed_SR_gt0 = npAllSprls['binRH_median_SR'][gt0]
finiteIx = np.isfinite(rhMed_SR_gt0)
pf_rhMed_SR_gt0 = np.poly1d(np.polyfit(temp_gt0[finiteIx],rhMed_SR_gt0[finiteIx],  1))
rhMed_SR_gt0_dT = pf_rhMed_SR_gt0(6) - pf_rhMed_SR_gt0(5)
        
print(rhMed_SR_gt0_dT)

rhMed_AR_gt0 = npAllSprls['binRH_median_AR'][gt0]
finiteIx = np.isfinite(rhMed_AR_gt0)
pf_rhMed_AR_gt0 = np.poly1d(np.polyfit(temp_gt0[finiteIx],rhMed_AR_gt0[finiteIx],  1))
rhMed_AR_gt0_dT = pf_rhMed_AR_gt0(6) - pf_rhMed_AR_gt0(5)
        
print(rhMed_AR_gt0_dT)

$dRH/dT$ for $T \geq 5^{\circ}C$


In [ ]:
# rhMed_TZ_gte5 = npAllSprls['binRH_median_TZ'][gte5]
# finiteIx = np.isfinite(rhMed_TZ_gte5)
# pf_rhMed_TZ_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],rhMed_TZ_gte5[finiteIx],  1))
# rhMed_TZ_gte5_dT = pf_rhMed_TZ_gte5(6) - pf_rhMed_TZ_gte5(5)
# print(rhMed_TZ_gte5_dT)

rh_u4s2_gte5 = ufo4_S2['rh'][ufo4_S2['tempC'] >= 5]
finiteIx_u4s2 = np.isfinite(rh_u4s2_gte5)
pf_rh_u4s2_gte5 = np.poly1d(np.polyfit(ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2],rh_u4s2_gte5[finiteIx_u4s2],  1))
rh_u4s2_gte5_dT = pf_rh_u4s2_gte5(6) - pf_rh_u4s2_gte5(5)

print(rh_u4s2_gte5_dT)

rhMed_SR_gte5 = npAllSprls['binRH_median_SR'][gte5]
finiteIx = np.isfinite(rhMed_SR_gte5)
pf_rhMed_SR_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],rhMed_SR_gte5[finiteIx],  1))
rhMed_SR_gte5_dT = pf_rhMed_SR_gte5(6) - pf_rhMed_SR_gte5(5)
        
print(rhMed_SR_gte5_dT)

rhMed_AR_gte5 = npAllSprls['binRH_median_AR'][gte5]
finiteIx = np.isfinite(rhMed_AR_gte5)
pf_rhMed_AR_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],rhMed_AR_gte5[finiteIx],  1))
rhMed_AR_gte5_dT = pf_rhMed_AR_gte5(6) - pf_rhMed_AR_gte5(5)
        
print(rhMed_AR_gte5_dT)

rh_i11s2_gte5 = iop11S2['rh'][iop11S2['tempC'] >= 5]
temp_i11s2_gte5 = iop11S2['tempC'][iop11S2['tempC'] >= 5]
finiteIx = np.isfinite(rh_i11s2_gte5)
pf_rh_i11s2_gte5 = np.poly1d(np.polyfit(temp_i11s2_gte5[finiteIx],rh_i11s2_gte5[finiteIx],  1))
rh_i11s2_gte5_dT = pf_rh_i11s2_gte5(6) - pf_rh_i11s2_gte5(5)
        
print(rh_i11s2_gte5_dT)

$d𝒜/dT$ for $T \leq 0^{\circ}C$


In [ ]:
# ARatMed_TZ_lte0 = npAllSprls['binARat_median_TZ'][lte0]
# finiteIx = np.isfinite(ARatMed_TZ_lte0)
# pf_ARatMed_TZ_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],ARatMed_TZ_lte0[finiteIx],  1))
# ARatMed_TZ_lte0_dT = pf_ARatMed_TZ_lte0(-5) - pf_ARatMed_TZ_lte0(-6)
# print(ARatMed_TZ_lte0_dT)

ar_u4s1_lte0 = ufo4_S1['ar'][ufo4_S1['tempC'] <= 0]
ar_u4s2_lte0 = ufo4_S2['ar'][ufo4_S2['tempC'] <= 0]
finiteIx_u4s1 = np.isfinite(ar_u4s1_lte0)
finiteIx_u4s2 = np.isfinite(ar_u4s2_lte0)
pf_ar_u4s1_lte0 = np.poly1d(np.polyfit(ufo4_S1['tempC'][ufo4_S1['tempC'] <= 0][finiteIx_u4s1],ar_u4s1_lte0[finiteIx_u4s1],  1))
pf_ar_u4s2_lte0 = np.poly1d(np.polyfit(ufo4_S2['tempC'][ufo4_S2['tempC'] <= 0][finiteIx_u4s2],ar_u4s2_lte0[finiteIx_u4s2],  1))
ar_u4s1_lte0_dT = pf_ar_u4s1_lte0(-5) - pf_ar_u4s1_lte0(-6)
ar_u4s2_lte0_dT = pf_ar_u4s2_lte0(-5) - pf_ar_u4s2_lte0(-6)

print(ar_u4s1_lte0_dT)
print(ar_u4s2_lte0_dT)
print('**MeanS1&S2: {}'.format(np.nanmean([ar_u4s1_lte0_dT,ar_u4s2_lte0_dT])))

ARatMed_SR_lte0 = npAllSprls['binARat_median_SR'][lte0]
finiteIx = np.isfinite(ARatMed_SR_lte0)
pf_ARatMed_SR_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],ARatMed_SR_lte0[finiteIx],  1))
ARatMed_SR_lte0_dT = pf_ARatMed_SR_lte0(-5) - pf_ARatMed_SR_lte0(-6)
        
print(ARatMed_SR_lte0_dT)

ARatMed_AR_lte0 = npAllSprls['binARat_median_AR'][lte0]
finiteIx = np.isfinite(ARatMed_AR_lte0)
pf_ARatMed_AR_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],ARatMed_AR_lte0[finiteIx],  1))
ARatMed_AR_lte0_dT = pf_ARatMed_AR_lte0(-5) - pf_ARatMed_AR_lte0(-6)
        
print(ARatMed_AR_lte0_dT)

ar_i11s2_lte0 = iop11S2['ar'][iop11S2['tempC'] <= 0]
temp_i11s2_lte0 = iop11S2['tempC'][iop11S2['tempC'] <= 0]
finiteIx = np.isfinite(ar_i11s2_lte0)
pf_ar_i11s2_lte0 = np.poly1d(np.polyfit(temp_i11s2_lte0[finiteIx],ar_i11s2_lte0[finiteIx],  1))
ar_i11s2_lte0_dT = pf_ar_i11s2_lte0(-5) - pf_ar_i11s2_lte0(-6)
        
print(ar_i11s2_lte0_dT)

$d𝒜/dT$ for $T \geq 5^{\circ}C$


In [ ]:
# ARatMed_TZ_gte5 = npAllSprls['binARat_median_TZ'][gte5]
# finiteIx = np.isfinite(ARatMed_TZ_gte5)
# pf_ARatMed_TZ_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],ARatMed_TZ_gte5[finiteIx],  1))
# ARatMed_TZ_gte5_dT = pf_ARatMed_TZ_gte5(6) - pf_ARatMed_TZ_gte5(5)
# print(ARatMed_TZ_gte5_dT)

ar_u4s2_gte5 = ufo4_S2['ar'][ufo4_S2['tempC'] > 7]
finiteIx_u4s2 = np.isfinite(ar_u4s2_gte5)
pf_ar_u4s2_gte5 = np.poly1d(np.polyfit(ufo4_S2['tempC'][ufo4_S2['tempC'] > 7][finiteIx_u4s2],ar_u4s2_gte5[finiteIx_u4s2],  1))
ar_u4s2_gte5_dT = pf_ar_u4s2_gte5(6) - pf_ar_u4s2_gte5(5)

print(ar_u4s2_gte5_dT)

ARatMed_SR_gte5 = npAllSprls['binARat_median_SR'][gte5]
finiteIx = np.isfinite(ARatMed_SR_gte5)
pf_ARatMed_SR_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],ARatMed_SR_gte5[finiteIx],  1))
ARatMed_SR_gte5_dT = pf_ARatMed_SR_gte5(6) - pf_ARatMed_SR_gte5(5)
        
print(ARatMed_SR_gte5_dT)

ARatMed_AR_gte5 = npAllSprls['binARat_median_AR'][gte5]
finiteIx = np.isfinite(ARatMed_AR_gte5)
pf_ARatMed_AR_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],ARatMed_AR_gte5[finiteIx],  1))
ARatMed_AR_gte5_dT = pf_ARatMed_AR_gte5(6) - pf_ARatMed_AR_gte5(5)
        
print(ARatMed_AR_gte5_dT)

ar_i11s2_gte5 = iop11S2['ar'][iop11S2['tempC'] >= 5]
temp_i11s2_gte5 = iop11S2['tempC'][iop11S2['tempC'] >= 5]
finiteIx = np.isfinite(ar_i11s2_gte5)
pf_ar_i11s2_gte5 = np.poly1d(np.polyfit(temp_i11s2_gte5[finiteIx],ar_i11s2_gte5[finiteIx],  1))
ar_i11s2_gte5_dT = pf_ar_i11s2_gte5(6) - pf_ar_i11s2_gte5(5)
        
print(ar_i11s2_gte5_dT)

$dD_{mm}/dT$ for $T \leq 0^{\circ}C$


In [ ]:
# temp_lte0 = temps[lte0]
# dmmMed_TZ_lte0 = npAllSprls['binDmm_median_TZ'][lte0]
# finiteIx = np.isfinite(dmmMed_TZ_lte0)
# pf_dmmMed_TZ_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],dmmMed_TZ_lte0[finiteIx],  1))
# dmmMed_TZ_lte0_dT = pf_dmmMed_TZ_lte0(-5) - pf_dmmMed_TZ_lte0(-6)
# print(dmmMed_TZ_lte0_dT)

Dmm_u4s1_lte0 = ufo4_S1['Dmm'][ufo4_S1['tempC'] <= 0]
Dmm_u4s2_lte0 = ufo4_S2['Dmm'][ufo4_S2['tempC'] <= 0]
finiteIx_u4s1 = np.isfinite(Dmm_u4s1_lte0)
finiteIx_u4s2 = np.isfinite(Dmm_u4s2_lte0)
pf_Dmm_u4s1_lte0 = np.poly1d(np.polyfit(ufo4_S1['tempC'][ufo4_S1['tempC'] <= 0][finiteIx_u4s1],Dmm_u4s1_lte0[finiteIx_u4s1],  1))
pf_Dmm_u4s2_lte0 = np.poly1d(np.polyfit(ufo4_S2['tempC'][ufo4_S2['tempC'] <= 0][finiteIx_u4s2],Dmm_u4s2_lte0[finiteIx_u4s2],  1))
Dmm_u4s1_lte0_dT = pf_Dmm_u4s1_lte0(-5) - pf_Dmm_u4s1_lte0(-6)
Dmm_u4s2_lte0_dT = pf_Dmm_u4s2_lte0(-5) - pf_Dmm_u4s2_lte0(-6)

print(Dmm_u4s1_lte0_dT)
print(Dmm_u4s2_lte0_dT)
print('**MeanS1&S2: {}'.format(np.nanmean([Dmm_u4s1_lte0_dT,Dmm_u4s2_lte0_dT])))

dmmMed_SR_lte0 = npAllSprls['binDmm_median_SR'][lte0]
finiteIx = np.isfinite(dmmMed_SR_lte0)
pf_dmmMed_SR_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],dmmMed_SR_lte0[finiteIx],  1))
dmmMed_SR_lte0_dT = pf_dmmMed_SR_lte0(-5) - pf_dmmMed_SR_lte0(-6)
        
print(dmmMed_SR_lte0_dT)

dmmMed_AR_lte0 = npAllSprls['binDmm_median_AR'][lte0]
finiteIx = np.isfinite(dmmMed_AR_lte0)
pf_dmmMed_AR_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],dmmMed_AR_lte0[finiteIx],  1))
dmmMed_AR_lte0_dT = pf_dmmMed_AR_lte0(-5) - pf_dmmMed_AR_lte0(-6)
        
print(dmmMed_AR_lte0_dT*1000)

# dmmMed_AR_lte0gt_n5 = npAllSprls['binDmm_median_AR'][lte0gt_n5]
# finiteIx = np.isfinite(dmmMed_AR_lte0gt_n5)
# pf_dmmMed_AR_lte0gt_n5 = np.poly1d(np.polyfit(temp_lte0gt_n5[finiteIx],dmmMed_AR_lte0gt_n5[finiteIx],  1))
# dmmMed_AR_lte0gt_n5_dT = pf_dmmMed_AR_lte0gt_n5(-5) - pf_dmmMed_AR_lte0gt_n5(-6)
        
# print(dmmMed_AR_lte0gt_n5_dT)

Dmm_i11s2_lte0 = iop11S2['Dmm'][iop11S2['tempC'] <= 0]
temp_i11s2_lte0 = iop11S2['tempC'][iop11S2['tempC'] <= 0]
finiteIx = np.isfinite(Dmm_i11s2_lte0)
pf_Dmm_i11s2_lte0 = np.poly1d(np.polyfit(temp_i11s2_lte0[finiteIx],Dmm_i11s2_lte0[finiteIx],  1))
Dmm_i11s2_lte0_dT = pf_Dmm_i11s2_lte0(-5) - pf_Dmm_i11s2_lte0(-6)
        
print(Dmm_i11s2_lte0_dT*1000)

In [ ]:
Dmm_u4s2_lte0 = ufo4_S2['Dmm'][u4lt_n9]
finiteIx_u4s2 = np.isfinite(Dmm_u4s2_lte0)
pf_Dmm_u4s2_lte0 = np.poly1d(np.polyfit(u4temp_lt_n9[finiteIx_u4s2],Dmm_u4s2_lte0[finiteIx_u4s2],  1))
Dmm_u4s2_lte0_dT = pf_Dmm_u4s2_lte0(-5) - pf_Dmm_u4s2_lte0(-6)
print(np.nanmean(Dmm_u4s2_lte0))
print(Dmm_u4s2_lte0_dT*1000)

In [ ]:
Dmm_u4s2_lte0 = ufo4_S2['Dmm'][u4gte_n9_lte_n6]
finiteIx_u4s2 = np.isfinite(Dmm_u4s2_lte0)
pf_Dmm_u4s2_lte0 = np.poly1d(np.polyfit(u4temp_gte_n9_lte_n6[finiteIx_u4s2],Dmm_u4s2_lte0[finiteIx_u4s2],  1))
Dmm_u4s2_lte0_dT = pf_Dmm_u4s2_lte0(-5) - pf_Dmm_u4s2_lte0(-6)
print(np.nanmean(Dmm_u4s2_lte0))
print(Dmm_u4s2_lte0_dT*1000)

In [ ]:
Dmm_u4s2_lte0 = ufo4_S2['Dmm'][u4gt_n9_lte5]
finiteIx_u4s2 = np.isfinite(Dmm_u4s2_lte0)
pf_Dmm_u4s2_lte0 = np.poly1d(np.polyfit(u4temp_gt_n9_lte5[finiteIx_u4s2],Dmm_u4s2_lte0[finiteIx_u4s2],  1))
Dmm_u4s2_lte0_dT = pf_Dmm_u4s2_lte0(-5) - pf_Dmm_u4s2_lte0(-6)
print(np.nanmean(Dmm_u4s2_lte0))
print(Dmm_u4s2_lte0_dT*1000)

In [ ]:
Dmm_u4s2_lte0 = ufo4_S2['Dmm'][u4gt_n6_lte0]
finiteIx_u4s2 = np.isfinite(Dmm_u4s2_lte0)
pf_Dmm_u4s2_lte0 = np.poly1d(np.polyfit(u4temp_gt_n6_lte0[finiteIx_u4s2],Dmm_u4s2_lte0[finiteIx_u4s2],  1))
Dmm_u4s2_lte0_dT = pf_Dmm_u4s2_lte0(-5) - pf_Dmm_u4s2_lte0(-6)
print(np.nanmean(Dmm_u4s2_lte0))
print(Dmm_u4s2_lte0_dT*1000)

$dD_{mm}/dT$ for $T \geq 5^{\circ}C$


In [ ]:
# dmmMed_TZ_gte5 = npAllSprls['binDmm_median_TZ'][gte5]
# finiteIx = np.isfinite(dmmMed_TZ_gte5)
# pf_dmmMed_TZ_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],dmmMed_TZ_gte5[finiteIx],  1))
# dmmMed_TZ_gte5_dT = pf_dmmMed_TZ_gte5(6) - pf_dmmMed_TZ_gte5(5) 
# print(dmmMed_TZ_gte5_dT)

Dmm_u4s2_gte5 = ufo4_S2['Dmm'][ufo4_S2['tempC'] >= 5]
finiteIx_u4s2 = np.isfinite(Dmm_u4s2_gte5)
pf_Dmm_u4s2_gte5 = np.poly1d(np.polyfit(ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2],Dmm_u4s2_gte5[finiteIx_u4s2],  1))
Dmm_u4s2_gte5_dT = pf_Dmm_u4s2_gte5(6) - pf_Dmm_u4s2_gte5(5)

print(Dmm_u4s2_gte5_dT)

dmmMed_SR_gte5 = npAllSprls['binDmm_median_SR'][gte5]
finiteIx = np.isfinite(dmmMed_SR_gte5)
pf_dmmMed_SR_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],dmmMed_SR_gte5[finiteIx],  1))
dmmMed_SR_gte5_dT = pf_dmmMed_SR_gte5(6) - pf_dmmMed_SR_gte5(5)
        
print(dmmMed_SR_gte5_dT)

dmmMed_AR_gte5 = npAllSprls['binDmm_median_AR'][gte5]
finiteIx = np.isfinite(dmmMed_AR_gte5)
pf_dmmMed_AR_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],dmmMed_AR_gte5[finiteIx],  1))
dmmMed_AR_gte5_dT = pf_dmmMed_AR_gte5(6) - pf_dmmMed_AR_gte5(5)
        
print(dmmMed_AR_gte5_dT*1000)

Dmm_i11s2_gte5 = iop11S2['Dmm'][iop11S2['tempC'] >= 5]
temp_i11s2_gte5 = iop11S2['tempC'][iop11S2['tempC'] >= 5]
finiteIx = np.isfinite(Dmm_i11s2_gte5)
pf_Dmm_i11s2_gte5 = np.poly1d(np.polyfit(temp_i11s2_gte5[finiteIx],Dmm_i11s2_gte5[finiteIx],  1))
Dmm_i11s2_gte5_dT = pf_Dmm_i11s2_gte5(6) - pf_Dmm_i11s2_gte5(5)
        
print(Dmm_i11s2_gte5_dT*1000)

In [ ]:
fig, ax = plt.subplots(figsize=(16,20))
ax.plot(Dmm_u4s2_gte5[finiteIx_u4s2],ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2],'b-')
ax.plot(Dmm_u4s2_gte5[finiteIx_u4s2],ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2],'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_Dmm_u4s2_gte5(ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2]),ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2],'r-')

ax.set_ylim(-5,20)
ax.set_title('TZ\t\t$dD_{mm}/dT$ for $T \geq 5^{\circ}C$',fontsize=24)
ax.invert_yaxis()
ax.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax.tick_params(axis='both', which='major', labelsize=22)
ax.grid(which='both')

$dN_t/dT$ for $T \leq 0^{\circ}C$


In [ ]:
# ntMed_TZ_lte0 = npAllSprls['binNt_median_TZ'][lte0]
# finiteIx = np.isfinite(np.log10(ntMed_TZ_lte0))
# pf_ntMed_TZ_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],np.log10(ntMed_TZ_lte0[finiteIx]),  1))
# ntMed_TZ_lte0_dT = 1 - (10**pf_ntMed_TZ_lte0(-6)/10**pf_ntMed_TZ_lte0(-5)) # 1 deg C change percentage
# print(ntMed_TZ_lte0_dT)

Nt_u4s1_lte0 = ufo4_S1['Nt'][ufo4_S1['tempC'] <= 0]
Nt_u4s2_lte0 = ufo4_S2['Nt'][ufo4_S2['tempC'] <= 0]
finiteIx_u4s1 = np.isfinite(np.log10(Nt_u4s1_lte0))
finiteIx_u4s2 = np.isfinite(np.log10(Nt_u4s2_lte0))
pf_Nt_u4s1_lte0 = np.poly1d(np.polyfit(ufo4_S1['tempC'][ufo4_S1['tempC'] <= 0][finiteIx_u4s1],np.log10(Nt_u4s1_lte0[finiteIx_u4s1]),  1))
pf_Nt_u4s2_lte0 = np.poly1d(np.polyfit(ufo4_S2['tempC'][ufo4_S2['tempC'] <= 0][finiteIx_u4s2],np.log10(Nt_u4s2_lte0[finiteIx_u4s2]),  1))
Nt_u4s1_lte0_dT = 1 - (10**pf_Nt_u4s1_lte0(-6)/10**pf_Nt_u4s1_lte0(-5)) # 1 deg C change percentage
Nt_u4s2_lte0_dT = 1 - (10**pf_Nt_u4s2_lte0(-6)/10**pf_Nt_u4s2_lte0(-5))

print(Nt_u4s1_lte0_dT)
print(Nt_u4s2_lte0_dT)
print('**MeanS1&S2: {}'.format(np.nanmean([Nt_u4s1_lte0_dT,Nt_u4s2_lte0_dT])))

ntMed_SR_lte0 = npAllSprls['binNt_median_SR'][lte0]
finiteIx = np.isfinite(np.log10(ntMed_SR_lte0))
pf_ntMed_SR_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],np.log10(ntMed_SR_lte0[finiteIx]),  1))
ntMed_SR_lte0_dT = 1 - (10**pf_ntMed_SR_lte0(-6)/10**pf_ntMed_SR_lte0(-5)) # 1 deg C change percentage
        
print(ntMed_SR_lte0_dT)

ntMed_AR_lte0 = npAllSprls['binNt_median_AR'][lte0]
finiteIx = np.isfinite(np.log10(ntMed_AR_lte0))
pf_ntMed_AR_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],np.log10(ntMed_AR_lte0[finiteIx]),  1))
ntMed_AR_lte0_dT = 1 - (10**pf_ntMed_AR_lte0(-6)/10**pf_ntMed_AR_lte0(-5)) # 1 deg C change percentage
        
print(ntMed_AR_lte0_dT)

# NtMed_AR_lte0gt_n5 = npAllSprls['binNt_median_AR'][lte0gt_n5]
# finiteIx = np.isfinite(np.log10(NtMed_AR_lte0gt_n5))
# pf_NtMed_AR_lte0gt_n5 = np.poly1d(np.polyfit(temp_lte0gt_n5[finiteIx],np.log10(NtMed_AR_lte0gt_n5[finiteIx]),  1))
# NtMed_AR_lte0gt_n5_dT = 1 - (10**pf_NtMed_AR_lte0gt_n5(-6)/10**pf_NtMed_AR_lte0gt_n5(-5))
        
# print(NtMed_AR_lte0gt_n5_dT)

temp_i11s2_lte0 = iop11S2['tempC'][iop11S2['tempC'] <= 0]
Nt_i11s2_lte0 = iop11S2['Nt'][iop11S2['tempC'] <= 0]
finiteIx_i11s2 = np.isfinite(np.log10(Nt_i11s2_lte0))
pf_Nt_i11s2_lte0 = np.poly1d(np.polyfit(temp_i11s2_lte0[finiteIx_i11s2],np.log10(Nt_i11s2_lte0[finiteIx_i11s2]),  1))
Nt_i11s2_lte0_dT = 1 - (10**pf_Nt_i11s2_lte0(-6)/10**pf_Nt_i11s2_lte0(-5))
        
print(Nt_i11s2_lte0_dT)

In [7]:
ntMed_AR_lte0gt_n5 = npAllSprls['binNt_median_AR'][lte0gt_n5]
finiteIx = np.isfinite(np.log10(ntMed_AR_lte0gt_n5))
pf_ntMed_AR_lte0gt_n5 = np.poly1d(np.polyfit(temp_lte0gt_n5[finiteIx],np.log10(ntMed_AR_lte0gt_n5[finiteIx]),  1))
ntMed_AR_lte0gt_n5_dT = 1 - (10**pf_ntMed_AR_lte0gt_n5(-6)/10**pf_ntMed_AR_lte0gt_n5(-5)) # 1 deg C change percentage
        
print(ntMed_AR_lte0gt_n5_dT)


-0.5611941091945802

In [6]:
temp_i11s2_lte0gt_n6 = iop11S2['tempC'][(iop11S2['tempC'] <= 0) & (iop11S2['tempC'] > -5)]
Nt_i11s2_lte0gt_n6 = iop11S2['Nt'][(iop11S2['tempC'] <= 0) & (iop11S2['tempC'] > -5)]
finiteIx_i11s2 = np.isfinite(np.log10(Nt_i11s2_lte0gt_n6))
pf_Nt_i11s2_lte0gt_n6 = np.poly1d(np.polyfit(temp_i11s2_lte0gt_n6[finiteIx_i11s2],np.log10(Nt_i11s2_lte0gt_n6[finiteIx_i11s2]),  1))
Nt_i11s2_lte0gt_n6_dT = 1 - (10**pf_Nt_i11s2_lte0gt_n6(-6)/10**pf_Nt_i11s2_lte0gt_n6(-5))
        
print(Nt_i11s2_lte0gt_n6_dT)


0.4222947356276514

$dN_t/dT$ for $T \geq 5^{\circ}C$


In [ ]:
# ntMed_TZ_gte5 = npAllSprls['binNt_median_TZ'][gte5]
# finiteIx = np.isfinite(np.log10(ntMed_TZ_gte5))
# pf_ntMed_TZ_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],np.log10(ntMed_TZ_gte5[finiteIx]),  1))
# ntMed_TZ_gte5_dT = 1 - (10**pf_ntMed_TZ_gte5(2)/10**pf_ntMed_TZ_gte5(3)) # 1 deg C change percentage
# print(ntMed_TZ_gte5_dT)

Nt_u4s2_gte5 = ufo4_S2['Nt'][ufo4_S2['tempC'] >= 5]
finiteIx_u4s2 = np.isfinite(np.log10(Nt_u4s2_gte5))
pf_Nt_u4s2_gte5 = np.poly1d(np.polyfit(ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2],np.log10(Nt_u4s2_gte5[finiteIx_u4s2]),  1))
Nt_u4s2_gte5_dT = 1 - (10**pf_Nt_u4s2_gte5(2)/10**pf_Nt_u4s2_gte5(3))

print(Nt_u4s2_gte5_dT)

ntMed_SR_gte5 = npAllSprls['binNt_median_SR'][gte5]
finiteIx = np.isfinite(np.log10(ntMed_SR_gte5))
pf_ntMed_SR_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],np.log10(ntMed_SR_gte5[finiteIx]),  1))
ntMed_SR_gte5_dT = 1 - (10**pf_ntMed_SR_gte5(2)/10**pf_ntMed_SR_gte5(3)) # 1 deg C change percentage
        
print(ntMed_SR_gte5_dT)

ntMed_AR_gte5 = npAllSprls['binNt_median_AR'][gte5]
finiteIx = np.isfinite(np.log10(ntMed_AR_gte5))
pf_ntMed_AR_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],np.log10(ntMed_AR_gte5[finiteIx]),  1))
ntMed_AR_gte5_dT = 1 - (10**pf_ntMed_AR_gte5(2)/10**pf_ntMed_AR_gte5(3)) # 1 deg C change percentage
        
print(ntMed_AR_gte5_dT)

temp_i11s2_gte5 = iop11S2['tempC'][iop11S2['tempC'] >= 5]
Nt_i11s2_gte5 = iop11S2['Nt'][iop11S2['tempC'] >= 5]
finiteIx_i11s2 = np.isfinite(np.log10(Nt_i11s2_gte5))
pf_Nt_i11s2_gte5 = np.poly1d(np.polyfit(temp_i11s2_gte5[finiteIx_i11s2],np.log10(Nt_i11s2_gte5[finiteIx_i11s2]),  1))
Nt_i11s2_gte5_dT = 1 - (10**pf_Nt_i11s2_gte5(2)/10**pf_Nt_i11s2_gte5(3))
        
print(Nt_i11s2_gte5_dT)

In [ ]:
fig, ax = plt.subplots(figsize=(16,20))
ax.plot(Nt_u4s2_gte5[finiteIx_u4s2],ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2],'b-')
ax.plot(Nt_u4s2_gte5[finiteIx_u4s2],ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2],'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(10**(pf_Nt_u4s2_gte5(ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2])),ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2],'r-')

ax.set_ylim(-5,20)
ax.set_title('TZ\t\t$dN_t/dT$ for $T > 0^{\circ}C$',fontsize=24)
ax.set_xscale('log',nonposx='mask')
ax.invert_yaxis()
ax.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax.tick_params(axis='both', which='major', labelsize=22)
ax.grid(which='both')

$dTWC/dT$ for $T \leq 0^{\circ}C$


In [ ]:
# twcMed_TZ_lte0 = npAllSprls['binTWC_median_TZ'][lte0]
# finiteIx = np.isfinite(np.log10(twcMed_TZ_lte0))
# pf_twcMed_TZ_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],np.log10(twcMed_TZ_lte0[finiteIx]),  1))
# twcMed_TZ_lte0_dT = 1 - (10**pf_twcMed_TZ_lte0(-6)/10**pf_twcMed_TZ_lte0(-5)) # 1 deg C change percentage
# print(twcMed_TZ_lte0_dT)

twc_u4s1_lte0 = ufo4_S1['twc'][ufo4_S1['tempC'] <= 0]
twc_u4s2_lte0 = ufo4_S2['twc'][ufo4_S2['tempC'] <= 0]
finiteIx_u4s1 = np.isfinite(np.log10(twc_u4s1_lte0))
finiteIx_u4s2 = np.isfinite(np.log10(twc_u4s2_lte0))
pf_twc_u4s1_lte0 = np.poly1d(np.polyfit(ufo4_S1['tempC'][ufo4_S1['tempC'] <= 0][finiteIx_u4s1],np.log10(twc_u4s1_lte0[finiteIx_u4s1]),  1))
pf_twc_u4s2_lte0 = np.poly1d(np.polyfit(ufo4_S2['tempC'][ufo4_S2['tempC'] <= 0][finiteIx_u4s2],np.log10(twc_u4s2_lte0[finiteIx_u4s2]),  1))
twc_u4s1_lte0_dT = 1 - (10**pf_twc_u4s1_lte0(-6)/10**pf_twc_u4s1_lte0(-5)) # 1 deg C change percentage
twc_u4s2_lte0_dT = 1 - (10**pf_twc_u4s2_lte0(-6)/10**pf_twc_u4s2_lte0(-5))

print(twc_u4s1_lte0_dT)
print(twc_u4s2_lte0_dT)
print('**MeanS1&S2: {}'.format(np.nanmean([twc_u4s1_lte0_dT,twc_u4s2_lte0_dT])))

twcMed_SR_lte0 = npAllSprls['binTWC_median_SR'][lte0]
finiteIx = np.isfinite(np.log10(twcMed_SR_lte0))
pf_twcMed_SR_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],np.log10(twcMed_SR_lte0[finiteIx]),  1))
twcMed_SR_lte0_dT = 1 - (10**pf_twcMed_SR_lte0(-6)/10**pf_twcMed_SR_lte0(-5)) # 1 deg C change percentage
        
print(twcMed_SR_lte0_dT)

twcMed_AR_lte0 = npAllSprls['binTWC_median_AR'][lte0]
finiteIx = np.isfinite(np.log10(twcMed_AR_lte0))
pf_twcMed_AR_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],np.log10(twcMed_AR_lte0[finiteIx]),  1))
twcMed_AR_lte0_dT = 1 - (10**pf_twcMed_AR_lte0(-6)/10**pf_twcMed_AR_lte0(-5)) # 1 deg C change percentage
        
print(twcMed_AR_lte0_dT)

TWCMed_AR_lte0gt_n6 = npAllSprls['binTWC_median_AR'][lte0gt_n6]
finiteIx = np.isfinite(np.log10(TWCMed_AR_lte0gt_n6))
pf_TWCMed_AR_lte0gt_n6 = np.poly1d(np.polyfit(temp_lte0gt_n6[finiteIx],np.log10(TWCMed_AR_lte0gt_n6[finiteIx]),  1))
TWCMed_AR_lte0gt_n6_dT = 1 - (10**pf_TWCMed_AR_lte0gt_n6(-6)/10**pf_TWCMed_AR_lte0gt_n6(-5))
        
print(TWCMed_AR_lte0gt_n6_dT)

temp_i11s2_lte0 = iop11S2['tempC'][iop11S2['tempC'] <= 0]
twc_i11s2_lte0 = iop11S2['twc'][iop11S2['tempC'] <= 0]
finiteIx_i11s2 = np.isfinite(np.log10(twc_i11s2_lte0))
pf_twc_i11s2_lte0 = np.poly1d(np.polyfit(temp_i11s2_lte0[finiteIx_i11s2],np.log10(twc_i11s2_lte0[finiteIx_i11s2]),  1))
twc_i11s2_lte0_dT = 1 - (10**pf_twc_i11s2_lte0(-6)/10**pf_twc_i11s2_lte0(-5))
        
print(twc_i11s2_lte0_dT)

In [ ]:
twc_u4s2_lte0 = ufo4_S2['twc'][u4lt_n9]
finiteIx_u4s2 = np.isfinite(np.log10(twc_u4s2_lte0))
pf_twc_u4s2_lte0 = np.poly1d(np.polyfit(u4temp_lt_n9[finiteIx_u4s2],np.log10(twc_u4s2_lte0[finiteIx_u4s2]),  1))
twc_u4s2_lte0_dT = 1 - (10**pf_twc_u4s2_lte0(-6)/10**pf_twc_u4s2_lte0(-5))

print(twc_u4s2_lte0_dT)

In [ ]:
twc_u4s2_lte0 = ufo4_S2['twc'][u4gte_n9_lte_n6]
finiteIx_u4s2 = np.isfinite(np.log10(twc_u4s2_lte0))
pf_twc_u4s2_lte0 = np.poly1d(np.polyfit(u4temp_gte_n9_lte_n6[finiteIx_u4s2],np.log10(twc_u4s2_lte0[finiteIx_u4s2]),  1))
twc_u4s2_lte0_dT = 1 - (10**pf_twc_u4s2_lte0(-6)/10**pf_twc_u4s2_lte0(-5))

print(twc_u4s2_lte0_dT)

In [ ]:
twc_u4s2_lte0 = ufo4_S2['twc'][u4gt_n9_lte5]
finiteIx_u4s2 = np.isfinite(np.log10(twc_u4s2_lte0))
pf_twc_u4s2_lte0 = np.poly1d(np.polyfit(u4temp_gt_n9_lte5[finiteIx_u4s2],np.log10(twc_u4s2_lte0[finiteIx_u4s2]),  1))
twc_u4s2_lte0_dT = 1 - (10**pf_twc_u4s2_lte0(-6)/10**pf_twc_u4s2_lte0(-5))

print(twc_u4s2_lte0_dT)

$dTWC/dT$ for $T \geq 5^{\circ}C$


In [ ]:
# twcMed_TZ_gte5 = npAllSprls['binTWC_median_TZ'][gte5]
# finiteIx = np.isfinite(np.log10(twcMed_TZ_gte5))
# pf_twcMed_TZ_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],np.log10(twcMed_TZ_gte5[finiteIx]),  1))
# twcMed_TZ_gte5_dT = 1 - (10**pf_twcMed_TZ_gte5(2)/10**pf_twcMed_TZ_gte5(3)) # 1 deg C change percentage
# print(twcMed_TZ_gte5_dT)

twc_u4s2_gte5 = ufo4_S2['twc'][ufo4_S2['tempC'] >= 5]
finiteIx_u4s2 = np.isfinite(np.log10(twc_u4s2_gte5))
pf_twc_u4s2_gte5 = np.poly1d(np.polyfit(ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2],np.log10(twc_u4s2_gte5[finiteIx_u4s2]),  1))
twc_u4s2_gte5_dT = 1 - (10**pf_twc_u4s2_gte5(2)/10**pf_twc_u4s2_gte5(3))

print(twc_u4s2_gte5_dT)

twcMed_SR_gte5 = npAllSprls['binTWC_median_SR'][gte5]
finiteIx = np.isfinite(np.log10(twcMed_SR_gte5))
pf_twcMed_SR_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],np.log10(twcMed_SR_gte5[finiteIx]),  1))
twcMed_SR_gte5_dT = 1 - (10**pf_twcMed_SR_gte5(2)/10**pf_twcMed_SR_gte5(3)) # 1 deg C change percentage
        
print(twcMed_SR_gte5_dT)

twcMed_AR_gte5 = npAllSprls['binTWC_median_AR'][gte5]
finiteIx = np.isfinite(np.log10(twcMed_AR_gte5))
pf_twcMed_AR_gte5 = np.poly1d(np.polyfit(temp_gte5[finiteIx],np.log10(twcMed_AR_gte5[finiteIx]),  1))
twcMed_AR_gte5_dT = 1 - (10**pf_twcMed_AR_gte5(2)/10**pf_twcMed_AR_gte5(3)) # 1 deg C change percentage
        
print(twcMed_AR_gte5_dT)

temp_i11s2_gte5 = iop11S2['tempC'][iop11S2['tempC'] >= 5]
twc_i11s2_gte5 = iop11S2['twc'][iop11S2['tempC'] >= 5]
finiteIx_i11s2 = np.isfinite(np.log10(twc_i11s2_gte5))
pf_twc_i11s2_gte5 = np.poly1d(np.polyfit(temp_i11s2_gte5[finiteIx_i11s2],np.log10(twc_i11s2_gte5[finiteIx_i11s2]),  1))
twc_i11s2_gte5_dT = 1 - (10**pf_twc_i11s2_gte5(2)/10**pf_twc_i11s2_gte5(3))
        
print(twc_i11s2_gte5_dT)

In [ ]:
fig, ax = plt.subplots(figsize=(16,20))
ax.plot(twc_u4s2_gte5[finiteIx_u4s2],ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2],'b-')
ax.plot(twc_u4s2_gte5[finiteIx_u4s2],ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2],'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(10**(pf_twc_u4s2_gte5(ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2])),ufo4_S2['tempC'][ufo4_S2['tempC'] >= 5][finiteIx_u4s2],'r-')

ax.set_ylim(-5,20)
ax.set_title('TZ\t\t$dTWC/dT$ for $T \geq 5^{\circ}C$',fontsize=24)
ax.set_xscale('log',nonposx='mask')
ax.invert_yaxis()
ax.set_ylabel('Temperature ($^{\circ}$C)',fontsize=24)
ax.tick_params(axis='both', which='major', labelsize=22)
ax.grid(which='both')

...

...

...

Average of $RH$ Median Values for $T \leq 0^{\circ}C$


In [ ]:
# rhMed_TZ_lte0 = npAllSprls['binRH_median_TZ'][lte0]
# rhMedAvg_TZ_lte0 = np.nanmean(rhMed_TZ_lte0)
# print('{}'.format(rhMedAvg_TZ_lte0))

print('{}'.format(np.nanmean(ufo4_S1['rh'][ufo4_S1['tempC'] <= 0])))
print('{}'.format(np.nanmean(ufo4_S2['rh'][ufo4_S2['tempC'] <= 0])))

rhMed_SR_lte0 = npAllSprls['binRH_median_SR'][temps <= 0]
rhMedAvg_SR_lte0 = np.nanmean(rhMed_SR_lte0)
print('{}'.format(rhMedAvg_SR_lte0))

rhMed_AR_lte0 = npAllSprls['binRH_median_AR'][temps <= 0]
rhMedAvg_AR_lte0 = np.nanmean(rhMed_AR_lte0)
print('{}'.format(rhMedAvg_AR_lte0))
print('{}'.format(np.nanmean(iop11S2['rh'][iop11S2['tempC'] <= 0])))
print('{}'.format(np.nanmean(iop11S2['rh'][iop11S2['tempC'] > -6])))

In [ ]:
rhMed_AR_lte0gt_n6 = npAllSprls['binRH_median_AR'][lte0gt_n6]
rhMedAvg_AR_lte0gt_n6 = np.nanmean(rhMed_AR_lte0gt_n6)
print('{}'.format(rhMedAvg_AR_lte0gt_n6))

In [ ]:
print('{}'.format(np.nanmean(ufo4_S1['rh'][ufo4_S1['tempC'] < -9])))
print('{}'.format(np.nanmean(ufo4_S2['rh'][ufo4_S2['tempC'] < -9])))

Average of $RH$ Median Values for $T \geq 5^{\circ}C$


In [ ]:
# rhMed_TZ_gte5 = npAllSprls['binRH_median_TZ'][gte5]
# rhMedAvg_TZ_gte5 = np.nanmean(rhMed_TZ_gte5)
# print('{}'.format(rhMedAvg_TZ_gte5))

print('{}'.format(np.nanmean(ufo4_S2['rh'][ufo4_S2['tempC'] >= 5])))

rhMed_SR_gte5 = npAllSprls['binRH_median_SR'][gte5]
rhMedAvg_SR_gte5 = np.nanmean(rhMed_SR_gte5)
print('{}'.format(rhMedAvg_SR_gte5))

rhMed_AR_gte5 = npAllSprls['binRH_median_AR'][gte5]
rhMedAvg_AR_gte5 = np.nanmean(rhMed_AR_gte5)
print('{}'.format(rhMedAvg_AR_gte5))
print('{}'.format(np.nanmean(iop11S2['rh'][iop11S2['tempC'] >= 5])))

Average of $𝒜$ Median Values for $T \leq 0^{\circ}C$


In [ ]:
# ARatMed_TZ_lte0 = npAllSprls['binARat_median_TZ'][lte0]
# ARatMedAvg_TZ_lte0 = np.nanmean(ARatMed_TZ_lte0)
# print('{}'.format(ARatMedAvg_TZ_lte0))

print('{}'.format(np.nanmean(ufo4_S1['ar'][ufo4_S1['tempC'] <= 0])))
print('{}'.format(np.nanmean(ufo4_S2['ar'][ufo4_S2['tempC'] <= 0])))

ARatMed_SR_lte0 = npAllSprls['binARat_median_SR'][lte0]
ARatMedAvg_SR_lte0 = np.nanmean(ARatMed_SR_lte0)
print('{}'.format(ARatMedAvg_SR_lte0))

ARatMed_AR_lte0 = npAllSprls['binARat_median_AR'][lte0]
ARatMedAvg_AR_lte0 = np.nanmean(ARatMed_AR_lte0)
print('{}'.format(ARatMedAvg_AR_lte0))

print('{}'.format(np.nanmean(iop11S2['ar'][iop11S2['tempC'] <= 0])))

Average of $𝒜$ Median Values for $T \geq 5^{\circ}C$


In [ ]:
# ARatMed_TZ_gte5 = npAllSprls['binARat_median_TZ'][gte5]
# ARatMedAvg_TZ_gte5 = np.nanmean(ARatMed_TZ_gte5)
# print('{}'.format(ARatMedAvg_TZ_gte5))

print('{}'.format(np.nanmean(ufo4_S2['ar'][ufo4_S2['tempC'] >= 5])))

ARatMed_SR_gte5 = npAllSprls['binARat_median_SR'][gte5]
ARatMedAvg_SR_gte5 = np.nanmean(ARatMed_SR_gte5)
print('{}'.format(ARatMedAvg_SR_gte5))

ARatMed_AR_gte5 = npAllSprls['binARat_median_AR'][gte5]
ARatMedAvg_AR_gte5 = np.nanmean(ARatMed_AR_gte5)
print('{}'.format(ARatMedAvg_AR_gte5))
print('{}'.format(np.nanmean(iop11S2['ar'][iop11S2['tempC'] >= 5])))

Average of $D_{mm}$ Median Values for $T \leq 0^{\circ}C$


In [ ]:
# DmmMed_TZ_lte0 = npAllSprls['binDmm_median_TZ'][lte0]
# DmmMedAvg_TZ_lte0 = np.nanmean(DmmMed_TZ_lte0)
# print('{}'.format(DmmMedAvg_TZ_lte0))

print('{}'.format(np.nanmean(ufo4_S1['Dmm'][ufo4_S1['tempC'] <= 0])))
print('{}'.format(np.nanmean(ufo4_S2['Dmm'][ufo4_S2['tempC'] <= 0])))

DmmMed_SR_lte0 = npAllSprls['binDmm_median_SR'][lte0]
DmmMedAvg_SR_lte0 = np.nanmean(DmmMed_SR_lte0)
print('{}'.format(DmmMedAvg_SR_lte0))

DmmMed_AR_lte0 = npAllSprls['binDmm_median_AR'][lte0]
DmmMedAvg_AR_lte0 = np.nanmean(DmmMed_AR_lte0)
print('{}'.format(DmmMedAvg_AR_lte0))
print('{}'.format(np.nanmean(iop11S2['Dmm'][iop11S2['tempC'] <= 0])))

Average of $D_{mm}$ Median Values for $T \geq 5^{\circ}C$


In [ ]:
# DmmMed_TZ_gte5 = npAllSprls['binDmm_median_TZ'][gte5]
# DmmMedAvg_TZ_gte5 = np.nanmean(DmmMed_TZ_gte5)
# print('{}'.format(DmmMedAvg_TZ_gte5))

print('{}'.format(np.nanmean(ufo4_S2['Dmm'][ufo4_S2['tempC'] >= 5])))

DmmMed_SR_gte5 = npAllSprls['binDmm_median_SR'][gte5]
DmmMedAvg_SR_gte5 = np.nanmean(DmmMed_SR_gte5)
print('{}'.format(DmmMedAvg_SR_gte5))

DmmMed_AR_gte5 = npAllSprls['binDmm_median_AR'][gte5]
DmmMedAvg_AR_gte5 = np.nanmean(DmmMed_AR_gte5)
print('{}'.format(DmmMedAvg_AR_gte5))

print('{}'.format(np.nanmean(iop11S2['Dmm'][iop11S2['tempC'] >= 5])))

Average of $N_t$ Median Values for $T \leq 0^{\circ}C$


In [ ]:
# ntMed_TZ_lte0 = npAllSprls['binNt_median_TZ'][lte0]
# ntMedAvg_TZ_lte0 = np.nanmean(ntMed_TZ_lte0)
# print('{}'.format(ntMedAvg_TZ_lte0))

print('{}'.format(np.nanmean(ufo4_S1['Nt'][ufo4_S1['tempC'] <= 0])))
print('{}'.format(np.nanmean(ufo4_S2['Nt'][ufo4_S2['tempC'] <= 0])))

ntMed_SR_lte0 = npAllSprls['binNt_median_SR'][lte0]
ntMedAvg_SR_lte0 = np.nanmean(ntMed_SR_lte0)
print('{}'.format(ntMedAvg_SR_lte0))

ntMed_AR_lte0 = npAllSprls['binNt_median_AR'][lte0]
ntMedAvg_AR_lte0 = np.nanmean(ntMed_AR_lte0)
print('{}'.format(ntMedAvg_AR_lte0))
print('{}'.format(np.nanmean(iop11S2['Nt'][iop11S2['tempC'] <= 0])))

Average of $N_t$ Median Values for $T \geq 5^{\circ}C$


In [ ]:
# ntMed_TZ_gte5 = npAllSprls['binNt_median_TZ'][gte5]
# ntMedAvg_TZ_gte5 = np.nanmean(ntMed_TZ_gte5)
# print('{}'.format(ntMedAvg_TZ_gte5))

print('{}'.format(np.nanmean(ufo4_S2['Nt'][ufo4_S2['tempC'] >= 5])))

ntMed_SR_gte5 = npAllSprls['binNt_median_SR'][gte5]
ntMedAvg_SR_gte5 = np.nanmean(ntMed_SR_gte5)
print('{}'.format(ntMedAvg_SR_gte5))

ntMed_AR_gte5 = npAllSprls['binNt_median_AR'][gte5]
ntMedAvg_AR_gte5 = np.nanmean(ntMed_AR_gte5)
print('{}'.format(ntMedAvg_AR_gte5))
print('{}'.format(np.nanmean(iop11S2['Nt'][iop11S2['tempC'] >= 5])))

Average of $TWC$ Median Values for $T \leq 0^{\circ}C$


In [ ]:
# twcMed_TZ_lte0 = npAllSprls['binTWC_median_TZ'][lte0]
# twcMedAvg_TZ_lte0 = np.nanmean(twcMed_TZ_lte0)
# print('{}'.format(twcMedAvg_TZ_lte0))

print('{}'.format(np.nanmean(ufo4_S1['twc'][ufo4_S1['tempC'] <= 0])))
print('{}'.format(np.nanmean(ufo4_S2['twc'][ufo4_S2['tempC'] <= 0])))

twcMed_SR_lte0 = npAllSprls['binTWC_median_SR'][lte0]
twcMedAvg_SR_lte0 = np.nanmean(twcMed_SR_lte0)
print('{}'.format(twcMedAvg_SR_lte0))

twcMed_AR_lte0 = npAllSprls['binTWC_median_AR'][lte0]
twcMedAvg_AR_lte0 = np.nanmean(twcMed_AR_lte0)
print('{}'.format(twcMedAvg_AR_lte0))
print('{}'.format(np.nanmean(iop11S2['twc'][iop11S2['tempC'] <= 0])))

Average of $TWC$ Median Values for $T \geq 5^{\circ}C$


In [ ]:
# twcMed_TZ_gte5 = npAllSprls['binTWC_median_TZ'][gte5]
# twcMedAvg_TZ_gte5 = np.nanmean(twcMed_TZ_gte5)
# print('{}'.format(twcMedAvg_TZ_gte5))

print('{}'.format(np.nanmean(ufo4_S2['twc'][ufo4_S2['tempC'] >= 5])))

twcMed_SR_gte5 = npAllSprls['binTWC_median_SR'][gte5]
twcMedAvg_SR_gte5 = np.nanmean(twcMed_SR_gte5)
print('{}'.format(twcMedAvg_SR_gte5))

twcMed_AR_gte5 = npAllSprls['binTWC_median_AR'][gte5]
twcMedAvg_AR_gte5 = np.nanmean(twcMed_AR_gte5)
print('{}'.format(twcMedAvg_AR_gte5))
print('{}'.format(np.nanmean(iop11S2['twc'][iop11S2['tempC'] >= 5])))

...

...

...


In [ ]:
top = -19
bot = -9
topTemp = np.where(temps == top)[0][0]
botTemp = np.where(temps == bot)[0][0]+1

In [ ]:
temps[topTemp:botTemp]

Mean $ℛ_{RH}$ for $T \leq 0^{\circ}C$


In [ ]:
# RH_rStdv_TZ_lte0 = npAllSprls['binRH_stdv_TZ'][lte0]/npAllSprls['binRH_mean_TZ'][lte0]
# print('Min:\t{:.3f}'.format(np.nanmin(RH_rStdv_TZ_lte0)))
# print('Max:\t{:.3f}'.format(np.nanmax(RH_rStdv_TZ_lte0)))
# print('Median:\t{:.3f}'.format(np.nanmedian(RH_rStdv_TZ_lte0)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(RH_rStdv_TZ_lte0)))

RH_rStdv_SR_lte0 = npAllSprls['binRH_stdv_SR'][lte0]/npAllSprls['binRH_mean_SR'][lte0]
print('Min:\t{:.3f}'.format(np.nanmin(RH_rStdv_SR_lte0)))
print('Max:\t{:.3f}'.format(np.nanmax(RH_rStdv_SR_lte0)))
print('Median:\t{:.3f}'.format(np.nanmedian(RH_rStdv_SR_lte0)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(RH_rStdv_SR_lte0)))

RH_rStdv_AR_lte0 = npAllSprls['binRH_stdv_AR'][lte0]/npAllSprls['binRH_mean_AR'][lte0]
print('Min:\t{:.3f}'.format(np.nanmin(RH_rStdv_AR_lte0)))
print('Max:\t{:.3f}'.format(np.nanmax(RH_rStdv_AR_lte0)))
print('Median:\t{:.3f}'.format(np.nanmedian(RH_rStdv_AR_lte0)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(RH_rStdv_AR_lte0)))

Mean $ℛ_{RH}$ for $0^{\circ}C < T < 5^{\circ}C$


In [ ]:
# RH_rStdv_TZ_gt0lt5 = npAllSprls['binRH_stdv_TZ'][gt0lt5]/npAllSprls['binRH_mean_TZ'][gt0lt5]
# print('Min:\t{:.3f}'.format(np.nanmin(RH_rStdv_TZ_gt0lt5)))
# print('Max:\t{:.3f}'.format(np.nanmax(RH_rStdv_TZ_gt0lt5)))
# print('Median:\t{:.3f}'.format(np.nanmedian(RH_rStdv_TZ_gt0lt5)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(RH_rStdv_TZ_gt0lt5)))

RH_rStdv_SR_gt0lt5 = npAllSprls['binRH_stdv_SR'][gt0lt5]/npAllSprls['binRH_mean_SR'][gt0lt5]
print('Min:\t{:.3f}'.format(np.nanmin(RH_rStdv_SR_gt0lt5)))
print('Max:\t{:.3f}'.format(np.nanmax(RH_rStdv_SR_gt0lt5)))
print('Median:\t{:.3f}'.format(np.nanmedian(RH_rStdv_SR_gt0lt5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(RH_rStdv_SR_gt0lt5)))

RH_rStdv_AR_gt0lt5 = npAllSprls['binRH_stdv_AR'][gt0lt5]/npAllSprls['binRH_mean_AR'][gt0lt5]
print('Min:\t{:.3f}'.format(np.nanmin(RH_rStdv_AR_gt0lt5)))
print('Max:\t{:.3f}'.format(np.nanmax(RH_rStdv_AR_gt0lt5)))
print('Median:\t{:.3f}'.format(np.nanmedian(RH_rStdv_AR_gt0lt5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(RH_rStdv_AR_gt0lt5)))

Mean $ℛ_{RH}$ for $T \geq 5^{\circ}C$


In [ ]:
# RH_rStdv_TZ_gte5 = npAllSprls['binRH_stdv_TZ'][gte5]/npAllSprls['binRH_mean_TZ'][gte5]
# print('Min:\t{:.3f}'.format(np.nanmin(RH_rStdv_TZ_gte5)))
# print('Max:\t{:.3f}'.format(np.nanmax(RH_rStdv_TZ_gte5)))
# print('Median:\t{:.3f}'.format(np.nanmedian(RH_rStdv_TZ_gte5)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(RH_rStdv_TZ_gte5)))

RH_rStdv_SR_gte5 = npAllSprls['binRH_stdv_SR'][gte5]/npAllSprls['binRH_mean_SR'][gte5]
print('Min:\t{:.3f}'.format(np.nanmin(RH_rStdv_SR_gte5)))
print('Max:\t{:.3f}'.format(np.nanmax(RH_rStdv_SR_gte5)))
print('Median:\t{:.3f}'.format(np.nanmedian(RH_rStdv_SR_gte5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(RH_rStdv_SR_gte5)))

RH_rStdv_AR_gte5 = npAllSprls['binRH_stdv_AR'][gte5]/npAllSprls['binRH_mean_AR'][gte5]
print('Min:\t{:.3f}'.format(np.nanmin(RH_rStdv_AR_gte5)))
print('Max:\t{:.3f}'.format(np.nanmax(RH_rStdv_AR_gte5)))
print('Median:\t{:.3f}'.format(np.nanmedian(RH_rStdv_AR_gte5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(RH_rStdv_AR_gte5)))

Mean $ℛ_{𝒜}$ for $T \leq 0^{\circ}C$


In [ ]:
# ARat_rStdv_TZ_lte0 = npAllSprls['binARat_stdv_TZ'][lte0]/npAllSprls['binARat_mean_TZ'][lte0]
# print('Min:\t{:.3f}'.format(np.nanmin(ARat_rStdv_TZ_lte0)))
# print('Max:\t{:.3f}'.format(np.nanmax(ARat_rStdv_TZ_lte0)))
# print('Median:\t{:.3f}'.format(np.nanmedian(ARat_rStdv_TZ_lte0)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(ARat_rStdv_TZ_lte0)))

ARat_rStdv_SR_lte0 = npAllSprls['binARat_stdv_SR'][lte0]/npAllSprls['binARat_mean_SR'][lte0]
print('Min:\t{:.3f}'.format(np.nanmin(ARat_rStdv_SR_lte0)))
print('Max:\t{:.3f}'.format(np.nanmax(ARat_rStdv_SR_lte0)))
print('Median:\t{:.3f}'.format(np.nanmedian(ARat_rStdv_SR_lte0)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(ARat_rStdv_SR_lte0)))

ARat_rStdv_AR_lte0 = npAllSprls['binARat_stdv_AR'][lte0]/npAllSprls['binARat_mean_AR'][lte0]
print('Min:\t{:.3f}'.format(np.nanmin(ARat_rStdv_AR_lte0)))
print('Max:\t{:.3f}'.format(np.nanmax(ARat_rStdv_AR_lte0)))
print('Median:\t{:.3f}'.format(np.nanmedian(ARat_rStdv_AR_lte0)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(ARat_rStdv_AR_lte0)))

Mean $ℛ_{𝒜}$ for $0^{\circ}C < T < 5^{\circ}C$


In [ ]:
# ARat_rStdv_TZ_gt0lt5 = npAllSprls['binARat_stdv_TZ'][gt0lt5]/npAllSprls['binARat_mean_TZ'][gt0lt5]
# print('Min:\t{:.3f}'.format(np.nanmin(ARat_rStdv_TZ_gt0lt5)))
# print('Max:\t{:.3f}'.format(np.nanmax(ARat_rStdv_TZ_gt0lt5)))
# print('Median:\t{:.3f}'.format(np.nanmedian(ARat_rStdv_TZ_gt0lt5)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(ARat_rStdv_TZ_gt0lt5)))

ARat_rStdv_SR_gt0lt5 = npAllSprls['binARat_stdv_SR'][gt0lt5]/npAllSprls['binARat_mean_SR'][gt0lt5]
print('Min:\t{:.3f}'.format(np.nanmin(ARat_rStdv_SR_gt0lt5)))
print('Max:\t{:.3f}'.format(np.nanmax(ARat_rStdv_SR_gt0lt5)))
print('Median:\t{:.3f}'.format(np.nanmedian(ARat_rStdv_SR_gt0lt5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(ARat_rStdv_SR_gt0lt5)))

ARat_rStdv_AR_gt0lt5 = npAllSprls['binARat_stdv_AR'][gt0lt5]/npAllSprls['binARat_mean_AR'][gt0lt5]
print('Min:\t{:.3f}'.format(np.nanmin(ARat_rStdv_AR_gt0lt5)))
print('Max:\t{:.3f}'.format(np.nanmax(ARat_rStdv_AR_gt0lt5)))
print('Median:\t{:.3f}'.format(np.nanmedian(ARat_rStdv_AR_gt0lt5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(ARat_rStdv_AR_gt0lt5)))

Mean $ℛ_{𝒜}$ for $T \geq 5^{\circ}C$


In [ ]:
# ARat_rStdv_TZ_gte5 = npAllSprls['binARat_stdv_TZ'][gte5]/npAllSprls['binARat_mean_TZ'][gte5]
# print('Min:\t{:.3f}'.format(np.nanmin(ARat_rStdv_TZ_gte5)))
# print('Max:\t{:.3f}'.format(np.nanmax(ARat_rStdv_TZ_gte5)))
# print('Median:\t{:.3f}'.format(np.nanmedian(ARat_rStdv_TZ_gte5)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(ARat_rStdv_TZ_gte5)))

ARat_rStdv_SR_gte5 = npAllSprls['binARat_stdv_SR'][gte5]/npAllSprls['binARat_mean_SR'][gte5]
print('Min:\t{:.3f}'.format(np.nanmin(ARat_rStdv_SR_gte5)))
print('Max:\t{:.3f}'.format(np.nanmax(ARat_rStdv_SR_gte5)))
print('Median:\t{:.3f}'.format(np.nanmedian(ARat_rStdv_SR_gte5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(ARat_rStdv_SR_gte5)))

ARat_rStdv_AR_gte5 = npAllSprls['binARat_stdv_AR'][gte5]/npAllSprls['binARat_mean_AR'][gte5]
print('Min:\t{:.3f}'.format(np.nanmin(ARat_rStdv_AR_gte5)))
print('Max:\t{:.3f}'.format(np.nanmax(ARat_rStdv_AR_gte5)))
print('Median:\t{:.3f}'.format(np.nanmedian(ARat_rStdv_AR_gte5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(ARat_rStdv_AR_gte5)))

Mean $ℛ_{D_{mm}}$ for $T \leq 0^{\circ}C$


In [ ]:
# Dmm_rStdv_TZ_lte0 = npAllSprls['binDmm_stdv_TZ'][lte0]/npAllSprls['binDmm_mean_TZ'][lte0]
# print('Min:\t{:.3f}'.format(np.nanmin(Dmm_rStdv_TZ_lte0)))
# print('Max:\t{:.3f}'.format(np.nanmax(Dmm_rStdv_TZ_lte0)))
# print('Median:\t{:.3f}'.format(np.nanmedian(Dmm_rStdv_TZ_lte0)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(Dmm_rStdv_TZ_lte0)))

Dmm_rStdv_SR_lte0 = npAllSprls['binDmm_stdv_SR'][lte0]/npAllSprls['binDmm_mean_SR'][lte0]
print('Min:\t{:.3f}'.format(np.nanmin(Dmm_rStdv_SR_lte0)))
print('Max:\t{:.3f}'.format(np.nanmax(Dmm_rStdv_SR_lte0)))
print('Median:\t{:.3f}'.format(np.nanmedian(Dmm_rStdv_SR_lte0)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(Dmm_rStdv_SR_lte0)))

Dmm_rStdv_AR_lte0 = npAllSprls['binDmm_stdv_AR'][lte0]/npAllSprls['binDmm_mean_AR'][lte0]
print('Min:\t{:.3f}'.format(np.nanmin(Dmm_rStdv_AR_lte0)))
print('Max:\t{:.3f}'.format(np.nanmax(Dmm_rStdv_AR_lte0)))
print('Median:\t{:.3f}'.format(np.nanmedian(Dmm_rStdv_AR_lte0)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(Dmm_rStdv_AR_lte0)))

Mean $ℛ_{D_{mm}}$ for $0^{\circ}C < T < 5^{\circ}C$


In [ ]:
# Dmm_rStdv_TZ_gt0lt5 = npAllSprls['binDmm_stdv_TZ'][gt0lt5]/npAllSprls['binDmm_mean_TZ'][gt0lt5]
# print('Min:\t{:.3f}'.format(np.nanmin(Dmm_rStdv_TZ_gt0lt5)))
# print('Max:\t{:.3f}'.format(np.nanmax(Dmm_rStdv_TZ_gt0lt5)))
# print('Median:\t{:.3f}'.format(np.nanmedian(Dmm_rStdv_TZ_gt0lt5)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(Dmm_rStdv_TZ_gt0lt5)))

Dmm_rStdv_SR_gt0lt5 = npAllSprls['binDmm_stdv_SR'][gt0lt5]/npAllSprls['binDmm_mean_SR'][gt0lt5]
print('Min:\t{:.3f}'.format(np.nanmin(Dmm_rStdv_SR_gt0lt5)))
print('Max:\t{:.3f}'.format(np.nanmax(Dmm_rStdv_SR_gt0lt5)))
print('Median:\t{:.3f}'.format(np.nanmedian(Dmm_rStdv_SR_gt0lt5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(Dmm_rStdv_SR_gt0lt5)))

Dmm_rStdv_AR_gt0lt5 = npAllSprls['binDmm_stdv_AR'][gt0lt5]/npAllSprls['binDmm_mean_AR'][gt0lt5]
print('Min:\t{:.3f}'.format(np.nanmin(Dmm_rStdv_AR_gt0lt5)))
print('Max:\t{:.3f}'.format(np.nanmax(Dmm_rStdv_AR_gt0lt5)))
print('Median:\t{:.3f}'.format(np.nanmedian(Dmm_rStdv_AR_gt0lt5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(Dmm_rStdv_AR_gt0lt5)))

Mean $ℛ_{D_{mm}}$ for $T \geq 5^{\circ}C$


In [ ]:
# Dmm_rStdv_TZ_gte5 = npAllSprls['binDmm_stdv_TZ'][gte5]/npAllSprls['binDmm_mean_TZ'][gte5]
# print('Min:\t{:.3f}'.format(np.nanmin(Dmm_rStdv_TZ_gte5)))
# print('Max:\t{:.3f}'.format(np.nanmax(Dmm_rStdv_TZ_gte5)))
# print('Median:\t{:.3f}'.format(np.nanmedian(Dmm_rStdv_TZ_gte5)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(Dmm_rStdv_TZ_gte5)))

Dmm_rStdv_SR_gte5 = npAllSprls['binDmm_stdv_SR'][gte5]/npAllSprls['binDmm_mean_SR'][gte5]
print('Min:\t{:.3f}'.format(np.nanmin(Dmm_rStdv_SR_gte5)))
print('Max:\t{:.3f}'.format(np.nanmax(Dmm_rStdv_SR_gte5)))
print('Median:\t{:.3f}'.format(np.nanmedian(Dmm_rStdv_SR_gte5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(Dmm_rStdv_SR_gte5)))

Dmm_rStdv_AR_gte5 = npAllSprls['binDmm_stdv_AR'][gte5]/npAllSprls['binDmm_mean_AR'][gte5]
print('Min:\t{:.3f}'.format(np.nanmin(Dmm_rStdv_AR_gte5)))
print('Max:\t{:.3f}'.format(np.nanmax(Dmm_rStdv_AR_gte5)))
print('Median:\t{:.3f}'.format(np.nanmedian(Dmm_rStdv_AR_gte5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(Dmm_rStdv_AR_gte5)))

Mean $ℛ_{N_t}$ for $T \leq 0^{\circ}C$


In [ ]:
# Nt_rStdv_TZ_lte0 = npAllSprls['binNt_stdv_TZ'][lte0]/npAllSprls['binNt_mean_TZ'][lte0]
# print('Min:\t{:.3f}'.format(np.nanmin(Nt_rStdv_TZ_lte0)))
# print('Max:\t{:.3f}'.format(np.nanmax(Nt_rStdv_TZ_lte0)))
# print('Median:\t{:.3f}'.format(np.nanmedian(Nt_rStdv_TZ_lte0)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(Nt_rStdv_TZ_lte0)))

Nt_rStdv_SR_lte0 = npAllSprls['binNt_stdv_SR'][lte0]/npAllSprls['binNt_mean_SR'][lte0]
print('Min:\t{:.3f}'.format(np.nanmin(Nt_rStdv_SR_lte0)))
print('Max:\t{:.3f}'.format(np.nanmax(Nt_rStdv_SR_lte0)))
print('Median:\t{:.3f}'.format(np.nanmedian(Nt_rStdv_SR_lte0)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(Nt_rStdv_SR_lte0)))

Nt_rStdv_AR_lte0 = npAllSprls['binNt_stdv_AR'][lte0]/npAllSprls['binNt_mean_AR'][lte0]
print('Min:\t{:.3f}'.format(np.nanmin(Nt_rStdv_AR_lte0)))
print('Max:\t{:.3f}'.format(np.nanmax(Nt_rStdv_AR_lte0)))
print('Median:\t{:.3f}'.format(np.nanmedian(Nt_rStdv_AR_lte0)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(Nt_rStdv_AR_lte0)))

Mean $ℛ_{N_t}$ for $0^{\circ}C < T < 5^{\circ}C$


In [ ]:
# Nt_rStdv_TZ_gt0lt5 = npAllSprls['binNt_stdv_TZ'][gt0lt5]/npAllSprls['binNt_mean_TZ'][gt0lt5]
# print('Min:\t{:.3f}'.format(np.nanmin(Nt_rStdv_TZ_gt0lt5)))
# print('Max:\t{:.3f}'.format(np.nanmax(Nt_rStdv_TZ_gt0lt5)))
# print('Median:\t{:.3f}'.format(np.nanmedian(Nt_rStdv_TZ_gt0lt5)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(Nt_rStdv_TZ_gt0lt5)))

Nt_rStdv_SR_gt0lt5 = npAllSprls['binNt_stdv_SR'][gt0lt5]/npAllSprls['binNt_mean_SR'][gt0lt5]
print('Min:\t{:.3f}'.format(np.nanmin(Nt_rStdv_SR_gt0lt5)))
print('Max:\t{:.3f}'.format(np.nanmax(Nt_rStdv_SR_gt0lt5)))
print('Median:\t{:.3f}'.format(np.nanmedian(Nt_rStdv_SR_gt0lt5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(Nt_rStdv_SR_gt0lt5)))

Nt_rStdv_AR_gt0lt5 = npAllSprls['binNt_stdv_AR'][gt0lt5]/npAllSprls['binNt_mean_AR'][gt0lt5]
print('Min:\t{:.3f}'.format(np.nanmin(Nt_rStdv_AR_gt0lt5)))
print('Max:\t{:.3f}'.format(np.nanmax(Nt_rStdv_AR_gt0lt5)))
print('Median:\t{:.3f}'.format(np.nanmedian(Nt_rStdv_AR_gt0lt5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(Nt_rStdv_AR_gt0lt5)))

Mean $ℛ_{N_t}$ for $T \geq 5^{\circ}C$


In [ ]:
# Nt_rStdv_TZ_gte5 = npAllSprls['binNt_stdv_TZ'][gte5]/npAllSprls['binNt_mean_TZ'][gte5]
# print('Min:\t{:.3f}'.format(np.nanmin(Nt_rStdv_TZ_gte5)))
# print('Max:\t{:.3f}'.format(np.nanmax(Nt_rStdv_TZ_gte5)))
# print('Median:\t{:.3f}'.format(np.nanmedian(Nt_rStdv_TZ_gte5)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(Nt_rStdv_TZ_gte5)))

Nt_rStdv_SR_gte5 = npAllSprls['binNt_stdv_SR'][gte5]/npAllSprls['binNt_mean_SR'][gte5]
print('Min:\t{:.3f}'.format(np.nanmin(Nt_rStdv_SR_gte5)))
print('Max:\t{:.3f}'.format(np.nanmax(Nt_rStdv_SR_gte5)))
print('Median:\t{:.3f}'.format(np.nanmedian(Nt_rStdv_SR_gte5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(Nt_rStdv_SR_gte5)))

Nt_rStdv_AR_gte5 = npAllSprls['binNt_stdv_AR'][gte5]/npAllSprls['binNt_mean_AR'][gte5]
print('Min:\t{:.3f}'.format(np.nanmin(Nt_rStdv_AR_gte5)))
print('Max:\t{:.3f}'.format(np.nanmax(Nt_rStdv_AR_gte5)))
print('Median:\t{:.3f}'.format(np.nanmedian(Nt_rStdv_AR_gte5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(Nt_rStdv_AR_gte5)))

Mean $ℛ_{TWC}$ for $T \leq 0^{\circ}C$


In [ ]:
# TWC_rStdv_TZ_lte0 = npAllSprls['binTWC_stdv_TZ'][lte0]/npAllSprls['binTWC_mean_TZ'][lte0]
# print('Min:\t{:.3f}'.format(np.nanmin(TWC_rStdv_TZ_lte0)))
# print('Max:\t{:.3f}'.format(np.nanmax(TWC_rStdv_TZ_lte0)))
# print('Median:\t{:.3f}'.format(np.nanmedian(TWC_rStdv_TZ_lte0)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(TWC_rStdv_TZ_lte0)))

TWC_rStdv_SR_lte0 = npAllSprls['binTWC_stdv_SR'][lte0]/npAllSprls['binTWC_mean_SR'][lte0]
print('Min:\t{:.3f}'.format(np.nanmin(TWC_rStdv_SR_lte0)))
print('Max:\t{:.3f}'.format(np.nanmax(TWC_rStdv_SR_lte0)))
print('Median:\t{:.3f}'.format(np.nanmedian(TWC_rStdv_SR_lte0)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(TWC_rStdv_SR_lte0)))

TWC_rStdv_AR_lte0 = npAllSprls['binTWC_stdv_AR'][lte0]/npAllSprls['binTWC_mean_AR'][lte0]
print('Min:\t{:.3f}'.format(np.nanmin(TWC_rStdv_AR_lte0)))
print('Max:\t{:.3f}'.format(np.nanmax(TWC_rStdv_AR_lte0)))
print('Median:\t{:.3f}'.format(np.nanmedian(TWC_rStdv_AR_lte0)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(TWC_rStdv_AR_lte0)))

Mean $ℛ_{TWC}$ for $0^{\circ}C < T < 5^{\circ}C$


In [ ]:
# TWC_rStdv_TZ_gt0lt5 = npAllSprls['binTWC_stdv_TZ'][gt0lt5]/npAllSprls['binTWC_mean_TZ'][gt0lt5]
# print('Min:\t{:.3f}'.format(np.nanmin(TWC_rStdv_TZ_gt0lt5)))
# print('Max:\t{:.3f}'.format(np.nanmax(TWC_rStdv_TZ_gt0lt5)))
# print('Median:\t{:.3f}'.format(np.nanmedian(TWC_rStdv_TZ_gt0lt5)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(TWC_rStdv_TZ_gt0lt5)))

TWC_rStdv_SR_gt0lt5 = npAllSprls['binTWC_stdv_SR'][gt0lt5]/npAllSprls['binTWC_mean_SR'][gt0lt5]
print('Min:\t{:.3f}'.format(np.nanmin(TWC_rStdv_SR_gt0lt5)))
print('Max:\t{:.3f}'.format(np.nanmax(TWC_rStdv_SR_gt0lt5)))
print('Median:\t{:.3f}'.format(np.nanmedian(TWC_rStdv_SR_gt0lt5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(TWC_rStdv_SR_gt0lt5)))

TWC_rStdv_AR_gt0lt5 = npAllSprls['binTWC_stdv_AR'][gt0lt5]/npAllSprls['binTWC_mean_AR'][gt0lt5]
print('Min:\t{:.3f}'.format(np.nanmin(TWC_rStdv_AR_gt0lt5)))
print('Max:\t{:.3f}'.format(np.nanmax(TWC_rStdv_AR_gt0lt5)))
print('Median:\t{:.3f}'.format(np.nanmedian(TWC_rStdv_AR_gt0lt5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(TWC_rStdv_AR_gt0lt5)))

Mean $ℛ_{TWC}$ for $T \geq 5^{\circ}C$


In [ ]:
# TWC_rStdv_TZ_gte5 = npAllSprls['binTWC_stdv_TZ'][gte5]/npAllSprls['binTWC_mean_TZ'][gte5]
# print('Min:\t{:.3f}'.format(np.nanmin(TWC_rStdv_TZ_gte5)))
# print('Max:\t{:.3f}'.format(np.nanmax(TWC_rStdv_TZ_gte5)))
# print('Median:\t{:.3f}'.format(np.nanmedian(TWC_rStdv_TZ_gte5)))
# print('**Mean:\t{:.3f}\n'.format(np.nanmean(TWC_rStdv_TZ_gte5)))

TWC_rStdv_SR_gte5 = npAllSprls['binTWC_stdv_SR'][gte5]/npAllSprls['binTWC_mean_SR'][gte5]
print('Min:\t{:.3f}'.format(np.nanmin(TWC_rStdv_SR_gte5)))
print('Max:\t{:.3f}'.format(np.nanmax(TWC_rStdv_SR_gte5)))
print('Median:\t{:.3f}'.format(np.nanmedian(TWC_rStdv_SR_gte5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(TWC_rStdv_SR_gte5)))

TWC_rStdv_AR_gte5 = npAllSprls['binTWC_stdv_AR'][gte5]/npAllSprls['binTWC_mean_AR'][gte5]
print('Min:\t{:.3f}'.format(np.nanmin(TWC_rStdv_AR_gte5)))
print('Max:\t{:.3f}'.format(np.nanmax(TWC_rStdv_AR_gte5)))
print('Median:\t{:.3f}'.format(np.nanmedian(TWC_rStdv_AR_gte5)))
print('**Mean:\t{:.3f}\n'.format(np.nanmean(TWC_rStdv_AR_gte5)))

Standard Deviation


In [ ]:
Nt_stdv_SR_lte0 = npAllSprls['binNt_stdv_SR'][lte0]
Nt_stdv_SR_gt0lt5 = npAllSprls['binNt_stdv_SR'][gt0lt5]
Nt_stdv_SR_gte5 = npAllSprls['binNt_stdv_SR'][gte5]
Nt_stdv_SR_custom = npAllSprls['binNt_stdv_SR'][topTemp:botTemp]
print('StdDev T<=0:\n{}'.format(Nt_stdv_SR_lte0))
print('Min:\t{:.2e}'.format(np.nanmin(Nt_stdv_SR_lte0)))
print('Max:\t{:.2e}'.format(np.nanmax(Nt_stdv_SR_lte0)))
print('Mean:\t{:.2e}'.format(np.nanmean(Nt_stdv_SR_lte0)))
print('Median:\t{:.2e}\n'.format(np.nanmedian(Nt_stdv_SR_lte0)))

print('StdDev 0<T<5:\n{}'.format(Nt_stdv_SR_gt0lt5))
print('Min:\t{:.2e}'.format(np.nanmin(Nt_stdv_SR_gt0lt5)))
print('Max:\t{:.2e}'.format(np.nanmax(Nt_stdv_SR_gt0lt5)))
print('Mean:\t{:.2e}'.format(np.nanmean(Nt_stdv_SR_gt0lt5)))
print('Median:\t{:.2e}\n'.format(np.nanmedian(Nt_stdv_SR_gt0lt5)))

print('StdDev T>=5:\n{}'.format(Nt_stdv_SR_gte5))
print('Min:\t{:.2e}'.format(np.nanmin(Nt_stdv_SR_gte5)))
print('Max:\t{:.2e}'.format(np.nanmax(Nt_stdv_SR_gte5)))
print('Mean:\t{:.2e}'.format(np.nanmean(Nt_stdv_SR_gte5)))
print('Median:\t{:.2e}\n'.format(np.nanmedian(Nt_stdv_SR_gte5)))

print('StdDev {}<=T<={}:\n{}'.format(temps[topTemp],temps[botTemp],Nt_stdv_SR_custom))
print('Min:\t{:.2e}'.format(np.nanmin(Nt_stdv_SR_custom)))
print('Max:\t{:.2e}'.format(np.nanmax(Nt_stdv_SR_custom)))
print('Mean:\t{:.2e}'.format(np.nanmean(Nt_stdv_SR_custom)))
print('Median:\t{:.2e}\n'.format(np.nanmedian(Nt_stdv_SR_custom)))

IQR


In [ ]:
Nt_iqr_SR_lte0 = npAllSprls['binNt_75pct_SR'][lte0] - npAllSprls['binNt_25pct_SR'][lte0]
Nt_iqr_SR_gt0lt5 = npAllSprls['binNt_75pct_SR'][gt0lt5] - npAllSprls['binNt_25pct_SR'][gt0lt5]
Nt_iqr_SR_gte5 = npAllSprls['binNt_75pct_SR'][gte5] - npAllSprls['binNt_25pct_SR'][gte5]
Nt_iqr_SR_custom = npAllSprls['binNt_75pct_SR'][topTemp:botTemp] - npAllSprls['binNt_25pct_SR'][topTemp:botTemp]
print('IQR T<=0:\n{}'.format(Nt_iqr_SR_lte0))
print('Min:\t{:.2e}'.format(np.nanmin(Nt_iqr_SR_lte0)))
print('Max:\t{:.2e}'.format(np.nanmax(Nt_iqr_SR_lte0)))
print('Mean:\t{:.2e}'.format(np.nanmean(Nt_iqr_SR_lte0)))
print('Median:\t{:.2e}\n'.format(np.nanmedian(Nt_iqr_SR_lte0)))

print('IQR 0<T<5:\n{}'.format(Nt_iqr_SR_gt0lt5))
print('Min:\t{:.2e}'.format(np.nanmin(Nt_iqr_SR_gt0lt5)))
print('Max:\t{:.2e}'.format(np.nanmax(Nt_iqr_SR_gt0lt5)))
print('Mean:\t{:.2e}'.format(np.nanmean(Nt_iqr_SR_gt0lt5)))
print('Median:\t{:.2e}\n'.format(np.nanmedian(Nt_iqr_SR_gt0lt5)))

print('IQR T>=5:\n{}'.format(Nt_iqr_SR_gte5))
print('Min:\t{:.2e}'.format(np.nanmin(Nt_iqr_SR_gte5)))
print('Max:\t{:.2e}'.format(np.nanmax(Nt_iqr_SR_gte5)))
print('Mean:\t{:.2e}'.format(np.nanmean(Nt_iqr_SR_gte5)))
print('Median:\t{:.2e}\n'.format(np.nanmedian(Nt_iqr_SR_gte5)))

print('IQR {}<=T<={}:\n{}'.format(temps[topTemp],temps[botTemp],Nt_iqr_SR_custom))
print('Min:\t{:.2e}'.format(np.nanmin(Nt_iqr_SR_custom)))
print('Max:\t{:.2e}'.format(np.nanmax(Nt_iqr_SR_custom)))
print('Mean:\t{:.2e}'.format(np.nanmean(Nt_iqr_SR_custom)))
print('Median:\t{:.2e}\n'.format(np.nanmedian(Nt_iqr_SR_custom)))