In [2]:
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 [3]:
npStgZn = np.load('/Users/danstechman/GoogleDrive/PECAN-Data/mp-data/allSpirals_zoneStage_stats.npz')

In [4]:
temp_lte0 = npStgZn['bin_mid'][:20]
temp_gt0 = npStgZn['bin_mid'][20:]
temp_gte5 = npStgZn['bin_mid'][24:]

Formative

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


In [ ]:
ntMed_TZf_lte0 = npStgZn['binNt_median_TZf'][:20]
finiteIx = np.isfinite(np.log10(ntMed_TZf_lte0))
pf_ntMed_TZf_lte0 = np.poly1d(np.polyfit(temp_lte0[finiteIx],np.log10(ntMed_TZf_lte0[finiteIx]),  1))
ntMed_TZf_lte0_dT = 1 - (10**pf_ntMed_TZf_lte0(-6)/10**pf_ntMed_TZf_lte0(-5)) # 1 deg C change percentage
        
print(ntMed_TZf_lte0_dT)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(ntMed_TZf_lte0,temp_lte0,'b-')
ax.plot(ntMed_TZf_lte0,temp_lte0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(10**(pf_ntMed_TZf_lte0(temp_lte0)),temp_lte0,'r-')

ax.set_ylim(-18.5,5)
ax.set_title('TZf\t\t$dN_t/dT$ for $T \leq 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')

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


In [ ]:
ntMed_TZf_gt0 = npStgZn['binNt_median_TZf'][20:]
finiteIx = np.isfinite(np.log10(ntMed_TZf_gt0))
pf_ntMed_TZf_gt0 = np.poly1d(np.polyfit(temp_gt0[finiteIx],np.log10(ntMed_TZf_gt0[finiteIx]),  1))
ntMed_TZf_gt0_dT = 1 - (10**pf_ntMed_TZf_gt0(2)/10**pf_ntMed_TZf_gt0(3)) # 1 deg C change percentage
        
print(ntMed_TZf_gt0_dT)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(ntMed_TZf_gt0,temp_gt0,'b-')
ax.plot(ntMed_TZf_gt0,temp_gt0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(10**(pf_ntMed_TZf_gt0(temp_gt0)),temp_gt0,'r-')

ax.set_ylim(-5,20)
ax.set_title('TZf\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 = npStgZn['binTWC_median_TZ'][:20]
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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(twcMed_TZ_lte0,temp_lte0,'b-')
ax.plot(twcMed_TZ_lte0,temp_lte0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(10**(pf_twcMed_TZ_lte0(temp_lte0)),temp_lte0,'r-')

ax.set_ylim(-18.5,5)
ax.set_title('TZ\t\t$dTWC/dT$ for $T \leq 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')

In [ ]:
twcMed_SR_lte0 = npStgZn['binTWC_median_SR'][:20]
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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(twcMed_SR_lte0,temp_lte0,'b-')
ax.plot(twcMed_SR_lte0,temp_lte0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(10**(pf_twcMed_SR_lte0(temp_lte0)),temp_lte0,'r-')

ax.set_ylim(-18.5,5)
ax.set_title('ESR\t\t$dTWC/dT$ for $T \leq 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')

In [ ]:
twcMed_AR_lte0 = npStgZn['binTWC_median_AR'][:20]
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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(twcMed_AR_lte0,temp_lte0,'b-')
ax.plot(twcMed_AR_lte0,temp_lte0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(10**(pf_twcMed_AR_lte0(temp_lte0)),temp_lte0,'r-')

ax.set_ylim(-18.5,5)
ax.set_title('AR\t\t$dTWC/dT$ for $T \leq 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 > 0^{\circ}C$


In [ ]:
twcMed_TZ_gt0 = npStgZn['binTWC_median_TZ'][20:]
finiteIx = np.isfinite(np.log10(twcMed_TZ_gt0))
pf_twcMed_TZ_gt0 = np.poly1d(np.polyfit(temp_gt0[finiteIx],np.log10(twcMed_TZ_gt0[finiteIx]),  1))
twcMed_TZ_gt0_dT = 1 - (10**pf_twcMed_TZ_gt0(2)/10**pf_twcMed_TZ_gt0(3)) # 1 deg C change percentage
        
print(twcMed_TZ_gt0_dT)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(twcMed_TZ_gt0,temp_gt0,'b-')
ax.plot(twcMed_TZ_gt0,temp_gt0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(10**(pf_twcMed_TZ_gt0(temp_gt0)),temp_gt0,'r-')

ax.set_ylim(-5,20)
ax.set_title('TZ\t\t$dTWC/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')

In [ ]:
twcMed_SR_gt0 = npStgZn['binTWC_median_SR'][20:]
finiteIx = np.isfinite(np.log10(twcMed_SR_gt0))
pf_twcMed_SR_gt0 = np.poly1d(np.polyfit(temp_gt0[finiteIx],np.log10(twcMed_SR_gt0[finiteIx]),  1))
twcMed_SR_gt0_dT = 1 - (10**pf_twcMed_SR_gt0(2)/10**pf_twcMed_SR_gt0(3)) # 1 deg C change percentage
        
print(twcMed_SR_gt0_dT)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(twcMed_SR_gt0,temp_gt0,'b-')
ax.plot(twcMed_SR_gt0,temp_gt0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(10**(pf_twcMed_SR_gt0(temp_gt0)),temp_gt0,'r-')

ax.set_ylim(-5,20)
ax.set_title('ESR\t\t$dTWC/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')

In [ ]:
twcMed_AR_gt0 = npStgZn['binTWC_median_AR'][20:]
finiteIx = np.isfinite(np.log10(twcMed_AR_gt0))
pf_twcMed_AR_gt0 = np.poly1d(np.polyfit(temp_gt0[finiteIx],np.log10(twcMed_AR_gt0[finiteIx]),  1))
twcMed_AR_gt0_dT = 1 - (10**pf_twcMed_AR_gt0(2)/10**pf_twcMed_AR_gt0(3)) # 1 deg C change percentage
        
print(twcMed_AR_gt0_dT)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(twcMed_AR_gt0,temp_gt0,'b-')
ax.plot(twcMed_AR_gt0,temp_gt0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(10**(pf_twcMed_AR_gt0(temp_gt0)),temp_gt0,'r-')

ax.set_ylim(-5,20)
ax.set_title('AR\t\t$dTWC/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')

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


In [ ]:
dmmMed_TZ_lte0 = npStgZn['binDmm_median_TZ'][:20]

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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(dmmMed_TZ_lte0,temp_lte0,'b-')
ax.plot(dmmMed_TZ_lte0,temp_lte0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_dmmMed_TZ_lte0(temp_lte0),temp_lte0,'r-')

ax.set_ylim(-18.5,5)
ax.set_title('TZ\t\t$dD_{mm}/dT$ for $T \leq 0^{\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')

In [ ]:
dmmMed_SR_lte0 = npStgZn['binDmm_median_SR'][:20]

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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(dmmMed_SR_lte0,temp_lte0,'b-')
ax.plot(dmmMed_SR_lte0,temp_lte0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_dmmMed_SR_lte0(temp_lte0),temp_lte0,'r-')

ax.set_ylim(-18.5,5)
ax.set_title('ESR\t\t$dD_{mm}/dT$ for $T \leq 0^{\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')

In [ ]:
dmmMed_AR_lte0 = npStgZn['binDmm_median_AR'][:20]

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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(dmmMed_AR_lte0,temp_lte0,'b-')
ax.plot(dmmMed_AR_lte0,temp_lte0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_dmmMed_AR_lte0(temp_lte0),temp_lte0,'r-')

ax.set_ylim(-18.5,5)
ax.set_title('AR\t\t$dD_{mm}/dT$ for $T \leq 0^{\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')

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


In [ ]:
dmmMed_TZ_gt0 = npStgZn['binDmm_median_TZ'][20:]

finiteIx = np.isfinite(dmmMed_TZ_gt0)
pf_dmmMed_TZ_gt0 = np.poly1d(np.polyfit(temp_gt0[finiteIx],dmmMed_TZ_gt0[finiteIx],  1))
dmmMed_TZ_gt0_dT = pf_dmmMed_TZ_gt0(6) - pf_dmmMed_TZ_gt0(5)
        
print(dmmMed_TZ_gt0_dT)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(dmmMed_TZ_gt0,temp_gt0,'b-')
ax.plot(dmmMed_TZ_gt0,temp_gt0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_dmmMed_TZ_gt0(temp_gt0),temp_gt0,'r-')

ax.set_ylim(-5,20)
ax.set_title('TZ\t\t$dD_{mm}/dT$ for $T > 0^{\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')

In [ ]:
dmmMed_SR_gt0 = npStgZn['binDmm_median_SR'][20:]

finiteIx = np.isfinite(dmmMed_SR_gt0)
pf_dmmMed_SR_gt0 = np.poly1d(np.polyfit(temp_gt0[finiteIx],dmmMed_SR_gt0[finiteIx],  1))
dmmMed_SR_gt0_dT = pf_dmmMed_SR_gt0(6) - pf_dmmMed_SR_gt0(5)
        
print(dmmMed_SR_gt0_dT)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(dmmMed_SR_gt0,temp_gt0,'b-')
ax.plot(dmmMed_SR_gt0,temp_gt0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_dmmMed_SR_gt0(temp_gt0),temp_gt0,'r-')

ax.set_ylim(-5,20)
ax.set_title('ESR\t\t$dD_{mm}/dT$ for $T > 0^{\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')

In [ ]:
dmmMed_AR_gt0 = npStgZn['binDmm_median_AR'][20:]

finiteIx = np.isfinite(dmmMed_AR_gt0)
pf_dmmMed_AR_gt0 = np.poly1d(np.polyfit(temp_gt0[finiteIx],dmmMed_AR_gt0[finiteIx],  1))
dmmMed_AR_gt0_dT = pf_dmmMed_AR_gt0(6) - pf_dmmMed_AR_gt0(5)
        
print(dmmMed_AR_gt0_dT)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(dmmMed_AR_gt0,temp_gt0,'b-')
ax.plot(dmmMed_AR_gt0,temp_gt0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_dmmMed_AR_gt0(temp_gt0),temp_gt0,'r-')

ax.set_ylim(-5,20)
ax.set_title('AR\t\t$dD_{mm}/dT$ for $T > 0^{\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')

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


In [ ]:
ARatMed_TZ_lte0 = npStgZn['binARat_median_TZ'][:20]

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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(ARatMed_TZ_lte0,temp_lte0,'b-')
ax.plot(ARatMed_TZ_lte0,temp_lte0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_ARatMed_TZ_lte0(temp_lte0),temp_lte0,'r-')

ax.set_ylim(-18.5,5)
ax.set_title('TZ\t\t$dAR/dT$ for $T \leq 0^{\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')

In [ ]:
ARatMed_SR_lte0 = npStgZn['binARat_median_SR'][:20]

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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(ARatMed_SR_lte0,temp_lte0,'b-')
ax.plot(ARatMed_SR_lte0,temp_lte0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_ARatMed_SR_lte0(temp_lte0),temp_lte0,'r-')

ax.set_ylim(-18.5,5)
ax.set_title('ESR\t\t$dAR/dT$ for $T \leq 0^{\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')

In [ ]:
ARatMed_AR_lte0 = npStgZn['binARat_median_AR'][:20]

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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(ARatMed_AR_lte0,temp_lte0,'b-')
ax.plot(ARatMed_AR_lte0,temp_lte0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_ARatMed_AR_lte0(temp_lte0),temp_lte0,'r-')

ax.set_ylim(-18.5,5)
ax.set_title('AR\t\t$dAR/dT$ for $T \leq 0^{\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')

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


In [ ]:
ARatMed_TZ_gt0 = npStgZn['binARat_median_TZ'][20:]

finiteIx = np.isfinite(ARatMed_TZ_gt0)
pf_ARatMed_TZ_gt0 = np.poly1d(np.polyfit(temp_gt0[finiteIx],ARatMed_TZ_gt0[finiteIx],  1))
ARatMed_TZ_gt0_dT = pf_ARatMed_TZ_gt0(6) - pf_ARatMed_TZ_gt0(5)
        
print(ARatMed_TZ_gt0_dT)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(ARatMed_TZ_gt0,temp_gt0,'b-')
ax.plot(ARatMed_TZ_gt0,temp_gt0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_ARatMed_TZ_gt0(temp_gt0),temp_gt0,'r-')

ax.set_ylim(-5,20)
ax.set_title('TZ\t\t$dAR/dT$ for $T > 0^{\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')

In [ ]:
ARatMed_SR_gt0 = npStgZn['binARat_median_SR'][20:]

finiteIx = np.isfinite(ARatMed_SR_gt0)
pf_ARatMed_SR_gt0 = np.poly1d(np.polyfit(temp_gt0[finiteIx],ARatMed_SR_gt0[finiteIx],  1))
ARatMed_SR_gt0_dT = pf_ARatMed_SR_gt0(6) - pf_ARatMed_SR_gt0(5)
        
print(ARatMed_SR_gt0_dT)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(ARatMed_SR_gt0,temp_gt0,'b-')
ax.plot(ARatMed_SR_gt0,temp_gt0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_ARatMed_SR_gt0(temp_gt0),temp_gt0,'r-')

ax.set_ylim(-5,20)
ax.set_title('ESR\t\t$dAR/dT$ for $T > 0^{\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')

In [ ]:
ARatMed_AR_gt0 = npStgZn['binARat_median_AR'][20:]

finiteIx = np.isfinite(ARatMed_AR_gt0)
pf_ARatMed_AR_gt0 = np.poly1d(np.polyfit(temp_gt0[finiteIx],ARatMed_AR_gt0[finiteIx],  1))
ARatMed_AR_gt0_dT = pf_ARatMed_AR_gt0(6) - pf_ARatMed_AR_gt0(5)
        
print(ARatMed_AR_gt0_dT)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(ARatMed_AR_gt0,temp_gt0,'b-')
ax.plot(ARatMed_AR_gt0,temp_gt0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_ARatMed_AR_gt0(temp_gt0),temp_gt0,'r-')

ax.set_ylim(-5,20)
ax.set_title('AR\t\t$dAR/dT$ for $T > 0^{\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')

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


In [ ]:
rhMed_TZ_lte0 = npStgZn['binRH_median_TZ'][:20]

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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(rhMed_TZ_lte0,temp_lte0,'b-')
ax.plot(rhMed_TZ_lte0,temp_lte0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_rhMed_TZ_lte0(temp_lte0),temp_lte0,'r-')

ax.set_ylim(-18.5,5)
ax.set_title('TZ\t\t$dRH/dT$ for $T \leq 0^{\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')

In [ ]:
rhMed_SR_lte0 = npStgZn['binRH_median_SR'][:20]

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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(rhMed_SR_lte0,temp_lte0,'b-')
ax.plot(rhMed_SR_lte0,temp_lte0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_rhMed_SR_lte0(temp_lte0),temp_lte0,'r-')

ax.set_ylim(-18.5,5)
ax.set_title('ESR\t\t$dRH/dT$ for $T \leq 0^{\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')

In [ ]:
rhMed_AR_lte0 = npStgZn['binRH_median_AR'][:20]

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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(rhMed_AR_lte0,temp_lte0,'b-')
ax.plot(rhMed_AR_lte0,temp_lte0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_rhMed_AR_lte0(temp_lte0),temp_lte0,'r-')

ax.set_ylim(-18.5,5)
ax.set_title('AR\t\t$dRH/dT$ for $T \leq 0^{\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')

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


In [ ]:
rhMed_TZ_gt0 = npStgZn['binRH_median_TZ'][20:]

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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(rhMed_TZ_gt0,temp_gt0,'b-')
ax.plot(rhMed_TZ_gt0,temp_gt0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_rhMed_TZ_gt0(temp_gt0),temp_gt0,'r-')

ax.set_ylim(-5,20)
ax.set_title('TZ\t\t$dRH/dT$ for $T > 0^{\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')

In [ ]:
rhMed_SR_gt0 = npStgZn['binRH_median_SR'][20:]

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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(rhMed_SR_gt0,temp_gt0,'b-')
ax.plot(rhMed_SR_gt0,temp_gt0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_rhMed_SR_gt0(temp_gt0),temp_gt0,'r-')

ax.set_ylim(-5,20)
ax.set_title('ESR\t\t$dRH/dT$ for $T > 0^{\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')

In [ ]:
rhMed_AR_gt0 = npStgZn['binRH_median_AR'][20:]

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)

fig, ax = plt.subplots(figsize=(4,5))
ax.plot(rhMed_AR_gt0,temp_gt0,'b-')
ax.plot(rhMed_AR_gt0,temp_gt0,'bo',markeredgecolor='white',markeredgewidth=1,markersize=12)
ax.plot(pf_rhMed_AR_gt0(temp_gt0),temp_gt0,'r-')

ax.set_ylim(-5,20)
ax.set_title('AR\t\t$dRH/dT$ for $T > 0^{\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')

...

...

...

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


In [5]:
ntMed_TZf_lte0 = npStgZn['binNt_median_TZf'][:20]
ntMedAvg_TZf_lte0 = np.nanmean(ntMed_TZf_lte0)
print('{}'.format(ntMedAvg_TZf_lte0))

ntMed_ARf_lte0 = npStgZn['binNt_median_ARf'][:20]
ntMedAvg_ARf_lte0 = np.nanmean(ntMed_ARf_lte0)
print('{}'.format(ntMedAvg_ARf_lte0))

ntMed_SRm_lte0 = npStgZn['binNt_median_SRm'][:20]
ntMedAvg_SRm_lte0 = np.nanmean(ntMed_SRm_lte0)
print('{}'.format(ntMedAvg_SRm_lte0))

ntMed_ARm_lte0 = npStgZn['binNt_median_ARm'][:20]
ntMedAvg_ARm_lte0 = np.nanmean(ntMed_ARm_lte0)
print('{}'.format(ntMedAvg_ARm_lte0))


0.023420791813047376
0.03959015487901049
0.06258528723122292
0.004159038889628855

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


In [6]:
ntMed_TZf_gte5 = npStgZn['binNt_median_TZf'][24:]
ntMedAvg_TZf_gte5 = np.nanmean(ntMed_TZf_gte5)
print('{}'.format(ntMedAvg_TZf_gte5))

ntMed_ARf_gte5 = npStgZn['binNt_median_ARf'][24:]
ntMedAvg_ARf_gte5 = np.nanmean(ntMed_ARf_gte5)
print('{}'.format(ntMedAvg_ARf_gte5))

ntMed_SRm_gte5 = npStgZn['binNt_median_SRm'][24:]
ntMedAvg_SRm_gte5 = np.nanmean(ntMed_SRm_gte5)
print('{}'.format(ntMedAvg_SRm_gte5))

ntMed_ARm_gte5 = npStgZn['binNt_median_ARm'][24:]
ntMedAvg_ARm_gte5 = np.nanmean(ntMed_ARm_gte5)
print('{}'.format(ntMedAvg_ARm_gte5))


0.0005546838044318119
0.00029442873121550406
0.000300487139762649
nan
/Users/danstechman/anaconda3/envs/py35/lib/python3.5/site-packages/ipykernel_launcher.py:14: RuntimeWarning: Mean of empty slice
  

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


In [7]:
twcMed_TZf_lte0 = npStgZn['binTWC_median_TZf'][:20]
twcMedAvg_TZf_lte0 = np.nanmean(twcMed_TZf_lte0)
print('{}'.format(twcMedAvg_TZf_lte0))

twcMed_ARf_lte0 = npStgZn['binTWC_median_ARf'][:20]
twcMedAvg_ARf_lte0 = np.nanmean(twcMed_ARf_lte0)
print('{}'.format(twcMedAvg_ARf_lte0))

twcMed_SRm_lte0 = npStgZn['binTWC_median_SRm'][:20]
twcMedAvg_SRm_lte0 = np.nanmean(twcMed_SRm_lte0)
print('{}'.format(twcMedAvg_SRm_lte0))

twcMed_ARm_lte0 = npStgZn['binTWC_median_ARm'][:20]
twcMedAvg_ARm_lte0 = np.nanmean(twcMed_ARm_lte0)
print('{}'.format(twcMedAvg_ARm_lte0))


0.38962004199433853
0.4651985617816578
0.6016717986843637
0.1554675638044952

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


In [8]:
twcMed_TZf_gte5 = npStgZn['binTWC_median_TZf'][24:]
twcMedAvg_TZf_gte5 = np.nanmean(twcMed_TZf_gte5)
print('{}'.format(twcMedAvg_TZf_gte5))

twcMed_ARf_gte5 = npStgZn['binTWC_median_ARf'][24:]
twcMedAvg_ARf_gte5 = np.nanmean(twcMed_ARf_gte5)
print('{}'.format(twcMedAvg_ARf_gte5))

twcMed_SRm_gte5 = npStgZn['binTWC_median_SRm'][24:]
twcMedAvg_SRm_gte5 = np.nanmean(twcMed_SRm_gte5)
print('{}'.format(twcMedAvg_SRm_gte5))

twcMed_ARm_gte5 = npStgZn['binTWC_median_ARm'][24:]
twcMedAvg_ARm_gte5 = np.nanmean(twcMed_ARm_gte5)
print('{}'.format(twcMedAvg_ARm_gte5))


0.01754958511841883
0.03243342138561299
0.0493874679620232
nan
/Users/danstechman/anaconda3/envs/py35/lib/python3.5/site-packages/ipykernel_launcher.py:14: RuntimeWarning: Mean of empty slice
  

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


In [9]:
DmmMed_TZf_lte0 = npStgZn['binDmm_median_TZf'][:20]
DmmMedAvg_TZf_lte0 = np.nanmean(DmmMed_TZf_lte0)
print('{}'.format(DmmMedAvg_TZf_lte0))

DmmMed_ARf_lte0 = npStgZn['binDmm_median_ARf'][:20]
DmmMedAvg_ARf_lte0 = np.nanmean(DmmMed_ARf_lte0)
print('{}'.format(DmmMedAvg_ARf_lte0))

DmmMed_SRm_lte0 = npStgZn['binDmm_median_SRm'][:20]
DmmMedAvg_SRm_lte0 = np.nanmean(DmmMed_SRm_lte0)
print('{}'.format(DmmMedAvg_SRm_lte0))

DmmMed_ARm_lte0 = npStgZn['binDmm_median_ARm'][:20]
DmmMedAvg_ARm_lte0 = np.nanmean(DmmMed_ARm_lte0)
print('{}'.format(DmmMedAvg_ARm_lte0))


1.0694444444444444
1.2933823529411768
1.132291666666667
1.1218750000000002

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


In [10]:
DmmMed_TZf_gte5 = npStgZn['binDmm_median_TZf'][24:]
DmmMedAvg_TZf_gte5 = np.nanmean(DmmMed_TZf_gte5)
print('{}'.format(DmmMedAvg_TZf_gte5))

DmmMed_ARf_gte5 = npStgZn['binDmm_median_ARf'][24:]
DmmMedAvg_ARf_gte5 = np.nanmean(DmmMed_ARf_gte5)
print('{}'.format(DmmMedAvg_ARf_gte5))

DmmMed_SRm_gte5 = npStgZn['binDmm_median_SRm'][24:]
DmmMedAvg_SRm_gte5 = np.nanmean(DmmMed_SRm_gte5)
print('{}'.format(DmmMedAvg_SRm_gte5))

DmmMed_ARm_gte5 = npStgZn['binDmm_median_ARm'][24:]
DmmMedAvg_ARm_gte5 = np.nanmean(DmmMed_ARm_gte5)
print('{}'.format(DmmMedAvg_ARm_gte5))


0.5616666666666668
0.7697916666666667
1.149166666666667
nan
/Users/danstechman/anaconda3/envs/py35/lib/python3.5/site-packages/ipykernel_launcher.py:14: RuntimeWarning: Mean of empty slice
  

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


In [11]:
ARatMed_TZf_lte0 = npStgZn['binARat_median_TZf'][:20]
ARatMedAvg_TZf_lte0 = np.nanmean(ARatMed_TZf_lte0)
print('{}'.format(ARatMedAvg_TZf_lte0))

ARatMed_ARf_lte0 = npStgZn['binARat_median_ARf'][:20]
ARatMedAvg_ARf_lte0 = np.nanmean(ARatMed_ARf_lte0)
print('{}'.format(ARatMedAvg_ARf_lte0))

ARatMed_SRm_lte0 = npStgZn['binARat_median_SRm'][:20]
ARatMedAvg_SRm_lte0 = np.nanmean(ARatMed_SRm_lte0)
print('{}'.format(ARatMedAvg_SRm_lte0))

ARatMed_ARm_lte0 = npStgZn['binARat_median_ARm'][:20]
ARatMedAvg_ARm_lte0 = np.nanmean(ARatMed_ARm_lte0)
print('{}'.format(ARatMedAvg_ARm_lte0))


0.4871870152996207
0.4664072102526744
0.45835055164812705
0.44323440255831853

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


In [12]:
ARatMed_TZf_gte5 = npStgZn['binARat_median_TZf'][24:]
ARatMedAvg_TZf_gte5 = np.nanmean(ARatMed_TZf_gte5)
print('{}'.format(ARatMedAvg_TZf_gte5))

ARatMed_ARf_gte5 = npStgZn['binARat_median_ARf'][24:]
ARatMedAvg_ARf_gte5 = np.nanmean(ARatMed_ARf_gte5)
print('{}'.format(ARatMedAvg_ARf_gte5))

ARatMed_SRm_gte5 = npStgZn['binARat_median_SRm'][24:]
ARatMedAvg_SRm_gte5 = np.nanmean(ARatMed_SRm_gte5)
print('{}'.format(ARatMedAvg_SRm_gte5))

ARatMed_ARm_gte5 = npStgZn['binARat_median_ARm'][24:]
ARatMedAvg_ARm_gte5 = np.nanmean(ARatMed_ARm_gte5)
print('{}'.format(ARatMedAvg_ARm_gte5))


0.6992666614838501
0.7586141443451795
0.7174562125214204
nan
/Users/danstechman/anaconda3/envs/py35/lib/python3.5/site-packages/ipykernel_launcher.py:14: RuntimeWarning: Mean of empty slice
  

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


In [13]:
rhMed_TZf_lte0 = npStgZn['binRH_median_TZf'][:20]
rhMedAvg_TZf_lte0 = np.nanmean(rhMed_TZf_lte0)
print('{}'.format(rhMedAvg_TZf_lte0))

rhMed_ARf_lte0 = npStgZn['binRH_median_ARf'][:20]
rhMedAvg_ARf_lte0 = np.nanmean(rhMed_ARf_lte0)
print('{}'.format(rhMedAvg_ARf_lte0))

rhMed_SRm_lte0 = npStgZn['binRH_median_SRm'][:20]
rhMedAvg_SRm_lte0 = np.nanmean(rhMed_SRm_lte0)
print('{}'.format(rhMedAvg_SRm_lte0))

rhMed_ARm_lte0 = npStgZn['binRH_median_ARm'][:20]
rhMedAvg_ARm_lte0 = np.nanmean(rhMed_ARm_lte0)
print('{}'.format(rhMedAvg_ARm_lte0))


107.9518604021693
92.29648466528441
108.7671504493976
83.26694330635476

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


In [14]:
rhMed_TZf_gte5 = npStgZn['binRH_median_TZf'][24:]
rhMedAvg_TZf_gte5 = np.nanmean(rhMed_TZf_gte5)
print('{}'.format(rhMedAvg_TZf_gte5))

rhMed_ARf_gte5 = npStgZn['binRH_median_ARf'][24:]
rhMedAvg_ARf_gte5 = np.nanmean(rhMed_ARf_gte5)
print('{}'.format(rhMedAvg_ARf_gte5))

rhMed_SRm_gte5 = npStgZn['binRH_median_SRm'][24:]
rhMedAvg_SRm_gte5 = np.nanmean(rhMed_SRm_gte5)
print('{}'.format(rhMedAvg_SRm_gte5))

rhMed_ARm_gte5 = npStgZn['binRH_median_ARm'][24:]
rhMedAvg_ARm_gte5 = np.nanmean(rhMed_ARm_gte5)
print('{}'.format(rhMedAvg_ARm_gte5))


70.4715735401493
55.648408642906745
67.40310741377964
54.48347134919271