More on Deflategate

By converting football pressures to ball temperatures under the Ideal Gas Law, it is possible to conveniently show Colt and Patriot information – transients, simulations and observations – on a common scale. I’ve done this in the diagram shown below, and, in my opinion, it neatly summarizes the actual information. Commentary follows the figure.

Figure 1.  Transients as digitized from Figures 25 and 27 converted to temperature transients using Ideal Gas Law. Red- Patriot, blue- Colt; thick – dry; thin – wet; solid -Logo, dashed – Non-Logo.  Simulations shown in open circles: large –  Logo 67 deg F initialization; small – NonLogo 71 deg F initialization.  Observed average: solid circle- Non-Logo; + – Logo.
I’ve shown the opening 48 deg F value as a black triangle for reference.
The dry and wet transients of Figures 25 and 27 were digitized and fitted with negative exponentials to an asymptote.  For each permutation (pregame Colt pressure 13 psig, Patriot 12.5 psig; Logo bias of 0.38 psi; pregame 71 deg F for Non-Logo; 67 deg F Logo), the moles contained in the football based on pregame initialization were calculated.  From the prescribed moles, the corresponding temperature transients are calculable under the Ideal Gas Law.   There is no reason why the temperature gradients for dry footballs (thick lines) should differ and yet there is about a 5 deg F range.  Theoretically, it seems that the temperature gradients should start at 48 deg F, but the fitted curves all start higher.  Curiously, the range for wet footballs (thin lines) is much narrower. I don’t exclude the possibility of an error in my calculations as these calculations are not routine for me, but I’ve checked carefully and they seem right.
Next, I’ve converted the simulation results (Non-Logo 71 deg F initialization – large circles; Logo 67 deg F initialization – small circles) to temperature.  Again, there is no reason why there should be any difference in temperature transients, but there is.
Finally, I’ve plotted the observed half-time average measurements at plausible average measurement times (Patriot 3.75 minutes; Colt 8 minutes) based on Logo initialization (+) and Non-Logo initialization (solid dot).  Note that these calculations do not depend on which gauge was used for half-time measurement, only which gauge was used for pre-game initialization.
From the figure, the implied temperature of Patriot balls at half-time based on Logo initialization and of Colt balls at half-time based on Non-Logo initialization both correspond well with simulation and transient calculations and with each other, while the implied temperature of Patriot balls based on Non-Logo initialization and Colt balls based on Logo initialization are both inconsistent with the other information.
I think that this single figure encapsulates all of the relevant information in Figures 24, 25, 26, 27, 29 and 30 in a single location.
Appendix
I’ve used the following scripts to produce the above figure. In this iteration, I didn’t use Exponent’s conversion formulas to Master Gauge scale, as the failure of these formulas to conserve the differential between gauges troubles me.

#IDEAL GAS LAW RELATIONS pV=nRT
pascal= 6894.76 #pascals per 1 psi
R= 8.31441 #gas constant J K-1 mol-1
Vf= .004237 #m3 volume of football 4237 cm3
cent =function(x) (x-32)*5/9
fahr = function(x) 9/5*x +32
coltp=13.0
bias=.38 #between Logo and Nonlogo Gauge

Nx=function(targetp,pregame=71) (6894.76*(14.7+targetp))*Vf/(R*(273+cent(pregame)))
#function to calculate moles from pregame pressure(psig) and temperature (deg F)
Nc= (6894.76*(14.7+coltp))*Vf/(R*(273+cent(71)));Nc # .3308858
Pf= function(tem, n=Nc) (n*R*(273+cent(tem))/Vf)/6894.76 - 14.7 #in psi
#function to calculate pressure in psig from temperature in deg F and moles
Pf(48) #11.84 at 13.05
Tf= function(P, n=Nc) fahr( (Vf* ((P+14.7)*6894.76))/(n*R) -273 ) #in psi
#function to calcuate temperature in deg F from pressure in psig and moles
Tf(10.9567,n=Nplogo)#47.99
Tf(11.49-bias, n=Nplogo) # 51.02595

##INPUT FIT TO DIGITIZED TRANSIENTS IN FIGURES 25 (Non-Logo) and 27 (Logo)
#setwd("d:/2015/football")
B=read.csv("http://www.climateaudit.info/data/football/transient_coef.csv")
B$pregame=rep(c(71,67),each=4)
B$P=12.5+0.5*(B$team=="Colt")-0.38*(B$gauge=="Logo")
B$n = (6894.76*(14.7+B$P))*Vf/(R*(273+cent(B$pregame))); # .3308858

##PLOT FIGURE
ind=seq(0,13.5,.25);
o=F

if(o) png("implied_ball_temperatures.png",w=1080,h=810)
if(o) par(list(font.lab=2,font.axis=2,cex.lab=1.4,cex.axis=1.4,cex.main=2))
if(o) cex0=3 else cex0=2
plot(0,type="n", xlim=c(-.25,14),ylim=c(42,75),axes=F,xlab="Halftime Minutes",ylab="Ball
Temperature (deg F)")
axis(side=1); axis(side=2,las=1); box()

for(k in c(1,3,5,7)) {
f=function(x) B$A[k]+B$B[k]*exp(-B$C[k]*x)
lines( ind,Tf( f(ind), n=B$n[k]), col=6-2*as.numeric(B$team[k]),lwd=3,lty=as.numeric(B
$gauge[k]))
} #dry transients

for(k in 1+c(1,3,5,7)) {
f=function(x) B$A[k]+B$B[k]*exp(-B$C[k]*x)
lines( ind,Tf( f(ind), n=B$n[k]), col=6-2*as.numeric(B$team[k]),lwd=1,lty=as.numeric(B
$gauge[k]))
} #wet transients

#plot observed averages converted to temperature
points(0,48,pch=17,cex=cex0)
#Patriot
points(3.5, Tf(11.11,n=Nx(12.5-bias,pregame=71) ),pch="+",col=2,cex=cex0) #51.02595
points(3.5, Tf(11.11,n=Nx(12.5,pregame=71) ),pch=19,col=2,cex=cex0) #51.02595
#Colt
points(8, Tf(mean(foot$Nonlogo[12:15]),n=Nx(coltp-
bias,pregame=71)),pch="+",col=4,cex=cex0)
points(8, Tf(mean(foot$Nonlogo[12:15]),n=Nx(coltp,pregame=71)),pch=19,col=4,cex=cex0)

#plot simulations converted to temperature
points( sim$Pat_avg, Tf( sim$Pat_pressure,n= Nx(12.5-bias*(sim$Case=="Logo"),sim$Pregame_T
)), pch=1,cex=2*as.numeric(sim$Case),col=2)
points( sim$Colt_avg, Tf( sim$Colt_pressure,n= Nx(coltp-bias*(sim$Case=="Logo"),sim
$Pregame_T )), pch=1,cex=2*as.numeric(sim$Case),col=4)

legend("topleft", lty=c(1,2),lwd=c(3,3),legend=c("Logo","Non-Logo") ,cex=2)
legend("bottomright", fill=c(2,4),legend=c("Patriot","Colt"),border=F,cex=2)
title("Implied Half-time Ball Temperatures")
if(o) dev.off()

Source