#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Thu Jul 31 13:37:27 2025 @author: jdaniel """ import numpy as np from matplotlib import pyplot as plt import pickle class otherParams: def __init__(self): self.prodemiss = 1-1/1.05 #0.05 # self.prodemiss = 1-1./1.15 #0.05 self.prodemisssig = 1. self.solvent = .1#0.093 self.solventsig = .5 self.iyears = 200 #number of years to track values after production from outputPresent import * from appendix import * from AltMarket import * with open('pickledParams.pkl', 'rb') as f: regions = pickle.load(f) paramvalsmc = pickle.load(f) emissvalsmc = pickle.load(f) emissvalsmcNEA = pickle.load(f) marketSegNoRefrigmc2008 = pickle.load(f) marketSegRefrigmc2008 = pickle.load(f) val = np.zeros(len(paramvalsmc)) for i in range(len(val)): val[i] = paramvalsmc[i].solvent index=5 indexcol = 0 plt.hist(emissvalsmc[:,index,indexcol],bins=100) plt.show() plt.hist(emissvalsmcNEA[:,index,indexcol],bins=100) plt.show() print(np.mean(emissvalsmc[:,index,indexcol]),np.std(emissvalsmc[:,index,indexcol])) print(np.mean(emissvalsmcNEA[:,index,indexcol]),np.std(emissvalsmcNEA[:,index,indexcol])) print(' ') ireg = 0 imar = 0 plt.hist(marketSegNoRefrigmc2008[:,ireg,imar],bins=50) marShareArr = [] meanActualArr = [] stdActualArr = [] for ireg in range(10): if (ireg != 0 and ireg != 5 and ireg !=2): print(regions[ireg]) marShare = marketSegRefrigmc2008[0,ireg,:] marShareArr.append(marShare) iOrder = np.argsort(marShare) ix = np.where(marShare > 0.002)[0] print(np.shape(ix),ix) print(marShare) meanActual = np.mean(marketSegRefrigmc2008[:,ireg,:],axis=0) meanActualArr.append(meanActual) stdActual = np.std(marketSegRefrigmc2008[:,ireg,:],axis=0) stdActualArr.append(stdActual) if (ireg != 3): fig, axs = plt.subplots(3,4) plt.subplots_adjust(wspace=.6, hspace=.6) for j in range(12): plt.subplot(3,4,j+1) if (j == 0): plt.title(regions[ireg]) # plt.hist(marketSegNoRefrigmc2008[:,ireg,j])#,ax=axs[j]) plt.hist(marketSegRefrigmc2008[:,ireg,j],bins=50) astring1 = f"{marShare[j]:.3f}" astring2 = f"{meanActual[j]:.3f}" plt.text(.55,340,astring2,fontsize=8) plt.text(.55,280,astring1,fontsize=8) plt.xlim(0,1) plt.plot([meanActual[j],meanActual[j]],[0,400]) plt.ylim(0,400) plt.show() else: fig, axs = plt.subplots(2,3,figsize=(4,3)) plt.subplots_adjust(wspace=.5,hspace=.5) tshort = ['Domest. Refrig.','Discont. Panels','Spray Foam','Refrig. Containers','Commercial Refrig.','Cont. Panels'] iorder = [0,3,4,2,1,11] incr = 1 for j in iorder: plt.subplot(2,3,incr) plt.hist(marketSegRefrigmc2008[:,ireg,j],bins=50) astring1 = f"{marShare[j]:.3f}" astring2 = f"{meanActual[j]:.3f}" plt.text(.55,280,astring1,fontsize=7) plt.text(.55,340,astring2,fontsize=7) # axs.tick_params(axis="both", labelsize=7) if (incr == 1 or incr == 4): plt.ylabel('Counts',fontsize=7) if (incr == 4 or incr == 5 or incr == 6): plt.xlabel('Market Share',fontsize=7) plt.xticks(fontsize=7) plt.yticks(fontsize=7) plt.xlim(0,1) plt.plot([meanActual[j],meanActual[j]],[0,400]) plt.ylim(0,400) plt.title(tshort[incr-1], fontsize=8) incr = incr + 1 plt.savefig('histograms-LAC.png',dpi=300) plt.show() print(' ') print(np.mean(marketSegNoRefrigmc2008[:,ireg,imar])) print(np.min(emissvalsmc[:,index,indexcol]),np.max(emissvalsmc[:,index,indexcol])) print(emissvalsmc[0:19,index,indexcol]) fig, ax = plt.subplots() marShareArr = np.array(marShareArr) meanActualArr = np.array(meanActualArr) plt.plot(marShareArr[:,:], meanActualArr[:,:],'o',color='black') plt.xlabel('Prescribed Mean Market Share') plt.ylabel('Calculated Mean Market Share') plt.plot([0,.5],[0,.5]) plt.tick_params(axis='both', direction='in', top=True, right=True) plt.title('Market Share Bias') plt.savefig('meanMarketbias.png',dpi=300) plt.show() plt.plot(meanActualArr,stdActualArr,'o',color='black') plt.xlabel('Calculated Mean Market Share') plt.ylabel('Standard Deviation') plt.plot([0,.5],[0,.25]) plt.title('Distribution Bias') plt.tick_params(axis='both', direction='in', top=True, right=True) plt.savefig('meanMarketDistrBias1.png',dpi=300) plt.show() plt.plot(marShareArr,stdActualArr,'o',color='black') plt.plot([0,.5],[0,.25]) plt.xlabel('Prescribed Mean Market Share') plt.ylabel('Standard Deviation') plt.title('Distribution Bias') plt.tick_params(axis='both', direction='in', top=True, right=True) plt.savefig('meanMarketDistrBias2.png',dpi=300) plt.show() #plt.hist(np.log(emissvalsmc[:,index,indexcol]),bins=100) #plt.show()