Auto/Oil Air Quality Improvement Research Program: Technical Bulletin No. 1 - Initial Mass Exhaust Emissions from Reformulated Gasolines, 1990
Dunker, A.: "Relative Reactivity of Emissions from Methanol and Gasoline Fueled Vehicles in Forming Ozone", Environmental Science and Technology, Volume
24,No.6, 1990, pp.853-862
Environmental Protection Agency: User's Guide to M0BILE4 (Mobile Source Emission Factor Model), Ann Arbor, Michigan, 1989
Environmental Protection Agency: Programmer's Guide to M0BILE4 (Mobile Source
Emission Factor Model), Ann Arbor, Michigan, 1989
Environmental Protection Agency: Compilation of Air Pollutant Emission Factors - Volume 11: Mobile Sources (4th Edition), Ann Arbor, Michigan, 1985
Environmental Protection Agency: Supplement A to Compilation of Air Pollutant Emission Factors - Volume II: Mobile Sources, Ann Arbor, Michigan, 1991
Environmental Protection Agency: M0BILE4 Oxygenated Fuels Version User's Guide, Ann Arbor, Michigan, 1989
Environmental Protection Agency: Guidance on Estimating Motor Vehicle Emission
Reductions from the Use of Alternative Fuels and Fuel Blends, Ann Arbor,
Michigan, 1988
Environmental Protection Agency: Analysis of the Economic and Environmental Effects of Methanol as an Automotive Fuel, 1989
Gabele, P.: "Characterization of Emissions from a Variable Gasoline/Methanol Fueled
Car", Journal of Air and Waste Management Association, Volume 4, No.3, 1990,
pp. 296-304
Gabele, P.,ICnapp, K.: "A Characterization of Emissions from an Early Model FFV", Air
and Waste Management Association Paper 91-106.6, June 1991
Jeffries, H., Charles, J.,Sexton, K.: Fundamental and Practical Studies of Reactivities of Alternative Fuels - Draft, Chapel Hill, 1991
Seinfeld, J.: "Ozone Air Quality Models - A Critical Review", Journal of the Air Pollution Control Association, Volume 38, No.5,1988, pp. 616-645
Appendicies___________________________________________________________________________________UNCMOBILE4
APPENDIX A: UNCM0BILE4 Example Input
1 ͣ> ^ PROMPT
UNCM0BILE4 Example Run
1 TAMFLG 1 SPDFLG ͣͣ 1 VMFLG 1 MRMYFG 1 NEWFLG 1 IMFLAG 1 ALHFLG 1 ':../'ͣͣ ATPFLG 1 RLFLAG 1 LOCFLG 1 TEMFLG 4 OUTFMT 4 .. PRTFLG 1 ' ; IDLFLG 2 NMHFLG 2 _ ͣ HCFLG 2 METFLG 0.050 0.100 0.150 0.200 0.300 0.500 0.700 0.900 0.950 0.950 0.950 0.950 0.950 0.950 0.950 0.950 0.950 0.950 0.950 0.950 0.900 8.0 2 ' 2 1 13 25.0 80.0 20.6 27.3 20.6 Atlanta GA C 71.0 86 11.5 11.5 20
AppgnJicig? UNCM0BILE4
APPENDIX B: UNCMOBILE4 Example output
UNCM0BILE4 Example Run
Light Duty Flexible Fueled Vehicles are evaluated:
The flexible fueled cars fractions of total Light Duty Vehicles sold
for model years 1993 through 2012+ are;
0.050 0.100 0.150 0.200 0.300 0.500 0.700 0.900 0.950 0.950 0.950 0.950 0.950 0.950 0.950 0.950 0.950 0.950 0.950 0.950
The fraction of flexible fueled cars running on M85 is: 0.90
The Reid Vapor Pressure (psi) of the M85 is:
8.0
LDFM output emission factors include tampering. LDFG output emission factors include tampering.
Non-methane HC emission factors include evaporative HC emission factors.
Cal. Year: 2013 Region: Low I/M Program: No Anti-tam. Program: No Altitude Ambient Temp Operating Mode 500. Ft. 82.8 / 82.8 / 82.8 F 0.0/ 0.0/20.6
Atlanta GA ASTM Class: C
Minimum Temp: 71. (F) Maximum Temp: 86. (F)
Base RVP: 11.5 In-use (lU) RVP: 11.5 lU 1st Yr; 2020
Veh. Type: LDGV LDGTl LDGT2 LDGT HDGV LDDV LDDT HDDV MC LDFM LDFG All Veh Veh. Spd.: 25.0 25.0 25.0
VMT Mix: 0.079 0.113 0.087
25.0 25.0 25.0 25.0 25.0 25.0 25.0 0.015 0.004 0.021 0.029 0.010 0.577 0.064
Composite Emission Factors (Gm/Mile)
No-Mth HC Exhst HC Evap. HC Refuel HC Runing HC Exhst CO Exhst NOX 3.63 2.67 2.74 2.70 5.65 0.53 0.56 1.6£ 4.75 1.72 2.53 2.IE 1.28 1.23 1.30 1.21 0.73 0.50 0.49 0.50 1.47 0.25 0.33 0.33 0.33 0.52 1.38 0.61 0.63 0.62 1.93 20.38 18.46 19.41 18.87 27.58 1.73 0.53 0.56 1.68 1.56 0.82 0.71 0.98 3.19 0.07 0.31 0.27 0.41 0.25 0.34 0.43 1.27 0.59 1.26 1.24 8.35 17.94 6.55 6.03 10.43 1.20 1.28 1.28 1.28 4.41 1.13 1.13 7.37 0.89 0.40 0.34 0.92
Appendicies_______________________________________________________________________________________________UNCMOBILE4 APPENDIX C: SUBROUTINE EFCALX
SUBROUTINE EFCALX(ICY,INERR)
c -- •
C Calculates composite emission factors.
C ,^ .: . ͣ ͣ '
CHARACTER*4 SCNAME
CHARACTER*1 ASTMCL,ACLASS
INTEGER ATPFLG,TPDFLG,RLFLAG,TEMFLG,OUTFMT INTEGER PRTFLG.HCFLAG
REAL JULMYR, JANMYR
COMMON /CITCIN/ UDI(5),lUDI,CIGASl,CIGAS2,CIETHl,CIETH2,ICERSW
COMMON /CITPAR/ SCNAME(4),FRETH,FRMETH,FRGAS
COMMON /CITRV3/ RVPMAP(5) , RVPX(2,2),ICLASS,ASTMCL,ACLASS(5)
COMMON /CUMCOM/ CUMMIL(20,10)
COMMON /EGSCAL/ AER(11,11,2,2),TGS(11,6,4),EGS(7,2),OPENLP(20,4) COMMON /FLAGS3/ ATPFLG,TPDFLG,RLFLAG,LOCFLG,TEMFLG,OUTFMT
COMMON /FLAGS4/ PRTFLG,IDLFLG,NMHFLG,HCFLAG,METFLG
COMMON /GSFCOM/ MAXGSF,GSFRAC(22,10, 2) , MYGSF(22 , 10 , 2) COMMON /MAXIMA/ MAXVEH, MAXLTW,MAXPOL,MAXREG,MAXYRS
COMMON /MYRCAL/ XMYM(20,10),JANMYR(20,10),TF(20,10),TFMYM(20,10)
COMMON /MYRSAV/ AMAR(20,10),JULMYR(20,10),NEWCUM
COMMON /REGION/ FEET(2),IREJN,ALT,INITPR
COMMON /RESULl/ EFFTP(3,11),EFEXH(11),EFEVAP(11),EFLOSS(11),
* EFRUNL(ll)
COMMON /RESUL3/ VFTP(3),VEXH,VEVAP,VLOSS,VRUNLS,VIDLE(3) COMMON /RVPEX2/ MYGRVP(4,4),RVPCF(20,3,4,2),OPENCR
COMMON /SPEED6/ SALHCF (20 , 3 , 8 ) , HSLHCF , ͣ:
COMMON /VMXCOM/ REGMIX (10 ) , TFNORM( 10) , VMTMIX (10 )
COMMON /FFVCOM/ MAXMSF, FFVFRA (21) ,MYMSF (21) , METFRA, RVPM85 , INRVPM,
* RVPMLS,MCH0S1,MCH0S2 IF (NEWCUM. NE.O) CALL GETCUM( ICY)
NEWCUM=0 •
VMLDGT=VMTMIX (2 )+VMTMIX (3 ) IF(VMLDGT.EQ.0.0) VMLDGT=1.
C - -ͣ "
C Calculate tampering offsets, refueling losses, RVP correction,
C and optional correction factors. C
CALL TAMPER(ICY)
IP(PRTFLG.EQ.l.OR.PRTFLG.EQ.4) CALL REFUEL(ICY) CALL RVPEXHdCY, 1, RVPX (1,1) ,RVPX(2,1) )
IF(FRETH.GT.O.O) CALL RVPEXH(ICY,2,RVPX(1,2),RVPX(2,2))
C
C BIGCFX gets correction factors for speed, temperature, operating mode C tampering , air conditioning, trailer towing, humidity, extra load, C and by-bag RVP. These correction factors depend on the usere's input.
C
CALL BIGCFX (ICY) . -. , ^ , ,
Appendicies___________________________________________________________________________________UNCMOBILE4
C' ͣ '
IF(IDLFLG.EQ.2) CALL IDLCAL(ICY,VMLDGT,INERR)
C _ . ,
c Calculate HC emission factors.
C
IF(PRTFLG.EQ.1.OR.PRTFLG.EQ.4) * CALL HCCALX(ICY,VMLDGT,INERR)
C
C Calculate CO and NOx FTP emission factors.
C Start loop through pollutant classes CO and NOx.
C DO 70 IP=2,MAXP0L IF(PRTFLG.NE.IP.AND.PRTFLG.NE.4) GOTO 70 VFTP(IP)=0.0 EFFTP(IP,11)=0.0 c *-.ͣ-,.
C start loop through vehicle classes. C
DO 60 IV=1,10 !10 for MAXVEH
EFFTP(IP,IV)=0.0
IF(VMTMIX{IV).EQ.0.0) GOTO 60 C
C start loop through model years.
C . , DO 50 IDX=1,MAXYRS .., , ^ ' IF(TF(IDX,IV).LE.0.0) GOTO 50 COMPEF=0.0 ' ͣ•" \ . JDX=21-IDX . ͣ ͣ ͣ VMTAGE=CUMMILfJDX, IV) /10000 . MY=ICY+IDX-20 ͣ ͣ' >
C JHELP is the model year group pointer to the gas/diesel sales fractions.
C
IGS=JHELP(MY,IV)
C
C SALHCF is the multiplicative correction factor for speed and optional
C adjustments (a/c, extra load, trailer towing, humidity). For LDFM and
C LDFG, SALHCF is assumed to be the same as for LDGV. All parameters of C the speed correction equations are constant for 1992+ anyway.
C
HSLHCF=SALHCF(IDX,IP,IV)
1F(IV.EQ.9.0R.IV.EQ,10) HSLHCF=SALHCF(IDX,IP,1)
EXHWGT=HSLHCF*TF{IDX,IV)
C
C IBEFSW is set to 2, so that BEF performs the operating mode corrections.
C BEF returns the corrected basic emission factors. C
IBEFSW=2
COMPEF=BEF(MY,IDX,ICY,IP,IV.VMTAGE,IBEFSW)*EXHWGT
C ͣ
C MC have no RVP exhaust cf, but get CO open loop technology credit.
C Composite ef is complete for diesel and MC.
Appendicies_______________________________________________________________________________________________UNCMOBILE4
IF (IV. EQ . 8 . AND. IP .NE . 3 )
* COMPEF=C0MPEF*(FRGAS+(FRETH+FRMETH)*(l.O-OPENCR))
IF{IV.GE.5.AND.IV.LE.8) GOTO 40
C
C LDGV/T, HDGV, and LDFG exhaust NOx ef have an multiplicative RVP cf, but no C open loop technology credit. LDFM exhaust NOx ef have no open loop technology
C credit and are assumed to be independent of MSB's RVP.
c IF{IV.EQ.9.AND.IP.EQ.3) GOTO 40 IF(IV.EQ.10.AND.IP.EQ.3) THEN COMPEF=COMPEF*RVPCF(IDX,IP,1,1) ELSE •ͣ •'ͣ :i IF{IP.EQ.3) COMPEF=COMPEF*RVPCF{IDX,IP,IV,1) END IF IF(IP.EQ.3) GOTO 40 C
C LDGV/T and HDGV CO ef both have RVP exhaust and open loop technology
C cf. LDFG CO ef have no open loop technology credit, but gasoline RVP
C correction. LDFM CO ef have no open loop technology credit and are
C assumed to be independent of MSB's RVP. C 0PENRE=1.0-OPENLP(IDX,IV)*OPENCR RVOPCF=FRGAS*RVPCF{IDX,IP, IV, 1) * +(FRETH*RVPCF(IDX,IP,IV,2) * +FRMETH*RVPCF(IDX,IP,IV,1) )*OPENRE '«. IF(IV.EQ.9) RVOPCF=1.0 IF(IV.EQ.IO) RV0PCF=RVPCF(IDX,IP,1,1) COMPEF=C0MPEF*RV0PCF ,; - ' < ' , ^ C
C If the user sets MCHOS2=3, the LDFG model year CO and NOx ef for are the
C same as for LDGV. C ' :>: , 40 IF(IV.EQ.10.AND.IP.EQ.2.AND.MCH0S2.EQ.3.AND.MY.GE.1993) * COMPEF=BEF(My,IDX,ICY,IP,1,VMTAGE,IBEFSW)*EXHWGT* ' * {1.0-OPENLP(IDX,1)*0PENCR)*RVPCF(IDX,IP, 1, 1) IF(IV.EQ.10.AND.IP.EQ.3.AND.MCH0S2.EQ.3.AND.MY.GE.1993) * COMPEF=BEF(MY,IDX,ICY,IP,1,VMTAGE,IBEFSW)*EXHWGT* * RVPCF(IDX,IP,1,1) C
C Sum up to get weighted final ef for pollutant and vehicle class.
C
,j EFFTPdP, IV)=EFFTP(IP, IV)+COMPEF
C
C End model year loop. C
BO CONTINUE
IF((IV.NE.4.AND.IV.LT.7).AND.
* (EFFTPdP, IV) .GT.0.0.AND.GSFRACdGS,IV,IREJN) .EQ.0.0) )
* CALL QUITER(0.,IV,67,INERR)
Appendicies___________________________________________________________________________________UNCMOBILE4
C Weight ef to get final ef for pollutants.
C
VFTP{IP)=VFTP(IP)+EFFTP(IP,IV)*VMTMIX(IV) C
C End model vehicle classes loop,
c . 60 CONTINUE
IF(EFFTP(IP,2).GT.0.0.AND.EFFTP(IP,3).GT.0.0) EFFTP(IP,11)=
* (EFFTP(IP,2)*VMTMIX(2)+EFFTP(IP,3)*VMTMIX(3))/VMLDGT
C ͣ
C End model pollutant loop.
C . ' ͣͣ ͣ '" - ͣ/ '' : ͣ•- -ͣ
70 CONTINUE
RETUEN '?
Appendicies___________________________________________________________________________________UNCM0BILE4 APPENDIX D: SUBROUTINE HCCALX
SUBROUTINE HCCALX (ICY, VMLDGT, INERR) C
C Calculates HC emission factors,
c
CHARACTER*4 SCNAME
INTEGER ATPFLa,TPDFLG,RLFLAG,TEMFLG,OUTPMT
REAL JANMYR
COMMON /CITCIN/ UDI(5),lUDI,CIGASl,CIGAS2,CIETHl,CIETH2,ICERSW
COMMON /CITPAR/ SCNAME (4 ), FRETH, FRMETH, FRGAS
COMMON /CITRVl/ RVPBAS, RVPIUS, RVPAST, RVPICY, RVPETH, lUSESY, RATUNC ^ COMMON /CITRV2/ RVPHSl, RVPHS2 , RVPETl, RVPET2 , RVP090 , RVPlOO , RVP115
COMMON /CUMCOM/ CUMMIL (20, 10 )
COMMON /EGSCAL/ AER{11,11,2,2),TGS(11,6,4),EOS(7,2),OPENLP(20,4)
COMMON /EVAPGR/ EVP(4),GREVP(4,11),VGREVP(4)
COMMON /FLAGS3/ ATPFLG,TPDFLG,RLFLAG,LOCFLG,TEMFLG,OUTFMT COMMON /GSFCOM/ MAXGSF,GSFRAC(22,10,2),MYGSF(22,10,2)
COMMON /MAXIMA/ MAXVEH, MAXLTW, MAXPOL, MAXREG, MAXYRS
COMMON /MYRCAL/ XMYM(20, 10 ) , JANMYR (20 , 10 ) , TF (20 , 10 ) , TFMYM(20 , 10 )
COMMON /RLC0M3/ RLRATE(20,10)
COMMON /REGION/ FEET(2),IREJN,ALT,INITPR
COMMON /RESULl/ EFFTP(3,11),EFEXH(11),EFEVAP(11),EFLOSS(11), ,
* EFRUNL(ll)
COMMON /RESUL3/ VFTP(3),VEXH,VEVAP,VLOSS,VRUNLS,VIDLE(3) COMMON /RVPEX2/ MYGRVP(4,4),RVPCF(20,3,4,2),OPENCR
COMMON /SPEED6/ SALHCF(20,3,8),HSLHCF
COMMON /VMXCOM/ REGMIX (10 ) , TFNORM (10 ) , VMTMIX (10 )
COMMON /FFVCOM/ MAXMSF, FFVFRA(21), MYMSF (21) ,METFRA, RVPM85, INRVPM,
* RVPMLS,MCH0S1,MCH0S2 DIMENSION EVPSUM(4) EFEXH(11)=0.0 V EFEVAP(11)=0.0 EFLOSS(11)=0.0 _ , EFRtnSIL(ll)=0.0 VEXH=0.0 VEVAP=0.0 VLOSS=0.0 J VRUNLS=0.0 DO 10 IEVP=1,4 GREVP(IEVP,11)=0.0 VGREVP(IEVP)=0.0 . 10 CONTINUE IP=1 EFFTP(IP,11)=0.0 VFTP (IP) =0.0 :' C /''ͣ'ͣ'.ͣ
C Start loop through vehicle classes -
c . , . , ,^/'--
AppendinJRs______________________________________________________________________UNCM0BILE4 EFEXH{IV)=0.0 EFEVAP(IV)=0.0 EFLOSS(IV)=0.0 * '., EFRUNL(IV)=0.0 - . : DO 15 IEVP=1,4 : V i GREVP(IEVP,IV)=0.0 .; 15 CONTINUE ͣ ' IF(REGMIX(IV).EQ.O.O.AND.VMTMIX(IV).EQ.O.0) GOTO 70 C
C Start loop through years
c 'ͣͣ•ͣ: DO 55 IDX=1,MAXYRS ' JDX=21-IDX IF(TF{IDX,IV).LE.O.O.AND.JANMYR(JDX,IV).EQ.0.0) GOTO 55 COMPEF=0.0 EXHHC=0.0 COMPCC=0.0 • - GASCAP=0.0 ' ' , ͣ a- RNGLOS=0.0 ' " - DO 20 IEVP=1,4 ,"ͣ - EVPSUM(IEVP)=0.0 20 CONTINUE .' VMTAGE=CUMMIL (JDX, IV) /10 0 0 0 . MY=ICY+IDX-2 0 IGS=JHELP(My,IV) C '.,ͣͣͣͣ'ͣ' -,.:" ' ͣ
c First, calculation of exhaust HC.
c ͣ'-.•ͣ
C SALHCF is the multiplicative correction factor for speed and optional
C adjustments (a/c, extra load, trailer towing, humidity). For LDFM and C LDFG, SALHCF is assumed to be the same as for LDGV. All parameters of C the speed correction equations are constant for 1992+ anyway.
C HSLHCF=SALHCF(IDX,IP,IV) IF{IV.EQ.9.OR.IV.EQ.10) HSLHCF=SALHCF(IDX,IP,1) EXHWGT=HSLHCF*TF(IDX,IV) IBEFSW=2 EXHHC=BEF(MY,IDX,ICY,IP,IV,VMTAGE,IBEFSW)*EXHWGT c ͣ ͣ
C If the user sets MCHOS2=3, the LDFG model year HC exhaust ef are the
C same as for LDGV.
C '''ͣͣͣ ' ; .^, ͣͣ "ͣ ͣ _ , 'ͣ '-
IF{IV.EQ.10.AND.MCHOS2.EQ.3.AND.MY.GE.1993)
* EXHHC=3EF(MY,IDX,ICY,IP,1,VMTAGE,IBEFSW)*EXHWGT C
C Exhaust HC emission factors for diesel are complete.
c
IF(IV.GE.5.AND.IV.LE.7) GOTO 25 ;/'
C Exhaust HC for MC are complete.
c ,..:ͣ'':' ͣ"'ͣ'ͣ- 'sw. ͣ/ͣ ,, ͣͣ;:
Appendicies ____________________________________________________________________________UNCMOBILE4
* EXHHC=EXHHC*(FRGAS+(FRETH+FRMETH)*(1.0-OPENCR)) IF(IV.EQ.8) GOTO 25
C
C Exhaust HC emission factors for LDGV/T, HDGV, and LDF. C
C LDGV/T and HDGV HC ef both have RVP exhaust and open loop technology C cf. LDFG HC ef have no open loop technology credit, but gasoline RVP C correction. LDFM HC ef have no open loop technology credit and are
C assumed to be independent of MSB's RVP. C ' ' 0PENRE=1.0-OPENLP(IDX,IV)*OPENCR RVOPCF=FRGAS*RVPCF(IDX,IP, IV, 1) * +(FRETH*RVPCF{IDX,IP,IV,2) * +FRMETH*RVPCF(IDX,IP,IV,1))*OPENRE IP(IV.EQ.9) RVOPCF=1.0 IFdV.EQ.lO) RV0PCF=RVPCF{IDX,IP,1,1) C EXHHC=EXHHC*RVOPCF ͣ/ 25 EFEXH{IV)=EFEXH(IV)+EXHHC COMPEF=COMPEF-i-EXHHC IF(IV.GE.5.AND.IV.LE.7) GOTO 50 C
C Second, calculation of a HC combined evaporative (hot soa)c and diurnal) C and cran)ccase emission factor by function CCEVRT.
c 'ͣ
COMPCC=CCEVRT(My,IDX,IV,RVPHSl,RVPHS2,CIGASl,CIGAS2) C
C If the user sets MCHOS2=3, the LDFG model year HC evaporative ef are the
C same as for LDGV. C IF(IV.EQ.10.AND.MCH0S2.EQ.3.AND.MY.GE.1993) * COMPCC=CCEVRT(MY,IDX,1,RVPHSl,RVPHS2,CIGASl,CIGAS2) C DO 30 IEVP=1,3
EVPSUM( lEVP) =EVP {lEVP) * (1. 0-FRETH)
30 CONTINUE
EVPSUM{4)=EVP(4)
C
C Third, calculation of running loss HC emissions for LDGV/T.
C
C Running losses for LDFG are calculated like for LDGV. For LDFM,
C RULOSS is called with RVPM85 as forth index.
C ͣ . ^ . ;
IF (IV. LE . 4 . OR . IV. EQ . 10 )
* RNGLOS=RULOSS(MY,IDX,IV,RVPHSl,RVPHS2)*(1.0-FRETH)
IF(IV.EQ.9) RNGLOS=RULOSS(My,IDX,IV,RVPM85,RVPHS2) C
C If the user sets MCHOS2=3, the LDFG model year running loss ef are the C same as for LDGV.
C
Appendicies___________________________________________________________________________________UNCMOBILE4 IF(FRETH.EQ.O.O) GOTO 40 ; ; COMPCC=(1.0-FRETH)*COMPCC "" * +FRETH*CCEVRT(MY,IDX,IV,RVPETl,RVPET2,CIETH1,CIETH2) DO 35 IEVP=1,3 EVPSUM(IEVP)=EVPSUM(IEVP)+EVP(IEVP)*FRETH . . ' 35 CONTINUE IF(IV.LE.4) RNGLOS=RNGLOS+RULOSS(MY,IDX,IV,RVPETl,RVPET2)*FRETH C
C Weight by travel or registration fraction and summate.
C ͣ
40 COMPCC=COMPCC*TF(IDX, IV) ..n
EFEVAP (IV) =EFEVAP (IV)+COMPCC
^i,, COMPEF=COMPEF+COMPCC -
, RNGLOS=R]SrGLOS*TF(IDX, IV) EFRUNL (IV) =EFRUNL (IV)+RNGLOS
COMPEF=COMPEF+RNGLOS
DO 45 IEVP=1,4 ,',
EVPSUM(IEVP)=EVPSUM(IEVP)*JANMYR(JDX,IV) . GREVPdEVP, IV)=GREVP(IEVP, IV)+EVPSUM(IEVP)
45 CONTINUE ;;'
C
C Forth, calculation of refueling losses for gasoline vehicles and LDF.
C
IF (IV. EQ . 5 . OR. IV. EQ . 6 . OR. IV. EQ . 7 . OR . IV. EQ . 8 . OR . RLFLAG . EQ . 5 ) * GOTO 50
GASCAP=RLRATE(IDX,IV)*TF(IDX,IV) EFLOSS (IV) =EFLOSS (IV)+GASCAP
C
C COMPEF adds up all HC emissions for one model year index (IDX).
C
COMPEF=COMPEF+GASCAP
C V ; >
50 EFFTPdP, IV)=3FFTP(IP,IV)+C0MPEF
C
C End loop through years
c ͣ 'ͣ .
55 CONTINUE ͣ
IF(IV.EQ.4.0R.IV.EQ.7.0R.IV.EQ.8) GOTO 60
IF(EFFTP(IP, IV) .GT.O.O.AND.GSFRACdGS, IV, IREJN) .EQ.0.0)
* CALL QUITER(0.,IV,67,INERR)
60 IF(EFFTP{IP,IV).LE.0.0) CALL QUITER(0.,IV,68,INERR) ;
• c . ͣ •ͣ'ͣͣ" ͣ-ͣͣ'ͣ,
C weighting by VMTMIX and REGMIX. '
C
VFTP(IP)=VFTP(IP)+EFFTP(IP,IV)*VMTMIX(IV) VEXH=VEXH+EFEXH(IV)*VMTMIX(IV)
VEVAP=VEVAP+EFEVAP (IV) *VMTMIX (IV) VL0SS=VL0SS+EFL0SS(IV)*VMTMIX(IV) VRUNLS=VRUNLS+EFRUNL (IV) *VMTMIX (IV) DO 65 IEVP=1,3
Appendicies_______________________________________________________________________________________________UNCMOBILE4
65 CONTINUE
- VGREVP(4)=VGREVP{4)+GREVP(4,IV)*VMTMIX(IV) C
C End loop through vehicle classes.
C _ -; 70 CONTINUE IF{EFFTP(IP,2).GT.0.0.AND.EFFTP(IP,3).GT.0.0) EFFTP(IP,11)= * (EFFTP(IP,2)*VMTMIX(2)+EFFTP(IP,3)*VMTMIX{3) )/VMLDGT ' IF(EFEXH(2).GT.0.0.AND.EFEXH(3).GT.0.0) * EFEXH(11)={EFEXH(2)*VMTMIX(2)+EFEXH(3)*VMTMIX(3))/VMLDGT IF{EFEVAP(2).GT.0.0.AND.EFEVAP(3).GT.0.0)
* EFEVAP (11) = (EFEVAP (2 )*VMTMIX(2)+EFEVAP (3 )*VMTMIX (3 ))/VMLDGT
IF(EFL0SS(2).GT.0.0.AND.EFLOSS(3).GT.0.0) * EFL0SS(11)=(EFL0SS{2)*VMTMIX(2)+EFL0SS(3)*VMTMIX(3))/VMLDGT IF(EFRUNL(2).GT.0.0.AND.EFRUNL(3).GT.0.0) * EFRUNL(11) = (EFRUNL(2)*VMTMIX{2)+EFRUNL(3)*VMTMIX{3) )/V-MLDGT DO 75 IEVP=1,3 IF(GREVP(IEVP,2) .GT.0.0.AND.GREVPdEVP,3) .GT.0.0) , • ., * GREVPdEVP,11) = (GREVP(IEVP,2)*REGMIX(2) * +GREVP(IEVP,3)*REGMIX(3)) * /(REGMIX(2)+REGMIX(3)) 75 CONTINUE IF(GREVP(4,2).GT.0.0.AND.GREVP(4,3).GT.0.0) * GREVP(4,H) = (GREVP(4,2)*VMTMIX(2) ' • * +GREVP (4,3) *VMTMIX {3 ) ) , * /VMLDGT RETURN a©
Appendicies_______________________________________________________________________________________________UNCMOBILE4
APPENDIX E: SUBROUTINE EVMET
SXreROUTINE EVMET(MY,IDX,IV,HS,DU)
C
C Subroutine EVMET calculates the hot soak (g) and diurnal (g) emissions for C LDF.
C
COMMON /FFVEV/ EVLDF(4),EXCESS(2),DEFMAL(2),EXH(2),DMH(2), * EXD(2),DMD(2)
COMMON /TEMPS/ AMBT, TEMMIN, TEMMAX, TEMEXH (3 ) , TEMEVP ( 6 ) , TEMAST( 3 )
COMMON /CITUSE/ RVUSEl,RVUSE2,CIUSEl,CIUSE2
COMMON /CITCIN/ UDI(5),lUDI,CIGASl,CIGAS2,CIETHl,CIETH2,ICERSW COMMON /TAMOUT/ TAMBAG(3,3,20,4),THS(2,20,6),TDU{20,4),TCC(20,4) COMMON /FFVCOM/ MAXMSF, FFVFRA(21) , MYMSF (21) ,METFRA, RVPM85 , INRVPM,
* RVPMLS,MCH0S1,MCH0S2
HS=0.0
; DU=0.0 ' "' " : _
IF(TEMMAX .LE.40.0 .OR.
* AMBT .LE.40.0.AND.TEMFLG.EQ.2 .OR. * TEMEVP(l).LE.40.0 .OR.
* TEMEVP(2).LE.40.0 .OR. * TEMMIN .LE.25.0) RETURN
IF(MY.LT.1993) GOTO 90
CALL EVRVPC
C
C Hot soak and diurnal calculation from FTP levels, RVP excess effect, C malmaintenance and defect effects, and optional tampering effect. C . IF(IV.EQ.9) THEN HS=EVLDF(1)*EVTC0R(1, IV) " 'ͣ DU=EVLDF(2)*EVTCOR(2,IV) ' - •- HS=HS+EXH(1)*HS+DMH{1)*HS ^ -_ DD=DU+EXD(1)*DU+DMD(1)*DU
ELSE IF(IV.EQ.IO) THEN HS=EVLDF(3)*EVTCOR(1,IV) DU=EVLDF(4)*EVTCOR(2,IV) -> HS=HS+EXH(2)*HS+DMH(2)*HS DU=DU+EXD(2)*DU+DMD(2)*DU , END IF ͣ ' - C
C If the user wants tampering to be included for either one or both of the C LDF vehicle groups, the tampering offset for 1993+ LDGV with port fuel C injection (FBI) applies. The tampering offset is additive and
C yields the same portion of the untampered ef as for 1993+ FBI LDGV. c
IF((IV.EQ.9.AND.MCHOS1.EQ.2).OR.(IV.EQ.10.AND.MCHOS2.EQ.2)) THEN
CALL EVMAIN(MY,1, 1, 1,7, RVUSEl, HSCINJ) CALL EVMAIN(MY,1,2,1,7,RVUSEl,HSUINJ) HSTAM=((HSUINJ-HSCINJ)/HSCINJ)*THS(2,IDX,1)
Appendicies_______________________________________________________________________________________________UNCMOBII..E4
RIVAL=UDI(2)/UDI(1) "ͣ
CALL EVMAIN (MY, 2 , 1, 1, 7, RIVAL, DUCINJ) CALL EVMAIN(MY,2,2,1,7, 0.,DUUINJ) IF{DUUINJ.LT.DUCINJ) DUUINJ=DUCINJ DUTAM={(DUUINJ-DUCINJ)/DUUINJ)*TDU(IDX,1) DU=DU+DUTAM ͣ"[ , END IF C 90 RETURN ,»; END ͣͣ i?,- " ;,
Appenaicies___________________________________________________________________________________UNCMOBILE4
APPENDIX F: SUBROUTINE EVRVPC
SUBROUTINE EVRVPC C
C Calculates the excess RVP effect and the malmaintenance and defect C effect for LDF hot soak and diurnal emissions.
C
COMMON /CITCIN/ UDI{5),lUDI,CIGASl,CIGAS2,CIETHl,CIETH2,ICERSW COMMON /CITRVl/ RVPBAS, RVPIUS, RVPAST, RVPICY, RVPETH, lUSESY, RATUNC COMMON /CITUSE/ RVUSEl, RVUSE2 , CIUSEl, CIUSE2
COMMON /EVADUl/ DUEQ(3,2,10),EFDU(4,2),HDDU(2),CLDU(5,2),TPDU(8,2) :-, COMMON /EVADU2/ HIDU(2 ) , DULIM{3 , 2 ) ,R2DU(2 , 2 ) , TPDUAF (7 , 4 , 2 ) , IDUAF
COMMON /EVAHSl/ HSEQ(3,2,12),EFHS(4,2),HDHS(2),CLHS(5,2)
COMMON /FFVCOM/ MAXMSF, FFVFRA{21) , MYMSF (21) ,METFRA, RVPM85 , INRVPM, * RVPMLS,MCH0S1,MCH0S2
COMMON /FFVEV/ EVLDF(4),EXCESS(2),DEFMAL(2),EXH{2),DMH(2), * EXD(2),DMD(2) RVPUSE=RVUSE1 IF(RVPUSE.LT.8.0) RVPUSE=8 . 0 c ͣ C Hotsoak , C ͣ '-ͣ' DO 10 IEV=1,2 EXCESS (lEV) =0.0 .>: DEFMAL(lEV)=0.0 IF(IEV.EQ.l) RVPEV1=RVPM85 IF(IEV.EQ.l) RVPEV2=RVPM85 IF(IEV.EQ.2) RVPEV1=RVPICY IF(IEV.EQ.2) RVPEV2=RVPUSE ͣ EXCESS(lEV)=HSEQ{3,1,1)+HSEQ(3,1,2)*RVPEV1 ͣ * . +HSEQ(3,1,3)*RVPEV1**2 DEFMAL{lEV)=HSEQ(3,1,4)+HSEQ(3,1,5)*RVPEV2 * +HSEQ{3, 1,6)*RVPEV2**2 i! \ C
C Normalize hot soak RVP excess and malmaintenance & defect effects.
C
EXH {lEV) =EXCESS (lEV)/HSEQ {3 , 1, 7 )
DMH{IEV)=DEFMAL(IEV)/HSEQ(3,1,7) , 10 CONTINUE C C Diurnal c -ͣ...'ͣ. DO 20 IEV=1,2 EXCESS(lEV)=0.0 DEFMAL (IEV)= 0.0 IF(IEV.EQ.l) RVPEV1=UDI{2)/UDI(1) " - .. ' IF(IEV.EQ.l) RVPEV2=RVPM85 IF(IEV.EQ.2) RVPEV1=UDI{2)/UDI(1)
Apne.ndicies UNCM0BILE4 IF(IEV.EQ.2) RVPEV2=RVPUSE IF(RVPEV1.LE.DULIM(3,1)) * EXCESS(lEV)=DUEQ(3,1,1)+DUEQ(3,1,2)*RVPEV1 * +DUEQ(3,1,3)*RVPEV1**2 IF(RVPEV1.GT.DULIM(3,1)) * EXCESS(lEV)=DUEQ(3,1,9)+DUEQ(3,1,10)*RVPEV1 DEFMAL{lEV)=DUEQ(3,1,4)+DUEQ(3,1,5)*CIUSE1 * +DUEQ(3,1,6)*CIUSE1**2 EXD(lEV)=EXCESS(lEV)/DUEQ(3,1,7) DMD(lEV)=DEFMAL(lEV)/DUEQ(3,1,7) 2 0 CONTINUE RETURN END
Appendicies_______________________________________________________________________________________________UNCM0BILE4
APPENDIX G: SUBROUTINE BEF
FUNCTION BEF(MY,IDX,ICY,IP,IV,VMTAGE,IBEFSW) C
C Returns the basic emission factor for each model year/vehicle class C group, adjusted for operating mode, CO temperature offset, methane C offset, temperature, I/M and tampering offsets.
C
COMMON /BASEQl/ ERBZML(20,3,10,2),ERBDR(20,3,10,2),ERB50K(14,2,2) COMMON /BASEQ5/ ERUZML(12,3,10,2),ERUDR(12,3,10,2),ERU50K(14,2,2)
COMMON /BASEQ6/ MYGERU( 12 , 2 , 3 , 8 , 2 ) ,MAXERU, NDMERU(3 , 8 , 2 ) , KEYER, IGER COMMON /OFFSET/ OFFCO(20,3),OFFMTH(20,10)
COMMON /OMTCOM/ OMTCF(20,3,8),OMTTAM(20,3,4),FOMTAM(20,3) COMMON /REGION/ FEET(2),IREJN,ALT,INITPR
COMMON /TAMEQl/ TAMZML(9,4,2,2),TAMDR(9,4,3,2),MYGTAM(4),IGT5,F50K COMMON /FLAGS4/ PRTFLG,IDLFLG,NMHFLG,HCFLAG,METFLG
COMMON /FFVCOM/ MAXMSF, FFVFRA(21) , MYMSF (21) ,METFRA, RVPM85, INRVPM,
* RVPMLS,MCH0S1,MCH0S2
COMMON /lOUCOM/ lOUIMD, lOUGEN, lOUREP, lOUERR, lOUASK ABOV50=VMTAGE-F50K
KINK50=1
IF(MY.GE.198LAND.IP.LE.2.AND.(IV.EQ.1.OR.IV.EQ.9.OR.IV.EQ.10). * AND.ABOV50.GT.0.0) KINK50=2
c _^:,. :
C Look up base emission rates and deterioration rates using pointer C lERPTR.
C
CALL IERPTR(MY,IP,IV)
IF{KEYER.EQ.2) GOTO 10 --'^
ZPOINT=ERBZML(IGER,IP,IV,IREJN)
SL0PE1=ERBDR{ IGER, IP, IV, IREJN) ;, • IF(KINK50.EQ.l) GOTO 20 ^^ .
C
C Pointer IGER50 for deterioration rates of 50k+ model year groups.
C
IF(MY.LE.1992) IGER50=MY-1981+1 IF(MY.GT.1992) IGER50=12
C' ^
C Call of second slope for LDF. ' ': C IF(MY.GT.1992.AND.IV.EQ.9) IGER50=13 IF(MY.GT.1992.AND.IV.EQ.10) IGER50=14 • C ^ . SLOPE2=ERB50K(IGER50,IP,IREJN) GOTO 20 10 ZPOINT=ERUZML(iGER,IP,IV,IREJN) SL0PE1=ERUDR( IGER,IP,IV,IREJN) IF(KINK50.EQ.2) SLOPE2=ERU5OK(IGER,IP,IREJN) C
C Calculation of uncorrected emission rates, only from zml and dr.
Appendicies____________________________________________________________________________________UNCM0BILE4
20 IF(KINK50.EQ.l) BEF=ZP0INT+SL0PE1*VMTAGE
IF(KINK50.EQ.2) BEF=ZPOINT+SLOPE1*F50K+SLOPE2*ABOV50 IF(IBEFSW.EQ.l) GOTO 99
C , ' ^ ͣ' ͣ •ͣ . ^ ͣ
C write out BEF. ' . c ͣ"ͣͣ'ͣ'•.ͣͣ./',ͣ
C IF{(IV.EQ.9.OR.IV.EQ.10).AND.IDX.EQ.l) THEN C WRITE{10,100) IV,IP
C 100 FORMAT('0','Uncorrected bef for vehicle class ',12,' and', C * ' pollutant ',11,' are:') C END IF C IF({IV.EQ.9.OR.IV.EQ.10).AND.IDX.EQ.l) THEN » C WRITEdO, 110) BEF C 110 FORMATC ',1X,F6.3) ͣ' C END IF C IF(IV.EQ.9.OR.IV.EQ.10) THEN C WRITEdO, 120) BEF C 120 FORMATC ',1X,F6.3) C END IF C r ., . . C Applying of correction factors.
c -..,-^ ͣ .^ ͣ
C The exhaust ef correction factors for LDF are calculated seperately from
C those for the other vehicle classes.
c ...
IF(IV.EQ.9.OR.IV.EQ.10) GOTO 30 ' .
C
C Start correction factor calculation for vehicle classes 1 through 8.
C
C CO offset for LDGV/T.
c
IF (IV. LE . 3 . AND . IP . EQ . 2 )
* BEF= {BEF*OMTCF(IDX, IP, IV) *PCLEFT(MY, ICY, IP, IV) )+OFFCO(IDX, IV)
C
C Methane offset. C
ͣ IF(IP.EQ.l)
* BEF={BEF*'0MTCF(IDX,IP,IV)-OFFMTH(IDX, IV) )*PCLEFT(MY, ICY, IP, IV)
C
C Offset for temperature and inspection/maintenance.
C
IF {IP . EQ . 3 . OR. (IV. GT . 3 . AND. IV. LE . 8 . AND . IP . EQ . 2 ) ) * BEF=BEF*OMTCF{IDX,IP,IV)*PCLEFT(MY,ICY,IP,IV)
C
C Saving of LDGV proportional tampering effect for application to LDF.
C , ^^ ͣ • ͣ
IFdV.EQ.l) THEN ^. FOMTAM(IDX,IP)=OMTTAM(IDX,IP,IV)/BEF
END IF V' ͣ =
C
Appendicies_______________________________________________________________________________________________UNCMOBILE4
C ' X
IF(IV.LE.4) BEF=BEF+OMTTAM{IDX,IP,IV)
GOTO 99 C
C start correction factor calculation for LDF.
C
C Function EXTCOR generates the multiplicative temperature offset, function C CH4C0R generates the multiplicative methane offset, if non-methane HC are C requested.
C '" ,
30 BEF=BEF*EXTCOR{IP,IV)
IF(NMHFLG.EQ.2.AND.IP.EQ.l) BEF=BEF*CH4C0R(IP,IV)
C If the user wants tampering to be included for either one or both of the C LDF vehicle groups, an additive tampering offset applies. The offset
C yields the same portion of the untampered rate as for LDGV of the same C model year and is corrected for operation mode, temperature and ATP, if
C one applies.
c ͣ
IF(IV,EQ.9.AND.MCH0S1.EQ.2) BEF=BEF+FOMTAM(IDX,IP)*BEF
ji, IF(IV.EQ.10.AND.MCHOS2 .EQ.2) BEF=BEF+F0MTAM{ IDX, IP) *BEF
C , , ..ͣ'"''-ͣ
Appendicies___________________________________________________________________________________UNCMOBTLP.4
APPENDIX H: SUBROUTINE EXTCOR
FUNCTION EXTCOR(IP,IV)
C
C Calculates the multiplicative temperature offset for LDF and all three C exhaust pollutants by 2-point interpolation.
C
COMMON/FFVCOR/ CORTEM(3),C4C0R(3,2),TMCOR(3,3,2),ETCOR(3,2,2) COMMON /TEMPS/ AMBT, TEMMIN, TEMMAX, TEMEXH {3 ) , TEMEVP ( 6 ) , TEMAST ( 3 )
C
C DATA: Multiplicative correction factors for LDFM and LDFG HC, CO, and C NOx exhaust emissions to correct for non-FTP temperatures, calculated
C from Gabele (1990). C DATA CORTEM/40.0,75.0,90.0/ DATA TMCOR/ ;' C LDFM 40F 75F 90F H 2.91,1.00,1.13, C 3.38,1.00,1.08, N 0.91,1.00,1.18, C LDFG H 4.33,1.00,1.19, C 3.27,1.00,0.92, N 1.08,1.00,1.19/ C
C If the exhaust temperature is below 40F, the cf for 40F applies, J;
C accordingly for exhaust temperatures over 90F.
C
IF(TEMEXH(IP).LE.CORTEM(l)) THEN , .
EXTC0R=TMC0R(l,IP,IV-8) *- GOTO 3 0
ELSE IF(TEMEXH(IP) .GE.CORTEMO) ) THEN EXTC0R=TMC0R(3, IP,IV-8)
GOTO 30 ELSE
C ,#/
C Find bracketing temperature and associated factors, c DO 10 ITE=1,2 . IF(TEMEXH(IP).LE.CORTEM(ITE)) GOTO 20 10 CONTINUE ITE=3 . . 20 TMP1=C0RTEM(1) IF(ITE.GT.l) TMP1=C0RTEM(ITE-1) ͣ ?. TMP2=C0RTEM(ITE) COR1 = 0.0 .% ''\-.i:.
IF(ITE.GT.l) C0R1=TMC0R(ITE-1, IP,IV-8) '..^
C0R2=TMC0R{ITE, IP,IV-8)
C
Apoendicies_______________________________________________________________________________________________UNCMOBILE4
EXTC0R=C0R1*((TMP2-TEMEXH(IP))/(TMP2-TMP1))+
* C0R2*((TEMEXH(IP)-TMPl)/{TMP2-TMP1))
END IF _ ͣ ͣ ,^