EPA-AA-TEB-89-02
         PROGRAMMER'S GUIDE
                  to
               MOBILE4
(MOBILE SOURCE EMISSION FACTOR MODEL)
              JULY 1989
U.S. ENVIRONMENTAL PROTECT5ON AGENCY
     OFFICE OF AIR AND RADIATION
      OFFICE OF MOBILE SOURCES
EMISSION CONTROL TECHNOLOGY DIVISION
     TEST AND EVALUATION BRANCH
         2565 PLYMOUTH ROAD
     ANN ARBOR, MICHIGAN  48105

-------
                                   EPA-AA-TEB-89-02
         PROGRAMMER'S GUIDE
                 to
               MOBILE4
(MOBILE SOURCE EMISSION FACTOR MODEL)
              JULY 1989
U.S. ENVIRONMENTAL PROTECTION AGENCY
     OFFICE OF AIR AND  RADIATION
      OFFICE OF MOBILE SOURCES
EMISSION CONTROL TECHNOLOGY DIVISION
     TEST AND EVALUATION BRANCH
         2565 PLYMOUTH ROAD
     ANN ARBOR, MICHIGAN  48105

-------
                           DISCLAIMER
     EPA will  not be  responsible  for  the  accuracy  of  MOBILE4
tapes  that  were  received  from  sources other than  EPA  in Ann
Arbor or the National  Technical  Information Service  (NTIS),  or
for  the  accuracy of any draft MOBILE4  tapes that  may have been
released prior to release of the final  MOBILE4  tapes.  Further,
EPA  will  not  be responsible for  the accuracy of MOBILE4 when
modified by the user without consultation with EPA.

     Mention of  specific products,  product or corporate  names,
or trademarks  in no way constitutes  endorsement of  same  by the
U.S.  Government or by the Environmental Protection Agency.
                              -11-

-------
     Requests  for  copies  of   the   MOBILE4  program  and  for
additional copies of this Programmer's Guide should be directed
to the following;

           The National Technical Information Service (NTIS)
           U.S. Department of  Commerce
           5285 Port Royal Road
           Springfield, Virginia  22161

           Phone:  (703) 487-4650


     Questions concerning MOBILE4 or  this Programmer's Guide
should be directed to the following:

           U.S. EPA Motor Vehicle Emission Laboratory
           Office of Mobile Sources
           Emission Control Technology Division
           Test and Evaluation Branch
           2565 Plymouth Road
           Ann Arbor,  MI  48105
           Attn:   MOBILE4

           Phone:  (313) 668-4462  or  FTS 374-8462
                             -ill-

-------
                        TABLE OF CONTENTS
CHAPTER 1:  EXECUTION SUMMARY

1.0  INTRODUCTION	  1-1

1.1  INPUT	1-1

1.2  CALCULATION	1-3

1.3  OUTPUT	1-6


CHAPTER 2:  MOBILE4 ON PERSONAL COMPUTERS AND NCC-IBM

2.0  INTRODUCTION	2-1

2.1  PORTING MOBILE4 TO THE IBM-PC	2-1

2.2  RUNNING MOBILE4 ON THE IBM-PC	2-27

2.3  PORTING MOBILE4 TO AND RUNNING MOBILE4
       ON THE MACINTOSH II PERSONAL COMPUTER	2-30

2.4  RUNNING MOBILE4 ON THE NCC-IBM	2-32


CHAPTER 3:  POTENTIAL MODIFICATIONS TO MOBILE4

3.0  INTRODUCTION	3-1

3.1  MOBILE4 AS A SUBROUTINE	3-1

3.2  BY MODEL YEAR VERSION OF MOBILE4	3-3

3.3  MISCELLANEOUS MOBILE4 MODIFICATIONS  	  3-5


CHAPTER 4:  MOBILE4 AND USER'S GUIDE - ERRATA AND ADDENDA

4.0  INTRODUCTION	4-1

4.1  PROGRAM CHANGES AND CORRECTIONS  	  4-2

4.2  PROGRAM CODE CORRECTIONS	4-9

4.3  USER'S GUIDE CORRECTIONS AND ADDITIONS 	 4-19

4.4  CORRECTED USER'S GUIDE PAGES 	  following 4-20
                              -iv-

-------
                  TABLE  OF CONTENTS  (continued)

                                                            Page


Appendix A:  MOBILE4 STRUCTURE CHART                         A-l


Appendix B:  MOBILE4 MODULE DICTIONARY                       B-l

     INPUT MODULES	B-2
     PROCESSING MODULES 	  	   B-5
     POINTER FUNCTION MODULES 	  B-10
     OUTPUT MODULES 	  B-12
     BLOCK DATA MODULES	B-14


Appendix C:  MOBILE4 SOURCE CODE LISTING                     C-l

     Source Code Index - Sequential  	   C-i
     Source Code Index - Alphabetical 	   C-iii
                              -v-

-------
                            Chapter 1

                        EXECUTION SUMMARY
1.0   INTRODUCTION
     MOBILE4  is a  computer model  designed to  estimate mobile
source  emission  factors  by  vehicle  type,  calendar  year,  and
region.  The  model  weights  emissions from vehicles  of the last
20 model years  to obtain fleet emissions as of January 1 of the
requested calendar  year.  The emission factors  are  adjusted to
compensate for tampering, speed, temperature, and other factors.

     The  MOBILE4  program's  MAIN  driver   loops  through  three
sections:   input,  calculation,  and  output.   Each  of  these
sections  consists  of  a  set  of  subprograms  (subroutines  and
functions), each of which may in  turn  call  other subprograms to
carry out  their tasks.  Descriptions  of the sections are given
below,  followed  by   comments  on   run  termination  and  data
storage.    The   structure    diagram  and   module   dictionary
(Appendixes  A  and  B,  respectively)  and   the   indexes  to  the
source  code  listing (Appendix C)  should  aid in  following this
discussion.   Note that  all  subprogram  names  are   entirely  in
bold  UPPER  CASE,   and that  the  role of   every subprogram  is
mentioned.
1.1  INPUT

     1.1.1  Purpose

     The input section  of  MOBILE4  is responsible for reading in
values to the program and  preparing the parameters and  data to
be  used  subsequently by the calculation section.   The  section
is  split into  four  subsections:   CONSEC,  ONESEC,  PARSEC  and
REGMOD.   These  subsections  control  subsequent  input  and/or
output (I/O), supply  the one-time  data used for  all  scenarios,
specify  the  individual  scenarios to be  analyzed,  and construct
the travel weighting factors, respectively.

     1.1.2  Description

     On  the  first  pass through  the code,  CONSEC performs  the
control  portion  of  the input  section.   CONSEC  reads  in  the
run title and the  18  control flags.  Depending on the value of
PROMPT,  the  flags will  be  read  in vertically  or  horizontally
(by  routines  GETVER   or   GETHOR,   respectively).   The  flags
dictate  what user  input may be required, how  the  analysis will
be  performed,  and what  output  format  and  content  will  be
printed.
                              1-1

-------
                               1-2
     Next on  the first  pass,  ONESEC will  check  the  flags for
values  indicating that  one-time data  are expected.   The data
are read  in  and screened -for  being within the  ranges expected
by  the  model.    If  there  are  no  errors,  these  values  then
replace  the  corresponding  default   values   stored  in  BLOCK
DATA,  or  specify features which are  only partially initialized
in BLOCK  DATA or not  at all.    Examples  of the first  case are
tampering  rates, registration   (REG)  and mileage  accrual  rate
(MAR)  distributions,  basic emission  rates  (BER),   and  vehicle
miles  travelled  (VMT).   Examples  of  the  second  case  are
Inspection/Maintenance   (I/M)    programs   and   Anti-Tampering
Programs  (ATP).   ONESEC  calls  one or  more of the subroutines
GETTAM,  GETVMT,  GETMRN,  GETERQ,  GETIMP,  GETATP,  GETNAT,  and
RDCITY to  read in tampering rates, VMT  mixes, mileage accrual
rates   and/or  registration   distributions,   alternate   basic
emission rate equations,  I/M program  parameters,  anti-tampering
program  parameters,   refueling  loss  control  parameters,  and
local area parameters,  respectively.

     Some  of  these   subroutines   call   other   routines  for
supportive  purposes.    GETERQ   calls  HDCGPM  and   HDCPIC  to
convert  heavy-duty  vehicle  gram  per  brake  horsepower-hour
emission  rates  to gram per mile  rates,  and calls STOERQ  to
store  emission   rates  in  the  appropriate  MOBILE4  arrays.
GET IMP  uses  GET IMC  whenever    the   user  wishes   to  read  in
alternate  I/M   credits.   Similarly,   GETATP  calls   ATPAER,
CALAER,  and  ENFORC  to  calculate  the   basic   anti-tampering
effectiveness  rates,  the effect of  the  anti-tampering program
on these rates, and the level of enforcement,  respectively.

     PARSEC,   the  third input subsection,  is  repeated  for  each
scenario.  PARSEC  reads in the required parameters  record for
the  scenario   via   GETSC1.     These   parameters    are   region,
calendar  year,   speed,   temperature,    and   hot/cold   start
percentages.    Depending  on  the  values  assigned  to  certain
control flags,  a new VMT mix  can  be entered  via  GETVMT and/or
supplemental  correction  factors for  air  conditioning  usage,
extra  load,  trailer  towing,  and humidity  may also be  read  in
through   GETALH.    Parameters   which   describe   the   local
conditions  of  the  scenario,   such   as   minimum  and  maximum
temperatures,  base  year  and  in-use  (control)  fuel  Reid  Vapor
Pressure  (RVP)  and the  years  of implementation,  are processed
through  the  routine  LOCAL.    LOCAL,  in  turn,   calls  CALTEM
and  CALUDI   to  calculate  exhaust,  evaporative,   and  running
loss  temperatures and  various  uncontrolled  diurnal  emission
rates.   In subsequent passes,  only PARSEC is called for input.

     In  all  subroutines that  read in  values for  years  (e.g.,
program   start   year,    evaluation   year),  including   GETERQ,

-------
                               1-3
GETIMP,  GETNAT  and  RDCITY,   the   routine  YRTEST  is  called
to check if the input is in the allowed range.

     REGMOO  is called  on  the first  pass  and  thereafter  only
when  the calendar  year,  region, or altitude  of  the  scenario
changes.   REGMOD  constructs  the travel weighting  factors  (TF)
from  the registration and  mileage  accrual  rate distributions.
REGMOO  calls  HDDMYM  to  build  the  calendar  year  dependent
HDDV  mileage  distribution,  CEVMPO   to  generate  the miles  per
day   by  model   year   group,   and   TFCALX  to   combine   the
distributions into travel fraction factors.

     Note  that  for  any  input  error  encountered,  QUITER  is
called  to  print out the appropriate  error,  warning, or comment
message(s).  Depending on  the severity of the  error,  execution
of the program may continue or it can be terminated.


1 .2  CALCULATION

     1.2.1  Purpose

     The calculation section  of  MOBILE4 generates the requested
composite  emission  factors.    Emission  factors  corrected  for
non-FTP  conditions  (speed, temperature,  operating  mode,  etc.)
are  computed  for  each  of  the  20  model  years  up  through  the
evaluation year.  These numbers  are  weighted  together  by travel
fractions.  The  resulting  numbers  (one for  each  of  8  vehicle
classes  and  one combined  pair  of  classes)  are the  composite
emission  factors  for  the  requested pollutant(s)  and  calendar
year.  The 8 vehicle class numbers are weighted  together  by the
normalized  fleet  VMT  mix  to  produce  a   single  all-vehicle
emission factor for each pollutant for each  calendar year.

     1.2.2  Description

     The computation of MOBILE4  emission  factors is handled  by
EFCALX.   EFCALX   calls   a   number   of  subprograms,   each  of
which may call  a number  of other subprograms and  so  on.   Each
subprogram performs  a  step or  set  of steps  in  the calculation
algorithm.

     EFCALX  is  called   on   every   pass.    First,   once-per-
scenario  calls  are made  to  assemble the additive  offsets  and
multiplicative  correction  factors   to  be   applied  to   the
subsequently  computed  base  emission  factors.    MOBILE4  uses
multiplicative  and  additive  correction factors to  compensate
for  deviations  from  the  standard  FTP  conditions  (assumed  in
developing  the  base   equation   parameters   hard-coded   in

-------
                               1-4
BLOCK   DATA).    These   calls  are   summarized  in   the  next
paragraph;  the more  complex  cases  of  TAMPER  and  BIGCFX are
then described in more detail.

     GETCUM  figures  the  average  January  1 cumulative  mileage
distribution.    TAMPER   computes   the  FTP-condition  vehicle
tampering  offsets,  including  the  countereffects  of  an  ATP.
REFUEL  calculates the  refueling  loss HC  rates.  RVPEXH  uses
OUTPOL  and  IGRVPT to  assign  the  exhaust  HC  and CO  emission
correction  factors  for fuel  volatility  (RVP)  for  the  first of
three   model  year   groups   (MYG).    BIGCFX   generates   the
adjustments   for   speed,   humidity,   trailer   towing,   air
conditioning, extra load,  temperature, by-bag RVP  effects  (MYG
2   and   3  only),  methane   offsets,   corrected  (for  non-FTP
conditions) tampering offsets, and non-FTP operating mode mix.

     TAMPER   controls   the   tampering-related   group   of   16
subroutines  and   functions,   plus   calls   two  utilities  used
elsewhere  in the  program.   For  each vehicle  class  and model
year  case,  TAMPER  first  sets  the   parameters  affecting  the
calculations,  calling  IMCHEK  at  three points  to  set  the  I/M
keys.    TAMPER   obtains   the  disablement  rates  by  calling
DISATP,  which decides  the  ATP  case and  then  calls  DISIMP,
which for  each disablement class decides the  I/M  case and  then
calls   DISCAL,  which   calculates  the   rate.   TAMPER   calls
EFFGRP  to  compute tampering effects  group sizes via  calls  to
ITAMPT,  TECHO,  C1T07,  C8T012,  A8T011,   ADJ12,   ATPEFF,   and
SETEGS.    Note  that   ATPEFF  is   where  the   anti-tampering
program  effectiveness  rates  are  applied to  reduce  the  sizes.
TAMPER  calls  EMI RAT  to   assign  emission  impact  rates,  using
ITAMPT   again   and   OUTPOL.     TAMPER   calls   BAGEME    to
combine  group  sizes  and  impact  rates  into  by-bag  exhaust
emission  offsets.   Finally,   TAMPER  calls  EVPEME,   and  in
turn  OTCALC and  ITAMPT,   to generate the  crankcase  HC  offset
and the diurnal  and hot  soak HC tampering rates.    The  latter
rates  are  used  to  calculate  the  corresponding  offsets  in
CCEVRT  (see below).

     BIGCFX  calls  a  set  of  BIGxxx  subroutines  to  produce
its  correction factors.   BIGIN1  initializes  parameters to  be
used subsequently by the other BIGxxx  subroutines.  If  the  user
requests   the   "optional"   correction  factors,   then   BIGALH
produces  the  corrections  for  air  conditioning  usage,   extra
loading, trailer towing, and humidity,  calling model  year group
look-up   (pointer)   functions   IGEPTR,    IGLPTR,   IGTPTR   and
IGUPTR.      BIGIN2   assigns   the    vehicle    class-specific
parameters   and   flags,   calling  pointer  function   ISPPTR.
BIGTCF   computes   the   multiplicative  temperature  correction
factor  using ITCPTR and  IEVPTR  and,  in  some  cases,  the  RVP

-------
                               1-5


correction   factor   (via   IGRVPT   and  BIGRVP)   and/or   the
additive  temperature  CO  offset.   BIGSAL calculates  the speed
correction  factor  using  ISPPTR and  combines  the result  with
the  "optional"  correction  factor,  if  the  latter  has  been
computed.   Utililizing  the  operating  mode,  temperature,  and
fuel  volatility   corrections   from  the   prior  calls,  BIGMET
(calling   EXMPTR),   BIGTAM,    and    BIGOMT   (calling    IBFPTR)
compute  the methane  HC offset, the  tampering offset,  and the
operating mode and temperature correction factor,  respectively.

     After  the offsets  and  correction  factors  are  assigned,
EFCALX  checks  whether  or  not  idle emission factors  have  been
requested.   If requested,  they  are computed  via  a  call  to
IDLCAL.    IDLCAL   calls   IGSFPT   for   the  gas/diesel   sales
fraction  and  BEFIDL  for  the  basic   idle  emission  factor.
BEFIDL  calls  PCLEFT  to get  the  I/M  credit  factor,   and  then
either  (i)  calls  IDLPTR  to  obtain the  emission  factor  table
model  year  group pointer   or  (ii)  calls  BEF,  IERPTR  and
IBFPTR  to   compute   the   factor  or  (iii)   solves   a  simple
equation  (with no calls),  depending on  the pollutant,  vehicle
class and model year.

     If  HC  emission  factors  are requested,  EFCALX next  calls
HCCALX  to  produce them.   HCCALX  loops through  each  vehicle
type and model year case,  computing,  correcting, weighting,  and
adding in that case's contribution  to the composite results for
the  calendar year  selected.    IGSFPT provides  the  gas/diesel
sales fraction used  in later  result  checks.  BEF extracts  the
basic  exhaust emission rate  using  IERPTR,  corrects  it   for
operating mode,  temperature,  tampering,  and  methane  offsets,
and  the  impact of an  I/M program  (the  last  via  PCLEFT  and
IMPTR).   HCCALX  applies   the  speed  and  optional  corrections
factor  and  the travel  fraction to  BEF's result.   Light-  and
heavy-duty  gas vehicles'   exhaust  emission  factors  are  also
corrected   for   RVP.    CCEVRT   returns  the   evaporative   HC
emission   factor   using    IEVPTR,   and  including   hot   soak
(HOTSOK),   diurnal   (DIURNL),   and  crankcase   (CRANKC)   HC,
weighted  by  trips per  day  and  miles  per day.   HOTSOK  and
DIURNL  each   call  EVMAIN  which   calculates   the   requested
component through  a  series  of calls  to EVPRE,  EVSTD,  EVHI,
EV81, EV85,  EVUNC or EVCERT,  depending  on  an  equation  group
key,  vehicle  type,   and   the   applicable   emission   standard.
RULOSS  provides  the   running   loss  HC  emission   factor  using
IRULPT.    The refueling  loss  HC emission factor  is  looked  up
in the previously calculated table.   Both the component  and  the
total HC emission factors  are  saved for  subsequent  output.

     If CO  and/or  NOx  emission factors  are requested,  EFCALX
next loops through each pollutant,  vehicle type and model  year

-------
                               1-6
case,  computing,  correcting,  weighting,   and  adding  in  that
case's  contribution to  the  composite results  for  the calendar
year  selected.   IGSFPT provides  the gas/diesel  sales  fraction
used  in  later results  checks.   BEF extracts the basic exhaust
emission  rate using  IERPTR,   corrects  it  for  operating  mode,
temperature,  tampering  and CO offsets,  and the impact of an I/M
program  (the  last  via  PCLEFT  and  IMPTR).   EFCALX  applies
the  speed  and  optional  corrections  factor  and  the  travel
fraction to BEF's result.

     After  all  reguested emission  factors  have  been  computed,
control   is   transferred   to   OUTPUT   unless   errors   have
occurred.  The user  is  notified of the nature  of  the  errors  by
a call or calls to QUITER.
1.3  OUTPUT

     1.3.1  Purpose

     On  every  successful  (no  input  or  calculation  errors)
scenario  pass,  OUTPUT  routes  the  results  to the  report  unit,
using  the format  chosen  by  the  user   via  the  OUTFMT  flag.
Each number  (#)  of  the four possible format options has its own
branch   in  OUTPUT,   to   subroutines    labelled   OUTHD#   and
OUTDT#.   Called  only  on   the  first  pass,  OUTHDtf echoes  the
run  title via  OUTHDR,  and the  field  headers  (if  a  numeric
format)  or  information  pertaining  to  all  scenarios  (if  a
descriptive format).

     Formats 1 and 2 are the numeric  formats.  Data written out
via  formats  1  or 2  are easily read  back into  post-processors.
No narrative is  included  in  the  output,  aside  from  the  run
title  and  the   field  descriptors  at the  top  of  the  output.
Formats 3 and 4 are descriptive formats,  intended  for  hard-copy
reports.  Run and scenario  parameter  information is echoed out,
and  field  descriptors  are   supplied   for  each   scenario.
Depending  on  the  control   flag  settings,  OUTHD3  or  OUTHD4
can  call  OUTTAM,  OUTNEW,   OUTIMP,  OUTATP,  OUTLAP,   OUTMTH,
and/or  USDPTR  to  print  out  user-supplied  tampering  rates,
user-supplied  basic  emission  rates,  I/M  program  parameters,
anti-tampering  program  parameters,  user-supplied  local  area
parameters,  total or  non-methane HC  values,  and  user-supplied
data  names,   respectively.  When  producing these  outputs,  the
routine OUTPOL  is  called  to  select which pollutant's  values
are to be printed.

-------
                            Chapter  2

            MOBILE4 ON  PERSONAL  COMPUTERS  AND NCC-IBM
2.0  INTRODUCTION

     This  chapter  discusses  the porting  of  MOBILE4  from  the
mainframe   environment   to   IBM  and  Macintosh   II   personal
computers,  the  running  of  MOBILE4  on  those  systems,  and  the
running of  MOBILE4  on the  National  Computing Center  (NCC)  IBM
computer.    Section  2.1  details the  code  changes  that  were
required  in order to port  MOBILE4  to  the IBM PC,  section  2.2
discusses  running MOBILE4   on   the  IBM  PC,  and  section  2.3
provides  similar  information   pertinent   to  MOBILE4   on  the
Macintosh  II  computer.   Section  2.4  discusses  accessing  and
running MOBILE4 on the NCC IBM.


2.1  PORTING MOBILE4 TO THE  IBM PC
     The  process  of  porting  the  MOBILE4  program  to  the  IBM
personal  computer  reguired a number  of  code  changes.    The
majority  of  these changes  were  necessitated by  limitations  on
the  size  of   individual  code  segments  imposed  by  many  IBM
FORTRAN compilers.

     To  reduce the  storage requirements  of  the program,  all
comments  from  the Release MOBILE4  source  code should  first  be
deleted.

     The  remaining  code changes are  detailed on  the  following
pages.   Each  block  of  code that  requires  revision   is  first
listed  under  a heading identifying the module (or  section)  of
the program in which it is located.  This block  is shown twice,
first as  it  appears in the mainframe version  of  MOBILE4 (under
the  heading  "From:"), then  as it  appears  after  the  required
changes have been made (under the heading "To:").

     The  equal  sign ( = )  preceding  some of the  lines  indicates
those  lines   that do  not  require  revision.    Thus  they  are
identical  in  the "From"  and  "To"  blocks,   and  can be  used  as
reference points.   The lack of a preceding  equal  sign  indicates
that a revision (alteration, deletion,  or addition) is  required.

     A blank line in  the  "From"  block indicates the location of
a line  that must  be added to  the  program.   Similarly,  a  blank
line  in the  "To"  section indicates the location of  a  line that
                              2-1

-------
                               2-2
must be  deleted.   In the  remaining cases where  no equal  sign
precedes  the  line,  comparison  of  the  line  in  the "From"  and
"To" sections reveals the alterations required to that  line.

     An  effort  was  made  to keep  the  required  changes  to  a
minimum.  For  example,   in the second  set  of changes  shown on
page 2-3,  which  are to be  made  in the  MAIN  section of  the
program,  the second through  fifth  lines  shown  maintain  the
order  of  the variable   array  names,  deleting some characters
(e.g.,  COMMON /RUNLS2/  from line  3 of the  block)  and  adding a
few others  (e.g,  the comma as  the  last  character  of line 2 of
the block).

     Using  these  guidelines,  the  changes   shown  on pages  2-3
through 2-26 should  all  be made.   When these changes have  been
completed,  copy the  revised code onto PC diskettes  and use  the
instructions in section 2.2 of  this document.

-------
SECTION: MAIN
From:
To:
SECTION: MAIN
From:
To:
                                      2-3
 CHARACTERS NAMFLG.NAMMMR
 CHARACTERS USNAME
 CHARACTERS NAMRVP, NAMETH , NAMTEM
 CHARACTERS NOYES,COMMA, PER I OD
 CHARACTERS I MNAME, PROJ I D, SCNAME
 CHARACTER*! ASTMCL,ACLASS
 CHARACTER*! COLON
 INTEGER PROMPT,TAMFLG,SPDFLG,VMFLAG

 CHARACTER*8 NAMFLG.NAMMMR

 CHARACTERS NAMRVP, NAMETH, NAMTEM

 CHARACTERS I MNAME, PROJ I D, SCNAME
 CHARACTER*! ASTMCL,ACLASS

 INTEGER PROMPT,TAMFLG,SPDFLG,VMFLAG
 COMMON /RLCOM3/ RLRATE(20,^)
 COMMON /RUNLS1/ TLVMTU3) .TLEMI (13, k, k, k,k) .MAXTL
 COMMON /RUNLS2/ TLCAN(13,k,k).TLCAP (13,k,k)
 COMMON /RUNLS3/ RULBAS (k,k,k,k).RULCAN (k,k).RULCAP (k,k)
 COMMON /RUNLSV MYGRUL (
-------
                                      2-1*

SECTION: MAIN
From:
                 COMMON  /SIZPAR/ NTERMS (k),INDXCS(5,k)
                 COMMON  /STRING/ NOYES (2) ,COMMA,PER IOD,COLON
                 COMMON  /TAMEQ1/ TAMZML (9,J»,2, 2) ,TAMDR (9, k, 3, 2) ,MYGTAM (k) , I GT5, F50K
To:
                 COMMON  /SIZPAR/ NTERMS(k),INDXCS(5,4)

                 COMMON  /TAMEQ1/ TAMZML (9,4,2,2),TAMDR(9,4,3,2) .MYGTAM(4),IGT5,F50K

SECTION: MAIN
From:
                 COMMON  /TPDCOM/ TPDCO(2,8)
                 COMMON  /USDATA/ USNAME(k,k) ,NUSD,I USD(k)
                 COMMON  /VMXCOM/ REGMIX (8) .TFNORM (8) ,VMTMIX (8)
                 COMMON  /YEARSV IY1941,IY1960,IY2020


                 INERR=0
To:
                 COMMON  /TPDCOM/ TPDCO(2,8)
                 COMMON  /USDATA/ NUSD,I USD (k)
                 COMMON  /VMXCOM/ REGMIX (8),TFNORM(8),VMTMIX(8)

                 OPEN(IOUGEN,FILE='Mi*INPUT', ' STATUS='OLD ')
                 OPEN(IOUREP,FILE='M40UTPUTI,'STATUS-'NEW')
                 INERR=0

-------
                                     2-5

SECTION:  SUBROUTINE QUITER
From:
                COMMON /QUITXQ/ N1QUIT
                COMMON /YEARS'*/ I Y 1 Sk], I Y1960, I Y2020
                INTEGER ATPFQT, ATPPGM
To:
                COMMON /QUITXQ/ N1QUIT

                INTEGER ATPFQT, ATPPGM

SECTION:  SUBROUTINE QUITER
From:
                CHARACTER*13 NAMTMP (7)

                DATA NAMEFF/'L','H'/
To:
                CHARACTER*13 NAMTMP (7)
                DATA IY191*!, IY1960, I Y2020/1941 , I960, 2020/
                DATA NAMEFF/'L1,'H1/

-------
                                      2-6

SECTION: SUBROUTINE GETVER
From:
                CHARACTERS  NAMRVP
                CHARACTERS  NOYES , COMMA, PER I OD
                CHARACTER*!  COLON
To:
                CHARACTERS  NAMRVP

                CHARACTER*!  COLON

SECTION: SUBROUTINE GETVER
From:
                COMMON /NAMES 1/  NAMFLG (16),NAMMMR(2,2,8),NAMRVP(4)
                COMMON /STRING/  NOYES (2),COMMA,PERIOD,COLON
                INTEGER  FLGERR

                IF (PROMPT.EQ.2)  WRITE (IOUASK,200)NAMFLG(1) ,COLON
To:
                COMMON /NAMES!/  NAMFLG (16) , NAMMMR (2, 2,8) .NAMRVP (Ji)

                INTEGER  FLGERR
                DATA COLON/1:'/
                IF (PROMPT.EQ.2)  WRITE (IOUASK,200)NAMFLG(1) ,COLON

-------
                                      2-7
SECTION:
From:
To:
SUBROUTINE GETERQ
COMMON /IOUCOM/  IOUIMD
COMMON /YEARSV  IY19*»1
IF (PROMPT.EQ.2)
                                         OUGEN,IOUREP,
                                 lYigJ*!, IY1960, IY2020
                                 WRITE (IOUASK.200)
                                             IOUERR,IOUASK
                COMMON /IOUCOM/  IOUIMD,IOUGEN,IOUREP,IOUERR,
                DATA  IY1941,IY1960,IY2020/1941,19&0,2020/
                IF (PROMPT.EQ.2)  WRITE(IOUASK,200)
                                                    IOUASK

-------
                                     2-8
SECTION:
From:
To:
SUBROUTINE YRTEST
NERR, IY1,
  I Y1960,
       SUBROUTINE YRTEST ( I Y
       COMMON /YEARSV I Yl
       I I=IY+1900
       SUBROUTINE YRTEST (I Y.NERR, IY1,
       DATA I Y 1 9^ 1 , I Y 1 960 , I Y2020/ 1 94 1
       I 1 = 1 Y+ 1900
                                               IY2, INERR)
                                               I Y2020
                                               Y2, INERR)
                                               1 960 , 2020/

-------
                                     2-9

SECTION: SUBROUTINE GETIMP
From:
                COMMON /IOUCOM/ IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK
                COMMON /YEARSV I Yiglfl , I Y19&0, I Y2020
                NLIM=0
To:
                COMMON /IOUCOM/ IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK
                DATA IY19AUY1960, I Y2020/191* U960,20207
                NLIM=0

-------
                                     2-10

SECTION: SUBROUTINE GETIMC
From:
                 IF (NONUDA.EQ.2) GOTO 60

                 READ(IOUIMD,100,END=70,ERR=80) NL I M
To:
                 IF (NONUDA.EQ.2) GOTO 60
                 OPEN(IOUIMD,FILE='MlilMC' , ' STATUS='OLD'
                 READdOUIMD, 100, END=70, ERR=80) NL I M

-------
                                     2-11
SECTION:
From:
To:
SUBROUTINE GETATP
                COMMON /IOUCOM/  IOUIMD,IOUGEN,IOUREP,
                COMMON /YEARSV  I Y19U 1, I Y19&0, I Y2020
                IF (PROMPT.EQ.2) WRITE(IOUASK.200)
                                             IOUERR,IOUASK
                COMMON /IOUCOM/  IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK
                DATA  IY19l»l,IYig60, I Y2020/19^1,1960,2020/
                IF (PROMPT.EQ.2) WRITE(IOUASK,200)

-------
                                      2-12
SECTION:
From:
SUBROUTINE WTLRUL
To:
       COMMON /IOUCOM/  IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK
       COMMON /RUNLS1/ TLVMT (1 3) ,TLEMI (13, 4,4,4, k) ,MAXTL
       COMMON /RUNLS2/ TLCAN (1 3,4, U) .TLCAP (1 3,4, k)
       COMMON /RUNLS3/ RULBAS (4,4,4,k).RULCAN(k, k) .RULCAP (k,4)
       COMMON /RUNLS4/ MYGRUL (4,4) .MAXRUL

       DIMENSION VMTFRC(3)

       COMMON /IOUCOM/  IOU I MD,IOUGEN,IOUREP,IOUERR, I OUASK
       COMMON /RUNLS1/ TLVMT(13).TLEMI (13,^,4,^,4).MAXTL,
      >v TLCAN(13,4,4) ,TLCAP (1 3,4,4) ,
      * RULBAS (4,4,4,4) ,RULCAN (4,4) ,RULCAP(4,4) ,
      ft MYGRUL(4,4),MAXRUL,
      * RULRVP(4) ,RULTEM(4)
       DIMENSION VMTFRC(3)

-------
                                      2-13

SECTION: SUBROUTINE GETNAT
From:
                COMMON /RLCOM2/  IOBMY,IVOB(It),IS2SY.NPHASE.S2EFF(k)
                COMMON /YEARS**/  IY1941,IY19&0,IY2020
                DATA LOWVYR/1989/
To:
                COMMON /RLCOM2/  IOBMY,IVOB(k),IS2SY.NPHASE,S2EFF (k)
                DATA IY1941,IY1960,IY2020/1941,I960,2020/
                DATA LOWVYR/1989/

-------
                                      2-\k

SECTION: SUBROUTINE RDCITY
From:
                COMMON /TEMPS/  AMBT.TEMMIN.TEMMAX.TEMEXH(3).TEMEVP (6) ,TEMAST (3)
                COMMON /YEARSV I Y19M , I Y19&0, I Y2020
                DATA UBETH/0.50/.UBMETH/0.100001/.LOWUYR/1970/
To:
                COMMON /TEMPS/  AMBT.TEMMIN.TEMMAX.TEMEXH(3),TEMEVP(6) .TEMAST (3)
                DATA  IY19^1,IY1960,IY2020/19^1,19&0.2020/
                DATA UBETH/0.50/.UBMETH/0.100001/.LOWUYR/1970/

-------
                                      2-15

SECTION: SUBROUTINE GETSC1
From:
                COMMON /TEMPS/   AMBT.TEMMIN.TEMMAX.TEMEXH (3) .TEMEVP(6) .TEMAST (3)
                COMMON /YEARS4/  I Y iglfl, I YigGO, IY2020
                IF (SPDFLG.EQ.2)  GOTO  20
To:
                COMMON /TEMPS/   AMBT.TEMMIN,TEMMAX,TEMEXH (3).TEMEVP(6).TEMAST (3)
                DATA  IY1941, IY1960, IY2020/19iil , 1960.2020/
                IF (SPDFLG.EQ.2)  GOTO  20

-------
                                      2-16

SECTION: FUNCTION RULOSS
From:
                 COMMON  /RVPNAT/ ICERSY.RVPCER.RVPLIM(2),RVPDIU(2),PFUL,EI NCR
                 COMMON  /RUNLS3/ RULBAS (4,4, 4,4) .RULCAN (it,4) .RULCAP (4, 4)
                 COMMON  /RUNLS5/ RULRVP(4).RULTEM(4)
                 COMMON  /TAMOUT/ 'TAMBAG (3, 3, 20,4) ,THS(2,20,4) ,TDU(20,4) ,TCC(20,4)
To:
                 COMMON  /RVPNAT/ ICERSY.RVPCER.RVPLIM(2),RVPDIU(2),PFUL,EI NCR
                 COMMON  /RUNLS1/ TLVMT (13),TLEMI (13,4,4,k,k) .MAXTL,
                * TLCAN(13,^,M ,TLCAP(13,4,lt) ,
                'V RULBAS (k,k,k,k) , RULCAN (4,4) ,RULCAP (k, k) ,
                * MYGRUL(4,4).MAXRUL,
                * RULRVP (4) , RULTEM (4)
                 COMMON  /TAMOUT/ TAMBAG (3,3.20,4),THS (2,20,4),TDU(20,4),TCC (20,4)

-------
                                      2-17
SECTION:
From:
         FUNCTION IRULPT
                FUNCTION  IRULPT (MY, IVTL)
                COMMON /RUNLS4/ MYGRUL (4,4) .MAXRUL
To:
                DO 10  IGTL=1, MAXRUL

                FUNCTION  IRULPT (MY, IVTL)
                COMMON /RUNLS1/ TLVMT (1 3)
                 TLCAN(13,4,4) ,TLCAP(13,4
                 RULBAS(4,4,4,4) ,RULCAN(4
                 MYGRUL (4 ,4) .MAXRUL,
                 RULRVP(4) ,RULTEM(4)
                DO 10  I GTL=1, MAXRUL
                                          TLEMI (1 3,4,4,4, 4) .MAXTL,
                                          4) ,
                                          4) ,RULCAP(4,4) ,

-------
                                     2-18

SECTION: SUBROUTINE OUTNEW
From:
                SUBROUTINE OUTNEW
                CHARACTER*** NOYES , COMMA,PERI OD
                CHARACTER*! COLON
                COMMON /BASEQ3/ NEWVEH.NEWMYF,NEWMYL,ZMLNEW,DRNEW,KINKS
To:
                SUBROUTINE OUTNEW
                CHARACTER*!* NOYES (2)

                COMMON /BASEQ3/ NEWVEH.NEWMYF,NEWMYL,ZMLNEW,DRNEW,KlNKS

SECTION: SUBROUTINE OUTNEW
From:
                COMMON /IOUCOM/ IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK
                COMMON /STRING/ NOYES (2),COMMA,PERIOD,COLON
                WRITE(IOUREP,210)
To:
                COMMON /IOUCOM/ IOUIMD,IOUGEN,IOUREP,IOUERR, I OUASK
                DATA NOYES/'No  ','Yes  '/
                WRITE(IOUREP,210)

-------
                                      2-19

SECTION: SUBROUTINE OUTIMP
From:
                CHARACTER*!*  IMNAME
                CHARACTER*!*  NOYES,COMMA,PERIOD
                CHARACTER*!  COLON
                COMMON /IMPAR1/  ICYIM,ISTRIN.MODYR1,MODYR2,WAIVER(2),CRIM
To:
                CHARACTER***  IMNAME
                CHARACTER*!*  NOYES (2)

                COMMON /IMPAR1/  ICYIM,ISTRIN.MODYR1.MODYR2,WAIVER(2),CRIM

SECTION: SUBROUTINE OUTIMP
From:
                COMMON /IOUCOM/  IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK
                COMMON /STRING/  NOYES(2),COMMA,PERIOD,COLON
                CHARACTER*!*  TFREQ (2, 2) ,TI NTYP (7, 3) ,TTYPE (!*, 3)
To:
                COMMON /IOUCOM/  IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK

                CHARACTER*!*  TFREQ (2,2) ,TI NTYP (7, 3) .TTYPE (4, 3)

SECTION: SUBROUTINE OUTIMP
From:
               3             'Manu'.'al  d1,'ecen','tral','ized1,'     ','    '/

                WAIVER(1)=WAIVER(1)*100.
To:
               3             'Manu'.'al  d','ecen','tral1,'ized1,'     ','    '/
                DATA NOYES/'No   ','Yes  '/
                WAIVER(1)=WAIVER(1)*100.

-------
                                      2-20

SECTION: SUBROUTINE OUTATP
From:
                SUBROUTINE OUTATP
                CHARACTER*!* NOYES, COMMA, PER I OD
                CHARACTER*! COLON
                INTEGER ATPPGM.ATPFQT.DISTYP
To:
                SUBROUTINE OUTATP
                CHARACTERS NOYES (2) , COMMA

                INTEGER ATPPGM.ATPFQT.DISTYP

SECTION: SUBROUTINE OUTATP
From:
                COMMON /IOUCOM/  IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK
                COMMON /STRING/  NOYES (2),COMMA,PERIOD,COLON
                CHARACTER*8 VNAME (U) , FQT (2)
To:
                COMMON /IOUCOM/  IOUIMD,IOUGEN,IOUREP,IOUERR, I OUASK

                CHARACTER*8 VNAME(k),FQT(2)

SECTION: SUBROUTINE OUTATP
From:
                DATA  FQT /'Annual   ','Biennial1/
                WRITE  (IOUREP.200)  LAPSY,LAP1ST.LAPLST
To:
                DATA  FQT  /'Annual   ','Biennial1/
                DATA  NOYES/'No   ','Yes  '/
                DATA  COMMA/',    '/
                WRITE  (IOUREP.200)  LAPSY,LAP1ST.LAPLST

-------
                                     2-21
SECTION:
From:
SUBROUTINE USDPTR
To:
       INTEGER ALHFLG
       CHARACTER*8 USNAME
       COMMON /FLAGS1/ PROMPT,TAMFLG.SPDFLG,VMFLAG
       COMMON /FLAGS2/ MYMRFG.NEWFLG,IMFLAG,ALHFLG
       COMMON /USDATA/ USNAME (k,k),NUSD,I USD (4)
       IF (TAMFLG.EQ.l.AND.NEWFLG.EQ.1.AND.MYMRFG.EQ.1) GOTO 99

       INTEGER ALHFLG

       COMMON /FLAGS]/ PROMPT,TAMFLG.SPDFLG,VMFLAG
       COMMON /FLAGS2/ MYMRFG.NEWFLG,IMFLAG,ALHFLG
       COMMON /USDATA/ NUSD,I USD (U)
       IF(TAMFLG.EQ.l.AND.NEWFLG.EQ.1.AND.MYMRFG.EQ.l) GOTO 99

-------
                                      2-22

SECTION: SUBROUTINE OUTDT3
From:
                INTEGER PRTFLG.HCFLAG
                CHARACTER'S USNAME
                CHARACTER*** NOYES,COMMA,PERIOD
                CHARACTER*! COLON
                COMMON /ALUHIN/ AC.XLOAD (3),TRAILR (3),ABSHUM.DB.WB
To:
                INTEGER PRTFLG.HCFLAG
                CHARACTERS USNAME (k, k)
                CHARACTER*!* NOYES (2) , COMMA, PERI OD

                COMMON /ALUHIN/ AC.XLOAD (3),TRAILR (3),ABSHUM,DB.WB

SECTION: SUBROUTINE OUTDT3
From:
                COMMON /SCENE1/ SPD (8),PCCN.PCHC,PCCC
                COMMON /STRING/ NOYES (2),COMMA,PERIOD,COLON
                COMMON /TEMPS/  AMBT.TEMMIN.TEMMAX.TEMEXH(3).TEMEVP(6).TEMAST(3)
                COMMON /USDATA/ USNAME(k,U),NUSD,I USD(k)
                COMMON /VMXCOM/ REGMIX(8) .TFNORM(8) ,VMTMIX (8)
To:
                COMMON /SCENE1/ SPD (8),PCCN,PCHC,PCCC

                COMMON /TEMPS/  AMBT.TEMMIN.TEMMAX.TEMEXH (3),TEMEVP(6),TEMAST(3)
                COMMON /USDATA/ NUSD,I USD (k)
                COMMON /VMXCOM/ REGMIX (8),TFNORM (8),VMTMIX(8)

SECTION: SUBROUTINE OUTDT3
From:
                DATA NAMEVP/'Hot  Soak  ','Diurnal   ','Multiple ','Crankcase'/
                CALL OUTPOL(IP1, IP2)
To:
                DATA NAMEVP/'Hot  Soak  ','Diurnal   '.'Multiple ','Crankcase1/
                DATA NOYES/'No   ','Yes  '/
                DATA COMMA/',    '/,PERIOD/1.    '/
                DATA USNAME/' tamperi'.'ng  and  m','isfuelin','g rates ',
               *             '   basic  ','exhaust ','emission1,'s rates ',
               *             '   mileag'.'e accrua','1  distri','butions ',
               *             ' veh reg','istratio','n  distri','butions '/
                CALL OUTPOLOP1, I P2)

-------
                                     2-23

SECTION: SUBROUTINE OUTDU
From:
                INTEGER PRTFLG.HCFLAG
                CHARACTER'S USNAME
                CHARACTERS NOYES, COMMA, PER I OD
                CHARACTER*] COLON
                COMMON /ALUHIN/ AC.XLOAD (3) ,TRA I LR (3) , ABSHUM.DB.WB
To:
                INTEGER PRTFLG.HCFLAG
                CHARACTERS USNAME (k , k)
                CHARACTERS NOYES (2) , COMMA, PERI OD

                COMMON /ALUHIN/ AC.XLOAD (3) ,TRA I LR (3) , ABSHUM.DB.WB

SECTION: SUBROUTINE OUTDTl*
From:
                COMMON /SCENE1/ SPD (8) ,PCCN, PCHC, PCCC
                COMMON /STRING/ NOYES (2) , COMMA, PERI OD , COLON
                COMMON /TEMPS/  AMBT.TEMMI N.TEMMAX.TEMEXH (3) .TEMEVP (6) .TEMAST (3)
                COMMON /USDATA/ USNAME (k, 4) ,NUSD, I USD (k)
                COMMON /VMXCOM/ REGMI X (8) .TFNORM (8) , VMTMI X (8)
To:
                COMMON /SCENE1/ SPD (8) , PCCN , PCHC, PCCC

                COMMON /TEMPS/  AMBT.TEMMI N.TEMMAX.TEMEXH (3) , TEMEVP (6) , TEMAST (3)
                COMMON /USDATA/ NUSD, I USD (k)
                COMMON /VMXCOM/ REGMI X (8) , TFNORM (8) , VMTMI X (8)
SECTION: SUBROUTINE OUTDU
From:
                DATA NAMNMH/1 Total
                                        'No-Mth
To:
                CALL OUTPOL(IP1,IP2)

                DATA NAMNMH/ 'Total
                                       ,'No-Mth   '/
                DATA NOYES/'No   ' , 'Yes  '/
                DATA COMMA/',    '/.PERIOD/1.    '/
                DATA USNAME/' tamper i ',' ng and  m1 , ' i sfuel in1 , 'g  rates
                                      '
               *             '  mileag'
               *             ' veh  reg'
                CALL OUTPOKlPl, IP2)
                               basic  ', 'exhaust  ' , 'emi ssion1 , ' s rates
                                        'e  accrua'.'l  distr i ' , 'butions ',
                                        ' istratio' , 'n  distr i ', 'but ions '/

-------
                                     2-2k

SECTION: BLOCK DATA BD16
From:
                COMMON /QUITXQ/ N1QUIT
                COMMON /YEARS'*/ IY1941,IY19&0,IY2020
                DATA  IOUIMD, IOUGEN, IOUREP, IOUERR, I OUASKA.5, 3*6/
                DATA  IVPTRL/1,2,3,0,4,5,0,6/
To:
                COMMON /QUITXQ/ N1QUIT

                DATA  IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASKA.5,6,2*0/
                DATA  IVPTRL/1,2,3,0,4,5,0,6/

SECTION: BLOCK DATA BD16
From:
                DATA  N1QUIT/1/
                DATA  I Y191*! , IY1960, IY2020/1941 , 1960.2020/
                END
To:
                DATA  Ml QUIT/1/

                END

-------
                                     2-25

SECTION: BLOCK DATA BD24
From:
                CHARACTER*8 NAMFLG.NAMMMR
                CHARACTER*8 USNAME
                CHARACTER*4 NAMRVP,NAMETH.NAMTEM
                CHARACTER*4 NOYES,COMMA,PER IOD
                CHARACTER*! COLON
                COMMON /NAMES!/ NAMFLG(16).NAMMMR(2,2,8).NAMRVP(4)
                COMMON /NAMES2/ NAMETH (2) .NAMTEM (2)
                COMMON /STRING/ NOYES (2),COMMA,PER IOD,COLON
                COMMON /USDATA/ USNAME (4,4),NUSD,I USD(4)
                DATA NAMFLG/
To:
                CHARACTER*8 NAMFLG,NAMMMR

                CHARACTER*!* NAMRVP, NAMETH,NAMTEM
                COMMON /NAMESI/ NAMFLG(16).NAMMMR(2,2,8) .NAMRVP (4)
                COMMON /NAMES2/ NAMETH (2).NAMTEM (2)
                COMMON /USDATA/ NUSD,IUSD(4)

                DATA NAMFLG/

SECTION: BLOCK DATA BD24
From:
                DATA NAMETH/1 eth','meth'/.NAMTEM/'mini','max!'/
                DATA NOYES/'No  ','Yes  '/
                DATA COMMA/',   '/.PERIOD/1.    '/.COLON/':'/
                DATA USNAME/' tamperi','ng and m1,'isfuelin','g rates
               *             '  basic  ','exhaust  ','emission','s rates
               *             '  mileag'.'e  accrua','1 distri','butions
               *             ' veh  reg1,'istratio1,'n distri','butions
                DATA NUSD,IUSD/5*0/
To:
                DATA NAMETH/' eth','methV,NAMTEM/'mini','maxi'/
                DATA NUSD,IUSD/5*0/

-------
                                      2-26

SECTION: BLOCK DATA BD34
From:
                BLOCK DATA  BD34
                COMMON /RUNLS1/ TLVMT (1 3) .TLEMI (1 3, 4,4, 4, 4) .MAXTL
                COMMON /RUNLS2/ TLCAN (1 3,4,4) ,TLCAP (13,4,4)
                COMMON /RUNLS3/ RULBAS (4,4,4,4) .RULCAN(4,4).RULCAP (4,4)
                COMMON /RUNLS4/ MYGRUL (4,4) ,MAXRUL
                COMMON /RUNLS5/ RULRVP (4),RULTEM(4)
                DIMENSION
To:
                BLOCK  DATA  BD34
                COMMON  /RUNLS1/  TLVMT (13),TLEMI (13,4,4,4,4),MAXTL,
               * TLCAN(13,4,4) ,TLCAP(13,4,4) ,
               * RULBAS(4,4,4,4) ,RULCAN(4,4) ,RULCAP(4,4) ,

               * MYGRUL (4,4).MAXRUL,
               * RULRVP (4) ,RULTEM(4)
                DIMENSION

-------
                              2-27
2.2  RUNNING MOBILE4 ON THE IBM PERSONAL COMPUTER

     EPA has distributed copies of the PC  version  of MOBILE4 to
all  EPA  Regional  Offices  and  a  number  of  other  parties,
accompanied by  a  two-page instruction  sheet  for  loading  and
running  the  program.   This  section  essentially  repeats  that
material, and  is  applicable  for  those who  used  the  procedure
detailed  in  section  2.1  to  create  a   PC  version  from  the
mainframe tape version of MOBILE4.

     The  PC  version  was distributed   on  a  set   of   three
diskettes.  (The  entire  set of files can  also  be  recorded onto
a  single high-density diskette.)   These  three 360K  diskettes
contained a modified  version  of  Release MOBILE4 that can  be
loaded to and run on  an  IBM-PC (either XT  or AT,  or clones).
The  diskettes contained  the  modified  source  code,  executable
(object)  code,   User's  Guide  example  input  files,   and  the
alternate high-altitude  area  I/M  credit  file.  The executable
code was  compiled and linked using  the Microsoft FORTRAN 4.01
package.  Compiler options  were set  so that a math co-processor
will be used if present in the computer.

     The  storage  required  for  the  executable code  is  larger
than 360K,  therefore  the  DOS  command BACKUP  was  used to  save
the files on  the  disks.   The  DOS  command  RESTORE  will be  used
to place the  files on  your hard disk system.   Before beginning,
however,  check  to   ensure that  approximately  1000K  of   free
memory  space  is  available on  your  hard disk system.   Next,
follow steps 1 to  6  below to  load the files onto  your machine.
(If using a single high-density diskette,  follow  steps 1  to  4
only.)

     (Note:   All  DOS  commands  are indicated by boldface.)

     1)    Create a directory  on your hard Drive C:
           using  this command:   MD MOBILE4
     2)    Change the active directory using this command:
           CD MOBILE4
     3)    Place  Disk ttl  in Drive B:
     4)    Type this  command:   RESTORE B:  C:*.*
           and then follow the prompts
     5)    When prompted,  place Disk  #2 in Drive B:
     6)    When prompted,  place Disk  #3 in Drive B:

     When the RESTORE is  completed, the following  19 files  will
reside  in the MOBILE4 directory:

                          Source files

            SI.FOR     S2.FOR     S3.FOR     S4.FOR
            S5.FOR     S6.FOR     S7.FOR     S8.FOR

-------
                              2-28
Compile and Link batch files

COMPIT.BAT        LINKIT.BAT
                                     Executable file

                                       MOBILE4.EXE
User's Guide example input files
EX1A.DAT
EX1D.DAT
EX1B.DAT
EX2.DAT
EX4.DAT
EX1C.DAT
EX3.DAT
High-altitude alternate
	I/M credits file

      IMCHI.DAT
     The modified source  code  is  supplied over eight (8) files,
each occupying less than 64K of memory space.   Most  IBM FORTRAN
compilers  cannot  process  code segments  larger  than  64K.   To
reduce  the storage  requirements  of the  program, all  comments
from the Release MOBILE4 source code have been removed.

     The two batch  files  COMPIT.BAT and  LINKIT.BAT are included
to show how the executable file was  created  using the Microsoft
FORTRAN  package.    These  files  contain   the Microsoft  FORTRAN
Compiler and Linker command options used  to  produce  the MOBILE4
executable file MOBILE4.EXE.   A brief summary  of these options
is given  here.  For  a much  more  detailed  discussion of  the
options, please refer to your  FORTRAN User's Guide.

     The   compiler   command   stream  in  the  file   COMPIT.BAT
consists of the line:

fl  /FPc  /Od  /AH  /c  S*.FOR

     The options selections shown  have the following  meanings:

fl     invokes the FORTRAN compiler.
/FPc   instructs the  Compiler  to  generate calls  such that  if  a
       math coprocessor is present,  it will be used  to  speed up
       floating point calculations.
/Od    tells  the  Compiler  not to  perform  code  optimization.
       (Tests showed that MOBILE4 did  not run properly when the
       code was optimized.)
/AH    tells the Compiler to  use the  Huge Memory Model.   This
       memory  model  allows arrays  to be  greater than 64K  in
       size.    At  present, the  arrays in  MOBILE4 are  all  less
       than 64K.  However,  user modifications  to the  code  can
       quickly cause this array size limitation to be exceeded,
       thus requiring the Huge  option.   In  addition,  different
       versions of   the  Microsoft  FORTRAN  compiler  sometimes

-------
                              2-29


       failed  with the  smaller  Large  Memory Model.   Thus for
       safety,  the Huge option  is  recommended  for  compiling
       MOBILE4.
/c     instructs the Compiler  to perform  just  the  compilation,
       not  the   compiler-and-link  operation  (which   is  the
       default).

Finally,  the  S*.FOR instructs the compiler  to  use  all  source
files  beginning  with  S  and ending  with  .FOR.   MOBILE4  is
supplied  as  eight source  code   files  named  S1.FOR,   S2.FOR,
... ,   S8.FOR.   The Compiler  will  automatically  generate files
named SI.OBJ,  S2.OBJ,  etc. from these files.
     The  Linker  command  stream  in  LINKIT.BAT  consists  of  the
line:

Ii nk /SE:300 S1.OBJ+S2.OBJ+S3.OBJ+S4.OBJ+S5.OBJ+S6.OBJ+S7.OBJ +
             S8.0BJ,MOBILE4;

     The options selections given have the following meanings:

link       invokes the FORTRAN linker.
/SE:300    tells  the  Linker that  there  are approximately  300
           code segments  in the compiled  MOBILE4 program.   The
           Linker's default number of 128  segments  is  too small
           for proper linkage, thus  requiring this  option.   The
           value  of  300  is  slightly larger  than  is  necessary
           for proper running  of the program and provides  room
           for user modification.
S1.OBJ+...+S8.0BJ   tells the Linker to use these eight files
           as  input   for   linking.   The  files  are  explicitly
           named  so  that  proper  ordering   of   the  MOBILE4
           structure is  maintained.
MOBILE4;   tells  the  Linker  to name  the  executable file  it
           produces MOBILE4.EXE.


     To run  the  program,   type MOBILE4  at the  DOS  prompt.   The
program is hardcoded to  accept  input from a file named M4INPUT
only.   Output  is hardcoded  to be  directed  to a file  named
M40UTPUT   only.     Similarly,    alternate   I/M  credits   are
hardcoded to  be  read from a  file named M4IMC  only.   The input
file(s)  M4INPUT   and  M4IMC  (if   used)   must  exist   before
running.  The output  file M40UTPUT must  not  exist  prior  to
running the  program.   If  this  protocol  is not   followed,  an
appropriate DOS  error message  will  appear and  the  program  will
fail to execute.

-------
                              2-30


     If you  encounter difficulties  in  loading the program onto
your computer using these  instructions, you  may contact EPA for
assistance, at (313) 668-4462 or FTS 374-8462.


2.3  PORTING MOBILE4 TO AND RUNNING MOBILE4
     ON THE MACINTOSH II PERSONAL COMPUTER

     The directions provided  in this section also appear in the
User's Guide to MOBILE4, section 4.6.

     These directions assume  that  the Macintosh  computer  being
used  has   512K  bytes of  free  memory,  a  hard disk drive,  and
ABSOFT Corporation's MacFORTRAN or MacFORTRAN/020 compiler.

     The first step is to port the source  code to the  Macintosh
unit.  To  accomplish  this, an  error-checking protocol  (such as
KERMIT)  should be  used.    The  MOBILE4  source  code should  be
transmitted  such  that  an  ASCII  text  file  with  no  hidden
characters (such as tabs)  is created.

     Once  transferred,  the  code must  be  slightly revised  to
accomodate the  Macintosh  FORTRAN  environment.   These  required
modifications include the insertion of  file-opening statements
and screen/keyboard connections, as detailed below:

     (1)   Insert   the   following   lines   controlling   file
input/output   immediately  preceding   the   statement   INERR=0
(lline 1176 of the  code as listed in Appendix C), in the MOBILE
MAIN program module:

           OPEN(5,FILE='M4INPUT',STATUS='OLD')
           OPEN(6,FILE='M40UTPUT',STATUS='NEW')

     (2)   If alternate  inspection/maintenance credit  matrices
are  also  to  be  read  as  input,   insert  the  following  line
immediately  after  the   statement   IF(NONUDA.EQ.2)  GO  TO  60
(line  115037  in the  Appendix  C  code  listing),   in  Subroutine
GETIMC);

           OPEN(4,FILE='M4IMC',STATUS='OLD')

     (3)   Finally,  alter  the  initialization line  for  screen/
keyboard I/O  in  BLOCK DATA  SUBPROGRAM  16  (line  516076 in  the
Appendix C listing), to read:

           DATA IOUIMD,IOUGEN,IOUERR,IOUSAK/4,5,6,2*97

-------
                              2-31
     These  changes direct  MOBILE4 to  always read  the program
input data  from  a file named  M4INPUT,  and to always  write the
program  output  to a  file named  M40UTPUT.   Similarly,  if the
alternate  I/M  credit input option is used,  then the alternate
credit  matrices  will  always  be  read from a file  named M4IMC.
Lastly,  the  third  change  above  directs  all  prompting  and
diagnostic  (comment,  warning,   and   error)   messages  to  the
Macintosh screen  (logical I/O device unit number 9).

     After  the changes  outlined above  have  been  made,  invoke
the FORTRAN compiler.   If  the  Macintosh unit being  used has a
math co-processor, select through the Options menu.

     When  the  compilation  is  completed,  the "heap"  space for
the resulting  MOBILE4  application must  be  adjusted.   To do so,
click on the MOBILE4 application  icon one  time,  then select the
FILE   option   from   the   Macintosh   FINDER   menu   (not   the
compiler menu) .   Highlight the  GET   INFO  choice,  and  note the
application  size  value  in  the  lower  right  portion  of  the
window.  If  it is  less  than  512K,  increase it  to  512K.   The
MOBILE4 application is now ready for use.

     Before running  the program,  place  the MOBILE4  input  data
prepared in accordance with  the  instructions  provided  in the
User's  Guide  in  the  file  named  M4INPUT.    Next,  check  to
ensure that the  M40UTPUT file  is  empty.  (If it contains  data
or other results that you  wish to maintain, rename  it so  that
it is  not  overwritten with the output  of  the pending  MOBILE4
run.)    To  execute  the  program,  launch  the  application  by
double-clicking its icon.   The  results  will be in  the M40UTPUT
file.

     A  few tests were  run  using  the  IBM  PC  and  Macintosh
versions of the   model  in  order  to obtain a  sense  of  the
required  execution  times.   For  scenarios  similar  to  those
included in the  example  runs  from  Chapter  5  of  the  User' s
Guide, the following times were observed:
Number of
Scenarios

    1
    5
   10
   25
 MacII Math
Co-processor
    (sec)

      12
      69
     137
     275
  12 MHz IBM-AT     Time per Scenario
Math Co-processor     Mac       IBM
	(sec)	    (sec)     (sec)

        12            12.0      12.0
        68            13.8      13.6
       134            13.7      13.4
       268            13.7      13.4

-------
                              2-32
2.4  RUNNING MOBILE4 ON THE NCC-IBM COMPUTER

     The  following  instructions explain how  to sign  on  an run
MOBILE4  on  the  National  Computing  Center  (NCC)   IBM  system.
This section  assumes that the  reader has  some knowledge about
working  in the  mainframe  time-sharing environment  in general,
and is knowledgeable about MOBILE4 in particular.

     2.4.1  Signing On

     The first step in getting access to MOBILE4 on  the  NCC IBM
is to power-up  the  direct  connect terminal.  Upon doing so, the
screen will display the "welcome menu" shown below:

                         WELCOME TO THE
              U.  S.  ENVIRONMENTAL  PROTECTION AGENCY
                   TELECOMMUNICATIONS NETWORK

                  ENTER COMMAND ON M  FOR MENU

     If  the  screen  is blank,  press  the  ENTER key  and  this
herald will  appear.   Second, type TSO  to  access the  IBM using
this interface.

     Next, the  system will  ask  for  your USER  ID.   Enter  your
three-letter  ID.   Once it  has been  accepted,  the  system  will
display the  TSO/E LOGON MENU,  which  prompts you  for entry  of
your password.   Type in the  password,  and when prompted,  your
FIMAS  code.   Generally,  the  FIMAS  code  for  MOBILE4 runs  is
DAASM.   Finally,  after you  have  entered  your  FIMAS  code,  you
are ready to create a MOBILE4 input file.

     2.4.2  Creating a MOBILE4 Input  File

     You can  use the EDIT  facility  to enter  and/or  correct  a
MOBILE4 input file.   There  is  a  baseline  sample input  file  on
the system in  the  file "KADSAME.M4INPUT".   This  file  can  be
copied into  a file called M4INPUT and then edited  to suit the
requirements  of  the user.   Access an existing  input  file  name
M4INPUT  by typing  EDIT M4INPUT   OLD.   Type LIST  to list  the
contents of this file.

     This  sequence,   assuming  that  the  example  contained  in
KADSAME.M4INPUT has  been  copied into a file named M4INPUT,  and
the system  responses  that follow  are shown below.   Your  input
appears  in   boldface  UPPERCASE  lettering,   and   the   system
responses appear in regular type.

-------
                              2-33
ready
EDIT M4INPUT OLD
qed
LIST
00010 1         •  PROMPT
00020 MOBILE4 Example la:
00030
00040
00050
00060
00070
00080
00090
00100
00110
00120
00130
00140
00150 4
      1
            TAMFLG
            SPDFLG
            VMFLAG
            MYMRFG
            NEWFLG
            IMFLAG
            ALHFLG •
            ATPFLG •
            RLFLAG •
            LOCFLG •
            TEMFLG •
            OUTFMT •
            PRTFLG •
            IDLFLG •
            NMHFLG •
            HCFLAG •
1 80 19.6 75.0 20.6
00150
00160 2
00170 2
00180
00190 Ann Arbor
END OF DATA
                    MI C
-  vertical  flag  input,  no  prompting
OUTFMT = 1  (long  (220  column)  numeric  outpu
-  default tampering  rates
-  one  speed  per  scenario for  all  IV
-  default vmt mix
-  default registration  and mileage  accrual  r
-  default exhaust  emission rates
-  no I/M program
-  no additional  correction factor inputs
-  no anti-tampering  program
-  uncontrolled refueling losses
-  read in local  area parameters as  2nd  req  s
-  calculate  exhaust  temperatures
-  long 220 column  numeric  output  format
-  print exhaust  HC,  CO, and NOx emission  fac
-  do not print idle  emission  results
-  print NMHC
-  print HC components
27.3  20.6                      1st  req  sc re
60.   84. 11.5 11.5  20      LAP rec: SCNAME,
     The actual  input data to  be read  by MOBILE4  follows  the
line numbers  at  left.  The additional  information at the right
will not be read by  the program, but  is  listed  in  the input
file as  an  aid  in reading  and interpreting the  input values.
Several of  the lines  (00020, 00060,  00120,  00150,  00180, 00190)
continue beyond  what  is shown  above,  since the  line length in
the  input  file  can be  up  to  220  columns.  For  example,  the
complete line 00020 would appear as:
00020
     MOBILE4 Example  la:  OUTFMT  = 1  (long (220  column)
     numeric output format)
displayed on one line.

     If  this  file  is  satisfactory,  type  END  SAVE  and  the
system will  save this file  and respond first  with SAVED, then
with READY.  If  you  want  to change this file,  use  the editor's
CHANGE command, as illustrated below:
Prototype command:
                     C tttttttttt  /OLD VALUE/NEW VALUE

-------
                              2-34


where:
                 is the line number to be changed
     OLD VALUE   is the original character string in the file
     NEW VALUE   is the desired character string in the file


     Thus, to  change the value  of line 00150  from a "4"  to  a
"3", type the command:

     C /4/3/

and the system will change the line.

     Once you have modified the file  to  your  satisfaction,  type
END SAVE  and  the  system will  respond  with SAVED,  followed by
READY.

     2.4.3  Running MOBILE4

     Execution of  MOBILE4  on the  NCC IBM  has been  completely
automated, provided  that the  input  data  file for  the  program
has been named M4INPUT.

     To  run  MOBILE4,  type  EXEC  KADSAME.M4RUN  and,   after  a
short  pause,   the  output will  appear  on the  screen.   If  the
screen fills,  the  system will  pause  and allow  you to  examine
the results until such time as you press  the ENTER key.

     2.4.4  Signing Off

     When you  are finished,  sign off of  the system by  typing
LOGOFF.   The  computer will  soon  display  the  amount  of  money
spent  and  the time used.  After  approximately one minute,  the
screen will clear and display the original  EPA "welcome menu."

-------
                            Chapter  3

               POTENTIAL MODIFICATIONS TO MOBILE4
3.0  INTRODUCTION

     This  chapter  describes  some  of  the  more  common  changes
that users might make to thier copy of the MOBILE4 program.

     The  changes  discussed  in  this  chapter  are  suggestions
for:   (a) conversion  of  MOBILE4  to  a  callable  subroutine,
(b) addition  of by-model-year  emission  factor   extraction  and
output,   and   (c)  miscellaneous  MOBILE4   modifications   (user
convenience   alterations,   reduction   of   computer   resource
requirements,  etc.)


3.1  MOBILE4 AS A SUBROUTINE

     3.1.1  Purpose

     There are at least two good reasons  to reconfigure  MOBILE4
from a stand-alone program to a  callable  subroutine.   First,
the Control flags and One-Time Data are input  exactly  once into
stand-alone MOBILE4.   Since these values  cannot  be altered once
input,  multiple  runs  of MOBILE4 are  required to  change  values
of Control  flags or  One-Time Data values.   Multiple  runs incur
the additional  overhead of loading  the program  each time  and
can be  inconvenient to  the user.   The user  may wish  instead to
revise MOBILE4  to  be  capable of  "starting  over" with  a  new
input stream,  after encountering an appropriate input  cue.

     Second,  the  user  may  find   it  more  efficient  to  have
another program  call  MOBILE4  and  subsequently directly  access
the emission  factor  results  in their  common block  locations,
instead of writing out  the results and  then reading  them back
into a  post-processor  program.   In fact, any  variable or array
in any  of the MOBILE4  common blocks  can become  usable   by  the
calling program upon  return  from  the MOBILE4  call   simply  by
declaring that common block in the calling  program routine that
is to use the needed values.   Aggregation or comparison  of data
from several calls  thus can be handled by the calling  program.

     3.1.2  Method

     This section  outlines  the steps necessary  to convert  the
stand-alone MOBILE4 program to a callable subroutine.
                              3-1

-------
                               3-2
     Make  MOBILE4 a  FORTRAN SUBROUTINE.   Insert  as  the first
non-comment line  of the code the following statement:

           SUBROUTINE MOBIL4

     There are  two STOP statements in MOBILE4,  one  in MAIN and
one in subroutine QUITER.  Change the STOP  statement in MAIN to
a  RETURN.   Change  the  STOP  statement  in  QUITER  to  a RETURN,
preceded  by  the  setting of  an  input error  return  code.   For
those QUITER  calls sending down STOP MCODEs,  alter  the code to
route control back  to the return code (passed via a new common
block) for the STOP condition and proceed accordingly.

     Create a new parameter  JCALL,  stored in a new common block
and  initialized  to   1  in  new  BLOCK DATA 35.   Identify  all
variables  and  arrays  modifiable  but  not  first  initialized
during execution.   These  at-risk  data  will  generally be  the
One-Time  Data parameters  and data,  but  also  include certain
control and  output parameters.   Create  a  save  area  for  these
data values by  setting  up new common blocks with renamed copies
of  all   the  to-be-saved  variables  and   arrays.     Write   a
subroutine BDSAVE which  saves  the  original  (compiled)  values
into the copies.   Write a subroutine REINIT which restores  the
saved values  to original variables  and  arrays.   Insert  as  the
first 3 runtime commands in subroutine MOBIL4:

           IFCJCALL.EQ.1) CALL BDSAVE
           IFCJCALL.EQ.2) CALL REINIT
           JCALL=2

On the first  call, the at-risk  data  will  be  copied  into  the
save area.   On  the second  and  subsequent calls, the data will
be copied from the save area back to their original  locations.

(Note:   An alternative  to setting up an  internal  save  area  is
to read in the at-risk data on each call.)

     If the  standard  MOBILE4 written  output  is  not  desired,
comment out the calls to OUTHDR  and OUTPUT.  Remove  the output
code block (lines  401000  to  418999  by Appendix C numbering),  to
reduce the size of the program.

     The  conversation is  now  complete.   Execute the subroutine
by inserting  in the calling program the statement:

           CALL MOBIL4

Execution  of  a single  call terminates  normally when  the  READ
for  the   first   required   scenario   record   encounters   an

-------
                               3-3
end-of-file condition  or  reads in a value of  0  for IREJN.  The
IREJN  check already exists  in MOBILE4,  allowing  several input
streams to  reside in  the same file by insertion of  a  line of
blanks  or   zeroes  between  each  pair  of   input   streams.
Alternatively, input can  be  redirected  between MOBILE4 calls by
system calls to reassign  input unit 5 to a different file.

     The  method  described  above  was  implemented  for MOBILES.
It has  not  yet been  applied to MOBILE4,  but  the  only  problem
anticipated   is   with   the   IBM   PC/AT-compatible  version  of
MOBILE4.  See Section 3.3.3 for details.
3.2  BY-MODEL-YEAR VERSION OF MOBILE4

     3.2.1  Purpose

     The  OUTFMT control  flag  of MOBILE4  allows  the user  to
select from a  set  of four output formats.  The  emission  factor
information of the  four  formats  is  identical, except for the
number of decimal  places  printed and the layout of  the  fields.
Only the  aggregate  emission  factors  are printed.  These numbers
are  the   single  model  year  emission  factors  weighted  by the
corresponding  travel  fractions  and correction factors, and then
summed across  the  20-model-year window  ending  in  the reguested
evaluation year.

     A by-model-year version  of  MOBILE4 optionally  retrieves
and prints the unsummed individual  model year  emission  factors
and  their  components.    The  components  for  a given  emission
factor include the travel fraction, the  cumulative mileage, the
uncorrected (base)  emission  factor,  and  the  various correction
factors and offsets.   The purpose of  outputting  these data  is
to  permit  a   more  detailed assessment   of  the causes  of  the
aggregate results.  For  example,  the user may want to see the
by-model-year   emission  reduction  due to  the  implementation of a
proposed  I/M   program,  doing  several   such   runs  in  order  to
compare  the  conseguences of  alternative I/M strategies  with
respect to vehicles of a given single model year.

     3.1.2  Method

     This  section  outlines  the  steps  necessary  to convert
release MOBILE4  to by-model-year MOBILE4.   These  steps can  be
modified  to  suit the user's needs.   For example,  if done  in
conjunction with  conversion to  MOBILE4  as a  subroutine,  there
is  no  need  to  add  by-model-year  output code.   Instead,  the
results can passed  up to the calling program via  common  blocks

-------
                               3-4
for  processing.   Picking  the by-model-year  option  will simply
tell MOBILE4 to save that information into those common blocks.

     In  any event,  the  first  step  is  to  modify  the  input
section  (line  range  101000-199999  by  Appendix C  numbering).
Add  a  fifth output  format  option (OUTFMT = 5).   Selecton of
this option will  then  trigger the by-model-year sections of the
code.   In  subroutine  ONESEC,  input  a  vehicle  class  inclusion
vector  (1  = no  and 2  = yes) to  decide for which  classes  the
by-model-year information is to be saved and printed.

     In  the emission  factor  calculation section  (line  range
201000-299999  by  Appendix   C  numbering),   save  the  desired
by-model-year  information.   In  some  cases,  existing  arrays
already hold the  data.  The  travel  fractions for  all  20 model
years and 8 vehicle classes are in array TF.  In other  cases,  a
new  array  has to  be  declared in a  common  block and  then  the
values  saved  by  new assignment  statements  in  the  code.   The
evaporative  component  of  HC  can  be   assigned to  new  array
BYEVAP(IDX,IV), declared as  BYEVAP(20,8)  in new common  block
/BYMYI1/.

     In  the   output  section   (line   range   401000-499999   by
Appendix  C numbering),  add   a  new  subroutine  OUTDT5.   This
routine  will  be  called to  print  the  requested  by-model-year
information.  Typically, the  program  will  print the header  and
aggregate  information  first  and then the  by-model-year tables.
For example, if format 3 is used  for  the aggregate  information,
the branch and call sequence in OUTPUT is:

           GOTO(10,20,30,40,50),OUTFMT
       50  IF (INITPR.EQ.1) CALL OUTHD3
           CALL OUTDT3(ICY)
           CALL OUTDTS(ICY)

     In  OUTDT5,  print  one table  per vehicle  class,  with  one
model year's  results  per  line  plus  an aggregate  results  line.
The model  year  lines are  ordered  newest (ICY) to oldest  model
year.   With  table  and   field  headings,   formatting,  and  a
reasonable amount of white space, two tables will  fit per page.

     Each model year  line  will  consist of at least  4  blocks of
fields,  the  first  for data that applies to  all   polluants  and
then one for  each  pollutant.   Information in the  first block is
the model year,  TF,  and accrued mileage  (by a typical  vehicle

-------
                               3-5
of  that  class and  age).   Likely fields  for a  given pollutant
are  the base emission  factor,   speed  and  optional  correction
factor (SALHCF),  tampering  offset,  I/M credit,  BYEVAP  (if HC),
and  the  final  emission factor.   If  the user  selects  only one
pollutant to  be  calculated  and printed (PRTFLG  =  1 or  2 or 3),
then only the selected pollutant's block of fields is printed.
    • The  other two  blocks  remain blank.   Below  is
HC-only run by-model-year output table example:

                     Light-Duty  Gas Trucks  1
                           Jan 1,  1988
                                           a  no-I/M
     Model
     Year
     1988
     1987
     1986
 TF   Miles
.031    2174.
.120  13006.
.110  29456.
Base
0.523
0.576
0.585
HC
Tampr
0.223
0.240
0.30
SALHCF
1.000
1.000
1.000
 EVAP   Final
0.698   0.045
0.767   0.190
0.832   0.193
         etc.
Where:
[(Base+Tampr)*SALHCF + Evap]  * TF = Final
     The method  described  above  was  implemented  for  MOBILES.
It  has  not yet  been applied to  MOBILE4,  but the only problem
anticipated  is with  the  IBM PC/AT-compatible  version.   This
version differs  from the mainframe version  in the  reduction of
the number  of named  elements (symbols  such as  subroutine  and
function  names,   variable  and  array  names, and  named  common
blocks).  This reduction was required in order to meet  a static
numerical  limit  imposed   by the  IBM  PC  Microsoft  FORTRAN
Optimizing Compiler,  Version  4.01.   Adding new elements  is  not
feasible with the  PC version,  unless  a  compiler without  this
constraint  is  used.    (Note:    The  Apple  Macintosh  Absoft
MacFortran/020 Compiler does not  have this problem.)
3.3  MISCELLANEOUS MOBILE4 MODIFICATIONS

     3.3.1  Purpose

     This section  discusses ways  to  take  advantage  of  known
local modeling  conditions  or system options  to  either  simplify
the  use  of MOBILE4,  lower  computer  resource requirements,  or
both.   The discussion  assumes  that  the  number of  runs  and
scenarios planned  warrant  the  effort  to  make  these  changes.
This  effort  can  be  considerable.    The  user  is  advised  to
estimate  the  cost  and time required  before  authorizing  the
changes.

-------
                                3-6
     3.3.2  Hardcodinq Locality-Specific Data

     Users who plan  to  run a very  large number of  MOBILE4  data
sets,  and  who wish  to  override  the MOBILE4  default  conditions
with their  own locality-specific data  in each  data  set,  could
consider modifying  the  BLOCK  DATA  initialization of  arrays  and
variables to replace the MOBILE4 data with their own data.

     3.3.3  Reducing Computer CPU Time Requirements

     Select the  highest  level  of  optimization  of  the  compiler
that  will  still   produce  code   that   yields   valid  results.
Validity  is measured  by  matching   results  of  Release  MOBILE4
against those  of the local version.  (Note:   Code compiled using
the  highest  level of  optimization  (OPT=3)  of  IBM's  *FORTRANVS
compiler does  not generate correct results.)

     Computational code may  be converted  to assembly  language
mnemonics  with an  extended FORTRAN which  permits  an  in-line
assembly drop-in  to be interspersed with  the  ordinary  FORTRAN
statements.   Depending   on the  optimizing  capabilities  of  the
available FORTRAN compiler,  this method  can  reduce run  time  by
10 to 50 percent.

     The source code can remain FORTRAN and still  be modified  to
decrease the execution  time  of  the  compiled code.   One way is  to
reduce  the  overhead associated  with subroutine calls.   Delete
routines which are  called from  only one or two places  and  move
their  logic  into the   calling  routine.   The  pointer  functions
typically contain very  few lines of code.   The following  steps
place all the  index look-up logic into the calling routines:

     Move IGEPTR,  IGUPTR, IGLPTR,  and IGTPTR into BIGALH.

     Move IBFPTR into both BIGIN2 and BEFIDL.

     Move IERPTR into BEF.

     Move ISPPTR into both BIGCFX and BIGSAL.

     Move EXMPTR and ITCPTR into BIGCFX.

     Move IGSFPT into each of EFCALX, IDLCAL,  HCCALX, and REGMOD.

     Move ITAMPT into each of EFFGRP, EMIRAT,  and EVPEME.

     Move IEVPTR into both DIURNL and HOTSOK.

     Move IGRVPT into RVPEXH.

-------
                                3-7
     Move IDLPTR into BEFIDL.

     Move IMPTR into PCLEFT.

     Move IRULPT into RULOSS.


     3.3.4  Reducing Computer Memory Requirements

     The easiest way to  reduce the size of the  compiled  code is
to  select  compiler  options  to  that  end.   These choices  may
conflict with those made to speed up the execution  of  the runs.
Also,  in  certain  systems the user can direct  the  system  to load
code sections only when  those sections  are called  (that  is,  on
an  as-needed  basis),   including  and especially  FORTRAN function
libraries.

     Otherwise,   tailor   the  program   to   a   specific   usage,
eliminating  unneeded   options   and   their   associated   input,
processing,  and  output   data  structures  and  executable  code.
Note  that changes  to  speed up  the  execution  of  the code  may
actually  increase the  size  of the code, due  to duplication  of
executable code.  Examples  of  space  reduction code revisions are
provided below.

    (1)  Eliminate an  unnecessary region.   Many of the  arrays
         contain data  for  both  low- and high-altitude regions.
         Users  not  requiring  both  regions  could  eliminate  the
         "region"  dimension  of the arrays,  delete  the BLOCK DATA
         initializations   of  the  undesired   region,   and  make
         appropriate  indexing changes.

    (2)  Eliminate the inspection and maintenance  (I/M)  program
         features.  Users who do  not need to  include I/M  program
         effects in their analyses can delete BLOCK DATAs 6,  7,
         8, and 9,  the  named I/M  common blocks  (names   of  the
         forms  /ICRxxx/   or  /IMxxxx/),   and  the modules  GETIMP,
         GETIMC,  and  PCLEFT.    Remove  all  references  to  the
         variables and arrays  in those common blocks and  to  the
         I/M modules.   Hardcode  I/M-  related flags  and switches
         (such  as  IMFLAG  and  IM)  to  the  no-I/M  case  value
         (usually 1).

    (3)  Use halfword  integer  arrays  and  variables,  when  the
         halfword maximum  integer  value  (32,767)  exceeds  the
         largest value to be assigned.  All  MOBILE4 arrays  and
         variables currently meet  this  constraint.   Conversion
         from full-word  to  halfword  integers  would save  10,624
         bytes of  memory  space.

-------
                            Chapter  4

            MOBILE4  AND  USER'S  GUIDE  ERRATA AND ADDENDA
4.0  INTRODUCTION

     MOBILE4  was released  on  February  28,  1989.   The  User's
Guide,   the   mainframe  (9-track  tape)  version,   and  the  PC
(diskette) version  of the model  were all available  through the
National Technical Information Service (NTIS) by late March 1989.

     A  number of errors  went undetected  in the release  of the
model.    In  addition,  several  errors  and  misstatements  were
included  in  the release  version  of  the  User's  Guide.   This
chapter documents those  changes  and  corrections  to  both  the
program code  and the User' s  Guide  that had  been detected and
corrected as of May 19, 1989.

     The  reader  is  advised  that  all  of  these  changes  and
corrections to  the program  code have  been  made to  the  MOBILE4
files residing  in the Michigan  Terminal System  (MTS) at  Wayne
State  University  in  Detroit,  and   in the  National  Computing
Center   (NCC)   IBM   computers,   as   of  May  8,   1989.    These
corrections were submitted  to  NTIS  on  May 12,  1989, and all
copies   of  the PC (diskette)  version of  the program or  of  the
User's  Guide obtained from NTIS after that date are current.

     This  chapter   consists  of  four  sections:    The   first
discusses  the changes and corrections  to  the  MOBILE4  program
code,  the second  details the actual  coding  changes  that have
been made to correct the  program, the third  discusses the  errors
and  corrections to  the  User's   Guide  to MOBILE4,   and  finally
there are a set of replacement pages  for the User's Guide.

     EPA,   as   noted  above,   has  made   all  of   these  program
corrections on  the  MOBILE4 program files on MTS-Wayne State and
on  the  NCC-IBM  system.   In  addition,   corrected  PC  (diskette)
versions  of  the  program  have  been  distributed  to  the  EPA
Regional  Offices and to  a  number  of  parties  that  obtained
MOBILE4 directly from the  Ann  Arbor  Motor Vehicle  Laboratory.
Due to  lack of  demand, EPA  did  not  distribute  corrected  copies
of  the  mainframe (9-track tape)  version of the program.   Those
users working with  the mainframe  version,  and not working from
MTS-Wayne  State or  NCC  IBM, will have to implement  the  coding
corrections (detailed  in section 4.2)  themselves.   To  assist  in
this process,  the  line  numbers  corresponding  to  the  numbering
used in Appendix C (Source Code Listing)  are referenced,  and the
locations   of  the changes (which  are  included in the Appendix C
source   code  listing)   are  indicated   in Appendix C  by vertical
black bars in  the left margin.
                               4-1

-------
                                4-2
4.1  PROGRAM CHANGES AND CORRECTIONS

     The  changes  and  corrections  discussed in this  section are
listed below:

     (1)    Corrections  to  the  algorithm  that  determines  the
correction   to   exhaust  emissions  for  the   effects  of  fuel
volatility (RVP), at temperatures of 40°F or less.

     (2)    Corrections  to  the   algorithm that  provides  for
exhaust emission  credits (benefits) when fuel  RVP  is reduced to
levels under 9.0 psi, under certain high-temperature conditions.

     (3)    A correction to  the tampering  rate tables contained
in Block Data 25.

     (4)    Corrections  to  the  algorithm  that  calculates  idle
carbon monoxide (CO) emission  factors  for  certain  vehicle types
and model year groups.

     (5)    A  correction to  the  algorithm that  calculates  hot
soak evaporative emissions from motorcycles.

     (6)    Corrections  to  the RVP  exhaust emission correction
factors for bag 1 (cold-start)  CO emissions.

     For  the  first   two   items   listed  above,   the  following
information  is   provided:    A  description   of    the  problem,
including  background  information,  the  intended  functioning  of
the  program,  and  the  impact  of  the problem  on  the  emission
factor results;  and guidance indicating  how the  problem  can  be
avoided before the corrections  are made.

     For  the  third  through  sixth   items  listed,   which  are
relatively minor  in terms  of  both  the  coding changes  required
for  correction  and  the  impact  on the emission  factor  results,
the error and its impact on the results are  described.

     In section 4.2,  the coding changes  required for correction
of each problem are detailed.

-------
                                4-3
     4.1.1  Exhaust  emission  corrections for  fuel  volatility at
            temperatures of 40°F or less

     4.1.1.1  Description

     MOBILE4  exhaust  emission factors  are  corrected  for  fuel
volatility as measured  by  Reid vapor pressure  (RVP).   Data from
EPA's  emission  factor  testing  programs  have  shown  that exhaust
emissions  vary  with  fuel volatility.   In  general,  fuels  of
higher  RVP  lead  to   increases  in  exhaust   HC,  CO,  and  NOx,
relative  to  emissions  on 9.0  psi  RVP  (certification)  fuel.
(There  is  no volatility correction when RVP is 9.0  psi).   The
impact  of  volatility  on  exhaust  emissions  also  varies  with
temperature, with the  effect  being larger at higher temperatures
and  smaller  at  lower  temperatures.   Below  40°F, no  consistent
effect  of  RVP   on   exhaust  emissions  was  observed.   Thus,  in
MOBILE4 no volatility correction to  any  exhaust emission factors
is intended if the temperature is _< 40°F.

     As  described  in  sections  2.2.12 and  2.2.13 of  the User's
Guide,  the  user  of  the program is  required  to  supply  two  RVP
values  as part of  the input  stream:  a base  RVP  and an "in-use"
RVP.    The   base  RVP   represents   the  currently   prevailing
volatility level,  and the "in-use" RVP value represents  the RVP
of  fuel after  implementation of  an  in-use  volatility  control
program.   The user   also  supplies  an  in-use  start  year;  the
in-use  RVP is then  applied for  any calendar year of  evaluation
equal to or after this start  year.

     As noted, EPA's  emission  factor  program test data showed no
consistent  (and  generally very  small) effects  of  fuel  RVP  on
exhaust emissions at  temperatures  of  40°F or less.   Thus, it was
determined that  the  RVP  correction  factor   applied to  exhaust
emissions in  MOBILE4 should  be 1.0  (as  a multiplicative factor,
no   correction)   if   the  temperature   applicable  to   exhaust
emissions is _< 40°F.

     The RVP  effects on exhaust  emissions  differ by  the  model
year (MY) of  vehicle.   In  MOBILE4, distinct  RVP  corrections  are
applicable to exhaust  emissions  for three  MY groups  of light-
duty  gasoline-fueled vehicles  (LDGVs):   1971-79,  1980-82,  and
1983  and  later.    Two subroutines   are used  by  MOBILE4  to
determine these  RVP  corrections;   one  for the  MY 1971-79  LDGVs
and another for MY 1980-82  and MY 1983+ LDGVs.

     For the  latter  two model  year groups only, a test statement
was  inadvertently omitted from  the  MOBILE4  code   that  would

-------
                                4-4
prevent  calculation  of RVP  corrections  to exhaust  emissions  if
the  applicable  temperature  was  <_ 40°F.   This  statement should
have been of the general form:

IF (THE TEMPERATURE  IS 40°F OR LESS)
THEN (DO NOT CALCULATE AN RVP CORRECTION FOR EXHAUST EMISSIONS)

     As  a  result  of such  a test  having  been  omitted  from the
MOBILE4  code  as released,  the  possibility  exists  of a MOBILE4
user  supplying  input  data  that  contains  both  temperature(s)
_< 40°F and an  RVP  value (either base or  in-use) >  9.0  psi, and
obtaining erroneous  (underestimated) exhaust  emission factors as
a result.

     4.1.1.2  Guidance

     This situation  can be  avoided if the  guidance  on MOBILE4
input values provided below is followed:

     "When  MOBILE4  is  used to  estimate emission factors for
     situations  where  the temperature is  at or below 40°F, 9.0
     should be used as the value of both base and in-use RVP."

     Phrased in  a  way more  specifically directed  to the MOBILE4
user  preparing  the   input   data  for  running  the  model,  this
guidance reads:

     "If TEMFLG  =  2  and the  input  ambient temperature is <_ 40°F
     (see sections 2.1.14 and 2.3.4 of  the User's Guide),  or if
     TEMFLG = 1  and  the  input  minimum and  maximum temperatures
     are  such  that   [Min  +  (2/3)*(Max  -  Min) 3   <.  40°F  (see
     sections  2.1.14  and 2.2.11  of  the  User's  Guide),  then the
     input values of  both base and in-use RVP must  be 9.0 psi."

     Although  fuel  volatility  tends  to  be  higher  in  colder
seasons,  it  was intended  that  MOBILE4 would  show no effect of
fuel RVP on exhaust  emissions at  temperatures at or  below 40°F.
Adherence  to  this  guidance will  ensure  that  the  resulting
emission factors behave as intended.

     4.1.1.3  Program Changes

     The  programming  changes necessary  to  prevent  unintended
emission  factor  results  from   being  calculated   even  if  the
guidance  above  is  not  followed  are  detailed  in  section  4.2,
"Program Code Corrections."

-------
                                4-5
     These changes were  incorporated on the MOBILE4  tape  and PC
version  diskettes  that were  submitted  to the National Technical
Information  Service  (NTIS)  in March.   These  changes had  also
been made  to installed MOBILE4  on the Michigan  Terminal  System
(MTS)  at Wayne  State  University  and the  NCC-IBM system  as  of
March 30, 1989.


     4.1.2  Corrections  to   algorithm   providing   for   exhaust
            emission benefits  due  to RVP  reductions to below 9.0
            psi under certain high-temperature conditions

     4.1.2.1  Description

     EPA's  certification  of   new  vehicles  is  performed  at  a
nominal  temperature  of  75°F, using  fuel  with  volatility  of
9.0 psi  Reid vapor  pressure  (RVP).   The  evaporative  emission
control  system,  consisting primarily of  a  canister of activated
carbon and related hoses  and  valves, is  designed  to  be  capable
of capturing  almost  all hydrocarbon  (HC) vapors  generated under
these  conditions  and  routing them  to  the  engine via  canister
purging  to  be  burned,   without   adversely  affecting  exhaust
emissions.

     If  temperatures are  greater than  75°F,  or  if fuel  RVP  is
greater than 9.0 psi,  or  both, then excess evaporative emissions
(relative to  the certification procedure)  are generated.   Some
of  these  excess emissions  are returned to  the  engine  to  be
burned, and the engine  is no longer able  to  handle the increased
volume  of  purged  vapor  without   adversely  impacting  exhaust
emissions.   This situation underlies  the  development and use  of
RVP correction factors  to exhaust  emissions in MOBILE4.

     Viewing the  same  principles  from  a different perspective,
it is also reasonable to assume that  additional exhaust  emission
reductions may be obtained through  the  use of fuel with RVP less
than that  of certification  fuel   (9.0  psi),  provided  that  the
temperature is  sufficiently  greater than 75°F.   This  is  because
the generation of evaporative  HC emissions  will be greater  than
that experienced during  vehicle   certification  if  temperatures
are high,  even  though the  fuel  RVP is  the  same.   Thus,  the
vehicle  engine/canister  system  is  unable  to  handle the  vapor
generation  and   purge  without   adversely   affecting   exhaust
emissions.

     In  release MOBILE4,  an  algorithm  for  modeling  this  was
developed based  on  the ASTM  volatility class input value.   The
problem that  results from this approach  is  that  using  identical

-------
                                4-6


input  data,  with  the exception  of the ASTM  class designation,
results in the  calculation of exhaust emission factors  that are
different in  Class A  areas  than  in Class B areas,  and both are
different than  those  calculated for Class C areas.   In reality,
exhaust  emission  factors  should  be  the same  for  any  area,
regardless  of  ASTM   class,   if   the   same   temperatures,   fuel
volatilities, and other inputs are used.
    v
     4.1.2.2  Guidance

     Until  the  program  code  corrections  detailed  below  are
implemented in the version of the  model being  used,  users should
specify ASTM Class  C  in the  input  stream,  regardless of  the
actual ASTM  class designation  of  the  area  being modeled.   For
RVP values  of 9.0 psi or greater, the emission  factors will be
correct.   The program  code  corrections must  be implemented in
order  to  estimate the impact on exhaust emission factors of RVP
lower  than  9.0  psi.   This  situation  should  arise  only  in
conjunction  with  the  modeling  of an in-use  fuel  volatility
control program in ASTM Class A or  B  areas,   since  current  fuel
volatility runs well  over  9.0 psi  in almost all   areas of  the
country,  and  is unlikely to  be below  9.0 psi in Class  C  areas
even with volatility controls.

     4.1.2.3  Program Changes

     The corrections  for  this  problem provided  in section  4.2
serve  two  functions:   (1)  The same  emission factors  will  be
calculated for  any area, regardless of ASTM  class,  if  the  same
temperatures,  volatilities,   and  other  inputs  are  used,   and
(2) additional  exhaust   emission   reductions  will   be  modeled
corresponding to  the  use of  fuel  with volatility under  9.0  psi
RVP  (to   as   low  as   7.0  psi),  provided that  the  temperature
applicable to exhaust emissions is 95°F or higher.


     4.1.3  Correction to tampering rate data in Block Data  25

     4.1.3.1  Description

     MOBILE4 models  the impact on emission  factors of  a number
of  types  of  tampering,  as  discussed  in  section  2.2.1  of  the
User's Guide.  On the basis  of EPA's tampering surveys,  rates of
tampering are developed as linear  functions  of vehicle  mileage
(expressed in terms  of a  "zero-mile  level"  of tampering with a
given component and  a "deterioration  rate,"  or rate of  increase
in  the rate  of  tampering per  10,000  miles accumulated  vehicle
mileage).

-------
                                4-7
     The  tampering rates  built into  MOBILE4  are  a  function of
vehicle type, model  year group, and  the presence  or  absence of
an  operating inspection and  maintenance (I/M)  program.   These
rates are  contained  in the Block Data 25 subprogram  of MOBILE4.
An  error   in  one of  the zero-mile levels  (total  misfueling for
light-duty gasoline-fueled vehicles of model year  group  2, with
I/M) has  been detected.  Failure  to  correct this erroneous data
point will lead to  slight  underestimates  of  the  LDGV emission
factors.   (The  change is less than 1% for all pollutants and all
calendar years.)

     4.1.3.2  Program Changes

     The  necessary  correction  involves  a  single  value  that
appears  in the Block  Data   25  subprogram, and  is detailed  in
section 4.2.


     4.1.4  Corrections  to   the  calculation  of   idle   carbon
            monoxide  (CO)  emission factors  for  certain  vehicle
            types and model year groups

     4.1.4.1  Description

     The  algorithm used to  estimate idle  emission  factors  in
MOBILE4 is significantly  different   than  that used   in  earlier
versions of the model.   The  idle emissions  are based  on  a curve
fit to  the idle and  low-speed emission data, with  all emissions
expressed  in  terms of  mass  pollutant per  unit time  (grams  per
hour)  rather  than  per  unit   distance  (grams  per  mile).   This
approach  is  based on  the  idea  that  emissions  per unit  time  at
idle and  at  very  low  speeds  should  be  closely related,   on  the
basis of the  work  being demanded of the engine, and provides the
advantage of  allowing the  idle emission factors to be corrected
for  a   number  of  other variables  (such as deterioration  with
accumulated mileage and the effects of I/M programs) in a manner
consistent with the treatment of exhaust emissions.

     An unexpected  result  of  implementing this  algorithm,  in
which idle emissions  depend   indirectly  on  the zero-mile  levels
and  deterioration  rates  of  the  corresponding   basic  exhaust
emission rate equations, is  that  "zero-mile"  idle CO emissions
for  a   few model  years of  light-duty  gasoline-fueled vehicles
(LDGVs) and trucks (LDGTs)  are projected to be less  than zero.
The correction  for this anomaly is based on the  substitution  of
low-mileage  average   idle  emissions  data  for   the   emissions
projected  from  the speed-dependent curve,  in those cases where

-------
                                4-8
the  curve-based estimates  become  negative.   The  impact  on the
fleetwide  idle  emission  factors  is very  small.   (At  78°F and
11.5 psi  RVP fuel,  the effect of  implementing the correction is
to increase the all-vehicle idle CO emission factor by 1.4%.)

     4.1.4.2  Program Changes

     The  coding  changes   required  are  the   revision   of  two
existing  lines  and  the insertion  of  12 additional  lines  (which
include comment lines  describing  the  action  of  the  executable
statements).  These are detailed in section 4.2.


     4.1.5  Correction to the calculation of motorcycle  hot soak
            evaporative emissions

     4.1.5.1  Description

     There  is   a  minor error  in the  MOBILE4   "Function HOTSOK"
subprogram that affects the calculation of  hot  soak evaporative
emissions  from  motorcycles  (MCs).    This   error   involves  the
fraction of MCs that  are  assumed to be driven  at  least  once per
day,  and  thus  to  generate hot  soak  emissions.   The  released
program   slightly   underestimates  MC   evaporative   emissions.
(After  the  corrections, MC evaporative emissions  are about 15%
higher and MC total non-methane hydrocarbon  (NMHC)  emissions are
about  8%   higher;  the  corresponding all-vehicle  NMHC  emission
increases are less than 1%  (evaporative) and about  0.1% (total).)

     4.1.5.2  Program Changes

     Two changes  should be made to  the program code, one  to  a
comment line and  one to  an executable  statement.    These  lines,
as released and with  the  corrections,  are  presented in  the  next
section.
     4.1.6  Corrections to  the RVP  exhaust emission  correction
            factor  calculation   for  bag   1   (cold-start)   CO
            emissions

     4.1.6.1  Description

     The  fuel  volatility (RVP)  correction  factors  for  exhaust
emissions  depend  on  vehicle  type,  model  year,  pollutant,  and
"bag" (operating mode).   In  release  MOBILE4, the RVP  correction
factor for  bag 1  (cold-start) carbon monoxide  (CO)  emissions is

-------
                                4-9
calculated,  but  is  never  applied  to the emission factor.   The
effect of  this  problem is that  exhaust CO  emission  factors are
slightly underestimated for  cases  where fuel RVP is greater than
9.0 psi and  the  temperature  is greater than  40°F.   (The exhaust
CO  emission  factors  will  be  less  than   1%  higher,  assuming
standard operating mode fractions.)

     4.1.6.2  Program Changes

     Four  revisions   to   the  code   are   required,    three  to
executable statements  and  one to  a  comment  line.   These changes
occur  in   the  subprograms  "Subroutine BIGTCF"  and  "Subroutine
BIGOMT," and are detailed in section 4.2.
4.2  PROGRAM CODE CORRECTIONS

     The  program  code  corrections  for  the  six problem  areas
discussed  in  the previous  section  are  detailed  below.    The
section numbering corresponds  to  that of  the previous  section
(i.e.,  the  code  corrections  for  the  problem  discussed  in
sections  4.1.1,   4.1.2,  and so on are  detailed under  sections
4.2.1, 4.2.2, and so on).

     An indexing  line, with an asterisk  (*)  in  column 7  where
executable  statements  must begin  and counter marks  (1,2,...,8)
indicating the positions of columns 10, 20,  ...,  80,  is  included
above each block of code presented.

     As  noted,  all  of  these  corrections  have  been  made  to
MOBILE4 on  MTS at Wayne State University  and on  the NCC  IBM.
The  source   code  listing  in  Appendix  C reflects  all of  these
corrections.   The  changes  relative  to  release  MOBILE4   are
indicated in Appendix  C by a  vertical black bar to  the  left of
all newly inserted  or  revised  lines of  code,  with the  deletion
of lines  indicated by  an arrowhead in the left margin.  The line
numbers referred to are those shown in Appendix C.

-------
                                      4-10
4.2.1 Exhaust emission  corrections  for fuel volatility at  temperatures  of 40°F
      or less

      Three  code  changes to  Subroutine BIGTCF  are  required.  See  pages C-166
and C-167.
4.2.1.1   Copy line 227050 to line 226066.  The line reads:

      *  1         2         3         4         5         6         7
      COMMON /TEMPS/  AMBT,TEMMIN,TEMMAX,TEMEXH(3),TEMEVP(6),TEMAST(3)
4.2.1.2   Alter line 226084.  In release MOBILE4, the line reads:

      *1         2         3         4         5         6         7
      IF (IG.LE.l) GOTO 30

The corrected line, with the change underlined for emphasis, reads:

      *  1         2         3         4         5         6         7
      IF (IG.LE.1.OR.TEMAST(IP).LE.40.0) GOTO 30
4.2.1.3   Insert  a  new line  226020.   The  lines  immediately  preceding  and
following the new line are shown to assist in proper location of the insert:
      *  1         2         3         4
C    /TEMPC4/ MYGCOO,LOWCO,COOTFC,COOTFD
C    /TEMPS/  TEMAST
C
8

-------
                                       4-11
4.2.2 Corrections  to algorithm  providing for exhaust  emission benefits due  to
      RVP reductions to below 9.0 psi under certain high-temperature  conditions

      There  are a  total  of 21  lines  of  code  that  must  be  revised  (altered,
deleted, or  added).  The changes occur  in six different modules of MOBILE4,  and
are presented below by module affected.
4.2.2.1   Changes to Subroutine LOCAL.  See pages C-88 and C-90.
4.2.2.1.1   Delete one  line  between  lines  126035 and  126036.   The  line  to be
deleted reads:

      *  1         2         3         4          5         6          7          8
C  ADJRVP   R    RVP adjustment for ASTM class for RVPs for exhaust RVP cf calc.
4.2.2.1.2  Alter line 126136.  In release MOBILE4, the line reads:

      *1         2         3         4         5         6         7
C  hot soak RVPs, except for an ASTM Class adjustment for classes A & B.

The corrected line reads:

      *1         2         3         4         5         6         7
C  hot soak RVPs.
4.2.2.1.3   Delete  two lines between  lines 126137 and 126138.   The  lines to be
deleted read:

      *1         2         3         4         5         6         7         8
      IF(ICLASS.LE.2) ADJRVP=ASTRUB(3)/ASTRUB(ICLASS)
      IF(ICLASS.GT.2) ADJRVP=1.0
4.2.2.1.4  Alter line 126140.  In release MOBILE4, the line reads:

      *  1         2         3         4         5         6
      RVPX(ICER,IFUEL)=ADJRVP*RVPHS(ICER,IFUEL)

The corrected line reads:

      *  1         2         3         4         5         6
      RVPX(ICER,IFUEL)=RVPHS(ICER,IFUEL)

-------
                                      4-12
4.2.2.2   Changes to Subroutine CALTEM.  See pages C-91 and C-92.
4.2.2.2.1  Delete  two  lines between lines  127028  and  127029.   The  lines  to be
deleted read:

      *1         2         3         4         5         6         7          8
C  ADJTEM   I    ASTM adjustment to exhaust temperature for RVP exhaust cf calc.
C  ASTTUB   I    ASTM Classes A & B adjustments to exhaust temperature.
4.2.2.2.2  Delete  four  lines between lines 127039 and  127040.   The lines to be
deleted read:

      *1         2         3         4         5         6         7         8
      DIMENSION ASTTUB(2)
C
      DATA ASTTUB/14.0,7.O/
C
4.2.2.2.3  Alter line 127103.  In release MOBILE4, the line reads:

      *1         2         3         4         5         6         7
C  TCF temperatures, except for an ASTM Class adjustment for classes A & B.

The corrected line reads:

      *1         2         3         4         5         6         7
C  exhaust TCF temperatures.
4.2.2.2.4  Delete two  lines  between lines 127104 and  127105.   The lines  to be
deleted read:

      *1         2         3         4         5         6         7         8
      IF(ICLASS.LE.2) ADJTEM=ASTTUB(ICLASS)
      IF(ICLASS.GT.2) ADJTEM=0.0

-------
                                       4-13
4.2.2.2.5  Alter line 127106.  In  release MOBILE4,  the  line  reads:

      *  1         2         3         4          5         6         7
      TEMAST(IP)=TEMEXH(IP)-ADJTEM

The corrected line reads:

      *^1         2         3         4          56         7
      TEMAST(IP)=TEMEXH(IP)
4.2.2.3   Change to Subroutine EFCALX.  See page C-109.
Alter line 201092.  In release MOBILE4, the line reads:

      *1         2         3         4         5         6          7
      IF(FRETH.GT.O.O) CALL RVPEXH(ICY,2,RVPX(2,1),RVPX(2,2))

The corrected line, with the change underlined for emphasis, reads:

      *1         2         3         4         5         6          7
      IF(FRETH.GT.O.O) CALL RVPEXH(ICY,2,RVPX(1,2),RVPX(2,2))
4.2.2.4   Changes to Subroutine BIGRVP.  See page C-170.
4.2.2.4.1  Alter line 227071.  In release MOBILE4, the line reads:

      *1         2         3         4         5         6         7
      RDIFA=AMAX1(RDIFA,0.0)

The corrected line, with the changes underlined for emphasis, reads:

      *1         2         3         4         5         6         7
      IF(TEMEXH(IP).GE.95.0) RDIFA=AMAX1(RDIFA,-2.0)
4.2.2.4.2  Insert a  new line 227072, immediately  following line  227071 (shown
in 4.2.2.4.1 above).   The new line reads:

      *1         2          3         4         5         6         7         8
      IF(TEMEXH(IP).LT.95.0) RDIFA=AMAX1(RDIFA, 0.0)

-------
                                      4-14
4.2.2.5   Changes to Block Data Subprogram 17.  See page C-361.


4.2.2.5.1   Reverse  the order  of lines 517080  and  517081.   In release MOBILE4,
the lines read:

      *  1         2         3         4         5         6         7         8
C  TEMAST  R   TEMEXH adjusted for ASTM class for RVP exhaust cf calculation.
C              and running loss.

The corrected lines read:

      *1         2         3         4         5         6         7         8
C              and running loss.
C  TEMAST  R   TEMEXH adjusted for ASTM class for RVP exhaust cf calculation.
4.2.2.5.2  Alter  line 517081.   The line  reads  (after  the  change  immediately
above has been made):

      *1         2         3         4         5         6         7         8
C  TEMAST  R   TEMEXH adjusted for ASTM class for RVP exhaust cf calculation.

The corrected line, with the changes underlined for emphasis, reads:

      *  1         2         3         4         5         6         7         8
C  TEMAST  R   = TEMEXH.   Used for RVP exhaust cf calculation.
4.2.2.6   Changes to Block Data Subprogram 30.  See page C-419.
4.2.2.6.1  Alter line 530082.  In release MOBILE4, the line reads:

      *1         2         3         4         5         6         7         8
C                RVPX differs from the evaporative RVPs (RVPHS/ET1&2) by an

The corrected line, with the changes underlined for emphasis, reads:

      *1         2         3         4         5         6         7         8
C                RVPX now equals the corresponding evaporative RVPHS/ET1&2.
4.2.2.6.2  Delete  one line between  lines 530082  and 530083.   The  line to  be
deleted reads:

      *1         2         3         4         5         6         7         8
C                ASTM Class adjustment ( * 11.5/(9.0 if A or 10.0 if B) ).

-------
                                      4-15


4.2.3  Correction to tampering rate data in Block Data  25

      Only one line must be revised to correct this error.  See page C-404.
Alter  line  525716.  The  line in  release  MOBILE4,  including  several preceding
lines to assist in locating the line requiring correction, reads:
      *1         2         3         4         5         6         7
      DATA TAMZML/
          AIRS   CATS   NCKS   TNKS   EGRS   EVAP   PCVS   CAPS   MISF
8
C  I/M & MYG 2
     1  -.0106,-.0058,-.0002, .0115, .0002,-.0063,-.0024,-.0077, .0013,
The  correction is  to  the  final  value of  the  last  line  listed above.   The
corrected line, with the change underlined, reads:
      *  1         2         3         4         5         6         7
     1  -.0106,-.0058,-.0002, .0115, .0002,-.0063,-.0024,-.0077, .0113,
8
4.2.4 Corrections  to  the  calculation of  idle  carbon monoxide   (CO)  emission
      factors for certain vehicle types and model year groups

      One  revision  and  12  new  lines  are  required  in  the  Function  BEFIDL
subprogram, and one revision is required to the Block Data 05 subprogram.
4.2.4.1   Changes to Function BEFIDL.  See pages C-224, C-225, and C-227.
4.2.4.1.1   Insert  a  new line  250029.   The  lines   immediately  preceding  and
following the new line are shown to assist in proper location of the insert.
      *  1         2         3
C  CHGHRS(4)  -  CHGHRS (  IVREV )
C  COLIM(14)  -  COLIM  (  IGUTIO )
C  D50   (3)  -  D50    (  I23F )
8

-------
                                      4-16
4.2.4.1.2   Insert  a  new  line  250044.   The  lines  immediately  preceding  and
following the new line are  shown to assist in proper location of the insert.

      *1         2         3         4         5         6         7          8
C                scaled by  10**-4
C  COLIM    R    CO idle EF LBs for each IGUTIO MYG; keeps low vmt cases  >0.0
C  D50      R    BF deterioration rate for beyond 50K miles
4.2.4.1.3  Alter line 250086.  In release MOBILE4, the line reads:

      *1         2         3         4         5         6         7
      DIMENSION IDLREV(4),DBF(3),ZBF(3),D50(3),CHGHRS(4)

The corrected line, with the changes underlined for emphasis, reads:

      *1         2         3         4         5         6         7
      DIMENSION IDLREV(4),DBF(3),ZBF(3),D50(3),CHGHRS(4),COLIM(14)
4.2.4.1.4   Insert  2  new  lines  250091  and  250092.   The  lines  immediately
preceding and following the new lines are shown to assist  in  proper  location of
the insert.

      *1         2         3         4         5         6         7         8
      DATA MTHIDL/0.9,1.5/,CHGHRS/19.6,19.6,19.6,20.0/
      DATA COLIM/303.37,56.71,22.56,25.63,35.17,30.36,31.77,
     *            26.23,25.08,24.07,23.71,23.24,22.38,21.787
C
4.2.4.1.5  Insert  8  new  lines  250021  through  250028.   The lines  immediately
preceding and following  the  new lines are shown to assist in proper location of
the insert.

      *1         2          3         4         5         6         7         8
      BEFIDL=BEFIDL+UTIDOF( IGUTIO, IP, IWT)
C
C  If LDGV, raise low vmt CO cases (which can go negative by using the curve)
C  to an average (by  the low end data) value.
C
      IF(IV.EQ.l.AND.IP.EQ.2.AND.IREJN.EQ.l)
     *    BEFIDL=AMAX1(BEFIDL,COLIM(IGUTIO))
      IF(IV.EQ.1.AND.IP.EQ.2.AND.IREJN.EQ.2)
     *    BEFIDL=AMAX1(BEFIDL,COLIM(IGUTIO)*1.17)

-------
                                      4-17
4.2.4.2  Change to the Block Data Subprogram 05.  See page C-315.
Alter line 505491.  In release MOBILE4, the line reads:

      *1         2         3         4         5         6         7
     C -26.10,-46.22,-50.74,-51.37,-52.06,-52.13,-54.77,

The corrected line, with the changes underlined for emphasis, reads:

      *1         2         3         4         5         6         7
     C -23.11,-22.21,-50.74,-51.37,-52.06,-52.13,-54.77,
4.2.5 Correction to calculation of motorcycle hot soak evaporative emissions

      Two lines  must be  revised  in the  Function HOTSOK  subprogram.   See page
C-191.
Alter  lines  234177  and 234180.   In  release MOBILE4,  the lines  (with several
additional lines presented to assist in locating the subject lines) read:

      *  1         2         3         4         5         6         7         8
C     Multiply fleet value by the fraction of vehicles with daily trips.
C     HDGV daily trip fraction is 1.0,  all other vehicles use 0.761.
C
      TRIPFR=0.761
      IF (IVGAS.EQ.4) TRIPFR=1.0

The corrected lines, with the changes  underlined for emphasis,  read:

      *  1         2         3         4         5         6         7         8
C     Multiply fleet value by the fraction of vehicles with daily trips.
C     HDGV and MC daily trip fraction  is 1.0, all other vehicles use 0.761.
C
      TRIPFR=0.761
      IF (IVGAS.GE.4) TRIPFR=1.0

-------
                                      4-18

4.2.6 Corrections  to  the RVP exhaust emission correction  factor  calculation for
      bag 1 (cold-start) CO emissions

      There are four lines of code that must be revised:
4.2.6.1   Changes to Subroutine BIGTCF.  See page C-168.
4.2.6.1.1  Alter line 226118.  In release MOBILE4, the line reads:

      *1         2         3         4         5         6         7
      DO 45 IB=1,3

The corrected line, with the change underlined for emphasis, reads:

      *  1         2         3         4         5         6         7
      DO 45 IB=LOWCO,3
4.2.6.1.2  Alter line 226136.  In release MOBILE4, the line reads:

      *  1         2         3         4         5         6         7
      DO 60 IB=1,3

The corrected line, with the changes underlined for emphasis, reads:

      *  1         2         3         4         5         6         7
      DO 60 IB=LOWCO,3
4.2.6.2   Changes to Subroutine BIGOMT.  See page C-179.


4.2.6.2.1  Alter line 231062.  In release MOBILE4, the line reads:

      *1         2         3         4         5         6         7         8
C  So if cold start & low temp CO case, correct only for operating mode here.

The corrected line, with the changes underlined for emphasis, reads:

      *1         2         3         4         5         6         7         8
C  So if cold start & low temp CO case, correct only for operating mode & RVP.


4.2.6.2.2  Alter line 231068.  In release MOBILE4, the line reads:

      *  1         2         3         4         5         6         7         8
      IF(IB.GT.1.OR.LOWCO.NE.2) OMT=OMT*TCF(IB)

The corrected line reads:

      *  1         2         3         4         5         6         7         8
      OMT=OMT*TCF(IB)

-------
                              4-19


4.3  USER'S GUIDE CORRECTIONS

     There  are  five corrections to  the  User' s Guide to MOBILE4
discussed below.  In addition,  the program corrections detailed
above  in some  cases  affected  the emission  factor  results for
the  example MOBILE4  runs  shown  in Chapter  5  of  the  User' s
Guide.    Corrected  example run  outputs  are provided here,  in a
form compatible with the distributed copies of the User's Guide.

4.3.1      In section 2.2.1.4, page 2-17, the order of tampering
types  is listed for the  case where the  user  elects to provide
alternate tampering  rates as input  to  the  model.   Two  of  the
types  are  listed  in  reversed  order,   which will  result   in
erroneous emission factors for  gasoline-fueled vehicle  types  if
not  corrected.   The correct  order,  with the  changes  indicated
by asterisks (*), is:

           l)    air pump disablement
           2)    catalyst removal
       *   3)    fuel  inlet restrictor disablement
       *   4)    overall misfueling
           5)    EGR system disablement
           6)    evaporative control system disablement
           7)    PCV system disablement
           8)    missing gas caps


4.3.2      Also in section 2.2.1.4  (page  2-17),  the  description
of the order of  the records  required for  input of  alternate
tampering  rates is  incorrect  and  incomplete.   All  zero-mile
levels   (pre-1981  and  1981+) precede  all deterioration  rates,
with each of  the  records  appearing  for  four  vehicle  types
(LDGV,  LDGT1, LDGT2, HDGV) for  either the non-I/M case  only or
both the non-I/M and  I/M cases.   A corrected  summary of  the
input appears below:

Non-I/M   Non-I/M
 Case     and I/M
Records   Records    	Description	  Format

(1-4)   (1-4)    ZML for pre-1981 MY vehicles (non-I/M)    8F8.4
(5-8)   (  5- 8)    ZML for 1981+ MY vehicles    (non-I/M)    8F8.4
          (  9-12)    ZML for pre-1981 MY vehicles (I/M)        8F8.4
          (13-16)    ZML for 1981+ MY vehicles    (I/M)        8F8.4
(  9-12)   (17-20)    DR  for pre-1981 MY vehicles (non-I/M)    8F9.5
(13-16)   (21-24)    DR1 for 1981+ MY vehicles    (non-I/M)    8F9.5
(17-20)   (25-28)    DR2 for 1981+ MY vehicles    (non-I/M)    8F9.5
          (29-32)    DR  for pre-1981 MY vehicles (I/M)        8F9.5
          (33-36)    DR1 for 1981+ MY vehicles    (I/M)        8F9.5
          (37-40)    DR2 for 1981+ MY vehicles    (I/M)        8F9.5

-------
                                4-20


These  are  the only two User' s  Guide  corrections  that may directly
impact user  preparation  of the  input  data stream  for  MOBILE4.   A
revised  copy of  page 2-17  of  the User' s Guide  reflecting these
corrections  is included in section 4.4.

4.3.3      In section 2.2.3.4, page 2-20,  the  last  sentence of the
second  paragraph  should  read  "These values  are  input  as  miles
divided by 100,000 (e.g., 12,637 miles is input as 0.12637)."

4.3.4      In section 2.2.10.3, page  2-29,  the  correspondence  of
ASTM  volatility  class designations  (A,   B,  C, D,  E) to  fuel RVP
limits contains  an error.  The ASTM  Class B  volatility  limit  is
10.0  (not  10.5)  psi.   The  correct limits are used in  the MOBILE4
program code.

4.3.5      In section 2.3.3.1,  page  2-36, the  following erroneous
statement  is made:   "In  general,  HC and CO emissions are  at  a
minimum at the average  speed of  the  Federal  Test  Procedure (FTP)
used  for  new vehicle certification,   or  19.6 mph,  with emissions
increasing as average speeds  move further from that  value (either
higher or  lower)."   In  fact,  the statement should  read  "HC and CO
emissions  are  generally  higher than  FTP  levels  at speeds  below
19.6 mph,  and generally  lower  than FTP levels at speeds above 19.6
mph. "

4.3.6      The title  of   Chapter  3,  on  page  3-1,  should  read
"MOBILE4 Outputs".


4.4  CORRECTED USER'S GUIDE PAGES

     A set of  replacement pages  for  insertion to  existing copies
of the User's  Guide  to MOBILE4 follow.   These pages are  numbered
in the same way as the originally released User's Guide  pages,  and
can simply be  inserted in  existing  copies of the  User's  Guide  as
replacements  for  the  existing  pages  having the  same numbers.   A
list of the replacement  pages included:

         Pages           Why included

     2-17 and 2-18    Page 2-17 revised to reflect  the  corrections
                      described in section 4.3.1  and 4.3.2.

     5-3 thru 5-14    Corrected examples  la,  Ib,  Ic, and Id.

     5-17 thru 5-20   Corrected example 2.

     5-23 thru 5-26   Corrected example 3.

     5-29 thru 5-31   Corrected example 4.

-------
                                2-17

     2.2.1.4  Required Information

     The following information  is  required  for input of  alternate
tampering  rates:   For each  combination  of  vehicle  type,  pre-1981
or 1981 and  later  model  year (MY), tampering type,  and non-I/M  or
I/M case, you must  supply a zero-mile level (ZML;  y-intercept)  and
deterioration  rate  (DR;  slope,  or  rate  of  increase   in  the
tampering  rate  per  10,000  miles  accumulated  mileage).   For  1981
and later MY vehicles,  a second DR is also required, defining  the
rate  of  increase  in  the  tampering  rates   after  50,000  miles
accumulated mileage.  All values must be in fractional units.

     The order of the tampering types within each record  is':1

     (1)   air pump disablement
     (2)   catalyst removal
     (3)   fuel inlet restrictor disablement
     (4)   overall misfueling
     (5)   EGR system disablement
     (6)   evaporative control system disablement
     (7)   PCV system disablement
     (8)   missing gas caps.

     A  complete set  of  alternate  tampering  rate  data  inputs  for
the non-I/M case consists of a total  of  20  records, and a  complete
set  of  inputs  for  both the  non-I/M and  I/M cases  (required  if
IMFLAG=2) consists of 40  records.   There are  five  records  for each
of the four gasoline-fueled vehicle  types  for each case  (non-I/M,
I/M).   The  five records required for each  vehicle  type  are  listed
below.   Each of  the records  listed occurs four  times  (once each
for LDGVs, LDGTls, LDGT2s,  and HDGVs, in that order).

Non-I/M  Non-I/M
  Case      and I/M
Records   Records     	Description	    Format

 (1-4)   (1-4)     ZML for pre-1981 MY vehicles  (non-I/M)   8F8.4
 (5-8)   (5-8)     ZML for 1981+ MY vehicles     (non-I/M)   8F8.4
           (  9-12)     ZML for pre-1981 MY vehicles  (I/M)       8F8.4
           (13-16)     ZML for 1981+ MY vehicles     (I/M)       8F8.4
 ( 9-12)   (17-20)     DR  for pre-1981 MY vehicles  (non-I/M)   8F9.5
 (13-16)   (21-24)     DR1 for 1981+ MY vehicles     (non-I/M)  8F9.5
 (17-20)   (25-28)     DR2 for 1981+ MY vehicles     (non-I/M)  8F9.5
           (29-32)     DR  for pre-1981 MY vehicles  (I/M)       8F9.5
           (33-36)     DR1 for 1981+ MY vehicles     (I/M)       8F9.5
           (37-40)     DR2 for 1981+ MY vehicles     (I/M)        8F9.5

where  DR1 are  applied  up to 50,000 mi  accumulated  mileage and  DR2
 are  applied after 50,000 mi accumulated mileage.    (Data  currently
 support the use of different values for DR1 and DR2 only  for LDGVs;
 however,  MOBILE4 is  structured  for input of two  DRs for  all  1981
 and  later  MY  gasoline-fueled  vehicle  types.  For vehicle  types
 other   than  LDGVs,  DR1   and DR2  are  assumed  to be  equal,  and  the
 same value should be input by  the user  for  each of them.)

-------
                                2-18

     2.2.1.5  Guidance

     For guidance  regarding EPA approval of  tampering  surveys and
the  development  of tampering  rates  based on such surveys, contact
the  Office  of  Mobile   Sources   (Field  Operations  and  Support
Division, 202/382-2633 or FTS  382-2633).


2.2.2  VEHICLE MILES TRAVELLED MIX by vehicle type

     2.2.2.1  Description

     The vehicle miles  travelled  (VMT)  mix  specifies the fraction
of  total highway  VMT  that is accumulated  by each  of  the  eight
regulated vehicle  types.  The  VMT mix  is  used  by MOBILE4  only to
calculate  the  composite   (all  vehicle,  or  fleetwide)  emission
factor for a given scenario from the eight  vehicle-class-specific
emission factors.

     2.2.2.2  Options

     You can  choose between the use of the MOBILE4 national VMT
mix  (VMFLAG =  1),  the  input of one locality-specific VMT mix for
use  in  all  scenarios of  a  given  MOBILE4 run (VMFLAG =  3), or the
input of a  distinct locality-specific  VMT  mix for  each  scenario
(VMFLAG = 2).

     For  inventory  construction   purposes,  EPA  generally  will
requires states to develop and use  their  own specific estimates of
VMT  by vehicle type.   In such cases, VMT  fractions  based on those
estimates of  VMT  by  vehicle  type  should be  calculated  and used
here as input.

     2.2.2.3  MOBILE4 VMT Mix

     MOBILE4  calculates  the  VMT   mix  based   on  national  data
characterizing  registration   distributions   and  annual  mileage
accumulation rates by  age  for  each vehicle  type,  diesel  sales
fractions by  model  year  (for LDVs  and  LDTs  only),  total  HDDV
registrations   and  annual  mileage  accumulations  by weight class,
and  total  vehicle  counts  (fleet   size)   by  vehicle  type.
Considering the  dependance  of the VMT  mix  on  the  annual mileage
accumulation  rates  and  registration  distributions  by  age  (see
section  1.3),   the  use  of  the   MOBILE4  VMT   mix  is  generally
recommended in cases  where the focus  is on  direct comparison  of
emission factors  under  different assumptions.

     As  noted  above,  for  inventory   construction  states  will
generally develop  and apply their  own estimates of VMT  by vehicle
type.   The  use  of  an  alternate  VMT  mix  will  result  in  minor
internal inconsistencies; for  example,  assumptions  concerning the

-------
1           PROMPT -
M08ILE4 Example la:
           TAMFLG -
           SPDFLG -
           VMFLAG -
           MVMRFG -
           NEWFLG -
           IMFLAG -
           ALHFLG -
           ATPFLG -
           RLFLAG -
           LOCFLG -
           TEMFLG -
           OUTFMT -
4          PRTFLG -
1           IDLFLG -
2          NMHFLG -
2          HCFLAG -
1  80 19.6 75.0 20.6
Ann Arbor     MI C
1  85 19.6 75.0 20.6
Ann Arbor     MI C
1  90 19.6 75.0 20.6
Ann Arbor     MI C
1  95 19.6 75.0 20.6
Ann Arbor
      vertical flag Input, no prompting
      OUTFMT = 1 (long (220 column) numeric output format)
      default tampering rates
      one speed per scenario for all IV
      default voit mix
      default registration and mileage accrual rates
      default exhaust emission rates
      no I/M program
      no additional correction factor Inputs
      no ant1-tamperlng program
      uncontrolled refueling losses
      read In local area parameters as 2nd req sc rec
      calculate exhaust temperatures
      long 220 column numeric output format
      print exhaust HC. CO and NOx emission factor results
      do not print idle emissions results
      print NMHC
      print HC components
      27.3 20.6
      60.  84. 11.5 11.5 20
      27.3 20.6
      60.
           84. 11.5 11.5 20
      27.3 20.6
      60.  84. II.
      27.3 20.6
5 11.5 20
MI C  60.  84. 11.5 11.5 20
1 00 19.6 75.0 20.6
Ann Arbor     MI C
      27.3 20.6
      60.  84. 11.5 11.5 20
   1st req sc rec: IREJN.ICV.
LAP rec: SCNAME.RVPAST.TEMMIN
   1st req sc rec: IREJN.ICV.
LAP rec: SCNAME.RVPAST.TEMMIN
   1st req sc rec: IREJN.ICV.
LAP rec: SCNAME.RVPAST.TEMMIN
   1st req sc rec: IREJN.ICV.
LAP rec: SCNAME.RVPAST.TEMMIN
   1st. req sc rec: IREJN.ICV.
LAP rec: SCNAME.RVPAST.TEMMIN
SPO(1).AMBT.PCCN.PCHC.PCCC
.TEMMAX.RVPBAS.RVPIUS.IUSESV
SPD(1).AMBT.PCCN.PCHC.PCCC
.TEMMAX.RVPBAS.RVPIUS.IUSESV
SPD(1).AMBT.PCCN.PCHC.PCCC
.TEMMAX.RVPBAS.RVPIUS.IUSESV
SPO(1).AMBT.PCCN.PCHC.PCCC
.TEMMAX.RVPBAS.RVPIUS.IUSESV
SPO(1).AMBT.PCCN.PCHC.PCCC
.TEMMAX.RVPBAS.RVPIUS.IUSESV

-------
MOBILE4 Example la: OUTFMT = I (long (220 column) numeric output format)
R
e
a cv
1 80




1 80
1 80
1 90




1 90
1 90
1 0




1 0
1 0




Vehicle Speeds
19.6/19.6/19




19.6/19.6/19
19.6/19.6/19
19.6/19.6/19




.6/19.6/19




.6/19.6/19
.6/19.6/19
.6/19.6/19




19.6/19.6/19.6/19.6/19
19.6/19.6/19
19.6/19.6/19




19.6/19.6/19
19.6/19.6/19
.6/19.6/19
.6/19.6/19




.6/19.6/19
.6/19.6/19
.6/19.




.6/19.
.6/19.
.6/19.




.6/19.
.6/19.
.6/19.




.6/19.
.6/19.
6/19.6/19




6/19.6/19
6/19.6/19
6/19.6/19




6/19.6/19
6/19.6/19
6/19.6/19




6/19.6/19
6/19.6/19
Amb
Tmp
.6 78




.6 78
.6 78
.6 78




.6 78
.6 78
.6 78




.6 78
.6 78


P
Alt. o
Cold/Hot Start in Ft. 1
20.6 27




20.6 27
20.6 27
20.6 27




20.6 27
20.6 27
20.6 27




20.6 27
20.6 27
.3 20.6




.3 20.6
.3 20.6
.3 20.6




.3 20.6
.3 20.6
.3 20.6




.3 20.6
.3 20.6
Composite Emission Factors
LDGT HDGV
11.
5.
2.
0.
2.
67.
3.
4.
2.
1 .
0.
0.
35.
2.
3.
1 .
0.
0.
0.
23.
1.
037 20.121
648 10.159
876 6.779
484 0.821
029 2.362
504 186.457
826 6.750
855 8.854
715 3.478
034 2.975
349 0.604
757 1.797
151 69.840
020 5.422
071 6.300
657 2.418
561 1.700
326 0.539
526 1.643
258 37.435
474 4.301
LDOV
0.609
0.609



1 .503
1 .499
0.600
0.600



1.564
1.447
0.461
0.461



1.392
1.068
LDDT
0.945
0.945



2.119
1.949
0.723
0.723



1.672
1.546
0.633
0.633



1 .550
1.205
HDDV
4.916
4.916



15.553
28.912
2.513
2.513



12.289
18.531
2.051
2.051



10.881
8.723
UC
8.8S9
6.566
2.293


33.627
0.470
5.314
2.331
2.984


21.953
0.821
4.858
1.859
2.999


21.437
0.830
Al 1 Veh LDGV LDGT1
9.337 0
4.697
2.412
0.407
1.821
58.632 0
4.396 0
4.435 0
2.130
0.947
0.284
1.072
27.650 0
2.306 0
2.908 0
1.208
0.572
0.245
0.884
17.028 0
1.418 0
.708 0.129




.708 0. 129
.708 0.128
.710 0.127




.710 0.127
.710 0.127
.693 0.116




.693 0.116
.693 0.116
500. 1
X
V
R
T
500. 2
500. 3
500. 1
X
V
R
T
500. 2
500. 3
500. 1
X
V
R
T
500. 2
500. 3

LDGV LDGT!
8.967 9.309
4.294 4.782
2.357 2.128
0.410 0.484
1.906 1.914
56.881 62.064
3.052 3.307
4.387 4.644
1.942 2.668
0.917 0.875
0.283 0.350
1 . 245 0 . 750
25.952 34.854
1.586 1.974
2.974 3.041
1.059 1.626
0.581 0.568
0.247 0.326
1.087 0.521
16.143 22.849
1.068 1.477

LDGT 2
13.664
6.964
4.013
0.482
2.204
75.778
4.614
5.168
2.785
1.270
0.348
0.765
35.591
2.089
3.111
1.699
0.552
0.326
0.534
23.817
1.469























Vehicle Mix
LDGT2 HDGV LDDV LDDT
0.085 0




0.085 0
0.085 0
0.086 0




0.086 0
0.086 0
0.085 0




0.085 0
O.OBS 0
.015 0.006 0.001




.015 0.006 0.001
.015 0.006 0.001
.015 0.013 0.004




.015 0.013 0.004
.015 0.013 0.004
.015 0.035 0.017




.015 0.035 0.017
.015 0.035 0.017
HDDV MC
0.045 0.010




0.045 0.010
0.045 0.010
0.034 0.010




0.034 0.010
0.034 0.010
0.029 0.010




0.029 0.010
0.029 O.O10
Scenario Title
Ann Arbor MI




Ann Arbor MI
Ann Arbor MI
Ann Arbor MI




Ann Arbor MI
Ann Arbor MI
Ann Arbor MI




Ann Arbor MI
Ann Arbor MI
                                                                                                                                Ui
                                                                                                                                I

-------
1          PROMPT -
MOBILE4 Example tb:
           TAMFLG -
           SPDFLG -
           VMFLAG -
           UVMRFG -
           NEWFLG -
           IMFLAG -
           ALHFLG -
           ATPFLG -
           RLFLAG -
           LOCFLG -
           TEMFLG -
           OUTFMT -
           PRTFLG -
           IOLFLG -
           NMHFLG -
2
4
I
2
2
1 BO 19.6 75
Ann Arbor
I 90 19.6 75
Ann Arbor
           HCFLAG -
             0 20.6
              HI C
             0 20.6
              Ml C
1 00 19.6 75.0 20.6
Ann Arbor     MI C
vertical flag input, no prompting
OUTFMT = 2 (short (139 column) numeric output format)
default tampering rates
one speed per scenario for all IV
default vmt mix
default registration and mileage accrual rates
default exhaust emission rates
no I/M program
no additional correction factor inputs
no ant 1-tamperIng program
uncontrolled refueling losses
read In local area parameters as 2nd req sc  rec
calculate exhaust temperatures
short 139 column numeric output format
print exhaust HC. CO and NOx emission factor results
do not print Idle emissions results
print NMHC
print HC components
27.3 20.6
60.
     84.  11.5  11.5 20
27.3 20.6
60.  84. 11.5  11.5 20
27.3 20.6
60.  84. 11.5  11.5 20
   1st req sc rec: 1REJN.ICY.SPD(1).AMBT.PCCN.PCHC.PCCC
LAP rec: SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS.IUSESV
   1st req sc rec: IREJN.ICV.SPO(1).AMBT.PCCN.PCHC.PCCC
LAP rec: SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS.IUSESV
   1st req sc rec: IREJN.ICV.SPD(1).AMBT.PCCN.PCHC.PCCC
LAP rec:. SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS. IUSESV
                                                                                                                              Ui
                                                                                                                              I

-------
MOBILE4 Example 1b: OUTPUT = 2 (short (139 column)  numeric output format)
R
e Amb.
9 CV Tmp
1 80




1 80
1 80
t 90




1 90
1 90
1 0




1 0
1 0
78




78
78
78




78
78
78




78
78
Cold/Hot Start
20.6




20.6
20.6
20.6




20.6
20.6
20.6




20.6
20.6
27.3




27.3
27.3
27.3




27.3
27.3
27.3




27.3
27.3
20.6




20.6
20.6
20.6




20.6
20.6
20.6




20.6
20.6
P
o
1
X
V
R
T
2
3
1
X
V
R
T
2
3
1
X
V
R
T
2
3
LDGV
8.97
4.29
2.36
0.41
1.91
56.88
3.05
4.39
1.94
0.92
0.2B
1.25
25.95
1.59
2.97
1.06
0.58
0.25
1.09
16.14
1.07
LOGT1
9.31
4.78
2. 13
0.48
1 .91
62.06
3.31
4.64
2.67
0.87
0.35
0.75
34.85
1.97
3.04
1.63
0.57
0.33
0.52
22.85
1.48
LDGT2
13.66
6.96
4.01
0.48
2.20
75.78
4.61
5.17
2.78
1 .27
0.35
0.77
35.59
2.09
3.11
1 .70
0.55
0.33
0.53
23.82
1.47
Composite Emission Factors
LOGT HOGV LOOV LOOT
11.04
5.65
2.88
0.48
2.03
67.50
3.83
4.86
2.71
1.03
0.35
0.76
35. 15
2.02
3.07
1.66
0.56
. 0.33
0.53
23.26
1.47
20. 12
10.16
6.78
0.82
2.36
186.46
6.75
8.85
3.48
2.98
0.60
1 .80
69.84
5.42
6.30
2.42
1.70
0.54
1.64
37.43
4.30
0.61
0.61



1.50
1.50
0.60
0.60



1.56
1.45
0.46
0.46



1.39
1.07
0.95
0.95



2.12
1.95
0.72
0.72



1.67
1.55
0.63
0.63 •



1.55
1.21
HDOV
4.92
4.92



15.55
28.91
2.51
2.51



12.29
18.53
2.05
2.05



10.88
8.72
MC
8.86
6.57
2.29


33.63
0.47
5.31
2.33
2.98


21.95
0.82
4.86
1.86
3.00


21.44
0.83
Al IVeh
9.34
4.70
2.41
0.41
1 .82
58.63
4.40
4.43
2.13
0.95
0.28
1.07
27.65
2.31
2.91
1.21
0.57
0.24
0.88
17.03
1 .42
Vehicle Mix
LDGV
LDGT1LDGT2HOGV
LOOV LOOT
HOOV
UC








 .708 .129 .085 .015 .006 .001 .045 .010
                                                                                                                              Ln
                                                                                                                              I
 .708 .129 .085 .015 .006 .001 .045 .010
 .708 .129 .085 .015 .006 .001 .045 .010
 .710 .127 .086 .015 .013 .004 .034 .010
 .710 .127 .086 .015 .013 .004 .034 .010
 .710 .127 .086 .015 .013 .004 .034 .010
 .693 .116 .085 .015 .035 .017 .029 .010
 .693 .116 .085 .015 .035 .017 .029 .010
 .693 .116 .085 .015 .035 .017 .029 .010

-------
1           PROMPT -
MOBILE4 Example 1C:
           TAMFLG -
           SPDFLG -
           VMFLAG -
           MVURFC -
           NEMFLG -
           IMFLAG -
           ALHFLG -
           ATPFLG -
           RLFLAG -
           LOCFLG -
           TEMFLG -
           OUTFMT -
           PRTFLG -
           IOLFLG -
           NMHFLG -
           HCFLAG -
  80 19.6 75.0 20.6
       vertical  flag  input,  no  prompting
       OUTFMT  -  3  (landscape (112  column)  descriptive  output)
       default tampering  rates
       one  speed per  scenario for  alI  IV
       default vmt mix
       default registration  and mileage accrual  rates
       default exhaust  emission rates
       no I/M  program
       no additional  correction factor inputs
       no ant 1-tampering  program
       uncontrolled refueling losses
       read in local  area parameters as 2nd  req  sc rec
       calculate exhaust  temperatures
       MOBILE4 112 column descriptive  output format
       print exhaust  MC.  CO  and NOx emission factor results
       do not  print Idle  emissions results
       print NMHC
        print HC  components
        27.3 20.6
Ann Arbor
1 90 19.6 75
Ann Arbor
1 00 19.6 75
Ann Arbor
  MI  C
.0 20.6
  MI  C
.0 20.6
  MI  C
                    60.
                         84. 11.5 11.5 20
27.3 20.6
60.  84. 11.5 11.5 20
27.3 20.6
60.  84. 11.5 11.5 20
   1st req sc rec: IREJN,ICY.SPD(1).AMBT.PCCN.PCHC.PCCC
LAP rec: SCNAME.RVPAST.TEMM1N.TEMMAX.RVPBAS.RVPIUS.IUSESV
   1st req sc rec: IREJN.ICV.SPO(1).AMBT.PCCN.PCHC.PCCC
LAP rec: SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS,IUSESV
   1st req SC rec: IREJN,ICY.SPD(1).AMBT.PCCN.PCHC.PCCC
LAP rec: SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS.IUSESV
                                                                                                                               in
                                                                                                                               I

-------
MOBILE4 Example 1C: OUTPUT - 3 (landscape (112 column) descriptive output)
Non-methane HC emission factors Include evaporative HC emission factors.
Cal. Vear: 1980

Ann Arbor Ml
Base RVP: 1 1.
Veh. Type:
Veh. Speeds:
VMT Mix:
I/M
Anti-tarn.
Program :
Program:
ASTM Class:
5 In-u«e RVP t
LDGV
19.6
0.708
Composite Emission Factors
Non-Math HC:
Exhaust HCi
Evaporat HC:
Refuel L HC:
Runing L HC:
Exhaust CO:
Exhaust NOX:
Cal. Year: 1990

Ann Arbor MI
Base RVP: 11.
Veh. Type:
Veh. Speeds:
VMT Mix:
8.97
4.29
2.36
0.41
1 .91
56.88
3. OS
I/M
Anti-tan.
LOGT1
19.6
0.129
(Cm/Mile)
9.31
4.78
2.13
0.48
1.91
62.06
3.31
Program:
Program:
ASTM Class:
5 In-use RVP:
LDGV
19.6
0.710
Composite Emission Factors
Non-Meth HC:
Exhaust HC:
Evaporat HC:
Refuel L HC:
Runtng L HC:
Exhaust CO:
Exhaust NOX:
Cal. Year: 2000

Ann Arbor MI
Base RVP: 11.
Veh. Type:
Veh. Speeds:
VMT Mix:
4.39
1.94
0.92
0.28
1.25
25.95
1.59
I/M
Ant 1 -tarn.
LOGT1
19.6
0.127
(Gn/Mile)
4.64
2.67
0.87
0.35
0.75
34.85
1.97
Program:
Program:
ASTM Class:
5 In-use RVP:
LDGV
19.6
0.693
Composite Emission Factors
Non-Meth HC:
Exhaust HC:
Evatfhat HC:
2.97
1.06
0.58
LOGT1
19.6
0.116
(Cm/Mile)
3.04
1.63
0.57
No
No
C
11.5
LOGT2
19.6
0.085

13.66
6.96
4.01
0.48
2.20
75.78
4.61
No
No
C
11 .5
LOOT 2
19.6
0.086

5.17
2.78
1.27
0.35
0.77
35.59
2.09
No
NO
C
11.5
LOGT2
19.6
0.085

3.11
1.70
O.SS
Ambient
Operating
Minimum
Temp : 78 . 1
Mode: 20.6
Temp: 60.
/ 78
/ 27
(F)
. 1 /
.3 /

78.1 (F) Region: Low
20.6 Altitude: 500.
Maximum Temp: 84.

Ft.
(F)






In-use Start Vr: 2020
LDGT



11 .04
5.65
2.88
0.48
2.03
67.50
3.83
Ambient
Operating
Minimum
HDGV
19.6
0.015

20.12
10.16
6.78
0.82
2.36
186.46
6.75
Temp: 78.1
Mode: 20.6
Temp: 60.
LDDV
19
0

0
0



1
1
/ 78
/ 27
(F)
.6
.006

.61
.61



.50
.50
.1 /
.3 /

LOOT HDDV
19.6 19.6
0 . 00 1 0 . 045

0.95 4.92
0.95 4.92



2.12 15.55
1.95 28.91
78.1 (F) Region: LOH
20.6 Altitude: 500.
Maximum Temp: 84.
MC
19.6
0.010

8.86
6.57
2.29


33.63
0.47

Ft.
(F)
Al 1



9
4
2
0
1
58
4



Veh



.337
.697
.412
.407
.821
.632
.396



In-use Start Vr: 2020
LDGT



4.86
2.71
1 .03
0.35
0.76
35.15
2.02
Ambient
Operating
Minimum
HDGV
19.6
0.015

8.85
3.48
2.98
0.60
1 .80
69.84
5.42
Temp: 78.1
Mod*: 20.6
Temp: 60.
In-use Start Vr: 2020
LDGT



3.07
1 .66
0.56
HDGV
19.6
oiois

6.30
2.42
1.70
LDDV
19
0

0
0



1
1
/ 78
/ 27
(F)

.6
.013

.60
.60



.56
.45
.1 /
.3 /


LDDV
19
0

0
0

.6
.035

.46
.46

LDDT HDDV
19.6 19.6
0.004 0.034

0.72 2.51
0.72 2.51



1.67 12.29
1.55 18.53
78.1 (F) Region: LOH
20.6 Altitude: 500.
Maximum Temp: 84.

LOOT HDDV
19.6 19.6
0.017 0.029

0.63 2.05
0.63 2-05

MC
19.6
0.010

5.31
2.33
2.98


21.95
0.82

Ft.
(F)

MC
19.6
0.010

4.86
1.86
3.00
Al 1



4
2
0
0
1
27
2




Al 1



2
1
Veh



.435
. 130
.947
.284
.072
.650
.306




Veh



.908
.208
0.572
                                                                                                                              CD

-------
Refuel L HC:
Run ing L HC:
Exhaust
Exhaust
CO:
NOX:
0.25
1 .09
16. 14
1.07
0.33
0.52
22.85
1.48
0.33
0.53
23.82
1 .47
0.33
0.53
23.26
1 .47
0.54
1 .64
37.43
4.30


1.39
1 .07


1 .55
1.21


10.88
8.72


21 .44
0.83
0.245
0.884
17.028
1 .418
in
 I
VO

-------
               5-10

-------
1           PROMPT -
MOBILE4 Example Id:
           TAMFLG -
           SPOFLG -
           VMFLAG -
           MVMRFG -
           NEWFLC -
           IMFLAG -
           ALHFLG -
           ATPFLG -
           RLFLAG -
           LOCFLG -
           TEMFLG -
4          OUTFMT -
4          PRTFLG -
1           IDLFLG -
2          NMHFLG -
2          HCFLAG -
      vertical flag Input, no prompt1n9
      OUTFMT = 4 (portrait (BO column) descriptive output format)
      default tampering rates
      one speed par scenario for alI IV
      default voit mix
      default registration and mileage accrual rates
      default exhaust emission rates
      no I/M program
      no additional correction factor Inputs
      no ant 1-tampering program
      uncontrolled refueling losses
      read in local area parameters as 2nd req sc rec
      calculate exhaust temperatures
      portrait 80 column descriptive output format
      print exhaust MC. CO and NOx emission factor results
      do not print idle emissions results
      print NMHC
I 80 19.6 7S.O 20.6
Ann Arbor     MI C  60.
1 90 19.6 75.0 20.6 27.3 20.6
Ann Arbor
      print HC component*
      27.3 20.6
           84. 11.5 11.5 20
MI C  60.  84. 11.5 11.5 20
1 00 19.6 75.0 20.6
Ann Arbor     MI C
      27.3 20.6
      60.  84. 11.5 11.5 20
   1st req sc rec: IREJN.ICV.SPOCI).AMBT.PCCN.PCHC.PCCC
LAP reci  SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS.IUSESV
   1st req sc rec: IREJN.ICV.SPD(1).AMBT.PCCN.PCHC.PCCC
LAP rec:  SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS. IUSESV
   1st req SC rac: IREJN.ICV,SPD(I).AMBT.PCCN.PCHC.PCCC
LAP rec:  SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS.IUSESV
                                                                                                                               ui

-------
MOBILE4 Example Id:  OUTPUT = 4 (portrait  (80 column)  descriptive output  format)

Non-methane HC emission factors Include evaporative HC  emission factors.
Cal. Year:  I960
           Regioni LOM
      I/M Program: No
Ant 1-tarn. Program No
      Altitude:
  Ambient Temp:
Operating Mode:
500. Ft.
 78.1 / 78.1 / 78.1 F
 20.6 / 27.3 / 20.6
Ann Arbor     MI       ASTM Class:  C
                    Minimum Temp:  60.  (F)    Maximum Temp:  84.  (F)
                        Base RVP:  11.S   In-use  (IU)  RVP:  11.5   IU 1st Yr:  2020
Veh. Type:
Veh. Spd. :
VMT Mix:
LDGV
19.6
0.708
Composite Emission
No-Mth HC: 8.97
Exhst HC: 4.29
Evap. HC: 2.36
Refuel HC: 0.41
Runing HC: 1 .91
Exhst CO: 56.88
Exhst NOX: 3.05
Cal. Year:
Ann Arbor
Veh. Type:
Veh. Spd.:
VMT Mix:
Composite
No-Mth HC:
Exhst HC:
Evap. HC:
Refuel HC:
Runing HC:
Exhst CO:
Exhst NOX:
Cal. Year:
Ann Arbor
Veh. Type:
V'W
LDGT1 LOGT2
19.6 19.6
0.129 0.085
LD6T
Factors (Gm/Mile)
9.31 13.66 11.04
4.78 6.96 5.65
2.13 4.01 2.88
0.48 0.48 0.48
1.91 2.20 2.03
62.06 75.78 67.50
3.31 4.61 3.83
1990 Region:
I/M Program:
Anti-tarn. Program:
MI
LDGV
19.6
0.710
Emission
4.39
1.94
0.92
0.28
1.25
25.95
1.59
ASTM Class:
Minimum Temp:
Base RVP:
LDGT1 LDGT2
19.6 19.6
0.127 0.086
Low
No
No
C
60.
11.5
LDGT
Factors (Cm/Mi le)
4.64 5.17 4.86
2.67 2.78 2.71
0.87 1.27 1.03
0.35 0.35 0.35
0.75 0.77 0.76
34.85 35.59 35.15
1.97 2.09 2.02
2000 Region:
I/M Program:
Ant i- tarn. Program:
MI
LDGV
19.6
ASTM Class:
Minimum Temp:
Base RVP:
LOGT1 LDGT2
T5T6 TSTe
Low
NO
NO
C
60.
11.5
LDGT
HDGV
19
0
20
10
6
0
2
186
6
.6
.015
.12
.16
.78
.82
.36
.46
.75
LDDV
19.6
0.006
0.61
0.61
1.50
1.50
LOOT
19.6
0.001
0.95
0.95
2.12
1.95
HDDV MC All
19
0
4
4
15
28
Altitude: 500
Ambient Temp: 78
Operating Mode: 20
(F)
Maximum
In-use (IU)
HDGV
19
0
8
3
2
0
1
69
5
.6
.015
.85
.48
.98
.60
.80
.84
.42
LODV
19.6
0.013
0.60
0.60
1.56
1.45
Temp: 84
RVP: 11
LOOT
19.6
0.004
0.72
0.72
1.67
1.55
is
.6 19.
.045 0.
.92 8.
.92 6.
2.
.55 33.
.91 0.
. Ft.
.1 / 7B.
.6 / 27.
6
010
86 9
57 4
29 2
0
1
63 58
47 4
1 / 78
3/20
(F)
IU 1st Vr:
HDDV MC
19
0
2
2
12
18
Altitude: 500
Ambient Temp: 78
Operating Mode: 20
(F)
Maximum
In-use (IU)
HDGV
7576
LDDV
19.6
Temp : 84
RVP: 11
LOOT
19.6
!s
.6 19.
.034 0.
.51 5.
.51 2.
2.
.29 21.
.53 0.
. Ft.
. 1 / 78 .
.6 / 27.
All
6
010
31 4
33 2
98 0
0
1
95 27
82 2
1 / 78
3/20
Veh

.34
.70
.41
.41
.82
.63
.40
.1 F
.6
2020
Veh

.43
.13
.95
.28
.07
.65
.31
.1 F
.6
(F)
IU 1st Vr: 2020
HDDV MC
19.6^aM97
All
6
Vah
                                                                                                                              Ul
                                                                                                                              I

-------
  VMT Mix:  0.693  0.116  0.085         0.015  0.035  0.017  0.029  0.010

Composite Emission Factors (Gm/Mile)
                                                                    4.86   2.91
                                                                    1.86   1.21
                                                                    3.00   0.57
                                                                           0.24
                                                                           0.88
Exhst  CO: 16.14  22.85  23.82  23.26  37.43   1.39   1.55  10.88  21.44  17.03
Exhst NOX:  1.07   1.48   1.47   1.47   4.30   1.07   1.21   8.72   0.83   1.42
No-Mth
Exhst
Evap.
Refuel
Run ing
HC:
HC:
HC:
HC:
HC:
2.97
1.06
0.58
0.25
1.09
3.04
1 .63
0.57
0.33
0.52
3. 11
1.70
0.55
0.33
0.53
3.07
1 .66
0.56
0.33
0.53
6.30
2.42
1.70
0.54
1.64
0
0



.46
.46



0
0



.63
.63



2.05
2.05




-------
               5-14

-------
1          PROMPT - vertical flag input, no prompting
MOBILE4 Example 2: RLFLAG = 3 (volatility and onboard control)
           TAMFLG - default tampering rates
           SPDFLG - one speed per scenario for all IV
           VMFLAG - default vmt mix
           MVMRFG - default registration and mileage accrual rates
           NEWFLG - default exhaust emission rates
           IMFLAG-- no I/M program
           ALHFLG - no additional correction factor inputs
           ATPFLG - no anti-tampering program
           RLFLAG - refueling losses/onboard VRS
           LOCFLG - read In local area parameters as 2nd req sc rec
           TEMFLG - calculate exhaust temperatures
3          OUTFMT - MOBILE4 112 column descriptive output format
4          PRTFLG - print exhaust HC. CO and NOx emission factor results
1          IDLFLG - do not print Idle emissions results
2          NMHFLG - print NUHC
2          HCFLAG - print HC components
93 2222       IOBMV, IVOB
1 80 19.6 75.0 20.6 27.3 20.6                     1st req sc rec: IREJN.ICV.SPD(1).AMBT.PCCN.PCHC.PCCC
Ann Arbor     MI C  60.  84. 11.5  9.0 90      LAP rec: SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS. IUSESV
1 90 19.6 75.0 20.6 27.3 20.6                     1st req sc rec: IREJN.ICV,SPO(I).AMBT.PCCN.PCHC.PCCC
Ann Arbor     MI C  60.  84. 11.5  9.090      LAP rec: SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS.IUSESV
1 00 19.6 75.0 20.6 27.3 20.6                     1st req sc rec: IREJN.ICV.SPO(1).AMBT.PCCN.PCHC.PCCC
Ann Arbor     MI C  60.  84. 11.5  9.0 90      LAP rec: SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS. IUSESV
                                                                                                                              in
                                                                                                                              I

-------
MOBILE4 Example 2: RLFLAG = 3 (volatility and onboard control)

Non-methane HC emission factors Include evaporative HC emission factors.
Cal. Veer: I960 I/M Program i No Ambient Temp: 78. 1
Antl-taa. Program: No Operating Mode: 20.6
Ann Arbor MI ASTM Class: C Minimum Temp: 60.
Base RVP: 11.5 In-use RVPj
Veh. Type:
Veh. Speeds:
VMT Mix:
LDGV
19.6
0.708
Composite Emission Factors
Non-Math HC:
Exhaust HC:
Evaporat HC:
Refuel L HC:
Runing L HC:
Exhaust CO:
Exhaust NOX:
8. 97
4.29
2.36
0.41
1.91
56.88
3.05
LDGT1
19.6
0.129
(Cm/Mile)
9.31
4.78
2.13
0.48
1.91
62.06
3.31
/ 78.1 / 78.1 (F) Region: LOM
/ 27.3 / 20.6 Altitude: 500
(F) Maximum Temp: 84.
. Ft.
(F)

9.0 In-use Start Yr: 1990
LDGT2
19.6
0.085

13.66
6.96
4.01
0.48
2.20
75.78
4.61
LDGT



11.04
5.65
2.88
0.48
2.03
67.50
3.83
HDGV
19.6
0.015

20.12
10.16
6.78
0.82
2.36
.186.46
6.75
LDDV
19.6
0.006

0.61
0.61



1.50
1.50
LOOT
19.6
0.001

0.95
0.95



2. 12
1.95
HDDV
19.6
0.045

4.92
4.92



15.55
28.91
MC
19.6
0.010

8.86
6.57
2.29


33.63
0.47
Al 1 Veh



9.337
4.697
2.412
0.407
1 .821
58.632
4.396
Cal. Year: 1990
Ann Arbor     MI
   Base RVP: 11.5
      I/M Program: No
Anti-tarn. Program: No

       ASTM Class: C
       In-use RVP:  9.0
   Ambient Temp:  78.1 / 78.1 / 78.1 (F) Region:  Co-
 Opera ting Mode:  20.6 / 27.3 / 20.6   Altitude:   500.  Ft.
   Minimum Temp:   60.  (F)
In-use Start Vrt  1990
Maximum Temp:  84.  (F)
Veh. Type:
Veh. Speeds:
VMT Mix:
LOGV
19.6
0.710
Composite Emission Factors
Non-Meth HC:
Exhaust HC:
Evaporat HC:
Refuel L HC:
Runing L HC:
Exhaust CO:
Exhaust NOX:
Cal. Year: 2000

Ann Arbor MI
Base RVP: 11.
Veh. Type:
Veh. Speeds:
VMT Mix:
2.87
1.76
0.52
0.22
0.36
21.57
1.58
I/M
Anti-ta«.
LDGT1
19.6
0.127
(Cm/Mile)
3.38
2.38
0.49
0.28
0.23
28.29
1.98
Program:
Program:
ASTM Class:
5 In-use RVP i
LOGV
19.6
0.693
Composite Emission Factors
Non-Meth HC:
Exhaust HC:
Eva^^t HC:
1.48
0.84
0.26
LDGT1
19.6
0.116
(Cm/Mile)
1.78
1.27
0.27
LDGT2
19.6
0.086

3.76
2.52
0.74
0.28
0.22
29.40
2.09
No
No
C
9.0
LDGT2
19.6
0.085

1.83
1.32
0.27
LOGT



3.53
2.44
0.59
0.28
0.22
28.74
2.02
Ambient
Operating
Minimum
HOGV
19
0

6
3
1
0
0
63
5
Temp:
Mode:
Temp:
In-use Start Yr:
LDGT



1.80
1 .29
0.27
.6
.015

. 17
.36
.76
.48
.58
.81
.74
78.1
20.6
60.
1990
HOGV
19
0

3
2
0
.6
.015

.77
.21
.88
LDOV
19.6
0.013

0.60
0.60



1.56
1.45
/ 78.1 /
/ 27.3 /
(F)

LODV
19.6
0.035

0.46
0.46

LOOT
19.6
0.004

0.72
0.72



1.67
1.55
78.1 (F)
HDDV
19.6
0.034

2.51
2.51



12.29
18.53
Region: Low
20.6 Altitude: 500.
Maximum Temp: 84.

LOOT
19.6
0.017

0.63
0.63


HDDV
19.6
0.029

2:05
2.05

MC
19.6
0.010

4. 19
2.33
1.86


21 .95
0.82

Ft.
(F)

MC
19.6
0.010

3.73
1 .86
1 .87
All Veh



3.025
1 .941
0.543
0.226
0.315
23.082
2.304




All Veh



1.571
0.981
0.269
                                                                                                                                Ul
                                                                                                                                I
                                                                                                                                00

-------
Refuel L HC:
Run ing L HC:
Exhaust CO:
Exhaust NOX:
0.08
0.30
10.51
1.04
0.10
0.15
14.64
1.44
0.09
0.15
15.20
1.43
0.09
0.15
14. 88
1.43
0.13
0.55
28.83
4.67
1.39
1.07
1.55
1 .21
10.88
8.72
21 .44
0.83
O.O76
0.245
1 1 .316
1 .394
Ul

H—
VO

-------
               5-20


-------
t          PROMPT - vertical flag input, no prompting
MOBILE4 Example 3: ATPFLG = 2 (Anti-tampering Prgra). LAPSV = 1986. ICVIM =  1983
           TAMFLG - default tampering rates
           SPDFLG - one speed p«r scenario for all IV
           VMFLAG - default vrot mix
           UVMRFG - default registration and mileage accrual rates
           NEWFLG - default exhaust emission rates
           IMFLAG -I/M program
           ALHFLG - no additional correction factor inputs
           ATPFLG - antt-tanparlno program
           RLFLAG - uncontrolled refueling losses
           LOCFLG - read In local area parameters as 2nd req sc rec
           TEMFLG - calculate exhaust temperatures
           OUTFMT ~ MOBILE4 112 column descriptive output format
           PRTFLG - print exhaust HC. CO and NOx emission factor results
           10LFLG - do not print tdla emissions results
           NMHFLG - print NMHC
           HCFLAG - do ont print HC components
I
1
I
t
1
2
1
2
1
I
1
3
4
1
2
1
83 30 68 20 20 10 070 2 2 2221 2 11
86 75 20 2111 11 090. 22211221
1 79 19.6 75.0 20.6 27.3 20.6
Ann Arbor     MI C  60
1 80 19.6 75.0 20.6 27.3 20.6
Ann Arbor     MI C  60.  84. 11
1 90 19.6 75.0 20.6 27.3 20.6
              MI C  60
     19.6 75.
Ann Arbor
                         84. 11.5 11.5 20
                                5 11.5 20
84. 11.5 11.5 20
                                      I/M program: ICVIM,ISTRIN.MODVR1/2,WAIVER(1-2),CRIM.INTVP.IFREQ,ILOT(l-4).ITEST,NUDATA(1-2)
                                      ATP parameters: start. 1st myr.  last myr,  veh  types, insp pgm & freq. compliance, disablements
                                                  1st req sc rect IREJN.ICV.SPO(1).AMBT.PCCN,PCMC.PCCC
1 00 19.6 75.0 20.6 27.3 20.6
Ann Arbor     MI C  60.  84. 11.5 11.5 20
1 20 19.6 75.0 20.6 27.3 20.6
Ann Arbor     MI C  60.  84. 11.5 11.5 20
LAP rec: SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS.IUSESY
   1st req sc rec: IREJN.ICV.SPO(1).AMBT.PCCN.PCHC.PCCC
LAP rec: SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS.IUSESY
   1st req SC rec: IREJN.ICV.SPO(1).AMBT.PCCN.PCHC.PCCC
LAP rec: SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS.IUSESV
   1st req sc rec: IREJN.ICV.SPD(I).AMBT.PCCN.PCHC.PCCC
LAP rec: SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS.IUSESV
   1st req sc rec: IREJN.ICV,SPD(1).AMBT.PCCN.PCHC.PCCC
LAP rec: SCNAME.RVPAST.TEMMIN.TEMMAX.RVPBAS.RVPIUS.IUSESV
                                                                                                                                Ln
                                                                                                                                I
                                                                                                                                K>
                                                                                                                                U>

-------
MOBILE4 Example 3: ATPFLC = 2 (Antt-tampertn9 Prgro). LAPSV = 1986. ICVIM = 1983
M10B Warning:  The ATP compliance rata of  90.0 is not  equal to the I/M compliance rate of  70.0


M109 Warning:  The ATP Inspection frequency Is Annual   and the I/M Inspection frequency Is Biennial


Ml 10 Warning:  The ATP Inspection type Is Central  the I/M Inspection type Is Dec Comp
I/M program selected:

    Start year (January 1):
    Pre-1981 MVR stringency rate:
    First model year covered:
    Last model year covered:
    Waiver rate (pre-1981):
    Waiver rate (1981 and neiier):
    Compliance Rate:
    Inspection type:
    Inspection frequency
    Vehicle types covered:
                           1983
                            30%
                           1968
                           2020
                           20.%
                           10.%
                           70.%
                           Computerized decentralized
                           Biennial
                           LOCV
                          LOCT1
                          LOOT 2
                           HOGV
                           2500
  - Ves
  - Ves
  - Ves
  - No
  rpm / Idle
    1981 & later MVR test type:

Ant 1-tampering program selected:

    Start year (January 1):             1986
    First model year covered:           1975
    Last model year covered:            2020
    Vehicle types covered:              LDGV

    Type:                               Cent ra11 zed
    Frequency:                          Annual
    Compliance Rate:                    90.0%

    Air pump system disablements:       Ves
    Catalyst removals:                  Ves
    Fuel Inlet restrlctor disablements: Ves
    Tailpipe lead deposit test:         No
    EGR disablement:                    No
    Evaporative system disablements:    Ves
    PCV system disablements:            Ves
    Missing gas.caps:                   No

Non-methane HC emission factors include evaporative HC emission factors.
                                                                                                                  Ul

                                                                                                                  10
Cal. Year; 1979
          I/M Program:  Vas
    Anti-ta*. Program:  Ves
Ann Arbor
   Base RVP:
 MI         ASTM Class:  C
11.5       In-use RVP:  11.5
                                              Ambient Temp: 78.1 / 78.1 / 78.1 (F) Region:  Low
                                            Operating Mode: 20.6 / 27.3 / 20.6   Altitude:   500.  Ft.
   Minimum Temp:   60.  (F)
In-use Start Vr:  2020
Maulmum Temp:   84.  (F)

-------
Veh. Type:
Veh. Speeds:
VMT Mix:
LDGV
19.6
0.711
Composite Emission Factors
Non-Meth HC:
Exhaust CO:
Exhaust NOX:
Cal. Vear: 1980

Ann Arbor MI
Base RVP: 11 .
Veh. Type:
Veh. Speeds:
VMT Mix:
9.48
59.53
3.14
I/M
Anti-tarn.
LDGT1
19.6
0.130
(Gm/Mtle)
9.75
64. 65
3.44
Programs
Programs
ASTM Class:
5 In-use RVP:
LDGV
19.6
0.708
Composite Emission Factors
Non-Meth HCi
Exhaust CO:
Exhaust NOX:
Cal. Vear: 1990

Ann Arbor MI
Base RVP: 11.
Veh. Type:
Veh. Speeds:
VMT Mix:
8.97
56.88
3.05
I/M
Anti-tarn.
LDGT1
19.6
0.129
(Gm/Mtle)
9.31
62.06
3.31
Program:
Program:
ASTM Class:
5 In-use RVP:
LDGV
19.6
0.710
Composite Emission Factors
Non-Meth HC:
Exhaust CO:
Exhaust NOX:
3.89
20.34
1.54
LDGT1
7176
0.127
(Cm/Mile)
4.25
29.49
1.84
LDGT 2
19.6
0.085

14.98
82.11
5.02
Ves
Ves
C
11. S
LDGT2
10.6
0.085

13.66
75.78
4.61
Ves
Ves
C
11.5
LDGT2
19.6
0.086

4.81
29.81
1.96
LDGT HDGV



11.82
71.69
4.07
Ambient
Operating
Minimum
19
0

21
208
6
Temp:
Mode:
Temp:
In-use Start Vr:
LDGT



11.04
67.50
3. B3
Ambient
Operating
Minimum
.6
.015

.55
.89
.91
78.1
20.6
60.
2020
HDGV
19
0

20
186
6
Temp:
Mode:
Temp:
In-use Start Vr:
LDGT



4.48
29.62
1.89
.6
.015

.12
.46
.75
78.1
20.6
60.
2020
HDGV
19
0

a
69
5
.6
.015

,85
.84
.42
LDDV
19
0

0
1
1
/ 78
/ 27
(F)

.6
.003

.76
.73
.53
.1 /
.3 /


LDDV
19
0

0
1
1
/ 78
/ 27
(F)

.6
.006

.61
.50
.50
. 1 /
.3 /


LDDV
19
0

0
1
1
.6
.013

.60
.56
.45
LDDT HDDV
19.6 19.6
0.000 0.045

0.92 5.07
2.08 14.91
1.92 29.46
78. 1 (F) Region: LOH
20.6 Altitude: 500.
Maximum Temp: 84.

LDDT HDDV
19.6 19.6
0.001 0.045

0.95 4.92
2.12 15.55
1.95 28.91
78.1 (F) Region: Low
20.6 Altitude: 500.
Maximum Temp: 84.

LDDT HDDV
19.6 19.6
0.004 0.034

0.72 2.51
1.67 12.29
1.55 18.53
MC
19.6
0.010

9.77
35.33
0.39

Ft.
(F)

MC
19.6
0.010

8.86
33.63
0.47

Ft.
(F)

MC
19.6
0.010

5.31
21.95
0.82
All Veh
-^~~~~


9.945
61 .960
4.546




All Veh



9.337
58.632
4.396




All Veh



4.003
22.486
2.247
                                                                                                                                in
                                                                                                                                 I
                                                                                                                                N>
                                                                                                                                Ul
Cal. Vear: 2000        I/M Program: Ves
                 Anti-tarn. Program: Vas
                             Ambient Temp: 78.1 / 78.1  /  78.1  (F) Region: Low
                           Operating Mode: 20.6 / 27.3  /  20.6   Altitude:  500. Ft.
Ann Arbor     MI
   Base RVP: 11.5
       ASTM Class: C
       In-use RVP: 11.5
   Minimum Temp:  60. (F)
In-use Start Vr: 2020
Maximum Temp:   64.  (F)
Veh. Type:
Veh . Speeds :
VMT Mix:
LDGV
19.6
0.693
Composite Emission Factors
Non-Meth HC:
Exhaust CO:
Exhaust NOX:
2.57
12.49
0.97
LDCT1
19.6
0.116
(Gm/Mile)
2.70
19.08
1.36
LDGT 2
19.6
0.085

2.76
19.91
1.35
LDGT



2.73
19.43
1.36
HDGV
19
0

6
37
4

!oi5

.30
.43
.30
LDDV
19.6
o!o35

0.46
1 .39
1.07
LDDT
19.6
o!oi7

0.63
1.55
1.21
HDDV
19.6
0.029

2.05
10.88
8.72
MC
19.6
0.010

4.86
21.44
0.83
Al 1 Veh



2.556
13.730
1.329
Cal. Vear: 2020
      1/M Program: Ves
Anti-tarn. Program: Ves
   Ambient Temp: 78.1 / 78.1 / 76.1 (F) R«8lons        _
 Operating Mode: 20.6 / 27.3 / 20.6   Altitude:   500.  Ft.

-------
Ann Arbor
   Base RVP:

  Veh. Type:
Van. Speeds:
    VMT Mix:
 MI
II. 5
ASTM Class:
In-use RVP:
C
1 1 .5

 LDGT2
 19.6
  O.OB6
   Minimum Temp:  60. (F)
In-use Start Vr: 2020

     LDGT
                                                                             Maximum Temp:  84. (F)
Composite Emission Factors (On/Mile)
Non-Meth HC:      2.53      2.58      2.65
Exhaust  CO:     12.08     18.05      18.98
Exhaust NOX:      0.95      1.30      1.30
                                   2.61
                                  18.46
                                   1.30
                                  6.03
                                 34.03
                                  4.19
                                0.50
                                1.45
                                1.10
                                   0.68
                                   1.60
                                   1.23
                                                                           HDDV
                                                                          19.6
                                                                           0.029
 2.03
10.78
 8.05
                                                                                     MC
                                                                         19.6
                                                                          0.010
 4.86
21.44
 0.83
                                                                                            All  Veh
 2.483
13.054
 1 .286
                                                                                                                                 Ui

-------
1 PROMPT - vertical flag input, no prompting
MOBILE4 Example 4: MVMRFG = 4 (New mileage accrual rates » registration dist)
TAMFLG - default tampering rates
SPDFLG - one speed per scenario for all IV
VMFLAG - default vmt mix
4 MVMRFG - new registration and mileage accrual rates
NEWFLG - default exhaust emission rates
IMFLAG - no I/M program
ALHFLG - no additional correction factor inputs
ATPFLG - no antl-tampering program
RLFLAG - uncontrolled refueling losses
LOCFLG - read in local area parameters as 2nd raq sc rec
TEMFLG - calculate exhaust temperatures
3 OUTFMT - MOBILE4 112 column descriptive output format
4 PRTFLG - print exhaust HC. CO and NOx emission factor results
1 IDLFLG - do not print idle emissions results
2 NMHFLG - print NMHC
1
































1
HCFLAG - do
.12800 .12100
.07200 .06800
.17400 .16100
.08200 .07600
.18400 .16900
.08300 .07600
.19900 .18100
.07400 .06700
.12800 .12100
.07200 .06800
.17500 .16300
.08200 .07600
.19900 .18100
.07400 .06700
.04100 .02800
.00200 .00000
.075 .107 .107
.039 .027 .018
.061 .095 .094
.036 .024 .030
.037 .070 .078
.044 .032 .038
.037 .070 .078
.044 .032 .038
.075 .107 .107
.039 .027 .018
.061 .095 .094
.036 .024 .030
.077 .135 .134
.025 .015 .013
.105 .225 .206
.008 .005 .013
80 19.6 75.0
.11400
.06400
.15000
.07000
. 15600
.07100
.16400
.06100
. 11400
.06400
.15100
.07000
.16400
.06100
.02100
.00000
.106 .
.014 .
.103 .
.028 .
.086 .
.036 .
.086 .
.036 .
.106 .
.014 .
. 103 .
.028 .
.131 .
.011 .
.149 .
.000 .
20.6 27
Ann Arbor MI C 60
1
90 19.6 75.0
20.6 27
Ann Arbor MI C 60
1
00 19.6 75.0
20.6 27
Ann Arbor MI C 60
ont print HC
.10800 .
.06100 .
.13900 .
.06500 .
. 14400 .
.06500 .
.14800 .
.05500 .
.10800 .
.06100 .
.14000 .
.06500 .
.14800 .
.05500 .
.01600 .
.00000 .
100 .092
009 .006
083 .076
026 .024
075 .075
034 .032
075 .075
034 .032
100 .092
009 .006
083 .076
026 .024
099 .090
010 .008
097 .062
000 .000
.3 20.6
. 84. 1
.3 20.6
. 84. 1
.3 20.6
10200
05700
12900
06100
13300
06000
13400
05000
10200
05700
12900
06000
13400
05000
01200
00000
.085
.005
.076
.022
.075
.030
.075
.030
.085
.005
.076
.022
.082
.007
.046
.000

1.5 11

1.5 11

. 84. 11.5 11
components
.09600 .09100
.05400 .05100
.11900 .11100
.05600 .05200
.12300 .11400
.05600 .05100
.12100 .11000
.04500 .04100
.09600 .09100
.05400 .05100
.12000 .11100
.05600 .05200
.12100 .11000
.04500 .04100
.00800 .00600
.00000 .00000
.077 .066 .052
.005 .005 .004
.063 .054 .043
.020 .018 .016
.068 .059 .053
.028 .026 .024
.068 .059 .053
.028 .026 .024
.077 .066 .052
.005 .005 .004
.063 .054 .043
.020 .018 .016
.062 .045 .033
.006 .005 .004
.033 .029 .023
.000 .000 .000

.5 20 LAP

.5 20 LAP

.5 20 LAP

.08600
.04800
.10300
.04800
.10500
.04700
.10000.
.03700
.08600
.04800
.10300
.04800
. 1 0000
.03700
.00400
.00000


.08100 .07600 AMAR LDGV my
.04600 .04300
.09500 .08800
.04500 .04200
.09700 .09000
.04400 .04000
.09000 .08200
.03300 .03000
.08100 .07600
.04600 .04300
.09500 .08800
.04400 .04100
.09000 .08200
.03300 .03000
.00200 .00200
.00000 .00000
JULMVR.LDGV. .my ages















1st req
.LDGV. .my ages
.LDGTI.my ages
. LDGT1 .my ages
.LDGT2.my ages
.LDGT2.my ages
.HDGV. .my ages
.HDGV. .my ages
. LDDV. .my ages
. LDOV. .my ages
.LOOT. .my ages
.LOOT. .my ages
.HDDV. .my ages
.HDDV.. my ages
.MC 	 my ages
.MC. . . .my ages
sc rec: IREJN.ICV
LDGV my
LOGT1 my
LDGT1 my
LDGT2 my
LDGT2 my
HDGV my
HDGV my
LDOV my
LDDV my
LOOT my
LOOT my
HDDV my
HDDV my
MC my
MC my
-10
1-20
-10
1-20
-10
1-20
-10
1-20
-10
1-20
-10
1-20
-10
11-20
1-10
11-20

ages
ages
ages
ages
ages
ages
ages

-10
1-20
-10
1-20
-10
1-20
-10








ages 1-20
ages
-10

ages 1-20
ages
ages
ages
ages
ages
-10
1-20
-10
1-20
-10





ages 11-20
































. SPO ( 1 ) . AMBT . PCCN . PCHC
rec: SCNAME.RVPAST.TEMMIN.TEMMAX.
1st req
sc rec: IREJN.ICV
RVPBAS
.RVPIUS
.SPO(1). AMBT. PCCN. PCHC
rec: SCNAME.RVPAST.TEMMIN.TEMMAX.
1st req
sc rec: IREJN.ICV
RVPBAS
.RVPIUS
SPD( 1 ) . AMBT . PCCN . PCHC
rec: SCNAME.RVPAST.TEMMIN.TEMMAX.
RVPBAS
.RVPIUS
















.PCCC
.IUSE.SV
.PCCC
. IUSESY
.PCCC
. IUSESV
in
10

-------
MOBILE4 Example 4: MVMRFG = 4 (New mileage accrual rates & registration dist)
M 49 Warning:  0.999     MYR sum not = 1. (will normalize)
M 49 Warning:  0.992


M 49 Warning:  0.999


U 49 Warning:  0.992


M 49 Warning:  0.992


M 49 Warning:   1.00
                         MVR sum not - 1. (Mill normalize)


                         MVR mum not - I. (will normalize)


                         MVR cum not * 1. (Hill normalize)


                         MYR sum not - 1. (nil I normalize)


                         MVR sum not - 1. (Hill normalize)
M 21 Warning:  0.500E-02 registration with zero mileage


M 21 Warning:  0.130E-OI registration with zero mileage.

Non-methane HC emission factors Include evaporative HC emission factors.
User supplied  mileage accrual distributions, veh registration distributions.
                                                                                                                              u>
                                                                                                                              o
Cal. Year: I960
                       I/M Program: No
                 Anti-tarn. Program: No
  Ambient Temp: 78.1 / 78.1 / 78.1 (F) Region: Low
Operating Mode: 20.6 / 27.3 / 20.6   Altitude:  500.  Ft.
Ann Arbor MI ASTM Class: C
Base RVP: 11.5 In-use RVP:
Veh. Type:
Veh. Speeds:
VMT Mix:
LOGV
19.6
0.740
Composite Emission Factors
Non-Met h HC:
Exhaust CO:
Exhaust NOX:
7.30
47.07
2.89
LDGT1
19.6
0. 139
(Gm/Mlle)
9.06
62.37
3.29
Minimum
Temp : 60 .
(F)
Maximum
Temp: 84.
(F)


11.5 In-use Start Vr: 2020
LDGT2
19.6
0.083

14.50
81.10
4.80
UDGT



11.09
69.36
3.86
HDGV
19.6
0.013

22.31
209 . 39
7.12
LODV

0.006

0.58
1.46
1.48
LOOT
19.6
0.001

0.94
2.11
1.94
HDDV
19.6
0.012

4.06
13.10
26.33
MC
19.6
0.006

8.30
28.79
0.55
Al 1



a
S3
3
Veh



.265
.367
.410
User supplied  mileage accrual distributions; veh registration distributions.

Cal. Year:  1990
                       I/M Program: No
                 Anti-tarn. Program: No
Ann Arbor .    MI
   Base RVP: 11.5

  Veh. Type:
Veh. Speeds:     1
                        ASTM Class: C
                        In-use RVP: 11.5
  Ambient Temp: 78.1 / 78.1 / 78.1 (F) Region:  Low
Operating Mode: 20.6 / 27.3 / 20.6   Altitude:   500.  Ft.

                                 Maximum Temp:   84.  (F)
   Minimum Temp:   60.  (F)
In-use Start Vr:  2020

     LDGT      HDGV      I
                                                                                                  MC
                                                                                                 19.6
                                                            A I 1 Veh

-------
    VUT Mix:
                  0.735
                            0.136
                                      0.083
                                                          0.013
                                                                    0.011
                                                                              0.004
                                                                                        0.012
                                                                                                  0.006
Composite Emission Factors (Cm/Mi !•)
Non-Math HC:
Exhaust C0<
Exhaust NOXs
3.11
15.94
1.15
4.40
33.88
1.94
5.85
40.37
2.30
4.95
36.34
2.08
10.50
84.23
5.64
0.49
1.42
1.34
0.72
1.67
1.56
2.37
11.17
18.00
6.02
19.45
0.83
3.582
21.052
1.614
User supplied  mileage accrual distributions, veh registration distributions.
Cal. Vear: 2000
Ann Arbor     MI
   Base RVP: 11.5
      I/M Program: No
Ant 1-tarn. Program: No

       ASTM Class: C
       In-use RVPi 11.5
   Ambient Temp:  78.1 / 78.1 / 78.1 (F) Region:  Co-
 operating Mode:  20.6 / 27.3 / 20.6   Altitude:   500.  Ft.
   Minimum Temp:  60. (F)
In-use Start Vr: 2020
Maximum Temp:  84.  (F)
Veh. Type:
Veh. Speeds:
VMT Mix:
LDGV
19.6
0.714
Composite Emission Factors
Non-Meth HC:
Exhaust CO:
Exhaust NOX:
2.64
12.61
0.95
LOGT1
19.6
0.122
(Got/Mile)
3.08
23.50
1.51
LOGT2
19.6
0.082

3.44
26.82
1.60
LDGT



3.22
24.83
1.55
HDGV
19.
0.

6.
40.
. 4.
6
013

92
71
47
LDDV
19.6
0.033

0.41
1.32
1.00
LOOT
19.6
0.018

0.63
1.55
1.20
HDOV
19.6
0.012

2.04
10.21
8.43
MC
19.6
0.006

5.96
19.45
0.83
All Veh



2.720
14.931
1.213
                                                                                                                            Ul
                                                                                                                            I
                                                                                                                            u>

-------
      Appendix A
MOBILE4 STRUCTURE CHART

-------
                               A-l



                    MOBILE4 STRUCTURE CHART
MAIN
1 	 GETOU
CONSEC




ONESEC 	


PARS EC


REGMCO
EFCALX 	

OUTPUT 	
CUTTER
	 CUTHDR
I'M tm-n
	 GETVER 	
i ii .PI — TTAftl —.^
	 GETVMT 	
	 GETMRN 	

	 Gtlb-O 	

	 GUTTER
GUTTER
xsl 	 t
	 GUfTER
	 GUTTER
	 GUTTER
	 YRTEST —
i i I rYVSHJ
	 STOERQ —
i 	 YRTEST —
	 GETIMP 	 	 QUITER
1 	 GETIMC —


	 CEVTPD
	 GETNAT 	
	 RDCITY 	
	 GETSC1 	
i /Y^/II
	 GETVMT 	
	 GETALH 	
	 IGSFPT 	
__^ i try* lyt i
	 CEVMPO
.« TTPAI v ^_^
(see next page)
	 OUTHDI
_ f»| nTYn ^_^
	 OUTHD2
	 OUTDT2 	
	 OUTDT3 	
	 OUTDT4 	
OUTNEW
	 YRTEST —
	 ATPAER —
	 CALAER
wrvrr-**-^
	 GUTTER
E GUTTER
YRTEST —
	 CUTER
	 YRTEST —
	 RDCITY —
f*i ii • i ik
	 CALTEM —
	 CALUDI —
	 OUTER
	 GUTTER
	 GUTTER

*SI IIIKM

	 OUTPCL
	 OUTPCL
	 OUTLAP
	 OUTPCL
	 OUTLAP





	 OUTER
I v^AnlA
	 GUTTER
	 GUTTER
	 GUTTER
	 GUTTER
	 ENFOFC

	 GUTTER
	 GUTTER
j 	 GUTTER
' 	 YRTEST-
j 	 OUTPOL
"" 	 GUTTER
	 GUTTER


	 OUTTAM
	 OUTNEW
	 OUTWP
	 OUTATP
	 OUTLAP
	 OUTMTH
	 USOPTR

                                                        GUTTER

-------
                                 A-2




                      MOBILE4 STRUCTURE CHART
EFCALX
. GETCUM




-TAMPER 	


- RERJB_
i 	 MCHEK
	 DISATP 	 DISIMP 	



	 EFFGRP 	

i 	 ITAMPT
	 TECHO
	 C1T07
	 C8TO12
	 A8TO11 	
	 ADJ12 —
	 ATPEFF
	 SETEGS
i 	 ITAMPT
	 EMIRAT 	
1 	 OUTPCL
	 BAGEME
	 EVPEME 	
. RVPEXH 	 1 OUTP01-
1 	 IGRVPT

- BIGCFX 	
- IDLCAL

	 BIGIN1
	 BIGALH 	

	 BGTCF 	
	 OTCALC
	 ITAMPT


	 IGTPTR 	

i 	 IGRVPT
	 BK3RVP
	 IEVPTR 	

	 BIGTAM
' 	 BIGOMT 	 BFPTR 	

— CUTER


-- H

- HCCALX 	 (see next page)
- K3SFPT 	
- BEF 	
- OUTER
	 CUTER
	 PCLEFT 	 IMPTR

	 DISCAL



	 C8TO12
EC1TO7
C8TO12





	 OUTER



	 QUITEE


	 OUTER

CIERPTR
PCLBT



                                                         IMPTR

-------
                                   A-3
                    M08ILE4 STRUCTURE CHART
HCCAUC
	 IGSFPT 	 OUrTER

..-nM-r* *•» 	


	 BEF 	
1 	 PCLEFT 	 IMPTR




	 CCEVRT 	





	 OUTER
ir~t m-m **• ii I I »>



	 HOTSOK 	 1
	 EVMAIN 	
	 DURNL 	 1





	 EVPRE
	 EVH
	 EV81
I 	 EV81
	 EV85 	
1 	 EVCERT
	 EVUNC
	 EVCERT
	 CRAH
-------
       Appendix  B
MOBILE4 MODULE DICTIONARY

-------
                           Appendix B

                    MOBILE4  MODULE  DICTIONARY
     Each module of the MOBILE4 program is  listed  below,  in the
order  in  which  they  appear  in  the  source code,  along  with a
brief statement of the purpose and function of  each.   After the
MAIN  (driver)   and  QUITER  modules,   there  are  five  functional
categories   of   modules:    input,    processing   (calculation),
pointer (index), output, and block data.
Module    	Purpose
MAIN      This is the  MOBILE4  driver.   It  sets  up the  run and
          then loops through scenarios.

QUITER    Prints  error,  warning,  and comment  messages on I/O
          unit IOUERR.

-------
                               B-2

                          Input Modules
Module

CONSEC
GETIOU
                     Purpose
GETVER


GETHOR




ONESEC


GETTAM


GETVMT


GETMRN
GETERQ




YRTEST


HDCGPM




HDCPIC
Reads  in  and  validates  the  Control  Section  flags;
sets  input  mode  for  run;  resets  output units  (if
requested); and reads in and stores the run title.

Reads  in  and  parses  the prompt/mode  flag.   GETIOU
also  reads in user  supplied output unit  numbers,  if
present,  and assigns  the acceptable  numbers to  the
appropriate I/O unit names.

Reads  in and validates Control  Section  Flags via the
vertical input mode (one flag per line, format II).

Reads  in a  validates Control Section  flags via  the
horizontal  input  mode (all  flags  entered  on  a single
line, format II,  IX, IX,...,II).

If control  flags indicate that  One-time Data are  to
be supplied, reads in, validates, and stores the data.

Reads in, validates,  and  stores  replacement tampering
rates.

Gets  the fleet  vehicle miles  travelled  (VMT) mix  by
vehicle type.

Checks  for  and  reads  in and  screens user  supplied
mileage    accural    rates    and/or     registration
distributions.   Whether or not  the  distributions  are
replaced, they are normalized.

Reads in, performs  range  checks  on, converts to  g/mi
(if  NEWVEH =  HDV),  and  stores  replacement  emission
factor rates and their associated parameters.

Converts  2-digit  input  year  to  4-digit  year  theb
checks whether or not year is in  the acceptable range.

Converts  user  entered  new emission rates  from  grams
per  brake-horsepower  (g/BHP-hr) to  grams  per  mile
(g/mi) units.

Selects  the HDV g/BHP-hr  to g/mi  units  conversion
factor.

-------
                               B-3
                          Input  Modules
Module

STOERQ
                     Purpose
GETIMP



GETIMC

GETATP
ATPAER



ENFORC


CALAER



WTLRUL
CEVTPD
GETNAT
Attempts  to  store  the  user  supplied  specifications
for  new FTP  basic  emission rate  equations,  and when
successful  (i.e.,  when   room  found  in  the  user-
supplied    rate   arrays)    zeroes   out   all   idle
coefficients  for the  specified  pollutant,  vehicle,
and region  combination.

Reads   in  and  processes  the   I/M Program  parameter
record  and,   if   requested,  calls  GETIMC   to  get
alternate I/M credits.

Reads in user-supplied alternate I/M credits.

Reads  in and verifies  user  supplied  anti-tampering
program  parameters;   calls  ATPAER  and   CA1AER  to
generate  the   anti-tampering effectiveness  rates  for
the run.

Generates the base  anti-tampering  effectiveness rate
matrices,  based  on  a  subset  of   the  anti-tampering
program parameters.

Computes    the   enforcement    rate,    given    the
corresponding compliance rate,  for either I/M or ATP.

Calculates  the effect  of an anti-tampering program on
tampering rates  and stores  the  results in the  right
anti-tampering effectiveness matrix.

Weighs  together  the  13 trip   length  cases for each
running loss HC combination of temperature/volatility/
model year  group/vehicle type,  for both  the base and
tampered emission rate tables.

Calculates  trips  per  day,  by  the type  and  relative
(to calendar  year  of evaluation)  age of  the vehicle.
Since  relative age  is  used,   one set of  rates  is
calculated for use on all scenarios of the run.

Reads in  and  processes parameters  for  refueling loss
HC controls (Stage  II  and/or  onboard  vapor  recovery
systems), if required.

-------
ModuIe

RDCITY

PARSEC


GETSC1


LOCAL


CALTEM



CALUDI



GETALH



REGMOD



HDOMYM


CEVMPD


TFCALX
                     B-4

                Input Modules

               	Purpose
Reads in the Local Area Parameters (LAP) record.

Reads  in  and  validates  the  Scenario  Data  section
variables.

Reads  in and  validates  the  first required  scenario
parameter record (scenario descriptive record).

Initializes  the local data  common blocks,  using the
Local Area Parameters.

Calculates  exhaust,  evaporative,  and  running  loss
temperatures  for the  given scenario  from  the  input
minimum and maximum daily temperatures.

Uses passed  in fuel RVP  levels,  minimum  and  maximum
daily  temperatures  for  the given scenario from the
input minimum and maximum daily temperatures.

Reads in and validates the optional  correction factor
(CF) parameters  record (air  conditioning,  extra load,
trailer towing, and humidity) used in BIGAHL.

Modifies  model  year  mileage/registration  arrays  to
account for the  requested  evaluation  year,  time frame
of the data, and projected fleet sales fractions.

Computes  annual weighted  calendar year  mileage  for
heavy-duty diesel vehicles.

Calculates miles per day by  the type and relative (to
calendar year of evaluation)  age of the vehicle.
Computes   the   travel    fractions,
registration mix.
VMT   mix,    and

-------
                               B-5
Module

EFCALX



GETCUM

TAMPER
IMCHEK


DISATP
DISIMP
DISCAL
EFFGRP
EMI RAT


BAGEME
             Processing Modules

             	Purpose	
Driver    routine   for   the    processing   section.
Calculates  composite emission  factors for  the given
scenario.

Computes  average January 1, fleet cumulative mileages.

Computes  exhaust tampering effects on  bag  1,  2, and 3
exhaust  HC,  CO, and NOx emissions;  on idle on HC, CO
and  NOx  emissions;  and on  crankcase, hot  soak,  and
diurnal evaporative HC emissions.

Determines whether  or  not  an I/M program applies to a
given vehicle type/model year combination.

Computes  the  disablement  rates for  the given vehicle
type,  model  year  and  mileage distribution.   If  the
start year  of an anti-tampering program  precedes  the
evaluation  year,  then two sets  of  rates  are produced
(one  applying through the ATP start year,  the other
to the entire 20-model-year window.

Takes  the passed  in ATP  case,  determines  which  I/M
case  applies,  calls DISCAL'to calculate  it,  and  (if
necessary)   substitutes   (Non-I/M)/(I/M)   line  limit
values.

Computes  the  disablement rate  for  the given vehicle
type,  model  year  interval,  I/M  program  (or  lack
thereof), mileage distribution, and disablement class.

Builds  the  tampering effects  group  sizes  array.  The
tampering rates from  DISATP  are modified  to account
for  technology vs  tampering  types,  overlap factors,
anti-tampering  effectiveness  factors,  and  technology
.group  sizes.    The  rates  returned  are divided  into
effects   groups  corresponding  to   the   significant
emission  impact tampering groups.

Computes  and  assigns  emission  impact rates  or  the
tampering effects groups.

Multiplies    the    effects   group    sizes    by   the
corresponding  weighted emission  impact rates  to  get
the tampering bag  emission effects  and idle tampering
offsets.

-------
                              B-6
ModuIe
EVPEME
             Processing Modules

             	Purpose	
OTCALC


TECHO
C1T07
C8T012




A8T011


ADJ12


ATPEFF


SETEGS




REFUEL




RVPEXH
Does  the same work  for evaporative and  crankcase HC
as  EFFGRP,   EMIRAT   and   BAGEME   do  for   exhaust,
producing   the  evaporative/running   loss   tampering
rates and crankcase HC emission offset.

Returns  a  component  of  the Overall  Tampering  Rate
(OTR) equation.

Determines  whether  or  not to  compute  the  effects
groups for  the passed  in TGSUSE/IQG/IPG values.   If
the  effects loop  is  to  be completed, TECHO  decides
what  subset of  the  basic  tampering  rates  is  to  be
used.

Calculates  overlap categories  1  to  7 for  tampering
effects.     These   cover   all  the   allowable  overlap
combinations  of  the  4  base tampering cases for  the
bag effects for the given pollutant group.

Calculates  category  sizes  8  to  12  for  tampering
effects.    Categories  8  to  11  are   the  no  overlap
cases.  Category 12 is the no tampering at all case.

Adjusts  effects  category  sizes  when  one  or more  of
the no overlap categories (8 to 11) are negative.

Adjusts  all  category sizes to  eliminate a  negative
category 12 size.

Applies  the anti-tampering  effectiveness factors  to
the 11 positive tampering effect categories.
                             \
Sets  the effects group sizes by combining  subsets of
the  overlap  category  sizes  and  weighting  by  the
corresponding technology group sizes.

Computes refueling loss HC emission factors  (in g/mi)
by  relative model year  for the  four vehicle  types
affected.

Generates  the RVP exhaust  emission  factor CFs,  for
the  neutral (no  adjustment) and  model  year group 1
(1971-79 LDGV/T HC and CO) cases.

-------
                               B-7
ModuIe

BIGCFX
             Processing Modules

             	Purpose	
BIGIN1
BIGALH
BIGIN2
BIGTCF
BIGRVP
BIGSAL


BIGMET



BIGOMT


HCCALX
Computes CFS  to  be applied to  the  composite emission
factors.   User  selected  options  and  data  determine
the adjustments  (if  any)  for  the following variables:
speed,  air  conditioning,  humidity,  extra  loading,
trailer  towing,   temperature,   by-bag RVP,  operating
model, methane, and tampering.

Sets  up  the BIGCFX  coefficient calculations loops by
initializing   parameters and  variables/arrarys  used
in those calculations.

Computes  the  optional emission  factor  CFs for  air
conditioning,  humidity,   extra   loading,  and  trailer
towing for  vehicle types  LDGV,  LDGT1, LDGT2, and LDGT
(composite   of  LDGT1  and   LDGT2).    The   humidity
correction  is also applied to MCs.

Initializes  the  vehicle-class-specific parameters and
flags used  subsequently by BIGCFX  in the calculation
of emission factor CFs and offsets.

Computes  the multiplicative  temperature CF and,  in
some  cases,  the  RVP  CF and/or  additive  temprature CO
offset.

Computes the  combined temperature  and  RVP  correction
factor (CF)  used when the  pollutant  temperature  (T)
is at or  above 75.0°F (FTP standard),  and the  RVP CF
alone when T is below 75.0°F.

Computes SALHCF,  the  speed   (and,  if  LDGV/T  or  MC,
optional adjustments) multiplicative CF table.

Takes the  additive  tampering offset from TAMPER and
corrects it  for  operating mode,  temperature and,  if
appropriate , RVP.

Computes  the basic  emission factor's  multiplicative
correction for operating mode and temperature.

Calculates HC emission factors.

-------
                               B-8
Module

CCEVRT
             Processing Modules

             	Purpose	
HOTSOK

DIURNL

OLDMPD




CRANKC

EVMAIN
EVPRE
EVSTD
EVHI
EV81
EV85
Returns  a combined  evaporative  (hot soak  + diurnal)
and crankcase HC emission  factor.   The  hot  soak value
is weighted by  trips per day, and the evaporative sum
is weighted by miles per day.

Selects the yearly value for hot soak HC.

Selects the yearly value for diurnal HC.

Selects the old MOBILES  fixed (not varying  with VMT)
yearly  value  for  miles/day.  Not  called  in  release
MOBILE4.

Selects the yearly value for crankcase HC.

Is the  driver  ("main")  for  the  block  of  functions
that  calculate  hot  soak  or diurnal rates,  given the
vehicle type, emission  standard,  base/in-use/certifi-
c at ion   fuel    RVP   index,   and  the   non-tampered/
uncontrolled/certification  equation  group  specified
in the parameter list.

Calculates  a  hot  soak  or diurnal  rate for  a  pre-
control emission standard,  given the vehicle type and
fuel RVP or Wade Index, respectively.

Calculates  the  hot   soak  or   diurnal  rate  for  a
standard  in  the  controlled  (to  pre-810   LDGV  and
LDGTl/2  classes,  given  the fuel RVP  or Wade  Index,
respectively.

Calculates the  high-altitude, 1972-76 model  year, hot
soak  or  diurnal for LDGVs  and LDGTls,  given the fuel
RVP or Wade Index,  respectively.

Calculates  a  hot  soak   or  diurnal   rate   for  the
1985+HDGV emission standard,  given  the  equation group
and the fuel RVP or Wade Index,  respectively.

Calculates a  hot soak or  diurnal  rate for  the  1985+
HDGV  emission  standard,  given the  equation  group and
the fuel RVP or Wade Index, respectively.

-------
                               B-9
ModuIe
EVUNC
EVCERT
RULOSS
BEF
PCLEFT
IDLCAL

BEFIDL
             Processing Modules

             	Purpose	
Calculates a  hot soak or  diurnal  for an uncontrolled
emission   equation,   given   the  emission   standard
context  (vehicle  class,   model  year,  etc.)  and  the
fuel RVP.

Calculates hot soak or diurnal  emission rate assuming
a change  in  certification fuel  volatility,  given the
fuel delivery system  and  the fuel  RVP  or  Wade  Index,
respectively.

Computes  (using  four-point  linear  interpolation)  the
running  loss  emission rate  for each model year  and
gasoline-fueled  vehicle  class,   at  the given RVP and
running loss  temperature.

Returns  the  basic   emission   factor   adjusted   for
operating  mode,  CO   temperature   offset,   methane
offset,  temperature,  RVP  (some  cases),  inspection/
maintenance program effects,  and tampering offset.

Determines the   basic  emission  factor  multiplicative
adjustment (   =  percentage left  of  BEF =  PCLEFT)  for
the   effects   of   an  inspection/maintenance   (I/M)
program, after checking whether  or not  I/M applies to
the factor being computed by the calling function.

Calculates the idle emission factors.

Returns  the  basic idle  emission factor  adjusted for
operating  mode,   I/M,   methane  and   tampering,   as
appropriate.

-------
      B-10
 Pointer Modules

	Purpose
Module    	

IGEPTR    Selects the  model  year  group  (MYG)  pointer  to  the
          fraction of vehicles equipped with air conditioning.

IGUPTR    Selects the  MYG pointer to  the fraction  of  vehicles
          using air conditioning.

IGLPTR    Selects the  MYG pointer to  the fraction  of  vehicles
          with trailer in tow.

IBFPTR    Selects  the   MYG  pointer  to   the  normalized  bag
          fraction  coefficient  arrays,   by  vehicle  type  and
          model year group.

IERPTR    Selects the  array pair  and  the MYG pointer  into  the
          intercept and  slope  arrays for  the FTP  base  emission
          rate equations.

ISPPTR    Selects   the   MYG   pointer   to   the   bag   speed
          normalization coefficients or the  speed CF for  LDGV,
          LDGT1, LDGT2 and MC.

EXMPTR    Selects the MYG pointer  to  the non-methane fractions.

ITCPTR    Selects the MYG  pointer to the  temperature correction
          coefficients.

IGSFPT    Selects  the  MYG  pointer  to  the  gas/diesel  sales
          fractions.

ITAMPT    Selects the MYG  pointer to the  desired value  for 1 of
          5 different tampering data  cases.

IEVPTR    Selects MYG  pointers for  evaporative,  hot  soak,  or
          diurnal  HC  calculation  data,   one  to  appropriate
          emission   standard   and   one   to   MYG   based   on
          fuel-injected fraction of  fleet.

IGRVPT    Selects the MYG pointer  to  the RVP CF data.

IDLPTR    Selects the  MYG pointer  to  the  slope  and  intercept
          arrays for the idle emission  rate equation.

-------
                              B-ll
                        Pointer Modules

Module       	Purpose
IMPTR     Selects the  emission control  technology MYG  pointer
          to the I/M credits arrays for LDGV/T.

IRULPT    Selects the  MYG  pointer to the  running loss  base
          emission  rate  for the  given model  year and  vehicle
          class.

-------
                              B-12
                         Output Modules

Module    	Purpose	

OUTPUT    Writes scenario results on I/O unit IOUREP.

OUTHD1    Writes  the run  header  on unit  IOUREP  using output
          format 1.

OUTHD2    Writes  the run  header on  unit  IOUREP  using output
          format 2.

OUTHD3    Writes  the run  header  on unit  IOUREP  using output
          format 3.

OUTHD4    Writes  the run  header on  unit  IOUREP  using output
          format 4.

OUTHDR    Writes the  output  header  ( = run title  = PROJID ) on
          unit IOUOUT.

OUTTAM    Prints the user-supplied replacement tampering rates.

OUTNEW    Writes out  the new  (user-supplied  replacement)  basic
          emission rate parameters and data.

OUTIMP    Prints  the I/M  program parameters  and,  if  entered,
          the alternate I/M credits set name.

OUTATP    Prints the anti-tampering program (ATP) parameters.

OUTMTH    Writes  total/non-methane   evaporative  HC message  on
          I/O unit IOUREP.

USDPTR    Finds the  pointers  into  the user-supplied data name
          array

OUTDT1    Writes  scenario  parameters and  emission  factor  (EF)
          results on unit IOUREP using output format 1.

OUTDT2    Writes  scenario  parameters  and  EF results   on  unit
          IOUREP using output format 2.

OUTDT3    Writes  scenario   parameters   and   emission   factor
          results on unit IOUREP using output format 3.

OUTDT4    Writes  scenario  parameters  and  EF results   on  unit
          IOUREP using output format 4.

-------
                              B-13


                         Output Modules

Module    	Purpose
OUTPOL    Selects pollutants whose EF results are to be printed.

OUTLAP    Echoes the user-supplied values for the  fields  of  the
          local area parameters (LAP) record.

-------
                              B-14
   ModuIe
BLOCK DATA 01
BLOCK DATA 02
       Block Data Modules

       	Purpose
BLOCK DATA 03
BLOCK DATA 04



BLOCK DATA 05



BLOCK DATA 06


BLOCK DATA 07


BLOCK DATA 08


BLOCK DATA 09


BLOCK DATA 10

BLOCK DATA 11
Initializes the  speed  correction factor  (SCF)
coefficients  for  vehicle  types  LDGV,  LDGT1/2,
and MC.

Initializes the last years of the MYGs  used for
SCF coefficients, variables  and  arrays  used in
the calculation of  the SCF,  the  high  speed CO
SCF  parameters,   and  the  speed  and  optional
features CF array.

Initializes the  MYGs  (by their  upper  bounds)
and  associated parameters  used  to  select  and
index  the  intercept  and  slope  arrays   for  the
basic FTP emission rate equations.

Initializes the  zero mile   levels  (ZMLs)  and
deterioration   rates  (DRs)   (intercepts   and
slopes) of the base FTP exhaust ER equations.

Initializes the  non-tampered  idle offsets  and
the  ZMLs,  DRs  and  MYGs  of  the  idle  exhaust
emission rate  equations.

Initializes I/M  credit percentages  for HC  for
Technologies I and II.

Initializes I/M  credit percentages  for CO  for
Technologies I and II.

Initializes the HC  & CO  annual  inspection Tech
IV + I/M credits  array.

Initializes the  HC  and  CO biennial  inspection
Tech IV+ I/M credits array.

Initializes methane offset values.

Initializes the  parameters and  rates  affecting
both  the  hot  soak  &  diurnal  components  of
evaporative HC, or hot soak HC alone.

-------
                              B-15
   Module
BLOCK DATA 12

BLOCK DATA 13


BLOCK DATA 14



BLOCK DATA 15


BLOCK DATA 16


BLOCK DATA 17
BLOCK DATA 18
BLOCK DATA 19
BLOCK DATA 20
BLOCK DATA 21


BLOCK DATA 22



BLOCK DATA 23
       Block Data Modules

       	Purpose
Location not used.

Initializes the  parameter and rates  of diurnal
component of evaporative HC emissions.

Initializes  the   average  miles  per   day  values
and  the  coefficients  of  the  trips  per  day
equation.
Initializes    the    crankcase
evaporative HC emissions.
Initializes
parameters.
  miscellaneous
                    component   of
integer-valued
Initializes  the  temperature  correction  factor
(TCP) coefficients and their  MYGs,  the computer
TCF  parameters,  the  TCP vector,  and the  cold
start CO additive TCF offset parameters.

Initializes the  bag  fraction coefficients  used
to  compute the  normalized operating mode  and
temperature CF for LDV/T and MC.

Initializes the  MYGs used  for  indexing  BFRCOF
and  the  mileage  related  parameters  for  the
operating mode  component  of the  operating  mode
and temperature CF algorithm.

Initializes    fleet    characterization    data:
annual  mileage   accumulation  rates,  July   1
registration   distributions,   vehicle    miles
travelled mix, and registraton mix.

Initializes the CFs  for  air  conditioning  usage,
extra load, and trailer  towing.

Initializes the last years of the MYGs used for
the  air  conditioning,  extra  load,  and  trailer
towing Cs.
Initializes
fractions.
the   gasoline   vs   diesel  sales

-------
                              B-16
   ModuIe
BLOCK DATA 24
BLOCK DATA 25
BLOCK DATA 26
BLOCK DATA 27


BLOCK DATA 28


BLOCK DATA 29


BLOCK DATA 30
BLOCK DATA 31


BLOCK DATA 32

BLOCK DATA 33


BLOCK DATA 34
       Block Data Modules

       	Purpose
Initializes  character  strings  used  in  prompts
and  output  formats and  zeroes  pointers  into
characters string arrays.

Initializes the data and  parameters  used by the
tampering code.

Initializes by weight  subclass and  by relative
model year the HDDV fleet characterization data
(annual  mileage  accumulation  rates  and  total
new registrations).

Documents common  blocks  that do not  need to be
initialized.
Initializes  the  refueling   loss   HC
factor parameters and data.
emission
Initializes  the  HDV grams  per  brake-horsepower
hour to grams per mile conversation factors.

Initializes  the  parameters  for   reading  in,
storing, and using  the  second required scenario
record   (local   area  parameters),  plus   fuel
injection rates and MYGS.

Initializes  exhaust  emission   factor  RVP  CF
calculation variables.

Initializes I/M program parameters.

Initializes the  first  required  scenario  record
parameters and associated variables.

Initializes running loss HC  emissions  data and
parameters.

-------
        Appendix C
MOBILE4 SOURCE CODE LISTING

-------
                     ***   APPENDIX C    ***
                        TABLE OF CONTENTS
                           (Sequent ial)

MAIN,   Program  	 C-17      EVPEME,
QUITER, SUBROUTINE  	 C-22      OTCALC,
CONSEC, SUBROUTINE  	 C-31      TECHO,
GETIOU, SUBROUTINE  	 C-33      C1TO7,
GETVER, SUBROUTINE  	 C-35      C8T012,
GETHOR, SUBROUTINE  	 C-38      A8T011,
ONESEC, SUBROUTINE  	 C-40      ADJ12,
GETTAM, SUBROUTINE  	 C-42      ATPEFF,
GETVMT, SUBROUTINE  	 C-44      SETEGS,
GETMRN, SUBROUTINE  	 C-46      REFUEL,
GETERQ, SUBROUTINE  	 C-49      RVPEXH,
YRTEST, SUBROUTINE  	 C-51      BIGCFX,
HDCGPM, SUBROUTINE  	 C-52      BIGIN1,
HDCPIC, FUNCTION 	 C-54      BIGALH,
STOERQ, SUBROUTINE  	 C-55      BIGIN2,
GETIMP, SUBROUTINE  	 C-57      BIGTCF,
GETIMC, SUBROUTINE  	 C-60      BIGRVP,
GETATP, SUBROUTINE  	 C-62      BIGSAL,
ATPAER, SUBROUTINE  	 C-65      BIGMET,
ENFORC, SUBROUTINE  	 C-68      BIGTAM,
CALAER, SUBROUTINE  	 C-70      BIGOMT,
WTLRUL, SUBROUTINE  	 C-75      HCCALX,
CEVTPD, SUBROUTINE  	 C-78      CCEVRT,
GETNAT, SUBROUTINE  	 C-79      HOTSOK,
RDCITY, SUBROUTINE  	 C-81      DIURNL,
PARSEC, SUBROUTINE  	 C-84      OLDMPD,
GETSC1, SUBROUTINE  	 C-85      CRANKC,
LOCAL,  SUBROUTINE  	 C-88      EVMAIN,
CALTEM, SUBROUTINE  	 C-91      EVPRE,
CALUDI, SUBROUTINE  	 C-95      EVSTD,
GETALH, SUBROUTINE  	 C-98      EVHI,
REGMOD, SUBROUTINE  .... C-100      EV81,
HDDMYM, SUBROUTINE  .... C-104      EV85,
CEVMPD, SUBROUTINE  .... C-105      EVUNC,
TFCALX, SUBROUTINE  	 C-106      EVCERT,
EFCALX, SUBROUTINE  	 C-108      RULOSS,
GETCUM, SUBROUTINE  .... C-112      BEF,
TAMPER, SUBROUTINE  .... C-113      PCLEFT,
IMCHEK, SUBROUTINE  .... C-116      IDLCAL,
DISATP, SUBROUTINE  .... C-118      BEFIDL,
DISIMP, SUBROUTINE  	 C-120      IGEPTR,
DISCAL, SUBROUTINE  .... C-122      IGUPTR,
EFFGRP, SUBROUTINE  .... C-124      IGLPTR,
EMIRAT, SUBROUTINE  .... C-127      IGTPTR,
BAGEME, SUBROUTINE  .... C-130      IBFPTR,
SUBROUTINE  ....  C-132
FUNCTION  	  C-136
SUBROUTINE  ....  C-137
SUBROUTINE  ....  C-139
SUBROUTINE  ....  C-140
SUBROUTINE  ....  C-142
SUBROUTINE  ....  C-144
SUBROUTINE  ....  C-146
SUBROUTINE  ....  C-148
SUBROUTINE  ....  C-150
SUBROUTINE  ....  C-154
SUBROUTINE  ....  C-157
SUBROUTINE  ....  C-159
SUBROUTINE  ....  C-161
SUBROUTINE  ....  C-164
SUBROUTINE  ....  C-166
SUBROUTINE  ....  C-169
SUBROUTINE  ....  C-171
SUBROUTINE  ....  C-174
SUBROUTINE  ....  C-176
SUBROUTINE  ....  C-178
SUBROUTINE  ....  C-180
FUNCTION  	  C-185
FUNCTION  	  C-188
FUNCTION  	  C-192
FUNCTION  	  C-196
FUNCTION  	  C-197
SUBROUTINE  	  C-198
FUNCTION  	  C-201
FUNCTION  	  C-203
FUNCTION  	  C-205
FUNCTION  	  C-206
FUNCTION  	  C-208
FUNCTION  	  C-209
FUNCTION  	  C-210
FUNCTION  	  C-212
FUNCTION  	  C-216
FUNCTION  	  C-218
SUBROUTINE  	  C-221
FUNCTION  	  C-224
FUNCTION  	  C-229
FUNCTION  	  C-230
FUNCTION  	  C-231
FUNCTION  	  C-232
FUNCTION  	  C-233
                              C-i

-------
                        TABLE OF CONTENTS
                           (Sequent ial)

                           (continued)
IERPTR, FUNCTION  	 C-234
ISPPTR, FUNCTION  	 C-236
EXMPTR, FUNCTION  	 C-238
ITCPTR, FUNCTION  	 C-239
IGSFPT, FUNCTION  	 C-240
ITAMPT, FUNCTION  	 C-241
IEVPTR, FUNCTION  	 C-243
IGRVPT, FUNCTION  	 C-245
IDLPTR, FUNCTION  	 C-246
IMPTR,  FUNCTION  	 C-247
IRULPT, FUNCTION  	 C-248
OUTPUT, SUBROUTINE  .... C-249
OUTHD1, SUBROUTINE  .... C-250
OUTHD2, SUBROUTINE  .... C-252
OUTHD3, SUBROUTINE  .... C-254
OUTHD4, SUBROUTINE  .... C-255
OUTHDR, SUBROUTINE  .... C-256
OUTTAM, SUBROUTINE  .... C-257
OUTNEW, SUBROUTINE  .... C-260
OUTIMP, SUBROUTINE  .... C-262
OUTATP, SUBROUTINE  	 C-264
OUTMTH, SUBROUTINE  	 C-266
USDPTR, SUBROUTINE  	 C-267
OUTDT1, SUBROUTINE  	 C-268
OUTDT2, SUBROUTINE  	 C-270
OUTDT3, SUBROUTINE  	 C-272
OUTDT4, SUBROUTINE  	 C-277
OUTPOL, SUBROUTINE  	 C-282
OUTLAP, SUBROUTINE  .... C-283
BLOCK DATA 01 	 C-285
BLOCK DATA 02 	 C-291
BLOCK DATA 03 	 C-295
BLOCK DATA 04 ....
BLOCK DATA 05 ....
BLOCK DATA 06 ....
BLOCK DATA 07 ....
BLOCK DATA 08 ....
BLOCK DATA 09 ....
BLOCK DATA 10 ....
BLOCK DATA 11 ....
BLOCK DATA 12 ....
BLOCK DATA 13 ....
BLOCK DATA 14 ....
BLOCK DATA 15 ....
BLOCK DATA 16 ....
BLOCK DATA 17 ....
BLOCK DATA 18 	
BLOCK DATA 19 	
BLOCK DATA 20 	
BLOCK DATA 21 	
BLOCK DATA 22 	
BLOCK DATA 23 	
BLOCK DATA 24 	
BLOCK DATA 25 	
BLOCK DATA 26 	
BLOCK DATA 27 	
BLOCK DATA 28 	
BLOCK DATA 29 	
BLOCK DATA 30 	
BLOCK DATA 31 	
BLOCK DATA 32 	
BLOCK DATA 33 	
BLOCK DATA 34 	
	 C-300
	 C-307
	 C-316
	 C-325
	 C-334
	 C-338
	 C-342
	 C-345
	 C-350
	 C-351
	 C-354
	 C-356
	 C-358
	 C-360
	 C-365
	 C-375
	 C-377
	 C-380
	 C-384
	 C-386
	 C-389
	 C-392
	 C-406
	 C-408
	 C-414
.... C-416
.... C-418
.... C-422
.... C-425
.... C-427
	 C-429
                              C-ii

-------
                     ***   APPENDIX C   ***
                        TABLE OF CONTENTS
                         (Alphabetical)
ADJ12,  SUBROUTINE  .... C-144
A8TO11, SUBROUTINE  .... C-142
ATPEFF, SUBROUTINE  	 C-146
ATPAER, SUBROUTINE  	 C-65
BAGEME, SUBROUTINE  .... C-130
BEF,    FUNCTION 	 C-216
BEFIDL, FUNCTION 	 C-224
BIGALH, SUBROUTINE  .... C-161
BIGCFX, SUBROUTINE  .... C-157
BIGIN1, SUBROUTINE  .... C-159
BIGIN2, SUBROUTINE  .... C-164
BIGMET, SUBROUTINE  .... C-174
BIGOMT, SUBROUTINE  .... C-178
BIGRVP, SUBROUTINE  .... C-169
BIGSAL, SUBROUTINE  .... C-171
BIGTAM, SUBROUTINE  .... C-176
BIGTCF, SUBROUTINE  .... C-166
BLOCK DATA 01 	 C-285
BLOCK DATA 02 	 C-291
BLOCK DATA 03 	 C-295
BLOCK DATA 04 	 C-300
BLOCK DATA 05 	 C-307
BLOCK DATA 06 	 C-316
BLOCK DATA 07 	 C-325
BLOCK DATA 08 	 C-334
BLOCK DATA 09 	 C-338
BLOCK DATA 10 	 C-342
BLOCK DATA 11 	 C-345
BLOCK DATA 12 	 C-350
BLOCK DATA 13 	 C-351
BLOCK DATA 14 	 C-354
BLOCK DATA 15 	 C-356
BLOCK DATA 16 	 C-358
BLOCK DATA 17 	 C-360
BLOCK DATA 18 	 C-365
BLOCK DATA 19 	 C-375
BLOCK DATA 20	 C-377
BLOCK DATA 21 	 C-380
BLOCK DATA 22 	 C-384
BLOCK DATA 23 	 C-386
BLOCK DATA 24 	 C-389
BLOCK DATA 25 	 C-392
BLOCK DATA 26 	 C-406
BLOCK DATA 27 	 C-408
BLOCK DATA 28 	 C-414
BLOCK DATA 29  	 C-416
BLOCK DATA 30  	 C-418
BLOCK DATA 31  	 C-422
BLOCK DATA 32  	 C-425
BLOCK DATA 33  	 C-427
BLOCK DATA 34  	 C-429
CALAER, SUBROUTINE  	 C-70
CALTEM, SUBROUTINE  	 C-91
CALUDI, SUBROUTINE  	 C-95
CCEVRT, FUNCTION  	 C-185
C8TO12, SUBROUTINE  .... C-140
CEVMPD, SUBROUTINE  .... C-105
CEVTPD, SUBROUTINE  ...... C-78
C1TO7,  SUBROUTINE  .... C-139
CONSEC, SUBROUTINE  	 C-31
CRANKC, FUNCTION  	 C-197
DISATP, SUBROUTINE  .... C-118
DISCAL, SUBROUTINE  .... C-122
DISIMP, SUBROUTINE  	 C-120
DIURNL, FUNCTION  	 C-192
EFCALX, SUBROUTINE  	 C-108
EFFGRP, SUBROUTINE  .... C-124
EMIRAT, SUBROUTINE  	 C-127
ENFORC, SUBROUTINE  	 C-68
EVCERT, FUNCTION  	 C-210
EV81,   FUNCTION  	 C-206
EV85,   FUNCTION  	 C-208
EVHI,   FUNCTION  	 C-205
EVMAIN, SUBROUTINE  	 C-198
EVPEME, SUBROUTINE  .... C-132
EVPRE,  FUNCTION  	 C-201
EVSTD,  FUNCTION  	 C-203
EVUNC,  FUNCTION  	 C-209
EXMPTR, FUNCTION  	 C-238
GETALH, SUBROUTINE  	 C-98
GETATP, SUBROUTINE  	 C-62
GETCUM, .SUBROUTINE  	 C-112
GETERQ, SUBROUTINE  	 C-49
GETHOR, SUBROUTINE  	 C-38
GETIMC, SUBROUTINE  	 C-60
GETIMP, SUBROUTINE  	 C-57
GETIOU, SUBROUTINE  	 C-33
GETMRN, SUBROUTINE  	 C-46
GETNAT, SUBROUTINE  	 C-79
GETSC1, SUBROUTINE  	 C-85
                             C-iii

-------
                     ***   APPENDIX C   ***

                        TABLE OF CONTENTS
                         (Alphabetical)

                           (continued)
GETTAM, SUBROUTINE  	 C-42      OUTDT1,
GETVER, SUBROUTINE  	 C-35      OUTDT2,
GETVMT, SUBROUTINE  	 C-44      OUTDT3,
HCCALX, SUBROUTINE  .... C-180      OUTDT4,
HDCGPM, SUBROUTINE  	 C-52      OUTHDR,
HDCPIC, FUNCTION 	 C-54      OUTHD1,
HDDMYM, SUBROUTINE  .... C-104      OUTHD2,
HOTSOK, FUNCTION 	 C-188      OUTHD3,
IBFPTR, FUNCTION 	 C-233      OUTHD4,
IDLCAL, SUBROUTINE  .... C-221      OUTIMP,
IDLPTR, FUNCTION 	 C-246      OUTLAP,
IERPTR, FUNCTION 	 C-234      OUTMTH,
IEVPTR, FUNCTION 	 C-243      OUTNEW,
IGEPTR, FUNCTION 	 C-229      OUTPOL,
IGLPTR, FUNCTION 	 C-231      OUTPUT,
IGRVPT, FUNCTION 	 C-245      OUTTAM,
IGSFPT, FUNCTION 	 C-240      PARSEC,
IGTPTR, FUNCTION 	 C-232      PCLEFT,
IGUPTR, FUNCTION 	 C-230      QUITER,
IMCHEK, SUBROUTINE  .... C-116      RDCITY,
IMPTR,  FUNCTION 	 C-247      REFUEL,
IRULPT, FUNCTION 	 C-248      REGMOD,
ISPPTR, FUNCTION 	 C-236      RULOSS,
ITAMPT, FUNCTION 	 C-241      RVPEXH,
ITCPTR, FUNCTION 	 C-239      SETEGS,
LOCAL,  SUBROUTINE  	 C-88      STOERQ,
MAIN,   Program 	 C-17      TAMPER,
OLDMPD, FUNCTION 	 C-196      TECHO,
ONESEC, SUBROUTINE  	 C-40      TFCALX,
OTCALC, FUNCTION 	 C-136      USDPTR,
OUTATP, SUBROUTINE  .... C-264      WTLRUL,
                                   YRTEST,
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
FUNCTION ..
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
 C-268
 C-270
 C-272
 C-277
 C-256
 C-250
 C-252
 C-254
 C-255
 C-262
 C-283
 C-266
 C-260
 C-282
 C-249
 C-257
.  C-84
 C-218
.  C-22
.  C-81
 C-150
 C-100
 C-212
 C-154
 C-148
,  C-55
 C-113
 C-137
 C-106
 C-267
,  C-75
,  C-51
                              C-iv

-------
                   C-l




Appendix C: MOBILES Program Description                 May 5,  1989
1
2
3
it
5
6
7
8
9
10
11
12
13
U
15
16
17
18
19
20
21
22
23
25
26
27
28
29
30
31
32
33
31*
35
36
37
38
39
40
41
42
43
U
45
46
47
48
49
50
51
52
53
54
55
56
57
58
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c


******* MOBILE4 *******


MOBILES is the fourth version of the FORTRAN program implementation of
Mobile Source Emission Model. It updates and replaces MOBILE}. The mod
estimates HC, CO and NOx exhaust and HC evaporative emission factors by
motor vehicles. For information on using the program and on the
differences between MOBILE3 and MOBILE4, consult the User's Guide to
MOBILE3, EPA 460/3-84-002, and the User's Guide to MOBILE4,
EPA-AA-TEB-89-01. Otherwise questions should be directed to:

Office of Mobile Sources
Emission Control Technology Division
Test and Evaluation Branch
2565 Plymouth Road
Ann Arbor, Mich. 48105
Telephone: 313-668-4462
FTS 374-8462


Source Code Documentation

The source code itself is commented to assist the users who require a
more detailed understanding of the program than provided in the Guides.
This section provides the following information:

1) Execution summary
2) Source code structure
3) Source code comments structure
a) Subroutines and functions header format
b) BLOCK DATA subprograms header format
c) In-line comments
4) Subscript dictionary
5) Subroutine / function parameter dictionary


1) Execution summary

To run the program, attach the input file to logical I/O Unit 5 and the
output file to Logical I/O Unit 6. If supplying optional alternate 1 /M
credits, attach the credits file to Logical I/O Unit 4. Refer to the
User's Guide to MOBILE4 for more detail on setting up runs and check
your operating system documentation for the system commands for compi 1 i
and executing the program. There is discussion of running the program
the IBM PC AT under DOS in the User's Guide.

For information on the source code itself, refer to the Programmer's Gu
to MOBILE4, EPA-AA-TEB-89-01.


2) Source code structure

This section describes the layout of the code plus the numbering and
naming conventions.






the
el





































ng
on


ide









-------
                   C-2




Appendix C: MOBILES Program Description                 May 5,  1989
59
60
61
62
63
61*
65
66
67
68
69
70
71
72
73
7**
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
9^
95
96
97
98
99
100
101
102
103
101*
105
106
107
108
109
110
111
112
113
111*
115
116
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
The source code for the subprograms is grouped as follows:

program header
MAIN
QUITER
input subroutines
computation subroutines & functions
pointer functions
output subroutines
BLOCK DATA subprograms

Within each grouping and nesting level, the routines usually appear in
cal 1 i ng order .

The User's Guide listing of the code has each subprogram starting at an
integral multiple of 1000, simplifying the construction of the Table
of Contents. That listing also has the comments in mixed case, to
improve readability. The MOBILEl* tape being mailed out to the user
community has this mixed case version in File 1. An upper case only
version, with hyphens replacing underscores and blanks replacing plus
carriage controls, is in File 2, for use by installations not able to
process these features. For example, EPCDIC PN character set is upper
case only.

Statement number ranges are defined for usage as follows:

1 - 9 not used
10 - 98 - branching
99 - branch to last RETURN / RETURN1 / STOP before END
100 - 199 - READ formats
200 - 299 - WRITE prompt and output formats
300 - 1*99 ~ WRITE error and warning messages
500+ - not used

Statement numbers are local. For example, within each subprogram,
branch numbers start at 10, READ formats start at 100, etc.

Given FORTRAN'S 6 character maximum on subprogram name lengths, useful
naming conventions are hard to come by. There is also the limitation
posed by not wanting to change arbritrarily all the subprogram names of
the predecessor program, MOBILE3- Hence, the only conventions are:

a) Input driver sections all have the suffix 'SEC'.
b) Pointer functions all begin with '!' (to get default INTEGER typing)
c) Pointer functions all contain/end with 'PT' or ' PTR ' .
d) Output subroutines all have the prefix 'OUT'.

Otherwise, new subprogram names were picked to indicate the purpose of
the code.

Note: some features during the course of the model development were
subsequently removed or "turned off". The latter case would occur when
the prospect of restoring the feature for in-house MOBILEl* or for MOBILE5
seemed likely. Commented out code to this end is done with a 'CC'.


3) Source code comments structure


-------
                   C-3



Appendix C: MOBILE4 Program Description                 May 5, 1989
117
118
119
120
121
122
123
12U
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
Each subprogram contains a documentation header, set up i
format as described below. All variables and arrays used
n a standard
in the code
are defined in the comments. The subroutine / function headers define
local parameters and local variables / arrays. The BLOCK
describe the COMMON storage areas. Array subscripts and
DATA headers
subprogram
parameters are specified in dictionaries following this section. The
intent is to allow the user to scan the source code on-1 i
ne for
definitions, rather than have to leaf through hard-copy documentation
such as the Prorammer's Guide to MOBILE4.

a) Subroutines and functions header format


C
C 
C
C Called by 
C
C Calls 
C
C i nput on cal 1 :
C
C parameter list: 
C common block (s) :
C // 
C
C
C
C Output on return:
C
C parameter list: 
C common block (s) :
C // 
C
C
C
C Local array subscripts:
C
C  (<#>,...) -  (, . . .)
C
C
C
C Local variable / array dictionary:
C
C Name Type Description

C____ 	 ____ 	 	 	 	 	 	 	
C   
C
C
C
C Notes:
C
C 

Notes on format:













































ILE3>






-------
                   C-4
Appendix C: MOBILES Program Description
May 5, 1989
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
1911
195
196
197
198
199
200
201
202
203
201*
205
206
fir\~i
_u/
208
209
210
211
212
213
214
215
216
217
218
219
220
221
•)•)•)
£.£.£.
223
224
225
226
227
228
229
230
231
232
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
r
L
C
C
C
C
C
C
C
C
C
C

A local variable is one not passed in via the parameter list
or a common block. It can be used in the argument list of a
subprogram call made by the defining subprogram.

Also, if a section of the header is not needed, its format is
omitted. For example, if no subprograms are called, then the
'C Calls ' line is not included.

Finally, 'Output on return1 includes any variable / array whose
contents can be modified by the subprogram. This usually will not
include data that can be changed by subprograms called by the
subprogram, since the comment headers on those subprograms will
indicate what is being passed back up.

b) BLOCK DATA subprogram header format

BLOCK DATA
C
C BLOCK DATA subprogram <#>
C
C 
C
C Common block array subscripts:
C
C  (<#>,...) -  (, . . .)
C
C
C
C Common block dictionary:
C
C Name Type Description
C //:
C   
C
C
C
C Local array subscripts:
C
C  (<#>,...) -  (, . . .)
C
C
C
C Local array dictionary:
C
C Name Type Description

C_ 	 	 ____ ___ ________ __ _____ _ _______
C   
C . .
C
C
COMMON // ...
•
•
•
C
DIMENSION (or type)  (subscr i pt (s) )

-------
                                        c-5

                     Appendix C:  MOBILE** Program Description                 May 5» 1989

233     C
23**     C
235     C        C
236     C              EQUIVALENCE (,)
237     C
238     c
239     C
2**0     C        C
2k]     C        C  //: 's labels, purpose or data
2**2     C        C               or on the structure of the initializing DATA
2*»3     C        C               statement (s) >
        C        C
        C              DATA /...
246     C
        C
        C
        C                 .../
250     c        c
251     C        C  //: ...
252     c
253     C
251*     c
255     C              END
256     c
257     C        Notes on format:
258     c
259     C        Local arrays are defined and then equivalenced to common block arrays
260     C        that are too large be intialized in  1 DATA statement.  Too large =
261     C        would require greater than  19 continuation lines, the FORTRAN limit.
262     C
263     C        The local arrays dictionary is often compressed by providing a
26**     C        generic definition of the conventions used to construct and name the
265     C        set of local arrays to be equivalenced to a given common array.
266     C
267     C        "//:" prefix is included only if a large number of common
268     C        blocks are being initialized in a single BLOCK DATA  (see BD 23).
269     C
270     c
271     C     c)  In-line statements
272     c
273     C        In-line comments are intended to describe the algorithm being used
27*i     C        by the code.  Where MOBILE** is identical to MOBILE3  in operation,
275     C        the MOBILE3 comments have usually been left intact.  Where the
276     C        method has been updated or  the whole section / subprogram is new,
277     C        the in-line comments describe the MOBILE** methodology.
278     c
279     C        Particular attention is paid to the use of indices and pointers.
280     C        Some of the ambiguities of MOBILE3, such as the use of IDX vs JDX,
28l     C        have been cleared up.  The usage of new keys and pointers is specified
282     C        in detail where they occur.
283     C        occur.
28**     C
285     c
286     C  k)  Subscript dictionary
287     c
288     C     Subscript variables used to  index arrays in MOBILE** are globally
289     C     defined, not in the sense that the values are available to all
290     C     subprograms, but rather that the same label is used for the same

-------
                   C-6
Appendix C: MOBILE** Program Description
May 5, 1989
291
292
293
29*
295
296
297
298
299
300
301
302
303
30*
305
306
307
308
309
310
311
312
313
31*
315
316
317
318
319
320
321
322
323
321*
325
326
327
328
329
330
331
332
333
33*
335
336
337
338
339
3*0
3*1
3*2
3*3
3**
3*5
3*6
3*7
3*8
C subscript function throughout the code. IP is the 3 pollutants index
C for all of MOB 1 LE*, • a 1 though its instances are usually as a local
C variable. As array subscripts, all these variables must be of type
C INTEGER. The default INTEGER typing syntax rule is employed by having
C all subscripts begin with a letter from the range 1 through N.
C
C Name Range Description

C IAD
C
C IADJ
C
C IDUAF
C
C
C IAY
C
C
C
C 18
C
C
C
C
C IBER
C
C
C
C
C 1C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C ICAT
C
C
C
C
C ICER
C
C

1~5 index into ID dimension of ATR for ADJFAC equati

1-2 index into CSIZE adjustment vector ADJFAC

1-2 index into diurnal adjustment vector TPDUAF
l=use FTP adjustment, 2=use In-Use adjustment

1-2 ant i -tamper i ng program start year flag:
1 = in year range up thru start year
2 •* in year range after start year

1~3 bag number:
1 = cold start
2 = hot stabi 1 ized
3 = hot start


on















1-3 terms of user supplied new emission rate equation:
1 = zero mile level (intercept)
2 = deterioration rate (slope)
3 = deterioration rate (slope), LDGV 81 + HC/CO

1-7 overlap effects categories computed direct from
tamper rates; each case is the set intersection
the indicated disablement types:
1 = AorE * CATS
2 = AorE * NCKS
3 = AorE * TNKS
* = AIRS * CATS * NCKS
•• 5 = AIRS * CATS * TNKS
6 = CATS * NCKS
7 = CATS * TNKS
AorE = AIRS if HC or CO
= EGRS if NOx

8-12 no overlap effects categories computed from the
overlap cases:
8 = AIRS
9 = CATS
10 = NCKS
1 1 = TNKS
12 = 

1-3 catalyst technology configurations:
1 = ox catalyst / no catalyst
2=3 way catalyst
3=3 way + ox catalyst

1-2 RVP parameter showing factors adjusted for
1 = non-certification factors only
2 = all factors, including certification fuel


50K+

base
of











7














RVP -

-------
                   C-7



Appendix C: MOBILE4 Program Description
May 5, 1989
349
350
351
352
353
35*»
355
356
357
358
359
360
361
362
363
361*
365
366
367
368
369
370
371
372
373
37*4
375
376
377
378
379
380
381
382
383
381.
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
1*02
403
1*04
405
406
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

1 CH 1-20 character string array position index:
1 = 1st 4/8 characters (CHARACTER*4/8)
2 = 2nd 4/8 characters
•
.

ICOEF2 1-6 coefficient number of 2nd degree polynomial
(Oth (intercept) to 2nd decree term coefficients)

ICOEF5 1-6 coefficient number of 5th degree polynomial
(Oth (intercept) to 5th decree term coefficients)

1 COL 1-3 index into EFF's column dimension (BD 24 defines abbrs) :
1 = PREV CAT ; 2 = PREV ; 3 " SUBS

1 CR 1-2 Replace 1 /M credits inclusion vector NUDATA's array
identifier subscript:
1 = (CR12HC & CR12CO) - Technologies 1-2
2 = CRED4V - Technologies 4+ LDGV

ICS 1-NT secondary index: selects pointers to category
sizes to be summed up to get SUB (in C8T011) and
DIV (in A8T011)

IC11 1-11 positive tampering effects categories 1-11; 12 is the
no effects case.

1 C7 1-7 overlap tampering effects categories 1-7

ID 1-9 disablement types (1~5»9 for bag, 6-8 for evap) :
1 - AIRS = air pump disabled
2 = CATS = catalyst removed
3 = NCKS = misfueled - filler neck
4 = TNKS « misfueled - tank (all but filler neck)
5 = EGRS = EGR disabled
6 = EVAP = evaporative system tampered - cannister only
7 = PCVS = PCV disabled
8 = CAPS = evaporative system tampered - cannister and
gas (fuel inlet) cap
9 = MISF = misfueled - all sources = NCKS + TNKS

IDBAG 1-5 bag exhaust disablement types (see ID)

IDUSER 1-8 ID cases 6 order of cases presented to user in TAMFLG
(TAMZML 6 TAMDR) & ATPFLG (D 1 STYP) options. IDUSER
differs as follows: 4 = MISF. GETTAM derives TNKS =
MISF - NCKS for TAMDR & TAMZML and stores the read and
computed values in ID order. ATPAER does not need TNKS
6 uses DISTYP in the read in IDUSER order.

IDX 1-20 model year (my) window index:
1 = 20+ my age group cell => tamper effect is
always 0.0 => this case skipped in TAMPER (only)
2 = 19th my cell
3 = 18th my cell
.
•

-------
                                         c-8

                     Appendix C: MOBILES Program  Description                  May 5, 1989

407     C
408     C                        19 =  2nd my  eel 1
409     C                        20 =  1st my  cell  = calendar  year  (ICY)
410     C
411     C     IEG        1-7     tampering effects  group:
1*12     C                         1 =  air pump  disabled,  air  pump  only equipped
413     C                        2 =  air pump  disabled,  air  pump/catalyst equipped
414     C                        3 =  catalyst  removed
415     C                        4 =  misfueled catalyst
416     C                        5 =  EGR disabled
417     C                        6 =  EGR disabled / catalyst  removed
418     C                        7 =  EGR disabled / misfueled
419     C
1420     C     IEK        1~3     catalyst  emission  effects groups:  IEK = IEG - 1
1*21     C
1*22     C     IELST      14-7     last non-zero tampering effects group size, given  IPG
1*23     C
424     C     IEQU       1-20    pointer  to idle equation  to be zeroed out due to entry
1*25     C                       of  new exhaust  ef  equation by  user
1*26     C
1*27     C     IERNEW     1-20    pointer  to location in  default ef  rates 6 model years
1*28     C                       arrays where  new ef equation's parameters are to be
1*29     C                       stored (IERNEW  = 0 => no  space for new equation)
1*30     C
1*31     C     IETH       1-2     NAMETH index: 1 =  '  eth1, 2 = 'meth1  prefixes
1*32     c
1*33     C     IEVEQ      1-8     HS  and DU equation term coefficient - see definitions
l»3l»     C                       for HSEQ in BD  09  and DUEQ in BD 11
1*35     C
1*36     C     IEVP       1-4     index  for gram  evap rates EVP, GREVP and VGREVP:
1*37     C                         l=hot  soak
1*38     C                         2=in-use diurnal
1*39     C                         3=multip1e  diurnal
1*40     C                         4=crankcase
l4i4l     C
442     C     IEVX       1-32    model  year (my) window index for evaporative data  input,
443     C                       i.e. to the lEVXth myg's  rate(s) for a given No set
41*14     C
445     C     IE1ST      1-3     first  non-zero  tampering  effects group size, given  IPG
446     C
447     C     IFAC       1-100   index  into new  (user supplied) emission rates arrays;
448     C                       the user can  enter up to 100 replacement cases.
449     C
450     C     IFDS       1-3     fuel delivery system type:
451     C                         1 =  carbureted      2 = fuel  injected    OR
452     C                         1 =  CARbureted      2 = TBI       3 = PFI
1*53     C
45l»     C     IFG        1-13    flag names for  prompts (listed by  common block  used):
1*55     C                          /FLAGS1/      /FLAGS2/       /FLAGS3/      /FLAGS4/
1*56     C                         1 =  TAMFLG     4  = MYMRFG     8 = ATPFLG    12  = PRTFLG
1*57     C                         2 =  SPDFLG     5  = NEWFLG     9 = TEMFLG    13  =  IDLFLG
1*58     C                         3 =  VMFLAG     6  = IMFLAG    10 = RLFLAG    14  = NMHFLG
1*59     C                                       7  = ALHFLG    11 = OUTFMT    15  = HCFLAG
1»60     C                       The  14th flag  (or  0 = PROMPT)  is read without a prompt.
461     C
^62     C     IFL        1-2     myg bounds:    1 = First  year    2 = Last year
463     C
        C     I FUEL      1-2     fuel type category for RVP exhaust effects:

-------
                   C-9
Appendix C: MOBILES Program Description
                                              May 5,  1989
465
466
1,67
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


IG 1-20










IGCSF 1-2



IGER 1-20

IGIDL 1-15

IG50 1-12


IGTL 1-5

IH 1-3




IHG V-2



IHDSAL 1-2



IHRD 1-6







ILU 1-2




IM 1-2



IMDL 1-2

            1
       gasoline & methanol
                   ethanol
          model year group (myg)  pointer:
           = null string,C,CAT,D,E,F,L,L«,S,T,U,W,1,2,3,*•
          IG links a data array to its corresponding myg index
          array. These data arrays all have my as a subscript
          plus have cases of  contiguous subsets of years with
          the same data point.  Core space is then saved by
          storing each point  only once per my subset and then
          constructing an index array to enable the program to
          find the location IG of the data point for a given
          my.

          model year group index  in the array CSF1ST:
            1 = pre-1981 model years
            2 = 1981+ model years

          myg pointer into basic emission rate arrays from IERPTR

          myg pointer into idle emission rate arrays from  IDLPTR

          myg pointer into the 50K+ deterioration rate arrays
          ERB50K 6 ERU50K  (the arrays differ in lookup algorithm)

          running loss HC: emission rate MYG pointer

          non-exhaust HC emission case:
            1 = hot soak evaporative
            2 = diurnal evaporative
            3 = crankcase

          non-exhaust HC technology / tampering case:
            1 = evaporative
            2 = crankcase
          HDGV sales fraction
            1 = HDGV weigh!ng
            2 = HDGV weigh!ng
                    case
                    < 14000 Ibs
                    >= 14000 Ibs
          evaporative temperature types:
            1
            2
            3
            4
            5
            6
      hot soak
      running
      diurnal,
      diurnal,
      di urnal,
      di urnal,
oss
8 AM
10-11
2 PM
dai ly
AM
bounds of a value
category si zes):
  1  = lower bound
  2  = upper bound

I/M  program flag:
  1  = I/M program
  1  = I/M program
                            range  (ex.: tags of nonzero
                            not  in effect for MY x  IV x  ICY case
                            is in effect for MY x  IV x  ICY case
          coefficients for trips per day model equation:
            1 = i ntercept

-------
                                        C-10

                     Appendix C: MOBILE4 Program Description                 May 5,  1989

523     C                        2 = slope
52li     C
525     C     INO       1-2     index into NOYES character string vector:
526     C                        1 = No     2 = Yes
527     C
528     C     IP        1-3    pollutants:
529     C                        1 = HC  = hydrocarbon
530     C                        2 = CO  = carbon monoxide
531     C                        3 = NOx = oxides of nitrogen
532     C
533     C     IPAR      1-5    parameters identifying where and when to apply user
534     C                      supplied new emission rates:
535     C                        1 = region
536     C                        2 = vehicle type     4 = first my of range covered
537     C                        3 = pollutant        5 = last my of range covered
538     C
539     C     IPG       1-2    pollutants grouped for tampering effects 6 SK2 scfs:
540     C                        1 = HC and CO
541     C                        2 = NOX
542     C
543     C     IP1       1-3     lower bound of output IP loop  (first pollutant to
544     C                      have results printed)
545     C
546     C     IP2       1-3    upper bound of output IP loop  (last pollutant to
547     C                      have results printed)
548     C
549     C     IP50      1-2    pollutant types affected by  ig8l+ LDGV 50K+ change in
550     C                      deterioration rate
551     C
552     C     IQG       1-6    emission control equipment group; 2 more groups
553     C                •      computed from the stored 6 groups data:
55*»     C                        1 = air pump only
555     C                        2 = air pump / catalyst
556     C                        3 = catalyst only
557     C                        4 = EGR only
558     C                        5 • EGR / 3-way catalyst
559     C                        6 = no EGR / 3-way catalyst
560     C
561     C     IR        1-2     region code:
562     C                       IR has same value range as  IREJN, but  is not necessarily
563     C                       the scenario field's value
564     C                        1 = low altitude
565     C                        2 = high altitude
566     C
567     C     IROW      1-15    index into EFF's row dimension = the 8  ID cases split
5^8     C                       into 15 subcases  (see BD 24  definition of EFF)
569     C
570     C     IRT          1-4    temperature cases  in RVP cf calculations, the values
571     C                        referenced depending on the  (sub)array.  See /RVPEX1/.
572     C
573     C     IRQ1         1-3    RVP cf equation parameters set 1  (RVP  > 9.0 adj.):
571*     C                        RADJCF=(bl+b2*RVP)/b3
575     C
576     C     IRQ2         1-2    RVP cf equation parameters set 2  (T  interpolation)
577     C                          1 = initial temperature  (T range 1b)
578     C                          2 = temperature difference  (interval length)
579     C
580     C     IROJ         1-3    RVP i high T combined cf formula coefficients:

-------
                   C-ll
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


IRVP 1-;



IS 1-4


ISC 1-5


ISP 1-21


IS2a 1-2/


IT 1-9



ITECH 1-15



ITEM 1-2

ITER 1-4


ITL 1-13


ITLR 1-4

ITLT 1-4


ITY 1-3


IUDI 1-5






IV 1-8








Appendix C:  MOBILES Program Description                 May 5, 1989

            TCP (I B) =EXP (al * (RVP-9) +a2* (T-75) +a3* (RVP-9) * (T-75))

     1-2/4  types  of non-certification RVP: 1  = Base, 2 = In-use
                                 3 = Uncontrolled refueling loss
                                 4 = Hot soak  (weathered)

          overlap tampering effects category sires 8-11
          ( IS = 1C - 7 )J used in A8T011.

          underscore string repetition counter - for example,
          ISC = 3 => repeat the string 3 times

          my group pointer into speed correction equation array;
          found by ISPPTR; indexes SKI 6 SCUNA1.

          number of coefficients in a new scf equation:
              IS2C = 2 (A/X+B);  IS2N = 3  (A+B*X+C*X**2)

          pointer  to temperature correction equation
          coefficients; found by ITCPTR; indexes TTAA/7COF
          arrays.

          emission control technology class wrt  I/M  impact;
          f(MY.IVLD)  as determined by  IMPTR;  indexes I/M credits
          arrays CR12HC/CO 6 CRD4VA/B. ITECHA/B/C are in 60863*4.
          NAMTEM index: 1
                             mini
'max!'  pref i xes
          unspecified string iterations counter; same usage as
          ISC, only with any string

          running loss HC: defined trip lengths for 3 cycle types:
              1-6 - NYCC      7-12 - LA-4       13 - HFET

          running loss HC: RVPs at which measured rl HC available

          running loss HC: temperatures at which measured rl HC
                           emission rates are available

          type tampering rates wrt 1/MxlGD table heading substring
          poi nter

          index into Uncontrolled Diurnal rate  UDI:
             1 = standard FTP conditions
             2 = in-use conditions
             3 = 8AM-11 AM conditions
             4 = 10AM-3PM conditions
             5 = 8AM-2PM conditions

          vehicle types evaluated by MOBILE4:
             1 = iDGV  = light duty (Id) gasoline fueled vehicle
             2 = LDGT1 = Id gasoline fueled truck, <= 6000 Ibs.
             3 = LDGT2 = Id gasoline fueled truck, 6001-8500 Ibs.
             4 = HDGV  = heavy duty gasoline fueled vehicle
             5 = LDDV  = light duty diesel fueled vehicle
             6 = LDDT  = light duty diesel fueled truck
             7 = HDDV  = heavy duty diesel fueled vehicle
             8 = MC    = motorcycle

-------
                          C-12
       Appendix  C:  MOBILES  Program  Description
                                                     May  5,  1989
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
c
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
          1-6    vehicle  type  subgroups;  index  correction  factor  arrays;
IVEFF
IVF1
1-2
1-6
IVF2
1-9
IVF3
IVIM
IVHD
IVP
IVREV
IVTAM
IV9
1-10
1-4
1-2
1-3
1-4
1-4
1-9
                   =  LM,  TEMP,  A,  B  or  LOG,  defined  as:
IVLM
1 = LDGV
2 = LDGT1
3 = LDGT2
4 = LDDV
5 = LDDT
6 = MC
indexes:
MYGSP1
BFRCOF

IVTEMP
1 = LDGV
2 = LDGT1
3 - LDGT2
4 = HDGV
5 = MC


MYGTCF


IVA
1 = LDGV
2 = LDGT1
3 = LDGT2
4 = MC



SCADJ1
ISPGRP
ALHRET
                                                        IVB
                                                        IVLDG
                                                       1  =  HDGV   1  =  LDGV
                                                       2  =  LDDV   2  =  LDGT1
                                                       3  =  LDDT   3  =  LDGT2
                                                       4  =  HDDV
                                                       GPBSCO
                                                       TTFC
See subroutines BIGCFX 6 BIGALH and function ISPPTR.

vehicle class groupings for Stage II vrs percent
efficency in reducing HC refueling  losses:
  1 = LDGV,  LDGT1 6 LDGT2    2 = HDGV

vehicle class types for MOBILE! numeric output
format  (OUTFMT = 1):
  1 = LDV      3 » LDT2     5 = HDD
  2 = LDT1     4 = HDG      6 = MC

vehicle class types for MOBILE2 numeric output
format  (OUTFMT = 2):
  1 = LDGV     4 = LDGT     7 = LDDT
  2 = LDGT1     5 = HDGV     8 = HDDV
  3 = LDGT2    6 = LDDV     9 = MC

vehicle class types for MOBILE4 descriptive output
format  (OUTFMT = 3): same as IVF2 plus  10 = All Vehicles

vehicle class types that can be included  in MOBILE4
inspection / maintenance (I/M)  programs:
  1 = LDGV    2 = LDGT1    3 = LDGT2    4 = HDGV

vehicle class types for heavy duty  only  (used for
units conversion of user entered hd zml 6 dr):
  1 = HDGV     2 = HDDV

vehicle types whose ef's can be modified by correction
factors for extra  load, trailer towing  6/or CO offset:
  1 = LDGV     2 = LDGT1    3 = LDGT2

vehicle types covered by the revised idle EF algorithm:
  1 = LDGV     2 = LDGT1    3 = LDGT2    4 = HDGV  (HC6CO)
IVI = IVREV, except 3 & 4 -> 3  (HDGV uses LDGT2 data)
vehicle types  impacted by tampering:
  1 = LDGV     2 = LDGT1    3 = LDGT2
                                                              HDGV
vehicle type categories for output arrays EFEVAP,
EFIDLE, 6 EFFTP.  First 8 are  identical to  IV's.
  9 = LDGT
    = LDGT1 + LDGT2, each weighted by  its vmt share

-------
                                        C-13

                     Appendix C:  MOBILE4 Program Description                 May 5, 1989

697     C     12ND      1-4    secondary index (pointer into a pointer vector)
698     c
699     C     JCS       1-7    pointer to category size to be summed into DIV
700     C                      (in A8T011)  or (* TGSUSE)  into EGS  (in SETEGS)
701     C
702     C     JDX       10-1   model  year window index = age of vehicle relative to
703     C                      ICY + 1. In detail:
704     C                       20 = 20+ my age group cell  => tamper effect  is
705     C                            always 0.0 => this case skipped in TAMPER  (only)
706     C                       19 = 19th my cell
707     C                       18 = 18th my eel 1
708     C
709     c
710     C
711     C                        2 = 2nd my cell
712     C                        1 = 1st my cell  = calendar year  (ICY)
713     C
714     C     JG        1-20   model  year group pointer «  IG or 21 - IG, depending on
715     C                      whether looking for match or unused cell, respectively,
716     C                      in MYGERB.  Also used  (as is KG) to distinguish  (from  IG)
717     C                      myg dimension size differences  in BD comments.
718     C
719     C     JOU       1-3    output unit key:
720     C                        cell 1 is assigned lOUREP's value
721     C                        cell 2 is assigned lOUERR's value
722     C                        cell 3 is assigned lOUASK's value
723     C
724     C     JPGD      1,5    pointer to base tamper rate to be used in
725     C                      computing CSIZE (1-3,I AY).  Depends on IPG.
726     C
727     C     JSTD      1-6    emissions standard model year group for gas fueled  IV.
728     C                      The group key is the same as ISTD, but JSTD is set
729     C                      internally, instead of being passed in via EVMAIN.
730     C                      (The  ISTD definition is in the Parameter Dictionary.)
731     C
732     C     JU        1-9    input / output (i/o) device unit numbers
733     C
734     C     JV        1-2    vapor pressure calculation  loop 6 vectors index  (CALUDI)
735     C
736     C     KSTD      1-2    mapping of JSTD used to index R2ALT:
737     C                          KSTD = 1, unless JSTD = 4 -> KSTD = 2
738     C
739     C     KDX       1-21   model  year window  index = ICY - 1979, unless  result  is
740     C                      < 1 (=> = 1) or > 21  ( => = 21); used by HDDMYM
741     C
742     C     LAY       1-2    same as IAY, but set for DISCAL call only.
743     C
744     C     LIM       1-2    = IM,  except = 1 when  there is an  I/M kink, but  it  is
745     C                        after LDXSY 6 the PREV segment is being evaluated:
746     C
747     C                      IM    IMKINK   LKINK    LIM   Comments
748     C
749     C
750     C
751     C
752     C
753     C
754     C     LIMIT     1-2    index for range check  on a variable's value assignment:
1
2
2
2
1
1
2
2
1
1
1
2
1
2
1
2
P 6 S: no I/M
P & S: all I/M
P: no I/M; S: kinked
P: kinked I/M; S: al 1


I/M
I/M

-------
                   c-u
Appendix C:  MOBILES  Program Description
May 5,  1989
755
756
757
758
759
760
761
762
763
76**
765
766
767
768
769
770
771
772
773
Tjk
775
776
777
778
779
~? Q r*>
/ OU
781
782
783
781*
785
787
788
789
790
791
792
793
79^*
795
796
797
798
799
800
801
802
803
8oi»
805
806
807
808
809
810
811
812
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
1 = lower bound 2 = upper bound

LINES 1-9 number of lines in user entered data set title

LJDX 20-1 model year relative to LAPSY = JDX - LDXSY + 1;
used with CUMMIL to get mileage of "previous" segment

LKINK 1-2 same as IMKINK, except IMDXSY must be within (JDX, LDXSY)

NCKIAY 1-3 index into ECK = ICOL index



5) Subroutine / function parameter dictionary

Variables /arrays occurring in 1 or more of the subprogram parameter
lists are defined in this section, unless the variable is a subscript,
in which case look it up in k) 's subscript dictionary. The motivation
for defining all the parameter lists in one place is to have only one
instance of a definition in the code plus to encourage only one use
for a mnemonic in the code plus the combined lists contain only 18
names after subscripts have been removed. Whether scanning on-line or
off a listing, the lookup will be quick.

Parameter array subscripts


CSFUSE (7) - CSFUSE ( 1C? )
CSF1ST(7,2,2) - CSF1ST ( IC7, IPG, IGCSF )
S2LEFT(1») - S2LEFT ( IVTAM )

Name Type Description
CSFUSE R category size factors used * ATR to calculate CSIZE
CSF1ST R category size factor for 1st calculation of CSIZE
FLGERR 1 number of flag values found to be out of range
IBEFSW 1-2 switch identifying routine calling BEF 6 result returned
1 = BEFIDL = return uncorrected basic ef
2 = EFCALX or HCCALX = return basic ef corrected for
operating mode, temperature, RVP (if high temp),
I/M and tampering
ICASE flags the my groups array to be searched.
ICY calendar year for which emission factors are calculated
INERR cumulative count of data entry errors
IOUOUT unit number on which title is printed
IOUSUM sum of acceptable changed i/o unit numbers
IVALUE entered integer value causing error / warning message
IY year to test and adjust to l»-digit year
IY1 lower l»-digit bound for IY
IY2 upper ^-digit bound for IY
MESSAG message code sent by calling subprogram
MY model year
NERR number of error if IY is out of bounds
RVALUE R entered real value causing error / warning message
S2LEFT R See local dictionary definition in REFUEL header.
VMLDGT R sum of vmt for LDGT1 and LDGT2 (= X23 in MOBILE2)
VMTAGE R vehicle cumulative mileage

Evap Study II Parameter List Dictionary for CCEVRT block of routines:

-------
                                        C-15

                     Appendix C:  MOBILES Program Description                 May 5,  1989

813     c
8 lli     C      Name    Range               Description
815     c     			-	-	
8l6     C     EVRATE     R     dependent variable value from evaporative component
817     C                      equation(s)  calculation:
818     C                        KEYEVP     EVRATE
819     C                          1    => hot soak rate
820     C                          2    => diurnal rate
821     C
822     C     ISTD      1-7    emissions standard model year group for gas fueled  IV:
823     C                        IVGAS    value    myg
824     C                        	    	    		
825     C                          11      pre-1971
826     C                                   2      1971
827     C                                   3      1972-1977
828     C                                   4      1978-1980
829     C                                   5      1981+ carbureted  (KEYEQ=1 or 2) OR
830     C                                          cert fuel chg, carbureted  (KEYEQ=3)
831     C               .                    6      1981+ TBI KEYEQ=1 or 2 OR
832     C                                          cert fuel chg, TBI KEYEQ=3
833     C                                   7      1981+ PFI KEYEQ=1 or 2 OR
834     C                                          cert fuel chg, PFI KEYEQ=3
835     C                          21      pre-1971
836     C                                   2      1971
837     C                                   3      1972-1977
838     c                                   4      1978-1980
839     C                                   5      1981+ carbureted  (KEYEQ=1 or 2) OR
8^*0     C                                          cert fuel chg, carbureted  (KEYEQ=3)
841     C                                   6      1981+ TBI KEYEQ=1 or 2 OR
842     C                                          cert fuel chg, TBI KEYEQ=3
843     C                                   7      1981+ PFI KEYEQ=1 or 2 OR
844     C                                          cert fuel chg, PFI KEYEQ=3
845     C                          31      pre-1979
846     C                                   2      1979-1980
81*7     C                                   3      1981+ carbureted  (KEYEQ=1 or 2) OR
848     C                                          cert fuel chg, carbureted  (KEYEQ=3)
81*9     C                                   1*      1981+ TBI KEYEQ=1 or 2 OR
850     C                                          cert fuel chg, TBI KEYEQ=3
851     C                                   5      1981+ PFI KEYEQ=1 or 2 OR
852     C                                          cert fuel chg, PFI KEYEQ=3
853     C                          41      pre-1985
854     C                                   2      1985+  (KEYEQ=1 or 2) OR
855     C                                          cert fuel chg, carbureted  (KEYEQ=3)
856     C                          51      pre-1978
857     C                                   2      1978-1979
858     C                                   3      1980-81
859     C                                   4      1982-84
860     C                                   5      1985+
861     C
862     C     IVGAS     1-5    gasoline fueled vehicle types  (=  IVTEMP):
863     C                        1 = LDGV  2 = LDGT1  3 = LDGT2  4 = HDGV  5 = MC
864     C                      IVGAS =  IV, except MC  (5 vs 8);  IVEVAP  is an alt name.
865     c
866     C     IVTL      1-4    running  loss HC: vehicle classes with rl HC emissions
867     C
868     C     KEYEQ     1-3    HS/DU equation group selection key:
869     C                        1 = untampered
870     C                        2 = uncontrolled

-------
                          C-16
871
872
873
87^
875
876
877
878
879
880
881
882
883
884
885
886
887
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
       Appendix C:  MOBILES Program Description

                   3 = certification fuel  change
May 5, 1989
KEYEVP    1-2    Evaporative component calculation selection key
                   1  = hot soak  2 = diurnal

RIVAL      R     independent variable value in evaporative component
                 equation(s)  calculation:
                   KEYEVP                  RIVAL
                     1    => hot soak => fuel  RVP
                     2    => diurnal  => diurnal Index
1C, IDX, IFDS, IG, IM, IP, IP1, IP2, IR,  IV and JSTD are parameters
defined in the subscript dictionary.

-------
                   C-17



Appendix C: MOBILES Program MAIN                        May 5,  1989
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
i o *)r\
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
103^
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C














C











MAIN

MAIN is the MOBILE4 driver. It sets up the run and then loops through
scenarios.

Calls CONSEC, EFCALX, ONESEC, OUTDT5, OUTNEW, OUTPUT, PARSEC and REGMOD.

Since MAIN is not "called" and does not "return", the I/O interface
documentation will list the variables passed in argument lists or common
blocks and used in MAIN:

argument lists: ICY.INERR
common blocks:
/FLAGS3/ OUTFMT
/IOUCOM/ IOUERR
/REGION/ IREJN

Local variable dictionary:

Name Type Description
ICYOLD 1 calendar year from previous pass of scenario loop
IROLD 1 region from previous pass of scenario loop
LEAST1 1 flag: 0 = OUTPUT has not yet been called.
1 = OUTPUT has been called at least 1 time.

Notes:

MAIN was modified for MOBILE4, updating several common block declarations
MAIN was modified for MOBILE4, updating several common block declarations


CHARACTERS NAMFLG.NAMMMR
CHARACTERS USNAME
CHARACTERS NAMRVP , NAMETH , NAMTEM
CHARACTER*4 NOYES, COMMA, PERI 00
CHARACTER*4 IMNAME ,PROJ 1 D.SCNAME
CHARACTER*! ASTMCL, ACLASS
CHARACTER*! COLON
INTEGER PROMPT, TAMFLG.SPDFLG, VMF LAG
INTEGER ALHFLG
INTEGER ATPFLG.TPDFLG.RLF LAG, TEMFLG, OUTFMT
INTEGER PRTFLG.HCFLAG
INTEGER ATPPGM.ATPFQT.DISTYP
REAL JULMYR.JANMYR
REAL LHDVM,MHDVM,HHDVM,LHDRG,MHDRG,HHDRG

COMMON /ALUHAC/ ACEQI P (8,3,2) , ACCF (2, 3,2, 3, 2)
COMMON /ALUHIN/ AC.XLOAD (3) ,TRAI LR (3) , ABSHUM.DB.WB
COMMON /ALUHLT/ XLCF (3,6,3,2) ,TWCF (3,6,3, 2)
COMMON /ALUOUT/ ALHRET (20,4,3)
COMMON /ALUPAC/ MYGACE (8,3,2) .MYGACC (2, 3,2)
COMMON /ALUPLT/ MYGXLC (6,3,2) .MYGTWC (6, 3,2)
COMMON /ATPAR1/ LAPSY.LAPIST, LAPLST, LVTFLG (4)
COMMON /ATPAR2/ ATPPGM, ATPFQT, CRATP.D 1 STYP (8)
COMMON /ATPAR3/ A IR (2) , CAT (2) , ECK (3) ,TNK (2) , EGR (2)
COMMON /ATPAR4/ CAN (2) , PCV (2) .CAP (2) , EFF (2, 3, 15)
COMMON /BASEQ1/ ERBZML (20,3, 8,2) , ERBDR (20, 3,8, 2) , ERB50K (12,2,2)

-------
                                         C-lB
                      Appendix C: MOBILES Program MAIN
                                                                May 5,  1989
1058
1059
1060
1061
1062
1063
1061.
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1 103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
COMMON /BASEQ2/ MYGERB (20,3,8,2),MAXERB
COMMON /BASEQ3/ NEWVEH.NEWMYF.NEWMYL.ZMLNEW.DRNEW,KINKS
COMMON /BASEQ4/NEWPAR(5,100) ,'BERNEW (3, 100) ,NEWFIT(100) ,NEWCT,MAXCT
COMMON /BASEQ5/ ERUZML (12,3,8,2),ERUDR(12,3,8,2),ERU50K(12,2,2)
COMMON /BASEQ6/ MYGERU (12,2,3,8,2).MAXERU.NUMERU(3,8,2),KEYER,IGER
COMMON /BASEQ7/ IPMOD (3)
COMMON /CEVCOM/ USRTPD (8),USRMPD (8)
COMMON /CEVBMY/ BMYMPD (20,8),BMYTPD (20,8)
COMMON /CITCIN/ UDI (5),IUDI,CI GAS 1,CIGAS2,CIETH1,CIETH2,ICERSW
COMMON /CITPAR/ SCNAME (4) ,FRETH,FRMETH.FRGAS
COMMON /CITRV1/ RVPBAS.RVPIUS.RVPAST.RVPICY.RVPETH,IUSESY.RATUNC
COMMON /CITRV2/ RVPHS1.RVPHS2.RVPET1,RVPET2,RVP090,RVP100,RVP115
COMMON /CITRV3/ RVPMAP (5),RVPX (2,2),I CLASS,ASTMCL,ACLASS(5)
COMMON /CITUSE/ RVUSE1.RVUSE2,CIUSE1,ClUSE2
COMMON /CRACOM/ MAXCRA.CRAVAL(3,8,2).MYGCRA(3,8,2)
COMMON /CUMCOM/ CUMMIL(20,8)
COMMON /EGSCAL/ AER (11 ,11 ,2,2) ,TGS (11,6,4) ,EGS(7,2) .OPENLP (20,4)
COMMON /EMECAL/ EM3W (3,3,3),EMOX (3,3,3),EMEGR (4,3,3),EMI (7,3,3)
COMMON /EVADU1/ 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 /EVAHIA/ HIHS (2),HIADJ1,HIADJ2
COMMON /EVAHS1/ HSEQ (3,2,12),EFHS (4,2) ,HDHS (2),CLHS (5,2)
COMMON /EVAHS2/ TPHS(7,4,2)
COMMON /EVAPAR/ IFDS,ISTDC,ISTDT,ISTDP.FINJ (2)
COMMON /EVAPGR/ EVP (4).GREVP (4,9),VGREVP (4)
COMMON /EVAPHD/ HDSAL.HDWGT (2) ,IVVMAP(5)
COMMON /EVASTD/ MYGSTD (5,5),MAXSTD,KSTD8l (4,3)
COMMON /EVPDAT/ EVPAER (3,2),EVPTGS (3,2,4).CCEMI (7,4)
COMMON /FLAGS1/ PROMPT,TAMFLG.SPDFLG,VMFLAG
COMMON /FLAGS2/ MYMRFG.NEWFLG,IMFLAG,ALHFLG
COMMON /FLAGS3/ ATPFLG.TPDFLG.RLFLAG,LOCFLG.TEMFLG.OUTFMT
COMMON /FLAGS4/ PRTFLG,IDLFLG.NMHFLG.HCFLAG
COMMON /GSFCOM/ MAXGSF.GSFRAC(22,8,2) ,MYGSF(22,8,2)
COMMON /HDCCOM/ HDCFAC (37,2),LOWYR.MAXCIG
COMMON /HDDMAR/ C2BDVM(20),LHDVM (20),MHDVM(20) .HHDVM(20)
COMMON /HDDREG/ C2BDRG (21),LHDRG(21).MHDRG(21).HHDRG(21)
COMMON /IDLEQ1/ ZMLIDL (15,3,8,2),DRIDL (15,3,8,2)
COMMON /IDLEQ2/ MYGIDL (15,3,8,2) ,MAXIDL
COMMON /IDLEQ3/ UTIDOF (14,3,2)
COMMON /ICR4VA/ CRD4VA (19,2,12,3)
COMMON /ICR4VB/ CRD4VB (19,2,12,3)
COMMON /IMPART/ ICYIM,ISTRIN.MODYR1,MODYR2,WAIVER(2) ,CRIM
COMMON /IMPAR2/ I LOT(4),ITEST.NUDATA (2),NONUDA,NLIM,IMNAME(20,9)
COMMON /IMPAR3/ IMDX1,IMDX2,IMCASE,IMVEH,IM
COMMON /IMPAR5/ MYGIM2 (3,3),LBIM4P,CRHDGV(2,2),DISCNT (3)
COMMON /IMPAR6/ IFREQ.INTYP
COMMON /IM12HC/ CR12HC (19,20,5,2)
COMMON /IM12CO/ CR12CO (19,20,5,2)
COMMON /INJECT/ TBI (13,4),PFI (13,4) ,MAXFIY.MINFIY
COMMON /IOUCOM/ IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK
COMMON /1VPCOM/ IVPTRL(8),IVPTRT (8),IVPTRA(8),IVPTRB(8)
COMMON /LOOKUP/ IVTAM,IQG,IPG,JPGD,IHG, I GCSF
COMMON /MAXIMA/ MAXVEH,MAXLTW,MAXPOL,MAXREG,MAXYRS
COMMON /MPDCOM/ MAXMPD,VALMPD(2,8).MYGMPD(2,8)
COMMON /MYCODE/ MY,IDX,JDX,LDXSY.LMYRVT,I AY,IMDXSY,IMKINK
COMMON /MYRCAL/ XMYM (20,8).JANMYR (20,8),TF(20,8).TFMYM(20,8)
COMMON /MYRSAV/ AMAR (20,8).JULMYR (20,8).NEWCUM
COMMON /MYUB1/  MYTGS (11,6,4),MYEGR (4,4),MYVTS (3,2,4)

-------
                                          C-19
       Appendix C:  MOBILE!*  Program MAIN
                                                                                May 5, 1989
1116
1117
1118
1119
1120
1121
1122
1123
112i*
1125
1126
1127
1128
1129
1130
1131
1132
1133
1131*
1135
1136
1137
1138
1139
mo
mi
1 11*2
111*3
m*i*
111*7
m*8
111*9
1150
1151
1152
1153
1151*
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
3) .BFR50K (1*, 1 2, 3)
COMMON /MYUB2/  MYCCEI(7,1*)
COMMON /NAMES I/ NAMFLG 06) .NAMMMR (2,2 ,8) .NAMRVP (1»)
COMMON /NAMES2/ NAMETH (2) .NAMTEM (2)
COMMON /NMETH1/ EXMET1 (3,6,8,2) ,MYGEXM(6,8, 2) ,EXMET2 (3, 10,3) .LBEXM
COMMON /NMETH2/ I EXMYG, I EXARR
COMMON /OFFSET/ OFFCO (20, 3) .OFFMTH (20,8)
COMMON /OMTCOM/ OMTCF (20, 3,8) .OMTTAM (20, 3.M
COMMON /OPMOD1/ BFRCOF (8,8, 3,6) .BFSTEP (8, 1 2, 3
COMMON /OPMOD2/ MYSTEP.MAXBFR.MYGBFR (8,3,6)
COMMON /OPMOD3/ BFMI LE ,K I NKBF .BFGT50
COMMON /PROJEC/ PROJ I D (20)
COMMON /QUITXQ/ N1QUIT
COMMON /REGION/ FEET (2) , I REJN, ALT, I NITPR
COMMON /REGISF/ GSFVCT(8)
COMMON /RESUL1/ EFFTP(3,9) ,EFEXH(9) ,EFEVAP(9) ,EFLOSS(9) ,EFRUNL(9)
COMMON /RESUL2/ EF I OLE (3, 9)
COMMON /RESUL3/ VFTP (3) , VEXH.VEVAP, VLOSS, VRUNLS.VI OLE (3)
COMMON /RLCOM1/ ROADFE (32,1*) ,D I SPL.SP I LL.OBED.OBES.OBDF (1+)
COMMON /RLCOM2/ I OBMY, I VOB (1*) , I S2SY.NPHASE.S2EFF (k)
COMMON /RLCOM3/ RLRATE (20, 1*)
COMMON /RUNLS1/ TLVMT (13) ,TLEMI (1 l,k,k,k,k) ,MAXTL
COMMON /RUNLS2/ TLCAN (13, !*,!*) .TLCAP (1 3, !*,!«)
COMMON /RUNLS3/ RULBAS (!*,!*, !*,!») .RULCAN (!*,!*) .RULCAP (!*,!»)
COMMON /RUNLSl*/ MYGRUL (!*,!*) .MAXRUL
COMMON /RUNLS5/ RULRVP (1*) ,RULTEM (1*)
COMMON /RVPEX1/ R9G1 (3,2) ,RG23 (3, 3, 3, 2) ,TLL (2)
COMMON /RVPEX2/ MYGRVP (!*,!*) ,RVPCF (20, 3, A, 2) .OPENCR
COMMON /RVPNAT/ I CERSY.RVPCER.RVPL IM (2) ,RVPD I U (2) ,PFUL, E I NCR
COMMON /SCENE1/ SPD (8) .PCCN.PCHC.PCCC
COMMON /SCENE2/ FCC, FCN, FHC, FHN
COMMON /SPEED I/ SKI (6,18,3) ,SK2C (2, Ht,2, 3) ,SKG(2,6,2) ,SK2N (3, H*,3)
COMMON /SPEED2/ MYGSP1 (18, 2, 3) .MYGSMC (18,2, 3) .MYGSP2 (3, 3)
COMMON /SPEED3/ SADJ.SCUNA1 (18, 3,8) .SCADJ 1 (3,1*) , I SPGRP (3,1*)
COMMON /SPEEDV MAXSP1 , LB1STS (3) , LBLAST,  I VB, I VA
COMMON /SPEED5/ MYHSPC (2,3) .MAXHSP (3)
COMMON /SPEED6/ SALHCF (20,3,8)
COMMON /SPEED?/ GPBSCO (3, 3,M
COMMON /SI2CAL/ ATR (5, 2) .TGSUSE ,CS I 2E (12,2) , CSAE (12)
COMMON /SIZPAR/ NTERMS (1») , INDXCS (5,1*)
COMMON /STRING/ NOYES (2) , COMMA, PER I OD, COLON
COMMON /TAMEQ1/ TAMZML (9,J», 2, 2) .TAMDR (9,1*. 3, 2) ,MYGTAM(1*) , IGT5.F50K
COMMON /TAMEQ2/ BTR(9,2)
COMMON /TAMEQ3/ CUMALL.CUMN IM,CUMIM,GT50KA,GT50KN,GT50K I
COMMON /TAMID1/ EMI 3W (3, 3, 3) , EMI OX (3, 3, 3) , EMI DL (3,1*. 3)
COMMON /TAMID2/ MY I OLE (3, 3) , I EK
COMMON /TAMID3/ OFF I DL (3,20,1*)
COMMON /TAMOUT/ TAMBAG (3, 3,20, 1*) ,THS (2,20,1*) ,TDU(20,1*) ,TCC(20,1*)
COMMON /TAMOU2/ TOB (20,1*) .GCONLY (20,1*)
COMMON /TEMPC1/TTFC(2,3,9,3) ,TTFD(3,3,3)  ,TTl*(2,6,3) ,TT8 (2 , 3, 4, 3)
COMMON /TEMPC2/ MAXTCF .MYGTCF (9, 3,5)  .MYGTFD (3) , I SH I FT
COMMON /TEMPC3/ MDLOH I (3) ,TDI FF (3) , CHFRAC (3) ,TCFF (3, 2) ,TCF (3)
COMMON /TEMPC1*/ MYGCOO (3) , LOWCO.COOTFC (3) .COOTFD (3)
COMMON /TEMPS/  AMBT.TEMMIN.TEMMAX.TEMEXH (3) .TEMEVP (6) .TEMAST (3)
COMMON /TPDCOM/ TPDCO(2,8)
COMMON /USDATA/ USNAME (1*,1+) ,NUSD, I USD (1*)
COMMON /VMXCOM/ REGMI X (8) .TFNORM (8) , VMTMI X (8)
COMMON /YEARSV I Y1941 , I Y19&0, I Y2020

-------
                   C-20




Appendix C: MOBILES Program MAIN                        May  5,  1989
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
118;
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
121 1
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
C
C




C
C
C
C
C
C
C


C
C
C
C
C
C
C

C
C
C
C
C
C
C


C





C



C



C

C
C
C
C
C
C
C
C

C
Initialize MAIN level variables.

INERR=0
ICYOLD=-1
IROLD=-1
LEAST1=0

Control and One-Time Data Sections:

Get the execution control flags and parameters, and then use them to read
in data, if any, that is read in once and applied to all scenarios. Note:
alternate RETURN1 is the fatal read error exit: execution stops.

CALL CONSEC(*99)
CALL ONESEC (INERR, *99)

Enter scenario loop.

Note that if INERR > 0 coming out of CONSEC/ONESEC, then the scenarios will
be read and processed, but EFCALX/OUTPUT will not be called. The user will
only get error diagnostics out of the run.

10 CALL PARSEC (ICY, INERR, *98)

50+ errors is (arbritrary) run limit => stop execution. Otherwise,
one or more input processing errors => abort current scenario & then do
input processing for error diagnostics on the remaining scenarios. INERR
is never reset to 0, but instead accumulates until the run ends or the
cutoff value (50) is reached.

IF (INERR.GT.50) GOTO 20
IF (INERR. GT.O) GOTO 10

IF (ICYOLD.NE.ICY.OR. 1 ROLD.NE . 1 REJN) CALL REGMOD (1 CY, 1 NERR)
IF (INERR.GT.50) GOTO 20
IF (INERR. GT.O) GOTO 10
ICYOLD=ICY
IROLD=IREJN

CALL EFCALX(ICY, INERR)
IF (INERR.GT.50) GOTO 20
IF (INERR. GT.O) GOTO 10

CALL OUTPUT (ICY)
LEAST1=1
GOTO 10

20 CALL QUITER (0.0, 0,28, INERR)

If user is supplying replacement basic FTP ef parameter records, always
print the records contents and disposition table, even when input errors
have prevented the normal output routines from being called. The only
exception is when a READ error / end-of-file occurs in CONSEC or ONESEC.

This section can be expanded to print other optional input.

98 IF (LEAST1.EQ.O.AND.NEWFLG.EQ.2) CALLOUTNEW


-------
                                         C-21

                      Appendix C:  MOBILES Program MAIN                        May 5, 1989
1232        99 STOP
1233           END

-------
                   C-22
Appendix C: MOBILE4 Subroutine QUITER
May 5, 1989
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
201?
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
7044
f. W*t "I
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
r
If
C
C
C
C
C
C
C
C
C
C
C
C
C
SUBROUTINE QUITER (RVALUE, 1 VALUE, MESSAG, INERR)

QUITER prints error and warning messages on unit IOUERR.

Called by CALUDI, CONSEC, CRANKC, DIURNL, EFCALX, EXMPTR, GETATP,
GETERQ, GET IMP, GETMRN, GETNAT, GETTAM, GETVMT,
HCCALX, HOTSOK, IOLCAL, IDLPTR, IERPTR, IEVPTR, ITAMPT,
IGEPTR, IGLPTR, IBFPTR, IGSFPT, IGTPTR, IGUPTR, ISPPTR,
ITCPTR, LOCAL, OLDTPD, PARSEC, RDCITY, STOERQ,
TFCALX and YRTEST.

1 nput on cal 1 :

parameter list: RVALUE , 1 VALUE , MESSAG, 1 NERR
common blocks:
/ATPAR2/ ATPPGM,ATPFQT,CRATP
/BASEQ4/ NEWPAR.MAXCT
/BASEQ6/ MAXERU
/CITRV3/ ASTMCL
/IMPAR6/ IFREQ, INTYP
/IOUCOM/ IOUREP, IOUERR, IOUASK
/NAMES1/ NAMFLG.NAMRVP
/NAMES2/ NAMETH.NAMTEM
/QUITXQ/ N1QUIT
/YEARS4/ IY1941, IY1960, IY2020

Output on return:

parameter 1 i st: INERR

Warning: there is a conditional branch to STOP at statement number

Local array subscripts:

IOOFBD(5) - IOOFBD ( 1 CH )
NAMEFF (2) - NAMEFF ( IVEFF )
NAMFNC (17) - NAMFNC ( 1 CH )
NAMFRQ(2) - NAMFRQ ( ATPFQT )
NAMTYP(2,3) - NAMTYP ( IMATP, ATPPGM )
NAMVEH(8) - NAMVEH ( IV )

Local variable / array dictionary:

Name Type Description

IOOFBD C*4 character string vector: 'out of bounds for1
MAXMES 1 maximum message code value
MCODE 1 = MESSAG = message code, unless < 0 or > MAXMES => =
MCOM C*7 message type = "Comment" prefix
MERR C*7 message type = "Error" prefix
MTYPE C*7 message type prefix, determined by MCODE
MWARN C*7 message type = "Warning" prefix
NAMEFF 1 character key for Stage II vrs- % efficiency IV label






























198
















88





NAMFNC C*8 function names (to identify subprogram source of error)
NAMFRQ C*8 I/M program inspection frequency cases
NAMTMP C*13 temperature names
NAMTYP C*8 I/M program type cases
NAMVEH C*8 vehicle type names





-------
                   C-23




Appendix C: MOBILES Subroutine QUITER
May 5, 1989
2058
2059
2060
2061
2062
2063
206*.
2065
2066
2067
2068
2069
2070
2071
2072
2073
207*«
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
210U
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
C
C
C
C
C
C
C
C
C
C
C



C










C

C






C

C


C

C









C







Notes:

QUITER was modified in MOBILES to print message number.
QUITER was modified for MOBILES for AER/EVPAER internal generation.
QUITER was modified in MOBILES to print new 1 /M program parameter warnings
and calculated temperature errors.

Message slots available as of 02/28/89: none


CHARACTERS NAMFLG.NAMMMR
CHARACTER*^ NAMRVP.NAMETH.NAMTEM
CHARACTER*! ASTMCL, ACLASS

COMMON /ATPAR2/ ATPPGM, ATPFQT.CRATP.D 1 STYP (8)
COMMON /BASEQ4/NEWPAR(5,100) .BERNEW (3, 100) .NEWFIT(IOO) ,NEWCT,MAXCT
COMMON /BASEQ6/ MYGERU (12,2, 3,8,2) .MAXERU.NUMERU (3,8,2) .KEYER, IGER
COMMON /CITRV3/ RVPMAP (5) ,RVPX (2,2) , 1 CLASS, ASTMCL, ACLASS (5)
COMMON /IMPAR6/ IFREQ.INTYP
COMMON /IOUCOM/ 1 OUIMD, IOUGEN, 1 OUREP, 1 OUERR, IOUASK
COMMON /NAMES I/ NAMFLG (16) .NAMMMR (2,2,8) .NAMRVP (4)
COMMON /NAMES2/ NAMETH (2) .NAMTEM (2)
COMMON /QUITXQ/ N1QUIT
COMMON /YEARS'*/ 1 Yigl»l , 1 Y1960, 1 Y2020

INTEGER ATPFQT, ATPPGM

CHARACTER*! NAMEFF (2)
CHARACTER*** IOOFBD(5)
CHARACTER*8 MERR.MWARN.MCOM.MTYPE
CHARACTER*8 NAMVEH (8) ,NAMFNC(17)
CHARACTER*8 NAMFRQ (2) , NAMTYP (2 , 3)
CHARACTER*! 3 NAMTMP (7)

DATA NAMEFF/'L', 'H1/

DATA IOOFBD/
* ' ou', 't of ' , ' bou1 ,'nds ' , 'for '/

DATA MERR/'Error: ' /.MWARN/1 Warn! ng: ' /,MCOM/' Comment: '/

DATA NAMVEH/
* ' LDGV ' ,
* 'LDGT1
* ' LDGT2 ' ,
* 'HDGV
* 'LDDV ',
* ' LDDT ' ,
* 'HDDV ',
* ' MC '/

DATA NAMFNC/
* ' IEVPTR ',
* ' OLDTPD ' ,
* ' not used1 ,
* 'not used1 ,
* ' CRANKC ',

-------
                   C-21.




Appendix C: MOBILES Subroutine QUITER                    May  5,  1989
2116
2117
2118
2119
2120
2121
2122
2123
2121*
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
211*0
211*1
211*2
211*3
2141*
211*5
211*6
211*7
211.8
211*9
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2161*
2165
2166
2167
2168
2169
2170
2171
2172
2173












C

C







C



C

C

C
C
C

C
C
C



C
C
C







C
C
C


C
C
C
* ' IGEPTR ',
* ' IGUPTR ',
* ' IGLPTR ',
* ' 1 GTPTR ' ,
* ' IBFPTR ',
* ' | ERPTR ' ,
* ' ISP Cl ',
* ' ISP C2 ',
* ' EXMPTR ' ,
* ' ITCPTR ',
* ' IGSFPT ',
5V ' IDLPTR '/

DATA NAMFRQ/' Annual ',' Biennial1/

DATA NAMTMP/' ambient ' ,
* ' exhaust ' ,
5V ' hot soak ' ,
sv ' runni ng loss ' ,
* 'diurnal 9 AM ' ,
5V 'diurnal 11 AM' ,
* 'diurnal 1 PM '/

DATA NAMTYP/' Central ', 'Central ',
* ' Dec Comp ' , ' Decentr 1 ' ,
* 'Dec Man ' , ' Decentr 1 '/

DATA MAXMES/111/

MCODE=MESSAG

Trap unknown errors.

IF (MCODE.LT.l.OR.MCODE.GT.MAXMES) MCODE=88

Double space if this is first call to QUITER on current run.

IF (N1QUIT.EQ.1) WRITE(IOUERR,300)
300 FORMAT ('0',' ')
IF(NlQUIT.EQ.l) N1QUIT-0

Identify type of message.

MTYPE=MERR
IF (MCODE.EQ.21.0R.MCODE.EQ.22.0R.MCODE.EQ.31.0R.MCODE.EQ.1*9
* .OR.MCODE.EQ.52.0R.MCODE.EQ.58.0R.MCODE.EQ.59.0R.MCODE.EQ.90
>v .OR.MCODE.EQ.96.0R.MCODE.EQ.98.0R.MCODE.EQ. 102 .OR.MCODE .EQ. 108
* .OR.MCODE.EQ.109.0R.MCODE.EQ.110) MTYPE=MWARN
IF (MCODE.EQ.53.0R.MCODE.EQ.56.0R.MCODE.EQ.71.0R.MCODE.EQ.83)
* MTYPE=MCOM

Write message type prefix:

WRITE (IOUERR, 302) MCODE.MTYPE
302 FORMAT('-I,T2,IM',I3,1X,A8)

Branch to the appropriate error / warning / comment message.


-------
                                         C-25
                      Appendix C: MOBILE4 Subroutine QUITER
                                                                    May  5,  1989
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2181.
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
    GOTO(
*
*
*
*
*
*
*
*
it
*
ft
ft
11,
11,
21,
31,
41,
51.
61,
71,
81,
91,
101,
1 11
11,
11,
22,
32,
42,
52,
62,
72,
82,
92,
102,
11,
11,
23,
33,
43,
53,
63,
73,
83,
93,
103,
11,
11,
24,
34,
44,
54,
64,
74,
84,
94,
104,
11,
11,
25,
35,
45,
55,
65,
75,
85,
95,
105,
11,
11.
26,
36,
46,
56,
66,
76,
86,
96,
106,
11,
17,
27,
37,
47,
57,
67,
77,
87,
97,
107,
11,
18,
28,
38,
48,
58,
68,
78,
88,
98,
108,
11,
19,
29,
39,
49,
59,
69,
79,
89,
99,
109,
11,
20,
30,
40,
50,
60,
70,
80,
90,
100,
110,
) ,nCODE
 11 WRITE(IOUERR,311) I VALUE,IOOFBD.NAMFLG(MCODE)
311 FORMAT (' + ',12X,l4,5A4,'flag1,A8)
    GOTO 198
 17 WRITE(IOUERR,317) RVALUE,IOOFBD
317 FORMAT('+',12X.G10.3.5A4,'VMTMIX  (0. to  I.)1)
    GOTO 198
 18 WRITE(IOUERR,318) RVALUE
318 FORMAT (' + ',12X.G10.3,' sum of VMTMIX is  not  equal  to  1.')
    GOTO 198
 19 WRITE(IOUERR,319) RVALUE
319 FORMAT('+',12X,G10.3, ' negative model year mileage1)
    GOTO 198
 20 WRITE(IOUERR,320) RVALUE
320 FORMATC + ', 12X.G10.3, ' negative model year registration1)
    GOTO 198
 21 WRITE(IOUERR,321) RVALUE
321 FORMAT (' + ',14X.G10.3,' registration with zero mileage1)
    GOTO 199
 22 WRITE(IOUERR,322) RVALUE
322 FORMAT('+',14X,G10.3,' mileage with zero registration1)
    GOTO 199
 23 WRITE (IOUERR,323) I VALUE,IOOFBD,MAXCT
323 FORMAT('+',12X,l4,5A4,'e.f.  changes  (1 to1,14,'  pairs)1)
    GOTO 198
 24 WRITE(IOUERR,324) I VALUE,IOOFBD
324 FORMAT('+',12X,14,5A4,'region  (1  to 2)')
    GOTO 198
 25 WRITE(IOUERR,325) I VALUE,IOOFBD
325 FORMATC + ',12X, 14,5A4,'vehicle type  (1 to 8)')
    GOTO 198
 26 WRITE(IOUERR,326) I VALUE,IOOFBD
326 FORMAT('+',12X,14,5A4,'pollutant  (1 to 3)')
    GOTO 198
 27 WRITE(IOUERR,327) I VALUE,IOOFBD,IY1941,IY2020
327 FORMATC + M2X, l4,5A4,'year  (',14,' to  ',14,')')
    GOTO 198
 28 WRITE(IOUERR,328)
328 FORMAT('0',T2,'Excess data errors prevent further  analysis.')
    GOTO 199
 29 WRITE(IOUERR,329)
329 FORMAT('+',12X,'   last year cannot be less than  first  year')
    GOTO 198
 30 WRITE(IOUERR,330) RVALUE
330 FORMATC + 1 , 12X.G10.3, ' intercept  must be positive')

-------
                                         C-26

                      Appendix C: MOBILE4 Subroutine QUITER                    May  5,  1989

2232           GOTO 198
2233        31 WRITE (IOUERR,33D  RVALUE
2234       331 FORMATC + ', 14X.G10.3, ' negative slope for ageing vehicle1)
2235           GOTO 199
2236        32 WRITE (IOUERR,327)  I VALUE,IOOFBD,IY1960,IY2020
2237           GOTO 198
2238        33 WRITE (IOUERR,333)  I VALUE,IOOFBD
2239       333 FORMAT('+',12X,I4.5A4,'stringency (10 to 50)')
2240           GOTO 198
2241        34 WRITE (IOUERR,33*0  RVALUE,IOOFBD
2242       334 FORMATC + ' ,12X,F4.0.5A4, ' I/M Program compliance  rate',
2243          *        ' ','  (0 to 100%)')
2244           GOTO 198
2245        35 WRITE (IOUERR,335)  I VALUE,IOOFBD,IY1941,IY2020
2246       335 FORMATC + ' ,12X, I4.5A4, 'MODYR1  (',14,' to  ',14,')')
2247           GOTO 198
2248        36 WRITE (IOUERR,336)  I VALUE,IOOFBD,IY1941,IY2020
2249       336 FORMAT(' +',12X,14,5A4,'MODYR2  (',14,' to  ',14,')')
2250           GOTO 198
2251        37 WRITE (IOUERR,337)
2252       337 FORMATC + ', 12X, ' MODYR1  cannot be greater than MODYR21)
2253           GOTO 198
2254        38 WRITE (IOUERR,327)  I VALUE,IOOFBD,IY1960,IY2020
2255           GOTO 198
2256        39 WRITE(IOUERR,339)  RVALUE
2257       339 FORMATC + ' , 12X.G10.3, ' speed must be positive1)
2258           GOTO 198
2259        40 WRITE(IOUERR,340)  RVALUE
2260       340 FORMAT('+',12X,G10.3,' valid ambient temperature',
2261          *                     '  is  0-110 deg.  (F)')
2262           GOTO 198
2263        41 WRITE(IOUERR,341)  RVALUE,IOOFBD
2264       341 FORMATC + ',12X,G10.3,5A4,'PCCN  (0.  to 100.)')
2265           GOTO 198
2266        42 WRITE (IOUERR,342)  RVALUE,IOOFBD
2267       342 FORMATC + 1 , 1 2X.G10. 3.5A4, 'PCHC  (0.  to 100.)')
2268           GOTO 198
2269        43 WRITE(IOUERR,343)  RVALUE,IOOFBD
2270       343 FORMAT('+',12X,G10.3,5A4,'PCCC  (0.  to 100.)')
2271           GOTO 198
2272        44 WRITE (IOUERR,344)  RVALUE,IOOFBD
2273       344 FORMAT('+',12X,G10.3,5A4,1AC  (0.  to 1.)')
2274           GOTO 198
2275        45 WRITE (IOUERR,345)  RVALUE,IOOFBD
2276       345 FORMAT('+',12X,G10.3,5A4,'extra  load  (0.  to 1.)')
2277           GOTO 198
2278        46 WRITE(IOUERR,346)  RVALUE,IOOFBD
2279       346 FORMAT('+',12X,G10.3,5A4,'trailers (0.  to  1.)')
2280           GOTO 198
2281        47 WRITE (IOUERR,347)  RVALUE,IOOFBD
2282       347 FORMAT('+',12X,G10.3,5A4,'humidity (20.  to  140.)')
2283           GOTO 198
2284        48 WRITE (IOUERR,348)  NAMVEH(IVALUE)
2285       3^8 FORMAT ('-i- M2X,'  there are no  sales for vehicle  ',A8)
2286           GOTO 198
2287        49 WRITE (IOUERR,349)  RVALUE
2288       349 FORMAT(' + M4X,G10.3,' MYR sum not =  1.  (will  normalize)')
2289           GOTO 199

-------
                                         c-2?

                      Appendix C: MOBILE** Subroutine QUITER                    May  5,  1989

2290        50 WRITE(IOUERR.350)  RVALUE,IOOFBD
2291       350 FORMAT('+',12X,G10.3,5A4,tampering rate  intercept  (up  to  1.0)')
2292           GOTO  198
2293        51 WRITE (IOUERR,351)   IVALUE.MAXERU
2294       351 FORMAT (' + ' ,12X, '  equati on1 , I 3, ' can not be  stored.   Only ',13,
2295          *  '  equations1/'   ',12X,' per pol/veh/reg  case  are allowed.1/
2296          *  'QV ')
2297           GOTO  198
2298        52 WRITE(IOUERR,352)  RVALUE
2299       352 FORMATC + 1 , 14X.G10.3, '  speed  increased to 2.5  mph minimum1)
2300           GOTO  199
2301        53 WRITE(IOUERR,353)
2302       353 FORMAT (' + ',14X,'  All flags must be corrected before  rerunning.1)
2303           GOTO  198
2304        54 WRITE (IOUERR, 351«)
2305       35^ FORMAT ('-',•End-of-file return on read of unit IOUIMD1,
2306          *        ' (new FTP  I/M credits).  Run aborted.'/'O','  ')
2307           GOTO  198
2308        55 WRITE(IOUERR,355)
2309       355 FORMAT ('-','Error return on read of unit  IOUIMD1,
2310          *        ' (new FTP  I/M credits).  Run aborted.'/'O1,'  ')
2311           GOTO  198
2312        56 WRITE(IOUERR,356)
2313       356 FORMAT (' + ',14X,'  A/C correction factor will be calculated.'
2314          *   /'  '.T15,1 Value of  inputted AC usage  parameter  is  ignored.')
2315           GOTO  199
2316        57 WRITE(IOUERR,357)
2317       357 FORMATC + 1 , 12X,'WB temp cannot be greater than DB temp1)
2318           GOTO  198
2319        58 WRITE(IOUERR,358)   I VALUE.RVALUE
2320       358 FORMAT (' + ',14X,'  Average miles/day is zero  for vehicle  class1,12,
2321          *               '  and model  year',F6.0)
2322           GOTO  199
2323        59 WRITE (IOUERR,359)   I VALUE, (NEWPAR(I PAR,I VALUE),IPAR=1,3)
2324       359 FORMAT('+',14X, '  equation1 , I 3, ' zeroes all  idle coefficients',
2325          *   '   (and total)  for IR=',I1,',  IV=',I1,',  IP=',I1)
2326           GOTO  199
2327        60 WRITE (IOUERR,360)   INERR.NAMFNC (I VALUE)
2328       360 FORMATC + 1, 12X, 14, ' exceeds ub of highest myg  in'.AS)
2329           GOTO  198
2330        61 WRITE (IOUERR,361)   INERR.NAMFNC (I VALUE)
2331       361 FORMATC + 1, 12X, '  default used  for ',15,'  in  index f unction1 ,A8)
2332           GOTO  198
2333        62 WRITE(IOUERR,362)   I VALUE,IOOFBD
2334       362 FORMATC + M2X, I4.5A4,  'new e.f. region  (1 to 2)')
2335           GOTO  198
2336        63 WRITE(IOUERR,363)  RVALUE,IOOFBD
2337       363 FORMAT C + '.IZX.GIO.3,5A4,'  (0.  <= PCHC+PCCC  <=  100.)')
2338           GOTO  198
2339        64 WRITE (IOUERR,364)  RVALUE,IOOFBD
2340       364 FORMAT(' + ',12X,G10.3,5A4,'  (0.  <= PCHC+PCCC-PCCN <=  100.)')
2341           GOTO  198
2342        65 WRITE (IOUERR,365)   IVALUE
2343       365 FORMAT (' + ',12X,'  MYR of LDDV not equal to LDGV for  JDX<=',I2)
2344           GOTO  198
2345        66 WRITE (IOUERR,366)   IVALUE
2346       366 FORMAT (' + ',12X,'  MYR of LDDT not equal to LDGT1  for  JDX=',I2)
2347           GOTO  198

-------
                                         C-28

                      Appendix C: MOBILE** Subroutine QUITER                    May  5,  1989

23l»8        6? WRITE (IOUERR,367) NAMVEH (IVALUE)
23^*9       367 FORMATC + ' ,12X, ' EFFTP>0. and GSF=0. for vehicle  ',A8)
2350           GOTO  198
2351        68 WRITE (IOUERR,368) NAMVEH(I VALUE)
2352       368 FORMAT (' + ',12X,' EFFTP<=0. and VMTMIX>0. for vehicle  ',A8)
2353           GOTO  198
2354        69 WRITE (IOUERR,369) NAMVEH (I VALUE)
2355       369 FORMATC + 1 ,12X, ' EFIDLE>0. and GSF=0. for vehicle  ',A8)
2356           GOTO  198
2357        70 WRITE (IOUERR,370) NAMVEH(I VALUE)
2358       370 FORMATC + 1 ,12X, ' EFIDLE<=0. and VMTMIX>0. for  vehicle  ',A8)
2359           GOTO  198
2360        71 WRITE (IOUERR,371) IOUREP,IOUERR,IOUASK
2361       371 FORMATC + ', 14X, ' Current  output unit numbers are1,
2362          *    '  IOUREP=',I 1,'  IOUERR=',I 1,'  IOUASK=',I1)
2363           GOTO  199
2364        72 WRITE (IOUERR,372) I VALUE, I OOFBD
2365       372 FORMATC + ' ,12X, 14,5A4, ' I/M vehicle  type  (1  to  2)')
2366           GOTO  198
2367        73 WRITE (IOUERR,373) I VALUE,IOOFBD
2368       373 FORMATC + ',12X, 14,5A4,'short  test type flag (1  to  3)')
2369           GOTO  198
2370        7k WRITE (IOUERR, 374) I VALUE, I OOFBD
2371       37l» FORMATC + ',12X, I4.5A4,'new I/M data flag  (1  to 2)')
2372           GOTO  198
2373        75 WRITE(IOUERR,375) I VALUE,IOOFBD
2371*       375 FORMATC + 1 ,12X, I4.5A4, ' ant i-tamper i ng program  start  year1)
2375           GOTO  198
2376        76 WRITE(IOUERR,376) I VALUE,IOOFBD
2377       376 FORMATC + 1 ,12X, I4.5A4, ' ant i-tamper i ng program  1st  model  year1)
2378           GOTO  198
2379        77 WRITE (IOUERR,377) I VALUE,IOOFBD
2380       377 FORMATC + 1 ,12X, I4.5A4, ' ant i-tamper i ng program  last model  year1)
2381           GOTO  198
2382        78 WRITE(IOUERR,378) I VALUE,IOOFBD
2383       378 FORMATC + 1 ,12X, I4.5A4, ' ant i-tamper i ng vehicle  type (1  to 2)')
2381*           GOTO  198
2385        79 WRITE (IOUERR,379) RVALUE,IOOFBD
2386       379 FORMATC + 1 ,12X.G10.3.5A4, ' evap ATP  effectiveness  rate  (0. to I.)1)
2387           GOTO  198
2388        80 WRITE (IOUERR,380) RVALUE,IOOFBD
2389       380 FORMAT('+',12X,G10.3,5A4,'exh ATP effectiveness rate (0.  to I.)1)
2390           GOTO  198
2391        81 WRITE(IOUERR.381) RVALUE,IOOFBD
2392       381 FORMATC + ',12X,G10.3,5A4,'AER matrix file column  sum (0.  to I.)1)
2393           GOTO  198
2391*        82 WRITE (IOUERR,382) I VALUE, I OOFBD
2395       382 FORMAT('+',12X,I4,5A4, 'type of  I/M  inspection  (1  (centralized  ',
2396          *      'or 2  (computerized  decentral)  or 3  (manual  decentral))')
2397           GOTO  198
2398        83 WRITE (IOUERR,383)
23P9       383 FORMAT(
2400          *'+',14X,'One or more  evaporative  temperatures  (input daily1/
2401          *'  ',14X,'maximum, input ambient,  calculated hot soak,  and/or'/
2402          *'  ',14X,'calculated running  loss) is 40F or less,  or input'/
2403          *'  ',14X,'daily  minimum  is 25F or  less; no evaporative  emission'/
2404          *'  ',14X,'factors  (hot soak, diurnal,  running loss, or  refueling'/
2405          *'  M4X,']oss)  will be  calculated.1)

-------
                                         C-29

                      Appendix C: MOBILES Subroutine QUITER                    May  5,  1989

2406           GOTO 199
2407        84 WRITE (IOUERR,384)  I VALUE, IOOFBD
2408       384 FORMATC + ',12X, 14,5A4,'onboard VRS vehicle  class  flag  (1  to  2) ')
21*09           GOTO 198
2410        85 WRITE(IOUERR,385) RVALUE, I OOFBD
2411       385 FORMAT('+',12X,G10.3,5A4,'ben2ene fraction  (0.  to I.)1)
2412           GOTO 198
2413        86 WRITE(IOUERR,386)  I VALUE,IOOFBD
2414       386 FORMAT('+',12X,I4.5A4,'no. of Stage  II phase-in years  (1  to  9)')
2415           GOTO 198
2416        87 WRITE (IOUERR,387)  I VALUE,IOOFBD
2417       387 FORMATC + ', 12X, I4.5A4,'vrs or rvp controls  start  year1)
2418           GOTO 198
2419        88 WRITE (IOUERR,388) MESSAG
2420       388 FORMAT('+',12X,' Message  code ',14,'  is unknown.1)
2421           GOTO 198
2422        89 WRITE (IOUERR,389)  I VALUE,IOOFBD
2423       389 FORMATC + ',12X, I4.5A4, ' flag PROMPT  (1 to 4)')
2424           GOTO 198
2425        90 WRITE(IOUERR,390) NAMRVP(I VALUE).RVALUE
2426       390 FORMAT('+',14X,A4,' RVP reset to  '.F4.1)
2427           GOTO 199
2428        91 WRITE(IOUERR,391) RVALUE,IOOFBD,NAMTEM(IVALUE)
2429       391 FORMATC + 1 , 12X.F10. 1.5A4.A4,'mum dai ly temperature')
2430           GOTO 198
2431        92 WRITE (IOUERR,392) RVALUE
2432       392 FORMATC + 1 , 12X, ' max daily temp =',F4.0,' < min daily  temp')
2433           GOTO 198
2434        93 WRITE (IOUERR,393) RVALUE,IOOFBD,NAMETH (IVALUE)
2435       393 FORMATC + ',12X,F10.2,5A4,A4,'anol fraction  of  local  fuel  supply')
2436           GOTO 198
2437        94 WRITE(IOUERR,394) ASTMCL,IOOFBD
2438       394 FORMATC + 1 ,12X,A1,5A4, ' ASTM Volatility Class  (A - E)1)
2439           GOTO 198
2440        95 WRITE(IOUERR,395) RVALUE
2441       395 FORMATC + ', 12X, ' ambient  temp =',F4.0,'  is  < daily min temp',
2442          *                ' or >  daily max temp')
2443           GOTO 198
2444        96 WRITE(IOUERR,396) RVALUE
2445       396 FORMAT('+'.14X.G10.3,' speed reduced  to 55  mph  maximum1)
2446           GOTO 199
2447        97 WRITE(IOUERR,397) RVALUE,IOOFBD,I VALUE
2448       397 FORMAT (' + ',12X.F10.3,5A4,'Wade  Index  calc  (CALUDI) of  A,  pass  ',
2449          *                       II,1: must be >= 0.0')
2450           GOTO 198
2451        98 WRITE (IOUERR,398) RVALUE
2452       398 FORMAT(
2453          *'+',14X,'Diurnal temperature rise  (max temp-min temp=',F5.1,')'/
2454          *'   ',l4X,'is > 40F; diurnal evaporative emission factors will'/
2455          *'   ',l4X,'be calculated, but may be  inaccurate.1)
2456           GOTO 199
2457        99 WRITE(IOUERR,399) RVALUE,IOOFBD,NAMEFF(IVALUE)
2458       399 FORMAT('+',12X,F5.0,5A4,'Stage  II efficiency for  '.Al.'DGV  ',
2459          *          ' (0 to 100 %) ')
2460           GOTO 198
2461       100 WRITE (IOUERR,400) RVALUE,IOOFBD
2462       400 FORMAT('+',12X,F3.0,5A4,'I/M Program  waiver rate  (0  to 50%)')
2463           GOTO 198

-------
                                         C-30

                      Appendix C: MOBILES Subroutine QUITER                   May 5,  1989

2464       101 WRITE (IOUERR.401)  I VALUE, I OOFBD
2465       401 FORMAT('+',12X,14,5A4,'frequency of  I/M  inspection  (1  (annual)  ',
2466          *                       'to 2  (biennial))')
2467           GOTO  198
2468       102 WRITE (IOUERR,402)
2469       402 FORMAT (' + ' ,14X, ' High  altitude  I/M scenario requires user  to  ',
2470          *     'supply high altitude values for Techl62  I/M credits arrays.1)
2471           GOTO  199
2472       103 WRITE(IOUERR,403)  I VALUE, I OOFBD
21*73       403 FORMATC + ',12X, I4.5A4,'type of  ATP program  (1  (centralized)  ',
2474          *                       'to 2  (decentralized))')
2475           GOTO  198
2476       104 WRITE(IOUERR,404)  I VALUE,IOOFBD
2477       404 FORMAT (' + ',12X,14,5A4,'frequency of  ATP  inspection  (1  (annual)  ',
2478          *                       'to 2  (biennial))')
2479           GOTO  198
2480       105 WRITE (IOUERR,405) RVALUE,IOOFBD
2481       405 FORMAT('+',12X,F4.0.5A4,'ATP compliance  rate  must be1/
2482          *        - ',36X,'in the  range 0.% to  100.%,  inclusive')
2483           GOTO  198
2484       106 WRITE(IOUERR,406)  I VALUE,IOOFBD
2485       406 FORMATC + ',12X, 14,5A4,'ATP disablement  inspections  (1  (no)  ',
2486          *                       'to 2  (yes)) ')
2487           GOTO  198
2488       107 WRITE(IOUERR,407)
2489       407 FORMAT('+',12X,  ' Error  reading ATP  program description',
2490          *                 '  in  the  ONE-TIME data  section1)
2491           GOTO  198
2492       108 WRITE(IOUERR,408) CRATP,RVALUE
2493       408 FORMAT (' + ',14X,' The  ATP  compliance  rate of  '.F5.1,'  is not  ',
2494          *           •     ' equal  to the  I/M compliance  rate of  ',F5.1)
2495           GOTO  199
2496       109 WRITE (IOUERR,409) NAMFRQ (ATPFQT),NAMFRQ(IFREQ)
2497       409 FORMAT (' + ',14X,' The  ATP  inspection  frequency is  ',A8,
2498          *                ' and  the  I/M  inspection  frequency  is  ',A8)
2499           GOTO  199
2500       110 WRITE (IOUERR,410) NAMTYP (2,ATPPGM).NAMTYP(1,INTYP)
2501       410 FORMATC + ' ,14X, ' The  ATP  inspection  type is  ',A8,
2502          *                ' the  I/M  inspection  type is  ',A8)
2503           GOTO  199
2504       111 WRITE (IOUERR,411) NAMTMP (I VALUE).RVALUE
2505       411 FORMAT (' + ',12X,' The  calculated ',A13,'temperature1,F6.1,
2506          *                'is daily max  temp')
2507     c
2508     C  Messages 60 and 61 produce  excessive output if not stopped here.   The  other
2509     C  Cases stopping execution  here are  considered "fatal" errors:  The  user  must
2510     C  fix the  error-generating  input and rerun.
2511     c
2512       198 IF(MCODE.EQ.53.OR.MCODE.EQ.60.OR.MCODE.EQ.6l.OR.MCODE.EQ.82.OR.
2513          *   MCODE.EQ.88.0R.MCODE.EQ.89.0R.
2514          *   MCODE.EQ.97-OR.MCODE.EQ.107) STOP
2515           INERR=INERR+1
2516     c
2517       199 RETURN
2518           END

-------
                   c-31
Appendix C: MOBILES Subroutine CONSEC
May 5, 1989
101000
JM01001
^^01002
101003
101004
101005
101006
101007
101008
101009
101010
101011
101012
101013
101014
101015
101016
101017
101018
101019
101020
101021
101022
101023
101024
i r\ i r\ *> c
1 U 1 U/2
101026
^^01027
^•01028
^01029
101030
101031
101032
101033
101034
101035
101036
101037
101038
101039
101040
101041
101042
101043
101044
101045
101046
101047
101048
101049
101050
101051
101052
4^01053
^Hbio54
101055
101056
101057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C


C



C

C
C
C
C
C

C
C
C
C
C

SUBROUTINE CONSEC (*)

CONSEC reads in and validates the Control Section flags. It also sets the
input mode for the run, resets the output units (if requested) and reads in
and stores the run title.

Cal led by MAIN.

Calls GETHOR, GETIOU, GETVER, MOD (FORTRAN library function), OUTHDR and
QUITER.

Input on cal 1 :

common blocks:
/IOUCOM/ IOUGEN, IOUREP, IOUASK

Output on return:

common blocks:
/FLAGS1/ PROMPT
/PROJEC/ PROJID

Local variable / array dictionary:

Name Type Description


FLGERR 1 number of flag values found to be out of range
INFORM 1 dummy variable: QUITER call purpose is to write out run
1 i nf orm1 at ion, not an error or a warning message
IPRERR 1 PROMPT flag error code: 1 = i n range (1-4) 2 = out of range
VHMODE 1 decides prompt & read format for Control Section flags:
1 = vertical format 2 = horizontal format

Notes:

CONSEC was modularized for MOBILE4, creating GETIOU, GETVER 6 GETHOR.


CHARACTERS PROJID
INTEGER PROMPT, TAMFLG.SPDFLG.VMFLAG

COMMON /FLAGS1/ PROMPT.TAMFLG.SPDFLG.VMFLAG
COMMON /IOUCOM/ IOUIMD, 1 OUGEN, IOUREP, 1 OUERR, 1 OUASK
COMMON /PROJEC/ PROJID (20)

INTEGER FLGERR, VHMODE

First pick up the I/O parameters (prompting or not, vertical or horizontal
control flag input, and alternate output units) and identify 6 assign (if
any) any allowable entered output units.

CALL GETIOU (IOUSUM,*99)

Now parse prompt / input mode flag.

Check if entered value is out of range. Skip parsing if it is.

IPRERR=1

-------
                   C-32




Appendix C: MOBILES Subroutine CONSEC
May 5, 1989
101058
101059
101060
101061
101062
101063
101061*
101065
101066
101067
101068
101069
101070
101071
101072
101073
10107^
101075
101076
101077
101078
101079
101080
101081
101082
101083
101081*
101085
101086
101087
101088
101089
101090
101091
101092
101093
101091*
101095
101096
101097
101098
101099
101100
101101
101102
101103


C
C
C



C
C
C




C
C
C




C
C
C

C
C
C


C
C
C


C
C
C


C
C
C


1 F (PROMPT . LT . 1 . OR . PROMPT . GT . 1*) 1 PRERR=2
IF (IPRERR.EQ.2) GOTO 10

Parse prompt/mode flag.

VHMODE=1
IF (PROMPT. GE. 3) VHMODE=2
PROMPT=MOD (PROMPT- 1 , 2) + 1

Read title, even if PROMPT flag is out of range.

10 IF (PROMPT. EQ. 2. OR. IPRERR.EQ.2) WR ITE (1 OUASK.200)
200 FORMAT (' I1, 'Enter project id:1)
READ (IOUGEN, 100, END=99) PROJ 1 D
100 FORMAT (20A1*)

Write run title to each i /o unit (up to 3. depending on GETIOU's 1 OUCHG)

CALL OUTHDR(IOUREP)
IF (IOUERR.NE.IOUREP) CALL OUTHDR (IOUERR)
IF (PROMPT. EQ. 2. AND. IOUASK.NE. IOUREP.AND. IOUASK.NE. IOUERR)
* CALL OUTHDR (IOUASK)

Display unit number values if changed.

IF (IOUSUM.GT.O) CALL QUITER (0. ,0, 71 , 1 NFORM)

If PROMPT is out of range, tell user and stop run.

FLGERR=0
IF (IPRERR.EQ.2) CALL QUITER (0. .PROMPT, 89, FLGERR)

Ready to read in flags in either vertical or horizontal mode.

IF (VHMODE.EQ.l) CALL GETVER (FLGERR, *99)
IF (VHMODE.EQ.2) CALL GETHOR (FLGERR, *99)
..
1 or more flag values out of range => warn user 6 then stop run.

IF (FLGERR. GT.O) CALL QUITER (0. ,0,53, FLGERR)
RETURN

EOF on any attempted read => take alternate return 1 => run aborts.

99 RETURN 1
END

-------
                   C-33



Appendix C: MOBILES Subroutine GETIOU
May 5, 1989
102000
«2001
2002
102003
10200*4
102005
102006
102007
102008
102009
102010
102011
102012
102013
10201^4
102015
102016
102017
102018
102019
102020
102021
102022
102023
10202*4
102025
102026
• 2027
2028
i non TO
1 \Jf.
-------
Appendix C:  MOBILES Subroutine GETIOU
May 5, 1989
102058
102059
102060
102061
102062
102063
10206*t
102065
102066
102067
102068
102069
102070
102071
102072
102073
10207**
102075
102076
102077
102078
102079
102080
102081
102082
102083
10208*4
102085
102086
102087
102088
102089
102090
102091
102092
102093
C



C
C
C


C
C
C





C
C
C



C
C
C



C

C
C
C



IOUNEW(1) = IOUREP
IOUNEW(2) = IOUERR
IOUNEW(3) = IOUASK

Change alphanumeric to numeric values.

IOUSUM=0
DO 30 JOU=1,3

Test for allowed values (no input units).

DO 10 JU=1,9
IF (JU.EQ.IOUIMD.OR.JU.EQ.IOUGEN) GOTO 10
IF (lOUCHG(JOU) .EQ. IOUREF (JU) ) GOTO 20
10 CONTINUE
GOTO 30

Save allowed new value.

20 IOUNEW(JOU)=JU
IOUSUM=IOUSUM+JU
30 CONTINUE

Assign output units.

IOUREP=IOUNEW(1)
IOUERR=IOUNEW(2)
IOUASK=IOUNEW(3)

RETURN

EOF on any attempted read => take alternate return 1 => run aborts.

99 RETURN 1
END

-------
                              C-35
103000
           Appendix C:  MOBILES Subroutine GETVER

    SUBROUTINE GETVER(FLGERR,*)
                                                                                May 5, 1989
«3001
3002
103003
103001*
103005
103006
103007
103008
103009
103010
103011
103012
103013
103011*
103015
103016
103017
103018
103019
103020
103021
103022
103023
103021*
103025
103026
J*03027
^03028
103029
103030
103031
103032
103033
10303!*
103035
103036
103037
103038
103039
10301*0
10301*1
10301*2
10301*3"
10301*1*
10301*5
10301*6
10301*7
10301*8
10301+9
103050
103051
103052
4*03053
1P&3054
103055
103056
103057
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C




C




C







C

C
C
C
C
C


 GETVER reads in and validates the Control Section flags via the vertical
 input mode:  one flag per input line in II format.

 Called by CONSEC.

 CalIs QUITER.

 Input on cal1:

   common blocks:
   /FLAGS1/ PROMPT
   /lOUCOrt/  IOUGEN,IOUASK
   /NAMES1/ NAMFLG
   /STRING/ COLON

 Output on return:

   parameter  list: FLGERR
   common blocks:
   /FLAGS1/ TAMFLG.SPDFLG,VMFLAG
   /FLAGS2/ MYMRFG.NEWFLG,IMFLAG,ALHFLG
   /FLAGS3/ ATPFLG.RLFLAG.LOCFLG.TEMFLG.OUTFMT
   /FLAGS'*/ PRTFLG, IDLFLG.NMHFLG,HCFLAG

 Notes:

 GETVER was added for MOBILES.
 GETVER was modified for MOBILES, removed TPDFLG and added TEMFLG.
    CHARACTERA8 NAMFLG,NAMMMR
    CHARACTER*!* NAMRVP
    CHARACTER*!* NOYES.COMMA.PERIOD
    CHARACTER*! COLON

    INTEGER PROMPT,TAMFLG.SPDFLG,VMFLAG
    INTEGER ALHFLG
    INTEGER ATPFLG,TPDFLG,RLFLAG,TEMFLG,OUTFMT
    INTEGER PRTFLG,HCFLAG
    COMMON
    COMMON
    COMMON
    COMMON
    COMMON
    COMMON
    COMMON
                        /FLAGS1/
                        /FLAGS2/
                        /FLAGS3/
                        /FLAGS'*/
                        /IOUCOM/
                        /NAMES1/
                        /STRING/
PROMPT,TAMFLG.SPDFLG,VMFLAG
MYMRFG.NEWFLG,IMFLAG,ALHFLG
ATPFLG.TPDFLG.RLFLAG.LOCFLG
PRTFLG,IDLFLG.NMHFLG,HCFLAG
IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK
NAMFLG(16),NAMMMR(2,2,8),NAMRVP (1»)
NOYES (2).COMMA,PERIOD,COLON
TEMFLG,OUTFMT
    INTEGER FLGERR
 Do the in-range check immediately after flag read, since  if  in  interactive
 mode (PROMPT.EQ.2),  user can then receive out-of-range message  immediately
 after entering an erroneous flag value.

    IF(PROMPT.EQ.2)  WRITE(IOUASK,200) NAMFLG(1) .COLON
200 FORMAT ('  ','Enter',T7,A8,T14,A1)

-------
                           C-36
103058
103059
103060
103061
103062
103063
10306*4
103065
103066
103067
103068
103069
103070
103071
103072
103073
103071*
103075
103076
103077
103078
103079
103080
103081
103082
103083
103084
103085
103086
103087
103088
103089
103090
103091
103092
103093
103094
103095
103096
103097
103098
103099
103100
103101
103102
103103
103104
103105
103106
103107
103108
103109
103HO
1031H
103H2
103113
103H4
103H5

100

C



C



C



C



C



C

-

C



C



C



C



C



C



C


1
C


RE
F01
IF

IF
RE
IF

IF
RE
IF

IF
RE
IF

IF
RE
IF

IF
RE
IF

IF
RE
IF

IF
RE
IF

IF
RE
IF

IF
RE
IF

IF
RE
IF

IF
RE
IF

IF
RE
IF

IF
RE
IF

IF
RE
       Appendix C: MOBILES  Subroutine GETVER                   May 5,  1989

READ (IOUGEN,100,END=99) TAMFLG
FORMAT(II)
IF (TAMFLG.LT.l.OR.TAMFLG.GT.2)  CALL  QUITER(0.,TAMFLG,1,FLGERR)

 F(PROMPT.EQ.2) WRITE(IOUASK.200)NAMFLG(2) .COLON
READ(IOUGEN,100,END=99) SPDFLG
IF(SPDFLG.LT.l.OR.SPDFLG.GT.2)  CALL  QUITER(0.,SPDFLG,2,FLGERR)

 F(PROMPT.EQ.2) WRITE (IOUASK,200)NAMFLG(3) .COLON
READ (IOUGEN,100,END=99) VMFLAG
IF (VMFLAG.LT.1.0R.VMFLAG.GT.3)  CALL  QUITER(0.,VMFLAG,3,FLGERR)

IF (PROMPT.EQ.2) WRITE (IOUASK,200)NAMFLG (J»).COLON
READ (IOUGEN,100,END=99) MYMRFG
IF(MYMRFG.LT.l.OR.MYMRFG.GT.U)  CALL  QUITER(0.,MYMRFG,U,FLGERR)

IF (PROMPT.EQ.2) WRITE(IOUASK,200)NAMFLG(5).COLON
READ(IOUGEN,100,END=99) NEWFLG
IF(NEWFLG.LT.1.0R.NEWFLG.GT.2)  CALL  QUITER(0.,NEWFLG,5,FLGERR)

IF(PROMPT.EQ.2) WRITE (IOUASK,200)NAMFLG(6) .COLON
READ (IOUGEN.100,END=99)  IMFLAG
IF(IMFLAG.LT.1.0R.IMFLAG.GT.2)  CALL  QUITER(0.,IMFLAG,6,FLGERR)

IF(PROMPT.EQ.2) WRITE (IOUASK.200)NAMFLG(7).COLON
READ (IOUGEN,100,END=99) ALHFLG
IF (ALHFLG.LT.1.0R.ALHFLG.GT.3)  CALL  QUITER (0.,ALHFLG,7,FLGERR)

IF(PROMPT.EQ.2) WRITE(IOUASK.200)NAMFLG (8).COLON
READ(IOUGEN,100,END=99) ATPFLG
IF(ATPFLG.LT.1.0R.ATPFLG.GT.2)  CALL  QUITER (0.,ATPFLG,8,FLGERR)

IF (PROMPT.EQ.2) WRITE (IOUASK,200)NAMFLG(9) .COLON
READ (IOUGEN,100,END=99) RLFLAG
IF (RLFLAG.LT.1.0R.RLFLAG.GT.5)  CALL  QUITER(0.,RLFLAG,9.FLGERR)

IF(PROMPT.EQ.2) WRITE(IOUASK,200)NAMFLG(10).COLON
READ(IOUGEN,100,END=99) LOCFLG
IF (LOCFLG.LT.1.0R.LOCFLG.GT.2)  CALL  QUITER(0.,LOCFLG,10,FLGERR)

IF(PROMPT.EQ.2) WRITE (IOUASK,200)NAMFLG (11).COLON
READ(IOUGEN,100,END=99) TEMFLG
IF(TEMFLG.LT.1.0R.TEMFLG.GT.2)  CALL  QUITER(0.,TEMFLG,11,FLGERR)

IF (PROMPT.EQ.2) WRITE (IOUASK,200)NAMFLG (12),COLON
READ (IOUGEN,100,END=99) OUTFMT
IF(OUTFMT.LT.l.OR.OUTFMT.GT.4)  CALL  QUITER(0.,OUTFMT,12,FLGERR)

IF(PROMPT.EQ.2) WRITE (IOUASK,200)NAMFLG (13).COLON
READ(IOUGEN,100,END=99) PRTFLG
IF (PRTFLG.LT.l.OR.PRTFLG.GT.J*)  CALL  QUITER (0.,PRTFLG, 1 3, FLGERR)

 F (PROMPT.EQ.2) WRITE (I OUASK,200) NAMFLG (lit) .COLON
READ (IOUGEN,100,END=99)  IDLFLG
IF(IDLFLG.LT.1.0R.IDLFLG.GT.2)  CALL  QUITER (0.,IDLFLG,1A,FLGERR)

 F (PROMPT.EQ.2) WRITE (IOUASK,200)NAMFLG(15) .COLON
READ (IOUGEN,100,END=99) NMHFLG

-------
                                           C-37

                        Appendix C:  MOBILES Subroutine GETVER                   May  5,  1989

103116           IF(NMHFLG.LT.1.0R.NMHFLG.GT.2) CALL QUITER (0..NMHFLG,15,FLGERR)
 P3H7     C
  3118           IF (PROMPT.EQ.2)  WRITE (IOUASK,200)NAMFLG (16),COLON
 03119           READ (IOUGEN,100,END=99)  HCFLAG
103120           IF (HCFLAG.LT.l.OR.HCFLAG.GT.3) CALL QUITER (0..HCFLAG,16,FLGERR)
103121     c
103122           RETURN
103123     c
103121*     C  EOF on any attempted read => take alternate return  1 =>  run aborts.
103125     c
103126        99 RETURN1
103127           END

-------
                                           C-38
104000
       Appendix C: MOBILE4 Subroutine GETHOR

SUBROUTINE GETHOR(FLGERR,*)
                                                                                May 5, 1989
104001
104002
104003
104004
104005
104006
10400?
104008
104009
104010
104011
104012
104013
104014
104015
104016
10401?
104018
104019
104020
104021
104022
104023
104024
104025
104026
104027
104028
104029
104030
104031
104032
104033
104034
104035
104036
104037
104038
104039
104040
104041
104042
104043
104044
104045
104046
104047
104048
104049
104050
104051
104052
104053
104054
104055
104056
104057
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C




C





C

C





C






C



              GETHOR reads in and validates the Control Section flags via the horizontal
              i nput mode:  all f1ag va1ues entered on a s i ngIe 1i ne (I 1,1X,I 1,1X	II).

              Called by CONSEC.

              Calls QUITER.

              Input on cal1:

                common blocks:
                /FLAGSI/ PROMPT
                /IOUCOM/  IOUGEN,IOUASK

              Output on return:

                parameter  list: FLGERR
                common blocks:
                /FLAGS1/ TAMFLG.SPDFLG.VMFLAG
                /FLAGS2/ MYMRFG,NEWFLG,IMFLAG,ALHFLG
                /FLAGS3/ ATPFLG,RLFLAG,LOCFLG,TEMFLG,OUTFMT
                /FLAGS4/ PRTFLG,IDLFLG.NMHFLG.HCFLAG

              Notes:

              GETHOR was added for MOBILE4.
                 INTEGER PROMPT,TAMFLG,SPDFLG,VMF LAG
                 INTEGER ALHFLG
                 INTEGER ATPFLG,TPDFLG,RLFLAG,TEMFLG,OUTFMT
                 INTEGER PRTFLG,HCFLAG

                 COMMON /FLAGS1/ PROMPT,TAMFLG.SPDFLG.VMFLAG
                 COMMON /FLAGS2/ MYMRFG,NEWFLG,IMFLAG,ALHFLG
                 COMMON /FLAGS3/ ATPFLG.TPDFLG.RLFLAG,LOCFLG.TEMFLG.OUTFMT
                 COMMON /FLAGS4/ PRTFLG,IDLFLG.NMHFLG.HCFLAG
                 COMMON /IOUCOM/ IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK

                 INTEGER FLGERR

                 IF (PROMPT.EQ.2) WRITE (IOUASK,200)
             200 FORMAT (' ','Enter TAMFLG, SPDFLG, VMFLAG,1,
                *        '  MYMRFG,  NEWFLG, IMFLAG, ALHFLG,1/
                *        '  ATPFLG,  RLFLAG, LOCFLG, TEMFLG, OUTFMT,',
                *        '  PRTFLG,   IDLFLG, NMHFLG 6 HCFLAG1)

                 READ (IOUGEN,100,END=99)
                *                  TAMFLG, SPDFLG, VMFLAG,
                *          MYMRFG,  NEWFLG, IMFLAG, ALHFLG,
                *          ATPFLG,  RLFLAG, LOCFLG, TEMFLG, OUTFMT,
                *          PRTFLG,   IDLFLG, NMHFLG, HCFLAG
             100 FORMAT(I1,16(1X,I1))

                 IF (TAMFLG.LT.l.OR.TAMFLG.GT.2) CALL QUITER (0..TAMFLG,1,FLGERR)
                 IF (SPDFLG.LT.l.OR.SPDFLG.GT.2) CALL QUITER (0..SPDFLG,2,FLGERR)
                 IF(VMFLAG.LT.l.OR.VMFLAG.GT.3) CALL QUITER(0..VMFLAG,3,FLGERR)

-------
                   c-39
Appendix C: MOBILES Subroutine GETHOR
May 5, 1989
101*058
^1*059
P 1*060
101*061
101*062
101*063
101*061*
101*065
101*066
101*067
101*068
101*069
101*070
101*071
101*072
101*073
10l»07l*
101*075
101*076
101*077













C

C
C
C
















EOF
99

IF (MYMRFG
IF(NEWFLG
IF (IMFLAG
IF(ALHFLG
IF (ATPFLG
IF (RLFLAG
IFUOCFLG
IF (TEMFLG
IF (OUTFMT
IF (PRTFLG
IF (IDLFLG
IF (NMHFLG
IF (HCFLAG
RETURN
.LT.l
.LT.l
.LT.l
.LT.l
.LT.l
.LT.l
.LT.l
.LT.l
.LT.l
.LT.l
.LT.l
.LT.l
.LT.l

.OR
.OR
.OR
.OR
.OR
.OR
.OR
.OR
.OR
.OR
.OR
.OR
.OR

on any attempted
RETURN 1
END




.MYMRFG
.NEWFLG
. IMFLAG
.ALHFLG
.ATPFLG
.RLFLAG
.LOCFLG
.TEMFLG
.OUTFMT
.PRTFLG
. IDLFLG
.NMHFLG
.HCFLAG

read =


.GT.
.GT.
.GT.
.GT.
.GT.
.GT.
.GT.
.GT.
.GT.
.GT.
.GT.
.GT.
.GT.

4)
2)
2)
3)
2)
5)
2)
2)
JO
k)
2)
2)
3)

> take




CALL
CALL
CALL
CALL
CALL
CALL
CALL
CALL
CALL
CALL
CALL
CALL
CALL

QUITER
QUITER
QUITER
QUITER
QUITER
QUITER
QUITER
QUITER
QUITER
QUITER
QUITER
QUITER
QUITER

(0.
(0.
(0.
(0.
(0.
(0.
(0.
(0.
(0.
(0.
(0.
(0.
(0.

.MYMRFG,
, NEWFLG,
, IMFLAG,
, ALHFLG,
.ATPFLG,
.RLFLAG,
, LOCFLG,
.TEMFLG,
.OUTFMT,
.PRTFLG,
, IDLFLG,
, NMHFLG,
.HCFLAG,

alternate return 1 =>








1*,FLGERR)
5.FLGERR)
6.FLGERR)
7.FLGERR)
8.FLGERR)
9.FLGERR)
10.FLGERR)
ll.FLGERR)
12.FLGERR)
13.FLGERR)
11«,FLGERR)
15.FLGERR)
16.FLGERR)

run aborts



-------
                             C-40
105000
105001
105002
105003
105004
105005
105006
105007
105008
105009
105010
105011
105012
105013
1050114
105015
105016
105017
105018
105019
105020
105021
105022
105023
1050214
105025
105026
105027
105028
105029
105030
105031
105032
105033
1050314
105035
105036
105037
105038
105039
1050140
105041
105042
105043
105044
105045
105046
105047
105048
105049
105050
105051
105052
105053
105054
105055
105056
105057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C




C




C
C
C

C
C
C

C
C
C
C

C
C
C

C
C
C
C
          Appendix C: MOBILES Subroutine ONESEC

   SUBROUTINE ONESEC(INERR,*)
May 5, 1989
ONESEC checks if control flags indicate One-time Data. It then reads in,
validates, and stores the data.

Called by MAIN.

Calls CEVTPD, GETATP, GETERQ, GETIMP, GETMRN, GETNAT, GETTAM,
      GETVMT and RDCITY.

Input on cal1:

  parameter list: INERR
  common blocks:
  /FLAGS1/ TAMFLG.VMFLAG
  /FLAGS2/ NEWFLG,IMFLAG
  /FLAGS3/ ATPFLG.LOCFLG
  /FLAGSV PRTFLG

Output on return:

  parameter 1 i st: INERR

Notes:

ONESEC was modified for MOBILE4.
    INTEGER PROMPT,TAMFLG.SPDFLG,VMFLAG
    INTEGER ALHFLG
    INTEGER ATPFLG.TPDFLG.RLFLAG.TEMFLG.OUTFMT
    INTEGER PRTFLG,HCFLAG

    COMMON /FLAGS1/ PROMPT,TAMFLG.SPDFLG,VMFLAG
    COMMON /FLAGS2/ MYMRFG,NEWFLG,IMFLAG,ALHFLG
    COMMON /FLAGS3/ ATPFLG.TPDFLG.RLFLAG,LOCFLG.TEMFLG.OUTFMT
    COMMON /FLAGSV PRTFLG,IDLFLG.NMHFLG,HCFLAG

Process flags in order read, thus  look first for new tampering rates.

    IF (TAMFLG.EQ.2) CALL GETTAM(INERR,*99)

Check for user supplied vmt mix to be used for all scenarios of  this  run.

    IF (VMFLAG.EQ.3) CALL GETVMT (INERR,*99)

Optionally read in and screen model year mileage accrual  rates and /  or
registration distributions.  In all cases, normalize the  distributions.

    CALL GETMRN(INERR,*99)

If  requested, read, screen and store emission factor modification data.

    IF (NEWFLG.EQ.2) CALL GETERQ (INERR,*99)

If  IMFLAG=2, read in  I/M Program  parameters and,  if requested, alternate
I/M Credits.

-------

105058
k>5059
K)506o
105061
105062
105063
1050614
105065
105066
105067
105068
105069
105070
105071
105072
105073
105071*
105075
105076
105077
105078
105079
105080
105081
105082
105083
105081*
|p5085
^35086
105087
105088
105089
105090
105091
105092
105093
1050914


C
C
C

C
C
C
C
C
C
C
C

C
C
C
C
C

C
C
C
C

C
C
C
C
C
C

C
C
C


Appendix C: MOBILE!* Subroutine ONESEC May 5, 1;
IF (IMFLAG.EQ.2) CALL GETIMP (1 NERR,*99)

Ant i -tamper i ng program => get parameters and effectiveness rates.

IF (ATPFLG.EQ.2) CALL GETATP (1 NERR)

Assign trips per day / miles per day.


CEVTPD calculates trips per day by model year group. The
corresponding miles will be calculated in CEVMPD everytime REGMOD is
cal led.

CALL CEVTPD

Get user's picks for various fuel related HC emission factor parameters.
These parameters apply nationwide. They do not vary with local conditions
and therefore are entered in One-Time Data instead of by scenario.

IF (PRTFLG.EQ.l.OR.PRTFLG.EQ.l*) CALL GETNAT (INERR,*99)

If the user asks for 1 local area parameters record to apply to all
scenarios on the run, read it in here.

IF (LOCFLG.EQ.2) CALL RDCITY (1 NERR,*99)

Normal return: Either there are no one-time data errors ( => + no other
errors => evaluate scenarios) OR there are errors ( => check for errors,
but do not process the scenario(s) or + number of errors > 50 =>
terminate the run).

RETURN

EOF on any attempted read => take alternate return 1 => run aborts.

99 RETURN 1
END

-------
                                            C-l*2
106000
       Appendix C: MOBILES Subroutine  GETTAM




SUBROUTINE GETTAM (INERR,*)
                                                                                 May 5, 1989
106001
106002
106003
106001*
106005
106006
106007
106008
106009
106010
106011
106012
106013
106011*
106015
106016
106017
106018
106019
106020
106021
106022
106023
106021*
106025
106026
106027
106028
106029
106030
106031
106032
106033
106031*
106035
106036
106037
106038
106039
10601*0
10601*1
10601*2
10601*3
10601+1*
10601*5
10601*6
10601*7
10601*8
10601*9
106050
106051
106052
106053
106054
106055
106056
106057
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C




C
C
C

C











GETTAM reads in, validates and stores replacement tampering rates.

Called by ONESEC.

Calls QUITER.

1 nput on cal 1 :

parameter list: INERR
common blocks:
/FLAGS I/ PROMPT
/FLAGS2/ IMFLAG
/IOUCOM/ IOUGEN, IOUASK

Output on return:

parameter 1 i st: INERR
common blocks:
/TAMEQ1/ TAMZML.TAMDR

Local variable / array dictionary:

Name Type Description


ZEROML R user entered tampering zml to be checked: ZEROML <= 1.0

Notes:

GETTAM was added for MOBILES.
GETTAM was modified for MOBILE!* to add the IGD dimension.
GETTAM was modified for MOBILEl* to add > 50K case to IGD (IGD = 3).
GETTAM was modified for MOBILEl* for the new misfueling algorithm.


INTEGER PROMPT, TAMFLG.SPDFLG, VMF LAG
INTEGER ALHFLG

COMMON /FLAGS1/ PROMPT, TAMFLG.SPDFLG, VMFLAG
COMMON /FLAGS2/ MYMRFG.NEWFLG, IMFLAG, ALHFLG
COMMON /IOUCOM/ 1 OUIMD, 1 OUGEN, IOUREP, 1 OUERR, 1 OUASK
COMMON /TAMEQ1/ TAMZML (9,1*. 2, 2) .TAMDR (9,J», 3, 2) ,MYGTAM(1*) , IGT5.F50K

Decide whether non-l/M or non-l/M & 1 /M rates are to be entered.

IF (IMFLAG. EQ. 2) GOTO 10

IF (PROMPT. EQ. 2) WRITE (1 OUASK, 200)
200 FORMATC ', 'Enter tampering intercepts (zero mile levels)1)
IF (PROMPT. EQ. 2) WRITE (IOUASK, 210)
210 FORMATC ','for non-|/M case only:1)
- READ (IOUGEN, 100, END=99)
* (((TAMZML(ID, IVTAM, IGD, 1) , 10=1,8) , IVTAM=1,1*) , IGD-1,2)
100 FORMAT(8F8.1»)
IF (PROMPT. EQ. 2) WRITE (IOUASK, 220)
220 FORMATC ',' Enter tampering slopes (deterioration rates)1)
IF (PROMPT. EQ. 2) WRITE (IOUASK, 210)

-------
                                           C-J*3
106058
  6059
  6060
106061
106062
106063
10606*4
106065
106066
106067
106068
106069
106070
106071
106072
106073
10607*4
106075
106076
106077
106078
106079
106080
106081
106082
106083
1060814
  06085
  6086
  6087
106088
106089
106090
106091
106092
106093
10609*4
106095
106096
106097
106098
106099
106100
106101
106102
106103
10610*4
106105
C
C
C
           Appendix C: MOBILES Subroutine  GETTAM                    May 5, 1989

    READ (IOUGEN,120,END=99)
   *    (((TAMDR(ID, IVTAM, I GD,1),ID=l,8) , IVTAM=1,*4) , IGD=1,3)
120 FORMAT (8F9-5)
    GOTO 20

 Read in all but cell 9 of TAMZML 6  TAMDR  (if  picked  up cell  9 too, could
 just put in READ(	) TAMZML / TAMDR,  since user  inputs in FTN array order.

 10 IF (PROMPT.EQ.2) WRITE(IOUASK,200)
    IF (PROMPT.EQ.2) WRITE(IOUASK,230)
230 FORMATC  '.'for non-1/M and  I/M  cases:')
    READ (IOUGEN,100,END=99)
   *  ((((TAMZML (ID, IVTAM, I GD, IM) , I D=l ,8) , IVTAM=1,1*) ,IGD=1,2),IM=1,2)
    IF (PROMPT.EQ.2) WRITE (IOUASK.220)
    IF (PROMPT.EQ.2) WRITE (IOUASK,230)
    READ (IOUGEN,120,END=99)
   *  ((((TAMDR(ID,IVTAM.IGD,IM),10-1,8),IVTAM=1,M,IGD-1,3),IM-1.2)

 Move overall misfueling  ZML/DR  to  ID=9-   Compute  other misfueling ZML/DR
 for I D=*4 as  (overall - filler neck).   For  every disablement  case,
 insure tampering zero mile levels  (intercepts) do not exceed  unity.
 There  is no range check  for deterioration  rates.

 20 DO 30 IM=1,IMFLAG
    DO 30 IGD-1,2
    DO 30 IVTAM=1,*4
    TAMZML (9, IVTAM, IGD, IM) =TAMZML (*4, IVTAM, IGD, IM)
    TAMDR (9, I VTAM, I GD, I M) =TAMDR (*4, I VTAM, I GD, I M)
    TAMZML (14, IVTAM, IGD, IM) =
   *    TAMZML(9,IVTAM,IGD,IM)-TAMZML(3,IVTAM,IGD,IM)
    TAMDR(*4,IVTAM,IGD,IM)=TAMDR(9, IVTAM.IGD, I M)-TAMDR (3, I VTAM, I GD, IM)
    DO 30 ID-1,9
    ZEROML=TAMZML (ID,IVTAM,IGD,IM)
    IF (ZEROML.GT.1.0)  CALL QUITER(ZEROML.0,50,INERR)
 30 CONTINUE

    DO **0 IM=1, IMFLAG
    DO 40 IVTAM=l,lt
    TAMDR (9, IVTAM,3, IM)=TAMDR (**, I VTAM,3, IM)
    TAMDR (It, IVTAM,3, IM)=TAMDR (9, IVTAM,3, IM) -TAMDR (3, IVTAM,3, IM)
 **0 CONTINUE

    RETURN

 EOF on any attempted read => take alternate return 1  => run  aborts.

 99 RETURN 1
    END

-------
C-ltl.

107000
107001
107002
107003
10700*4
107005
107006
107007
107008
107009
107010
107011
107012
107013
1070U
107015
107016
107017
107018
107019
107020
107021
107022
i mn*> i
1 U /U/ j
107021*
107025
107026
107027
107028
107029
107030
107031
107032
107033
107031*
107035
107036
107037
107038
107039
10701*0
10701*1
10701*2
10701*3
10701*1*
10701*5
10701+6
10701*7
10701*8
10701*9
107050
107051
107052
107053
107051*
107055
107056
107057


c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c

c




c




c








c

c
c
c

Appendix C: MOBILE!* Subroutine GETVMT May 5,
SUBROUTINE GETVMT ( 1 NERR,*)

GETVMT gets the fleet vehicle miles travelled (vmt) mix by vehicle type.

Called by ONESEC and PARSEC.

Cal Is QUITER.

Input on cal 1 :

common blocks:
/FLAGS1/ PROMPT
/IOUCOM/ IOUGEN, 1 OUASK
/MAXIMA/ MAXVEH

Output on return:

parameter list: INERR
common block: /VMXCOM/ VMTMIX

Local variable / array dictionary:

Name Type Description
VMTCHK R vmt mix check: sum of the vmt fractions = 1.0 +/- l.E-6
(i.e., a normalized vmt distribution has been entered)

Notes:

none


INTEGER PROMPT, TAMFLG.SPDFLG, VMFLAG

COMMON /FLAGS1/ PROMPT, TAMFLG.SPDFLG, VMFLAG
COMMON /IOUCOM/ IOUI MD, IOUGEN, 1 OUREP, 1 OUERR, 1 OUASK
COMMON /MAXIMA/ MAXVEH, MAXLTW.MAXPOL.MAXREG.MAXYRS
COMMON /VMXCOM/ REGMI X (8) .TFNORM (8) , VMTMI X (8)

1 F (PROMPT . EQ . 2) WR 1 TE ( 1 OUASK , 200)
200 FORMAT ('0' ,' Enter VMT split:1)
READ (IOUGEN, 100, END=99) VMTMIX
100 FORMAT(8F1».3)

VMTCHK=0.0
DO 10 IV=1, MAXVEH
VMTCHK=VMTMI X ( 1 V) +VMTCHK
IF (VMTMIX(IV) .LT.O.O.OR.VMTMIX(IV) .GT.l.)
* CALL QUITER (VMTMIX (IV) ,0,17, INERR)
10 CONTINUE
1 F (VMTCHK+1 .E-6.LT. 1 . . OR. VMTCHK- 1 .E-6.GT. 1 .)
* CALL QUITER (VMTCHK, 0,18, INERR)

RETURN

EOF on any attempted read => take alternate return 1 => run aborts.

99 RETURN 1

-------
                                           C-J.5



                        Appendix C: MOBILES Subroutine GETVMT                    May 5,  1989



107058           END

-------
                                           C-*»6
108000
       Appendix C: MOBILES Subroutine  GETMRN




SUBROUTINE GETMRN (INERR,*)
                                                                                 May 5, 1989
108001
108002
108003
10800*4
108005
108006
108007
108008
108009
108010
108011
108012
108013
10801*4
108015
108016
108017
108018
108019
108020
108021
108022
108023
10802*4
108025
108026
108027
108028
108029
108030
108031
108032
108033
10803**
108035
108036
108037
108038
108039
1080*40
108041
1080*42
1080*43
1080*4*4
1080*t5
1080*46
1080*47
1080*48
1080*49
108050
108051
108052
108053
10805*4
108055
108056
108057
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C





C






C
C
C
C

GETMRN checks for and reads in and screens user supplied mileage accrual
rates and registration distributions. Whether or not the distributions are
replaced, they are normalized.

Cal led by ONESEC.

Calls QUITER.

1 nput on cal 1 :

parameter list: INERR
common blocks:
/FLAGS I/ PROMPT
/FLAGS2/ MYMRFG
/IOUCOM/ IOUGEN, IOUASK
/MAXIMA/ MAXVEH.MAXYRS
/NAMES I/ NAMMMR

Output on return:

parameter list: INERR
common blocks:
/MYRSAV/ AMAR.JULMYR

Local variable / array dictionary:

Name Type Description


CHKMYR R myr mix check: sum of the myr fractions = 1.0 +/- l.E-6
(a normalized myr distribution has been entered for each IV)
MYF 1 my of first (JDX order) AMAR / JULMYR to be entered on READ
MYL 1 my of last (JDX order) AMAR / JULMYR to be entered on READ
SUMMYR R sum of myr for IV; used to normalize user entered JULMYR
ZEROML R user entered tampering zml to be checked: ZEROML <= 1.0

Notes:

GETMRN was added for MOBILE*4.


CHARACTER^ NAMFLG, NAMMMR
CHARACTERS NAMRVP
INTEGER PROMPT, TAMFLG.SPDFLG, VMF LAG
INTEGER ALHFLG
REAL JULMYR

COMMON /FLAGS1/ PROMPT, TAMFLG.SPDFLG, VMFLAG
COMMON /FLAGS2/ MYMRFG, NEWFLG, 1 MFLAG, ALHFLG
COMMON /IOUCOM/ 1 OUIMD, 1 OUGEN, 1 OUREP, 1 OUERR, 1 OUASK
COMMON /MAXIMA/ MAXVEH,MAXLTW,MAXPOL,MAXREG,MAXYRS
COMMON /MYRSAV/ AMAR (20,8) .JULMYR (20,8) .NEWCUM
COMMON /NAMES I/ NAMFLG (1 6) .NAMMMR (2,2,8) , NAMRVP (*t)

Check for user supplied my mileage accrual rates and / or registration
di str ibutions.


-------
                                              C-47
  108058
   38059
   58060
  108061
  108062
  108063
  10806*4
  108065
  108066
  108067
  108068
  108069
  108070
  108071
  108072
  108073
  10807*4
  108075
  108076
  108077
  108078
  108079
  108080
  108081
  108082
  108083
  10808U
    8085
    8086
  108087
  108088
  108089
  108090
  108091
  108092
  108093
  10809**
  108095
  108096
  108097
  108098
  108099
  108100
  108101
  108102
  108103
  10810**
  108105
  108106
  108107
  108108
  108109
  108110
4^)8111
M8112
  no8ii3
  10811*4
  108115
             Appendix C: MOBILE** Subroutine  GETMRN                    May 5, 1989

      IF (MYMRFG.EQ.l) GOTO 65
      IF(MYMRFG.EQ.3) GOTO 20
C
C  Get mileage accrual rates.
C
      IF (PROMPT.EQ.2) WRITE(IOUASK,200)
  200 FORMAT(/)
C
      DO 10  IV=1,MAXVEH
      DO 10  IG=1,2
      IF (PROMPT.EQ.2) WRITE(IOUASK,210)  (NAMMMR (ICH,IG,IV),ICH=1,2)
  210 FORMAT(' ','Enter MYM ages ',2A8)
      MYF = 1
      IF(IG.EQ.2)  MYF-11
      MYL=10
      IFOG.EQ.2)  MYL=20
      READ(IOUGEN,110,END=99)  (AMAR(JDX,IV),JDX=MYF,MYL)
  110 FORMAT(1 OF7.5)
   10 CONTINUE
C
      DO 15  IV=1,MAXVEH
      DO 15 JDX=1,MAXYRS
      IF (AMAR(JDX,IV) .LT.0.0)  CALL QUITER (AMAR (JDX,I V),0,19,INERR)
   15 CONTINUE
C
      IF (MYMRFG.EQ.2) GOTO *»5
C
C  Get vehicle registration distributions.
C
   20 IF (PROMPT.EQ.2) WRITE(IOUASK,200)
      DO 35  IV=1,MAXVEH
C
      DO 25  IG=1,2
      IF (PROMPT.EQ.2) WRITE(IOUASK,220)  (NAMMMR (ICH,IG,IV),ICH=1,2)
  220 FORMAT(' ','Enter MYR ages r,2A8)
      MYF = 1
      IF(IG.EQ.2)  MYF-11
      MYL=10
      IF(IG.EQ.2)  MYL=20
      READ (IOUGEN,120,END=99)  (JULMYR(JDX,IV), JDX=MYF,MYL)
  120 FORMAT(10F5.3)
   25 CONTINUE
C
      CHKMYR-0.0
      DO 30 JDX=1,MAXYRS
      CHKMYR=JULMYR (JDX,IV)+CHKMYR
   30 CONTINUE
C
      IF(CHKMYR-.00001.GT.1..0R.CHKMYR+.00001.LT.l.)
     *  CALL QUITER(CHKMYR,0,49,INERR)
   35 CONTINUE
C
      DO kO  IV=1,MAXVEH
      DO kO JDX=1,MAXYRS
      IF(JULMYR(JDX, IV).LT.0.0) CALL  QUITER (JULMYR (JDX, IV) ,0,20,INERR)
   40 CONTINUE
C
   US DO 55  IV=1,«AXVEH

-------
                   C-48
Appendix C: MOBILES Subroutine GETMRN
May 5, 1989
108116
108117
108118
108119
108120
108121
108122
108123
108121*
108125
108126
108127
108128
108129
108130
108131
108132
108133
108134
108135
108136
108137
108138
108139
108140
108141
108142
108143
108144
108145
108146
108147
108148
108149
108150
108151
108152
108153
108154
108155
C
C
C
C








C
C
C




C
C
C

C





C



C

C
C
C



Skip 0 with non-0 checks if user supplies MYR only and on HDDV pass:
the BD values are 0.0' s for all 20 my's (HDDMYM has not yet been called).

IF (MYMRFG.EQ.3.AND. IV.EQ.7) GOTO 55
DO 50 JDX=1,MAXYRS
IF (AMAR (JDX, IV) . LE .0.0. AND. JULMYR (JDX, IV) .GT.0.0)
* CALL QUITER (JULMYR (JDX, IV) ,0,21, INERR)
IF (AMAR (JDX, IV) .GT.0.0. AND. JULMYR (JDX, IV) .EQ.0.0)
* CALL QUITER (AMAR (JDX, IV) ,0,22, INERR)
50 CONTINUE
55 CONTINUE

Check vehicle equalities (LDGV.LDDV), (LDGT1.LDDT) mod yr regs.

DO 60 JDX=1,MAXYRS
IF (JULMYR (JDX, 1) .NE .JULMYR (JDX, 5) ) CALL QUITER (0. , JDX, 65, INERR)
IF (JULMYR (JDX, 2) .NE .JULMYR (JDX, 6) ) CALL QUITER (0. , JDX, 66, INERR)
60 CONTINUE

Normal ize JULMYR.

65 DO 75 IV=1,MAXVEH

SUMMYR=0.0
DO 70 JDX=1,MAXYRS
SUMMYR=JULMYR(JDX,IV)+SUMMYR
70 CONTINUE
IF (SUMMYR. EQ.0.0) SUMMYR=1 .

DO 75 JDX=1,MAXYRS
JULMYR (JDX, IV)=JULMYR(JDX, IV) /SUMMYR
75 CONTINUE

RETURN

EOF on any attempted read => take alternate return 1 => run aborts.

99 RETURN1
END

-------
                   C-i»9



Appendix C: MOBILES Subroutine GETERQ
May 5, 1989
109000
•09001
09002
109003
109001*
109005
109006
109007
109008
109009
109010
109011
109012
109013
109011*
109015
109016
109017
109018
109019
109020
109021
109022
109023
109021*
109025
109026
• rtQrt •} ~i
uyu^/
09028
109029
109030
109031
109032
109033
109031*
109035
109036
109037
109038
109039
10901*0
10901*1
10901*2
10901*3
10901*1*
10901*5
10901*6
10901*7
10901*8
10901*9
109050
109051
109052
4*09053
^^09051*
109055
109056
109057

C
C
C
.C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C

C





C
C
C




C
C
C
SUBROUTINE GETERQ (INERR,*)

GETERQ reads in, performs range checks on, converts to gpm if IV = HDV,
and stores replacement emission factor rates 6 their associated parameters.

Cal led by ONESEC.

Calls HDCGPM, QUITER, STOERQ and YRTEST.

Input on cal 1 :

parameter 1 i st: INERR
common blocks:
/BASEQl*/ MAXCT
/FLAGS1/ PROMPT
/IOUCOM/ IOUGEN, IOUASK
/YEARS1*/ IY191*1, IY2020

Output on return:

parameter list: INERR
common blocks:
/BASEQl*/ NEWPAR.BERNEW.NEWFIT.NEWCT

Local variable / array dictionary:

Name Type Description


A50NEW R above 50K miles deterioration rate, nonzero for 1981+ LDGV
HC/CO cases only (local variable: not used in HDCGPM)
KINK50 1 kinked at 50K miles ef curve flag: 1 = no, 2 = yes
NEWPOL 1 new emission rate's pollutant code
NEWREG 1 new emission rate's region code

Notes:

GETERQ was added for MOBILEl*.
GETERQ was modified in MOBILEl* to add above 50K miles slope field.


INTEGER PROMPT, TAMFLG, SPDFLG.VMF LAG

COMMON /BASEQ3/ NEWVEH.NEWMYF ,NEWMYL,ZMLNEW,DRNEW,KI NKS
COMMON /BASEQ1*/NEWPAR(5,100) .BERNEW (3, 100) .NEWFIT(IOO) .NEWCT.MAXCT
COMMON /FLAGS1/ PROMPT, TAMFLG, SPDFLG, VMFLAG
COMMON /IOUCOM/ 1 OUIMD, 1 OUGEN, 1 OUREP, 1 OUERR, 1 OUASK
COMMON /YEARS1*/ 1 Yigl*l , 1 Y19&0, 1 Y2020

Read in number of new ef rate records to be processed.

1 F (PROMPT . EQ . 2) WR 1 TE ( 1 OUASK , 200)
200 FORMATCO1 , 'Enter no. of new e.f. intercept/slope pairs (13):')
READ (IOUGEN, 100, END=99) NEWCT
100 FORMAT (13)
IF (NEWCT. LT.l. OR. NEWCT. GT.MAXCT) CALL QUITER (0. , NEWCT, 23, 1 NERR)

Read in and process one record at a time.


-------
                   C-50




Appendix C:  MOBILES Subroutine GETERQ
May 5, 1989
109058
109059
109060
109061
109062
109063
109064
109065
109066
109067
109068
109069
109070
109071
109072
109073
109074
109075
109076
109077
109078
109079
109080
109081
109082
109083
109084
109085
109086
109087
109088
109089
109090
109091
109092
109093
109094
109095
109096
109097
109098
109099
109100
109101
109102
109103
109104
109105
109106
KINKS=1
DO 10 IFAC=1,NEWCT
IF (PROMPT. EQ. 2) WRITE (IOUASK, 210)
210 FORMATC ',' Enter region, veh. type, pollutant, f i rst my ,'/
* ' ','last my, intercept, slope 6 above 50K miles slope:1)
READOOUGEN, 110,END=99) NEWREG, NEWVEH, NEWPOL.NEWMYF .NEWMYL,
* ZMLNEW.DRNEW.A50NEW
110 FORMAT (11,2 (IX, 11) , 2 (IX, 1 2) ,3 (IX, F6.2) )
IF (NEWREG.LT.1.0R.NEWREG.GT.2) CALL QUITER (0. ,NEWREG,62, 1 NERR)
IF (NEWVEH.LT.1.0R.NEWVEH.GT.8) CALL QUITER (0. .NEWVEH, 25, INERR)
IF (NEWPOL.LT.1.0R.NEWPOL.GT.3) CALL QUITER (0. .NEWPOL, 26, INERR)
CALL YRTEST(NEWMYF,27, 1 Y1941 , 1 Y2020, INERR)
CALL YRTEST (NEWMYL, 27, IY1941 , 1 Y2020, INERR)
IF (NEWMYL. LT.NEWMYF) CALL QUITER (0. ,0,29, INERR)
KINK50=1
IF (NEWVEH. EQ. LAND. NEWPOL.LE. 2. AND. NEWMYF.GE. 1981) KINK50=2
IF (KINK50.EQ.2) KINKS=2
IF(ZMLNEW.LE.O.O) CALL QUITER (ZMLNEW, 0,30, 1 NERR)
IF(DRNEW.LT.O.O) CALL QUITER (DRNEW.O, 31 , INERR)
IF (KINK50.EQ.2.AND.A50NEW.LT.O.O) CALL QUITER (A50NEW.O, 31 , INERR)
C
C If the emission rate is for a heavy duty vehicle class, convert the
C units from grams per brakehorsepower to grams per mile.
C
IF (NEWVEH. EQ. 4. OR. NEWVEH. EQ. 7) CALL HDCGPM
C
C Save screened data in temporary storage areas.
C
NEWPAR(1, IFAC)=NEWREG
NEWPAR(2, IFAC) -NEWVEH
NEWPAR(3, IFAC)=NEWPOL
NEWPAR(4, IFAC)=NEWMYF
NEWPAR(5,IFAC)=NEWMYL
BERNEW(1, IFAC)=ZMLNEW
BERNEW(2,IFAC)=DRNEW
IF (KINK50.EQ.1) BERNEW(3, IFAC)=-1 .0
IF (KINK50.EQ.2) BERNEW(3, IFAC)=A50NEW
10 CONTINUE
C
C Store new ef equations for later access by BEF.
C
CALL STOERQ( INERR)
C
RETURN
C
C EOF on any attempted read => take alternate return 1 => run aborts.
C
99 RETURN 1
END
                                                          rate's

-------
c-5i

110000
• 0001
0002
110003
110004
110005
110006
110007
110008
110009
110010
110011
110012
110013
110014
110015
110016
110017
110018
110019
110020
i 1 r\f\ •) i
1 1 UUZ 1
1 10022
1 10023
110024
110025
110026
4^10027
•10028
n 10029
110030
110031
110032
110033
110034
110035
110036
110037


c
C
C
C
C
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c







Appendix C: MOBILE4 Subroutine YRTEST May
SUBROUTINE YRTEST (IY, NERR, IY1, IY2, INERR)
YRTEST converts 2-digit input year to 4-digit year.

Called by GETATP, GETERQ, GETIMP, GETNAT, PARSEC and RDCITY.

Calls QUITER.

1 nput on cal 1 :

parameter list: 1 Y.NERR, 1 Yl , 1 Y2, 1 NERR
common blocks:
/YEARS4/ IY1941

Output on return:

parameter list: IY, INERR

Local variable dictionary:

Name Type Description
II 1 IY converted to 4 digit year

Notes:

none
COMMON /YEARS4/ 1 Yig4l , 1 Y19&0, 1 Y2020

1 I=IY+1900
IF (1 1 .LT.IY1941) 11 = 11 + 100
IF (IY.LT.O.OR. 1 1 .LT.IY1 .OR. 1 1 .GT. IY2)
* CALL QUITER(0., IY, NERR, INERR)
IY=I 1
RETURN
END

-------
                   C-52




Appendix C: MOBILES Subroutine HDCGPM                   May 5,  1989
111000
111001
111002
111003
111004
111005
111006
1100?
11008
11009
11010
11011
111012
111013
111014
111015
111016
111017
111018
111019
11 i f\ *jr\
1 1020
111021
111022
111023
111024
111025
111026
111027
111028
111029
111030
111031
111032
11033
11034
11035
11036
11037
11038
11039
11040
11041
111042
111043
111044
111045
111046
111047
111048
111049
111050
111051
111052
111053
111054
111055
111056
111057

C
c
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c

c
c
c
c







c
c
c
c



c
c
c
c
c
SUBROUTINE HDCGPM

HDCGPM converts user entered new emission rates from grams per brake-
horsepower units to grams per mile units.

Called by GETERQ.

Cal Is HDCPIC.

1 nput on cal 1 :

common block: /BASEQ3/ NEWVEH.NEWMYF ,NEWMYL,ZMLNEW,DRNEW

Output on return:

common block: /BASEQ3/ ZMLNEW.DRNEW

Local variable dictionary:

Name Type Description
CONV R conversion factor to be used for a given MY and IV
DRSUM R sum of the converted deterioration rates for the model years
in the range specified by the user
RANGE R number of model years in the my range specified by the user
for which the new emission rate is to be used.
ZMLSUM R sum of the converted 2ero mile levels for the model years
in the range specified by the user

Notes:

HDCGPM was added for MOBILE4.


COMMON /BASEQ3/ NEWVEH.NEWMYF ,NEWMYL,ZMLNEW,DRNEW, K 1 NKS

Apply each model year's conversion factor to the user's emission rate
and add the result to the running sums.

ZMLSUM=0.0
DRSUM=0.0
DO 10 MY=NEWMYF,NEWMYL
CONV=HDCPIC(MY,NEWVEH)
ZMLSUM=ZMLSUM+ (CONV*ZMLNEW)
DRSUM=DRSUM+ (CONV*DRNEW)
10 CONTINUE

Divide the sums by the number of my's in the range to get the average
emission rate.

RANGE=NEWMYL-NEWMYF+1
ZMLNEW=ZMLSUM/RANGE
DRNEW=DRSUM/RANGE

Alternative, less "user friendly", but more efficient method:
Compute the average conversion rate for the interval and multiply
times the entered rates.


-------
                                           c-53

                        Appendix  C:  MOBILES  Subroutine  HDCGPM                    May  5,  1989
111058           RETURN
111059           END

-------
c-54

112000
112001
112002
112003
112004
112005
112006
112007
112008
112009
112010
11201 1
112012
112013
112014
112015
112016
112017
112018
112019
112020
112021
112022
112023
112024
112025
112026
112027
112028
112029
112030
112031
112032
112033
112034
112035
112036
112037
112038
112039


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C
C
C
C
C



C
C
C


C

C


Appendix C: MOBILE4 Function HDCPIC
FUNCTION HDCPIC (MY, IV)

HDCPIC picks the HDV gpbhp to gpm units conversion factor.

Cal led by HDCGPM.

1 nput on cal 1 :

parameter list: MY, IV
common blocks:
/HDCCOM/ HDCFAC.LOWYR.MAXCIG

Output on return:

function: HDCPIC

Notes:

HDCPIC was added for MOBILE4.


COMMON /HDCCOM/ HDCFAC (37,2) , LOWYR.MAXCI G

There is a different conversion factor for each model year from
LOWYR up through MAXCIG's year. Below LOWYR, use LOWYR's.
Above MAXCIG's year, use MAXCIG's year's.

IG=MY-LOWYR+1
IF(IG.LT.l) IG=1
IF (IG.GT.MAXCIG) IG=MAXCIG

IV must be a HDV code (4 or 7) •

IF(IV.EQ.4) IVHD=1
IF(IV.EQ.7) IVHD=2

HDCPIC=HDCFAC(IG,IVHD)

RETURN
END
                                     May 5,  1989

-------
                             C-55
13000
J 300 1
J3002
13003
113004
1 1 3005
1 1 3006
113007
1 1 3008
1 1 3009
113010
113011
113012
113013
113014
113015
113016
113017
1 13018
113019
113020
113021
113022
113023
113024
113025
113026
113027
13028
T13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
130^0
13041
13042
13043
13044
13045
13046
13047
13048
13049
1 1 3050
113051
113052
[13053
• 305*
H3055
113056
113057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C







C





C
C
C



C
          Appendix C: MOBILES Subroutine STOERQ

   SUBROUTINE STOERQ (INERR)
May 5, 1989
STOERQ attempts to store the user-supplied specifications for new  FTP basic
emission rate equations and when successful  (i.e., when room found  in the
user supplied rate arrays), zeroes out all idle coefficients for the
specified pollutant, vehicle and region combination.

Called by GETERQ.

CalIs QUITER.

Input on cal1:

  parameter list: INERR
  common blocks:
  /BASEQ4/ NEWPAR.BERNEW.NEWCT
  /BASEQ6/ MAXERU
  /FLAGS4/  IDLFLG
  /1DLEQ2/ MAXIDL

Output on return:

  parameter list: INERR
  common blocks:
  /BASEQ4/ NEWFIT
  /BASEQ5/ ERUZML.ERUDR.ERU50K
  /BASEQ6/ MYGERU.NUMERU
  /BASEQ7/  IPMOD
  /IDLEQ1/ ZMLIDL.DRIDL

Notes:

STOERQ was updated for MOBILE4.
STOERQ was modified in MOBILES to add the above 50K miles slope  field.
   INTEGER PR-TFLG.HCFLAG

   COMMON /BASEQ4/NEWPAR(5,100) .BERNEW (3,100) , NEWFIT (100) .NEWCT.MAXCT
   COMMON /BASEQ5/ ERU2ML (12,3,8,2),ERUDR (12,3,8,2),ERU50K (12,2,2)
   COMMON /BASEQ6/ MYGERU (12,2,3,8,2).MAXERU.NUMERU (3,8,2) .KEYER,IGER
   COMMON /BASEQ7/ IPMOD(3)
   COMMON /FLAGSV PRTFLG,IDLFLG.NMHFLG.HCFLAG
   COMMON /IDLEQ1/ ZMLIDL(15,3,8,2),DRIDL(15,3,8,2)
   COMMON /IDLEQ2/ MYGIDL (15,3,8,2),MAXIDL

   DO 20 IFAC=1,NEWCT
   NEWFIT(IFAC)=0
   IR=NEWPAR(1, IF AC)
   IV=NEWPAR(2, IF AC)
   IP=NEWPAR(3,IFAC)

Check if there's room  to store equation IFAC's parameters.

   IERNEW=NUMERU(IP,IV,IR) + 1
   IF (IERNEW.GT.MAXERU) CALL QUITER(0.,IFAC.51,INERR)
   IF(IERNEW.GT.MAXERU) GOTO 20

-------
                   C-56




Appendix C: MOBILES Subroutine STOERQ                   May 5, 1989
113058
113059
113060
113061
13062
13063
1306U
13065
13066
1306?
13068
13069
13070
113071
113072
113073
113071*
1 1 30.75
113076
113077
113078
113079
113080
113081
113082
113083
11308i»
C
C







C
C
C
C
C
C







C

C


There is room.

NUMERUdP,IV,IR) = IERNEW
MYGERUdERNEW.l.lP, 1 V, IR) =NEWPAR (k, 1 FAC)
MYGERU(IERNEW,2, IP, IV, IR)=NEWPAR (5, 1 FAC)
ERUZML(IERNEW, IP, IV, 1 R) =BERNEW (1 , 1 FAC)
ERUDR(IERNEW, IP, IV, 1 R) =BERNEW(2, IFAC)
IF (BERNEW(3, IFAC) .GE.0.0) ERU50K (1 ERNEW, IP, IR) =BERNEW (3, 1 FAC)
NEWFIT(IFAC)=1

Set flag to skip VIDLE calculation for IP affected by accepted new equation
Warn user and then zero out all idle coefficients for the accepted new
(IP.IV.IR) equation case. Skip if idle ef not requested or already zeroed
out this case.

IF (IDLFLG.EQ.l.OR.NUMERUdP, IV, IR) .GT.l) GOTO 20
IF (IPMOD(IP) .EQ.O) IPMOD(IP)=1
CALL QUITER(0., IFAC, 59, INERR)
DO 10 IEQU=1 .MAXIDL
ZMLIDLdEQU, IP, IV, IR)=0.0
DRIDLdEQU, IP, IV, IR)=0.0
10 CONTINUE

20 CONTINUE

RETURN
END

-------
                   C-57



Appendix C: MOBILE** Subroutine GET IMP
May 5, 1989
111*000
•14001
11*002
111*003
111*001*
111*005
111*006
111*007
111*008
111*009
111*010
111*011
111*012
111*013
111*011*
111*015
111*016
111*01?
111*018
111*019
111*020
111+021
111*022
114023
111*021*
111*025
111*026
•i j.n *5 T
1 HU^ /
11*028
111*029
111*030
111*031
111*032
111*033
111*031*
111*035
111*036
111*037
111*038
111*039
111*01*0
111*01*1
11401*2
lli*0i*3
111*01*1*
111*01*5
111*01*6
111*01*7
111*01*8
111*01*9
111*050
111*051
111*052
•1W53
11*051*
111*055
111*056
111*057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C


C






C






SUBROUTINE GETIMP (1 NERR,*)
GETIMP reads in and processes the 1 /M Program parameter record and, if
requested, calls GETIMC to get alternate I/M Credits.

Called by ONESEC.

Calls GETIMC, QUITER and YRTEST.

1 nput on cal 1 :

common blocks:
/FLAGS1/ PROMPT
/IOUCOM/ IOUGEN, IOUASK
/YEARS1*/ IY191»1, IY19&0, IY2020

Output on return:

parameter 1 i st: INERR
common blocks:
/IMPAR1/ ICYIM, ISTRIN.MODYR1.MODYR2, WAIVER, CRIM
/IMPAR2/ ILDT, ITEST.NUDATA.NONUDA.NL IM, IMNAME
/IMPAR6/ IFREQ.INTYP

Local variable / array dictionary:

Name Type Description


ICHGBD 1 replace credits selection summary answering "change BD values?"
1 = all FTP and idle credits arrays are using BD values.
2 = at least 1 credits array will be changed by the user.
IUSEBD 1 replace credits selection summary answering "use BD values?"
1 = at least 1 FTP and 1 idle array contents are replaced.
2 = either all FTP arrays or all idle arrays or both are
using the BLOCK DATA values.

Notes:

GETIMP was added for MOBILE!*.
GETIMP was modified in MOBILEl* to handle the I/M Program input changes.


CHARACTER*!* IMNAME
INTEGER PROMPT, TAMFLG.SPDFLG, VMF LAG

COMMON /FLAGS1/ PROMPT, TAMFLG.SPDFLG, VMFLAG
COMMON /IMPAR1/ 1 CYI M, 1 STRIN.MODYR1 .MODYR2.WAI VER (2) , CRIM
COMMON /IMPAR2/ 1 LOT (1*) , ITEST.NUDATA (2) ,NONUDA,NL IM, IMNAME (20,9)
COMMON /IMPAR6/ IFREQ.INTYP
COMMON /IOUCOM/ 1 OUIMD, IOUGEN, 1 OUREP, 1 OUERR, 1 OUASK
COMMON /YEARS!*/ 1 Y19**l , 1 Y19&0, 1 Y2020

NLIM=0
IF (PROMPT. EQ. 2) WRITE (IOUASK, 200)
200 FORMAT ('0' , 'Enter the I/M Program parameters record:1/
* '0', 'Program start year, stringency,1/
* ' ', 'first and last model year getting benefits,'/
* ' ','old tech waiver rate, new tech waiver rate,'/

-------
                             C-58
          Appendix  C:  MOBILES Subroutine GETIMP
                                                                   May 5,  1989
114058
114059
114060
111*061
114062
114063
114064
114065
114066
11406?
114068
114069
114070
114071
114072
114073
114074
114075
114076
114077
114078
114079
114080
114081
114082
114083
114084
114085
114086
114087
114088
114089
114090
114091
114092
114093
114094
114095
114096
114097
114098
114099
114100
114101
114102
114103
114104
114105
114106
114107
114108
114109
114110
114111
114112
114113
114114
114115













C
C
C












C
C
C


C




C

C






C
C
C
C




C
C
C
  *
  ft
              ,'compliance rate,'/
               'inspection type,'/
               'frequency of I/M inspection,1/
               'vehicle classes covered, test type,1/
   *       '  ','flag for alternate I/M credits,Tech  l&ll 6 Tech  IV-f,1/
   *       '  ','the format is :'/
   *       '  ' , ' (4(12,IX) ,2(F2.0,1X) .F3.0.1X, I 1,
   *             IX,II,IX,411,IX,II,IX,211)')
    READ (IOUGEN,100,END=99)
   *   ICYIM,ISTRIN,MODYR1,MODYR2,WAIVER(1).WAIVER (2),CRIM,INTYP,
   i<   IFREQ, I LOT, ITEST.NUDATA
100 FORMAT(4 (I 2,IX),2(F2.0,IX) ,F3.0,IX,I 1,
   *       IX,I1.1X.4I1.1X,I1.1X.2I1)

 Check I/M inputs.

    CALL YRTEST(ICYIM,32,IY19&0,IY2020,INERR)
    IF(ISTRIN.LT.10.0R.ISTRIN.GT.50)  CALL QUITER (0.,ISTRIN,33,INERR)
    CALL YRTEST(MODYR1,35,IY1941,IY2020,INERR)
    CALL YRTEST(MODYR2,36,IY1941,IY2020,INERR)
    IF(MODYR1.GT.MODYR2)  CALL QUITER (0.,0,37,INERR)
    IF (WAIVER(1).LT.0.0.OR.WAIVER(1) .GT.50.)
   *             CALL QUITER (WAIVER(1),0,100,INERR)
    IF(WAIVER(2) .LT.0.0.OR.WAIVER (2) .GT.50.)
   *             CALL QUITER (WAIVER (2) ,0,100,INERR)
    IF(CRIM.LT.0.0.OR.CRIM.GT.100.) CALL QUITER(CRIM.O,34,INERR)
    IF(INTYP.LT.l.OR.INTYP.GT.3) CALL  QUITER (0.,INTYP,82,INERR)
    IFdFREQ.LT.l.OR.IFREQ.GT.2) CALL  QUITER (0., I FREQ, 101 , INERR)

 Convert the  2 waiver rates from percents  to  percentages for  PCLEFT.

    WAIVER(1)=WAIVER(1)/100.
    WAI VER (2) =WA I VER (2) /100.

    DO 10 IVIM=1,4
    IF (I LOT (I VIM).LT.l.OR.I LOT(I VIM) .GT.2)
   *    CALL  QUITER(0., ILDT(IVIM) ,72,  INERR)
 10 CONTINUE

    IF (ITEST.LT.KOR.ITEST.GT.3) CALL  QUITER (0., ITEST,73, INERR)

    NONUDA=2
    DO 20 ICR=1,2
    IF(NUDATA(ICR) . LT. 1 .OR.NUDATA (I CR) .GT.2)
   *    CALL  QUITER(0.,NUDATA(ICR)  ,74, INERR)
    IF(NUDATA(ICR) .EQ.2)  NONUDA=1
 20 CONTINUE

 Set use Block Data and change  Block Data  switches.   If user  is  requesting
 biennial inspection, check that all  Block Data  credits are being  replaced.

    IUSEBD=1
    ICHGBD=1
    IF(NONUDA.EQ.2)  IUSEBD=2
    IF(NONUDA.EQ.l)  ICHGBD=2
If  at  least 1  array is to have its values replaced, do so.

-------
                                           c-59

                        Appendix C:  MOBILE4 Subroutine GETIMP                   May 5,  1989

114116     C
 ,14117           IF (ICHGBD.EQ.2)  CALL GETIMC (*99)
   118     C
114119           RETURN
114120     C
114121     C   EOF on  any attempted read => take alternate return 1 «> run aborts.
114122     C
114123        99 RETURN 1
114124           END

-------
                              C-60
115000
115001
115002
115003
11500**
115005
115006
115007
115008
115009
115010
11501 1
115012
115013
115014
115015
115016
115017
115018
115019
115020
115021
115022
115023
115024
115025
115026
115027
115028
115029
115030
115031
115032
115033
115034
115035
115036
115037
115038
115039
1150^0
115041
115042
115043
115044
115045
115046
115047
115048
115049
115050
115051
115052
115053
115054
115055
115056
115057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C







C

C
C
C
C
C


C

C
C
C




C
C
C
C
           Appendix C:  MOBILE4 Subroutine GETIMC

    SUBROUTINE  GETIMC(*)
May 5, 1989
 GETIMC  reads in user supplied alternative I/M credits.  GETIMC is called
 only when IMFLAG = 2 and NUDATA(i)  > 1  .

 Called  by ONESEC.

 Input on cal1:

   common blocks:
   /IMPAR2/ NUDATA.NONUDA
   /IOUCOM/ IOUIMD,IOUERR

 Output  on return:

   common blocks:
   /ICR4VA/ CRD4VA
   /ICR4VB/ CRD4VB
   /IMPAR2/ NLIM,IMNAME
   /IM12HC/ CR12HC
   /IM12CO/ CR12CO

 Notes:

 GETIMC  was modified in MOBILES to handle the I/M Program input changes.


    CHARACTERS   | MNAME

    COMMON /ICR4VA/ CRD4VA(19,2, 12, 3)
    COMMON /ICR4VB/ CRD4VB 09,2, 12, 3)
    COMMON /IMPAR2/ I LOT (4),ITEST.NUDATA (2),NONUDA,NLIM,IMNAME (20,9)
    COMMON /IMPAR6/ IFREQ.INTYP
    COMMON /IM12HC/ CR12HC (19,20,5,2)
    COMMON /IM12CO/ CR12CO (19,20,5,2)
    COMMON /IOUCOM/ IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK

    IF (NONUDA.EQ.2) GOTO 60

 User supplies  alternative FTP I/M credits.

 Read the number of lines in the  I/M credits description.

    READ(IOUIMD,100,END=70,ERR=80)NLIM
100 FORMAT(I 1)

    IF (NLIM.EQ.O) GOTO 20

 Read I/M program credits file description.

    DO 10 LINES=1,NLIM
    READ(IOUIMD,110,END=70,ERR=80) (IMNAME (NCH,LINES),NCH=1,20)
110 FORMAT (20A4)
 10 CONTINUE

 Read in FTP  I/M credits, for technologies 1/2 and / or 4+ annual or biennial
 programs.

-------
                   C-61




Appendix C: MOBILE** Subroutine GETIMC                    May 5,  1989
115058
|15059
• 5060
115061
115062
115063
11506*4
115065
115066
115067
115068
115069
115070
115071
115072
20




120
60
C
70

C
80
C
99

IF (NUDATA (1)
IF (NUDATA (2)
* READ
IF (NUDATA (2)
* READ
FORMAT (19F*4.
RETURN

CALL QUITER(
GOT099

.EQ.
.EQ.
2)
2
READ
.AND.)
(IOUIMD
.EQ.
2
,1
20
.AND.)
(IOUIMD
3)


0. ,0


CALL QUITER(0.,0

RETURN 1
END






,


»






5





it


55






,1



, 1


,1



20



(IOU
FREQ
IMD,
.EQ.
,END=70,
FREQ
.EQ.
,END=70,






120,END=70,ERR=80) CR12HC.CR12CO
1)
ERR-80) CRDWA
2)
ERR=80) CRDWB



NERR)








NERR)













-------
                   C-62
Appendix C: MOBILES Subroutine GETATP
May 5, 1989
116000
116001
116002
116003
116004
116005
116006
116007
116008
116009
116010
116011
116012
116013
116014
116015
116016
116017
116018
116019
116020
116021
116022
116023
116024
116025
116026
116027
116028
116029
116030
116031
116032
116033
116034
116035
116036
116037
116038
116039
116040
116041
116042
116043
116044
116045
116046
116047
116048
116049
116050
116051
116052
116053
116054
116055
116056
116057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C





SUBROUTINE GETATP (INERR)

GETATP gets and verifies ant i -tamper i ng program parameters and effectiveness
rates. GETATP is called when ATPFLG = 2.

Called by ONESEC.

Calls ATPAER and CALAER.

Input on cal 1 :

parameter list: INERR
common blocks:
/FLAGS I/ PROMPT
/FLAGS2/ IMFLAG
/IOUCOM/ IOUASK
/IMPART/ CRIM
/IMPAR6/ IFREQ, INTYP
/YEARS4/ IY1960, IY2020

Output on return:

parameter list: INERR
common blocks:
/ATPAR1/ LAPSY,LAP1ST,LAPLST,LVTFLG
/ATPAR2/ ATPPGM, ATPFQT , CRATP , D 1 STYP (8)
/EGSCAL/ AER
/EVPDAT/ EVPAER

Local variable dictionary:

Name Type Description


COLSUM R column sum values from AER: each column's sum must be
within the closed interval from 0.0 to 1.0.
EVP R evaporative A-T effectiveness rate: each rate must be
within the closed inetrval from 0.0 to 1.0.
LVT 1 flag indicating whether or not a vehicle type is
covered by the A-T program: value must be either 1 (no)
or 2 (yes) .
RATE R A-T effectiveness rate against exhaust emissions: each
rate must be within the closed interval from 0.0 to 1.0

Notes:

GETATP was modified in MOBILE4 to generate AER/EVPAER internally and in
MOBILE4 to accomodate the MOBILE4 1 /M Program model.


INTEGER PROMPT, TAMFLG.SPDFLG, VMFLAG
INTEGER ALHFLG
INTEGER ATPPGM, ATPFQT, DISTYP

COMMON /ATPAR1/ LAPSY, LAP1ST, LAPLST, LVTFLG (4)
COMMON /ATPAR2/ ATPPGM, ATPFQT, CRATP, D 1 STYP (8)
COMMON /EGSCAL/ AER (1 1 , 1 1 ,2,2) ,TGS(11,6,4) ,EGS(7,2) .OPENLP (20,4)
COMMON /EVPDAT/ EVPAER (3,2) , EVPTGS (3,2,4) , CCEMI (7,4)
COMMON /FLAGS1/ PROMPT, TAMFLG .SPDFLG, VMFLAG

-------
                                              C-63
   116058
•
P! 6060
116061
116062
116063
116061*
116065
116066
116067
116068
116069
116070
116071
116072
116073
116071*
116075
116076
116077
116078
116079
116080
116081
116082
116083
116081*
i 16085
016086
116087
116088
116089
116090
116091
116092
116093
116091*
116095
116096
116097
116098
116099
116100
116101
116102
116103
116101*
116105
116106
116107
116108
116109
116110
i 1 6 1 1 1
1)6112
116113
116111*
116115



C
C
C
C
C
C








C
C
C



C




C



C




C
C
C
C


C
C
C
C


C
C
C
C



           Appendix C: MOBILES Subroutine GETATP                    May  5,  1989

    COMMON /FLAGS2/ MYMRFG.NEWFLG,IMFLAG,ALHFLG
    COMMON /IMPAR1/ ICYIM,ISTRIN.MODYR1.MODYR2.WAIVER (2),CRIM
    COMMON /IMPAR6/ IFREQ.INTYP
    COMMON /IOUCOM/ IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK
    COMMON /YEARS1*/ IY19*»l , I Y19&0, I Y2020

 Identify program parameters: start year, first  year covered,  last
 year covered, vehicle types covered,  inspection program  type,
 inspection frequency, compliance rate, and disablement  inspections
 conducted.

    IF (PROMPT.EQ.2) WRITE(IOUASK,200)
200 FORMAT ('0', 'Enter  ATP start year, first t  last years  included,'/
   *   '  vehicle types covered, inspection type  6 frequency,'/
   *   '  compliance rate, and  inspections conducted  (format  ='/
   *   '  3(12,IX) ,41 1, IX,21 1,1X,F1».0,1X,8I 1) : ')
    READ (IOUGEN,100,END«90,ERR=90) LAPSY,LAP1ST,LAPLST,LVTFLG,
   *   ATPPGM,ATPFQT,CRATP,DISTYP
100 FORMAT (3 (I 2, IX) ,1*I1,1X,2I1,1X,F1».0,1X,8I1)

 Verify parameters:

    CALL YRTEST(LAPSY,75JY1960,IY2020, INERR)
    CALL YRTEST(LAP1ST,76,IY1960,IY2020,INERR)
    CALL YRTEST (LAPLST,77,IY1960,IY2020,INERR)

    DO 10  IVTAM=1,1*
    LVT=LVTFLG(IVTAM)
    IF (LVT.LT.l.OR.LVT.GT.2)  CALL QUITER(0.,LVT,78,INERR)
 10 CONTINUE

    IF (ATPPGM.LT.1.0R.ATPPGM.GT.2) CALL QUITER(0..ATPPGM,103,INERR)
    IF (ATPFQT.LT.1.0R.ATPFQT.GT.2) CALL QUITER (0. .ATPFQT, 101*. INERR)
    IF (CRATP.LT.O..OR.CRATP.GT.100.) CALL QUITER (CRATP,1,105,INERR)

    DO 20  1=1,8
    IF (DISTYP(I).LT.l.OR.DISTYP(l) .GT.2)
   *   CALL QUITER(0.,DISTYP(I),106,INERR)
 20 CONTINUE

 Warning is  issued  if I/M compliance rate is  not equal  to ATP
 compliance rate.

    IF (IMFLAG.EQ.2.AND.  (CRATP.NE.CRIM))
   *   CALL QUITER(CRIM,IMFLAG,108,INERR)

 Warning is  issued  if I/M inspection frequency  is not equal  to ATP
 inspection frequency.

    IF(IMFLAG.EQ.2.AND.(ATPFQT.NE.IFREQ))
   *   CALL QUITER(0.,IFREQ,109,INERR)

 Warning is  issued  if I/M inspection type is  not  the same as the  ATP
 inspection type.

    IF (IMFLAG.EQ.2.AND.(ATPPGM.EQ.1.AND.INTYP.NE.1))
   *   CALL QUITER(0.,INTYP.110,INERR)
    IF(IMFLAG.EQ.2.AND.(ATPPGM.EQ.2.AND.INTYP.LT.2))

-------
                             C-61*
116116
116117
116118
116119
116120
116121
116122
116123
116121*
116125
116126
116127
116128
116129
116130
116131
116132
116133
116131*
116135
116136
116137
116138
116139
11611*0
116141
11611*2
11611*3
11611*1*
11611*5
11611*6
11611*7
11611*8
11611*9
116150
116151
116152
116153
116151*
116155
116156
116157
116158
116159
116160

C
C
C

C
C
C

C
C
C






C
C
C
C
C













C

C
C
C

C


          Appendix C: MOBILES Subroutine GETATP                   May 5,  1989

  *   CALL QUITER(0.,INTYP.llO,INERR)

Assign base ATP effectiveness rates.

   CALL ATPAER

Calculate ATP effectiveness rates.

   CALL CALAER

EVPAER and AER checks.

   DO 1*0 IAY=1,2
   DO 30 IHG=1,3
   EVP=EVPAER(IHG,I AY)
   IF (EVP.LT.O.O.OR.EVP.GT.l.O) CALL QUITER(EVP,0,79,INERR)
30 CONTINUE
1*0 CONTINUE

Note: ICOL /  IROW here refers to the input file layout of  the arrays.
In subroutine ATPAER the  labels are switched, to  indicate  the actual
orientation of the matrices in  the effectiveness  computation process.

   DO 80 IAY=1,2
   DO 70 IPG=1,2
   DO 60 ICOL=1,11
   COLSUM=0.0
   DO 50 IROW=1,11
   RATE=AER(ICOL,IROW,IPG,IAY)
   IF(RATE.LT.0.0.OR.RATE.GT.1.0) CALL QUITER(RATE,0,80,INERR)
   COLSUM=COLSUM+RATE
50 CONTINUE
   IF(COLSUM.LT.O.O.OR.COLSUM.GT.I.O) CALL QUITER (COLSUK,0,8l,INERR)
60 CONTINUE
70 CONTINUE
80 CONTINUE

   RETURN

"Fatal" error in trying to read ATP program description

90 CALL QUITER(0.,0,107,INERR)

   RETURN
   END

-------
                   C-65



Appendix C: MOBILES Subroutine ATPAER
May 5, 1989
117000
• 7001
7002
117003
117004
117005
117006
117007
117008
117009
117010
117011
117012
117013
117014
17015
17016
17017
17018
17019
117020
117021
117022
117023
117024
1 1 7H *5C
1 1 /U/2
117026
4^17027
^•17028
117029
117030
117031
117032
117033
117034
117035
117036
17037
17038
17039
17040
17041
17042
17043
17044
17045
17046
17047
17048
17049
117050
17051
117052
4^17053
Vi 705*1
^17055
117056
117057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
r
L
C
C
C
C
C
C
C


C




C
C
C

C
C
C

C

C
C
C
C
C


SUBROUTINE ATPAER
ATPAER is designed to simplify the ant i -tamper ing effectiveness rates
input by using a set of its parameters.

Called^ by GETATP.-;

Cal Is ENFORC.

1 nput on cal 1 :

common blocks:
/ATPAR2/ ATPPGM, ATPFQT , CRATP , D 1 STYP
/ATPAR4/ EFF
/FLAGS2/ IMFLAG

Output on return:

common blocks:
/ATPAR3/ AIR,CAT,ECK,TNK,EGR
/ATPAR4/ CAN.PCV.CAP

Local variable dictionary:

Name Type Description

ATPENF R ant i -tamper ing enforcement rate

Notes:

ATPAER was added for MOBILE4 for AER/EVPAER internal generation.


INTEGER ATPPGM, ATPFQT, Dl STYP
INTEGER MYMRFG.ALHFLG.ATPFLG

COMMON /ATPAR2/ ATPPGM, ATPFQT, CRATP, D ISTYP (8)
COMMON /ATPAR3/ A 1 R (2) ,CAT (2) , ECK (3) ,TNK (2) ,EGR (2)
COMMON /ATPAR4/ CAN (2) ,PCV (2) , CAP (2) , EFF (2, 3, 15)
COMMON /FLAGS2/ MYMRFG.NEWFLG, IMFLAG, ALHFLG

Determine ant i -tamper i ng enforcement rate

ATPENF=ENFORC(CRATP,2)

Loop through for Previous/Subsequent (IAY)

DO 80 IAY=1,2

ICOL=IAY+1

Assign Air Pump (ID=1)
(Annual: IROW=1, Biennial: IROW=2)
IF (DISTYP(l) .EQ.l) GOTO 10
IROW=1
IF (ATPFQT. EQ. 2) IROW=2

-------
                             C-66
117058
117059
117060
117061
117062
117063
117064
117065
117066
117067
117068
117069
117070
117071
117072
117073
117074
117075
117076
117077
117078
117079
117080
117081
117082
117083
117084
117085
117086
117087
117088
117089
117090
117091
117092
117093
117094
117095
117096
117097
117098
117099
117100
117101
117102
117103
117104
117105
117106
117107
117108
117109
117110
117111
117112
117113
117114
117115
C

C
C
C

C

C

C
C
C
C
C

C




C


C

C
C
C
C

C


C

C
C
C

C

C

C
C
C
C

C


C

C
C
C
C
          Appendix C: MOBILES Subroutine  ATPAER                    May 5, 1989


   AIR(IAY)=EFF (ATPPGM,I COL,IROW)*ATPENF

Assign Catalyst  (ID=2)

10 IF (DISTYP(2) .EQ.l) GOTO  20

   IROW=3

   CAT(IAY)=EFF (ATPPGM, ICOL, IROW)*ATPENF

Assign Catalyst/Inlet  (Neck)  (ID=3)
(No CAT inspection:  IROW=4,  With I/M:  IROW=5, Without I/M:  IROW=6,
With Plumbtesmo Check:  IROW=7;  also  assign  NECK  Previous Cat Removed)

20 IF (DISTYP(3) .EQ.l) GOTO  30

   IF (DISTYP(2) .EQ.l)  IROW=4
   IF (DISTYP(2) .EQ.2.AND.IMFLAG.EQ.2.AND.DISTYP(4) .EQ.l)  IROW=5
   IF(DISTYP(2) .EQ.2.AND.IMF LAG.EQ.l.AND.DISTYP (4) .EQ.l)  I ROW=6
   IF (DISTYP(2) .EQ.2.AND.DISTYP(4) .EQ.2)  IROW=7

   NCKIAY=IAY+1
   ECK(NCKIAY)=EFF (ATPPGM,I COL,I ROW)*ATPENF

   ECK(1)=EFF (ATPPGM, 1, IROW)*ATPENF

Assign Tailpipe Lead  Deposit  (Tank)  (ID=4)
(With CAT  inspection:  IROW=8, Without  CAT inspection:  IROW=9)

30 IF(DISTYP(4) .EQ.l) GOTO  40

   I ROW=8
   IF (D ISTYP (2) .EQ.2)  IROW=9

   TNK (I AY)=EFF (ATPPGM,I COL,I ROW)*ATPENF

Assign EGR  (ID=5)

40 IF (DISTYP(5) .EQ.l) GOTO  50

   IROW=10

   EGR(IAY)=EFF (ATPPGM,I COL,IROW) *ATPENF

Assign Evap System  (Canister)  (ID=6)
(Annual:  IROW=11, Biennial:  IROW=12)

50 IF(DISTYP(6) .EQ.l) GOTO  60

   IROW=11
   IF(ATPFQT.EQ.2)  IROW=12

   CAN (I AY)=EFF (ATPPGM,I COL,I ROW) *ATPENF

Assign PCV  (ID=7)
(Annual:  IROW=13, Biennial:  IROW=14)

-------
                                           C-67

                        Appendix C: MOBILE** Subroutine ATPAER                    May 5,  1989
117116        60 IF(DISTYP(7) .EQ.l)  GOTO ?0
[17H7     C
'17118           IROVM3
117119           IF (ATPFQT.EQ.2)  IROW=U
117120     c
117121           PCV(IAY)=EFF (ATPPGM,ICOL,IROW)*ATPENF
117122     c
117123     C  Assign Gas Cap (ID=8)
117121*     c
117125        70 IF (DISTYP(8).EQ.l)  GOTO 80
117126     c
117127           IROW=15
117128     c
117129           CAP(IAY)=EFF (ATPPGM,ICOL,I ROW)*ATPENF
117130     C
117131        80 CONTINUE
117132     c
117133           RETURN
11713^     C
117135           END

-------
                   C-68
Appendix C: MOBILE4 Function ENFORC
May 5, 1989
118000
118001
118002
118003
118004
118005
118006
118007
118008
118009
118010
118011
118012
118013
118014
118015
118016
118017
118018
118019
118020
118021
118022
118023
i i ft n 0 h
1 1 OU/*+
118025
118026
118027
118028
118029
118030
118031
118032
118033
118031*
118035
118036
118037
118038
118039
11 80*40
118041
118042
1180143
118044
118045
118046
118047
118048
118049
118050
118051
118052
118053
118054
118055
118056
118057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C


C

C

C

C

C

C

C

C

C
FUNCTION ENFORC (CMPLRT, IMATP)

This REAL-VALUED function computes the enforcement
corresponding compliance rate for either I/M or ATP

Called by ATPAER and PCLEFT.

1 nput on Cal 1 :

parameter list: CMPLRT, IMATP

Output on return:

function: ENFORC

Local array subscripts:

A (7, 2) - A ( IRNG, IMATP )
B(7,2) - B ( IRNG, IMATP )
RANGE (8, 2) - RANGE ( IRNG, IMATP )

Local variable dictionary:

Name Type Description


A R first term of the FBL linear equation
B R last term of the FBL linear equation:
CMPLRT R compl iance rate
FBL R fraction of benefit loss
IMATP 1 flag indicating whether calculating 1
IRNG 1 index into the A, B, and RANGE arrays
NCMPRT R non-compl iance rate
RANGE R range limits for applying the proper

Notes:

ENFORC was added for MOBILE4 for AER/EVPAER interna


REAL NCMPRT
REAL A (7, 2) ,B(7,2) .RANGE (8, 2)

DATA A/
I/M
* 2.0, 1.5, 1.4, 1.3, 1.2, 1.1, 1.0,
ATP
* 2.0, 1.5, 1.4, 1.3, 1.2, 1.1, l.O/

DATA B/
I/M
* .000, .100, .175, .245, .310, .370, .425,
ATP
* .000, .100, .175, .245, -310, .370, .425/

DATA RANGE/
I/M
* .00, .05, .10, .15, .20, .25, .30, 999.,
ATP


rate given the
.






















: FBL=A*X+B
FBL=A*X+B


/M or ATP rates


A and B terms



1 generation.










^











-------
                   C-69



Appendix C:  MOBILES Function ENFORC                     May 5,  1989
118058
U8059
J|8060
11806]
118062
118063
Il8o6ii
118065
118066
118067
118068
118069
118070
118071
118072
118073
11807*1
118075
118076
118077
118078
118079
118080

C
C

C

C

C


C


C

C

C

C


* .00, .05, .10, .15, .20, .25, .30, 999-7


NCMPRT=1.-CMPLRT/100.

FBL=0.

DO 10 IRNG=1,7

IF (NCMPRT.LT. RANGE (IRNG, IMATP) . OR. NCMPRT.GE .RANGE (IRNG+1,
* IMATP)) GO TO 10

FBL=A(IRNG, 1 MATP) * (NCMPRT-RANGE (IRNG, IMATP) )+B (1 RNG, IMATP)
GO TO 20

10 CONTINUE

20 IF (FBI. GT. 1.0) FBL=1 .0

ENFORC=1.0-FBL

RETURN
END

-------
                   C-70




Appendix C: MOBILES Subroutine CALAER
May 5, 1989
119000
119001
119002
119003
119001*
119005
119006
119007
119008
1 19009
119010
119011
119012
119013
1190U
119015
119016
119017
119018
119019
119020
119021
i i ono o
1 1 y(J2t
119023
119021*
119025
119026
119027
119028
119029
119030
119031
119032
119033
119034
119035
119036
119037
119038
119039
11901*0
11901*1
11901*2
11901*3
11901*1*
11901*5
11901+6
11901*7
11901*8
11901*9
119050
119051
119052
119053
119051*
119055
119056
1 19057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C




C

C
C

C

C
C
C


C
C
C
C
C


SUBROUTINE CALAER

CALAER calculates the effect of an ant i -tamping program on
tampering rates and stores the results in the EVPAER AND AER arrays.

Called by GETATP.

Input on cal 1 :

common blocks:
/ATPAR3/ AIR,CAT,ECK,TNK,EGR
/ATPAR1*/ CAN.PCV.CAP

Output on return:

common blocks:
/EGSCAL/ AER
/EVPDAT/ EVPAER

Local variable dictionary:

Name Type Description
AIREGR R temporary array to hold either AIR or EGR depending
on IPG
DIFF R temporary variable to hold overlap difference
DIFFA R temporary variable to hold another overlap difference
DIFFB R temporary variable to hold another overlap difference
DIFFC R temporary variable to hold another overlap difference

Notes:

CALAER was added for MOBILE!* for AER/EVPAER internal generation.


COMMON /ATPAR3/ Al R (2) , CAT (2) , ECK (3) ,TNK (2) , EGR (2)
COMMON /ATPAR1*/ CAN (2) ,PCV (2) ,CAP (2) , EFF (2, 3, 15)
COMMON /EGSCAL/ AER (1 1 , 1 1 ,2, 2) ,TGS (1 1 ,6, It) ,EGS(7,2) .OPENLP (20,4)
COMMON /EVPDAT/ EVPAER (3, 2) , EVPTGS (3,2,1*) ,CCEMI (7,1*)

DIMENSION AIREGR (2)


DO 56 IAY=1,2

DO 5^ IPG=1,2

Choose Air Pump or EGR effectiveness on pollutant group (IPG).

IF(IPG.EQ.l) AIREGR(IAY)=AIR(IAY)
IF(IPG.EQ.2) AIREGR(IAY)=EGR(IAY)

Region 1 calculations
Overlap between Catalyst Removal and Air Pump Tampering or
Overlap between Catalyst Removal and EGR Tampering

DIFF=AIREGR(IAY)-CAT(IAY)
IF (DIFF. GE. 0.0) GOTO 10

-------
                             C-71
119058
•19059
19060
119061
119062
119063
11906*4
119065
119066
119067
1 19068
119069
119070
119071
119072
119073
119071*
119075
119076
119077
119078
119079
119080
119081
119082
119083
11908**
•19085
19086
119087
119088
119089
119090
119091
119092
119093
11909**
119095
119096
119097
119098
119099
119100
119101
119102
119103
11910**
119105
119106
119107
119108
119109
119110
4*19111
^19112
119113
11911**
119115
C



C


C
C
C
C
C

C


C



C


C
C
C
C
C

C



C


C
C
C
C
C


C



C

C

C
C
C



          Appendix C: MOBILE** Subroutine CALAER
   AER(1,8, IPG, IAY)=ABS(DIFF)
   AER(1,1, IPG, IAY)=1.00-CAT(IAY)
   GO TO 12

10 AER(1,9,IPG,IAY)=DIFF
   AERO.l, IPG, IAY)=1.00-AIREGR(IAY)

Region 2 calculations
Overlap between Air Pump Tampering  6 Fuel  Inlet Tampering  or
Overlap between EGR      Tampering  6 Fuel  Inlet Tampering

12 NCKIAY=IAY+1

   DIFF=AIREGR (I AY)-ECK(NCKI AY)
   IF (DIFF.GE.0.0) GOTO 1**

   AER(2,8, IPG, IAY)=ABS(DIFF)
   AER(2,2,IPG,IAY)=1.00-ECK(NCKIAY)
   GO TO 16

1** AER(2,10, IPG, IAY)=DIFF
   AER(2,2,IPG,IAY)=1.00-AIREGR(IAY)

Region 3 calculations
Overlap between Air Pump Tampering  6 Other Misfueling or
Overlap between EGR      Tampering  6 Other Misfueling

16 DIFF=AIREGR(IAY)-TNK(IAY)
   IF (DIFF.GE.0.0) GOTO 18

   AER(3,8, IPG, IAY)=ABS(DIFF)
   AER(3,3, IPG, IAY) = 1.00-TNK(IAY)
   GO TO 20

18 AER(3,11,IPG,IAY)=DIFF
   AER(3,3,IPG,IAY)=1.00-AIREGR(IAY)

Region ** calculations
Overlap between Air Pump, Fuel  Inlet 6 Catalyst Removal or
Overlap between EGR,      Fuel  Inlet 6 Catalyst Removal

20 NCKIAY=1
   IF(IAY.EQ.2) NCKIAY=3

   DIFFA=AIREGR (I AY)-CAT(I AY)
   DIFFB=AIREGR (I AY)-ECK (NCKI AY)
   DIFFC=CAT (I AY)-ECK (NCKI AY)

   IF (DIFFA.GE.0.0) GOTO 26

   IF(DIFFB.LT.O.O) GOTO 22

CAT > AIR > ECK  .OR.  CAT > EGR >  ECK

   AER (**,**, IPG, IAY) = 1 .OO-CAT(IAY)
   AER(*»,2, IPG, IAY)=ABS(DIFFA)
   AER(**,10, IPG, IAY)=DIFFB
May 5, 1989

-------
                              C-72
119116
119117
119118
119119
119120
119121
119122
119123
11912*4
119125
119126
119127
119128
119129
119130
119131
119132
119133
11913*4
119135
119136
119137
119138
119139
1191*»0
119141
119H2
1191*«3
119114*4
119H5
1191*46
1191*4?
1191*48
1191*49
119150
119151
119152
119153
11915*4
119155
119156
119157
1 19158
119159
119160
119161
119162
119163
11916*4
119165
119166
119167
119168
119169
119170
119171
119172
119173

C

C
C
C




C
C
C




C

C
C
C




C

C
C
C




C
C
C



C
C
C
C
C



C

C

C
C
C


          Appendix C: MOBILES  Subroutine CALAER

   GO TO 32

22 IF(DIFFC.GE.O.O) GOTO  2*4

ECK > CAT > AIR   .OR.   ECK >  CAT  > EGR

   AER(*4,*4, IPG.IAY)-l.OO-ECK(NCKIAY)
   AER(*4,1,IPG, IAY)=ABS(DIFFC)
   AER(*4,8, IPG, IAY)=ABS(DIFFA)
   GO TO 32

CAT > ECK > AIR   .OR.   CAT >  ECK  > EGR

2*4 AER(*»,*4. IPG, lAY)-l.OO-CAT(IAY)
   AER(*4,2, IPG, IAY)=DIFFC
   AER(*»,8, IPG, IAY)=ABS(DIFFB)
   GO TO 32

26 IF (DIFFB.GE.0.0) GOTO  28

ECK > AIR > CAT   .OR.   ECK >  EGR  > CAT

   AER(*4,*4, IPG, IAY)=1.00-ECK(NCKIAY)
   AER (k, 1 , IPG, IAY)=ABS (Dl FFB)
   AER(*4,9, IPG, IAY)=DIFFA
   GO TO 32

28 IF (DIFFC.GE.0.0) GOTO  30

AIR > ECK > CAT   .OR.   EGR >  ECK  > CAT

   AER(*4,*4, IPG, IAY)=1.00-AIREGR(IAY)
   AER (It, 6, IPG, IAY)=DIFFB
   AER (It,9, IPG, IAY)=ABS(DIFFC)
   GO TO 32

AIR > CAT > ECK   .OR.   EGR >  CAT  > ECK

30 AER(*»,*4, IPG, IAY)=1.00-AIREGR(IAY)
   AER(*4,6, IPG, IAY)=DIFFA
   AER (*4,10,IPG,IAY)=DIFFC

Region 5 calculations
Overlap between  Air Pump, Other Misfueling 6 Catalyst Removal or
Overlap between  EGR,       Other Misfueling 6 Catalyst Removal

32 DIFFA=AIREGR(IAY)-CAT(IAY)
   DIFFB=AIREGR(IAY)-TNK(IAY)
   DIFFC=CAT(IAY)-TNK(IAY)

   IF (DIFFA.GE.0.0) GOTO  38

   IF (DIFFB.LT.0.0) GOTO  3*4

CAT > AIR > TNK   .OR.   CAT >  EGR  > TNK

   AER (5,5, IPG, lAY)-l.OO-CAT(IAY)
   AER(5,3JPG,IAY)=ABS(DIFFA)
May 5, 1989

-------
                             C-73
119174
P9175
9176
119177
119178
119179
119180
119181
119182
119183
119184
119185
119186
119187
119188
119189
119190
119191
119192
119193
119194
119195
119196
119197
119198
119199
119200
^9201
•9202
119203
119204
119205
119206
119207
119208
119209
119210
119211
119212
119213
119214
119215
119216
119217
119218
119219
119220
119221
119222
119223
119224
119225
119226
ji no 07
•9228
119229
119230
119231


c

C
c
c




c
c
c




c

c
c
c




c

c
c
c




c
c
c



c
c
c
c


c


c


c


          Appendix C: MOBILE** Subroutine  CALAER

   AER(5,11,IPG,IAY)-DIFFB
   GO TO kk

34 IF (DIFFC.GE.0.0) GOTO 36

TNK > CAT > AIR   .OR.  TNK > CAT >  EGR

   AER(5,5, IPG, IAY)=1.00-ECK(IAY)
   AER(5,1,IPG,IAY)=ABS(DIFFC)
   AER(5,8, IPG, IAY)=ABS(DIFFA)
   GO TO kk

CAT > ECK > AIR   .OR.  CAT > ECK >  EGR

36 AER(5,5, IPG, IAY)«1.00-CAT(IAY)
   AER(5,3.IPG,IAY)=DIFFC
   AER(5,8, IPG, IAY)=ABS(DIFFB)
   GO TO kk

38 IF (DIFFB.GE.0.0) GOTO 40

ECK > AIR > CAT   .OR.  ECK > EGR >  CAT

   AER(5,5, IPG, IAY)=1.00-TNK(IAY)
   AER(5,1, IPG,IAY)=ABS(DIFFB)
   AER(5,9,IPG,IAY)=DIFFA
   GO TO 41*

40 IF (DIFFC.GE.0.0) GOTO 42

AIR > TNK > CAT   .OR.  EGR > TNK >  CAT

   AER(5,5, IPG, IAY)=1.00-AIREGR(IAY)
   AER(5,7,IPG,IAY)=DIFFB
   AER(5,9, IPG, IAY)=ABS(DIFFC)
   GO TO 44

AIR > CAT > TNK   .OR.  EGR > CAT >  TNK

42 AER(5,5, IPG, IAY)=1.00-AIREGR(IAY)
   AER(5,7, IPG, IAY)=DIFFA
   AER(5,H,IPG,IAY)=DIFFC

Region 6 calculations
Overlap between Catalyst Removal and  Fuel  Inlet  Tampering

44 NCKIAY=1
   IF(IAY.EQ.2) NCKIAY=3

   DIFF=CAT(IAY)-ECK(NCKIAY)
   IF(DIFF.GE.O.O) GOTO 46

   AER(6,9, IPG, IAY)=ABS(DIFF)
   AER(6,6, IPG, IAY)=1.00-ECK(NCKIAY)
   GO TO 48

•46 AER(6,10,IPG,IAY)=DIFF
   AER(6,6, IPG, I'AY) = 1.00-CAT(IAY)
May 5, 1989

-------
                   C-71*



Appendix C: MOBILES Subroutine  CALAER
May 5, 1989
119232
119233
119231*
119235
119236
119237
119238
119239
119240
11921*1
11921*2
11921*3
11921*1*
11921*5
11921*6
11921*7
11921*8
11921*9
119250
119251
119252
119253
119251*
119255
119256
119257
119258
119259
119260
119261
119262
119263
119261*
119265
119266
119267
119268
119269
119270
119271
C
C
C
C


C



C


C
C
C
C
C
C
C
C





C

C
C
C



C

C

C


Region 7 Calculations
Overlap between Catalyst Removal and Other Misfueling

1*8 DIFF=CAT(IAY)-TNK(IAY)
IF (DIFF.GE.0.0) GOTO 50

AER(7,9,IPG, IAY)=ABS(DIFF)
AER(7,7.IPG, IAY)=1.00-TNK(IAY)
GO TO 52

50 AER(7,11, IPG, IAY)=DIFF
AER(7,7, IPG, lAY)-l.OO-CAT(IAY)

Regions 8,9.10,611 Calculations

8 : Air Pump or EGR Tampering Only
9 : Catalyst Removal Only
10 : Fuel Inlet Tampering Only
11 : Other Misfueling Only

52 NCKIAY=IAY+1
AER(8,8, IPG, IAY)=1.00-AIREGR(IAY)
AER(9,9, IPG, IAY)=1.00-CAT(IAY)
AER(10,10, IPG,IAY)=1.00-ECK(NCKIAY)
AER (1 1 , 1 1 , 1 PG, 1 AY) =1 ,00-TNK ( 1 AY)

54 CONTINUE

Evap. Canister, PCV, & Gas Cap calculations

EVPAER(1, IAY)=1.00-CAN(IAY)
EVPAER(2, IAY)=1 .OO-PCV(IAY)
EVPAER(3, IAY)=1 .00-CAP (IAY)

56 CONTINUE

RETURN

END

-------
                                           C-75
120000
       Appendix C: MOBILE4 Subroutine WTLRUL




SUBROUTINE WTLRUL(INERR,*)
                                                                                May 5,  1989
^0001
^0002
120003
120004
120005
120006
120007
120008
120009
120010
120011
120012
120013
120014
120015
120016
120017
120018
120019
120020
120021
120022
120023
120024
120025
120026
|20027
020028
120029
120030
120031
120032
120034
120035
120036
120037
120038
120039
120040
120041
120042
120043
120044
120045
120046
120047
120048
120049
120050
120051
120052
^0053
•0054
120055
120056
120057
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C






C

C
C
C



WTLRUL weights together the 13 trip length cases for each running loss HC
instance of ITLR x ITLT x IGTL x IVTL, for both the base and tampering
rate tables.

Cal led by ONESEC.

Cal Is QUITER.

1 nput on cat 1 :

parameter list: INERR
common blocks:
/FLAGS I/ PROMPT
/IOUCOM/ IOUGEN, 1 OUASK
/RUNLS1/ TLVMT, TLEMI , MAXTL
/RUNLS2/ TLCAN.TLCAP
/RUNLS4/ MAXRUL

Output on return:

common blocks:
/RUNLS1/ TLVMT
/RUNLS3/ RULBAS, RULCAN, RULCAP

Local array subscripts

VMTFRC (3) - VMTFRC ( IDC )

Local variable / array dictionary:

Name Type Description
IDC 1 driving cycle pointer: 1=NYCC, 2=LA-4, 3=HFET
TLSUM R sum of the trip length VMT fractions
VMTFRC R VMT fractions for NYCC, LA-4, and HFET; must sum to 1.0.

Notes:

WTLRUL was added for MOBILE4.


INTEGER PROMPT, TAMFLG.SPDFLG, VMFLAG

COMMON /FLAGS1/ PROMPT, TAMFLG.SPDFLG, VMFLAG
COMMON /IOUCOM/ 1 OUIMD, 1 OUGEN, 1 OUREP, IOUERR, 1 OUASK
COMMON /RUNLS1/ TLVMT (13) , TLEMI (13,4,4,4,4) , MAXTL
COMMON /RUNLS2/ TLCAN (13,4,4) .TLCAP (13,4,4)
COMMON /RUNLS3/ RULBAS (4,4,4,4) .RULCAN (4,4) .RULCAP (4,4)
COMMON /RUNLS4/ MYGRUL (4,4) .MAXRUL

DIMENSION VMTFRC (3)

Read in alternate VMT fractions.

1 F (PROMPT . EQ . 2) WR 1 TE ( 1 OUASK , 200)
200 FORMAT ('0' , 'Enter the NYCC, LA-4 and HFET trip1,

-------
                              C-76
120058
120059
120060
120061
120062
120063
120061*
120065
120066
120067
120068
120069
120070
120071
120072
120073
120071*
120075
120076
120077
120078
120079
120080
120081
120082
120083
120081*
120085
120086
120087
120088
120089
120090
120091
120092
120093
120095
120096
120097
120098
120099
120100
120101
120102
120103
120101*
120105
120106
120107
120108
120109
120110
120111
120112
120113
120111*
120115



C
C
C







C
C
C







C
C
C







C
C
C
C
C
C









C
C
C
C





           Appendix C: MOBILE!* Subroutine WTLRUL                   May  5,  1989

   *          '  length vmt fractions  (3F6.1*:1)
    READ (IOUGEN,100,END=99,ERR=99) VMTFRC
100 FORMAT(3F6.1*)

 Verify VMT fraction values and that  they sum to  1.0.

    TLSUM=0.0
    DO 10 IDC=1,3
    IF (VMTFRC(I DC).LT.0.0.OR.VMTFRC(I DC) .GT.1.0)
   *    CALL QUITER (VMTFRC(IDC),0,999,INERR)
    TLSUM=TLSUM+VMTFRC(IDC)
 10 CONTINUE
    IF (TLSUM.NE.1.0) CALL QUITER (TLSUM,0,999,INERR)

 Update the NYCC *VMT values

    TLSUM=0.0
    DO 20 ITL=1,6
    TLSUM=TLSUM+TLVMT(ITL)
 20 CONTINUE
    DO 30 ITL=1,6
    TLVMT (ITL)=TLVMT (ITL)*VMTFRC(1)/TLSUM
 30 CONTINUE

 Update the LA-1* %VMT values

    TLSUMO.O
    DO 1*0 ITL-7,12
    TLSUM=TLSUM+TLVMT(ITL)
 1*0 CONTINUE
    DO 50 ITL=7,12
    TLVMT (ITL)=TLVMT (ITL)*VMTFRC(2) /TLSUM
 50 CONTINUE

 Update the HFET *VMT value

    TLVMT(13)=VMTFRC(3)

 Calculate the weighted g/mi running  loss emissions

    DO 60 IVTL=1,1*
    DO 60 IGTL=1,MAXRUL
    DO 60 ITLT=1,1»
    DO 60 ITLR=l,i*
    RULBAS (ITLR,ITLT,IGTL,IVTL)=0.0
    DO 60 ITL=1,MAXTL
    RULBAS (ITLR,ITLT,IGTL,IVTL)=RULBAS(ITLR,ITLT,IGTL,IVTL) +
   *                        TLVMT(ITL)*TLEMI(ITL,ITLR,ITLT,IGTL,IVTL)
 60 CONTINUE

 Calculate the weighted g/mi tampered running loss emissions for
 canister disconnect  and gas cap  removal

    DO 70 ITLT=1,1»
    DO 70 ITLR=1,1*
    RULCAN( ITLR,ITLT)-0,0
    RULCAP(ITLR,ITLT)=0.0
    DO 70 ITL-1,-MAXTL

-------
                          C-77
120116
£0117
poiis
120119
120120
120121
120122
120123
RULCAN
*
RULCAP
*
70 CONTIN
C
99 RETURN
END
       Appendix C: MOBILE** Subroutine WTLRUL

RULCAN (ITLR, ITLT) «=RULCAN (ITLR, ITLT) +
                  TLVMT(ITL)*TLCAN(ITL, ITLR, ITLT)
RULCAP(ITLR,ITLT)=RULCAP(ITLR,ITLT) +
                  TLVMT(ITL)*TLCAP(ITL, ITLR, ITLT)
May 5, 1989

-------
                             C-78
          Appendix C: MOBILES Subroutine CEVTPD
                                                                                May 5, 1989
121000
121001
121002
121003
121001*
121005
121006
121007
121008
121009
121010
121011
121012
121013
1210U
121015
121016
121017
121018
121019
121020
121021
121022
121023
121021*
121025
121026
121027
121028
121029
121030
121031
121032
121033

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C
C
   SUBROUTINE CEVTPD
121035
CEVTPD calculates trips per day by the type and relative  (to  ICY) age of
the vehicle.  The formula uses the intercept and slope data of the stored
tpd on type/age regression model.  Since relative age  is  used, one set
of rates is calculated for use on all scenarios of the run.

Called by ONESEC.

Input on cal1:

  common blocks:
  /MAXIMA/ MAXVEH.MAXYRS
  /TPDCOM/ TPDCO

Output on return:

  common blocks:
  /CEVBMY/ BMYTPD

Notes:

CEVTPD was added for MOBILES.
   COMMON /CEVBMY/ BMYMPD(20,8).BMYTPD(20,8)
   COMMON /MAXIMA/ MAXVEH.MAXLTW.MAXPOL.MAXREG.MAXYRS
   COMMON /TPDCOM/ TPDCO (2,8)

   DO 10 IV=1,MAXVEH
   DO 10 JDX=1,MAXYRS
   BMYTPD (JDX, IV)=TPDCO(1, 1V) - (TPDCO (2, IV)*JDX)
10 CONTINUE

   RETURN
   END

-------
                   c-79



Appendix C: MOBILES Subroutine GETNAT
May 5, 1989
122000
4^22001
^^22002
122003
122004
122005
122006
122007
122008
122009
122010
122011
122012
122013
122014
122015
122016
122017
122018
122019
122020
122021
122022
122023
122024
122025
122026
^022028
122029
122030
122031
122032
122033
122034
122035
122036
122037
122038
122039
122040
122041
122042
122043
122044
122045
122046
122047
122048
122049
122050
122051
122052
^22053
^•2054
122055
122056
122057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C






C

C
C
C
C

C
C
C
C
C
SUBROUTINE GETNAT (INERR,*)

GETNAT reads in and processes refueling loss related HC parameters
that are to apply nationwide - that is, to all scenarios of the run.

Called by ONESEC.

Cal Is YRTEST.

1 nput on call :

common blocks:
/CITRV2/ RVP 115
/FLAGS I/ PROMPT
/FLAGS3/ RLFLAG
/IOUCOM/ IOUGEN, IOUASK
/YEARS4/ IY2020

Output on return:

parameter list: INERR
common blocks:
/RLCOM2/ IOBMY, IVOB, IS2SY.NPHASE.S2EFF

Local variable / array dictionary:

Name Type Description
LOWVYR 1 lowest allowed S2 or ob vrs installation start year
PCTEL 1 percent efficiency of S2 vrs in reducing LDGV/T refueling loss
PCTEH 1 percent efficiency of S2 vrs in reducing HDGV refueling loss

Notes:

GETNAT was added for MOBILE4.


INTEGER PROMPT, TAMFLG.SPDFLG.VMF LAG
INTEGER ATPFLG.TPDFLG.RLFLAG.TEMFLG.OUTFMT

COMMON /C 1 TRV2/ RVPHS 1 , RVPHS2 , RVPET 1 , RVPET2 , RVP090 , RVP 1 00 , RVP 1 1 5
COMMON /FLAGS1/ PROMPT, TAMFLG.SPDFLG, VMFLAG
COMMON /FLAGS3/ ATPFLG, TPDFLG, RLFLAG, LOCFLG.TEMFLG.OUTFMT
COMMON /IOUCOM/ 1 OUIMD, 1 OUGEN, 1 OUREP, IOUERR, IOUASK
COMMON /RLCOM2/ IOBMY, 1 VOB (4) , 1 S2SY.NPHASE.S2EFF (4)
COMMON /YEARS4/ 1 Y1941 , 1 Y19&0, 1 Y2020

DATA LOWVYR/ 1989/

If uncontrolled losses or no refueling losses are selected, then skip
the next section.

IF (RLFLAG. EQ.l. OR. RLFLAG. EQ. 5) GOTO 30
Vapor Recovery Systems (vrs) input parameters section:

Stage II vrs input: start year, no. of phase-in years 6 percent efficiency
for LOG & HDG are -entered.

-------
                   c-8o
Appendix C: MOBILES Subroutine GETNAT
May 5, 1989
122058
122059
122060
122061
122062
122063
122061*
122065
122066
122067
122068
122069
122070
122071
122072
122073
122071*
122075
122076
122077
122078
122079
122080
122081
122082
122083
122081*
122085
122086
122087
122088
122089
122090
122091
122092
122093
122091*
122095
122096
122097
122098
122099
122100
122101
122102
C

C





C




C





C
C
C
C
C





C

C




C
C
C

C
C
C



IF (RLFLAG.EQ.3) GOTO 10

IF (PROMPT. EQ. 2) WRITE (IOUASK.200)
200 FORMAT ('0' , 'Enter Stage II VRS parameters -'/
* ' ', 'start year, #. phase-in years, LOG 6 HDG % efficiency:')
READ (IOUGEN, 100, END=99) 1 S2SY.NPHASE , PCTEL, PCTEH
100 FORMAT(I2,1X,I 1,2(1X,F3.0))

CALL YRTEST(IS2SY, 87, LOWVYR, IY2020, INERR)
IF (NPHASE.EQ.O) CALL QUITER (0. .NPHASE ,86, 1 NERR)
1 F (PCTEL. LT. 0.0. OR. PCTEL. GT. 100.0) CALL QUITER (PCTEL, 1 ,99, 1 NERR)
IF (PCTEH. LT. 0.0. OR. PCTEH. GT. 100.0) CALL QUITER (PCTEH, 2, 99, INERR)

S2EFF (1)=PCTEL/100.
S2EFF(2)=S2EFF (1)
S2EFF (3)=S2EFF (2)
S2EFF (1*)=PCTEH/100.
IF (RLFLAG.EQ.2) GOTO 30

Users specifies onboard vrs controlled refueling losses. The user must
supply the start year for controls and which vehicle classes are to be
covered.

10 IF (PROMPT. EQ. 2) WRITE (1 OUASK, 210)
210 FORMAT ('0' ,' Enter onboard vrs first model year 6 vehicle classes',
* ' (12, IX, 411) :')
READ (IOUGEN, 110,END=99) IOBMY, 1 VOB
110 FORMAT (12, IX, 1*1 1)

CALL YRTEST( IOBMY, 87, LOWVYR, 1 Y2020, 1 NERR)

DO 20 IVTAM=1,1*
IF (IVOB(IVTAM) .LT.l.OR.IVOB(IVTAM) .GT.2)
* CALL QUITER(0., 1 VOB (IVTAM) ,81*. INERR)
20 CONTINUE

RLFLAG one-time data processing is completed.

30 RETURN

eof RETURN: ran out of input data before GETNAT call completed.

99 RETURN 1
END

-------
                                           C-81
123000
       Appendix C: MOBILE!* Subroutine RDCITY




SUBROUTINE RDCITY(INERR,*)
                                                                                 May  5,  1989
^23001
r 2 300 2
123003
123001*
123005
123006
123007
123008
123009
123010
123011
123012
123013
123011*
123015
123016
123017
123018
123019
123020
123021
123022
123023
123021*
123025
123026
1123027
^23028
123029
123030
123031
123032
123033
123031*
123035
123036
123037
123038
'123039
12301*0
12301*1
12301*2
12301*3
12301*1*
12301*5
12301*6
12301*7
123048
12301*9
123050
123051
123052
^3053
P&3054
123055
123056
123057
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c



c








c
c
c

RDCITY reads in the scenario's city specific parameters record. The fields
are: city name, minimum/maximum fuel temperatures, three types of fuel
RVP levels, in-use RVP controls start year, and fuel supply fractions of
ethanol 6 methanol blends. The methanol & ethanol fields are commented out.
The ASTM RVP is entered as a class code and RDCITY maps it to the correct
RVP level. RDCITY assigns the RVP limits based on the max and min
temperatures.

Called by ONESEC and LOCAL.

Calls QUITER.

Input on cal 1 :

common blocks:
/CITRV3/ RVPMAP.ACLASS
/FLAGS I/ PROMPT
/IOUCOM/ IOUGEN
/RVPNAT/ RVPLIM

Output on return:

common block:
/CITPAR/ SCNAME, (in-house vsn only: FRETH, FRMETH)
/CITRV1/ RVPBAS.RVPIUS.RVPAST, IUSESY
/CITRV3/ ICLASS.ASTMCL
/RVPNAT/ RVPDIU
/TEMPS/ TEMMIN.TEMMAX

Local variable / array dictionary:

Name Type Description


LOWUYR 1 lowest allowed in-use RVP controls start year
UBETH R upper bound on acceptable range of values for ethanol fraction
UBMETH R upper bound on acceptable range of values for meth. fraction

RDCITY was added for MOBILE4.
RDCITY was modified in MOBILE4.


CHARACTER*4 SCNAME
CHARACTER*! ASTMCL.ACLASS
INTEGER PROMPT, TAMFLG.SPDFLG.VMF LAG

COMMON /CITPAR/ SCNAME (4) , FRETH, FRMETH, FRGAS
COMMON /CITRV1/ RVPBAS.RVPI US, RVP AST, RVP 1 CY.RVPETH, 1 USESY.RATUNC
COMMON /C 1 TRV3/ RVPMAP (5) , RVPX (2 , 2) , 1 CLASS , ASTMCL , ACL ASS (5)
COMMON /FLAGS1/ PROMPT, TAMFLG.SPDFLG.VMFLAG
COMMON /IOUCOM/ IOUIMD, 1 OUGEN, 1 OUREP, IOUERR, 1 OUASK
COMMON /RVPNAT/ 1 CERSY.RVPCER.RVPL IM (2) ,RVPD 1 U (2) ,PFUL, E 1 NCR
COMMON /TEMPS/ AMBT.TEMMI N.TEMMAX.TEMEXH (3) .TEMEVP (6) .TEMAST (3)
COMMON /YEARS4/ 1 Y1941 , 1 Y19&0, 1 Y2020

UBMETH is 0.100001 instead of .10 due to difference between compiled
(•9999996E-01) and read in (.100000024) internal representations of .10 .

-------
                              C-82
123058
123059
123060
123061
123062
123063
12306*4
123065
123066
123067
123068
123069
123070
123071
123072
123073
123074
123075
123076
123077
123078
123079
123080
123081
123082
123083
123084
123085
123086
123087
123088
123089
123090
123091
123092
123093
123094
123095
123096
123097
123098
123099
123100
123101
123102
123103
123104
123105
123106
123107
123108
123109
123110
123111
123112
123113
123114
123115
C

C
C
C
C
C
C
C






C
C
C


C
C
C
C
C


C


C

C
C
C
C






C
C
C
C
C

C



C
C
C


C
           Appendix C: MOBILES Subroutine RDCITY                   May 5,  1989
    DATA UBETH/0.50/,UBMETH/0.100001/,LOWUYR/1970/

 Post-release in-house version will restore oxygenated fuel supply  input
 fields by appending 2 F4.2 fields after IUSESY and uncommenting  (CC to  '   ')
 the corresponding range checks in this routine and the output echo  in OUTLAP.
 The default market shares of 0.00 eliminate oxygenated fuels role  in ef
 calculation without any code change.

    IF(PROMPT.EQ.2) WRITE (IOUASK.200)
200 FORMAT ('0','Enter  scenario name,  ASTM class, min 6 max daily',
   *    '  temps, base  6 in-use RVP,  in-use start year:1)
    READ (IOUGEN,100,END=99)  (SCNAME(I),1 = 1,4) ,ASTMCL.TEMMIN.TEMMAX,
   *    RVPBAS.RVPIUS,IUSESY
100 FORMAT (4A4,1X,A1,2F5.0,2F5.1, IX,  12)

 Round the minimum and maximum temperatures to the nearest 0.1F.

    TEMMIN=FLOAT(IFIX(TEMMIN*10.+.5))/10.
    TEMMAX=FLOAT(IFIX(TEMMAX*10.+.5))/10.

 Check temperature ranges.  These bounds are for catching data entry errors
 only.  What constitutes reasonable min 6 max temperature values  depends on
 local conditions, especially AMBT.

    IF(TEMMIN.LT.O.O.OR.TEMMIN.GT.100.0)
   *    CALL QUITER(TEMMIN,1,91,INERR)

    IF (TEMMAX.LT.0.0.OR.TEMMAX.GT.120.0)
   *    CALL QUITER(TEMMAX,2,9UNERR)

    IF(TEMMAX.LT.TEMMIN) CALL QUITER (TEMMAX,0,92,INERR)

 Identify and match ASTM RVP.   If no match, assign Class C to allow  input
 processing to proceed  (EFCALX/OUTPUT will be skipped, since  INERR  > 0).

    DO 10 ICLASS=1,5
    IF (ASTMCL.EQ.ACLASS(ICLASS)) GOTO 20
 10 CONTINUE
    CALL QUITER (0.,0,94,INERR)
    ICLASS=3
 20 RVPAST=RVPMAP(ICLASS)

 Compute diurnal evap RVP  limits.   Upper bound is dependent on max  and min
 temperatures. Lower bound may also  have such dependency, so
 assignment is made here.

    RVPDIU(1)=RVPLIM(1)

    IF (TEMMIN.LE.95.)  RVPDI U (2) =26.823-0. 00478l*TEMMIN-0. 13407*TEMMAX
    IF(TEMMIN.GT.95.)  RVPDIU (2)=26.000-0.00478l*TEMMIN-0.13407*TEMMAX
    I F (RVPD I U (2) . GT. RVPL IM (2))  RVPDI  U (2) =RVPL IM (2)

 Check RVPs and re-assign  if necessary.

    IF(RVPBAS.LT.RVPLIM(1)) CALL QUITER (RVPLIM(1) ,1,90,INERR)
    IF(RVPBAS.LT.RVPLIM(1)) RVPBAS=RVPLIM(1)

-------
                   C-83



Appendix C: MOBILES Subroutine RDCITY
May 5, 1989
123H6
|23H7
§3118
123H9
123120
123121
123122
123123
123121*
123125
123126
123127
123128
123129
123130
123131
123132
123133
123131*
123135
123136
123137
123138
123139
12311*0
12311*1
123H*2


C


C


C
C
C
IF
IF

IF
IF

IF
IF

(RVPBAS
(RVPBAS

(RVPI US
(RVPI US

(RVPI US
(RVPI US

.GT.
.GT.

.LT.
.LT.

.GT.
.GT.

RVPLIM
RVPLIM

RVPLIM
RVPLIM

RVPLIM
RVPLIM

(2)
(2)

(1)
(1)

(2)
(2)

)
)

)
)

)
)

Convert in-use start year



CALL YRTEST(I
C
C
C
CC
CC
CC
CC

Check

IF
*
IF
*

blend

(FRETH.
CALL
(FRMETH
CALL


USESY,

fractions

LT.O

.O.OR.

87,

and


CALL
QUITER
RVPBAS=RVPL

CALL
RVPI

CALL
RVPI

to 1*

LOWUYR



QUITER
US=RVPL

QUITER
US=RVPL

(RVPLIM (2) ,1,90, INERR)
IM

(2)

(RVPLIM(l) ,2,90, INERR)
IM

(1)

(RVPLIM(2) ,2,90, INERR)
IM

digit no.

, IY2020


,1

assign residua


FRETH. GT.
QUITER (FRETH,
.LT.
0.0. OR
1
,93,1

UBETH)
NERR)



(2)

6 then check if in range.

NERR)

1 gasoline fraction.



. FRMETH. GT.UBMETH)
QUITER (FRMETH
f
2,93,
INERR)


FRGAS=1 .0- (FRETH+FRMETH)
C










RETURN
C
C
C


Logical end



of i


nput f


ile




occurred on





read attempt: stop the MOBILES run.


99 RETURN 1
END

-------
                   c-8i*



Appendix C: MOBILES Subroutine PARSEC
May 5, 1989
121+000
121+001
121+002
121*003
121*001*
121*005
121*006
121*007
121*008
121*009
121*010
121*01 1
121+012
121*013
121*011*
121*015
121*016
121*017
121*018
121*019
121*020
121*021
121*022
121*023
121*021*
121*025
121*026
121*027
121*028
121+029
121*030
121*031
121*032
121*033
12l*03l»
121*035
121*036
121*037
121*038
121*039
121*01*0
121*01*1
121*01*2
121*01*3
121*01*1*
121*01*5
121*01*6
121*01*7
121*01*8
121*01*9
121*050
121*051
121*052

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C

C
C
C
C
C

C
C
C
C
C

C
C
C

C
C
C

C

C
C
C
C


SUBROUTINE PARSEC (1 CY, INERR,*)

PARSEC reads in the Parameter Section variables and validates them.

Called by MAIN.

Calls GETALH, GETSC1, GETVMT and LOCAL.

1 nput on cal 1 :

parameter list: INERR
common blocks:
/FLAGS1/ VMFLAG

Output on return:

parameter list: ICY, INERR

PARSEC was modified in MOBILES to move the first scenario and BIGALH i
code into GETSC1 and GETALH, respectively.


INTEGER PROMPT, TAMFLG.SPDFLG, VMFLAG

COMMON /FLAGS1/ PROMPT, TAMFLG.SPDFLG, VMFLAG

PARSEC is called once for each scenario of the run.

Get the first required scenario record.

CALL GETSC1 (1 CY, INERR, *99)

Read in and process the second required scenario record. This record
and the parameters calculated from it supply all the local (city spec!
data needed for the current scenario.

CALL LOCAL (ICY, INERR, *99)

Check for user supplied vmt mix to be used for this scenario only.

IF (VMFLAG. EQ. 2) CALL GETVMT (1 NERR,*99)

Here read in BIGALH parameters.

CALL GETALH (INERR, *99)

RETURN

EOF on any attempted read => take alternate return 1 => run aborts.


















nput














fie)















End of run record => take alternate return => stop run (normal termination)

99 RETURN 1
END




-------
                                          C-85



                       Appendix  C: MOBILES Subroutine GETSC1
May 5, 1989
125000
^J25001
^^K5002
^^25003
125001*
125005
125006
125007
125008
125009
125010
125011
125012
125013
125011*
125015
125016
125017
125018
125019
125020
125021
125022
125023
125021*
125025
125026
^125027
^•25028
^^25029
125030
125031
1 *) Cf\ 5 T
125032
125033
125031*
125035
125036
125037
125038
125039
12501*0
12501*1
12501*2
12501*3
12501*1*
12501*5
12501*6
12501+7
12501*8
12501*9
125050
125051
125052
125053
^Ik505l«
^^5055
125056

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C

C


C









SUBROUTINE GETSC1 (1 CY, INERR,*)

GETSC1 reads in and validates the 1st required scenario parameter record

Cal led by PARSEC.

Calls FLOAT, IF IX, QUITER and YRTEST. FLOAT 6 IFIX are FORTRAN library
f unct ions.

1 nput on cal 1 :

parameter list: INERR
common blocks:
/FLAGS1/ PROMPT, SPDFLG, VMFLAG
/FLAGS2/ IMFLAG
/IMPAR2/ NUDATA
/IOUCOM/ IOUGEN, 1 OUASK
/MAXIMA/ MAXVEH
/REGION/ FEET
/YEARS!*/ IY1960, 1 Y2020

Output on return:

parameter list: ICY, INERR
common blocks:
/REGION/ IREJN.ALT
/SCENE1/ SPD, PCCN, PCHC, PCCC
/TEMPS/ AMBT
Local variable dictionary:

Name Type Description


NSPDS 1 number of speeds entered by user for current scenario:
SPDFLG = 1 => NSPDS = 1; SPDFLG = 2 => NSPDS = 8
OPCHK1 R operating modes check 1: 0.0 <= PCHC + PCCC <= 100.
OPCHK2 R operating modes check 2: 0.0 <= PCHC + PCCC - PCCN <= 100.

GETSC1 was added for MOBILE!*.
GETSC1 wneas modified in MOBILE!*. AMBT is rounded to the
nearest 0. IF .


CHARACTER*!* IMNAME

INTEGER PROMPT, TAMFLG, SPDFLG, VMFLAG
INTEGER ALHFLG

COMMON /FLAGS1/ PROMPT, TAMFLG, SPDFLG, VMFLAG
COMMON /FLAGS2/ MYMRFG.NEWFLG, IMFLAG, ALHFLG
COMMON /IMPAR2/ 1 LOT (!») , ITEST, NUDATA (2) .NONUDA.NL IM, IMNAME (20, 9)
COMMON /IOUCOM/ 1 OUIMD, IOUGEN, 1 OUREP, 1 OUERR, 1 OUASK
COMMON /MAXIMA/ MAXVEH, MAXLTW,MAXPOL,MAXREG,MAXYRS
COMMON /REGION/ FEET (2) , 1 REJN.ALT, INITPR
COMMON /SCENE1/ SPD (8) , PCCN, PCHC, PCCC
COMMON /TEMPS/ AMBT.TEMMI N,TEMMAX,TEMEXH (3) .TEMEVP (6) ,TEMAST (3)
COMMON /YEARS!*/ 1 Yigl*! , 1 Y1960, 1 Y2020
125057

-------
                              C-86
125058
125059
125060
125061
125062
125063
12506**
125065
125066
125067
125068
125069
125070
125071
125072
125073
125074
125075
125076
125077
125078
125079
125080
125081
125082
125083
125084
125085
125086
125087
125088
125089
125090
125091
125092
125093
125094
125095
125096
125097
125098
125099
125100
125101
125102
125103
125104
125105
125106
125107
125108
125109
125110
125111
125112
125113
125114
1-25115
C
C
C
C






C




C





C
C
C
C
C
C
C
C
C

C
C
C

C
C
C
C
C


C
C
C
C

C
C
C








           Appendix C: MOBILES Subroutine GETSC1

 GETSC1  is called once for each scenario of the run.

 Get the first required scenario record.

    IF (SPDFLG.EQ.2) GOTO 20
    NSPDS=1
    IF (PROMPT. EQ. 2) WRITE (IOUASK.200)
200 FORMATCO', 'Enter region, CY.SPD (1) , AMBT.PCCN.PCHC, PCCC:
    READ (IOUGEN, 100, END=99)  IREJN, ICY.SPD(l) .AMBT.PCCN, PCHC.PCCC
100 FORMAT(I1,1X,I2,5(1X,F4.1))
                                                                   May 5,  1989
                                                              ')
 10
 20
    DO 10 IV=2,MAXVEH
    SPD(IV)=SPD(1)
    CONTINUE
    GOTO 30
    NSPDS=MAXVEH
    IF (PROMPT. EQ. 2)  WRITE (IOUASK.220)
220 FORMAT('0', 'Enter region, CY.SPD (8) .AMBT.PCCN.PCHC, PCCC:  ')
    READ(IOUGEN,120,END=99)  IREJN, I CY.SPD, AMBT.PCCN, PCHC.PCCC
120 FORMAT(I 1.1X, I 2, 12 (1X.F4. 1) )

 Check for "end of run" record, a  row of 60 zeroes.  This record acts  as
 visible break between 2  input streams, providing dummy values for all  first
 scenario record fields and  leaving  the file pointer at the first record of
 the next input stream.  Multiple  input streams  in a single file or  a  set  of
 concatenated files could occur in using MOBILES as a  subroutine, for  example.
 A normal end of run also occurs,  of course, when the  first scenario record
 read encounters an end of file marker.

 30 IF (IREJN. EQ.O)  GOTO 99

 Otherwise, validate inputs.

    IF(IREJN.LT.1.0R.IREJN.GT.2)  CALL QUITER (0. , I REJN.24, I NERR)

 If high altitude run, then  hi-alt.  I /M credits must be supplied for all my.
 Can not use NONUDA, since it only checks  if at  least  one  (not necessarily
 every)   I /M credits array  is replaced by the user.

    IF (IREJN.EQ.2.AND. IMF LAG .EQ.2 . AND.NUDATA (1) .EQ.l)
   *     CALL QUITER (O.,0, 102, INERR)

 ICY read in as last 2 digits of calendar year.  Call  YRTEST  to both
 convert the value to a 4 digit year and validate the  result  is  in-range.

    CALL YRTEST (ICY, 38, IY1960, IY2020, INERR)

 Check input speed (s) .

    DO 40 IV=1,NSPDS
    IF(SPD(IV) .LE.0.0) CALL  QU ITER (SPD (I V) ,0.39, I NERR)
    IF (SPD(IV) .GT.O.O.AND.SPD(IV) .LT.2.5)
   *     CALL QUITER (SPD (IV) ,0,52, INERR)
    IF (SPD(IV) .GT.O.O.AND.SPD(IV) .LT.2.5) SPD(IV)=2.5
    IF (SPD(IV) .GT.55.0) CALL QUITER (SPD (IV) ,0,96, INERR)
    IF(SPD(IV) .GT.55-0) SPD(IV)=55-0
 40 CONTINUE

-------
                   C-8?



Appendix C: MOBILES Subroutine GETSC1
May 5, 1989
125116
^25117
^T251l8
125H9
125120
125121
125122
125123
12512**
125125
125126
125127
125128
125129
125130
125131
125132
125133
12513^
125135
125136
125137
125138
C










C
C
C

C

C
C
C



AMBT=FLOAT (1 F 1 X (AMBT*10.+.5) ) /10.
IF (AMBT.LT. 0.0. OR.AMBT.GT.110. 0) CALL QUITER (AMBT, 0,1*0, INERR)
IF (PCCN. LT. 0.0. OR. PCCN.GT. 100.0) CALL QUITER (PCCN, 0,J»1 , INERR)
IF (PCHC. LT. 0.0. OR. PCHC.GT. 100.0) CALL QUITER (PCHC,0,1»2, INERR)
IF (PCCC. LT. 0.0. OR. PCCC.GT. 100.0) CALL QUITER (PCCC, 0,1.3, INERR)
OPCHK1=PCHC+PCCC
IF (OPCHK l.LT. 0.0. OR. OPCHK1.GT. 100.0)
* CALL QUITER (OPCHK1, 0,63, INERR)
OPCHK2=OPCHK1-PCCN
IF (OPCHK2.LT. 0.0. OR. OPCHK2.GT. 100.0)
* CALL QUITER (OPCHK2, 0,6*4, INERR)

Assign altitude in feet corresponding to selected (low, high) region

ALT=FEET(IREJN)

RETURN

EOF on any attempted read => take alternate return 1 => run aborts.

99 RETURN 1
END

-------
c-l

126000
126001
126002
126003
12600*4
126005
126006
126007
126008
126009
126010
126011
126012
126013
126014
126015
126016
126017
126018
126019
126020
126021
126022
126023
126024
126025
126026
126027
126028
126029
126030
126031
126032
126033
126034
126035
126036
126037
126038
126039
126040
126041
126042
126043
126044
126045
126046
126047
126048
126049
126050
126051
126052
126053
126054
126055
126056
126057


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C







Appendix C: MOBILE4 Subroutine LOCAL May 5, 1989
SUBROUTINE LOCAL (1 CY, INERR,*)

LOCAL initializes the local (city specific) data common blocks.

Called by PARSEC.

Calls CALUDI, CALTEM, QUITER and RDCITY.

Input after call to RDCITY:

parameter 1 i st: 1 CY
common blocks:
/CITPAR/ FRETH
/CITRV1/ RVPBAS.RVPIUS.RVPAST, IUSESY
/CITRV2/ ASTRUB
/CITRV3/ 1 CLASS
/FLAGS3/ LOCFLG
/RVPNAT/ 1 CERSY , RVPCER , RVPL 1 M, RVPD 1 U , PFUL , E 1 NCR
/TEMPS/ AMBT.TEMMIN.TEMMAX.TEMEVP

Output on return:

parameter list: INERR
common blocks:
/CITCIN/ UDI,CIGAS1,CIGAS2,CIETH1,CIETH2, ICERSW
/CITRV1/ RVPICY.RVPETH.RATUNC
/CITRV2/ RVPHS
/CITRV3/ RVPX

RVPHS (2, 2) = RVPHS ( ICER, IFUEL ) = RVPHS 1 ,RVPHS2,RVPET1 ,RVPET2
ASTRUB (3) = ASTRUB ( 1 CLASS ) = RVP090.RVP100.RVP1 15

Local variable / array dictionary:

Name Type Description


RVPLOS R RVP loss due to weathering
RVPMIN R minimum RVP allowed in uncontrolled RVP adjustment calculation
RVPUNC R RVP for adjusting uncontrolled refueling loss rates for RVP
UNITY R no adjustment case (neutral multiplier = 1.0) for RATUNC

Notes:

LOCAL was added in MOBILE4.
LOCAL was modified in MOBILE4.


CHARACTERS SCNAME
CHARACTER*! ASTMCL, ACLASS
INTEGER ATPFLG.TPDFLG.RLFLAG.TEMFLG.OUTFMT

COMMON /C 1 TC 1 N/ UD 1 (5) , 1 UD I , C 1 GAS 1 , C 1 GAS2 , C 1 ETH 1 , C 1 ETH2 . 1 CERSW
COMMON /CITPAR/ SCNAME (4) , FRETH, FRMETH.FRGAS
COMMON /CITRV1/ RVPBAS, RVP 1 US, RVPAST, RVP 1 CY,RVPETH, 1 USESY, RATUNC
COMMON /CITRV2/ RVPHS (2,2) .ASTRUB (3)
COMMON /CITRV3/ RVPMAP (5) , RVPX (2,2) , 1 CLASS, ASTMCL, ACLASS (5)
COMMON /FLAGS3/ ATPFLG.TPDFLG.RLFLAG, LOCFLG, TEMFLG.OUTFMT
COMMON /RVPNAT/ 1 CERSY, RVPCER, RVPL IM (2) , RVPD 1 U (2) , PFUL, E 1 NCR

-------
                             C-89
126058
^26059
^ ^ £\r\(\r\
^^T^OUOU
126061
126062
126063
126064
126065
126066
126067
126068
126069
126070
126071
126072
126073
126074
126075
126076
126077
126078
126079
126080
126081
126082
126083
126084
^L26o85
^26086
126087
126088
126089
126090
126091
126092
126093
126094
126095
126096
126097
126098
126099
126100
126101
126102
126103
126104
126105
126106
126107
126108
126109
126110
«6lll
6112
126113
126114
126115

C
C
C
C
C
C

C
C
C
C
C

C

C
C
C
C
C




C
C
C
C
C

C

C

C


C


C
C
C
C





C
C
C
C


C
          Appendix C: MOBILES Subroutine LOCAL                     May  5,  1989

   COMMON /TEMPS/  AMBT,TEMMIN,TEMMAX,TEMEXH(3).TEMEVP (6).TEMAST (3)

   DATA RVPMIN/7-0/,UNITY/1.0/

Read in and validate the second required scenario  record, which contains
the user supplied local data, if the user has not  already provided this
information in one-time data.

   IF (LOCFLG.EQ.l) CALL RDCITY (INERR,*99)

At this point, regardless of LOCFLG, AMBT, TEMMIN  £ TEMMAX  have been read in.
Check if AMBT is within the  (TEMMIN,TEMMAX)  range  and  then  calculate
the exhaust and evaporative  temperatures.

   IF(AMBT.LT.TEMMIN.OR.AMBT.GT.TEMMAX) CALL QUITER(AMBT,0,95,INERR)

   CALL CALTEM

Set RVP related parameters.

The evaluation year affects  the RVP(s) to be used  for  this  scenario:

   IF (ICY.LT.ICERSY) ICERSW=1
   IF (ICY.GE.ICERSY) ICERSW=2
   IF (ICY.LT.IUSESY) RVPICY=RVPBAS
   IF (ICY.GE.IUSESY) RVPICY=RVPIUS

Apply weathering  to the in-use RVP. Equation uses  the  calculated  Hot
Soak temperature. Check that this weathered  RVP  is within  limits,
reset and warn if necessary.

   RVPLOS=-2.1*908+0.026196*TEMEVP(1)+0.00076898*RVPICY*TEMEVP(1)

   IF (RVPLOS.LT.0.0) RVPLOS=0.0

   RVPICY=RVPICY-RVPLOS

   IF (RVPICY.LT.RVPDIU(l))  CALL QUITER (RVPD I U (1) ,4,90, I NERR)
   IF (RVPICY.LT.RVPDIU(D)  RVPI CY=RVPD I U (1)

   IF (RVP ICY.GT.RVPD I U (2))  CALL QUITER (RVPD I U (2) ,4, 90, INERR)
   IF (RVPICY.GT.RVPDIU(2))  RVPICY=RVPDIU (2)

Calculate Uncontrolled Diurnals  (UDI) for these  conditions:
1 = FTP, 2 =  In-Use, 3 = 8AM-11AM, 4 = 10AM-3PM, 5 = 8AM-2PM

   UDI  (l)-CALUDI (ASTRUB(l) ,      60.,      84.,40.)
   UDI  (2)=CALUDI (RVPICY,    TEMMIN,   TEMMAX,PFUL)
   UDI  (3)=CALUDI (RVP ICY,TEMEVP (3) ,TEMEVP (4) ,PFUL)
   UDI  (4)=CALUDI (RVPICY,TEMEVP(4) ,   TEMMAX,PFUL)
   UDI  (5)=CALUDI (RVP ICY,TEMEVP (3) .TEMEVP (5) ,PFUL)

Calculate up to 4 indexes  for the diurnal equations, depending  on the
cert switch and the ethanol  fraction.

   CIGAS1=UDI (2)/UDI (1)
   IF(ICERSW.EQ.2) CIGAS2=UDI (2)/CALUDI (RVPCER.60.,84.,40.)

-------
                   c-go



Appendix C: MOBILES Subroutine LOCAL
May 5, 1989
126116
126117
126118
126119
126120
126121
126122
126123
126124
126125
126126
126127
126128
126129
126130
126131
126132
126133
12613^
126135
J126136
.126137
^126138
126139
1126140
126141
126142
126143
126144
126145
126146
126147
126148
126149
126150
126151
126152
126153
126154
126155
126156
126157
126158
126159
126160
126161
126162
126163
126164


C
C
C
C
C



C
C
C


C


C
C
C
C




C
C
C
C
C











C

C
C
C


IF (FRETH.EQ.0.0) GOTO 10
RVPETH=RVPICY+EINCR

Ethanol's Wade Indices will be higher than gasoline's, since it uses the
same cert RVP in the denominator calculation, but the EINCR higher base/
in-use RVP in the numerator calculation.

CIETH1=CALUDI (RVPETH.TEMMI N.TEMMAX.PFUL) /UD 1 (1)
IF (ICERSW.EQ.2) Cl ETH2=CALUDI (RVPETH.TEMMIN.TEMMAX, PFUL)
* /CALUDI (RVPCER,60.,84.,40.)

Assign the 4 hot soak RVPs (gas/meth vs ethanol X non-cert vs cert).

10 RVPHS(1,1)=RVPICY
RVPHS (2,1) =RVP 1 CY* (ASTRUB ( 1 ) /RVPCER)

RVPHS(1,2)=RVPETH
RVPHS (2,2) =RVPETH* (ASTRUB (1) /RVPCER)

Next generate the 4 RVP exhaust effect RVPs. These are the same as the 4
hot soak RVPs.

DO 20 IFUEL=1,2
DO 20 ICER=1,2
RVPX(ICER, IFUEL)=RVPHS(ICER, IFUEL)
20 CONTINUE

Compute the RVP ratio to be used to adjust uncontrolled refueling loss rates
for in-use RVP controls, if controls are in effect during ICY.
Note that RVPUNC is reset if it is out of bounds.

RATUNC=UNITY
IF(IUSESY.GT.ICY) GOTO 30
RVPUNC=ASTRUB (3) - (RVPAST-RVP 1 US)
IF (RVPUNC. LT.RVPLIM(l)) CALL QUITER (RVPL IM (1) , 3,90, INERR)
IF (RVPUNC. LT.RVPLIM(l)) RVPUNC=RVPL IM (1)
IF {RVPUNC. GT.RVPLIM(2)) CALL QUITER (RVPL IM (2) , 3,90, 1 NERR)
IF (RVPUNC. GT.RVPLIM(2)) RVPUNC=RVPL IM (2)
IF (RVPUNC. GE. ASTRUB (3)) RATUNC=UNITY
IF (RVPUNC. LE.RVPM IN) RATUNC=RVPMI N/ASTRUB (3)
1 F (RVPM 1 N . LT . RVPUNC . AND . RVPUNC . LT . ASTRUB (3) )
* RATUNC=RVPUNC/ASTRUB (3)

30 RETURN

EOF on any attempted read => take alternate return 1 => run aborts.

99 RETURN 1
END

-------
                   C-91



Appendix C: MOBILES Subroutine CALTEM
May 5, 1989
127000
|E 7 001
R7002
127003
12700*4
127005
127006
127007
127008
127009
127010
127011
127012
127013
1270U
127015
127016
127017
127018
127019
127020
127021
127022
127023
12702*4
127025
127026
K7027
^P) ~jr\ *> Q
pz /u^o
127029
127030
127031
127032
127033
12703*4
127035
127036
127037
127038
,127039
1270*40
1270*4!
1270*42
1270*43
1270*4 it
1270*45
1270*46
1270*47
1270*48
1270*49
127050
127051
127052
K7053
^705^
127055
127056
127057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C


C




C
C
C

C
C
C
C

C

C
• C
C

C
C
C
SUBROUTINE CALTEM

CALTEM calculates exhaust and evaporative temperatures.

Called by RDCITY.

Calls OUTPOL and QUITER.

Input on cal 1 :

common blocks:
/CITRV3/ (CLASS
/FLAGS3/ TEMFLG
/MAXIMA/ MAXPOL
/TEMPS/ AMBT.TEMMIN.TEMMAX

Output on return:

common block:
/TEMPS/ TEMEXH.TEMEVP.TEMAST

Notes:

CALTEM was added for MOBILE4.

Local variable / array dictionary:

Name Type Description


ITEM 1 QUITER temperature name number
TRISE R temperature rise term common to many equations


CHARACTER*! ASTMCL, ACLASS
INTEGER ATPFLG.TPDFLG.RLFLAG.TEMFLG.OUTFMT
J
COMMON /CITRV3/ RVPMAP (5) ,RVPX (2,2) , 1 CLASS, ASTMCL, ACLASS (5)
COMMON /FLAGS3/ ATPFLG.TPDFLG.RLFLAG, LOCFLG, TEMFLG, OUTFMT
COMMON /MAXIMA/ MAXVEH.MAXLTW, MAXPOL, MAXREG.MAXYRS
COMMON /TEMPS/ AMBT.TEMMI N.TEMMAX.TEMEXH (3) .TEMEVP (6) .TEMAST (3)

Determine pollutants.

CALL OUTPOL (IP! , 1 P2)

Compute the temperature rise term.
Warn user that diurnal evap efs may be inaccurate if TRISE>*40F.

TRISE=TEMMAX-TEMMIN

IF (TRISE. GT.*40.0) CALL QUITER (TRI SE, 0,98, 1 NFORM)

Compute exhaust temperature for each pollutant.

DO 30 IP=IP1, IP2

Select proper equation.


-------
                             C-92
127058
127059
127060
127061
127062
127063
127064
127065
127066
127067
127068
127069
127070
127071
127072
127073
127074
127075
127076
127077
127078
127079
127080
127081
127082
127083
127084
127085
127086
127087
127088
127089
127090
127091
127092
127093
127094
127095
127096
127097
127098
127099
127100
127101
127102
1127103
J 27 104
1127106
127107
127108
127109
127HO
127111
127112
127H3
127H4
127115

C
C
C
C

C



C

C
C
C
C

C



C

C
C
C
C

C



C
C
C

C
C
C


C

C
C
C
C


C
C
C

C
C
C

          Appendix C: MOBILES Subroutine CALTEM                   May 5,  1989

   GOTO (10,15.20),IP

Calculate HC exhaust temperature  if TEMFLG=1, otherwise
use the ambient temperature.

10 TEMEXH (IP)=AMBT

   IF(TEMFLG.EQ.l)
  *   TEMEXH(IP) =2.2857+0.97674*TEMMIN+0.56881*TRISE
  *             +0.002l*61*2*TEMMIN*TR|SE

   GOTO 25

Calculate CO exhaust temperature  if TEMFLG=1, otherwise
use the ambient temperature.

15 TEMEXH(IP)=AMBT

   IF (TEMFLG.EQ.l)
  *   TEMEXH(I P) =2.2857+0.97674*TEMMIN+0.56881 *TR I SE
  *             +0.0024642*TEMMIN*TRISE

   GOTO 25

Calculate NOx exhaust temperature  if TEMFLG=1, otherwise
use the ambient temperature.

20 TEMEXH(IP)=AMBT

   IF(TEMFLG.EQ.l)
  *   TEMEXH (IP)=2.2857+0.97674*TEMMIN+0.5688l*TRISE
  *             +0.002i*61t2*TEMMIN*TRISE

Round the exhaust temperature to  the nearest  0.1F.

25 TEMEXH (IP)=FLOAT (IF IX (TEMEXH(IP)*10.+.5))/10.

Check to see if TEMMIN<=TEMEXH<=TEMMAX.

   IF(TEMEXH(IP) .LT.TEMMIN.OR.TEMEXH(IP) .GT.TEMMAX)
  *   CALL QUITER (TEMEXH(IP),2,111,INERR)

30 CONTINUE

Generate the 3 RVP exhaust  cf temperatures.   These  are  the  same  as  the  3
exhaust TCF  temperatures.

   DO 1*0 IP=IP1,IP2
   TEMAST(IP)=TEMEXH(IP)
kO CONTINUE

Compute evaporative  temperature  for  each evap case.

   DO 80 IHRD=1,6

Select proper equation.

   GOTO (45,50,55,60,65,70) JHRD

-------
                             C-93
127116
|27H7
P&7H8
127119
127120
127121
127122
127123
12712*
127125
127126
127127
127128
127129
127130
127131
127132
127133
12713*
127135
127136
127137
127138
127139
1271*0
1271*1
1271*2
127143
•7144
127145
1271*6
1271*7
1271*8
1271*9
127150
127151
127152
127153
12715*
127155
127156
127157
127158
127159
127160 .
127161
127162
127163
127164
127165
127166
127167
127168
127169
P7170
127171
127172
127173
C
C
C
C

C



C

C
C
C
C

C



C

C
C
C
C

C

C
C
C
C

C

C
C
C
C

C

C
C
C

C

C
C
C

C
C
C

C
          Appendix C:  MOBILE** Subroutine CALTEM


Calculate the hot soak temperature if TEMFLG=1 and TEMMAX is
at or above 40F, otherwise use the ambient temperature.

*5 TEMEVP (IHRD)=AMBT

   IF (TEMFLG.EQ. LAND.TEMMAX.GE. 1*0.)
  *   TEMEVP(IHRD)=-1.7*7*+1.0290*TEMMIN+0.99202*TRISE
  *               -0.0025173*TEMMIN*TRISE

   GOTO 75

Calculate running loss temperature if TEMFLG=1 and TEMMAX is
at or above kOf, otherwise use the ambient temperature.

50 TEMEVP(IHRD)=AMBT

   IF(TEMFLG.EQ.l.AND.TEMMAX.GE.40.)
  *   TEMEVP (IHRD)=-1.1977+1.0205*TEMMIN+1.0l8l*TRISE
  *               -0.0023797*TEMMIN*TRISE

   GOTO 75

Calculate 8 AM diurnal tank temperature.
Tank temperature lags ambient temperature by about 1 hour.

55 TEMEVP (IHRD)=TEMMIN+0.35*TRISE

   GOTO 75

Calculate  10-11  AM diurnal tank temperature.
Tank temperature lags ambient temperature by about 1 hour.

60 TEMEVP (IHRD)=TEMMIN+0.71*TRISE

   GOTO 75

Calculate 2 PM diurnal tank temperature.
Tank temperature lags ambient temperature by about 1 hour.

65 TEMEVP(IHRD)=TEMMIN+0.94*TRISE

   GOTO 75

Calculate daily diurnal temperature.

70 TEMEVP(IHRD)=TRISE

   GOTO 80

Round the evaporative temperature to the nearest 0.1F.

75 TEMEVP(IHRD)=FLOAT(IFIX(TEMEVP(IHRD)*10.+.5))/10.

Check to see  if  TEMMAX<=TEMEVP<=TEMMAX.

   ITEM=2+IHRD
May 5, 1989

-------
12717**
127175
127176
127177
127178
127179
127180
127181
127182
127183
127184
127185
127186
127187
127188
127189


C

C
C
C
C





C


          Appendix C: MOBILES Subroutine CALTEM                    May  5,  1989

   IF(TEMEVP(IHRD) .LT.TEMMIN.OR.TEMEVP(IHRD).GT.TEMMAX)
  *   CALL QUITER(TEMEVP(IHRD).ITEM,111,INERR)

80 CONTINUE

If any evap temperature  is 40F or  less, or  if minimum  temp  is  25F
or less, warn the user that no evap  calculations will  occur.

   IF(TEMMAX   .LE.JtO.O  .OR.
  *   AMBT     .LE.J*O.O.AND.TEMFLG.EQ.2  .OR.
  *   TEMEVP(l) .LE.JtO.O  .OR.
  *   TEMEVP(2) .LE.40.0  .OR.
  *   TEMMIN   .LE.25.0) CALL QUITER (0.,0,83,INFORM)

   RETURN
   END

-------
                   C-95



Appendix C: MOBILES Function CALUDI
May 5, 1989
128000
K8001
8002
128003
128004
128005
128006
128007
128008
128009
128010
128011
128012
128013
128014
128015
128016
128017
128018
128019
128020
128021
128022
128023
128024
128025
128026
^8027
P8028
128029
128030
128031
128032
128033
128034
128035
128036
128037
128038
128039
128040
128041
128042
128043
128044
128045
128046
128047
128048
128049
128050
128051
128052
K8053
•8054
128055
128056
128057
FUNCTION CALUDI (RVPW.TMI N.TMAX, F 1 LLED)
C
C CALUDI uses passed in fuel RVP levels, minimum and maximum fuel tank



C temperatures and fleet average percent of fuel tank filled to estimate
C an Uncontrolled Diurnal emission rate.
C
C Cal led by LOCAL
C
C Cal Is QUITER.
C
C 1 nput on cal 1 :
C
C parameter list:
C RVPW, TMIN.TMAX, FILLED
C
C common blocks:
C /REGION/ IREJN
C
C Output on return:
C
C function: CALUDI
C
C Local array subscripts :
C
C AIRPRE (2) - AIRPRE ( IREJN )
C FUELT(2) - FUELT ( JV )
C VAPOR (2) - VAPOR ( JV )
C
C Local variable / array dictionary:
C
C Name Type Description

C _______ ____ ___ 	 	 	 	 	 _
______ ____ _________ — ____________ — ______________________ 	 _
C A R coefficient used to calculate VAPOR(I)
C AIRPRE R air pressure
C A100 R coefficient used to calculate A
C C R constant, used to calculate A100
C DENSTY R fuel density, a function of RVPW
C FILLED R percent of fuel tank filled
C FUELT R incremental fuel tank temperature in degrees Fahrenheit
C GTP R grams of HC loss for temperature pair FUELT




































C PI R Greek pi = ratio of circumference of a circle to its diameter
C Used in computing X.

C RVPW R fuel RVPs used to compute the components of the Wade Index
C TMAX R maximum temperature
C TMIN R minimum temperature
C TP1 R first coefficient for Wade equation
C TP2 R second coefficient for Wade equation
C TP3 R third coefficient for Wade equation
C UDISUM R incremental and, eventually, total Uncontrolled Diurnal
C VAPOR R vapor pressure at FUELT (2 temperatures, 1 degree apart)
C VP100 R vapor pressure at 100F, a function of RVPW
C VSPACE R vapor space in cubic feet, a function of FILLED
C WMOLEC R molecular weight, a function of RVPW and fuel temp
C X R coefficient used to calculate A100, a function of VP100
C
C Notes:
C
C CALUDI is the sum of HC loss at each fuel temperature increment under





rate








the

-------
                             C-96
128058
128059
128060
128061
128062
128063
128064
128065
128066
128067
128068
128069
128070
128071
128072
128073
128074
128075
128076
128077
128078
128079
128080
128081
128082
128083
128084
128085
128086
128087
128088
128089
128090
128091
128092
128093
128094
128095
128096
128097
128098
128099
128100
128101
128102
128103
128104
128105
128106
128107
128108
128109
128110
128111
128112
128113
128114
128115
C
C
C
C
C

C

C

C

C
C
C
C
C
C
C
C

C
C
C

C
C
C


C
C
C





C



C




C
C
C


C
C
C

C
C
          Appendix C: MOBILES Function CALUDI                     May 5,  1989

input conditions.

CALUDI  was added for MOBILES  (code originally from CALIND)


   COMMON /REGION/ FEET (2),IREJN,ALT,INITPR

   DIMENSION AIRPRE(2) ,FUELT(2) ,VAPOR(2)

   DATA AIRPRE/14.696.12.5/.PI/3.14159/

   UDISUM=0.0

To calculate the CALUDI  value, first compute several parameters and  then
move stepwise through the fuel tank temperature range, adding each
degree difference pair's contribution to the sum UDI of the grams HC
loss over the entire range.

Calculate fuel density  for  given RVPW.

   DENSTY=6.4-0.01977*RVPW

 Calculate vapor space  under given percent of fuel tank filled.

   VSPACE=2.4062-0.02139*FILLED

Calculate vapor pressure at  100  (VP100)  for given RVPW.

   VP100=1.0223*RVPW
  *    + (0.0357*RVPW)/(1.0-0.0368*RVPW)

Calculate A100 according to VP100.

   IF (VP100.LT.il*. 18) GOTO  10
   C=80.86l
   X=0.11*COS((k.0*VP100-9.0) *P 1/14.0)
  *  +5.4*ALOG(VP100)
   GOTO 20

10 C=66.56l
   X=0.12*COS((VP100-6.0)*PIA.0)
  * -0.21 *S IN (2 . 0*P I /?. 5* (VP 100-4. 0))

20 A100=C-12.822*VP100
  *      -H .3291*VP100**2
  *      -0.07991*VP100**3
  *      +1 .9017E-03*VP100**4-X

Initialize fuel tank temperature pair.

   FUELT(1)=TMIN
   FUELT(2)=FUELT(1) + 1.0

Iteration starts here.

30 CONTINUE

Calculate molecular weight.

-------
                             c-97
128116
|28117
1^8118
128119
128120
128121
128122
128123
128124
128125
128126
128127
128128
128129
128130
128131
128132
128133
128134
128135
128136
128137
128138
128139
128140
128141
128142
» 28143
28144
128145
128146
128147
128148
128149
128150
128151
128152
128153
128154
128155
128156
128157
C


C
C
C



C
C
C
C
C

C






C
C
C






C

C



C

C


          Appendix C: MOBILES Function CALUDI                     May 5,  1989
   WMOLEC-69.69-1 .274*RVPW
  *         +0.059*(FUELT(1)+FUELT(2))/2.0

Calculate vapor pressures.

   DO 40 JV=1,2
   A=A100+ (100.0-FUELT (JV))
  *      *( (262.0/ (A 100/6.0+560.0))-0.01328)

pass JV's A  < 0.0  =>  CALUDI < 0.0  =>  diurnal evap < 0.0  =>   fatal  error
Technically, high RVPW  (in A100) and high temperature  (in  FUELT(JV)) does  not
make sense anyway: the gas tank would blow up.

   IF (A.LT.0.0) CALL QUITER(A,JV.97,INERR)

   VAPOR (JV)=14.696
  *        -0.53059*A
  *        +7.696lE-03*A**2
  *        -5-4907E-05*A**3
  *        +1.7044E-07*A**4
40 CONTINUE

Apply Wade equation.

   TP1=VSPACE*118040.0*DENSTY/(690.0-4.0*WMOLEC)
   TP2=VAPOR(1)/(A IRPRE(I REJN) -VAPOR(1))
  *   +VAPOR(2)/(AIRPRE (I RE JN)-VAPOR (2))
   TP3=(AIRPRE (IREJN)-VAPOR(1))/(FUELT(1)+460.0)
  *   -(A I RPRE (IREJN)-VAPOR(2))/(FUELT(2)+460.0)
   GTP=TP1*TP2*TP3

   UDISUM=UDISUM+GTP

   FUELT(1)=FUELT(1)+1.0
   FUELT(2)=FUELT(2) + 1.0
   IF (FUELT(2) .LE.TMAX) GOTO  30

   CALUDI=UDISUM

   RETURN
   END

-------
                              C-98
129000
129001
129002
129003
129001*
129005
129006
129007
129008
129009
129010
129011
129012
129013
129014
129015
129016
129017
129018
129019
129020
129021
129022
129023
129021*
129025
129026
129027
129028
129029
129030
129031
129032
129033
129034
129035
129036
129037
129038
129039
129040
129041
129042
129043
129044
129045
129046
129047
129048
129049
129050
129051
1 29052
129053
129054
129055
129056
129057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C





C
C
C
C
C


C
C
C
C


C




C




           Appendix C:  MOBILES Subroutine GETALH

    SUBROUTINE GETALH (I NERR,*)
May 5, 1989
 GETALH reads in and validates the optional correction factors (BIGALH)
 parameters record.

 Called by PARSEC.

 CalIs QUITER and YRTEST.

 Input on cal1:

   parameter list: INERR
   common blocks:
   /FLAGS1/ PROMPT
   /FLAGS2/ ALHFLG
   /IOUCOM/  IOUGEN,IOUASK
   /MAXIMA/ MAXLTW

 Output on return:

   parameter list: INERR
   common blocks:
   /ALUHIN/ AC,XLOAD,TRAILR,ABSHUM,DB,WB

 GETALH was added for MOBILE4.
    INTEGER PROMPT,TAMFLG.SPDFLG,VMFLAG
    INTEGER ALHFLG

    COMMON /ALUHIN/ AC.XLOAD (3),TRAILR (3),ABSHUM,DB.WB
    COMMON /FLAGS1/ PROMPT,TAMFLG.SPDFLG,VMFLAG
    COMMON /FLAGS2/ MYMRFG.NEWFLG,IMFLAG,ALHFLG
    COMMON /IOUCOM/ IOUIMD,IOUGEN,IOUREP,IOUERR, IOUASK
    COMMON /MAXIMA/ MAXVEH,MAXLTW,MAXPOL.MAXREG.MAXYRS

 GETALH is called once for each scenario of the run.

 Assign db/wb default temperatures for a/c usage (90% for defaults).

    DB=85.
    WB-75-

 Read in BIGCFX parameters only if user flags their presence with ALHFLG.
 ALHFLG also determines the choice of  inputs and the corresponding format,

    IF (ALHFLG.EQ.l) GOTO 50
    IF (ALHFLG.EQ.3) GOTO 20

    IF (PROMPT.EQ.2) WRITE (IOUASK,200)
200 FORMAT ('O1,'Enter AC.XLOAD (3),TRAILR (1).ABSHUM1)
    READ (IOUGEN,100,END=99) AC.XLOAD.TRAILR (1),ABSHUM
100 FORMAT (5F4.3,F4.1)

    DO 10 IVP=2,MAXLTW
    TRAILR(IVP)=TRAILR(1)
 10 CONTINUE
    GOTO 30

-------
                                           C-99
129058
 ?9059
 59060
129061
129062
129063
12906*4
129065
129066
129067
129068
129069
129070
129071
129072
129073
129071*
129075
129076
129077
129078
129079
129080
129081
129082
129083
  9085
  9086
129087
                        Appendix C: MOBILES Subroutine  GETALH                    May 5,  1989
   20 IF(PROMPT.EQ.2) WRITE(IOUASK,210)
  210 FORMATCO' , 'Enter AC,XLOAD(3) ,TRAILR(3) , ABSHUM, DBTEMP.WBTEMP')
      READ (IOUGEN,110,END=99) AC,XLOAD,TRAILR,ABSHUM,DB.WB
  110 FORMAT (7F1*.3, 3F14.1)
C
C  Validate  inputs for BIGALH.
C
   30 IF(AC.LT.O.O.OR.AC.GT.l.)  CALL  QUITER (AC.O.U, I NERR)
      IF (AC.GT.0.0) CALL QUITER (0.,0,56,INERR)
C
      DO 1*0  IVP=1,MAXLTW
      IF (XLOAD(IVP) .LT.O.O.OR.XLOAD(IVP) .GT.l.)
     *   CALL QUITER (XLOAD(IVP) ,0,145, INERR)
      IF (TRAILR(IVP).LT.O.O.OR.TRAILR(IVP).GT.l.)
     *   CALL QUITER(TRAILR(IVP) ,0,1*6,INERR)
   1*0 CONTINUE
C
      IF (ABSHUM. LT. 20.0.OR. ABSHUM. GT.l 1*0.0)
     *    CALL QUITER (ABSHUM,0,147, INERR)
C
      IF (DB.LT.0.0.OR.DB.GT.110.0)  CALL  QUITER (DB,0,1*0, INERR)
      IF (WB.LT.0.0.OR.WB.GT.110.0)  CALL  QUITER (WB, 0,1*0, INERR)
      IF(WB.GT.DB) CALL QUITER (0.,0,57,INERR)
   50 RETURN
C
C  EOF on any attempted read =>  take  alternate return 1  => run aborts.
C
   99 RETURN 1
      END

-------
                   C-100
Appendix C: MOBILES Subroutine REGMOD
May 5, 1989
130000
130001
130002
130003
130001*
130005
130006
130007
130008
130009
130010
130011
130012
130013
130011*
130015
130016
130017
130018
130019
130020
130021
130022
130023
130021*
130025
130026
130027
130028
130029
130030
130031
130032
1 3Oft 3 *5
130031*
130035
130036
130037
130038
130039
13001*0
13001*1
13001*2
13001*3
13001*1*
13001*5
13001*6
13001*7
130048
13001*9
1 30050
1 3005 1
130052
130053
130051*
1 30055
130056
130057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

SUBROUTINE REGMOD (1 CY, 1 NERR)

REGMOD adjusts model year mileage/registration arrays.

Called by MAIN.

Calls CEVMPD.HDDMYM, IGSFPT and TFCALX.

1 nput on cal 1 :

parameter list: ICY.INERR
common blocks:
/FLAGS2/ MYMRFG
/GSFCOM/ GSFRAC
/MAXIMA/ MAXVEH.MAXYRS
/MYRSAV/ AMAR.JULMYR
/REGION/ IREJN

Output on return:

parameter list: INERR
common blocks:
/MYRCAL/ XMYM.JANMYR.TFMYM
/REGISF/ GSFVCT

Local array subscripts:

CUM (20) - CUM ( JDX )
DAF (8) - DAF ( IV )

Local variable / array dictionary:

Name Type Description

CUM R cumulative mileage distribution as of January 1
DAF R unnormalized sum by IV of registrations across my ' s
(acronym is from ef derivation document)
FRC R fraction of January 1 registrations in current year JDX
which are in their JDX'th year of operation
FRN R fraction of January 1 registrations in current year JDX
which are in their JDX-l'th year of operation (1 year newer)
GSFIDX R gas/diesel sales fraction (GSF) for MY IDX, given IV 6 IREJN;
used to extract IV's share of pairwise registration sum
AMC R mileage accrual rate for vehicle of type IV in its JDX'th
year of operation
AMN R mileage accrual rate for vehicle of type IV in its JDX-lth
year of operation (a vehicle in JDX-1 is 1 year "newer" than
a JDX year old vehicle)
MY 1 see parameter dictionary
SUMLDV R LDV DAF ' s combined (both gas 6 diesel registrations)
SUMLDT R LOT DAF ' s combined (both gas 6 diesel registrations)

Notes:

none


INTEGER ALHFLG

-------
                             C-101
130058
A130059
^•30060
130061
130062
130063
130064
130065
130066
130067
130068
130069
130070
130071
130072
130073
130074
130075
130076
130077
130078
130079
130080
130081
130082
130083
130084
^^30085
^•30086
130087
130088
130089
130090
130091
130092
130093
130094
130095
130096
130097
130098
130099
130100
130101
130102
130103
130104
130105
130106
130107
130108
130109
130110
^^30 1 1 1
^B0112
^i 30 1 1 3

C







C


C
C
C

C
C
C
C
C




C
C
C
C
C



C
C
C








C
C
C
C
C
C
C
C
          Appendix C: MOBILE** Subroutine REGMOD                    May 5,  1989

   INTEGER ATPFLG.TPDFLG.RLFLAG.TEMFLG.OUTFMT
   REAL JULMYR.JANMYR

   COMMON /FLAGS2/ MYMRFG.NEWFLG,IMFLAG, ALHFLG
   COMMON /FLAGS3/ ATPFLG.TPDFLG.RLFLAG,LOCFLG.TEMFLG.OUTFMT
   COMMON /GSFCOM/ MAXGSF.GSFRAC (22,8,2).MYGSF(22,8,2)
   COMMON /MAXIMA/ MAXVEH,MAXLTW,MAXPOL,MAXREG,MAXYRS
   COMMON /MYRCAL/ XMYM(20,8) ,JANMYR(20,8) ,TF(20,8) .TFMYM (20,8)
   COMMON /MYRSAV/ AMAR(20,8),JULMYR(20,8).NEWCUM
   COMMON /REGION/ FEET (2) ,IREJN,ALT,INITPR
   COMMON /REGISF/ GSFVCT(8)

   DIMENSION CUM (20),DAF (8)
   REAL AMC.AMN

Compute January  1 registration distributions, JANMYR.

   DO 20 IV=1,MAXVEH

Step 1: for each model year of each vehicle  type,  select and  apply the
        corresponding GSF to the  (gas 6 diesel combined) July 1
        regi strat ions.

   DO 10 JDX=1,MAXYRS
   MY=ICY-JDX-H
   IGS=IGSFPT(MY, IV)
   GSFIDX=GSFRAC(IGS,IV,IREJN)
   JANMYR (JDX, IV)=GSFIDX*JULMYR(JDX, IV)
10 CONTINUE
Step 2: backup ICY's registrations from 7/1
        LDV/T => my starts 10/1 prior yr
        HDV 6 MC => my starts  1/1 =>  1/1
                                                          to  1/1  -
                                                       => 1/1 sales
                                                       sales  are  0.
are 1/3 of 7/1 sales.
20
                 JANMYR (1, IV)=JANMYR(l,IV)/3.
                 IF (iv.EQ.4.0R.iv.GE.7) JANMYR(i, iv)=o.o
                 CONTINUE
Step 3: normalize JANMYR.

   DO 40 IV=1,MAXVEH
   DAF (IV) =0.0
   DO 30 JDX=1,MAXYRS
   DAF (IV) =DAF (IV) +JANMYR (JDX, IV)
30 CONTINUE
   DO 40 JDX=1,MAXYRS
   IF (DAF (IV) .GT.0.0) JANMYR (JDX, IV)'
40 CONTINUE
                                                   =JANMYR (JDX, IV)/DAF (IV)
130114
1.30115
Given DAF  (JAN 1 unnormalized total  (MAXYRS my's  combined)  registrations),
calculate the  /  (gas + diesel)  fractions  for LDV & LOT.
HDV & MC are assigned unity, since there  is no combined  gas + diesel
number in VCOUNT in TFCALX  to split by  fuel type  fraction for these
vehicle types.  An attempt was made to  model  the  HDV gas vs diesel  sales,
but the results proved unsatisfactory.

   SUMLDV=DAF (D+DAF (5)
   SUMLDT=DAF (2)+DAF (6)

-------
130116
130117
130118
130119
130120
130121
130122
130123
130124
130125
130126
130127
130128
130129
130130
130131
130132
130133
130134
130135
130136
130137
130138
130139
130140
130141
130142
130144
130145
130146
130147
130148
130149
130150
130151
130152
130153
130154
130155
130156
130157
130158
130159
130160
130161
130162
130163
130164
130165
130166
130167
130168
130169
130170
130171
130172
130173
C








C
c
C
c
c
c

c
c
c








c






c
c
c
c




c
c
c







c



c
                             C-102

          Appendix C: MOBILES Subroutine REGMOD                   May 5,  1989
   GSFVCT(1)=DAF (D/SUMLDV
   GSFVCT(2)=DAF (2)/SUMLDT
   GSFVCT(3) = 1.
   GSFVCT (4)=1.
   GSFVCT (5)=DAF(5)/SUMLDV
   GSFVCT(6)=DAF(6)/SUMLDT
   GSFVCT (7)=1.
   GSFVCT (8)=1.

Generate the mileage accrual rates.

If MOBILES defaults used, determine the HDDV calendar year mileage
by registration weighting. Otherwise, use user  input mileage.

   IF(MYMRFG.EQ.1.0R.MYMRFG.EQ.3) CALL HDDMYM(ICY)

Compute the annual mileage / 100,000  distributions, XMYM.

   DO 60 IV=1,MAXVEH
   FRC=.25
   IF (IV.EQ.4.0R.IV.EQ.7.0R.IV.EQ.8) FRC=0.0
   FRN=1,-FRC
   AMN=AMAR(1,  IV)
   AMC=AMAR(2,  IV)
   CUM(1)=.5*FRC*AMN
   CUM(2) =FRC*(-5*FRC*AMC+AMN)+FRN* ((1.+FRC)*.5*AMN)
   AMC=AMC+AMN

   DO 50 JDX=3,MAXYRS
   CUM(JDX)=FRC*(.5*FRC*AMAR(JDX,IV)+AMC)+FRN*(.5*(1.+FRC)
  *   *AMAR(JDX-1, IV)+AMN)
   AMN-AMC
   AMC=AMC+AMAR(JDX, IV)
50 CONTINUE

Subroutine GETCUM produces the cumulative mileage partial  sums  array,
CUMMIL, from XMYM.

   XMYM(1, IV)=CUM(1)
   DO 60 JDX=2,MAXYRS
   XMYM(JDX, IV)=CUM(JDX) -CUM(JDX-l)
60 CONTINUE

Now figure the January  1 model year mileage accumulation  rates,  TFMYM.

   DO 80 IV=1,MAXVEH
   FRC=.25
   TFMYM (1, I V)=AMAR (1,1V)
   IF(IV.NE.J».AND.IV.NE.7.AND.IV.NE.8) GOTO 70
   FRC=0.0
   TFMYM (1, IV) =0.0
70 FRN-l.-FRC

   DO 80 JDX=2,MAXYRS
   TFMYM (JDX,IV) =AMAR(JDX-1,IV)*FRN+AMAR(JDX,IV)*FRC
80 CONTINUE

-------
                                           c-103

                        Appendix C:  MOBILES Subroutine REGMOD                   May 5, 1989

13017**     C  Use TFMYM to generate  miles per day by model year group.
 J0175     C
 J0176           CALL CEVMPD
130177     c
130178     C  Use JANMYR,  TFMYM, and GSFVCT to generate the vmt mix and travel fractions.
130179     C
130180           CALL TFCALX(INERR)
130181     c
130182           RETURN
130183           END

-------
131000
131001
131002
131003
131004
131005
131006
131007
131008
131009
131010
131011
131012
131013
1310U
131015
131016
131017
131018
131019
131020
131021
131022
131023
131024
131025
131026
131027
131028
131029
131030
131031
131032
131033
131034
131035
131036
131037
131038
131039
131040
131041
131042
131043
131044
131045
131046
131047
131048
131049
131050

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C



C

C
C
C
C



C
C
C






C
C
C



                             C-104

          Appendix C: MOBILES Subroutine  HDDMYM                    May 5,  1989

   SUBROUTINE HDDMYM (ICY)

HDDMYM computes annual weighted calendar  year mileage  for  HDDV.

Called by REGMOD.

Input on cal1:

  parameter  list:  ICY
  common blocks:
  /HDDMAR/ LHDVM.MHDVM.HHDVM
  /HDDREG/ LHDRG,MHDRG,HHDRG

Output on return:

  common block: /MYRSAV/ AMAR.NEWCUM

Notes:

none


   REAL JULMYR

   COMMON /HDDMAR/ C2BDVM (20) .LHDVM (20),MHDVM(20) .HHDVM(20)
   COMMON /HDDREG/ C2BDRG (21),LHDRG (21),MHDRG(21) ,HHDRG(21)
   COMMON /MYRSAV/ AMAR (20,8),JULMYR (20,8).NEWCUM

   REAL LHDVM.MHDVM.HHDVM,LHDRG,MHDRG,HHDRG

Determine pointer  KDX.  KDX=1 for  ig80-,  2  for  198l,
3 for 1982	21  for 2000+.

   KDX=ICY-1979
   IF(KDX.LT.l) KDX=1
   IF (KDX.GT.21) KDX=21
                                                •«
Compute registration weighted annual  mileage distribution  for HDDV.

   DO 10 JDX=1,20
   AMAR(JDX,7) = (C2BDRG(KDX)*C2BDVM(JDX) +
  *   LHDRG(KDX) *LHDVM(JDX)+MHDRG (KDX)*MHDVM(JDX) +
  *   HHDRG(KDX)*HHDVM (JDX))/ (C2BDRG (KDX)+LHDRG (KDX) +
  *   MHDRG (KDX)+HHDRG (KDX))
10 CONTINUE

Set flag so  that model year mileage  is recalculated in EFCALX.

   NEWCUM=1
   RETURN
   END

-------
                             c-ios

          Appendix C: MOBILES Subroutine CEVMPD
May 5, 1989
132000
^^2001
1^32002
132003
13200U
132005
132006
132007
132008
132009
132010
132011
132012
132013
1320U
132015
132016
132017
132018
132019
132020
132021
132022
132023
132021*
132025
132026
•32027
32028
132029
132030
132031
132032
132033
132031*
132035
132036
132037
132038

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C




C




C


   SUBROUTINE CEVMPD
CEVMPD calculates miles per day by the type and relative  (to  ICY)  age  of
the vehicle.  The formula uses the REGMOD computed TFMYM  (January  1
mileage accumulation rates).  As with TYMYM and BMYTPD, one set
of rates is calculated for use on all scenarios of the  run.

Called by REGMOD.

Input on cal1:

  common blocks:
  /MAXIMA/ MAXVEH.MAXYRS
  /MYRCAL/ TFMYM

Output on return:

  common blocks:
  /CEVBMY/ BMYMPD

Notes:

CEVMPD was added for MOBILES.
   REAL JANMYR

  - COMMON /CEVBMY/ BMYMPD (20,8),BMYTPD(20,8)
   COMMON /MAXIMA/ MAXVEH,MAXLTW,MAXPOL,MAXREG,MAXYRS
   COMMON /MYRCAL/ XMYM(20,8),JANMYR(20,8) ,TF(20,8) ,TFMYM(20,8)
   COMMON /TPDCOM/ TPDCO(2,8)

   DO 10  IV=1,MAXVEH
   DO 10 JDX=1,MAXYRS
   BMYMPD (JDX, I V) = (TFMYM (JDX, I V)*l00000)/365-
10 CONTINUE

   RETURN
   END

-------
                   C-106
Appendix C: MOBILE** Subroutine TFCALX
May 5, 1989
133000
133001
133002
133003
133001*
133005
133006
133007
133008
133009
133010
133011
133012
133013
1330U
133015
133016
133017
133018
133019
133020
133021
133022
133023
133021*
133025
133026
133027
133028
133029
133030
1 53117 1
1 JjlO 1
133032
133033
133034
133035
133036
133037
133038
133039
13301»0
13301*1
133042
13301*3
13301*4
13301*5
13301*6
13301*7
13301*8
13301*9
133050
133051
133052
133053
133054
133055
133056
133057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C


C





C

C

SUBROUTINE TFCALX (1 NERR)

TFCALX computes the travel fractions, VMT mix, and registration mix.

Called by REGMOD.

Cal Is QUITER.

Input on cal 1 :

parameter list: INERR
common blocks:
/FLAGS1/ VMFLAG
/MAXIMA/ MAXVEH.MAXYRS
/MYRCAL/ JANMYR, TFMYM
/REGISF/ GSFVCT

Output on return:

parameter list: INERR
common blocks:
/MYRCAL/ TF
/VMXCOM/ REGMIX.TFNORM.VMTMIX

Local array subscripts:

VCOUNT(8) - VCOUNT ( IV )

Local variable / array dictionary:

Name Type Description


TOTREG R total registrations: used to normalize the registration
TOTVMT R total vmt: used to normalize the default vmt mix
VCOUNT R vehicle count by IV class, scaled by / 10**5; the counts
from 1986/82 (car/truck) registration data. Note LDGV 6
counts are the identical sum of their registrations and
with LDGT1 6 LDDT. Hence, MOBILEl* needs GSFVCT to split
sums properly. For the other IV, GSFVCT is 1.0 and has
effects.

Notes:

VCOUNT was modified for MOB 1 LEA.


INTEGER PROMPT, TAMFLG.SPDFLG, VMFLAG
REAL JANMYR

COMMON /FLAGS1/ PROMPT, TAMFLG.SPDFLG, VMFLAG
COMMON /MAXIMA/ MAXVEH,MAXLTW,MAXPOL,MAXREG,MAXYRS
COMMON /MYRCAL/ XMYM (20,8) , JANMYR (20,8) ,TF (20,8) .TFMYM (20,8)
COMMON /REGISF/ GSFVCT (8)
COMMON /VMXCOM/ REGMI X (8) .TFNORM (8) , VMTMIX (8)

DIMENSION VCOUNT (8)

DATA VCOUNT/ 1 1 7 . 268 , 1 8 . 634 , 1 1 . 5 1 8 , 1 . 854 , 1 1 7 . 268 , 1 8 . 631* , 1 . 30 1 ,

































mix

come
LDDV
ditto
the
no




















-------
                                           c-107

                        Appendix C: MOBILE4 Subroutine TFCALX
                                                                      May 5,  1989
133058
  3059
  3060
133061
133062
133063
133064
133065
133066
133067
133068
133069
133070
133071
133072
133073
133074
133075
133076
133077
133078
133079
133080
133081
133082
133083
133084
  3085
  3086
133087
133088
133089
133090
133091
133092
133093
133094
133095
133096
133097
133098
133099
133100
133101
133102
133103
133104
133105
                                                              4.1797
      DO 20 IV=1,MAXVEH
      TFNORM(IV)=0.0
C
      DO 10 JDX=1,MAXYRS
      TFNORM (I V)=TFNORM (IV)+TFMYM(JDX,I V) *JANMYR(JDX, IV)
   10 CONTINUE
   20 CONTINUE
C
C  Calculate normalized VMTMIX only  if using default  vmt  data  (VMFLAG  = 1).
C
      IF (VMFLAG.GT.l) GOTO 50
      TOTVMT=0.0
      DO 30 IV=1,MAXVEH
      VMTMI X(IV)=VCOUNT(IV)*GSFVCT(I V) *TFNORM(IV)
      TOTVMT=TOTVMT+VMTMI X(IV)
   30 CONTINUE
C
      DO 40 IV=1,MAXVEH
      VMTMI X (IV)=VMTMI X(IV)/TOTVMT
   40 CONTINUE
C
   50 DO 70 IV=1,MAXVEH
      IF (TFNORM(IV) .LE .O.O.AND.VMTMI X (I V) .GT.0.0)
     *   CALL QUITER(0.,IV,48,INERR)
      IF (TFNORM(IV) .LE.0.0) TFNORM(I V) =1.
C
      DO 60 JDX=1,MAXYRS
      IDX=21-JDX
      TF (IDX, IV) = (TFMYM(JDX, IV)*JANMYR(JDX, I V))/TFNORM (IV)
   60 CONTINUE
   70 CONTINUE
C
C  Calculate normalized REGMIX.
C
      TOTREG=0.0
      DO 80 IV=1,MAXVEH
      REGMIX (IV)=VCOUNT (IV)*GSFVCT(I V)
      TOTREG=TOTREG+REGMI X(IV)
   80 CONTINUE
C
      DO 90 IV=1,MAXVEH
      REGMI X{IV)=REGMI X (IV)/TOTREG
   90 CONTINUE
C
      RETURN
      END

-------
                   C-108




Appendix C: MOBILES Subroutine EFCALX
May 5, 1989
201000
201001
201002
201003
201001*
201005
201006
201007
201008
201009
201010
201011
201012
201013
201014
201015
201016
201017
201018
201019
201020
201021
201022
201023
201024
201025
201026
201027
201028
201029
201030
201031
201032
201033
201034
201035
201036
201037
201038
201039
201040
201041
201042
201043
201044
201045
201046
201047
201048
201049
201050
201051
201052
201053
201054
201055
201056
201057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C




SUBROUTINE EFCALX (1 CY, INERR)

EFCALX calculates composite emission factors.

Called by MAIN.

Calls BEF, BIGCFX, GETCUM, HCCALX, IEVPTR, IGSFPT, QUITER, REFUEL, RVPEXH,
and TAMPER.

1 nput on cal 1 :

parameter list: ICY, INERR
common blocks:
/C 1 TC 1 N/ C 1 GAS 1 , C 1 GAS2 , C 1 ETH 1 , C 1 ETH2
/CITPAR/ FRETH.FRMETH.FRGAS
/CITRV3/ RVPX
/CUMCOM/ CUMMIL
/EGSCAL/ OPENLP
/FLAGS3/ RLFLAG
/FLAGS4/ PRTFLG, IDLFLG
/GSFCOM/ GSFRAC
/MAXIMA/ MAXVEH.MAXPOL.MAXYRS
/MYRCAL/ TF
/MYRSAV/ NEWCUM
/REGION/ IREJN
/RVPEX2/ OPENCR
/VMXCOM/ VMTMIX

Output on return:

parameter list: INERR
common blocks:
/RESUL1/ EFFTP
/RESUL3/ VFTP

Local variable / array dictionary:

Name Type Description


COMPEF R composite emission factor for IDX: summed across 1 DX to get
EFFTP for the given IP 6 IV
EXHWGT R multiplicative weights to be applied to the exh ef returned
by BEF: speed & "BIGALH" cf, travel fraction 6 RVP cf
IBEFSW 1 see parameter dictionary
OPENRE R open loop technology percentage reduction of HC & CO for a
RVOPCF R exhaust HC 6 CO cf for RVP and open loop technology, IV=1,4
given vehicle type and model year
VMTAGE R see parameter dictionary

Notes:

EFCALX was modified for MOBILE4 to modularize idle ef calculations.


CHARACTER*!* SCNAME
CHARACTER*! ASTMCL, ACLASS
INTEGER ATPFLG.TPDFLG.ftLFLAG.TEMFLG.OUTFMT
INTEGER PRTFLG, HCFLAG

-------
201058
                          c-109

       Appendix C: MOBILES Subroutine  EFCALX

REAL JULMYR.JANMYR
                                                                                 May 5,  1989
201061
201062
201063
201064
201065
201066
201067
201068
201069
201070
201071
201072
201073
201074
201075
201076
201077
201078
201079
201080
201081
201082
201083
201084
^01085
^Bb 1086
^01087
201088
201089
201090
201091
1201092
201093
201094
201095
201096
201097
201098
201099
201100
201101
201102
201103
201104
201105
201106
201107
201108
201109
201110
^01111
201113
201114
201115
















C


C
C
C


C
C
C
C




C
C
C
C
C

C
C
C
C
C

C
C
C


C



C
                 COMMON /CITCIN/ UDI(5),IUDI,CIGAS1,CIGAS2,CIETH1,CIETH2,ICERSW
                 COMMON /CITPAR/ SCNAME(4) ,FRETH.FRMETH,FRGAS
                 COMMON /CITRV3/ RVPMAP (5) ,RVPX(2,2),I CLASS,ASTMCL,ACLASS (5)
                 COMMON /CUMCOM/ CUMMIL(20,8)
                 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 /FLAGSV PRTFLG,IDLFLG.NMHFLG.HCFLAG
                 COMMON /GSFCOM/ MAXGSF.GSFRAC(22,8,2) .MYGSF (22,8,2)
                 COMMON /MAXIMA/ MAXVEH.MAXLTW.MAXPOL.MAXREG.MAXYRS
                 COMMON /MYRCAL/ XMYM(20,8),JANMYR(20,8),TF(20,8).TFMYM(20,8)
                 COMMON /MYRSAV/ AMAR(20,8) ,JULMYR (20,8).NEWCUM
                 COMMON /REGION/ FEET (2) ,IREJN,ALT,INITPR
                 COMMON /RESULT/ EFFTP(3,9) ,EFEXH(9) ,EFEVAP(9) ,EFLOSS(9) ,EFRUNL(9)
                 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)
                 COMMON /VMXCOM/ REGMIX (8) .TFNORM (8),VMTMIX (8)

                 IF (NEWCUM.NE.O) CALLGETCUM
                 NEWCUM=0

              Setup for composite  light  duty gas truck.

                 VMLDGT=VMTMI X(2)+VMTMI X(3)
                 IF (VMLDGT.EQ.0.0)  VMLDGT=1.

              Calculate this scenario's  tampering and refueling offsets and RVP correction
              factors.

                 CALL TAMPER'(ICY)
                 IF (PRTFLG.EQ.l.OR.PRTFLG.EQ.4)  CALL REFUEL (ICY)
                 CALL RVPEXH(ICY,1,RVPX(1, 1) ,RVPX(2,1))
                 IF (FRETH.GT.0.0)  CALL  RVPEXH(ICY.2.RVPX(1,2),RVPX(2,2))

              Call  "BIG" correction  factor  (cf)  driver  to  get cf's for speed,  temperature,
              operating mode,  tampering, air conditioning,  trailer towing, humidity, extra
              load and by-bag RVP,  which cf's  apply  depending on user's input selections.

                 CALL BIGCFX(ICY)

              Finally ready for ef  calculations  - only  for  user selected pollutants.

              First do idle efs  (after  interpolation zap,  move to precede BIGCFX call).

                 IF (IDLFLG.EQ.2) CALL  IDLCAL(ICY.VMLDGT,INERR)

              Now do FTP efs.

                 IF (PRTFLG.EQ.1.OR.PRTFLG.EQ.4)
                *    CALL HCCALX (ICY,VMLDGT,INERR)

                 DO 70 IP=2,MAXPOL
                 IF(PRTFLG.NE.IP.AND.PRTFLG.NE.4) GOTO  70
                 VFTP (IP)=0.0
                 EFFTP(IP,9)=0.0

-------
                                           C-110

                        Appendix C: MOBILES Subroutine EFCALX                   May 5, 1989

201116           DO 60 IV=1,MAXVEH
201117           EFFTPdP, IV)=0.0
201118           IF (VMTMIX(IV) .EQ.0.0) GOTO 60
201119     C
201120           DO 50 IDX=1,MAXYRS
201121     C
201122     C  If no mileage for this model year / vehicle class case, skip ef calculation.
201123     C  Note below  IGS retrieval coded for every IDX pass, even though only used
201124     C  after exit  IDX loop.  THe TF conditional branch to end of loop is why:
201125     c  't causes the last retrieved IGS to be used.  There will be at least one,
201126     C  since don't get here unless VMTMIX(IV) is positive.
201127     C
201128           IF (TF (IDX,IV) .LE.0.0) GOTO 50
201129     C
201130     C  Initialize emissions to zero.
201131     c
201132           COMPEF=0.0
201133     C
201134           JDX=21-IDX
201135           VMTAGE=CUMMIL(JDX,IV)/10000.
201136           MY=ICY+IDX-20
201137           IGS=IGSFPT(MY,IV)
201138     c
201139     C  Combine speed and aluh correction factor and the travel fraction
201140     C  into a single weight to correct the exhaust ef returned from BEF.
201141     C  IBEFSW is set to  2 so that BEF performs the operating mode corrections.
201142     C
201143           EXHWGT=SALHCF (IDX, IP, IV)*TF (IDX, IV)
201144           IBEFSW=2
201145           COMPEF=BEF (MY,IDX,ICY,IP,IV.VMTAGE,IBEFSW) *EXHWGT
201146     C
201147     C  Motorcycles have  no RVP exhaust cf, but get CO open loop technology credit.
201148     C
201149           IF(IV.EQ.8.AND.IP.NE.3)
201150          *    COMPEF=COMPEF*(FRGAS+(FRETH+FRMETH)*0-0-OPENCR))
201151     c
201152     C  Composite ef is complete for diesels  and motorcycles.
201153     c
201154           IF (IV.GE.5) GOTO 40
201155     c
201156     C  For remaining IV, the RVP CF applied  may be 1.0, either because there  is no
201157     C  correction or because the correction  is by bag  (6 has already been applied
201158     C  via OMTCF).
201159     C
201160     C  LDGV/T and HDGV NOx have an RVPCF, but no open  loop technology credit.
201161     C
201162           IF(IP.EQ.3) COMPEF=COMPEF*RVPCF(IDX,IP,IV,1)
201163           IF (IP.EQ.3) GOTO 40
201164     C
201165     C  LDGV/T and HDGV CO get both RVP exhaust and open  loop technology cfs
201166     C  calculated and applied.
201167     C
201168           OPENRE=1.0-OPENLP(IDX,IV)*OPENCR
201169           RVOPCF=FRGAS*RVPCF (IDX,IP,IV,1)
201170          *     + (FRETH*RVPCF(IDX,IP,IV,2)
201171          *     +FRMETH*RVPCF(IDX,IP,IV,1))*OPENRE
201172           COMPEF=COMPEF*RVOPCF
201173     C

-------
                                           C-lll

                        Appendix C: MOBILEl* Subroutine  EFCALX                    May 5, 1989

201171*        1*0 EFFTPdP, IV)=EFFTP(IP,IV)+COMPEF
 P1175        50 CONTINUE
  1176     c
201177     C  Sales fractions = 1.0 for all 1* HDV  (HDG.HDD  x  L,H  alt)  groups and all MC's.
201178     c
201179           IF ((IV.NE.1».AND.IV.LT.7) .AND.
201180          *   (EFFTPdP, IV) .GT.0.0.AND.GSFRAC(IGS, IV, IREJN) .EQ.0.0))
201181          *   CALL QUITER(0.,IV.67,INERR)
201182           IF (EFFTPdP,IV) .LE.0.0)  CALL QUITER (0., IV,68, INERR)
201183     c
201181*           VFTP(IP)=VFTP(IP)+EFFTP(IP, IV) *VMTMI X (I V)
201185        60 CONTINUE
201186     C
201187     C  Assign composite  light duty gas truck emission  factor.
201188     C
201189           IF (EF FTP (IP, 2)  .GT. 0.0. AND. EFFTPdP, 3) .GT.0.0)  EFFTPdP, 9) =
201190          *   (EFFTP(IP,2)*VMTrUX(2)+EFFTP(IP,3)*VMTMIX(3))/VMLDGT
201191        70 CONTINUE
201192     c
201193           RETURN
20119*»           END

-------
                   C-112




Appendix C: MOBILES Subroutine GETCUM
May 5. 1989
202000
202001
202002
202003
20200**
202005
202006
202007
202008
202009
202010
202011
202012
202013
2020H
202015
202016
202017
202018
202019
202020
202021
202022
202023
20202A
202025
202026
202027
202028
202029
202030
202031

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C



C


C



C


SUBROUTINE GETCUM

GETCUM computes average January 1 fleet cumulative mileages.

Called by EFCALX.

1 nput on cal 1 :

common blocks:
/MAXIMA/ MAXVEH.MAXYRS
/MYRCAL/ XMYM

Output on return:

common block: /CUMCOM/ CUMMIL


REAL JANMYR

COMMON /CUMCOM/ CUMMIL (20, 8)
COMMON /MAXIMA/ MAXVEH,MAXLTW,MAXPOL,MAXREG,MAXYRS
COMMON /MYRCAL/ XMYM (20,8) .JANMYR (20,8) ,TF (20,8) .TFMYM (20,8)

DO 10 IV=1,MAXVEH
CUMMIL (1, IV)=XMYM(1, IV)*100000.

DO 10 JDX=2,MAXYRS
CUMMIL(JDX, IV)=XMYM(JDX,IV)*1 00000. +CUMMI L (JDX-1 , IV)
10 CONTINUE

RETURN
END

-------
                   C-113



Appendix C: MOBILE** Subroutine TAMPER
May 5, 1989
203000
£03001
003002
203003
203001*
203005
203006
203007
203008
203009
203010
203011
203012
203013
203011*
203015
203016
203017
203018
203019
203020
203021
203022
203023
203021+
203025
203026
J03027
^03029
203030
203031
203032
203033
203031*
203035
203036
203037
203038
203039
20301*0
203041
20301*2
20301*3
20301*1*
20301*5
20301*6
20301*7
20301*8
20301*9
203050
203051
203052
f3053
305^
3055
203056
203057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C







C
C
C
C
C
C
C
C
SUBROUTINE TAMPER (ICY)

TAMPER computes tampering effects in grams/mile on bag 1,263 HC, CO,
6 NOX and on hotsoak, diurnal 6 crankcase HC.

Called by EFCALX.

Calls BAGEME, DISATP, EFFGRP, EMIRAT, EVPEME and IMCHEK.

1 nput on cal 1 :

parameter 1 i st: 1 CY
common blocks:
/ATPAR1/ LAPSY, LAP 1ST.LAPLST, LVTFLG
/FLAGS1*/ PRTFLG
/IMPAR1/ ICYIM
/IMPAR3/ IM
/MAXIMA/ MAXYRS

Output on return:

common blocks:
/LOOKUP/ IVTAM
/MYCODE/ MY, 1 DX, JDX, LDXSY, LMYRVT, IMDXSY, IMKINK

Local variable / array dictionary:

Name Type Description
LDX1ST 1 JDX order pointer to first model year covered by ATP
LDXLST 1 JDX order pointer to last model year covered by ATP
LMYR 1 flag relating model year to ATP parameters
1 = model year not covered by an ATP
2 = JDX is covered by an ATP (but IVTAM may not be,
hence, check for inclusion to set LMYRVT)

Notes:

none
,

INTEGER PRTFLG, HCFLAG

COMMON /ATPAR1/ LAPSY, LAP1ST, LAPLST, LVTFLG (k)
COMMON /FLAGSV PRTFLG, 1 DLFLG.NMHFLG, HCFLAG
COMMON /IMPAR1/ 1 CY IM, 1 STRI N.MODYR1 .MODYR2.WAI VER (2) , CRIM
COMMON /IMPAR3/ IMDX1 , IMDX2, IMCASE, IMVEH, IM
COMMON /LOOKUP/ 1 VTAM, 1 QG , 1 PG , JPGD , 1 HG , 1 GCSF
COMMON /MAXIMA/ MAXVEH,MAXLTW,MAXPOL,MAXREG, MAXYRS
COMMON /MYCODE/ MY, 1 DX, JDX, LDXSY, LMYRVT, 1 AY, IMDXSY, IMKINK

Relate start year of ant i -tamper ing program (ATP) and 1st and last model
years covered to calendar year. Put them in JDX order. For example:

ICY = LAPSY => LDXSY = 1
ICY = LAPSY + 1 => LDXSY «= 2
• .
.

-------
203058
203059
203060
203061
203062
203063
20306*4
203065
203066
203067
203068
203069
203070
203071
203072
203073
203074
203075
203076
203077
203078
203079
203080
203081
203082
203083
203084
203085
203086
203087
203088
203089
203090
203091
203092
203093
203094
203095
203096
203097
203098
203099
203100
203101
203102
203103
203104
203105
203106
203107
203108
203109
203110
203111
203112
203113
203114
203115
C
C
C
C
C
C
C
C
C
C
C
C
C



C
C
C

C
C
C
C

C
C
C
C
C

C

C

C
C
C
C
C

C
C
C
C

C
C
C
C
C
C
C
C
C
C
C
C
                             C-114

          Appendix C:  MOBILES Subroutine TAMPER

    ICY = LAPSY + 19 •> LDXSY = 20
May 5, 1989
JDX order is used because these values are used to access the JDX ordered
CUMMIL.  Note that LDXSY <= 0 => ICY < LAPSY => no ATP was in effect during
any part of the calendar year's 20 model year window.

The ATP has to be in effect at least 1 year prior to ICY for it to affect
ICY's emissions.  The mileage accumulated through LAPSY all goes to the no
program case.

Only calculate these values once per scenario => compute them here before
the tamper loops begin.

   LDXSY=ICY-LAPSY+1
   LDX1ST=ICY-LAP1ST+1
   LDXLST=ICY-LAPLST+1

Decide whether to use "Non-l/M"  (IM=1) or "I/M"  (IM=2)  TAMZML and TAMDR:

   CALL  IMCHEK(1,ICY,IVTAM,IDX)

Relate  I/M start year to calendar year, using JDX ordering.  This pointer
will be used within  IDX loop to set kinked tampering rate curves flag.

    IMDXSY=ICY-ICYIM+1

For each tampering vehicle  type and each model year  in the 19 year window
from ICY-18 thru ICY  (20+ year case is always zeroed), compute the bag and
evaporative tampering offsets.

   DO 40 IVTAM=1,4

   CALL  IMCHEK(2,ICY,IVTAM,IDX)

   DO 30 IDX=2,MAXYRS

MY pointer info using IDX 6 ICY may be done here, before sub calls.

Identify this loop's model  year for use in ITAMPT lookups.

   MY=ICY-(20-IDX)

Assign  the reverse order  (ICY -> 1, increases with age) my index for use  in
apportioning mileage weights.

   JDX=21-IDX

Reset  (turn off) the ATP my range switch.  Turn on if  there  is an ATP
program, it starts before the calendar year, the model year JDX  is  in the
affected range and the vehicle type has been selected  by the user for
coverage.

    LMY-RVT = 1 => switch  is off.  ATP not a factor in  my JDX's tampering
    LMYRVT = 2 => switch  is ON.  ATP  is a factor in my JDX's tampering

Note: ATPFLG = 1 =>  LAPSY = 2020 => LDXSY < 1 => 1st 2 criteria  can be
      checked using  LDXSY.

-------
                   C-115



Appendix C:  MOBILES Subroutine TAMPER
May 5, 1989
203116
4P3117
1)3118
203119
203120
203121
203122
203123
20312*4
203125
203126
203127
203128
203129
203130
203131
203132
203133
20313^
203135
203136
203137
203138
203139
20311*0
20311*1
203U2
2p3li*3
1)311* i«
70311*5
20311*6
20311*7




C

C
C
C

LMYR=1
LMYRVT=1
IF (LDXSY.GT.l
IF (LMYR.EQ.2.

CALL IMCHEK(3



.AND.LDX1ST.GE.JDX.AND.JDX.GE.LDXLST) LMYR=2
AND . LVTF LG ( 1 VTAM) . EQ . 2) LMYRVT=2

, ICY, IVTAM, IDX)

Set kinked disablement rate curves flag.

IMKINK=1


IF (IM.EQ.2.AND.JDX.GT.IMDXSY) IMKINK=2
C
C
C

C
C
C



C
C
C
C

C


C



F i gure the base

CALL DISATP


tampering rates for both exhaust and non-exhaust emissions.



The next 3 subroutines compute the tampering bag emission additives.

CALL EFFGRP
CALL EMIRATO
CALL BAGEME

The non-exhaust
simpler because

IF (PRTFLG.EQ.

30 CONTINUE
1*0 CONTINUE

RETURN
END


DX)


HC emission additives calculation procedure is much
there are no overlaps. EVPEME does all the work.

l.OR.PRTFLG.EQ.l*) CALL EVPEME







-------
                                           C-116
201*000
       Appendix C: MOBILES Subroutine IMCHEK

SUBROUTINE IMCHEK(I CASE,ICY,IVTAM,IDX)
                                                                                May 5,  1989
201*001
201*002
201*003
201*001*
201*005
201*006
201*007
201*008
201*009
201*010
201*011
201*012
201*013
201*011*
201*015
201*016
201+017
201*018
201*019
201*020
201*021
201*022
201*023
201*021*
201*025
201*026
201*027
201*028
201*029
201*030
201*031
201*032
201*033
201*031*
201*035
201*036
201*037
201*038
201*039
201*01*0
201*01*1
201*01*2
201*01*3
201*01*1*
201*01*5
201*01*6
201*01*7
201*01*8
201*01*9
201*050
201*051
201*052
201*053
201*055
201*056
201*057
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C




C
C
C

C
C
C
C
C
C
C
C


C
C
C
C



              IMCHEK determines whether or not an  I/M program applies to a given  IV 6
              IDX combination.  The calling routine calls  (1) before the IVTAM  loop starts
              (2) after the IVTAM loop starts but before the IDX  loop starts and
              (3) after the IDX loop starts but before the  IM flag / subscript  is used.
              ICASE is set accordingly.  After an  ICASE 3 call,  IM  (index to TAMZML and
              TAMDR) is assigned and a lookup can be done.

              Called by REFUEL and TAMPER.

              Input on cal1:

                parameter list: I CASE,ICY,IVTAM,IDX
                common blocks:
                /FLAGS2/  IMFLAG
                /IMPAR1/  ICYIM.MODYR1.MODYR2
                /IMPAR2/  ILDT
                /IMPAR3/  IMDX1,IMDX2,IMCASE,IMVEH

              Output on return:

                /IMPAR3/  IMDX1,IMDX2,IMCASE,IMVEH,IM

              Notes:

              IMCHEK was  added for MOBILEl*.
                 CHARACTER*!*  IMNAME
                 INTEGER ALHFLG

                 COMMON /FLAGS2/ MYMRFG.NEWFLG,IMFLAG,ALHFLG
                 COMMON /IMPAR1/ ICYIM,ISTRIN.MODYR1.MODYR2.WAIVER(2),CRIM
                 COMMON /IMPAR2/ I LOT (1*) , ITEST.NUDATA (2) .NONUDA.NLIM, IMNAME (20,9)
                 COMMON /IMPAR3/ IMDX1,IMDX2,IMCASE,IMVEH,IM

              Branch to I/M check case  being  asked for  by  ICASE.

                 GOTO (10,20,30),ICASE

              Case 1: Determine global  I/M case and  relative start and finish  years
                      of the  I/M program, if  there is one.

              An I/M program must exist and its implementation year  and  first  model
              year covered must both precede  the evaluation year  ICY,  for  I/M  to  apply
              to the current scenario.

              10 IF(IMFLAG.EQ.l.OR.ICY.LE.ICYIM.OR.ICY.LE.MODYR1)    IMCASE=1
                 IF(IMFLAG.EQ.2.AND.ICY.GT.ICYIM.AND.ICY.GT.MODYR1)  IMCASE=2

              If I/M applies, relate start and end model years of  I/M program  to  ICY.
              IMDX1 6 IMDX2 are  in  IDX  order  (2 = my  19  to 20 = my 1  = ICY) .

                 IF (IMCASE.EQ.l) RETURN
                 IMDX1=MODYR1-ICY+20
                 IMDX2=MODYR2-ICY+20
                 RETURN

-------
201*058
« 1*059
1*060
201*061
201*062
201*063
20i*06l»
201*065
201*066
201*06?
201*068
201*069
201*070
201*071
201*072
201*073
201*071*
201*075
201*076
201.077
201*078
201*079
201*080
201*081
201*082
201*083
201*081*
C
C
C
C
C
C
C
C
C
C
C
C



C
C
C
C
C
C




C

                             C-117

          Appendix C: MOBILES Subroutine IMCHEK                   May 5, 1989


Case 2: Determine if I/M program applies to current IVTAM.

I/M does not apply if it does not apply to the current scenario, determined
on the Case 1  call to IMCHEK.  If I/M applies to the scenario, then the
user IV coverage selection determines if I/M applies to current IVTAM.

Note: TAMZML and TAMDR do have a set of I/M HDGV cells with values assigned,
but because MOBILE3 did not recognize I/M for HDGV, MOBILE3 never accessed
those cells (HDGV -> IMVEH = 1).  MOBILES has I/M for HDGV, so the values
are used.

20 IF (IMCASE.EQ.l)   IMVEH=1
   IF (IMCASE.EQ.2) IMVEH=ILOT (IVTAM)
   RETURN

Case 3= determine if I/M program applies to current IDX.

I/M does not apply to IDX, unless it applies to the current IVTAM and IDX
is within the I/M coverage year range.

30 IM=1
   IF (IMVEH.EQ.l) RETURN
   IF (IDX.GE.IMDX1.AND.IDX.LE.IMDX2) IM=2
   RETURN

   END

-------
                             C-118
          Appendix C: MOBILE!* Subroutine DISATP
                                                              May 5, 1989
205000
205001
205002
205003
205001*
205005
205006
205007
205008
205009
205010
205011
205012
205013
205011*
205015
205016
205017
205018
205019
205020
205021
205022
205023
205021*
205025
205026
205027
205028
205029
205030
205031
205032
205033
205031*
205035
205036
205037
205038
205039
20501*0
20501*1
20501*2
20501*3
20501*1*
20501*5
20501*6
20501*7
20501*8
20501*9
205050
205051
205052
205053
205051*
205055
205056
205057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C
C
C




C
C
C
C
C
C
C
C
C
C
C

C
C
C
C
C
   SUBROUTINE DISATP
DISATP computes the disablement rates for the given vehicle type, model
year and mileage distribution.  If the start year of an anti-tampering
program precedes the calendar year, then 2 sets of rates are produced.
The first set covers through the ATP start year  (the "previous"  interval) and
the second set both "previous" and "subsequent"  (to start year)  intervals.

Called by TAMPER.

Calls DISIMP.

Input on cal1:

  common blocks:
  /IMPAR3/  IN
  /MYCODE/ JDX,LDXSY,LMYRVT,IMDXSY,IMKINK

Output on return:

  common blocks:
  /MYCODE/  I AY
  /TAMEQ2/ BTR

Notes:

DISRAT was modified  in MOBILES to move rate calculations to DISIMP.
DISRAT was renamed DISATP  in MOBILES to show its primary parsing  function.
DISATP was modified for MOBILES for the new misfueling algorithm.
   COMMON /IMPAR3/  IMDX1,IMDX2,IMCASE,IMVEH,IM
   COMMON /MYCODE/ MY,IDX,JDX,LDXSY,LMYRVT,I AY,IMDXSY,IMKINK
   COMMON /TAMEQ2/ BTR (9,2)

Setup section.

   DO 10  IAY=1,2
   DO 10  ID=1,9
   BTR (ID,I AY)=0.0
10 CONTINUE

Calculate mileage accumulated up through  start  year of  anti-tampering
program  (ATP) and mileage since.  Then compute  the base tampering  rates.
There are 3 cases:
 (1)
There is no ATP or the ATP
or later or the model year
the range included in the
 is not in effect until the calendar year
 (JDX)  being checked on this call MS not  in
ATP or the VT is not covered by the ATP:
    Check  if ATP-applies switch  is on.  Off => all mileage  is  "previous"
     (to any ATP) =>  I AY =  1 for al 1  tampering.

    IF (LMYRVT. EQ.l) CALL D I S IMP (JDX, 1 , IM, IMKI NK)
(2) There  is  an  ATP
   ATP  affected MY
    I AY  =  2 for  all
and it starts before the model year
range.  All mileage is "subsequent"
tampering.
                          and JDX is
                           (to LAPSY)
                                                                in
                                                                =>
                                                                       the

-------
                                           C-119
205058
       Appendix C:  MOBILES Subroutine DISATP




IF(LMYRVT.EQ.2.AND.LDXSY.GT.JDX)  CALL DI SIMP(JDX,2,IM,IMKINK)
                                                                                 May  5,  1989
«5059
5060
205061
205062
205063
205064
205065
205066
205067
205068
205069
205070
205071
205072
205073
205074
205075
205076
205077
205078
205079
205080
205081
205082
205083
205084
JM05085
^^05086
205087
205088
205089
205090
205091
205092
205093
205094
205095
205096
205097
205098
205099
205100
205101
205102
205103
205104
205105
205106
205107
205108
205109
205110
^K>51 1 1
^P>5ii2
205113
205114
205115
C
C
C
C
C
C
C

C
C
C






C
C
C

C
C
C
C
C






C
C
C
C
C
C
C
C
C
C
C
C





C
C
C


C


(3) There is an ATP and it starts before ICY but at or after my JDX and
JDX is in the ATP affected MY range. This case => split mileage into
"previous" and overall (= total = "previous" + "subsequent") parts.
"Subsequent" category sizes will be computed in subroutine EFFGRP as
the difference between the corrected overall and "previous" sizes.

IF (LMYRVT.EQ.l.OR. (LMYRVT.EQ.2 . AND .LDXSY.GT. JDX) ) GOTO 20

Calculate the "previous" segment.

LJDX=JDX-LDXSY+1
LKINK=1
IF (IMKINK.EQ.l) LIM=IM
IF (IMKINK.EQ.2.AND. IMDXSY.GT.LDXSY) LKINK-2
IF (IMKINK.EQ.2) LIM=LKINK
CALL DISIMP(LJDX,1 ,LIM,LKINK)

Calculate the overall segment.

CALL DISIMP(JDX,2, IM, IMKINK)

Range checks constraining all cases:

(1) Cannot tamper with < 0% or > 100% of the fleet.

20 DO 40 ID=1,9
DO 30 IAY=1,2
IF (BTR(ID, IAY) .LT.0.0) BTR(ID, IAY)=0.0
IF (BTR (ID, IAY) .GT. 1.0) BTR (1 D, 1 AY) =1 .0
30 CONTINUE
40 CONTINUE

(2) Note that (1) insures overall misfueling rate (ID=9) is <= 100%.
Now make the sum of the 2 components of misfueling be = the overall
misfueling, both insuring the sum is <= 100% and preventing a kink
up in the slope of the sum's curve, if either the NCKS or TNKS misfueling
curve has been forced up to zero by (1). The tradeoff in the latter
case is a kink down in the slope of the fuel inlet (NCKS) or other (TNKS)
that was not forced up to zero. Finally, the 3 constraint checks'
conditions are mutually exclusive, so the check order does not matter.
The 3 checks are the only use of the overall misfueling rates (ID=9).
The overall misfueling rates are not used hereafter.

DO 50 IAY=1,2
1 F ( (BTR (3 , 1 AY) +BTR (4 , 1 AY) ) . GT . 1 . 0) BTR (4 , 1 AY) = 1 . 0-BTR (3 , 1 AY)
IF (BTR (3, IAY) .GT. BTR (9, IAY)) BTR (3, 1 AY) =BTR (9, 1 AY)
IF (BTR(4, IAY) .GT.BTR (9, 1 AY) ) BTR (4, 1 AY) =BTR (9, 1 AY)
50 CONTINUE

(3) Make sure that Canister Only (ID=6) is <= Canister+Gas Cap (ID=8)

IF (BTR (6,1) .GT.BTR (8,1)) BTR (6, 1) =BTR (8, 1)
IF (BTR (6, 2) .GT.BTR (8, 2)) BTR (6,2)=BTR (8,2)

RETURN
END

-------
206000
                          C-120




       Appendix C: MOBILES Subroutine DISIMP




SUBROUTINE DISIMP(LJDX,LAY,LIM,LKINK)
                                                                                 May 5,  1989
206001
206002
206003
206004
206005
206006
206007
206008
206009
206010
206011
206012
206013
206014
206015
206016
206017
206018
206019
206020
206021
206022
206023
206024
206025
206026
206027
on^m ft
/UDU/0
206029
206030
206031
206032
206033
206034
206035
206036
206037
206038
206039
206040
206041
206042
206043
206044
206045
206046
206047
206048
206049
206050
206051
206052
206053
206054
206055
206056
206057
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C






C
C
C
C



C





DISIMP takes the passed in ATP case, figures out what I/M case applies,
calls DISCAL to calculate it and if necessary substitutes Non-l/M / I/M
1 ine limit values.

Cal led by DISATP.

Calls AMAX1 (FORTRAN library function) and DISCAL.

1 nput on cal 1 :

parameter list: LJDX, LAY, L IM, LK 1 NK
common blocks:
/CUMCOM/ CUMMIL
/LOOKUP/ IVTAM
/MYCODE/ JDX, IMDXSY

Output on return:

common blocks:
/TAMEQ1/ F50K
/TAMEQ2/ BTR
/TAMEQ3/ CUMALL , CUMN 1 M, CUM 1 M, GT50KA , GT50KN , GT50K 1

Local variable / array dictionary:

Name Type Description


DALLIM R disablement rate for the all I/M mileage segment case
DKINKI R • disablement rate for the kinked I/M mileage segment case
DNONIM R disablement rate for the all non-l/M mileage segment case

Notes:

DISIMP was added for MOBILE4.
DISIMP was modified for MOBILE4 for the new misfueling algorithm.
DISIMP was modified for MOBILE4.


COMMON /CUMCOM/ CUMMIL (20, 8)
COMMON /LOOKUP/ IVTAM, 1 QG, 1 PG.JPGD, IHG, 1 GCSF
COMMON /MYCODE/ MY, 1 DX, JDX, LDXSY, LMYRVT, 1 AY, IMDXSY, IMKI NK
COMMON /TAMEQ1/ TAMZML (9,4, 2, 2) ,TAMDR (9,4,3,2) ,MYGTAM(4) , IGT5.F50K
COMMON /TAMEQ2/ BTR (9, 2)
COMMON /TAMEQ3/ CUMALL, CUMN IM, CUMIM,GT50KA,GT50KN,GT50K 1

Lookup and scale the needed cumulative mileage segments. Based on these
segments, compute the mileage on each segment greater than 50,000 miles.

CUMALL=CUMMI L (LJDX, 1 VTAM) *. 0001
GT50KA=AMAX1 (O.O.CUMALL-F50K)
IF(LKINK.EQ.l) GOTO 10

CUMN IM=CUMMIL (JDX- IMDXSY+1, IVTAM)*. 0001
CUMIM=CUMALL-CUMNIM
GT50KN=AMAX1 (O.O.CUMNIM-F50K)
GT50KI=AMAX1 (0.0,GT50KA-GT50KN)

-------
                   C-121




Appendix C:  MOBILES Subroutine DISIMP
May 5, 1989
206058
R6059
6060
206061
206062
206063
206064
206065
206066
206067
206068
206069
206070
206071
206072
206073
206074
206075
206076
206077
206078
206079
206080
206081
206082
206083
206084
R6085
6086
C

C
C
C




C
C
C





C
C
C




C

C



10 DO 40 ID=1,9

Case 1: No I/M program applies during the model year interval.

DNONIM=DISCAL(1,1,ID)
IF (LIM.EQ.2) GOTO 20
BTR(ID,LAY)=DNONIM
GOTO 40

Case 2: I/M program applies to all years of the model year interval.

20 DALLIM=DISCAL(2,1, ID)
IF (LKINK.EQ.2) GOTO 30
BTR(ID,LAY)=DALLIM
IF (DALLIM.GT.DNONIM) BTR (1 D, LAY) =DNON IM
GOTO 40

Case 3= I/M program starts to apply during interval -> kink in line's slope.

30 DKINKI=DISCAL(LIM,LKINK, ID)
BTR(ID,LAY)=DKINKI
IF (DKINKI .LT.DALLIM) BTR (1 D, LAY) =DALL IM
IF (DKINKI .GT.DNONIM) BTR (1 D.LAY) =DNON IM

40 CONTINUE

RETURN
END

-------
                   C-122




Appendix C: MOBILES Function DISCAL
May 5, 1989
207000
207001
207002
207003
207004
207005
207006
207007
207008
207009
207010
207011
207012
207013
207014
207015
207016
207017
207018
207019
207020
207021
207022
207023
omm Ji
20/02'*
207025
207026
207027
207028
207029
207030
207031
207032
207033
207034
207035
207036
207037
207038
207039
207040
207041
207042
207043
207044
207045
207046
207047
207048
207049
207050
207051
207052
207053
207054
207055
207056
207057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C




C
C
C
C






C
C
C
C
C
FUNCTION DISCAL (LIM.LKINK, ID)

DISCAL computes the disablement rate for the given vehicle type, model
year interval, I/M program (or lack thereof), mileage distribution, am
disablement class.

Called by DISIMP.

Input on cal 1 :

parameter list: LIM.LKINK, ID
common blocks:
/LOOKUP/ IVTAM
/MYCODE/ MY
/TAMEQ1/ TAMZML.TAMDR.MYGTAM
/TAMEQ3/ CUMALL , CUMN 1 M, CUM 1 M, GT50KA , GT50KN , GT50K 1

Output on return:

function: DISCAL

Local variable / array dictionary:

Name Type Description


M5IGID 1 switch: 1 = no 6 2 = yes to query "belong to myg and
tampering class subject to 50,000 mile DR kink?
M5KINK 1 switch: 1 = no & 2 = yes to query "50,000 kink applies?
(myg 2 + not misfueling + 50K+ + 50K+ slope ste

Notes:

M5KINK logic assumes TAMDR slopes are all positive.

DISCAL was added for MOB 1 LEA.
DISCAL was modified for MOBILE4.
DISCAL was modified for MOBILE4, updating common block declarations.


COMMON /LOOKUP/ IVTAM, 1 QG, 1 PG.JPGD, 1 HG, IGCSF
COMMON /MYCODE/ MY, 1 DX, JDX, LDXSY, LMYRVT, 1 AY, IMDXSY, IMKINK
COMMON /TAMEQ1/ TAMZML (9,4,2,2) , TAMDR (9,4,3, 2) ,MYGTAM(4) , IGT5.F50K
COMMON /TAMEQ3/ CUMALL, CUMN IM, CUM IM.GT50KA, GT50KN.GT50K 1

The slope for MYG 2 changes at 50,000 miles, except for the 3 misfueli
categories. The over 50K slopes are stored as MYG 3 in TAMDR.

IGD=1
1 F (MY . GT . MYGTAM ( 1 VTAM) ) 1 GD=2
M5IGID=1
IF(IGD.EQ.2.AND.ID.NE.3.AND.ID.NE.4.AND.ID.NE.9) M5IGID=2
M5KINK=1
IF(LKINK.EQ.2) GOTO 10

Case 1: a single rate line is used for the entire model year interval:
(1) all mileage is on the non-l/M rate line, or
(2) all mileage is on the I/M rate line.




d























n
it
eper)















ng














-------
                                           C-123
207058
^F07060
207061
207062
207063
207061*
207065
207066
207067
207068
207069
207070
207071
207072
207073
207071*
207075
207076
207077
207078
207079
207080
207081
207082
207083
207081*
«7o85
7086
207087
207088
207089
207090
207091
207092
207093
207091*
207095
207096
207097

C


C



C

C
C
C
C
C
C
C
C



C



C



C




C


        Appendix C: MOBILES Function DISCAL                     May  5,  1989

 IF (M51GID.EQ.2.AND.GT50KA.GT.0.0.AND.
*    TAMDR(ID,IVTAM.2.LIM) .LT.TAMDR (ID,IVTAM,3,LIM)) M5KINK=2
 DISCAL=TAMZML(ID,IVTAM,IGD,L I M)

 IF (M5KINK.EQ.1) DISCAL=DISCAL
*    +TAMDR(ID,IVTAM,IGD,LIM)*CUMALL

 IF(M5KINK.EQ.2) DISCAL=DISCAL
*    +TAMDROD, IVTAM, IGD,LIM)*F50K
*    +TAMDR(ID, IVTAM,IGT5,LIM)*GT50KA
                         I/M program starts within the interval, covering  the model  year
                      and vehicle class being evaluated.  Both the non-l/M and  I/M  rate
                      lines are used - the I/M "kink": non-l/M line  intercept,  first
                      -:ieage segment times the non-l/M slope £ second  times the  I/M slope,
                      The resulting rate may be replaced with other  estimates,  depending
                         the 2 lines and at what point they are evaluated.

              10 IF (M5IGID.EQ.2.AND.GT50KI.GT.0.0.AND.
                *    TAMDR(ID,IVTAM,2,1) .LT.TAMDR (ID,IVTAM,3,1)) M5KINK=2
                 DISCAL=TAMZML(ID,IVTAM,IGD,1)

                 IF (M5KINK.EQ.1)  DISCAL=DISCAL
                *    +TAMDR (ID,IVTAM,IGD,1)*CUMNIM
                *    +TAMDR(ID,IVTAM,IGD,2)*CUMIM

                 IF (M5KINK.EQ.2.AND.GT50KN.GT.O.O) DISCAL=DISCAL
                *    +TAMDR (ID,IVTAM,IGD,1)*F50K
                *    +TAMDR(ID,IVTAM,IGT5,1)*GT50KN
                *    +TAMDR(ID,IVTAM,IGT5,2)*CUMIM

                 IF (M5KINK.EQ.2.AND.GT50KN.EQ.O.O) DISCAL=DISCAL
                *    +TAMDR(ID,IVTAM,IGD,1) *CUMNIM
                *    +TAMDR (ID,IVTAM,IGD,2)*(F50K-CUMNIM)
                *    +TAMDR(ID,IVTAM,IGT5,2)*GT50KI

                 RETURN
                 END

C
C
C
C
C
C
C
C
RETURN

Case 2: A
a
1
m
T
o


-------
                   C-121*




Appendix C: MOBILES Subroutine EFFGRP
May 5, 1989
208000
208001
208002
208003
208001*
208005
208006
208007
208008
208009
208010
208011
208012
208013
208011*
208015
208016
208017
208018
208019
208020
208021
208022
208023
208021*
208025
208026
208027
208028
208029
208030
208031
208032
208033
208031*
208035
208036
208037
208038
208039
20801*0
20801*1
20801*2
20801*3
20801*1*
20801*5
20801*6
20801*7
20801*8
20801*9
208050
208051
208052
208053
208051*
208055
208056
208057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C




C




C
C
SUBROUTINE EFFGRP

EFFGRP builds the tampering effects group sizes array. The tampering



rates from DISATP are modified to account for technology vs tampering
types, overlap factors, anti -tamper i ng program effectiveness factors
and
technology group sizes. The output rates are divided into effects groups
corresponding to the significant emission impact tampering groups.

Called by TAMPER.

Calls ADJ12, ATPEFF, A8T011, C1T07, C8T012, ITAMPT, SETEGS and TECHO.

1 nput on cal 1 :

common blocks:
/EGSCAL/ TGS
/LOOKUP/ IVTAM
/MYCODE/ MY.JDX.LDXSY.LMYRVT
/SIZCAL/ CSIZE

Output on return:

common blocks:
/EGSCAL/ EGS
/LOOKUP/ IQG, IPG.JPGD, IGCSF
/MYCODE/ IAY
/SIZCAL/ TGSUSE.CSAE

Local array subscripts:

CSF1ST(7,2,2) - CSF1ST ( 1C?, IPG, IGCSF )

Local variable / array dictionary:

Name Type Description
































CSF1ST- R category size factor for 1st calculation of CSIZE, expressed
as  =  / ,
where  = AorE for IC7=1~3, CATS for IC7=l*-7

Notes:

EFFGRP was modified for MOBILE!* to add the IGCSF dimension to CSF1ST.


DIMENSION CSF1ST(7,2,2)

COMMON /EGSCAL/ AER (1 1 , 1 1 ,2,2) , TGS (1 1 ,6,1.) , EGS (7,2) , OPENLP (20,1*)
COMMON /LOOKUP/ IVTAM, IQG, 1 PG.JPGD, 1 HG, 1 GCSF
COMMON /MYCODE/ MY, 1 DX, JDX, LDXSY.LMYRVT, 1 AY, IMDXSY, IMK INK
COMMON /SIZCAL/ ATR (5,2) .TGSUSE ,CS IZE (12,2) , CSAE (12)

DATA CSF1ST/.2025, . 19^2, .01*23, -31*51*, .0270, .2371 , • 1 1?6,
1 .0608, . 11*66, .0367, .2516, .0283, -3750, .0802,
2 .1 3^9,. 0353,. 01 61,. 1392,. 0263,. 1899,. 0526,
2 .0786, .0137, .011*9, .0778, .0000, .2780, .0750/

Zero out tampering effects group sizes (EGS) array.





















-------
                                           C-125

                        Appendix C:  MOBILES Subroutine EFFGRP
May 5, 1989
208058
^Pt)8o60
208061
208062
208063
208064
208065
208066
208067
208068
208069
208070
208071
208072
208073
208074
208075
208076
208077
208078
208079
208080
208081
208082
208083
208084
•8085
8086
208087
208088
208089
208090
208091
208092
208093
208094
208095
208096
208097
208098
208099
208100
208101
208102
208103
208104
208105
208106
208107
208108
208109
208110
^08111
•8112
208113
208114
208115




C
C
C
C
C

C
C
C


C

C
C
C


C
C
C

C
C
C

C
C
C
C


C


C


C
C
C
C
C




C
C
C
C
C
                 DO 20 IPG=1,2
                 DO 10 IEG=1,7
                 EGS(IEG,IPG)=0.0
              10 CONTINUE
              20 CONTINUE

              Add in each equipment (technology)  group's before and after anti-tamper ing
              program (ATP)  start year contribution to each EGS category for each
              pollutant  group.

                 DO 80 IPG=1,2

              Set ATR pointer for 1st  3 sizes:  HC/CO => use AIRS, NOX => use EGRS.

                 IF(IPG.EQ.l)  JPGD=1
                 IF(IPG.EQ.2)  JPGD=5

                 DO 70 IQG=1,6

              Lookup technology group  size to be used on this pass.

                 IG1 = ITAMPT(1)
                 TGSUSE=TGS(IG1,IQG.IVTAM)

              Check how technology type 6 size affect tampering rates.

                 CALL TECHO(*70)

              HC 6 CO effects category sizes are identical => only 2 pollutant passes.

                 DO 65 IAY=1,2

              Skip to end of  loop if  no mileage accumulated  (hence no tampering)
              for the pre/post ATP year case being checked.

                 IF (IAY.EQ.1.AND.LMYRVT.EQ.2.AND.LDXSY.GT.JDX)  GOTO 65
                 IF(IAY.EQ.2.AND.LMYRVT.EQ.1) GOTO 65

                 IF(MY.LE.1980) IGCSF=1
                 IF(MY.GE.1981) IGCSF=2

                 CALL C1T07(CSF1ST(1,IPG,IGCSF))
                 CALL C8T012

              The first  calculation pass can produce negative sizes for the no
              overlap (8-11) and the no effects (12) categories.  Correct these
              by calling A8T011 and ADJ12, respectively.

                 DO 30 IC=8,11
                 IF(CSIZE(IC,IAY).LT.O) CALL ABTOll(IC)
              30 CONTINUE
                 IF(CSIZE(12,IAY).LT.O) CALL ADJ12 (CSF 1ST)

              "Subsequent"  (to ATP start year)  pass + have split mileage case «>
              "subsequent" category siae = overall size - "previous" size

              I .-e., in the split mileage case,  the program computes the previous  to

-------
                   C-126




Appendix C: MOBILES Subroutine EFFGRP
May 5, 1989
208116
208117
208118
208119
208120
208121
208122
208123
208121*
208125
208126
208127
208128
208129
208130
208131
208132
208133
208131*
208135
208136
208137
208138
208139
20811*0
208U1
20811*2
20811*3
20811*1*
20811*5
20811*6
C
C
C
C
C




C
C
C
C

C
C
C



C
C
C

C



C


ATP start year and
overall values up to this point. After this next
loop assigns the subsequent values as residuals, the program works
di rectly wi th the
and SETEGS.

IF (IAY.EQ.1.0R.
DO 1*0 IO1.12
CSIZE(IC,2)=CSI
1*0 CONTINUE

previous and subsequent cases in the calls to ATPEFF


LMYRVT.EQ.l.OR.LDXSY.GT.JDX) GOTO 50

ZE(IC,2)-CSIZE(IC,1)


Check if ATP covers this MY. Yes => apply effectiveness factors to the
category sizes.

50 IF (LMYRVT.EQ.2)

Otherwise just shi

DO 55 101,12
CSAE(IC)=CSIZE (
55 CONTINUE



CALL ATPEFF (*60)

ft lAY's sizes to CSAE without modification.


1C, IAY)


Set the effects group sizes.

60 CALL SETEGS

65 CONTINUE
70 CONTINUE
80 CONTINUE

RETURN
END










-------
                                           C-127
209000
       Appendix C: MOBILEl* Subroutine EMI RAT




SUBROUTINE EMIRAT(IDX)
                                                                                 May 5,  1989
«9001
9002
209003
209001*
209005
209006
209007
209008
209009
209010
209011
209012
209013
209011*
209015
209016
209017
209018
209019
209020
209021
209022
209023
209021*
209025
209026
^•K09027
^^09028
209029
209030
209032
209033
209031*
209035
209036
209037
209038
209039
20901*0
20901*1
20901*2
20901*3
20901*1*
20901*5
20901*6
20901*7
20901*8
20901*9
209050
209051
209052
^|p9053
^^)905i*
209055
209056
209057
C
C EMI RAT computes / assigns emission impact rates for the tampering effects
C groups.
C
C Called by TAMPER.
C
C Calls ITAMPT, OUTPOL.
C
C Input on cal 1 :
C
C parameter list: IDX
C common blocks:
C /EGSCAL/ TGS
C /EMECAL/ EM3W,EMOX,EMEGR
C /FLAGS1*/ IDLFLG
C /LOOKUP/ IVTAM
C /MAXIMA/ MAXPOL
C /TAMID1/ EMI3W.EMIOX
C
C Output on return:
C
C common blocks:
C /EGSCAL/ OPENLP
C /EMECAL/ EMI
C /LOOKUP/ IQG
C /TAMID1/ EMIDL
C
C Local variable dictionary:
C
C Name Type Description
C POX R percentage of vehicles equipped with oxidation
C POXN R POX normalized to ox cat equipped / all cat equ




























catalysts
ipped
C P3W R percentage of vehicles equipped with 3~way catalysts
C P3WN R P3W normalized to 3-way cat equipped /all cat
C TK R percentage of fleet equipped with catalysts
C
C Notes:
C
C EMI RAT was modified for MOBILEl*.
C
C
INTEGER PRTFLG.HCFLAG
C
COMMON /EGSCAL/ AER (11 , 1 1 , 2,2) , TGS (1 1 ,6,1*) , EGS (7,2) .OPENLP
COMMON /EMECAL/ EM3W (3,3, 3) , EMOX (3, 3,3) , EMEGR (1*,3,3) , EMI (7
COMMON /FLAGS1*/ PRTFLG, 1 DLFLG.NMHFLG.HCFLAG
COMMON /MAXIMA/ MAXVEH.MAXLTW, MAXPOL, MAXREG.MAXYRS
COMMON /TAMID1/ EMI 3W (3,3, 3) , EMI OX (3,3,3) , EMI DL (3,1*. 3)
COMMON /TAMID2/ MYI OLE (3,3) , 1 EK
COMMON /LOOKUP/ IVTAM, 1 QG, 1 PG.JPGD, 1 HG, IGCSF
C
equi pped









(20,1*)
,3,3)






C Compute the percentage of vehicles equipped with 3~way and oxidation
C catalysts.
C
P3w=o.o
DO 10 IQG=5,6





-------
                             C-128
209058
209059
209060
209061
209062
209063
209061*
209065
209066
209067
209068
209069
209070
209071
209072
209073
209071*
209075
209076
209077
209078
209079
209080
209081
209082
209083
209081*
209085
209086
209087
209088
209089
209090
209091
209092
209093
209091*
209095
209096
209097
209098
209099
209100
209101
209102
209103
209105
209106
209107
209108
209109
209HO
2091H
209H2
209H3
209H1*
209H5



C






C
C
C

C
C
C



C
C
C
C
C
C

C
C
C

C
C
C


C
C
C
C
C
C
C
C
C
C



C
C
C


C
C
C
          Appendix C: MOBILES Subroutine EMIRAT                   May 5, 1989

   IG1 = ITAMPT(1)
   P3VNP3W+TGS (IG1,IQG,IVTAM)
10 CONTINUE

   POX=0.0
   DO 20 IQG=2,3
   IG1 = ITAMPT(1)
   POX=POX+TGS(IG1,IQG,IVTAM)
20 CONTINUE
   POX=POX-P3W

Normalize the percentages in order to use them as weights.

   TK=P3W+POX

Avoid divide by zero runtime error.

   IF (TK.EQ.0.0)  TK=1.0
   P3WN=P3W/TK
   POXN=POX/TK

Estimate open loop percentage as the complement of the 3~way catalyst
percentage.  Note that in TAMPER, the IDX = 1 = 20+ MY cell case  is skipped.
One result is that OPENLP for this case remains zero and hence  in EFCALX
zeroes out the corresponding open loop exhaust HC credit.

   OPENLP(IDX,IVTAM)=1.0-P3W

Determine pollutants

   CALL OUTPOL(IP1,IP2)

Compute / assign emissions impact for each bag for each pollutant.

   DO 50 IP=IP1,IP2
   DO 1*0 IB=1,3

Air pump disablement  (air pump only equipped) emission impact  is  the
oxidation catalyst emission for the given bag and pollutant.  These
numbers are constant with respect to model year and vehicle type  and
therefore are hardcoded  in BLOCK DATA into EMI (1,IB,IP).  Note  that
EMI (1,IB,IP)  = EMOX(I.IB.IP)  for all IB,IP.   If EMI for air pump
disablement becomes variable in MOBILEM-, the code will be  inserted here.

Next 3 effects groups use the catalyst type weighted emissions.

   DO 30 IEG=2,1*
   IEK=IEG-1
   EMI (IEG,IB,IP)=P3WN*EM3W(IEK, IB, I P)+POXN*EMOX (I EK, I B, IP)
30 CONTINUE

Get EGR only MY group pointer and look up corresponding emission  impact.

   IG2=ITAMPT(2)
   EMI (5,IB,IP)-EHEGR(IG2,IB.IP)

EGR disabled / catalyst  removed and EGR disabled / misfueled emissions are.
a constant function of bag -and pollutant.  As with group  1, the values are

-------
                   C-129




Appendix C: MOBILE** Subroutine EMI RAT
May 5, 1989
209116
K>9H7
P>9118
209119
209120
209121
209122
209123
20912**
209125
209126
209127
209128
209129
209130
209131
209132
209133
209134
209135
209136
209137
209138
209139
20911*0
209141
C
C
C
C
C


C
C
C




C
C
C






C


hardcoded in BLOCK DATA into EMI (6, IB, IP) and EMI (7, 1 B, 1 P) , respectively.
Future versions of the model may vary these emissions on some other
parameter (s) such as model year and vehicle type, in which case the
computation / assignment of values would go here.

40 CONTINUE
50 CONTINUE

If idle ef requested do emission impact rates for idle tampering effects.

IF (IDLFLG.EQ.l) GOTO 80
DO 70 IP=1,MAXPOL
DO 60 IEG=2,4
IEK=IEG-1

Get model year group pointer for idle tampering rates

IGTIDL=ITAMPT(5)
EMIDL (IGTIDL, IEG, 1 P) =P3WN*EMI 3W (IGTI DL, IEK, IP) +
* POXN*EMIOX(IGTIDL, IEK, IP)
IF (IEG.EQ.2) EMIDL ( IGTIDL, 1, IP) =EMIDL( IGTIDL, IEG, IP)
60 CONTINUE
70 CONTINUE

80 RETURN
END

-------
                   C-130




Appendix C: MOBILE** Subroutine BAGEME
May 5, 1989
210000
210001
210002
210003
21000**
210005
210006
210007
210008
210009
210010
210011
210012
210013
210014
210015
210016
210017
210018
210019
210020
210021
210022
210023
210024
210025
210026
210027
210028
210029
n 1 f\f\ ?f\
£. 1 UU^U
210031
210032
210033
210031*
210035
210036
210037
210038
210039
210040
210041
210042
210043
210044
210045
210046
210047
210048
210049
210050
210051
210052
210053
210054
210055
210056
210057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C










C

C
C
C
C


SUBROUTINE BAGEME

BAGEME multiplies the effects group sizes times the corresponding
weighted emission impact rates to get the tampering bag emission effects
and idle tampering offsets.

Cal led by TAMPER.

Input on cal 1 :

common blocks:
/EGSCAL/ EGS
/EMECAL/ EMI
/FLAGS4/ IDLFLG
/LOOKUP/ IVTAM
/MAXIMA/ MAXPOL
/MYCODE/ IDX
/TAMID1/ EMIDL

Output on return:

common blocks:
/LOOKUP/ IPG
/TAMID2/ IEK
/TAMID3/ OFFIDL
/TAMOUT/ TAMBAG

Local variable dictionary:

Name Type Description
EMSUM R tampering emission effects sum for given IVTAM, IDX, IP 6
EISUM R idle tampering emission effects sum for given IDX & IP
Notes:

BAGEME was modified for MOBILE4.


INTEGER PRTFLG.HCFLAG

COMMON /EGSCAL/ AER (1 1 , 1 1 ,2,2) ,TGS(11,6,4) , EGS (7, 2) , OPENLP (20,4)
COMMON /EMECAL/ EM3W(3, 3,3) , EMOX (3, 3,3) .EMEGR (4, 3,3) , EMI (7, 3, 3)
COMMON /FLAGS4/ PRTFLG, 1 DLFLG.NMHFLG.HCFLAG
COMMON /LOOKUP/ IVTAM, 1 QG, 1 PG.JPGD, 1 HG, 1 GCSF
COMMON /MAXIMA/ MAXVEH.MAXLTW, MAXPOL, MAXREG.MAXYRS
COMMON /MYCODE/ MY, I DX, JDX, LDXSY, LMYRVT, 1 AY, IMDXSY, 1 MK 1 NK
COMMON /TAMID1/ EMI 3W (3,3,3) , EMI OX (3,3,3) , EMI DL (3,4, 3)
COMMON /TAMID2/ MY 1 DLE (3,3) , 1 EK
COMMON /TAMID3/ OFF 1 DL (3,20,4)
COMMON /TAMOUT/ TAMBAG (3,3,20,4) ,THS (2,20,4) ,TDU (20,4) ,TCC (20,4)

DO 40 IP-1, MAXPOL

Effects group sizes are identical for HC and CO, but the emissions
impacts are not.

IPG=1
IFOP..EQ.3) IPG=2
                                                               IB

-------
                          C-131

       Appendix C: MOBILES Subroutine BAGEME
May 5, 1989
210058
^^10059
^00060
210061
210062
210063
21006*4
210065
210066
21006?
210068
210069
210070
210071
210072
210073
21007**
210075
210076
210077
210078
210079
210080
210081
210082
210083
210081*
^^10085
C


C


10
C

20
C
C If
C


C





30
C

ko
C


DO 20 IB=1,3
EMSUM=0.0

DO 10 IEG=1,7
EMSUM=EMSUM+EGS(IEG, IPG)*EMI (I EG, IB, IP)
CONTINUE

TAMBAG (IB,IP,IDX,IVTAM)=EMSUM
CONTINUE

idle ef requested,  do  idle  tampering offset  for  current  IP & IDX case.

IF(IDLFLG.EQ.l)  GOTO kO
EISUM=0.0

DO 30 IEG=1,1*
IEK=IEG-1
IF(IEG.EQ.l) IEK-1
IGTIDL=ITAMPT(5)
EISUM=EISUM+EGS(IEG,IPG)*EMIDL (IGTIDL,I EG,IP)
CONTINUE

OFFIDKIP, IDX, I VTAM) =E I SUM
CONTINUE

RETURN
END

-------
                   C-132




Appendix C: MOBILES Subroutine EVPEME
May 5, 1989
211000
211001
211002
211003
211004
211005
211006
21100?
211008
211009
211010
211011
211012
211013
211014
211015
211016
211017
211018
211019
211020
211021
211022
211023
211024
211025
211026
211027
211028
211029
211030
o i i n 7 i
<: I I U^ 1
211032
211033
211034
211035
211036
211037
211038
211039
211040
211041
211042
211043
211044
211045
211046
211047
211048
211049
211050
211051
211052
211053
211054
211055
211056
211057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C






C
C
C
C
C
C
C
C
SUBROUTINE EVPEME

EVPEME serves the same functions for evaporative (evap = hot soak + diurnal)
and crankcase (cc) HC as EFFGRP, EMIRAT and BAGEME do for exhaust IP,
producing hs 6 du HC tampering rates 6 cc HC offset. The task is simplified
into one subroutine because there is no overlap categorization or
weighting. The appropriate numbers are looked up and multiplied
together with only ant i -tamper ing effectiveness reductions (if any) applied.

Called by TAMPER.

Calls ITAMPT.OTCALC.

1 nput on cal 1 :

common blocks:
/EVPDAT/ EVPAER.EVPTGS.CCEMI
/LOOKUP/ IVTAM
/MYCODE/ IDX,JDX,LDXSY,LMYRVT
/TAMEQ2/ BTR

Output on return:

common blocks:
/LOOKUP/ IHG
/TAMOUT/ THS,TDU,TCC
/TAMOU2/ TOB.GCONLY

Local variable dictionary:

Name Type Description
OTR R overall (previous + subsequent my ranges) tampering rate
OTRCAR R carbureted hot soak affecting overall tampering rate
OTRINJ R fuel injected hot soak affecting overall tampering rate
PCTEQP R percentage of IVTAM fleet equipped with IHG technology,
given IG3

Notes:

EVPEME was modified for MOBILE4 for AER/EVPAER internal generation.
EVPEME was modified for MOBILE4, updating common block declarations.


COMMON /EVPDAT/ EVPAER (3,2) , EVPTGS (3,2 ,4) .CCEMI (7,4)
COMMON /LOOKUP/ 1 VTAM, 1 QG, 1 PG, JPGD, 1 HG, 1 GCSF
COMMON /MYCODE/ MY, 1 DX, JDX, LDXSY, LMYRVT, 1 AY, 1 MDXSY, IMK 1 NK
COMMON /TAMEQ2/ BTR (9, 2)
COMMON /TAMOUT/ TAMBAG (3,3.20,4) ,THS(2,20,4) ,TDU(20,4) ,TCC(20,4)
COMMON /TAMOU2/ TOB (20,4) .GCONLY (20,4)

For MOBILE4, crankcase (IH = 3) processing does not change.
Diurnal processing only changes in its selection of the new evaporative
cannister + gas cap tampering (ID = 8) instead of the previously used
evaporative cannister only (ID = 6). Since aside from data point selection,
the procedures for calculating the diurnal and crankcase offsets are the
same, a loop structure remains the convenient way to program the procedure
Hot soak, on the other hand, has become more complicated and has therefore

-------
                                           C-133

                        Appendix C: MOBILE4 Subroutine EVPEME                   May 5,  1989

211058     C  been pulled from the old IH loop and treated separately, after the diurnal
 11059     C  and crankcase offsets have been computed.
w 11060     C
211061     C  MOBILE4 defers HS and DU tampering offset calculation to CCEVRT,
211062     C  returning only the $ equipped * overall tampering rates instead.
211063     c
211064           DO 10 IH=2,3
211065     c
211066     C  There are only two evaporative cases, not three, when indexing the
211067     C  anti-tamper ing effectiveness rates, evaporative technology group sizes,
211068     C  and the model year groups for the group sizes and the evaporative emission
211069     C  impact rates:  for these arrays, the hot soak and diurnal numbers are
211070     C  identical.   For convenience we use IHG  instead of IH  in these arrays.
211071     c
211072            IHG=IH-1
211073     C
211074     C  Assign the tampering index  (see paragraph preceding DO statement).
211075     C
211076            ID=9-IHG
211077     C
211078     C  Get the overall tampering rate.  As  in DISATP, there are 3 cases:
211079     C
211080     C     (1) No ATP or its start year is after ICY or IDX  is not in affected my
211081     C        range: use the "previous" base rate without applying the
211082     C        effectiveness rates.
211083     c
211084            IF(LMYRVT.EQ.l) OTR=BTR (ID,1)
 11085     c
 11086     C     (2) There  is an ATP and  its start year is before  IDX and IDX is in the
211087     C        affected my range: use the "subsequent" rate  * the effectiveness
211088     C        rate.
211089     c
211090            IFUMYRVT.EQ.2.AND.LDXSY.GT.JDX.AND.ID.EQ.7)
211091          *  OTR=OTCALC(ID,2,IHG,2)
211092            IF(LMYRVT.EQ.2.AND.LDXSY.GT.JDX.AND.ID.EQ.8)
211093          *  OTR=OTCALC(ID-2,2,IHG,2)+OTCALC(ID.2,3,2)-OTCALC(ID-2,2,3,2)
211094     C
211095     C     (3) There  is an ATP and  its start year is at or after IDX but before  ICY
211096     C        and  IDX  is  in the affected my range: sum the  rates * their
211097     C        corresponding effectiveness rates.  Note that in this case, BTR holds
211098     C        the "previous" and overall rates => subtract  1st from 2nd to get  the
211099     C        "subsequent" rates.
211100     C
211101            IF(LMYRVT.EQ.2.AND.LDXSY.LE.JDX.AND.ID.EQ.7)
211102          *  OTR=OTCALC(ID,1, I HG, D+OTCALC (I D,2, I HG,2)-OTCALC (I D, 1, IHG,2)
211103            IFUMYRVT.EQ.2.AND.LDXSY.LE.JDX.AND.ID.EQ.8)
211104          *  OTR=OTCALC(ID-2,1, IHG, D+OTCALC (I D, 1 ,3, 1) -OTCALC (ID-2, 1,3,1)
211105          *     +OTCALC(ID-2,2,IHG,2)+OTCALC(ID,2,3,2)-OTCALC(ID-2,2,3,2)
211106          *    -(OTCALC(ID-2,1,IHG,2)+OTCALC(ID,1,3,2)-OTCALC(ID-2,1,3,2))
211107     C
211108     C  Lookup model year group pointers.
211109     C
211110            IG3=ITAMPT(3)
 11111     C
  1112            IF(IH.EQ.3)  IG4=ITAMPT(4)
^11113     C
211114     C  Lookup and apply the percentage equipped and emission impact factors.
211115     c

-------
                                           C-134

                        Appendix C: MOBILES Subroutine EVPEME                   May 5, 1989

211116           PCTEQP=EVPTGS(IG3,IHG,I VTAM)
211117           IF(IH.EQ.2)  TDU(IDX,IVTAM)=OTR*PCTEQP
211118           IF(IH.EQ.3)  TCC(IDX, IVTAM)=OTR*PCTEQP*CCEMI (IG4.IVTAM)
211119        10 CONTINUE
211120     C
211121     C  Now calculate the hot soak offset.  This case  is complicated by both the
211122     C  usage of 2 tampering types (evaporative cannister only and evaporative
211123     C  cannister plus gas caps)  and the weighting together of fuel injected and
211121*     C  carbureted emission  impact rates.
211125     C
211126           IH=1
211127           IHG=IH
211128     C
211129     C  Assign the carbureted tampering  index = evaporative cannister only, since
211130     C  carbureted hot soak HC is not affected by gas cap tampering.  The fuel
211131     C  injected index is ID+2 = 8 = cannister + gas caps.
211132     c
211133           ID=6
211134     C
211135     C  Get the overall tampering rates.  As with diurnal and crankcase, there are
211136     C  3 cases, but now 2 rates are computed.
211137     C
211138     C     (1) No ATP or its start year  is after ICY or  IDX is not  in affected my
211139     C        range: use the "previous"  base rate without applying the
211140     C        effectiveness rates.
211141     C
211142           IF(LMYRVT.NE.l) GOTO 20
211143           OTRCAR=BTR(ID,1)
211144           OTRINJ=BTR(ID+2,1)
211145           GOTO 40
211146     C
211147     C     (2) There is an ATP and its start year is before IDX and  IDX  is in the
211148     C        affected my range: use the "subsequent"  rate * the effectiveness
211149     C        rate.
211150     c
211151        20 IF(LDXSY.LE.JDX) GOTO 30
211152           OTRCAR=OTCALC(ID,2,IHG.2)
211153           OTRINJ=OTCALC(ID,2, IHG,2)+OTCALC(ID+2,2,3,2)-OTCALC(ID,2,3,2)
211154           GOTO 40
211155     C
211156     C     (3) There is an ATP and its start year is at  or after  IDX but before  ICY
211157     C        and  IDX  is  in  the affected my range: sum  the rates * their
211158     C        corresponding effectiveness rates.  Note  that in this case, BTR holds
211159     C        the "previous" and overall rates => subtract 1st from 2nd to get  the
211160     C        "subsequent" rates.
211161     C
211162        30 OTRCAR=OTCALC(ID,1, I HG, D+OTCALC (I D,2, IHG.2)-OTCALC (I D, 1, I HG.2)
211163           OTRINJ=OTCALC(ID,1,IHG,1)+OTCALC (ID+2,1,3,1) -OTCALC(ID,1,3,1)
211164          *      +OTCALC(ID,2,IHG,2)+OTCALC(ID+2,2,3,2)-OTCALC(ID.2,3,2)
211165          *     - (OTCALC(ID,1,IHG,2)+OTCALC (ID+2,1,3,2)-OTCALC (ID,1,3,2))
211166     C
211167     C  Save the unweighted  (by PCTEQP)  Evaporative Cannister  (EC) Only tampering
211168     C  rate for figuring the On Board  (OB) EC tampering  impact  on refueling  losses.
211169     C  Lookup model year group pointer  for the percentage equipped table.
211170     c
211171        -40 TOB(IDX,IVTAM)=OTRCAR
211172           IG3=ITAMPT(3)
211173     C

-------
                   C-135

Appendix C:  MOBILES Subroutine EVPEME                   May 5, 1989

                                           and apply it to
                                             and fuel injected
21
ft
•
fl
21
21
21
21
21
21
21
21
21
21
21
117*4
1175
1176
1177
1178
H79
1180
1181
1182
1183
118*4
1185
1186
1187
1188
C
C
C
C



C
C
C


C


Lookup the percentage equipped with canisters factor i
the otr's to get the tampered percentage of carburetei
cases for hot soak.

PCTEQP=EVPTGS(IG3, IHG, 1 VTAM)
THS(1, IDX,IVTAM)=PCTEQP*OTRCAR
THS (2 , 1 DX , 1 VTAM) =PCTEQP*OTR I NJ

Store the gas cap only tampering values for running li

GCONLY ( 1 DX , 1 VTAM) =OTR 1 N J-OTRCAR
IF (GCONLY (IDX, 1 VTAM) .LT.0.0) GCONLY (IDX, 1 VTAM) =0.0

RETURN
END
                                          loss weighting.

-------
                   C-136



Appendix C: MOBILE** Function OTCALC
May 5, 1989
212000
212001
212002
212003
212004
212005
212006
212007
212008
212009
212010
212011
212012
212013
2 12014
212015
212016
212017
212018
212019
212020
21 ono i
1 ZUZ 1
212022
212023
212024
212025
212026
212027
212028
212029
212030
212031
212032
212033
212034
212035
212036
212037
212038
212039

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
. C
C
C
C


C

C

C

FUNCTION OTCALC (ID, 1 AYBTR, IHGEVP, IAYEVP)

OTCALC is a REAL-valued function that returns a component of the Overall
Tampering Rate (OTR) equation.

Called by EVPEME

Input on Cal 1 :

parameter list: 1 D, 1 AYBTR, IHGEVP, 1 AYEVP
common blocks:
/EVPDAT/ EVPAER
TAMEQ2/ BTR

Output on return:

function: OTCALC

Local variable dictionary:

Name Type Description


IAYBTR 1 IAY belonging to the BTR portion of the equation
IHGEVP 1 IHG belonging to the EVPAER portion of the equation
IAYEVP 1 IAY belonging to the EVPAER portion of the equation

Notes:

OTCALC was added for MOBILE4 for AER/EVPAER internal generation.
OTCALC was modified for MOBILE4, updating common block declarations.


COMMON /EVPDAT/ EVPAER (3,2) , EVPTGS (3,2,4) ,CCEMI (7,4)
COMMON /TAMEQ2/ BTR (9, 2)

OTCALC=BTR(ID, 1 AYBTR) *EVPAER (1 HGEVP, IAYEVP)

RETURN

END

-------
2 1 3000
^13001
Pi 3002
213003
213001*
213005
2 1 3006
213007
213008
213009
213010
2 1 30 1 1
213012
213013
2130U
213015
213016
213017
213018
213019
213020
213021
213022
213023
213021*
213025
213026
&13027
PI 3028
213029
213030
213031
213032
213033
213031*
213035
213036
213037
213038
213039
21301*0
21301*1
21301*2
21301*3
21301*1*
21301*5
21301*6
21301*7
21301.8
21301*9
2 1 3050
213051
213052
fc] 3053
P3054
213055
2 1 3056
213057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C




C
C
C
C
C

C
C
C
C
C


C
C
C
C




C
C
C
C

                             C-137

          Appendix C: MOBILES Subroutine TECHO

   SUBROUTINE TECHO (*)
May 5, 1989
TECHO determines whether or not to compute the effects groups for  the
passed in TGSUSE/IQG/IPG values.  If the effects loop  is to be completed,
TECHO decides what subset of BTR is to be used.

Called by EFFGRP.

Input on cal1:

  common blocks:
  /LOOKUP/  IQG,IPG
  /SIZCAL/ TGSUSE
  /TAMEQ2/ BTR

Output on return:

  common blocks:
  /MYCODE/  I AY
  /SIZCAL/ ATR

Notes:

MOBILES excludes evaporative HC  ( ID(1-?)  is now IDBAG(l-S) ).

TECHO was modified for MOBILES, updating several common block declarations.
   COMMON /LOOKUP/  IVTAM,IQG,IPG,JPGD,IHG,IGCSF
   COMMON /MYCODE/ MY,IDX,JDX.LDXSY,LMYRVT,I AY,IMDXSY,IMKINK
   COMMON /SIZCAL/ ATR (5,2),TGSUSE,CSIZE (12,2),CSAE (12)
   COMMON /TAMEQ2/ BTR (9,2)

 If technology size  is 0,  branch to the end of  the  IQG  loop.   If  no  part
of the fleet is so equipped,  then no  tampering  effects based  on  that
equipment type can occur.

   IF (TGSUSE.EQ.O) RETURN1

 If the technology type does not affect the pollutant group, branch  to  end
of IQG loop.  Tampering vehicles so equipped will  not  add  to  the level of
the pollutant (s) being emitted.

   IF (IQG.GE.U.AND.IPG.EQ.l)  RETURN!
   IF (IQG.LE.3-AND.IPG.EQ.2)  RETURN 1

Technology size is positive and tampering  it affects the pollutant  group.
The effects groups will be calculated.   First  assign the base rates.

   DO 20  IAY=1,2
   DO 10  IDBAG=1,5
   ATR (IDBAG,I AY)=BTR (IDBAG,I AY)
10 CONTINUE

Zero out  rate (s) for case(s)  where the type tampering  cannot  occur, given
the technology type.

   IFOQG.EQ.3) ATR(1,IAY)-0.0

-------
                                           C-138

                        Appendix C: MOBILES Subroutine TECHO                     May  5,  1989
213058           IFOQG.EQ.6) ATR(5, IAY)=0.0
213059           IF (IQG.NE.l.AND.IQG.NE.4) GOTO 20
213060           ATR(2,I AY)=0.0
213061           ATR(3JAY)=0.0
213062           ATR(i», I AY) =0.0
213063        20 CONTINUE
213061*     C
213065           RETURN
213066           END

-------
211*000
&1 1*00 1
P 1*002
211*003
211*001*
211*005
211*006
211*007
211*008
211*009
211*010
211*01 1
211*012
211*013
211*011*
211*015
211*016
211*017
211*018
211*019
211*020
211*021
211*022
211*023
211*021*
211*025
211*026
^11*027
^B Ln^P
^•1 HUt O
211*029
211*030
211*031
211.032
211*033
211*031*
211*035
211*036
211*037
211*038
211*039
211*01*0
211*01*1
211*01*2
21A01*3

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C


C
C
C
C



C



C


                             c-139

          Appendix C: MOBILE** Subroutine C1T07

   SUBROUTINE C1T07 (CSFUSE)
May 5, 1989
C1T07 calculates overlap categories 1 to 7 for  tampering effects.
These cover all the allowable overlap combinations of  the  k  base  tampering
cases for the bag effects for the given pollutant group.

Called by ADJ12 and EFFGRP.

Input on cal1:

  parameter list: CSFUSE
  common blocks:
  /LOOKUP/ JPGD
  /MYCODE/ I AY
  /SIZCAL/ ATR

Output on return:

  common block: /SIZCAL/ CSIZE

Notes:

none
   DIMENSION CSFUSE (7)

   COMMON /LOOKUP/  IVTAM,IQG,IPG,JPGD,IHG,IGCSF
   COMMON /MYCODE/ MY,IDX,JDX.LDXSY.LMYRVT,I AY,IMDXSY,IMKINK
   COMMON /SIZCAL/ ATR (5,2),TGSUSE,CSIZE (12,2) ,CSAE (12)

The first 7 category sizes  are computed directly from  the  size  coefficient
and tampering rates.

   DO 10 IC7=1,3
   CSIZE (IC7, IAY)=CSFUSE (I C7) *ATR (JPGD, I AY)
10 CONTINUE

   DO 20 IC7=1*,7
   CSIZE(IC7, IAY)=CSFUSE(IC7)*ATR(2, I AY)
20 CONTINUE

   RETURN
   END

-------
                    C-ll*0




Appendix C: MOBILE**  Subroutine C8T012
May 5, 1989
215000
215001
215002
215003
21500*4
215005
215006
215007
215008
215009
215010
21501 1
215012
215013
2150U
215015
215016
215017
215018
215019
215020
215021
215022
215023
21502*1
215025
215026
215027
215028
215029
215030
215031
215032
215033
21503lt
215035
215036
215037
215038
215039
21501*0
215041
215042
2150**3
21501*1)
21501*5
21501*6
21501*7
21501*8
21501*9
215050
215051
215052
215053
215054
215055
215056
215057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C




C
C
C
C







C



SUBROUTINE C8T012

C8T012 calculates category sizes 8 to 12 for tampering effects.
Categories 8 to 11 are the no overlap cases (AIRS only, CATS only, etc.).
Category 12 is no tampering at all case.

Called by ADJ12, A8T011 and EFFGRP.

1 nput on cal 1 :

common blocks:
/MYCODE/ IAY
/SIZPAR/ NTERMS, INDXCS
/SIZCAL/ CSIZE

Output on return:

common block: /SIZCAL/ CSIZE

Local array subscripts:

SUB(1») - SUB ( IS )

Local variable / array dictionary:

Name Type Description


C1ST11 R sum of the first 11 category sizes
NT 1 number of terms in SUB (IS)
SUB R sum of category sizes to be subtracted from ATR to get CSIZE,
•given IS, for sizes 8 to 11

Notes:

none


DIMENSION SUB (It)

COMMON /LOOKUP/ 1 VTAM, IQG, 1 PG, JPGD, 1 HG, IGCSF
COMMON /MYCODE/ MY, 1 DX, JDX, LDXSY, LMYRVT, 1 AY, IMDXSY, IMK 1 NK
COMMON /SIZPAR/ NTERMS (1*) , INDXCS (5,1*)
COMMON /SIZCAL/ ATR (5,2) .TGSUSE, CS IZE (12,2) ,CSAE (12)

Categories 8 to 12 are derived from the first 7- first sum up the terms to
be subtracted.

DO 20 IS=1,1»
NT=NTERMS(IS)
SUB(IS)=0.0
DO 10 ICS=1,NT
SUB(IS)=SUB(IS)+CSIZE(INDXCS(ICS, IS) JAY)
10 CONTINUE
20 CONTINUE

CSIZE (8, IAY)=ATR(JPGD, lAY)-SUB(l)
DO 30 IC=9,11
IS=IC-7

-------
                   C-1M




Appendix C: MOBILES Subroutine C8T012
May 5, 1989
215058
^15059
^•15060
^15061
215062
215063
21506A
215065
215066
215067
215068
215069
215070
215071

C
C
C
C





C


CSIZE (1C
30 CONTINUE
Assign the
percentage.

C1ST11=0
DO 1»0 1C
C1ST11=C
bO CONTINUE
CSIZE (12

RETURN
END
JAY)

12th


.0
11 = 1,
=ATR(IS, IAY) -SUB (IS)

category size (= no tampering effect) the residua



1 1
ISTll+CSIZEdCll, IAY)

JAY)




=1.0-C1ST11




-------
                   C-142




Appendix C: MOBILE4 Subroutine A8T011
May 5, 1989
216000
216001
216002
216003
216004
216005
216006
216007
216008
216009
216010
216011
216012
216013
216014
216015
216016
216017
216018
216019
216020
216021
216022
216023
216024
216025
216026
216027
216028
216029
216030
216031
216032
216033
216034
216035
216036
216037
216038
216039
216040
216041
216042
216043
216044
216045
216046
216047
216048
216049
2 1 6050
216051
216052
216053
216054
216055
216056
216057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C




C
C
C







C
C
C
SUBROUTINE A8T011 (1C)

A8T011 adjusts effects category sizes when 1 or more of the no overlap
categories 8 to 1 1 are negative.

Called by EFFGRP.

Calls C8T012.

1 nput on cal 1 :

parameter list: 1C (flags the negative category size)
common blocks:
/LOOKUP/ JPGD
/MYCODE/ IAY
/SIZCAL/ CSIZE
/SIZPAR/ NTERMS, INDXCS

Output on return:

common block: /SIZCAL/ CSIZE

Local array subscripts:

ADJFAC(2) - ADJFAC ( 1 ADJ )

Local variable / array dictionary:

Name Type Description


ADJFAC R adjustment factor computed and used to modify CSIZE
DIV R divisor in ADJFAC(l) formula = sum of subset of CSIZE
NT R number of CSIZE terms in DIV

Notes:

none


DIMENSION ADJFAC (2)

COMMON /LOOKUP/ 1 VTAM, 1 QG, 1 PG, JPGD, 1 HG, IGCSF
COMMON /MYCODE/ MY, 1 DX, JDX, LDXSY, LMYRVT, 1 AY, IMDXSY, IMK INK
COMMON /SIZCAL/ ATR (5,2) .TGSUSE, CSI ZE (12,2) ,CSAE (12)
COMMON /SIZPAR/ NTERMS (4) , 1 NDXCS (5,4)

Sum up the same terms subtracted off to get CSIZE (1 C, 1 AY) .

IS=IC-7
NT=NTERMS(IS)
DIV=0.0
DO 10 ICS=1,NT
JCS=INDXCS(ICS,IS)
DIV=DIV+CSI2E(JCS,IAY)
10 CONTINUE

Divide the sum into the tamper rate for the no overlap case (no other
tamper types occurring) case that is being computed. The result is the

-------
Appendix C: MOBILES Subroutine A8T011
May 5, 1989
216058
•16059
16060
216061
216062
216063
216061*
216065
216066
216067
216068
216069
216070
216071
216072
216073
216071+
216075
216076
216077
216078
216079
216080
216081
216082
216083
216081*
^tf 16085
•16086
^16087
216088
216089
216090
216091
216092
216093
216091*
216095
216096
216097
216098
216099
C
C
C




C
C
C
C
C
C






C
C
C
C




C
C
C
C

C
C
C
C
C
C
C
C


first adjustment factor. One minus the result is the second adjustment
factor .

IAD- IS
IF(IAD.EQ.l) IAD=JPGD
ADJFAC(1)=ATR(IAD,IAY)/DIV
ADJFAC(2)=1.0-ADJFAC(1)

Multiply the second adjustment factor times the appropriate 1C overlap
case and add to the related no-l C-occurr ing overlap case. The uncorrected
1C values are required for this step. Hence, ADJFAC(2) is applied before
ADJFAC(l) .

1 F ( 1 C . EQ. 8) CS 1 ZE (6 , 1 AY) =CS 1 ZE (6 , 1 AY) +CS 1 ZE (1* , 1 AY) *AD JF AC (2)
IF (IC.EQ.8) CSIZE(7, 1 AY)=CSIZE (7, IAY)+CSIZE (5, 1 AY) *ADJFAC (2)
IF (IC.EQ.9) CSIZE(2, 1 AY) =CS 1 ZE (2, 1 AY)+CS 1 ZE (1», 1 AY) *ADJFAC (2)
1 F ( 1 C . EQ. 9) CS 1 ZE (3, 1 AY) =CS 1 ZE (3 , 1 AY) +CS 1 ZE (5 , 1 AY) *AD JF AC (2)
IF (IC.EQ.10) CSIZE (1, IAY)=CSIZE (1, IAY)+CSIZE(1*. 1 AY) *ADJFAC (2)
IF (IC.EQ.ll) CSIZEO, IAY)=CSIZE (1, IAY)+CSIZE(5, 1 AY) *ADJFAC (2)

Multiply the first adjustment factor times each of IC's overlap cases to
correct their values. This completes the adjustment of sizes 1 to 7-

DO 20 ICS=1,NT
JCS=INDXCS(ICS, IS)
CSIZE(JCS, IAY)=CSIZE(JCS, 1 AY) *ADJFAC (1)
20 CONTINUE
Recalculate category sizes 8 to 12. Use the same code as used on the
previous calculation (s) .

CALL C8T012

Size adjustment for category 1C is finished. Note that the process
increases the size by decreasing the related overlap category sizes. The
other non-overlap categories will either also increase in size or not be
affected. Fixing one negative 8-11 size will never drive another 8-11 size
negative. The code therefore does not have to go back and check for such
a result.

RETURN
END

-------
                    C-l*4*4




Appendix C: MOBILE** Subroutine ADJ12
May 5,  1989
217000
217001
217002
217003
21700**
217005
217006
217007
217008
217009
217010
217011
217012
217013
21701*4
217015
217016
217017
217018
217019
217020
217021
217022
217023
21702*4
217025
217026
217027
217028
217029
217030
217031
217032
217033
21703*4
217035
217036
217037
217038
217039
2170*40
2170*4!
2170*42
2170*43
2170*4*4
2170*45
2170*46
2170*47
2170*48
2170*»9
2 1 7050
217051
217052
217053
21705^
217055
217056
217057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C



C
C
C




C
C
C
C



C
SUBROUTINE ADJ12 (CSF 1ST)

ADJ12 adjusts all category sizes to eliminate a negative category 12
s ize.

Called by EFFGRP.

Calls C1T07 and C8T012.

Input on cal 1 :

parameter list: CSF1ST
common blocks:
/LOOKUP/ IPG
/MYCODE/ IAY
/SIZCAL/ CSIZE

Output on return:

common block: /SIZCAL/ CSIZE

Local array subscripts:

CSF2ND(7) - CSF2ND ( IC7 )

Local variable / array dictionary:

Name Type Description


CSF2ND R category size factor for 2nd calculation of CSIZE;
passed to C1T07
ADJSUM R adjustment factor to scale down 1st calculation of CSIZE

Notes:

ADJ12 was modified for MOBILE*4 to add the IGCSF dimension to CSF 1ST.


DIMENSION CSF1ST(7,2,2) ,CSF2ND(7)

COMMON /LOOKUP/ 1 VTAM, 1 QG , 1 PG , JPGD , 1 HG , 1 GCSF
COMMON /MYCODE/ MY, 1 DX, JDX, LDXSY, LMYRVT, 1 AY, IMDXSY, IMK 1 NK
COMMON /SIZCAL/ ATR (5,2) .TGSUSE , CS IZE (12,2) ,CSAE (12)

Adjustment sum is sum of the positive emission effect category sizes.

ADJSUM=0.0
DO 10 ICll-1,11
ADJSUM=AD JSUM+CS 1 ZE ( 1 C 1 1 , 1 AY)
10 CONTINUE

Apply adjustment sum to all the 1st calculation category size factors
to get the 2nd calculation size factors.

DO 20 IC7=1,7
CSF2ND(IC7)=ADJSUM*CSF1ST(IC7, IPG, IGCSF)
20 CONTINUE


-------
Appendix C: MOBILES Subroutine ADJ12                    May 5, 1989

                                 .egory size 12 will go to 0.0
                                 1.0).
217058
fcl 7059
P! 7060
217061
217062
217063
217064
217065
217066
217067
217068
217069
217070
217071
217072
217073
217074
217075
C
C
C


C
C
C



C
C
C
C
C


Now recalculate all 12 category sizes, ca
(the sum of the first 11 sizes will become

CALL C1T07(CSF2ND)
CALL C8T012

Check if any of the sizes for 8 to 1 1 went

DO 30 IC=8,11
IF (CSIZE(IC, IAY) .LT.O) CALL A8T011(IC)
30 CONTINUE

2nd adjustments to 8-11 will not drive 12
CSF's. Hence, we do not need to check 12
the whole procedure recursive and probably

RETURN
END
                                 negative on the recalculation.
                                negative, due to the changed
                                again.  Checking again would make
                                 open to infinite loops.

-------
                   C-146




Appendix C: MOBILES Subroutine ATPEFF
May 5, 1989
218000
218001
218002
218003
218001*
218005
218006
218007
218008
218009
218010
218011
218012
218013
21 SOU
218015
218016
218017
218018
218019
218020
218021
21 Drt ") "5
1 OUZ2
218023
218024
218025
218026
218027
218028
218029
218030
218031
218032
218033
218034
218035
218036
218037
218038
218039
21801*0
218041
218042
218043
218044
218045
218046
218047
218048
218049
218050
218051
218052
218053
218054
218055
218056
218057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C




C
C
C
C

C
C
C
C
C
C
C
C
C


C



C


SUBROUTINE ATPEFF (*)

ATPEFF applies the ant i -tamper ing effectiveness factors to the 11
positive tampering effect categories.

Called by EFFGRP.

Input on cal 1 :

common blocks:
/EGSCAL/ AER
/LOOKUP/ IPG
/MYCODE/ IAY
/SIZCAL/ CSIZE

Output on return:

common block: /SIZCAL/ CSAE

Local variable dictionary:

Name Type Description


C1ST11 R sum of first 11 category sizes, assigned" as 12th category
s ize

Notes:

none


COMMON /EGSCAL/ AER (1 1 , 1 1 ,2,2) ,TGS(11,6,4) ,EGS(7,2) ,OPENLP (20,4)
COMMON /LOOKUP/ IVTAM, 1 QG, 1 PG, JPGD, 1 HG, IGCSF
COMMON /MYCODE/ MY, 1 DX, JDX, LDXSY, LMYRVT, 1 AY, IMDXSY, IMK INK
COMMON /SIZCAL/ ATR (5,2) .TGSUSE, CS IZE (12,2) , CSAE (12)

The sum of the 11 positive categories will be subtracted from 1.0 to get
the 12th, no effect, category.

C1ST11=0.0

ATP effectiveness modified size 1 COL will be the product of the entire
unmodified row size vector times the ICOL'th column of the effectiveness
matrix for the given pollutant group and pre/post ATP year case.

The effectiveness matrices are currently identical. Each has the major
diagonal all 1.0's and all other cells 0.0. the result of this subroutine
is thus to merely echo CSIZE into CSAE with no changes.

DO 20 ICOL=1,11
CSAE (1 COL) =0.0

DO 10 IROVM.ll
CSAE (ICOL)=CSAE (ICOL)+CSIZE (IROW, 1 AY) *AER (1 ROW, ICOL, IPG, IAY)
10 CONTINUE

C1ST11=C1ST11+CSAE(ICOL)
20 CONTINUE

-------
                        Appendix C:  MOBILES Subroutine ATPEFF                   May 5, 1989

218058     c
  18059     C  The no effects case is not used hereafter.  It is only computed for
  8060     C  error checking.
218061     c
218062           CSAE(12)=1.0-C1ST11
218063           RETURN1
218061*           END

-------
                   C-148



Appendix C: MOBILES Subroutine SETEGS
May 5, 1989
2 1 9000
219001
219002
219003
21 9004
2 1 9005
219006
219007
219008
219009
219010
219011
219012
219013
2190H4
219015
219016
219017
219018
219019
219020
219021
219022
219023
219024
219025
219026
219027
219028
219029
219030
219031
219032
219033
219034
219035
219036
219037
219038
219039
219040
219041
219042
219043
219044
219045
219046
219047
219048
219049
219050
219051
219052
219053
219051*
219055
219056
219057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C



C




C
C
C
C


C
C
SUBROUTINE SETEGS

SETEGS sets the effects group sizes by combining subsets of the



overlap category sizes and weighting by the technology group sizes.

Called by EFFGRP.

1 nput on cal 1 :

common blocks:
/LOOKUP/ IQG.IPG
/SIZCAL/ TGSUSE.CSAE

Output on return:

common block: /EGSCAL/ EGS

Local array subscripts:

INDXEG(6,7,2) - INDXEG ( 1C, IEG, 1 PG )
INDXPG(2,2) - INDXPG ( ILU, 1 PG )
NEGC(7,2) - NEGC ( IEG, IPG )

Local variable / array dictionary:

Name Type Description


INDXEG 1 secondary index array: pointers to category sizes
in lEG's size sum, given IPG
INDXPG 1 loop indices array: first and last nonzero effects
sizes, given IPG
NC 1 loop test value: number of category sizes in lEG's
equation, given IPG
NEGC 1 loop test values array: looks up NC

Notes:

none


DIMENSION INDXPG (2, 2) , NEGC (7, 2) , 1 NDXEG (6,7, 2)

COMMON /EGSCAL/ AER (1 1 , 1 1 , 2,2) ,TGS (1 1 ,6,4) , EGS (7,2) .OPENLP (20
COMMON /LOOKUP/ 1 VTAM, 1 QG, 1 PG, JPGD, IHG, IGCSF
COMMON /SIZCAL/ ATR (5,2) .TGSUSE, CS 1 ZE (12,2) ,CSAE (12)

DATA INDXPG/1,4, 3, 7/, NEGC/1 , 1 ,6,4,3*0, 2*0,3,2, 1 ,3, 2/
DATA INDXEG/
l 8,5*0, 8,5*0, 1,4,5,6,7,9, 2,3,10,11,2*0, 6*0, 6*0, 6*0,
2 6*0, 6*0, 6,7,9,3*0, 10,11,4*0, 8,5*0, 1,4,5,3*0, 2,3,-4*0/



























group

size










,4)








Do not compute group sizes for cases known to be always 0 (5-7 for HC/CO
and 1-2 for NOX) .

IE1ST=INDXPG(1, IPG)
IELST= INDXPG (2, IPG)

Equipment -=-air pump /catalyst => .air pump disablement (air pump





only

-------


219058
• 19059
19060
219061
219062
219063
21906**
219065
219066
219067
219068
219069
219070
219071
219072
219073
21907*4
219075
219076
219077
219078
219079
219080
219081
219082
219083
21908*4
^^19085
^P 19086
^^19087


C
C
C
C
C
C
C

c
c
c
c
c

c
c
c

c
c
c





c


C-H9
Appendix C: MOBILES Subroutine SETEGS May 5, 1989
equipped) effects group increment = 0.0
IF (IQG.EQ.2.AND.IPG.EQ.1) IE1ST=2

Converse air pump case:

Equipment = air pump only => only effects group 1 (ap only disabled) > 0.0

IF (IQG.EQ.l .AND. IPG.EQ.l) IELST=1

For each effects group IEG, the size is the sum of the product of the
related category sizes times the technology group size for the technology
type 1 QG being evaluated on this pass.

DO 20 IEG=IE1ST, IELST

Get the number of categories involved in group IEG.

NC=NEGC(IEG, 1 PG)

Now do the sum.

DO 10 IC=1,NC
JCS=INDXEG(IC, IEG, 1 PG)
EGS (IEG, IPG)=EGS (IEG, 1 PG)+TGSUSE*CSAE (JCS)
10 CONTINUE
20 CONTINUE

RETURN
END

-------
                   c-150



Appendix C: MOBILE4 Subroutine REFUEL
May 5, 1989
220000
220001
220002
220003
22000^4
220005
220006
22000?
220008
220009
220010
220011
220012
220013
220014
220015
220016
220017
220018
220019
220020
220021
220022
220023
220021*
220025
220026
220027
220028
220029
220030
220031
220032
•5 onn 7 3
Z^UU.53
220031*
220035
220036
220037
220038
220039
220040
220041
220042
22001*3
22001*1*
22001*5
22001*6
22001*7
220048
22001*9
220050
220051
220052
220053
220054
220055
220056
220057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
£
SUBROUTINE REFUEL(ICY)

REFUEL computes the refueling losses HC in grams / mile by relative
(IDX ordered) model year for the 4 vehicle types affected.

Cal led by EFCALX.

1 nput on cal 1 :

parameter list: ICY
common blocks:
/CITRV1/ RATUNC
/CUMCOM/ CUMMIL
/FLAGS3/ RLFLAG
/IMPAR3/ IM
/MAXIMA/ MAXYRS
/RLCOM1/ ROADFE,DISPL,SPILL,OBED,OBES,OBDF
/RLCOM2/ IOBMY., IVOB, 1 S2SY.NPHASE.S2EFF (4)
/TAMOU2/ TOB
/TEMPS/ AMBT.TEMMIN.TEMMAX.TEMEVP

Output on return:

common blocks:
/RLCOM3/ RLRATE

Local array subscripts:

S2LEFT(4) - S2LEFT ( IVTAM )

Local var iable d ict ionary:

Name Type Description


IALLYR 1 all stations year: year by which phase in of Stage II vrs
controls is completed => 100% of volume of gas passes through
Stage 1 1 vrs.
IOBCHK 1 check for ob vrs installation, given ob vrs program exists:
1 = no ob vrs 2 = ob vrs installed
MDX 1 model year index into refueling loss rate arrays
S2LEFT R percentage left of uncontrolled refueling losses after Stage
II controls are applied.
S2VOL R percentage of gasoline pumped that has S2 controls applied.

Notes:

RLFLAG impact:

1 or (3 & my/iv - use the uncontrolled rl rate (assume no recovery
not in OB program) systems installed)

2 or (46 my/iv - compute and assign Stage II (S2) only vrs controlled
not in OB program)

3 or 4 and my/iv - weight uncontrolled d controlled rate by best estimate
in OB program of ob vrs tamper rate £ its complement, respectively,
to get ob only vrs controlled refueling losses.
Assume 100% installation.

-------
                   c-151
Appendix C: MOBILES Subroutine REFUEL
May 5, 1989
220058
fc0059
P0060
220061
220062
220063
22006*4
220065
220066
220067
220068
220069
220070
220071
220072
220073
22007*4
220075
220076
220077
220078
220079
220080
220081
220082
220083
22008*4
P0085
0086
220087
220088
220089
220090
220091
220092
220093
22009*4
220095
220096
220097
220098
220099
220100
220101
220102
220103
22010*1
220105
220106
220107
220108
220109
220110
KOI 1 1
^^^K
P0112
220113
22011*4
220115
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C










C

C
C
C




C
C
C
C
C






C
C
C

C




C



1* - compute and assign S2 6 ob vrs controlled losses.
See above.

5 - assign 0.0 (no losses case: results = release MOBI

The factors returned are weighted by their corresponding TF ' s and summed
across 1 DX to get the refueling loss for ICY for each IVTAM.

REFUEL was added for MOBILE*!.
REFUEL was modified for MOBILE** to add the IGD dimension.
REFUEL was modified for MOBILE**, updating common block declarations.


INTEGER ATPFLG,TPDFLG,RLFLAG,TEMFLG,OUTFMT

COMMON /CITRV1/ RVPBAS.RVPI US.RVPAST.RVPICY.RVPETH, 1 USESY.RATUNC
COMMON /CUMCOM/ CUMMIL(20,8)
COMMON /FLAGS3/ ATPFLG.TPDFLG.'RLFLAG, LOCFLG.TEMFLG.OUTFMT
COMMON /IMPAR3/ 1 MDX1 , IMDX2, IMCASE, IMVEH, IM
COMMON /MAXIMA/ MAXVEH.MAXLTW.MAXPOL.MAXREG.MAXYRS
COMMON /RLCOM1/ ROADFE (32, *4) ,DI SPL.SPI LL.OBED.OBES.OBDF (**)
COMMON /RLCOM2/ 1 OBMY, IVOB (If) , 1 S2SY, NPHASE, S2EFF (J»)
COMMON /RLCOM3/ RLRATE (20, *4)
COMMON /TAMOU2/ TOB (20,*0 .GCONLY (20, *4)
COMMON /TEMPS/ AMBT.TEMMIN.TEMMAX.TEMEXH (3) .TEMEVP (6) .TEMAST (3)

DIMENSION S2LEFT(*4)

1 ni tial ize

DO 10 IVTAM=1,*4
DO 10 IDX=1,20
RLRATE (IDX, IVTAM) =0.0
10 CONTINUE

Refueling losses are zero if any evaporative temperature is *»OF
or below, or if min temp is 25F or less, or if the no losses
case is selected.

IF(TEMMAX .LE.*»0.0 .OR.
* AMBT .LE.*»O.O.AND.TEMFLG.EQ.2 .OR.
* TEMEVP(l) .LE.*»0.0 .OR.
* TEMEVP(2) .LE.*»0.0 .OR.
* TEMMIN .LE.25.0 .OR.
* RLFLAG .EQ. 5) RETURN

If Stage II vrs requested, compute the corresponding cf by IVTAM.

IF (RLFLAG. EQ.l. OR. RLFLAG. EQ. 3) GOTO 20

IALLYR=IS2SY+NPHASE
IF(ICY.LT.IS2SY) S2VOL=0.0
1 F ( 1 CY .GE . 1 S2SY . AND . 1 CY . LT. 1 ALLYR) S2VOL= ( 1 CY- 1 S2SY) / (NPHASE*! .0)
IF(ICY.GE.IALLYR) S2VOL=1.0

S2LEFT (1) =1 .0-S2EFF (1) *S2VOL
S2LEFT(2)=S2LEFT(1)

-------
                   C-152




Appendix C: MOBILE4 Subroutine REFUEL
May 5, 1989
220116
220117
220118
220119
220120
220121
220122
220123
220121*
220125
220126
220127
220128
220129
220130
220131
220132
220133
220134
220135
220136
220137
220138
220139
220140
220141
220142
220143
220144
220145
220146
220147
220148
220149
220150
220151
220152
220153
220154
220155
220156
220157
220158
220159
220160
220161
220162
220163
220164
220165
220166
220167
220168
220169
220170
220171
220172
220173


C
C
C
C
C
C





C
C
C



C



C
C
C




C
C
C



C
C
C
C
C
C
C
C



C
C
C
C
C
C
C

C


S2LEFT(3)=S2LEFT(2)
S2LEFT(4)=1.0-S2EFF (4)*S2VOL

REFUEL is only called once per scenario, computing and saving for later
use all IVTAM * 1 DX onboard rl offsets. If RLFLAG = 3, the results are
I/M dependent and IMCHEK must be .called to determine if and when an I/M
program appl ies .

20 IF (RLFLAG. GE. 3) CALL IMCHEK (1 , 1 CY, IVTAM, 1 DX)
DO 40 IVTAM=1,4
IF (RLFLAG. GE. 3) CALL IMCHEK (2, 1 CY, IVTAM, 1 DX)
DO 30 IDX=1,MAXYRS
IF (RLFLAG. GE. 3) CALL IMCHEK (3, 1 CY, IVTAM, 1 DX)

Setup parameters for this vehicle type and model year combination:

JDX=21-IDX
VMTAGE=CUMMIL(JDX, IVTAM) /10000.
MY=ICY+IDX-20

IF (MY.LE.1969)MDX=1
1 F (MY . GT . 1 969 . AND . MY . LT . 2000) MDX=MY- 1 969+ 1
IF (MY.GE.2000)MDX=32

RLFLAG = 1: Use uncontrolled refueling loss.

IOBCHK=2
IF(MY.LT.IOBMY.OR.IVOB(IVTAM) .EQ. 1 .OR. IDX.EQ. 1) IOBCHK=1
IF (RLFLAG.EQ.l .OR. (RLFLAG. EQ. 3- AND. 1 OBCHK. EQ. 1) )
* RLRATE ( 1 DX , 1 VTAM) = (RATUNC*D 1 SPL+SP 1 LL) /ROADFE (MDX, 1 VTAM)

RLFLAG = 2: Calculate Stage II only vrs controlled loss.

IF (RLFLAG.EQ.2.0R. (RLFLAG. EQ.4. AND. 1 OBCHK. EQ. 1) )
* RLRATE ( 1 DX , 1 VTAM) = (RATUNC*S2LEFT ( 1 VTAM) *D 1 SPL+SP ILL)/
* ROADFE (MDX, IVTAM)

RLFLAG = 3; Calculate an onboard only vrs controlled refueling loss.

Use the evap cannister only (ID = 6) probability of tampering +
100% of the given IV x MY fleet is equipped. Obtain the onboard loss by
weighting the uncontrolled and controlled refueling loss rates by the
tampering rate and its complement, respectively.

IF (RLFLAG. GE. 3- AND. IOBCHK.EQ.2) RLRATE (IDX, 1 VTAM) =
* (RATUNC*(1 .0-(1.0-TOB(IDX, IVTAM) ) *OBED) *D 1 SPL+OBES*SPI LL) /
* ROADF E (MDX, IVTAM) +OBDF (IVTAM)

RLFLAG = 4: Calculate S2 & ob vrs controlled refueling loss:

Handled above. Reduces to either RLFLAG=2 or RLFLAG=3 case, depending on
1 OBCHK. Onboard takes precedent over Stage II and you can't get credit for
both.

CONTINUE

30 CONTINUE
40 CONTINUE

-------
                                           c-153

                        Appendix C: MOBILES Subroutine REFUEL                    May  5,  1989
220171*     C
! 20175           RETURN
 20176           END

-------
                   C-154



Appendix C: MOBILE4 Subroutine RVPEXH
May 5, 1989
221000
221001
221002
221003
221004
221005
221006
221007
221008
221009
221010
22101 1
221012
221013
221014
221015
221016
221017
221018
221019
221020
221021
221022
221023
221024
221025
221026
221027
221028
221029
221030
221031
221032
221033
221034
221035
221036
221037
221038
221039
"5 O 1 f\lt f\
£.£. I UHU
221041
221042
221043
221044
221045
221046
221047
221048
221049
221050
221051
221052
221053
221054
221055
221056
221057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C





SUBROUTINE RVPEXH (ICY, 1 FUEL.RVP1 ,RVP2)

MOBILE4 calculates a correction factor array to adjust the base emission
factor for fuel volatility (= Reid Vapor Pressure = RVP) . This
multiplicative cf is neutral (= 1.0) only when (1) the actual RVP <= 9-0
(= the RVP of the fuel used in the tests upon which the ber slopes and
intercepts in Block Data are based) and / or (2) the ambient temperature
(TEMAST) is <= 40.0 (below 40 degrees there is no volatility effect) & / or
the vehicle class is not equipped in the given MY with the technology known
by testing to be subject to an RVP exhaust effect on the given pollutant.
Thus the effect depends on IP and MY as well as RVP and TEMAST.

There are 3 nonneutral cases. RVPEXH computes the MYG 1 HC 6 CO case,
as well as initializing the cf array to 1.0 to cover the neutral cases.
BIGTCF computes the 2 operating mode ("bag") dependent cases: MYGs 2 & 3
>= 75 degrees and MYGs 2 & 3 < 75 degrees.

Cal led by EFCALX.

Calls AMI Ml, IGRVPT and OUTPOL.

1 nput on cal 1 :

parameter list: 1 CY, 1 FUEL.RVP1 ,RVP2
common blocks:
/CITCIN/ ICERSW
/CITRV2/ RVP090
/MAXIMA/ MAXPOL.MAXYRS
/RVPEX1/ R9G1.TLL
/RVPNAT/ ICERSY
/TEMPS/ TEMAST

Output on return:

common blocks:
/RVPEX2/ RVPCF

Local variable dictionary:

Name Type Description


CFB R RVP cf at begin point of temperature interpolation interval
CFL R RVP cf at end point of temperature interpolation interval
RADJCF R RVP cf assessed at FTP (75.0) temperature - accounts only for
RVP deviation from norm, not temperature.
REAT R RVP exhaust IP temperature adjusted for ASTM class

Notes:

RVPEXH was added for MOBILE4.
RVPEXH was modified in MOBILE4.


COMMON /CITCIN/ UDI (5) , 1 UD 1 , CIGAS1 .CIGAS2.C 1 ETH1 ,CI ETH2, 1 CERSW
COMMON /C 1 TRV2/ RVPHS 1 , RVPHS2 , RVPET 1 , RVPET2 , RVP090 , RVP 1 00 , RVP 1 1 5
COMMON /MAXIMA/ MAXVEH,MAXLTW,MAXPOL,MAXREG,MAXYRS
COMMON /RVPEX1/ R9G1 (3,2) ,RG23 (3,3,3,2) ,TLL (2)
COMMON /RVPEX2/ MYGRVP (4,4) ,-RVPCF (20,3,4,2) ,OPEflCR

-------
                                           c-155
                        Appendix C: MOBILES Subroutine RVPEXH
                                                                  May 5,  1989
221058
P21060
221061
221062
221063
221064
221065
221066
221067
221068
221069
221070
221C71
221072
221073
221074
221075
221076
221077
221078
221079
221080
221081
221082
221083
221084
^1085
^B> i nfi£.
^f£ \ UOO
221087
221088
221089
221090
221091
221092
221093
221094
221095
221096
221097
221098
221099
221100
221101
221102
221103
221104
221105
221106
221107
221108
221109
221110
^21111
Bl 1 12
121113
2211U
221115
C
C
C

C
C
C
C





C
C
C
C

C
C
C


C
C
C


C
C
C
C


C



C
C
C
C
C


C
C
C
C
C
C
C



   COMMON /RVPNAT/ I CERSY.RVPCER.RVPL IM (2) .RVPDI U (2) ,PFUL, E I NCR
   COMMON /TEMPS/  AMBT.TEMMI N.TEMMAX.TEMEXH (3) .TEMEVP (6) .TEMAST (3)

Determine pollutants.

   CALL OUTPOL(IP1,IP2)

Initialize the RVP exhaust correction factor to the  neutral 1.0 and  depart,
if no IVTAM x IP x IDX cases will be in the "not-by-bag"  computed  category.

   DO 10 IVTAM=1,4
   DO 10 IP=IP1, IP2
   DO 10 IDX=1,MAXYRS
   RVPCF (IDX, IP, IVTAM, I FUEL) =1 .0
10 CONTINUE

The RVPCF algorithm applies only to HC 6  CO  (not NOx) and MYG  1  (1970-79
for LDGV, 1970-80 for  LDGT1, 1978-80 for  LDGT2, no MYG  1  for HDGV) .

   IF ((IP1.EQ.3.AND. IP2.EQ.3) -OR. ICY.GE.2000)  RETURN

Reduce supplied RVPs to 11.7 for the RVP  cf calculation  only.

   RVP1=AMIN1 (RVP1.11 .7)
   RVP2=AMIN1 (RVP2, 11 .7)

Now can  identify and compute the "not-by-bag"  cases  for  LDGV/T.

   DO 30 IVTAM-1,3
   DO 30 IP=IP1,IP2
   IF (IP.EQ.3)  GOTO 30

If IP's  temperature  is <= 40 degrees, then skip this  IP  iteration.
If it is above 95 degrees,  then  reduce  i t to 95 for  this  computation.

   IF (TEMAST (IP) .LE. 1*0.0)  GOTO 30
   REAT=AMIN1 (TEMAST(IP) ,95.0)

   DO 20 IDX=1,MAXYRS
   MY=ICY+IDX-20
   IG=IGRVPT(MY, IVTAM)

If MYG 0, then no computation  is needed for  this MY.   Do next  IDX  iteration.
If MYG 2 has been reached,  further calculations for  this  IVTAM x  IP  case
will be  done in BIGTCF, so  exit  IDX  loop.

   IF (IG.EQ.O)  GOTO 20
   IF (IG.GT.l)  GOTO 30

Use base or  in-use  (whichever  applies, given  ICY) RVP,  unless  MY  is  a
certification controlled year,  in which case the RVP is  normalized by  the
certification RVP.   If the  selected  RVP is <=  9.0,  skip  the computation.
Since RVP1 >= RVP2, then once  RIVAL  <= 9.0,  exit  IDX loop,  not just  1
i teration.
   RIVAL=RVP1
   IF (ICERSW.EQ.2.AND.MY.GE. ICERSY)
   IF (RIVAL. LE.RVP090) GOTO  30
                                                  RIVAL=RVP2

-------
                   C-156



Appendix C: MOBILES Subroutine RVPEXH
May 5, 1989
221116
22111?
221118
221119
221120
221121
221122
221123
221121*
221125
221126
22112?
221128
221129
221130
221131
221132
221133
221134
221135
221136
221137
221138
221139
22 mo
221141
221142
221143
C
C
C
C
C



C
C
C
C
C
C


C
C
C
C


C


C



Compute the cf. There are 2 cases, regarding temperature.

(1) Temperature is neutral.

RADJCF=(R9G1 (1,IP)+R9G1 (2, 1 P) *RI VAL) /R9G1 (3, IP)
IF (REAT.EQ.75.0) RVPCF (IDX, IP, IVTAM, 1 FUEL) =RADJCF
IF (REAT.EQ.75.0) GOTO 20

(2) Temperature is a variable in the RVP cf calculation. Interpolate
between 2 cf's computed at temperatures for which data exists.

(a) First assign the endpoints at 40 and 75 degrees.

CFB=1 .0
CFL=RADJCF

(b) Now interpolate between the 2 endpoints (CFB.CFL) or extrapolate
beyond CFL (up to 95), using actual (REAT) and (TLL) temperatures.

RVPCF (IDX, IP, IVTAM, IFUEL)=
* CFB+ (CFL-CFB) * (REAT-TLL (1) ) /TLL (2)

20 CONTINUE
30 CONTINUE

RETURN
END

-------
222000
4^2001
^^2002
222003
222004
222005
222006
22200?
222008
222009
222010
222011
222012
222013
222014
222015
222016
222017
222018
222019
222020
222021
222022
222023
222024
222025
222026
• 2027
2028
222029
222030
222031
222032
222033
222034
222035
222036
222037
222038
222039
222040
222041
222042
222043
222044
222045
222046
222047
222048
222049
222050
222051
222052
• 2053
2054
222055
222056
222057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C





C
C
C


C
C
C



C


C


C
C
C
C
                             c-157

          Appendix C: MOBILES Subroutine BIGCFX

   SUBROUTINE BIGCFX (ICY)
May 5, 1989
BIGCFX computes correction factors applied to composite emission
factors, e.g., speed, optional  (humidity, trailer towing, a/c), temperature,
by-bag RVP, operating mode, methane and tampering.

Called by EFCALX. '

Calls BIGALH, BIGIN1, BIGIN2, BIGMET, BIGOMT, BIGSAL,  BIGTAM  and  BIGTCF.

Input on cal1:

  parameter list: ICY
  common blocks:
  /FLAGS2/ ALHFLG
  /FLAGS4/ PRTFLG.NMHFLG
  /MAXIMA/ MAXVEH.MAXPOL.MAXYRS
  /TEMPC3/ MDLOHI

Output on return:

  common blocks:
  /TEMPC4/ LOWCO

Notes:

BIGCFX was modified for MOBILES.
   INTEGER ALHFLG
   INTEGER PRTFLG.HCFLAG

   COMMON /FLAGS2/ MYMRFG.NEWFLG,IMFLAG,ALHFLG
   COMMON /FLAGS'*/ PRTFLG,IDLFLG.NMHFLG.HCFLAG
   COMMON /MAXIMA/ MAXVEH.MAXLTW.MAXPOL.MAXREG.MAXYRS
   COMMON /TEMPC3/ MDLOHI (3),TDIFF(3) .CHFRAC(3) ,TCFF (3,2),TCF (3)
   COMMON /TEMPC4/ MYGCOO (3) , LOWCO, COOTFC (3) .COOTFD (3)

Initiali2e variables to be used in upcoming  loops.

   CALL BIGIN1
   IF (ALHFLG.GT.l) CALL BIGALH(ICY)

Enter the correction factor loops.

   DO 10 IDX=1,MAXYRS
   JDX=21-IDX
   MY=ICY-(20-IDX)

   DO 10 IV=1,MAXVEH
   CALL BIGIN2 (IV.MY,JDX,IVLM,IVTEMP, ISP)

   DO 10 IP=1,MAXPOL
   IF (PRTFLG.NE.IP.AND.PRTFLG.NE.4) GOTO  10

Reset CO offset switch and calculate  temperature correction  factor  (TCF).
There is no TCF in MOBILES for diesel  IV  (IVTEMP=0).   When the ambient
temperature is the FTP standard 75 degrees  (MDLOHI=0), TCF represents  the

-------
                                           C-158

                        Appendix C: MOBILES Subroutine BIGCFX
                                                                     May 5,  1989
222058
222059
222060
222061
222062
222063
22206^4
222065
222066
22206?
222068
222069
222070
222071
222072
222073
222071*
222075
222076
222077
222078
222079
222080
222081
222082
222083
C
C
C

C
C
C

C
C
C

C
C
C

C

C
RVP CF for RVP MYG cases 2 and 3 for LDGV/T 6 HDGV, otherwise  it  remains  the
initialized default neutral value  (1.0) for all  IV  (1-8).

   LOWCO=1
   IF (IVTEMP.GE.l) CALL BIGTCF (IP,IVTEMP.MY,IDX)

Compute speed and, if LDGV/T or MC, optional variables correction  factor.

   CALL BIGSAL(IP,IV,MY,IDX,ISP)

Check for and calculate if needed  the methane offset  to composite  HC.

   IF (IP.EQ.1.AND.NMHFLG.EQ.2) CALL BlGMET (IV,MY,IDX)

If LDGV/T or HDGV, correct tampering offset for  opmode and  temperature.

   IFOV.LE.10 CALL BIGTAM (IP, IV, IDX)

Compute bef's multiplicative correction for operating mode  and  temperature.

   CALL BIGOMT(IP,IV,IVLM.MY,IDX)

10 CONTINUE

   RETURN
   END

-------
                                            c-159
                         Appendix C:  MOBILE'* Subroutine  BIG INI
                                                                 May 5,  1989
223000
^23001
K23002
223003
223001*
223005
223006
223007
223008
223009
223010
223011
223012
223013
2230U
223015
223016
223017
223018
223019
223020
223021
223022
223023
223021*
223025
223026
^302?
P3028
223029
223030
223031
223032
223033
223031*
223035
223036
223037
223038
223039
22301*0
22301*1
22301*2
22301*3
22301*1*
22301*5
22301*6
22301*7
22301*8
22301*9
223050
223051
223052

C
C
C
C
C
C
C
C
C
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c



SUBROUTINE BIG INI

BIGIN1 sets up the BIGCFX coefficient calculations loops by initializing
parameters and variables / arrays used in those calculations. For example,
BIGIN1 evaluates the 5th degree polynomial speed correction factor
equation for all 8 IV, 3 IP and 21 IG. For HC, CO and 1 case of NOx, the
results are exponentiated.

Cal led by BIGCFX.

1 nput on cal 1 :

common blocks:
/MAXIMA/ MAXVEH.MAXPOL.MAXYRS
/SCENE1/ SPD.PCCN.PCHC.PCCC
/SPEED1/ SKI
/SPEED!*/ MAXSP1
/TEMPS/ TEMEXH

Output on return:

common blocks:
/OFFSET/ OFFCO
/SCENE2/ FCC.FCN.FHC.FHN
/SPEED3/ SADJ.SCUNA1
/TEMPC3/ MDLOHI.TDIFF

Local array subscripts:

FTPSPD (3) - FTPSPD ( IB )

Local variable dictionary:

Name Type Description


AVESPD R average speed for the vehicle type IV
FTPSPD R FTP standard speeds for the 3 operating modes
FTPT R FTP standard temperature
ICOEF5 1 pointer to term in 5th degree polynomial scf equation
ISADJ 1 integer location used in rounding the scenario's SADJ
for 1 used & then restored for a later use)
SCF R speed correction factor for the given IV, IP and IG

Notes:

Although calculated for all 8 IV, SCUNA1 results are only used by BIGCFX for
subgroup IVA (LDGV, LDGT1/2, MC) .
BIG INI was modified in MOBILE!*.


COMMON /MAXIMA/ MAXVEH.MAXLTW.MAXPOL.MAXREG.MAXYRS
COMMON /OFFSET/ OFFCO (20, 3) .OFFMTH (20,8)
COMMON /SCENE I/ SPD (8) .PCCN.PCHC.PCCC
223055
223056
-223057
COMMON /SCENE2/  FCC.FCN.FHC.FHN
COMMON /SPEED1/  SKI (6,18,3) .SK2C (2, H*,2,3) ,SKG (2,6,2) ,SK2N (3, H*,3)
COMMON /SPEED3/  SADJ,SCUNA1 (18,3,8) .SCADJ1 (3,1*) , ISPGRP (3,4)
COMMON /SPEEDV  MAXSP1,LB1STS(3).LBLAST,IVB,IVA
COMMON /TE-MPC3/  HDLOHI (3) ,TD I FF (3) , CHFRAC (3) ,TCFF (3,2) ,TCF (3)

-------
                   C-160




Appendix C: MOBILE** Subroutine  BIGIN1                    May 5,  1989
223058
223059
223060
223061
223062
223063
223064
223065
223066
223067
223068
223069
223070
223071
223072
223073
223074
223075
223076
223077
223078
223079
223080
223081
223082
223083
223084
223085
223086
223087
223088
223089
223090
223091
223092
223093
22309A
223095
223096
223097
223098
223099
223100
223101
223102
223103
223104
223105
223106
223107
223108
223109
223110
223111
223112
223113
223114
223115

C

C

C
C
C




C
C
C






C
C
C




C
C
C






C
C
C


C

C


C



C



C


COMMON /TEMPS/ AMBT.TEMMI N.TEMMAX.TEMEXH (3) .TEMEVP (6) .TEMAST (3)

DIMENSION FTPSPD(3)

DATA FTPSPD/26. 0,16.0, 26. 0/.FTPT/75.0/

Compute operating mode fractions.

FCN=PCCN*.01
FHC=PCHC*.01
FCC=PCCC*.01
FHN=(FCC-FCN)+FHC

Setup for temperature correction factor loop: decide TCF case.

DO 10 IP=1,MAXPOL
TDIFF(IP)=TEMEXH(IP)-FTPT
IF (TDIFF (IP) .EQ.O) MDLOHI(IP)=0
IF (TDIFF (IP.) .LT.O) MDLOHI(IP)=1
IF (TDIFF (IP) .GT.O) MDLOHl(IP)=2
10 CONTINUE

Zero out OFFCO.

DO 20 IV=1,3
DO 20 IDX=1,MAXYRS
OFFCOODX, IV) =0.0
20 CONTINUE

Calculate average speed for the operating mode fractions.

SADJ=PCCC/FTPSPD(1)
+ 000.-PCCC-PCHC) /FTPSPD (2)
+PCHC/FTPSPD(3)
SADJ=100./SADJ
ISADJ=SADJ*10.+0.5
SADJ=ISADJ/10.

Build the 5th degree polynomial ("old") equation unadjusted scf table.

DO 40 IV=1,MAXVEH
AVESPD=SPD(IV)

DO 40 IP=1,MAXPOL

DO 40 ISP=1,MAXSP1
SCF=SK1 (6, ISP, IP)

DO 30 ICOEF5=1,5
SCF=SCF*AVESPD+SK1 (6- 1 COEF5, 1 SP, IP)
30 CONTINUE

IFOP.NE.3) SCF=EXP(SCF)
SCUNA1 (ISP, IP, IV) -SCF
40 CONTINUE

RETURN
END

-------
                                           C-161
224000
       Appendix C: MOBILE4 Subroutine BIGALH




SUBROUTINE BIGALH (ICY)
                                                                                 May  5,  1989
^•^4001
^^4002
224003
224004
224005
224006
224007
224008
224009
224010
224011
224012
224013
224014
224015
224016
224017
224018
224019
224020
224021
224022
224023
224024
224025
224026
^^4027
•P4028
224029
224030
224031
224032
224033
224034
224035
224036
224037
224038
224039
224040
224041
224042
224043
224044
224045
224046
224047
224048
224049
224050
224051
224052
4^4053
^(•4054
224055
224056
224057
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C




BIGALH computes emission correction factors for air conditioning, extra
loading, trailer towing and humidity for vehicle types LDGV, LDGT1, LDGT2
and LDGT (composite of LDGT1 & LDGT2) . Additionally, the humidity
correction is applied to MC vehicles.

Called by BIGCFX.

Calls IGEPTR, IGLPTR, IGTPTRand IGUPTR.

1 nput on cal 1 :

parameter list: 1 CY
common blocks:
/ALUHAC/ ACEQIP.ACCF
/ALUHIN/ XLOAD,TRAILR,ABSHUM,DB,WB
/ALUHLT/ XLCF.TWCF
/MAXIMA/ MAXLTW.MAXPOL.MAXYRS
/REGION/ IREJN
/TEMPS/ TEMEXH

Output on return:

common blocks:
/ALUHIN/ AC
/ALUOUT/ ALHRET
Local array subscripts:

TDIFF (3) - TDIFF ( IP )

Local variable dictionary:

Name Type Description


ACU R fraction of vehicles that are equipped with air conditioning
and are using it
Dl R discomfort index computed from the user supplied (default)
values of dry bulb (db) and wet bulb (wb) temperatures
DIHI R high reference temperature for Dl: above this temperature
AC is on (100% use)
DILO R low reference temperature for Dl: below this temperature
AC is off (0% use)
HH R HC or CO => 1 . ; NOx => humidity correction factor
HHH R HC or CO => 1.; NOx => humidity correction factor
TDIFF R deviation from FTP standard temperature (75 degrees F)
TWU R fraction of vehicles towing a trailer
XLU R fraction of vehicle s with an extra load

Notes:

BIGALH was modified in MOBILE4.


COMMON /ALUHAC/ ACEQI P (8, 3,2) ,ACCF (2,3,2,3,2)
COMMON /ALUHIN/ AC.XLOAD (3) ,TRA 1 LR (3) .ABSHUM, DB.WB
COMMON /ALUHLT/ XLCF (3,6,3,2) ,TWCF (3,6,3,2)

-------
                             C-162
          Appendix C: MOBILES Subroutine BIGALH
May 5, 1989
224058
224059
224060
224061
224062
224063
224064
224065
224066
224067
224068.
224069
224070
224071
224072
224073
224074
224075
224076
224077
224078
224079
224080
224081
224082
224083
224084
224085
224086
224087
224088
224089
224090
224091
224092
224093
224094
224095
224096
224097
224098
224099
224100
224101
224102
224103
224104
224105
224106
224107
224108
224109
224110
224111
224112
224113
224114
22411.5





C

C


C

C
C
C




C
C
C



C

C
C
C





C
C
C



C







C








   COMMON /ALUOUT/ ALHRET (20, 4,3)
   COMMON /MAXIMA/ MAXVEH,MAXLTW,MAXPOL,MAXREG,MAXYRS
   COMMON /REGION/ FEET (2),IREJN,ALT,INITPR
   COMMON /SCENE1/ SPD (8).PCCN.PCHC,PCCC
   COMMON /TEMPS/  AMBT.TEMMIN.TEMMAX.TEMEXH(3) .TEMEVP(6).TEMAST(3)

   DIMENSION TDIFF(3)

   DATA DILO/70./
   DATA DIHI/80./

   IF (AC.EQ.0.0) GOTO  10

Compute AC based on discomfort index Dl.

   DI = (DB+WB)*.4+15.
   AC=(DI-DILO)/(DIHI-DILO)
   IF (AC.LT.0.0) AC=0.0
   IF(AC.GT.l.) AC=1.

Setup humidity correction factors.

10 DO 20 IP=1,MAXPOL
   TDIFF (IP)=TEMEXH(IP)-75.
20 CONTINUE

   HHH=1.-0.00380*(ABSHUM-75.)

Assign MC only for.  IP=3-

   DO 30 IDX=1,MAXYRS
   ALHRET(IDX,4,1)=1.
   ALHRET(IDX,4,2)=1.
   ALHRET(IDX,4,3)=HHH
30 CONTINUE

Assign other vehicle correction  factors.

   DO 50 IVA=1,MAXLTW
   XLU=XLOAD(IVA)
   TWU=TRAILR(IVA)

   DO 40 IDX=1,MAXYRS
   MY=ICY-(20-IDX)
   IGU=IGUPTR(MY,IVA)
   IGE=IGEPTR(MY,IVA)
   IGL=IGLPTR(MY,IVA)
   IGT=IGTPTR(MY,IVA)
   ACU=ACEQIP(IGE,IVA, IREJN) *AC

   DO 40 IP=1,MAXPOL
   HH=1.
   IF(IP.EQ.3) HH=HHH
   ALHREKIDX, IVA.IP)-
  *    ((ACCF(2,IP,IGU,IVA,IREJN)*TD I FF (I P)
  *    +ACCF(l,IP,IGU,IVA,IREJN)-lO*ACU+l.)
  *  *((XLCF (IP, IGL, IVA, IREJN)-1.)*XLU+1 .)
  *  * ((TWCF (I P, IGT, I VA, IHEJN) -1 .)*TWU+1 .)

-------
                                             C-163

                         Appendix C: MOBILES Subroutine BIGALH                     May  5,  1989
22*4ll6           *   *HH
 ,2*4117         *»0 CONTINUE
   118     C
22*4119         50 CONTINUE
22*4120     C
22*4121           RETURN
22*4122           END

-------
                    C-161*




Appendix C: MOBILE!*  Subroutine BIGIN2
May 5, 1989
225000
225001
225002
225003
225001*
225005
225006
225007
225008
225009
225010
225011
225012
225013
2250U
225015
225016
225017
225018
225019
225020
225021
225022
225023
225021*
225025
225026
225027
225028
225029
225030
225031
225032
225033
225034
225035
225037
225038
225039
22501*0
22501*1
22501*2
22501*3
22501*1*
22501*5
225046
22501*7
22501*8
22501*9
225050
225051
225052
225053
225054
225055
225056
225057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C









C


SUBROUTINE B IGI N2 (IV, MY, JDX, 1 VLM, 1 VTEMP, ISP)

BIGIN2 initializes the vehicle class specific parameters and flags used
subsequently by BIGCFX in the calculation of emission factor correction
factors and offsets.

Cal led by BIGCFX.

Calls ISPPTR.

Input on cal 1 :

parameter list: IV, MY, JDX
common blocks:
/CUMCOM/ CUMMIL
/ 1 VPCOM/ 1 VPTRL , 1 VPTRT , 1 VPTRA , 1 VPTRB
/SCENE2/ FCC.FCN.FHC.FHN
/SPEED!*/ LB1STS
/TAMEQ1/ F50K

Output on return:

parameter list: 1 VLM, 1 VTEMP, ISP
common blocks:
/OPMOD2/ MYSTEP
/OPMOD3/ BFMILE.KINKBF.BFGT50
/SPEED!*/ IVB, IVA
/TEMPC3/ CHFRAC.TCF

Local array subscripts:

NCATYR (8) - NCATYR ( IV )

Local variable / array dictionary:

Name Type Description
NCATYR 1 last non-catalyst MY for the given IV

Notes:

BIGIN2 was added for MOBILE!*.
BIGIN2 was modified for MOBILE!*, updating several common block declarations
and adding 198!*+ LDGT1/2 processing.


COMMON /CUMCOM/ CUMMIL (20, 8)
COMMON / 1 VPCOM/ 1 VPTRL (8) , 1 VPTRT (8) , 1 VPTRA (8) , 1 VPTRB (8)
COMMON /MAXIMA/ MAXVEH.MAXLTW.MAXPOL.MAXREG.MAXYRS
COMMON /OPMOD2/ MYSTEP, MAXBFR.MYGBFR (8,3,6)
COMMON /OPMOD3/ BFMI LE ,KI NKBF .BFGT50
COMMON /SCENE2/ FCC.FCN.FHC.FHN
COMMON /SPEED!*/ MAXSP1 , LB1STS (3) , LBLAST, 1 VB, 1 VA
COMMON /TAMEQ1/ TAMZML (9, 4,2,2) ,TAMDR (9,4, 3,2) ,MYGTAM(4) .IGT5.F50K
COMMON /TEMPC3/ MDLOH 1 (3) ,TD 1 FF (3) .CHFRAC (3) ,TCFF (3,2) ,TCF (3)

DIMENSION NCATYR (8)
DATA NCATYR/1974, 1974, 1978, 1983, 2020, 2020, 2020, 2020/

-------
                   C-165



Appendix C: MOBILES Subroutine BIGIN2
May 5, 1989
225058
^25059
^V25060
225061
225062
225063
225064
225065
225066
225067
225068
225069
225070
225071
225072
225073
225074
225075
225076
225077
225078
225079
225080
225081
225082
225083
225084
^25085
^•25086
^25087
225088
225089
225090
225091
225092
225093
225094
225095
225096
225097
225098
225099
225100
225101
C





C
C
C
C




C



C
C
C



C
C
C
C



C
C
C






C



IVLM=IVPTRL(IV)
IVTEMP=IVPTRT(IV)
IVA=IVPTRA(IV)
1 VB= 1 VPTRB ( 1 V)
IF (IVLM.EQ.O) RETURN

Reinitialize TCF to neutral (no effect) value for diesel IV (Wipe HDGV NOx
TCF, else it would be used for IP=1~3 / IV=5~7, for which TCF is not calc.).

IF (IV.NE.5) GOTO 20
DO 10 IB=1,3
TCF (IB)-l.O
10 CONTINUE

20 GOTO (30, 30,30, 40, 40, 40) , IVLM
30 IF (MY.LT.LBISTS(IVLM)) 1 SP-I SPPTR (MY,0, 1 VLM, 1)
40 BFMILE=CUMMIL(JDX, IV)*. 0001

Select bag coefficients based on vehicle class and model year

MYSTEP=1
IF (MY. LT. 1981. OR. IVLM. GT. 3) GOTO 50
IF (MY. LT. 1984. AND. IVLM.GT.l) GOTO 50

Use yearly stepped bag coefficients for 1981+ LDGV and 1984+ LDGT1/2.
1981+ LDGV class has bag fraction coefficients curve kink at 50K miles.
MYSTEP=2
KINKBF=1
IF (IVLM.EQ.l .AND.BFMILE.GT.F50K) KINKBF=2
IF (KINKBF.EQ.2) BFGT50=BFMI LE-F50K

Assign cold/hot fractions by model year group.

50 CHFRAC (1)=FCN
CHFRAC (3) =FHN
IF (MY.LE.NCATYR(IV)) GOTO 60
CHFRAC(1)=FCC
CHFRAC (3) =FHC
60 CHFRAC (2) =1 .-CHFRAC (1) -CHFRAC (3)

RETURN
END

-------
                   C-166



Appendix C: MOBILE4 Subroutine BIGTCF
May 5, 1989
226000
226001
226002
226003
226004
226005
226006
226007
226008
226009
226010
226011
226012
226013
226014
226015
226016
226017
22^.018
226019
1226020
226021
226022
226023
226024
226025
226026
226027
226028
226029
226030
226031
226032
226033
226034
226036
226037
226038
226039
226040
226041
226042
226043
226044
226045
226046
226047
226048
226049
226050
226051
226052
226053
226054
226055
226056
226057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
SUBROUTINE BIGTCF (IP, IVTEMP, MY, IDX)

BIGTCF computes the multiplicative temperature correction factor and, in
some cases, the RVP cf and/or the additive temperature CO offset.

Called by BIGCFX.

Calls IGRVPT, ITCPTR, 1 EVPTR and BIGRVP.

1 nput on cal 1 :

parameter list: 1 P, 1 VTEMP.MY, 1 DX
common blocks:
/CITPAR/ FRETH.FRMETH.FRGAS
/CITRV3/ RVPX
/INJECT/ PFI
/TEMPC1/ TTFC,TTFD,TT4,TT8
/TEMPC2/ MYGTFD, 1 SHI FT
/TEMPC3/ MDLOHI .TDIFF.CHFRAC
/TEMPC4/ MYGCOO.LOWCO.COOTFC.COOTFD
/TEMPS/ TEMAST

Output on return:

common blocks:
/OFFSET/ OFFCO
/TEMPC3/ TCF

Local array subscripts:

FRFDS (3) - FRFDS ( IFDS )

Local variable / array dictionary:

Name Type Description
COOFDS R sum of CO offsets by FDS weighted by FDS sales fractions
FRFDS R fraction of class IVTEMP given MY that is IFDS equipped
HDGTCF R HDGV T CF - HDGV testing does not use the LOG operating modes,
so multiply the 1 HDGTCF x each of the RVP CFs in TCF (IB).
TFCB R tcf by bag for fuel delivery systems combined case
TFDS R FDS weighted low tcf bag equation coefficient

Notes:

For low tcf, LDGV/T use the additive CO offset starting in MYGCOO (IVTEMP) &
are differentiated by fuel delivery system (carbureted vs fuel injected)
starting in MYGTFD (IVTEMP) . The CO offset start year precedes the fds start
year in all 3 cases. Hence, BIGTCF checks the LOWCO flag on both the LOG
MYGTFD keyed branches.

BIGTCF was added for MOBILE4.
BIGTCF was modified for MOBILE4, adding BIGRVP.


CHARACTER*4 SCNAME
CHARACTER*! ASTMCL, ACLASS


-------
                             C-167

          Appendix C: MOBILES Subroutine BIGTCF
May 5, 1989
226058
•26059
26060
226061
226062
226063
226064
226065
| 226066
226067
226068
226069
226070
226071
226072
226073
226074
226075
226076
226077
226078
226079
226080
226081
226082
226083
(226084
^£26085
•26086
226087
226088
226089
226090
226091
226092
226093
226094
226095
226096
226097
226098
226099
226100
226101
226102
226103
226104
226105
226106
226107
226108
226109
226110
^£26111
226113
226114
226115









C

C

C
C
C



C
C
C
C
C




C



C
C
C

C
C
C
C

C
C
C
C
C
C
C

C
C
C

C
C
   COMMON /CITPAR/ SCNAME(4),FRETH,FRMETH,FRGAS
   COMMON /CITRV3/ RVPMAP(5),RVPX (2,2),I CLASS,ASTMCL,ACLASS (5)
   COMMON /INJECT/ TBI (13,**) ,PFI (13,*) ,MAXF I Y,MI NF I Y
   COMMON /OFFSET/ OFFCO (20,3).OFFMTH (20,8)
   COMMON /TEMPC1/TTFC(2,3,9,3)  ,TTFD(3,3,3) ,TT4(2,6,3) ,TT8 (2, 3,4, 3)
   COMMON /TEMPC2/ MAXTCF.MYGTCF (9,3,5) .MYGTFD (3),ISHI FT
   COMMON /TEMPC3/ MDLOHI (3),TDIFF (3),CHFRAC (3),TCFF(3,2) ,TCF (3)
   COMMON /TEMPC4/ MYGCOO (3) , LOWCO.COOTFC (3) , COOTFD (3)
   COMMON /TEMPS/  AMBT.TEMMIN.TEMMAX.TEMEXH (3) .TEMEVP(6).TEMAST (3)

   DIMENSION TFCB(3) ,TFDS(3)

   DIMENSION FRFDS(3)

Initialize TCF to the  neutral (no correction)  value.

   DO 10 IB=1,3
   TCF (IB)-l.O
10 CONTINUE

First cases evaluated  are the new combined high  temperature  and RVP cf
algorithm and bag dependent low  temperature RVP  cf  cases.   Check these first1
because their year ranges are mostly  likely to be evaluated.

   IF (IVTEMP.GT.4) GOTO  30
   IG=IGRVPT(MY,IVTEMP)
   IF (IG.LE.l.OR.TEMAST(IP) .LE.40.0)  GOTO  30
   CALL BIGRVP(IP, IG, 1 ,RVPX (1 ,1) ,RVPX(2,1))
   IF (FRETH.GT.0.0)
  *    CALL BIGRVP(IP,IG.2.RVPX(1,2),RVPX(2,2))

   DO 20 IB=1,3
   TCF (IB) = (FRGAS+FRMETH)*TCFF (IB,1)+FRETH*TCFF (IB,2)
20 CONTINUE

High temperature and  RVP  combined cf  case  is  done.

   IF (MDLOHI (IP).EQ.2) RETURN

All RVP cf calculations  are done.   If  T is neutral, no  T  cf  occurs.
For the IG >= 2 case  returned from BIGRVP,  pass  on  the  RVP  cf  in TCF.

30 IF (MDLOHI (IP).EQ.O) RETURN

At this point, TCF (IB) =  1.0, if  IV  =  MC or  IG <= 1 or  (IG  > 1  6 T = low)
                          RVP cf,  if  IG >=  2 6 T  < 75.0
Hence, the formulas below for the multiplicative tcf  cases  are  all of the
form "TCF(IB)=f(	)*TCF(IB)".   The  result is either  a  tcf  or  the product
by bag tcf * RVP cf.

   GOTO (40,40,40,70,80),IVTEMP

Low for all MY 6 high  for RVP MYGs 0  6 1 TCF  for LDGV,  LDGT1,  and LDGT2.

40 IF (IP.EQ.2.AND.MDLOHI (IP) .EQ. 1 .AND.MY.GE .MYGCOO (I VTEMP))  LOWCO=2
   IF(MY.GE.MYGTFD(IVTEMP)) GOTO 50

IVLDG multiplicative  low  6 high  tcf with FDS  combined.

-------
                   C-168



Appendix C: MOBILES Subroutine BIGTCF
May 5, 1989
226116
226117
(226118
226119
226120
226121
226122
226123
226124
226125
226126
226127
226128
226129
226130
226131
226132
226133
226131*
226135
|226136
226137
226138
226139
226140
226141
226142
226143
226144
226145
226146
226147
226148
226149
226150
226151
226152
226153
226154
226155
226156
226157
226158
226159
226160
226161
226162
226163
226164
226165
226166
226167
226168
226169
226170
226171
C
1 T=ITCPTR (MY, IP.I VTEMP)
DO 45 IB=LOWCO,3
TFCB(IB)=TTFC(MDLOHI (IP) , IB, IT, IP)
TCP (IB)=EXP(TFCB(IB)*TDIFF (IP)) *TCF (IB)
45 CONTINUE
IF (LOWCO.EQ.l) RETURN
C
C IVLDG additive low temperature CO offset with FDS combined.
C
IGO=IT-ISHIFT
OFFCO (1 DX, 1 VTEMP) =COOTFC (IGO) *TD 1 FF (IP) *CHFRAC (1)
RETURN
C
C IVLDG multiplicative low tcf with FDS differentiated.
C
50 IG5=IEVPTR(MY,0, 1 VTEMP, 2)
FRFDS(2)=TBI (IG5.I VTEMP)
FRFDS(3)=PFI (IG5.IVTEMP)
FRFDS (1) =1 .0-FRFDS (2) -FRFDS (3)
DO 60 IB=LOWCO,3
TFDS(IB)=0.0
DO 55 IFDS-1,3
TFDS(IB)=TFDS(IB)+FRFDS(IFDS)*TTFD(IB, IP, 1 FDS)
55 CONTINUE
TCF ( 1 B) =EXP (TFDS ( 1 B) *TD 1 F F ( 1 P) ) *TCF ( 1 B)
60 CONTINUE
IF (LOWCO.EQ.l) RETURN
C
C IVLDG additive low temperature CO offset with FDS differentiated.
C
COOFDS=0.0
DO 65 IFDS-1,3
COOFDS=COOFDS+FRFDS(IFDS)*COOTFD(IFDS)
65 CONTINUE
OFFCO(IDX, 1 VTEMP) =COOFDS*TD IFF (1 P) *CHFRAC (1)
RETURN
C
C Low for all MY 6 high for RVP MYG 0 (pre-1985) TCF for HDGV.
C
70 IT=ITCPTR(MY, IP, 1 VTEMP)
HDGTCF=EXP(TT4(MDLOHI (IP) , IT, IP)*TDIFF (IP))
DO 75 IB-1,3
TCF (IB)=HDGTCF*TCF (IB)
75 CONTINUE
RETURN
C
C Lo/hi TCF for MC.
C
80 IT=ITCPTR(MY, IP, 1 VTEMP)
DO 85 IB=1,3
TCF(IB)=EXP(TT8(MDLOHI (IP) , IB, IT, IP) *TDIFF (IP))
85 CONTINUE
C
RETURN
END

-------
                   C-169



Appendix C: MOBILES Subroutine BIGRVP
May 5, 1989
227000
R7001
7002
227003
22700*4
227005
227006
227007
227008
227009
227010
227011
227012
227013
22701*4
227015
227016
227017
227018
227019
227020
227021
227022
227023
22702*4
227025
227026
£7027
P?028
227029
227030
•) O ~lf\ 7 1
LllvS 1
227032
227033
22703*4
227035
227036
227037
227038
227039
2270*+0
2270*41
2270*42
2270*43
2270*4*4
2270*45
2270*46
2270*47
2270*48
2270*49
227050
227051
227052
P7053
705*»
227055
227056
227057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C






C
C
C


C
C
SUBROUTINE BIGRVP(IP, IG, 1 FUEL.RVP1 ,RVP2)

BIGRVP computes the combined temperature and RVP correction factor algorithm
used when the pollutant's temperature >= 75 degrees (FTP standard) and
the RVP cf alone when T < 75 degrees.

See RVPEXH for an overall description of the RVP cf cases.

Called by BIGTCF.

Calls AMIN1 AND AMAX1 .

1 nput on cal 1 :

parameter list: 1 P, IG, 1 FUEL.RVP1 ,RVP2 ''
common blocks:
/CITCIN/ ICERSW
/CITRV2/ RVP090
/RVPEX1/ RG23.TTL
/RVPNAT/ ICERSY
/TEMPC3/ MDLOHI
/TEMPS/ TEMEXH.TEMAST

Output on return:

common blocks:
/TEMPC3/ TCFF

Local variable dictionary:

Name Type Description
CFB R RVP cf at begin point of temperature interpolation interval
CFL R RVP cf at end point of temperature interpolation interval
RDIFA R the larger of 0.0 and (applicable RVP - 9.0)
REAT R RVP exhaust IP temperature adjusted for ASTM class
REUT R RVP exhaust IP unadjusted temperature
TDIFA R the larger of 0.0 6 ((ASTM adjusted T capped at 95.0) - 75.0)
TDIFU R (unadjusted (by ASTM) exhaust T capped at 95.0) - 75.0

Notes:

BIGRVP was added for MOBILES.


COMMON /CITCIN/ UD 1 (5) , 1 UD 1 , C 1 GAS1 ,C 1 GAS2.C 1 ETH1 , Cl ETH2, 1 CERSW
COMMON /C 1 TRV2/ RVPHS 1 , RVPHS2 , RVPET 1 , RVPET2 , RVP090 , RVP 1 00 , RVP 1 1 5
COMMON /RVPEX1/ R9G1 (3,2) ,RG23 (3,3,3, 2) ,TLL (2)
COMMON /RVPNAT/ 1 CERSY.RVPCER.RVPL IM (2) ,RVPD 1 U (2) ,PFUL, E INCR
COMMON /TEMPC3/ MDLOH 1 (3) ,TD 1 FF (3) .CHFRAC (3) ,TCFF (3,2) ,TCF (3)
COMMON /TEMPS/ AMBT.TEMMIN.TEMMAX.TEMEXH (3) .TEMEVP (6) .TEMAST (3)

Reduce supplied RVPs to 11.7 for the RVP cf calculation only.

RVP1=AMIN1 (RVP1.11.7)
RVP2=AMIN1 (RVP2.11. 7)

If RVP x T temp is .GT. 95 degrees, then reduce it to 95 for here only.

-------
                   C-170




Appendix C: MOBILES Subroutine BIGRVP                   May 5,  1989
227058
227059
227060
227061
227062
227063
227064
227065
227066
227067
227068
227069
227070
1227071
1227072
227073
227074
227075
227076
227077
227078
227079
227080
227081
227082
227083
227081*
227085
227086
227087
227088
227089
227090
227091
227092
227093
22709**
227095
227096
227097
227098
227099
227100
227101
227102
227103
227104
227105
227106
227107
227108
C
C





C
C
C





C
C
C

C
C
C

C
C
C







C
C
C
C
C




C
C
C

C

C


If T term temp is .GT. 110 degrees, then reduce it to 110 for here only.

REAT=AMIN1 (TEMAST(IP) ,95-0)
TDIFA=REAT-75-0
TDIFA=AMAX1 (TDIFA.0.0)
REUT=AMIN1 (TEMEXH(IP) ,110.0)
TDIFU=REUT-75-0

Identify RVP to be used. If it is <= 9.0, combined RVP 6 T cf is 1.0.

RIVAL=RVP1
IF (ICERSW.EQ.2.AND.MY.GE. ICERSY) RIVAL=RVP2
RDIFA=RIVAL-RVP090
IF (TEMEXH(IP) .GE.95.0) RDIFA=AMAX1 (RDIFA.-2.0)
IF (TEMEXH(IP) .LT.95.0) RD 1 FA=AMAX1 (RD 1 FA, 0.0)

Compute the cf for each bag.

IGR=IG-1

Case 1: one equation produces a combined RVP 6 high/neutral T cf .

IF (MDLOHI (IP) .EQ.l) GOTO 20

Evaluate the combined RVP 6 high T cf formula.
•
DO 10 IB=1,3
TCFF (IB,IFUEL)=RG23(1, 1 B, 1 P, 1 GR) *RDI FA+
* RG23(2, IB, IP,IGR)*TDIFU+
* RG23(3, IB, IP,IGR)*RDIFA*TDIFA
TCFF (IB, 1 FUEL) =EXP (TCFF (IB, 1 FUEL))
10 CONTINUE
RETURN

Case 2: interpolation produces a RVP cf for temperatures from 40-75 degrees.

(a) First assign the endpoints at 40 and 75 degrees.

20 CFB=1.0
DO 30 IB=1,3
CFL=RG23(1, IB, IP, IGR)*RDIFA
CFL=EXP(CFL)

(b) Now interpolate between the 2 endpoints (CFB,CFL).

TCFF(IB,IFUEL)=CFB+(CFL-CFB)*(REAT-TLL(1))/TLL(2)

30 CONTINUE

RETURN
END

-------
                                           C-171
228000
       Appendix C: MOBILE4 Subroutine BIGSAL




SUBROUTINE BIGSAL (IP,IV,MY,IDX,ISP)
                                                                                May 5,  1989
fc28001
^28002
228003
22&004
228005
228006
228007
228008
228009
228010
228011
228012
228013
228014
228015
228016
228017
228018
228019
228020
228021
228022
228023
228024
228025
228026
£28027
P28028
228029
228030
228031
228032
228033
228034
228035
228036
228037
228038
228039
228040
228041
228042
228043
228044
228045
228046
228047
228048
228049
228050
228051
228052
^8053
•28054
228055
228056
228057
C
C BIGSAL computes SALHCF, the speed and, if LDGV/T or
C multiplicative correction factor table.
C
C Called by BIGCFX.
C
C Calls ISPPTR.
C
C Input on cal 1 :
C
C parameter list: IP, IV, MY, IDX, ISP
C common blocks:
C /ALUOUT/ ALHRET
C /FLAGS2/ ALHFLG
. C /SCENE1/ SPD
C /SPEED1/ SK1,SK2C,SKG,SK2N
C /SPEED3/ SADJ.SCUNA1
C /SPEED4/ LB1STS, IVA.IVB
C /SPEEDS/ MYHSPC
C /SPEED7/ GPBSCO
C
C Output on return:
C
C common blocks:
C /SPEED3/ SCADJ1, ISPGRP
C /SPEED6/ SALHCF
C
C Local variable / array dictionary:
C
C Name Type Description

C ______ ____ _________________________________«.___
C A R coefficient "A" of new scf equation:
C B R coefficient "B" of new scf equation:
C C R coefficient "C" of new scf equation:
C SB R vehicle speed from SPD, given IV, for

MC, optional adjustments






























A/X+B or EXP (A+BX+CX**2)
A/X+B or EXP(A+BX+CX**2)
EXP (A+BX+CX**2)
IVB scf calculation
C SCADJ2 R new scf equation computed using opmode adjusted speed value
C SCF1 R old scf equation computed using opmode adjusted speed value
C SCUNA2 R new scf equation computed using unadj
C SPDGPB R accumulator: stores scf calculations
C
C Notes:
C
C BIGSAL was added for MOBILE4.
C BIGSAL was modified in MOBILE4.
C
C
INTEGER ALHFLG
C
COMMON /ALUOUT/ ALHRET (20,4,3)
COMMON /FLAGS2/ MYMRFG.NEWFLG, 1 MFLAG, ALHFLG
COMMON /SCENE1/ SPD (8) ,PCCN,PCHC,PCCC
COMMON /SPEED1/ SKI (6, 18, 3) ,SK2C (2, 14,2,3) ,SKG (2
COMMON /SPEED3/ SADJ.SCUNA1 (18,3,8) .SCADJ1 (3,4) ,
COMMON /SPEED4/ MAXSP1 .LB1STS (3) , LBLAST, 1 VB, 1 VA
COMMON /SPEEDS/ MYHSPC (2,3) .MAXHSP (3)
COMMON /SPEED6/ SALHCF (20,3,8)
COMMON /SPEED7/ GPBSCO (3, 3,4)
usted user inputted speed
for subgroup IVB












,6,2) ,SK2N(3,14,3)
ISPGRP (3, 4)





-------
228058
228059
228060
228061
228062
228063
228064
228065
228066
228067
228068
228069
228070
228071
228072
228073
228071*
228075
228076
228077
228078
228079
228080
228081
228082
228083
228084
228085
228086
228087
228088
228089
228090
228091
228092
228093
228094
228095
228096
228097
228098
228099
228100
228101
228102
228103
228104
228105
228106
228107
228108
228109
228110
228111
228112
228113
228114
228115
C
C
C


C
C
C
C











C
C
C
C
C
C

C
C
C
C


C
C
C

C

C







C



C
C
C

C
C
C
                             C-172

          Appendix C: MOBILE4 Subroutine BIGSAL                    May  5,  1989


Speed correction factor section

   SALHCF(IDX, IP, IVJ-1.0
   GOTO (20,20,20,10,10,10,10,20),IV

SCF for IVB  (Group B  IV): HDGV,  LDDV, LDDT, and HDDV.
Unless HDDV and NOX, exponentiate the 2nd degree polynomial  result.

10 SB=SPD(IV)
   IFOV.EQ.4.0R.IV.EQ.7)
  *    SPDGPB=GPBSCO(3,IP,IVB)*SB*SB
  *          +GPBSCOU, IP, IVB)*SB
  *          +GPBSCO(1, IP, IVB)
   IF (IV.EQ.5-OR.IV.EQ.6)
  *    SPDGPB=GPBSCO(3,IP,IVB)* (SB*SB-SADJ*SADJ)
  *          +GPBSCO(2, IP, IVB)* (SB-SAD J)
   IF (IV.NE.4.0R.IP.NE.3) SPDGPB=EXP (SPDGPB)
   SALHCF (IDX,IP,IV)=SPDGPB
   RETURN

SCF for LDGV, LDGT1,  LDGT2 and MC.

If optional corrections selected, correct LDGV, LDGT1,  LDGT2 and  MC
for air conditioning, extra  load, trailer towing and/or  humidity.

20 IF (ALHFLG.GT.l)  SALHCF (IDX,IP,IV)=ALHRET(IDX,IVA,IP)

Check  if new LDG equation case:
Note: Split the  IF,  since at  least  1 compiler  chokes  on  LB1STS(8).

   IF (IV.EQ.8) GOTO  30
   IF(MY.GE.LB1STS(IV)) GOTO 60

Otherwise use old 5th degree polynomial equation.

30 IFdV.EQ.8) ISP=ISPPTR(MY,IP,0,2)

   IFdDX.GT.l.AND.ISPGRPdP.IVA) .EQ.ISP) GOTO 50

   SCF1=SK1 (6,ISP,IP)
   DO 40  ICOEF5=1,5
   SCF1=SCF1*SADJ+SK1 (6-ICOEF5,ISP,IP)
1*0 CONTINUE
   IFOP.NE.3) SCF1=EXP(SCF1)
   SCADJ1 (IP, IVA)=SCF1
   ISPGRPdP, IVA) = ISP

50 SALHCF (IDX, IP, IV)=SALHCF (IDX, IP, IV)*
   1                  (SCUNA1 (ISP, IP, IVJ/SCADJ1 (IP, I VA))
   RETURN

Select new equation  form, based  on  pollutant,  for  LDG (LDGV, LDGT1,  LDGT2).

60 IFdP.EQ.3) GOTO  90

New equation form for HC 6 CO  is (A/X+B) /  (A/Y+B) , where X = inputted speed
and Y = operating mode .adjusted  FTP speed.   (A,B)  are selected from 1  of 2

-------
                   C-173
Appendix C:  MOBILES Subroutine BIGSAL
May 5, 1989
228116
£28117
§28118
^28119
228120
228121
228122
228123
228124
228125
228126
228127
228128
228129
228130
228131
228132
228133
228134
228135
228136
228137
228138
228139
228140
228141
228142
^28143
^2 8 144
^28145
228146
228147
228148
228149
228150
228151
228152
228153
228154
C
C
C
C
C
C

C
C
C




C
C
C



C




C
C
C
C







C


tables.

Note: current high speed cf my range begins at same point as new scf eq.
plus there is only 1 myg 6 B is 0.0. The original data was more
complex & may see a return, hence the original code is retained.

IF (SPD(IVA) .GT.19.6.AND.MY.GE.MYHSPCO, IVA)) GOTO 70

Use the first set of (A,B) coefficents.

ISP=ISPPTR(MY,IP, IVA, 3)
A=SK2C(1, ISP, IP, IVA)
B=SK2C(2, ISP, IP, IVA)
GOTO 80

Use second (speed GT FTP speed) set of (A,B) coefficients.

70 ISP=ISPPTR(MY, IP, IVA, 4)
A-SKG(1,ISP,IP)
B=SKG(2,ISP,IP)

80 SCUNA2=(A/SPD(IVA))+B
SCAD J2= (A/SAD J)+B
SALHCF (IDX, IP, IVA)=SALHCF (IDX, 1 P, 1 VA) * (SCUNA2/SCADJ2)
RETURN

New equation form NOx is EXP (A+B*X+C*X**2) / EXP (A+B*Y+C*Y**2) , where X 6 Y
are defined as in the HC 6 CO case. There is only 1 (A,B) table for NOx.

90 ISP=ISPPTR(MY, IP, IVA, 3)
A=SK2N(1, ISP, IVA)
B=SK2N(2, ISP, IVA)
C=SK2N(3,ISP, IVA)
SCUNA2=EXP (A+B*SPD ( 1 VA) +C*SPD ( 1 VA) **2)
SCADJ2=EXP (A+B*SADJ+C*SADJ**2)
SALHCF (IDX, IP, IVA)=SALHCF (IDX, IP, 1 VA) * (SCUNA2/SCADJ2)
•.
RETURN
END

-------
                   C-174



Appendix C: MOBILES Subroutine BIGMET
May 5, 1989
229000
229001
229002
229003
229001*
229005
229006
229007
229008
229009
229010
229011
229012
229013
229014
229015
229016
229017
229018
229019
229020
229021
229022
229023
229024
*} *> om c
22y025
229026
229027
229028
229029
229030
229031
229032
229033
229034
229035
229036
229037
229038
229039
229040
229041
229042
229043
229044
229045
229046
229047
229048
229049
229050
229051
229052
229053
229054
229055
229056
223057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C





C



C
C
C
C
C
C


C
C
C
C

SUBROUTINE Bl GMET (1 V.MY, 1 DX)

BIGMET computes the additive methane offset to the composite HC emission
factor .

Cal led by BIGCFX.

Cal Is EXMPTR.

1 nput on cal 1 :

parameter list: IV.MY.IDX
common blocks:
/NMETH1/ EXMET1.EXMET2
/REGION/ IREJN
/TEMPC3/ CHFRAC.TCF

Output on return:

common blocks:
/OFFSET/ OFFMTH

Local variable / array dictionary:

Name Type Description
OMT R unweighted product of operating mode vmt fraction times
temperature correction factor

Notes:

BIGMET was added for MOBILE4.
BIGMET was modified in MOBILE4 to map low altitude LDGV/T offsets into
high altitude values, when the 2nd (EXMET2) offset table applies.


COMMON /NMETH1/ EXMET1 (3,6,8,2) ,MYGEXM(6,8,2) , EXMET2 (3, 10, 3) ,LBEXM
COMMON /NMETH2/ 1 EXMYG, 1 EXARR
COMMON /OFFSET/ OFFCO (20, 3) , OFFMTH (20,8)
COMMON /REGION/ FEET (2) , IREJN, ALT, 1 NITPR
COMMON /TEMPC3/ MDLOHI (3) ,TD 1 FF (3) .CHFRAC (3) ,TCFF (3, 2) ,TCF (3)

OFFMTH(IDX,IV)=0.0
CALL EXMPTR (MY, IV)
IF (IV.NE.4.AND. IV.NE.7) GOTO 10

HDGV 6 HDDV: Straight table lookup - no adjustment for operating mode or
temperature or RVP. HDGV opmode is assumed 100% hot stabilized.
No actual bag split in data exists as for LDG, so for each
IEXMYG, the same methane fraction is stored for all 3 IB.

OFFMTH (IDX, IV) =EXMET1 (2, 1 EXMYG, 1 V, IREJN)
RETURN

LDV/T and MC: Mul tipl icatively adjust for operating mode and temperature
by looping through the bag 1 - 3 cases.

10 DO 20 IB=1,3

-------
                                           C-175

                        Appendix C: MOBILES Subroutine BIGMET                    May 5,  1989

229058           OMT=CHFRAC(IB)*TCF (IB)
J 29059           IF (IEXARR.EQ.1)
 29060          *    OFFMTHdDX, IV)=OFFMTH(IDX, IV)+EXMET1 (IB, IEXMYG, IV, IREJN)*OMT
229061           IF (IEXARR.EQ.2)
229062          *    OFFMTHdDX, IV) =OFFMTH( I DX, IV) +EXMET2 (IB, IEXMYG, IV) *OMT
229063        20 CONTINUE
22906A           IF(IEXARR.EQ.2.AND.IREJN.EQ.2.AND.(IV.EQ.2.0R.IV.EQ.3))
229065          *    OFFMTHdDX, IV) =1.25*OFFMTH (I DX, IV)
229066     c
229067           RETURN
229068           END

-------
                   c-176



Appendix C: MOBILES Subroutine BIGTAM
May 5, 1989
230000
230001
230002
230003
230004
230005
230006
230007
230008
230009
230010
230011
230012
230013
230014
230015
230016
230017
230018
230019
230020
230021
230022
230023
230024
230025
230026
230027
230028
230029
230030
230031
230032
230033
230034
230035
230036
230037
230038
230039
230040
230041
230042
230043
230044
230045
230046
230047
230048
230049
230050
230051
230052
230053
230054
230055
230056
230057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C

C

C
C
C
C
C






SUBROUTINE BIGTAM (1 P, IV, 1 DX)

BIGTAM takes the additive tampering offset from TAMPER and corrects it for
operating mode and temperature.

Called by BIGCFX.

Cal 1 s none.

1 nput on cal 1 :

parameter list: IP.IV.IDX
common blocks:
/TAMOUT/ TAMBAG
/TEMPC3/ CHFRAC.TCF

Output on return:

common blocks:
/OMTCOM/ OMTTAM

Local array subscripts:

CHFHDG(3) - CHFHDG ( IB )

Local variable / array dictionary:

Name Type Description


CHFHDG R HDGV operating mode fractions (cold, hot stabilized and
hot start fractions of HDGV vmt, hardcoded)
OMT R unweighted product of operating mode vmt fraction times
temperature correction factor
TOMT R HDGV tampering offset adjusted for operating mode

Notes:
..
BIGTAM was added for MOB 1 LEA.


COMMON /OMTCOM/ OMTCF (20,3,8) , OMTTAM (20, 3,4)
COMMON /TAMOUT/ TAMBAG (3, 3,20,4) ,THS(2,20,4) ,TDU(20,4) ,TCC(20,4)
COMMON /TEMPC3/ MDLOH 1 (3) ,TDI FF (3) .CHFRAC (3) ,TCFF (3,2) ,TCF (3)

DIMENSION CHFHDG (3)

DATA CHFHDG/. 206,. 521,. 273/

HDGV: a special (ignoring user inputted scenario operating mode) opmode
correction to the TAMPER offset, the result then corrected by the "bag 2"
RVP 6 T cf (HDGV opmode for TCF is assumed 100% hot stabilized = bag 2).

IF(IV.NE.4) GOTO 20
TOMT=0.0
' DO 10 IB-1,3
TOMT=TOMT+CHFHDG(IB)*TAMBAG(IB,IP,IDX,IV)
10 CONTINUE
OMTTAM ( 1 DX , 1 P , 1 V) =TOMT*T.CF (2)

-------
230058
  0059
  0060
230061
230062
230063
230065
230066
230067
230068
230069
230070
230071
230072
230073
                                           C-177

                        Appendix C:  MOBILES Subroutine BIGTAM
                                                                     May 5,  1989
      RETURN
C  LDV/T: TAMPER's offset is corrected by bag for both operating mode and
C  temperature.
C
C  Note: multiplicative tcf for correcting tampering offset  is neutral  (1.0)
C  when LOWCO = 2 ( = cold start LDGV/T 1980/M- CO -> use additive CO offset).
C
   20 OMTTAM(IDX,IP,IV)=0.0
      DO 30 IB=1,3
      OMT=CHFRAC(IB)*TCF(IB)
      OMTTAMUDX,IP,I V)=OMTTAM(IDX,IP,I V)+OMT*TAMBAG(IB,IP,IDX,IV)
   30 CONTINUE
C
      RETURN
      END

-------
                   c-178



Appendix C: MOBILES Subroutine BIGOMT
May 5, 1989
231000
231001
231002
231003
231001*
231005
231006
231007
231008
231009
231010
231011
231012
231013
231011*
231015
231016
231017
231018
231019
231020
231021
231022
231023
231021*
231025
231026
231028
231029
231030
231031
231032
231033
231031*
231035
231036
231037
231038
231039
23101*0
23101*1
23101*2
23101*3
23101*1*
23101*5
23101*6
23101*7
23101*8
23101*9
231050
231051
231052
231053
231051+
231055
231056
231057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C







C
C
C


C
C
SUBROUTINE BIGOMT (IP, IV, IVLM.MY, 1 DX)

Compute bef ' s multiplicative correction for operating mode and temperature.

Called by BIGCFX.

Calls IBFPTR.

1 nput on cal 1 :

parameter list: 1 P, 1 V, 1 VLM.MY, 1 DX
common blocks:
/OPMOD1/ BFRCOF,BFSTEP,BFR50K
/OPMOD2/ MYSTEP
/OPMOD3/ BFMILE.KINKBF.BFGT50
/TAMEQ1/ F50K
/TEMPC3/ CHFRAC.TCF
/TEMPC1*/ LOWCO

Output on return:

common blocks:
/OMTCOM/ OMTCF

Local variable / array dictionary:

Name Type Description
COMT R working location for operating mode and temperature c.f. to
DBF R BF deterioration rate for the first 50K miles
D50 R BF deterioration rate for beyond 50K miles
FTPBF R FTP BF normalizing factor calculated at JDX x IV mileage
be multiplied times the base emission factor
OMT R unweighted product of operating mode vmt fraction times
temperature correction factor
ZBF R BF zero mile level

Notes:

BIGOMT was added for MOBILEl*.
BIGOMT was modified for MOBILEl*, updating several common block declarations
and adding 198!*+ LDGT1/2 processing.


COMMON /OMTCOM/ OMTCF (20, 3,8) .OMTTAM (20, 3,1*)
COMMON /OPMOD1/ BFRCOF (8,8,3,6) .BFSTEP (8, 12, 3, 3) ,BFR50K (1*. 12, 3)
COMMON /OPMOD2/ MYSTEP, MAXBFR.MYGBFR (8,3,6)
COMMON /OPMOD3/ BFMI LE, K 1 NKBF .BFGT50
COMMON /TAMEQ1/ TAMZML (9,1»,2,2) .TAMDR (9,1*. 3, 2) ,MYGTAM(1*) , IGT5.F50K
COMMON /TEMPC3/ MDLOHI (3) ,TD 1 FF (3) .CHFRAC (3) ,TCFF (3,2) ,TCF (3)
COMMON /TEMPCV MYGCOO (3) , LOWCO, COOTFC (3) .COOTFD (3)

HDV: a single RVP & T cf - assume 100% hot stabilized opmode = TCF's bag 2

IF(IV.EQ.1*.OR.IV.EQ.7) OMTCF (1 DX, 1 P, 1 V) =TCF (2)
IF(IV.EQ.4.0R.IV.EQ.7) RETURN

LDV/T and MC: bag loop generates the operating mode and temperature cf

-------
                   c-179
Appendix C:  MOBILES Subroutine BIGOMT
May 5, 1989
231058
R1059
1060
231061
|231062
231063
231061*
231065
231066
231067
|231068
231069
231070
231071
231072
231073
231074
231075
231076
231077
231078
231079
231080
231081
231082
231083
231084
PI 085
1086
231087
231088
231089
231090
231091
231092
231093
231094
231095
231096
231097
231098
231099
231100
231101
231102
23H03
231104
231105
231106
231107
231108
231109
231110
Kllll
1112
231113
231114
C
C
C
C
C
C






C
C
C
C



C
C
C
C



C


C
C
C


C

C
C
C
C
C



C
C
C
C




e

C


using the appropriate RIPSTWXN bag term coefficients.

Note: multiplicative tcf for correcting tampering offset is neutral (1.0)
when LOWCO = 2 ( = cold start LDGV/T 1980/4+ CO -> use additive CO offset).
So if cold start 6 low temp CO case, correct only for operating mode 6 RVP.

COMTO.O
IGLM=IBFPTR(MY, IP, IVLM)
DO 40 IB=1,3
OMT=CHFRAC(IB)
OMT=OMT*TCF (IB)
IF (MYSTEP.EQ.2) GOTO 10

Not 198R LDGV and not 1984+ LDGT1/2 - access "old"
(from MOBILE2) array using myg index lookup.

ZBF-BFRCOF (2*IB-1 , IGLM, IP, IVLM)
DBF=BFRCOF (2*IB, 1 GLM, 1 P, IVLM)
GOTO 20

1981+ LDGV or 1984+ LDGT1/2 - access its own
bf array using calculated my index.

10 ZBF=BFSTEP(2*IB-1, IGLM, IP, IVLM)
DBF=BFSTEP(2*IB, 1 GLM, 1 P, 1 VLM)
IF (KINKBF.EQ.2) GOTO 30

20 COMT=COMT+OMT* (ZBF+DBF*BFMI LE)
GOTO 40

1981+ LDGV with mileage > 50K - get >50K det rate using same MY index.

30 D50=BFR50K(IB, IGLM, IP)
COMT=COMT+OMT*(ZBF+DBF*F50K+D50*BFGT50)

40 CONTINUE
..
Normalize by dividing through by the formula evaluated at FTP coefficients.

Case 1: not 1981+ LDGV and not 1984+ LDGT1/2

IF (MYSTEP.EQ.l) FTPBF =
* BFRCOF (7, IGLM, IP, 1 VLM)+ (BFRCOF (8, IGLM, IP, 1 VLM) *BFMI LE)
IF (MYSTEP.EQ.l) GOTO 50

Case 2: Subcase 1: 1981+ LDGV <=50K miles and 1984+ LDGT1/2. (KINKBF=1)
Subcase 2: 1981+ LDGV > 50K miles. (KINKBF=2)

IF(KINKBF.EQ.l) FTPBF=BFSTEP (7, IGLM, IP, IVLM) +
* (BFSTEP(8, IGLM, IP, 1 VLM) *BFMI LE)
IF (KINKBF.EQ.2) FTPBF=BFSTEP (7, 1 GLM, 1 P, 1 VLM) +
* (BFSTEP(8, IGLM, IP, 1 VLM) *F50K)+ (BFR50K (4, 1 GLM, 1 P) *BFGT50)

50 OMTCF(IDX,IP,IV)«=COMT/FTPBF

RETURN
END

-------
                   C-180
Appendix C:  MOBILES Subroutine HCCALX
May 5, 1989
232000
232001
232002
232003
232001*
232005
232006
232007
232008
232009
232010
232011
232012
232013
232011.
232015
232016
232017
232018
232019
232020
232021
232022
232023
232021*
232025
232026
232027
232028
232029
232030
232031
232032
232033
232031*
232035
232036
232037
232038
232039
23201*0
^ 3 f\ nli i
23201*2
23201*3
23201*1*
23201*5
23201*6
23201*7
23201*8
23201*9
232050
232051
232052
232053
232051*
232055
232056
232057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
SUBROUTINE HCCALX (1 CY.VMLDGT, 1 NERR)

HCCALX calculates HC emission factors.

Cal led by EFCALX.

Calls BEF, CCEVRT, IGSFPT, QUITER, RULOSS and IEVPTR.

Input on cal 1 :

parameter list: 1 CY.VMLDGT, INERR
common blocks:
/CITCIN/ CIGAS1,CIGAS2,CIETH1,CIETH2
/CITPAR/ FRETH.FRMETH.FRGAS
/CITRV2/ RVPHS1,RVPHS2,RVPET1,RVPET2
/CUMCOM/ CUMMIL
/EGSCAL/ OPENLP
/FLAGS3/ RLFLAG
/GSFCOM/ GSFRAC
/MAXIMA/ MAXVEH.MAXYRS
/MYRCAL/ JANMYR.TF
/REGION/ IREJN
/RLCOM3/ RLRATE
/RVPEX2/ OPENCR
/VMXCOM/ REGMIX.VMTMIX

Output on return:

parameter list: INERR
common blocks:
/RESUL1/ EFFTP.EFEXH.EFEVAP.EFLOSS
/RESUL3/ VFTP , VEXH , VE VAP , VLOSS , VRUNLS
/EVAPGR/ EVP.GREVP.VGREVP

Local array subscripts

EVPSUM ( 1* ) - EVPSUM ( 1 EVP )

Local variable / array dictionary:

Name Type Description

COMPCC R composite evaporative 6 crankcase emission factor for IDX
COMPEF R composite emission factor for IDX: summed across IDX to get
EFFTP for the given IP 6 IV
EVPSUM R gram evap component summation variable
EXHHC R exhaust HC component of total HC, for given IV x IDX case
EXHWGT R multiplicative weights to be applied to the exh ef returned
by BEF: speed 6 "BIGALH" cf, travel fraction 6 RVP cf
GASCAP R refueling HC loss factor for given IDX and IV
IBEFSW 1 see parameter dictionary
OPENRE R open loop technology percentage reduction of HC 6 CO for a
RVOPCF R exhaust HC £ CO cf for RVP and open loop technology, IV=1,1»
given vehicle type and model year
VMTAGE R see parameter dictionary

Notes:


-------
                             C-181
          Appendix C: MOBILE4 Subroutine HCCALX
May 5, 1989
232058
«2059
2060
232061
232062
232063
232064
232065
232066
232067
. 232068
232069
232070
232071
232072
232073
232075
232076
232077
232078
232079
232080
232081
232082
232083
232084
«2085
2086
232087
232088
232089
232090
232091
232092
232093
232094
232095
232096
232097
232098
232099
232100
232101
232102
232103
232104
232105
232106
232107
232108
232109
232110
4^2111
•§2112
232113
232114
232115
C
C
C
C



C

















C
C
C
C












C



C
C
C







HCCALX was added for MOBILE4 and modified  in 4.4 to remove  idle  code.
HCCALX was modified in MOBILE4.
   CHARACTER*4 SCNAME
   INTEGER ATPFLG.TPDFLG.RLFLAG.TEMFLG.OUTFMT
   REAL JANMYR

   COMMON /CITCIN/ UDI  (5) ,IUDI,CIGAS1,CIGAS2,ClETH1,CIETH2,ICERSW
   COMMON /CITPAR/ SCNAME(4).FRETH,FRMETH,FRGAS
   COMMON /CITRV1/ RVPBAS.RVPIUS.RVPAST.RVPICY.RVPETH,IUSESY.RATUNC
   COMMON /CITRV2/ RVPHS1.RVPHS2.RVPET1,RVPET2,RVP090,RVP100,RVP115
   COMMON /CUMCOM/ CUMMIL(20,8)
   COMMON /EGSCAL/ AER(11,11,2,2),TGS(11,6,4),EGS (7,2).OPENLP (20,4)
   COMMON /EVAPGR/ EVP (4).GREVP (4,9)  .VGREVP (4)
   COMMON /FLAGS3/ ATPFLG.TPDFLG.RLFLAG,LOCFLG.TEMFLG.OUTFMT
   COMMON /GSFCOM/ MAXGSF.GSFRAC(22,8,2).MYGSF (22,8,2)
   COMMON /MAXIMA/ MAXVEH.MAXLTW.MAXPOL.MAXREG.MAXYRS
   COMMON /MYRCAL/ XMYM(20,8)  ,JANMYR(20,8),TF (20,8).TFMYM (20,8)
   COMMON /RLCOM3/ RLRATE(20,4)
   COMMON /REGION/ FEET (2),IREJN,ALT,INITPR
   COMMON /RESULT/ EFFTP(3,9)  ,EFEXH(9)  ,EFEVAP(9) ,EFLOSS(9) ,EFRUNL(9)
   COMMON /RESUL3/ VFTP (3) ,VEXH,VEVAP,VLOSS.VRUNLS,VI OLE (3)
   COMMON /RVPEX2/ MYGRVP (4,4) ,RVPCF (20,3,4,2).OPENCR
   COMMON /SPEED6/ SALHCF (20,3,8)
   COMMON /VMXCOM/ REGMIX(8) ,TFNORM(8),VMTMIX (8)

   DIMENSION EVPSUM(4)

Initialize

   EFEXH(9)=0.0
   EFEVAP(9)=0.0
   EFLOSS(9)=0.0
   EFRUNL(9)=0.0
   VEXH=0.0
   VEVAP=0.0
   VLOSS=0.0
   VRUNLS=0.0
   DO  10 IEVP=1,4
   GREVP(IEVP,9)=0.0
   VGREVP(IEVP)=0.0
10 CONTINUE

   IP=1
   EFFTP(IP,9)=0.0
   VFTP (IP) =0.0

For each vehicle class,  calculate exhaust,  evap  and loss values

   DO 70 IV=1,MAXVEH
   EFFTP(IP, IV) =0.0
   EFEXH(IV)=0.0
   EFEVAP(IV)=0.0
   EFLOSS(IV)=0.0
   EFRUNL(IV)=0.0
   00,15 IEVP=1,4
   GREVP(IEVP, IV) =0.0

-------


232116
232117
232118
232119
232120
232121
232122
232123
232124
232125
232126
232127
232128
232129
232130
232131
232132
232133
232134
232135
232136
232137
232138
232139
232140
232141
232142
232143
232144
232145
232146
232147
232148
232149
232150
232151
232152
232153
232154
232155
232156
232157
232158
232159
232160
232161
232162
232163
232164
232165
232166
232167
232168
232169
232170
232171
232172
-232173



C

C


C

C





C



C



C
C
C
C

C
C
C
C


C
C
C

C
C
C



C
C
C
C







C
C
C
C
C-182
Appendix C: MOBILE4 Subroutine HCCALX May 5, 1989
15 CONTINUE

IF(REGMIX(IV) .EQ.0.0. AND. VMTMIX(IV) .EQ.0.0) GOTO 70

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
RNGLOS=0.0

DO 20 IEVP=1,4
EVPSUM(IEVP)=0.0
20 CONTINUE

VMTAGE=CUMM 1 L (JDX , 1 V) /1 0000 .
MY=ICY+IDX-20
IGS=IGSFPT(MY, IV)

Combine the speed and aluh correction factor and the travel fraction
into a single weight to correct the exhaust ef returned from BEF.

EXHWGT=SALHCF (IDX, IP, IV)*TF (IDX, IV)

Apply the exhaust weight to the BEF's computed ef .
IBEFSW is set to 2 so that BEF performs the operating mode corrections.

IBEFSW=2
EXHHC=BEF (MY, IDX, ICY, IP, 1 V.VMTAGE, 1 BEFSW) *EXHWGT

Exhaust HC ef is complete for diesels.

IF (IV.GE.5.AND.IV.LE.7) GOTO 25

Motorcycles have no RVP exhaust cf, but do get open loop technology credit.

IF (IV.EQ.8)
* EXHHC=EXHHC* (FRGAS+ (FRETH+FRMETH) * (1 .0-OPENCR) )
IF (IV.EQ.8) GOTO 25

For LDGV/T or HDGV, calculate and apply HC RVP exhaust and technology
correction factor.

OPENRE=1.0-OPENLP(IDX,IV)*OPENCR
RVOPCF=FRGAS*RVPCF(IDX,IP, IV, 1)
* +(FRETH*RVPCF(IDX, IP, IV, 2)
* +FRMETH*RVPCF(IDX,IP, 1 V, 1) ) *OPENRE
EXHHC=EXHHC*RVOPCF
25 EFEXH(IV)=EFEXH(IV)+EXHHC
COMPEF=COMPEF+EXHHC

Now figure composite evaporative and crankcase factor for
current my, including any onboard effect. Diesels (IV=5-7) do not have
evaporative, on-board or RVP components, so branch accordingly.

-------
232m
^2175
R2176
232177
232178
232179
232180
232181
232182
232183
232181*
232185
232186
232187
232188
232189
232190
232191
232192
232193
23219!*
232195
232196
232197
232198
232199
232200
IH2201
R}2202
232203
232205
232206
232207
232208
232209
232210
232211
232212
232213
232211*
232215
232216
232217
232218
232219
232220
232221
232222
232223
232221*
232225
232226
K2227
P2228
232229
232230
232231
C


C
C
C
C
C



C

C
C
C
C

C
C
C
C
C
C

C

C


C
C
C
C

C
C
C



C



C




C
C
C
C


                             C-183

          Appendix C: MOBILES Subroutine HCCALX                    May 5,  1989
   IFUV.GE.5.AND.IV.LE.7) GOTO 50
   COMPCC=CCEVRT(MY,IDX,IV,RVPHS1,RVPHS2,CI GAS 1,CIGAS2)

Call  to CCEVRT also  computes gram evap components.
Weight gram evap components by ethanol fraction.
Crankcase evap is not fuel type dependent:

   DO 30 IEVP=1,3
   EVPSUM (IEVP)=EVP (I EVP)* (1.0-FRETH)
30 CONTINUE

   EVPSUM (1»)=EVP(1»)

Calculate running loss emissions  for gas fueled  vehicles.
Motorcycles do not have  running loss emissions.

   IF (IV.LE.it) RNGLOS=RULOSS(MY, IDX, I V, RVPHS 1 .RVPHS2) * (1 .0-FRETH)

Done with evap, unless ethanol fraction  is positive,  in which  case first
have to compute and  average in the base  evaporative  and crankcase  factor
using ethanol fuel.  Do likewise for ethanol  portion  of gram evap.
Crankcase evap is not fuel type dependent.

   IF (FRETH.EQ.0.0)   GOTO 1*0

   COMPCC= 0.0-FRETH)*COMPCC
  *        +FRETH*CCEVRT(MY,IDX,IV.RVPET1.RVPET2.CIETH1,ClETH2)

   DO 35 IEVP=1,3
   EVPSUM(IEVP)=EVPSUM(IEVP)+EVP (IEVP)*FRETH
35 CONTINUE

Combine running  losses from gas fueled with  ethanol  fueled vehicles
Motorcycles do not have  running loss emissions.

   IF (IV.LE.l*) RNGLOS=RNGLOS+RULOSS(MY, IDX, I V.RVPET1 .RVPET2) *FRETH

Weight by travel or  registration  fractions and  summate.

kO COMPCC=COMPCC*TF(IDX,IV)
   EFEVAP(IV)=EFEVAP(IV)+COMPCC
   COMPEF=COMPEF+COMPCC

   RNGLOS=RNGLOS*TF (IDX,IV)
   EFRUNL (IV) =EFRUNL (IV)-I-RNGLOS
   COMPEF=COMPEF+RNGLOS

   DO kS IEVP-1,4
   EVPSUM(IEVP)=EVPSUM (IEVP)*JANMYR(JDX,I V)
   GREVP(IEVP,IV)=GREVP(IEVP,IV)+EVPSUM(IEVP)
1»5 CONTINUE

Refueling losses  (GASCAP) only occur for gasoline  vehicles (IV = 1-1*)
under one of the nonzero refueling  loss  options  (RLFLAG = 1-1») .

   IF (IV.GT.1*.OR.RLFLAG.EQ.5)  GOTO 50
   GASCAP=RLRATE (IDX,IV)*TF (IDX,IV)

-------
232232
232233
23223*4
232235
232236
232237
232238
232239
232240
232241
232242
232243
232244
232245
232246
232247
232248
232249
232250
232251
232252
232253
232254
232255
232256
232257
232258
232259
232260
232261
232262
232263
232264
232265
232266
232267
232268
232269
232270
232271
232272
232273
232274
232275
232276
232277
232278
232279
232280
232281
232282
232283
232284
232285
232286


C
C
C


C
C
C




C
C
C





C





C
C
C










C










C


                              C-184

          Appendix C: MOBILES Subroutine HCCALX                   May 5,  1989

   EFLOSS(IV)=EFLOSS(IV)+GASCAP
   COMPEF=COMPEF+GASCAP

Update FTP composite HC.

50 EFFTPdP, IV)=EFFTP(IP, IV)+COMPEF
55 CONTINUE

Sales fractions =  1.0 for  all  4  HDV  (HDG.HDD x L,H alt)  groups and all MC's.

   IF (IV.EQ.4.0R. IV.GE.7)  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)

Weight by VMTMIX for mileage  components  and REGMIX for gram components.

   VFTP (I P) =VFTP (I P) +E F FTP (I P, IV) *VMTM I X (IV)
   VEXH=VEXH+EFEXH(IV) *VMTMIX (IV)
   VEVAP=VEVAP+EFEVAP(IV)*VMTMIX(IV)
   VLOSS=VLOSS+EFLOSS(IV)*VMTMIX(IV)
   VRUNLS=VRUNLS+EFRUNL(I V)*VMTMI X(IV)

   DO 65 IEVP=1,3
   VGREVP (IEVP)=VGREVP (IEVP)+GREVP (IEVP,IV)*REGMI X(IV)
65 CONTINUE
   VGRE VP (4) =VGREVP (4) +GREVP (4, IV) *VMTM I X (IV)
70 CONTINUE

Assign composite  light  duty gas  truck emission factors.

   IF (EFFTP(IP, 2) .GT.0.0. AND. EFFTP(IP, 3) .GT.0.0)  EF FTP (IP, 9) =
  *    (EFFTP (IP,2)*VMTMIX (2)+EFFTP (I P,3)*VMTMIX(3)) /VMLDGT
   IF(EFEXH(2) .GT.0.0. AND. EFEXH (3) .GT.0.0)
  *   EFEXH(9) = (EFEXH(2)*VMTMIX(2)+EFEXH(3)*VMTMIX(3))/VMLDGT
   IF (EFEVAP(2).GT.0.0.AND.EFEVAP (3).GT.0.0)
  *   EFEVAP (9) = (EFEVAP (2) *VMTMI X (2)+EFEVAP (3) *VMTMI X (3)) /VMLDGT
   IF (EFLOSS (2).GT.0.0.AND.EFLOSS (3).GT.0.0)
  *   EFLOSS (9) = (EFLOSS (2) *VMTMIX (2)+EFLOSS (3) *VMTMI X (3)) /VMLDGT
   IF (EFRUNL (2).GT.0.0.AND.EFRUNL (3).GT.0.0)
  *   EFRUNL (9) = (EFRUNL (2) *VMTMIX (2)+EFRUNL (3) *VMTMI X (3)) /VMLDGT

   DO 75 IEVP=1,3
   IF(GREVP(IEVP,2).GT.0.0.AND.GREVP (IEVP,3).GT.0.0)
  *   GREVP(IEVP,9) = (GREVP(IEVP,2)*REGMI X(2)
  *                 +GREVP(IEVP,3)*REGMIX(3))
  *                 / (REGMIX (2)+REGMIX (3))
75 CONTINUE
   IF(GREVP(A,2) .GT.0.0.AND.GREVP (1»,3) .GT.0.0)
  *   GREVP (4,9) • (GREVP (J», 2) *VMTM I X (2)
  *              +GREVP(i*,3)*VMTMIX(3))
  *              /VMLDGT

   RETURN
   END

-------
                   C-185



Appendix C: MOBILES Function CCEVRT
May 5, 1989
233000
4^33001
W33002
233003
233004
233005
233006
233007
233008
233009
233010
233011
233012
233013
233014
233015
233016
233017
233018
233019
233020
233021
233022
233023
233024
233025
233026
«3027
3028
233029
233030
233031
o 3 3 n 3 *)
233032
233033
233034
233035
233036
233037
233038
233039
233040
233041
233042
233043
233044
233045
233046
233047
233048
233049
233050
233051
233052
^33053
V&3054
233055
233056
233057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C




FUNCT 1 ON CCEVRT (MY , 1 DX , 1 V, RV1 , RV2 , C 1 1 , C 1 2)
CCEVRT is a REAL-valued function that returns a hydrocarbon combined
evaporative (hot soak 4- diurnal) and crankcase emission factor. The
hot soak value is weighted by trips per day and the evaporative sum is
weighted by miles per day.

Cal led by HCCALX.

Calls CRANKC, DIURNL, HOTSOK, and IEVPTR.

1 nput on cal 1 :

parameter list: MY, 1 DX, 1 V.RV1 ,RV2,CI 1 ,CI 2
common blocks:
/CEVBMY/ BMYMPD.BMYTPD
/CITCIN/ ICERSW
/INJECT/ TBI ,PFI
/RVPNAT/ ICERSY
/TAMOUT/ TCC
/VMXCOM/ TFNORM

Output on return:

common blocks:
/EVAPAR/ IFDS, ISTDC, ISTDT, ISTDP.FINJ (to IEVPTR, HOTSOK, DIURNAL)
/CITUSE/ RVUSE1,RVUSE2,CIUSE1,CIUSE2 (to HOTSOK 6 DIURNL)
function: CCEVRT
Local variable dictionary:

Name Type Description


CC R crankcase HC effect - CRANKC -f tampering cc offset, if any
Dl R diurnal HC effect = DIURNL + tampering di offset, if any
HS R hot soak HC effect •= HOTSOK + tampering hs offset, if any
IG5 1 pointer to fuel injected sales percentage for given my
IVGAS 1 see (l,999)'s subscript dictionary
KEYEQ 1 see (l,999)'s subroutine / function dictionary
MPD R mi les per day

Notes:

Hot soak, diurnal and crankcase without tampering and with tampering HC are
figured separately and then added together, according to Evap Study 2.
The additions are done before miles per day and trips per day are applied
as weights.

CCEVRT was modified in MOBILE4, with separate TBI and PBI calculations.


INTEGER ATPFLG.TPDFLG.RLFLAG.TEMFLG.OUTFMT
REAL MPD

COMMON /CEVBMY/ BMYMPD (20,8) .BMYTPD (20,8)
COMMON /CITCIN/ UD 1 (5) , 1 UDI ,C IGAS1 ,CI GAS2.C 1 ETH1 ,C 1 ETH2, 1 CERSW
COMMON /CITUSE/ RVUSE1 .RVUSE2.CI USE 1 .CIUSE2
COMMON /EVAPAR/ 1 FDS, ISTOC, ISTDT, 1 STOP, F INJ (2)

-------
                   C-186




Appendix C: MOBILES Function CCEVRT
May 5, 1989
233058
233059
233060
233061
233062
233063
23306**
233065
233066
233067
233068
233069
233070
233071
233072
233073
23307**
233075
233076
233077
233078
233079
233080
233081
233082
233083
233081*
233085
233086
233087
233088
233089
233090
233091
233092
233093
23309^
233095
233096
233097
233098
233099
233100
233101
233102
233103
23310*4
233105
233106
233107
233108
233109
233HO
2331H
233H2
233H3
233H*»
233H5







C
C
C


C


C
C
C

C


C
C
C

C
C
C
C
C
C
C
C
C
C




C
C
C
C
C
C
C
C
C
C
C
C
C


C

C
COMMON /EVAPGR/ EVP W .GREVP (*t,9) .VGREVP (*»)
COMMON /FLAGS3/ ATPFLG.TPDFLG.RLFLAG, LOCFLG.TEMFLG.OUTFMT
COMMON /INJECT/ TBI (13. V ,PFI 03,*») ,MAXF 1 Y.MI NF 1 Y
COMMON /RVPNAT/ 1 CERSY.RVPCER.RVPLIM (2) ,RVPD 1 U (2) ,PFUL, E 1 NCR
COMMON /TAMOUT/ TAMBAG (3.3.20,*) ,THS (2,20,*t) ,TDU(20,*») ,TCC(20,*0
COMMON /TPDCOM/ TPDCO(2,8)
COMMON /VMXCOM/ REGMI X (8) .TFNORM (8) , VMTMI X (8)

Set parameters that are identical for hotsoak and diurnal calculations.

IVGAS=!V
IF(IV.EQ.S) IVGAS=5

KEYEQ=1
IF (IV.LE.*t.AND. ICERSW.EQ.2.AND. 1 CERSY .LE.MY) KEYEQ=3

Determine basic miles per day according to vehicle class.

JDX=21-IDX
r
1 F ( 1 VG AS . LE . 3) MPD=BMYMPD (JDX , 1 V)
IF (IVGAS.GE.**) MPD=TF NORM (IV)*1 00000. /365.0

Warn if MPD is zero.

IF (MPD.EQ.0.0) CALL QUITER (FLOAT (MY) , 1 V,58, INERR)

Obtain the untampered evap 6 crankcase emissions.

Reassign the parameter list RVP variables to their corresponding /CITRV3/
variables. The latter can not simply be placed in the parameter list.
The function arg list transfer is done by "call by address". If a common
block variable appeared in the parameter list, a conflict would occur
between the (compile time determined) common block address and the
calling routine's address for the arg list variable being "passed".

RVUSE1=RV1
RVUSE2=RV2
CIUSE1-CI1
CIUSE2=CI2

Look up HS/DU model year group pointers:

(1) 1 emission standard code for each fuel delivery system (IFDS) -
1 = carbureted (ISTDC)
2 = TBI (ISTDT)
3 = PFI (ISTDP)

(2) 1 for the percentage of vehicle type's fleet that is TBI (FINJ(D)
and PBI (FINJ(2)). (IG5 dimension of TBI and PFI
(IG5 dimension of TBI and PFI).

Carb
IFDS=1
ISTDC-IEVPTR (MY.KEYEQ, IVGAS, 1)

IF (IVGAS.GE. *4. OR. MY. LT. 1981) GOTO 10


-------
                                           C-187

                        Appendix C:  MOBILES Function CCEVRT                     May 5,  1989
233116
K3H7
3118
233H9
233120
233121
233122
233123
23312*
233125
233126
233127
233128
233129
233130
233131
233132
233133
23313*
233135
233136
233137
233138
233139
2331*0
C


C


C
C


C


C
C
C
C
C
C



C


2331*2
  311*1*
2331*5
2331*6
2331*7
2331*8
2331*9
233150
233151
233152
233153
23315*
233155
233156
233157
233158
233159
233160
233161
233162
233163
23316*
C
C
C
C
C
C
C
C
C
              TBI
                 IFDS=2
                 ISTDT=IEVPTR(MY,KEYEQ,IVGAS,1)

                 IG5=IEVPTR(MY,0,IVGAS,2)
                 FINJ(1)-TBI (IG5,IVGAS)
              PFI
   IFDS=3
   ISTDP=IEVPTR(MY,KEYEQ,IVGAS.l)

   IG5=IEVPTR(MY,0,IVGAS,2)
   FINJ(2)=PFI (IG5, IVGAS)

Call  functions to calculate hot soak and diurnal and  lookup crankcase
rates.  The first two are returned with the tampering offset already
added in, given LDGV/T or HDGV. Hot soak and crank case are zero when
MPD is zero. Diurnals occur regardless of MPD.

10 HS=0.0
   EVP(1)=0.0
   IF(MPD.GT.0.0)  HS=HOTSOK(MY,IDX.KEYEQ,IVGAS)

   EVP(2)=0.0
   EVP(3)=0.0
   DU-DIURNL (MY,IDX,KEYEQ,IVGAS)

   CC=0.0
   IF (MPD.GT.0.0)  CC=CRANKC(MY,IV)

GV/T => tampering crankcase HC effects are to be added.

   IF (IVGAS.LE.l*.AND.MPD.GT.0.0)  CC=CC+TCC (I DX, IV)
   EVP(1*)=CC

CCEVRT is also zero if MPD is zero.

   CCEVRT=0.0
   IF (MPD.EQ.0.0)  GOTO 90

Combining the 3 factors requires converting hotsoak from grams per  trip  to
grams per day (gpd),  adding in diurnal  (which by definition only occurs  once
per day), converting the sum from gpd to grams  per mile  (gpm), and, finally,
adding in crankcase (which is already in gpm).

   CCEVRT=(HS*BMYTPD(JDX,IV)+DU)/MPD+CC

90 RETURN
   END

-------
                   C-188
Appendix C:  MOBILES Function HOTSOK
May 5, 1989
231*000
231*001
231*002
231+003
231*001.
231*005
231*006
231*007
231*008
231*009
231*010
231.011
231*012
231*013
231*011.
231*015
231*016
231*017
231*018
231*019
231*020
231*021
231*022
231*023
231*021*
231*025
231*026
231*027
231*028
231*029
231*030
231+031
231*032
•) a i.rt 7 3
234033
234031*
23W35
231»036
23^+037
231*038
231*039
231*01*0
231*01*1
231*01*2
231*01*3
231*01*1*
231*01*5
23401*6
231*01*7
231*01*8
231*01*9
231*050
231*051
231+052
231+053
231+05!+
231+055
231+056
231+057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
FUNCTION HOTSOK (MY, 1 DX.KEYEQ, 1 VGAS)

HOTSOK selects the yearly value for hot soak HC.

Called by CCEVRT.

Calls EVMAIN, QUITER.

1 nput on cal 1 :

parameter list: MY, 1 DX, KEYEQ, 1 VGAS
common blocks:
/CITUSE/ RVUSE1.RVUSE2
/EVAHS1/ HSEQ
/EVAPAR/ ISTDC, ISTDT, ISTDP.FINJ
/EVAPHD/ IVVMAP
/FLAGS3/ TEMFLG
/TAMOUT/ THS
/TEMPS/ AMBT.TEMMIN.TEMMAX.TEMEVP

Output on return:

function: HOTSOK
/EVAPGR/ EVP

Local array subscripts

HSINJ (2) - HSINJ (2)
HSTCF (3) - HSTCF (IFDS)

Local variable / array dictionary

Name Type Description


HSCAR R hot soak loss for carbureted vehicles
HSCCAR R hot soak loss for control led/untampered carbureted vehicles
HSCINJ R hot soak loss for control led/untampered fuel injected vehicles
HSINJ R hot soak loss for fuel injected vehicles, index is
1=TBI , 2=PBI
HSTCF R hot soak temperature correction factor for CARB, TBI,
and PBI
HSTEMP R temperature used in the hot soak temperature correction
factor equation
HSUCAR R hot soak loss for uncontrolled/tampered carbureted vehicles
HSUINJ R hot soak loss for uncontrolled/tampered fuel injected vehicles
IVV 1 vehicle (IVV=1) or truck (IVV=2) classification switch
RVPHS R hot soak RVP adjusted for weathering
FULADJ R FTP vs In-Use fuel level adjustment factor for fuel
injected vehicles
TRIPFR R fraction of vehicle fleet with daily trips

Notes:

HOTSOK was modified for MOBILEl*. Hot Soak = 0 when Hot Soak temp <= 1*OF,
separate TBI and PF 1 calculations, hot soak temperature correction
added.



-------
                                           c-l8g
                        Appendix C: MOBILE** Function HOTSOK
                                                                  May 5,  1989
234058
^£34059
^•34060
^34061
234062
234063
234064
234065
234066
234067
234068
234069
234070
234071
234072
234073
234074
234075
234076
234077
234078
234079
234080
234081
234082
234083
234084
^^54085
•K4086
^34087
234088
234089
234090
234091
234092
234093
234094
234095
234096
234097
234098
234099
234100
234101
234102
234103
234104
234105
234106
234107
234108
234109
234110
^34111
^•41 12
^?34l 13







C


C
C
C
C







C

C
C
C
C
C


C
C
C


C
C
C
C

C

C
C
C
C
C
C






COMMON /CITUSE/ RVUSE 1 .RVUSE2.C 1 USE 1 ,CI USE2
COMMON /EVAHS1/ HSEQ (3,2, 12) , EFHS (4,2) ,HDHS (2) ,CLHS (5,2)
COMMON /EVAPGR/ EVP (4) .GREVP (4,9) , VGREVP (4)
COMMON /EVAPAR/ 1 FDS, 1 STDC, 1 STDT, 1 STOP, F 1 NJ (2)
COMMON /EVAPHD/ HDSAL.HDWGT (2) , 1 VVMAP (5)
COMMON /FLAGS3/ ATPFLG,TPDFLG,RLFLAG, LOCFLG.TEMFLG.OUTFMT
COMMON /TAMOUT/ TAMBAG (3, 3,20,4) ,THS (2,20,4) ,TDU (20,4) ,TCC (20,4)
COMMON /TEMPS/ AMBT,TEMMIN,TEMMAX,TEMEXH (3) .TEMEVP (6) .TEMAST (3)

DIMENSION HSINJ(2) ,HSTCF (3)
DATA FULADJ/0.88/

Hot soak is zero if any evaporative temperature is 40F or less,
or if minimum temperature is 25F or less.

HOTSOK=0.0
EVP(1)=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

KEYEVP=1

Choice of RVP depends on whether or not cert fuel change applies to the
current MY.
RVPHS=RVUSE1
IF (KEYEQ.EQ.l) RIVAL=RVUSE1
IF(KEYEQ.EQ'.3) RIVAL=RVUSE2

Lower bound on Hot Soak RVP is 8.0, reset if necessary.

IF (RVPHS.LT.8.0) RVPHS=8.0
IF (RIVAL. LT. 8.0) RIVAL=8.0

Compute the Hot Soak Temperature Correction Factor for each fuel
del i very system.

IVV=I VVMAP (IVGAS)

DO 20 IFDS=1,3

Select the base temperature to be used for the hot soak correction
factor. Use the calculated hot soak temperature as default. However,
if that temperature is below 70F for 1981+ CARB/TBI LDGVs or
1981+ TBI LDGTs or MCs, use 70F instead.

HSTEMP=TEMEVP(1)
IF(IVGAS.EQ.4.0R.HSTEMP.GE.70.0) GOTO 10
5 IF((IVGAS.EQ.1.AND.IFDS.LE.2) .OR.
* (IVGAS.GE.2.AND.IVGAS.LE.3-AND.IFDS.EQ.2) .OR.
* IVGAS. EQ. 5)
* HSTEMP=70.0
234114
234115
10 HSTCF(IFDS) = (HSEQ(IFDS,IVV, 9)

-------
                   c-190



Appendix C: MOBILES Function HOTSOK
May 5, 1989
234116
234117
231*118
234119
234120
234121
234122
234123
234124
234125
234126
23412?
234128
234129
234130
234131
234132
234133
234134
234135
234136
234137
234138
234139
234140
234141
234142
234143
234144
234145
234146
234147
234148
234149
234150
234151
234152
234153 •
234154
234155
234156
234157
234158
234159
234160
234161
234162
234163
234164
234165
234166
234167
234168
234169
234170
23^171
234172
234173



C

C
C
C
C
C
C


C



C
C
C
C
C




C
C
C
C



C



C
C
C
C


C
C
C



C
C
C



C
C
C
* +HSEQ(IFDS, IVV,10)*HSTEMP
* +HSEQ(IFDS, IVV,11)*HSTEMP**2)
* /HSEQ(IFDS,IVV,12)

20 CONTINUE

Compute and combine the controlled and uncontrolled rates for carbureted
and fuel-injected vehicles.

Motorcycles in MOBILE4 are 100% carbureted and not affected by tampering.

HSINJ(1)=0.0
HSINJ(2)=0.0

IF (IVGAS.EQ.5)
'V .CALL EVMAIN (MY, KEYEVP.KEYEQ, IVGAS , 1 STDC, RIVAL, HSCAR)
IF (IVGAS.EQ.5) GOTO 30

All HDGV and pre-198l LDGV/T are 100% carbureted, but are affected by
tampering. For these vehicle classes, figure a carbureted number
accordingly and then skip the fuel injected rate case.

CALL EVMAIN (MY, KEYEVP.KEYEQ, IVGAS, ISTDC.RI VAL.HSCCAR)
CALL EVMAIN (MY, KEYEVP, 2, 1 VGAS, ISTDC.RVPHS.HSUCAR)
HSCAR=HSCCAR+(HSUCAR-HSCCAR) *THS (1 , 1 DX, IVGAS)
IF (IVGAS. EQ. 4. OR. MY. LT. 1981) GOTO 30

If LDGV/T and 1981+, calculate the fuel injected (TB 1 and PBI)
vehicle hot soak rates.

CALL EVMAIN-(MY, KEYEVP.KEYEQ, IVGAS, ISTDT.RI VAL.HSC INJ)
CALL EVMAIN (MY, KEYEVP, 2, 1 VGAS, ISTDT,RVPHS,HSUINJ)
HS 1 NJ ( 1) =HSC 1 NJ+ (HSU 1 NJ-HSC 1 NJ) *THS (2 , 1 DX , 1 VGAS)

CALL EVMAIN(MY, KEYEVP.KEYEQ, IVGAS, ISTDP.RI VAL.HSC INJ)
CALL EVMAIN (MY, KEYEVP, 2, 1 VGAS, ISTDP.RVPHS.HSU INJ)
HS 1 NJ (2) =HSC 1 NJ+ (HSU 1 NJ-HSC 1 NJ) *THS (2 , 1 DX , 1 VGAS)

For fuel injected vehices, adjust for the difference between in-use
'and FTP fuel tank levels

HSINJ(1)=HSINJ(1)*FULADJ
HSINJ(2)=HSINJ(2)*FULADJ

Weight carbureted and fuel injected rates by corresponding sales fractions

HSCAR= (1 .0-F 1 NJ (1) -F 1 NJ (2) ) *HSCAR
HSINJ(1)=FINJ(1)*HSINJ(1)
HSINJ(2)=FINJ(2)*HSINJ(2)

Apply the fuel delivery specific temperature correction factor.

30 HSCAR=HSCAR*HSTCF(1)
. HSINJ(1)=HSINJ(1)*HSTCF(2)
HS 1 N J (2) =HS 1 N J (2) *HSTCF (3)

Combine the hot soak components together to form a fleet value.


-------
                                           C-191



                        Appendix C:  MOBILE4 Function HOTSOK                     May 5, 1989




234174           EVP(1)=HSCAR+HSINJ(1)+HSINJ(2)
^34175
•§4176
J234177
234178
1234179
|234l80
234181
234182
234183
234184
234185
C
C Multiply fleet value by the
C HDGV and MC daily trip fract
C


C

TRIPFR=0
IF (IVGAS


.761
.GE.4) TRIPFR=1.0

HOTSOK=EVP(1)*TRIPFR
C



RETURN
END




-------
                   C-192




Appendix C: MOBILE* Function DIURNL
May 5, 1989
235000
235001
235002
235003
235001*
235005
235006
235007
235008
235009
235010
235011
235012
235013
235014
235015
235016
235017
235018
235019
235020
235021
235022
235023
235024
235025
235026
235027
235028
235029
235030
235031
*) 3 Cf\ 2 1
235032
235033
235034
235035
235036
235037
235038
235039
235040
235041
235042
235043
235044
235045
235046
235047
235048
235049
235050
235051
235052
235053
235051*
235055
235056
235057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C





FUNCTION DIURNL (MY, IDX.KEYEQ, IVGAS)

DIURNL selects the yearly value for diurnal HC.

Called by CCEVRT.

Calls EVMAIN.

Input on cal 1 :

parameter list: MY, 1 DX.KEYEQ, IVGAS
common blocks:
/CITCIN/ UDI , IUDI
/EVADU2/ IDUAF
/EVAPAR/ ISTDC, ISTDT, ISTDP.FINJ
/FLAGS3/ TEMFLG
/TAMOUT/ TDU
/TEMPS/ AMBT.TEMMIN.TEMMAX.TEMEVP

Output on return:

function: DIURNL
/EVAPGR/ EVP

Local array subscripts

DU (5) - DU (IDU)
DUINJ (2) - DUINJ (2)

Local variable / array dictionary

Name Type Description


DU R diurnal component (l=full, 2=partial: 8AM-11AM,
3=partial: 10AM-3PM, 4=partial: 8AM-2PM, 5=multiple)
DUCAR R diurnal loss for carbureted vehicles
DUCCAR R diurnal loss for control led/untampered carbureted vehicles
DUCINJ R diurnal loss for control led/untampered fuel injected vehicles
DUINJ R diurnal loss for fuel injected vehicles, 1=TBI, 2=PBI
DUUCAR R diurnal loss for uncontrolled/tampered carbureted vehicles
DUUINJ R diurnal loss for uncontrolled/tampered fuel injected vehicles
FDU R weighted full diurnal loss
IDU -1 index for DU indicating full, in-use, 8AM-11AM, 10AM-3PM,
8AM-2PM, and multiple
PDU R weighted partial diurnal loss
MDU R weighted multiple diurnal loss

Notes:

DIURNL was modified for MOBILE4. Diurnal = 0 when TEMMAX <= 40F,
separate TBI and PF 1 calculations, expanded LDGV/T calculations.


COMMON /CITCIN/ UD 1 (5) , 1 UD 1 ,C IGAS1 , C IGAS2.CI ETH1 ,CI ETH2, 1 CERSW
COMMON /EVADU2/ HIDU(2) ,DULIM(3,2) ,R2DU(2,2) .TPDUAF (7,4,2) , IDUAF
COMMON /EVAPGR/ EVP (4) .GREVP (4,9) .VGREVP (-4)
COMMON /EVAPAR/ 1 FDS, ISTDC, ISTDT, ISTDP.F IflJ (2)
COMMON /FLAGS3/ -ATPFLG.TPDFLG.RLFLAG, LOCFLG, TEMFLG, OUTFMT

-------
                          C-193



       Appendix C: MOBILES Function DIURNL
                                                                                May 5,  1989
235058
COMMON /TAMOUT/ TAMBAG (3, 3,20,4) ,THS(2,20,4) ,TDU(20,4) ,TCC(20,4)
«5059
5060
235061
235062
235063
235064
235065
235066
235067
235068
235069
235070
235071
235072
235073
235074
235075
235076
235077
235078
235079
235080
235081
235082
235083
235084
^35085
•35086
235087
235088
235089
235090
235091
235092
235093
235094
235095
235096
235097
235098
235099
235100
235101
235102
235103
235104
235105
235106
235107
235108
235109
235HO
^35111
•&5H2
^35H3
235114
235H5
C


c
c
c
c








c

c
c
c
c
c
c
c
c
c
c
c

c

c
c
c

c
c
c


c
c
c
c

c

c
c
c
c
c
c
c

COMMON /TEMPS/ AMBT.TEMMI N.TEMMAX.TEMEXH (3) .TEMEVP (6) .TEMAST (3)
DIMENSION DU(5) ,DUINJ(2)
REAL MDU

Diurnal is zero if any evaporative temperature is 40F or less,
or if minimum temperature is 25F or less.

DIURNL=0.0
EVP(2)=0.0
EVP(3)=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

KEYEVP=2

Compute and combine the controlled and uncontrolled rates for carbureted
and f uel - i njected vehicles.

Compute diurnals for full, partial 8AM-11AM, partial 10AM-3PM, and
partial 8AM-2PM conditions. These calls to EVMAIN use the
FTP adjustment factor, so IDUAF=1 (via CITCIN).

IDUAF=1
Loop for each diurnal type, except multiple

DO 20 IDU=1,4

DU(IDU)=0.0

HDGV and MC only have full diurnals, so do not calculate partials.

IF(IVGAS.GE.4.AND.IDU.GE.2) GOTO 20

Initial ize

DUINJ(1)=0.0
DUINJ(2)=0.0

Set UDI index and compute RIVAL based on diurnal type.
IUDI is also used in EVUNC via common block CITCIN.

IUDI = IDU-H

RIVAL=UDI (IUDD/UDI (1)

Motorcycles in MOBILE4 are 100% carbureted and not affected by tampering.
All HDGV and pre-1981 LDGV/T are 100% carbureted, but are affected by
tampering. For these vehicle classes, figure a carbureted number
accordingly and then skip the fuel injected rate case. Reset tampered
if less than nontampered.

CALL EVMAIN (MY, KEYEVP.KEYEQ, 1 VGAS, 1 STDC.R 1 VAL.DUCCAR)

-------
235H6
235H7
235H8
235H9
235120
235121
235122
235123
235121*
235125
235126
235127
235128
235129
235130
235131
235132
235133
235131*
235135
235136
235137
235138
235139
235H*0
235H*1
235H*5
235H*6
235H*7
235H*8
235H»9
235150
235151
235152
235153
235151*
235155
235156
235157
235158
235159
235160
235161
235162
235163
235161*
235165
235166
235167
235168
235169
235170
235171
235172
23517.3
C
C
C
C
C
C
C
C
C
C
C

C
C
C
C
C
C
C
C

C


C

C
          Appendix C: MOBILES Function DIURNL                     May 5, 1989

   IF(IVGAS.EQ.5)  DUCAR=DUCCAR
   IF(IVGAS.EQ.5)  GOTO 10
   CALL EVMAIN(MY,KEYEVP,    2,IVGAS,ISTDC,   O..DUUCAR)
   IF (DUUCAR.LT.DUCCAR)  DUUCAR=DUCCAR
   DUCAR=DUCCAR+(DUUCAR-DUCCAR)*TDU(IDX,IVGAS)
   IF(IVGAS.EQ.l*.OR.MY.LT.198l) GOTO 10

If LDGV/T and 1981+, calculate the fuel injected (TBI and PBI)
vehicle diurnal  rates.

   CALL EVMAIN(MY,KEYEVP,KEYEQ,IVGAS,ISTDT.RIVAL.DUCINJ)
   CALL EVrtAIN(MY,KEYEVP,    2,IVGAS,ISTDT,   O..DUUINJ)
   IF (DUUINJ.LT.DUCINJ)  DUUINJ=DUCINJ
   DUINJ(1)=DUCINJ+(DUUINJ-DUCINJ)*TDU(IDX, IVGAS)

   CALL EVMAIN(MY,KEYEVP,KEYEQ,IVGAS,I STOP,RIVAL,DUCINJ)
   CALL EVMAIN(MY,KEYEVP,    2,IVGAS,I STOP,   O..DUUINJ)
   IF (DUUINJ.LT.DUCINJ)  DUUINJ=DUCINJ
   DUINJ (2)=DUCIN J+ (DUUINJ-DUCINJ)*TDU(IDX,IVGAS)

Weight carbureted and fuel  injected rates by corresponding sales fractions
and add results together to obtain the fleet diurnal rate.

   DUCAR= (1.0-FINJ (1)-FINJ (2))*DUCAR
   DUINJ(1)=FINJ(1)*DUINJ(1)
   DUINJ(2)=FINJ(2)*DUINJ(2)

10 DU(IDU)=DUCAR+DUINJ (D+DUINJ (2)

20 CONTINUE

Store the unmodified  In-Use diurnal rate

30 EVP(2)=DU(1)

Compute the multiple diurnals for CARB, TBI,  and PFI and weight by
sales fractions.  Multiple diurnals use the in-use adjustment  factor,
so IDUAF=2 and IUDI=2. (Sent to EVUNC via CITCIN and EVADU2)
HDGV and pre-198l LDGV/T do not have fuel   injection. MC do not
have multiple diurnals. Reset tampered  if  less than  nontampered.

   DUUCAR=0.
   DUINJ(1)=0.
   DUINJ(2)=0.

   IF(IVGAS.EQ.5)  GOT050

   IDUAF=2
   IUDI=2

   RIVAL=UDI (IUDO/UDI (1)

   CALL EVMAIN(MY,KEYEVP.KEYEQ,IVGAS,ISTDC,RIVAL,DUCCAR)
   CALL EVMAIN(MY,KEYEVP,    2,IVGAS,ISTDC.RIVAL.DUUCAR)
   IF(DUUCAR.LT.DUCCAR)  DUUCAR=DUCCAR
   IF(lVGAS.EQ.l*.OR.MY.LT.198l) GOTO 50

   CALL EVMAIN(MY,KEYEVP.KEYEQ,IVGAS,ISTDT.RIVAL.DUCINJ)

-------
                   c-195



Appendix C: MOBILE4 Function DIURNL
May 5, 1989
235174
A35175
J35176
235177
235178
235179
235180
235181
235182
235183
235184
235185
235186
235187
235188
235189
235190
235191
235192
235193
235194
235195
235196
235197
235198
235199
235200
£35201
•35202
?35203
235204
235205
235206
235207
235208
235209
235210
235211
235212
235213
235214
235215
C
C
C
C
C
C
C
C
C
C

C




C




C



C
C
C

C


CALL EVMAIN(MY,KEYEVP, 2, IVGAS, 1 STDT, RIVAL, DUI NJ (1) )
IF (DUINJ (1) .LT.DUCINJ) DUINJ (1) =DUCI NJ
CALL EVMAIN(MY,KEYEVP,KEYEQ, IVGAS, 1 STOP, RIVAL, DUC INJ)
CALL EVMAIN(MY,KEYEVP, 2, IVGAS, 1 STOP, RIVAL, DUI NJ (2) )
IF (DUINJ(2) .LT.DUCINJ) DUINJ (2) =DUCI NJ
DUUCAR=(1 .0-FINJ(1)-FINJ(2))*DUUCAR
DUINJ(1)=FINJ(1)*DUINJ(1)
DUINJ(2)=FINJ(2)*DUINJ(2)
50 DU(5)=DUUCAR+DUINJ (0+DUINJ (2)
Store the unmodified multiple diurnal rate
EVP(3)=DU(5)
Compute the weighted full, partial, and multiple diurnal emission
components. Weighting factors are vehicle dependent.



GOTO (60,60,

60,70,80) , IVGAS
LDGV/T
60



FDU=DU (1) *0.
PDU=DU(2)*0.
MDU=DU(5) *0.
GOTO 90
3406
3236+DU (3) *0 .0709+DU (4) *0.036g
80*0.161

HDGV
70



MC
80



FDU=DU(1)*0.
PDU=0.
MDU=(DU(5)*0
GOTO 90

FDU=DU(1)
PDU=0.
MDU=0.

Combine the emi

90




498

• 5*0.137) + (DU(5)*0.094)






ssion components to obtain the total diurnal value.

DIURNL=FDU+PDU+MDU

RETURN
END




-------
                   C-196



Appendix C: MOBILE** Function OLDMPD
May 5, 1989
236000
236001
236002
236003
236001*
236005
236006
236007
236008
236009
236010
236011
236012
236013
236014
236015
236016
236017
236018
236019
236020
236021
236022
236023
23602A
236025
236026
236027
236028
236029
236030
236031
236032

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C



C
C
C



C


FUNCTION OLDMPD (MY, IV)

OLDMPD selects the old MOBILE3 fixed (not vary w/

Called by CCEVRT.

Cal Is QUITER.

1 nput on cal 1 :

parameter list: MY, IV
common blocks:
/MPDCOM/ MAXMPD.VALMPD.MYGMPD

Output on return:

function: OLDMPD


COMMON /MPDCOM/ MAXMPD, VALMPD (2,8) .MYGMPD (2,8)

DO 10 IG=1, MAXMPD
IF (MY.LE.MYGMPD(IG, IV)) GOTO 20
10 CONTINUE

Set default.

IG=1
CALL QUITER (VALMPD (IG, IV) ,U,60,MY)
20 OLDMPD=VALMPD(IG, IV)

RETURN
END

-------
                   C-197
Appendix C: MOBILES Function CRANKC
May 5, 1989
237000
^57001
B7002
237003
237001*
237005
237006
237007
237008
237009
237010
237011
237012
237013
2370H
237015
237016
237017
237018
237019
237020
237021
237022
237023
237024
237025
237026
^37027
B7028
737029
237030
237031
237032
237033
237034

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C



C
C
C



C


FUNCTION CRANKC (MY, IV)

CRANKC selects the yearly value for crankcase HC.

Called by CCEVRT.

Calls QUITER.

1 nput on cal 1 :

parameter list: MY, IV
common blocks:
/CRACOM/ MAXCRA.CRAVAL.MYGCRA
/REGION/ IREJN

Output on return:

function: CRANKC


COMMON /CRACOM/ MAXCRA, CRAVAL (3,8,2) ,MYGCRA (3,8,2)
COMMON /REGION/ FEET (2) , IREJN, ALT, IN ITPR

DO 10 IG-1, MAXCRA
IF (MY.LE.MYGCRA(IG, IV, IREJN)) GOTO 20
10 CONTINUE

Set default.

IG=1
CALL QUITER (CRAVAL (IG, IV, IREJN) ,5,60,MY)
20 CRANKC=CRAVAL(IG, IV, IREJN)

RETURN
END

-------
238000
238001
238002
238003
238001*
238005
238006
238007
238008
238009
238010
238011
238012
238013
238011*
238015
238016
238017
238018
238019
238020
238021
238022
238023
238021*
238025
238026
238027
238028
238029
238030
238031
238032
238033
238031*
238035
238036
238037
238038
238039
23801*0
23801*1
2380l»2
23801*3
23801*1*
23801*5
23801*6
23801*7
23801*8
23801*9
238050
238051
238052
238053
238051*
238055
238056
238057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C

C
C
C
C
C
C

C
C
C

C
C
C
                          c-198

       Appendix C: MOBILE!* Subroutine EVMAIN

SUBROUTINE EVMAIN(MY.KEYEVP.KEYEQ,IVGAS,ISTD.RIVAL,EVRATE)
                                                                  May 5, 1989
EVMAIN is the driver "main" for the block of functions that calculate
hot soak or diurnal rates, given the vehicle type, emission standard,
base/in-use/certificat ion RVP/lndex and the untampered/uncontrolled/cert
equation group.specified  in the parameter list.

Evap rates are adjusted for high altitude regions  (IREJN=2) as follows:
   Hot Soak High Alt Rate = Hot.Soak Low Alt Rate * HIADJ1
   Diurnal  High Alt Rate = Diurnal  Low Alt Rate * HIADJ1
EXCEPT:
      LDGVs   1972-76my    9-0 RVP => Hot Soak=H*.07, Diurnal = l?. 15
                          11.5 RVP => Hot Soak=20.96, Diurnal =41*.93
              1977my      Same as Low Alt
              1978-8lmy   High Alt = Low Alt * HIADJ2
              1981*+my     Same as Low Alt
      LDGTls  1972-76my   Same as LDGVs
              1977my
                       Same as Low Alt
              1978-8lmy   High Alt = Low Alt * HIADJ2

Called by DIURNL and HOTSOK.

Calls EVPRE, EVSTD, EV8l, EV85, EVUNC, EVCERT and EVHI.

Input on cal1:

  parameter list: MY,KEYEVP.KEYEQ,IVGAS,ISTD,RIVAL,IDUAF
  common blocks:
  /EVAHIA/ HIADJ1.HIADJ2
  /REGION/  IREJN

Output on return:

  parameter list: EVRATE

Notes:

EVMAIN was added for MOBILES.


   COMMON /EVAHIA/ HIHS (2),HIADJ1,HIADJ2
   COMMON /REGION/ FEET (2) ,IREJN,ALT,INITPR

   JSTD=ISTD

Function call  depends
    first on the equation group key,
          second on the vehicle type and
                 third on the emission standard.

   GOTO  (10,55,75), KEYEQ

KEYEQ =  1 = untampered rates

10 GOTO  (15,15,35,50,20), IVGAS

LDGV/LDGT1

-------
                              c-199
238058
^38059
^•38060
^^38061
238062
238063
238064
238065
238066
238067
238068
238069
238070
238071
238072
238073
238074
238075
238076
238077
238078
238079
238080
238081
238082
238083
238084
^^38085
^•38086
^^38087
238088
238089
238090
238091
238092
238093
238094
238095
238096
238097
238098
238099 '
238100
238101
238102
238103
238104
238105
238106
238107
238108
238109
238110
^38111
^B8112
^38113
238114
238115

C













C
C
C





C


C
C
C




C
C
C
C
C

C






C
C
C
C
C
C

C
           Appendix C: MOBILE4 Subroutine EVMAIN                   May  5,  1989

 15 GOTO (20,25,25,25,30,30,30), ISTD

 20 EVRATE=EVPRE (KEYEVP,JSTD,IVGAS,RIVAL)
    IF (IREJN.EQ.2)  EVRATE=EVRATE*HIADJ1
    RETURN
 25 EVRATE=EVSTD(KEYEVP,JSTD,IVGAS,RIVAL)
    IF (IREJN.EQ.1.0R.MY.EQ.1977) RETURN
    IF (ISTD.EQ.2)  EVRATE=EVRATE*HIADJ1
    IF (ISTD.EQ.3)  EVRATE=EVHI (KEYEVP,RIVAL)
    IF (ISTD.EQ.4)  EVRATE=EVRATE*HIADJ2
    RETURN
 30 IFDS=ISTD-4
    EVRATE=EV8l (KEYEVP,IFDS,IVGAS,RIVAL)
    IF (IREJN.EQ.l.OR. (IVGAS.EQ.l.AND.MY.GE.1984)) RETURN
    IF (MY.EQ.1981)  EVRATE = EVRATE*HIADJ2
    IF (MY.GT.1981)  EVRATE=EVRATE*HIADJ1
    RETURN

LDGT2

 35 GOTO (20,40,45,45,45),  ISTD
 40 JSTD=4
    EVRATE=EVSTD (KEYEVP,JSTD,IVGAS,RIVAL)
    IF (IREJN.EQ.2)  EVRATE = EVRATE*HIADJ1
    RETURN

 45 IFDS=ISTD-2
    EVRATE=EV8l(KEYEVP,IFDS,IVGAS,RIVAL)
    IF (IREJN.EQ.2)  EVRATE=EVRATE*HIADJ1
    RETURN

HDGV

 50 IF (ISTD.EQ.l)  GOTO 20
    EVRATE=EV85(KEYEVP,KEYEQ,IVGAS,RIVAL)
    IF (IREJN.EQ.2)  EVRATE=EVRATE*HIADJ1
    RETURN

 KEYEQ = 2 = uncontrolled emissions

 IEVPTR will return all ISTD values except cert fuel  change  cases.

 55 GOTO (60,60,60,60,20),  IVGAS

 60 EVRATE=EVUNC (KEYEVP,JSTD,IVGAS,RIVAL)
    IF (IREJN.EQ.l)  RETURN
    IF(IVGAS.LE.2.AND.MY.EQ.1977)  RETURN
    IF(IVGAS.EQ.l.AND.MY.GE.1984)  RETURN
      EVRATE=EVRATE*HIADJ1
    RETURN

 KEYEQ = 3 = certification  fuel change

 Note: cert fuel change only involves  rate change (s)  on  1981+  LDGV.
 All  pre-198l rates should  be the same  as untampered.

 75 GOTO (80,80,85,50,20),  IVGAS

-------
                   C-200
Appendix C: MOBILES Subroutine EVMAIN
May 5, 1989
238116
238117
238118
238119
238120
238121
238122
238123
238124
238125
238126
238127
238128
238129
238130
238131
238132
238133
238134
C LDGV/LDGT1
C
80 IF (ISTD.LT.5) GOTO 10
IFDS=ISTD-4
EVRATE=EVCERT(KEYEVP, IFDS, IVGAS, RIVAL)
IF (IREJN.EQ.l.OR. (1 VGAS. EQ. 1 .AND.MY.GE . 1984) )
IF (MY. EQ. 1981) EVRATE=EVRATE*HIADJ2
IF (MY.GT. 1981) EVRATE=EVRATE*HIADJ1
RETURN
C
C LDGT2
C
85 IFOSTD.LT.3) GOTO 35
IFDS=ISTD-2
EVRATE=EVCERT(KEYEVP, IFDS, IVGAS, RIVAL)
IF (IREJN.EQ.2) EVRATE=EVRATE*H 1 ADJ1
RETURN
C
END
                                       RETURN

-------
239000
«9001
9002
239003
239004
239005
239006
239007
239008
239009
239010
239011
239012
239013
239014
239015
239016
239017
239018
239019
239020
239021
239022
239023
239024
239025
239026
4^9027
^§9028
239029
239030
239031
239032
239033
239034
239035
239036
239037
239038
239039
2390^0
239041
239042
239043
239044
239045
239046
239047
239048
239049
239050
239051
239052
^39053
•9054
^39055
239056
239057

C
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c




c

c
c
c
c
c

c
c
c



c
c
c



c
c
c


                             C-201

          Appendix C: MOBILES Function EVPRE

   FUNCTION EVPRE (KEYEVP,JSTD,IVGAS,RIVAL)
May 5, 1989
EVPRE calculates a hot soak or diurnal rate for a pre-control emission
standard, given the vehicle type and fuel RVP or Wade  Index, respectively.

Called by EVMAIN.

Input on cal1:

  parameter list: KEYEVP,JSTD,IVGAS,RIVAL
  common blocks:
  /CITRV2/ RVP090
  /EVADU1/ EFDU.CLDU.HDDU
  /EVADU2/ R2DU
  /EVAHS1/ EFHS.CLHS.HDHS
  /REGION/ IREJN

Output on return:

  function: EVPRE

Notes:

JSTD should be  1 for all vehicle types except MC.  MC  can be 1 or 2 or  3.

EVPRE was added for MOBILE4.


   COMMON /CITRV2/ RVPHS1,RVPHS2,RVPET1,RVPET2,RVP090,RVP100,RVP115
   COMMON /EVADU1/ 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 /EVAHS1/ HSEQ(3,2,12),EFHS(4,2),HDHS(2),CLHS (5,2)
   COMMON /REGION/ FEET (2),IREJN,ALT,INITPR

   IF (KEYEVP.EQ.2) GOTO 50

Hot Soak cal1

Branch on vehicle type:

   GOTO  (10,10,20,20,30), IVGAS

LDGV/LDGT1

10 EV90=EFHS(1, 1)
   EV115=EFHS(1,2)
   GOTO 40

LDGT2/HDGV

20 EV90=HDHS(1)
   EV115=HDHS(2)
   GOTO 40

MC

30 EV90=CLHS(JSTD,1)
   EV115=CLHS(JSTD,2)

-------
                                           C-202

                        Appendix C: MOBILE**  Function  EVPRE                       Hay 5,  1989

239058     c
239059        *40 EVPRE=EV90+(EV115-EV90)*(RIVAL-RVP090)/2.5
239060           RETURN
239061     c
239062     C  Diurnal rate call
239063     c
23906*4     C  Branch on the vehicle type:
239065     c
239066        50 GOTO  (60,60,70,70,80),  IVGAS
239067     c
239068     C  LDGV/LDGT1
239069     c
239070        60 EV90-EFDU(1,1)
239071           EV115=EFDU(1,2)
239072           GOTO 90
239073     C
23907*4     C  LDGT2/HDGV
239075     C
239076        70 EV90=HDDU(1)
239077           EV115=HDDU(2)
239078           GOTO 90
239079     C
239080     C  MC
239081     c
239082        80 EV90=CLDU(JSTD,1)
239083           EV115=CLDU(JSTD,2)
23908*4     c
239085        90 KSTD=1
239086           EVPRE=EV90+ (EV115-EV90)* (RIVAL-1.0)/ (R2DU(KSTD,IREJN)-1.0)
239087           RETURN
239088     c
239089           END

-------
                   C-203




Appendix C: MOBILE4 Function EVSTD
May 5, 1989
240000
£40001
P»0002
240003
240004
240005
240006
240007
240008
240009
240010
240011
240012
240013
240014
240015
240016
240017
240018
240019
240020
240021
240022
240023
240024
240025
240026
£40027
P*0028
140029
240030
240031
240032
240033
240034
240035
240036
240037
240038
240039
240040
240041
240042
240043
240044
240045
240046
240047
240048
240049
240050
240051
240052
«0053
0054
0055
240056
240057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C





C


C




C
FUNCTION EVSTD (KEYEVP, JSTD, IVGAS.RIVAL)

EVSTD calculates the hot soak or diurnal rate for a standard in the
controlled to pre-198l LDGV and LDGT1/2 classes, given the fuel RVP
or Wade Index, respectively.

'Called by EVMAIN.

Calls EV81.

1 nput on cal 1 :

parameter list: KEYEVP, JSTD, IVGAS.RIVAL
common blocks:
/CITRV2/ RVP090
/EVADU1/ EFDU
/EVADU2/ R2DU
/EVAHS1/ EFHS
/REGION/ IREJN

Output on return:

function: EVSTD

Local array subscripts:

R2HS(2) - R2HS ( KSTD )

Local variable / array dictionary:

Name Type Description


Rl R low RVP or diurnal Index based on low RVP for EV8l call
R2 R high RVP or diurnal Index based on high RVP for EV8l call
R2HS R hot soak values for R2 based on standard

Notes:

The emission rates in this case are to be fitted through the 1981+ LDGV
or LDGT1/2 curves.

EVSTD was added for MOBILE4.


COMMON /CITRV2/ RVPHS1 .RVPHS2.RVPET1 ,RVPET2,RVP090,RVP100,RVP1 15
COMMON /EVADU1/ 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 /EVAHS1/ HSEQ (3,2, 12) , EFHS (4,2) ,HDHS (2) ,CLHS (5,2)
COMMON /REGION/ FEET (2) , IREJN, ALT, IN ITPR

DIMENSION R2HS(2)
DATA R2HS/11.5.11.7/

IFDS=1
KSTD=1
IF (JSTD. EQ. 4) KSTD=2
IF (KEYEVP. EQ. 2) GOTO 10


-------
                             C-204
240058
240059
240060
240061
240062
240063
240064
240065
240066
240067
240068
240069
240070
240071
240072
240073
240074
240075
240076
240077
240078
240079
C
C







C
C
C

C






C

          Appendix C: MOBILES Function EVSTD

Hot soak rate cal1

   R1=RVP090
   R2=R2HS(KSTD)
   EVSTD=EFHS(JSTD,1)
  *    +(EFHS(JSTD,2)-EFHS(JSTD,1))
  * *(EV8l (KEYEVP,IFDS,IVGAS.RIVAL)-EV8l (KEYEVP,IFDS,IVGAS.RI))
  *    /(EV81(KEYEVP,IFDS,IVGAS.R2)-EV8l (KEYEVP,IFDS,IVGAS.R1))
   RETURN

Diurnal rate cal1

10 Rl=1.0

   R2=R2DU(KSTD,IREJN)
   EVSTD=EFDU(JSTD,1)
  *    + (EFDU(JSTD,2)-EFDU(JSTD,1))
  * *(EV8l (KEYEVP,IFDS,IVGAS.RIVAL)-EV8l (KEYEVP,IFDS,IVGAS.R1))
  *    /(EV81 (KEYEVP,IFDS,IVGAS,R2)-EV8l (KEYEVP,IFDS,IVGAS.RI))
   RETURN

   END
May 5, 1989

-------
                                         C-205



                      Appendix  C:  MOBILES Function  EVHI
                                                               May 5, 1989
4
241000
tlOOl
1002
1003
241004
241005
241006
241007
241008
241009
241010
24101 1
241012
241013
241014
241015
241016
241017
241018
241019
241020
241021
241022
241023
o ii i r\ o li
241025
241026
£41027
fcl028
Rl029
241030
241031
241032
241033
241034
241035
241036
241037
241038
241039
241040
241041
241042
241043
241044
241045
241046
241047
241048
241049
241050
241051
241052
241053

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C
C
C
C
C
C
C
C




C

C
C
C




C
C
C





FUNCTION EVHI (KEYEVP, RIVAL)

EVHI calculates the high altitude, 1972-7& model year, hot soak or
diurnal for LDGVs and LDGTls given the fuel RVP or Wade Index,
respectvely .

Cal led by EVMAIN.

1 nput on cal 1 :

parameter list: KEYEVP, RIVAL
common blocks:
/CITRV2/ RVP090.RVP115
/EVADU2/ HIDU.R2DU
/EVAHIA/ HIHS
/REGION/ IREJN

Output on return:

function: EVHI

Local variable / array dictionary:

Name Type Description

Rl R low RVP or diurnal Index
R2 R high RVP or diurnal Index

Notes:

EVHI was added for MOBILE4.


COMMON /CITRV2/ RVPHS1 .RVPHS2.RVPET1 ,RVPET2,RVP090,RVP100,RVP1 15
COMMON /EVADU2/ HIDU(2) ,DULIM(3,2) ,R2DU(2,2) .TPDUAF (7,4,2) , IDUAF
COMMON /EVAHIA/ H IHS (2) ,H 1 ADJ1 ,H 1 ADJ2
COMMON /REGION/ FEET (2) , 1 REJN, ALT, IN ITPR

IF (KEYEVP. EQ. 2) GOTO 10

Hot soak rate cal 1

R1=RVP090
R2=RVP115
EVH 1= (H IHS (2) * (Rl VAL-R1) -H 1 HS (1) * (Rl VAL-R2) ) / (R2-R1)
RETURN

Diurnal rate call (Note: EVHI currently only called when IREJN = 2.)

10 *1=1.0
KSTD=1
R2=R2DU(KSTD, IREJN)
EVH 1 = (H 1 DU (2) * (Rl VAL-R1) -H 1 DU (1) * (R| VAL-R2) ) / (R2-R1)
RETURN
l055
END

-------
                   C-206




Appendix C: MOBILE4 Function EV8l
May 5, 1989
242000
242001
242002
242003
242004
242005
242006
242007
242008
242009
242010
242011
242012
242013
242014
242015
242016
242017
242018
242019
242020
242021
242022
242023
242024
242025
242026
242028
242029
242030
242031
242032
242033
242034
242035
242036
242037
242038
242039
242040
242041
242042
242043
242044
242045
242046
242047
242048
242049
242050
242051
242052
242053
242054
242055
242056
242057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C






C
C
C
C
C
C
C
C


C

C
C
C

FUNCTION EV81 (KEYEVP, 1 FDS, IVGAS, RIVAL)

EV8l calculates a hot soak or diurnal rate for the 1981+ LDGV and
LDGT1/2 emission standards, given the fuel delivery system and the
fuel RVP or Wade Index, respectively.

Called by EVMAIN, EVSTD and EV85.

1 nput on cal 1 :
•
parameter list: KEYEVP, 1 FDS, IVGAS, RIVAL

common blocks:
/CITRV2/ RVP090
/CITUSE/ RVUSE1.CIUSE1
/EVADU1/ DUEQ
/EVADU2/ DULIM
/EVAHS1/ HSEQ
/EVAPHD/ IVVMAP

Output on return:

function: EV8l

Local variable / array dictionary:

Name Type Description
IVV 1 vehicle (!VV=1) or truck (IVV=2) classification switch
RVPUSE R in-use RVP, with lower bound of 8.0 for hot soak

Notes:

EV81 was added for MOBILE4.


COMMON /C 1 TRV2/ RVPHS 1 , RVPHS2 , RVPET 1 , RVPET2 , RVP090 , RVP 1 00 , RVP 1 1 5
COMMON /CITUSE/ RVUSE1 .RVUSE2, Cl USE1 ,CI USE2
COMMON /EVADU1/ 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 /EVAHS1/ HSEQ (3,2, 12) , EFHS (4, 2) ,HDHS (2) ,CLHS (5,2)
COMMON /EVAPHD/ HDSAL.HDWGT (2) , 1 VVMAP (5)


Untampered 1981+ HS / D 1 rate = excess RVP effect
+ malmai ntenance 6
defect effect
+ standard level
+ insufficient capacity

EXCESS=0.0
IVV= IVVMAP (IVGAS)

IF (KEYEVP. EQ. 2) GO TO 10

Hot soak

EXCESS=HSEQ(IFDS, IVV, 1)+HSEQ (1 FDS, IVV,2)*RIVAL

-------
242058
                   C-207




Appendix C:  MOBILE4 Function EV8l




                      +HSEQ(IFDS,IVV,3)*RIVALftft2
                                                                                May  5,  1989
^P»2060
242061
242062
242063
242064
242065
242066
242067
242068
242069
242070
242071
242072
242073
242074
242075
242076
242077
242078
242079
242080
242081
242082
242083
242084
•2085
2086
242087
242088
242089
242090
242091


C





C

C
C
C
C
C
C
C



C


C




C


RVPUSE-RVUSE1
IF(RVPUSE.LT.S.O) RVPUSE=8.0

EV8l=EXCESS
* +HSEQOFDS, IVV,4)+HSEQ(IFDS, 1 VV.5) *RVPUSE
ft +HSEQ(IFDS, IVV,6)*RVPUSE**2
ft +HSEQOFDS, IVV, 7)
ft +HSEQOFDS, IVV, 8)

RETURN

Diurnal

Excess diurnal value computed only if Wade Index is one or higher.
If computed, the equation used depends on whether or not the Wade Index
exceeds the "diurnal limit".

10 IF (RIVAL. LE.DULIMOFDS, IVV))
* EXCESS=DUEQ(IFDS, 1 VV, 0+DUEQ (1 FDS, IVV,2)*RIVAL
ft +DUEQ(IFDS, IVV,3)*RIVAL*ft2

IF (RIVAL.GT.DUL!M(IFDS, IVV))
* EXCESS=DUEQ(IFDS, I VV,9)+DUEQ (1 FDS, 1 VV, 10) *RI VAL

EV8l=EXCESS
* +DUEQ(IFDS, IVV,4)+DUEQ(IFDS, 1 VV.5) *CI USE 1
* +DUEQOFDS, IVV,6)*CIUSEl*ft2
ft +DUEQOFDS, IVV, 7)
ft +DUEQ(IFDS, IVV, 8)

RETURN
END

-------
                   C-208




Appendix C: MOBILE4 Function EV85
May 5, 1989
243000
243001
243002
243003
243004
243005
243006
243007
243008
243009
243010
243011
243012
243013
243014
243015
243016
243017
243018
243019
243020
243021
243022
243023
243024
243025
243026
243027
243028
243029
243030
243031
243032
243033
243034
243035
243036
243037
243038
243039
243040
243041
243042

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C



C



C


FUNCTION EV85(KEYEVP,KEYEQ, IVGAS, RIVAL)

EV85 calculates a hot soak or diurnal rate for the 1985+ HDGV emission
standard, given the equation group and the fuel RVP or Wade Index,
respectively.

Called by EVMAIN.

Calls EV81 and EVCERT.

1 nput on cal 1 :

parameter list: KEYEVP.KEYEQ, IVGAS, Rl VAL

common blocks:
/EVAPHD/ HDSAL.HDWGT

Output on return:

function: EV85

Notes:

The uncontrolled equation case does not occur for EV85 (KEYEQ never = 2).

RIVAL is base or local fuel RVP dependent on a untampered call and
certification fuel RVP dependent on a cert fuel change call.

. EV85 was added for MOBILE4.


COMMON /EVAPHD/ HDSAL.HDWGT (2) , IVVMAP (5)

IF(KEYEQ.EQ.l)
* EV85=EV8l (KEYEVP.l, 1 VGAS, RIVAL) *HDWGT (1) *HDSAL
* +EV81 (KEYEVP.l, IVGAS, RIVAL) *HDWGT (2) *(1.0-HDSAL)

IF (KEYEQ. EQ. 3)
* EV85=EVCERT (KEYEVP ,1,1 VGAS , R 1 VAL) *HDWGT (1) *HDSAL
* +EVCERT (KEYEVP, 1 , IVGAS, RIVAL) *HDWGT (2) * (1 .0-HDSAL)

RETURN
END

-------
21*1*000
« 1*001
1*002
2^*1*003
21*1*001*
21*1*005
21*1*006
21*1*007
21*1+008
21*1*009
21*1*010
21*1*011
21*1*012
21*1*013
21*1*011*
21*1*015
21*1*016
21*1*01?
21*1*018
21*1*019
21*1*020
21*1*021
21*1*022
21*1*023
21*1*021*
21*1*025
21*1*026
« 1*027
1*028
21*1*029
21*1*030
21*1*031
21+1*032
21*1*033
21+1+031*
21+1+035
241+036
21+1+037
21+1+038
21*1*039
21*1+01+0
21*1*01*1
21*1*01*2
21*1*01*3
21*1*01*1*
21*1*01+5
21+1*01*6
21*1*01*7
21*1*01*8
21*1*01*9
21+1*050
21+1+051

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C





C

C
C
C




C
C
C
C
C
C


C

                             C-209

          Appendix C: MOBILE** Function EVUNC

   FUNCTION EVUNC(KEYEVP,JSTD,IVGAS,RIVAL)
May 5, 1989
EVUNC calculates a hot soak or diurnal for an uncontrolled  (KEYEQ = 2)
emission equation, given the emission standard context  (veh  type,  MY,  etc)
and the fuel RVP.

Cal led by EVMAIN."

Input on cal1:

  parameter list: KEYEVP,JSTD,IVGAS.RIVAL
  common blocks:
  /CITRV2/ RVP090
  /CITCIN/ UDI,IUDI
  /EVADU2/ TPDUAF,IDUAF
  /EVAHS2/ TPHS
  /REGION/  IREJN

Output on return:

  function: EVUNC

Notes:

EVUNC was added for MOBILES.
EVUNC was modified for MOBILE!*
   COMMON /CITCIN/ UDI (5) ,IUDI,CI GAS!,ClGAS2.CIETH1,CIETH2,ICERSW
   COMMON /CITRV2/ RVPHS1,RVPHS2,RVPET1,RVPET2,RVP090,RVP100,RVP115
   COMMON /EVADU2/ HIDU(2),DULIM(3,2),R2DU(2,2),TPDUAF (7,1»,2),IDUAF
   COMMON /EVAHS2/ TPHS (7, i», 2)
   COMMON /REGION/ FEET (2),IREJN,ALT,INITPR

   IF(KEYEVP.EQ.2) GOTO  10

Hot Soak

   EVUNC=TPHS (JSTD,IVGAS,1)
  *     +(TPHS(JSTD,IVGAS,2)-TPHS(JSTD,IVGAS,1))
  *     *(RIVAL-RVP090)/2.50
   RETURN

Diurnal

Use the Uncontrolled Diurnal  rate  (IUDI dependent)  and  the
Tampered Diurnal Adjustment Factor  (FTP or  In-Use).

10 EVUNC=UDI (IUDI)*TPDUAF(JSTD,IVGAS,IDUAF)
   RETURN

   END

-------
                   C-210
Appendix C: MOBILE4 Function EVCERT
May 5, 1989
245000
245001
245002
245003
245004
245005
245006
245007
245008
245009
245010
24501 1
245012
245013
245014
245015
245016
245017
245018
245019
245020
245021
245022
245023
245024
245025
245026
245028
245029
245030
245031
245032
245033
245034
245035
245036
245037
245038
245039
245040
245041
245042
245043
245044
245045
245046
245047
245048
245049
245050
245051
245052
245053
245054
245055
245056
245057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C






C
C
C
C
C
C
C
C
•C
C



C
FUNCTION EVCERT (KEYEVP, IFDS, IVGAS, RIVAL)

EVCERT calculates a hot soak or diurnal certification fuel change rate,
given the fuel delivery system and the fuel RVP or Wade Index,
respectively.

Cal led by EVMAIN and EV85-

1 nput on cal 1 :

parameter list: KEYEVP, 1 FDS, IVGAS, RIVAL

common blocks:
/CITRV2/ RVP090
/CITUSE/ RVUSE1.CIUSE1
/EVADU1/ DUEQ
/EVADU2/ DULIM
/EVAHS1/ HSEQ
/EVAPHD/ IVVMAP

Output on return:

function: EVCERT

Local variable / array dictionary:

Name Type Description
IVV 1 vehicle (IVV=1) or truck (IVV=2) classification switch
RVPUSE R in-use RVP, with lower bound of 8.0 for hot soak

Notes:

Cert change rates apply only to part of the 2 gram fleet.

EVCERT was added for MOBILE4.


COMMON /CITRV2/ RVPHS1 .RVPHS2.RVPET1 ,RVPET2,RVP090,RVP100,RVP1 15
COMMON /CITUSE/ RVUSE1 ,RVUSE2,C 1 USE 1 ,CI USE2
COMMON /EVADU1/ 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 /EVAHS1/ HSEQ (3,2, 12) , EFHS (4,2) ,HDHS (2) , CLHS (5,2)
COMMON /EVAPHD/ HDSAL.HDWGT (2) , 1 VVMAP (5)

Cert change evap rate = standard level
+ excess RVP effect
+ ma 1 maintenance &
defect effect

If RIVAL < RVP090 (HS call) or 1.0 Index (DU call), then there is no
excess RVP effect. Also, the m & d effect is based on RVPICY normalized by
11.5 / ASTM RVP (HS call) or Index computed from RVP = RVP090 (DU call).

EXCESS=0.0
IVV= IVVMAP (IVGAS)
IF (KEYEVP. EQ. 2) GOTO 10


-------
                   C-211




Appendix C: MOBILE4 Function EVCERT
May 5, 1989
245058
•5059
5060
2*45061
245062
245063
245064
245065
245066
245067
245068
245069
21*5070
245071
245072
245073
245074
245075
245076
245077
245078
245079
245080
245081
245082
245083
245084
•5085
5086
245087
245088
245089
245090
245091
245092
C
C



C


C





C
C
C
C
C
C
C



C


C



C


Hot soak

IF (RIVAL. GE.RVP090)
* EXCESS-HSEQ(IFDS, 1 VV, 0+HSEQ (1 FDS, IVV,2)*RIVAL
* +HSEQ(IFDS,IVV,3)*RIVAL**2

RVPUSE=RVUSE1
IF (RVPUSE.LT.8.0) RVPUSE=8.0

EVCERT=HSEQ(IFDS,IVV,7)
* +EXCESS
* +HSEQOFDS, IVV,4)+HSEQ(IFDS, 1 VV.5) *RVPUSE
* +HSEQ(IFDS, IVV,6)*RVPUSE**2
RETURN

Di urnal

Excess diurnal value computed only if Wade Index is one or higher.
If computed, the equation used depends on whether or not the Wade Index
exceeds the "diurnal limit".

10 IF (RIVAL. GE.l.O.AND.RI VAL.LE .DUL 1 M(l FDS, IVV))
* EXCESS=DUEQ(IFDS, 1 VV, D+DUEQ (1 FDS, 1 VV,2) *RI VAL
* +DUEQ(IFDS,IVV,3)*RIVAL**2

IF (RIVAL. GE. 1.0. AND. RIVAL. GT.DULIMO FDS, IVV))
* EXCESS=DUEQ(IFDS, 1 VV,9)+DUEQ (1 FDS, 1 VV, 10) *RI VAL
EVCERT=DUEQ(IFDS,IVV,7)
* +EXCESS
* +DUEQ(IFDS,IVV,4)+DUEQ(IFDS, 1 VV.5) *CI USE1
* +DUEQ(IFDS, IVV,6)*CIUSE1**2

RETURN
END

-------
                   C-212
Appendix C: MOBILE** Function RULOSS
May 5, 1989
246000
246001
246002
246003
246004
246005
246006
246007
246008
246009
246010
246011
246012
246013
246014
246015
246016
246017
246018
246019
246020
246021
246022
246023
246024
246025
246026
246027
246029
246030
246031
246032
246033
246034
246035
246036
246037
246038
246039
246040
246041
246042
246043
246044
246045
246046
246047
246048
246049
246050
246051
246052
246053
246054
246055
246056
246057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



FUNCTION RULOSS (MY, IDX, 1 VTL.RVUSE 1 ,RVUSE2)

RULOSS computes the Running Loss value for each model year and gas
vehicle class at the given RVP and running Loss temperature using
4-point linear interpolation.

Cal led by HCCALX.

Input on cal 1 :

parameter list: MY, 1 DX, 1 VTL.RVUSE 1 .RVUSE2
common blocks:
/CITCIN/ ICERSW
/FLAGS3/ TEMFLG
/RUNLS3/ RULBAS.RULCAN.RULCAP
/RUNLS5/ RULRVP.RULTEM
/RVPNAT/ ICERSY
/TAMOUT/ THS
/TAMOU2/ GCONLY
/TEMPS/ TEMEVP

Output on return:

function: RULOSS

Local variable / array dictionary:

Name Type Description
CANOFF R interpolated running loss canister disconnect tampering offset
CAPOFF R interpolated running loss gas cap removal tampering offset
EM11 R running loss emission (or offset) at lower boundary
temperature and lower boundary RVP
EM12 R running loss emission (or offset) at lower boundary
temperature and upper boundary RVP
EM21 R running loss emission (or offset) at upper boundary
temperature and lower boundary RVP
EM22 R running loss emission (or offset) at upper boundary
temperature and upper boundary RVP
EMT1 R interpolated running loss emission (or offset)
at the input RVP and the lower boundary temperature
EMT2 R interpolated running loss emission (or offset)
at the input RVP and the upper boundary temperature
RVP1 R lower boundary RVP
RVP2 R upper boundary RVP
RVPRL R running loss RVP
TEMRL R running loss temperature
TMP1 R lower boundary temperature
TMP2 R upper boundary temperature

Notes:

RULOSS was added for MOBILE4.


COMMON /CITCIN/ UD 1 (5) , 1 UD 1 ,C 1 GAS1 ,C IGAS2.C 1 ETH1 ,C 1 ETH2, 1 CERSW
COMMON /FLAGS3/ ATPFLG.TPDFLG.RLFLAG, LOCFLG, TEMFLG, OUTFMT
COMMON /RVPNAT/ 1 CERSY.RVPCER.RVPLIM (2) ,RVPD 1 U (2) ,PFUL, E 1 NCR

-------
                              C-213

          Appendix C: MOBILES Function RULOSS
May 5, 1989
21*6058
•6059
6060
21*6061
21*6062
2l»6o63
246061*
21*6065
21*6066
21*6067
21*6068
21*6069
21*6070
246071
21*6072
246073
21*6074
246075
246076
246077
246078
246079
246080
246081
246082
246083
246084
^K46085
946086
246087
246088
246089
246090
246091
246092
246093
246094
246095
246096
246097
246098
246099
246100
246101
246102
246103
246104
246105
246106
246107
246108
246109
246110
W*6112
246113
246114
246115




C
C
C

C
C
C
C





C
C
C
C


C
C
C

C


C
C
C



C

C



C
C
C



C

C

C
C
C
   COMMON /RUNLS3/ RULBAS (k,k,!*,!*) .RULCAN (!*,!*) .RULCAP (!»,!*)
   COMMON /RUNLS5/ RULRVP (1*) .RULTEM (1»)
   COMMON /TAMOUT/ TAMBAG (3, 3, 20,1*) ,THS (2,20,1*) ,TDU(20,1*) ,TCC(20,1*)
   COMMON /TAMOU2/ TOB (20,1*) .GCONLY (20,1*)
   COMMON /TEMPS/  AMBT.TEMMIN.TEMMAX.TEMEXH(3) .TEMEVP(6).TEMAST (3)

Initialize

   RULOSS=0.0

Running loss  is zero  if  any  evaporative temperature is 1*OF or  less,
or if minimum temperature  is  25F  or less.

   IF (TEMMAX    .LE.1*0.0  .OR.
  *   AMBT      .LE.1*O.O.AND.TEMFLG.EQ.2 .OR.
  *   TEMEVP(l) .LE.1*0.0  .OR.
  *   TEMEVP (2) .LE.1*0.0  .OR.
  *   TEMMIN    .LE.25.0) RETURN

Choice of RVP depends on whether  or not cert fuel change  applies  to  the
current MY.

   RVPRL=RVUSE1
   IF(ICERSW.EQ.2.AND.ICERSY.LE.MY)  RVPRL=RVUSE2

Reset RVP and Running Loss Temerature if above running loss  limits

   IF (RVPRL.LT.RULRVP(1))  RVPRL=RULRVP (1)
   I F (RVPRL. GT. RULRVP (1*))  RVPRL=RULRVP (1*)

   TEMRL=TEMEVP(2)
   IF (TEMRL.GT .RULTEM (i»))  TEMRL=RULTEM (1»)

Find and assign the bracketing temperature values.

   DO 20 ITLT-1,3
   IF(TEMRL.LE.RULTEM (ITLT))  GOTO 30
20 CONTINUE

   ITLT=1»

30 TMP 1=1*0.0
   IF (ITLT.GT.l) TMP1=RULTEM(ITLT-1)
   TMP2=RULTEM(ITLT)

Find and assign the bracketing RVP values.

   DO kO ITLR=2,3
   IF(RVPRL.LE.RULRVP (ITLR))  GOTO 50
1*0 CONTINUE

   ITLR=1*

50 RVP1=RULRVP(ITLR-1)
   RVP2=RULRVP(ITLR)

Determine model year pointer

-------
246116
246117
246118
246119
246120
246121
246122
246123
246124
246125
246126
246127
246128
246129
246130
246131
246132
246133
246134
246135
246136
246137
246138
246139
246140
246141
246142
246143
246144
246145
246146
246147
246148
246149
246150
246151
246152
246153
246154
246155
246156
246157
246158
246159
246160
246161
246162
246163
246164
246165
246166
24616?
246168
246169
246170
246171
246172
246173

C
C
C


C


C

C

C
C
C




C


C
C
C
C
C
C


C


C

C

C
C
C




C


C
C
C


C


C

                             C-214

          Appendix C: MOBILES Function RULOSS                     May 5, 1989

   IGTL=IRULPT(MY,IVTL)

Assign bracketing running loss emission values

   EM11=0.0
   IF (ITLT.GT.l)  EM11=RULBAS(ITLR-1, ITLT-1, IGTL, IVTL)

   EM12=0.0
   IF (ITLT.GT.l)  EMI 2=RULBAS( I TLR, ITLT-1, IGTL, IVTL)

   EM21=RULBAS(ITLR-1, ITLT, IGTL, IVTL)

   EM22=RULBAS(ITLR, ITLT, IGTL, IVTL)

Interpolate first on RVP, then temperature

   EMT1=RVPRL*(EM12-EM11)/(RVP2-RVP1)
  *    + (RVP2*EM1 1 -RVP 1 *EM1 2) / (RVP2-RVP 1 )
   EMT2=RVPRL* (EM22-EM2 1 ) / (RVP2-RVP 1 )
  *    + (RVP2*EM2 1 -RVP 1 *EM22) / (RVP2-RVP 1 )

   RULOSS=TEMRL* (EMT2-EMT1 ) / (TMP2-TMP 1 )
  *      + (TMP2*EMT1-TMP1*EMT2)/(TMP2-TMP1)

In the same fashion, compute the running  loss  canister disconnect and
gas cap removal  tampering offsets

Assign bracketing running loss canister disconnect offset values

   EM11=0.0
   IF (ITLT.GT.'l)  EMI 1«RULCAN (ITLR- 1 , ITLT-1)

   EM12=0.0
   IF (ITLT.GT.l)  EM12=RULCAN(ITLR, ITLT-1)

   EM21=RULCAN(ITLR-1, ITLT)

   EM22=RULCAN(ITLR, ITLT)

Interpolate first on RVP, then temperature

   EMT1=RVPRL*(EM12-EM11)/(RVP2-RVP1)
  *    +(RVP2*EM1 1-RVP1*EM12)/(RVP2-RVP1)
   EMT2=RVPRL*(EM22-EM21)/(RVP2-RVP1)
  *    + (RVP2*EM21-RVP1*EM22)/(RVP2-RVP1)

   CANOFF=TEMRL*(EMT2-EMT1)/(TMP2-TMP1)
  *      +(TMP2*EMT1-TMP1*EMT2)/(TMP2-TMP1)

Assign bracketing running loss gas  cap removal offset values

   EMU =0.0
   IF (ITLT.GT.l)  EMI 1=RULCAP (ITLR-1 , ITLT-1)
   IF (ITLT.GT.l) EM12=RULCAP(ITLR,ITLT-1)

   EM21=RULCAP(ITLR-1, ITLT)

-------
21.6171*
                                            C-215



                        Appendix  C:  MOBILES Function RULOSS
May 5, 1989
Bk6l75
K&176
21.6177
21.6178
2U6179
2l»6l80
21.6181
21.6182
21.6183
21.6181.
21*6185
21*6186
21.6187
21.6188
21.6189
21.6190
21.6191
21.6192
21.6193
21.6191.
21.6195

C
C
C




C


C
C
C
C



C


EM22=RULCAP(ITLR, ITLT)

Interpolate first on RVP, then temperature

EMT1=RVPRL*(EM12-EM11)/(RVP2-RVP1)
* +(RVP2*EM11-RVP1*EM12)/(RVP2-RVP1)
EMT2=RVPRL*(EM22-EM21)/(RVP2-RVP1)
* +(RVP2*EM21-RVP1*EM22)/ (RVP2-RVP1)

CAPOFF=TEMRL*(EMT2-ErVn)/(TMP2-TMPl)
* + (TMP2*EMT1 -TMP 1 *EMT2) / (TMP2-TMP 1 )

Apply the tampering offsets. The offsets are appropriately weighted
by canister only (THS(1,,)) and gas cap removal only (GCONLY) .

RULOSS=RULOSS
* +CANOFF*THS(1,IDX, IVTL)
* +CAPOFF*GCONLY(IDX, IVTL)

RETURN
END

-------
                   C-216
Appendix C: MOBILES Function BEF
May 5, 1989
21*7000
21*7001
2A7002
21*7003
21*7001*
21*7005
21*7006
21*7007
21*7008
21*7009
21*7010
21*7011
21*7012
21*7013
21*70U
21*7015
21*7016
21*7017
21*7018
21*7019
21*7020
247021
21*7022
21*7023
21*7021*
21*7025
21*7026
21*7027
21*7028
21*7029
21*7030
21*7031
21*7032
247033
2l*703l»
21*7035
21*7036
247037
21*7038
21*7039
21*701+0
21*7041
21*701*2
21*701*3
21*701*14
21*701*5
21*701*6
21*701*7
21*701*8
21*701*9
21*7050
21*7051
21*7052
21*7053
21*7051*
21*7055
21*7056
21*7057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C






FUNCTION BEF (MY, IDX, ICY, IP, IV.VMTAGE, IBEFSW)

BEF returns the basic emission factor adjusted for operating mode,
CO temperature offset, methane offset, temperature, inspection / maintenance
and tampering offset.

Called by BEFIDL, EFCALX and HCCALX.

Cal Is IERPTR and PCLEFT.

Input on call or from calls:

parameter list: MY, 1 DX, 1 CY, 1 P, 1 V, VMTAGE
common blocks:
/BASEQ1/ ERBZML.ERBDR.ERB50K
/BASEQ5/ ERUZML.ERUDR.ERU50K
/BASEQ6/ KEYER
/OFFSET/ OFFCO.OFFMTH
/OMTCOM/ OMTCF.OMTTAM
/REGION/ IREJN
/TAMEQ1/ F50K

Output on return:

function: BEF

Local variable / array dictionary:

Name Type Description


ABOV50 R for a given ICY 6 MY, the vmt in excess of 50000 miles
IGER50 1 MY pointer into ERB50K
KINK50 1 key to whether or not to use the 50K+ dester iorat ion rates:
1 = no: no 50K kink in the curve or do not reach it
2 = yes: have 50K kink 6 do reach it (mileage exceeds 50K)
SLOPE1 R slope of ef curve; if 50K kink, then only for 1st 50K miles
SLOPE2 R slope of kinked ef curve when beyond 50K miles
ZPOINT R zero mileage point = intercept of ef curve

Notes:

The offsets (additive instead of MOBILE2's multiplicative) for CO bag 1
and methane were encoded. The new tampering offset was inserted.
The operating mode and temperature multiplicative correction factor was
split from the old CFRET and moved from EFCALX to BEF for application.

The separate user supplied ER arrays were added in MOBILEl*.
The kinked ef curve for 1981+ LDGV HC/CO was added in MOBILEl*.
BEF was modified for MOBILEl*, updating several common block declarations.
BEF was modified for MOBILEl*, applying PCLEFT before subtracting LOWCO.


COMMON /BASEQ1/ ERBZML (20,3,8,2) , ERBDR (20, 3,8,2) , ERB50K (12,2,2)
COMMON /BASEQ5/ ERUZML (12,3,8,2) , ERUDR (12, 3,8, 2) , ERU50K (12,2,2)
COMMON /BASEQ6/ MYGERU (12,2, 3,8,2) .MAXERU.NUMERU (3,8,2) , KEYER, IGER
COMMON /OFFSET/ OFFCO (20, 3) .OFFMTH (20, 8)
COMMON /OMTCOM/ OMTCF (20,3,8) .OMTTAM (20,3,^)
COMMON /REGION/ FEET (2) , 1 REJN, ALT, 1 N ITPR

-------
                   C-217




Appendix C: MOBILES Function BEF                        May 5,  1989
21*7058
> 1*7059
1*7060
21*7061
21*7062
21*7063
21*7061*
21*7065
21*7066
21*7067
21*7068
21*7069
21*7070
21*7071
21*7072
247073
21.7071*
247075
21*7076
21*7077
21*7078
247079
247080
21*7081
2l»7082
21*7083
21*7081*
fcl»7085
Pi*7086
21*7087
247088
21*7089
21*7090
247091
21*7092
21*7093
21*7091*
247095
21*7096
247097
21*7098
21*7099
21*7100
21*7101
21*7102
21*7103
21*7101*
21*7105
21*7106
21*7107
21*7108

C



C
C
C
C
C


C







C



C
C
C


C
C
C
C

C
C
C
C






C
C
C

C


COMMON /TAMEQ1/ TAMZML (9,1*. 2, 2) .TAMDR (9,1*. 3, 2) ,MYGTAM(1») , IGT5.F50K

ABOV50=VMTAGE-F50K
KINK50=1
IF (MY. GE. 198 LAND. IP. LE. 2. AND. 1 V.EQ. 1 . AND .ABOV50.GT.O.O) KINK50=2

Look up base and deterioration rates. Pointer function IERPTR sets both
the arrays to access (block data default or user supplied) and the cell
pointers to the coefficients. KINK50 determines if a second slope is needed.

CALL IERPTR (MY, IP, IV)
IF(KEYER.EQ.2) GOTO 10

ZPOINT=ERBZML (IGER, IP, IV, IREJN)
SLOPE1=ERBDR( 1 GER, 1 P, IV, IREJN)
IF (KINK50.EQ.1) GOTO 20
IF (MY. LE. 1992) IGER50=MY- 1981+1
IF (MY. GT. 1992) IGER50=12
SLOPE2=ERB50K(IGER50, IP, IREJN)
GOTO 20

10 ZPOINT=ERUZML (IGER, IP, IV, IREJN)
SLOPE1=ERUDR( 1 GER, 1 P, 1 V, IREJN)
IF (KINK50.EQ.2) SLOPE2=ERU50K (1 GER, IP, IREJN)

Compute the uncorrected basic emission factor.

20 IF (KINK50.EQ.1) BEF=ZPOI NT+SLOPE 1*VMTAGE
IF (KINK50.EQ.2) BEF=ZPOI NT+SLOPE 1*F50K+SLOPE2*ABOV50

If IBEFSW = 1 BEF returns the uncorrected factors,
otherwise it performs adjustments.

IF(IBEFSW.EQ.l) GOTO 99

Adjust for operating mode, offset model (CO, LDGV 6 LDGT only),
methane offset (HC only), temperature & inspection / maintenance.

IF (IV.LE.3-AND.IP.EQ.2)
* BEF=(BEF*OMTCF (IDX, IP, 1 V) *PCLEFT (MY, ICY, IP, 1 V) )+OFFCO (1 DX, 1 V)
IF (IP.EQ.l)
* BEF=(BEF*OMTCF (IDX, IP, 1 V) -OFFMTH (1 DX, 1 V) ) *PCLEFT (MY, ICY, IP, IV)
IF (IP.EQ.3.0R.IV.GT.3.AND.IP.EQ.2)
* BEF=BEF*OMTCF(IDX,IP,IV)*PCLEFT(MY,ICY,IP,IV)

GV/T => add corrected (for op mode £ temp) tampering bag emissions.

IF (IV.LE.1*) BEF=BEF+OMTTAM(IDX, IP, IV)

99 RETURN
END

-------
                   C-218




Appendix C: MOBILES Function PCLEFT
May 5, 1989
248000
248001
248002
248003
248004
248005
248006
24800?
248008
248009
248010
248011
248012
248013
248014
248015
248016
24801?
248018
248019
248020
248021
248022
248023
248024
248025
248026
248027
248028
248029
248030
248031
248032
248033
248034
248035
248036
248037
248038
248039
248040
248041
248042
248043
248044
248045
248046
248047
248048
248049
248050
248051
248052
248053
248054
248055
248056
248057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C









FUNCTION PCLEFT (MY, ICY, IP, IV)

PCLEFT determines the basic emission factor multiplicative adjustment
( = percentage left of BEF = PCLEFT ) for the effects of an inspection /
maintenance (I/M) program, after checking whether or not I/M applies to the
factor being computed by the calling function.

Cal led by BEF.

Calls IMPTR.

1 nput on cal 1 :

parameter list: MY, ICY, IP, IV
common blocks:
/FLAGS2/ IMFLAG
/ICR4VA/ CRD4VA
/ICR4VB/ CRD4VB
/IMPAR1/ ICYIM, ISTRIN.MODYR1.MODYR2, WAIVER, CRIM
/IMPAR2/ ILDT.ITEST
/IMPAR5/ CRHDGV.DISCNT
/IMPAR6/ IFREQ, INTYP
/IM12HC/ CR12HC
/IM12CO/ CR12CO

Output on return:

function: PCLEFT

Local variable / array dictionary:

Name Type Description


AGE1ST 1 age of the vehicle at first inspection
BY 1 benefit year for technology 1 or 2 vehicle
1 BY 1 benefit year for technology 4 plus vehicle
IREM 1 remainder = stringency - greatest multiple of 10 < stringency
ISTRN 1 stringency index into technology 1 or 2 credits array
REM R IREM converted to REAL value
WA 1 V R waiver rate used on this call, depends on MY

Notes:

PCLEFT was updated for MOBILE4 for the new I/M Program modeling algorithm.


CHARACTERS IMNAME
INTEGER ALHFLG

COMMON /FLAGS2/ MYMRFG.NEWFLG, IMFLAG, ALHFLG
COMMON /IM12HC/ CR12HC (19,20,5,2)
COMMON /IM12CO/ CR12CO (19,20,5,2)
COMMON /ICR4VA/ CRD4VA (19,2, 12,3)
COMMON /ICR4VB/ CRD4VB (19,2, 12, 3)
COMMON /IMPAR1/ 1 CY 1 M, 1 STRI N.MODYR1 .MODYR2.WAI VER (2) , CRIM
COMMON /IMPAR2/ ILDT(4) , ITEST.NUDATA (2) .NONUDA.NL IM, IMNAME (20,9)
COMMON /IMPAR5/ MYG IM2 (3,3) , LBIM4P, CRHDGV (2,2) ,D 1 SCNT (3)
COMMON /IMPAR6/ IFREQ, INTYP

-------
                             C-219

          Appendix C: MOBILEV Function PCLEFT
May 5, 1989
21*8058
•8059
8060
248061
248062
248063
248064
248065
248066
248067
248068
248069
248070
248071
248072
248073
248074
248075
248076
248077
248078
248079
248080
248081
248082
248083
248084
•8085
8086
248087
248088
248089
248090
248091
248092
248093
248094
248095
248096
248097
248098
248099
248100
248101
248102
248103
248104
248105
248106
248107
248108
248109
248110
•8111
8112
248113
248114
248115
C

C
C
C

C
C
C




C
C
C


C

C
C
C
C
C



C
C
C


C
C
C

C
C
C

C
C
C

C
C
C
C
C
C
C


C


   INTEGER BY.AGE1ST

Initialize PCLEFT to "no reduction" value = 1.0.

   PCLEFT=1.0

If factor being calculated by BEF is not covered by  I/M, then RETURN.

   IF (IMFLAG.EQ.1.0R.IP.EQ.3.0R.IV.GT.4) GOTO 99
   IF (ILDT(IV) .EQ.l.OR.
  *   ICY.EQ.MY.OR.I CY .LE.ICYIM.OR.
  *   MY.LT.MODYR1.0R.MY.GT.MODYR2)  GOTO 99

Assign waiver rates

   IF(MY.LE.1980)  WAIV=WAIVER(1)
   IF (MY.GT.1980)  WAIV=WAIVER(2)

   IF (IV.EQ.4)  GOTO 50

Selecting I/M reduction for LDGV or LDGT.  Several parameters must be set.

Find the benefit year:

   BY=ICY-ICYIM
   IF (MY.GT.ICYIM)  BY-ICY-MY
   IF (BY.GT.19)  BY=19

Find the age of the vehicle at first inspection.

   AGE1ST=1
   IF (MY.LT. ICYIM)  AGE 1ST«=I CYIM-MY+1

Determine technology by model year and vehicle type.

   ITECH=IMPTR(MY,IV)

For now, continue MOBILE3 policy of using technology 2 credits for  ITECH=3.

   IF (ITECH.EQ.3)  ITECH=2

Branch on technology type: TECH 1 & 2 form 1 group, TECH 4+ another.

   IF (ITECH.GE.4)  GOTO 40

Select correct  I/M credits for TECH 1 6 2.  The same credits array  is used
for LDGV and LDGT,  but the ITECH mygs differ, so that the same MY may yield
a different  credit for LDGV than for LDGT.

Interpolate  between 10,20,30,40 & 30% stringency.

   IREM=ISTRIN-(ISTRIN/10)*10
   REM=IREM*.l
   ISTRN=(!STRIN-IREM)/10

   IF(IFREQ.EQ.l)  THEN
     IF(IP.EQ.l) THEN

-------
                   C-220




Appendix C: MOBILE4 Function PCLEFT
May 5, 1989
248116
248117
248118
2U8119
248120
248121
248122
2^8123
248124
248125
248126
248127
248128
248129
248130
248131
248132
248133
248134
248135
248136
248137
248138
248139
248140
248141
248142
248143
248144
248145
248146
248147
248148
248149
248150
248151
248152
248153
248154
248155
248156
248157








C










C

C

C
C
C
C




C
C
C

C
C
C

C


PCRED=CR12HC(BY,AGE1ST, ISTRN, ITECH)
IF (ISTRN. LT. 5. AND. IREM.GT.O) PCRED=
* (CR12HC(BY,AGE1ST, ISTRN+1, ITECH) -PCRED) *REM+PCRED
ELSE IFOP.EQ.2) THEN
PCRED=CR12CO (BY, AGE1ST, ISTRN, ITECH)
IF (ISTRN. LT. 5. AND. IREM.GT.O) PCRED=
* (CR12CO(BY,AGE1ST, ISTRN+1, ITECH) -PCRED) *REM+PCRED
ENDIF

ELSE IF (IFREQ.EQ.2) THEN
IF(IP.EQ.l) THEN
PCRED=CR12HC(20-BY,21-AGE1ST, ISTRN, ITECH)
IF (ISTRN.LT. 5. AND. IREM.GT.O) PCRED=
* (CR12HC (20-BY.21-AGE1ST, ISTRN+1 , ITECH) -PCRED) *REM+PCRED
ELSE IF(IP.EQ.2) THEN
PCRED=CR12CO(20-BY,21-AGE1ST, ISTRN, ITECH)
IF (ISTRN.LT. 5. AND. IREM.GT.O) PCRED=
* (CR12CO(20-BY,21-AGE1ST, ISTRN+1 , ITECH) -PCRED) *REM+PCRED
ENDIF

ENDIF

GOTO 60

Select I/M credits for TECH 4+ vehicles. For TECH 4+, there are separate
credits arrays, one for annual and one for biennial inspection programs.

40 IBY=BY+AGE1ST-1
IF (IFREQ.EQ.l) PCRED=CRD4VA (1 BY, IP.ITECH-3, ITEST)
IF (IFREQ.EQ.2) PCRED=CRD4VB (1 BY, IP, ITECH-3, ITEST)
GOTO 60

Assign HDGV I/M credit.

50 PCRED=CRHDGV(IP,IFREQ)

Set I/M benefit adjusted for waivers and enforcement and discount

60 PCLEFT=1 .0- (PCRED* (1 .0-WA 1 V) *ENFORC (CRIM, 1) *D 1 SCNT (1 NTYP) )

99 RETURN
END

-------
                          C-221
       Appendix C: MOBILES Subroutine  IDLCAL
                                                                                 May 5,  1989
21*9000
£1*9001
B*9002
21*9003
21*9001*
21*9005
21*9006
21*9007
21*9008
21*9009
21*9010
21*9011
21*9012
21*9013
21*9011*
21*9015
21*9016
21*9017
21*9018
21*9019
21*9020
21*9021
21*9022
21*9023
21*9021*
21*9025
21*9026
£1*9027
p*9028
71*9029
21*9030
21*9031
^ It on 2 T
2*49032
21*9033
2l»903l»
21*9035
21*9036
21*9037
21*9038
21*9039
21*901*0
21*901*1
21*901*2
21*901*3
21*901*1*
21*901*5
21*901*6
21*901*7
21*901*8
21*901*9
21*9050
21*9051
21*9052
i**9053
v905i«
71*9055

C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c


c
c
c
c
c
c
c
c



c











SUBROUT 1 NE 1 DLCAL (ICY, VMLDGT , 1 NERR)

IDLCAL calculates the idle emission factors.

Called by EFCALX.

Calls BEFIDL, IGSFPT and QUITER.

1 nput on cal 1 :

parameter list: 1 CY, VMLDGT, 1 NERR
common blocks:
/BASEQ7/ IPMOD
/CUMCOM/ CUMMIL
/FLAGS2/ NEWFLG
/FLAGS1*/ PRTFLG
/GSFCOM/ GSFRAC
/MAXIMA/ MAXVEH.MAXPOL.MAXYRS
/MYRCAL/ TF
/REGION/ IREJN
/VMXCOM/ VMTMIX

Output on return:

parameter list: INERR
common blocks:
/RESUL2/ EFIDLE
/RESUL3/ VIDLE

Local variable / array dictionary:

Name Type Description


IDLFAC R idle emission factor for IDX: summed across 1 DX to get
EFIDLE for the given IP 6 IV

Notes:

IDLCAL was added for MOBILE!*.


INTEGER ALHFLG
INTEGER PRTFLG, HCFLAG
REAL JANMYR

COMMON /BASEQ7/ 1 PMOD (3)
COMMON /CUMCOM/ CUMMIL (20, 8)
COMMON /FLAGS2/ MYMRFG, NEWFLG, IMFLAG, ALHFLG
COMMON /FLAGS!*/ PRTFLG, 1 DLFLG.NMHFLG, HCFLAG
COMMON /GSFCOM/ MAXGSF .GSFRAC (22,8,2) ,MYGSF (22,8,2)
COMMON /MAXIMA/ MAXVEH.MAXLTW.MAXPOL.MAXREG.MAXYRS
COMMON /MYRCAL/ XMYM (20,8) .JANMYR (20,8) ,TF (20,8) ,TFMYM (20,8)
COMMON /REGION/ FEET (2) , IREJN, ALT, IN ITPR
COMMON /RESUL2/ EFIDLE (3, 9)
COMMON /RESUL3/ VFTP (3) ,VEXH, VEVAP.VLOSS.VRUNLS, VI DLE (3)
COMMON /VMXCOM/ REGMI X (8) .TFNORM (8) , VMTMI X (8)
21*9056
21*9057
REAL IDLFAC

-------
249058
249059
249060
249061
249062
21.9063
249064
249065
249066
21*9067
249068
249069
249070
249071
249072
249073
21*9074
249075
249076
249077
249078
249079
249080
21.9081
249082
249083
249084
249085
249086
•249087
249088
249089
249090
249091
249092
249093
249094
249095
249096
249097
249098
249099
249100
249101
249102
249103
249104
249105
249106
249107
249108
249109
249110
249111
249112
249113
249114
249115
C




C



C

C
C
C

C
C
C





C
C
C



C
C
C
C
C
C





C

C
C
C


C
C
C
C
C
C





                             C-222

          Appendix C: MOBILES Subroutine IDLCAL                   May 5,  1989
   DO 50 IP=1,MAXPOL
   IF(PRTFLG.NE.IP.AND.PRTFLG.NE.4) GOTO 50
   VIDLE (IP)=0.0
   EFIDLE(IP,9)=0.0

   DO 30 IV=1,MAXVEH
   EFIDLE (IP,IV)=0.0
   IF(VMTMIX(IV).EQ.0.0) GOTO 30

   DO 10 IDX=1,MAXYRS

See EFCALX explanation for this TF check.

   IF(TF (IDX,IV).LE.0.0) GOTO 10

Initialize emissions to zero and figure parameters.

   IDLFACO.O
   JDX=21-IDX
   VMTAGE=CUMMIL(JDX,IV)/10000.
   MY=ICY+IDX-20
   IGS=IGSFPT(MY,IV)

Compute idle emissions.

   IDLFAC=BEFIDL (MY,IDX,IP,IV,VMTAGE)*TF (IDX,IV)
   EFIDLE (IP,IV)=EFIDLE (IP,IV) + IDLFAC
10 CONTINUE

NEWFLG versus calculated emissions check.   Improve by checking  all  20  IDX
for use/non-use of NEWFLG & err exit only on  non-use of alternate  equations.
Skip for IV  for which MOBILES does not store  gas-diesel combined
registrations  (splitting them with GSFRAC during execution).

   IF (IV.EQ.4.0R.IV.GE.7)  GOTO  20
   IF(NEWFLG.EQ.l.AND.EFIDLE (IP,IV>.GT.O.
  *   .AND.GSFRAC(IGS,IV,IREJN).EQ.0.0) CALL  QUITER(0.,IV.69,INERR)
20 IF(NEWFLG.EQ.l.AND.EFIDLE (IP,IV) .LE.0.0)
  *   CALL QUITER(0.,IV,70,INERR)

30 CONTINUE

Assign composite  light duty gas truck  emission  factor.

   IF(EFIDLE(IP,2) .GT.O.0.AND.EFIDLE (IP,3).GT.O.0) EFI OLE (IP,9) =
  *    (EFIDLE (IP,2)*VMTMIX(2)+EFIDLE (I P,3) *VMTMI X (3)) /VMLDGT

If one or more  of the  IV for a  given  IP have  had  1 or more  replacement basic
FTP ef parameters records accepted via NEWFLG and  therefore had all  the
corresponding  idle ef parameters zeroed out,  then  it does not make sense to
calculate a  weighted by IV idle ef  (VIDLE).

   IF(IPMOD(IP) .EQ.l) GOTO 50
   DO 40 IV=1,MAXVEH
   VIDLE(IP)=VIDLE(IP)-l-EFIDLE (I P, IV) *VMTMIX (I V)
40 CONTINUE
50 CONTI-NUE

-------
                                           C-223


                        Appendix C: MOBILES Subroutine  IDLCAL                    May 5,  1989
21*9116     c
  9117           RETURN
  9118           END

-------
                   C-221*
Appendix C: MOBILES Function BEFIDL
May 5, 1989
250000
250001
250002
250003
250001*
250005
250006
250007
250008
250009
250010
25001 1
250012
250013
2500 Ht
250015
250016
250017
250018
250019
250020
250021
250022
250023
250024
250025
250026
250027
250028
|250029
250030
250031
250032
250033
250031*
250035
250036
250037
250038
o Cfin 3 o
25001*0
25001*1
25001*2
25001*3
|2500l*l*
25001*5
25001*6
25001*7
25001*8
25001*9
250050
250051
250052
250053
250054
250055
250056
250057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C •
C
C
C
C
C
C
C
C
C
C
C
C

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
FUNCTION BEFIDL (MY, IDX, IP, IV, VMTAGE)

BEFIDL returns the basic idle emission factor adjusted for I/M, methane,
and tampering, depending on the case.

Cal led by IDLCAL.

Calls BEF, IBFPTR, IDLPTR and PCLEFT.

1 nput on cal 1 :

parameter list: MY, 1 DX, 1 P, IV, VMTAGE
common blocks:
/BASEQ6/ NUMERU
/FLAGS4/ NMHFLG
/IDLEQ1/ ZMLIDL.DRIDL
/IDLEQ3/ UTIDOF
/OPMOD1/ BFRCOF,BFSTEP,BFR50K
/OPMOD2/ MYSTEP
/REGION/ IREJN
/TAMID3/ OFFIDL

Output on return:

function: BEFIDL

Local array subscripts:

CHGHRS(4) - CHGHRS ( IVREV )
COLIM(11») - COLIM ( IGUTIO )
D50 (3) - -D50 ( I23F )
DBF (3) - DBF ( I23F )
IDLREV (A) - IDLREV ( IVREV )
MTHIDL (2) - MTHIDL ( IRJN )
ZBF (3) - ZBF ( I23F )

Local variable dictionary:

Name Type Description

BER R untampered basic emission rate „
BFGT50 R mileage greater than 50,000 (BFMILE=6.0 -> BFGT50=1.0)
BFMILE R cumulative mileage in ICY for IV from MY
scaled by 10**-4
COLIM R CO Idle EF LBs for each IGUTIO MYG; keeps low vmt cases >0.0
D50 R BF deterioration rate for beyond 50K miles
DBF R BF deterioration rate for the first 50K miles
I23F 1 index for Bag 2 (=1), Bag 3 (=2), and FTP (=3)
IB 1 index for Bag 1 (=1), Bag 2 (=2), Bag 3 (=3),
and FTP (=1*)
IBEFSW 1 see parameter dictionary
IDLREV 1 lower bound MYs of REVised IDLe EF calculation algorithm MYGs
IGUTIO 1 model year index for untampered idle offsets (UTIDOF),
=1 for 1979-, =2 for 1980, .... =14 for 1992+
CREDIM R I/M adjustment to idle emission factor
IVVT 1 index for LDGV (=1) and LDGT1/2 (=2)
MTHIDL R methane offset to idle EF in gph (assumes methane is approx.
6% of total HC over the affected MY range for Bags 263)

-------
                   C-225




Appendix C: MOBILES Function BEFIDL
May 5, 1989
250058
^K>0059
^P50060
250061
250062
250063
250064
250065
250066
250067
250068
250069
250070
250071
250072
250073
250074
250075
250076
250077
250078
250079
250080
250081
250082
250083
250084
^£50085
^•§0086
250087
250088
250089
250090
|250091
(250092
250093
250094
250095
250096
250097
250098
250099
250100
250101
250102
250103
250104
250105
250106
250107
250108
250109
250110
^^01 1 1
^Hoii2 •
~0113
250114
250115
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C









C

C




C
C
C
C
' C
C
C


C
C
C


C
C
C



C
C
C
OMCFF R operating mode correction factor at FTP
conditions
OMCFH R operating mode correction factor at Hot FTP
condi tions
RATIO R ratio of OMCF at Hot FTP to OMCF at FTP
CHGHRS R factor for converting BER units from gpm to gph = FTP standard
speed for IVREV (BER is returned from BEF uncorrected =
assumes FTP conditions)
ZBF R BF zero mile level

Notes:

BEFIDL and its associated BLOCK DATA (03 & 05) have been extensively
revised for MOBILE4.


INTEGER PRTFLG.HCFLAG

COMMON /BASEQ6/ MYGERU (12,2,3,8,2) ,MAXERU,NUMERU (3,8,2) ,KEYER, IGER
COMMON /CUMCOM/ CUMMIL(20,8)
COMMON /FLAGS4/ PRTFLG, 1 DLFLG.NMHFLG.HCFLAG
COMMON /IDLEQ1/ ZML IDL (15,3.8,2) ,DRI DL (15,3,8,2)
COMMON /IDLEOJ/ UTI DOF (14, 3,2)
COMMON /OPMOD1/ BFRCOF (8,8, 3,6) .BFSTEP (8, 12,3, 3) , BFR50K (4, 12,3)
COMMON /OPMOD2/ MYSTEP.MAXBFR.MYGBFR (8,3,6)
COMMON /REGION/ FEET (2) , 1 REJN, ALT, IN ITPR
COMMON /TAMID3/ OFF 1 DL (3,20,4)
DIMENSION IDLREV(4) ,DBF (3) ,ZBF (3) ,D50(3) , CHGHRS (4) ,COLIM(14)
REAL MTHIDL(2)

DATA IDLREV/1977, 1979, 1979, 1984/
DATA MTHIDL/0.9, 1 .5/.CHGHRS/19-6, 19-6, 19-6, 20. O/
DATA COL IM/303. 37, 56. 71, 22. 56, 25. 63, 35. 17, 30. 36, 31. 77,
* 26. 23, 25- 08, 24. 07, 23. 7 1,23. 24, 22. 38, 2 1.78/

If the passed in pollutant x vehicle class x altitude case has one or more
sets of replacement BEF equation coefficients, the idle emission factor
is returned as zero. Note: 1 F ( (1 CY- 1 DLREV (IVLDG) + 1) .GE .20) THEN all MYs of
ICY's 20 MY window use the revised idle algorithm. If this algorithm can
be shown to handle NEWFLG, then compute an idle ef for ICYs passing the IF.

BEFIDL=0.0
IF (NUMERU(IP, IV, IREJN) .GE.l) RETURN

Assign ICY and determine the 1 /M credit.

ICY=MY-IDX+20
CREDIM=PCLEFT(MY, ICY, IP, IV)

In some MY cases use the MOBILE4 revised idle EF calculation algorithm.

IF(IV.GE.S) GOTO 10
IF (MY.GE.IDLREV(IV) .AND. IP.LE.2) GOTO 20
IF (MY. GE.l DLREV (IV) .AND . 1 P.EQ.3) GOTO 60

Compute base idle emission factor and then make corrections for
inspection maintenance, tampering offset and methane offset.

-------
                             C-226

          Appendix C: MOBILE4 Function BEFIDL
May 5, 1989
250116
250117
250118
250119
250120
250121
250122
250123
250121*
250125
250126
250127
250128
250129
250130
250131
250132
250133
250134
250135
250136
250137
250138
250139
250140
250141
250142
250143
250144
250145
250146
250147
250148
250149
250150
250151
250152
250153
250154
250155
250156
250157
250158
250159
250160
250161
250162
250163
250164
250165
250166
250167
250168
250169
250170
250171
250172
250173
C
C
C



C



C

C
C
C
C
C




C
C
C




C



C


C
C
C
C


C






C





C
C
C

I/M Programs will not produce a large enough total HC reduction to  lead  to
a negative result when the relatively small methane offset  is subtracted.

10 IGIDL=IDLPTR(MY,IP,IV)
   BEFIDL=(ZMLIDL(IGIDL,IP,IV,IREJN)
  *      +DRIDL(IGIDL,IP,IV,IREJN)*VMTAGE)*CREDIM

   IF (IV.GE.5.AND.IV.LE.7) RETURN
   IF(IP.EQ.1.AND.NMHFLG.EQ.2) BEFIDL=BEFIDL-MTHIDL (IREJN)
   IF (IV.NE.8) BEFIDL=BEFIDL+OFFIDL(IP,IDX,IV)

   RETURN

Revised HC & CO calculation  algorithm case:

Obtain an untampered BER by  using BEF with  IBEFSW=1.

20 IBEFSW=1
   IVI=IV
   IF(IV.EQ.4) IVI = IVI-1
   BER=BEF(MY,IDX,ICY,IP,IVI.VMTAGE,IBEFSW)

Set up various BF pointers and mileage  values.

   MYSTEP=2
   IF (MY.LT.1981.OR. (MY.LT.1984.AND.IVI.GT.l))   MYSTEP=1
   IGBF=IBFPTR(MY,IP,IVI)
   JDX=21-IDX

   DO 25 I23F=1,3
   D50(I23F)=0.0
25 CONTINUE

   BFMILE=CUMMIL(JDX,IVI)*.0001
   BFGT50=0.0

Determine Bag Fraction coefficients for Bag 2,  Bag 3. and  FTP.
Use appropriate coefficients for  1981+  LDGV and  1984+ LDGT1/2.

   IF((IVI.EQ.l.AND.MY.GE.igSl).OR. (IVI.GE.2.AND.MY.GE.1984))
  *   GOTO 35

   DO 30 I23F=1,3
   IB=l23F*2+2
   ZBF(I23F)=BFRCOF(IB-1,IGBF,IP,I VI)
   DBF (I23F)=BFRCOF(IB, IGBF, IP, IVI)
30 CONTINUE
   GOTO 45

35 DO 40 I23F=1,3
   IB=l23F*2+2
   ZBF(I23F)-BFSTEP(IB-1, IGBF, IP, IVI)
   DBF (I23F)=BFSTEP(IB, IGBF, IP, IVI)
40 CONTINUE

Use kinked Bag Fractions  for 1981+  LDGV if mileage  is above 50,000.

45 IF (IVI .NE.1..0R.MY.LT.1981.0R.BFMILE.LE.5.0)  GOTO 55

-------
250 Mk
•0175
0176
250177
250178
250179
250180
250181
250182
250183
250181*
250185
250186
250187
250188
250189
250190
250191
250192
250193
250191*
250195
250196
250197
250198
250199
250200
^0201
•0202
250203
250201*
250205
250206
250207
250208
250209
250210
250211
250212
250213
250215
250216
250217
250218
250219
250220
250221
250222
250223
250221*
250225
250226
U&0227
•D228
250229
250230
250231
C




C


C
C
C
C

C


C
C
C

C
C
C
C

C
C
C
C
C
C






C
C
C






C
C
C
C




C
C
C
                             C-227

          Appendix C: MOBILES Function BEFIDL                      May  5,  1989


   DO 50 I23F=1,3
   IB=I23F+1
   D50(I23F)=BFR50K(IB, ICBF.IP)
50 CONTINUE

   BFGT50=BFMILE-5-0
   BFMILE=5.0

Compute OMCF at FTP and OMCF at Hot FTP.  Hot FTP  is  split  between hot
stabilized  (.521)  and hot start  (.1*79) operating conditions.

55 OMCFF=ZBF (3)+DBF (3) *BFMI LE+D50 (3) *BFGT50

   OMCFH=0.521* (ZBF (D+DBF (1) *BFMI LE+D50 (1) *BFGT50)
  *      +0.i»79*(ZBF (2)+DBF (2) *BFMI LE+D50 (2) *BFGT50)

Compute the ratio of OMCF at Hot FTP  to OMCF at FTP.

   RATIO=OMCFH/OMCFF

Convert the unconnected  (FTP conditions) exhaust ER from  gpm  to  gph and  then
adjust for no cold start component  (idle occurs under  Hot FTP conditions).

   BEF I DL=BER*CHGHRS ( I V) *RATI 0

Add the displacement  (BER's Det rate  * FTP speed)  to  the  idle curve.   Note
that the user entered scenario operating mode mix  does  not  affect  idle EF.
Also, HDGV  is a special case, using LDGT2 ' s BER &
displacement data structure.
                           For NOx, assign the
                    RATIO and
                    hardcoded
                                                             here  a  simpler
                                                             average value.
60 IF (IV.LT.U)  GOTO 70
IF (IP.EQ.1.AND
IF (IP.EQ
IF (IP.EQ
           AND
           AND
MY
MY
MY
                     GE
                     LE
                     LE
                     1986)
                     1985)
                     1985)
IF (IP. EQ. 3. AND. MY. GE. 1986)
GOTO 80
BEF I DL
BEF I DL
BEFIDL
BEFIDL
                                     BEF I DL+1 .28
                                     BEF I DL-22 .88
                                     7.H
                                     2.35
Identify the pointers and lookup & add  in the UnTampered  IDIe  OFfset.

70 IGUTIO=MY-1978
   IF (IGUTIO.LT.l) IGUTIO=1
   IF (IGUTIO.GT.llt) IGUTIO=14
   I VVT= I V
   IFOV.EQ.3)  IVVT=2
   IFOP.EQ.3)  BEFIDL=0.0
   BEFIDL=BEFIDL+UTIDOF (IGUTIO, IP, IVVT)

If LDGV, raise low VMT CO cases  (which  can go negative  by  using  the  curve)
to an average  (by the low end data) value.

   IF(IV.EQ.l.AND.IP.EQ.2.AND.IREJN.EQ.l)
  *    BEFIDL=AMAX1 (BEF I DL.COL IM (I GUTI 0) )
   IF (IV.EQ.1.AND.IP.EQ.2.AND.IREJN.EQ.2)
  *    BEFIDL=AMAX1 (BEF I DL.COL IM (IGUTIO) *1 . 17)

Apply the I /M credit  (for NOx always  1.0), add  in  the tampering  offset  and,
if HC and a nonmethane HC only  run, subtract off methane.

-------
250232
250233
250231*
250235
250236
250237
250238
                                           C-228

                        Appendix C: MOBILE**  Function  BEFIDL
80 BEFIDL=BEFIDL*CREDIM
   BEFIDL=BEFIDL+OFFIDL (IP,IDX,IV)
   IF (IP.EQ.1.AND.NMHF LG.EQ.2)  BEFIDL=BEFIDL-MTHIDL(I REJN)

   RETURN
   END
                                                                   May 5,  1989

-------
                   C-229




Appendix C:  MOBILES Function IGEPTR
May 5, 1989
301000
R1001
1002
301003
30100'*
301005
301006
301007
301008
301009
301010
301011
301012
301013
301011*
301015
301016
301017
301018
301019
301020
301021
301022
301023
301021*
301025
301026
*Q1027
Pbl028
301029
301030
301031
301032
301033
301031*
301035
301036
301037
301038

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C



C
C
C



C


FUNCTION IGEPTR (MY, IVA)

IGEPTR selects the pointer to the fraction of

Called by BIGALH.

Calls QUITER.

1 nput on cal 1 :

parameter 1 ist: MY, IVA
common blocks:
/ALUPAC/ MYGACE
/REGION/ IREJN

Output on return:

function: IGEPTR

Notes:

none


COMMON /ALUPAC/ MYGACE (8, 3,2) .MYGACC (2, 3,2)
COMMON /REGION/ FEET (2) , IREJN, ALT, IN ITPR

DO 10 IG=1,8
IF (MY. LE. MYGACE (IG, IVA, IREJN)) GOTO 20
10 CONTINUE

Set default.

IG=1
CALL QUITER (0., 6, 61, MY)
20 IGEPTR=IG

RETURN
END

-------
                   C-230




Appendix C: MOBILES Function IGUPTR








                                       ides using
nay 5, 1989
302000
302001
302002
302003
302004
302005
302006
302007
302008
302009
302010
302011
302012
302013
302014
302015
302016
302017
302018
302019
302020
302021
302022
302023
302024
302025
302026
302027
302028
302029
302030
302031
302032
302033
302034
302035
302036
302037
302038

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C



C
C
C



C


FUNCTION IGUPTR (MY, 1 VA)

IGUPTR selects the pointer to the fraction of

Cal led by BIGALH.

Cal Is QUITER.

1 nput on cal 1 :

parameter 1 ist: MY, IVA
common blocks:
/ALUPAC/ MYGACC
/REGION/ IREJN

Output on return:

function: IGUPTR

Notes:

none


COMMON /ALUPAC/ MYGACE (8,3, 2) .MYGACC (2,3,2)
COMMON /REGION/ FEET (2) , IREJN, ALT, IN ITPR

DO 10 IG=1,2
IF (MY. LE. MYGACC (IG, IVA, IREJN)) GOTO 20
10 CONTINUE

Set default.

IG=1
CALL QUITER(0.,7,6l,MY)
20 IGUPTR=IG

RETURN
END

-------
                   C-231



Appendix C: MOBILES Function IGLPTR
May 5, 1989
303000
P3001
3002
303003
303001*
303005
303006
303007
303008
303009
303010
303011
303012
303013
3030U
303015
303016
303017
303018
303019
303020
303021
303022
303023
30302^4
303025
303026
«3027
3028
3029
303030
303031
303032
303033
30303**
303035
303036
303037
303038

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C



C
C
C



C


FUNCTION IGLPTR (MY, IVA)

IGLPTR selects the pointer to the fraction of

Called by BIGALH.

Calls QUITER.

Input on cal 1 :

parameter 1 ist: MY, IVA
common blocks:
/ALUPLT/ MYGXLC
/REGION/ IREJN

Output on return:

function: IGLPTR

Notes:

none


COMMON /ALUPLT/ MYGXLC (6,3,2) .MYGTWC (6, 3,2)
COMMON /REGION/ FEET (2) , IREJN, ALT, INITPR

DO 10 IG=1,6
IF (MY. LE. MYGXLC (IG, IVA, IREJN)) GOTO 20
10 CONTINUE

Set default.

IG-1
CALL QUITER (0., 8, 61, MY)
20 IGLPTR=IG

RETURN
END

-------
                   C-232




Appendix C: MOBILE** Function  IGTPTR
May 5, 1989
301*000
30^*001
301*002
301*003
301*001*
301*005
301*006
301*007
301*008
301*009
301*010
301*011
301*012
301*013
301*011*
301*015
301*016
301*017
301*018
301*019
301*020
301*021
301*022
301*023
301+021*
301*025
301*026
301*027
301*028
301*029
301*030
304031
301*032
301*033
301*031*
304035
301*036
301*037
301»038

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C



C
C
C



C


FUNCTION 1 GTPTR (MY, 1 VA)

IGTPTR selects the pointer to the fraction of

Cal led by BIGALH.

Calls QUITER.

1 nput on cal 1 :

parameter list: MY.IVA
common blocks:
/ALUPLT/ MYGTWC
/REGION/ IREJN

Output on return:

function: IGTPTR

Notes:

none


COMMON /ALUPLT/ MYGXLC (6,3,2) , MYGTWC (6,3,2)
COMMON /REGION/ FEET (2) , IREJN, ALT, 1 N ITPR

DO 10 IG=1,6
IF (MY. LE. MYGTWC (IG, IVA, IREJN)) GOTO 20
10 CONTINUE

Set default.

16-1
CALL QUITER(0.,9,6l,MY)
20 IGTPTR=IG

RETURN
END

-------
                   C-233



Appendix C:  MOBILES Function IBFPTR
May 5, 1989
305000
Ipsooi
P'5002
305003
305001*
305005
305006
305007
305008
305009
305010
305011
305012
305013
3050 }k
305015
305016
305017
305018
305019
305020
305021
305022
305023
305021*
305025
305026
|D5027
P)5028
305029
305030
305031
305032
305033
30503**
305035
305036
305037
305038
305039
30501*0
30501*1
30501*2
3050143
30501*1*
30501*5
30501*6
30501*7
30501*8

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C

C



C
C
C



C
C
C
C
C


C

C


FUNCTION IBFPTR (MY, IP, IVLM)

IBFPTR selects the pointer to the normalized bag fractions in BFSTEP and
BFR50K (if 1981+ LDGV) or in BFRCOF (all other MY x IVLM cases).

Called by BIGIN2 and BEFIDL.

Calls QUITER.

1 nput on cal 1 :

parameter list: MY, IP, IVLM
common blocks:
/OPMOD2/ MYSTEP.MAXBFR.MYGBFR

Output on return:

function: IBFPTR

Notes:

IBFPTR was modified for MOBILEl*.


COMMON /OPMOD2/ MYSTEP.MAXBFR.MYGBFR (8,3,6)

IF (MYSTEP.EQ.2) GOTO 20

DO 10 IG=1,MAXBFR
IF (MY.LE.MYGBFR(IG, IP, IVLM)) GOTO 30
10 CONTINUE

Set default.

IG=1
CALL QUITER (0., 10, 61, MY)
GOTO 30

1981 + LDGV case: coefficients change every year 1981 through 1992.
198!»+ LDGT1/2 case: coefficients change every year 1981* through 1992.
1993 ~ 2020 are same as 1992's. Figure index accordingly.

20 IF (MY. LE. 1992) IG=MY-198l + l
IF (MY. GE. 1993) IG=12

30 IBFPTR=IG

RETURN
END

-------
                   C-234




Appendix C: MOBILE!* Subroutine  IERPTR
May 5, 1989
306000
306001
306002
306003
3060014
306005
306006
306007
306008
306009
306010
306011
306012
306013
306014
306015
306016
306017
306018
306019
306020
306021
306022
306023
306024
306025
306026
306027
306028
306029
306030
306031
306032
306033
306034
306035
306036
306037
306038
306039
306040
30601*1
30601*2
30601*3
30601*4
30601*5
306046
30601*7
30601*8
30601*9
306050
306051
306052
306053
306051*
306055
306056
306057

C
c
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c

c




c

c
c
c





c
c
c




c
c
c

SUBROUTINE 1 ERPTR (MY , 1 P, 1 V)

IERPTR selects the array pair and the model year group pointers into the
intercept and slope arrays for the FTP emission rate equations.

Called by BEF.

Cal Is QUITER.

1 nput on cal 1 :

parameter 1 1st: MY, IP, IV
common blocks:
/BASEQ2/ MYGERB.MAXERB
/BASEQ6/ MYGERU.NUMERU
/FLAGS2/ NEWFLG
/REJN/ IREJN

Output on return:

common block: /BASEQ6/ KEYER.IGER

Notes:

STOREQ modified in MOBILE!* to look for the match in first the user
supplied and then the hardcoded equation myg arrays.

The user is responsible for insuring entered ER records do not have
overlapping mygs. 1 ERRTR returns the index to the first myg match.


INTEGER ALHFLG

COMMON /BASEQ2/ MYGERB (20,3,8,2) .MAXERB
COMMON /BASEQ6/ MYGERU (12,2, 3,8,2) ,MAXERU,NUMERU (3,8,2) ,KEYER, IGER
COMMON /FLAGS2/ MYMRFG, NEWFLG, IMFLAG, ALHFLG
COMMON /REGION/ FEET (2) , 1 REJN, ALT, IN ITPR

IF (NEWFLG. EQ.l. OR. NUMERU(IP, IV, IREJN) .EQ.O) GOTO 20

Might be a match in the user supplied myg's.

KEYER=2
DO 10 IGER=1,MAXERU
IF (MY.GE.MYGERU(IGER, 1 , 1 P, 1 V, 1 REJN) .AND.
* MY.LE.MYGERU(IGER,2,IP,IV, IREJN)) GOTO 90
10 CONTINUE

Look in the Block Data hardcoded myg's.

20 KEYER=1
DO 30 IGER=1, MAXERB
IF(MY.LE.MYGERB(IGER,IP, IV, IREJN)) GOTO 90
30 CONTINUE

Set default.

IGER=1

-------
                                            C-235

                         Appendix C:  MOBILE** Subroutine IERPTR                   May  5,  1989
 306058            CALL  QUITER(0.,ll,6l,MY)
  36059      C
_ 16060         90  RETURN
 ^06061            END

-------
                   C-236




Appendix C: MOBILES Function ISPPTR
May 5, 1989
307000
307001
307002
307003
30700*4
307005
307006
307007
307008
307009
307010
307011
307012
307013
307011*
307015
307016
307017
307018
307019
307020
307021
307022
307023
307021*
smAO c
30/OO
307026
307027
307028
307029
307030
307031
307032
307033
30703^
307035
307036
307037
307038
307039
3070UO
30701*1
30701*2
30701*3
30701*1*
30701*5
30701*6
30701*7
3070l»8
30701*9
307050
307051
307052
307053
30705**
307055
307056
307057

C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c


c
c
c
c
c
c
c
c
c
c
c
c
c




c
c
c

c
c
c
c
c



c


FUNCTION ISPPTR (MY, IP.IV.ICASE)

ISPPTR selects the pointer to the bag speed normalization coefficients in
arrays SK1/SK2C/SKG/SK2N 6 the scf's in SCUNA1 for LDGV, LDGT1, LDGT2 6 MC.

Called by BIGCFX and BIGSAL.

Calls QUITER.

1 nput on cal 1 :

parameter list: MY, 1 P, 1 V, 1 CASE
common blocks:
/REGION/ IREJN
/SPEED2/ MYGSP1.MYGSMC.MYGSP2
/SPEEDl*/ MAXSP1.LBLAST
/SPEEDS/ MYHSPC.MAXHSP

Output on return:

function: ISPPTR

Local variable / array dictionary:

Name Type Description


IUB1ST 1 Upper Bound my of 1ST myg of new LDGV/T equation case

Notes:

Error code 61 causes QUITER to print an error message referencing the
calling pointer function and the failure to find a myg pointer. QUITER
then stops execution. Hence, control never returns to the calling function
No explicit branch after the call out of the function is needed.

ISPPTR was modified for MOB 1 LEA by merging in ISPPT8 and adding case 3.
ISPPTR was modified for MOBILES to change the new LDGV/T equation case.


COMMON /REGION/ FEET (2) , IREJN, ALT, IN ITPR
COMMON /SPEED2/ MYGSP1 (18,2, 3) .MYGSMC (18,2, 3) .MYGSP2 (3, 3)
COMMON /SPEEDl*/ MAXSP1 , LB1STS (3) , LBLAST, 1 VB, 1 VA
COMMON /SPEED5/ MYHSPC (2,3) .MAXHSP (3)

Branch to myg index array lookup for the scf coefficients case requested.

GOTO (10, 20, 30, 1*0) ,ICASE

Case 1: "Old" (= Not changed since MOBILE2) scf coefficients for the fifth
degree polynomial equation for LDGV/T. These are dependent on the
my, altitude and vehicle class.

10 DO 15 IG=1,MAXSP1
IF(MY.LE.MYGSP1 (IG, IREJN, IV)) GOTO 90
15 CONTINUE

IG=1
CALL QUITER(0.,12,-6l,MY)

-------
                   C-237
Appendix C:  MOBILES Function ISPPTR
May 5, 1989
307058
^107059
••07060
307061
307062
307063
307064
307065
307066
307067
307068
307069
307070
307071
307072
307073
307074
307075
307076
307077
307078
307079
307080
307081
307082
307083
307084
^^07085
^Bo7086
^^07087
307088
307089
307090
307091
307092
C
C
C
C



C


C
C
C
C
C





C
C
C
C
C
C


C
C
C

C



Case 2: "Old" (= Not changed since MOBILE2) scf coefficients for MC.
These are dependent on the my, altitude and pollutant type.

20 DO 25 IG=1,MAXSP1
IF (MY.LE.MYGSMC(IG, IREJN, IP)) GOTO 90
25 CONTINUE

IG=1
CALL QUITER(0.,13,6l,MY)

Case 3: coefficients for new for MOBILE4 A/X+B 6 A+B*X+C*X**2 scf equations.
for LDGV/T. These are dependent on my, pollutant type and vehicle
class.

30 IUB1ST=MYGSP2(IP, IV)
IF (MY.LE. IUB1ST) IG=1
IF (MY. GT. IUB1ST. AND. MY.LE. LBLAST) 1 G=MY- 1 UB1ST+1
IF (MY. GT. LBLAST) 1 G=LBLAST- 1 UB1ST+1
GOTO 90

Case 4: Subcase of 3 ~ a different set of A/X + B coefficients is used
when the inputted speed exceeds FTP speed, the pollutant is HC or CO,
the vehicle type is LDGV/T and the my is at or beyond a specified
year. This second set of new coefficients vary with my and iv.

40 IG=MY-MYHSPC(1, IV)+1
IF (MY.GT.MYHSPC(2, IV)) 1 G=MAXHSP (1 V)

Assign the myg cell pointer.

90 ISPPTR=IG

RETURN
END

-------
                   C-238




Appendix C: MOBILE4 Subroutine EXMPTR
May 5, 1989
308000
308001
308002
308003
308004
308005
308006
308007
308008
308009
308010
308011
308012
308013
3080 14
308015
308016
308017
308018
308019
308020
308021
308022
308023
308024
308025
308026
308027
308028
308029
308030
308031
308032
308033
308034
308035
308036
308037
308038
308039
308oi»0
30801*1
30801*2
30801*3
308041*
30801*5
30801*6
308047
308048
308049
308050
308051
308052
308053
308054
308055

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C





C
C
C


C
C
C
C




C

C


SUBROUTINE EXMPTR (MY, 1 V)

EXMPTR selects the pointer to the non-methane fractions.

Cal led by BIGCFX.

Cal Is QUITER.

1 nput on cal 1 :

parameter 1 1st: MY, IV
common blocks:
/NMETH1/ MYGEXM, LBEXM
/REGION/ IREJN

Output on return:

common block: /NMETH2/ 1 EXMYG, 1 EXARR

Notes:

EXMPTR replaces MOBILE3's IEXMPT, returning array selection key IEXARR,
as well as tnyg index 1 EXMYG.
EXMPTR was modified in MOBILE4 to allow high altitude LDGV/T cases to use
the IEXARR=2 pointer assignment algorithm.

EXMPTR was modified for MOBILE4.


COMMON /NMETH1/ EXMET1 (3,6,8,2) ,MYGEXM(6,8,2) , EXMET2 (3, 10, 3) ,LBEXM
COMMON /NMETH2/ 1 EXMYG, 1 EXARR
COMMON /REGION/ FEET (2) , 1 REJN, ALT, INITPR

IEXARR=1
DO 10 IG=1,6
IF (MY.LE.MYGEXM(IG, IV, IREJN)) GOTO 30
10 CONTINUE
IF (IV.LE.3) GOTO 20

Set default.

IG=1
CALL QUITER(0.,l4,6l,MY)

Low alt LDGV/T have mygs 7+ i n 1 year increments for lookup in EXMET2.
Hence, index(7+) = MY - myg6 ub, for MY up to LBEXM (currently 1990).

20 IEXARR=2
IG=IG-1
IF (MY. LT. LBEXM) 1 G=MY-MYGEXM (IG, 1 V, 1 REJN)
IF (MY. GE. LBEXM) IG=LBEXM-MYGEXM (IG, IV, IREJN)

30 IEXMYG=IG

RETURN
END

-------
                   C-239



Appendix C: MOBILES Function ITCPTR
May 5, 1989
309000
•09001
09002
309003
309001*
309005
309006
309007
309008
309009
309010
309011
309012
309013
3090 ll»
309015
309016
309017
309018
309019
309020
309021
309022
309023
30902*4
309025
309026
^^09027
^•09028
309029
309030
309031
309032
309033
309031*
309035

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C



C
C
C



C


FUNCTION ITCPTR (MY, IP, IVTEMP)

ITCPTR selects the pointer to the temperature correction

Cal led by BIGCFX.

Cal Is QUITER.

1 nput on cal 1 :

parameter list: MY, IP, IVTEMP
common block: /TEMPC2/ MAXTCF .MYGTCF

Output on return:

function: ITCPTR

Notes:

none


COMMON /TEMPC2/ MAXTCF .MYGTCF (9,3,5) .MYGTFD (3) , 1 SHI FT

DO 10 IG=1, MAXTCF
IF (MY. LE. MYGTCF (IG, IP, IVTEMP)) GOTO 20
10 CONTINUE
Set default.

IG=1
CALL QUITER (0., 15, 61, MY)
20 ITCPTR=IG

RETURN
END

-------
                   C-2UO




Appendix C: MOBILE!* Function  IGSFPT
May 5, 1989
310000
310001
310002
310003
310001*
310005
310006
310007
310008
310009
310010
31001 1
310012
310013
3100U
310015
310016
310017
310018
310019
310020
310021
310022
310023
310024
310025
310026
310027
310028
310029
310030
310031
310032
310033
310034
310035
310036
310037
310038

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C



C
C
C



C


FUNCTION IGSFPT (MY, IV)

IGSFPT selects the pointer to the gas/diesel sales fractions.

Called by EFCALX, IDLCAL, HCCALX and REGMOD.

Cal Is QUITER.

Input on call :

parameter 1 ist: MY, IV
common blocks:
/GSFCOM/ MAXGSF.MYGSF
/REGION/ IREJN

Output on return:

function: IGSFPT

Notes:

none


COMMON /GSFCOM/ MAXGSF.GSFRAC (22,8,2) .MYGSF (22,8,2)
COMMON /REGION/ FEET (2) , 1 REJN, ALT, IN ITPR

DO 10 IG=1,MAXGSF
IF (MY. LE. MYGSF (IG, IV, IREJN)) GOTO 20
10 CONTINUE

Set default for case where MY exceeds highest yr in MYGSF, given IV 6 IREJN.

IG=1
CALL QUITER (0., 16, 61, MY)
20 IGSFPT=IG

RETURN
END

-------
                   C-2l*l




Appendix C: MOBILES Function  ITAMPT                      May 5,  1989
311000
• 1001
1002
311003
3H001*
311005
311006
311007
311008
311009
311010
311011
311012
3H013
311011*
311015
311016
3H017
311018
311019
311020
311021
311022
311023
311021*
311025
311026
4*11027
^Pl028
311029
311030
311031
311032
3H033
311031*
3H035
311036
3H037
311038
3H039
31101*0
31101*1
31101*2
31101*3
31101*1*
31101*5
31101*6
31101*7
31101*8
31101*9
311050
311051
311052
«1053
1051*
1055
311056
3H057

c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c





c
c
c

c
c
c

c
c
FUNCTION ITAMPT(ICASE)

ITAMPT returns the pointer to the model year group cell location holding
the desired data point, given MY. ICASE identifies the calling CSECT
location and hence the array to be indexed and thus the my groups array
to search for the pointer. Only tampering subroutines use this function.

Called by EFFGRP, EMIRAT and EVPEME.

1 nput on cal 1 :

parameter list: ICASE
common blocks:
/LOOKUP/ IVTAM, IQG, 1 HG
/MYCODE/ MY
/MYUB1/ MYTGS, MYEGR.MYVTS
/MYUB2/ MYCCEI
/TAMID2/ MY IDLE, IEK

Output on return:

function: ITAMPT

Notes:

Differences from the other pointer functions:
(1) 5 different my group arrays are handled by this 1 subroutine, instead
of having a separate function for each case.
(2) ITAMPT assumes no default value, as the others do. I.e. the typical
code:
C
C..Set default
C
IG=1
CALL QUITER(0.,6,6l,MY)
is not inserted after each search loop. All the my arrays have 2020,
the highest ICY allowed by subroutine input, as the last non-dummy
upper bound. Hence, an in-range match has to occur.

ITAMPT was modified for MOBILEl*.

COMMON /LOOKUP/ 1 VTAM, 1 QG, 1 PG, JPGD, IHG, 1 GCSF
COMMON /MYCODE/ MY, 1 DX, JDX, LDXSY, LMYRVT, 1 AY, IMDXSY, IMK INK
COMMON /MYUB1/ MYTGS (1 1 ,6,1*) .MYEGR (!*,!») .MYVTS (3,2,1*)
COMMON /MYUB2/ MYCCEI (7, 1»)
COMMON /TAMID2/ MYI OLE (3, 3) , 1 EK

Branch to array pointer loop being asked for by ICASE.

GOTO (10, 20, 30, 1*0, 50) ,'ICASE

Case 1: find MY's cell in TGS.

10 DO 15 IG-1,11
1 F (MY . LE .MYTGS ( 1 G , 1 QG , 1 VTAM) ) GOTO 90
15 CONTINUE

Case 2: find MY's cell in EMEGR.

-------
                                           C-242

                        Appendix C: MOBILES Function  ITAMPT                      May  5,  1989
311058     c
311059   •    20  DO 25 IG=l,i»
311060           IF (MY.LE.MYEGR(IG,IVTAM)) GOTO 90
311061       25  CONTINUE
311062     c
311063     C  Case 3: find MY's cell  in EVPTGS.
311061*     C
311065       30  DO 35 IG=1,3
311066           IF(MY.LE.MYVTS(IG,IHG,IVTAM)) GOTO 90
311067       35  CONTINUE
311068     C
311069     C  Case i»: find MY's cell  in CCEMI .
311070     c
311071       kO  DO 1*5 IG=1,14
311072           IF(MY.LE.MYCCEI(IG,IVTAM)) GOTO 90
311073       ^5  CONTINUE
311074     c
311075     C  Case 5: find MY's cell  in TAMID2
311076     c
311077        50 DO 55 IG-1,3
3H078           IF (MY.LE.MYIDLE(IG, IEK))  GOTO 90
311079        55 CONTINUE
311080     c
311081     C  Assign cell number.
311082     c
311083        90 ITAMPT=IG
311081*     c
311085           RETURN
311086           END

-------
312000
• 2001
2002
312003
312004
312005
312006
312007
312008
312009
312010
312011
312012
312013
312014
312015
312016
312017
312018
312019
312020
312021
312022
312023
312024
312025
312026
4*12027
•02028
312029
312030
312031
312032
312033
312034
312035
312036
312037
312038
312039
312040
312041
312042
312043
312044
312045
312046
312047
312048
312049
312050
312051
312052
f2053
2054
2055
312056
312057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C

C
C
C


C
C
C



C
C
C
C
C

C
C
C
C
C
                             C-243

          Appendix C: MOBILES Function IEVPTR

   FUNCTION IEVPTR(MY,KEYEQ,IVGAS,ICASE)
May 5, 1989
IEVPTR selects pointers in support of evaporative hot soak / diurnal HC
calculations.  Case 1  returns the emission standard subscript value.
Case 2 returns the pointer to the fraction of cars that are fuel
injected, given the model  year.

Called by DIURNL, HOTSOK.

Calls QUITER.

Input on cal1:

  parameter list: MY,KEYEQ,IVGAS,I CASE
  common block:
  /EVAPAR/  IFDS
  /EVASTD/ MYGSTD,MAXSTD,KSTD81
  /INJECT/ MAXFIY.MINFIY

Output on return:

  function: IEVPTR

Notes:

In either Case, a default assignment  is not  included because there will
always be a match.

IEVPTR was added for MOBILES.
   COMMON /INJECT/ TBI (13,4) ,PFI (13,4) .MAXFIY.MINFIY
   COMMON /EVAPAR/ IFDS,ISTDC,ISTDT,ISTDP,FINJ (2)
   COMMON /EVASTD/ MYGSTD(5,5).MAXSTD,KSTD81 (4,3)

   IF (ICASE.EQ.2) GOTO 60

Select emission standard subscript value.

   IF(KEYEQ.EQ.3) GOTO 50
   IF (MY.GE.1981.AND.IVGAS.LE.3) GOTO 50

Untampered or uncontrolled subcase, with no fuel  injection.

   DO 20 IG=l,MAXSTD
   IF (MY.LE.MYGSTD(IG,IVGAS))  GOTO 80
20 CONTINUE

If execution reaches  here, MY higher  than MYGSTO(MAXSTD,IVGAS).  BLOCK
DATA O9's initialization of MYGSTD needs to be corrected.  Tell user
and stop execution within QUITER.

   CALL QUITER(0.0,1,60,MY)

If KEYEQ = 1,2: untampered or uncontrolled  subcase, with fuel  injection.
    or
If KEYEQ = 3  : certification fuel change subcase.

-------
                                           C-2U

                        Appendix C: MOBILES Function  IEVPTR                      May  5,

312058        50 IG=KSTD8l (IVGAS,IFDS)
312059           GOTO 80
312060     C
312061     C  Select pointer to fuel  injection  (TBI & PFI) fractions.
312062     C
312063        60 IF(MY.LE.MINFIY)  IG=1
31206*4           IF(MINFIY.LT.MY.AND.MY.LT.MAXFIY)  IG=MY-MINFIY+l
312065           IF(MY.GE.MAXFIY)  IG=MAXFIY-MINFIY+l
312066     C
312067     C  Assign index number.
312068     c
312069        80 IEVPTR=IG
312070     c
312071           RETURN
312072           END

-------
313000
• 3001
3002
313003
313001*
313005
313006
313007
313008
313009
313010
313011
313012
313013
313011*
313015
313016
313017
313018
313019
313020
313021
313022
313023
313021*
313025
313026
^13027
^•13028
313029
313030
313031
313032
313033
31303**
313035
313036
313037
313038

c
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c

c



c
c
c
c
c
c
c
c
c

c


                             C-2J»5

          Appendix C: MOBILES Function IGRVPT                     May 5,  1989

   FUNCTION IGRVPT(MY,IVTAM)

IGRVPT identifies the RVP CF MYG case.

Called by RVPEXH.

Input on call:

  parameter list: MY,IVTAM
  common blocks:
  /RVPEX2/ MYGRVP

Output on return:

  function: IGRVPT

Notes:

IGRVPT was added for MOBILES.


   COMMON /RVPEX2/ MYGRVP (k,k) .RVPCF (20,3,*»,2) .OPENCR

   DO 10 IG=l,i»
   IF (MY.LE.MYGRVP (IG,IVTAM)) GOTO 20
10 CONTINUE

There is no "default" index value - MYGRVP  is  assumed  to  include  for
for each vehicle class an upper bound year  = highest allowed  as an
evaluation year by MOBILES = 2020.

At the other extreme, there are no stored terms for the first model  year
group, since the correction factor for that group  is a constant neutral
1.0.  Decrement  IG so that IGRVPT correctly indexes the stored terms.

20 IGRVPT-IG-l
    •«
   RETURN
   END

-------
                   C-246




Appendix C: MOBILES Function IDLPTR
May 5, 1989
314000
314001
314002
314003
314004
314005
31 4006
314007
311*008
314009
311*010
314011
314012
3H013
31U011*
311*015
311*016
311*017
311*018
3U019
3U020
311*021
311*022
311*023
311*021*
311*025
311*026
311*027
311*028
314029
314030
314031
314032
314033
314034
314035
314036
314037
314038
314039

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C



C
C
C


C



FUNCTION IDLPTR (MY, IP, IV)

IDLPTR selects the model year group pointer into the slope £ intercept
arrays for the idle emission rate equation.

Cal led by BEFIDL.

Calls QUITER.

1 nput on cal 1 :

parameter list: MY, IP, IV
common blocks:
/IDLEQ2/ MYGIDL.MAXIDL
/REGION/ IREJN

Output on return:

function: IDLPTR

Notes:

none


COMMON /IDLEQ2/ MYG 1 DL (15,3,8,2) .MAX 1 DL
COMMON /REGION/ FEET (2) , IREJN, ALT, IN ITPR

DO 10 IG=1,MAXIDL
IF (MY.LE.MYGIDL(IG, IP, IV, IREJN)) GOTO 20
10 CONTINUE

Set default.

IG=1
CALL QUITER (0., 17, 61, MY)

20 IDLPTR=IG
RETURN
END

-------
                   C-247




Appendix C: MOBILES Function IMPTR
May 5, 1989
315000
•15001
15002
315003
315004
315005
315006
315007
315008
315009
315010
315011
315012
315013
315014
315015
315016
315017
315018
315019
315020
315021
315022
315023
315024
315025
315026
4^15027
^•15028
315029
315030
315031
315032
315033
31503**
315035
315036
315037
315038
315039
315040
3150^1
315042
315043
315044
315045

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C
C
C


C
C
C
C
C
C
C




C



FUNCTION IMPTR (MY, IV)

IMPTR selects the emission control technology group pointer into the 1 /M
credits arrays for LDGV/T. In the case of TECH 4+, the returned value will
have to be decreased by 3 to properly index the TECH 4+ arrays.

Called by PCLEFT.

1 nput on cal 1 :

parameter 1 ist: MY, IV
common block: /IMPAR5/ MYG 1 M2, LBIM4P

Output on return:

function: IMPTR

Notes:

IMPTR was added for MOBILE4.
IMPTR was modified for MOBILE4 to account for the elimination of the
separate LDGT Tech 4+ I/M credits array.


COMMON /IMPAR5/ MYG 1 M2 (3, 3) , LB 1 M4P, CRHDGV (2, 2) , D 1 SCNT (3)

First check if Technology 1-2 case.
DO 10 IG=1,3
IF (MY.LE.MYGIM2(IG, IV)) GOTO 20
10 CONTINUE

Technology 4+ case.
Add 3 to get relative slot (first Tech 4+ slot is 1 + 3 = 4th overall).
When used to index a Tech 4+ array, the 3 will be subtracted first.
Note that the MY to credit mapping differs between LDGV and LDGT, both
indexing the same array, but at different locations for a given MY.

IG=IG-1
IF (MY.LT.LBIM4P) 1 G=MY-MYG IM2 (1 G, IV)+3
IF (MY.GE.LBIM4P) 1 G=LBI M4P-MYG IM2 (1 G, IV)+3
IF (IV. GE. 2. AND. MY. GE. 1988) IG=IG+3

20 IMPTR=IG
RETURN
END

-------
                   C-248




Appendix C: MOBILES Function IRULPT
May 5, 1989
316000
316001
316002
316003
316004
316005
316006
316007
316008
316009
316010
316011
316012
316013
316014
316015
316016
316017
316018
316019
316020
316021
316022
316023
316024
316025
316026
316027
316028
316029
316030
316031
316032
316033
316034
316035
316036
316037

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C



C
C
C



C


FUNCTION IRULPT (MY, IVTL)

IRULPT selects the pointer to the running loss base emission rate for
the given model year and vehicle class.

Called by RULOSS.

Calls QUITER.

1 nput on cal 1 :

parameter list: MY, IVTL
common blocks:
/RUNLS4/ MYGRUL.MAXRUL

Output on return:

function: IRULPT

Notes:

IRULPT was added for MOBILE4.


COMMON /RUNLS4/ MYGRUL (4,4) .MAXRUL

DO 10 IGTL-1, MAXRUL
IF (MY. LE. MYGRUL (IGTL, IVTL)) GOTO 20
10 CONTINUE

Set default.

IGTL-1
CALL QUITER(0.,3,6l,MY)
20 IRULPT=IGTL

RETURN
END

-------
                   C-2l*9




Appendix C: MOBILES Subroutine  OUTPUT
May 5, 1989
U01000
fclOOl
P1002
1.01003
1*01001*
1*01005
1*01006
1*01007
1*01008
1*01009
1*01010
1*01011
1*01012
1*01013
1*01011*
1*01015
1*01016
1*01017
1*01018
1*01019
1*01020
1*01021
1*01022
1*01023
1»0102A
1*01025
1*01026
^1027
PI 028
1*01029
1*01030
1*01031
1*01032
1*01033
It0103l»
1*01035
1*01036
1*01037
1*01038
1*01039
1*0101*0
1*0101*1
1*0101*2
1*0101*3
1*0101*1*
1*0101*5
1*0101*6
1*0101*7
1*0101*8
1*0101*9
1*01050
1*01051
1*01052
^1053
•1051*

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C


C
C
C

C
C
C



C
C
C



C
C
C



C
C
C


C


SUBROUTINE OUTPUT (ICY)

OUTPUT writes scenario results on unit IOUREP.

Called by MAIN.

Calls OUTDT1, OUTDT2, OUTDT3, OUTDTl*,
OUTHD1, OUTHD2, OUTHD3 and OUTHDl*.

1 nput on cal 1 :

parameter list: 1 CY
common blocks:
/FLAGS3/ OUTFMT
/REGION/ INITPR

Notes:

OUTPUT was modified in MOBILE!*, removing the VI OLE zero out code.


INTEGER ATPFLG.TPDFLG.RLFLAG.TEMFLG, OUTFMT

COMMON /FLAGS3/ ATPFLG.TPDFLG.RLFLAG, LOCFLG.TEMFLG, OUTFMT
COMMON /REGION/ FEET (2) , IREJN, ALT, 1 NITPR

Select report format.

GOTO (10, 20, 30, 1*0) .OUTFMT

OUTFMT=1

10 IF (INITPR. EQ.l) CALL OUTHDl
CALL OUTDTl (ICY)
GOTO 99

OUTFMT=2

20 IF (INITPR. EQ.l) CALL OUTHD2
CALL OUTDT2(ICY)
GOTO 99

OUTFMT=3

30 IF (INITPR. EQ.l) CALL OUTHD3
CALL OUTDT30CY)
GOTO 99

OUTFMT«1»

1*0 IF (INITPR. EQ.l) CALL OUTHDl*
CALL OUTDTl* (ICY)

99 RETURN
END

-------
                   C-250




Appendix C: MOBILES Subroutine OUTHD1
May 5, 1989
402000
1*02001
402002
402003
402004
402005
402006
402007
402008
402009
402010
402011
402012
402013
402014
402015
402016
402017
402018
402019
402020
402021
402022
402023
402024
402025
402026
402027
402028
402029
402030
402031
402032
402033
402034
402035
402036
402037
402038
402039
402040
402041
402042
402043
402044
402045
402046
402047
402048
402049
402050
402051
402052
402053
402054
402055
402056
402057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C

C



C

C





SUBROUTINE OUTHD1

OUTHD1 writes the run header on unit IOUREP using output format (OUTFMT) 1.
The format is intended for postprocessing of the data. Hence, the
header consists of the field descriptors of the data lines. Each scenario
generates 4 identically formatted lines, 1 each for evap HC, total HC,
CO and NOx. The evap HC line omits the last field (All Veh C.E.F.).

Cal led by OUTPUT.

1 nput on cal 1 :

common blocks:
/IOUCOM/ IOUREP
/MAXIMA/ MAXVEH

Output on return:

common block: /REGION/ INITPR

Local array dictionary:

Name Type Description


NAMVEH C*8 names of vehicle classes for field headings

Notes:

OUTFMT 1 contains the same set of fields as MOBILE3's OUTFMT 2, except that

(1) The fields are all on 1 record, instead of split across 3 records,
for a given scenario and pollutant. Field print order is the same.

(2) The emission factors are printed with 3» instead of 2, decimal places.

(3) The scenario id label (new for MOBILE4) is appended as the last field.

OUTFMT 1 is the new "long" numeric format, with a record length of 212.
OUTHD1 was added for MOBILE4.


COMMON /IOUCOM/ IOUIMD, 1 OUGEN, 1 OUREP, IOUERR, 1 OUASK
COMMON /MAXIMA/ MAXVEH, MAXLTW,MAXPOL,MAXREG,MAXYRS
COMMON /REGION/ FEET (2) , 1 REJN, ALT, 1 N ITPR

CHARACTER*8 NAMVEH (9)

DATA NAMVEH/
* 'LDGV ','LDGTl '.'LDGT2 ' , ' LDGT ','HDGV ',
* 'LDDV ', 'LDDT ','HDDV ' , ' MC '/

INITPR=0

MAXV=MAXVEH+1
WRITE (IOUREP, 200)
* NAMVEH, (NAMVEH (IV) ,IV=1, 3) , (NAMVEH (IV) , 1 V=5,MAXV)
200 FORMAT (
*I01,1R1,73X,1P1/

-------
                                            C-251

                        Appendix C: MOBILES  Subroutine OUTHD1                    May 5,  1989

U02058          *' ' ,'e',l*l*X,'Amb.' ,20X, 'Alt.  o1 ,28x, 'Composite Emission Factors',
  2059          *        *»5X, 'Vehicle Mix1/
  2060          *' ','g CY',13X,'Vehicle  Speeds',ll*X,'Imp   Cold/Hot Start  in Ft.1
1*02061          *    ,' l',9(3X,A5) ,' All Veh',8(lX,A5) , '  Scenar io Ti tie1/
1*02062          *' ','	',39('-'),'  —   M6('-'),'	',79('-'),lX,
1*02063          *    1*7('-') ,1X,16('-'))
1*02061*     C
1*02065           RETURN
1*02066           END

-------
                   C-252




Appendix C: MOBILE4 Subroutine OUTHD2
May 5, 1989
1*03000
403001
1*03002
1*03003
1*03001*
1*03005
1*03006
1*03007
1*03008
1*03009
1*03010
1*03011
1*03012
1*03013
1*03011*
1*03015
1*03016
1*03017
403018
1*03019
1*03020
1*03021
1*03022
1*03023
1*03021*
1*03025
1*03026
1*03027
1*03028
1*03029
1*03030
1*03031
1*03032
403033
403034
403035
403036
403037
403038
403039
403040
403041
403042
403043
403044
403045
403046
403047
403048
403049
403050
403051
403052
^03053
403054
403055
403056
403057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C

C



C

C




SUBROUTINE OUTHD2

OUTHD2 writes the run header on unit IOUREP using output format (OUTFMT) 2.
The format is intended for postprocessing of the data. Hence, the
header consists of the field descriptors of the data lines. Each scenario
generates 4 identically formatted lines, 1 each for evap HC, total HC,
CO and NOx. The evap HC line prints blanks for the AllVeh C.E.F.

Called by OUTPUT.

1 nput on cal 1 :

common blocks:
/IOUCOM/ IOUREP
/MAXIMA/ MAXVEH

Output on return:

common block: /REGION/ INITPR

Local array dictionary:

Name Type Description


NAMVEH C*8 names of vehicle classes for field headings

Notes:

OUTFMT 2 contains the same set of fields as MOBILE3's OUTFMT 1, except that

(1) The speed vector is omitted.

(2) The emission factors and vmt mix fractions are printed for all vehicle
classes are printed.

New OUTFMT 1 is the new "short" numeric format. With a record length of
130 columns, each record will fit entirely onto an output page without
truncation.

OUTHD2 was added for MOBILE4.


COMMON /IOUCOM/ 1 OUIMD, IOUGEN, 1 OUREP, 1 OUERR, 1 OUASK
COMMON /MAXIMA/ MAXVEH, MAXLTW.MAXPOL.MAXREG.MAXYRS
COMMON /REGION/ FEET (2) , IREJN, ALT, 1 N ITPR

CHARACTERS NAMVEH (9)

DATA NAMVEH/
* 'LDGV VLDGT1 ' , ' LDGT2 ' , ' LDGT ','HDGV ',
* 'LDDV ', 'LDDT ','HDDV ' , ' MC '/

INITPR=0

MAXV=MAXVEH+1
WRITE (IOUREP, 200)
* NAMVEH, (NAMVEH (IV), IV-1, 3), (NAMVEH (IV) , IV=5,MAXV)
200 FORMAT(

-------
  tw
•
                                           C-253

                        Appendix C: MOBILE**  Subroutine  OUTHD2                   May 5, 1989

1*03058          *I0I,'R',27X.IP1/
  3059          *' ','e    Amb.',19X,'o1,22X,'Composite Emission Factors',38X,
  3060          *                                                'Vehicle Mix1/
 03061          *' VgCYTmp   Cold/Hot Start    1 ' ,9 (2X, A5) , '  All Veh' , 1X.8A5/
1*03062          *• ','				',69('-') ,ix,39('-'))
1*03063     c
1*03061*           RETURN
U03065           END

-------
                   C-254




Appendix C: MOBILES Subroutine OUTHD3
May 5, 1989
404000
401*001
404002
404003
404004
404005
404006
404007
404008
404009
404010
404011
404012
404013
404014
404015
404016
40401?
404018
404019
404020
404021
404022
404023
404024
404025
404026
404027
404028
404029
404030
404031
404032
404033
404034
404035
404036
404037
404038
404039
404040
404041
404042
404043
404044
404045
404046
404047
404048
404049
404050
404051
404052
404053
404054
404055
404056
404057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C





C

C
C
C

C

C

C

C

C


C

C


SUBROUTINE OUTHD3

OUTHD3 writes the run header on unit IOUREP using output format
The header consists of the run title and a partial echo of user
options and data.

Cal led by OUTPUT.

Calls OUTATP, OUTIMP, OUTLAP, OUTMTH, OUTNEW, OUTTAM and USDPTR.

1 nput on cal 1 :

common blocks:
/FLAGS1/ TAMFLG
/FLAGS2/ NEWFLG, IMFLAG
/FLAGS3/ ATPFLG
/IOUCOM/ IOUREP

Output on return:

common block: /REGION/ INITPR

Notes:

The call to TAMPER was commented out in MOBILE4.


INTEGER PROMPT, TAMFLG.SPDFLG, VMF LAG
INTEGER ALHFLG
INTEGER ATPFLG,TPDFLG,RLFLAG,TEMFLG,OUTFMT

COMMON /FLAGS1/ PROMPT, TAMFLG, SPDFLG, VMFLAG
COMMON /FLAGS2/ MYMRFG, NEWFLG, IMFLAG, ALHFLG
COMMON /FLAGS3/ ATPFLG, TPDFLG, RLFLAG, LOCFLG.TEMFLG.OUTFMT
COMMON /IOUCOM/ 1 OUIMD, 1 OUGEN, IOUREP, 1 OUERR, 1 OUASK
COMMON /REGION/ FEET (2) , 1 REJN, ALT, IN ITPR

INITPR=0

IF (TAMFLG. EQ. 2) CALL OUTTAM

IF (NEWFLG. EQ. 2) CALL OUTNEW

IF (IMFLAG. EQ. 2) CALL OUTIMP

IF (ATPFLG. EQ. 2) CALL OUTATP

IF (LOCFLG.EQ.2) CALL OUTLAP

CALL OUTMTH

WRITE (IOUREP, 200)
200 FORMAT('OM12('_'))

CALL USDPTR

RETURN
END

-------
                   C-255



Appendix C: MOBILE** Subroutine  OUTHDl*
May 5, 1989
1*05000
to)5001
PD5002
1*05003
1*05001*
1*05005
1*05006
1*05007
1*05008
1*05009
1*05010
1*05011
1*05012
1*05013
1*05011*
1*05015
1*05016
1*05017
1*05018
1*05019
1*05020
1*05021
1*05022
1*05023
1*05021*
1*05025
1*05026
|P5027
BD5028
1*05029
1*05030
1*05031
1*05032
1*05033
1*05031*
1*05035
1*05036
1*05037
1»05038
1*05039
1*0501*0
1*0501*1
1*0501*2
1*0501*3
1*0501*1*
1*0501*5
1*05046
1*0501*7
1*0501*8
1*0501*9
1*05050
1*05051
1*05052
tt>5053
P&5051*
^05055
1+05056
1*05057

c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c



c





c

c
c
c

c

c

c

c

c


c

c


SUBROUTINE OUTHDl*

OUTHDl* writes the run header on unit IOUREP using output format (OUTFMT) 1*.
The header consists of the run title and a partial echo of user selected
options and data.

Cal led by OUTPUT.

Calls OUTATP, OUTIMP, OUTLAP, OUTMTH, OUTNEW, OUTTAM and USDPTR.

Input on cal 1 :

common blocks:
/FLAGS1/ TAMFLG
/FLAGS2/ NEWFLG, IMFLAG
/FLAGS3/ ATPFLG
/IOUCOM/ IOUREP

Output on return:

common block: /REGION/ INITPR

Notes:

The call to TAMPER was commented out in MOBILES.


INTEGER PROMPT, TAMFLG, SPDFLG.VMF LAG
INTEGER ALHFLG
INTEGER ATPFLG, TPDFLG.RLFLAG.TEMFLG, OUTFMT

COMMON /FLAGS1/ PROMPT, TAMFLG, SPDFLG.VMFLAG
COMMON /FLAGS2/ MYMRFG, NEWFLG, IMFLAG, ALHFLG
COMMON /FLAGS3/ ATPFLG, TPDFLG, RLFLAG, LOCFLG.TEMFLG, OUTFMT
COMMON /IOUCOM/ IOUIMD, 1 OUGEN, 1 OUREP, 1 OUERR, IOUASK
COMMON /REGION/ FEET (2) , 1 REJN, ALT, 1 N ITPR

INITPR=0

IF (TAMFLG. EQ. 2) CALL OUTTAM

IF (NEWFLG. EQ. 2) CALL OUTNEW

IF (IMFLAG. EQ. 2) CALL OUTIMP

IF (ATPFLG. EQ. 2) CALL OUTATP

IF (LOCFLG.EQ.2) CALL OUTLAP

CALL OUTMTH

WRITE (IOUREP, 200)
200 FORMAT ('0 ',80 ('_'))

CALL USDPTR

RETURN
END

-------
                   C-256




Appendix C: MOBILES Subroutine OUTHDR
May 5, 1989
1*06000
1*06001
1*06002
1*06003
1*06001*
1*06005
1*06006
1*06007
1*06008
1*06009
1*06010
1*06011
1*06012
1*06013
1*060 U
1*06015
1*06016
1*06017
1*06018
1*06019
1*06020
1*06021
1*06022
1*06023

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C


C


SUBROUTINE OUTHDR (1 OUOUT)

OUTHDR writes the output header

Cal led by CONSEC.

1 nput on cal 1 :

parameter list: IOUOUT
common block: /PROJEC/ PROJ 1 D

Notes:

none


CHARACTER*!* PROJ 1 D
COMMON /PROJEC/ PROJ 1 D (20)

WRITE (IOUOUT, 200) PROJ 1 D
200 FORMAT (' 1 ' ,20A4)

RETURN
END

-------
                   C-257




Appendix C: MOBILE4 Subroutine OUTTAM
May 5, 1989
407000
K7001
7002
407003
407004
407005
407006
407007
407008
407009
407010
407011
407012
407013
407014
407015
407016
407017
407018
407019
407020
407021
407022
407023
407024
407025
407026
^.mn T T
•D/027
• 7028
T07029
407030
407031
407032
407033
407034
407035
407036
407037
407038
407039
407040
407041
407042
407043
407044
407045
407046
407047
407048
407049
407050
407051
407052
f7053
7054
7055
407056
407057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C '
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C






C


C

SUBROUTINE OUTTAM

OUTTAM prints the user supplied replacement tampering rates and the derived
TNKS = MISF - NCKS case in ID (instead of IDUSER) order. This routine is
calls are commented out in Release MOBILE4 and is used in-house for
diagnostic purposes only.

Called by OUTHD3 and OUTHD4.

1 nput on cal 1 :

common blocks:
/FLAGS2/ IMFLAG
/FLAGS3/ OUTFMT
/IOUCOM/ IOUREP
/TAMEQ1/ TAMZML.TAMDR

Local array subscripts:

DISABL(2,9) - DISABL ( 1 CH , ID )
IGTYPE(3,3) - IGTYPE ( ITY , IGD )
IMTYPE(3,2) - IMTYPE ( ITY , IM)
USC (4) - USC ( ISC )

Local variable / array dictionary:

Name Type Description


ADET C*4 column heading for deterioration rates
AZML C*4 column heading for zero mile levels
DISABL C*8 names of disablement categories
IGTYPE C*4 tampering rates table headings, by myg 6 vmt, as applies
IMTYPE C*4 non-l/M and 1 /M tampering rates table headings
USC C*4 underscore strings for table and column headings

Notes:

MOBILE4 prints two evaporative tampering categories (see ID definition).

OUTTAM was modified for MOBILE4 to print 4's separate MYG2 >50K set.

OUTTAM was modified for MOBILE4 to add the IGD dimension.
OUTTAM was modified for MOBILE4 for the new misfueling algorithm.
OUTTAM was commented out for MOBILE4.
For diagnostics and in-house use, OUTTAM will be kept up to date.


INTEGER ALHFLG
INTEGER ATPFLG.TPDFLG.RLF LAG, TEMFLG, OUTFMT
COMMON /FLAGS2/ MYMRFG.NEWFLG, IMFLAG, ALHFLG
COMMON /FLAGS3/ ATPFLG.TPDFLG.RLFLAG, LOCFLG, TEMFLG, OUTFMT
COMMON /IOUCOM/ IOUIMD, IOUGEN, IOUREP, 1 OUERR, 1 OUASK
COMMON /TAMEQ1/ TAMZML (9,4,2,2) .TAMDR (9,4,3,2) .MYGTAM (4) ,IGT5,F50K

CHARACTER*8 DISABL (2, 9)
CHARACTERS IMTYPE (3, 2) .IGTYPE (3, 3) , AZML, ADET, USC (4)

DATA IMTYPE/ -Non-1, ' I/M ','CaseV I/1 , 'M Ca ' , 'se '/

-------
407058
407060
407061
1*07062
1*07061*
1*07065
1*07066
1*07067
1*07068
1*07069
1*07070
1*07071
1*07072
1*07073
1*07074
1*07075
1*07076
407077
407078
407079
407080
407081
407082
407083
407084
407085
407086
407087
407088
407089
407090
407091
407092
407093
407094
407095
407096
407097
407098
407099
407100
407101
407102
407103
407104
407105
407106
407107
407108
407109
407HO
407H1
407112
407113
407114
407115
                                C-258

             Appendix C: MOBILE4 Subroutine  OUTTAM                    May 5,  1989

      DATA IGTYPE/'MYGl1,'/All1,'  VMT',
     *            'MYG21,'/ <=','  50K1,
     *            'MYG2','  / >','  50K1/
      DATA AZML/'ZML '/.ADET/'DET '/
      DATA USC/'_    ','_  V	 ','	V
      DATA DISABL/'Air Pump1,'         ',
     *            'Catalyst','         ',
     *            'Fuel  Inl'.'et       ',
     *            'Other Mi','sfueling1,
     *            'EGR Syst','em
     *            'Evap Can','ister    ',
     *            'PCV Syst1,'em       ',
     *            'Cap
     *            'All Misf'.'ueling   '/
C
      WRITE (IOUREP,200)
  200 FORMAT ('0',
     ^'Replacement Tampering and Misfueling  Rates  Input  by User:')
C
      DO 20  IM=1,IMFLAG
      IF (OUTFMT.EQ.3) WRITE (IOUREP.210)
     *   (IMTYPE (ITY, IM) ,ITY=1,3) , (USC (4) , ISC=1,3)
  210 FORMATCO'  ,T54,3A4/'+' .T54.3A4)
      IF (OUTFMT.EQ.4) WRITE (IOUREP.220)
     *   (IMTYPE (ITY, IM) ,ITY=1,3) , (USC (4) , ISC=1,3)
  220 F ORMAT('0',T45,3A4/' +',T45,3A4)
C
      DO 20  IGD=1,3
      IF(OUTFMT.EQ.4) GOTO 10
C
C  Output Format 3:  wide (112  column)  descriptive  layout:
C
      WRITE (IOUREP,230)
     *   (IGTYPEdTY, IGD),ITY-1,3),
     *   (USC (4) ,  ISC=1,5) ,USC(1) ,USC(4) ,USC(1) ,USC(4)
C
  230 FORMATCO1  ,T54,3A4/' + ' .T54.3A4/
     *   '0',T29,'LDGV,T48,'LDGT1',T67,'LDGT2',T86,'HDGV1/
     *   ' + ',T29,A4,T48,2A4,T67,2A4,T86,A4)
C
      IF(IGD.LE.2) WRITE(IOUREP,240)
     *   (AZML,ADET,ITER=1,4) ,
     *   (USC(4),ISC=1,4),USC(2) , (USC (4) , USC (2) , USC (4) ,USC(3) ,ISC=1,4) ,
     *   ((DISABLdCH, ID) , ICH=1,2) , (TAMZML (I D, IVTAM, IGD, IM) ,
     *           TAMDR(ID, IVTAM, IGD, IM) , IVTAM=1,4) , ID=1,9)
C
  240 FORMAT('0',T6,'Component1,Tig,'|',4 (5X,A4,6X,A4)/
     *   '+',T2,5A4,4(2X,2A4,'  ',2A4)/
     *   (' 1,2A8,T19,'|',T21,4(2X,F7.4,2X,F8.5)))
C
      IFdGD.EQ.3) WRITE (IOUREP, 250)
     *   (ADET.ITER-1,4),
     *   (USC(4),ISC=1,4),USC(2) , (USC(4) ,USC(3) ,ISC=1,4) ,
     *   ((DISABLdCH, ID) ,ICH=1,2) , (TAMDR (I D, I VTAM, IGD.IM) , IVTAM=M) ,
     *                                                     ID-1,9)
C
  250 FORMAT CO',T6,'Component',T19, ' | ',4(15X,A4)/
     *   1 + 1,T2,5A4,-4(11X,2A4)/

-------
                                             0259

                         Appendix  C:  MOBILEl* Subroutine OUTTAM
                                                                                    May  5,  1989
1*07116
  ?7H7
  )7H8
   120
1*07121
1*07122
1*07123
1*07121*
1*07125
1*07126
1*07127
1*07128
1*07129
1*07130
1+07131
1*07132
1*07133
1*07131*
1*07135
1*07136
407137
l»07138
1*07139
1*0711*0
1*0711*1
1*0711*2
  7H*3
  711*1*
 07H»5
1*0711*6
1*0711*7
1*0711*8
i*07H»9
1*07150
1*07151
1*07152
                 *  ('  ',2A8,T19,' |',
                  GOTO 20
            C   Output Format  l»:  narrow (80 column)  descriptive format:
            C
               10 WRITE (IOUREP, 260)
                 *   (IGTYPE(ITY.IGD) , ITY=1,3) ,
                 *   (USC(1») , ISC=1,5) ,USC(1) ,USC(1*) ,USC(1) ,USC(1*)
            C
              260 FORMATCO1 ,Tl*5,3Al»/' + ' ,T1*5, 3 Alt/
                 *   '0' ,T26, 'LDGV ,Tl*l , ' LDGT1 ' ,T56, 'LDGT21 ,T71, 'HDGV1/
                 *   ' + ' ,T26,Al*,Tl»l,2Al*,T56,2Al*,T71,Al»)
            C
                  IFOGD.LE.2)  WRITE (IOUREP, 270)
                 *   (AZML.ADET, ITER=1,1*) ,
                 *   (USC (4) ,ISC=1,1*) ,USC(2) , (USC(1*) ,USC(1*) ,USC(3) , ISO1,J») ,
                 *   ((DISABL(ICH.ID) , ICH=1,2) , (TAMZML(ID, IVTAM, IGD, IM) ,
                 *            TAMDR(ID, IVTAM, IGD, I M) , IVTAM=1,1») , ID=1,9)
            C
              270 FORMATCO1 ,T6, 'Component1 ,T19, ' | ' ,1* (3X, Al»,l»X, Al*) /
                 *   ' + ',T2,5A1*,MA1*,'_ ',2A1*)/
                 *   ('  ',2A8,T19,' |',T21,i*(F7.l*,F8.5)))
            C
                  IF(IGD.EQ.3)  WRITE (IOUREP, 280)
                 *   (ADET, ITER=1,1*) ,
                 *   (USC(1») ,ISC=1,1*) ,USC(2) , (USC (1*), USC (3) , ISC-1,1*) ,
                 *   ((DISABL (ICH, ID) , ICH=1,2) , (TAMDR(ID, IVTAM, IGD, IM) , IVTAM=1 ,1*) ,
                 *                                                       ID-1,9)
            C
              280 FORMATCO1 ,T6, ' Component ' ,T1 9, ' | ' ,1* (1 IX, Al*) /
                 *   ' + ',T2,5A1*,M7X,2A1.)/
                 *   ('  I,2A8,T19,I|I'T21'J»(7X,F8.5)))
            C
               20 CONTINUE
            C
                  RETURN
                  END

-------
408000
408001
408002
408003
408004
408005
408006
40800?
408008
408009
408010
40801 1
408012
408013
408014
408015
408016
40801?
408018
408019
408020
408021
408022
408023
408024
408025
408026
408027
408028
408029
408030
408031
408032
408033
408034
408035
408036
408037
408038
408039
408040
408041
408042
408043
408044
408045
408046
408047
408048
408049
408050
408051
408052
408053
408054
408055
408056
408057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C




C




C






C






C



C




C


                              C-260

           Appendix C: MOBILES Subroutine OUTNEW

    SUBROUTINE OUTNEW
May 5, 1989
 OUTNEW writes out the new  (user supplied replacement) basic emission
 rate parameters and data.

 Called by OUTHD3 and OUTHD4.

 Input on cal1:

   common blocks:
   /BASEQ3/ KINKS
   /BASEQ4/ NEWPAR,BERNEW,NEWFIT.NEWCT
   /IOUCOM/ IOUREP
   /STRING/ NOYES

 Notes:

 OUTNEW was modified for MOBILE** to add the above 50K miles  slope.
    CHARACTERS NOYES, COMMA, PERIOD
    CHARACTER*! COLON

    COMMON /BASEQ3/ NEWVEH.NEWMYF ,NEWMYL,ZMLNEW,DRNEW,K INKS
    COMMON /BASEQ4/NEWPAR (5, 100) ,BERNEW(3, 100) ,NEWF IT(IOO) .NEWCT.MAXCT
    COMMON /IOUCOM/ IOU I MD, IOUGEN, I OUREP, IOUERR, I OUASK
    COMMON /STRING/ NOYES (2) .COMMA, PERIOD, COLON

    WRITE(IOUREP,210)
210 FORMAT (
   *'0' ,Tl6, ' Emi ssi on Factor Modification  Profile1/

    IF (KINKS. EQ.l) WRITE (IOUREP, 220)
220 FORMAT (
   *'0' , 'Equation  Reg  Veh  Pol  First MY  Last MY     Base
   *    'DR           Altered1/
   *' + ',' _  _  _  _  _  _     _
   *    ' _          _ ')

    IF (KINKS. EQ. 2) WRITE ( IOUREP, 230)
230 FORMAT (
   *'0' , 'Equation  Reg  Veh  Pol  First MY  Last MY     Base
   *    'DR   50K DR  Altered1/
   *' + ',' _  _  _  _  _  _     _
   *    ' _  _  _ ')

    DO 10  IFAC=1,NEWCT
    INO=1
    IF(NEWFIT(IFAC)..EQ.1)  INO=2

    IF(BERNEW(3, IFAC) .LT.0.0) WRITE (I OUREP, 240)  IFAC,
   *   (NEWPAR (I, I FAC) , 1 = 1,5) , (BERNEW (I , I FAC) , 1 = 1 ,2) , NOYES (I NO)
240 FORMAT (' ' ,U. I 3.T13, I 1 .Tl8, I 1 ,T23, I 1 ,T29, I4.T38, I4.T46.F6.2,
   *           T54,F6.2,T72,A4)

    IF (BERNEW (3, I FAC) .GE.0.0) WRITE (I OUREP, 250)  IFAC,
   *   (NEWPAR ( I ., I FAC), 1-1,5) , (BERNEW (I, IFAC), 1 = 1.3) .NOYfS(INO)

-------
                                            C-261

                         Appendix C: MOBILE!* Subroutine OUTNEW                    May 5, 1989

1*08058       250  FORMATC  '.TJ*. I3.T13, I1,T18,I1,T23, I 1,T29,H»,T38,H*,T1*6,F6.2,
 08059          *           T5l*,F6.2,T62,F6.2,T72,Al*)
  >8060         10  CONTINUE
 io806l     C
1*08062            RETURN
1*08063            END

-------
                   C-262
Appendix C: MOBILE4 Subroutine OUTIMP
May 5, 1989
409000
409001
^09002
409003
409004
409005
409006
409007
409008
409009
409010
409011
409012
409013
409014
409015
409016
409017
409018
409019
409020
409021
409022
409023
409024
409025
409026
409027
409028
409029
409030
409031
409032
409033
409034
409035
409036
409037
409038
409039
409040
409041
409042
409043
409044
409045
409046
409047
409048
409049
409050
409051
409052
409053
409054
409055
409056
•409057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C





C

C



C


C



C
SUBROUTINE OUTIMP

OUTIMP prints the 1 /M program parameters and the alternate I/M credits set
name, if it was entered.

Called by OUTHD3 and OUTHD4.

1 nput on cal 1 :

common blocks:
/IMPAR1/ ICYIM, ISTRIN,MODYR1,MODYR2,WAIVER,CRIM
/IMPAR2/ ILDT, ITEST, NLIM, IMNAME
/IMPAR6/ IFREQ, INTYP
/IOUCOM/ IOUREP
/STRING/ NOYES

Local array subscripts:

TFREQ(2,2) - TFREQ ( ICH, IFREQ )
T INTYP (7, 3) - TFREQ (ICH, INTYP )
TTYPE(4,3) - TTYPE ( ICH, ITEST )

Local variable / array dictionary:

Name Type Description


TFREQ C*4 I/M inspection frequency description
T INTYP C*4 I/M program type description
TTYPE C*4 I/M test type description

Notes:

OUTIMP was modified for MOBILE4 to echo the new and changed parameters.


CHARACTER*4 IMNAME
CHARACTER*4 NOYES, COMMA, PERI OD
CHARACTER*! COLON

COMMON /IMPAR1/ 1 CY 1 M, 1 STRIN.MODYR1 .MOOYR2.WA 1 VER (2) , CRI M
COMMON /IMPAR2/ 1 LOT (4) , ITEST, NUDATA (2) .NONUDA.NL IM, 1 MNAME (20,9)
COMMON /IMPAR6/ IFREQ, INTYP
COMMON /IOUCOM/ 1 OUIMD, 1 OUGEN, 1 OUREP, 1 OUERR, 1 OUASK
COMMON /STRING/ NOYES (2) .COMMA, PERI OD, COLON

CHARACTER*4 TFREQ (2, 2) ,TINTYP(7,3) , TTYPE (4, 3)

DATA TTYPE/1 Idle1, ' ', ' ' , ' ' ,
2 '2500',' rpm',1 / 1 ','dle ',
3 'Load'.'ed /',' Idl'.'e '/

DATA TFREQ/1 Annu'.'al ',
* 'Bien1 , 'nial V

DATA TINTYP/'Cent'.'rali1, 'zed ',' ',' ',' ',' ',
2 'Comp1 , 'uter', ' ized1 , ' dec'.'entr1, 'al iz1 , 'ed ',
3 'Manu'.'al d' , 'ecen' , ' tral1 , ' ized1 , ' ',' '/


-------
                                           C-263
1*09058
       Appendix C: MOBILEl* Subroutine OUTIMP

WAIVER(1)=WAIVER(1)*100.
WAIVER(2)=WAIVER (2) *100.
                                                                                 May  5,  1989
1*09061
1*09062
1*09063
1*09061*
1»09065
1*09066
1*09067
l»09068
1»09069
1*09070
1*09071
l»09072
1»09073
1+09071*
1*09075
l»09076
1*09077
1*09078
1*09079
AogoSo
1*09081
1*09082
1*09083
1*09081*
409085
•>9086
^09087
1*09088
1*09089
1*09090
1*09091
1*09092
1*09093
1*09091*
WRITE (IOUREP, 200) 1 CYIM, 1 STRIN.MODYR1 .MODYR2.WAI VER (1) .WAIVER (2) ,
* CRIM, (TINTYP(J, INTYP) ,J=1,7) , (TFREQ(I, 1 FREQ) ,1=1,2)
200 FORMAT ( O'.'I/M program selected:1/
* O1,1 Start year (January 1): MV
* ',' Pre-1981 MYR stringency rate: M2,'%'/
* ',' First model year covered: ' , 1 1*/
* ',' Last model year covered: MV
* ',' Waiver rate (pre-1981): ',F3.0,'%'/
* ',' Waiver rate (198l and newer): ',F3.0,'%'/
* ',' Compliance Rate: '.FA.0,'%'/
ft ',' Inspection type: M/AA,/
ft ',' Inspection frequency ',2Al*)
C
WAIVER(1)-WAIVER(1)/100.
WAIVER(2)=WAIVER(2)/100.
C
WRITE (IOUREP, 2 10) (NOYES (1 LOT (1 VIM) ) , IVIM=1,1*)
210 FORMAT (' ',' Vehicle types covered: LDGV - ',AV
* ' ' ,T1*1, 'LDGT1 - ',A1*/' ' ,T1»1, ' LDGT2 - ' ,AV l,Tl«2,1HDGV - '.Al*)
C
WRITE (IOUREP, 220) (TTYPE(ICH, ITEST) , ICH=1,1*)
220 FORMAT (' ',' ig8l 6 later MYR test type: ' ,kkk)
C
IF (NLIM.EQ.O) GOTO 99
WRITE (IOUREP, 230)
230 FORMAT (' ')
C
DO 10 LIMES-l.NLIM
WRITE (IOUREP, 21*0) (IMNAME (N, LINES) ,N=1 ,20)
21*0 FORMAT (' '.20A1*)
10 CONTINUE
C
99 RETURN
END

-------


410000
410001
410002
410003
410004
410005
410006
410007
410008
410009
410010
41001 1
410012
410013
410014
410015
410016
410017
410018
410019
410020
410021
410022
410023
410025
410026
410027
410028
410029
410030
410031
410032
410033
410034
410035
410036
410037
410038
410039
410040
410041
410042
410043
410044
410045
410046
410047
410048
410049
410050
410051
410052
410053
410054
410055
410056
410057



C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C




C



C



C


C-264
Appendix C: MOBILE4 Subroutine OUTATP May
SUBROUTINE OUTATP

OUTATP prints the Ant i -Tamper i ng Program (ATP) parameters.

Called by OUTHD3 and OUTHD4.

1 nput on cal 1 :

common blocks:
/ATPAR1/ LAPSY, LAP 1ST, LAPLST, LVTFLG
/IOUCOM/ IOUREP
/STRING/ NOYES, COMMA
/ATPAR2/ ATPPGM, ATPFQT, CRATP.DISTYP

Local array subscripts:

IVPTR (4) - IVPTR ( NCOVER )
VNAME (4) - VNAME ( NCOVER )
PGM (2) - PGM ( ATPPGM )
FQT (2) - FQT ( ATPFQT )

Local variable / array dictionary:

Name Type Description
FQT C*8 A-T program frequency names
IVPTR 1 pointer vector into VNAME
NCOMMA 1 number of ', ' substrings to be
wr i tten
NCOVER 1 number of vehicle classes covered by the A-T program
PGM C*13 'A-T program type names
VNAME C*8 A-T program vehicle class names

Notes:

OUTATP was modified for MOBILE4 for AER/EVPAER internal generation.
OUTATP was modified for MOBILE4 for new input echo formats.


CHARACTER*4 NOYES, COMMA, PERI OD
CHARACTER*! COLON
INTEGER ATPPGM, ATPFQT, DISTYP

COMMON /ATPAR1/ LAPSY, LAP1ST, LAPLST, LVTFLG (4)
COMMON /ATPAR2/ ATPPGM, ATPFQT, CRATP.D 1 STYP (8)
COMMON /IOUCOM/ 1 OUIMD, 1 OUGEN, 1 OUREP, 1 OUERR, 1 OUASK
COMMON /STRING/ NOYES (2) , COMMA, PER 1 OD, COLON

CHARACTER*8 VNAME (4) , FQT (2)
CHARACTER*13 PGM (2)
DIMENSION IVPTR (4)

DATA VNAME /'LDGV ','LDGTl '.'LDGT2 ','HDGV '/
DATA PGM /'Central i2ed' , 'Decentral ized1/
DATA FQT /'Annual ', 'Biennial'/

WRITE (IOUREP, 200) LAPSY, LAP1ST, LAPLST
200 FORMAT ('0' , 'Anti-tamper ing program selected:'/

-------
                   C-265




Appendix C:  MOBILES Subroutine OUTATP
May 5, 1989
410058
^•kl 0059
^^10060
410061
410062
410063
410064
410065
410066
410067
410068
410069
410070
410071
410072
410073
410074
410075
410076
410077
410078
410079
410080
410081
410082
410083
410084
^^10085
•^•10086
410087
410088
410089
410090
* 'o
* '
* '
C
NCOVER=0
,' Start year (January 1): ',10X,l4/
,' First model year covered: ',10X,l4/
,' Last model year covered: ',10X,l4)






DO 10 IVTAM=1,4
IF (LVTFLG
(IVTAM) .EQ.l) GOTO 10

NCOVER=NCOVER+1
1 VPTR (NCOVER) =IVTAM
10 CONTINUE
C
IF (NCOVER


EQ.l) WRITE (IOUREP, 210) VNAME (1 VPTR (1) )



NCOMMA=NCOVER-1
IF (NCOVER
GT.l) WRITE (IOUREP, 210) (VNAME (1 VPTR (1 2ND) )
.COMMA,
* 1 2ND= 1 , NCOMMA) , VNAME ( 1 VPTR (NCOVER) )
210 FORMAT ('
C
',' Vehicle types covered: MOX,3(A5

,A2) ,A5)

WRITE (IOUREP, 220) PGM (ATPPGM) , FQT (ATPFQT) , CRATP,
ft
220 FORMAT ( 0
ft
ft
ft 0
*
ft
ft
ft
ft
ft
ft
C
RETURN
END
(NOYES (DISTYP (IDUSER)) , IDUSER=1 ,8)
Type: M9X.A13/
Frequency: M9X,A8/
Compliance Rate:1, 19X.F5- 1 , '*'/
, Air pump system disablements:
, Catalyst removals:
, Fuel inlet restrictor disablements:
, Tailpipe lead deposit test:
, EGR disablement:
, Evaporative system disablements:
, PCV system disablements:
, Missing gas caps:







,A4/
,A4/
,A4/
,A4/
,A4/
,A4/
,A4/
,A4)




-------
                   C-266




Appendix C: MOBILES Subroutine OUTMTH                   May 5, 1989
1*11000
1*11001
1*11002
1*11003
1*11001*
1*11005
1*11006
1*11007
1*11008
1*11009
1*11010
1*11011
1*11012
1*11013
1*11011*
1+11015
1+11016
1+11017
1+11018
1+11019
1+11020
1+11022
1*11023
1*11021*
1*11025
1*11026
1*11027
1*11028
1*11029
1*11030
1*11031
1*11032
1*11033
1+11031*
1*11035
1*11036
1*11037
1*11038
1+11039
1+1101*0
1*1101*1
1*1101*2
1*1101*3
1*1101*1*
1*1101*5
1*1101+6
1*1101+7
1+1101+8
1+1101*9

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C


C

C

C

C



C


C


C


SUBROUTINE OUTMTH

OUTMTH writes evaporative HC message on unit IOUREP.

Called by OUTHD3 and OUTHDl*.

1 nput on cal 1 :

common blocks:
/FLAGS1*/ NMHFLG
/IOUCOM/ IOUREP

Local array subscripts:

NONMTH (3) - NONMTH ( 1 CH )
REMARK (15) -. REMARK ( 1 CH )
TOTAL (2) - TOTAL ( 1 CH )

Local variable / array dictionary:

Name Type Description
NONMTH C*l+ character string 'Non-methane '
REMARK C*l+ character string comment that HC ef's include evap ef ' s
TOTAL C*l* character string 'Total '


INTEGER PRTFLG, HCFLAG

COMMON /FLAGSV PRTFLG, 1 DLFLG, NMHFLG, HCFLAG
COMMON /IOUCOM/ IOUIMD, 1 OUGEN, 1 OUREP, IOUERR, 1 OUASK

CHARACTER*!* TOTAL (2) .NONMTH (3) .REMARK (15)

DATA TOTAL/ 'Tola VI '/

DATA NONMTH/ ' Non- ', 'meth1, ' ane '/

DATA REMARK/
*'HC e' , 'miss',' ion ',' fact ', 'ors Vinci', 'ude ',
*'evap' , 'orat' ,' ive ','HC e1 , 'mi ss ' , ' ion ',' fact ', 'ors .'/

IF (NMHFLG. EQ. 1) WRITE (IOUREP, 200) TOTAL, REMARK
200 FORMAT ('0',A1*,A2,15A1*)

IF (NMHFLG. EQ. 2) WRITE (1 OUREP, 210) NONMTH, REMARK
210 FORMAT('0',3A1»,15A1+)

RETURN
END

-------


1*12000
^12001
^•2002
T*l 2003
1* 1200U
1*12005
1*12006
1*12007
1*12008
1*12009
1*12010
1*12011
1*12012
1*12013
1*12014
1*12015
1*12016
1*1201?
1*12018
1*12019
1*12020
1*12021
1*12022
1+12023
1*12021*
1*12025
1*12026
^12027
^•2028
^12029
1*12030
1*12031
1*12032
1*12033
1*12031*
1*12035
1*12036
1*12037
1*12038
1*12039
1*1201*0
1*1201*1
1*1201*2
1*1201*3
1*1201*1*
1*1201*5
1*1201*6
1*1201*7
41201*8
1*1201*9
1*12050



C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C


C
C
C

















C


C-267
Appendix C: MOBILE!* Subroutine USDPTR
SUBROUTINE USDPTR
USDPTR finds the pointers into the user supplied data name array.
Called by OUTHD3 and OUTHDl*.

1 nput on cal 1 :

common blocks:
/FLAGS1/ TAMFLG
/FLAGS2/ MYMRFG.NEWFLG

Output on return:

common block: /USDATA/ NUSD, 1 USD

Notes:

none


1 NTEGER PROMPT, TAMF LG , SPDF LG , VMF LAG
INTEGER ALHFLG
CHARACTER*8 USNAME

COMMON /FLAGS1/ PROMPT, TAMFLG, SPDFLG, VMFLAG
COMMON /FLAGS2/ MYMRFG.NEWFLG, IMFLAG, ALHFLG
COMMON /USDATA/ USNAME (!*,!*) ,NUSD, 1 USD (1*)
Setup scenario header user supplied data pointer vector.

IF (TAMFLG. EQ. LAND. NEWFLG.EQ. LAND. MYMRFG.EQ.l) GOTO 99
IF (TAMFLG. EQ.l) GOTO 10
NUSD=1
IUSD(1)-1
10 IF (NEWFLG.EQ.l) GOTO 20
NUSD=NUSD+1
IUSD(NUSD)=2
20 IF (MYMRFG.EQ.l) GOTO 99
IF (MYMRFG.EQ.l*) GOTO 30
NUSD=NUSD+1
IF (MYMRFG.EQ.2) IUSD(NUSD)=3
IF(MYMRFG.EQ.3) 1 USD (NUSD) =1*
GOTO 99
30 NUSD=NUSD+1
1 USD (NUSD) =3
NUSD=NUSD+1
1 USD (NUSD) =1*

99 RETURN
END
May 5, 1989

-------
                   C-268




Appendix C: MOBILE4 Subroutine OUTDT1
May 5, 1989
413000
413001
413002
413003
413004
4 1 3005
413006
413007
413008
4 1 3009
413010
413011
413012
413013
413014
413015
413016
413017
413018
413019
413020
413021
413022
413023
413024
413025
413026
413027
413028
413029
413030
413031
413032
413033
413034
413035
413036
^13037
413038
413039
4 1 3040
413041
413042
413043
413044
413045
413046
413047
413048
413049
413050
4 1 305 1
413052
*» 13053
413054
413055
413056
413057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C





SUBROUTINE OUTDT1 (ICY)

OUTDT1 writes scenario parameters and output on unit
format (OUTFMT) 1.

Called by OUTPUT.

Calls OUTPOL and FORTRAN library routine IF IX.

1 nput on cal 1 :

parameter 1 ist: 1 CY
common blocks:
/FLAGS4/ IDLFLG.HCFLAG
/IOUCOM/ IOUREP
/MAXIMA/ MAXVEH
/REGION/ IREJN.ALT
/RESULT/ EF FTP, EFEXH, EFEVAP, EF LOSS, EFRUNL
/RESUL2/ EFIDLE
/RESUL3/ VFTP,VEXH,VEVAP,VLOSS,VRUNLS,VIDLE
/SCENE1/ SPD.PCCN.PCHC.PCCC
/SC2PAR/ SCNAME
/TEMPS/ TEMEXH
/VMXCOM/ VMTMIX

Local variable dictionary:

Name Type Description


1 AMBT 1 integer equivalent of exhaust (ambient)
1 CY2 1 last 2 digits of calendar (scenario eva
IPIDLE 1 output pollutant code POL for idle efs

Notes:

OUTDT1 was added for MOBILE4.
•.

CHARACTERS SCNAME
INTEGER PRTFLG.HCFLAG

COMMON /CITPAR/ SCNAME (4) , FRETH, FRMETH.FRGAS
COMMON /FLAGS4/ PRTFLG, 1 DLFLG.NMHFLG.HCFLAG
COMMON /IOUCOM/ 1 OUIMD, 1 OUGEN, 1 OUREP, 1 OUERR, IOUASK
COMMON /MAXIMA/ MAXVEH, MAXLTW.MAXPOL.MAXREG.MAXYRS
COMMON /REGION/ FEET (2) , 1 REJN, ALT, 1 N ITPR


IOUREP using output



























temperature
luation) year
= IP + 3














COMMON /RESULT/ EFFTP(3,9) ,EFEXH(9) ,EFEVAP(9) ,EFLOSS(9) ,EFRUNL(9)



COMMON /RESUL2/ EFIDLE (3, 9)
COMMON /RESUL3/ VFTP (3) , VEXH, VEVAP, VLOSS, VRUNLS.VI
COMMON /SCENE1/ SPD (8) ,PCCN, PCHC.PCCC

OLE (3)

COMMON /TEMPS/ AMBT.TEMMIN.TEMMAX.TEMEXH (3) .TEMEVP (6) .TEMAST (3)

C

C

C

COMMON /VMXCOM/ REGMIX (8) ,TFNORM(8) , VMTMI X (8)

CALL OUTPOL (1 PI, IP2)

ICY2-ICY-((ICY/100)*100)

DO 10 IP=IP1, IP2








-------
                   C-269



Appendix C: MOBILE4 Subroutine OUTDT1
May 5, 1989
413058
^ 3059
^•l 3060
^tl306l
413062
413063
413064
413065
413066
413067
413068
413069
413070
413071
413072
413073
413074
413075
413076
413077
413078
413079
413080
413081
413082
413083
413084
<3085
3086
3087
413088
413089
413090
413091
413092
413093
IAMBT=IFIX(TEMEXH(IP) + .5)
WRITE (IOUREP, 200)
* IREJN, ICY2.SPD, 1 AMBT.PCCN.PCHC.PCCC, ALT,
* IP, (EFFTP(IP.IV), IV-1,3) ,EFFTP(IP,9) , (EFFTP (1 P, 1 V) , IV=4,MAXVEH) ,
* VFTP (IP), VMTM 1 X , SCNAME
C
200 FORMAT (
ft' ' , 11, IX, I2,1X,7(F4.1, '/') ,F4.1, I4.3F6.1.1X.F6.0,
* 1X,I1,10F8.3,8F6.3,1X,4A4)
C
C See OUTDT2 comment on id versus ef fields.
C
IF (IP.EQ.1.AND.HCFLAG.GE.2) WRITE (IOUREP, 2 10)
ft (EFEXH(IV) , IV-1,3) ,EFEXH(9) , (EFEXH(IV) , 1 V=4,MAXVEH) ,VEXH,
ft (EFEVAP(IV) , IV=1,3) ,EFEVAP(9) ,EFEVAP(4) ,EFEVAP(8) .VEVAP,
ft (EF LOSS (IV) , IV=1,3) ,EFLOSS(9) ,EFLOSS(4) .VLOSS,
ft (EFRUNL(IV) , IV=1,3) ,EFRUNL(9) ,EFRUNL(4) .VRUNLS
C
210 FORMAT (' ' ,74X, ' X1 , 10F8.3/
ft ' 1,74X,'VI,5F8.3,24X.2F8.3/
* ' ',74X,'R1,5F8.3,32X,F8.3/
* ' I.74X,IT',5F8.3,32X,F8.3)
C
10 CONTINUE
C
IF (IDLFLG.EQ.l) RETURN
DO 20 IP=IP1,IP2
IPIDLE=IP+3
WRITE (IOUREP, 220)
* IPIDLE, (EFIDLE (IP, IV) , IV=1,3) .EFIDLE (IP.9) ,
ft (EFIDLE (IP, IV) ,IV=4,MAXVEH) , VI OLE (IP)
220 FORMAT (' ' ,74X, 1 1 , 10F8-3)
20 CONTINUE
C
RETURN
END

-------
                   C-270




Appendix C:  MOBILES Subroutine OUTDT2
May 5, 1989
1*1 1*000
414001
414002
414003
414004
414005
414006
41400?
414008
414009
414010
41401 1
414012
414013
414014
414015
414016
41401?
414018
414019
414020
414021
414022
414023
414024
414025
414026
414027
414028
414029
414030
414031
414032
414033
414034
414035
414036
414037
414038
414039
414040
414041
414042
414043
414044
414045
414046
414047
414048
414049
4 1 4050
414051
414052
414053
414054
414055
414056
414057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C










C

C

C




SUBROUTINE OUTDT2(ICY)

OUTDT2 writes scenario parameters and output on unit IOUREP using output
format (OUTFMT) 2.

Cal led by OUTPUT. .
"
Calls OUTPOL and FORTRAN library routine IF IX.

1 nput on cal 1 :

parameter list: 1 CY
common blocks:
/FLAGS4/ IDLFLG.HCFLAG
/IOUCOM/ IOUREP
/MAXIMA/ MAXVEH
/REGION/ IREJN.ALT
/RESULT/ EFFTP,EFEXH,EFEVAP,EFLOSS,EFRUNL
/RESUL2/ EFIDLE
/RESUL3/ VFTP,VEXH,VEVAP,VLOSS,VRUNLS,VIDLE
/SCENE1/ SPD,PCCN,PCHC,PCCC
/TEMPS/ TEMEXH
/VMXCOM/ VMTMIX

Local variable dictionary:

Name Type Description


1 AMBT 1 integer equivalent of exhaust (ambient) temperature
ICY2 1 last 2 digits of calendar (scenario evaluation) year
IPIDLE 1 output pollutant code POL for idle efs = IP + 3

Notes:

OUTDT2 was added for MOBILE4.


INTEGER PRTFLG.HCFLAG
•
COMMON /FLAGS4/ PRTFLG, 1 DLFLG.NMHFLG.HCFLAG
COMMON /IOUCOM/ IOUIMD, 1 OUGEN, 1 OUREP, IOUERR, IOUASK
COMMON /MAXIMA/ MAXVEH, MAXLTW.MAXPOL.MAXREG.MAXYRS
COMMON /REGION/ FEET (2) , 1 REJN, ALT, 1 N ITPR
COMMON /RESULT/ EFFTP(3,9) ,EFEXH(9) ,EFEVAP(9) ,EFLOSS(9) ,EFRUNL(9)
COMMON /RESUL2/ EFIDLE (3, 9)
COMMON /RESUL3/ VFTP (3) ,VEXH, VEVAP, VLOSS.VRUNLS.VI OLE (3)
COMMON /SCENE1/ SPD (8) ,PCCN, PCHC.PCCC
COMMON /TEMPS/ AMBT, TEMMIN.TEMMAX, TEMEXH (3) .TEMEVP (6) .TEMAST (3)
COMMON /VMXCOM/ REGMI X (8) .TFNORM (8) , VMTMI X (8)

CALL OUTPOL (IP1, IP2)

ICY2=ICY-((ICY/100)*100)

DO 10 IP=IP1, IP2
1 AMBT=I FIX (TEMEXH (IP)-f. 5)
WRITE (IOUREP, 200)
* IREJNJCY2, IAMBT.PCCN, PCHC.PCCC, IP,

-------
                                           C-271
it 1 1*058
        Appendix C: MOBILE4 Subroutine  OUTDT2

* (EFFTP(IP, IV) , IV-1,3) ,EFFTP(IP,9) , (EFFTP(IP.IV) , IV=4,MAXVEH) ,
* VFTP(IP) .VMTMIX
                                                                                 May 5,  1989
PI 4060
414061
414062
414063
414064
414065
414066
414067
414068
414069
414070
414071
414072
414073
414074
414075
414076
414077
414078
414079
414080
414081
414082
414083
414084
^14085
014086
Tl4087
414088
414089
414090
414091
414092
C

C
C
C
C
C
C
C





C




C

C








C



200 FORMATC ' , 1 1 , IX, 1 2, 1 4, 1X.3F6. 1 , IX, 1 1 , 10F7-2.8 (IX, F4.3) )

Only write data for HC components, since already have id fields on total
HC line. Whenever > 1 output line per scenario, postprocessor needs to
read id fields only once per scenario. The ef fields will always be in the
same columns on each output record, resulting in only two postprocessor
read formats - 1 to get id + ef fields 6 1 to get ef fields only.

IF (IP.EQ.1.AND.HCFLAG.GE.2) WRITE (IOUREP.210)
* (EFEXH(IV) , IV=1,3) ,EFEXH(9) , (EFEXH(IV) , 1 V-4.MAXVEH) ,VEXH,
* (EFEVAP(IV) , IV=1,3) ,EFEVAP(9) ,EFEVAP(4) ,EFEVAP(8) .VEVAP,
* (EFLOSS(IV) , IV=1,3) ,EFLOSS(9) ,EFLOSS(4) .VLOSS,
* (EFRUNL(IV) , IV=1,3) ,EFRUNL(9) ,EFRUNL(4) .VRUNLS

210 FORMATC ' ,28X, ' X ' , 10F7 .27
* ' '.28X, 1V1,5F7.2,21X,2F7.2/
* ' ',28X, 'R1 ,5F7.2,28X,F7.27
* ' 1,28X,'T',5F7.2,28X,F7.2)

10 CONTINUE

IF (IDLFLG.EQ.l) RETURN
DO 20 IP=IP1,IP2
IPIDLE=IP+3
WRITE (IOUREP, 220)
* 1 PI OLE, (EFIDLE (IP, IV) , IV= 1,3) .EFIDLE (IP, 9) ,
* (EFIDLE (IP, IV) ,IV=4,MAXVEH) , VI OLE (IP)
220 FORMATC ' , 28X, 1 1 , 10F7.2)
20 CONTINUE

RETURN
END

-------
                   C-272




Appendix C: MOBILES Subroutine OUTDT3
May 5, 1989
4 15000
415001
1415002
1*15003
1+15004
1*15005
1*15006 '
1*15007
1*15008
1*15009
1*15010
415011
1*15012
1*15013
1*15011*
1*15015
1*15016
1*15017
1*15018
i* 1 50 1 9
1*15020
1*15021
1*15022
1*15023
1*15021*
1*15025
1*15026
1*15027
1*15028
1*15029
1+15030
1*15031
1*15032
* 15033
1*15031*
** 15035
1*15036
M5037
1*15038
1*15039
1+1501*0
1*1501*1
1*1501*2
1*1501.3
1*1501*1*
1*1501*5
41501*6
415047
415048
415049
415050
415051
415052
1*15053
415054
^15055
1+15056
415057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
SUBROUTINE OUTDT3(ICY)

OUTDT3 writes scenario parameters and output on unit IOUREP using output
format (OUTFMT) 3-

Called by OUTPUT.

Calls OUTLAP and OUTPOL.

Input on cal 1 :

parameter list: 1 CY
common blocks:
/ALUHIN/ AC,XLOAD,TRAILR,ABSHUM,DB,WB
/CITRV1/ RVPICY
/EVAPGR/ GREVP.VGREVP
/FLAGS2/ IMFLAG.ALHFLG
/FLAGS3/ ATPFLG
/FLAGS4/ PRTFLG, 1 DLFLG.NMHFLG.HCFLAG
/IOUCOM/ IOUREP
/MAXIMA/ MAXVEH
/REGION/ IREJN.ALT
/RESULT/ EFFTP,EFEXH,EFEVAP,EFLOSS,EFRUNL
/RESUL2/ EFIDLE
/RESUL3/ VFTP,VEXH,VEVAP,VLOSS,VRUNLS,VIDLE
/SCENE1/ SPD.PCCN.PCHC.PCCC
/STRING/ NOYES, COMMA, PERIOD
/TEMPS/ TEMEVP.TEMEXH
/USDATA/ USNAME.NUSD.IUSD
/VMXCOM/ VMTMIX

Local array subscripts:

NAMEVP(4) - NAMEVP ( 1 EVP )
NAMNMH(2) - NAMNMH ( NMHFLG )
NAMPOL (3) - NAMPOL ( IP )
NAMREG(3) - NAMREG ( IREJN )
NAMVEH(IO) - NAMVEH ( IVF3 )

Local variable / array dictionary:

Name Type Description


IP1 1 see parameter dictionary
IP2 1 see parameter dictionary
NAMNMH C*8 prefix indicating type of HC (total vs non-methane)
NAMPOL C*4 pollutant names
NAMREG C*4 region names
NAMVEH C*8 vehicle class names
NWITHC 1 number of substrings to be written with a comma appended
USC8 C*8 8 character underscore
ZENE C*4 character string 'zene', suffix completing 'benzene1

Notes:

OUTDT3 was updated in MOBILE4 to print ef results to 3 dp instead of 2.
OUTDT3 was modified in MOBILE^.


-------
                   C-273



Appendix C: MOBILES Subroutine OUTDT3
May 5, 1989
1*15058
^15059
r 5060
MI 5061
1*15062
1*15063
1*15061*
1*15065
1*15066
1*15067
1*15068
1*15069
1*15070
1*15071
1*15072
1*15073
1*15071*
1*15075
1.15076
1*15077
1*15078
1*15079
1*15080
1*15081
1*15082
1*15083
1*15081*
^15085
PI 5086
1*15087
1*15088
1*15089
1*15090
1*15091
1*15092
1*15093
1*15091*
* 15095
1*15096
1*15097
1*15098
1*15099
1*15100
1*15101
1*15102
1*15103
1*15101*
1*15105
1*15106
1*15107
1*15108
1*15109
1*15110
fc351H
P5112
-.15113
1*15111*
1*15115
C
INTEGER ALHFLG
INTEGER ATPFLG.TPDFLG.RLFLAG.TEMFLG.OUTFMT
INTEGER PRTFLG, HCFLAG
CHARACTER*8 USNAME
CHARACTER*!* NOYES, COMMA, PERIOD
CHARACTER*! COLON
C
C
COMMON /ALUHIN/ AC.XLOAD (3) ,TRA 1 LR (3) , ABSHUM.DB.WB
COMMON /CITRV1/ RVPBAS.RVPI US.RVPAST.RVPI CY.RVPETH, 1 USESY,
COMMON /EVAPGR/ EVP (1») , GREVP (1»,9) , VGREVP (!*)
COMMON /FLAGS2/ MYMRFG.NEWFLG, IMFLAG, ALHFLG
COMMON /FLAGS3/ ATPFLG.TPDFLG.RLFLAG.LOCFLG.TEMFLG.OUTFMT
COMMON /FLAGS!*/ PRTFLG, 1 DLFLG.NMHFLG, HCFLAG
COMMON /IOUCOM/ 1 OUI MD, IOUGEN, 1 OUREP, IOUERR, IOUASK
COMMON /MAXIMA/ MAXVEH,MAXLTW,MAXPOL,MAXREG,MAXYRS
COMMON /REGION/ FEET (2) , IREJN, ALT, 1 N ITPR










RATUNC







COMMON /RESULT/ EFFTP(3,9) ,EFEXH(9) ,EFEVAP(9) ,EFLOSS(9) .EFRUNL (9)
COMMON /RESUL2/ EF IDLE (3, 9)
COMMON /RESUL3/ VFTP (3) . VEXH, VEVAP.VLOSS, VRUNLS, VI OLE (3)
COMMON /SCENE1/ SPD (8) ,PCCN,PCHC,PCCC
COMMON /STRING/ NOYES (2) .COMMA, PERI OD, COLON




COMMON /TEMPS/ AMBT.TEMMI N.TEMMAX.TEMEXH (3) .TEMEVP (6) .TEMAST (3)
COMMON /USDATA/ USNAME (I*,!*) ,NUSD, 1 USD (!*)
COMMON /VMXCOM/ REGMIX (8) .TFNORM (8) .VMTMI X (8)
C
CHARACTER*9 NAMVEH (10) .NAMNMH (2) ,USC8,NAMEVP (!*)
C
CHARACTER*!* NAMREG (3) .NAMPOL (3) ,ZENE
C
DATA NAMVEH'/
* ' LDGV,
* ' LDGTT,
* ' LDGT2',
* ' LDGT1,
* ' HDGV,
* ' LDDV,
* ' LDDT',
* ' HDDV',
* ' MC ' ,
* ' All Veh'/
C
DATA NAMREG/ 'Low ',' High ', 'Mid '/
C
DATA USC8/1 '/
C
DATA NAMPOL/1 HC: ' , ' CO:','NOX:'/
C
DATA NAMNMH/ 'Total ' , 'Non-Meth '/
C
DATA NAMEVP/'Hot Soak ', 'Diurnal ', 'Multiple ','Crankcase
C
C
CALL OUTPOLdPl, IP2)
C
IF(NUSD.EQ.O) GOTO 10
IF (NUSD.EQ.l) WRITE (1 OUREP, 200) (USNAME (1 CH, 1 USD (1) ) , 1 CH=1 ,



























'/





1*),

-------
415116
415H7
415118
415119
415120
415121
415122
415123
415124
415125
415126
415127
415128
415129
415130
415131
415132
415134
415135
415137
415138
415139
415140
415145
415146
415147
415148
415149
415150
415151
415152
415153
415154
415155
415156
415157
415158
415159
415160
415161
415162
415163
415164
415165
415166
415167
415168
415169
415170
415171
415172
415173
C

C






C








C






C


                              C-274

           Appendix C: MOBILE4 Subroutine OUTDT3                   May  5,  1989

   ft                               PERIOD
    NWITHC=NUSD-1
    IF(NWITHC.GT.O) WRITE (IOUREP,200)
   ft  ((USNAMEdCH, lUSD(ICT)) , ICH=1,4) .COMMA, I CT=1 .NWITHC) ,
   *  (USNAME(ICH,IUSD(NUSD)),ICH=1,4).PERIOD
200 FORMAT ('0','User supplied',4A8,T46,Al.4A8.T78,Al.4A8.T110,A I/
   *       '   ',T15,4A8,T46,A1)

 10 IF(PRTFLG.LT.4) WRITE(IOUREP,210)
   ft   ICY.NOYES (IMFLAG).TEMEXH(IPl).NAMREG(IREJN)
210 FORMAT (
   *'0',  T2,'Cal. Year:',15,
   *    T25,'I/M Program:  ',A4,
   ft    T48,'Ambient Temp:',F5.1,'  (F)',
   ft    T85,'Region:  ',A4)

    IF (PRTFLG.EQ.4) WRITE(IOUREP.215)
   *   ICY.NOYES(IMFLAG).TEMEXH,NAMREG(IREJN)
215 FORMAT (
   ft'O1,  T2,'Cal. Year:',15,
   ft    T25,'I/M Program:  ',A4,
   ft    T48,'Ambient Temp:',F5.1,2('  /'.F5.1),'  (F)',
   *    T85,'Region:  ',A4)

    WRITE (IOUREP,220)
   ft       NOYES (ATPFLG),PCCN.PCHC,PCCC,ALT
220 FORMAT(
   ft' ',Tig,'Anti-tarn.  Program:  ',A4,
   ft    T46,'Operating  Mode:',F5.1,2(' /'.F5.D,
   *    T83,'Altitude:',F6.0,' Ft.')

    IF(LOCFLG.EQ.l) CALL  OUTLAP

    IF (ALHFLG.GT.l) WRITE(IOUREP.225)
   ft   ABSHUM,
   ft   AC.DB.WB
225 FORMAT (
   ft' ',T19,'Absolute Humidity:',F6.2,
   *    T48,'AC  (DB / WB):',F5.1,'  C.F5.1,1  /'.F5.1,1)1)

    WRITE (IOUREP,230)
   ft   NAMVEH, (USCB.ITER-1,10),
   ft   SPD,
   *   VMTMIX
230 FORMAT(
   ft'O','  Veh. Type:',10(2X,A8)/' + ',T15,9(2X,A8),lX,A8/
   *' ','Veh.  Speeds:',F9.1,2F10.1.10X.5F10.I/
   *' ','     VMT Mix:',F11.3,2F10.3,10X,5F10.3)

    IF (ALHFLG.GT.1) WRITE (IOUREP,235)
   *   XLOAD,
   *   TRAILR
235 FORMAT (
   ft' ',' Extra Load:',F11.3,2F10.3/
   *' ','Trlr  in Tow:',F11-3.2F10.3)

    WRITE (IOUREP,240)
240 FORMAT (

-------
P5176
415177
415178
415179
415180
415181
415182
415183
415184
415185
415186
415187
415188
415189
415190
415191
415192
415193
415191*
415195
415196
415197
415198
415199
415200
^15201
P5202
415203
415204
415205
415206
415207
415208
415209
415210
415211
415212
415214
415215
415216
415217
415218
415219
415220
415221
415222
415223
415224
415225
415226
425227
• 5228
T»15229
415230
415231


C
C
C








C
C
C
C
C















C








C




C


C




                              C-275

           Appendix C: MOBILE** Subroutine OUTDT3                    May 5, 1989

   *'0','Compos! te Emission Factors  (Gin/Mile) ')

    DO 30 IP«=IP1, IP2
    IF (IP.NE.l)  GOTO 20

 HC pass: print ef's scaled in grams.

    WRITE(IOUREP,250)
   *  NAMNMH(NMHFLG) .NAMPOL (IP) ,
   *  (EFFTP(IP, IV) , IV=1,3) ,EFFTP(IP,9) , (EFFTP(IP, IV) , IV=4,MAXVEH) ,
   *  VFTP(IP)
250 FORMAT(
   *'  '.A8.A4,
   *   9F10.2,
   *    F10.3)

 HCFLAG >= 2 means write out HC components  also.

 MOBILES print blanks for diesel evap  6  refueling HC,  not zeroes.

    IF (HCFLAG.GE.2) WRITE (IOUREP.260)
   *   NAMPOL(IP),
   *   (EFEXH(IV) , IV=1,3) ,EFEXH(9) , (EFEXH(IV) , IV=4,MAXVEH) ,VEXH,
   *   NAMPOL(IP),
   ft   (EFEVAP(IV) , IV=1,3) ,EFEVAP(9) ,EFEVAP(4) ,EFEVAP(8) .VEVAP,
   *   NAMPOL (IP),
   *   (EFLOSS(IV) , IV=1,3) ,EFLOSS(9) ,EFLOSS(4) .VLOSS,
   *   NAMPOL (IP),
   *   (EFRUNL(IV) ,IV=1,3) ,EFRUNL(9) ,EFRUNL(4) .VRUNLS
260 FORMAT (
   *'  ','Exhaust  ',A4,9F10.2,F10.3/
   *'  VEvaporat'.AJj.SFlO.Z.SOX.FlO^.FlO.S/
   *'  ','Refuel  L',A4,5F10.2,40X,F10.3/
   *'  ','Runing  L1,A4,5F10.2,40X,F10.3)
    GOTO 30

 20 WRITE(IOUREP.265)
   *  NAMPOL (IP) ,
   *  (EFFTP(IP, IV) , IV-1,3) ,EFFTP(IP,9) , (EFFTP(IP, IV) , IV=4,MAXVEH) ,
   *  VFTP(IP)
265 FORMAT(
   *'  ' ,'Exhaust  ',A4,
   *    9F10.2,
   *    F10.3)
 30 CONTINUE

    IF(IDLFLG.EQ.l)  GOTO 55
    WRITE (IOUREP,270)
270 FORMAT (
   *'0','Hot  Stabilized  Idle Emission  Factors (Gm/Hr)')

    DO 50 IP=IP1,IP2
    IF (IP.NE.l.OR.NMHFLG.EQ.l) GOTO  40

    WRITE (IOUREP,275)
   *  NAMPOL (IP),
   *  (EF I OLE (IP, IV) , IV-1.3)*EFIDLE(IP,9) , (EF I OLE (IP, IV) , I V=l.,tUXVEH) ,
   *  VIDLE(IP)

-------
                   c-276



Appendix C: MOBILES Subroutine OUTDT3
May 5, 1989
1*15232
1*15233
1.15231*
1*15235
l«15236
1*15237
415238
1*15239
41521*0
1*1521*1
1*15242
1*1521*3
1*1521+1*
1*1521*5
1*1521*6
1*1521*7
1*1521*8
1*1521*9
1*15250
415251
1*15252
415253
1*15254
415255
1.15256
1*15257
1*15258
1*15259
1*15260
1*15261
1*15262
1*15263
1.15261*
1*15265
1*15266
1*15267
1*15268
1*15269
415270
415271
415272
^15273
1+15274
275 FORMAT (
*' ','NM-ldle ' ,A1»,
* 9F10.2,
* F10.3)
GOTO 50
C
1*0 WRITE(IOUREP,280)
* NAMPOL(IP),
* (EF IDLE (IP, IV) ,IV=1,3) ,EFIDLE(IP,9) , (EFIDLE (IP, IV) , 1 V=1»,MAXVEH) ,
* VIDLE(IP)
280 FORMAT (
*' ' , ' Idle ' ,Al»,
* 9F10.2,
* F10.3)
50 CONTINUE
C
55 IF (HCFLAG.NE.3) GOTO 65
WRITE (IOUREP.285) RVPI CY.TEMEVP (1) .TEMEVP (2)
285 FORMAT (
*'0' ,' Evaporative Emissions by Component',
*15X, 'Weathered RVP:',F5.1,
*T79.'Hot Soak Temp: ' , F5- 1 , ' (F)V
*' ' , ' (Hot Soak: g/trip, Diurnal 6 Multiple: g, Crankcase: g/mi)',
*T75, 'Running Loss Temp: ' ,F5. 1 ,' (F)1)
C
DO 60 IEVP=1,1*
C
IF (IEVP.NE.3) WRITE (IOUREP, 290)
* NAMEVP(IEVP) , (GREVPOEVP, IV) , IV=1,3) ,GREVP (1 EVP.9) ,
* (GREVP(IEVP, IV) ,IV=1*,MAXVEH) , VGREVP (1 EVP)
290 FORMATC ',A9,3X,9F10.2,F10.3)
C
IF (IEVP.EQ.3) WRITE (IOUREP, 295)
* NAMEVP(IEVP) , (GREVP(IEVP, IV) , IV=1,3) .GREVP (1 EVP.9) ,
* (GREVP(IEVP, IV) , IV=1*,7) .VGREVP(IEVP)
295 FORMATC ',A9,3X,8F10.2,6X, ' 	 '.F10.3)
60 CONTINUE
C
65 WRITE (IOUREP, 300)
300 FORMATC ', 112C '))
C
RETURN
END

-------
                   C-277



Appendix C: MOBILES Subroutine OUTDID
May 5, 1989
111 6000
^16001
PI 6002
If 16003
416004
416005
416006
416007
416008
416009
416010
416011
416012
416013
416014
416015
416016
416017
416018
416019
416020
416021
416022
416023
416024
416025
416026
^16027
A 6028
TH6029
416030
416031
416032
416033
416034
416035
416036
416037
416038
416039
416040
416041
416042
416043
416044
416045
416046
416047
416048
416049
416050
416051
416052
416053
P) 6054
% 1 6055
416056
-416057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C




SUBROUTINE OUTDT4(ICY)

OUTDT4 writes scenario parameters and output on unit IOUREP using output
format (OUTFMT) 4.

Called by OUTPUT.

Calls OUTLAP and OUTPOL.

1 nput on cal 1 :

parameter list: 1 CY
common blocks:
/ALUHIN/ AC,XLOAD,TRAILR,ABSHUM,DB,WB
/FLAGS2/ IMFLAG.ALHFLG
/FLAGS3/ ATPFLG
/FLAGS4/ PRTFLG, 1 DLFLG.NMHFLG.HCFLAG
/IOUCOM/ IOUREP
/MAXIMA/ MAXVEH
/REGION/ IREJN.ALT
/RESUL1/ EF FTP, EFEXH, EFEVAP.EF LOSS, EFRUNL
/RESUL2/ EFIDLE
/RESUL3/ VFTP,VEXH,VEVAP,VLOSS,VRUNLS,VIDLE
/SCENE1/ SPD.PCCN.PCHC.PCCC
/TEMPS/ TEMEXH
/STRING/ NOYES, COMMA, PERIOD
/USDATA/ USNAME.NUSD, IUSD
/VMXCOM/ VMTMIX

Local array subscripts:

NAMNMH(2) - NAMNMH ( NMHFLG )
NAMPOL(3) - NAMNMH ( IP )
NAMREG(3) - NAMREG ( IREJN )
NAMVEH(IO) - NAMVEH ( IVF3 )

Local variable / array dictionary:

Name Type Description


IP1 1 see parameter dictionary
1 P2 1 see parameter dictionary
NAMNMH C*8 prefix indicating type of HC (total vs non-methane)
NAMPOL C*4 pollutant names
NAMREG C*4 region names
NAMVEH C*8 vehicle class names
NWITHC 1 number of substrings to be written with a comma appended
USC8 C*8 8 character underscore

Notes:

OUTDT4 was modified in MOBILE4.


INTEGER ALHFLG
INTEGER ATPFLG, TPDFLG, RLFLAG.TEMFLG, OUTFMT
INTEGER PRTFLG, HCFLAG
CKARACTER*B USNAME

-------
                   C-278



Appendix C: MOBILES Subroutine OUTDT4
May 5, 1989
416058
J416059
4 16060
i»l 6061
4 16062
1*16063
4 16061*
41 6065
416066
416067
416068
416069
416070
416071
416072
416073
416074
416075
416076
416077
416078
416079
416080
416081
416082
416083
416084
416085
416086
416087
416088
416089
416090
416091
416092
416093
416094
416095
416096
416097
416098
416099
416100
416101
416102
416103
416104
416105
416106
416107
416108
416109
416110
416111
416112
416113
416114
416115
CHARACTERS NOYES, COMMA, PERI OD
CHARACTER*! COLON
C
C
COMMON /ALUHIN/ AC.XLOAD (3) ,TRA 1 LR (3) , ABSHUM.DB.WB
COMMON /FLAGS2/ MYMRFG.NEWFLG, IMFLAG.ALHFLG
COMMON "/FLAGS3/ ATPFLG.TPDFLG.RLFLAG, LOCFLG.TEMFLG.OUTFMT
COMMON /FLAGS4/ PRTFLG, 1 DLFLG.NMHFLG.HCFLAG
COMMON /IOUCOM/ 1 OUI MD, IOUGEN, 1 OUREP, 1 OUERR, 1 OUASK
COMMON /MAXIMA/ MAXVEH,MAXLTW,MAXPOL,MAXREG,MAXYRS
COMMON /REGION/ FEET (2) , IREJN, ALT, 1 N ITPR
COMMON /RESUL1/ EFFTP(3,9) ,EFEXH(9) ,EFEVAP(9) ,EFLOSS(9) .EFRUNL (9)
COMMON /RESUL2/ EF IDLE (3, 9)
COMMON /RESUL3/ VFTP (3) , VEXH, VEVAP, VLOSS, VRUNLS, VI OLE (3)
COMMON /SCENE1/ SPD (8) .PCCN.PCHC.PCCC
COMMON /STRING/ NOYES (2) .COMMA, PERI OD, COLON
COMMON /TEMPS/ AMBT.TEMMI N.TEMMAX.TEMEXH (3) .TEMEVP (6) ,TEMAST (3)
COMMON /USDATA/ USNAME (4,4) ,NUSD, 1 USD (4)
COMMON /VMXCOM/ REGMI X (8) .TFNORM (8) , VMTMI X (8)
C
CHARACTERS NAMVEH (10) .NAMNMH (2) ,USC8
CHARACTERS NAMREG (3) .NAMPOL (3)
C
DATA NAMVEH/
* ' LDGV ',
* ' LDGT1 ',
* ' LDGT2 ',
* ' LDGT ',
* ' HDGV ' ,
* ' LDDV ' ,
ft ' LDDT ' ,
* ' HDDV ',
* ' MC
* 'All Veh '/
C
DATA USC8/1 '/
C
DATA NAMREG/ 'Low ',' High1 , 'Mid '/
C
DATA NAMPOL/' HC: ' , ' CO:','NOX:'/
C,
DATA NAMNMH/ 'Total ','No-Mth '/
C
CALL OUTPOL(IP1, IP2)
C
IF (NUSD.EQ.O) GOTO 10
IF(NUSD.EQ.l) WRITE (1 OUREP, 200) (USNAME (1 CH, 1 USD (1) ) , ICH=1,4) ,
* PERIOD
NWITHC=NUSD-1
IF(NWITHC.GT.O) WRITE (1 OUREP, 200)
* ((USNAME (ICH, lUSD(ICT)) , ICH=1,4) .COMMA, 1 CT-1 .NWITHC) ,
* (USNAME (ICH.I USD (NUSD)) . ICH-1 ,4) .PERIOD
200 FORMAT ('0', 'User suppl ied1 .4A8.T46.A1 .4A8.T78, Al/
* ' '., T15,4A8,T46,A1,4A8,T78,A1)
C
C Colons are aligned on columns 30 and 53 for the 80 column scenario header.
C
10 IF (PRTFLG. LT. 4) WRITE (1 OUREP, 210)

-------
416116
•)6ll8
£16119
416120
416121
416122
416123
416124
416125
416126
416127
416128
416129
416130
416131
416132
416133
416134
416135
416136
416137
416138
416139
416140
416141
416142
J»16143
*1 6 1 45
416146
416147
416148
416149
416150
416151
416152
416154
416155
416156
416157
416158
416159
416160
416161
416162
416163
416164
416165
416166
416167
416168
416169
• 6170
T16171
416172
416173






C









C





C

C





C







C






C



C
C

                              c-279

           Appendix C: MOBILES Subroutine OUTDT4

   *   ICY.NAMREG(IREJN),ALT,
   *   NOYES(IMFLAG) .TEMEXH(IPl)
210 FORMAT(
   *'0',  T2,'Cal. Year:',15,
   *    T28,'Region:   ',A4,
   *    T50,'Altitude:1,F6.0,1 Ft.'/
   *'  ',T23,' I/M Program: ',A4,
   *    T46, 'Ambient Temp: '.F7.1, '  (F)')

    IF(PRTFLG.EQ.4) WRITE (IOUREP, 2 15)
   *   ICY.NAMREG(IREJN) ,ALT,
   *   NOYES(IMFLAG).TEMEXH
215 FORMAT(
   *'0',  T2,'Cal. Year:',15,
   *    T28,'Region:   ',A4,
   *    T50,'Altitude:',F6.0,' Ft.'/
   *'  ',T23,'I/M Program: ',A4,
   *    T46,'Ambient Temp:1,F7.1.2C /'.F5.1),1 F1)

    WRITE(IOUREP,220)
   *   NOYES(ATPFLG),PCCN,PCHC,PCCC
220 FORMAT (
   *'  ',T17,'Anti-tarn. Program:  ',A4,
   *    T44, 'Operating Mode: ' ,F7.1,2 (' /'.F5.1))

    IF (LOCFLG.EQ.l) CALLOUTLAP

    IF (ALHFLG.GT.l) WRITE(IOUREP,225)
   *   ABSHUM,
   *   AC.DB.WB
225 FORMAT(
   *'  ',T17,'Absolute  Humidity:',F6.2,
   *    T46/AC  (DB /  WB):',F7.1,'  C.F5.1,1 /'.FS.l,')')

    WRITE (IOUREP,230)
   *   NAMVEH, (USC8,ITER=1,10),
   *   SPD,
   *   VMTMIX
230 FORMAT(
   *'0','Veh.  Type:',10A7/'+'.T12.10A7/
   *'  ','Veh.  Spd.:l,F5.1,2F7.1,7X,5F7.1/
   *'  ','  VMT Mix:',3F7.3,7X,5F7.3)

    IF (ALHFLG.GT.l) WRITE(IOUREP.235)
   *   XLOAD,
   *   TRAILR
235 FORMAT (
   *'  ','Ext.  Load:'.3F7-3/
   *'  ',' Trlr Tow:',3F7.3)

    WRITE(IOUREP,240)
240 FORMAT (
   *'0','Compos!te Emission Factors  (Gm/Mile)1)

    DO 30 IP=IP1,IP2
    IF (IP.NE.l) GOTO  20

    •WRITE (IOUREP,250)
                                                                                May 5,  1989

-------
416174
416175
416176
416177
1*16178
416179
416180
416181
416182
416183
416184
416185
416186
416187
416188
416189
416190
416191
416192
416193
416194
416195
416196
416197
416198
416199
416200
416201
416202
416203
416204
416205
416206
416207
416208
416209
416210
416211
416212
416213
416214
416215
416216
416217
416218
416219
416220
416221
416222
416223
416224
416225
416226
416227
416228
416229
416230
416231
                              C-280

           Appendix C: MOBILE4 Subroutine OUTDT4                   May 5,  1989

   *  NAMNMH(NMHFLG) .NAMPOL(IP) ,
   *  (EFFTPdP, IV) , IV=1,3) ,EFFTP(IP,9) , (EFFTP (I P, I V) ,IV=4,MAXVEH) ,
   *  VFTP(IP)
250 FORMAT(
   *'  ',A6,A4,F6.2,9F7.2)

    IF (HCFLAG.GE.2) WRITE (IOUREP.260)
   *   NAMPOL(IP),
   *   (EFEXH(IV)  , IV=1,3) ,EFEXH(9) , (EFEXH(IV) , IV=4,MAXVEH) ,VEXH,
   *   NAMPOL(IP),
   *   (EFEVAP(IV) , IV=1 ,3) ,EFEVAP(9) ,EFEVAP(4) ,EFEVAP(8) ,VEVAP,
   *   NAMPOL(IP),
   *   (EFLOSS(IV) ,IV=1,3) ,EFLOSS(9) ,EFLOSS(4) .VLOSS,
   *   NAMPOL(IP),
   *   (EFRUNL (IV) , IV=1 ,3) .EFRUNL (9) .EFRUNL (4) .VRUNLS
260 FORMAT(
   *'  ' , 'Exhst  ' ,A4,F6.2,9F7.2/
   *'  ','Evap.  ',A4,F6.2,4F7.2,21X,2F7.2/
   *'  ','Refuel',A4,F6.2,4F7.2,28X,F7.2/
   *'  ','Runing',A4,F6.2,4F7.2,28X,F7.2)
    GOTO 30

 20 WRITE(IOUREP,265)
   *  NAMPOL(IP),
   *  (EFFTP(IP, IV) , I V=l, 3) , EFFTP (IP, 9) , (EFFTP (IP, IV) , IV=4,MAXVEH) ,
   *  VFTP(IP)
265 FORMAT(
   *'  ','Exhst  ',A4,
   * .   F6.2.8F7.2,
   *    F7.2)
 30 CONTINUE

    IF (IDLFLG.EQ.l) GOTO  60
    WRITE(IOUREP,270)
270 FORMAT(
   *'0',lHot Stabilized  Idle Emission  Factors  (Gm/Hr)')

    DO 50 IP=IP1,IP2
    IF (IP.NE.l.OR.NMHFLG.EQ.l) GOTO  40

    WRITE (IOUREP.275)
   *  NAMPOL(IP),
   *  (EF I OLE (IP, IV) , IV-1,3) ,EFIDLE(IP,9) , (EF I OLE (IP, IV) , I V=4,MAXVEH) ,
   *  VI OLE (IP)
275 FORMAT (
   *'  ','NM-ld  ',A4,
   *    F6.2.8F7.2,
   *    F7-2)
    GOTO 50

 40 WRITE(IOUREP,280)
   *  NAMPOL(IP),
   *  (EF I OLE (IP, IV) ,IV=1,3) ,EFIDLE(IP,9) , (EF I OLE (IP, IV) , I V=4,MAXVEH) ,
   *  VIDLE(IP)
280 FORMAT(
   *'  V  Idle  ',A4,
   *     F6.2.8F7.2,
   *     F7.2)

-------
                                            C-281

                         Appendix  C:  MOBILES Subroutine OUTDTl*                    May 5, 1989
1*16232        50 CONTINUE
   233     C
 16234        60 WRITE (IOUREP,290)
1*16235       290 FORMATC  'f80('_'))
1*16236     c
1*16237           RETURN
1*16238           END

-------
                   C-282




Appendix C: MOBILES Subroutine OUTPOL
May 5, 1989
4 17000
417001
417002
4 17003
417004
1*17005
417006
417007
417008
417009
417010
417011
417012
417013
417014
417015
417016
417017
417018
417019
417020
417021
417022
417023
417024
417025
417026
417027
417028
417029

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C


C





C


SUBROUTINE OUTPOL (1 PI , 1 1

OUTPOL selects loop parame

Called by OUTDT1, OUTDT2,

1 nput on cal 1 :

common blocks:
/FLAGS4/ PRTFLG
/MAXIMA/ MAXPOL

Output on return:

parameter 1 1st: IP1, IP2


INTEGER PRTFLG, HCFLAG

COMMON /FLAGS4/ PRTFLG,
COMMON /MAXIMA/ MAXVEH,,

IP1=PRTFLG
IP2=PRTFLG
IF (PRTFLG.LT.4) GOTO 99
IP1 = 1
IP2=MAXPOL

99 RETURN
END

-------
                              C-283
           Appendix C:  MOBILES Subroutine OUTLAP
                                                                May 5,  1989
1.18000
•18001
18002
1*18003
1*18001*
1*1 8005
1*1 8006
1.18007
1.18008
1*18009
1*18010
i* 1 80 1 1
1*18012
1*1 80 13
1*1 Soil*
1*18015
1*18016
1*18017
1*18018
1*18019
1*18020
1*18021
1*18022
1*18023
1*18021*
1*18025
I»l8026
^^18027
^Bl8028
1*18029
1»18030
1*18031
1*18032
1*18033
1.18031.
1.18035
1*18036
1*18037
1*18038
1.18039
1*1801*0
1*1801*1
1*1801*2
1*1801*3
1*1801. 1»
1*1801*5
1*1801*6
1.1801*7
1*1801*8
1.1801*9
1*18050
1*18051
A 18052
^t 18053
^•18051.
^..18055
1*18056
i* 18057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C






C
C
C



    SUBROUTINE OUTLAP
 OUTLAP echoes the user supplied values for the fields of the  local area
 parameters ("LAP")  record.  This record is echoed as the last echo of  1-time
 data,  if LOCFLG = 2, or after the 1st scenario record echo of each scenario,
 if LOCFLG =1.  The echo record length depends on OUTFMT, since OUTFMT =  3
 allows records up to 112 characters long, while OUTFMT = k limits records to
 a maximum of  80 characters  (the LAP record is only echoed by  the descriptive
 formats, 3 and 1*) .

 Called by OUTHD3,  OUTHDl*. OUTDT3 and OUTDID.

 I nput  on cal 1 :
common blocks:
/CITPAR/ SCNAME
/CITRV1/ RVPBAS
/CITRV3/ ASTMCL
/FLAGS3/ OUTFMT
/IOUCOM/
/TEMPS/
                   (in-house vsn only: FRETH)
                   RVPIUS, IUSESY
            IOUREP
            TEMMIN.TEMMAX
 Output on return:

   none.

 Notes:

 Echo fields are vertically aligned by the colons preceding  the values.
 Note that the T formats reference a 113 and 81 column format, respectively.
 Each output column 1 is reserved for carriage control, with  the  remainder
 being printed.'

 Echo FRETH &/or FRMETH only if fields restored in post-release version.
 FRMETH was not echoed before, so only FRETH echo had to be  removed.

 OUTLAP was added for MOBILEl*.
 OUTLAP was modified for MOBILES.
    CHARACTER*! ASTMCL,ACLASS
    CHARACTER*!* SCNAME
    INTEGER ATPFLG.TPDFLG.RLFLAG,TEMFLG,OUTFMT

    COMMON /CITPAR/ SCNAME (1.) , FRETH, FRMETH, FRGAS
    COMMON /CITRV1/ RVPBAS.RVPIUS.RVPAST.RVPICY.RVPETH,IUSESY.RATUNC
    COMMON /CITRV3/ RVPMAP (5) ,RVPX (2,2),I CLASS,ASTMCL,ACLASS (5)
    COMMON /FLAGS3/ ATPFLG,TPDFLG,RLFLAG,LOCFLG,TEMFLG,OUTFMT
    COMMON /IOUCOM/ IOUIMD,IOUGEN,IOUREP,IOUERR,IOUASK
    COMMON /TEMPS/  AMBT.TEMMIN.TEMMAX.TEMEXH(3).TEMEVP(6).TEMAST(3)

 112 column format colons aligned at T13, T36, T&0 and T91.

    IF (OUTFMT.EQ.3) WRITE(IOUREP,200)
   *  SCNAME,ASTMCL,TEMMIN.TEMMAX,RVPBAS.RVPIUS,IUSESY
200 FORMAT ('O1,T2,1*A1*,T26, ' ASTM Class:  ',A1,
   *           Tl*8,'Minimum Temp:  ',Fl*-0,'  (F) ',
   *           T?9,'Maximum Temp:  ',Fl*,0,'  (F) '/

-------
418058
418059
418060
418061
418062
418063
418064
418065
418066
418067
418068
418069
418070
418071
418072
418073
418074


CC
C
C
C


2
CC




C


*
*
*

80


*
10
ft
ft
ft
ft
ft



                                C-284

             Appendix C: MOBILES Subroutine OUTLAP

             '  ',T5, 'Base RVP: ' , fk. 1 ,T26, ' I n-use RVP:  '.F4.1,
                 T45, ' In-use Start Yr: ' ,14)
                 T75,'Ethanol Fraction:    ',F4.2)

C  80 column format colons aligned at T34, T58 and T76.

      IF (OUTFMT.EQ.4) WRITE (IOUREP.210)
     *  SCNAME,ASTMCL,TEM«IN.TEMMAX,RVPBAS,RVPI US,IUSESY
  210 FORMAT('0',T2,4A4,T24,'ASTM Class:   ',A1/
                 T46, 'Ethanol Frac:  ',F4.2/
             1  ',T22,'Minimum Temp:1,F4.0,' (F) ',
                 T46, 'Maximum Temp: ' ,F4.0, ' (F)1/
             1  ',T26,'Base RVP: ' , F4.1,T43,'In-use  (IU)  RVP:  '.F4.1,
                 T67,'IU 1st Yr: ',14)

      RETURN
      END
May 5, 1989

-------
                   C-285



Appendix C: MOBILES Block Data 01
May 5, 1989
501000
£01001
Ibl002
301003
501004
501005
501006
501007
501008
501009
501010
501011
501012
501013
501014
501015
501016
501017
501018
501019
501020
501021
501022
501023
501024
501025
501026
£01027
•51028
^01029
501030
501031
501032
501033
501034
501035
501036
501037
501038
501039
501040
501041
501042
501043
501044
501045
501046
501047
501048
501049
501050
501051
501052
S1053
1054
1055
501056
501057
BLOCK DATA BD01
C
C BLOCK DATA Subprogram 01: /SPEED1/
C
C BLOCK DATA 01 defines and initializes the speed
C coefficients for vehicle types LDGV, LDGT1/2 and
C
C Common block array subscripts:
C
C SKI (6, 21, 3) - SKI ( ICOEF5, ISP, IP)
C SH(6,21) - SH ( ICOEF5, ISP )
C SC(6,21) - SC ( ICOEF5, ISP )
C SN(6,21) - SN ( ICOEF5, ISP )
C SKG(2,6,2) - SKG ( IS2C, ISP, 1 PG )
C SK2C(2,14,2,3) - SK2C ( IS2C, ISP, IPG, IVLDG
C SK2N(3,14,3) - SK2N ( IS2N, ISP, IVLDG )
C
C Common block dictionary:
C
C Name Type Description


C /SPEED1/:
C
C SKI R scf coefficients for HC, CO 6 NOx




correction factor (scf)
MC.








)









for LDGV, LDGT1/2 & MC
C SH/C/N - the 3 arrays in this BD appear as SKI in BIGIN1
C SKI is partitioned in BD 01 so that the local arrays can be
C EQUIVALENCEd to its storage area.
C local array to be EQU'd to beyond
C array dimension (SKI (1 , 10, 1) ,SH2 (1
C the dimension is rightmost (SK1(1,
C SH R HC scf coefficients for IV=1,2,3,8
C SC R CO scf coefficients for IV=1,2,3,8
C SN R NOX scf coefficients for IV=1,2,3,
C SK2C R low spd <19-6 HC6CO scf coeffs for
C SKG R high speed >19.6 HC 6 CO scf coeff
FORTRAN does not allow a
the first cell of a COMMON
, 1) i s i 1 legal) , unless
1,2) ,SC2(1,1) is legal) .


8
the 1st new eq case (A/X+B)
icients for the 1st case
C SK2N R scf coeff i cents for the 2nd new equation case EXP (A+B*X+C*X**2)
C for NOx
C
C Local array subscripts:
C
C SHI (6,9) - SHI ( ICOEF5, ISP )
C SH2(6,9) - SH2( ICOEF5, ISP)
C SCI (6,9) - SCI ( ICOEF5, ISP )
C SC2(6,9) - SC2( ICOEF5, ISP )
C SN1 (6,9) - SN1 ( ICOEF5, ISP )
C SN2(6,9) - SN2( ICOEF5, ISP )
C SK2CV(2,14,2) - SK2CV ( IS2C, ISP, IPG )
C SK2CT1 (2,14,2) - SK2CT1 ( IS2C, ISP, IPG )
C SK2CT2(2,14,2) - SK2CT2 ( IS2C, ISP, IPG )
C SK2NV(3,14) - SK2NV ( IS2N, ISP )
C SK2NT1(3,14) - SK2NT1 ( IS2N, ISP)
C SK2NT2(3,14) - SK2NT2 ( IS2N, ISP )
C
C Local array dictionary:
C
C Name Type Description


C SHI R 5th degree poly. coef. for SKI HC






















IG=1 thru 9

-------
                   C-286
Appendix C: MOBILES Block Data 01
May 5, 1989
501058
501059
501060
501061
501062
501063
501064
501065
501066
501067
501068
501069
501070
501071
501072
501073
501074
501075
501076
501077
501078
501079
501080
501081
501082
501083
501084
501085
501086
501087
501088
501089
501090
501091
501092
501093
501094
501095
501096
501097
501098
501099
501100
501101
501102
501103
501104
501105
501106
501107
501108
501109
501110
501111
501112
501113
501114
501115
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C



C










C
C
C




















SH2 R 5th degree poly, coef . for SKI HC IG=10 thru 18
SCI R 5th degree poly. coef. for SKI CO IG=1 thru 9
SC2 R 5th degree poly. coef. for SKI CO IG=10 thru 18
SN1 R 5th degree poly. coef. for SKI NOx IG=1 thru 9
SN2 R 5th degree poly. coef. for SKI NOx IG=10 thru 18
SK2CV R A/X+B coef. for LDGV HC 6 CO
SK2CT1 R A/X+B coef. for LDGT1 HC 6 CO
SK2CT2 R A/X+B coef. for LDGT2 HC S CO
SK2NV R EXP (A+B*X+C*X**2) coef. for LDGV NOx
SK2NT1 R EXP (A+B*X+C*X**2) coef. for LDGT1 NOx
SK2NT2 R EXP (A+B*X+C*X**2) coef. for LDGT2 NOx

Notes:

SKI (19+,) coefficients of MOBILE3 replaced by SK2 in MOBILE4.
SK2C HC £ CO coefficients were updated for MOBILE4.


COMMON /SPEED1/ SH (6, 18) ,SC (6, 18) ,SN (6, 18) ,SK2C (2, 14, 2, 3) ,
* SKG(2,6,2) ,SK2N(3,14,3)

DIMENSION SHI (6,9) ,SH2(6,9) ,SC1 (6,9) ,SC2(6,9) ,SN1 (6,9) ,SN2(6,9)
DIMENSION SK2CV(2,14,2) .SK2CT1 (2,14,2) ,SK2CT2 (2, 14,2)
DIMENSION SK2NV(3, 14) .SK2NT1 (3,14) .SK2NT2 (3, 14)

EQUIVALENCE
* (SH(1,1),SH1 (1,1)) , (SH(1,10) ,SH2(1,1)) ,
* (SC(1,1),SC1(1,1)), (SC(1,10),SC2(1,1)),
* (SN(1,1),SN1 (1,1)) , (SN(l.lO) ,SN2(1,1)) ,
* (SK2C(1,1,1,1),SK2CV(1,1,1)),
* (SK2C(1,1,1,2) .SK2CT1 (1,1,1)) ,
* (SK2C(1,1,1,3),SK2CT2(1,1,1)),
* (SK2N (1,1,1) ,SK2NV(1,1)) ,
* (SK2N(1,1,2) .SK2NT1 (1,1)) ,
* (SK2N(l,l,3)tSK2NT2(l,l))

5th degree polynomial HC scf coefficients

DATA SHI/
* 2.24612E+00, -2.90973E-01, 1.58890E-02,
* -4.72494E-04, 6.94077E-06, -3.92798E-08,
* 2.31026E+00, -2.89572E-01, 1.52990E-02,
* -4.46689E-04, 6.48183E-06, -3.63456E-08,
* 2.16556E+00, -2.69992E-01, 1.44221E-02,
* -4.33638E-04, 6.50735E-06, -3.78100E-08,
* 2.39726E+00, -2.99985E-01, 1.61351E-02,
* -4.87491E-04, 7.29093E-06, -4. 19769E-08,
* 2.40873E+00, -3.08187E-01, 1.68168E-02,
* -5.06843E-04, 7.53855E-06, -4.31596E-08,
* 2.23217E+00, -2.84985E-01, 1.53833E-02,
* -4.56738E-04, 6.73^86E-06, -3.83798E-08,
* 2.25223E+00, -2.87778E-01, 1.56820E-02,
* -4.73179E-04, 7.0795^-06, -4.08456E-08,
* 2.02779E+00, -2.73049E-01, 1.53577E-02,
* -4.60304E-04, 6.78527E-06, -3.84880E-08,
* 2.15056E+00, -2.83620E-01, 1.53836E-02,
* -4.42136E-04, 6.28732E-06, -3.4631 IE-OB/
DATA SH2/

-------
                   C-287
Appendix C:  MOBILES Block Data 01
May 5, 1989
501116
* 0 1 1 1 7
•oil 18
501119
501120
501121
501122
501123
501124
501125
501126
501127
501128
501129
501130
501131
501132
501133
501134
501135
501136
501137
501138
501139
501140
501141
501142
£01143
§01144
^01145
501 146
501147
501148
501149
501150
501151
501152
501153
501154
501155
501156
501157
501158
501159
501160
501161
501162
501163
501164
501165
501166
501167
501168
^01169
P>1170
^01171
501172
501173
* 2.23021E+00,
ft
* 2.12230E+00,
ft
* 2.15361E+00,
*
* 2.07346E+00,
ft
ft 2.34948E+00,
ft
* 2.11340E+00,
ft
ft 2.11940E+00,
ft
* 2.68382E+00,
ft
* 2.39540E+00,
*
C
C 5^h degree polynomia
C
DATA SCI/
ft 1.81978E+00,
ft
ft 2.33989E+00,
ft
* 2.44154E+00,
ft
* 2.46551E+00,
ft
* 2.77804E+00,
ft
ft 2.78899E+00,
ft
* 2.70743E+00,
ft
* 1.86919E+00,
*
* 1.82133E+00,
ft
DATA SC2/
* 2.01421E+00,
*
ft 2.04533E+00,
ft
ft 2.31868E+00,
ft
ft 2.57522E+00,
ft
* 2.68454E+00,
ft
* 2.151»87E+00,
ft
* 2.54557E+00,
*
* 2.83929E+00,
*
* 2.48747E+00,
-2.93648E-01,
-4.84148E-04,
-2.91072E-01,
-5.26148E-04,
-2.83451E-01,
-4.69759E-04,
-2.89353E-01,
-5-54707E-04,
-3-04959E-01,
-5.09623E-04,
-2.85676E-01,
-5-00793E-04,
-2.98632E-01,
-6.16544E-04,
-3-44633E-01,
-6.25720E-04,
-3-35781E-01,
-7.31550E-04,

1 CO scf coeff


-2.54663E-01,
-4.87397E-04,
-2.96978E-01,
-4.77396E-04,
-2.91473E-01,
-3.87852E-04,
-3.05023E-01,
-4.73969E-04,
-3.19130E-01,
-4.22327E-04,
-3.27107E-01,
-4.67573E-04,
-3.31038E-01,
-5-38583E-04,
-2.76679E-01,
-5.58279E-04,
-2.72054E-01,
-5.52021E-04,

-2.95188E-01,
-6.21606E-04,
-3-10618E-01,
-7-08527E-04,
-3.41147E-01,
-6.65891E-04,
-3.28888E-01,
-6.28263E-04,
-3.32817E-01,
-5-24123E-04,
-3.29H6E-01,
-6.89057E-04,
-3.6295*»E-01,
-8.15039E-04,
-3-68756E-01,
-6.76438E-04,
-3-91562E-01,
1.62356E-02,
7.11591E-06,
1.69089E-02,
8.02705E-06,
1.56948E-02,
6.93832E-06,
1.73042E-02,
8.64204E-06,
1.68416E-02,
7.59516E-06,
1.63180E-02,
7.55067E-06,
1.84473E-02,
9.92062E-06,
1.95417E-02,
9-78442E-06,
2.11609E-02,
1.20715E-05,

i cients


1.5231*7E-02I
7-58207E-06,
1.60071E-02,
7-06752E-06,
1.42949E-02,
5.29781E-06,
1.60497E-02,
6.99075E-06,
1.53183E-02,
5.84948E-06,
1.62943E-02,
6.71906E-06,
1.76179E-02,
8.17402E-06,
1.72335E-02,
8.71678E-06,
1.70304E-02,
8.62543E-06,

1.86353E-02,
9-93657E-06,
2.04852E-02,
1.16215E-05,
2.09446E-02,
1.02225E-05,
1.897i*7E-02,
1.00924E-05,
1.76277E-02,
7.72221E-06,
2.10112E-02,
1.08390E-05,
2.32775E-02,
1.36231E-05,
2.10782E-02,
1.06267E-05,
2.70721E-02,
                                         -4.02861E-08,
                                         -4.70117E-08,
                                         -3-9'*707E-08,
                                         -5.13107E-08,
                                         -4.34963E-08,
                                         -4.37187E-08,
                                         -6.04021E-08,
                                         -5.83369E-08,
                                         -7-48567E-08/
                                         -4.4951^-08,
                                         -4.03978E-08,
                                         -2.82441E-08,
                                         -3-99758E-08,
                                         -3.14969E-08,
                                         -3.7M01E-08,
                                         -4.77803E-08,
                                         -5.16980E-08,
                                         -5.11440E-08/

                                         -5-99779E-08,
                                         -7.15690E-08,
                                         -5.98265E-08,
                                         -6.12727E-08,
                                         -4.37025E-08,
                                         -6.47125E-08,
                                         -8.55909E-08,

-------
                   C-288




Appendix C: MOBILES Block Data 01
May 5, 1989
501174
501175
501176
501177
501178
501179
501180
501181
501182
501183
501184
501185
501186
501187
501188
501189
501190
501191
501192
501193
501194
501195
501196
501197
501198
501199
501200
501201
501202
501203
501204
501205
501206
501207
501208
501209
501210
501211
501212
501213
501214
501215
501216
501217
501218
501219
501220
501221
501222
501223
501224
501225
501226
501227
501228
501229
501230
501231
ft
C
C 5th
C
-9-76178E-04, 1.65270E-05
degree polynomial NOX scf coefficients
DATA
*
ft
ft
ft
ft
*
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft

*
*
ft
ft
ft
*
ft
ft
*
*
ft
ft
*
*
ft
ft
ft
ft
C
C All
C
C

C HC
H
H
H
H
H
C CO
C
C
C
C


















DATA



















2

1

1

1

1

9

l

1

1


2

1

1

2

1

1

7

7

9


SNl/
.44424E+00, -2
-2
.68635E+00, -1
-1
.12646E+00, -3
-6
.22677E+00, -4
-5
.01743E+00, -1
-2
.87600E-01, -1
-4
.15917E+00, -4
-6
.88656E+00, -1
-1
•55777E+00, -1
-1
SN2/
.04516E+00, -1
-2
.63262E+00, -1
-1
.44825E+00, -1
-1
.45969E-01, 8
6
.28169E+00, -8
-1
.53447E+00, -1
-1
.04805E-01, 3
3
.83838E-01, 3
-3
.42131E-01, -4
-9


•50107E-01,
.87025E-04,
.18303E-01,
•37139E-04,
.93405E-02,
.08024E-05,
.44978E-02,
.67150E-05,
.18958E-02,
.15740E-05,
.95674E-02,
.04000E-05,
.44536E-02,
.68990E-05,
.61289E-01,
.85609E-04,
.13032E-01,
.43409E-04,

.94014E-01,
.31754E-04,
.21861E-01,
.46293E-04,
.22444E-01,
.71078E-04,
.41954E-02,
.29880E-05,
.04874E-02,
.18891E-04,
.25671E-01,
.69428E-04,
.81527E-02,
.26140E-05,
.28549E-04,
•19350E-05,
.23240E-02,
•39853E-05,

cases of 1st new (for MOBILE4)


DATA

37
10
7
4
4

490
117
73
27




.
.
•
•
•

.
.
.

A B
SK2CV/

95604, 0.0,
88869, o.o,
76209, -0.06197,
78677, -0.01203,
45523, -0.00535,

9863, -1.97820,
2362, 0.75511.
3586, 0.60021,
•5568, 2.60169,

A


10.60380,
8.74266,
5.23198,
4.70467,
4.32577,

107.2439,
87.7782,
33.1973,
26.5167,

1.38293E-02
2.07585E-06
6.54975E-03
1.00849E-06
2.68637E-03
4.77286E-07
2.62476E-03
4.34293E-07
9.14365E-04
1.82300E-07
1.69645E-03
3.28001E-07
2.96425E-03
5.223&5E-07
9.04995E-03
1.32555E-06
6.71832E-03
1.06079E-06

1.10736E-02
1.68372E-06
7.03020E-03
1.06141E-06
7-95024E-03
1.25777E-06
-3-40841E-03
-4.13975E-07
5.35735E-03
9.01060E-07
7-85919E-03
1.25494E-06
-1.73907E-03
-2.03847E-07
1.06029E-03
2.90389E-07
3.86253E-03
7-53883E-07

scf equation

B


0.0, 10
-0.07927, 8
-0.02100, 4
-0.01037, 4
-0.00274,

0.96562, 113
-0.14450, 91
2.14936, 30
2.68510, 25
, -1.

9
o.
9
0.
9
, o.
,
, o.
9
0.
9
0.
,
, o.
9
0.
9
0.

9
0.
,
0.
9
0.
9
, o.
9
0.
9
0.
9
0.
9
0.
9
, o.

form,

A


04317E-07/


OOOOOE+00,

OOOOOE+00,

OOOOOE+00,

OOOOOE+00,

OOOOOE+00,

OOOOOE+00,

OOOOOE+00,

OOOOOE+00,

OOOOOE+00/


OOOOOE+00,

OOOOOE+00,

OOOOOE+00,

OOOOOE+00,

OOOOOE+00,

OOOOOE+00,

OOOOOE+00,

OOOOOE+00,

OOOOOE+00/

A/X+B, for HC 6 CO

B


.82023, o.o,
.92062
,-0.08068,
.98885, -0.01610,
.62258, -0.00872,


.2776,
•7873,
•1170,
.4766,


0.86151,
-0.10426,
2.39638,
2.76850,

-------
                   C-289



Appendix C: MOBILE** Block  Data  01
May 5, 1989
501232
«1233
1234
1235
501236
501237
501238
501239
501240
501241
5012*42
501243
5012** *t
501245
501246
50121*7
5012*18
501249
501250
501251
501252
501253
50125**
501255
501256
501257
501258
«1259
1260
1261
501262
501263
50126**
501265
501266
501267
501268
501269
501270
501271
501272
501273
50127**
501275
501276
501277
501278
501279
501280
501281
501282
501283
50128**
SI 285
1286
1287
501288
501289
c 23.3563, 2.93853, 21.7162, 3-07006/
C
DATA SK2CT1/
C HC
H *»1.2792, 0.0, 14.5053, 0.0, 13.1351, 0.0,
H 13.7285, 0.0, 12.8759, 0.0, 12.2991, 0.0,
H 6.0371, -0.03723, 5.0267, -0.01687, *».799**, -0.01228,
H *».7678, -0.01165, 4.7331. -0.01095, **.7299, -0.01088,
H **.5973, -0.00821, 2*0.0,
C CO
c 563.5144, -3.44034, 168.8941, 0.72193, 147.4764, 0.80430,
C 158.0700, 0.75053, 145.3224, 0.77799, 137.3680, 0.76426,
C 43.3983, 1.33132, 30.5971, 2.35788, 27-7168, 2.58886,
c 27.3167, 2.62094, 26.8767, 2.65622, 26.8367, 2.65943,
c 25.1565, 2.79417. 2*o.o/
C
DATA SK2CT2/
C HC
H 41.2792, 0.0, 14.5053, 0.0, 13.1351, 0.0,
H 13.7285, o.o, 12.8759, o.o, 12.2991, o.o,
H 6.0371, -0.03723, 5.0267, -0.01687, 4.7994, -0.01228,
H 4.7678, -0.01165, 4.733L -0.01095, 4.7299, -0.01088,
H 4.5973, -0.00821, 2*0.0,
C CO
C 563-5144, -3.44034, 168.8941, 0.72193, 147.4764, 0.80430,
C 158.0700, 0.75053. 145-3224, 0.77799, 137.3680, 0.76426,
c 43.3983, 1.33132. 30.5971. 2.35788, 27.7168, 2.58886,
C 27.3167, 2.62094, 26.8767, 2.65622, 26.8367, 2.659**3,
C 25.1565. 2.79417, 2*0. O/
C
DATA SKG/
H 8.1, 0.0, 10*0.0,
C 60.0, 0.0, 10*0. O/
C
C All cases of 2nd new for MOBILE4 scf equation form, EXP (A+B*X+C*X**2) ,
C for NOX:
C The continuation line code is NOx.
C
C ABC ABC
DATA SK2NV/
N 1.04330, -0.026082, 4.2835E-04, 0.18957, -0.033673, 4.7036E-04,
N 0.20906, -0.033673, 4.7036E-04, 0.22795, -0.033673, 4.7036E-04,
N -0.02994, -0.023254, 1.7100E-04, -0.03852, -0.022703, 1.6500E-04,
N -0.04694, -0.023881, 1.7700E-04, -0.06606, -0.026426, 2.0485E-04,
N -0.07443, -0.026426, 2.0485E-04, -0.08138, -0.026426, 2.0485E-04,
N -0.08420, -0.026426, 2.0485E-04, -0.08703, -0.026426, 2.0485E-04,
N -0.09279, -0.026426, 2.0485E-04, -0.09724, -0.026426, 2.0485E-04/
C
DATA SK2NT1/
N 1.04330, -0.026082, 4.2835E-04, 0.24736, -0.033673, 4.7036E-04,
N 0.22790, -0.033673, 4.7036E-04, 0.24101, -0.033673, 4.7036E-04,
N 0,23298, -0.033673, 4.7036E-04, 0.23289, -0.033673, 4.7036E-04,
N -0.03836, -0.026426, 2.0485E-04, -0.07312, -0.026426, 2.0485E-04,
N -0.08094, -0.026426, 2.0485E-04, -0.08203, -0.026426, 2.0485E-04,
N -0.08323, -0.026426, 2.0485E-04, -0.08333, -0.026426, 2.0485E-04,
N -0.08790, -0.026426, 2.0485E-04, 3*0. O/
C
DATA SK2NT2/

-------
                   C-290




Appendix C: MOBILES Block Data 01
May 5, 1989
501290
501291
501292
501293
501291*
501295
501296
501297
501298
N
N
N
N
N
N
N
C

1
0
0
-0
-0
-0
-0

END
.01*330,
.22790,
.23298,
.03836,
.08091*,
.08323,
.08790,


-0
-0
-0
-0
-0
-0
-0


.026082,
.033673,
.033673,
.0261*26,
.0261*26,
.0261*26,
.0261*26,


1*
k
1*
2
2
2
2


.2835E-01*.
• 7036E-01*,
.7036E-01*.
.01*85E-01»,
.Ol*85E-Ol»,
.Ol*85E-Ol*,
.Ol*85E-Ol»,


0.21*736,
0.21*101,
0.23289,
-0.07312,
-0.08203,
-0.08333,
3*0.0/


-0
-0
-0
-0
-0
-0



.033673,
.033673,
.033673,
.0261*26,
.0261*26,
.0261*26,



l*.7036E-Ol»,
l*.7036E-Ol*.
1».7036E-01*,
2.0485E-01*.
2. 01*85 E -01*,
2.0l*85E-Ol*.




-------
                   C-291




Appendix C: MOBILES Block Data 02
May 5, 1989
502000
£02001
•D2002
^02003
502001*
502005
502006
502007
502008
502009
502010
502011
502012
502013
5020 11*
502015
502016
502017
502018
502019
502020
502021
502022
502023
502021*
502025
502026
CO*5n*5 "7
^y^u/ /
•32028
^02029
502030
502031
502032
502033
502031*
502035
«502036
502037
502038
502039
50201*0
50201*1
50201*2
50201*3
50201*1*
50201*5
50201*6
50201*7
50201*8
50201*9
502050
502051
502052
«2053
205^
2055
502056
502057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
BLOCK DATA BD02

BLOCK DATA Subprogram 02: /SPEED2/,/SPEED3/,/SPEEDl+/,/SPEED5/,/SPEED6/,
/SPEED7/

BLOCK DATA 02 defines the last years of the model year groups used for
speed correction factor (scf) coefficients, variables and arrays used in the
calculation of the scf, the high speed CO scf coefficent parameters, and
the speed and optional features correction factor array generated by BIGSAL.

Common block array subscripts:

GPBSCO(3,3,1») - GPBSCO ( ICOEF2, IP, IVB )
ISPGRP(3,1«) - ISPGRP ( IP, IVA )
MAXHSP(3) - MAXHSP ( IVLDG )
MYGSMC(18,2,3) - MYGSMC ( IG, IR, IP )
MYGSP1 (18,2,3) - MYGSP1 ( IG, IR, IV)
MYGSP2(3,3) - MYGSP2 ( IP, IVLDG )
MYHSPC (2, 3) - MYHSPC ( IG, IVLDG )
LB1STS(3) - LB1STS ( IVLDG )
SALHCF (20,3,8) - SALHCF ( IDX, IP, IV)
SCADJl(3,lt) - SCADJ1 ( IP, IVA )
SCUNA1 (18,3,8) - SCUNA1 ( IG, IP, IV)

Common block dictionary:

Name Type Description
/SPEED2/:

MYGSP1 1 scf myg last years for old equation for LDGV, LDGT1 6 LDGT2
MYGSMC 1 scf myg last years for MC
MYGSP2 1 1st myg ub model years for new scf equations for LDGV/T

/SPEED3/:

SADJ R FTP operating mode speeds weighted together by the vmt
fraction for each to get scenario's average speed
SCUNA1 R speed correction factors, adjusting bef's, which are
calculated at an assumed average speed of 19-6 mph, to
ef ' s at the user entered scenario average speed
SCADJ1 R SCUNA1 adjustment for the difference between 19.6 and SADJ
ISPGRP 1 the speed coefficient group last used for the given IV 6 IP.
ISPGRP eliminates recalculating SCADJ1 for every MY.

/SPEEDV:

MAXSP1 1 maximum no. of mygs for the old LDGV/T 6 MC scf equation coefs
LB1STS 1 Ib my of 1st myg using new scf equations (ex:A/X+B) for IVLDG
LBLAST 1 Ib my of last myg of the new LDGV/T scf equation coefs
IVA, IVB see Subscript Dictionary in source code header (1,999)

/SPEEDS/:

MYHSPC 1 first my of first and last myg's of the high speed HC and CO
scf A/X + B coeffi cents
MAXHSP 1 maximum no. of mygs for the high speed HC and CO scf A/X + B
coefs

-------
                   C-292




Appendix C:  MOBILES Block Data 02
May 5, 1989
502058
502059
502060
502061
502062
502063
502064
502065
502066
502067
502068
502069
502070
502071
50'2072
502073
502074
502075
502076
502077
502078
502079
502080
502081
502082
502083
502084
502085
502086
502087
502088
502089
502090
502091
502092
502093
502094
502095
502096
502097
502098
502099
502100
502101
502102
502103
502104
502105
502106
502107
502108
502109
502110
502111
502112
502113
502114
502115
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C






C

C




C
C
C
C
C

C


C



/SPEED6/:

SALHCF R speed and optional correction factors to apply to basic
emission factors

/SPEED7/

GPBSCO R 2nd degree polynomial IVB scf coefficients, unchanged since
MOBILE2. (MOBILE2 reduced HDGV cases from 3 to 1 myg)

Local array subscripts:

ISPDY1 (18,2) - ISPDY1 ( IG, IR )
ISPDY2(l8,2) - ISPDY2( IG, IR )
ISPDY308.2) - ISPDY3( IG, IR )

Local array dictionary:

Name Type Description


ISPDY1 1 the last year of LDGV scf model year group
ISPDY2 1 the last year of LDGT1 scf model year group
ISPDY3 1 the last year of LDGT2 scf model year group

Notes:

The /SPEEDd/ CBs were added for MOBILE4, consolidating all speed cf related
variables and arrays, both carryovers from MOBILE3 and parameters new for
MOBILE4. Values assigned during the course of execution are here set to
dummy zeroes or ones.


COMMON /SPEED2/ MYGSP1 (18,2,3) .MYGSMC (18, 2,3) .MYGSP2 (3,3)
COMMON /SPEED3/ SADJ.SCUNA1 (18,3,8) .SCADJ1 (3,4) , 1 SPGRP (3,4)
COMMON /SPEED4/ MAXSP1 , LB1STS (3) , LBLAST, 1 VB, 1 VA
COMMON /SPEEDS/ MYHSPC (2,3) .MAXHSP (3)
COMMON /SPEED6/ SALHCF (20,3,8)
COMMON /SPEED7/ GPBSCO (3,3,4)

DIMENSION ISPDY1 (18,2) , ISPDY2(l8,2) , 1 SPDY3 08,2)

EQUIVALENCE
MMYGSPI (1,1,1) , ISPDYI (1,1)) ,
*(MYGSP1 (1,1,2) , ISPDY2(1,1)) ,
*(MYGSP1 (1,1,3) ,ISPDY3(1,D)

/SPEED2/:

Myg upper bounds for 5th degree polynomial scf equation form coefficients.

DATA ISPDYI/
Low
* oooo, 1967,0000, 1968, 1969, 1970, i 97 u oooo, oooo, oooo,
* 0000,0000,0000, 1972,0000,0000, 1974, 1976,
High
* 1967,0000,0000,0000,0000,0000,0000,1968,1969,1970,
* 1971 , 1972,0000,0000, 1974,0000,0000, 1976/

-------
                   C-293



Appendix C: MOBILE** Block Data 02
May 5, 1989
502116
^02117
^•2118
^02119
502120
502121
502122
502123
50212*4
502125
502126
502127
502128
502129
502130
502131
502132
502133
50213**
502135
502136
502137
502138
502139
5021*40
5021*41
5021*42
^5021*43
^^21*4*4
^021*45
5021*46
5021*47
5021*48
5021*»9
502150
502151
502152
502153
50215*4
502155
502156
502157
502158
502159
502160
502161
502162
502163
50216*4
502165
502166
502167
502168
JL02169
A2170
^02171
502172
502173
C
C

C


C




DATA ISPDY27
Low
* 0000,1967
*
High
*
*

0000

1967
1971

,

,
,

0000

0000
1972


,0000,
,0000,

,0000,
,0000,


1968
1972

0000
0000


,1969,
,0000,

,0000,
,197**,


1970
0000

0000
0000


,1971
, 197*»

,0000
,0000


,0000,0000,0000,
,1978,

,1968,1969,1970,
,19787

DATA ISPDY3/
C


C


C
Low
*
*
High
*
•k


0000
0000

1969
0000


,
,

,
,


1969
0000

0000
1973


,0000,
,0000,

,0000,
,0000,


0000
0000

0000
0000


,1973,
,0000,

,0000,
,1978,


0000
0000

0000
0000


,0000
,1978

,0000
,0000


,0000,0000,0000,
,0000,

,0000,0000,0000,
,00007

DATA MYGSMC7
C
C


C


C
C
C


C
C


C


C
C
C
C
HC
Low
L
L
High
H
H
CO
Low
L
L
High
H
H
NOX
Low
L
L
High
H
H

Myg




0000
0000

1977
2020


0000
0000
1977
2020


0000
0000

1977
0000

upper




,
,

,
,


,
,
,
,


,
,

,
,



1977
0000

0000
0000


1977
0000
0000
0000


1977
0000

0000
2020



,0000,
,0000,

,0000,
,0000,


,0000,
,0000,
,0000,
,0000,


,0000,
,0000,

,0000,
,0000,

bounds for





HC


0000
0000

0000
0000


0000
0000
0000
0000


0000
2020

0000
0000

the

CO


,1979,
,0000,

,0000,
,0000,


,1979,
,0000,
,0000,
,0000,


,0000,
,0000,

,0000,
,0000,

A/X+B

NOX


0000
0000

0000
0000


0000
0000
0000
0000


0000
0000

0000
0000



,2020
,0000

,0000
,0000


,2020
,0000
,0000
,0000


,0000
,0000

,0000
,0000



,0000,0000,0000,
,0000,

,0000,1979,0000,
,0000,


,0000,0000,0000,
,0000,
,0000,1979,0000,
,0000,


,0000,0000,0000,
,0000,

,0000,0000,0000,
,00007

6 A+B*X+C*X**2 scf equation coefficients.






DATA MYGSP27



C
C
C
C
C
1
2
3













1979,
1980,
1980,

1979
1980
1980

, 1979
, 1980
f
,




, 19807




7SPEED37:

All


dummy









2eroes.


DATA SADJ/0.
C
C
C
C
C



0/,SCUNA1/*432*0.



0/,SCADJ1/12*0.0/, ISPGRP/12*0/
7SPEEDV:
"True" scf



parameters.








-------
Appendix C: MOBILE** Block Data 02
May 5, 1989
502171*
502175
502176
502177
502178
502179
502180
502181
502182
502183
502181*
502185
502186
502187
502188
502189
502190
502191
502192
502193
5021914
502195
502196
502197
502198
502199
502200
502201
502202
502203
502201*
502205
502206
502207
502208
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C

C
C
C
C
C

C
C




C
C

DATA MAXSP1/18/,LB1STS/1977,1979,1979/,LBLAST/1992/
Dummy zeroes.
DATA IVB,IVA/2*0/
/SPEEDS/:

MYGs for the high speed HC
equation. Originally had 6,
agai n.

DATA MYHSPC/ 1977,1977,
DATA MAXHSP/ 1,

/SPEED6/:

All dummy ones (instead of

DATA SALHCFA80*1.0/

/SPEED?/:

The continuation line code

DATA GPBSCO/
HC


1* 1.608, -.097,. 00083, 1
5 .909, -.055,. 0001*1*, i
6 .909, -.055,- 0001*1*. i
7 .921*, -.055,. 0001*1*, i


END

and CO
3,3 myg



scf

coefficients for the new A/X + B
, now have 1 myg each; This may change


1979,1979,
1,



zeroes,











1979,1979 /
1 /



since SALHCF is a multiplicative cf) .





for GPBSCO





.5200,-
.3752,-
•3752,-
•3960,-





CO


.098
.088
.088
.088








is IV.


NOX


,.00110, .821*, .0088,. 0,
,.00091, .668, -.048,. 00071,
,.00091, .668, -.01*8,. 00071,
,.00091, .676,-.048,.00071/




-------
                   C-295



Appendix C: MOBILES Block Data 03
May 5, 1989
503000
§3001
3002
3003
503004
503005
503006
503007
503008
503009
503010
503011
503012
503013
5030 1*4
503015
503016
503017
503018
503019
cn anon
i?Uj>UZU
503021
503022
503023
503024
503025
503026
83027
3028
3029
503030
503031
503032
503033
503034
503035
503036
503037
503038
503039
5030W
503041
503042
503043
503044
503045
503046
503047
503048
503049
503050
503051
503052
S3053
3054
3055
503056
503057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
BLOCK DATA BD03

BLOCK DATA Subprogram 03: /BASEQ2/,/BASEQ4/,/BASEQ6/

BLOCK DATA 03 defines the model year groups (by their upper bounds) and
associated parameters used to select and index the intercept and slope
arrays for the basic FTP Emission Rate (ER) equations.

Common block array subscripts:

BERNEW(3,100) - BERNEW ( IBER, IFAC )
MYGERB(20,3,8,2) - MYGERB ( IG, IP, IV, IR )
MYGERU(12,2,3,8,2) - MYGERU ( JG, IFL, IP, IV, IR )
NEWFIT(IOO) - NEWFIT ( IFAC )
NEWPAR(5,100) - NEWPAR ( IPAR, IFAC )
NUMERU(3,8,2) - NUMERU ( IP, IV, IR )

Common block dictionary:

Name Type Description
/BASEQ2/:

MYGERB 1 myg upper bounds for Block Data hardcoded FTP emission rate
equation intercept 6 (LDGV <50K) slope arrays (ERBZML, ERBDR)
MAXERB 1 maximum number of BD hardcoded ER equations possible for any
given combination of IP, IV and IR. MAXERB is the limit of
the myg dimension of arrays ERBZML, ERBDR and MYGERB.

/BASEQ4/:

NEWPAR R parameters identifying where (region, vehicle type and
pollutant) and when (first 6 last model years included)
to use new (user supplied) emission rates
BERNEW R intercept and slopes of user supplied emission rates
NEWFIT 1 whether or not (1 or 0) user supplied emission rate
information can be fit into the affected data arrays
(no => the new rate is not stored & not used)
NEWCT 1 count of number of sets of new emission rate specifications
entered by user (not necessarily the number actually used -
see NEWFIT)
MAXCT 1 maximum number of sets allowed by NEWFLG = sets dimension of
the arrays of /BASEQ4/

/BASEQ6/:

MYGERU 1 myg lower 6 upper bounds for User supplied FTP emission rate
equation intercept and slopes arrays (ERUZML, ERUDR, ERU50K)
MAXERU 1 maximum number of user supplied ER equation parameters sets
allowed for each IP x IV x IR case (same limit for each case)
NUMERU 1 number of user supplied ER records successfully stored for
each IP x IV x IR case.
KEYER 1 key to which intercept and slope arrays pair (triple, if LDGV
8l+ HC or CO) to use in the ER equation calculation in BEF's
current IP x IV x IR case:
1 = (ERBZML, ERBDR 6 ERB50K) 2 = (ERUZML, ERUDR 6 ERU50K)
IGER 1 myg index into the ER intercept and slope arrays selected by
KEYER. KEYER 6 IGER are set and returned by IERPTR.

-------
                   C-296




Appendix C: MOBILES Block Data 0}
May 5, 1989
503058
503059
503060
503061
503062
503063
503064
503065
503066
r f\ ^ f\ £ ^
503067
503068
503069
503070
503071
503072
503073
503074
503075
503076
503077
503078
503079
503080
503081
503082
503083
503084
503085
503086
503087
503088
503089
503090
503091
503092
503093
503094
503095
503096
503097
503098
503099
503100
503101
503102
503103
503104
503105
503106
503107
503108
503109
503110
503111
503112
503113
503114
503115
c
C Local array subscripts:
C
C IERLO(20,3) - IERLO ( IG, IP )
C IERHKIV>(20,3) - IERHKIV> ( IG, IP )
C
C Local array dictionary:
C
C Name Type Descriptions
___-._ _ _
C IERLO 1 low altitude myg upper bounds for
C IERHKIV> 1 high altitude myg upper bounds for
C
C Notes:
C
C BD 03 was updated for MOBILE4.
C
C
COMMON /BASEQ2/ MYGERB (20, 3,8,2) .MAXERB
COMMON /BASEQ4/NEWPAR(5, 100) .BERNEW (3, 100) .NEWFI
COMMON /BASEQ6/ MYGERU (1 2,2,3,8, 2) .MAXERU.NUMERU
C
DIMENSION
* IERL01 (20,3) ,
* IERL02(20,3) ,
* IERL03(20,3) ,
* IERL04(20,3) ,
* IERL05(20,3) ,
* IERL06(20,3) ,
* IERL07(20,3) ,
* IERL08(20,3)
C
EQUIVALENCE
* (MYGERB (1,1, 1,1) , IERL01 (1,1)),
* (MYGERB (1,1, 2,1) , IERL02(1,0) ,
* (MYGERB (1,1, 3,1) , IERL03(1.0) ,
* (MYGERB (1,1, 4,1) , IERL04(1,1)) ,
* (MYGERB (1,1, 5,1) ,IERL05(1.0) ,
* (MYGERB (1,1, 6,1) , IERL06(1,1)) ,
* (MYGERB (1,1, 7,1) ,IERL07(1,D) ,
* (MYGERBd, 1,8,1) , IERL080.1))
C
DIMENSION
* IERHI 1 (20,3) ,
* IERHI 2 (20, 3) ,
* IERHI3(20,3),
* IERHI 4 (20 ,3) ,
* IERHI 5 (20, 3) ,
* IERHI6(20,3) ,
* IERHI 7 (20, 3),
* IERHI 8 (20, 3)
C
EQUIVALENCE
* (MYGERBd, 1,1, 2) , IERHI1 (1,1)) ,
* (MYGERBd, 1,2, 2) , IERHI2 (1 , 0) ,
* (MYGERB (1,1, 3, 2) , IERHI3 (1 , D) ,
* (MYGERBd, 1,4, 2) , IERHI4(1,D) ,
* (MYGERB (1,1 ,5, 2) , IERHI5(1,D) ,








hardcoded FTP ERs
hardcoded FTP ERs







T(100) ,NEWCT,MAXCT
(3,8,2) ,KEYER, IGER






































-------
                                           C-297
503H6
    Appendix  C:  MOBILE*  Block  Data 03




(MYGERB(1,1,6,2) , I ERH I 6 (1, 1)) ,
                                                                                May 5, 1989
^K>3117
V>3118
503H9
503120
503121
503122
503123
503121*
503125
503126
503127
503128
503129
503130
503131
503132
503133
50313*
503135
503136
503137
503138
503139
5031*0
5031*1
5031*2
^031*3
^•b31**
^031*5
50311*6
5031*7
5031*8
5031*9
503150
503151
503152
503153
50315*
503155
503156
503157
503158
503159
503160
503161
503162
503163
503161.
503165
503166
503167
503168
^03169
•3170
^03171
503172
503173

C
c
c
c
c
c
c
c
c
c
c







c







c







c







c







c


* (MYGERB(1,1,7,2) , 1 ERH 1 7 (1 , 1) ) ,
* (MYGERB(1,1,8,2) , IERHl8(l,l))


/BASEQ2/:


Continuation line code is the pollutant type:

H = HC C = CO N = NOx

mygs for low altitude FTP emission rates

DATA IERL01/
H 1967, 1969, 1971, 197*, 1979, 1980, 1981, 1982, 1983, 198*.
H 1985, 1986, 1987, 1988, 1989, 1990, 1991 ,2020,0000,0000,
C 1967, 1969, 1971, 197*. 1979, 1980, 1981, 1982, 1983, 198*.
C 1985, 1986, 1987, 1988, 1989, 1990, 1991 ,2020,0000,0000,
N 1967, 1972, 197*. 1976, 1979, 1980, 1981, 1982, 1983, 198*.
N 1985, 1986, 1987, 1988, 1989, 1990, 1991 ,2020, OOOO, OOOO/

DATA IERL02/
H 1967, 1969, 1971 ,197*. 1978, 1980, 1983, 198*. 1985, 1986,
H 1987, 1988, 1989, 1990, 1991 ,2020,0000,0000,0000,0000,
C 1967, 1969, 1971 ,197*, 1978, 1980, 1983, 198*. 1985, 1986,
C 1987, 1988, 1989, 1990, 1991 ,2020,0000,0000,0000,0000,
N 1967, 1972, 197*. 1978, 1980, 1983, 198*. 1985, 1986, 1987,
N 1 988 , 1 989 , 1 990 , 1 99 1 , 2020 , OOOO , OOOO , OOOO , OOOO , OOOO/

DATA IERL03/
H 1969, 1973, 1978, 1980, 1983, 198*. 1985, 1986, 1987, 1988,
H 1 989 , 1 990 , 1 99 1 , 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
C 1969, 1973, 1978, 1980, 1983, 198*, 1985, 1986, 1987, 1988,
c i 989 , i 990 , i 99 i , 2020 , oooo , oooo , oooo , oooo , oooo , oooo ,
N 1969, 1973, 1978, 1980, 1983, 198*. 1985, 1986, 1987, 1988,
N 1 989 , 1 990 , 1 99 1 , 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO/

DATA IERLOV
' H 1962, 1969, 1973, 197*. 1975, 1976, 1978, 1979, 1980, 1983,
H 1 981* , 1 985 , 1 986 , 1 989 , 1 990 , 2000 , 2020 , OOOO , OOOO , OOOO ,
C 1962, 1969, 1973, 197*. 1975, 1976, 1978, 1979, 1980, 1983,
C 1 981* , 1 985 , 1 986 ,1989,1 990 , 2000 , 2020 , OOOO , OOOO , OOOO ,
N 1962, 1969, 1973, 197*. 1975, 1976, 1978, 1979, 1980, 1983,
N 1 98* , 1 985 , 1 986 ,1989,1 990 , 2000 , 2020 , OOOO , OOOO , OOOO/

DATA IERL05/
H 197*. 1976, 1977, 1978, 1979,2020,0000,0000,0000,0000,
H OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
C 197*. 1976, 1977, 1978, 1979, 2020, 0000,0000, OOOO, OOOO,
C OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
N 197*. 1976, 1977, 1978, 1979, 1980, 198*, 2020, OOOO, OOOO,
N OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO/
DATA IERL06/
H 1 977 , 1 980 , 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
H OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
c 1977, 1980,2020,0000,0000,0000,0000,0000,0000,0000,

-------
                             C-298
503174
503175
503176
503177
503178
503179
503180
503181
503182
503183
503184
503185
503186
503187
503188
503189
503190
503191
503192
503193
503194
503195
503196
503197
503198
503199
503200
503201
503202
503203
503204
503205
503206
503207
503208
503209
503210
503211
503212
503213
503214
503215
503216
503217
503218
503219
503220
503221
503222
503223
503224
503225
503226
503227
503228
503229
503230
503231
C
N
N
C
1
H
H
H
H
H
H
C
1
H
H
C
C
N
N
C
C myg
C

H
H
C
C
N
N
C

H
H
C
C
N
N
C

H
H
C
C
N
N
C

H
H
C
C
N
N
C

H
H
C
          Appendix C:  MOBILES Block Data 03

      0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,
      1977,1980,1987,1989.2020,0000,0000,0000,0000,0000,
      0000,0000,0000,0000,0000,0000,0000,0000,0000,OOOO/

   DATA IERL07/
      1966,1968,1969,1970,1973,1976,1977,1978,1979,1981,
      1982,1983,1981», 1985,1986,1987,1989,1990,2000,2020,
      1966,1968,1969,1970,1973,1976,1977,1978,1979,1981,
      1982, 1983, 198**, 1985, 1986, 1987, 1989, 1990,2000,2020,
      1966,1968,1969,1970,1973,1976,1977,1978,1979,1981,
      1982,1983,198**, 1985,1986, 1987,1989,1990,2000,20207

   DATA IERL08/
      1977,1979,1981,1984,1987,2020,0000,0000,0000,0000,
      0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,
      1977,1979,1981,2020,0000,0000,0000,0000,0000,0000,
      0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,
      1977,1979,2020,0000,0000,0000,0000,0000,0000,0000,
      0000,0000,0000,0000,0000,0000,0000,0000,0000,OOOO/

mygs for high altitude FTP emission rates

   DATA IERHI1/
      1967,1969,1971,1974,1976,1977,1979,1980,1981,1982,
      1983, 1984, 1985,1986,1987,1988,1989,1990,1991,2020,
      1967,1969,1971,1974,1976,1977,1979,1980,1981,1982,
      1983,1984,1985,1986,1987,1988,1989,1990,1991,2020,
      1967,1972,1970976,1977,1979,1980,1981,1982,1983,
      1984,1985,1986,1987,1988,1989,1990,1991,2020,00007

   DATA IERHI2/
      1967,1969,1971,1974,1976,1977,1978,1980,1981,1983,
      1984,1985,1986,1987,1988,1989,1990,1991,2020,0000,
      1967,1969,1971,1974,1976,1977,1978,1980,1981,1983,
      1984,1985,1986,1987,1988,1989,1990,1991,2020,0000,
      1967,1972,1974,1976,1977,1978,1980,1981,1983,1984,
      1985,1986,1987,1988,1989,1990,1991,2020,0000,00007

   DATA IERHI37
      1969,1973,1978,1980,1981,1983,1984,1985,1986,1987,
      i988,i989,i990,i99i,2020,oooo,oooo,oooo,oooo,oooo,
      1969,1973,1978,1980,1981,1983,1984,1985,1986,1987,
      i988,i989,i990,i99i,2020,oooo,oooo,oooo,oooo,oooo,
      1969,1973,1978,1980,1981,1983,1984,1985,1986,1987,
      1988,1989,1990,1991,2020,OOOO,OOOO,OOOO,OOOO,OOOO/

   DATA IERHI4/
      1962,1969,1973,1974,1975,1976,1978,1979,1980,1983,
      1984,1985,1986,1989,1990,2000,2020,OOOO,OOOO,OOOO,
      1962,1969,1973,1974,1975,1976,1978,1979,1980,1983,
      1984,1985,1986,1989,1990,2000,2020,OOOO,OOOO,OOOO,
      1962,1969,1973,1974,1975,1976,1978,1979,1980,1983,
      1984,1985,1986,1989,1990,2000,2020,OOOO,OOOO,OOOO/

   DATA IERHI5/
      1974.1976,1977,1978,1979,1981,1983,2020,0000,0000,
      oooo,oooo,oooo,oooo,oooo,oooo,oooo,oooo,oooo,oooo,
      1974,1976,1977,1978,1979,1981,1983,2020,0000,0000,
May 5, 1989

-------
                   C-299



Appendix C: MOBILE** Block Data 03
May 5, 1989
503232
4*03233
^33234
503235
503236
503237
503238
503239
503240
503241
503242
503243
503244
503245
503246
5032*47
503248
503249
503250
503251
503252
503253
503254
503255
503256
503257
503258
^03259
^Bb3260
^303261
503262
503263
503264
503265
503266
503267
503268
503269
503270
503271
503272
503273
503274
503275
503276
503277
503278
503279
503280
503281
503282
503283


C







C







C







C

C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C

C

C 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 ,
N 1974, 1976, 1977, 1978, 1979, 1980, 1984,2020,0000,0000,
N 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , OOOO/

DATA IERHI6/
H 1 977 , 1 978 , 1 980 , 1 983 , 2020 , 0000 , 0000 , 0000 , 0000 , 0000 ,
H 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 ,
c i 977 , i 978 , i 980 , i 983 , 2020 , oooo , oooo , oooo , oooo , oooo ,
C OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
N 1977, 1978, 1979, 1980, 1984, 1987, 1989,2020,0000,0000,
N OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO/

DATA IERHI7/
H 1966,1968,1969,1970,1973,1976,1977,1978,1979,1981,
H 1982, 1983, 1984, 1985, 1986, 1987, 1989, 1990,2000,2020,
c 1966,1968,1969,1970,1973,1976,1977,1978,1979,1981,
c 1982, 1983, 1984, 1985, 1986, 1987, 1989, 1990,2000,2020,
N 1966,1968,1969,1970,1973,1976,1977,1978,1979,1981,
N 1982, 1983, 1984, 1985, 1986, 1987, 1989, 1990,2000,20207

DATA IERHI8/
H 1977, 1979, 1981 J984, 1987,2020,0000,0000,0000,0000,
H OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
c 1 977 , 1 979 , 1 98 1 , 2020 , oooo , oooo , oooo , oooo , oooo , oooo ,
c oooo , oooo , oooo , oooo , oooo , oooo , oooo , oooo , oooo , oooo ,
N 1977, 1979,2020,0000,0000,0000,0000,0000,0000,0000,
N OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO/

DATA MAXERB/20/


/BASEQ4/:


Except for the limit on the total number of replacement ef parameter records,
the /BASEQ4/ block is initialized to dummy zeroes, since the cells either
get read in or assigned values or are not used.

DATA NEWPAR/500*0/,BERNEW/300*0.0/,NEWFIT/100*0/,NEWCT/0/
DATA MAXCT/100/


/BASEQ6/:


Initialize all user supplied myg cases to 0, to allow 1 ERPTR storage
algorithm to work, and NUMERU to 0, to allow storage and access algorithms
to work. KEYER and IGER are set as necessary by 1 ERPTR.

DATA MYGERU/1 152*0/,MAXERU/12/,NUMERU/48*0/,KEYER/l/t IGER/1/

END

-------
                   C-300




Appendix C: MOBILES Block  Data  01*
May 5, 1989
501*000
501*001
'501.002
501*003
501*001*
501*005
501*006
501*007
501*008
501*009
501*010
501*011
501*012
501*013
501*011*
501*015
501*016
501.017
501*018
501*019
501*020
501*021
501*022
501*023
504021*
501*025
504026
504027
501*028
501*029
501*030
504031
501*032
501*033
501*031*
501*035
50l»036
501*037
501*038
501*039
501*01*0
501*01*1
501*01*2
501*01*3
501*01*1*
501*01*5
501*01*6
501*01*7
501*01*8
501*01*9
501*050
501*051
501.052
504053
501*051*
501*055
501*056
501*057

c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
BLOCK DATA BDQl*

BLOCK DATA Subprogram Ol»: /BASEQ1/./BASEQ5/./BASEQ7/

BLOCK DATA Ql» initializes the zero mile levels and deterioration rates
(intercepts & slopes) of the base FTP exhaust emission rate equations.

Common block array subscripts:

ERBDR(20,3,8,2) - ERBDR ( IGER, IP, IV, IR )
ERBZML (20, 3, 8, 2) - ERBZML ( IGER, IP, IV, IR )
ERB50K(12,2,2) - ERB50K ( IG50, IP50, IR )
ERUDR(12,3,8,2) - ERUDR ( IGER, IP, IV, IR )
ERUZML(12,3,8,2) - ERUZML ( IGER, IP, IV, IR )
ERU50K(12,2,2) - ERU50K ( IG50, IP50. IR )
IPMOD (3) - IPMOD ( IP )

Common block dictionary:

Name Type Description


Note: 3rd character syntax: B = Block Data hardcoded, U = User supplied

/BASEQ1/:

ERBZML R Hardcoded FTP Emission Rate (ER) equation zero mile levels
ERBDR R Hardcoded FTP ER equation deterioration rates



























ERB50K R Hardcoded FTP ER equation deterioration rates 8l+ LDGV HC/CO

/BASEQ5/:

ERUZML R User supplied (via NEWFLG) FTP ER equation zero mile level
ERUDR R User supplied FTP ER equation deterioration rates



s

ERU50K R User supplied FTP ER equation deterioration rates, 8l + LDGV

/BASEQ7/:

IPMOD 1 Flag vector: for each IP whether or not 1 or more of its




FTP ER equation coefficient pairs have been supplied by the
user. 0 = no 6 1 = yes (yes means idle ef skipped for 1
more IV means skip VIDLE(IP) calculation)

Local array subscripts:

(20,3,2) -  ( IG, IP, IVER )

where  = D (deterioration rate), Z (zero mile level)
 = L (low altitude region), H (high altitude region)
 = 12 (LDGV.LDGT1) , 31* (LDGT2.HDGV) , 56 (LDDV.LDDT), 78 (HDDV,
IVER = 1 (1st of vt pair LL) , 2 (2nd of vt pair LL)

Local array dictionary:

Name Type Descriptions


 R as defined above, the si ope/ intercept  in region 
for vehicle type pair  of the FTP exhaust emission
rate -equation
or








MC)











-------
                   C-301




Appendix C: MOBILES Block Data 04
May 5, 1989
504058
&04059
0D4060
504061
504062
504063
504064
504065
504066
504067
504068
504069
504070
504071
504072
504073
504074
504075
504076
504077
504078
504079
504080
504081
504082
504083
504084
£04085
•b 14086
504087
504088
504089
504090
504091
504092
504093
504091*
504095
504096
504097
504098
504099
504100
504101
504102
504103
504104
504105
504106
504107
504108
504109
504110
«4111
B4l 12
504113
504114
504115
C
C
C
C
C
C
C
C
C
C
C



C




C





C





C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C






C




Notes:

LDGV low and high altitude ERBDR and ERBZML are updated for MOBILE4 6 4.5.
ERUZML and ERUDR added for MOBILE4. 1981+ LDGV HC/CO 50K+ updates were
added for MOBILE4. LDGV low altitude ERBDR, ERBZML and ERB50K were
were updated for MOBILE4. LDGT1/2 low 6 high altitude ERBDR 6 ERBZML were
updated for MOBILE4. LDGV Z/DL HC & CO and Z/DH all IP were updated for
MOBILE4. Low & high altitude MC Z/D were update for MOBILE4.


COMMON /BASEQ1/ ERBZML (20, 3,8, 2) , ERBDR (20,3,8,2) , ERB50K (1 2,2, 2)
COMMON /BASEQ5/ ERUZML (12, 3,8,2) , ERUDR (12, 3,8, 2) , ERU50K (1 2,2,2)
COMMON /BASEQ7/ 1 PMOD (3)

DIMENSION ZL12(20,3,2) ,ZL34 (20, 3,2) ,ZL56 (20,3,2) ,ZL78 (20, 3,2)
DIMENSION ZH12(20,3,2) ,ZH34 (20,3,2) ,ZH56 (20,3,2) ,ZH78 (20, 3,2)
DIMENSION DL12(20,3,2) ,DL34 (20,3,2) ,DL56 (20,3,2) ,DL78 (20, 3,2)
DIMENSION DH12(20,3,2) ,DH34 (20,3,2) ,DH56 (20,3,2) ,DH78 (20, 3,2)

EQUIVALENCE
* (ERBZML (1,1, 1,1) ,ZL12(1,1,1)) , (ERBZML (1 , 1 , 3, D ,ZL34 (1 , 1 , 1) ),
* (ERBZML (1,1, 5,1) ,ZL56(1,1,D) , (ERBZML (1 , 1 ,7, D ,ZL78 (1 , 1 , 1) ),
* (ERBZML (1,1, 1,2) ,ZH12(1,1,D) , (ERBZML (1 , 1 , 3, 2) ,ZH34 (1 , 1 , 1) ) ,
* (ERBZML (1, 1, 5, 2) ,ZH56 (1,1,1) ), (ERBZML (1 , 1 ,7,2) ,ZH78 (1 , 1 , 1))

EQUIVALENCE
* (ERBDR (1,1, 1,1) ,DL12(1,1,1)) , (ERBDR (1 , 1 , 3, D ,DL34 (1 , 1 , 1) ) ,
* (ERBDR(1, 1,5,1) ,DL56(1,1,1)) , (ERBDR (1 , 1 ,7, D ,DL78 (1 , 1 , 1) ) ,
* (ERBDR (1,1, 1,2) ,DH12(1,1,1)) , (ERBDR (1 , 1 , 3,2) ,DH34 (1 , 1 , 1) ),
* (ERBDR(1,1,5,2) ,DH56(1,1,1)) , (ERBDR (1 , 1 , 7, 2) ,DH78 (1 , 1 , 1) )

Hardcoded FTP ER equation zero mile levels and deterioration (per 10000
miles) rates are blocked by vehicle class. Within each block, the
continuation code is the pollutant type: H = HC, C = CO and N = NOx.
There are up to 2 lines and 20 cases per pollutant per vehicle class per
region per equation parameter.


/BASEQ1/:


Hardcoded zero mile exhaust levels

Low altitude region

DATA ZL12/
LDGV
H 7-25, 4.43, 3.00, 3.38, 1.06, 0.36, 0.308,0.305,0.257,0.242,
H 0.254,0.265,0.264,0.267,0.269,0.271,0.275,0.278, 0.00, 0.00,
C78. 27, 56. 34, 42. 17, 40. 94, 17. 72, 6.09, 3-378,3.376,2.731,2.432,
c 2.611,2.764,2.720,2.757,2.785,2.813,2.870,2.915, o.oo, o.oo,
N 3.44, 4.35, 2.86, 2.44, 1.79, 1.50, 0.651,0.633,0.632,0.663,
N 0.651,0.641,0.647,0.646,0.644,0.642,0.638,0.635,0.000,0.000,
LDGT1
H 7.25, 4.43, 3.00, 3.36, 1.80, 0.87, 0.82, 0.70, 0.41, 0.36,
H 0.31, 0.37, 0.37, 0.37, 0.37, 0.36, 4*0.,
C 78.27,56.34,42.17,40.78,24.55,12.28,12.58, 9.43, 7-03, 5-76,

-------
                                            C-302
                         Appendix C:  MOBILES Block Data Ok
                                                                    May 5,  1989
501*117
501*118
501*119
504120
501*121
501*122
501*123
501*121*
501*125
501*126
501.127
501*128
501*129
501*130
50l»131
501*132
504133
50l»13l*
504135
504136
501*137
501*138
501*139
501*11*0
501*11*1
501*11*2
501*11*3
501*11*1*
501*11*5
501*11*6
501*11.7
501*11*8
501*11*9
501*150
501*151
501*152
501*153
501*151*
501*155
501*156
504157
501*158
501*159
504160
501*161
501*162
501*163
501* i6A
501*165
501*166
501*167
501*168
504169
504170
504171
504172
504173
  C  4.42, 5-29, 5-26,  5-22,  5.21,  5.07, 4*0.,
  N  3.44, 4.35, 2.87,  2.70,  1.77,  1.64, 1.12, 1.24,  1.08, 0.91,
  N  0.82, 0.82, 0.81,  0.81,  0.78,  5*0./
   DATA ZL34/
LDGT2
  H 9-57, 6.28, 6.28,  0.87,  0.82,  0.70,
  H 0.37, 0.37, 0.37,  0.36,  6*0.,
  C93.98,60.08,60.08,12.28,12.58,  9.43,
                  0.41,  0.36,  0.31, 0.37,

                  7-03,  5.76,  4.42, 5-29,
                5.21
                4.61
                0.8l
5-07,
1.77,
0.78,
6*0.
1.64,
6*0.,
1.12,  1.24, 1.08, O.gi, 0.82,
  C 5-26, 5-22,
  N 5.<*4, 6.45,
  N 0.82, 0.81
HDGV
  H19.72.19.31, 9-73,
  H 3.26, 2.28, 2.00,  0.82,  0.82,  0.82, 0.81, 3*0.,
  0240.22,235.25,166.26,164.30,151.70,143.73,123.05,57.18,53.77,
  C 50.91, 50.75,  35-79,  28.21,  11.17, H.14, 11.08,  11.03,  3*0.,
  N g.J.1, 9-22, 9-87,  7.11,  6.56,  6.22, 5-32, 5-95, 5-59,  5-30,
  N 5-28, 5-21, 5.20,  5-21,  4.27,  3-54, 3-53, 3*0.7
                       9.61,  8.88,  8.41, 7.20, 3.67, 3-45,  3-27,
c
c



c


DATA ZL567
LDDV
H
C
N
LDDT
H
C

1
2
1

0
1

.31,
.71,
.46,

.86,
• 97,

0.
1.
1.

0.
1.

42,
17,
40,

86,
97,

0
1
1

0
1

.42,
.17,
.40,

.43,
.33,

0
1
1


.42,
.17,
.40,

17*0.,
1
7*0.,
                             1.17,
                             1.40,
            0.29.
            1.15,14*0.
            1.40,  1.31
                   0.87,12*0.,
  N 1.83,  1.83,  1.48,  1.07, 1.03, 15*0. /

   DATA ZL78/
HDDV
  H 3.54,  3-66,  3.78,  3.81,  3-91,  3.91, 3-99, 3.92,  3.51,  3.17,
  H 2.78,  2.66,  2.82,  2.59,  2.28,  2.23, 2.18, 2.13,  2.10,  2.10,
  c 10.32,10.69,11.04,11.13,11.42,11.42,11.65,11.44,14.04,12.67,
  c 11.12,10.66,11.26,10.35,10.36,10.14,9.90,9.67,9.53,9.52,
  N22. 99, 23. 83, 24. 59, 24. 80, 25. 46, 25. 44, 25. 97, 25- 50, 23- 78, 21. 47,
  N 18. 84, 18. 06, 19. 08, 17. 53, 17. 56, 17. 18, 16. 77, 9- 79, 8. 01, 7. 99,
MC
  H 8.78,  2.40,  1.93,  1.65,  1.31,  1.20,14*0.,
  033.^2,24.39,17.51,17.40,16*0.,
  N 0.25,  0.68,  0.85,17*0./
C
C High altitude region
C
DATA ZH127
C LDGV
H
H
H
Cl
C
C
N
N
N

9-350,
0.565,
0.269,
17-700,
12.532,
3.259,
1.960,
0.627,
0.791,

5.600
0.446
0.271
85.5^0
9-7^2
3-267
2.910
0.784
0.791

, 4
, 0
, 0
, 79
, 3
, 3
, 1
, 0
, 0

.580,
.269,
.275,
.640,
.280,
.284,
• 920,
• 789,
• 791,

4
0
0
75
3
3
l
0
1*0

.620,
.242,
.278,
.680,
.162,
.298,
• 700,
.789,
• >

2.000,
0.254,

47.030,
3-217,

1.370,
0.789,


0
0

19
3

0
0


.930,
.265,

.630,
.264,

• 970,
.791,


2.080,
0.264,

41.830,
3.242,

0.820,
0.791,


0.780
0.267

22.800
3.251

0.505
0.791

C LDGT1
H
9-35,
5.60, J*
.58,
J*.58
, 3
.40,
1.60, 3-
53,
1.66
, 1.66,
1.07,

-------
                                           C-303
504171*
        Appendix C: MOBILE4 Block Data 04

H  1.05, 0.51, 0.45, 0.39, 0.46, 0.46, 0.46, 0.46, 0.45,  1*0.,
0117.70,85.54,79.64,75.63,58.01,22.86,53.57.44.25,44.25,30.16,
                                                                                May 5,  1989
P>4176
504177
504178
504179
504180
504181
504182
504183
504184
504185
504186
504187
504188
504189
504190
504191
504192
504193
504194
504195
504196
504197
504198
504199
504200
K04201
P)4202
504203
504204
504205
504206
504207
504208
504209
504210
504211
504212
504213
504214
504215
504216
504217
504218
504219
504220
504221
504222
504223
504224
504225
504226
P4227
4228
504229
504230
504231
C 23-35, 9-84, 8.06, 6.19, 7-41, 7-36, 7-31, 7-29, 7.10, 1*0.,
N 1.96, 2.91, 1.91, 1.88, 2.25, 1.88, 0.97, 0.97, 1.46, 1.22,
N 1.24, 1.08, 0.91, 0.82, 0.82, 0.81, 0.81, 0.78, 2*0.7
C
DATA ZH34/
C LDGT2
H 12.35. 8.56, 8.56, 1.66, 1.66, 1.07, 1.05, 0.51, 0.45, 0.39,
H 0.46, 0.46, 0.46, 0.46, 0.45, 5*0.,
0141.35,107.72,107.72,44.25,44.25,30.16,23.35, 9.84,8.06,6.19,
C 7-*l, 7.36, 7.31, 7.29, 7.10, 5*0.,
N 3.10, 4.32, 3.07, 0.97, 0.97, 1.46, 1.22, 1.24, 1.08, 0.91,
N 0.82, 0.82, 0.81, 0.81, 0.78, 5*0.,
C HDGV
H26. 87, 26. 32, 13. 25, 13- 10, 12. 09, 11. 46, 9-8l, 5-00, 4.70, 4.45,
H 4.44, 3.12, 2.73, 1.40, 1.39, 1-39, 1-38, 3*0.,
0430.72,421.81,298.10,294.58,272.00,257.71.220.63,102.53,96.41,
091.29,90.99.64.16,50.57.30.62,30.55,30.38,30.24, 3*0.,
N 6.27, 6.14, 6.58, 4.74, 4.37, 4.14, 3-55, 3-97, 3-73, 3.53,
N 3.52, 3-48, 3-47, 3-47, 3.41, 2.82, 2.8l, 3*0.7
C
DATA ZH56/
C LDDV
H 3-01, 0.97, 0.97, 0.97, 0.97. 0.67, 0.40, 0.29,12*0.,
C 4.74, 2.05, 2.05, 2.05, 2.05, 2.01, 2.01, 1.15,12*0.,
N 1.46, 1.40, 1.40, 1.40, 1.40, 1.40, 1.31, 0.87,12*0.,
C LDDT
H 1.98, 1.98, 1.98, 0.99, 0.54, 15*0.,
C S-^S. 3.45, 3-45, 3.45, 2.33. 2.33, 1^*0.,
N 1.83, 1.83, 1.83, 1.83, 1.48, 1.48, 1.07, 1.03, 12*0.7
C
DATA ZH78/
C HDDV
H 8.13, 8.43, 8.70, 8.77, 9-01, 9-00, 9.19, 9-02, 8.07, 7-28,
H 6.37, 6.13, 6.47, 5-95, 5-25. 5-1*. 5-01, 4.90, 4.83, *.B2,
Cl8.05,l8.7l,l9.30,l9.47,l9.99,19.97,20.38,20.0l,24.56,22.l7,
019.39,18.65,19.71,18.11,18.13,17.75,17.32,16.92,16.68,16.66,
N22. 99, 23- 83, 24. 59, 24. 80, 25. 46, 25- 44, 25. 97, 25- 50, 23. 78, 21. 47,
Nl8. 77, 18. 06, 19. 08, 17. 53, 17- 56, 17- 18, 16. 77, 9-79, 8.01, 7-99,
C MC
H 11.43, 3-02, 2.95, 2.52, 2.00, 1.84, 0.00, 0.00,12*0.00,
c 50.13, 37.07, 33.09, 32.89, o.oo, o.oo, o.oo, 0.00,12*0.00,
N 0.14, 0.45, 0.57, 0.00, 0.00, 0.00, 0.00, 0.00,12*0.007
C
C Hardcoded deterioration rates
C
C Low altitude region
C
DATA DL12/
C LDGV
H 0.18, 0.25, 0.37, 0.16, 0.28, 0.10, 0.079,0.074,0.062,0.067,
H 0.063,0.060,0.060,0.059,0.059,0.058,0.057,0.056, 0.00, 0.00,
C 2.25, 2.55, 3-13, 2.35, 2.46, 0.73, 1.147,1.079,0.760,0.840,
C 0.803,0.771,0.786,0.780,0.774,0.769,0.757,0.748, 0.00, 0.00;
N 0.00, 0.00, 0.05, 0.04, 0.11, 0.07, 0.067,0.071,0.039,0.035,
N 0.035,0.035,0.034,0.034,0.034,0.034,0.034,0,034,0.000,0.000,
C 1'DGTl

-------
                   C-304




Appendix C: MOBILES Block Data Ok
May 5, 1989
504232
504233
504234
504235
504236
504237
504238
504239
504240
504241
504242
504243
504244
504245
504246
504247
504248
504249
504250
504251
504252
504253
504254
504255
504256
504257
504258
504259
504260
504261
504262
504263
504264
504265
504266
504267
504268
504269
504270
504271
504272
504273
504274
504275
504276
504277
504278
504279
504280
504281
504282
504283
504284
504285
504286
504287
504288
504289
H 0.18, 0.25, 0.37, 0.17, 0.27, 0.28, 0.15, 0.15,
H 0.08, 0.08, 0.08, 0.08, 0.08, 0.08, 4*0.,
C 2.25, 2.55, 3.13, 2.44, 2.59, 2.43, 1.46, 1.46,
C 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 4*0.,
N 0.00, 0.00, 0.04, 0.03, 0.06, 0.03, 0.07, 0.04,
N 0.04, 0.04, 0.04, 0.04, 0.04, 5*0. /
C
DATA DL34/
C LDGT2
H 0.18, 0.25, 0.17, 0.28, 0.15, 0.15, 0.08, 0.08,
H 0.08, 0.08, 0.08, 0.08, 6*0.0,
C 2.25, 2.55, 2.44, 2.43, 1.46, 1.46, 0-73, 0.73,
C 0.73, 0.73, 0.73, 0.73, 6*0.0,
N 0.00, 0.00, 0.04, 0.06, 0.03, 0.07, 0.04, 0.04,
N 0.04, 0.04, 0.04, 0.04, 6*0.0,
C HDGV
H 0.37, 0.36, 0.39, 0.26, 0.24, 0.22, 0.19, 0.18,
H 0.16, 0.05, 0.05, 0.09, 0.09, 0.09, 0.09, 3*0.,
C 5-76, 5-64, 7-05, 6.67, 6.16, 5.83, 4.99, 4.79,
C 4.25, 0.86, 0.86, 0.64, 0.64, 0.64, 0.64, 3*0.,
N 0.00, 0.00, 0.00, 0.09, 0.08, 0.07, 0.06, 0.06,
N 0.05, 0.03, 0.03, 0.03, 0.04, 0.04, 0.04, 3*0. /
C
DATA DL56/
C LDDV
H 0.08, 0.07, 0.07, 0.07, 0.07, 0.03,14*0.,
C 0.13, 0.09, 0.09, 0.09, 0.09, 0.04,14*0.,
N 0.04, 0.04, 0.04, 0.04, 0.04, 0.04, 0.03, 0.03,
C LDDT
H 0.08, 0.08, 0.04, 17*0.,
C 0.10, 0.10, 0.04, 17*0.,
N 0.08, 0.08, 0.03, 0.03, 0.03, 15*0. /
C
DATA DL78/
C HDDV
H 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06,
H 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00,
C 0.14, 0.15, 0.15, 0.15, 0.16, 0.16, 0.16, 0.16,
C 0.10, 0.09, 0.10, 0.09, 0.09, 0.09, 0.08, 0.08,
N 0.17, 0.18, 0.18, O.ig, 0.19, 0.19, 0.19, 0.19,
N 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00,
C MC
H 0.75, 1.44, 1.15, 0.95, 0.75, 0.70,14*0.,
C 3.22, 3-56, 2.53, 2.46, 16*0.,
N 0.03, 0.00, 0.00,17*0.7
C
C High altitude region
C
DATA DH12/
C LDGV
H 0.180, 0.250, 0.370, 0.160, 0.280, 0.280,
H 0.079, 0.074, 0.062, 0.067, 0.063, 0.060,
H 0.059, 0.058, 0.057, 0.056,
C 2.250, 2.550, 3.130, 2.350, 2.460, 2.460,
C 1.147, 1.079, 0.760, 0.840, 0.803, 0.771,
C 0.774, 0.769, 0.757, 0.748,
N 0.000, 0.000, 0.050, 0.040, 0.110, 0.110,
N 0.071, 0.039, 0.035, 0.035, 0.035, 0.034,
0.08, 0

0.73, 0

0.04, 0




0.08, 0

0.73, 0

0.04, 0


0.17, 0

4.51, 4

0.06, 0






12*0.,







0.00, 0
0.00, 0
0.12, 0
0.08, 0
0.00, 0
0.00, 0









0.280,
0.060,

2.460,
0.786,

0.070,
0.034,
.08,

• 73,

.04,




.08,

• 73,

.04,


.16,

.27,

.05,














.00,
.00,
.11,
.08,
.00,
.00,









0.100
0.059

0.730
0.780

0.067
0.034

-------
                                                c-305
                           Appendix  C: MOBILES Block Data  Ok
May 5,  1989
504290
  4291
  1*292
501*293
501*291*
504295
501*296
501*297
501*298
501*299
501*300
501*301
501*302
501*303
501*304
501*305
501*306
501*307
501*308
501*309
501*310
501*311
501*312
501*313
50i»3H*
501*315
501*316
 P4317
  1*318
501*319
501*320
501*321
501*322
501*323
501*321*
501*325
501*326
501*327
504328
501*329
501*330
501*331
501*332
501*333
501*334
501*335
501*336
501*337
501*338
501*339
501*31*0
501*31*1
501*31*2
  1.31.3
  1*31*1*
501*3^5
501*31*6
501.31*7
C





C
N 0.034, 0.034, 0.034,1*0.,
LDGT1
H 0.18, 0.25, 0.37, 0.17, 0.27,
H 0
C 2
C 1
N 0
N 0

.15, 0.08, o
.25, 2.25, 3
.46, 0.73, 0
.0 , 0.0 , 0
.04, 0.04, 0

.08, 0
.13, 2
• 73, 0
.04, 0
.04, 0

.08, 0
.44, 2
.73, 0
.03, 0
.04, 0

.08,
• 59,
• 73,
.03,
.04,

0.27,
0.08,
2.59,
0.73,
0.03,
0.04,

0.
0.
2.
0.
0.
0.

27,
08,
59,
73,
06,
04,

0.28,
0.08,
2.43,
0.73,
0.06,
0.04,

0.28,
0.08,
2.43,
0.73,
0.03,
2*0.7

0.15,
1 *0 . ,
1.46,
1*0.,
0.07,


DATA DH34/
C






C






C
LDGT2
H 0
H 0
C 2
C 0
N 0
N 0
HDGV
H 0
H 0
C 5
C 4
N 0
N 0


.18, 0.25, 0
.08, 0.08, 0
.25, 2.55, 2
.73, 0.73, 0
.0 , 0.0 , 0
.04, 0.04, 0

.37, 0.36, 0
.16, 0.05, 0
•76, 5.64, 7
.25, 0.86, 0
.00, 0.00, 0
.05, 0.03, o


.17, 0
.08, 0
.44, 2
.73, 0
.04, 0
.04, 0

• 39, 0
.05, 0
.05, 6
.86, 0
.00, 0
.03, 0


.28, 0
.08, 0
.43, 2
• 73, 0
.06, 0
.04, 0

.26, 0
.09, 0
.67, 6
.64, 0
.09. 0
.03. 0


.28,
.08,
.43,
.73,
.06,
.04,

.24,
.09,
.16,
.64,
.08,
.04,


0.15,
5*0.,
1.46,
5*0.,
0.03,
5*0.,

0.22,
0.09,
5.83,
0.64,
0.07,
0.04,


0.

1.

0.


0.
0.
4.
0.
0.
0.


15,

46,

07,


19,
09,
99,
64,
06,
04,


0.08,

0.73,

0.04,


0.18,
3*0.,
4.79,
3*0.,
0.06,
3*0.7


0.08,

0.73,

0.04,


0.17,

4.51,

0.06,



0.08,

0.73,

0.04,


0.16,

4.27,

0.05,


DATA DH567
C



C



C
LDDV
H 0
C 0
N 0
LDDT
H 0
C 0
N 0


.08, 0.07, 0
.13, 0.09, o
.04, 0.04, 0

.08, 0.08, 0
.10, 0.10, 0
.06, 0.06, 0


.07, 0
.09, 0
.04, 0

.08, 0
.10, 0
.06, 0


.07, 0
.09, 0
.04, 0

.04, 0
.10, 0
.06, 0


.07,
.09,
.04,

.04,
.04,
.03,


0.03,
0.04,
0.04,

15*0.,
0.04,
0.03,


0.
0.
0.



03,
04,
03,



0.03,
0.04,
0.03,



12*0.,
12*0.,
12*0.,








14*0.,
0.

03,

0.03,

12*0.

/

DATA DH78/
C






C



C
HDDV
H 0
H 0
C 0
C 0
N 0
N 0
MC
H 0
C 3
N 0


.06, 0.06, 0
.00, 0.00, 0
.14, 0.15, 0
.09, 0.09, 0
.17, 0.18, 0
.00, 0.00, 0

.75, 1.44, 1
.22, 3-56, 2
.03, 0.0 , 0


.06, 0
.00, 0
.15, 0
.10, 0
.18, 0
.00, 0

.15, 0
• 53, 2
.0 , 0


.06, 0
.00, 0
.15, 0
.09, 0
.19. 0
.00, 0

• 95, 0
.46, 0
.00, 0


.06,
.00,
.16,
.09,
.19,
.00,

• 75,
.00,
.00,


0.06,
0.00,
0.16,
0.09,
0.19,
0.00,

0.70,
0.00,
0.00,


0.
0.
0.
0.
0.
0.

0.
0.
0.


06,
00,
16.
08.
19.
00,

00,
00,
00,


0.06,
0.00,
0.16,
0.08,
0.19,
0.00,

0.00,
0.00,
0.00,


0.00,
0.00,
0.12,
0.08,
0.00,
0.00,

0.00,
0.00,
0.00,


0.00,
0.00,
0.11,
0.08,
0.00,
0.00,

11*0.,
11*0.,
11*0.7

DATA ERB50K/
C




C



Low a
H
H
C
C
High
H
H
C
Ititude
0.108,0.101,
0.081,0.080,
1.765,1.616,
0.983,0.973,
altitude
0.108,0.101,
0.081,0.080,
1.765,1.616,

0.085,
0.079,
1.013,
0.967,

0.085,
0.079,
1.013,

0.088,
0.078,
1.052,
0.961.

0.088,
0.078,
1.052,

0.084
0.077
1.014
0.949

0.084
0.077
1 .014

,0.081

*








,0.076,
.0.982,
,0.939,

,0.081

9








,0.076,
,0.982






-------
501*348
5043^9
504350
504351
504352
504353
504354
504355
504356
504357
504358
504359
504360
504361
504362
504363
504364
504365
504366
504367
                                C-306

             Appendix C:  MOBILE** Block Data 0*4

     C  0.983,0.973,0.967,0.961,0.949,0.9397
                                                                                May 5, 1989
C  /BASEQ5/:
C
C
C  User supplied zero mile levels and deterioration rates arrays are
C  initialized to all zeroes.
c
      DATA ERUZML/576*0.0/,ERUDR/576*0.0/,ERU50K/48*0.0/
c
C
C  /BASEQ7/:
c
c
C  IPMOD starts all zeroes ( = all "no mods" ).
C
      DATA  IPMOD/3*0/
c
      END

-------
                   C-307



Appendix C: MOBILES Block Data 05
May 5, 1989
505000
£05001
P05002
505003
505001*
505005
505006
505007
505008
505009
505010
505011
505012
505013
505011*
505015
505016
505017
505018
CAcn i ft
505019
505020
505021
505022
505023
505021*
505025
505026
^05027
•05028
505029
505030
505031
505032
505033
505034
505035
505036
505037
505038
505039
505040
505041
505042
505043
505044
505045
505046
505047
505048
505049
505050
505051
505052
£0505 3
Bncncii
•upupt
505055
505056
505057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C
C
C
BLOCK DATA BD05

BLOCK DATA Subprogram 05= /IDLEQ1/./IDLEQ2/./I DLEQ3/

BLOCK DATA 05 initializes the zero mile levels (zmls) 6 deteriorati
(drs) (intercepts 6 slopes) and model year groups (mygs)' of the idl
emission rate equations. BD05 also initializes the untampered idle
offset values.

Common block array subscripts:

DRIDL(15,3,8,2) - DRIDL ( IG, IP, IV, IR )
MYGIDL(15,3,8,2) - MYGIDL ( IG, IP, IV, IR )
ZMLIDL(15,3,8,2) - ZMLIDL ( IG, IP, IV, IR )
UTIDOF(14,3,2) - UTIDOF ( IG, IP, IV)

Common block dictionary:

Name Type Description
/IDLEQ1/:

ZMLIDL R idle exhaust zero mile emission levels
DRIDL R idle exhaust deterioration rates

/IDLEQ2/:

MYGIDL 1 myg upper bounds for idle emission rate equation
intercept £ slope arrays (ZMLIDL, DRIDL)
MAXIDL 1 maximum no. of idle ef mygs for any IP x IV x IR case

/IDLEQ3/:

UTIDOF R untampered HC & CO idle offset & NOx average idle ef

Local array subscripts:

For zmls 6 drs:

KJXKXL>(15,3,2) - KJXK> ( IG, IP, IVER )

where  = Z (zero mile level), D (deterioration rate)
 = L (low altitude region), H (high altitude region)
 = 1 (LDGV.LDGT1) , 2 (LDGT2.HDGV) , 3 (LDDV.LDDT), 4 (HDDV,
IVER =1 (1st of vt pair K) , 2 (2nd of vt pair K)

For mygs:

IDLLO(15,3) - IDLLO ( IG, IP )
IDLHKIV>(15,3) - IDLHKIV> ( IG, IP )

Local array dictionary:
«
Name Type Descriptions

| R as defined above, the intercept/slope  in regi
for vehicle type pair  of the idle exhaust emi
rate equation




on rates
e exhaust


























values









MC)











on 
ss ion


-------
                   C-308




Appendix C: MOBILES Block Data 05
May 5, 1989
505058
505059
505060
505061
505062
505063
505064
505065
505066
505067
505068
505069
505070
505071
505072
505073
505074
505075
505076
505077
505078
505079
505080
505081
505082
505083
505084
505085
505086
505087
505088
505089
505090
505091
505092
505093
505094
505095
505096
505097
505098
505099
505 i oo
505101
505102
505103
505 104
505105
505106
505107
505108
505109
505110
505111
505112
505H3
505114
505115
C IDLLO 1 low altitude myg upper bounds for IDLE ERs
C IDLHKIV> 1 high altitude myg upper bounds for IDLE ERs
C
C Notes:
C
C BD 05 was updated for MOBILE4.
C BD 05 was modified for MOBILE4 with the addition of untampered
C idle offsets.
C
C
COMMON /IDLEQ1/ ZML 1 DL (15, 3,8,2) ,DRI DL (15,3,8,2)
COMMON /IDLEQ2/ MYG 1 DL (15, 3,8,2) ,MAXI DL
COMMON /IDLEQ3/ UTI DOF (14, 3, 2)
C
REAL IZL1 (15,3,2) ,I2L2(15,3,2) , IZL3 (15,3,2) , 1 ZL4 (15,3,2)
REAL IZH1 (15,3,2) ,IZH2(15,3,2) , IZH3 (15,3,2) , 1 ZH4 (15,3,2)
REAL IDL1 (15,3,2) , 1 DL2 (15, 3, 2) , IDL3 (15,3,2) , IDU (15.3,2)
REAL IDH1 (15,3,2) . IDH2 (15,3,2) , IDH3 (15,3.2) , IDHU 05,3,2)
C
EQUIVALENCE
* (ZMLIDLO, 1,1,1) , IZL1 (1,1,1)) , (ZMLIDLO, 1,3,1) , 1 ZL2 (1 , 1 , 1) ) ,
* (ZMLIDLO, 1, 5, 1) , IZL30,1,D) , (ZMLIDLO, 1, 7, 1) ,IZL4(1, 1,1)) ,
* (ZMLIDLO, 1,1, 2) ,IZH1 (1.1,1)) , (ZML 1 DL (1 , 1 , 3,2) , 1 ZH2 (1 , 1 , 1) ) ,
* (ZMLIDLO, 1,5. 2), IZH30, 1,1)), (ZML 1 DL (1 , 1 ,7,2) , 1 ZH4 (1 , 1 , 1) )
C

ft
ft
ft
ft
C

ft
ft
ft
ft
ft
ft
ft
*
C

ft
ft
ft
ft
ft
ft
*
ft
C

ft
ft
ft
ft
ft
ft
EQUIVALENCE
(DRIDLO, 1,1,1)
(DRIDLO, 1,5,1)
(DRIDLO, 1,1, 2)
(DRIDLO, 1,5, 2)

DIMENSION
IDLL01 05,3) ,
IDLL0205.3).
IDLL0305.3),
IDLL0405.3) ,
IDLL0505.3) ,
IDLL0605.3) ,
IDLL0705.3),
IDLL0805.3)

EQUIVALENCE
(MYG IDL (1,1,1,
(MYGIDLO.1,2,
(MYG IDL (1,1, 3,
(MYG IDL (1,1, 4,
(MYGIDL(1,1,5,
(MYGIDLO.1,6,
(MYG IDL (1,1, 7,
(MYGIDL(1,1,8,

DIMENSION
IDLHI1 05,3) ,
IDLHI205.3) ,
IDLHI305.3).
IDLHI405.3),
IDLHI505.3) ,
IDLHI605.3) ,

, IDL1 (1,1,1)) , (DRIDLO, 1,3,1) JDL2 (1,1,1) ) ,
, IDL3 0,1,1)), (DRIDLO, 1,7,1) ,IDL4 (1,1,1) ) ,
, IDH1 (1,1,1)) , (DRIDLO, 1,3, 2) ,IDH2 (1,1,1)),
, IDH3 (1,1,1) ). (DRIDLO, 1,7, 2) ,IDH4 (1,1,1))












1) .IDLL01 (1,1)) ,
1) ,IDLL02(1,1)) ,
1),IDLL03(1,D),
1) ,IDLL04(1,1)) ,
1) , IDLL050.D) ,
1) ,IDLL06(1,1)) ,
1) ,IDLL07(1.D) ,
1) , IDLL080.1))









-------
                   c-309



Appendix C: MOBILES Block Data 05
May 5, 1989
505116
J05H7
fo5H9
505120
505121
505122
505123
505124
505125
505126
505127
505128
505129
505UO
505131
505132
505133
505134
505135
505136
505137
505138
505139
505140
505141
505142
85143
5144
5145
505146
505147
505148
505149
505150
505151
505152
505153
505154
505155
505156
505157
505158
505159
505160
505161
505162
505163
505164
505165
505166
505167
505168
§5169
5170
5171
505172
505173
* IDLHl7d5,3),
* IDLHI8(15,3)
C
EQUIVALENCE
* (MYGIDLd, 1,1, 2) .IDLHI1 (1,
* (MYGIDLd, ,2,2) ,IDLHI2(1,
* (MYGIDLd, ,3,2) ,IDLHI3(1,
* (MYGIDLd, ,4,2) ,IDLHl4(l,
* (MYGIDLd, ,5,2) ,IDLHI5(1,
* (MYGIDLd, ,6,2) ,IDLHl6(l,
* (MYGIDLd, ,7,2) ,IDLHI7(1,
* (MYGIDLd, 1,8, 2) ,IDLHI8(1,
C
C
C /IDLEQ1/:
C
C
C Idle exhaust emission zero mile
C rates. 1-2 lines per pollutant
C continuation line characters (H,
C
C Zero mile level s
C
C Apparent duplicate zml's are in
C
C Low altitude region
C
DATA IZL1/
C LDGV
H 79-20
H 5-16
C825.60
c 13.20
N 5-40
N 1.94
C LDGT1
H 79-20
H 6*0.
C825.60
C 26.04
N 5.40
C
DATA 1
C LDGT2
H 100.2
C1138.8
N 4.8
C HDGV
H 137.4
C1330.8
N 2.4
C
, 64.20
, 5-10
,839-40
, 11.64
, 10.20
, 1.83

, 64.20
0,
,839-40
, 22.32
, 10.20

ZL2/

, 63.6,
,691.8,
, 6.0,

, 51.0
,1330.8
3.0

, 32.
, 5-
,710.
, 13-
, 8.
, l.

, 32.

,710.
, 5*0
, 8.



63.6
691 .8
4.2

, 51.
,369.
, 3-

40
28
40
32
40
37

40

40
.0
40



*
9
9

0,
0,
6,

, 43.20
, 4.92
,759.60
, 13.08
, 15-60
, 1.22

, 43.20

,759.60
,
, 3.60



12.12,
91.8, 1
3.6,

25-8,
»
f
D),
D),
D),
D),
D),
D),
D),
D)
levels and deter
for each vehicle
C,N for HC, CO 6
fact pai red wi th
18.
4.
,360.
»
*
f

»

13-
3-
2*0

22.

,376.

*



11
17
2

25
369.0,385
4.2,

0


2.



.22
• 78
• 36

.8,
.2,
.6,

00, 14.22
86,
0,189
68,
60,
.0,

20, 1

0.0,
.60,
0.0,
2.89


2.12

20, 91.80

36,



, 4.
, 26.
, 1.

6.0
42.0
10*0


1.47



32,
, 1.

ioration (per 10000 miles)
type, as indicated by the
NOx, respectively) .
differing dr's 6 viceversa
92, 4.56, 4.44,

6.00,20.40,21.90,

, 2.


, H

, 91


44, 2.36, 2.18,


.22, 4.32, 7-32,

.80, 117.78,

, 9*0. o/



7.32
04,22.32
47,

, 6
, 20
./

9*0.

.0,
.4,





, 8*0.0,
, 8*0.0,
0,

8*0.0,
8*0.0,


DATA IZL3/
C LDDV
H 8.40,
C13.80,
N 7-80,
C LDDT

1.80,
8.40,

2.40,
9.60,
13.20,10.20,



3
10
12


.60, 3.
.20,10.
.00,10.


00
80
80


, 1
, 9
,11


.80,
.00,
.40,


9*0.
9*0.
8.40


0,
0,
, 5.




40, 7*0.0,


-------
                   C-310




Appendix C: MOBILE** Block Data 05
May 5, 1989
505m
505175
505176
505177
505178
505179
505180
505181
505182
505183
50518*4
505185
505186
505187
505188
505189
505190
505191
505192
505193
505 194
505195
505196
505197
505198
505199
505200
505201
505202
505203
50520i«
505205
505206
505207
505208
505209
505210
505211
505212
505213
505214
505215
505216
505217
505218
505219
505220
505221
505222
505223
50522k
505225
505226
505227
505228
505229
505230
505231
H 4.80, 6.00, 4.20, 12*0.0,
CIS. 00, 18. 60, 18. 60, 12*0.0,
Nil. 1»0,19. 20,20.1*0, 7- 80, 11*0. /
C
DATA IZL4/
C HDDV
H 21.6, 16.2, 13*0.0,
C 1*0.2, 11**0.0,
N 55.2, 13.2, 13*0.0,
C «C
H117-0, 1*1*. 1*, 35.1*. 12*0.0,
C259-8.175. 2, 11*0.1*. 12*0.0,
N 0.6, 1.8, 2. 1*. 12*0./
C
C High altitude region
C
DATA IZH1/
C LDGV
H 97.80, 1*5.60, 1*2.60, 1*1*. 1*0, 16.20, 29.30, 3.81, 7.21*. 7.31,
H 7-65, 7.10, 7-43, 6.88, 6.83, 0.0,
C 958. 80, 671*. 1*0, 775- 80, 839- AO, 1*1*5. 20, 233- 50, 35-70,27.1*7,
C 27.1*7, 26.61*. 19.1*8, 22.21*. 21.91, 22.85, 0.0,
N 6.60, 5.1*0, i».20, 2.39, 1-36, 1.29, 1-34, 1.27,
N 1.02, 0.92, 5*0.0,
C LDGT1
H 97-80, 1*5-60, 1*2.60, 1*1*. 1*0, 19.80, 9.00, 18.0, 33.06,
H 33-06, 12.71*. 21.59, i**o.o,
C 958. 80, 671*. 1*0, 775- 80, 839. 1*0,1*65. 60, 180.0, 363. 00, 225- 50,
c 225.50, 50.0, 1*2.85, i**o.o,
N 6.60, 5.1*0, 1*.20, 2.39, 1-36, 1.34, 9*0.0/
C
DATA IZH27
C LDGT2
H 123.60, 65.1*0, 65.1*0, 33-06, 33.06, 12.71*, 21.59, 8*0.0,
C1322. 1*0, 761*. 1*0, 761*. 1*0, 225. 50, 225. 50, 50.0, 1*2.85, 8*0.0,
N 6.0, 3.0, 2.1., 2.39, 1-36, 1.34, 9*0.0,
C HDGV
H 169.8, 52.2, 52.2, 26. 1», 13.8, 7-2, 9*0.0,
C15l»5.0, 1*08.0, 1*08.0, 1*25.1*, 72.6, 29. l», 9*0.0,
N 3.0, 1.8, 1*.2, 0.6, 11*0.07
C
DATA IZH3/
C LDDV
H 19.2, 1*.2, 5.4, 8.1*. 7.2, 1*.2, 2.1*. 1.8, 7*0.0,
C 21*. 0, 15.0, 16.8, 18.0, 19.2, 15.6, 9-0, 8*0.0,
N 7.8, 13.2, 10.2, 7.80, 10.8, 11. i», 8.1*. 5.1*. 7*0.0,
C LDDT
H 10.8, 13.8, 1».2, 12*0.0,
C 31.8, 32.1*, 32.1*, 18.6, 11*0.0,
N 11.4, 19-2, 20.1*, 7.8, 11*0.7
C
DATA IZHl*/
C HDDV
H 1*9.8, 37-2, 13*0.0,
C 70.2, 14*0.0,
N 55-2, 13.2, 13*0.0,
C MC
H 141*. 6, 31-8, 46.8, 1.2*0.0,

-------
505232
BP5233
|05234
505235
505236
505237
505238
505239
505240
505241
505242
505243
505244
505245
505246
505247
505248
505249
505250
505251
505252
505253
505254
505255
505256
505257
505258
g>5259
505261
505262
505263
505264
505265
505266
505267
505268
505269
505270
505271
505272
505273
505274
505275
505276
505277
505278
505279
505280
505281
505282
505283
505284
iP5285
|b5286
505287
505288
505289


C
C
C
C
C

C





C




C

C



C


C

C



C



C

C



C



C
C
C

C




                             C-311

          Appendix C:  MOBILES Block Data 05

  C  301.8,  140.4, 153.6,  12*0.0,
  N    0.6,    1.2,  13*0./

Deterioration rates

Low altitude region

   DATA IDL1/
LDGV
  H 1.80,  3.60,  14.20,  k.20, 4.20,  3.90, 0.81., 1.56, 1.56, 1.50,
  H 1 .38,  1.20,  0.90,  0.72, 0.0,
  024.00,37.80,52.80,1*5.60,51.00, 27-96, 4.20,15.24,14.70,15.72,
  C16.38,15.66,12.84,11.16, 0.0,
  N 15*0.0,
LDGT1
  H 1.80,  3.60,  4.20,  2.40, 3.60,  3-60, 2.88, 1.68, 0.42, 6*0.0,
  024.00,37.80,52.80,45.60,43.20,34.92,34.92,11.10,16.44, 7.86,
  C 5*0.0,
  N 15*0./

   DATA IDL27
LDGT2
  H 1.80,  2.40,  1.80,  3.60, 2.88,  1.68, 0.42, 8*0.0,
  027.00,31.20,29.40,34.92,11.10,16.44, 7-86, 8*0.0,
  N 15*0.0,
HDGV
  H 2.40,  2.40,  1.20,  1.20, 1.80,  1.80, 1.80, 8*0.0,
  031.80,31.80,16.80,16.20,16.80,  8.40,10.80, 8*0.0,
  N 15*0.7

   DATA IDL37
LDDV
  H 0.60,  14*0.0,
  C 0.60,  0.60,  0.60,  0.60, 0.60,  0.60, 9*0.0,
  N 0.0, 0.0, 0.60, 0.60,  0.60, 0.60, 0.60, 0.60, 7*0.0,
LDDT
  H 0.60,  0.60,  0.60,  12*0.0,
  C 1.20,  0.60,  0.60,  12*0.0,
  N 0.60,  0.60,  0.60,  0.60,11*0.7

   DATA IDL4/
HDDV
  H 15*0.0,
  C 0.60,  14*0.0,
  N 15*0.0,
MO
  H25.20,21.60,22.80,12*0.0,
  C13.80.30.0,15.60,12*0.0,
  N 15*0.07

High altitude region

   DATA IDH1/
LDGV
  H 1.80,  3.60,  4.20,  2.40, 4.20,  3-48, 1.17, 1-54, 1.48,
  H 1.49,  1.37,  1.20,  0.88, 0.73,  o.o,
  024.00,37.80,52.80,45.60,51.00,13.08, 3.05,15.25,14.72,
  015.69,16.38,15.68,12.82,11.18,  o.o,
May 5, 1989

-------
505290
505291
505292
505293
505294
505295
505296
505297
505298
505299
505300
505301
505302
505303
505304
505305 .
505306
505307
505308
505309
505310
5053H
505312
505313
505314
505315
505316
505317
505318
505319
505320
505321
505322
505323
505324
505325
505326
505327
505328
505329
505330
505331
505332
505333
505334
505335
505336
505337
505338
505339
5053l»0
50531*1
5053A2
5053l»3
50531*1*
5053l»5
50531*6
505347

C





C

C



c



c

c



c



c

C



C



c
c
c
c
c
c
c







c






                             C-312

          Appendix C:  MOBILE4 Block Data 05

  N 15*0.0,
LDGT1
  H 1.80, 3.60,  4.20,  2.40, 3-60, 3-60, 3.60,  3-59, 2.86,
  H 1.68, 0.06,  4*0.0,
  024.00,37.80,52.80,45.60,43.20,43.20,43.20,34.91,11.10,
  C16.44, 7.86,  4*0.0,
  N 15*0.7

   DATA  IDH27
LDGT2
  H 1.80, 2.40,  1.80,  3-59, 2.86, 1.68, 0.06,  8*0.0,
  027.00,31.20,29.40,34.91,11.10,16.44, 7.86,  8*0.0,
  N 15*0.0,
HDGV
  H 2.40, 2.40,  1.20,  0.60, 1.80, 2.40, 9*0.0,
  C31.80,l6.80,l6.20,l6.80, 8.40,16.80, 9*0.0,
  N 15*0.7

   DATA  IDH3/
LDDV
  H 0.60, 14*0.0,
  C 0.60, 0.60,  0.60,  0.60, 0.60, 0.60, 0.60,  8*0.0,
  N 0.0  , 0.0 ,  0.60,  0.60, 0.60, 0.60, 0.60,  0.60, 7*0.0,
LDDT
  H 0.60, 0.60,  0.60,  12*0.0,
  C 1.20, 1.20,  0.60,  0.60, 11*0.0,
  N 0.60, 0.60,  0.60,  0.60, 11*0.07

   DATA  IDH4/
HDDV
  H 15*0.0,
  C 0.60, 14*0.0,
  N 15*0.0,
MC
  H25-20,21.60,22.80,  12*0.0,
  013.80,30.0,15.60,  12*0.0,
  N 15*0.07
/IDLEQ27:
mygs for low altitude idle emission rates

   DATA IDLL017
  H   1967,1969,1971,1974,1976,1979,1980,1981,1982,1983,
  H   1984,1986,1989,2020,0000,
  C   1967,1969,1971,1974,1976,1979,1980,1981,1982,1983,
  c   1984,1986,1989,2020,0000,
  N   1967,1972,1974,1976,1979,1980,1981,1982,1983,1984,
  N   1986,1989,2020,0000,00007

   DATA IDLL027
  H   1967,1969,1971,1971*, 1976,1981,1983,1987,2020,0000,
  H   0000,0000,0000,0000,0000,
  c   1967,1969,1971,1971*, 1978,1980,1981,1983,1987,2020,
  C   0000,0000,0000,0000,0000,
                    I,1383,1987,2020,0000,0000,0000,0000,
                                                                  May 5,  1989

-------
                             C-313
505348
£05349
•05350
505351
505352
505353
505354
505355
505356
505357
505358
505359
505360
505361
505362
505363
505364
505365
505366
505367
505368
505369
505370
505371
505372
505373
505374
*05375
§05376
505377
505378
505379
505380
505381
505382
505383
505384
505385
505386
505387
505388
505389
505390
505391
505392
505393
505394
505395
505396
505397
505398
505399
505400
§5401
5402
5403
505404
505405
N
C
1
H
H
C
C
N
N
C
1
H
H
C
C
N
N
C
1
H
H
C
C
N
N
C

H
H
C
C
N
N
C

H
H
C
C
N
N
C

H
H
C
C
N
N
C
C myg
C
!
H
H
C
C
•N
          Appendix C:  MOBILES Block Data 05

      0000 , 0000 , 0000 , 0000 , OOOO/

   DATA IDLL03/
      1969, 1973, 1976, 1981 , 1983, 1987,2020,0000,0000,0000,
      0000 , 0000 , 0000 , 0000 , 0000 ,
      1969, 1973, 1978, 1981 , 1983, 1987,2020,0000,0000,0000,
      0000 , 0000 , 0000 , 0000 , 0000 ,
      1969, 1973, 1978, 1983, 1987,2020,0000,0000,0000,0000,
      0000 , 0000 , 0000 , 0000 , OOOO/

   DATA IDLLOV
      1969, 1973, 1978, 1982, 1981*. 1985,2020,0000,0000,0000,
      OOOO , OOOO , OOOO , OOOO , OOOO ,
      1962, 1969, 1973, 1978, 1983, 198*4, 2020, oooo, oooo, oooo,
      OOOO , OOOO , OOOO , OOOO , OOOO ,
      1969, 1973,1983,1981*, 2020, oooo, oooo, oooo, oooo, oooo,
      oooo , oooo , oooo , oooo , oooo/

   DATA IDLL05/
      19714, 1976, 1977, 1978, 1979,2020,0000,0000,0000,0000,
      OOOO , OOOO , OOOO , OOOO , OOOO ,
      1974, 1976, 1977, 1978, 1979,2020,0000,0000,0000,0000,
      oooo , oooo , oooo , oooo , oooo ,
      1971*. 1976, 1977, 1978, 1979, 1980, 1984,2020,0000,0000,
      oooo , oooo , oooo , oooo , oooo/

   DATA IDLL06/
      i 977 , i 980 , 2020 , oooo , oooo , oooo , oooo , oooo , oooo , oooo ,
      oooo , oooo , oooo , oooo , oooo ,
      1977,1 980 , 2020 , oooo , oooo , oooo , oooo , oooo , oooo , oooo ,
      oooo , oooo , oooo , oooo , oooo ,
      1 977 , 1 980 , 1 986 , 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
      oooo , oooo , oooo , oooo , oooo/

   DATA IDLL07/
May 5, 1989
          , 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
      oooo , oooo , oooo , oooo , oooo ,
      2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
      oooo , oooo , oooo , oooo , oooo ,
      1984,2020, OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
      oooo , oooo , oooo , oooo , oooo/

   DATA IDLL08/
      1 977 , 1 979 , 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
      oooo , oooo , oooo , oooo , oooo ,
      1977,1979,2020,0000,0000,0000,0000,0000,0000,0000,
      oooo , oooo , oooo , oooo , oooo ,
      1977,1979, 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
      oooo , oooo , oooo , oooo , oooo/

mygs for high altitude idle emission rates

   DATA IDLHI1/
      1967,1969,1971,1974,1976,1979,1980,1981,1982,1983,
      1984, 1986, 1989,2020,0000,
      1967, 1969, 1971 , 1974, 1976, 1979, 1980, 1981 , 1982, 1983,
      1984,1986,1989,2020,0000,
      1367,1972,1976,1980,1981,1983,1984,1986,1989,2020,

-------
505406
5051*07
505408
505409
505410
50541 1
505412
505413
505414
505415
505416
505417
505418
505419
505420
505421
505422
505423
505424
505425
505426
505427
505428
505429
505430
505431
5051*32
505433
505434
505435
505436
505437
5051*38
505439
505440
505441
505442
505443
505444
505445
505446
505447
505448
505449
505450
505451
505452
5051*53
505451*
5051*55
5051*57
505458
5051*59
505460
505461
505462
505463
N
C •
I
H
H
C
C
N
N
C
1
H
H
C
C
N
N
C
1
H
H
C
C
N
N
C
1
H
H
C
C
N
N
C
1
H
H
C
C
N
N
C

H
H
C
C
N
N
C
H
H
C
C
N
N
C
                           C-314

        Appendix C: MOBILES Block Data 05

N   0000,0000,0000,0000,00007

 DATA IDLHI2/
    1967,1969,1971,197**, 1976, 1977,1978,1981,1983,1987,
    2020,0000,0000,0000,0000,
    1967,1969,1971,1971*,1976,1977,1978,1981,1983,1987,
    2020,0000,0000,0000,0000,
    1967,1972,1978,1981,1987,2020,0000,0000,0000,0000,
    0000,0000,0000,0000,OOOO/

 DATA IDLHI3/
    1969,1973,1978,198!,1983,1987,2020,0000,0000,0000,
    0000,0000,0000,0000,0000,
    1969,1973,1978,1981,1983,1987,2020,0000,0000,0000,
    0000,0000,0000,0000,0000,
    1969,1973,1978,1981,1987,2020,0000,0000,0000,0000,
    0000,0000,0000,0000,OOOO/

 DATA IDLHI4/
    1969,1973,1978,1983,19814,2020,0000,0000,0000,0000,
    OOOO,OOOO,OOOO,OOOO,OOOO,
    1969,1973,1978,1983,1984,2020,0000,0000,0000,0000,
    OOOO,OOOO,OOOO,OOOO,OOOO,
    1969,1983,1984,2020,0000,0000,0000,0000,0000,0000,
    0000,0000,0000,0000,00007

 DATA IDLHI57
    1974,1976,1977,1978,1979,1981,1983,2020,0000,0000,
    OOOO,OOOO,OOOO,OOOO,OOOO,
    1974,1976,1977,1978,1979,1983,2020,0000,0000,0000,
    OOOO,OOOO,OOOO,OOOO,OOOO,
    1974,1976,1977,1978,1979,1980,1984,2020,0000,0000,
    OOOO,OOOO,OOOO,OOOO,OOOO/

 DATA IDLHI6/
    1978,1983,2020,oooo,oooo,oooo,oooo,oooo,oooo,oooo,
    OOOO,OOOO,OOOO,OOOO,OOOO,
    1978,1979,1983,2020,0000,0000,0000,0000,0000,0000,
    oooo,oooo,oooo,oooo,oooo,
    1978,1979,1984,2020,0000,0000,0000,0000,0000,0000,
    oooo,oooo,oooo,oooo,oooo/

 DATA IDLHI77
    1984,2020,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,
    oooo,oooo,oooo,oooo,oooo,
    2020,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,
    oooo,oooo,oooo,oooo,oooo,
    1984,2020,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,
    oooo,oooo,oooo,oooo,oooo/

 DATA IDLHI8/
    1977,1979,2020,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,
    oooo,oooo,oooo,oooo,oooo,
    1977,1979,2020,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,
    oooo,oooo,oooo,oooo,oooo,
    1977,2020,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,OOOO,
    oooo,oooo,oooo,oooo,oooo/
May 5, 1989

-------
                   C-315
Appendix C: MOBILES Block Data 05
May 5, 1989
5051*61*
§5465
5466
51*67
5051*68
5051*69
505^70
5051*71
5051*72
5051*73
5051*71»
5051*75
505W6
505^77
505^78
505i»79
5051*80
5051*81
5051*82
5051*83
5051*81*
5051*85
5051*86
5051*87
5051*88
5051*89
5051*90
£051*91
P5492
3051*93
5051*91*
5051*95
5051*96

C
C
C
C
C
C
C
C
C
C
C
C

C
C
C






C






C
C

DATA MAXIDL/15/


/IDLEQ3/:


Untampered HC & CO idle ef offsets (g/hr) and average NOx idle ef (g/hr)
by vehicle class and model year (IBs of MYGs 1 are in IDLREV in BEFIDL +
corresponding HDGV offsets and average efs are also in BEFIDL).

Note: 1979-1980 is actually 1 MYG for LDGT. The data points are duplicated
in order to have 1 to 1 correspondance between LDGV & LDGT MYG UBs.

DATA UTIDOF/
1979- 1980 1981 1982 1983 1984 1985
. 1986 1987 1988 1989 1990 1991 1992+
LDGV
H 0.00, 0.00, 0.00, 0.00, 1.56, 1.58, 1.22,
H 0.1*1, 0.32, 0.21*. 0.20, 0.17, 0.11, 0.05,
C 38. 77, -18. 92, -16. 88, -11*. 80, 2.83, 2. 04. -11. 77.
C -42 . 1 3 , -46 . 97 , -5 1 • 00 , -52 . 63 , -51* • 27 , -57 . 60 , -60 . 1 8 ,
N 3.98, 7-23, 6.85, 6.41, 2.07, 2.00, 1.93,
N 1.78, 1.72, 1.66, 1.64, 1.62, 1.57, 1.54,
LDGT1/2
H 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00,
H 0.73, 0.33, 0.24, 0.23, 0.22, 0.21, 0.16,
C 67.43, 67. 43, -14. 15, -15- 76, -14. 71, -14. 25, -14. 98,
C -23. 11, -22. 21, -50. 74, -51. 37, -52. 06, -52. 13, -54. 77,
N 3-98, 3.98, 7-34, 7-31, 7-37, 7.62, 6.96,
N 2.00, 1.73, 1.66, 1.66, 1.65, 1.65, 1.61/


END

-------
                   C-316



Appendix C: MOBILE'* Block Data 06
May 5, 1989
506000
506001
506002
506003
506001*
506005
506006
506007
506008
506009
506010
506011
506012
r f\£ f\ 1 3
5060 1 3
506014
506015
506016
506017
506018
506019
506020
506021
506022
506023
5060214
506025
5060Z6
506027
506028
506029
506030
506031
506032
506033
506034
506035
506036
506037
506038
506039
50601*0
50601*1
506042
50601*3
50601*1*
50601*5
506046
506047
506048
506049
506050
506051
506052
506053
506054
506055
506056
506057

C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C







C





BLOCK DATA BD06

BLOCK DATA Subprogram 06: /IM12HC/ CR12HC

BLOCK DATA 06 initializes the HC Tech 1-2 I/M credits array.

Common block array subscripts:

CR12HC(19,20,5,2) - CR12HC ( BY, AGE1ST, ISTRN, ITECH )

Common block dictionary:

Name Type Description


/IM12HC/:

CR12HC R I/M HC credit percentages for technologies 1 and 2

Local array subscripts:

R<|xJ>(19, 10) - R ( BY, AGE 1ST )

where 1 = 1,2; J = ISTRN; K = ITECH

Local array dictionary:

The local arrays are all technology 1 6 2 I/M HC credit percentages.
Their names follow the UK syntax described for the subscripts. Note that:

R<|XJ>(1,1) EQU to CR12HC(1,1,,) , if 1=1
CR12HC(1,11,,) , if 1=2

Notes:

BD 06 was split in MOBILE4 into BD 06 (for HC) and BD 07 (for CO).
The old BD 07 - BD 32 were each moved up a notch to BD 08 - BD 33-
CRED12's initialization is split across 2 BD because of the Microsoft FTN77
compiler's limit on the number of EQUIVALENCE statements in a BD.
BD 06 was modified in MOBILE4, removing mechanic training credits,
inserting in their place biennial Tech 1 6 2 credits, and changing the
credits to account for a new definition of Stringency and for new data.


COMMON /IM12HC/ CR12HC (19, 20,5,2)

DIMENSION
*RH1 (19,10) ,R211 (19,10) ,R121 (19,10),R221 (19,10) ,
*R131 (19,10) ,R231 (19,10),R141 (19,10) ,R24l (19,10) ,
*R151 (19,10) ,R251 (19,10) ,
*R112(19,10) ,R212(19,10) ,R122(19,10),R222(19,10),
*R132(19,10) ,R232(19,10),R142{19,10) ,R242(19,10) ,
*R152(19,10),R252(19,10)

EQUIVALENCE
*(CR12HC(1,1,1,1),R111(1,1)),(CR12HC(1,11,1,1),R21 1(1,1)),
*(CR12HC(1,1,2,1) ,R1 21 (1,1)) , (CR12HC (1,1 1,2,1) ,R221 (1,1)),
*(CR12HC(1,1,3,0 ,R131 (1,0) , (CR12HC (1,1 1,3,0 ,R231 (1,1)),
*(CR12HC(1,1,4,0 ,R141 (1,0) , (CR12HC (1 , 1 1 ,4, 1) ,R24l (1,0) ,

-------
                             c-317
506058
P6059
6060
506061
506062
506063
506064
506065
506066
506067
506068
506069
506070
506071
506072
506073
506074
506075
506076
506077
506078
506079
506080
506081
506082
506083
.506084
P6085
6086
506087
506088
506089
506090
506091
506092
506093
506094
506095
506096
506097
506098
506099
506100
506101
506102
506103
506104
506105
506106
506107
506108
506109
506110
P6111
6112
506113
506114
506115
*
*
*
it
*
it
C
C lns|
C
1
it
it
*
it
it
is
it
it
it
it
it
it
*
it
*
*
it
it
it
\
it
it
it
it
it
it
*
*
*
*
*
*
*
*
*
it
it
it
*
1
*
*
*
*
*
*
*
*
          Appendix  C:  MOBILE**  Block  Data 06

  *(CR12HC(1,1,5,1) ,R151 (1,1)) , (CR12HC(1,1
  *(CR12HC(1-, 1,1,2) ,R11 2(1,1) ), (CR12HC (1,1
  *(CR12HC(1,1,2,2) ,R122(1,1)) , (CR12HC0.1
  *(CR12HC(1,1,3,2) ,R132(1,0) , (CR12HC(1,1
                                                                May 5,  1989
*(CR12HC(1,1,4,2) ,
                              , (CR12HC(1,1
  *(CR12HC(1,1,5,2) ,R 152 (1,1)) , (CR12HC(1,1
,1,2) ,R212(1,1)) ,
,2,2),R222(1,1)),
,3.2),R232(1,D),
,4,2) ,R21*2(1,1)) ,
,5,2) ,R252(1,D)
Inspection  /  maintenance reduction percentages for technologies 1  through 2:

   DATA  Rlll/.028,.061,.057,.053,.053,.054,.055,.056,.056,.056,
             .056,.062,.068,.076,.083,.092,.100,.108,.116,
             .064,.054,.054,.053,.055,.054,.056,.056,.056,.056,
             .062,.068,.076,.083,.092,.100,.108,.116,.048,
             .065,-049,-051,.055,.055,.055,.056,.056,.056,.062,
             .068,.076,.083,.092,.100,.108,.116,.060,.049,
             .066,.050,.052,.053,-056,.056,.056,.056,.062,.068,
             .076,.083,.092,.100,.108,.116,.054,.060,.045,
             .068,.052,.054,.053,-054,.057,-056,-061,.068,.076,
             .083,.092,.100,.108,.116,.053,.049,.053,.045,
             .070,.051,.053,-053,.053,.055,.061,.067,.076,.083,
             .092,.100,.108,.116,.054,.048,.048,.052,.041,
             .072,.050,.053,.053,.055,.060,.066,.074,.083,.092,
             .100,.108,.116,.054,.048,.046,.042,.046,.041,
             .073,.052,.053,.055,.059,.065,.073,.082,.092,.100,
             .108,.116,.054,.048,.046,.042,.042,.045,.038,
             .074,.052,.053,.058,.065,.073,.082,.092,.100,.108,
             .116,.054,.049,.046,.041,.041,.037,-040,.036,
             .075,-052,.057,.063,.072,.081,.092,.100,.108,.116,
             .054,.049,.046,.042,.042,.036,.036,.037,-036/
   DATA  R211/.076,.056,.064,.072,.081,.090,.100,.108,.116,.054,
             .049,.046,.042,.042,.036,.036,.030,.036,.036,
             .080,.062,.072,.081,.089,.098,.107,.115,.054,.049,
             .046,.042,.042,.036,.035,.030,.029,.036,.034,
             .084,.069,.079,.088,.096,.106,.114,.054,.049,.046,
             .041,.042,.036,.035,.032,.029,-028,.034,.034,
             .089,.077,.086,.094,.103,-113,-054,.049,.046,.041,
             .042,.036,.035,-032,.030,.028,.029,-034,.035,
             .093,.085,.093,.101,.111,.054,.049,.046,.041,.042,
             .036,.035,.032,.030,.029,-029,-029,.035,.034,
             .098,.093,-099,.108,.054,.049,.046,.042,.042,.036,
             .036,.032,.030,.029,-030,.029,-029,.034,.032,
             . 102,.101,.106,.054,.049,.046,.042,.042,.037,.036,
             .032,.030,.030,.030,.028,.029,-029,.032,.032,
             .106,.108,.054,.049,.046,.042,.042,.037,.035,.032,
             .030,.030,.032,.028,.029,.029,-029,.032,.032,
             .109,.054,.049,.046,.042,.042,.037,.035,-032,.030,
             .030,.032,.030,.029,-028,.029,-028,.032,.032,
             .054,.049,.046,.042,.042,.037,.035,-032, .030,.030,
             .032,.030,.029,.028,.029,-028,.029,-032,.014/
   DATA  Rl21/.033,-080,.092,.096,.096,.098,.100,.101,.103,.104,
             .104,.111,.122,.131,.144,.155,.167,.177,.190,
             .075,.090,.095,.095,.098,.100,.101,.103,.104,.104,
             .111,. 122,.131,.144,.155,.167,.177,.190,.071,
             .080,.091,.093,.097,.100,.101,.103,.104,.104,.111,
             .122,.131,.143,.155,.167,.177,.190,.087,.069,
             .084,.091,.094,.098,.102,.102,.104,.105,.HI,.122,
             .131,. 143,.155,.167,.177,.190,.086,.084,.067,
             .086,.092,.097,.098,.103,.101,.104,.109,.122,.131,

-------
                                           C-318

                        Appendix C: MOBILES Block Data 06                       May 5,  1989

506116          *          .1**,.155,.167,.177,.190,.086,.080,.079,-06*,
506117          *          .088,.091,.098,.099,.102,.103,.109,.119,.131,.1*3,
506118          *          .155,.167,.177,-190,.087,.080,.078,.07*..061,
506119          *          .090,.091*,.098,.101,.101*,.no,.119,.131,-l1*1*,-155,
506120          *          .167,.177,.190,.087,.082,.077,.072,.069,.058,
506121          *          .093,.095,-098,.103,.ill,.120,.131,.!**,.155,.167,
506122          *          .177,.190,.089,.083..078,.071,.06?,.06*,.055,
506123          *          .095,.096,.097,-109,.120,.132,.1*3,-155,.168,.178,
50612*          *          .190,.089,.085,.079,.072,.066,.061,.058,.052,
506125          *          .097,.096,.102,.119,.132,.!**,.155,.167,.178,.190,
506126          *          .090,.086,.080,.072,.068,.061,.057,.053,.050/
506127           DATA R22I/.099,.100,.111,.129,.1*3,.155,.166,.177,.190,.090,
506128          *          .086,.080,.075,.068,.062,.057,.051,.050,.0*9,
506129          *          .10*..105,.121,.137,.153,.166,.178,.191,.090,.087,
506130          *          .081,.075,.069,.062,.057,.051,.0*9,.0*9,.050,
506131          *          .111,.115,.129,.1*6,.159,.177,.190,.090,.087,.081,
506132          *          .075,.069,.063,.057,.053,.0*9,.0*9,.050,.0*7,
506133          *          .117,.126,.1*0,.157,.172,.188,.091,.087,.081,.075,
50613*          *          .069,.063,.058,.053,.050,.0*9,.0*9,.0*7,.0*9,
506135          *          .123,.13*..151,.168,.182,.091,.087,.081,.075,.069,
506136          *          .06*,.058,.053,-050,.0*9,.0*9,.0*9,.0*9,.0*7,
506137          *          .129,.1*2,.160,.173,.091,.087,.081,.075,.070,.06*.
506138          *          .058,.053,.050,.0*9,.050,.0*9,.0*9,.0*7,.0*7,
506139          *          .13*,.153,.171,.091,.087,.081,.076,.070,.06*,.058,
5061*0          *          .053,.050,.050,.050,.0*9,.0*9,.0*7,.0*7,.0*6,
5061*1          *          .1*0,.162,.091,.087,.082,.076,.070,.06*..058,.053,
5061*2          *          .050,.050,.050,.0*9,.050,.0*7,.0*8,.0*6,.0*7,
5061*3          *          .1*5,.091,.087,.082,.076,.070,.06*,.058,.05*,.050,
5061**          *          .050,.050,.0*9,.050,.0*8,.0*8,.0*7,.0*7,.0*3,
5061*5          *          .091,.087,.082,.076,.070,.06*,.058,.05*,.050,.050,
5061*6          *          .050,.0*9,.0*9,.0*8,.0*9,.0*7,.0*9,.0*3,.016/
5061*7           DATA R131/.037,.095,. HI,.113,.115,.117,.120,.123,.125,.127,
5061*8          *          .129,.137,.1*8,.162,.177,.190,.203,.217,.231,
5061*9          *          .083,.112,.113,.115,-117,.120,.122,.125,.127,.129,
506150          *          .137,.1*8,.162,.177,.190,.203,.217,.230,.082,
506151          *          .088,.113,.116,.117,.119,.122,.125,.127,-129,.137,
506152          *          .1*8,.162,.177,.190,.203,.216,.230,.102,.080,
506153          *          .09*,.11*,.118,.121,.122,.125,-126,.129,.136,.1*8,
50615*          *          .162,.176,.190,.203,.216,.230,.105,.098,.078,
506155          *          .099,.116,.121,.123,.123,.126,.129,.136,.1*8,.161,
506156          *          .176,.190,.203,.216,.230,.105,.101,.093,-075,
506157          *          .103,.117,-122,.125,.126,.129,.137,-1*8,.161,.176,
506158          *          .190,.203,.216,.230,.107,.101,.09*..087,.072,
506159          *          .106,.118,.12*,.126,.128,.137,.1*8,.162,.176,.190,
506160          *          .203,.216,.230,.107,.102,.09*..089,.080,.068,
506161          *          .108,.120,.127,.128,.136,.1*9,.161,.176,.190,.203,
506162          *          .216,.230,.108,.102,.095,.089,.082,.075,.065,
506163          *          .111,.121,.130,.137,.1*9,.162,.176,.190,.203,.216,  '
50616*          *          .230,.108,.103,.095,.090,.082,.075,.069,.061,
506165          *          .113,.12*..139,.150,.163,.176,.190,.203,.216,.230,
506166          *          .109,.103,.096,.090,.08*,.076,.070,.062,.060/
506167           DATA R23V.116,.131,.150,.163,.176,.191,.203,.216,.230,.109,
506168          *          .103,.096,.090,.08*,.077,.070,.063,.060,.057,
506169          *          .123,.1*2,.161,.177,.189,.203,.217,.230,.109,.103,
506170          *          .096,.091,.08*,.077,.071,.063,.060,.057..058,
506171          *          .131,.155..172,.189,.203,.215,.230,.109,.10*..096,
506172          *          .091,.08*,.078,.071,.065,.060,.059,.058,.056,
506173          *          .139,.166,.185,.202,.217,.229,.109,.10*,.096,.091,

-------
                                           c-319
                        Appendix C: MOBILES Block Data 06
May 5, 1989
5061714
  6175
  6176
506177
506178
506179
506180
506181
506182
506183
506184
506185
506186
506187
506188
506189
506190
506191
506192
506193
506194
506195
506196
506197
506198
506199
506200
 .06201
  6202
 06203
506204
506205
506206
506207
506208
506209
506210
506211
506212
506213
506214
506215
506216
506217
506218
506219
506220
506221
506222
506223
506224
506225
506226
  6227
  6228
 06229
506230
506231
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
DATA
*
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
*
*
ft
ft
*
ft
DATA
ft
ft
ft
*
ft
ft
ft
ft
ft
*
*
ft
ft
ft
*
ft
ft
ft
ft
DATA
*
ft
*
ft
.084,
.146,
.079,
.152,
.072,
. .158,
.065,
.165,
.062,
.171,
.061,
.109,
.060,
R141/.043,
.138,
.096,
.148,
.102,
.162,
.108,
.176,
.113,
.191,
.116,
.206,
.120,
.221,
.123,
.236,
.126,
.251,
.•128,
.116,
R241/.130,
.111,
.137,
.102,
.146,
.096,
. 154,
.089,
.161,
.082,
.169,
.076,
.176,
.068,
.183,
.065,
.190,
.064,
.116,
.065,
R151/.050,
.138,
.111,
.149,
.113,
.078,
.175,
.071,
.187,
.065,
.197,
.062,
.210,
.061,
.109,
.060,
.104,
.058,
.108,
.148,
.125,
.162,
.126,
.176,
.126,
.191,
.127,
.206,
.129,
.221,
.132,
.236,
• 135,
.251,
.138,
.115,
.141,
.111,
.149,
.102,
.163,
.096,
.175,
.089,
.188,
.082,
.201,
.076,
.214,
.068,
.224,
.064,
• 237,
.063,
.116,
.065,
.112,
.064,
.121,
.149,
.133,
.163,
.132,
.071,
.198,
.065,
.212,
.062,
.224,
.061,
.109,
.060,
.104,
.058,
.097,
.060,
.122,
.163,
.122,
.176,
.125,
.191,
.127,
.207,
.130,
.222,
• 133,
.236,
.136,
.251,
.140,
.115,
.144,
.111,
.154,
.102,
.168,
.096,
.182,
.089,
.197,
.082,
.212,
.076,
.227,
.068,
.241,
.064,
• 255,
.063,
.116,
.065,
.112,
.064,
.103,
.065,
.130,
.163,
.126,
.178,
.127,
.065,
.217,
.061,
.229,
.060,
.109,
.060,
.104,
.058,
.097,
.060,
.091,
.058,
.121,
.177,
.122,
.191,
.124,
.207,
.127,
.222,
.130,
.236,
.133,
.251,
.136,
.114,
.140,
.110,
.150,
.101,
.165,
.096,
.179,
.089,
.194,
.082,
.210,
.076,
.225,
.067,
.240,
.064,
.256,
.063,
.116,
.064,
.112,
.063,
.103,
.065,
.097,
.065,
.125,
.179,
.125,
.193,
.125,
.061,
.230,
.060,
.109,
.060,
.104,
.058,
• 097,
.060,
.091,
.058,
.085,
.060,
.122,
.191,
.124,
.207,
.126,
.222,
.128,
.237,
.132,
.251,
.134,
.114,
.138,
.109,
.148,
.101,
.162,
.095,
.177,
.089,
.192,
.082,
.207,
.076,
.223,
.067,
.238,
.064,
.253,
.063,
.116,
.064,
.112,
.063,
.103,
.065,
• 097,
.065,
.090,
.067,
.125,
.193,
.125,
.208,
.125,
.059,
.109,
.059,
.104,
.058,
.097,
.060,
.091,
.058,
.085,
.060,
• 079,
.058,
.124,
.207,
.126,
.222,
.128,
• 237,
.131,
.251,
.134,
.111,
.137,
.109,
.147,
.101,
.162,
.095,
.176,
.088,
.191,
.081,
.206,
.075,
.221,
.068,
.236,
.064,
.251,
.064,
.116,
.064,
.111,
.063,
.103,
.065,
• 097,
.064,
.090,
.067,
.083,
.065,
.125,
.208,
.125,
.223,
.126,
.059,
.104,
.058,
.097,
.060,
.091,
.058,
.085,
.060,
.079,
.058,
.072,
.060,
.126,
.222,
.129,
• 237,
.132,
.251,
.134,
.111,
.137,
.109,
.147,
.101,
.162,
• 095,
.176,
.088,
.190,
.082,
.206,
.075,
.221,
.068,
.236,
.064,
.250,
.064,
.116,
.064,
.111,
.063,
.103,
.065,
.097,
.064,
.090,
.067,
.083,
.065,
.076,
.068,
.125,
.223,
.127,
.238,
.130,
.056,
.096,
.058,
.091,
.056,
.085,
.058,
.079,
.054,
.072,
.056,
.065,
.052,
.129,
.237,
.132,
.251,
.135,
.109,
.138,
.106,
.148,
.098,
.162,
.095,
.176,
.087,
.190,
.082,
.206,
.075,
.221,
.068,
.236,
.065,
.250,
.064,
.116,
.066,
.111,
.064,
.102,
.065,
.096,
.063,
.089,
.065,
.083,
.061,
.076,
.065,
.068,
.060,
.127,
.238,
.130,
.253,
.134,
.058
.091
.056
.085
.058
.079
.054
.072
.056
.065
.052
.062
t
t
9
»
9
9
f
»
»
*
f
9

.084,

• 079,

.072,

.065,

.062,

.061,
.0197
.132
.251
.135
.087
.138
.087
.148
.083
.162
.082
.176
.077
.191
.075
.206
.071
.221
.068
.236
t
f
f
(
»
1
»
f
»
*
»
»
t
1
*
»
»
»
t
• 135,

.138,

.148,

.162,

.176,

.191,

.206,

.221,

.236,

.251,
.0657
.250
.064
.116
.066
.111
.064
.102
.065
.096
.063
.089
.065
.083
.061
.076
.065
.068
.060
.065
»
f
f
»
»
)
t
)
»
)
>
»
1
1
f
I
)
1
9
.116,

.111,

.102,

.096,

.089,

.082,

.076,

.068,

.065,

.064,
.0227
.130
.253
.134
.092
.138
9
t
f
»
»
.13*.

.138,

.149,

-------
                                           C-320
                        Appendix C:  MOBILES Block  Data  06
May 5,  1989
506232
506233
506234
506235
506236
506237
506238
506239
506240
506241
506242
506243
506244
506245
506246
506247
506248
506249
506250
506251
506252
506253
506254
506255
506256
506257
506258
506259
506260
506261
506262
506263
506264
506265
506266
506267
506268
506269
506270
506271
506272
506273
506274
506275
506276
506277
506278
506279
506280
506281
506282
506283
506284
506285
506286
506287
506288
506289
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
DATA
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
*
ft
ft
ft
ft
ft
DATA
ft
*
ft
*
*
ft
ft
ft
*
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
DATA
ft
*
.163,
.118,
.178,
.122,
.192,
.126,
.207,
.129,
.222,
.131,
.237,
.134,
.252,
.136,
.116,
R251/.138,
.111,
.145,
.104,
.154,
.097,
.162,
.092,
.170,
.085,
.177,
.079,
.185,
.071,
.191,
.•068,
.198,
.067,
.117,
.068,
R112/.024,
.223,
.066,
.236,
.071,
.246,
.077,
.258,
.080,
.270,
.086,
.282,
.088,
.291,
.090,
• 303,
.092,
• 312,
• 093,
.179,
R212/.095,
.172,
.036,
.178,
.132,
.192,
.134,
.207,
.136,
.223,
.137,
• 237,
.139,
.253,
.142,
.116,
.146,
.111,
• 157,
.103,
.171,
.097,
.186,
.092,
.201,
.085,
.214,
.079,
.227,
.070,
.240,
.068,
.253,
.067,
.117,
.068,
.112,
.067,
.076,
.237,
.100,
.249,
.110,
.260,
.119,
.272,
.124,
.282,
.132,
.294,
.135,
.304,
.141,
.315,
.147-,
.179,
.153,
.171,
.158,
.162,
.163,
.193
.128
.207
.131
.223
.135
.237
.140
• 253
.144
.116
.150
.111
.161
.103
.176
.097
• 193
.092
.209
.085
.224
.079
.240
.070
.255
.068
.270
.067
.117
.068
.112
.067
.104
.069
.104
.250
.122
.264
.132
• 274
.142
.284
.150
.294
.161
.305
.170
• 315
.178
.176
.186
.169
.194
.161
.201
.153
.207
9
9
9
9
9
9
9
9
9
$
9
r
*
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
*
t
9
«
t
9
9
•»
.208,
.126,
.223,
.127,
.238,
.130,
.253,
• 135,
.115,
.141,
.111,
.152,
.103,
.168,
.097,
.183,
.091,
.199,
.084,
.215,
.079,
.231,
.070,
.247,
.067,
.262,
.066,
.117,
.068,
.112,
.066,
.104,
.069,
.098,
.068,
.123,
.264,
.137,
.275,
.149,
.286,
.162,
.296,
.173,
.306,
.184,
• 317,
.193,
.169,
.200,
.164,
.210,
.158,
.219,
.151,
.228,
.144,
.236,
.223,
.126,
.238,
.128,
.253,
.131,
.116,
.136,
.111,
.147,
.103,
.162,
.097,
.178,
.091,
.193,
.084,
.208,
.079,
.224,
.070,
.239,
.067,
.255,
.066,
.117,
.068,
.112,
.066,
.104,
.069,
.098,
.068,
.093,
.071,
.138,
.275,
• 153,
.288,
.167,
• 299,
.180,
• 310,
.191,
.318,
.200,
.160,
.210,
• 155,
.219,
.150,
.229,
.144,
.237,
.138,
.246,
.132,
.256,
.238,
.129,
.253,
.132,
.116,
.137,
.ill,
.147,
.103,
.161,
• 097,
.176,
.092,
.191,
.084,
.207,
.078,
.222,
.071,
• 237,
.067,
.252,
.066,
.116,
.068,
.111,
.067,
.104,
.069,
.098,
.067,
• 093,
.071,
.086,
.068,
.154,
.288,
.170,
.300,
.182,
• 310,
.193,
• 322,
.204,
.148,
.215,
.144,
.225,
• 139,
.233,
.134,
.244,
.128,
• 253,
.123,
.264,
.117,
.274,
.253,
.133,
.117,
.137,
.ill,
.148,
.103,
.162,
.097,
.177,
.092,
.192,
.084,
.206,
.078,
.221,
.071,
.237,
.067,
.252,
.066,
.116,
.068,
.111,
.067,
.104,
.069,
.098,
.067,
.093,
.071,
.086,
.068,
.079,
.072,
.170,
.301,
.182,
.313.
• 195,
.323,
.207,
.125,
.218,
.123,
.228,
.120,
.238,
.117,
.248,
.112,
.259,
.109,
.269,
.104,
.280,
.100,
.290,
.115,
.138,
.112,
.148,
.104,
.163,
.101,
.177,
.093,
.192,
.087,
.206,
.080,
.222,
.073,
.237,
.069,
.252,
.068,
.116,
.070,
.111,
.068,
.104,
.071,
.098,
.068,
• 093,
.071,
.085,
.067,
.079,
.071,
.071,
.067,
.183,
• 314,
.196,
.327,
.207,
.096,
.218,
.094,
.230,
.093,
.241,
.090,
.252,
.089,
.262,
.086,
.274,
• 083,
.284,
.080,
.296,
.078,
• 306,
.093,
.148,.
.088,
.163,.
.086,
.178,.
.082,
.192,.
.079,
.207,.
.076,
.222,.
.072,
•237,.
.0697
.252,.
.068,
.116,.
.070,
.111,.
.068,
.104,.
.071,
.097,.
.068,
.093,-
.071,
.085,.
.067,
.079,.
.071,
.071,.
.067,
.068,.
.0257
.197,.
.327,
.210,.
.056,
.219,.
.052,
.231,.
.054,
.243,.
.052,
.254,.
.054,
.265,.
.050,
.276,.
.050,
.288,.
.049,
.297,.
.0497
.308,.
.047,
.183,.

163,

178,

192,

207,

222,

237,

252,

116,

111,

104,

097,

093,

085,

079,

071,

068,

067,

211,

222,

232,

244,

256,

268,

280,

292,

300,

309,

181,

174,

-------
                                              C-321
                           Appendix  C:  MOBILE4  Block  Data 06
                                                                                 May  5,  1989
   ^ —
m
506290
  6291
  6292
506293
50629*
506295
506296
506297
506298
506299
506300
506301
506302
506303
506304
506305
506306
506307
506308
506309
506310
506311
506312
506313
50631*
506315
506316
 06317
  6318
506319
506320
506321
506322
506323
506324
506325
506326
506327
506328
506329
506330
506331
506332
506333
506334
506335
506336
506337
506338
506339
506340
506341
506342
     6344
   506345
   506346
   506347
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
DATA
ft
ft
ft
*
ft
*
ft
ft
ft
ft
ft
ft
ft
ft
*
ft
ft
ft
ft
DATA
ft
*
ft
*
*
ft
ft
ft
ft
ft
*
ft
*
ft
*
ft
ft
ft
*
DATA
.164,
.097,
.156,
.098,
.148,
.099,
.139,
.100,
.132,
.101,
.124,
.101,
.117,
.102,
.110,
.189,
.100,
R122/.037,
.312,
.107,
• 328,
.119,
.341,
.125,
.352,
.132,
.363,
.140,
.375,
.145,
.385,
.149,
.396,
.152,
.406,
.155,
.267,
R222/.157,
.257,
.161,
.247,
.168,
.236,
.170,
.225,
.172,
.214,
.17*.
.204,
.176,
.192,
• 177,
.181,
.178,
.169,
.283,
.156,
R132/.049,
• 155,
.167,
.147,
.170,
.139,
.173,
.132,
.177,
.124,
.179,
.117,
.182,
.108,
.188,
.100,
.178,
.090,
.116,
.328,
.149,
.3*1,
.165,
.35*.
.179,
.366,
.191,
• 377,
.203,
.388,
.213,
• 397,
.221,
.408,
.228,
.265,
.236,
• 255,
.243,
.243,
.253,
.233,
.258,
.222,
.262,
.213,
.270,
.203,
• 275,
.190,
.280,
.178,
.284,
.167,
.281,
.155,
-2?0,
.142,
.150,
.146,
.213,
.139,
.217,
.130,
.219,
.123,
.-225,
.116,
.230,
.108,
.187,
.099,
.178,
.090,
.169,
.082,
.152,
.342,
.174,
• 357,
.19*.
• 369,
.210,
.378,
.224,
.390,
.238,
.400,
.252,
.410,
.264,
.261,
.272,
.251,
.283,
.241,
.292,
.230,
.301,
.220,
.310,
.211,
.316,
.200,
• 325,
.190,
• 333,
.176,
.3*0,
.166,
.280,
.155,
.269,
.142,
.257,
.130,
.191,
.137,
.243,
.130,
.249,
.121,
.253,
.114,
• 259,
.106,
.185,
.097,
.177,
.089,
.169,
.081,
.160,
.075,
.176,
• 356,
.201,
.370,
.219,
• 383,
.234,
• 391,
.249,
.403,
.264,
.413,
.278,
.255,
.289,
.245,
.299,
.236,
• 311,
.228,
• 322,
.218,
.333,
.207,
• 3*1,
.196,
• 350,
.185,
.360,
.176,
• 369,
.163,
.277,
.153,
.267,
.142,
.257,
.130,
.244,
.117.
.220,
.125,
.264,
.118,
.273,
.110,
.278,
.104,
.185,
.096,
.176,
.089,
.168,
.080,
.160,
.074,
.151,
.068,
.201,
.369,
.219,
.383,
.237,
• 397,
.254,
.404,
.269,
.415,
.283,
.243,
.297,
.236,
• 309,
.227,
.321,
.218,
.332,
.211,
• 3*3,
.201,
.355,
.191,
.364,
.181,
.375,
.172,
.385,
.162,
.276,
.150,
.266,
.140,
.256,
.129,
.244,
.117,
.233,
.104,
.2-47,
.112,
.283,
.105,
.292,
.097,
.183,
.092,
.175,
.087,
.167,
.080,
.160,
• 073,
.151,
.068,
.142,
.059,
.220,
.382,
.240,
.397,
.258,
.411,
• 274,
.418,
.286,
.229,
.302,
.222,
.315,
.215,
.327,
.206,
.339,
.199,
• 349,
.192,
.361,
.183,
• 372,
.173,
.382,
.164,
• 392,
.157,
.276,
.148,
.264,
.137,
.253,
.126,
.243,
.116,
.233,
.104,
.220,
.090,
.269,
.
,
•
,
.
,
,
.
.
.
•
.
•
,
•
,
.
.
.
.
,
.
•
•
•
.
.
.
•
•
.
.
.
•
•
,
,
.
.
.
.
,
,
•
.
•
,
•
.
•
.
^
.
•
•
•
.
096,
301,
091,
183,
086,
174,
082,
166,
078,
159,
071,
151,
066,
142,
058,
134,
050,
240,
397,
261,
412,
277,
423,
291,
199,
303,
195,
318,
190,
331,
186,
342,
178,
354,
173,
365,
167,
375,
159,
386,
152,
398,
145,
274,
139,
262,
130,
252,
122,
241,
111,
231,
102,
220,
090,
207,
078,
.288,
.076,
.183,
.075,
.174,
.072,
.165,
.069,
.157,
.065,
.150,
.060,
.141,
.055,
.134,
.049,
.125,
.038,
.261,
.413,
.277,
.426,
.294,
.160,
.307,
.157,
• 319,
.155,
.333,
.153,
.346,
.152,
• 357,
.146,
.368,
.140,
.378,
.134,
.389,
.131,
.400,
.125,
.272,
.120,
.261,
.115,
.251,
.110,
.240,
.102,
.229,
.094,
.217,
.086,
.206,
.078,
.195,
.061,
-306,
.048,
.174,.
.046,
.165,.
.047,
.157,.
.044,
.1*9,.
.043,
.140, .
.040,
.132,.
.037,
.125,.
.034,
.119,-
.012/
.278,.
.427,
.296,.
.091,
•310,.
.089,
.323,.
.089,
•334,.
.087,
•348,.
.089,
.359,.
.087,
.370,.
.085,
.382,.
.082,
.393,.
.08l/
.402,.
.079,
.271,.
.076,
.261,.
.075,
.249,.
.073,
.238,.
.071,
.228,.
.066,
.216,.
.062,
.206,.
.058,
.19*,.
.053,
.182,.
.Dig/
.32*,.

166,

157,

148,

141,

132,

124,

119,

110,

296,

312,

325,

338,

349,

361,

373,

384,

39*.

*05,

269,

259,

248,

237,

227,

215,

204,

193,

181,

1*9,

341,

-------
                   C-322




Appendix C: MOBILE4 Block Data 06
May 5, 1989
506348
506349
506350
506351
506352
506353
506354
506355
506356
506357
506358
506359
506360
506361
506362
506363
506364
506365
506366
506367
506368
506369
506370
506371
506372
506373
506374
506375
506376
506377
506378
506379
506380
506381
506382
506383
506384
506385
506386
506387
506388
506389
506390
506391
506392
506393
506394
506395
506396
506397
506398
506399
506400
506401
506402
506403
506404
506405
*
*
ft
ft
*
*
*
ft
*
ft
ft
it
ft
ft
ft
ft
ft
ft
ft
DATA
ft
ft
ft
ft
ft
ft
ft
ft
*
ft
ft
*
ft
ft
ft
ft
ft
*
ft
DATA
ft
*
*
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
*
ft
*
ft
.358,. 373,. 387,. 400,. 4 14,. 427,. 439,. 451,. 463,
.138,. 187,. 2 18,. 246,. 269,. 287,. 306,. 323,. 340,. 357,
.372,. 386,. 399,- 41 3,- 426,. 439,- 450,. 462,. 124,
.153,. 206,. 240,. 265,. 286,. 303,. 321,. 337,. 353,- 369,
•383,. 397.. 411,. 423,. 435,. 447,. 459,. 2 18,. 120,
.166,. 226,. 258,. 283,. 301,. 3 19,. 336,. 352,. 367,. 381,
•395,. 408, .421, .433, .444,. 456,. 260,. 2 14,. 123,
.176,. 243,. 276,. 298,. 317,. 334,. 350,. 365,. 380,. 393,
.406,. 419,. 432,. 443,. 454,. 291,. 255,. 2 12,. 118,
.185,. 256,. 290,. 31 3,- 332,. 348,. 363,. 378,. 391,. 404,
.4 17,. 430,. 442,. 453,- 303,. 282,. 248,. 206,. 119,
.192,. 268,. 304,. 328,. 345,. 361,. 376,. 389,. 402,. 415,
.427,. 439,. 450,. 31 3,. 294,. 274,. 241,. 201,. 115,
.198,. 278,. 31 7,. 340,. 358,. 373,. 387,. 400,. 41 3,. 425,
.437,. 448,. 31 7,. 302,. 284,. 264,. 233,. 195,. 114,
.203,. 289,. 329,- 353,- 371,- 385,. 398,. 411,. 423,. 435,
.446,.320,.306,.292,.275,.255,.227,.190,.112,
.210, .299, -341, .365, .382, .396, .409, -422, .434, .445,
.322,. 309, .296,. 281, .264, .247,. 2 19,. 183,. 1097
R232/. 2 18,. 310,. 352,. 377,. 394,. 408,. 420,. 433,. 445,. 324,
.3H..298, .284, .270,. 254,. 236,. 208,. 176, .105,
.221,. 3 16,. 361,. 387,. 405,. 4 18,. 430,. 442,. 326,. 313,
.299,- 286, .272,. 258, .242, .224,. 199,. 169,. 104,
.225,. 323,- 370,. 397,- 414,. 428,. 440,. 326,. 314,. 301,
.288,. 274,. 261,. 246,. 230,. 2 13,. 190,. 162,. 100,
.228,. 331,. 379,. 406,. 424,. 437,. 329,. 31 6,. 303,. 290,
. 276,. 262,. 249,. 234,. 2 18,. 20 1..1 80,. 154,. 098,
.231,. 338,. 388,. 415,. 433,- 330,. 317,. 304,. 292,. 278,
.264,. 250,. 236,. 221,. 207,. 190,. 170,. 147,. 094,
.234,. 344,. 395,. 423,. 332,. 319,. 306,. 293,. 279,. 265,
.252, .238, .225, .209, .193, . 177, . 159, . 137, .088,
.237, -350, -402, .333, .321, .308, .294, .280, .267, .253,
.239,. 226,. 2 11,. 195,. 179,. 164,. 146,. 125,. 083,
•239,. 353,. 336,. 322,. 308,. 295,. 282,. 269,. 255,. 241,
.228,. 2 13,. 198,. 182,. 167,. 150,. 134,. 114,. 076,
.241,. 337,. 324,. 311,. 298,. 284,. 271,. 257,. 243,. 229,
.2 14,. 199,. 184,. 168,. 152,. 137,. 120,. 102,. 069,
• 338,. 324,. 31 2,. 299, -285,. 271,. 257,. 243,. 229,. 2 14,
.199.. 184,. 168,. 152,. 137,. 121,. 104,. 079,. 024/
R142/. 054,. 165,. 2 10,. 237,. 259,. 279,. 299,. 316,. 334,. 350,
•365, -379, .392, .405, -417, -428, .438, .448, .457,
.153,. 207,. 235,. 258,. 279,. 298,. 315,. 333,. 349,. 365,
•378,. 392,. 404,. 4 16,. 428, .437, .447, .456, . 148,
.170,. 226,. 255,- 277,- 297,. 3 14,. 332,. 348,. 363,. 377,
•390,. 403,. 415,. 426,. 436,. 445,. 455,. 262,. 145,
.188,. 244,. 272,. 294,. 312,. 331,. 346,. 362,. 375,. 389,
.402,. 4 13, .425,. 435, -444,. 454,. 299,. 256,. 145,
.201 , .260, .289, -310, .328, .345, -360, .374, .387, .400,
.412,. 423,. 433, -443,. 452,. 326,. 292,. 251,. 141,
.2 13,. 275,. 305,. 326,. 343,. 359,- 372,. 385,. 398,. 4 10,
.422,. 432,. 442,. 451,. 336,. 31 7,. 284,. 245,. 140,
.224, .289, .320, .340, .357, .372, .383, .396, .409, .420,
.431 , .440, .450, .343, .326, .307, .276, .239, .138,
.235, .303, .334, .353, -370, .383, .395, .406, .419, .429,
.439,. 448,. 345,. 331,. 314,. 297,. 266,. 232,. 135,
.243,. 315,. 346,. 366,. 381,. 393,. 405,. 4 17,. 428,. 437,
.447, -346, .333, .319, .303, .285, .257, .225, .132,
.250, .327, -358, .378, .391 , .404, .-416, .426, .437, .446,

-------
                                            C-323
                        Appendix C: MOBILES Block  Data  06
May 5, 1989
506406
 06407
 ' 6408
 06409
506410
506411
506412
506413
506414
506415
506416
506417
506418
506419
506420
506421
506422
506423
506424
506425
506426
506427
506428
506429
506430
506431
506432
 06433
  6434
 06435
506436
506437
506438
506439
506440
506441
506442
506443
506444
506445
506446
506447
506448
506449
506450
506451
506452
506453
506454
506455
506456
506457
506458
 06459
 ' 6460
506462
506463
ft
DATA
ft
ft
ft
ft
ft
ft
ft
*
ft
ft
ft
ft
ft
ft
ft
ft
*
ft
ft
DATA
ft
*
ft
*
ft
ft
*
ft
ft
*
ft
ft
*
ft
ft
ft
ft
ft
ft
DATA
ft
*
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
*
ft
ft
.3^7,
R242/.256,
• 336,
.262,
• 324,
.269,
• 312,
.274,
• 301,
.278,
.287,
.282,
.273,
.286,
.261,
.290,
.247,
.295,
.233,
• 359,
.217,
R152/.058,
• 367,
.167,
.379,
.188,
• 390,
.205,
.399,
.221,
.408,
.235,
.417,
.247,
.427,
.255,
.433,
.264,
.440,
.273,
.359,
R252/.283,
.349,
.290,
.338,
.296,
.326,
• 302,
• 315,
.309,
.302,
• 315,
.289,
.319,
.275,
.320,
.261,
.325,
.335,
.337,
.323,
.3^6,
.310,
.356,
.299,
.365,
.286,
• 373,
.273,
• 380,
.259,
.387,
.245,
• 395,
.232,
.358,
.217,
.346,
.201,
.177,
.379,
.217,
.390,
.237,
.399,
.256,
.408,
.275,
.419,
.292,
.427,
.307,
.433,
.320,
.440,
• 332,
.359,
.344,
.349,
.354,
.337,
.364,
• 326,
• 373,
.315,
.381,
.302,
.390,
.287,
.399,
.273,
.406,
.260,
.411,
.246,
.364,
.321,
• 370,
.309,
.380,
.296,
• 391,
.285,
• 399,
.271,
.409,
.258,
.416,
.244,
.425,
.231,
.357,
.216,
.346,
.201,
.333,
.185,
.219,
.390,
.244,
.400,
.263,
.411,
.283,
.418,
• 302,
.427,
.318,
.434,
• 332,
.441,
• 345,
• 358,
• 357,
• 347.
.369,
• 336,
• 381,
• 326,
.391,
• 313,
.400,
• 301,
.408,
.287,
.416,
.273,
.424,
.260,
.430,
.245,
.364,
.230,
.353,
• 307,
.388,
.294,
• 399,
.282,
.410,
.269,
.419,
.257,
.428,
.243,
.435,
.229,
.355,
.215,
.345,
.199,
• 333,
.184,
.319,
.167,
.244,
.400,
.265,
.411,
.285,
.421,
• 305,
.427,
• 321,
.434,
.335,
.442,
• 348,
• 356,
• 361,
.346,
• 374,
.336,
.385,
• 325,
.395,
• 313,
.405,
• 299,
.412,
.286,
.419,
• 273,
.427,
.259,
.436,
.245,
• 363,
.230,
• 353,
.213,
.342,
.291,
.402,
.278,
.413,
.267,
.423,
.255,
.432,
.241,
.440,
.227,
.35*.
.214,
• 343,
.198,
.331,
.183,
• 319,
.167,
.306,
.152,
.266,
.411,
.287,
.420,
.306,
.427,
• 322,
.434,
• 337,
.443,
.350,
.352,
.363,
.342,
• 375,
• 331,
.385,
.321,
• 396,
.309,
.405,
.296,
.413,
.284,
.421,
.271,
.430,
.258,
.^37,
.243,
.363,
.229,
.352,
.213,
.341,
.197,
• 329,
.273,
.414,
.262,
.424,
.251,
.434,
.238,
.442,
.225,
.354,
.211,
.342,
.196,
.330,
.181,
• 318,
.166,
• 306,
.150,
.292,
.135,
.287,
.420,
• 306,
.427,
• 322,
.435,
• 337,
.444,
• 351,
.346,
.364,
• 336,
.376,
.326,
.386,
• 316,
• 397,
.304,
.406,
.293,
.413,
.281,
.421,
.269,
.430,
.255.
.439,
.241,
• 362,
.227,
• 352,
.211,
.341 ,
.196,
.329,
.180,
• 317,
.248
.^25
.237
.434
.227
.443
.215
• 352
.204
.340
.190
.329
.177
• 317
.162
.304
.148
.291
.134
.277
.117
.306
.1*27
• 323
.435
.338
.444
• 352
.322
.366
.315
• 377
• 307
.388
.299
.397
.289
.406
.278
.414
.268
.423
.257
.430
.245
.439
.232
.362
.220
• 352
.206
• 340
.192
• 329
.178
.317
.162
.305
*
»
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
f
t
9
9
9
9
9
.215,
.435,
.206,
.444,
.198,
• 351,
.189,
.340,
.178,
.328,
.166,
.315,
.155,
.303,
.142,
.289,
.130,
.276,
.116,
.262,
.089,
.323,
.435,
.338,
.445,
• 353,
.290,
.366,
.285,
.378,
.280,
.389,
.273,
• 398,
.265,
.406,
.256,
.415,
.248,
.424,
.238,
.433,
.228,
.439,
.217,
.361,
.206,
.351,
.196,
• 340,
.184,
.328,
.171,
.317,
.156,
• 304,
.Ml,
.291,
.1277
.445,
.124,
• 350,
.121,
.338,
.117,
.326,
.111,
.315,
.106,
• 301,
.101,
.289,
.094,
.276,
.087,
.262,
.078,
.248,
.0277
• 338,
.445,
.353,
.165,
.367,
.161,
• 378,
.161,
• 389,
.159,
.399,
.156,
.406,
.152,
.415,
.149,
.425,
.146,
.433,
.1417
.439,
.137,
.360,
.132,
• 350,
.127,
• 340,
.123,
.327,
.117,
• 315,
.110,
.303,
.103,
.289,
• 095,
.276,

.349,

• 337,

.326,

• 313,

.301,

.288,

.275,

.262,

.248,

.233,

.353,

• 367,

• 378,

.390,

.399,

.408,

.417,

.425,

.433,

.439,

.360,

• 350,

• 339,

• 327,

• 315,

• 303,

.289,

.275,

.261,

-------
                                             C-32*4

                         Appendix  C:  MOBILES Block Data  06                         May 5,  1989

506*46*4           *           .2*47,.230,.21*4,.197,.181,.163,.1*45,.125,.083,
506*65           *           .36*4, .35*,.3*2, .329, -317, -305, .291, .276, .262, .2*4?,
506*466           *           .231, .21*4, .197, .181, .163, .1*45, -126, .096,. 0297
506*467      c
506*468            END

-------
                   c-325
Appendix C: MOBILE4 Block Data 07
May 5, 1989
507000
£07001
§07002
^07003
507004
507005
507006
507007
507008
507009
507010
507011
507012
rmn i 3
50/0 1 3
507014
507015
507016
507017
507018
507019
507020
507021
507022
507023
507024
507025
507026
^07027
107028
"07029
507030
507031
507032
507033
507034
507035
507036
507037
507038
507039
507040
507041
507042
507043
507044
507045
507046
507047
507048
507049
507050
507051
507052
£07053
§07054
"07055
507056
507057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C







C








BLOCK DATA BD07

BLOCK DATA Subprogram 07: /IM12CO/ CR12CO

BLOCK DATA 07 initializes the CO Tech 1-2 I/M credits array.

Common block array subscripts:

CR12CO(19,20,5,2) - CR12CO ( BY, AGE1ST, ISTRN, ITECH )

Common block dictionary:

Name Type Description
/IM12CO/:

CR12CO R I/M CO credit percentages for technologies 1 and 2

Local array subscripts:

R<|xJxK>(19, 10) - R ( BY, AGE 1ST )

where 1-1,2; J - ISTRN; K = ITECH

Local array dictionary:

The local arrays are all technology 1 6 2 I/M CO credit percentages.
Their names follow the UK syntax described for the subscripts. Note that:

R<|XJXK>(1, 1) EQU to CR12CO(1,1,,) , if 1=1
CR12CO(1,11,,) , if 1=2

Notes:

BD 07 was added for MOBILE4. The old BD 07 became BD 08, 08 to 09, etc.
BD 07 was modified in MOBILE4, removing mechanic training credits,
inserting in their place biennial Tech 1 & 2 credits, and changing the
credits to account for a new definition of Stringency and for new data.


COMMON /IM12CO/ CR12CO (19,20,5, 2)

DIMENSION
*R1 11 (19,10) ,R2 11 (19,10) ,R1 21 (19,10) ,R221 (19,10) ,
*R1 31 09,10) ,R231 09,10) ,R141 (19,10) ,R241 (19,10) ,
*R151 (19,10) ,R251 (19,10),
*R112(19,10) ,R212(19,10) ,R122(19.10) ,R222(19,10) ,
*R132(19,10) ,R232(19,10),R142(19,10),R242(19,10) ,
*R152(19,10),R25209,10)

EQUIVALENCE
* (CR12CO (1,1, 1,1) .Rill (1,0) . (CR12CO (1,1 , 1 , 1) ,R2l 1 (1. 1) ) ,
*(CR12CO(1,1,2,1) ,R121 (1,1)) , (CR12C00.1 ,2,1) ,R22 1(1,0),
*(CR12CO(1,1,3,0,R13K1,1)).(CR12CO(1,1 ,3. 0 .R231 0. 0 ) ,
*(CR12CO(1,1,4,1),R141(1,1)), (CR12C00.1 ,4, 1) ,R24l (1 , 1) ) ,
*(CR12CO(1,1,5,0,R151 (1,0) . (CR12CO(1,1 ,5,0 ,R251 (1,0) ,
*(CR12CO(1,1,1,2) ,R1 12 (1,0) , (CR12CO( 1,1 1,1,2) ,R21 2(1,0) ,
*(CR12CO(1,1,2,2) ,R122(1,0) , (CR12CO (1 , 1 1 ,2,2) ,R222(1,0) ,

-------
                   C-326




Appendix C: MOBILES Block Data 0?
May 5, 1989
507058
507059
507060
507061
507062
507063
50706**
507065
507066
507067
507068
507069
507070
507071
507072
507073
50707**
507075
507076
507077
507078
507079
507080
507081
507082
507083
507081*
507085
507086
507087
507088
507089
507090
507091
507092
507093
507091*
507095
507096
507097
507098
507099
507100
507101
507102
507103
507101*
507105
507106
507107
507108
507109
507110
507111
507112
507113
507111*
507115
*(CR12CO(1,1,3,2) ,R132(1,D) , (CR12CO (1 , 1 1 , 3,2) ,R232(1.D) ,
*(CR12CO(1,1,4,2) ,R142(1,1)) , (CR12CO(1,11,4,2) ,R242(1,0) ,
*(CR12CO(1,1,5,2) ,R152(1,D) , (CRT 2CO (1,1 1,5, 2) ,R252(1,D)
C
C Inspection / maintenance reduction percentages for technologies 1 through 2
C
DATA
*
*
*
ft
*
*
ft
*
*
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
DATA
ft
ft
ft
ft
ft
ft
ft
*
*
ft
ft
ft
ft
ft
*
*
ft
ft
ft
DATA
*
*
*
*
*
*
ft
ft
ft
ft
ft

R111/.013,.069,.142,.186,.214,.238,.256,.274,.288,.303,
.315, .329, .343, -357, -371 , -386, .1*00, .1*11*. .1*27,
.01*5,. 128,. 179,. 2 11,. 236,. 255,. 273,. 287,. 303,. 315,
.329, .3*3, -357, -371 , -386, .1*00, .1*11*. .1*27, .078,
.046,. 130,. 184,. 222,. 248,. 269,. 285,. 302,. 3 14,. 328,
.343,. 357,. 371,. 386,. 400,. 414,. 427,. 122,. 050,
.044,. 134,. 191,. 229,. 259,. 280,. 298,. 31 2,. 327,. 342,
• 356,. 371,. 386,. 1*00,. 1*11*,. 1*26,. 172,. 111*,. 076,
.01*7, .U2, .201*,. 21*1,. 267,. 291,. 308, .321*,. 31*0,. 355,
.370,. 385, -400,. 414,. 426,. 2 15,. 164,. 11 7,. 049,
.050,. 11*3,. 206,. 21*9,. 275,. 298,. 318,. 335,. 352,. 368,
.384,. 399,- 41 3,. 426,. 240,. 204,. 163,. 109,. 073,
.052,. 11.5,. 209,. 251,. 283,. 310,. 330,. 349,. 366,. 382,
.398,. 41 2,. 1*25,. 262,. 229,. 203,. 155,. 11 2,. 01*7,
.055,. 153,. 2 18,. 263,. 295,- 321,. 342,. 361,. 379,. 396,
.1*11,. 1*21*,. 277,. 250,. 228,. 196,. 160,. 106,. 075,
.057,. 155,. 221,. 268,. 303,. 331,. 354, .374,. 392,. 408,
.423,. 289,. 265,. 248,. 220,. 198,. 154,. 11 2,. 046,
.058,. 159,. 228,. 278,. 314,. 343,. 368,. 388,. 405,. 420,
.296,. 276, .261,. 240, .222,. 192,. 160,. 106,. 078/
R2 ll/. 060,. 165,. 238,. 289,. 327,. 357,. 380,. 400,. 4 17,. 301,
.282,. 271,. 252,. 239,. 21 3,. 194,. 149,. 114,. 047,
.061,. 166,. 244,. 298,. 338,. 368,. 392,. 41 2,. 304,. 285,
.274,. 257,. 247,. 225,. 208,. 176,. 148,. 100,. 070,
.062, .169, .250, .306, .346, .377, .402, .307, .289, .279,
.262,. 255,. 235,. 225,. 197,. 177,. 138,. 102,. 043,
.063,. 172,. 254,. 312,. 354,. 385,. 308,. 290,. 281,. 266,
.259,. 241,. 232,. 2 11,. 194,. 167,. 142,. 097,. 075,
.064,. 176,. 259,. 31 7,- 360,. 308,. 292,. 283,. 268,. 262,
.245,. 238, .219,.208,.l85,.170,.135, .106,. 044,
.066,. 180,. 263,. 323,. 308,. 293,- 284,. 269,. 263,. 247,
.241,. 221,. 2 12,. 192,. 181,. 155,. 133, -088,. 065,
.067,. 184, .268,. 309,. 293,. 284,. 270, .264, .248, .243,
.225,. 2 18,. 200,. 189,. 167.. 156.. 121,. 092,. 039,
.068,. 187,. 309,. 293,. 285,. 270,. 265,. 250,. 244,. 227,
.220,. 206,. 197,. 174,. 165,. 141,. 121,. 081,. 068,
.069, .309, .293, .285, .271 , -266, .250, .245, .228, .222,
.208,. 204,. 181,. 174,. 153,. 144,. 116,. 093,. 047,
.309, .294, .285, .271 , .266, .250, .245, .228, .222, .209,
.204,. 183,. 176,. 155,. 147,. 123,. 104,. 052,. 007/
R121/. 025,. 113.. 206,. 261,. 295,. 321,. 343,. 360,. 377,. 394,
.409.. 422,. 438,. 451,. 465,. 478,. 491,. 502,. 514,
.084,. 192,. 255,. 292,. 319, -342,. 360,. 377,. 394,. 409,
.422,. 438,. 451,. 465,. 478,. 491,. 502,. 5 14,. 131,
.089, .204, .270, .309, .336, .357, .377, .394, .409, .422,
.438,. 451,. 465,. 478,. 491,. 502,. 514,. 205,. 086,
.093,. 216,. 284,. 326,. 354,. 375,- 393.- 408,. 422,. 438,
.451,. 465,. 478,. 491,. 502,. 514,. 273,. 198,. 132,
.095,. 227,. 298,. 339.. 368,. 386,. 404,. 419,. 436,. 450,
.464,. 477,. 491,. 502,. 514,. 334,. 269,. 205,. 086,
.096, .230, .308, .350, .379, .399, .416, .431 , .447, .463,
.476, .J*90, .501 , .514, ,36! ,.322, .266, . 191 ,. 127,

-------
                                           C-327
                        Appendix C: MOBILE** Block Data 0?
May 5, 1989
507116
  7117
  7118
507119
507120
507121
507122
507123
507125
507126
507127
507128
507129
507130
507131
507132
507133
50713*
507135
507136
507137
507138
507139
507140
5071M
5071*2
  71*3
  71**
5071*5
507U6
5071*7
507U8
5071*9
507150
507151
507152
507153
50715*
507155
507156
507157
507158
507159
507160
507161
507162
507163
50716**
507165
507166
507167
507168
  7169
  7170
507171
507172
507173
ft
ft
ft
ft
ft
ft
ft
ft
DATA
ft
ft
ft
ft
*
ft
ft
ft
ft
ft
ft
*
ft
ft
ft
ft
ft
*
ft
DATA
ft
*
ft
*
ft
*
ft
ft
*
ft
*
ft
*
*
ft
ft
ft
*
*
DATA
*
ft
ft
ft
ft
*
ft
ft
•ft
.099,
• *90,
.102,
.501,
.105,
.-513,
.107,
.413,
R221/.110,
• 398,
.112,
.389,
.111*.
.372,
.116,
.363,
.118,
• 3*5,
.120,
• 337,
.122,
• 319,
.123,
.31*.
.124,
.293,
.423,
.286,
R131/.035,
.462,
.118,
.*78,
.125,
.492,
.130,
.505,
.135,
• 520,
.140,
.533,
.1*3,
.5**,
.1*5,
.55*,
.148,
• 565,
.151,
.475,
R231/-155,
.458,
.158,
.448,
.162,
.432,
.164,
.423,
.166,
.404,
.240,
• 501,
.248,
.51*.
.25*.
.*09,
.259,
.393,
.262,
.386,
.262,
• 367,
.267,
.361,
.27*.
• 3*3,
.277,
.336,
.279,
• 317,
.286,
.313,
.290,
.293,
.*23,
.286,
.405,
.263,
.148,
.478,
.232,
.492,
.253,
.505,
.272,
• 520,
.289,
.533,
• 302,
.544,
• 310,
• 55*.
.318,
.565,
.326,
.472,
• 33*.
.456.
.3*3,
.447,
.350,
.429,
• 356,
.422,
.364,
.402,
.367,
.393,
.319,
.514,
• 329,
• 398,
• 333,
.385,
• 341,
• 377,
• 348,
• 361,
• 355,
.353,
• 360,
• 337,
• 369,
• 332,
.376,
.314,
• 380,
• 308,
.388,
.290,
.422,
.284,
.405,
.262,
.396,
• 255,
.242,
.492,
.290,
• 505,
• 317,
.520,
• 342,
.533,
• 363,
• 544,
• 379,
.554,
• 391,
.565,
.404,
.464,
.416,
.451,
.427,
.440,
.437,
.425,
.446,
.414,
.453,
.399.
.463,
.389,
.470,
.370,
• 363,
.388,
.376,
• 373,
.383,
.368,
• 392,
.351,
.402,
.346,
.411,
.328,
.418,
.326,
.428,
• 309,
.438,
.304,
.441,
.284,
.422,
.280,
.405,
• 259,
.396,
• 253,
.376,
.227,
.292,
• 505,
.327,
.520,
• 354,
.533,
• 379,
.544,
.401,
• 554,
.418,
• 565,
.430,
.456,
.445,
.440,
.459,
.433,
.472,
.417,
.485,
.410,
.495,
.391,
.503,
.385,
• 513,
.366,
.523,
• 358,
.393,
• 353,
.407,
• 345,
.414,
• 332,
.427,
.326,
.437,
.313,
.449,
• 308,
.455,
.296,
.468,
.292,
.477,
.275,
.422,
.271,
.405,
.253,
• 396,
.245,
• 376,
.224,
• 367,
.215,
• 327,
• 520,
.355,
.533,
• 381,
• 544,
.403,
.554,
.423,
.565,
.440,
.431,
.455,
.424,
.469,
.412,
.484,
.402,
• 499,
.392,
• 511,
.380,
• 520,
.368,
.530,
• 356,
• 541,
• 345,
• 552,
.329,
.414
.322
.428
.304
.438
.303
.452
.289
.463
.290
.474
.273
.482
.275
.495
.258
.422
.260
.405
.239
• 396
.238
.376
• 213
• 367
.211
.348
.178
.354
• 533
.380
.544
.405
.554
.425
.565
.444
.410
.460
.39*
.*75
• 392
.489
.377
.502
• 374
.516
.358
.529
.354
.538
• 335
.548
-333
• 559
• 312
.479
.308
t
»
9
9
»
•
»
9
t
*
»
»
*
*
»
9
t
»
9
t
t
t
9
f
t
»
f
9
9
9
9
>
f
»
f
»
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
f
9
f
f
9
9
9
.430,
.258,
.445,
.252,
.457,
.244,
.470,
.243,
.481,
.234,
.493,
.232,
• 503,
.224,
.421,
.220,
.405,
.211,
.395,
.206,
• 375,
.192,
.367,
.186,
.348,
.169,
.340,
.151,
.380,
.544,
.404,
• 554,
.426,
• 565,
.444,
.338,
.461,
.340,
.477,
.326,
.491,
• 328,
• 504,
• 315,
.518,
.313,
• 531,
• 300,
.542,
.296,
• 552.
.284,
.563,
.278,
.479,
.266,
.461,
.258,
.447,
.196,
.462,
.181,
.473,
.186,
.487,
.175,
.496,
.181,
.509,
.167,
.420,
.176,
.403,
.157,
• 395,
.166,
.375,
.145,
• 366,
.154,
.347,
.132,
• 340,
.139,
.321,
.073,
.404,
.554,
.426,
• 565,
.445,
.268,
.462,
.257,
.477,
.262,
.491,
.249,
.505,
.256,
.519,
.240,
.532,
.244,
.543,
.227,
• 553,
.234,
• 564,
.214,
.478,
.221,
.461,
.200,
.452,
.208,
.463,.
.083,
.476,.
.122,
.489,.
.080,
.500,.
.121/
•511,.
.079,
.419,.
.119,
.403,.
.076,
.394,.
.113,
•374,.
.073,
.366,.
.107,
.347,.
.071,
•340,.
.098,
•321,.
.065,
.315,.
.0137
.426,.
.565.
.445,.
.168,
.462,.
.116,
.478,.
.167,
.491,.
.114,
•505,.
.164,
.520,.
.112,
.533,.
.159,
.543,.
.108,
•554,.
.1547
.565,.
.104,
.478,.
.146,
.461,.
.101,
.451,.
-139,
.433,.
.097,
476,

490,

501,

513,

418,

400,

392,

373,

364,

345,

340,

320,

315,

294,

445,

462,

478,

491,

505.

520,

533,

544,

554,

565,

477,

460,

451,

433,

424,


-------
                                           C-328
507174
507175
507176
507177
507178
507179
507180
507181
507182
507183
507184
507185
507186
507187
507188
507189
507190
507191
507192
507193
507194
507195
507196
507197
507198
507199
507200
507201
507202
507203
507204
507205
507206
507207
507208
507209
507210
507211
507212
507213
507214
507215
507216
507217
507218
507219
507220
507221
507222
507223
507224
507225
507226
507227
507228
507229
507230
507231
        Appendix C: MOBILE4 Block Data 07

*          . 168,. 374,. 478,. 531,. ^79, .^62,. 452,. 434,.
*          .39^,. 372,. 360,. 336,. 318,. 285,. 245,. 184,.
ft          .170, .376, .485, .479, .463, .452, .434, .425, .
*          .373,- 363,. 339,. 325,. 296,. 279,- 232,. 190,.
ft          . 173, -384, .479, .463, .452, .434, .425, -405, .
ft          • 363,.31»0,.327,.300,.285,.253,.22l,.l63,.
ft          .175, .*79. •/»63, .452, .434, .425, .405, .396, .
ft          .340, .329, .303, .290, .261 , .245, .201 , • 168,
*          .479, .*63, .452, .434, .425, .405, .396, .374, .
*          .329, -304, .292, .262, .248, .209, . l8l , .093, .
 DATA R 14 1/. 045, . 176, .252, .291 , -320, .350, . 378, .405,
ft          .472, .490, .508, .524, .538, .552, -565, -578,
*          .151,. 247,. 291,. 321,. 350,. 378,. 405,. 430,
ft          .490, .508, .524, .538, .552, .565, -577, -589,
*          .159,. 273,. 322,. 351,. 378,. 405,. 430,. 452,
*          .508, .523, .538, .552, .565, .577, .589, .312,
ft          .168, .296, .351 , -381 , .406, .430, .452, .472,
*          -523, -538, .552, .565, .577, -589, -377, -299,
*          .175,. 317,. 378,. 408,. 431,. 452,. 471,. 490,
*          .538, .552, .565, -577, .589, .450, .385, -303,
*          .179,. 335,. 403,. 433,. 453,. 472,. 490,. 508,
ft          .552, .565, -577, .588, .466, .436, .363, .288,
*          . 184, .353, -423, .453, .473, .*90, .507, -523,
*          -565, -577, .588, .487, .459, .^29, .366, .291 ,
ft          . 189, .368, .441 , .472, .491 , -508, .523, .538,
ft          .577,. 588,. 490,. 472,. 445,. 414,. 348,. 276,
*          .194, .380, .458, .489, .508, .523, .538, .552,
ft          .588, .496, .478, .463, .435, .409, .350, .281 ,
*          .198, .391 , .473, -505, -524, .538, .552, .565,
ft          .497,. 481,. 466,. 446,. 421,. 391,. 332,. 262,
 DATA R241/.202, .400, .485, -519, -537, -552, .565, -577,
ft          .483,. 470,. 451,. 436,. 409,. 385,. 330,. 266,
* '         .207, .412, .497, .533, -551 , -565, .577, -588,
*          .472,. 454,. 438,. 418,. 396,. 366,. 313,. 248,
ft          .210, .420, .508, .545, -564, .577, -588, .499,
ft          .455, -M2, .421 , .407, .380, .358, .307, .252,
*          .213, .*»27, .518, .556, .575, -588, .499, .**84,
*          -M2, .423, .409, -386, .365, -335, .289, .229,
*          .217, .435, -528, .567, .585, .499, -484, .473,
*          .423,. 410,. 387,. 373,. 3^5,. 326,. 280,. 233,
ft          .221 , .442, .537, .576, .499, •1»84, .473, -^56,
*          .410,. 389,. 374,. 349,. 331,. 302,. 263,. 208,
*          .223,. 445,. 5A3,. 499,. 484,. 473, .^56,. 443,
           .390, .375, .350, .336, .308, .292, .249, -21 1 ,
*          .226,. 453,. 500,. 484,. 473,. 456,. 444,. 425,
*          .375,. 352,. 336,. 312,. 295,. 266,. 235,- 183,
*          .228,. 500,. 484,. 473,. 456,. 444,. 426,. 412,
*          -352,. 338,. 313,. 299,. 270,. 253,. 212,. 183,
*          .500,. 484,. 473,. *»56,. 444,. 426,. 412,. 391,
*          -338,. 314,. 299,. 271,. 255,. 2 19,. 192,. 108,
 DATA R151/.052. . 194, .255, .286, .311 , -335, -359, -386,
*          .*62, .483, .503, -521 , -537, .551 , .563, -576,
*          • 176,. 251,. 285,. 310,. 33^.359,. 385, -M 3,
*          .*83. .503, .521 , .537, .551 , .563, -576, .587,
*          .187,. 273,. 308,. 333,. 358,. 385,. 413, .*»39,
*          .503, -521 , .537, -551 , -563, -576, .587, -351 ,
*          .197,. 302,. 337,. 360,. 385,. 4 12,. 439, -^62,
*          -521 , .537, -551 , -563, -576, .587, .-405, -338,
                                                                                May 5,  1989
424,. 405,
130,
405, .39**,
090,
394, .374,
ll7,
374, .364,
082,
364, .340,
01 8/
430, .452,
589,
452,. 472,
191 ,
472,. 490,
141 ,
490, .508,
188,
508,. 523,
138,
523,. 538,
181 ,
538, .552,
.565,

-577,

-588,

.498,

.484,

.472,

.456,

.442,

.424,

. 412,

. 390,

. 376,

. 352,

-Mo,

. 462,

. 483,

. 503,
552,
177,
565,
131 ,
577,
170/
588,
126,
499,
164,
^84,
120,
473,
153,
456,
n 3,
442,
140,
425,
105,
41 2,
124,
391,
094,
376,
0237
413,
587,
MO,
211,
462,
164,
483,
205,

-------
                   c-329
Appendix C: MOBILES Block Data 07
May 5, 1989
507232
•07233
07231*
507235
507236
507237
507238
507239
5072^0
50721*1
507242
5072^3
507241*
507245
50721*6
50721*7
50721*8
507249
507250
507251
507252
507253
507254
507255
507256
507257
507258
•07259
07260
507261
507262
507263
507261*
507265
507266
507267
507268
507269
507270
507271
507272
507273
507274
507275
507276
507277
507278
507279
507280
507281
507282
507283
507284
«7285
7286
507287
507288
507289
*
*
*
*
*
ft
*
*
*
*
ft
ft
DATA
ft
*
ft
ft
ft
*
ft
ft
ft
ft
*
ft
ft
ft
ft
ft
ft
ft
ft
DATA
*
ft
ft
ft
ft
ft
*
ft
ft
*
ft
ft
ft
ft
ft
ft
ft
ft
ft
DATA
ft
*
ft
*
*
.205,
• 537,
.213,
• 551,
.218,
.563,
.226,
.576,
.233,
• 587,
.239,
.500,
R251/.245,
.486,
.251,
.473,
.256,
.458,
.261,
.445,
.265,
.426,
.269,
.412,
.273,
.392,
.277,
• 377,
.280,
• 355,
.501,
^339,
R112/.030,
• 320,
.096,
• 330,
.090,
• 336,
.091,
.343,
.088,
• 352,
.091,
.360,
.088,
.365,
.086,
.371,
.085,
• 376,
.085,
.242,
R212/.085,
.237,
.084,
.232,
.083,
,228,
• 332,
• 551,
.357,
• 563,
.375,
.576,
• 393,
.587,
.410,
.499,
.425,
.485,
.438,
.473,
.451,
.457,
.463,
.445,
.473,
.426,
.482,
.412,
.488,
• 392,
.496,
• 377,
.505,
• 355,
• 501,
.339,
.486,
.315,
.118,
.332,
.161,
.343,
.161,
.349,
.165,
• 357,
.162,
.363,
.165,
.371,
.162,
.376,
.161,
.383,
.163,
.236,
.166,
.230,
.168,
.225,
.169,
.220,
.169,
-217,
.370,
.563,
.402,
.576,
.429,
• 587,
.451,
.497,
.472,
.484,
.490,
.471,
.506,
.456,
.521,
.443,
.534,
.425,
.546,
.411,
• 557,
• 391,
• 566,
• 377,
• 575,
• 354,
• 501,
• 339,
.486,
.315,
.475,
• 299,
.174,
.346,
.203,
• 358,
.204,
• 363,
.209,
• 368,
.208,
.374,
.214,
• 382,
.215,
.387,
.217,
.225,
.220,
.222,
.225,
.216,
.228,
.211,
.229,
.208,
.230,
.206,
• 390,
.576,
.418,
• 587,
.446,
• 495,
.471,
.481,
.492,
.470,
• 511,
.455,
.526,
.442,
• 542,
.424,
• 556,
.410,
.568,
.391,
.579,
• 376,
• 589,
• 354,
• 501,
• 338,
.486,
.314,
.474,
.299,
.458,
.274,
.210,
• 359,
.228,
• 368,
.234,
.374,
.240,
.380,
.243,
.386,
.250,
• 392,
.251,
.208,
.250,
.208,
• 255,
.206,
.261,
.201,
.265,
.199,
.270,
.19**,
.272,
.190,
.412,
• 587,
.437,
.480,
.462,
.474,
.485,
.458,
.505,
.448,
.523,
.433,
• 539,
.419,
• 553,
.403,
.566,
-387,
.578,
• 372,
.589,
.352,
.501,
.336,
.486,
• 312,
.474,
.297,
.458,
.273,
.446,
.259,
.233,
• 369,
.251,
• 379,
.258,
• 386,
.265,
• 391,
.268,
.397,
.270,
.187,
.274,
.189,
.278,
.185,
.283,
.183,
.286,
.180,
.291,
.177,
.296,
.17**,
^299,
.171,
.436,
.470,
.460,
.456,
.482,
.449,
.502,
.^33,
.520,
.426,
.536,
.408,
• 551,
.398,
.564,
.378,
• 576,
.368,
.588,
• 345,
• 501,
.331,
.486,
.308,
.474,
.294,
.458,
.270,
.446,
.259,
.427,
.228,
.254,
.381,
.269,
.391,
.274,
.396,
.280,
.402,
.285,
.167,
.291,
.164,
.295,
.164,
.296,
.160,
• 302,
.159,
.307,
.155,
.312,
.153,
.318,
.150,
.324,
.1.48,
.461,
.414,
.483,
.389,
.502,
• 396,
• 520,
.372,
.535,
• 375,
.550,
• 351,
.563,
• 350,
.576,
• 328,
.587,
• 322,
• 501,
.301,
.486,
.289,
.474,
• 273,
.458,
.255,
.446,
.243,
.427,
.222,
.412,
.204,
.271,
.392,
.281,
.401,
.287,
.407,
.294,
.131,
.300,
.132,
• 304,
.129,
.310,
.130,
• 313,
.125,
• 320,
.126,
• 325,
.123,
• 332,
.123,
.339,
.121,
.3^6,
.121,
.483,
• 339,
• 503,
• 324,
• 521,
.326,
• 536,
• 309,
• 550,
• 311,
.563,
.291,
.575,
.292,
.587,
.271,
.501,
.271,
.486,
.248,
.474,
.248,
.458,
.224,
.446,
.222,
.427,
• 199,
.412,
.197,
• 392,
.120,
.283,
.403,
.294,
.413,
• 300,
• 093,
.304,
.091,
• 312,
.091,
• 318,
.090,
.324,
.090,
.328,
.088,
• 336,
.089,
.343,
.087,
• 351,
.087,
• 357,
.087,
.257,
.089,
• 503,
.160,
.521,
.198,
• 536,
.155,
• 550,
.192,
• 563,
.149,
• 575,
.1827
.587,
.142,
• 500,
.171,
.486,
.134,
.474,
• 159,
.458,
.125,
.446,
.145,
.426,
.116,
.412,
.133,
• 392,
.104,
• 377,
.026/
.296,
.415,
• 307,
.052,
.310,
.045,
• 317,
.052,
.325,
.045,
• 331,
.052,
.337,
.045,
• 345,
.051,
• 352,
.045,
• 357,
.051/
.364,
.045,
• 253,
.052,
.248,
.046,
.521,

• 536,

.550,

.563,

.576,

.587,

.500,

.486,

.474,

.458,

.446,

.426,

.412,

• 392,

• 377,

• 355,

.309,

• 318,

• 323,

• 330,

.338,

.346,

• 353,

.360,

• 365,

.369,

.248,
.244,

.240,


-------
                   C-330



Appendix C: MOBILES Block Data 07
May 5, 1989
507290
507291
507292
507293
50729*
507295
507296
507297
507298
507299
507300
507301
507302
507303
507301*
507305
507306
507307
507308
507309
507310
507311
507312
507313
5073H
507315
507316
507317
507318
507319
507320
507321
507322
507323
50732*
507325
507326
507327
507328
507329
507330
507331
507332
507333
50733*
507335
507336
507337
507338
507339
5073*0
5073*1
5073*2
5073*3
5073**
5073*5
5073*6
5073*7
ft
*
ft
*
ft
ft
ft
ft
ft
ft
ft
*
ft
ft
DATA
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
DATA
*
ft .
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
DATA
*
*
ft
.082,. 170,. 230,. 273,- 302,. 328,. 259,. 2*8,. 2*1,. 233,
.222,. 2 12,. 197,. 185,. 166,. 1*5,. 11 8,. 089,. 05*.
.082,. 171,. 227,. 271,. 302,. 262, .252,. 2*3,. 235, -226,
.2 16,. 207,. 196,. 181,. 16*,. 1*5,. 121,. 092,. 0*9,
.082,. 173,- 232,. 273,. 266,. 256,. 2*8,. 2*0,. 231,. 221,
.213, .20*. .192,. 176,. 161,. 1*2, .118,. 090,. 05*.
.082,. 173,. 23*.. 269,. 260,. 250,. 2*3,. 233.. 22*",. 2 15,
.206, .199,. 185,. 171, .156,. 1*1, .118,. 090,. 0*9,
.082,. 173.- 27*,. 263,. 255,. 2*7,. 237,- 227,. 2 18,. 2 10,
.203,. 192,. 178,. 16*,. 151,. 137,. 116,. 087,. 052,
.082, .276,. 267, .257, .2*9,. 2*2, .232,. 222,. 2 15,. 208,
.197,. 185,. 172,. 160,. 1*8,. 13*,. 11 2,. 087,. 051,
.277,. 267,. 258,. 2*9,. 2*3,. 233,- 22*,. 216,. 209,. 199.
. 186,. 17*,. 163,. 151. -138,. 118,. 095,. 061,. 015/
Rl 22/. 0*9,. 185,. 253,. 291,- 31 7,. 336,. 353,. 370,. 385,. *0l,
.*15,.*27..*37,.**9,.*60,.*70,.*8l,.*92,.503,
.161,. 2*3,. 28*,. 31*,. 33*,. 351,. 369,. 38*,. 399,.*! 3,
.*25, .*36, .**8, .*59, .*69, -*8o, .*9i , -501 , .087,
. 161,. 2*6,. 291.. 321,. 3*0,. 360,. 377.. 392,. *06,.*1 7,
.*30,.**l,.*53,.*6*,.*75,.*85,.*9*,.l6l,.o83,
.158, .2*6, .29*, -323, -3*5, .36*. .380, .395, .*08, .*20,
.*32,.**3,.*53,.*63,.*73,.*83,.210,.l6l,.087,
.158,. 2*9,. 297,. 328,. 351,. 369,. 385,. 399,.* 12,. *25,
.*36,.**7,.*58..*67,.*78,.255,.2ll,.l6o..o83.
• 159, .253, .303, -335, .359, -378, .393, .*07. .*20, .*3l ,
•**3, -*53, -*63, .*73, .280, .253, .209, .162, .090,
.158,.25*,.307,.3*0,.36*,.382,.398,.*12,.*23,.*3*.
•**5, -*55, .*65, .303, .279, .250, .209, . 162, .08*.
.158,.256,.312,.3*6,.369,.387,.*02,.*16,.*28,.*39,
.**9,.*59,.3l*,.296,.271,.2**,.203,.l59,.087,
.•158,.256,.313,.3*9,.372,.392,.*07,.*20,.*32,.**2,
.*52,. 32*,. 308,. 290,. 266,. 2*0,. 201,. 155,. 081,
•156,.257,.316,.353,.378,.396,.*11,.*23,.*35,.**5,
.332,. 319,. 303,. 285,. 262,. 237,. 197,. 153,. 0867
R222/.156, .260, .319,.356,.382,.*01,.*16,.*28,.*39, .338,
•326,. 31 3,. 298,. 282,. 259,. 23*,. 196,. 153,. 081,
.157,.262,.323,.362,.387,.*06,.*22,.*33,.3*5,.333,
.321,. 307,. 293,. 276,. 253,- 229,. 192,. 150,. 086,
.I6l,.266,.328,.368,.395,.*l5,.*30,.35i,.3*o,.329,
.316,.303,.287,.271..2*9..227,.193,.152,.082,
. 162,. 267,. 332,. 372,. 399,- *19,- 357,. 3*5,- 335,. 323,
.3ll,.298,.283,.266,.2*8,.225,.l91,.150,.o86,
. 162,. 270,. 335.- 376,. *0*,. 363,. 352,. 3*0,. 330,. 318,
.306,. 29*,. 278,. 263,. 2*3,. 222,. 189,. 1*9,. 082,
.163,. 271,. 337,- 379,. 367,. 356,. 3*6,. 335,. 32*,. 312,
.300,. 285,. 271,. 256,. 238,. 2 16,. 185,. 1*6,. 086,
•163,. 272,. 3*0,. 371,. 361,. 351,- 3*0,. 329,. 317,. 305,
.292,. 278,. 26*,. 2*9,. 232,. 2 12,. 182,. 1*6,. 082,
.161,. 273,. 378,. 368,. 358,. 3*6,. 336,. 322,. 31 2,. 299,
.287,. 272,. 259,. 2**,. 227,. 206,. 178,. 1*3,. 086,
.161,. 38*,. 375,. 363,- 352,. 3*1,- 330,. 318,. 306,. 293,
.280,. 266,. 253.. 239,. 222,. 202,. 175,. 1*2,. 083,
.387, .377, .36*. .353, .3*3, .331 , .320, .308, .295, .282,
.269,. 255.. 2*1 ,.225,. 206,. 182,. 152,. 100.. 02*/
R132/.065, .239, -312, .3*9, .373, .392, .*07, .*20, .*33. .***,
.*55, -*66, .*75, .*8*. .*9*. -50*. .513, .521 , .530,
.209, .298, .3*0. .367, -388, .*03, .*16, .*29, ,**0, .*52,
.*62,.*72,.48l,.*9l,.50l,.5io,.5i8,.526,.112,

-------
                   C-331



Appendix C: MOBILE!* Block Data 07
May 5, 1989
507348
£07349
•07350
307351
507352
507353
507354
507355
507356
507357
507358
507359
507360
507361
507362
507363
50736**
507365
507366
507367
507368
507369
507370
507371
507372
507373
50737**
£07375
•07376
307377
507378
507379
507380
507381
507382
507383
507381.
507385
507386
507387
507388
507389
507390
507391
507392
507393
50739**
507395
507396
507397
507398
507399
507400
£07401
•Q7402
507403
507404
507405
*
*
*
*
*
*
*
*
*
A
ft
ft
*
>'(
ft
ft
DATA
ft
*
ft
*
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
*
*
ft
ft
DATA
ft
ft
ft
ft
ft
ft
*
ft
*
ft
ft
ft
*
ft
*
*
ft
ft
*
DATA
ft
.200,
.459,
.199,
.i»6l.
.200,
.1*6*4,
.201,
.466,
.201,
.467,
.201,
.469,
.202,
.469,
.203,
• 370,
R232/.205,
.363,
.206,
• 359,
.206,
• 354,
.207,
• 350,
.207,
.346,
.208,
.340,
.209,
• 33**,
.209,
.329,
.209,
.326,
• **36,
.315,
Rl*»2/.078,
.476,
.255,
.483,
.253,
.48*.,
.249,
.486,
.244,
.487,
.242,
.487,
.239,
.487,
.237,
.487,
.237,
.487,
.238,
.400,
R242/.238,
• 396,
.293,
.469,
.295,
.470,
.298,
.474,
.299,
.477,
• 301,
.476,
• 302,
.478,
.302,
.366,
.304,
• 359,
.310,
• 350,
• 313,
• 345,
• 315,
.341,
.316,
.336,
• 317,
.333,
.320,
.326,
.322,
• 320,
• 323,
.316,
.433,
.313,
.425,
• 302,
.281,
.485,
.341,
.492,
.344,
.493,
.346,
.494,
.346,
.495,
.346,
.494,
.345,
.493,
.346,
.493,
.347,
• 394,
• 349,
.388,
• 349,
• 385,
.339,
.480,
• 343,
.481,
• 347,
.484,
• 349,
.486,
.352,
.485,
• 352,
• 356,
• 353,
• 352,
• 356,
.344,
• 365,
.336,
.369,
• 331,
.370,
• 327,
• 372,
.323,
.375,
.318,
• 378,
• 313,
.381,
.307,
.424,
• 303,
.423,
.299,
.414,
.287,
• 351,
.494,
• 377,
• 501,
.382,
.502,
.386,
• 503,
.387,
• 501,
.389,
.500,
• 390,
.499,
• 392,
• 387,
.395,
.380,
• 397,
• 375,
.398,
.372,
.368,
.490,
• 373,
.490,
.375,
.493,
• 378,
.494,
.380,
.343,
.382,
.340,
.383,
.336,
.386,
.328,
• 395,
• 322,
• 399,
.316,
.401,
.312,
.405,
.308,
.408,
• 303,
.411,
.298,
.413,
.292,
.412,
.287,
.411,
.284,
.403,
.271,
.382,
• 503,
• 399,
.510,
.404,
.510,
.409,
.510,
.410,
.509,
.412,
• 508,
.413,
• 380,
.415,
• 374,
.419,
• 367,
.422,
.362,
.424,
• 358,
• 389,
.499,
• 391,
.499,
• 394,
.500,
• 398,
• 323,
.400,
.321,
.401,
• 317,
.403,
.313.
.407,
.307,
.415,
.300,
.419,
.296,
.421,
.293,
.425,
.289,
.428,
.285,
.407,
.279,
.403,
.273,
.402,
.270,
.400,
.267,
• 391,
.254,
.402,
.512,
.416,
.517,
.421,
• 516,
.423,
.517,
.424,
.516,
.427,
• 360,
.429,
• 358,
.432,
.351,
.434,
.346,
.437,
.340,
.440,
.338,
.403,
• 507,
.406,
.507,
.409,
.301,
.412,
.299,
.413,
.295,
.416,
.292,
.418,
.289,
.422,
.284,
.429,
.278,
.433,
.273,
.436,
.271,
.439,
.267,
.401,
.263,
• 397,
.257,
.392,
.252,
• 389,
.249,
.388,
.248,
.378,
.229,
.419,
.519,
.430,
.524,
.433,
• 523,
.436,
• 523,
.437,
• 340,
• 439,
• 336,
.441,
• 333,
.444,
• 329,
.445,
.322,
.448,
.318,
.451,
• 315,
.416,
• 515,
.419,
.257,
.422,
• 255,
.425,
.252,
.426,
.252,
.429,
.248,
.429,
.248,
.434,
.241,
.442,
.239,
.445,
.235,
.449,
.234,
• 394,
.230,
.391,
.228,
• 387,
.223,
.382,
.220,
• 379,
.219,
• 376,
.220,
.366,
.195,
.433,
.526,
.441,
.530,
.444,
• 529,
.447,
.293,
.448,
.290,
.450,
.288,
.451,
.288,
.454,
.282,
.455,
.280,
.459,
.275,
.460,
.275,
.428,
.207,
.430,
.204,
.434,
.204,
.437,
.202,
.437,
.201,
.439,
.200,
.440,
• 199,
.445,
.196,
.454,
• 193,
.455,
.190,
.387,
.190,
.384,
.187,
.381,
.186,
.375,
.182,
• 370,
.180,
.367,
.178,
.363,
.183,
• 353,
.130,
.444,
.532,
.453,
• 535,
.455,
.241,
.458,
.238,
.458,
.237,
.460,
.236,
.461,
.236,
.462,
.233,
.465,
.230,
.467,
.227,
.469,
.227,
.439,
.107,
.441,
.110,
.444,
.106,
.447,
.110,
.447,
.105,
.448,
.110,
.449,
.106,
.456,
• 109/
.464,
.104,
• 381,
.108,
.377,
.103,
• 373,
.108,
.369,
.103,
• 365,
.105,
.359,
.102,
• 355,
.109,
• 351,
.109,
.341,
.0327
.456,
• 537,
.463,
.130,
.466,
.125,
.467,
.128,
.467,
.124,
.469,
.129,
.471,
.124,
.472,
.127,
.472,
.122,
.474,
.127/
.476,
.122,
.450,

.452,

.455,

.457,

.457,

.459,

.460,

.465,

.375,

.369,

.366,

• 361,

• 358,

• 353,

• 346,

.341,

• 339,

.328,

.466,

.474,

.475,

.477,

.478,

• 479,

.479,

.480,

.480,

.481,

.406,


-------
                   C-332



Appendix C: MOBILES Block Data 0?
May 5, 1989
507406
507407
507408
507409
507410
507411
507412
507413
50711 14
507415
507416
507417
507418
507419
507420
507421
507422
507423
507424
507425
507426
507427
507428
507429
507430
507431
507432
507433
507434
507435
507436
507437
507438
507439
507440
507441
507442
507443
507444
507445
507446
507447
507448
507449
507450
507451
507452
507453
507454
507455
507456
507457
507^58
507459
507460
507461
507462
507-463
ft
*
*
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
DATA
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
ft
*
ft
ft
ft
*
ft
DATA
ft
ft
*
*
ft
ft
ft
*
ft
ft
ft
ft
ft
ft
*
*
ft
*
4ft
.239,- 351. -402,. 429,. 445,. 455,. 463,. 471,. 41 3,. 402,
•392,. 380,. 368,. 354,. 334,. 313,. 273,- 225,. 127,
.242,. 357,- 409,. 436,. 452,. 462,. 471,. 4 18,. 408 ,.398,
.387,. 377,. 363,. 350,. 331,. 310,. 271,. 225,. 122,
.244,. 359. -41 2,. 438,. 454,. 465,. 425, .415, -405,. 395,
.384,. 372,. 360,. 345,. 327,. 307,. 267,. 223,- 129,
. 244 , . 362 , . 4 1 5 , . 442 , . 456 , . 43 1 , • 422 , . 4 1 2 , . 402 , . 392 ,
.381,. 368,. 355,- 341,. 324,. 304,. 269,. 225,. 125,
.244,. 363, .417,.444,.438,.428,.419,.409,.400,.388,
.377,. 364,. 352,. 338,. 321,. 301,. 266,. 223,. 132,
.245, .365, .419, .444, . 435, .426, .417, .405, .396, .384,
.373,. 361,. 350,. 335,. 31 7.. 299,. 266,. 225.. 128,
.247,. 368,. 455, -444,. 436,. 424,. 415,. 403,. 394,. 381,
.370,. 358,. 345,. 329,. 3 13,. 293,. 262,. 222,. 133,
.250,. 466,. 457,. 447,. 436,. 424,. 413,. 401,. 390,. 377,
.366,. 353, -338,. 324,. 308,. 289,. 258,. 222,. 131,
.469, .460, .450, .438, .426, .415, .404, .392, .380, .368,
•354,. 340,. 326,. 310,. 293,. 266,. 233.. 157,. 0397
R152/. 088,. 311,. 370.. 395,. 41 2, .426, .440,. 451,. 461,. 470,
.481,. 488,. 496,. 502,. 510,. 516,. 5 19,- 523,. 529,
.291,. 365. -393,. 4 11,. 425,. 439,. 450,. 460,. 469,. 480,
.487,. 495,. 501,. 509,. 515,. 518,. 522,. 529,. 151*,
.297, .374, .403, .420, .J»35, -M7, •'•56, .466, .476, .483,
. 491,. 497,- 505,. 51 2,. 511*,. 518,. 524,. 285.. 146,
.298,. 381,. 4 11,. 430,. 442,. 452,. 462,. 472,. 479.- ^»87,
. 492,. 498,. 505.. 510,. 511*,. 520,. 339,. 285,. 157,
.299, -386, .M9. .*»37. .^8, .457, .468, .476, .484, .489.
.494,. 502,. 507,. 5 11.. 516,. 392,. 345.. 290,. 153,
• 300, .393, -^26, .442, .453, .462, .472, .48.1 , .486, .492,
.497, .504, .508, .512, .407, .389, -340, .290, .159,
.298, .395, -MO, .446, .457, .467, -^76, .482, .487, .4g4,
•501 , .504, .508, .422, .404, .385, -341 , .289, . 152,
.291 , .395, .*»31 , -^8, .459, .^68, .476, .481 , .486, .494,
.500,. 502,. 427,. 4 17,. 399,. 380,. 33^,- 285.. 157,
.292, .398, .435, -W, .^64, .472, .478, .483, .491 . .497,
.499,. ^32,. 423,. 4 12,. 395,- 376,. 33^,. 285,. 151,
.293, .401 , .440, .457, .^68, .475, .480, .488, .494, .497,
.436,. 428,. 4 18,. 406, .389,. 371,. 327,. 280,. 1567
R252/.294, .404, .445, .461 , .471 , .^76, .484, .491 , .494, .440,
.432,. 423.. 412,. 400,. 384,. 366,. 326,. 279.- 150,
.295. .407, .448, .465, .474, .479, .487, .493, .443, .435.
.426, .417, .406, .395, -378, .359, -320, .275, . 155,
.295,. 4 10,. 452,. 469,. 477,. 484,. 490,. 446,. 438,. 429,
.421,. 411,. 400,. 389,. 373,. 355, -318,. 274,. 149,
.296,. 41 3,. 455,. 471,. 481,. 488,. 451,. 442,. 435.. 427,
.4 18,. 406,. 396,. 383,. 368,. 350,. 31 3,. 271.. 156,
.296, .416, .459, .474, .483, .458, .449, .441, .433, .424,
.414,. 403,. 391.. 378,. 363.. 346,. 313,. 273,. 153,
.297,. 4 18,. 461,. 478,. 463,. 455,. 447.. 438,. 429,. 4 19,
.410, .397. .386, .373, .358, .340, .307, .269, . 156,
.294,. 4 18,. 460,. 469,. 461,. 452,. 444,. 435, .425,. 415,
.404, .391 , .380, .367, -350, .332, .302, .266, . 152,
.285, .413, .474, .466, .458, .449, .440, .430, .421 , .409,
•397, -384, .373, .359, .343, .323, .294, .259, . 152,
.285, .479, .471 , .463, .454, .445, .435, .425, .414, .402,
.391,. 377,. 364,. 350,. 332,. 314,. 285,. 252,. 147,
.480,. 472,. 465,. 455.. 446,. 437,. 426,. 415.. 404,. 391,
-.379, -365, .351 , -335, .317, .292, .259, -176, .0447

-------
                                           C-333

                        Appendix C: MOBILES Block  Data  07                        May 5, 1989
507461*     C
 07465           END

-------


508000
508001
508002
508003
508004
508005
508006
508007
508008
508009
508010
508011
508012
rf\Qr\ 1 -3
50oO 1 3
508014
508015
508016
508017
508018
508019
508020
508021
508022
508023
508024
508025
508026
508027
508028
508029
508030
508031
508032
508033
508034
508035
508036
508037
508038
508039
508040
508041
508042
508043
508044
508045
508046
508047
508048
508049
508050
508051
508052
508053
508054
508055
508056
508057



C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C




C







C
C-331*
Appendix C: MOBILE4 Block Data 08 May 5, 1989
BLOCK DATA BD08

BLOCK DATA Subprogram 08: /ICR4VA/

BLOCK DATA 08 initializes the Annual Inspection Tech 4+ I/M credits array.

Common block array subscripts:

CRD4VA(19,2,12,3) - CRD4VA ( IBY, IP, ITECH-3, (TEST)

Common block dictionary:

Name Type Description


/ICR4VA/:

CRD4VA R Annual I/M credit percentages for LDGV technologies 4 - 15+

Local array subscripts:

A4(19,2,4) - A4 ( IBY, IP, ITECHA )
A8(19,2,3) - A8 ( IBY, IP, ITECHB )
A12(19,2,3) - A12 ( IBY, IP, ITECHC )

where J = ITEST = 1,2,3 and ITECHA = technologies 4-7
ITECHB = technologies 8-11
ITECHC = technologies 12 - 15

Local array dictionary:

The local arrays are all LDGV technology 4+ I/M credit percentages. Their
names follow the syntax described above. Note that:

A4 (1,1,1) EQU to CRD4VA(1,1,1,) (technologies 4 through 7)
A8 (1,1,1) EQU to CRD4VA(1,1,5,) (technologies 8 through 11)
A12 (1,1,1) EQU to CRD4VA(1,1,9,) (technologies 12 through 15)

Notes:

BD 08 was modified for MOBILE4, replacing all credits with values supplied
by TSS.


COMMON /ICR4VA/ CRD4VA (19,2, 12, 3)

DIMENSION
* A41 (19,2,4),A42(19,2,4),A43d9,2,4),
* A8l(19,2,4),A82(19,2,4),A83(19,2,4),
* A121 (19,2,4),A122(19,2,4),A12309,2,4)

EQUIVALENCE
*(CRD4VA(1,1,1,1) ,A41 (1,1,1)) , (CRD4VA (1 , 1 ,5, D ,A8l (1,1,1)) ,
*(CRD4VA(1,1,1,2) ,A42 (1,1,1)) , (CRD4VA (1 , 1 ,5,2) ,A82 (1 , 1 , 1) ) ,
* (CRD4VA (1 , 1 , 1 ,3) ,A43 (1 , 1 , 1) ) , (CRD4VA (1 , 1 ,5, 3) , A83 (1 , 1 , D ) ,
*(CRD4VA(1,1,9,1) ,A121 (1,1,1)) ,
*(CRD4VA(1,1,9,2) ,A122(1,1,1)) ,
*(CRD4VA(1,1,9,3),A123(1,1,D)


-------
                           C-335
508058
•8059
8060
508061
508062
508063
50806*
508065
508066
508067
508068
508069
508070
508071
508072
508073
50807*
508075
508076
508077
508078
508079
508080
508081
508082
508083
50808*
JB&08085
^08086
508087
508088
508089
508090
508091
508092
508093
50809*
508095
508096
508097
508098
508099
508100
508101
508102
508103
50810*
508105
508106
508107
508108
508109
508110
^D8112
508113
50811*
50811.5
C
C
C
C
C
C
C

















































             Appendix C: MOBILE* Block Data 08

C  For LDGV,  technologies * - 15 represent my
C  The continuation code for the local arrays
   represented (except + for 0).  There are *
   2 for CO,  19 cases per pollutant (for benef

   ITEST = 1  = idle test
                                                                May 5, 1989

                                         1981/2/3A/5/6/7/8/9/90/1/2+.
                                         is the last digit of the my
                                         lines per my: 2 for HC and then
                                         i t years 1 - 19) •
 DATA A* I/
 DATA A8l/
     1
     1
     1
     1
     2
     2
     2
     2
     3
     3
     3
     3
     *
     *
     *
     *
      [
     5
     5
     5
     5
     6
     6
     6
     6
     7
     7
     7
     7
     8
     8
     8
     8
      I
     9
     9
     9
     9
1
1
1
1
2
2
2
2
 DATA A121/
 .015,. 060,. 088,. 108,. 120,. 133, . 150,. 1 62,
 .192,. 199,. 205,. 2 11,. 2 15,. 2 19,. 223,. 227,
 .023, .087,. 12*,. 147,. 159,. 175,. 193,. 207,
 .21.1, .2*9,- 256, .262,. 268,. 272, .277, .281 ,
 .015, .058,. 085, .10*,. 116, .130, .1*6,. 159,
 .189,. 196,. 203,. 208,. 2 13,. 2 17,. 221,. 225,
 .022,. 08*,. 120,. 1*3,. 155,. 171,. 191,. 205,
 .2*0,. 2*8,. 256,. 262,. 268,. 273,. 277,. 281,
 .016,. 06*,. 093,. 11*,. 126,. 1*0,. 155,. 167,
 .192, .199,.205,.211, .216, .220, .22*,.227,
 .025,. 097.. 1*0,. 168,. 185,. 20*,. 223,. 237,
 .270,. 280,. 287,. 29*,. 300,. 306,. 310,. 315,
 .019,. 072,. 10*,. 125,. 139,- 152,. 165,. 175,
 .198,. 20*,. 2 10,. 21*,. 2 19,. 222, .226,. 229,
 .030, .110,. 155, .18*,. 202,. 220, .236,. 2*8,
 .277,. 285,. 293,- 299,- 305,. 309,. 31*,. 318,

 .01 8, .069,. 100, .121, .13*,. 1*8, .160,
 .190, .196,. 201, .205, .209..2 13, -2 16,
 .028,. 10*,. 1*8,. 177,. 195,. 212,. 227,
 .267, .275, .282, .288, .293, .298, .302,
 .017,.066,.096,.117,.130,.l*3,.155,
 .18*,. 189,. 193,. 197,. 201,. 20*,. 207,
 .026, .099,. 1*2, .170, .188, .205, .220,
 .259, .266, .273, .278, .283, .288, .292,
 .017,. 067,. 098,. 119,. 133,. 1*6,. 157,
 .183,. 188,. 192,. 196,. 199,. 202,. 205,
 .027,. 102,. 1*5,. 173,. 191,. 208,. 222,
 .258, .266, .272, .277, .282, .286, .290,
 .017,. 067,. 097,. 119,. 132,. 1*5,. 155,
 .181, .185,. 189, .193,. 196,. 198,. 201,
 .027,. 101,. 1*3,. 172,. 190,. 206,. 220,
 .255, .262, .268, .273, .278, .282, .285,
t

 .017,. 067,. 097,. 118,. 132,. 1*5,- 155,. 162,
 .179,. 18*,. 188,. 191,. 19*,. 197,. 199,. 201,
 .026,. 100,. 1*2,. 171,. 189,. 205,. 2 19,. 229,
 .25*, .261,. 266, .271,. 276,. 280,. 283,. 287,
 .01 7,. 066,. 096,. 117,. 131, -I**,- 15*,. 161,
 .178,. 182,. 186,. 189,. 192,. 195,. 197,. 199,
 .026,. 099,. 1*1,. 169,. 187,. 20*,. 2 17,. 228,
 .252, .259, .26*. .269, .27*. .278, .281 , .28*.
 .016,. 065,. 095,. 116,. 129,. 1*2,. 152,. 159,
 .175,. 179,. 183,. 186,. 189,. 191,. 193,. 195,
 .025, .098, .139, .167, . 185, -201 , .215, .225,
 .2*9,. 255.. 261,. 265,. 270,. 273, -277,- 280,
 .01 6,. 06*,. 09*. .115,. 128,. 1*1,. 150, .157,
 .173, .177,. 180, .183,. 186,. 188,. 190,. 192,
 .025,. 096,. 137,. 165,. 183,. 199,. 21 3,. 223,
 .2*6, .252, .258, .262, .266, .270, .273,^276,
.169,
. 21 9,
. 239,
.306,
.l6*,
. 209,
. 232,
.295,
. 165,
. 207,
. 233,
.293,
. 163,
.203,
. 231,
.289,
                                                   . 1 71*,.
                                                   . 230,
                                                   . 220,. 232,
                                                   .28*.
                                                   . 171, .181,
                                                   . 228,
                                                   . 2 18,. 230,
                                                   . 285,
                                                   . 176,. 18*.
                                                   .230,
                                                   . 2*9,. 260,
                                                   . 3 19,
                                                   . 183,. 191,
                                                   . 232,
                                                   .258, .267,
                                                   . 32 l/
                                                         181*.
                                                         178,
.177,
.221,
.2*9,.258,
.309,
.171,
.212,
.2*1,.250,
.298,
.172,.178,
.209,
.2*2,.250,
.296,
.170,.176,
.205,
.239,.2*8,
• 292/

.169,.17*,
• 203,
.238,.2*6,
.289,
.168,.173,
.201,
.236,.2**,
.287,
.165,.170,
.197,
.233,.2*1,
.283,
.163,.168,
.193,
.231,.239,
.2737

-------
                     C-336

  Appendix C: MOBILES Block Data 08
                                                      May 5,  1989
508116
508117
508118
508119
508120
508121
508122
508123
508124
508125
508126
508127
508128
508129
508130
508131
508132
508133
508134
508135
508136
508137
508138
508139
508140
508141
508 11*2
508 H*3
508144
508145
508146
508147
508148
508149
508150
508151
508152
508153
508154
508155
508156
508157
508158
508159
508160
508161
508162
508163
508164
508165
508166
508167
508168
508169
508170
508171
508172
508173
C
C ITEST =
C
DATA
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
DATA
5
5
5
5
6
6
6
6
7
7
7
7
8
8
8
8
DATA
9
9
9
9
+
+
+
+
1
1
1
1
2
2
2
2
C
C ITEST •
C
DATA
2 = 2500 rpm idle test
A42/
A82/
A122/
.017,
.228,
.027,
.294,
.017,
.227,
.026,
.296,
.018,
.229,
.029,
• 323,
.021,
• 235,
.034,
.325,

.021,
.231,
.032,
• 320,
.020,
.227,
.031,
.315,
.021,
.228,
.032,
.314,
.021,
.227,
.032,
.313,
f

.021,
.226,
.032,
• 312,
.021,
.225,
.031,
.311,
.020,
.224,
• 031,
.309,
.020,
.222,
.031,
.307,
.068,.
.237,.
.101,.
.305,.
.067,.
.236,.
.099,.
.308,.
•073,.
.238,.
.112,.
.335,.
.082,,
.243,,
.125,,
.336,,

.081,,
.238,,
.121,,
.330,
.080,.
.234,,
.119,
• 325,
.082,
.234,,
.122,,
.323,
.082,
.232,
.122,
.321,

.082,
.232,
.121,
.320,
.082,
.231,
.121,
.319,
.082,
.229,
.120,
.317,
.082,
.227,
.119,
• 315,
                100,
                245,
                143,
098,,
,244,,
,141,,
317,.
,107,,
,245,,
,161,,
,345,.
,119,
.250,,
,176,,
,345,.

.118,,
.244,,
.173,
.338,
.116,
.239,
.170,
.333,
.120,
.239,
.171*,
• 331,
.120,
.238,
 122, .
 252,.
 170,,
 323,.
 120,,
 251,,
 168,,
 326,,
 130,,
 252,,
 193,.
 354,,
,144,
 256,
,210,
 353,

,143,
,250,
,207,
• 346,
,142,
• 245,
,204,
• 340,
,146,
,244,
.208,
• 338,
.147,
.242,
                .328,.335,
                 120,
                 237,
                 173,
                 327,
                 120,
                 236,
                 173,
                 326,
                 120,
                 234,
                 172,
                 324,
                 119,
                 232,
                 171,.
                 322,.
.147,
.241,
.208,
.334,
.146,
.240,
.208,
• 332,
.146,
.238,
.207,
.330,
.146,
.236,
 206,
 328,
 135,.152,
 258,.263,
 184,.204,
 330,.336,
 134,.151,
 258,.263,
 183,.203,
 334,.340,
 145,.162,
 258,.264,
 213,.236,
 362,.369,
 160,.176,
 262,.267,
 230,.251,
 360,.366,

 159,.175,
 255,.260,
 228,.249,
 353,.358,
 158,.175,
 249,.253,
,226,.246,
,346,.352,
,163,.179,
,248,.252,
,230,.251,
,344,.349,
,164,.180,
,246,.250,
,231,.251,
.341,.346,

,164,.180,,
.245,.248,,
.230,.251,
.339,-344,
.164,.180,,
.244,.247,
.230,.251,
.338,.343,
.164,.180,
.241,.244,
.229,.250,
•335,.3^0,
.164,.180,
.239,-242,
.229,.249,
.333,.338,
.173,.190,.
.268,.272,,
.229,.249,.
.342,.347,.
.172,.189,,
.268,.273,.
.230,.250,,
.346,.352,,
.181,.196,,
.269,.274,,
.261,.280,,
•375,.381,,
.192,.205,
.271,.275,
.272,.288,
.372,.377,

.191,.203,
.264,.267,
.269,.284,
.364,.368,
.190,.201,
.257,.260,
.266,.281,
•357,-361,
.193,-204,
.255,.259,
.268,.282,
•354,.358,
.193,.204,
.253,-256,
.268,.282,
•350,.;
                         .204..217,
                         .276,
                         .266,.281,
                         • 352,
                         .203,.216,
                         • 277,
                         .267,.283,
                         • 357,
                         .208,.219,
                         .278,
                         .296,.310,
                         • 386,
                         .216,.226,
                         .279,
                         •301,.313,
                         • 3817
                                               213,
                                               271,
                                               297,
                                               373,
                                               211,
                                               263,
                                               293,
                                               365,
                                               212,
                                               261,
                                               293,
                                               362,
                                               212,
                                               258,
                                               292,
                193,.203,
                251,.254,
                268,.281,
                349,.353,
                193,.203,
                250,.253,
                267,.280,
                3^7,.351,
                193,.202,
                247,.250,
                266,.279,
                192,.202,
                245,.247,
                266,.278,
                3<*2,.
                               212,
                               257,
                               292,
                               356,
                               211,
                               255,
                               291,
                               355,
                               210,
                               252,
                               289,
                               351,
                               209,
                               249,
                               288,
.222,

. 308,

.219,

-304,

.220,

. 304,

.220,

.303,


.219,

.302,

.218,

.301,

.217,

. 299,

.216,

.298,
3 =  loaded  idle  test

A43/

-------
                                           C-337
                        Appendix C: MOBILE** Block Data 08
                                                               May 5,  1989
508m
  8175
  8176
508177
508178
508179
508180
508181
508182
508183
508184
508185
508186
508187
508188
508189
508190
508191
508192
508193
508194
508195
508196
508197
508198
508199
508200
  8201
  8202
508203
508201.
508205
508206
508207
508208
508209
508210
508211
508212
508213
5082U
508215
508216
508217
508218
508219
508220
508221
508222
508223
508224
508225
DATA A83/
2
2
2
2
3
3
3
3
i*
4
4
4
 [
5
5
5
5
6
6
6
6
7
7
7
7
8
8
8
8
 [
9
9
9
9
DATA A123/
.019,
.253,
.032,
.348,
.018,
.247,
.031,
.344,
.020,
.250,
.035,
.376,
.024,
.262,
.041,
.388,
.023,
.253,
.039,
.377,
.022,
.245,
.037,
.367,
.023,
.247,
.038,
.368,
.023,
.245,
.038,
.365,
.023,
.243,
.038,
.363,
.023,
.242,
.038,
.361,
.022,
.238,
• 037,
.357,
.022,
.236,
.037,
.354,
.075
.263
.121
.360
.073
.257
.117
.357
.079
.260
.133
• 390
.091
.271
.150
.400
.089
.261
.146
.388
.087
.253
.142
.377
.090
.254
.146
.378
.090
.251
.145
.374
.090
.249
.145
• 372
.090
.247
.144
• 370
.089
.244
.143
• 365
.089
.241
.142
.362
t
9
*
9
9
9
9
9
9
,
9
f
9
9
9
9
,
t
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
.111,
.272,
.171,
.371,
.107,
.266,
.166,
.368,
.116,
.268,
.190,
.401,
.131,
.279,
.212,
.411,
.129,
.269,
.206,
.398,
.126,
.259,
.201,
.387,
.130,
.260,
.206,
.386,
.131,
.256,
.206,
.382,
.130,
• 255,
.206,
.380,
.130,
.253,
.205,
.378,
.129,
.249,
.203,
.373,
.129,
.246,
.202,
.369,
.135,
.280,
.203,
.381,
.131,
.274,
.198,
.378,
.141,
.276,
.228,
.411,
.159,
.286,
.251,
.420,
.156,
.275,
.246,
.406,
.154,
.265,
.241,
.394,
.158,
.265,
.247,
• 394,
.159,
.261,
.247,
.389,
.158,
.259,
.246,
.387,
.158,
.257,
.246,
.384,
.157,
.253,
.244,
• 379,
.157,
.249,
.243,
.376,
.150,
.287,
.220,
.389,
.146,
.281,
.215,
• 386,
.157,
.283,
.251,
.420,
.176,
.293,
.276,
.428,
• 173,
.281,
.271,
.414,
.171,
.270,
.266,
.401,
.176,
.269,
.273,
.400,
.177,
.266,
.273,
• 396,
.177,
.263,
.272,
• 393,
.176,
.261,
.272,
• 390,
.176,
.257,
.270,
.385,
.175,
.253,
.269,
.381,
.168,
.293,
.243,
.397,
.164,
.287,
.239,
• 394,
.176,
.289,
.277,
.428,
.194,
.299,
.300,
.436,
.191,
.286,
.295,
.421,
.189,
.274,
.291,
.408,
.194.
.274,
.296,
.406,
.195,
.269,
.296,
.401,
.194,
.267,
.296,
• 398,
.194,
.265,
.295,
• 396,
.193,
.260,
.294,
• 390,
.193,
.256,
.292,
.386,
.192
.298
.273
.404
.187
.292
.269
.401
.197
.295
.306
.435
.213
.304
• 325
.442
.209
.290
.318
.427
.205
.278
• 312
.413
.209
.277
.316
.411
.209
.273
.316
.406
.208
.270
• 314
.403
.208
.268
• 313
.401
.206
.263
.311
.395
.205
• 259
.310
.390
9
9
9
9
f
9
t
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
.210,
• 303,
• 295,
.410,
.206,
.297,
.291,
.407,
.213,
• 300,
.328,
.441,
.228,
• 309,
.344,
.448,
.223,
.294,
• 336,
.432,
.218,
.282,
.329,
.418,
.221,
.281,
• 332,
.416,
.220,
.276,
.330,
.411,
.219,
• 273,
.329,
.408,
.218,
.271,
• 328,
.405,
.216,
.265,
• 325,
• 399,
.215,
.261,
• 323,
• 394,
.227,.
.307,
.315, .
.415,
.222,.
• 301,
.311,.
.412,
.227,.
.304,
.345,.
.447,
.240,.
• 313,
.359,.
• 453/
.234,.
.298,
.350,.
.437,
.228,.
.285,
•342,.
.423,
.230,.
.284,
•344,.
.420,
.229,.
.279,
•342,.
.4157
.228, .
.276,
•341,.
.412,
.227,.
.273,
.339,.
.409,
.225,.
.268,
•336,.
.403,
.223,.
.263,
.334,.
.3987
241,

333,

236,

329,

239,

361,

252,

373,

244,

364,

237,

355,

239,

356,

237,

353,

236,

352,

235,

350,

232,

347,

230,

344,

END

-------


509000
509001
509002
509003
509004
509005
509006
509007
509008
509009
509010
509011
509012
CAnn i 2
509013
50901^
509015
509016
509017
509018
509019
509020
509021
509022
509023
509021*
509025
509026
509027
509028
509029
509030
509031
509032
509033
50903^
509035
509036
509037
509038
509039
509040
509041
509042
509043
509044
509045
509046
509047
509048
509049
509050
509051
509052
509053
509054
509055
509056
509057



C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C




C







C
C
C-338
Appendix C: MOBILE4 Block Data 09 May 5, 1989
BLOCK DATA BD09

BLOCK DATA Subprogram 09: /ICR4VB/

BLOCK DATA 09 initializes the Biennial Inspection Tech 4+ I/M credits array.

Common block array subscripts:

CRD4VB(19,2,12,3) - CRD4VB ( IBY, IP, ITECH-3, ITEST )

Common block dictionary:

Name Type Description
/ICR4VB/:

CRD4VB R Biennial I/M credit percentages for LDGV technologies 4 - 15+

Local array subscripts:

B4(19,2,4) - B4 ( IBY, IP, ITECHA )
B8(19,2,3) - B8 ( IBY, IP, ITECHB )
B12(19,2,3) - B12 ( IBY, IP, ITECHC )

where J = ITEST = 1,2,3 and ITECHA = technologies 4-7
ITECHB = technologies 8-11
ITECHC = technologies 12 - 15

Local array dictionary:

The local arrays are all LDGV technology 4+ I/M credit percentages. Their
names follow the syntax described above. Note that:

B4 (1,1,1) EQU to CRD4VB(1,1,1,) (technologies 4 through 7)
B8 (1,1,1) EQU to CRD4VB(1,1,5,) (technologies 8 through 11)
B12 (1,1,1) EQU to CRD4VB(1,1,9,) (technologies 12 through 15)

Notes:

BD 09 was added for MOBILE4, using values supplied by TSS.


COMMON /ICR4VB/ CRD4VB (19,2, 12,3)

DIMENSION
* B41 (19,2,4) ,842(19,2,4) ,643(19,2,4),
* B8l(19,2, 4), 882(19, 2, 4), 683(19,2,4),
* 6121(19, 2, 4), 6122(19,2, 4), 6123(19,2, 4)

EQUIVALENCE
*(CRD4V6 (1,1, 1,1), 641 (1,1,1)), (CRD4VB (1,1, 5,D, 681 (1,1,1)),
* (CRD4V8 (1 , 1 , 1 ,2) ,842 (1 , 1 , 1) ) , (CRD4V8 (1 , 1 ,5,2) ,682 (1 , 1 , 1) ) ,
*(CRD4V8(1,1,1,3) ,843(1,1,1)), (CRD4VB (1 , 1 ,5,3) ,683 0 , 1 , 1) ) ,
*(CRD4V8(1, 1,9, 0,8121(1, 1,1)),
*(CRD4V8(1, 1,9, 2), 8122(1, 1,1)),
*(CRD4VB(1, 1,9, 3), 8123(1, 1,1))

for 1DGV, technologies 4 - 15 represent my 198 1/2/3/4/5/6/7/8/9/90/1 72+ .

-------
                   C-339



Appendix C:  MOBILES Block Data 09
May 5, 1989
509058
^09059
••09060
509061
509062
509063
509061*
509065
509066
509067
509068
509069
509070
509071
509072
509073
509071*
509075
509076
509077
509078
509079
509080
509081
509082
509083
509081*
4^09085
^•09086
509087
509088
509089
509090
509091
509092
509093
509091*
509095
509096
509097
509098
509099
509100
509101
509102
509103
509101*
509105
509106
509107
509108
509109
509110
^£09111
•09112
509113
509111*
509115
C The continuation code for the local arrays
C represented (except + for 0) . There are 1*
C 2 for CO, 19 cases per pollutant (for benef
C
C ITEST = 1 = idle test
C
DATA
1
1
1
1
2
2
2
2
3
3
3
3
1*
1*
l»
1*
DATA
5
5
5
5
6
6
6
6
7
7
7
7
8
8
8
8
DATA
9
9
9
9
+
+
+
+
1
1
1
1
2
2
2
2
C
B41/
.008,
.182,
.012,
.228,
.007,
.179,
.011,
.227,
.008,
.183,
.013,
• 257,
.009,
.188,
.015,
.261*.
B8l/
.009,
.181,
.011*.
.255,
.008,
.175,
.013,
.'21*7,
.009,
• 175,
.013,
.21*7,
.008,
.173,
.013,
.24J+,
B121/
.008,
.172,
.013,
.21*2,
.008,
.170,
.013,
.21*1,
.008,
.168,
.013,
.238,
.008,
.166,
.012,
.235,


.036,
.190,
.052,
.238,
.035,
.188,
.050,
.237,
.038,
.191,
.059,
.267,
.01*3,
.196,
.066,
.271*.

.01*1,
.188,
.063,
.264,
.01*0,
.181,
.060,
.256,
.01*1,
.181,
.061,
• 255,
.01*0,
.178,
.061,
.252,

.01*0,
.177,
.060,
.250,
.01*0,
.176,
.060,
.21*9,
.039,
.173,
.059,
.21*5,
.039,
.170,
.058,
.242,


.069,
.197,
.097,
.246,
.067,
.195,
.094,
.245,
.073,
.197,
.110,
.276,
.082,
.202,
.122,
.282,

.078,
.194,
.117,
.272,
.076,
.187,
.112,
.263,
.077,
.186,
.114,
.262,
.077,
.183,
.113,
.259,

.077,
.181,
.112,
.257,
.076,
.180,
.112,
.255,
.075,
.177,
.110,
.252,
.074,
.174,
.109,
.249,


.092,
.203,
.126,
.253,
.089,
.201,
.122,
.253,
.097,
.203,
.144,
.284,
.107,
.207,
.158,
.289,

.103,
.199,
.151,
.279,
.100,
.191,
.146,
.270,
.102,
.190,
.148,
.268,
.102,
.187,
.147,
.265,

.101,
.185,
.146,
.263,
.101,
.184,
.145,
.261,
.099,
.180,
.143,
.257,
.098,
.178,
.142,
.254,


.106,
.209,
.141,
.259,
.103,
.206,
.137,
.259,
.112,
.209,
.164,
.291,
.123,
.212,
.180,
.296,

.119,
.203,
.173,
.285,
.116,
.195,
.167,
.275,
.118,
.194,
.170,
.274,
.118,
.190,
.169,
.270,

.117,
.189,
.168,
.268,
.116,
.187,
.167,
.266,
.115,
.184,
.165,
.262,
.114,
.181,
.163,
• 259,


.119,
.213,
.155,
.265,
.1 16,
.211,
.152,
.265,
.126,
.214,
.183,
.297,
.137,
.217,
.198,
• 301,

.133,
.207,
.191,
.290,
.129,
.199,
.185,
.280,
.132,
.197,
.188,
.279,
.131,
.194,
.187,
.275,

.130,
.192,
.186,
.273,
.130,
.190,
.184,
.271,
.128,
.186,
.182,
.267,
.127,
.183,
.181,
.263,

is the last dig!
1 i nes per my: 2
it years 1 - 19)

.134,
.218,
.173,
.270,
.131,
.216,
.171,
.270,
.140,
.218,
.202,
• 303,
.151,
.220,
.216,
• 306,

.146,
.211,
.208,
.295,
.142,
.202,
.202,
.285,
.144,
.200,
.204,
.283,
.143,
.196,
.203,
.279,

.142,
.195,
.202,
.277,
.142,
• 193,
.200,
.275,
.140,
.189,
.198,
.271,
.139,
.186,
.196,
.267,


.149,
.221,
.190,
.274,
.146,
.220,
.188,
• 275,
.154,
.222,
.220,
• 308,
.163,
.224,
.231,
• 311,

.157,
.214,
.223,
.299,
.153,
.205,
.216,
.289,
.154,
.203,
.218,
.287,
.153,
.199,
.216,
.283,

.152,
.197,
.214,
.281,
.151,
.195,
.213,
.278,
.149,
.191,
.210,
.274,
.147,
.188,
.208,
.271,


.162, .
.225,
.204, .
.278,
.159,.
.223,
.203,.
.279,
.165,.
.226,
.234,.
.312,
.172,.
.227,
.243,.
• 3157

.166,.
.217,
.235,.
• 303,
.161, .
.208,
.228,.
.293,
.162,.
.205,
.228,.
.290,
.160,.
.201,
.226,.
.286/

•159,.
.199,
.225,.
.284,
.158,.
.197,
.223,.
.282,
.156,.
.193,
.221,.
.277,
.154,.
.190,
.218,.
.274/

t of the my
for HC and then

173,

217,

170,

216,

174,

246,

181,

253,


174,

245,
169,

238,

169,

238,

167,

235,


166,

234,

165,

232,

162,

229,

160,
227,



-------
                                            c-340
                        Appendix C: MOBILES  Block  Data  09
May 5, 1989
509116
509H7
509118
509H9
509120
509121
509122
509123
50912*4
509125
509126
509127
509128
509129
509130
509131
509132
509133
509m
509135
509136
509137
509138
509139
509140
509U2
50911*1*
5091*5
50911*6
509147
50911*8
50911*9
509150
509151
509152
509153
509154
509155
509156
509157
509158
509159
509160
509161
509162
509163
509161*
509165
509166
509167
509168
509169
509170
509171
509172
509U3
C ITEST =
C
DATA
1
1
1
1
2
2
2
2
3
3
3
3
1*
i*
i«
1*
DATA
5
5
5
5
6
6
6
6
7
7
7
7
8
8
8
8
DATA
9
9
9
9
+
+
+
+
1
1
1
1
2
2
2
2
C
C ITEST =
C
DATA
1
2 = 2500 rpm idle test
B427
.009, .01*1,. 078,. 101*,. 120, .135,. 154, .173,. 189, .203,
.2l6,.226,.235,.243,.249,.256,.26l,.266,.270,
. 01 3,. 060 ,.11 2,. 11*6,. 163,. 1 80,. 20k,. 227,. 21*6,. 263,
.278,. 290,. 301,. 311,. 319,. 326,. 333,. 339,. 344,
.008,. 040,. 077,. 102,. 119,. 134,. 153,. 173,. 189,. 203,
.215, .225,. 234,. 242,. 249,. 256,. 261,. 266,. 271,
. 01 3,. 059,. 111,. 144,. 162,. 180,. 204,. 228,. 248,. 265,
.280, .293, -304, .314, .323, -330, .337, .3*3, .3*9,
.009,. 044,. 084,. 111,. 129,. 144,. 163,. 180,. 194,. 206,
.217,.227,.236,.243,.250,.256,.262,.267,.272,
.01 5,. 067,. 126,. 165,. 189,. 2 11,. 236,. 259,. 277,. 292,
•307, .320, .332, .342, .351 , .359, .366, .372, .378,
.011,. 049,. 093,. 123,. 142,. 158,. 175,. 190,. 203,. 2 13,
.223,. 232,. 240,. 247,. 254,. 259,. 264,. 269,. 273,
.017, .075,. 139, -179,. 204, .226,. 248,. 267,. 282,. 296,
•309, -321 , .332, .341 , .349, .356, .363, .368, .3747
B82/
.010,.049,.093,.122,.l4l,.157,.174,.l89,.200,.210,
.220, .228,. 235,. 242,. 247,. 253,. 257,. 261,. 265,
.016,. 073,- 136,. 177,. 202,. 224,. 245,. 264,. 279,. 292,
•305, .316, .326, .335, -342, .349, -355, .360, .365,
.010, .048,. 092,. 121,. 141,. 157,. 173,. 187,. 198, .208,
.21 6,. 224,. 231,. 237,. 242,. 247,. 251,. 255,. 258,
.016, .071,. 134, .175,- 201,. 222,. 243,. 262,. 276, .289,
.300, .31 1 , .321 , .329, -336, .3*3, -348, .354, .358,
.0 1 0,. 049,. 094,. 1 25,. 1 44,. 1 61,. 177,. 190,. 200, .209,
.217,. 225,. 231,. 236,. 241 ,.246,. 250,. 253,. 256,
.016,. 073,. 137,. 178,. 205,. 226,. 247,. 263,. 277,. 289,
.300, .310, .319, -327, -334, .3*0, .345, .350, .355,
.010,. 050, .095,. 126,. 145, .162,. 178,. 190,. 200, .209,
.2 17,. 223,. 229,. 235,- 239,. 243,. 247,. 250,. 253,
.016,. 073,. 137,. 179,- 205,. 227,. 247,. 263,. 276,. 287,
.298,. 308,. 317,. 324,. 331,- 337,. 3*2,. 3*7,. 3517
B1227
.010, .050, .095,. 126,. 146, .162,. 178, .190,. 200,. 208,
.2 16,. 223,. 229,. 234,. 238,. 242,. 246,. 249,. 252,
.01 6,. 073,- 137,. 178,. 205,. 227,. 247,. 263,. 275,. 287,
.298,. 307,. 316,. 323,. 330,. 336,. 3*1,. 3*5,- 350,
.010, .049, .095,. 126,. 146,. 162,. 178,. 190,. 199,. 208,
.215, .222, .228,. 233,- 237,. 241,. 244, .248,. 250,
.01 6,. 073,. 136,. 178,. 205,. 227,. 246,. 262,. 275,. 286,
.297,. 306,. 315,- 322,. 329,. 334,. 339,- 3**,- 3*8,
.010,. 049,. 095,- 125,- 146,. 162,. 177,. 189,. 199,. 207,
.214,.220,.226,.231,.235,.238,.242,.245,.247,
.01 6, .072,. 136,. 177,. 204,. 226,. 246,. 261,. 274, .285,
.295,. 305,. 313,. 320,. 326,. 332,. 336,. 3*1,- 3*5,
.010,. 049,. 095,. 125,. 1*6,. 163,. 177,. 189,. 198,. 206,
.213,.219,.224,.229,.233,.236,.239,.242,.245,
.015,. 072,. 135,. 177,. 204,. 226,. 245,. 260,. 273,. 284,
.294, .303, .31 1 , .318, .324, .329, .33*. -338, .3*27

3 = loaded idle test

B437
.010,, 045,. 087,. 115,. 133,- 149,. 171,- 192,. 2 10,. 226,

-------
                                           C-341
                        Appendix C: MOBILES Block Data 09
                                                                May  5,  1989
  J9175
  9176
509177
509178
509179
509180
509181
509182
509183
509185
509186
509187
509188
509189
509190
509191
509192
509193
509194
509195
509196
509197
509198
509199
509200
  9201
  9202
 09203
509201*
509205
509206
509207
509208
509209
509210
509211
509212
509213
509214
509215
509216
509217
509218
509219
509220
509221
509222
509223
509221*
 DATA B83/
1
1
1
2
2
2
2
3
3
3
3
1*
1*
4
k
 I
5
5
5
5
6
6
6
6
7
7
7
7
8
8
8
8
 [
9
9
9
9
1
l
1
l
2
2
2
2
                           .240,
                           .016,
                           • 329,
                           .009,
 DATA B123/
.016,
• 325,
.010,
.237,
.017,
• 357,
.012,
.21*9,
.020,
.369,

.011,
.241,
.019,
• 359,
.Oil,
.234,
.019,
• 350,
.011,
.236,
.019,
• 351,
.011,
.234,
.019,
.348,

.011,
.232,
.019,
.347,
.011,
.231,
.019,
• 345,
.011,
.228,
.019,
.341,
.011,
.226,
.018,
• 339,
                .251,.261,.270,
                .073,.134,.174,
                .343,.356,-367,
                .044,.084,.112,
                .246,.255,-264,
                .070,.131,.170,
                .340,.353,.364,
                .048,.091,.121,
                .248,.258,.266,
                .080,.150,.195,
                •372,.386,.397,
                .055,.103,.136,
                .259,.269,.277,
                .090,.167,.215,
                •383,.395,.406,
.053,
.250,
.088,
.372,
.052,
.243,
.085,
• 362,
.054,
.244,
.088,
.363,
.054,
.241,
.088,
• 359,

.054,
.240,
.087,
.357,
.054,
.238,
.087,
• 356,
.054,
.235,
.086,
• 352,
• 053,
.232,
.085,
.348,
                      101,
                      259,
                      163,
                      383,
                      100,
                      250,
                      159,
                      373,
                      103,
                      251,
                      163,
                      373,
                      103,
                      248,
                      163,
                      369,
                                           .133,
                                           .266,
                                           .211,
                                           • 393,
                                           .132,
                                           .256,
                                           .207,
                                           .382,
                                           .136,
                                           .257,
                                           .212,
                                           • 381,
                                           .136,
                                           .253,
                                           .212,
                                           .377,
.277,.284,
.194,.215,
•377,.385,
.129,.146,
.272,.279,
.191,.211,
-374,.382,
.140,.157,
.274,.281,
.223,.248,
.407,.416,
.156,.174,
.284,.290,
.245,.270,
.416,.424,

.154,.172,
.272,.278,
.241,.266,
.402,.410,
.152,.170,
.262,.267,
.237,.262,
•390,.397,
.157,.175,
.262,.267,
.243,.268,
.389,.396,
.157,.175,
.258,.263,
.243,.268,
•385,.391,
                          290,.296,
                          243,.270,
                          393,.400,
                          167,.188,
                          285,.290,
                          239..266,
                          390,.397,
                          177,.196,
                          287,.293,
                          277,.303,
                          424,.431,
                          193,.211,
                          296,.302,
                          296,.319,
                          431,.438,
                                                                         • 308,

                                                                         .225,

                                                                         .341,
 190,
 283,
.291,
 417,
 187,
 272,
,286,
,404,
 192,
.271,
.291,
,402,
.192,
.267,
.291,
.397,
.206,
.288,
• 312,
.423,
.202,
.276,
.307,
.409,
.206,
.275,
• 310,
.407,
.205,
.270,
.309,
.402,
.301,
.292,.312,
.406,
.206,.221,
.295,
.289,
.404,
.212,
.298,
• 323,
.438,
.225,.238,
.306,
.337,-353,
.444/

.220,.231,
.292,
•330,.345,
.428,
.214,.225,
.279,
•323,-337,
.414,
.217,.227,
.278,
•325,.338,
.412,
.216,.225,
.273,
.323,.336,
.4077
                                      .103,.136,
                                      .246,.251,
                                      ,163,.211,
                                      .367,.375,
                                      .103,.136,
                                      .244,.249,
                                      ,162,.211,
                                      ,365,.373,
                                      .103,.135,
                                      .240,.245,
                                      .161,.209,
                                      ,360,.368,
                                      .102,.135,
                                      .238,.242,
                                      .160,.208,
                                      .357,.364,
 157,.175,.191,
 256,.260,.264,
 242,.268,.290,
 382,.389,.394,
 157,.175,-191,
 254,.258,.262,
 242,.267,.289,
 380,.386,.392,
 157,.174,.190,
 250,.254,.257,
 241,.266,.288,
 375,.381,.386,
 156,.174,.189,
 246,.250,.253,
 240,.265,.286,
 371,-377,-382,
     .205,.215,.224,
     .268,.271,
     .308,.322,.335,
     •399,.404,
     .204,.214,.223,
     .265,.268,
     •307,-321,.333,
     •397,.401,
     .202,.212,.221,
     .260,.263,
     •305,.318,.330,
     •391,.395,
     .201,.211,.219,
     .256,.258,
     .303,.316,.328,
     •386..391/
 END

-------
510000
510001
510002
510003
510004
510005
510006
510007
510008
510009
510010
510011
510012
510013
510014
510015
510016
510017
510018
510019
510020
510021
510022
510023
510024
510025
510026
510027
510028
510029
510030
510031
510032
510033
510034
510035
510036
510037
510038
510039
510040
510041
510042
510043
510044
510045
510046
510047
510048
510049
510050
510051
510052
510053
510054
510055
510056
510057
C-342
Appendix C: MOBILE4 Block Data 10 Ma;
BLOCK DATA BD10
C
C BLOCK DATA Subprogram 10: /NMETH1/./NMETH2/
C
C BLOCK DATA 10 initializes methane offset values.
C
C Common block array subscripts:
C
C EXMETI (3,6,8,2) - EXMET1 ( IB, IEXMYG, IV, IR)
C EXMET2(3,10,3) - EXMET2 ( IB, IEXMYG, IV )
C MYGEXM(6,8,2) - MYGEXM ( IG, IV, IR )
C
C Common block dictionary:
C
C Name Type Description
C /NMETH1/:
C
C EXMET1 R methane offset to the basic emission factor (bef ) , myg
C MYGEXM 1 the last year of the methane offset model year groups
C EXMET1 R methane offset to the bef, "excess" mygs (7+) , low alt
C LBEXM 1 lower bound (1st my) of the last myg of meth offsets,
C
C /NMETH2/:
C
C IEXMYG 1 index into myg dimension of EXMETi arrays
C IEXARR 1 EXMETi array selection key: 1 = EXMETI 62= EXMET2
C
C Local array subscripts:
C
C EXMLO(3,6,8) - EXMLO ( IB, IEXMYG, IV )
C EXMHI (3, 6, 8) - EXMHI ( IB, IEXMYG, IV)
C 1 EXMLO (6, 8) - 1 EXMLO ( IG, IV )
C 1 EXMHI (6,8) - 1 EXMHI ( IG, IV )
C
C Local array dictionary:
C
C Name Type Description
C_
— "~ —————— ————————
C EXMLO R low altitude methane offset by bag by myg by vehicle
C EXMHI R high altitude methane offset by bag by myg by vehicle
C 1 EXMLO 1 low alt. region methane offset myg upper bounds (last
C IEXMHI 1 high alt. region methane offset myg upper bounds (last
C
C Notes:
C
C BD 10 was updated for MOBILES updating EXMET2.
C BD 10 was updated for MOBILES, chging the high alt LDGV/T offsets 6
C
C

Y 5, 1989

















1-6
(mygs)
6 LDGV/T
LDGV/T


















class
class
years)
years)




MYGs.


C

C
 COMMON /NMETH1/ EXMETI(3,6,8,2).MYGEXM(6,8,2) ,EXMET2 (3,10,3),LBEXM
 COMMON /NMETH2/ IEXMYG,IEXARR

 DIMENSION EXMLO(3,6,8),EXMHI (3,6,8), IEXMLO(6,8),IEXMHI (6,8)

 EQUIVALENCE
*   (EXMETI(1,1,1,1) ,EXMLO(1,1,1)) ,
*   (EXMETI(1,1,1,2) ,EXMHI (1,1,1)),

-------
                   C-3*3



Appendix C: MOBILES Block Data 10
May 5, 1989
510058
^510059
^•0060
^^10061
510062
510063
51006*4
510065
510066
510067
510068
510069
510070
510071
510072
510073
51007*4
510075
510076
510077
510078
510079
510080
510081
510082
510083
51008*4
^510085
^•10086
^^10087
510088
510089
510090
510091
510092
510093
51009*4
510095
510096
510097
510098
510099
510100
510101
510102
510103
51010*4
510105
510106
510107
510108
510109
510110
^£10111
^feoil2
^10113
5101U
510115
*
*
C
C The
C
C Low
C
(MYGEXM (1,1,1) , 1 EXMLO (1,1)) ,
(MYGEXM(1,1,2) , IEXMHI (1,1))
continuation code for all arrays

alt LDGV


kink


(myg *t


thru 6


, all

is IV (1 = LDGV

3 bags)


OK'd by

, 2 =

L. PI

LDGT1, etc) .

atte,


9/9/87

DATA EXMLO/
C
C
1
1
2
2
3
3
*4
5
6
7
7
8
C

C
C
1
1
2
2
3
3
k
5
6
6
7
7
8
C
Bagl


.*»20,
.250,
.*420,
.237,
.*+20,
.237,
.670,
.0*43,
.03*4,
.1*45,
.100,
.530,

DATA EXMH
Bagl


• 570,
.*90,
• 570,
• 365,
.570,
• 365.
.910,
.099,
• 079,
.022,
• 333,
.230,
.068,

Bag2


.310,
.160,
• 310,
.125,
• 310,
.125,
.670,
•0*43,
.03*4,
.1*5,
.100,
.530,

I/
Bag2


.*420,
.310,
.*420,
• 193,
.*»20,
• 193,
• 910,
.099,
.079,
.022,
.333,
.230,
.068,

Bag3


.230,
.120,
.230,
.110,
.230,
.110,
.670,
.0*43,
.03*t,
.1*5,
.100,
.530,


Bag3


• 310,
.2*fO,
.310,
.170,
• 310,
.170,
• 910,
• 099,
.079,
.022,
.333,
.230,
.068,

Bagl


.250,
.1*40,
.290,
.181,
,*20,
.181,
• 310,
.011,
.03*4,
.1*5,
6*.0,
.270,


Bagl


.*70,
• 300,
.560,
.271,
.570,
.271,
.600,
.025,
.079,
6*.0,
• 333,
6*.0,
.03*4,

Bag2


.160,
.090,
.190,
.111,
.310,
.111,
.310,
.011,
.03*4,
.1*5,

.270,


Bag2


.300,
.200,
.370,
.167,
.*420,
.167,
.600,
.025,
.079,

.•333,

.03*4,

Bag3


.120,
.080,
.1*40,
.097,
.230,
• 097,
Oio,
.011,
.03*.
.1*5,

.270,


Bag3


.230,
.170,
.270,
.1*5,
• 310,
.1*5,
.600,
.025,
.079.

.333,

.03*.

Bagl


.250,
• 155,
.260,
.166,
.260,
.166,
.180,
.011,
.017,
.118,

.2*0,


Bagl


.220,
.258,
• 500,
.208,
.500,
.208,
• 350,
.025,
.0*40,

.271,

.037,

Bag2


.160,
.101,
.160,
.102,
.160,
.102,
.180,
.011,
.017,
.118,

.2*40,


Bag2


.1*40,
.167,
• 310,
.128,
.310,
.128,
• 350,
.025,
.0*»0,

.271,

.037,

Bag3


.120,
.085,
.130,
.090,
.130,
.090,
.180,
.011,
.017,
.118,

.2*40,


Bag3


.110,
.1*40,
.250,
.112,
.250,
.112,
.350,
.025,
.0*40,

.271,

.037,









9*-0,
9*-0,
9*-0,


9*.0/








9*-0,
9*-0,




9*.0/

DATA 1 EXMLO/
1
2
3
A
5
6
7
8
C
197*,
197*.
1973,
1978,
197**,
1977,
1977,
1977,

1976
1978
1978
1986
1979
1980
1981
1979

, 1977,
, 1980,
, 1980,
, 2020,
, 2020,
, 2020,
, 1987,
, 2020,

1979,
1983,
1983,
0000,
0000,
0000,
2020,
0000,

1980,
198*4,
198*4,
0000,
0000,
0000,
0000,
0000,

1982,
1985,
1985,
0000,
0000,
0000,
0000,
oooo/





































DATA IEXMHI/
1
2
3
*4
5
6
7
197**,
197*.
1973,
1978,
197* ,
1978,
1S77,
1976
1978
1978
1986
1979
1980
1981
, 1977,
, 1980,
, 1980,
, 2020,
, 2020,
, 1983,
, 1987,
1979,
1983,
1983,
0000,
0000,
2020,
2020,
1980,
198*4,
198*4,
0000,
0000,
0000,
0000,
1982,
1985,
1985,
0000,
0000,
0000,
0000,





















-------
510116
510117
510118
510119
510120
510121
510122
510123
510121*
510125
510126
510127
510128
510129
510130
510131
510132
510133

C

C










C

C

        Appendix  C:  MOBILES Block Data  10

8    1977,  1979,  2020,  0000, 0000, OOOO/
                                                                 May 5, 1989
 DATA EXMET2/
     Bagl  Bag2   Bag3
1   .111,  .075,  -067,
1   .088,  .059,  .05A,
1   .073,  .01.9,  .01.6,
1   .065,  .01*1.,  .01.1,
2   .139,  -085,  .076,
2   .108,  .061*.  .059,
2   .105,  .062,  .057,
3   .139,  .085,  .076,
3   .108,  .061.,  .059,
3   .105,  .062,  .057,
 Bagl  Bag2  Bag3
.105, .070,  .063,
.079, .053,  .01*9,
.071, .01*8,  .01*1.,

.119, .071,  .065,
.108, .061.,  .058,
9*-0,
.119, .071,  .065,
.108, .061.,  .058,
9*.0/
DATA LBEXM/1992/,  IEXMYG/1/,  IEXARR/1/
END
                                             Bagl   Bag2   Bag3
                                             .093,  .062,  .056,
                                             .075,  .051,  .01*6,
                                             .067,  .01*6,  .01*2,

                                             .109,  .061*,  .059,
                                             .108,  .061*.  .058,

                                             .109,  .061*.  .059,
                                             .108,  .061*.  .058,

-------
Appendix C: MOBILES Block Data 11
May 5, 1989
511000
P1001
1002
511003
511001*
511005
511006
511007
511008
511009
511010
511011
511012
511013
5110U
511015
511016
511017
511018
511019
511020
511021
511022
511023
511021*
511025
511026
^1027
01028
r i i HOQ
p I 1 \j£.y
511030
511031
511032
511033
511031*
511035
511036
511037
511038
511039
51101*0
51101*1
51101*2
51101*3
51101+1*
51101*5
51101*6
51101*7
51101*8
51101*9
511050
511051
511052
MI 053
PI 051*
511055
511056
511057

c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
• c
c
c
c
c
c
c
c
c
c
c
c
c
c
BLOCK DATA

BD11



BLOCK DATA Subprogram 11: /EVAHI A/./EVAHS1/./EVAHS2/,



BLOCK DATA 11
/EVAPAR/, /EVAPHD/, /EVASTD/,
/EVAPGR/

initializes the parameters and rates affecting both hot
and diurnal or hot soak alone (Hot soak HC + Diurnal HC = Evaporative

Common block

CLHS (5, 2)
EFHS(1*,2)
EVP(1»)
FINJ (2)
GREVP(1*,9)
HDHS (2)
HDWGT (2)
HIHS (2)
HSEQ(3,2,12)
1 VVMAP (5)
KSTD81 (1*,3)
MYGSTD(5,5)
TPHS (7,1*. 2)
VGREVP (It)

Common block

Name Type
/EVAHI A/:

HIHS R
HIADJ1 R
HIADJ2 R

/EVAHS1/:

HSEQ R
EFHS R
HDHS R
CLHS R

/EVAHS2/:

TPHS R

/EVAPAR/:

IFDS 1
ISTDC 1
1 STDT 1
ISTDP 1
FINJ R


/EVAPHD/:


array subscripts:

- CLHS (ISTD , IRVP )
- EFHS (ISTD , IRVP )
- EVP ( IEVP )
- FINJ ( 2 )
- GREVP ( IEVP , IV )
- HDHS ( IRVP )
- HDWGT ( IHDSAL )
- HIHS ( IRVP )
- HSEQ (IFDS , IVV , IEVEQ )
- 1 VVMAP ( IVGAS )
- KSTD81 ( IVTAM , IFDS )
- MYGSTD ( IG , IVGAS )
- TPHS (ISTD , IVGAS , 1 RVP )
- VGREVP ( IEVP )

di ctionary:

Descr ipt ion


High alt, 1972-76, LDGV & LDGT1, HS rates on 2 RVP fuel
High alt adjustment to low alt based evap rate, default
High alt adjustment to low alt based evap rate, 1978-81



1981+ LDGV and LDGT1/2 and Cert HS equations parameters
EF HS rates for pre-8l LDGV on 2 RVP fuels
EF HS rates for pre-1985 HDGV on 2 RVP fuels
EF HS rates for MC on 2 RVP fuels for all standards



Tampered HS rates for LDGV/T 6 HDGV on 2 RVP fuels for



See Subscript Dictionary
Carbureted engine emission standard case
TBI engine emission standard case
PFI engine emission standard case
Fuel-injected fraction of vehicle class IVGAS built in
index is 1 = TBI , 2 = PBI






soak
HC) .























s
case
case










all stds







MY,





-------
                   C-346



Appendix C: MOBILE** Block  Data  11
May 5, 1989
511058
511059
511060
511061
511062
511063
511061*
511065
511066
511067
511068
511069
511070
5H071
511072
5H073
511071*
5H075
511076
5H077
511078
5H079
511080
511081
511082
511083
511084
511085
511086
511087
511088
511089
5H090
511091
511092
5H093
511094
5H095
511096
5H097
511098
511099
511100
511101
511102
511103
511104
5H105
511106
511107
511108
511109
511110
511111
511112
511113
511114
51H15
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C







C

C



C
C
C
C
C
C
HDSAL R Sales fraction for HDGV weighing < 14000 Ibs
HDWGT R HDGV weighting factor on value returned from EV8l / EVCERT
IVVMAP 1 IVGAS to IVV mapping vector

/EVASTD/:

MYGSTD 1 Model year groups for emission standards by vehicle type
MAXSTD 1 Maximum number of myg ' s for emission standards, given IV
KSTD81 1 Emission standard key for IFDS sensitive 1981+ LDGV/T *OR*
emission standard key for cert fuel change cases, depending
on KEYEQ (see IEVPTR comments).

/EVAPGR/:

EVP R Gram evaporative component for a model year
GREVP R Gram evaporative component for a vehicle type
VGREVP R Gram evaporative component for all vehicles combined

Local array subscripts:

HSEQ1(3,2,6) - HSEQ1 ( IFDS , IVV , IEVEQ)
HSEQ2(3,2,6) - HSEQ2 ( IFDS , IVV , IEVEQ )

Local array dictionary:

Name Type Description


HSEQ1 R 1981+ LDGV and LDGT1/2 and Cert HS equations parameters
for IEVEQ = 1-6
HSEQ2 R 1981+ LDGV and LDGT1/2 and Cert HS equations parameters
for IEVEQ = 7-12

Notes:

These data structures are in support of the new MOBILE4 evaporative
emissions calculation methodology.
BD11 was modified for MOBILE4.


COMMON /EVAHIA/ H 1 HS (2) ,H 1 ADJ 1 ,H 1 ADJ2
COMMON /EVAHS1/ HSEQ (3,2, 12) , EFHS (4,2) ,HDHS (2) ,CLHS (5,2)
COMMON /EVAHS2/ TPHS(7,4,2)
COMMON /EVAPAR/ 1 FDS, ISTDC, ISTDT, 1 STDP.F INJ (2)
COMMON /EVAPGR/ EVP (4) , GREVP (4,9) , VGREVP (4)
COMMON /EVAPHD/ HDSAL, HDWGT (2) , IVVMAP (5)
COMMON /EVASTD/ MYGSTD (5,5) , MAXSTD, KSTD81 (4,3)

DIMENSION HSEQ1 (3,2,6) .HSEQ2 (3,2,6)

EQUIVALENCE
* (HSEQ(1,1,1),HSEQ1 (1,1,1)) ,
* (HSEQ(1,1,7),HSEQ2(1,1,1))


/EVAHIA/:

Fuel RVP
3.0 11.5

-------
                        Appendix C:  MOBILES Block Data 11
May 5, 1989
511116
•mi8
finis
511120
511121
511122
511123
51 1 121*
51H25
511126
51H27
511128
51H29
511130
51H31
51H32
511133
511131*
5H135
511136
51H37
51H38
51H39
511 11.0
51111*1
5H11.2
£11 1*»3
•lHl.1.
51111.5
51111.6
51111*7
51 1 11*8
51111.9
511150
5H151
51H52
51H53
51115**
51H55
511156
5H157
51H58
511159
511160
511161
511162
511163
511161.
511165
511166
51H67
511168
i l 1 1 69
§1170
511171
51H72
51H73
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c













c













c
c
.c
c
c

/EV

HSEi

Con
RVP



Con
mail



Con
and

Con
tern





a
a
b
b
c
c
d
d
e
e
f
f


g
g
h
h
i
i
j
j
k
k
1
1

Con



                 DATA HIHS/ U.07,  20.96/,  HIADJ1,HIADJ2/1.30,  2.59/

                 AHS1/:

              HSEQ provides the following coefficients and  constants:

              Continuation lines a,b,c are the 1981+ LDGV and LDGT1/2 EF HS excess
              RVP effect on HS equation coefficients:

                  EXCESS = a + b*RVP + c*RVP**2

              Continuation lines d.e.f are the 1981+ LDGV and LDGT1/2 EF HS
              ma 1 maintenance and defect effect RVP equation coefficients:

                  M6DHS81 = d + e*RVP + f*RVP**2

              Continuation lines g,h are the constant terms of  the standard level
              and the insufficient capacity, respectively.

              Continuation lines i.j.k.l are the 1981+ LDGV and LDGT1/2 EF HS
              temperature correction factor equation coefficients:

                  TCFHS81 = (i + j*HSTEMP + k*HSTEMP**2)/I
                 DATA HSEQ1/
                 DATA HSEQ2/
CARB
-2.gl.02
-2.2351*5
0.0
0.0
0.031813
0.020191*
-3.2323
-0.75815
0.72337
0.0
-0.031813
0.012996
1.06
1.06
0.60
0.60
-2.A636
0.0
0.0
0.005551*!
0.00056161
0.0
1.31
0.46
TBI
,-1.1.6699
,-1.1.6699
, 0.15957
, 0.15957
, 0.0
, 0.0
,-1.27791
,-1.27791
, 0.15831
, 0.15831
, 0.0
, 0.0
, 0.70
, 0.70
, 0.0
, 0.0
,-2.1.636
,-2.1*636
, 0.0
, 0.0
, 0.00056161
, 0.00056161
, 1.31
, 1.31
PFI
,-2.7773
,-2.7773
, 0.0
, 0.0
, 0.031*11*6
, 0.031.11.6
,-0.1796
,-0.1796
, 0.0
, 0.0
, 0.005027
, 0.005027
, 0.70
, 0.70
, 0.0
, 0.0
, 0.0
, 0.0
, o. 00555** l
, o. 00555** 1
, 0.0
, 0.0
, 0.1.6
, 0.1.6
              Continuation line code for EFHS,  HDHS,  CLHS and TPHS:

                  1  = rate(s)  when fuel  RVP = 9.0
                  2  = rate(s)  when fuel  RVP =11.5

-------
                   C-348



Appendix C: MOBILES Block Data  11
May 5, 1989
51H74
51H75
5H176
51H77
511178
51H79
5H180
511181
511 182
511183
5H184
511185
511186
511187
511188
511189
511190
511191
511192
5H193
511194
5H195
511196
511197
511198
5H199
511200
511201
511202
511203
511204
511205
511206
511207
511208
511209
511210
511211
511212
5H213
511214
5H215
511216
5H217
511218
5H219
5H220
511221
511222
511223
511224
5H225
511226
5H227
511228
511229
511230
C
C



C



C
C



C
C
C
C
C
C
C
C
C
C









C
C
C
C

C
C
C

C
C
C
C






C

C
C


pre-1971 1971 1972-77 1978-80
DATA EFHS/
1 14.67, 10.91, 8.27, 2.46,
2 22.45, 16.15, 12.32, 4.47X

DATA HDHS/
1 18.08,
2 27-667

pre-1978 1978-79 1980-81 1982-84 1985+
DATA CLHS/
1 4.01, 9-01, 9-64, 9.95, 9.90,
2 6.14, 13.79, 14.75, 15.22, 15.15/

7EVAHS27:


For each set of TPHS continuation lines:
first = LDGV rates at that RVP
second = LDGT1 rates at that RVP
third = LDGT2 rates at that RVP
fourth = HDGV rates at that RVP

DATA TPHS/
1 14.67, 14.67, 14.67, 13-29, 10.36, 5.20, 5-20,
1 14.67, 14.67, 14.67, 13-29, 6.50, 5-20, 5-20,
1 18.08, 13-29, 6.50, 5-20, 5-20, 2*0.,
1 18.08, 14.67, 5*0.,
2 22.45, 22.45, 22.45, 18.50, 17-47, 9-00, 9-00,
2 22.45, 22.45, 22.45, 18.50, 13.85, 9-00, 9.00,
2 27.99, 18.50, 13-85, 9-00, 9-00, 2*0.,
2 27.66, 23.31, 5*0. /

/EVAPAR/: These are all parameters set during execution by CCEVRT 6 1 EVPTR
Initialization is not necessary, so zeroes are used here.

DATA IFDS, ISTDC, ISTDP, 1 STDT/4*0/,F 1 NJ/2*0.0/

/EVAPHD/: These values are used in both HS and DU calculations.

DATA HDSAL/0.875/, HDWGT/1 .5.2.0/, 1 VVMAP/1 ,2, 2,2, I/

/EVASTD/: The continuation line codes are IVGAS for MYGSTD and IFDS for
KSTD81 .

DATA MYGSTD/
1 1970, 1971, 1977, 1980, OOOO,
2 1970, 1971, 1977, 1980, OOOO,
3 1978, 1980, oooo, oooo, oooo,
4 1984, 2020, OOOO, OOOO, OOOO,
5 1977, 1979, 1981, 1984, 2020/

DATA MAXSTD/5/

LDGV LDGT1 LDGT2 HDGV
DATA KSTD81/
       5,   5,     3,    2,

-------
                                           C-3^9

                        Appendix C:  MOBILE4 Block Data 11                        May 5, 1989

511232          2              6,   6,     4,    0,
  1233          3              7,   7,     5,    O/
  1234     C
  1235     C  There is no fuel  injected case for HDGV presently,  thus the 0 in KSTD81.
511236     c
5H237     C
511238     C  /EVAPGR/:   These values are calculated in HOTSOK and DIURNL.
5H239     C
511240           DATA EVP/4*0.0/, GREVP/36*0.0/, VGREVP/4*0.0/
511241           END

-------
                                           C-350

                        Appendix C: MOBILE** Block  Data  12                        May  5,  1989

512000     C  Former location of BD 12.  Available for  new  DSECT  or  renumbering.
512001     C
512002     c
512003     c
512001*     c

-------
                   C-351



Appendix C: MOBILES Block Data 13
May 5, 1989
513000
^£13001
^^13002
513003
513001*
513005
513006
513007
513008
513009
513010
513011
513012
513013
5130H*
513015
513016
513017
513018
513019
513020
513021
r I 7Q22
513023
513021*
513025
513026
•13027
13028
513029
513030
513031
513032
513033
513031*
513035
513036
513037
513038
513039
51301*0
5130i»l
51301*2
51301*3
51301*1*
51301*5
51301*6
51301*7
51301*8
51301*9
513050
513051
513052
^fcl 3053
•13051*
513055
513056
513057

c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c


c
c
c
c
c
c
c
c
c
c
BLOCK DATA BD13

BLOCK DATA Subprogram 13: /EVADU1/./EVADU2/

BLOCK DATA 13 initializes the parameters and rates of the diurnal
component of evaporative HC.

Common block array subscripts:

DUEQ(3,2,10) - DUEQ ( IFDS , IVV , IEVEQ )
EFDU(1*,2) - EFDU ( ISTD , IRVP )
CLDU (5, 2) - CLDU ( ISTD , IRVP )
HDDU (2) - HDDU ( IRVP )
HIDU (2) - HIDU ( IRVP )
R2DU(2,2) - R2DU ( KSTD , IREJN )
TPDU (8, 2) - TPDU ( ISTD , IRVP )
TPDUAF (7,1*. 2} - TPDUAF ( ISTD , 1 VGAS , 1 DUAF )
DULIM(3,2) - DULIM ( IFDS , IVV )

Common block dictionary:

Name Type Description
/EVADU1/:

DUEQ R 1981+ LDGV and LDGT1/2 and Cert DU equations parameters
EFDU R EF DU rates for pre-8l LDGV on 2 RVP fuels
HDDU R EF DU rates for pre-1985 HDGV on 2 RVP fuels
CLDU R EF DU rates for MC on 2 RVP fuels for all standards
TPDU R Tampered DU rates for LDGV 6 HDGV on 2 RVP fuels for all stds

/EVADU2/:

HIDU R High alt, 1972-76, LDGV 6 LDGT1, DU rates on 2 RVP fuels
DULIM R OU Index limit for using different coefficients
R2DU R values for high RVP diurnal based on altitude and standard
TPDUAF R tampered diurnal adjustment factors by standard, vehicle,
and condition (1=FTP, 2=IN-USE)

Notes:

These data structures are in support of the new MOBILEl* evaporative
emissions calculation methodology.
BD13 was modified for MOBILES.


COMMON /EVADU1/ 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,1»,2) , IDUAF

/EVADU1/:

DUEQ provides the following coefficients and constants:

Continuation lines a.b.c are the 1981+ LDGV and LDGT1/2 EF DU excess
RVP Index equation coefficients:

EXCESS = a + b* Index + c*lndex**2


-------
                   C-352



Appendix C: MOBILES Block Data 13
May 5, 1989
513058
513059
513060
513061
513062
513063
513064
513065
513066
513067
513068
513069
513070
513071
513072
513073
513074
513075
513076
513077
513078
513079
513080
513081
513082
513083
513084
513085
513086
513087
513088
513089
513090
513091
513092
513093
513094
513095
513096
513097
513098
513099
513100
513101
513102
513103
513104
513105
513106
513107
513108
513109
513HO
5131H
513H2
513H3
513H4
513H5
c
c
c
c
c
c
c
c
c
c
c
c
c











c
c
c
c
c
c
c



c



c
c



c
c
c
c
c
c
c
c
c



c
c
c
Continuation lines d,e,f are the 1981+ LDGV and LDGT1/2 EF DU
malmaintenance and defect effect Index equation coefficients:

M6DDU81 = d + e*lndex + f**lndex

Continuation lines g,h are the constant









terms of the standard level
and the insufficient capacity, respectively.




Continuation lines i , j are the excess RVP index equation
coefficients if index > DULIM

LDGV
CARB TBI PFI
DATA DUEQ/
a -1.46 , -1.30 , -1.30 ,
b 0.0 , 0.0 , 0.0
c 1-7987, 1.7273, 1.5262,
d 0.0 , 0.0 , 0.0
e 0.0 , 0.0 , 0.0
f 0.5527, 0.3758, 0.2239,
9 0.94 , 1.30 , 1.30 ,
h 0.52 , 0.0 , 0.0
i -26. 6409, -27. 5218, -30. 9769,
j 13-46 , 13.46 , 13-46 ,




CARB

-1.46 ,
0.0 ,
2.5999,
0.0
0.0
0.3949,
0.94 ,
0.52 ,
-21.1673,
14.316 ,



LDGT1/2
TBI

-1.30 ,
0.0
1.7273,
0.0
0.0
0.3758,
1.30 ,
0.0
-27.5218,
13.46 ,




PFI

-1.30
0.0
1 .5262
0.0
0.0
0.2239
1.30
0.0
-30.9769
13.46 ,

Continuation line code for EFDU, HDDU and CLDU:

1 = rate(s) when fuel RVP = 9.0
2 = rate(s) when fuel RVP =11.5

pre-1971 1971 1972-77
DATA EFDU/
1 26.08, 16.28, 8.98,
2 47-99, 38.58, 23.53,

DATA HDDU/
1 42.33,
2 77. 89/

pre-1978 1978-79 1980-81
DATA CLDU/
l 6.53, 8.79, 9.13
2 12.02, 16.17, 16.80

/EVADU2/:

Continuation line code for HIDU:

1 = rate when fuel RVP = 9.0
2 = rate when fuel RVP =11.5


DATA HIDU/
1 17.15,
2 44. 93/

Index limit for recomputat ion of excess





1978-80

5.16,
15- 92/





1982-84

9-24,
17-00,













RVP effect














1985+

9-35,
17- 20/
















































-------
513116
£13117
•l3H8
313H9
513120
513121
513122
513123
513124
513125
513126
513127
513128
513129
513130
513131
513132
513133
513134
513135
513136
513137
513138
513139
513140
513141
513142
£13143
•13144
313145
513146
C
C

C
C

C
C
C
C
C
C
C
C
C
C
C
C
C
C









C

                             C-353

          Appendix C:  MOBILES Block Data 13

                         LDGV
                CARB    PFI      TBI
   DATA DULIM / 3-7416,  4.4096, 3.8963,

                  Low      |      High
   DATA R2DU/1.9581.2.0677.,  2.2086,2.3667X

Continuation line code for TPDUAF:

    1  = factor (s)  for FTP conditions
    2  = factor (s)  for IN-USE  conditions

For each set of TPDUAF continuation lines:
    first  = LDGV adjustment  factors
    second = LDGT1 adjustment factors
    third  = LDGT2 adjustment factors
    fourth • HDGV adjustment  factors

          ISTD:  1     2     3     4     5

   DATA TPDUAF/
  1
  1
  1
  1
  2
  2
  2
                                                    May 5, 1989
                                     LDGT1/2
                              CARB    PFI      TBI
                              2.7523, 4.4096, 3.8963 /
1.22,
1.22,
1.97,
1.97,
1-50,
1.50,
1
1
0
1
1
1
.22,
.22,
.73,
.05,
.50,
• 50,
0.92,
0.92,
0.72,
5*0.,
1.13.
1.13,
0
0
0

0
0
• 73,
• 73,
• 72,

.90,
• 90,
0
0
0

0
0
• 72,
.67,
• 72,

.89,
.83,
0.72,
0.72,
2*0.,

0.89,
0.89,
0
0


0
0
• 72,
• 72,


.89,
.89,
2.44, 0.90,  0.89,  0.89, 0.89,  2*0.,
2.44, 1.29,  5*0./
   END

-------
                   C-354



Appendix C: MOBILES Block Data 14
May 5, 1989
511*000
511*001
511*002
514003
511*001*
511*005
511*006
511*007
511*008
511*009
511*010
511*01 1
511*012
511*013
511*011*
c i Ji n i c
;> 1 HU 1 p
511*016
511*017
511*018
514019
511*020
511*021
514022
511*023
51A021*
511*025
514026
511*027
511*028
511*029
5U030
5H*031
514032
5H*033
511*031*
5 U»035
511*036
514037
514038
514039
514040
514041
514042
514043
514044
514045
514046
514047
514048
514049
514050
514051
514052
514053
514054
514055
514056
514057

C
C
C
c
c
c
c
c
c
c
c
c
c
c


c
c
c
c
c
c
c
c
c
c
c


c

c
c
c
c
c









c
c
c









c
BLOCK DATA BD14

BLOCK DATA Subprogram 14: /MPDCOM/, /TPDCOM/

BLOCK DATA 14 initializes the average miles per day and trips per day values

Common block array subscripts:

VALMPD (2, 8) - VALMPD ( IG, IV)
MYGMPD (2, 8) - MYGMPD ( IG, IV )
TPDCO(2,5) - TPDCO ( IMDL, IV )

Common block dictionary:

Name Type Description


/MPDCOM/:

MAXMPD 1 maximum number of MPD model year groups allowed
VALMPD R average miles per day (MPD)
MYGMPD 1 last year of MPD model year groups

/TPDCOM/:

TPDCO R the coefficients (intercept and slope) of the TPD equation


COMMON /MPDCOM/ MAXMPD, VALMPD (2,8) .MYGMPD (2,8)
COMMON /TPDCOM/ TPDCO (2, 8)

DATA MAXMPD/2/

Continuation line code is IV.

Average miles per day

DATA VALMPD/
1 31.1, 0.0,
2 26.3, 0.0,
3 33-7, 0.0,
4 36.7, 0.0,
5 31.1, 0.0,
6 29.8, 0.0,
7 138.3, O.o,
8 8.3, O.O/

Last year of MPD model year groups

DATA MYGMPD/
1 2020,0000,
2 2020,0000,
3 2020,0000,
4 2020,0000,
5 2020,0000,
6 2020,0000,
7 2020,0000,
8 2020, OOOO/


-------
                   C-355
Appendix C: MOBILES Block Data 14
May 5, 1989
514058
^14059
^^4060
^14061
511*062
514063
514064
514065
514066
51406?
514068
514069
514070
514071
514072
C /TPDCOM/:
C
C The intercept and slope of the trips per day by model year equation
C

1
2
3
4
5
6
7
8
C

DATA TPDCO/
4.7187 0.058508,
4.7187
4.7187
6.88
3-05
3-05
6.65
1.35
0.058508,
0.058508,
0.0
0.0
0.0
0.0
0.0 /

END

-------
515000
515001
515002
515003
51500*4
515005
515006
515007
515008
515009
515010
515011
515012
515013
515014
515015
515016
515017
515018
515019
515020
515021
515022
515023
515024
515025
515026
515027
515028
515029
515030
515031
515032
515033
515034
515035
515036
515037
515038
515039
515040
515041
515042
515043
515044
515045
515046
515047
515048
515049
515050
515051
515052
515053
515054
515055
515056
515057
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
Appendix C: MOBI
BLOCK DATA BD15
BLOCK DATA Subprogram 15:
BLOCK DATA 15 initial izes
Common block array subscri

CRAVAL
MYGCRA

Common

Name

(3
(3


,8,2)
,8,2)

block d



Type

- CRAVAL
- MYGCRA

i ctionary :



(
(




C-356
LE4 Block Data 15 May 5, 1989
/CRACOM/
the evaporative crankcase HC emissions.
pts:

IG, 1
IG, 1



Descr i

V, IR )
V, IR )



pt ion
/CRACOM/:

MAXCRA
CRAVAL
MYGCRA

Local

CRAVLO
CRAVHI
ICRALO
ICRAHI

Local

Name
CRAVLO
CRAVHI
ICRALO
ICRAHI








1
R
1




maximum number of
crankcase
last year

HC
of

emi ss

crankcase HC model year groups allowed
i ons
crankcase HC model year groups


array subscripts:

(3
(3
(3

,8) -
,8) -
,8) -
(3,8) -


array di









Type
R
R
1
1



CRAVLO ( 1
CRAVHI ( 1
ICRALO ( 1
ICRAHI ( 1

ctionary:


G,
G,
G,
G,




IV )
IV )
IV )
IV )











Descr i pt ion
crankcase
crankcase
last year
last year


HC
HC
of
of


emi ss
emi ss
ions in high altitude region
ions in high altitude region
crankcase HC model year groups
crankcase HC model year groups




   COMMON /CRACOM/ MAXCRA, CRAVAL (3,8,2) .MYGCRA (3,8,2)


   DIMENSION
  *   CRAVLO (3, 8),
  *   CRAVHI (3,8) ,
  *   ICRALO (3, 8),
  *   ICRAHI (3,8)
*
*
   EQUIVALENCE

       (CRAVAL (1, 1, 1) , CRAVLO (1,1)) ,

       (CRAVAL (1,1, 2) .CRAVHI (1,1)) ,
       (MYGCRA (1,1,1), I CRALO (1, 1) ),
       (MYGCRA (1,1, 2) .ICRAHI (1,1))


   DATA MAXCRA/3/
Value of crankcase HC emissions
Low altitude region

-------
                   c-357



Appendix C: MOBILE!* Block Data  15
May 5, 1989
515058
K15059
PI 5060
515061
515062
515063
515064
515065
515066
515067
515068
515069
515070
515071
515072
515073
515074
515075
515076
515077
515078
515079
515080
515081
515082
515083
515084
S15085
PI 5086
515087
515088
515089
515090
515091
515092
515093
515094
515095
515096
515097
515098
515099
515100
515101
515102
515103
515104
515105
515106
DATA CRAVLO/
* 4.10, 0.80,
* 4.10, 0.80,
* 5.70, o.oo,
* 5-70, 0.00,
* 0.00, 0.00,
* 0.00, 0.00,
* 0.00, 0.00,
* 0.31, o.oo,
C
C High altitude region
C
DATA CRAVHI/
* 5.29, 1.03,
* 5-29, 1-03,
* 7.35, o.oo,
* 7.35, 0.00,
* 0.00, 0.00,
* 0.00, 0.00,
* 0.00, 0.00,
* 0.40, 0.00,
C

0.00,
0.00,
0.00,
0.00,
0.00,
0.00,
0.00,
o.oo/




0.00,
0.00,
0.00,
0.00,
0.00,
0.00,
0.00,
o.oo/

C Last year of crankcase HC model year groups
C
C Low altitude region
C
DATA ICRALO/
* 1962,1967,2020,
* 1962,1967,2020,
* 1967,2020,0000,
* 1967,2020,0000,
* 2020,0000,0000,
* 2020,0000,0000,
* 2020,0000,0000,
* 1977, 2020, OOOO/
C
C High altitude region
C
DATA ICRAHI/
* 1962,1967,2020,
* 1962,1967,2020,
* 1967,2020,0000,
* 1967,2020,0000,
* 2020,0000,0000,
* 2020,0000,0000,
* 2020,0000,0000,
* 1977, 2020, OOOO/
C
END



























-------
                   C-358



Appendix C: MOBILES Block Data 16
May 5, 1989
516000
516001
516002
516003
516004
516005
516006
516007
516008
516009
516010
516011
516012
516013
516014
516015
516016
516017
516018
516019
516020
516021
516022
516023
516024
516025
516026
516027
516028
516029
516030
516031
516032
516033
516034
516035
516036
516037
516038
516039
516040
516041
516042
516043
516044
516045
516046
516047
516048
516049
516050
516051
516052
516053
516054
516055
516056
516057

c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
£
BLOCK DATA BD16

BLOCK DATA Subprogram 16: /I OUCOM/,/1 VPCOM/./MAX IMA/./QUITXQ/./YEARS4/

BLOCK DATA 16 initializes miscellaneous integer-valued parameters.

Common block array subscripts:

IVPTRL(8) - IVPTRL ( IVLM )
IVPTRT(8) - IVPTRT ( IVTEMP )
IVPTRA(8) - IVPTRA ( IVA )
IVPTRB(8) - IVPTRB ( IVB )

Common block dictionary:

/IOUCOM/: a special format is utilized for the i/o unit number (#)
common block:

Unit# Usage Description


IOUIMD input user supplied I/M credits (when IMFLAG=2)
IOUGEN input user supplied general input data
IOUREP output formatted report file
IOUERR output error/warning messages file
IOUASK output prompting messages file

Name Type Description


/IVPCOM/:
IVPTRL 1 IV subgroup pointer into MYGSP1 6 BFRCOF (see IVLM subscript
def i ni tion)
IVPTRT 1 IV subgroup pointer into MYGTCF (see IVTEMP subscript
def i ni tion)
IVPTRA 1 IV subgroup pointer into SCADJ1, ISPGRP & ALHRET (see IVA
subscript definition)
IVPTRB 1 IV subgroup pointer into GPBSCO (see IVB subscript
def ini tion)

/QUITXQ/:


N1QUIT 1 switch: 1 = first QUITER call has been made, 0 = it has not
On first call, extra vertical spacing is inserted between the
run title and the QUITER message.

/MAXIMA/:

MAXVEH 1 maximum number of vehicle types - additional categories
may be created by combining 2 or more of the base 8 types
(LDGT = LDGT1 + LDGT2)
MAXLTW 1 maximum number of vehicle types that can be affected by
BIGALH's optional correction factors for a/c, extra load
and trailer towing ( = 3 = LDGV, LDGT1 & LDGT2 )
MAXPOL 1 maximum number of pollutants covered by MOBILE4
( = 3 = HC, CO 6 NOx )
MAXREG 1 maximum number of regions allowed in MOBILE4
(=3=low, high £ mid)
••MAXYRS 1 maximum number of model years in ICY's fleet (1 thru 20+)

-------
                   c-359
Appendix C: MOBILES Block Data 16
May 5, 1989
516058
K6059
6060
6061
516062
516063
516061*
516065
516066
516067
516068
516069
516070
516071
516072
516073
51607A
516075
516076
516077
516078
516079
516080
516081
516082
516083
51608J*
^6085
•6086
516087
516088
516089
516090
516091
516092
C
C
C
C
C
C
C
C
C
C
C
C





C

C

C

C

C

C

C

C

C


/YEARS'*/:

IY191*! 1 Ji-digit representation of year 19^*1
IY19&0 I J»-digit representation of year I960
1Y2020 1 J»-digit representation of year 2020

Notes:

none


COMMON /IOUCOM/ IOUIMD, 1 OUGEN, 1 OUREP, 1 OUERR, 1 OUASK
COMMON /IVPCOM/ 1 VPTRL (8) , 1 VPTRT (8) , 1 VPTRA (8) , 1 VPTRB (8)
COMMON /MAXIMA/ MAXVEH,MAXLTW,MAXPOL,MAXREG,MAXYRS
COMMON /QUITXQ/ N1QUIT
COMMON /YEARS'*/ 1 Y191*! , 1 Y19&0, 1 Y2020

DATA IOUIMD, IOUGEN, IOUREP, IOUERR, 1 OUASKA.5, 3*6/

DATA IVPTRL/1,2,3,0,^,5,0,6/

DATA IVPTRT/1,2.3.^.0,0,0,5/

DATA IVPTRA/1,2,3,0,0,0,0,1*/

DATA IVPTRB/0,0,0,1,2,3,^,0/

DATA MAXVEH,MAXLTW,MAXPOL,MAXREG,MAXYRS/8,3,3,2,20/

DATA N1QUIT/1/

DATA IY19M, IY19&0, 1 Y2020/191*! , 1960.2020/

END

-------
                   C-360




Appendix C: MOBILES Block Data 1?
May 5, 1989
517000
517001
517002
517003
517004
517005
517006
517007
517008
517009
517010
517011
517012
517013
517014
517015
517016
517017
517018
517019
517020
517021
517022
517023
517024
517025
517026
517027
517028
517029
517030
517031
517032
517033
517034
517035
517036
517037
517038
517039
517040
517041
517042
517043
517044
517045
517046
517047
517048
517049
517050
517051
517052
517053
517054
517055
517056
517057
BLOCK DATA BD17
C
C BLOCK DATA Subprogram 17: /TEMPCl/,/TEMPC2/,TEMPC3/,/TEMPC4/, /TEMPS/
C
C BLOCK DATA 17 initializes the temperature correction factor (tcf)





C coefficents and their model year groups (myg) , the computed tcf parameters,
C the tcf vector and the cold start CO additive tcf offset parameters.

C The tcf coefficients and offsets have cases with the Fuel Delivery Systems
C (FDS) combined and with them differentiated.
C BD 17 also initializes the following temperatures: ambient, minimum,
C maximum, exhaust, and evaporative
C
C Common block array subscripts:
C
C CHFRAC (3) - CHFRAC ( IB )
C COOTFC (3) - COOTFC ( IGO )
C COOTFD(3) - COOTFD ( IFDS )
C MDLOHI (3) - MDLOHI ( IP )
C MYGCOO(3) - MYGCOO ( IVLDG )
C MYGTFD (3) - MYGTFD ( IVLDG )
C MYGTCF (9, 3, 5) - MYGTCF ( IG, IP, IVTEMP)
C TCF (3) - TCF ( IB )
C TCFF (3,2) - TCF ( IB, IFUEL )
C TDIFF(3) ~ TDIFF ( IP )
C TEMAST (3) - TEMAST ( IP )
C TEMEXH(3) - TEMEXH ( IP )
C TEMEVP(6) - TEMEVP ( IHRD )
C TTFC(2,3,9,3) - TTFC ( MDLOHI, IB, IT, IP )
C TTFD(3,3,3) - TTFD ( IB, IP, IFDS )
C TT4(2,6,3) - TT4 (MDLOHI, IT, IP)
C TT8(2,3,4,3) •- TT8 (MDLOHI, IB, IT, IP)
C
C Common block dictionary:
C
C Name Type Description
C ______ ____ 	 	 	

C /TEMPC1/:
C
C TTFC R low/high tcf coefficients for IVLDG with FDSs Combined
C TTFD R low tcf's for IVLDG with FDSs Differentiated
C TT4 R low/high tcf coefficients for HDGV
C TT8 R low/high tcf coefficients for MC
C
C /TEMPC2/:
C
C MAXTCF 1 maximum number of tcf model year groups allowed
C MYGTCF 1 the last year of the combined FDS IVTEMP tcf model year
C MYGTFD 1 the first year of differentiating IVLDG tcf by FDS






































groups

C 1 SHI FT 1 IVLDG MYG shift to change array indexed from TTFC to COOTFC
C
C /TEMPC3/:
C
C MDLOHI 1 TCF case: 0 = mid (no correction), 1 = low, 2 = high
C TDIFF R difference between entered ambient or calculated
C exhaust temperature £ FTP temp
C CHFRAC R computed operating mode fractions for given MY £ IV
C TCFF R TCF ,by fuel type, returned by hi-temp £ RVP combined CF
C TCF R temperature correction factor for each bag







case


-------
                   C-361



Appendix C: MOBILES Block Data 17
May 5, 1989
517058
J&17059
•Pi 7060
517061
517062
517063
517064
517065
517066
517067
517068
517069
517070
517071
517072
517073
51707^
517075
517076
517077
517078
517079
(517080
|51708l
517082
517083
517084
•17085
17086
517087
517088
517089
517090
517091
517093
51709**
517095
517096
517097
517098
517099
517100
517101
517102
517103
517104
517105
517106
517107
517108
517109
517110
^£171 11
^^P71 12
517113
51711**
517115
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C





C

C


/TEMPC4/:
MYGCOO 1 first my for using the CO additive offset, if 1 VLDG&Bagl&LowT
LOWCO 1 switch flags whether or not case of CO additive offset for
IVLDG cold start/low temperature condition: 1 = no 6 2 = yes
COOTFC R low temp CO offsets (1980/1/2) for IVLDG with FDS Combined
COOTFD R low temp CO offset for IVLDG with FDS Differentiated

/TEMPS/:

AMBT R user supplied ambient temperature
TEMMIN R user supplied SCNAME's minimum ambient temperature,
used as fuel tank minimum temperature in diurnal index,
exhaust temperature, and evaporative temperature
calculations
TEMMAX R user supplied SCNAME's maximum ambient temperature,
used as fuel tank maximum temperature in diurnal index,
exhaust temperature, and evaporative temperature
calcul at ions
TEMEXH R exhaust temperatures for HC, CO, and NOx
TEMEVP R evaporative temperatures for diurnal, hot soak,
and running loss
TEMAST R = TEMEXH. Used for RVP exhaust CF calculation.

Local array subscripts:

TFCHC(2,3,9) - TFCHC (MDLOHI, IB, IT)
TFCCO(2,3,9) - TFCCO (MDLOHI, IB, IT)
TFCNOX (2, 3, 9) - TFCNOX (MDLOHI, IB, IT)

Local array dictionary:

Name Type Description
For the local arrays equivalenced to TTFC:

TFC R low/high tcf coefficients for pollutant IP by bag and model
year group for vehicle classes IVLDG, with FDSs Combined.

Notes:

BD 17 was modified for MOBILE4: BD 24 was merged
into BD 17» coeff icents and their corresponding myg's were updated,
and new parameters were added via new /TEMPC3/ and /TEMPC4/.
BD17 was modified for MOBILE4 to consolidate temperatures via /TEMPS/
and to accomodate the new combined RVP 6 high temperature CF algorithm.


COMMON /TEMPC1/TTFC(2,3,9,3),TTFD(3,3,3),TT4(2,6,3),TT8(2,3,4,3)
COMMON /TEMPC2/ MAXTCF .MYGTCF (9,3,5) .MYGTFD (3) , 1 SHI FT
COMMON /TEMPC3/ MDLOH 1 (3) ,TD 1 FF (3) .CHFRAC (3) ,TCFF (3,2) ,TCF (3)
COMMON /TEMPC4/ MYGCOO (3) , LOWCO, COOTFC (3) , COOTFD (3)
COMMON /TEMPS/ AMBT .TEMMIN, TEMMAX, TEMEXH (3) , TEMEVP (6) , TEMAST (3)

DIMENSION TFCHC (2, 3, 9) .TFCCO (2,3,9) .TFCNOX (2,3,9)

EQUIVALENCE

-------
                   C-362




Appendix C: MOBILES Block Data 1?
May 5, 1989
517116
517117
517118
517119
517120
517121
517122
517123
517121.
517125
517126
517127
517128
517129
517130
517131
517132
517133
517134
517135
517136
517137
517138
517139
517140
517141
517142
517143
517144
517145
517146
517147
517148
517149
517150
517151
517152
517153
517154
517155
517156
517157
517158
517159
517160
517161
517162
517163
517164
517165
517166
517167
517168
517169
517170
517171
517U2
517173
* (TTFC(1,1
* (TTFCd.l
* (TTFCd.l
C
C LDGV, LDGT1 and
C
C Bag 1
C AmbT: Low
C HC
DATA TFCHC/
H-. 02062300, -
H-. 02446200,-
H-. 02125500,-
H-. 02142700, -
H-. 02351700,-
H-. 02682,
H-. 0327753,
H-. 032082,
H .00000000,
C CO (Note: Bag
DATA TFCCO/
c-. 01348700, -
C-. 02112600, -
C-. 02084300,-
c-. 01909100, -
C-. 02483500,-
C .0,
C .0,
C .0,
C .00000000,
C NOX
DATA TFCNOX/
N-. 000 16897,
N-. 00025074,-
N .00388550,-
N-.45504E-4,-
N-. 00760440,-
N-.0019,
N-. 0045479,
N-. 0047657,
N .00000000,
C
,1,1),TFCHC(1,1,1)),
,1,2) ,TFCCO(1,1,1)),
,1,3) ,TFCNOX(1,1,1))
LDGT2 (IVLDG) carbureted


High


.01438100,
.01255200,
.01088800,
.00661070,
.01409500,
.00000000,
.00000000,
.00000000,
.00000000,
1/LowT MYG

.01469100,
.03876700,
.02116500,
.01314600,
.01961200,
.00000000,
.00000000,
.00000000,
.00000000,


.00388410,
.00103890,
.01830100,
.00714200,
.02615300,
.00000000,
.00000000,
.00000000,
.00000000,

C IVLDG fuel injected (Bag
C
DATA TTFD/
C CARB
H-. 039143,
C .0,
N-. 0043258,
C TBI
H-. 033227,
C .0,
N-. 0043258,
C PFI
H-. 021306,
C .0,
N-. 0043258,
C
















Bag 2
Low


-.00240320, .
-.00320170, .
-.00052755,-.
-.00039442, .
-.00880570, .
-.0075815, .
-.0083176, .
-.008513,
.00000000, .
's 6 - 8 0.0

.00157840, .
-.00152890, .
-.00599510, .
-.00042373, •
-.00883360, .
-.012478,
-.014584,
-.014584,
.00000000, .


-.00892450,-.
-.00597910,-.
-.00241560,-.
-.00125750,-.
-.00680450,-.
-.0061656, .
-.0074823, .
-.006989,
.00000000, .

1 / LowT coef



-.0060254,
-.011402,
-.010664,

-.01317**,
-.022124,
-.0082652,

-.0070187,
-.013518,
-.0053098,



High


00132190
00426670
00047925
00262880
02617900
00000000
00000000
00000000
00000000
coefs ->

00374620
00846850
02360300
02471700
04853700
00000000
00000000
00000000
00000000


00873250
00924660
01092500
00879100
01860300
00000000
00000000
00000000
00000000


Bag
Low


,-.00100810,
,-.00086884,
, .00093659,
, .00497310,
,-.00162220,
,-.0051660,
,-.0090264,
,-.0090264,
, .00000000,
neutral mul

, .00110970,
, .00157490,
, .00182530,
, .00579820,
,-.00115530,
,-.0074106,
,-.011371,
,-.011371,
, .00000000,


,-.00725800,
,-.00626900,
,-.00211880,
,-.00053153,
,-.00541980,
,-.0049643,
,-.0090882,
,-.0090882,
, .00000000,

: see Note above on


















-.0047641,
-.0090777,
-.010515,

-.010889,
-.0090777,
-.010515,

-.005731,
-.0090777,
-.0061644/


3
High


.00347990,
.00758430,
.00766660,
.01232000,
.02429700,
.00000000,
.00000000,
.00000000,
.oooooooo/
t adj to TAMBAG)

.01101400,
.02517900,
.02848300,
.02584800,
.03143900,
.00000000,
.00000000,
.00000000,
.oooooooo/


-.01083900,
-.01010800,
-.01804200,
-.00754700,
-.02087800,
.OOOOOOOO,
.oooooooo,
.oooooooo,
.oooooooo/

TFCCO)
















-------
                   C-363



Appendix C: MOBILES Block Data 1?
May 5, 1989
5i7m
417175 •
•7176
T17177
517178
517179
517180
517181
517182
517183
517181*
517185
517186
517187
517188
517189
517190
517191
517192
517193
517191*
517195
517196
•517197
517198
517199
517200
^17201
mi 202
~17203
517201*
517205
517206
517207
517208
517209
5172VO
517211
517212
517213
5172H*
517215
517216
517217
517218
517219
517220
517221
517222
517223
517221*
517225
517226
S7227
7228
7229
517230
517231
c
c
C
C
C
C
C
C
C




C




C




C
C
C
HDGV
DATA TT1*/
HC
H-. 00589030,
H-. 00738700,
H-. 001*97590,
H-. 002851*90,
H-. 00928590,
CO
c-. 00205760,
c-. 001*551* 10,
c-. 001*28990,
c-. oo 130850,
c-. 00771170,
c-. 00601950,
NOX
N-. 0061*3 150, -
N-. 00551*560, -
N-. 00 139690,-
N-. 0001*6352, -
N-. 0057521*0, -
N-. 00197330,
MC
DATA TT8/
HC
H-.
H-.
H-.
H .
CO
C-.
C-.
C-.
C .
NOX
N-.
N-.
N .
N .


02062300,-
021*1*6200,-
02125500,-
00000000,

01348700,-
02112600,-
02081*300,-
00000000,

00016897,
00025071*,-
00000000,
00000000,

.00523170,
.005l»6510,
.01008200,
.02051»600,
.00000000,
.0081720,
.02026800,
.021*12700,
.02206100,
.02701900,
.00000000,
.00839860,
.00868800,
.01807900,
.0071+8890,
.02159300,
.OOOOOOOO/

.011»38lOO,-
.01255200,-
.01088800,-
.00000000,

.011*69100,
.03876700,-
.02116500,-
.00000000,

.003881*10,-
.00103890,-
.00000000,
.00000000,



.0021*0320
.00320170
.00052755
.00000000

.0015781*0
.00152890
.00599510
.00000000

.008921*50
.00597910
.00000000
.00000000



, .00132190
, .001*26670
,-.0001*7925
, .00000000

, .00371+620
, .0081*6850
, .02360300
, .00000000

,-.00873250
,-.00921*660
, .00000000
, .00000000



f
t
9
*

t
,
9
»

>
9
9
9



-.
-.
.
.

,
.
»
»

-.
" •
.
•



00100810,
00086881*.
00093659,
OOOOOOOO,

00110970,
00157^90,
00182530,
OOOOOOOO,

00725800,
00626900,
OOOOOOOO,
OOOOOOOO,



.0031*7990
.007581*30
.00766660
.OOOOOOOO

.011011*00
.02517900
.0281*8300
.OOOOOOOO

-.01083900
-.01010800
.OOOOOOOO


,
,
,
,

,
,
,
,

,
,
,
.OOOOOOOO/


/TEMPC2/:



DATA MAXTCF/9/.MYGTFD/l
C
C
C
C
C

Note

that the 1

ast MYG ub
MYGTFD FDS differentiation
start


983,1986,

in MYGTCF






1986/, 1 SHI FT/5/

for IVLDG

i
start year. ITCPTR

s
i s

the year
not cal 1

before the


ed from that
year onward, hence there is no need to cover that range in MYGTCF









DATA MYGTCF/
C
C



MYG#:
LDGV
H
C
N
1 2

1967,1969
1967,1969
1967,1972
3 *

,1971,197'+,
,1971,1971*,
, 1974, 1976,
5 6

1979,1980
1979,1980
1979,1980
7 8

,1981,1982,
,1981,1982,
,1981,1982,


9







0000,
0000,
0000,

-------
517232
517233
51723*
517235
517236
517237
517238
517239
5172*0
5172*1
5172*2
5172*3
5172**
5172*5
5172*6
5172*7
5172*8
5172*9
517250
517251
517252
517253
51725*
517255
517256
517257
517258
517259
517260
517261
517262
517263
51726*
517265
517266
517267
C



C



C



C



C
C
C

C
C
C

C
C

C
C

C
C
C

C

LDGT1
H 1967,
c 1967,
N 1967,
LDGT2
H 1969,
c 1969,
N 1969,
HDGV
H 1969,
c 1969,
N 1969,
MC
H 1977,
C 1977,
N 1977,

/TEMPC3/:

DATA MDL

/TEMPC*/:

DATA MYG


DATA COO


DATA COO

/TEMPS/:

DATA AMB

END
                          C-36*

       Appendix C:  MOBILES Block Data 17                       May 5, 1989
        1969,1971,197*,1980,1983,198*.1985,0000,
        1969,1971,197*.1980,1983,198*.1985,0000,
        1972,197*.1978,1980,1983,198*.1985,0000,

        1973,1978,0000,1980,1983,198*.1985,0000,
        1973,1978,0000,1980,1983,1981*. 1985,0000,
        1973,1978,0000,1980,1983,198*.1985,0000,

        1973,1978, 1983, 198J*. 2020,0000,0000,0000,
        1973,1978,1983,198*.2020,0000,0000,0000,
        1973,1978, 1983, 198*, 2020,0000,0000,0000,

        1979,2020,0000,0000,0000,0000,0000,0000,
        1979,2020,0000,0000,0000,0000,0000,0000,
        2020,0000,0000,0000,0000,0000,0000,OOOO/
DATA MDLOHI/3*0/,TDIFF/3*0.0/,CHFRAC/3*0.0/,TCFF/6ftl.0/,TCF/3*1-.0/

MPC*/:

DATA MYGCOO/1980,198*,198*/, LOWCO/1/

               MY 1      MY2       MY3
DATA COOTFC/-1.2**8, -1.309*5, -1.28*02/

              CARB      TBI       PFI
DATA COOTFD/-1.2262, -1.2262,  -0.657277

MRS/:

DATA AMBT,TEMMIN,TEMMAX,TEMEXH,TEMEVP,TEMAST/15*0.0/

-------
Appendix C: MOBILES Block Data 18
May 5, 1989
518000
^£ 1 800 1
^•8002
^^18003
518004
518005 .
518006
518007
518008
518009
518010
518011
518012
518013
518014
518015
518016
518017
518018
518019
518020
518021
518022
518023
518024
518025
518026
^518027
^8028
^^18029
518030
518031
518032
518033
518034
518035
518036
518037
518038
518039
518040
518041
518042
518043
518044
518045
518046
518047
518048
518049
518050
518051
518052
,•£18053
A8054
^18055
518056
518057
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
BLOCK DATA BD18
BLOCK DATA Subprogram 18: /OPMOD1/
BLOCK DATA 18 initializes the bag fraction coefficients used to compute the
normalized operating mode and temperature correction factor for LDV/T 6 MC.
Common block array subscripts:

BFRCOF (8,8,3,6) - BFRCOF ( IB, IBFPTR, IP, IVLM)
BFSTEP(8,12,3,3) - BFSTEP ( IB, IBFPTR, IP, IVLM )
BFR50K(4,12,3) - BFR50K ( IB, IBFPTR, IP)

IB = bag fraction coefficient index
for BFRCOF & BFSTEP:
= 1,3,5,7 for ZMLs of bag 1, bag 2, bag 3, 6 FTP, respectively
= 2,4,6,8 for DRs of bag 1, bag 2, bag 3, 6 FTP, respectively
for BFR50K:
= 1,2,3,4 for >50K DRs of bag 1, bag 2, bag 3, & FTP, respectively

Common block dictionary:

Name Type Description


/OPMOD1/:

BFRCOF R bag fraction coefficients for LDV/T & MC, except ig8l + LDGV
and 1984+ LDGT1/2
BFSTEP R bag fraction coefficients for ig8l+ LDGV, for <= 50K miles,
and for 1984+ LDGT1/2, all miles (both in 1 year steps)
BFR50K R bag fraction coefficients for ig8l+ LDGV, for > 50K miles

Local array subscripts:


BFRN11(8,8) - BFRN11 ( IB, IBFPTR)
BFRN12(8,8) - BFRN12 ( IB, IBFPTR)
BFRN13(8,8) - BFRN13 ( IB, IBFPTR )
BFRN21(8,8) - BFRN21 ( IB, IBFPTR)
BFRN22(8,8) - BFRN22 ( IB, IBFPTR )
BFRN23(8,8) - BFRN23 ( IB, IBFPTR )
BFRN3H8.8) - BFRN31 ( IB, IBFPTR )
BFRN32(8,8) - BFRN32 ( IB, IBFPTR )
BFRN33(8,8) - BFRN33 ( IB, IBFPTR )
BFRN51 (8,8) - BFRN51 ( IB, IBFPTR)
BFRN52(8,8) - BFRN52 ( IB, IBFPTR )
BFRN53(8,8) - BFRN53 ( IB, IBFPTR )
BFRN61 (8,8) - BFRN61 ( IB, IBFPTR)
BFRN62(8,8) - BFRN62 ( IB, IBFPTR )
BFRN63(8,8) - BFRN63 ( IB, IBFPTR )
BFRN81 (8,8) - BFRN81 ( IB, IBFPTR )
BFRN82(8,8) - BFRN82 ( IB, IBFPTR )
BFRN83(8,8) - BFRN83 ( IB, IBFPTR )
BFV1HC(8,12) - BFV1HC ( IB, IBFPTR )
BFV1CO(8,12) - BFV1CO ( IB, IBFPTR )
BFV1NX(8,12) - BFV1NX ( IB, IBFPTR )
BFV2HC(8,12) - BFV2HC ( IB, IBFPTR )
BFV2CO(8,12) - BFV2CO ( IB, IBFPTR)
BFV2NX(8,12) - BFV2NX ( IB, IBFPTR )

-------
                   C-366




Appendix C: MOBILES Block Data 18
May 5, 1989
518058
518059
518060
518061
518062
518063
518061*
518065
518066
518067
r i Qr\£ D
51oOoo
518069
518070
518071
518072
518073
518071+
518075
518076
518077
518078
518079
518080
518081
518082
518083
5180814
518085
518086
518087
518088
518089
518090
518091
518092
518093
518091*
518095
518096
518097
518098
518099
518100
518101
518102
518103
518101*
518105
518106
518107
518108
518109
518110
518111
518112
518113
518111*
518115
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C











C












BFV3HC(8,12) - BFV3HC ( IB, IBFPTR )
BFV3CO(8,12) - BFV3CO ( IB, IBFPTR)
BFV3NX(8,12) - BFV3NX ( IB, IBFPTR)
BF50HC(1»,12) - BF50HC ( IB, IBFPTR )
BF50CO(1*,12) - BF50CO ( IB, IBFPTR)
BF50NX(1»,12) - BF50NX ( IB, IBFPTR )

Local array dictionary:

Name Type Description


BFRN R bag fraction coefficients for vehicle type IVLM and
pollutant IP (see subscript definitions for IVLM 6 IP)
BFVKIP abbr> R bag fraction coefficients for ig8l+ LDGV, <= 50K miles,
for pollutant IP (abbreviated HC, CO 6 NX (NOX) )
BFV2 R bag fraction coefficients for 1981*+ LDGT1, all miles,
for pollutant IP (abbreviated HC, CO 6 NX (NOX) )
BFV3 R bag fraction coefficients for igSM- LDGT2, all miles,
for pollutant IP (abbreviated HC, CO 6 NX (NOX) )
BF50 R bag fraction slope only for ig8l+ LDGV, > 50K miles,
for pollutant IP (abbreviated HC, CO 6 NX (NOX) )

Notes:

LDGV HC, CO and NOx BFRCOF are updated for MOBILE!*. GPBCOF was removed
(replaced by /SPEED7/'s GPBSCO) in MOBILE!*. Redesigning and renaming the
data structures was also done in MOBILE!*. Bag fractions for LDGV HC 6 CO
above & below 50K miles were updated for MOBILE!*.
Updated 1979-83 and new 198!*+ LDGT1/2 data were added in MOBILE!*.
Updated MC BFRCOF were added in MOBILE!*.


COMMON /OPMOD1/ BFRCOF (8,8, 3,6) .BFSTEP (8, 12, 3,3) .BFR50K (k, 12, 3)

DIMENSION
* BFRN11(8,8) ,BFRN12(8,8) ,BFRN13(8,8) ,
* BFRN2K8.8) ,BFRN22(8,8) ,BFRN23(8,8) »
* BFRN31(8,8) ,BFRN32(8,8) ,BFRN33(8,8) ,
* BFRN51(8,8) ,BFRN52(8,8) ,BFRN53(8,8) ,
* BFRN6l(8,8) ,BFRN62(8,8) ,BFRN63(8,8) ,
* BFRN8U8.8) ,BFRN82(8,8) ,BFRN83(8,8) ,
* BFV1HC(8,12) ,BFV1CO(8,12) .BFV1NX (8, 12) ,
* BFV2HC(8, 12) ,BFV2CO(8,12) .BFV2NX (8, 12) ,
* BFV3HC(8,12) ,BFV3CO(8,12) .BFV3NX (8, 12) ,
* BF50HC(1*,12) ,BF50CO(1*,12) .BF50NX (!*, 12)

EQUIVALENCE
* (BFRCOF(1,l,l,l)fBFRNll (1,1)),
* (BFRCOF(1, ,2,1),BFRN12{1,1)),
* (BFRCOF(1, ,3,1) ,BFRN13(1,D),
* (BFRCOFO, ,1,2),BFRN21 (1,1)),
* (BFRCOF (1, ,2,2),BFRN22(1,1)),
* (BFRCOF (1, ,3,2)fBFRN23(l,D),
* (BFRCOF (1, ,1,3).BFRN31(1,D),
* (BFRCOF (1, ,2,3),BFRN32(1,1)),
* (BFRCOF (1, ,3,3),BFRN33(1,D),
* (BFRCOF (1, ,1,1*),BFRN5K1,D),
* (BFRCOF (1,1. 2, 4) ,BFRN52(1,1)),

-------
                                           C-367



                        Appendix C:  MOBILES Block Data 18
May 5, 1989
518116
• 8117
8118
518119
518120
518121
518122
518123
518124
518125
518126
518127
518128
518129
518130
518131
518132
518133
518134
518135
518136
518137
518138
518139
518140
518141
518142
•18143
18144
518145
518146
518147
518148
518149
518150
518151
518152
518153
518154
518155
518156
518157
518158
518159
518160
518161
518162
518163
518164
518165
518166
518167
518168
^Kl 8 1 69
^Pl8l70
518171
518172
* (BFRCOF(1,1,3,4) ,BFRN53(1,D) ,
* (BFRCOF(1,1,1,5) .BFRN61 (1,1)) ,
* (BFRCOF(1,1,2,5),BFRN62(1,1)) ,
* (BFRCOF(1,1,3,5) ,BFRN63(1,D) ,
* (BFRCOF(1,1,1,6) ,BFRN8l (1,1)) ,
* (BFRCOF(1,1,2,6) ,BFRN82(1,1)) ,
* (BFRCOF(1,1,3,6) ,BFRN83(1,D)
C
EQUIVALENCE
* (BFSTEPd, ,1,1) .BFVlHC(l.l)) ,
* (BFSTEPd, ,2,1) .BFVlCOd.D) ,
* (BFSTEPd, ,3,1) .BFVlNXd.l)) ,
* (BFSTEPd, ,1,2) ,BFV2HC(1,1)) ,
* (BFSTEPd, ,2,2) ,BFV2CO(1,D) ,
* (BFSTEPd, ,3,2) ,BFV2NX(1,1)) ,
* (BFSTEPd, ,1,3) ,BFV3HC(1,D) ,
* (BFSTEPd, ,2,3) ,BFV3CO(1.1)) ,
* (BFSTEPd, 1,3, 3) ,BFV3NX(1,1)) ,
* (BFR50K (1,1,1) ,BF50HC(1,1)) ,
* (BFR50K(1,1,2) ,BF50CO(1,D) ,
* (BFR50K(1,1,3) ,BF50NX(1,1))
C
C bag 6 FTP emissions normalized by zero mile FTP rate
C
C LDGV
C HC
C Bag 1 Bag 2 Bag 3 FTP
C ZML DR ZML DR ZML DR ZML DR
DATA BFRN11/
*
ft
ft
*
ft
*
ft
ft
C CO
.282,
.345,
.345,
.389,
• 936,
2.200,
0.0 ,
0.0 ,

0.025,
0.074,
0.178,
0.044,
0.324,
0.714,
0.0 ,
0.0 ,

0
0
0
0
0
0
0
0

• 973,
.946,
.919,
.903,
.734,
• 571.
.0 ,
.0 ,

0.028,
0.054,
0.118,
0.056,
0.267,
0.171,
0.0 ,
0.0 ,

0.839,
0.842,
0.894,
0.891,
0.801,
0.914,
0.0 ,
0.0 ,

0
0
0
0
0
0
0
0

.019,
.048,
.093,
.036,
.210,
.143,
.0 ,
.0 ,

l.O,
1.0,
1.0,
1.0,
1.0,
1.0,
0.0,
0.0,

0.0249,
0.0565,
0.1235,
0.0481,
0.2632,
0.2752,
0.0
0.0 /

DATA BFRN12/
ft
ft
ft
*
ft
ft
*
ft
C NOX
.277,
.442,
• 553,
.402,
.810,
2.397,
0.0 ,
0.0 ,

0.033,
0.071,
0.109,
0.054,
0.149,
0.277,
0.0 ,
0.0 ,

1
0
0
0
0
0
0
0

.017,
.996,
.933,
.986,
.861,
.647,
.0 ,
.0 ,

0.029,
0.042,
0.079,
0.069,
0.159,
0.061,
0.0 ,
0.0 ,

0.758,
0.674,
0.711,
0.723,
0.654,
0.619,
0.0 ,
0.0 ,

0
0
0
0
0
0
0
0

.025,
.033,
.038,
.037,
.093,
.076,
.0 ,
.0 ,

.0,
.0,
.0,
.0,
.0,
.0,
0.0,
0.0,

0.0287,
0.0455,
0.0740,
0.0572,
0.1389,
0.1096,
0.0
0.0 /

DATA BFRN13/
ft
ft
ft
ft
ft
ft
ft
ft
.121,
.161,
.247,
.295,
• 377,
1.313,
0.0 ,
0.0 ,
0.009,
0.0 ,
0.024,
0.025,
0.050,
0.047,
0.0 ,
0.0 ,
0
0
0
0
0
0
0
0
• 785,
• 796,
.779,
.785,
.758,
.811,
.0 ,
.0 ,
0.001,
0.0 ,
0.007,
0.008,
0.061,
0.034,
0.0 ,
0.0 ,
• 319,
.267,
.236,
.188,
.177,
.125,
0.0 ,
0.0 ,
-0
0
0
0
0
0
0
.009,
.0 ,
.028,
• 033,
.078,
.054,
.0 ^
0.0 ,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
0.0,
0.0,
-0.0001,
0.0
0.0162,
0.0183,
0.0634,
0.0421,
0.0
0.0 /
518173

-------
                   C-368




Appendix C: MOBILES Block Data 18
May 5, 1989
51817*
518175
518176
518177
518178
518179
5l8l8o
518181
518182
518183
518184
518185
518186
518187
518188
518189
518190
518191
518192
518193
518194
518195
518196
518197
518198
518199
518200
518201
518202
518203
518204
518205
518206
518207
518208
518209
518210
518211
518212
518213
518214
518215
518216
518217
518218
518219
518220
518221
518222
518223
518224
518225
518226
518227
518228
518229
518230
518231
C LDGT1
C HC
DATA BFRN21/
* 1.282 , 0.025 ,
* 1.3*5 , 0.07* ,
* 1.3*5 , 0.178 ,
* 1.398 , 0.060 ,
* 1.856 , 0.3*5 ,
* 2.0914, 0.4073,
* 2.7957, 0.1898,
* 0.0 , 0.0
C CO
DATA BFRN22/
* 1.277 , 0.033 ,
* 1.442 , 0.071 ,
* 1.553 , 0.109 ,
* 1.573 . 0.054 ,
* 1.902 , 0.170 ,
* 2.0939, 0.3129,
ft 2.6454, 0.1633,
ft 0.0 , 0.0 ,
C NOX
DATA BFRN23/
* 1.121 , 0.009 ,
* 1.199 ,-0.004 ,
ft 1.262 , 0.022 ,
* 1.296 , 0.012 ,
* 1.3666, 0.0444,
* 1.3033, 0.0061,
* 0.0 , 0.0 ,
ft 0.0 , 0.0 ,
C
C LDGT2
C HC
DATA BFRN31/
* 1.282 , 0.025 ,
* 1-3*5 , 0.07* ,
* 1.398 , 0.060 ,
ft 2.0914, 0.4073,
* 2.7957, 0.1898,
ft 0.0 , 0.0
ft 0.0 , 0.0
ft 0.0 , 0.0
C CO
DATA BFRN32/
ft 1.277 , 0.033 ,
ft 1.442 , 0.071 ,
* 1.573 , 0.05* ,
* 2.0939, 0.3129,
* 2.6454, 0.1633,
* 0.0 , 0.0
* 0.0 , 0.0
* 0.0 , 0.0
C NOX
DATA BFRN33/
* 1.121 , 0.009 ,
* 1.199 ,-0.004 ,
ft 1.262 , 0.022 ,


0
0
0
0
0
0
0
0


1
0
0
0
0
0
0
0


0
0
0
0
0
0
0
0




0
0
0
0
0
0
0
0


1
0
0
0
0
0
0
0


0
0
0


.973 ,
.9*6 ,
.919 ,
.885 ,
.765 ,
.671*.
.4428,
.0


.017 ,
.996 ,
.933 ,
.902 ,
.850 ,
.6895,
.4526,
.0


.785 ,
.793 ,
• 770 ,
.781 ,
.7444,
.8077,
.0
.0 ,




• 973 ,
.946 ,
.885 ,
.6714,
.4428,
.0 ,
.0 ,
.0


.017 ,
• 996 ,
• 902 ,
.6895,
•*526,
.0 ,
.0 ,
.0 ,


.785 ,
• 793 ,
• 770 ,


0
0
0
0
0
0
0
0


0
0
0
0
0
0
0
0


0
-0
0
0
0
0
0
0




0
0
0
0
0
0
0
0


0
0
0
0
0
0
0
0


0
-0
0


.028 ,
.05* ,
.118 ,
.055 ,
.23* ,
.2752,
.2024,
.0


.029 ,
.042 ,
.079 ,
.079 ,
.151 ,
.1805,
.1020,
.0


.001 ,
.002 ,
.004 ,
.004 ,
.0278,
.0184,
.0 ,
.0 ,




.028 ,
.054 ,
.055 ,
.2752,
.2024,
.0
.0 ,
.0


.029 ,
.042 ,
.079 ,
.1805,
.1020,
.0 ,
.0
.0 ,


.001 ,
.002 ,
.004 ,


0.839 ,
0.842 ,
0.89* ,
0.919 ,
0.803 ,
0.8035,
0.7084,
0.0


0.758 ,
0.674 ,
0.7H ,
0.755 ,
0.606 ,
0.7671,
0.8032,
0.0


1-319 ,
1.245 ,
1.242 ,
1.195 ,
1.2111,
1.1381,
0.0
0.0




0.839 ,
0.842 ,
0.919 ,
0.8035,
0.7084,
0.0
0.0
0.0


0.758 ,
0.674 ,
0.755 ,
0.7671,
0.8032,
0.0
0.0
0.0


1.319 ,
1.245 ,
1.242 ,


0
0
0
0
0
0
0
0


0
0
0
0
0
0
0
0


-0
0
0
0
0
0
0
0




0
0
0
0
0
0
0
0


0
0
0
0
0
0
0
0


-0
0
0


.019 ,
.048 ,
.093 .
.036 ,
.196 ,
.2972,
.1645,
.0


.025 ,
.033 ,
.038 ,
.029 .
.105 ,
.1*79,
.1076,
.0


.009 ,
.006 ,
.027 ,
.016 ,
.0333,
.0245,
.0
.0




.019 ,
.048 ,
.036 ,
.2972,
.1645,
.0 ,
.0
.0


.025 ,
.033 ,
.029 ,
.1*79,
.1076,
.0 ,
.0 ,
.0 ,


.009 ,
.006 ,
.027 ,


1.0,
1.0,
1.0,
1.0,
1.0,
1 .0,
1 .0,
0.0,


1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1 .0,
0.0,


1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
0.0,
0.0,




1.0,
1.0,
1 .0,
1.0,
1.0,
0.0,
0.0,
0.0,


1.0,
1.0,
1 .0,
1.0,
1.0,
0.0,
0.0,
0.0,


1.0,
1.0,
1.0,


0.
0.
0.
0.
0.
0.
0.
0.


0.
0.
0.
0.
0.
0.
0.
0.


-0.
-0.
0.
0.
0.
0.
0.
0.




0.
0.
0.
0.
0.
0.
0.
0.


0.
0.
0.
0.
0.
0.
0.
0.


-0.
-0.
0.


0249,
0565,
1235,
0508,
2465,
3082,
1898,
0 /


0287,
0455,
0740,
0602,
1423,
1985,
1163,
0 /


0001,
0002,
0140,
0089,
0333,
0184,
0 ,
0 /




0249,
0565,
0508,
3082,
1898,
0 ,
0
0 /


0287,
0*55,
0602 r
1985,
1163,
0
0 ,
0 /


0001,
0002,
0140,

-------
                   C-369
Appendix C: MOBILES Block Data 18
May 5, 1989
518232
18234
Tl8235
518236
518237
518238
518239
518240
518241
518242
518243
518244
518245
518246
518247
518248
518249
518250
518251
518252
518253
518254
518255
518256
518257
518258
418259
• 8260
318261
518262
518263
518264
518265
518266
518267
518268
518269
518270
518271
518272
518273
518274
518275
518276
518277
518278
518279
518280
518281
518282
518283
518284
S8285
8286
8287
518288
518289
* 1.3666, 0.0444, 0.7444, 0.0278, 1.2111, 0
* 1.3033, 0.0061, 0.8077, 0.0184, 1.1381. 0
* 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0
* 0.0 , 0.0 , 0.0 , 0.0 ,0.0 ,0
* 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0
C
C LDDV
C HC
0333, 1.0, 0.0333,
0245, 1.0, 0.-0184,
0 , 0.0, 0.0 ,
.0 , 0.0, 0.0 ,
0 , 0.0, 0.0 /
DATA BFRN51/
*
ft
ft
*
ft
*
ft
ft
C CO
1.209,
1.209,
1.209,
1.209,
1.209,
1.349,
0.0 ,
0.0 ,

0.071,
0.105,
0.105,
0.105,
0.105,
0.103,
0.0 ,
0.0 ,

1.073,
1.073,
1.073,
1.073,
1.073,
0.969,
0.0 ,
0.0 ,

0.056,
0.084,
0.084,
0.084,
0.084,
0.138,
0.0 ,
0.0 ,

0
0
0
0
0
0
0
0

.703,
.703,
.703,
.703,
.703,
.796,
.0 ,
.0 ,

0.064,
0.088,
0.088,
0.088,
0.088,
0.103,
0.0 ,
0.0 ,

.0,
.0,
.0,
.0,
.0,
.0,
0.0,
0.0,

0.0613
0.0894
0.0894
0.0894
0.0894
0.1212
0.0
0.0

I
9
9
9
9
9
9
1

DATA BFRN52/
ft
*
ft
ft
ft
ft
ft
ft
C NOX
1.199,
1.199,
1.199,
1.199,
1.199,
1.150,
0.0 ,
o.o ,

0.060,
0.067,
0.067,
0.067,
0.067,
0.061,
0.0 ,
0.0 ,

0.935,
0.935,
0.935,
0.935,
0.935,
0.994,
0.0 ,
0.0 ,

0.042,
0.048,
0.048,
0.048,
0.048,
0.026,
0.0 ,
0.0 ,

0
0
0
0
0
0
0
0

.974,
.974,
.974,
.974,
.974,
.899,
.0 ,
.0 ,

0.051,
0.057,
0.057,
0.057,
0.057,
0.035,
0.0 ,
0.0 ,

1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
0.0,
0.0,

0.0482
0.0544
0.0544
0.0544
0.0544
0.0357
0.0
0.0

,
,
,
f
,
,
9
/

DATA BFRN53/
ft
ft
ft
*
ft
*
*
ft
C
1.068,
1.068,
1.068,
1.068,
1.068,
0.969,
0.969,
0.969,

0.026,
0.031,
0.031,
0.031,
0.031,
0.031,
0.031,
0.031,

0.981,
0.981,
0.981,
0.981,
0.981,
1.062,
1.062,
1.062,

0.029,
0.033,
0.033,
0.033,
0.033,
0.047,
0.047,
0.047,

0
0
0
0
0
0
0
0

.985,
.985,
• 985,
.985,
.985,
.906,
.906,
.906,

0.026,
0.030,
0.030,
0.030,
0.030,
0.031,
0.031,
0.031,

1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,

0.0276
0.0318
0.0318
0.0318
0.0318
0.0393
0.0393
f
9
9
9
9
9
,
0.0393/


C LDDT
C HC










DATA BFRN61/
*
ft
ft
*
*
ft
ft
ft
C CO
1.209,
1.209,
1.209,
1.209,
0.0 ,
0.0 ,
0.0 ,
0.0 ,

0.112,
0.110,
0.110,
0.115,
0.0 ,
0.0 ,
0.0 ,
0.0 ,

1.073,
1.073,
1.073,
1.073,
0.0 ,
0.0 ,
0.0 ,
0.0 ,

0.091,
0.089,
0.089,
0.093,
0.0 ,
0.0 ,
0.0 ,
0.0 ,

0
0
0
0
0
0
0
0

.703,
.703,
.703,
.703,
.0 ,
.0 ,
.0 ,
.0 ,

0.093,
0.092,
0.092,
0.095,
0.0 ,
0.0 ,
0.0 ,
0.0 ,

1.0,
1.0,
1.0,
1.0,
0.0,
0.0,
0.0,
0.0,

0.0959
0.0941
0.0941
0.0981
0.0
0.0
0.0
0.0

f
f
f
,
f
9
9
/

DATA BFRN62/
*
*
ft
*
ft
ft
*
1.199,
1.199,
1.199,
1.199,
0.0 ,
0.0 ,
0.0 ,
0.062,
0.060,
0.057,
0.057,
0.0 ,
0.0 ,
0.0 ,
0.935,
0.935,
0.935,
0.935,
o.o ,
o.o ,
o.o ,
0.044,
0.043,
0.040,
0.040,
0.0 ,
0.0 ,
0.0 ,
0
0
0
0
0
0
0
.974,
.974,
.974,
.974,
.0 ,
.0 ,
.0 ,
0.053,
0.051,
0.048,
0.048,
0.0 ,
0.0 ,
0.0 ,
1.0,
1.0,
1.0,
1.0,
0.0,
0.0,
0.0,
0.0502
0.0487
0.0457
0.0457
0.0
0.0
0.0
9
9
9
f
f
*
,

-------
                   C-370
Appendix C: MOBILES Block Data 18
May 5, 1989
518290
518291
518292
518293
518294
518295
518296
518297
518298
518299
518300
518301
518302
518303
518304
518305
518306
518307
518308
518309
518310
518311
518312
518313
518314
518315
518316
518317
518318
518319
518320
518321
518322
518323
518324
518325
518326
518327
518328
518329
518330
518331
518332
518333
518334
518335
518336
518337
518338
518339
518340
518341
518342
5183*0
518344
5183^5
518346
518347
* 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 /
C NOX
DATA BFRN63/
* 1.068, 0.033, 0.981, 0.036, 0.985, 0.032, 1.0, 0.0343,
* 1.068, 0.033, 0.981, 0.035, 0.985, 0.032, 1.0, 0.0338,
* 1.068, 0.036, 0.981, 0.038, 0.985, 0.035, l.O. 0.0368,
* 1.068, 0.071, 0.981, 0.072, 0.985, 0.068, 1.0, 0.0707,
* 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0
* 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 ,
* 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0
* 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 /
C
C MC
C HC
DATA BFRN81/
* 1.2823, 0.1059, 0.9726, 0.0774, 0.8393, 0.0843, 1.0,0.0854,
* 1.2818, 0.7474, 0.9728, 0.5470, 0.8392, 0.5929, 1.0,0.6012,
* 1.2829, 0.7427, 0.9713, 0.5454, 0.8414, 0.5869, 1.0,0.5973,
ft 1.2827, 0.7173, 0.9726, 0.5289, 0.8389, 0.5653, 1.0,0.5775,
ft 1.2787, 0.7121, 0.9724, 0.5283, 0.8423, 0.5590, 1.0,0.5743,
ft 1.2806, 0.7235, 0.9729, 0.5322, 0.8399. 0.5655, 1.0,0.5821,
ft 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 ,
ft 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 /
C CO
DATA BFRN82/
ft 1.2772, 0.1523, 1.0172, 0.0877, 0.7580, 0.0712, 1.0,0.0964,
* 1.2774, 0.2308, 1.0171, 0.1324, 0.7580, 0.1078, 1.0,0.1459,
ft 1.2776, 0.2284, 1.0171, 0.1314, 0.7579, 0.1068, 1.0,0.1445,
* 1.2774, 0.2235, 1.0171, 0.1287, 0.7580, 0.1034, 1.0,0.1414,
ft 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0
ft 0.0 , 0.0. , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 ,
ft 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0
* 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 /
C NOX
DATA BFRN83/
* 1.1112, 0.1984, 0.7937, 0.1191, 1.3097, 0.1191, 1.0, 0.1191,
ft 1.1118, o.oooo, 0.7899, o.oooo, 1.3166, o.oooo, i.o, o.oooo,
ft 1.1173, o.oooo, 0.7997, o.oooo, 1.2937, o.oooo, i.o, o.oooo,
ft 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0
ft 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 ,
ft 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0
ft 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0
ft 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 /
C
C 1981+ LDGV <=50K miles bag 6 FTP emissions normalized by 2ero mi
C The continuation code is the last digit of the model year:
C 1 = 1981/1991, 2 = 1982, etc. Note: & = 1990, % = 2020 (0 can
C
C LDGV
C HC
C Bag 1 Bag 2 Bag 3 FTP
C ZML DR ZML DR ZML DR ZML
DATA BFV1HC/
i 2.4510, 0.4547, 0.5012, 0.2152, 0.8571, 0.1856, i.oooo, o.
2 2.4402, 0.4320, 0.5081, 0.2027, 0.8520, O.l801, 1.0000, 0.
3 2.4751*, 0.4360, 0.4941, 0.1874, 0.8521, 0.1928, 1.0000, 0.
4 2.6207, 0.5239, 0.4657, 0.2158, 0.7967, 0.2117, i.oooo, o.
5 2.6438, 0.-4458, 0.4548, 0.2088, 0.8001, 0.1903, 1.0000, 0.












































le FTP

not be




DR

2565,
2438,
2401,
2782,
2528,
                                                              rate
                                                              used)

-------
                   C-371



Appendix C: MOBILE4 Block Data 18
May 5, 1989
518348
518349
|l8350
518351
518352
518353
518354
518355
518356
518357
518358
518359
518360
518361
518362
518363
518364
518365
518366
518367
518368
518369
518370
518371
518372
518373
518374
518375
^18376
"18377
518378
518379
518380
518381
518382
518383
518384
518385
518386
518387
518388
518389
518390
518391
518392
518393
51839^
518395
518396
518397
518398
518399
518400
518401
M8402
"l 8403
518404
518405
6
7
8
9
&
1
%
C CO

1
2
3
4
5
6
7
8
9
&
1
%
C NOX

1
2
3
4
5
6
7
8
9
s
1
%
C
2.
2.
2.
2.
2.
2.
2.

DATA
2.
2.
2.
2.
2.
2.
2.
2.
2.
2.
2.
2.

DATA
1.
1.
1.
1.
1.
1 .
1.
1.
1.
1.
1.
1.

6599, 0.
7111, 0.
7307, 0.
7345, o.
7383, o.
7457, 0.
7513, 0.

BFV1C07
8171, o.
7447, 0.
8699, 0.
8689, 0.
7500, 0.
6623, 0.
6277, 0.
5906, o.
5747, 0.
5591, 0.
5280, o.
5048, 0.

BFV1NX/
7037, 0.
6886, 0.
5084, 0.
5590, 0.
5619, 0.
5638, o.
5800, o.
5856, o.
5865, o.
5874, 0.
5892, o.
5906, 0.

C 1984+ LDGT1 bag
C The
C 4
C
cont
i nuation
= 1984, 5 -


3854,
3905,
3728,
3621,
3515,
3303,
3143,


6155,
6031,
4792,
6010,
5075,
4372,
4480,
4291,
4169,
4049,
3811,
3633,


0896,
1007,
0673,
0545,
0584,
0619,
0590,
0593,
0599,
0605,
0617,
0627,

6 FTP
code
1985,

0.4467,
0.4349,
0.4290,
0.4274,
0.4257,
0.4225,
0.4200,


0.3577,
0.3853,
0.2877,
0.3140,
0.3558,
0.3863,
0.4065,
0.4217,
0.4274,
0.4329,
0.4440,
0.4522,


0.7445,
0.7519,
0.7760,
0.7542,
0.7594,
0.7641,
0.7588,
0.7587,
0.7595,
0.7602,
0.7618,
0.7630,

0.2032,
0.2100,
0.2101,
0.2092,
0.2084,
0.2066,
0.2053,


0.2966,
0.2732,
0.2286,
0.2715,
0.2602,
0.2514,
0.2614,
0.2614,
0.2600,
0.2586,
0.2559,
0.2538,


0.1011,
0.1084,
0.0507,
0.0410,
0.0397,
0.0387,
0.0354,
0.0341,
0.0338,
0.0335,
0.0328,
0.0324,

0.8034,
0.7873,
0.7837,
0.7840,
0.7843,
0.7849,
0.7854,


0.8546,
0.8566,
0.9484,
0.8990,
0.9089,
0.9168,
0.9044,
0.9034,
0.9046,
0.9058,
0.9081,
0.9099,


0.9565,
0.9539,
1.0438,
1.0472,
1.0352,
1.0248,
1.0227,
1.0186,
1.0165,
1.0144,
1.0101,
1.0067,

emissions normalized by
is the 1
ast dig
etc. Note: 6 =


0.1749
0.1748
0.1698
0.1669
0.1640
0.1584
0.1541


0.2652
0.2545
0.2591
0.2988
0.2619
0.2344
0.2360
0.2279
0.2231
0.2183
0.2089
0.2019


0.1301
0.1402
0.0717
0.0671
0.0709
0.0743
0.0739
0.0749
0.0755
0.0761
0.0775
0.0785

, 1
, 1
, 1
, 1
, 1
, 1
, 1


, 1
, 1
, 1
9
,
9
9
9
9
9
9
9


, 1
, 1
, 1
, 1
, 1
, 1
, 1
, 1
, 1
, 1
, 1
, 1

zero mile
i t of the model
1990, %

= 2020

.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,


.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,


.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,

0.2330,
0.2376,
0.2326,
0.2292,
0.2257,
0.2189,
0.21387


0.3537,
0.3360,
0.2885,
0.3469,
0.3116,
0.2850,
0.2929,
0.2868,
0.2822,
0.2778,
0.2689,
0.26227


0.1066,
0.1155,
0.0599,
0.0509,
0.0521,
0.0532,
0.0508,
0.0504,
0.0505,
0.0507,
0.0510,
0.05127

FTP rate
year :
(0

can not

be used)

C LDGT1
C HC
C
C

*
ft
ft
4
5
6
7
8
9
&
1
%
C CO



DATA
0.
0.
0.
2.
3-
3-
3-
2.
2.
2.
2.
2.


Bag 1
ZML
BFV2HC7
0000, 0.
0000, 0.
0000, 0.
8662, 0.
2436, 0.
2304, 0.
2688, 0.
2349, 0.
2349, 0.
2349, 0.
2349, o.
3023, o.



DR

0000,
0000,
0000,
2721,
2100,
2289,
2603,
2579,
2579,
2579,
2579,
2623,


Bag
ZML

0.0000,
0.0000,
0.0000,
0.6530,
0.233^.
0.2289,
0.2025,
0.6304,
0.6304,
0.6304,
0.6304,
0.6120,


2
DR

0.0000,
0.0000,
0.0000,
0.2902,
0.1867,
0.2035,
0.2314,
0.2292,
0.2292,
0.2292,
0.2292,
0.2331,




Bag 3
ZML

0.0000,
0.0000,
0.0000,
0.2540,
0.7701,
0.7885,
0.8100,
0.7736,
0.7736,
0.7736,
0.7736,
0.7577,

DR

0.0000
0.0000
0.0000
0.2358
0.1633
0.1781
0.2025
0.2006
0.2006
0.2006
0.2006
0.2040



, o
, o
, o
,
,
,
,
,
,
,
t
f



FTP
ZML

.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,
.0000,

DR

0.0000,
0.0000,
0.0000,
0.2721,
0.1867,
0.2035,
0.2314,
0.2292,
0.2292,
0.2292,
0.2292,
0.23317


-------
                   c-372



Appendix C: MOBILES Block Data 18
May 5, 1989
518406
518407
518408
518409
518410
518411
518412
518413
518414
518415
518416
518417
518418
518419
518420
518421
518422
518423
518424
518425
518426
518427
518428
518429
518430
518431
518432
518433
518434
518435
518436
518437
518438
518439
518440
518441
518442
518443
518444
518445
518446
518447
518448
518449
518450
518451
518452
518453
518454
518455
518456
518457
518458
518459
518460
518461
518462
518463
DATA BFV2CO/
* 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
* 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
* 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
4 2.5738, 0.2181, 0.3799, 0.1362, 0.9959, 0.1436, 1.0000, 0.1553,
5 3.4554, 0.1471, 0.2186, 0.0914, 0.6385, 0.0971, 1.0000, 0.1043,
6 3.2307, 0.1795, 0.3032, 0.1115, 0.6465, 0.1185, 1.0000, 0.1272,
7 2.8508, 0.2342, 0.4456, 0.1455, 0.6615, 0.1546, 1.0000, 0.1660,
8 1-5788, 0.1945, 0.8083, 0.1209, 0.9291, 0.1284, 1.0000, 0.1379,
9 1.5680, 0.1958, 0.8134, 0.1216, 0.9275, 0.1292, 1.0000, 0.1387,
6 1.5572, 0.1973, 0.8179, 0.1226, 0.9271, 0.1302, 1.0000, 0.1398,
i 1-5559, 0.1974, 0.8182, 0.1226, 0.9274, 0.1303, i.oooo, 0.1399,
% 1.5064, 0.2028, 0.8408, 0.1260, 0.9216, 0.1339, 1.0000, 0.1438/
C NOX
DATA BFV2NX/
* 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
* 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
* 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
4 1.0029, 0.1343, 0.9223, 0.0358, 1.1461, 0.0537, 1.0000, 0.0627,
5 1.1665, 0.0724, 0.8849, 0.0161, 1.0941, 0.0322, 1.0000, 0.0322,
6 1.2408, 0.0833, 0.8611, 0.0185, 1.0834, 0.0370, 1.0000, 0.0370,
7 1-3532, 0.0990, 0.8251, 0.0220, 1.0672, 0.0440, 1.0000, 0.0440,
8 1.3974, 0.1094, 0.8384, 0.0243, 1.0085, 0.0486, 1.0000, 0.0486,
9 1.3976, 0.1103, 0.8336, 0.0245, 1.0175, 0.0490, 1.0000, 0.0490,
6 1.4113, 0.1114, 0.8294, 0.0248, 1.0151, 0.0495, 1.0000, 0.0495,
1 1.4113, 0.1114, 0.8294, 0.0248, 1.0151, 0.0495, 1.0000, 0.0495,
% 1.4452, 0.1151, 0.8185, 0.0256, 1.0104, 0.0512, 1.0000, 0.0512/
C
C 1984+ LDGT2 bag 6 FTP emissions normalized by zero mile FTP rate
C The continuation code is the last digit of the model year:
C 4 = 1984, 5 = 1985, etc. Note: 6 = 1990, % = 2020 (0 can not be used)
C
C LDGT2
C HC
C Bag 1 Bag 2 Bag 3 FTP
C ZML DR ZML DR ZML DR ZML DR
DATA BFV3HC/
* 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
* 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
* 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
4 2.8662, 0.2721, 0.6530, 0.2902, 0.2540, 0.2358, 1.0000, 0.2721,
5 3.2436, 0.2100, 0.2334, 0.1867, 0.7701, 0.1633, 1.0000, 0.1867,
6 3.2304, 0.2289, 0.2289, 0.2035, 0.7885, 0.1781, 1.0000, 0.2035,
7 3.2688, 0.2603, 0.2025, 0.2314, 0.8100, 0.2025, 1.0000, 0.2314,
8 2.2349, 0.2579, 0.6304, 0.2292, 0.7736, 0.2006, i.oooo, 0.2292,
9 2.2349, 0.2579, 0.6304, 0.2292, 0.7736, 0.2006, 1.0000, 0.2292,
6 2.2349, 0.2579, 0.6304, 0.2292, 0.7736, 0.2006, 1.0000, 0.2292,
1 2.2349, 0.2579, 0.6304, 0.2292, 0.7736, 0.2006, 1.0000, 0.2292,
% 2.3023, 0.2623, 0.6120, 0.2331, 0.7577, 0.2040, 1.0000, 0.2331/
C CO
DATA BFV3CO/
* 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
* 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
* 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
•4 2.5738, 0.2181, 0.3799, 0.1362, 0.9959, 0.1436, 1.0000, 0.1553,
5 3.455**, 0.1471, 0.2186, 0.0914, 0.6385, 0.0971, 1.0000, 0.1043,
6 3.2307, 0.1795, 0.3032, 0.1115, 0.6465, 0.1185, 1.0000, 0.1272,
7 2.-8508, 0,2342, 0.4456, 0.1455, 0.6615, 0.1546, 1.0000, 0.1660,

-------
                   C-373



Appendix C: MOBILE** Block Data  18
May 5, 1989
518464
£1 81*65
• 8466
1518467
518468
518469
518470
518471
518472
518473
518474
518475
518476
518477
518478
518479
51 81*80
5l8i*8l
518482
518483
5181+84
518485
5181*86
518487
518488
5181*89
518490
«8i*91
8492
81*93
518494
518495
518496
518497
518498
5181*99
518500
518501
518502
518503
518504
518505
518506
518507
518508
518509
518510
518511
518512
518513
518514
518515
518516
£18517
fc85l8
718519
518520
518521
8
9
6
l
%
C NOX

*
*
*
1*
5
6
7
8
9
6
1
$
C
1.5788, o.
1.5680, o.
1.5572, 0.
1.5559, 0.
1.5064, o.

DATA BFV3NX/
0.0000, 0.
0.0000, 0.
0.0000, 0.
1.0029, o.
1.1665, o.
1.21*08, 0.
1-3532, 0.
1.3974, 0.
1.3976, 0.
1.4113, 0.
1.1*113, o.
1.1*1*52, 0.

C 1981+ LDGV >50K
C The
C 1
C
cont i nuat ion
= 1981/1991,

1945,
1958,
1973,
1974,
2028,


0000,
0000,
0000,
1343,
0724.
0833,
0990,
1094,
1103,
1114,
llll*,
1151,

mi les
code
2 =

0.8083,
0.8134,
0.8179,
0.8182,
0.8408,


0.0000,
0.0000,
0.0000,
0.9223,
0.8849,
0.8611 ,
0.8251,
0.8384,
0.8336,
0.8294,
0.8294,
0.8185.

0.1209
0.1216
0.1226
0.1226
0.1260


0.0000
0.0000
0.0000
0.0358
0.0161
0.0185
0.0220
0.0243
0.0245
0.0248
0.0248
0.0256

bag 6 FTP det
is the 1
1982, etc

ast di
. Note

, o
, o
, o
, o
, o


, o
, o
, o
, 1
, 1
, 1
, 1
, 1
, 1
, 1
, 1
, 1

.9291, o
•9275, 0
.9271, o
.9274, o
.9216, 0


.0000, 0
.0000, 0
.0000, 0
.1461, 0
.0941, 0
.0834, 0
.0672, 0
.0085, o
.0175, 0
.0151, o
.0151, o
.0101*. 0

.1284
.1292
.1302
.1303
.1339


.0000
.0000
.0000
.0537
.0322
.0370
.01*1*0
.01*86
.0490
.0495
.0495
.0512

rates normal i zed
9't
: 6

of the model
= 1990,

% =

, 1.0000
, 1.0000
, 1.0000
, 1.0000
, 1.0000


, 0.0000
, 0.0000
, 0.0000
, 1.0000
, 1.0000
, 1.0000
, 1.0000
, 1.0000
, 1.0000
, 1.0000
, 1.0000
, 1.0000

by zero
year:
2020 (0

, o.
, o.
, o.
, o.
, o.


, o.
, o.
, o.
, o.
, o.
, o.
, o.
, o.
, o.
, o.
, o.
, o.

mi 1

can

1379,
1387,
1398,
1399,
1438/


0000,
0000,
0000,
0627,
0322,
0370,
041*0,
0486,
0490,
0495,
0495,
05 12/

e FTP rate

not be used)

C LDGV
C HC
C
C

1
2
3
1*
5
6
7
8
9
6
1
%
C CO

1
2
3
1*
5
6
7
8
9
&
1
%
C NOX

1

Bag 1

DATA BF50HC7
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.

DATA BF50CO/
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.

DATA BF50NX/
0.


DR

5919,
5629,
6417,
71+05,
6159,
5201,
5154,
4838,
4665,
4491*.
4153,
3897,


8042,
7700,
5760,
6754,
6091,
5592,
5709,
5586,
5500,
5415,
5247,
5122,


0896,

Bag
































2
DR

0.3136
0.2936
0.2214
0.2389
0.2536
0.261*5
0.2741
0.2802
0.2824
0.2845
0.2887
0.2919


0.5154
0.1*61.2
0.3036
0.3372
0.3241
0.3140
0.3206
0.3193
0.3176
0.3160
0.3127
0.3103


0.1011




9
9
9
9
9
9
9
9
9
9
9
9


9
9
9
9
9
9
9
9
9
9
9
9


9

Bag


0
0
0
0
0
0
0
0
0
0
0
0


0
0
0
0
0
0
0
0
0
0
0
0


0

3
DR

.2381
.2363
.2673
.2815
.2583
.2406
.2381*
.2322
.2290
.2258
.2194
.2146


.4212
.4018
.3650
.4027
• 3433
.2992
.2937
.2784
.2706
.2629
.2476
.2362


.1301




,
*
*
f
t
»
9
9
9
9
9
9


9
t
9
9
9
9
9
9
9
9
9
9


9

FTP


0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.


0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.


0.


DR

3503,
3334,
3205,
3538,
3295,
3106,
3140,
3091,
3057,
3024,
2959,
2909/


5492,
5102,
3765,
4247,
3880,
3605,
3648,
3574,
3526,
3479,
3386,
33 16/


1066,

-------
                         Appendix  C:  MOBILES Block Data 18                       May 5,  1989

518522          2           0.1007,          0.1081*.          0.11*02,         0.1155,
518523          3           0.0673,          0.0507,          0.0717,         0.0599,
518521*          1*           0.05^5,          0.01*10,          0.0671,         0.0509,
518525          5           0.0581.,          0.0397,          0.0709,         0.0521,
518526          6           0.0619,          0.0387,          0.07i»3,         0.0532,
518527          7           0.0590,          0.0351*.          0.0739,         0.0508,
518528          8           0.0593,          0.031*1,          0.071*9,         0.0501*,
518529          9           0.0599,          0.0338,          0.0755,         0.0505,
518530          &           0.0605,          0.0335,          0.0761,         0.0507,
518531          1           0.0617,          0.0328,          0.0775,         0.0510,
518532          %           0.0627,          0.0321*.          0.0785,         0.0512/
518533     C
518531*           END

-------
                                           C-375



                        Appendix C: MOBILE** Block  Data  19
                                                                May 5, 1989
519000
BLOCK DATA BD19
£19001
M9002
^19003
519001*
519005
519006
519007
519008
519009
519010
5190H
519012
519013
5190H*
p i Q/\ i r
5 igo ij>
519016
519017
519018
519019
519020
519021
519022
519023
519021*
519025
519026
£19027
M9028
^19029
519030
519031
519032
519033
519034
519035
519036
519037
519038
519039
51901*0
51901*1
c i onii o
519043
519044
519045
519046
519047
519048
519049
519050
519051
519052
£19053
§19054
519055
519056
519057
C
C
C
C
C
C
c
c
c
c
c
c
c
c


c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c

c
c
c
c
c
c
c
c
c
c
c


c


BLOCK DATA Subprogram 19: /OPMOD2/./OPMOD3/

BLOCK DATA 19 defines the last years of the model year groups used for
indexing BFRCOF and the mileage related parameters for the operating mode
component of the operating mode and temperature correction factor algorithm

Common block array subscripts:

MYGBFR (8., 3, 6) - MYGBFR ( IG, IP, IVLM )

Common block dictionary:

Name Type Description


/OPMOD2/:

MYSTEP 1 flag = 2 i f MY = 1981+ 6 IV - 1 » LDGV,
or if MY = 1984+ 6 IV = 2 = LDGT1,
or if MY = 1984+ 6 IV = 3 « LDGT2, = 1 otherwise
MAXBFR R maximum number of model year groups allowed for MYGBFR
MYGBFR 1 last year of model year groups for BFRCOF

/OPMOD3/:

BFMILE R cumulative mileage in ICY for IV from MY scaled by 10**-4
KINKBF 1 flag: 1 = mileage 50,000 or less, 2 = mileage over 50,000
BFGT50 R mileage greater than 50,000 (BFMI LE-60, 000 -> BFGT50=10,000)

Local array subscripts:

IBFYR1 (8,3) - IBFYR1 ( IG, IP )
IBFYR2(8,3) ~ IBFYR2( IG, IP )
IBFYR3(8,3) - IBFYR3( IG, IP )
IBFYR5(8,3) ' IBFYR5( IG, IP )
IBFYR6(8,3) - IBFYR6( IG, IP )
IBFYR8(8,3) - IBFYR8( IG, IP )

Local array dictionary:

Name Type Description

IBFYR 1 IV's BFRCOF myg upper bounds (ex: IBFYR8 = MC myg ub's),
equivalenced to the corresponding section of MYGBFR

Notes:

BD 19 's data structure was renamed and compacted for MOBILE4.

1981+ LDGV and 1984+ LDGT1/2 myg index are
computed (my - igBl + 1, 1992+ = 12) in IBFPTR.


COMMON /OPMOD2/ MYSTEP, MAXBFR, MYGBFR (8,3,6)
COMMON /OPMOD3/ BFMI LE.K INKBF.6FGT50

DIMENSION

-------
                   C-376
Appendix C: MOBILES Block Data  19
                                                                    May 5,  1989
519058
519059
519060
519061
519062
519063
51906**
519065
519066
519067
519068
519069
519070
519071
519072
519073
51907**
519075
519076
519077
519078
519079
519080
519081
519082
519083
51908**
519085
519086
519087
519088
519089
519090
519091
519092
519093
51909**
519095
519096
519097
519098
519099
519100
519101
519102
519103
51910**
519105
519106
519107
519108
519109
519110
519111
519112
519113






c







c
C
C

C
C
C
C




c




c




c




c




c




c
c
c

c
ft
*
*
*
*
*

ft
ft
ft
ft
ft
IBFYR1 (8,
IBFYR2(8,
IBFYR3(8,
IBFYR5(8,
IBFYR6(8,
IBFYR8(8,
EQUIVALENCE
(MYGBFR(1
(MYGBFRd
(MYGBFR(1
(MYGBFR(1
(MYGBFRd
3)
3)
3)
3)
3)
3)

,1
,1
,1
,1
,1







1)
2)
3)
**)
,5)
                       IBFYR1 (1,1)) ,
                       IBFYR20.1)) ,
                       IBFYR3(1,D) ,
                       IBFYR5(1,D) ,
                       IBFYR6(1,1)) ,
   *    (MYGBFRd,1,6) , IBFYR8(1,1))

 70PMOD27:

    DATA MAXBFR/8/,MYSTEP/17

 Last year of model year groups for normalized  bag  fractions.
 code is  IP.

    DATA  IBFYR1/
   H 1967,1969,1971,197**, 1979,1980,2*0,
   C 1967,1969,1971,197**, 1979,1980,2*0,
   N 1967,1972,197**, 1976,1979,1980,2*07

    DATA  IBFYR27
   H 1967,1969,1971,197**, 1978,1980,1983,0000,
   C 1967,1969,1971,197**, 1978,1980,1983,0000,
   N 1967,1972,197**, 1978,1980,1983,2*0/

    DATA  IBFYR3/
   H 1969,1973,1978,1980,1983,3*0,
   c 1969,1973,1978,1980,1983,3*0,
   N 1969,1973,1978,1980,1983,3*07

    DATA  IBFYR5/
   H 197**, 1976,1977,1978,1979,2020,2*0,
   C 197**, 1976,1977,1978,1979,2020,2*0,
   N 197**, 1976,1977,1978,1979,1980,1982,20207

    DATA  IBFYR6/
   H 1978, 1979,1982,2020,***0,
   C 1978, 1979, 1982,2020,***0,
   N 1978, 1979, 198**,2020,***07

    DATA  IBFYR87
   H 1977,1979,2020,5*0,
   C 1977,1979,2020,5*0,
   N 1977,2020,6*07

70PW)D3/:

    DATA BFMILE/0.0/,KINKBF/1/,BFGT50/0.0/

    END
                                                     Conti nuation

-------
                   C-377



Appendix C: MOBILE4 Block Data 20
May 5, 1989
520000
520001
K0002
"20003
520004
520005
520006
520007
520008
520009
520010
520011
520012
520013
520014
520015
520016
520017
520018
520019
520020
520021
r *)ftn ") o
p/UU^Z
520023
520024
520025
520026
520027
K0028
^20029
520030
520031
520032
520033
520034
520035
520036
520037
520038
520039
520040
520041
520042
520043
520044
520045
520046
520047
520048
520049
520050
520051
520052
520053
|eoo54
^0055
520056
520057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
BLOCK DATA BD20

BLOCK DATA Subprogram 20: /MYRSAV/./VMXCOM/

BLOCK DATA 20 initializes fleet characterization data:
(1) annual mileage accumulation rates by relative (to evaluation year)
model year (JDX) and vehicle type (IV)
(2) July 1 registration distributions, also by JDX and IV
(3) vehicle miles travelled (vmt) mix, by IV
(4) registration (reg) mix, by IV

Common block array subscripts:

AMAR(20,8) - AMAR ( JDX, IV )
JULMYR (20, 8) - JULMYR ( JDX, IV )
REGMIX(8) - REGMIX ( IV )
TFNORM (8) - TFNORM ( IV )
VMTMIX(8) - VMTMIX ( IV )

Common block dictionary:

Name Type Description
/MYRSAV/:

NEWCUM 1 cumulative model year mileage recalculation flag
AMAR R annual mileage accumulation rates
JULMYR R July 1 registration distributions

/VMXCOM/:

REGMIX R normalized registration mix (registration percentage by
TFNORM R for each IV, the sum across its 20 model year window of
registrations times mileage accrual rate
VMTMIX R normalized vehicle miles traveled mix (vmt percentage by

Local array subscripts:

V12MAR(20,2) - V12MAR (JDX, IV )
V34MAR(20,2) - V34MAR (JDX, IV )
V56MAR(20,2) - V5&MAR (JDX, IV )
V78MAR(20,2) - V78MAR (JDX, IV )

Local array dictionary:

Name Type Descriptions


V12MAR R annual mileage accumulation rates for LDGVs and LDGTls
V34MAR R annual mileage accumulation rates for LDGT2s and MDGVs
V56MAR R annual mileage accumulation rates for LDDVs and LDDTs
V78MAR R annual mileage accumulation rates for HDDVs and MCs

Notes:

The model year mileage recalculation flag "NEWCUM" is initialized here































IV)


IV)



















.

HDDV MAR values are initialized as all zeros, since they are calculated by
subroutine HDDMAR or supplied by the user.


-------
                   C-378



Appendix C: MOBILE** Block Data  20
May 5, 1989
520058
520059
520060
520061
520062
520063
52006*4
520065
520066
520067
520068
520069
520070
520071
520072
520073
52007**
520075
520076
520077
520078
520079
520080
520081
520082
520083
52008*»
520085
520086
520087
520088
520089
520090
520091
520092
520093
52009**
520095
520096
520097
520098
520099
520100
520101
520102
520103
52010**
520105
520106
520107
520108
520109
520110
520111
520112
520113
52011**
520115
C
C
C

C


C

C





C
C
C

C
C
C

C
C
C
C


C
C
C

C




C





C




C





C



AMAR and JULMYR were updated for MOBILE**.

REAL JULMYR

COMMON /MYRSAV/ AMAR (20,8) .JULMYR (20,8) .NEWCUM
COMMON /VMXCOM/ REGMIX (8) .TFNORM (8) , VMTMI X (8)

DIMENSION V12MAR(20,2) , V3*»MAR (20,2) .V56MAR (20, 2) ,V78MAR (20, 2)

EQUIVALENCE
* (AMAR (1,1) ,V12MAR(1, 1)) ,
* (AMAR (1,3) ,V3**MAR(1,1)) ,
* (AMAR (1,5) ,V56MAR(1,1)) ,
* (AMAR (1,7) ,V78MAR(1, 1))

Initial ize NEWCUM.

DATA NEWCUM /!/

Initialize REGMIX and TFNORM.

DATA REGMIX, TFNORM /16*0.0/

The vmt mix below represents a typical distribution, but is NOT used during
execution, where the mix is either computed in TFCALX or supplied by user:

DATA VMTMI X/
ft .782**, .0825, .0**68, .0**19, .0021, .000**, .035**, -0085/

Annual average mileage accumulation rates (divided by 100000)

DATA V12MAR/
LDGV
*. 13118, .12408, .11737. .11103, .10503,
'•-09935, .09398, .08889, .08**09, .0795**,
*. 07524, .07117, -06733, .06369, .0602**,
*. 05698, .05390, .05099, • 04823, .0*»562,
LDGT1
*. 15640, .14590, .13610, .12696, .11843,
*. 11048, .10306, .09614, .08968, .08366,
*. 07804, .07280, .06791, .06335, .05909,
*. 05512, .05142, .04797, .04475, .04174/
DATA V34MAR/
LDGT2
*. 17608, .16217, .14937, .13758, .12671,
ft. 11671, .10749, .09901, .09119, .08399,
*. 07736, .07125, .06562, .06044, .05567,
*. 05127, .04723, .04350, .04006, .03690,
HDGV
*. 18211, .16767, .15437, .14213, .13086,
*. 12048, .11093, .10213, .09403, .08657,
*. 07971, -07339, .06757, .06221, .05728,
*. 05273, .04855, .04470, .04116, .03789/
DATA V56MAR/
LDDV
*. 17825, .16478, .15233, .14081, .13017,
*. 12033, .11124, .10283, .09506, .08788,

-------
                                               C-379
                           Appendix  C:  MOBILES  Block Data 20
                                                                                  May 5,  1989
   y-
•
   ?f-
•
520116          *.08123,  .07509,  .0691*2, .061*17,  .05932,
 20117          *.051*81*.  .05069,  .01*686, .01*332,  .01*005,
  0118     C  LDDT
 '20119          *• 2011*0,  .17572,  .15^32, .13639,  .12133,
520120          *. 10863,  .09788,  .08877, .08103,  .071*!*!*,
520121          *.06883,  .061*05,  .05999, -05655,  -05365,
520122          *. 05123,  .01*921*.  .01*763, .01*637,  .01*51*37
520123           DATA  V78MAR7
520121*     C  HDDV
520125     C  Warning: There are  no default HDDV  MAR values.   Either the user supplies
520126     C           them or  they are computed  by subroutine HDDMAR.
520127          * .000,  .000, .000, .000, .000,  .000,  .000,  .000,  .000, .000,
520128          * .000,  .000, .000, .000, .000,  .000,  .000,  .000,  .000, .000,
520129     C  MC
520130          *.01*786,  .01*1*75,  .01*161*. .03853,  .035^3,
520131          *.03232,  .02921,  .02611, .02300,  .01989,
520132          *.01678,  .01368,  .00000, .00000,  .00000,
520133          *.ooooo,  .00000,  .00000, .00000,  .ooooo/
520131*     c
520135     C  Vehicle  registration distributions  (enter unmodified data)
520136     c
520137           DATA  JULMYR/
520138     C  LDGV
520139          *.062,  .082, .079, -075, .071,  .067,  -063,  .060,  .056,  .052,
520UO          *.0l*8,  .01*5, -01*1, .037, -033,  .029,  -026,  .022,  .018,  .031*,
52011*1     C  LDGT1
520142          *.070,  .092, .088, .083, .077,  .072,  .067,  .062,  .057,  .051,
 2011*3          *.0l*7,  .01*1, .036, .031, .026,  .021,  .016,  .011,  .007,  .OMi,
  011*1*     c  LDGT2
  011*5          *.070,  .092, .088, .083, .077,  -072,  .067,  .062,  .057,  .051,
52011*6          *.0l*7,  .01*1, .036, .031, .026,  .021,  .016,  .011,  .007,  -01*1*.
52011*7     C  HDGV
52011*8          *.065,  .131, .113, -097, .081*.  .072,  .062,  .051*.  .01*6,  .01*0,
52011*9          *.03l*,  .030, .026, .022, .019,  -016,  .Oil*,  .012,  .010,  .052,
520150     C  LDDV
520151          *.062,  .082, .079, -075, .071,  .067,  .063,  .060,  .056,  .052,
520152          *.0l*8,  .01*5, .01*1, .037, .033,  .029,  -026,  .022,  .018,  .03!*,
520153     C  LDDT
520151*          *.070,  .092, .088, .083, .077,  .072,  .067,  .062,  .057,  .051,
520155          *.01*7,  .01*1, .036, .031, .026,  .021,  .016,  .011,  .007,  .01*1*.
520156     C  HDDV
520157          *.082,  .165, -135, .ill, .091,  .075,  -061,  .050,  .01*1,  .031*.
520158          *.028,  .023, .019, .015, -013,  -010,  .009,  .007,  .006,  .021*.
520159     C  MC
520160          * .11+1*.  .168, .135, -109, .088,  .070,  .056,  .01*5,  .036, .029,
520161          * .023,  .097, .000, .000, .000,  .000,  .000,  .000,  .000, .0007
520162     C
520163           END

-------
                   C-380



Appendix C: MOBILES Block Data 21
May 5, 1989
521000
521001
521002
521003
521004
521005
521006
521007
521008
521009
521010
52101 1
521012
521013
521014
521015
521016
52101?
521018
521019
521020
521021
521022
521023
521024
521025
521026
521027
521028
521029
521030
521031
521032
521033
521031*
521035
521036
521037
521038
521039
521040
521041
521042
521043
521044
521045
521046
521047
521048
521049
521050
521051
521052
521053
521054
521055
521056
521057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C


C





C
BLOCK DATA BD21

BLOCK DATA Subprogram 21: /ALUHAC/./ALUHLT/

BLOCK DATA 21 initializes the correction factors for air conditioning
usage (a/c or AC), extra load (XL), and trailer towjng (TW) .

Common block array subscripts:

ACEQIP(8,3,2) - ACEQIP ( IGEPTR, IVP, IR )
ACCF (2, 3, 2, 3, 2) - ACCF ( IAC, IP, IGUPTR, IVP, IR)
XLCF(3,6,3,2) - XLCF ( IP, IGLPTR, IVP, IR)
TWCF(3,6,3,2) - TWCF ( IP, IGTPTR, IVP, IR)
IAC = AC correction equation coefficient number (2 terms per equation)

Common block dictionary:

Name Type Description


/ALUHAC/:

ACEQIP R fractions of LDGV & LDGT1/2 vehicles equipped with a/c
ACCF R a/c correction factors

/ALUHLT/:

XLCF R extra load correction factors
TWCF R trailer towing correction factors

Local array subscripts:

TWCFLO(3,6,3) - TWCFLO ( IP, IGLPTR, IVP )
TWCFHI (3,6,3) - TWCFHI ( IP, IGLPTR, IVP)
XLCFLO(3,6,3) - XLCFLO ( IP, IGLPTR, IVP )
XLCFHI (3,6,3) - XLCFHI ( IP, IGLPTR, IVP)

Local array dictionary:

Name Type Description


TWCFLO R trailer towing correction factors' for low altitude region
TWCFHI R trailer towing corrrection factors for high altitude region
XLCFLO R extra load correction factors for low altitude region
XLCFHI R extra load correction factors for high altitude region


COMMON /ALUHAC/ ACEQI P (8, 3,2) , ACCF (2, 3,2, 3,2)
COMMON /ALUHLT/ XLCF (3,6, 3,2) , TWCF (3,6,3,2)

DIMENSION TWCFLO (3, 6, 3) .TWCFHI (3,6,3)
DIMENSION XLCFLO(3,6,3) .XLCFHI (3,6,3)

EQUIVALENCE
* (TWCF (1,1, 1,1), TWCFLO (1,1,1)),
* (TWCF (1,1, 1,2) .TWCFHI (1,1,1)) ,
* (XLCF(1,1,1,1),XLCFLO(1,1,1)),
* (XLCF(1, 1,1, 2), XLCFHI (1,1,1))


-------
                                             C-381
                          Appendix C: MOBILES Block Data 21
                                                                                May 5, 1989
  521058
    21059
4
521062
521063
521061*
521065
521066
521067
521068
521069
521070
521071
521072
521073
521074
521075
521076
521077
521078
521079
521080
521081
521082
521083
521081*
 21085
  1087
521088
521089
521090
521091
521092
521093
521094
521095
521096
521097
521098
521099
521100
521101
521102
521103
521101*
521105
521106
521107
521108
521109
521110
 ,21111
c
Fraction of vehicles equ
DATA ACEQI
C



C



C
C
Low al
*
*
*
High a
*
*
*

titude
.07, .
• 32, .
.32, .
1 titude
.07, •
.32, .
• 32, .

P/
reg
14,
52,
52,

ion
.21*.
• 39.
• 39,
i pped with a/c


• 37,
0.0,
0.0,


.51, .61
0.0, 0.0
0.0, 0.0


, -72,
, o.o,
, o.o,


0
0
0


.0,
.0,
.0,










region
14,
52,
52,

.24,
.39,
.39,

• 37,
0.0,
0.0,

.51, .61
0.0, 0.0
0.0, 0.0

, .72,
, o.o,
, o.o,

0
0
0

.0,
.0,
.o/









A/c correction factors
DATA ACCF/
C






C






C
C
C
c
Low al
* 1.
** 1 •
* 1.
* 1.
* 1 .
* 1.
titude
0230E+0
OOOOE+0
0230E+0
OOOOE+0
0230E+0
OOOOE+0
High altitude
* 1.
* 1 .
* 1 .
* 1 .
* 1.
* 1.

Extra

Low al
0230E+0
OOOOE+0
0230E+0
OOOOE+0
0230E+0
OOOOE+0

reg
, 0
, 0
, 0
, 0
, 0
, 0
ion
• 3341*E-2
.3512E-2
•3344E-2
•3512E-2
• 33i*i*E-2
.3512E-2

, 1.
, 1.
, 1.
, 1.
, 1.
, 1.

2020E+0, 0.
1300E+0, 0.
2020E+0, 0.
1300E+0, 0.
2020E+0, 0.
1300E+0, 0.

1808E-2,
1528E-2,
1808E-2,
1528E-2,
1808E-2,
1528E-2,

1
1
1
1
1
1

.2990E+0,
.2210E+0,
.2990E+0,
.2210E+0,
.2990E+0,
.2210E+0,

0.561*3E-1*
0.1*262E-3
0.561»3E-1*
0.1+262E-3
0.561»3E-1»
0.1*262E-3

9
f
9
9
9
9
reg i on
, 0
, 0
, o
, o
, o
, o

• 33i*i»E-2
.3512E-2
.33i*i*E-2
.3512E-2
.3344E-2
•3512E-2

, 1.
, 1.
, 1.
, 1.
, 1.
, 1.

2020E+0, 0.
1300E+0, 0.
2020E+0, 0.
1300E+0, 0.
2020E+0, 0.
1300E+0, 0.

1808E-2,
1528E-2,
1808E-2,
1528E-2,
1808E-2,
1528E-2,

1
1
1
1
1
1

.2990E+0,
.2210E+0,
.2990E+0,
.2210E+0,
.2990E+0,
.2210E+0,

0.561*3E-1*
0.1+262E-3
0.56l*3E-i*
0.1*262E-3
0.561*3E-1*
9
9
9
9
9
0.4262E-3/


load correction factors
HC
titude
CO
reg
NOX
ion







DATA XLCFLO/
C






C






C






C
C
LDGV
*
*
*
*
*
*
LDGT1
ft
*
*
*
*
*
LDGT2
*
*
ft
*
*
*

High a

1.0786,
1.01*95,
1.0852,
1.0556,
1.0556,
1.01.55,

1.0786,
1.01*95,
1.0852,
1.0556,
1.0556,
1.01*55,

1.0786,
1.01.95,
1.0556,
1.01*55,
0.0000,
0.0000,

1 titude

1.
«
•
,
,
.

1.
1.
1.
1.
1.
1.

1.
1.
1.
1.
0.
0.

re

2765, o.
1381*. 1.
21*78, 1.
1347, 1.
1347, 1.
3058, 1.

2765, o.
1384, .
2478, .
1347, •
1347, .
3058, .

2765, o.
1384, .
1347, 1.
3058, 1.
0000, 0.
0000, 0.

gion

9535
0313
0313
0313
0753
0719

9535
0313
0313
0313
0753
0719

9535
0313
0753
0719
0000

I
)
•
*
f
9

9
9
9
9
9
9

9
9
9
9
9




































































































oooo/














  521114
  521H5
                 DATA JLCFHI/
              LDGV
                *   1.0786, 1.2765, O.S535,

-------
                   c-382



Appendix C: MOB I LEU Block Data 21
May 5, 1989
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
116
117
118
119
120
121
122
123
121*
125
126
127
128
129
130
131
132
133
13*
135
136
137
138
139
11*0
11*1
11*2
1*3
11*1*
1*5
11*6
1*7
li*8
11*9
150
151
152
153
15*
155
156
157
158
159
160
161
162
163
16*
165
166
167
168
169
170
171
172
173
ft
ft
ft
*
ft
C LDGT1
ft
ft
ft
ft
ft
ft
C LDGT2
ft
ft
ft
ft
ft
*
C
C Trail
C
1.
1.
1.
1.
1.

1.
1.
1.
1.
1.
1.

1.
1.
1.
1.
0.
0.

er
HC
C Low al ti
DATA
C LDGV
ft
ft
*
ft
ft
ft
C LDGT1
ft
ft
ft
ft
ft
ft
C LDGT2
ft
ft
ft
*
ft
ft
C
C High

1.
1.
1.
1.
1.
1.

1.
1.
1.
1.
1 .
1.

1.
1 .
1.
1.
0.
0.

0*95
0852
0556
0556
0*55

0786
0*95
0852
0556
0556
0*55

0786
0*95
0556
0*55
0000
0000

towi
,
,
t
,
,

9
t
,
,
*
9

9
9
t
9
9
9

1
1
1
1
1

1
1
1
1
1
1

1
1
1
1
0
0

"9
•
.
.
,
.

138*. 1
2*78, 1
13*7, 1
13*7, 1
3058, 1

.0313
.0313
.0313
.0753
.0719

,
,
,
,
,

.2765, 0.9535,
.
.
•
.
•

138*. 1
2*78, l
13*7, l
13*7, 1
3058,

.0313
.0313
.0313
.0753
.0719

,
9
9
,
9

.2765, 0.9535,
.
,
.
1381*,
13*7,
3058,
.0313
.0753
.0719
.0000, 0.0000
9
9
9
9
.0000, O.OOOO/


correct
CO
tude
reg


on factors
NOX
ion


TWCFLO/

2611*
2762
*598
7288
7288
5909

2611*
2762
*598
7288
7288
5909

2611*
2762
7288
5909
0000
0000


,
,
,
,
,
,

,
,
,
,
,
,

,
,
,
,
,
,

al ti tude
DATA
C LDGV
ft
ft
ft
ft
ft
*
C LDGT1
ft
ft

1.
1.
1.
1.
1.
1.

1.
1.
TWCFH

2611*
2762
*598
7288
7288
5909

2611*
2762

,
,
,
,
,
,

,
,

1
1
2
2
2
3

1
1
2
2
2
3

1
1
2
3
0
0


•
.
.
.
.
.

,
,
,
.
.
•

.
.
^
•

9327,
89*0,
*753,
11*11*.
11*11*.
9722,

9327,
891*0,
*753,
l*li»,
l*li*.
9722.

9327,
891*0,
ll»ll»,
9722,

.118*
.138*
.138*
.138*
.2170
.3875

.118*
.138*
.138*
.138*
.2170
• 3875

.118*
.138*
.2170
1.3875
.0000, 0.0000

9
9
9
9
9
9

9
9
9
9
9
9

9
9
9
9
9
.0000, O.OOOO/




region
I/

1
1
2
2
2
3

1
1


,
.
,
,
,
,

.
.


9327,
89*0,
*753,
1*1*.
1*1*.
9722,

9327,
89*0,


1.118*
1.138*
1.138*
1.138*
1.2170
1.3875

.118*
.138*


9
9
9
9
9
9

9
9

-------
                                           C-383



                        Appendix C: MOBILES Block Data 21                       May 5,  1989
521
521
• 21
521
521
521
521
521
521
521
521
521
174
175
176
177
178
179
180
181
182
183
184
185
*
*
*
*
C LDGT2
ft
ft
*
ft
ft
ft
C
1
1
1
1

1
1
1
1
0
0

.4598,
.7288,
.7288,
•5909,

.2614,
.2762,
.7288,
.5909,
.0000,
.0000,

2
2
2
3

1
1
2
3
0
0

.4753,
.1414,
.1414,
•9722,

•9327,
.8940,
.1414,
•9722,
.0000,
.0000,

1
1
1
1

1
1
1
1
0
0

.1384
.1384
.2170
.3875

.1184
.1384
.2170
• 3875
.0000
J
9
9
9

9
9
9
9
9
.OOOO/


521186           END

-------
                    C-381*



Appendix C: MOBILE** Block Data 22
May 5,  1989
522000
522001
522002
522003
522001*
522005
522006
522007
522008
522009
522010
522011
522012
522013
522011*
522015
522016
r* *> o n i "7
522017
522018
522019
522020
522021
522022
522023
522021*
522025
522026
522027
522028
522029
522030
522031
522032
522033
522031*
522035
522036
522037
522038
522039
5220l»0
52201*1
52201*2
52201*3
52201*1*
52201*5
52201*6
52201*7
522048
52201*9
522050
522051
522052
522053
522051*
522055
522056
522057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C.
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C

C



C



C

C



C



C

C
BLOCK DATA BD22

BLOCK DATA Subprogram 22: /ALUPAC/, /ALUPLT/

BLOCK DATA 22 defines the last years of the model year groups used for
the a/c, XL, 6 TW correction factors.

Common block array subscripts:

MYGACE(8,3,2) - MYGACE ( IG, IVP, IR)
MYGACC(2,3,2) - MYGACC ( IG, IVP, IR )
MYGXLC(6,3,2) - MYGXLC ( IG, IVP, IR )
MYGTWC (6, 3, 2) - MYGTWC ( IG, IVP, IR )

Common block dictionary:

Name Type Description


/ALUPAC/:

MYGACE 1 the last year of the model year groups for ACEQIP
(fraction of vehicles equipped with a/c)
MYGACC 1 the last year of the model year groups for ACCF
(a/c correction factors)

/ALUPLT/:

MYGXLC 1 the last year of the model year groups for XLCF
(extra load correction factors)
MYGTWC 1 the last year of the model year groups for TWCF
(trailer towing correction factors)


COMMON /ALUPAC/ MYGACE (8,3,2) .MYGACC (2,3,2)
COMMON /ALUPLT/ MYGXLC (6,3,2) .MYGTWC (6,3,2)

DATA MYGACE/
Low altitude region
* 196 1,1961*, 1966, 1968, 197 1,1 976, 2020, 0000,
* 1 976 , 1 977 , 2020 , 0000 , 0000 , 0000 , 0000 , 0000 ,
* 1976,1977,2020,0000,0000,0000,0000,0000,
High altitude region
* 1961 , 1961*. 1966, 1968, 1971 , 1976,2020,0000,
* 1976, 1977,2020,0000,0000,0000,0000,0000,
* 1976, 1977, 2020, 0000, 0000, 0000, 0000, OOOO/

DATA MYGACC/
Low altitude region
* 197^,2020,
* 197-1*, 2020,
* 1978,2020,
High al ti tude region
* 197^,2020,
* 1971*, 2020,
* 1978, 2020/

DATA MYGXLC/
Low .altitude region

-------
                   C-385
Appendix C: MOBILES Block Data 22
                                                                                  May 5,  1989
  p*
•
522058
 22059
  2060
  2061
522062
522063
522064
522065
522066
522067
522068
522069
522070
522071
522072
522073
522074
522075
522076
  *   1967,1969,1971,
  *   1967,1969,1971,
  *   1969,1973,1978,
High alti tude region
  *   1967,1969,1971,
  *   1967,1969,1971,
  *   1969,1973,1978,

   DATA MYGTWC7
Low altitude region
  *   1967,1969,1971,
  *   1967,1969,1971,
  *   1969,1973,1978,
High altitude region
  *   1967,1969,1971,
  *   1967,1969,1971,
  *   1969,1973,1978,

   END
           1972,197^,2020,
           1972,1974,2020,
           2020,0000,0000,

           1972,1974,2020,
           1972,1974,2020,
           2020.0000.0000/
           1972,1974,2020,
           1972, 1974, 2020,
           2020,0000,0000,

           1972,1974,2020,
           1972,1974,2020,
           2020,OOOO.OOOO/

-------
                   C-386



Appendix C: MOBILES Block Data 23
May 5, 1989
523000
523001
523002
523003
523004
523005
523006
523007
523008
523009
523010
523011
523012
523013
c *i ?r\ i 1.
52301**
523015
523016
523017
523018
523019
523020
523021
523022
523023
523024
523025
523026
523027
523028
523029
523030
523032
523033
523034
523035
523036
523037
523038
523039
523040
523041
523042
523043
523044
523045
523046
523047
523048
523049
523050
523051
523052
523053
523054
523055
523056
523057

C
C
C
C
C
C
C
C
C
C
C
C
C

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C





C





C
BLOCK DATA BD23

BLOCK DATA Subprogram 23: /GSFCOM/

BLOCK DATA 23 initializes the gasoline vs diesel sales fractions.

Common block array subscripts:

GSFRAC (22, 8, 2) - GSFRAC ( IGSFPT, IV, IR )
MYGSF (22, 8, 2) - MYGSF ( IG, IV, IR )

Common block dictionary:

Name Type Description

/GSFCOM/:

MAXGSF 1 maximum number of sales fractions for any IR 6 IV case
GSFRAC 1 gasoline vs diesel sales fractions
MYGSF 1 gasoline vs diesel sales fraction model year groups

Local array subscripts:

GSFLO(22,8) - GSFLO ( IGSFPT, IV)
GSFHI (22,8) - GSFHI ( IGSFPT, IV)
IGSFLO(22,8) - IGSFLO ( IG, IV )
IGSFHI (22,8) - IGSFHI ( IG, IV )

Local array dictionary:

Name Type Description
GSFLO R low altitude region sales fractions
GSFHI R high altitude region sales fractions
IGSFLO 1 last year of sales fraction model year groups
for low altitude regions
IGSFHI 1 last year of sales fraction model year groups
for high altitude regions

Notes:

GSFRAC and MYGSF were updated for MOBILE4.


COMMON /GSFCOM/ MAXGSF .GSFRAC (22,8,2) , MYGSF (22,8,2)

DIMENSION
* GSFLO (22, 8),
* GSFHI (22, 8),
* IGSFLO (22, 8) ,
* IGSFHI (22,8)

EQUIVALENCE
* (GSFRAC(l,l,l),GSFLO(l,l))t
* (GSFRAC (1, 1,2), GSFHI (1,1)),
* (MYGSF (1,1,1), IGSFLO(l.l)),
* (MYGSF (1,1, 2), IGSFHI (1,1))


-------
                                              C-387

                          Appendix C: MOBILES Block  Data  23
                                                                                 May 5,  1989
  523058
   23059
  523062
  523063
  523061*
  523065
  523066
  523067
  523068
  523069
  523070
  523071
  523072
  523073
  52307^
  523075
  523076
  523077
  523078
  523079
  523080
  523081
  523082
  523083
  523081*
   23085
523088
523089
523090
523091
523092
523093
52309**
523095
523096
523097
523098
523099
523100
523101
523102
523103
523101*
523105
523106
523107
523108
523109
523110
 23111
  3H2
  3113
  52
A
^12
      DATA MAXGSF/22/
C
C  Gas or diesel fraction
C
C  Low altitude region
      DATA GSFLO/
C  LDGV
     *1.000, .999, -998,
     * -991, -996, .996,
C  LDGT1
     *1.000, .990, .985,
     * -973, -956, .938,
C  LDGT2
     *i.ooo. .990, .985,
     * -973, -956, .938,
C  HDGV
     *1.000, .000, .000,
     * .000, .000, .000,
C  LDDV
     * .000, .001, .002,
     * .009, .001*. .001*,
C  LDDT
     * .000, .010, .015,
     * .027, .01*1*. .062,
C  HDDV
     *1.000, .000, .000,
     * .000, .000, .000,
C  MC
     *1.000, .000, .000,
     * .000, .000, .000,
C
C  High altitude region
      DATA GSFHI/
C  LDGV
     *1.000, .999, .998,
     * -991, .996, .996,
C  LDGT1
     *i.ooo, .990, .985,
     * .973, -956, .938,
C  LDGT2
     *i.ooo, .990, .985,
     * -973, -956, .938,
C  HDGV
     *1.000, .000, .000,
     * .000, .000, .000,
C  LDDV
     * .000, .001, .002,
     * .009, .001*. .001*,
C  LDDT
     * .000, .010, .015,
     * .027, .01*A, .062,
C  HDDV
     *1.000, .000, .000,
     * .000, .000, .000,
C  MC
     *1.000, .000, .000,
     * .000, .000, .000,
                                        of  total  (g  + d)  vehicle type sales
997,  -991,  .97*.  -955,  .9*0,
990,  .981*.  .979,  .973,  .967,

952,  .918,  .908,  .958,  .97*.
920,  .903,  .885,  -868,  .850,

952,  .918,  .908,  .958,  .97*.
920,  .903,  .885,  .868,  .850,

,000,  .000,  .000,  .000,  .000,
,000,  .000,  .000,  .000,  .000,

,003,  .009,  .026,  .01*5,  .060,
,010,  .016,  .021,  .027,  .033,

,01*8,  .082,  .092,  .01*2,  .026,
,o8o,  .097,  .115,  .132,  .150,

,000,  .000,  .000,  .000,  .000,
,000,  .000,  .000,  .000,  .000,

,000,  .000,  .000,  .000,  .000,
.000,  .000,  .000,  .000,  .000,
                                       •997,  -991,
                                       .990,  .981*.

                                       .952,  .918,
                                       .920,  .903,

                                       .952,  .918,
                                       .920,  .903,

                                       .000,  .000,
                                       .000,  .000,

                                       .003,  .009,
                                       .010,  .016,

                                       .01*8,  .082,
                                       .080,  .097,
            •97*.  .955,  .9*0,
            •979,  .973,  -967,

            .908,  .958,  .97*.
            .885,  .868,  .850,

            .908,  .958,  .97*.
            .885,  .868,  .850,

            .000,  .000,  .000,
            .000,  .000,  .000,

            .026,  .01*5,  .060,
            .021,  .027,  -033,

            .092,  .01*2,  .026,
            .115,  .132,  .150,
  523115
.000,  .000,  .000,  .000, .000,
.000,  .000,  .000,  .000, .000,

.000,  .000,  .000,  .000, .000,
.000,  .000,  .000,  .000, .000,
                                                                   .961,  .986,
                                                                   -961,  .955,

                                                                   .989,  .980,
                                                                   .000,  .000,

                                                                   .989,  .980,
                                                                   .000,  .000,

                                                                   .000,  .000,
                                                                   .000,  .000,

                                                                   .039,  .011*.
                                                                   .039,  -01*5,

                                                                   .011,  .020,
                                                                   .000,  .000,

                                                                   .000,  .000,
                                                                   .000,  .000,

                                                                   .000,  .000,
                                                                   .000,  .000,
.961,  .986,
-961,  .955,

-989.  .980,
.000,  .000,

.989,  .980,
.000,  .000,

.000,  .000,
.000,  .000,

.039,  -Oil*,
.039,  .0*5,

.011,  .020,
.000,  .000,

.000,  .000,
.000,  .000,

.000,  .000,
.000,  .000,
            .950,

            .991,
            .000,

            .991,
            .000,

            .000,
            .000,

            .012,
            .050,

            .009,
            .000,

            .000,
            .000,

            .000,
            .000 /
                                          .950.

                                          .991,
                                          .000,

                                          .991,
                                          .000,

                                          .000,
                                          .000,

                                          .012,
                                          .050,

                                          .009,
                                          .000,

                                          .000,
                                          .000,

                                          .000,
                                          .ooo/

-------
                             c-388
523116
523H7
523H8
523H9
523120
523121
523122
523123
523124
523125
523126
523127
523128
523129
523130
523131
523132
523133
523134
523135
523136
523137
523138
523139
523140
523141
523142
523143
523144
523145
523146
523147
523148
523149
523150
523151
523152
523153
523154
523155
523156
523157
523158
523159
523160
523161
523162
523163
523164
523165
523166
523167
523168
523169
523170
523171
523172
C
C
C

C


C


C


C


C


C


C


C


C
C

C


C


C


C


C


C


C


C


C

Last }

Low a
DA'
LDGV
*
ft
LDGT1
*
ft
LDGT2
*
*
HDGV
ft
ft
LDDV
ft
ft
LDDT
ft
*
HDDV
ft
ft
MC
ft
*

High
DA'
LDGV
ft
ft
LDGT1
ft
ft
LDGT2
*
*
HDGV
ft
*
LDDV
ft
ft
LDDT
ft
*
HDDV
ft
*
MC
ft
ft

EN
          Appendix C:  MOBILES Block Data 23

Last year of light duty (or motorcycle)  model  year groups
     FA IGSFLO/

     .1970, 197 U973, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 198* ,
      1985.1986,1987,1988,1989,1990,1991,1992,1993.1994,2020,

      1977, 1978, 1979. 1980, 1981, 1982,1983,198'*, 1985, 1986, 1987,
      1988, 1989, 1990, 1991 , 1992, 1993, 1994,2020,0000,0000,0000,

      1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,
      1988, 1989, 1990, 1991 , 1992, 1993, 1994,2020,0000,0000,0000,

      2020 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 ,
      0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 ,

      1970,1971,1973,1977.1978,1979,1980,1981,1982,1983.1984,
      1985, 1986, 1987, 1988, 1989, 1990, 1991 , 1992, 1993, 199^.2020,

      1977. 1978, 1979, 1980, 1981 , 1982, 1983, 1984, 1985, 1986, 1987,
      1988, 1989, 1990, 1991 , 1992, 1993, 1994,2020,0000,0000,0000,

      2020 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 ,
      0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 ,

      2020 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 ,
      0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , OOOO/

High altitude region
   DATA IGSFHI/

      1970, 1971 , 1973, 1977, 1978, 1979, 1980, 1981 , 1982, 1983. 1984,
      1985, 1986, 1987. 1988, 1989. 1990, 1991 , 1992, 1993. 1994.2020,

      1977.1978,1979.1980,1981,1982,1983.1984,1985.1986,1987,
      1988, 1989, 1990, 1991 , 1992, 1993, 1994,2020,0000,0000,0000,

      1977, 1978, 1979, 1980, 1981 , 1982, 1983, 1984, 1985, 1986, 1987,
      1988, 1989, 1990, 1991 , 1992, 1993, 1994,2020,0000,0000,0000,

      2020 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 ,
      0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 ,

      1970,1971,1973,1977,1978,1979,1980,1981,1982,1983,1984,
      1985, 1986, 1987. 1988, 1989, 1990, 1991 , 1992, 1993. 1994,2020,

      1977, 1978, 1979. 1980, 1981 , 1982, 1983. 1984, 1985. 1986, 1987,
      1988, 1989, 1990, 1991 , 1992, 1993, 1994,2020,0000,0000,0000,

      2020 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 ,
      0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 ,

      2020 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 ,
      0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , 0000 , OOOO/
May 5, 1989

-------
                   C-389



Appendix C: MOBILES Block Data
May 5, 1989
524000
^24001
^^4002
^24003
524004
524005
524006
524007
524008
524009
52^010
524011
524012
524013
524014
524015
524016
52401?
524018
524019
524020
524021
524022
524023
524024
524025
524026
^524027
^fe4028
^24029
524030
524031
524032
524033
524034
524035
524036
524037
524038
524039
524040
524041
524042
524043
524044
524045
524046
524047
524048
524049
524050
524051
524052
J24053
^^4054
~4055
524056
524057
BLOCK DATA BD24
C
C BLOCK DATA Subprogram 24: /NAMES1/./NAMES2/./STRI NG/
C
C BLOCK DATA 24 initializes character strings used in
C and zeroes pointers into character string arrays.
C
C Common block array subscripts:
C
C NAMETH (2) - NAMETH ( 1 ETH )
C NAMFLG06) - NAMFLG ( IFG )
C NAMMMR(2,2,8) - NAMMMR ( ICH, IG, IV )
C NAMRVP (4) - NAMRVP ( 1 RVP )
C NAMTEM (2) - NAMTEM ( ITEM )
C NOYES(2) - NOYES ( 
C USNAME(4,4) - USNAME ( ICH, 1 USD )
C IUSD(4) - IUSD ( ICT )
C
C Common block dictionary:
C
C Name Type Description
C ______ 	 	 	 	 	 	 	 	

C /NAMES1/:
C

,/USDATA/
prompts 6 output formats









)










C NAMFLG C*8 control flag names for prompts and error messages
C NAMMMR C*8 prompts for replacement AMAR _ JULMYR,
C NAMRVP C*4 name of RVP falling outside allowable
C
C /NAMES2/:
C
C NAMETH C*4 'eth' 6 'meth1 prefixes for (m)ethanol
C NAMTEM C*4 -'mini1 & 'max!1 prefixes for fuel tank
C
C /STRING/:
C
C NOYES C*4 character string for no/yes
C COMMA C*4 character string for comma
C PERIOD C*4 character string for period
C COLON C*l character string for colon
C
C /USDATA/:
C
C IUSD 1 pointers to the names of user supplied
C NUSD 1 number of names of user supplied one-t
by JDX & IV
range

range error messages
temp error messages










one-time data for run
ime data for this run
C USNAME R names of one-time data supplied by user
C
C Notes:
C
C BD 24 was modified for MOBILE4, adding /NAMES2/.
C BD 24 was modified for MOBILE4, removing TPDFLG and
C
C
CHARACTERS NAMFLG, NAMMMR
CHARACTERS USNAME
CHARACTER*4 NAMRVP, NAMETH, NAMTEM
CHARACTER*4 NOYES, COMMA, PER 1 OD
CHARACTER*! COLON
C




adding TEMFLG







-------
                   c-390



Appendix C: MOBILES Block Data 2k
May 5, 1989
521*058
524059
521*060
521*061
521*062
5214063
521*061*
521*065
521*066
521*067
521*068
521*069
521*070
521*071
521*072
521*073
521*071*
521*075
521*076
521*077
521*078
521*079
521*080
521*081
521*082
521*083
521*081*
521*085
521*086
521*087
521*088
521*089
521*090
521*091
521*092
521*093
521*091*
521*095
521*096
52A097
521*098
521*099
521*100
521*101
521.102
521*103
521*101*
521*105
521.106
521*107
521.108
521*109
521.110
521*111
521.11.2
521.113
521*111.
524115




C
C
C

















C

















C

C
C
C

C
C
C


C
C
C


COMMON /NAMES I/ NAMFLG (16) .NAMMMR (2, 2,8) .NAMRVP (1*)
COMMON /NAMES2/ NAMETH (2) .NAMTEM (2)
COMMON /STRING/ NOYES (2) , COMMA, PER 1 OD, COLON
COMMON /USDATA/ USNAME (l»,l») ,NUSD, 1 USD (If)

/NAMES1/: These names are used in input routines and in QUITER

DATA NAMFLG/
* ' TAMFLG ' ,
* ' SPDFLG ',
* ' VMFLAG ',
* ' MYMRFG ' ,
* ' NEWFLG ',
* ' IMFLAG ',
* ' ALHFLG ',
* ' ATPFLG ',
* ' RLFLAG ',
* ' LOCFLG ',
* ' TEMFLG ',
* ' OUTFMT ' ,
* ' PRTFLG ',
* ' IDLFLG ',
* ' NMHFLG ',
* ' HCFLAG '/

DATA NAMMMR/
* '1-10 for1,1 LDGV: ',
* ' 1-20 fo1 ,'r LDGV: ' ,
* ' -10 for1 , ' LDGT1: ' ,
* ' 1-20 fo1 ,'r LDGT1: ',
* . ' -10 for1,' LDGT2: ',
* ' 1-20 fo1 ,'r LDGT2:1 ,
* ' -10 for1 ,' HDGV: ' ,
* ' 1-20 fo1 ,'r HDGV: ' ,
* ' -10 for1,' LDDV: ',
* ' 1-20 fo1 ,'r LDDV: ' ,
* '1-10 for1,1 LDDT: ',
* ' 11-20 fo1 ,'r LDDT: ',
* ' 1-10 for1 ,' HDDV: ' ,
* ' 11-20 fo'.'r HDDV: ',
* ' 1-10 for' ,' MC: ' ,
* ' 11-20 fo'.'r MC: '/

DATA NAMRVP /' Base1 , ' I use1 , ' Ref 1 ' , ' Wthr ' /

/NAMES2/: These names are used in QUITER error messages.

DATA NAMETH/1 eth ' , 'meth ' /, NAMTEM/'mini ' , 'max! '/

/STRING1/:

DATA NOYES/ 'No ', 'Yes '/
DATA COMMA/1, '/, PERIOD/'. '/, COLON/1 :'/

/USDATA/:

DATA USNAME/' tamper i ',' ng and m' ,' isfuel i n1 ,' g rates ',
* ' -basic ' , '-exhaust ' , 'emi ssion1 , ' s rates ',

-------
  ?*•
•
                                            C-391

                        Appendix  C:  MOBILES Block  Data 2k                       May  5,  1989

521*116          *             '  mileag'.'e  accrua','1  distri ','butions  ',
 2M17          *             ' veh  reg', ' istratio' , 'n  di str i','butions  '/
 '8     C
 "21*119           DATA NUSD,IUSD/5*0/
521*120     C
521*121           END

-------
                          C-392



       Appendix C: MOBILES Block Data 25
May 5, 1989
525000
525001
525002
525003
525004
525005
525006
525007
525008
525009
525010
525011
525012
525013
525014
525015
525016
525017
525018
525019
525020
525021
525022
525023
525024
525025
525026
525027
525028
525029
525030
525031
525032
525033
525034
525035
525036
525037
525038
525039
525040
525041
525042
525043
525044
525045
525046
525047
525048
525049
525050
525051
525052
525053
525054
525055
525056
525057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
BLOCK DATA BD25
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
BLOCK DATA Subprogram 25: /ATPARl/,/ATPAR2/,/ATPAR3/,/ATPAR4/,/EGSCAL/,
/EMECAL/,/EVPDAT/, /LOOKUP/, /MYCODE/./MYUB I/ ,
/MYUB2/ ,/OMTCOM/,/SIZCAL/,/SIZPAR/,/TAMEQl/,
/TAMEQ2/,/TAMEQ3/,/TAMIDl/,/TAMID2/,/TAMID3/
/TAMOUT/./TAMOU2/

BLOCK DATA 25 def i
tampering code.

Common block array

AER(11,11,2,2)
AIR (2)
ATR(5,2)
BTR(9,2)
CAN (2)
CAP (2)
CAT (2)
CCEMI (7,4)
CSAE(12)
CSIZE(12,2)
DISTYP(8)
EFF(2,3,15)
EGR (2)
EGS(7,2)
EMEGR(4,3,3)
EMI (7,3,3)
EMIDL(3,4,3)
EMIOX(3,3,3)
EMI3W(3,3,3)
EMOX(3,3,3)
EM3W(3,3,3)
EVPAER(2,2)
EVPTGS(3,2,4)
GCONLY(20,4)
INDXCS(5,4)
LVTFLG(4)
MYCCEI (7,4)
MYEGR(4,4)
MYGTAM(4)
MY IDLE (3, 3)
MYTGS(11,6,4)
MYVTS(3,2,4)
ECK(2)
NTERMS (4)
OFFIDL(3,20,4)
OMTCF(20,3,8)
OMTTAM(20,3,4)
OPENLP(20,4)
PCV(2)
TAMBAG(3,3,20,4)
TAMDR(9,4,3,2)
TAMZML(9,4,2,2)
TCC(20,4)
TDU(20,4)
TGS(1 1,6,4)

nes and i ni t


subscr i pts:

- AER (
- AIR (
- ATR (
- BTR (
- CAN (
- CAP (
- CAT (
- CCEMI (
- CSAE (
- CSIZE (
- DISTYP (
- EGR (
- EGR (
- EGS (
- EMEGR (
- EMI (
- EMIDL (
- EMIOX (
- EMI3W (
- EMOX (
- EM3W (
- EVPAER (
- EVPTGS (
- TOB (
- INDXCS (
- LVTFLG (
- MYCCEI (
- MYEGR (
- MYGTAM (
- MY IDLE (
- MYTGS (
- MYVTS (
- ECK (
- NTERMS (
- OFFIDL (
- OMTCF (
- OMTTAM (
- OPENLP (
- PCV (
- TAMBAG (
- TAMDR (
- TAMZML (
- TCC (
- TDU (
- TGS (

ializes the common blocks created by the




IC11, IC11, IPG, IAY )
IAY )
IDBAG , IAY )
ID, IAY )
IAY )
IAY )
IAY )
IG4, IVTAM )
1C )
1C , IAY )
IDUSER ) (see ID defn in (1,999) )
ATPPGM, ICOL , IROW )
IAY )
(EG, IPG )
IG2, IB, IP )
IEG, IB, IP )
IGTIDL, 'lEG, IP )
IGTIDL, IEK, IP )
IGTIDL, IEK, IP)
IEK, IB, IP )
IEK, IB, IP )
IHG, IAY )
IG3, IHG, IVTAM )
IDX, IVTAM )
NT, IS )
IVTAM )
IG4, IVTAM )
IG2, IVTAM )
IVTAM )
IG , IEK )
IG1, IQG, IVTAM )
IG3, IHG, IVTAM )
NCKIAY )
IS )
IP, IDX, IVTAM )
IDX, IP, IV )
IDX, IP, IVTAM )
IDX, IVTAM )
IAY )
IB, IP, IDX, IVTAM )
ID, IVTAM, IGD, IM )
ID, IVTAM, IGD, IM )
IDX, IVTAM )
IDX, IVTAM )
IG1, IQG, IVTAM )

-------
                   C-393



Appendix C: MOBILES Block Data 25
May 5, 1989
525058
425059
•5060
325061
525062
525063
525061*
C 1 C A£ C
525005
525066
525067
525068
525069
525070
525071
525072
525073
52507**
525075
525076
525077
525078
525079
525080
525081
525082
525083
52508i»
425085
B5086
^25087
525088
525089
525090
525091
525092
525093
525091*
525095
525096
525097
525098
525099
525100
525101
525102
525103
525104
525105
525106
525107
525108
525109
525110
£25111
§>5M2
525113
525H*
525H5
C
C
C
C
C
C
C

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
THS(2,20,1*)
TNK (2)
TOB(20,1*)
Common block d
Name Type

/ATPAR1/:

ATPFLG = 2 =>

LAPSY 1
LAP1ST 1
LAPLST 1
LVTFLG 1







/ATPAR2/:

ATPFLG = 2 =>

ATPPGM 1

ATPFQT 1

CRATP R

DISTYP 1













/EGSCAL/:

AER R






TGS R
EGS R
- THS ( IFDS, IDX, IVTAM )
- TNK ( IAY )
- TOB (IDX, IVTAM )
ictionary:
Description



user enters EVPAER, AER 6 all of this block:

ATP start year
1st (oldest) model year of the ATP
last (youngest) model year of the ATP
which vehicle types covered by the ant i -tamper i ng program.
for each of the k (LDGV, LDGT1, LDGT2, HDGV) flags:
1 * not covered
2 = covered
all "l"s = same result as ATPFLG = 1 = no program - the ATP
effectiveness matrices are not applied.




user enters all of this block:

ATP inspection program type: value must be either
1 (central i2ed) or 2 (decentralized)
ATP inspection program frequency: value must be either
1 (annual) or 2 (biennial)
compliance rate for ant i -tamper ing program, value must
be from 0 to 100%, inclusive
flag indicating which ATP inspection type is conducted:
value must be either 1 (no) or 2 (yes):

DISTYP(l) = Air pump system disablement
DISTYP (2) = Catalyst removal
DISTYP(3) = Fuel inlet restrictor disablement (Requiring
catalyst replacement)
DISTYP (It) = Tailpipe lead deposit test (Requiring
catalyst replacement)
DISTYP (5) = EGR disablement
DISTYP (6) = Evaporative system disablement
DISTYP (7) = PCV system disablement
DISTYP (8) = Missing gas cap



anti-tamper i ng program effectiveness rates: ATPFLG = 2
11 X 11 matrix 1 - previous (up thru LAPSY), HC/CO
11 X 11 matrix 2 - previous, NOX
11 X 11 matrix 3 - subsequent (after LAPSY), HC/CO
11X11 matrix 1* - subsequent, NOX
row 1C of each 11 X 11 is multiplied times vector CSIZE to
get CSAE(IC) .
technology (pollution control equipment) group si.ze
tampering effects group size

-------
                   C-394



Appendix C: MOBILES Block Data 25
May 5, 1989
525116
525117
525118
525119
525120
525121
525122
525123
525124
525125
525126
525127
525128
525129
525130
525131
525132
525133
525131*
525135
525136
525137
525138
525139
525140
525141
525142
525143
525144
525145
525146
525147
525148
525149
525150
525151
525152
525153
525154
525155
525156
525157
525158
525159
525160
525161
525162
525163
525164
525165
525166
525167
525168
525169
525170
525171
525172
525173
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
OPENLP R

/EMECAL/:

EM3W R
EMOX R
EMEGR R
EMI R

/EVPDAT/:

EVPAER R



EVPTGS R
CCEMI R

Abbrevi at ions
ATP
ATER -
PREV -
SUBS -
fPSS -

/ATPAR3/:

AIR R
CAT R
ECK R

TNK R
EGR R

/ATPAR4/:

CAN R
PCV R
CAP R
EFF R

ATPPGM:



ID=1

ATPFQT=1
ATPFQT=2

ID=2




ID=3

DISTYP(2)=1

percentage equipped with open loop control technology



emission impact rates for 3~way catalysts
emission impact rates for oxidation catalysts
emission offsets for EGR failure
emission impact offset assuming 100% tampering rate



evap/PCV ATP effectiveness rates: ATPFLG = 2 => user supplies
one 2X2 matrix using 4F5-2 format:
(1,1) - previous evap (1,2) - subsequent evap
(2,1) - previous CC (2,2) - subsequent CC
evap/PCV technology group sizes
PCV ("CC") emission impact rates

-
Ant i -Tamper i ng Program
Ant i -Tamper i ng Effectiveness Rate
PREVious to the start of an ATP (IAY case = 1)
SUBSequent to the start of an ATP (IAY case = 2)
for PREV and SUBS cases



ATER for air pump disablement fPSS
ATER for catalyst removal fP£S
ATER for fuel neck/inlet disablement for PREV CAT (NCKIAY = 1)
PREV (NCKIAY = 2), and SUBS (NCKIAY = 3)
ATER for tank/tailpipe lead deposit tests fP&S
ATER for EGR disablement fP£S



ATER for evap canister disablement fPSS
ATER for PCV disablement fP6S
ATER for missing gas cap fP&S
array containing basic ATERs, as follows:

(1) (2) (1) (2) (1) (2) (1=CENTRALIZED 2=DECENTRAL 1 ZED)
PREVIOUS SUBSEQUENT
CAT PREVIOUS
pcunwcn _______ _^_____











	 	 .35 •**o -95 -95 CATALY5I INbr.



.00 .00 .00 .00 .00 .00 FUEL INLET INSP. W/0 CAT INSP


-------
                   C-395



Appendix C: MOBILES Block Data 25
May 5, 1989
52517**
525175
•5176
^5177
525178
525179
525180
525181
525182
525183
525181*
525185
525186
525187
525188
525189
525190
525191
525192
525193
52519**
525195
525196
525197
525198
525199
525200
£25201
|25202
^5203
525201*
525205
525206
525207
525208
525209
525210
525211
525212
525213
52521**
525215
525216
525217
525218
525219
525220
525221
525222
525223
525224
525225
525226
525227
•5228
P5229
525230
525231
C DISTYP (2) =2
C £ IMFLAG =2
C £ DISTYP (!*)=!
C
C DISTYP (2) =2
C £ IMFLAG =1
C £ DISTYP (!»)=!
C
C DISTYP (2) =2
C £ DISTYP(1.)=2
C
C ID=*t
C
C DISTYP(2)=1
C DISTYP (2) =2
C
C ID-5
C


C
C ID=6
C
C ATPFQT=1
C ATPFQT=2
C
C ID=7
C
C ATPFQT=1
C ATPFQT=2
C
C ID=8
C

C ___________
	
C
C
C /LOOKUP/:
C
C IVTAM, IQG, 1
C
C /MYCODE/:
C
C MY 1
C LDXSY 1
C
C LMYRVT 1
C
C IMDXSY 1
C
C
C IMKINK 1
C
C IDX, JDX and
C
C
C /MYUB1/:
C
C MYTGS 1
C MYEGR 1
•59 .30 .33 .17 -70 .70 FUEL INLET INSP. WITH I/M.



•33 .17 -17 -08 .30 .30 FUEL INLET INSP. W/0 I/M



•75 .38 .75 .38 .85 .85 WITH PLUMBTESMO CHECK




___ ___ nn nn nn nn DI iiMHTCCMn rucrk UITUI TAT IKICP

	 	 TC 7fl He Re u/n TAT IKICP




___ ___ nn nn nn nn cro IKICP




	 	 7n 7e 7n 7C TV/AD cvc IKICD AKIKIIIAI
	 — — _ . /U Op . /U O5 tVAr 5To 1 Nir ANNUAL
w _ t f) C 1 *)O DICklkllAI
.p/._y*P/«_y DlLNNIAL



— — - ___ 7n 7c 7n 7c orv cvc IKICD AKIKIIIAI






___ ___ en en en en ^AC TAD IKICP
___ ,y\J ou . y(J , y\j uAo LAr INor




IPG, JPGD, IHG & IGCSF are defined in the subscript diet!



model year being evaluated on current IDX loop pass
pointer: anti -tamper i ng program start year's location i
calendar year's 20 model year window; JDX ordering





































onary




n the

flag: 1 = IDX not in ATP my range 6/or vt not covered by ATP
2 = IDX is in ATP my range £ vt i s covered by ATP
pointer: inspection / maintenance program start year's
location in the calendar year's 20 model year window;
JDX ordering
flag: 1 = tampering rate curves straight;
2 = tampering rate curves have I/M kink
1 AY are defined in the subscript dictionary.




model year range upper bound years for ITAMPT indexing
•model year range upper bound years for ITAMPT index ins











TGS
EMEGR

-------
                   C-396




Appendix C: MOBILES Block Data 25
May 5, 1989
525232
525233
52523*4
525235
525236
525237
525238
525239
5252*40
5252*4!
5252*42
5252*43
5252*4*4
5252*45
5252*46
5252*47
5252*48
5252^9
525250
525251
525252
525253
525254
525255
525256
525257
525258
525259
525260
525261
525262
525263
52526*4
525265
525266
525267
525268
525269
525270
525271
525272
525273
52527*4
525275
525276
525277
525278
525279
525280
525281
525282
525283
525284
525285
525286
525287
525288
525289
C
C
C
C
C
C
' C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
. c
C
c
c
c
c
c
c
c
c
c
c
MYVTS

/MYUB2/:

MYCCEI

/OMTCOM/:

OMTCF


OMTTAM



/SIZCAL/:

ATR
TGSUSE
CSIZE
CSAE

/SIZPAR/:

NTERMS

INDXCS


/TAMEQ1/:

TAMZML
TAMDR
MYGTAM
IGT5
F50K



TAMFLG =


/TAMEQ2/:

BTR

/TAMEQJ/:

CUMALL





1



1



R


R





R
R
R
R



1

1




R
R
R
1
R



2 =>




R



R





Kinked rate 1

CUMNIM
CUMIM

R
R
model year range upper bound years for ITAMPT indexing EVPTGS



model year range upper bound years for ITAMPT indexing CCEMI



operating mode 6 temperature correction factor to the
composite emission factor. Calculated in BIGCFX. Passed to
function BEF to be multiplied times the CEF.
operating mode and temperature corrected tampering effect on
bag emissions. Calculated in BIGCFX. Passed to BEF to be
added to the (corrected for OMTCF 6 1 /M) CEF.



exhaust ef BTRs adjusted for equipment type 6 size
technology group size from TGS used on EFFGRP IQG loop pass.
effects category size
CSIZE modified by AER



number of overlap category sizes to be subtracted from
ATR (IS, 1 AY) to obtain CS 1 ZE (IS+7, 1 AY) .
pointer to the category sizes to be subtracted from
ATR(IS.IAY) to obtain CS 1 ZE (1 S+7, 1 AY)



basic tampering rate equation's zero mile level (intercept)
basic tampering rate equation's deterioration rate (slope)
ub of 1st myg (of 2) for each tampering rate vehicle class
myg location of DRs for "greater than 50,000 miles" interval
50,000 miles vmt, scaled by division by 10***4 (= 5-0)
in BEF = the LDGV 81+ HC/CO curves deflection point
in DISCAL = the IVTAM IGD IP curves deflection point

user replaces all of TAMZML 6 TAMDR with values read in by
ONESEC (1-time Data Section).



base tampering rate for standalone disablement cases



mileage accumulated segments for straight line subcases
(no kink from I/M startup):
(1) MY through ICY for DISATP cases 1, 2 £ 3:
all "previous", all "subsequent", overall p+s mileage
(2) MY through LAPSY for DISATP case 3: "previous" mileage

ines mileage accumulated sections:

from MY through ICYIM
after ICYIM through last year in segment (ICY or LAPSY)

-------
                   C-397



Appendix C: MOBILES Block Data 25
May 5, 1989
525290
525291
§25292
"25293
525294
525295
525296
525297
525298
525299
525300
525301
525302
525303
525304
525305
525306
525307
525308
525309
525310
525311
525312
525313
525314
525315
525316
525317
125318
^25319
525320
525321
525322
525323
525324
525325
525326
525327
525328
525329
525330
525331
525332
525333
525334
525335
525336
525337
525338
525339
525340
525341
525342
525343
125344
525345
525346
525347
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
GT50KA
GT50KN
GT50KI


/TAMID1/

EMI3W
EMIOX
EMIDL

/TAMID2/

MY IDLE
IEK

/TAMID3/

OFFIDL

/TAMOUT/

TAMBAG

THS
TDU
TCC

/TAMOU2/

TOB
R
R
R


:

R
R
R

•

R
R

•

R

:

R

R
R
R

:

R
mileage in excess of 50,000 on the CUMALL segment
mileage in excess of 50,000 on the CUMNIM segment
mileage in excess of 50,000 on the CUMNIM+CUMIM segments,
except if CUMNIM GE 50,000, GT50KI = CUMIM



idle emission impact rates for 3~way catalyst tampering
idle emission impact rates for oxidation catalyst tampering
idle emission impact offset assuming 100% tampering rate



idle tampering impact model year groups
catalyst type tampering effects group index



idle tampering offset



tampering effects on the exhaust bag data. Calculated in
subroutine TAMPER. Passed to BIGCFX to get OMTTAM.
percentage of given IV 6 MY subject to tampered HS loss
percentage of given IV & MY subject to tampered DU loss
tampered CC offset = affected fleet %age * tampered CC loss

































Probability (Evap Cannister is tampered 1 IVTAM is EC equipped)
for each IDX x IVTAM case. Unlike THS 6 TDU, TOB is not wgted





TDU





R
Local array

MYTGSH(1
MYTGSLO
TDRIM(9,
TDRNON (9
TGSHDVd
TGSLDVO


1,6)
1,6,
4,3)
by PCTEQP = the Probability (IVTAM is EC equipped), because i
is used to figure the tampering impact on OnBoard Evaporative
Cannisters, where it is assumed that if OB is in effect in a
then 100% of the vehicle types covered are OB EC equipped.

percentage of given IV & MY subject to tampered gas caps
subscr ipts:

- MYTGSH ( IG1, IQG )
3) - MYTGSL ( IG1, IQG, IVTAM )
- TDRIM (ID, IVTAM, IGD )
t

MY








,4,3) - TDRNON ( ID, IVTAM, IGD )
1,6)
1,6,

Local array

Name


MYTGSH
MYTGSL
TDRIM
TDRNON
TGSHDV
TGSLDV


Type


1
1
R
R
R
R

- TGSHDV ( IG1, IQG )
3) - TGSLDV ( IG1, IQG, IVTAM )

di ct ionary:
-
Description


my range ub years for HDGV for ITAMPT indexing TGS
my range ub years for LDGV/T1/T2 for ITAMPT indexing TGS
TAMDRs for the I/M case
TAMDRs for the Non-l/M case
technology group sizes for HDGV
technology group sizes for LDGV/T1/T2
















-------
                   C-398



Appendix C: MOBILE4 Block Data 25
May 5, 1989
525348
52531*9
525350
525351
525352
525353
525354
525355
525356
525357
525358
525359
525360
525361
525362
525363
525364
525365
525366
525367
525368
525369
525370
525371
525372
525373
52537**
525375
525376
525377
525378
525379
525380
525381
525382
525383
525384
525385
525386
525387
525388
525389
525390
525391
525392
525393
52539^
525395
525396
525397
525398
525399
525^*00
5251*01
5251*02
5251*03
5251*0**
•5251*05
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C





















Notes:

The following common blocks defined and used elsewhere in MOBILES contain
data used by the tampering effects section:

/CUMCOM/: CUMMIL - cumulative mileage array (JDX.IV)
/FLAGS2/: IMFLAG - I/M program flag
/IMPAR1/: ICYIM - I/M program start year
MODYR1 - first model year covered by I/M program
MODYR2 - last model year covered by I/M program
1 LOT - vehicle types covered by I/M program

See the block data sections for these commons for more information on their
variables / arrays.

FORTRAN limits the number of continuation lines to 19- Use equivalenced
local arrays to initialize common block arrays if this limit will be
exceeded otherwise. This is true throughout all the block datas.

MOBILE4 added code to include fuel injected/carbureted tampering
rates. Also added new tampering factor (cap + evp) . 'ID' was
increased to 8.

MOBILES replaced EVPEMI , MYVE 1 , IH and TAMEVP with CCEMI, MYCCEI, THS,
TDU and TCC, in support of the Evaporative Study II change requirements.

BD 25 was modified in MOBILES to add the IGD dimension to TAMZML 6 TAMDR.
BD 25 was modified for MOBILE!* to add > 50K case to IGD (IGD = 3) •
BD 25 was modified for MOBILES for AER/EVPAER internal generation.
BD 25 was modified for MOBILE!* for the new mi sf uel i ng algorithm and the
new tampering intercepts and slopes (TAMZML £ TAMDR).
BD 25 was modified for MOBILE** for new EMI3W, EMIOX, EMIDL, and
MY IDLE values and to add /TAMOU2/.


INTEGER ATPPGM.ATPFQT.DISTYP

COMMON /ATPAR1/ LAPSY, LAP1ST, LAPLST, LVTFLG (!»)
COMMON /ATPAR2/ ATPPGM, ATPFQT.CRATP.D 1 STYP (8)
COMMON /ATPAR3/ Al R (2) , CAT (2) , ECK (3) ,TNK (2) , EGR (2)
COMMON /ATPAR4/ CAN (2) , PCV (2) ,CAP (2) , EFF (2, 3, 15)
COMMON /EGSCAL/ AER (1 1 , 1 1 ,2,2) ,TGS (1 1 ,6,1*) ,EGS(7,2) .OPENLP (20,!*)
COMMON /EMECAL/ EM3W (3,3, 3) , EMOX (3, 3, 3) .EMEGR (1*,3,3) , EMI (7,3, 3)
COMMON /EVPDAT/ EVPAER (3,2) , EVPTGS (3, 2,!*) , CCEMI (7,4)
COMMON /LOOKUP/ 1 VTAM, IQG, 1 PG, JPGD, IHG, IGCSF
COMMON /MYCODE/ MY, 1 DX, JDX, LDXSY, LMYRVT, 1 AY, IMDXSY, IMKI NK
COMMON /MYUB1/ MYTGS (1 1 ,6,4) .MYEGR (4,4) .MYVTS (3,2, 4)
COMMON /MYUB2/ MYCCEI (7, 4)
COMMON /OMTCOM/ OMTCF (20,3,8) .OMTTAM (20,3,4)
COMMON /SIZCAL/ ATR (5,2) .TGSUSE, CS IZE (12,2) ,CSAE (12)
COMMON /SIZPAR/ NTERMS (4) , 1 NDXCS (5,4)
COMMON /TAMEQ1/ TAMZML (9,4,2,2) , TAMDR (9,4,3,2) .MYGTAM (4) .IGT5.F50K
COMMON /TAMEQ2/ BTR(9,2)
COMMON /TAMEQJ/ CUMALL, CUMN IM,CUMIM,GT50KA,GT50KN,GT50KI
COMMON /TAMID1/ EMI 3W (3,3,3) . EMI OX (3,3,3) , EMI DL (3,4,3)
COMMON /TAMID2/ MYIDLE (3,3) , 1 EK
COMMON /TAMID3/ OFF 1 DL (3,20,4)
COMMON /TAMOUT/ TAMBAG (3,3,20,4) ,THS(2,20,4) , TDU (20, 4) , TCC (20, 4)

-------
                   C-399



Appendix C:  MOBILES Block Data 25
May 5, 1989
525406
£25407
•25408
^25409
525410
525411
525412
525413
525414
525415
525416
525417
525418
525419
525420
525421
525422
525423
525424
525425
525426
525427
525428
525429
525430
525431
525432
325433
§25434
^25435
525436
525437
525438
525439
525440
525441
525442
525443
525444
525445
525446
525447
525448
525449
525450
525451
525452
525^53
525451*
525455
525456
525^57
525458
325459
R5460
f2546l
525462
525463

C



C






C
C
C

C
C
C

C
C
C

C
C
C

C
C
C
















C
C
C
C
C
C
C
C
C
C
C
COMMON /TAMOU2/ TOB (20,4) ,GCONLY (20,4)

DIMENSION MYTGSL (11, 6, 3) ,MYTGSH(11 ,6)
DIMENSION TGSLDV(11,6,3) ,TGSHDV(H ,6)
DIMENSION TDRNON(9,4,3) , TDRIM (9,4, 3)

EQUIVALENCE (MYTGS (1 , 1 , 1) .MYTGSL (1 , 1 , 1) )
EQUIVALENCE (MYTGS (1 , 1 ,4) .MYTGSH (1 , 1) )
EQUIVALENCE (TGS (1,1,1) .TGSLDV (1 , 1 , 1) )
EQUIVALENCE (TAMDR (1 , 1,1,1) ,TDRNON (1,1,1))
EQUIVALENCE (TAMDR (1 , 1 , 1 ,2) , TDRIM (1 , 1 , 1) )
EQUIVALENCE (TGS (1,1, 4) .TGSHDV (1 , 1) )

/ATPAR1/: values can be replaced by user entered values.

DATA LAPSY,LAP1ST,LAPLST/3*2020/,LVTFLG/4*1/

/ATPAR2/: values can be replaced by user entered values.

DATA ATPPGM,ATPFQT,DISTYP/10*1/,CRATP/100./

/ATPAR3/:

DATA AIR,CAT,ECK,TNK,EGR/11*0./

/ATPAR4/:

DATA CAN,PCV,CAP/6*0./

Array EFF: continuation line code corresponds to ID:

DATA EFF/ .
1 .00,. 00, .80,. 40, .80,. 80,
1 .00, .00, .70,. 35, .70,. 70,
2 .00, .00, .95,. 48, .95,- 95,
3 . 00 , . 00 , . 00 , . 00 , . 00 , . 00 ,
3 -59, .30, .33, .17, .70, .70,
3 .33, -17, .17, .08, .30, .30,
3 .75, .38, .75, -38, .85, .85,
4 . 00 , . 00 , . 00 , . 00 , . 00 , . 00 ,
4 .00,. 00, .75,. 38, .85,. 85,
5 .00,. 00, .00,. 00, .00,. 00,
6 .00, .00, .70, .35, -70, .35,
6 .00, .00, .57, .29, .57, .29,
7 .00, .00, .70, .35, .70, .35,
7 .00, .00, .56,. 28, .56,. 28,
8 .00, .00, .50,. 25, -50..25/

/EGSCAL/: TGS never changes, EGS and OPENLP are always computed
during execution.

AER is initialized to 4 1 1 X 11 matrices with l.'s down the major diagonal
and O.'s for all other cells. The continuation line code is:
1 = previous (before ATP start year) , HC/CO
2 = previous, NOX
3 = subsequent (at or after ATP start year) , HC/CO
4 = subsequent, NOX


-------
                    C-l*00
Appendix C: MOBILE**  Block Data 25
May 5,  1989
5251*61*
5251*65
5251*66
5251*67
5251*68
5251*70
5251*71
525W2
5251*73
525W1*
5251*75
5251*76
5251*77
5251*79
525480
5251*81
525482
5251*83
5251*81*
525485
5251*86
5251*87
5251*88
5251*89
5251*90
5251*91
5251*92
5251*93
5251*91*
525495
5251*96
5251*97
525498
5251*99
525500
525501
525502
525503
525501*
525505
525506
525507
525508
525509
525510
5255H
525512
525513
5255H*
525515
525516
525517
525518
525519
525520
525521
C
C
C
C
C
C
C
C
C
C
C
C






C






C






C







C

C
C
C
C
C
C
DATA AER/
2 l.,ll*0., l.,ll*0., l.,ll*0., l.,ll*0., l.,ll*0., l.,ll*0.,
3 l.,li*0., l.,ll*0., l.,ll*0., l.,ll*0., 1.,
1* l.,ll*0., l.,ll*0., l.,ll*0., l.,ll*0., l.,ll*0., l.,ll*0.,
TGS has up to 10 percentages for each vehicle type / technology
combination. The remaining cells are dummied out with zeroes.
For each IVTAM, the continuation line technology code is:
1 = ai r pump onl y
2 = air pump / catalyst
3 = catalyst only
1* = EGR only
5 = EGR / 3-way catalyst
6 = no EGR / 3~way catalyst
DATA TGSLDV/
LDGV
1 .00
2 .00
3 .00
1+ .00
5 .00
6 .00
LDGT1
1 .00
2 .00
3 .00
1* .00
5 .00
6 .00
LDGT2
1 .00
2 .00
3 .00
1* .00
5 .00
6 .00
HDGV
DATA
1 .00
2 .00
3 .00
1* .00
5 .00
6 .00

DATA

/EMECAL/


Each of
The cont

, .05
, .30
, .50
, .80
, .07
, .01

, .05
, .30
, .1*0
, .80
, .05
, .00

, .00
, .50
, .50
, .30
, .10
, .00


, .10,
, .20,
, -55,
, .90,
, .85,
, .03,

, .10,
,. .20,
, .50,
, .90,1
, .10,
, .00,

, .00,
, -60,
, .1*0,
,1.00,
, .30,
, .00,


•30, .15, •
.25, .65, .
.65, .30, .
.05, .00, .
.93, -90, .
.07, .10, .

.30, .10, .
.1*0, .50, .
.55, .1*0, .
.00, .95, .
.20, .30, .
.00, .00, .

.00, .00, .
•75, .55, •
.25, .1*5, .
.90, .70, .
.40, .50, .
.00, .00, .


10,
75,
25,
00,
00,
00,

00,
60,
50,
90,
1*0,
00,

00,
50,
50,
60,
85,
00,


.05,
.70,
• 30,
.00,
.00,
.00,

.00,
• 75,
.1*0,
.80,
.50,
.00,

.00,
.00,
.00,
.50,
.00,
.00,


.00,
.60,
.1*0,
.00,
.00,
.00,

.00,
.55,
.25,
.70,
• 95,
.00,

.00,
.00,
.00,
.15,
.00,
.00,


.00,
.1*0,
.60,
.00,
.00,
.00,

.00,
.50,
.1*5,
.60,
.00,
.00,

.00,
.00,
.00,
.00,
.00,
.00,


.00
• 30
.70
.00
.00
.00

.00
.00
.50
.50
.00
.00

.00
.00
.00
.00
.00
.00


, .00,
, .00,
, .00,
, .00,
, .00,
, .00,

, .00,
, .00,
, .00,
, .05,
, .00,
, .00,

, .00,
, .00,
, .00,
, .00,
, .00,
, .oo/

TGSHDV/
, .07
, .30
, .05
, .95
, .15
, .00

, .00,
, .00,
, .00,
,1.00,
, .25,
, .00,

EGS/ll**0.0/t


: EM3W, EMOX
EMI

the 1*
i nuat
(2-5, IB

arrays
.00, .00, .
.00, .00, .
.10, .25, .
.85, .75, .
.00, .00, .
.00, .00, .

00,
00,
00,
00,
00,
00,

.00,
.00,
.00,
.00,
.00,
.00,

.00,
.00,
.00,
.00,
.00,
.00,

.00,
.00,
.00,
.00,
.00,
.00,

.00
.00
.00
.00
.00
.00

, .00,
, .00,
, .00,
, .00,
, .00,
, .oo/

OPENLP/80*0.0/

, EMEGR and
,IP) values

is ordered

EMI
are

1st


(1/6/7, IB
computed

by


, IP)
dur i

pol lutant


never change.
ng execution.

and

then by bac
ion line code is thus:

-------
                   C-ltOl
Appendix C: MOBILES Block  Data  25
May 5, 1989
525522
K5523
552i«
5525
525526
525527
525528
525529
525530
525531
C "5 C C 2 *)
525532
525533
525531*
525535
525536
525537
525538
525539
5255AO
5255U1
5255U2
52551*3
52551*1»
52551»5
52551*6
52551*7
52551*8
£2551*9
B5550
f25551
525552
525553
52555i»
525555
525556
525557
525558
525559
525560
525561
525562
525563
525561*
525565
525566
525567
525568
525569
525570
525571
525572
525573
52557**
£25575
«576
^5577
525578
525579
C
C
C
C
C
C
C
C
C
C




C




C
C
C




C




C
C
C
C
C
C
C

C
C
C
C
C
C
C
C
C





C
C
C

H = HC
C = CO
N » NOX

Within each line the values are blocked by bag 1,2,3 in that order.
Within each block the values are ordered by disablement effects group
for EM3W, EMOX AMD EMI or by model year group for EMEGR.

Bag 1 Bag 2 Bag 3
AirP CatR Misf AirP CatR Misf AirP CatR Misf
DATA EM3W/
H 1.36, 1.80, 1.1*2, 0.765, 2.25, 1-56, 0.611, 1.8l, 1.21,
C 31.796,16.32, 8.08, l8.207.lU.il, 6.60, 18.25,11.07, 5-37,
N 0.00, 1.149, 0.61*. 0.00, 1.36, 0.1*5, 0.00, 1.83, 0.7V

DATA EMOX/
H 1.80, 2.31, 2.30, 1.37, 3-1*0, 2.57, 1.01*, 2.95, 2.1*0,
C 31*. 67, 1*1. 1*0, 1*6. 50, 33.90,28.97,13.13, 21.28,16.06,16.62,
N 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, O.OO/

Column headings above only apply to EM3W and EMOX.

DATA EMEGR/
H 1**0.00, 1**0.00, 1**0.00,
C 1**0.00, 1**0.00, 1**0.00,
N 1.1*0, 3- 82,1*. 11, 1.36, 0.96,2.63,2.68,1.19, 1.5l*,l*.21,l*.53,1.21/

.DATA EMI/
H 1.80,6*0.00, 1.37,6*0.00, 1 .01*. 6*0. 00,
C 3l»-67,6*0.00, 33-90,6*0.00, 21.28,6*0.00,
N 5*0.00,3.02,2.12, 5*0.00,3.1*6,1.85, 5*0. 00, 3. 55, 2. 16/

/EVPDAT/: EVPTGS and CCEMI never change. The user will be allowed to
replace the EVPAER rates with values from the One-time Data
section.

All the evap and PCV effectiveness rates start at the neutral value, 1.

DATA EVPAER/6*!./

EVPTGS continuation line code is:
1 = LDGV
2 = LDGT1
3 = LDGT2
1* = HDGV
Each line is divided into evap and PCV blocks. Each block is filled with
model year group values and dummy zeroes.

DATA EVPTGS/
1 .00,1.00, .00, .00, .00,1.00,
2 .00,1.00, .00, .00, .00,1.00,
3 .00, .05,1.00, .00,1.00, .00,
1* .00,1.00, .00, .00,1.00, .OO/

The CCEMI continuation code is IVTAM (= EVPTGS code above).

DATA CCEMI/

-------
                   C-402




Appendix C: MOBILES Block Data 25
May 5, 1989
525580
525581
525582
525583
525581.
525585
525586
525587
525588
525589
525590
525591
525592
525593
52559^
525595
525596
525597
525598
525599
••525600
525601
525602
525603
52560i»
525605
525606
525607
525608
525609
525610
525611
525612
525613
5256 14
525615
525616
525617
525618
525619
525620
525621
525622
525623
525621.
525625
525626
525627
525628
525629
525630
525631
525632
525633
525631*
525635
525636
525637




c
c
c


c
c
c
c
c
c
c
c
c
c
c

c






c






c






c







c
c
c
c
c
c
c
c
1 0.00, 1.28, 1.27, 1.26, 1.24, 1.22, 1.21,
2 0.00, 1.28, 1.27, 1.21*. 1.23, 0.00, 0.00,
3 0.00, 1.28, 1.27, 1.21*. 1.23, 0.00, 0.00,
1» 0.00, 1.3*«, 1.29, 0.00, 0.00, 0.00, O.OO/

/LOOKUP/ 6 /MYCODE/ are all indices computed during execution.

DATA IVTAM, IQG, IPG.JPGD, IHG, IGCSF/6*!/
DATA MY, IDX.JDX.LDXSY.LMYRVT, IAY, IMDXSY, IMKI NK/2020, 7*1/

/MYUB/: the model year upper bound pointers never change.

MYTGS continuation line code corresponds to the IQG code:
1 = ai r pump on) y
2 = air pump / catalyst
3 = catalyst only
4 = EGR only
5 = EGR / 3-way catalyst
6 = no EGR / 3~way catalyst

DATA MYTGSL/
LDGV
1 1967, 1971 , 1972, 197*., 1975, 1977, 1979,2020,0000,0000,0000,
2 1974, 1976, 1977, 1979, 1980, 1981, 1982, 1985, 1986, 2020, 0000,
3 1974, 1975. 1976, 1979, 1980, 1981 , 1982, 1985, 1986,2020,0000,
*» 1972, 1973. 1980, 1983,2020,0000,0000,0000,0000,0000,0000,
5 i 979 , i 980 , i 983 , i 986 , 2020 , oooo , oooo , oooo , oooo , oooo , oooo ,
6 1 98 1 , 1 982 , 1 983 , 1 986 , 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
LDGT1
1 1967, 1971 , 1972, 197*., 1980,2020,0000,0000,0000,0000,0000,
2 1974, 1976, 1978, 1980, 1981 , 1983, 1985, 1987,2020,0000,0000,
3 1974, 1975, 1976, 1978, 1980, 1981 , 1983, 1985, 1987,2020,0000,
4 1972, 1973, 1978, 1980, 1981 , 1982, 1983, 1981., 1985, 1986,2020,
5 1980, 1981 , 1982, 1983, 1981., 1985, 1986,2020,0000,0000,0000,
6 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
LDGT2
1 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
2 1978, 1981 , 1983, 1985, 1987,2020,0000,0000,0000,0000,0000,
3 1978,1981,1983,1985,1987,2020,0000,0000,0000,0000,0000,
4 1972, 1978, 1982, 1983, 1981., 1985, 1986,2020,0000,0000,0000,
5 1 982 , 1 983 , 1 984 , 1 985 , 1 986 , 2020 , OOOO , OOOO , OOOO , OOOO , OOOO ,
6 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO/
HDGV
DATA MYTGSH/
1 1 986 , 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
2 1986,2020,0000,0000,0000,0000,0000,0000,0000,0000,0000,
3 i 98 i , i 986 , i 987 , i 989 , 2020 , oooo , oooo , oooo , oooo , oooo , oooo ,
4 1 984 , 1 985 , 1 986 , 1 989 , 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO ,
5 i 986 , i 989 , 2020 , oooo , oooo , oooo , oooo , oooo , oooo , oooo , oooo ,
6 2020 , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO , OOOO/

MYEGR keys only on vehicle type, even though EMEGR varies with pollutant
and bag number. Also, cell 2 for LDGT2 is a dummy, since there is no
NOX 3.1 standard my range for LDGT2. Otherwise, the 4 ranges for each
IVTAM correspond to the no standard, 3.1, 2.0 and 1.0 cases.
The continuation line code is the IVTAM code:
1 = LDGV
2 = LDGT1

-------
                    C-*»03



Appendix C: MOBILE** Block Data 25
May 5, 1989
525638
425639
m>5t>i*o
3256*11
5256*»2
5256*0
5256U
52561.5
5256*46
52561.7
52561.8
5256*.9
525650
525651
525652
525653
52565**
525655
525656
525657
525658
525659
525660
525661
525662
525663
52566*.
£25665
125666
^25667
525668
525669
525670
525671
525672
525673
52567*»
525675
525676
525677
525678
525679
525680
525681
525682
r ^ r£ O 7
POOO.J
52568*.
525685
525686
525687
525688
525689
525690
,525691
•5692
^5693
52569**
525695
C
C
C





C
C
C
C





C
C
C





C
C
C

C
C
C

C
C
C


C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
3 = LDGT2
*» = HDGV

DATA MYEGR/
1 1970976,1980,2020,
2 1970978,1987,2020,
3 1978,1978,1987,2020,
*t 1989,2020,0000,0000/

MYVTS continuation line code is also the IVTAM code. Each line is
divided into the evap and PCV blocks.

DATA MYVTS/
1 1970,2020,0000, 1962,1967,2020,
2 1970,2020,0000, 1962,1967,2020,
3 1970,1978,2020, 1967,2020,0000,
*» 198*», 2020, 0000, 1967,2020,0000/

MYCCEI continuation code is IVTAM (= EVPTGS code above).

DATA MYCCEI/
l 1963,1970,1970977,1979,1980,2020,
2 1963, 1977, 1979, 1980,2020,0000,0000,
3 1963, 1977, 1979, 1980,2020,0000,0000,
*» 1963,198o,2020,*t*0/

/OMTCF/: all values are computed during execution by BIGCFX.

DATA OMTCFA80*! .0/,OMTTAM/2*.0*0.0/

/SIZCAL/: values are all computed during execution.

DATA ATR .TGSUSE , CS 1 ZE , CSAE A7*0 .0/

/SIZPAR/: values never change.

DATA NTERMS/5,5,3,3/
DATA INDXCS/1,2,3,**,5,1,*»,5,6,7,2,*.,6,0,0,3,5,7,0,0/

/TAMEQ1/: TAMZML and TAMDR have hardcoded values that can be replaced with
user supplied values in the One-time Data input section.

Observe IGD's definition differs between its use in TAMZML versus in TAMDR:

MYG Arrays IVTAM MY Range VMT Range


1 Both LDGV/T 19*»1 - 1980
HDGV 1981 - 2020
2 TAMZML LDGV/T 1981 - 2020
HDGV >2020
TAMDR LDGV/T 198! - 2020 <= 50,000
>2020 <= 50,000
3 TAMDR LDGV/T 1981 - 2020 > 50,000
>2020 > 50,000

Continuation line code for TAMZML and TAMDR is IVTAM.

Each line contains the 9 disablement intercepts (TAMZML) and deterioration-

-------
                                             C-l*Ol»
 525696
 525697
 525698
 525699
 525700
 525701
 525702
 525703
 525701*
 525705
 525706
 525707
 525708
 525709
 525710
 525711
 525712
 525713
             Appendix  C:  MOBILE!* Block Data 25

C  rates  (TAMDR) for the  given vehicle type, myg and  I/M  case.
C
      DATA TAMZML/
                                                                                   May 5,  1989
 525715
1525716
 5257U
 525718
 525719
 525720
 525721
 525722
 525723
 52572^
 525725
 525726
 525727
 525728
 525729
 525730
 525731
 525732
 525733
 52573^
 525735
 525736
 525737
 525738
 525739
 5257^0
 52571*1
 52571*2
 52571»3
 52571*1*
 5257^5
 5257^6
 525747
 5257^8
 5257^9
 525750
 525751
 525752
 525753
C         AIRS   CATS    NCKS   TNKS   EGRS
C  Non-l/M 6 MYG 1
     1  -.0556,  .0362,  .0183,  .0109, .0673,-
     2    .2155,  .2267,  .1462,-.0375, .1037,-
     3    .2155,  -2267,  .11*62,-.0375, .1037,-
     k    .2155,  .2267,  .1462,-.0375, .1037.-
C  Non-l/M 6 MYG 2
     1  -.0157,-.0071,-.0068,  .011*0,-.0051*,-
     2  -.0274,-.0100,  .0087,  .0231,-.0139,'
     3  -.0271*,-.oioo,  .0087,  .0231,-.0139,-
     i»  -.0271*,-.oioo,  .0087,  .0231,-.0139,-
C  I/M &  MYG 1
     1  -.01*73,-.0062,  .0163,  .01*31*, .0206,-
     2    .2015,-.0081,  .01*37, -.0705, .0880,-
     3    .2015,-.0081,  .01*37,-.0705, .0880,-
     1*    .2015,-.0081,  .01*37,-.0705, .0880,-
C  I/M 6  MYG 2
     1  -.0106,-.0058,-.0002,  .0115, .0002,-
     2  -.001*1*.  .0085,  .0059,  .0097, .0068,-
     3  -.001*1*.  .0085,  .0059,  .0097, .0068,-
     l»  -.001*1*.  .0085,  .0059,  .0097, .0068,-
C
      DATA TDRNON/
C         AIRS    CATS    NCKS    TNKS   EGRS
C  Non-l/M 6 MYG 1
     1 .03819,.0151»6,.02393, .00171, .01552,
     2 .02630,.02260,.03681*. .00857,.02175,
     3 .02630,.02260,.03681*. .00857,.02175,
     1* .02630,.02260,.03681*. .00857, .02175,
C  Non-l/M 6 MYG 2  & vmt <= 50K
     i .00961,.00571*,.001*96, .00101 ,.00671*.
     2 .02619, .02071*,.00926,-.00212,.01 371*,
     3 .02619, .02071*, .00926,-.00212, .01371*,
     1* .02619,.02071*,.00926,-.00212, .01371*,
C  Non-l/M 6 MYG 2  & vmt > 50K  (release Ml*
     1 .03819,.0151*6,.02393, .00171,.01552,
     2 .02630,.02260,.03681*. .00857,-02175,
     3 .02630,.02260,.03681*. .00857,.02175,
     1* .02630,.02260,.03681*. .00857,.02175,
C
      DATA TDRIM/
C         AIRS    CATS    NCKS    TNKS   EGRS
C  I/M &  MYG 1
     1 .02911*,.00960,. 01188, -.00216,. 011*1*9,
     2 .01561,.0331*2,.02806, .01076,.01078,
     3 .01561,.0331*2,.02806, .01076,.01078,
     1* .01561,.0331*2,.02806. .01076,.01078,
C  I/M &  MYG 2  6 vmt <= 50K
     1 .0071*1*,.00338,.00059, .00009,.00286,
     2 .00871*,.00618,.00380, .00551*,.00370,
     3 .00871*,.00618,.00380, .00551*,.00370,
     4 .00871*,-00618,.00380, .0055A,.00370,
C  I/M 6  MYG 2  & vmt > 50K
     i .02911*,.00960, .01188,-.00216,.olUg,
     2 .01561,.0331*2,.02806, .01076,.01078,
  EVAP   PCVS   CAPS   MISF

 .0206,-.0059,-.0186,  .0292,
 .0185,-.0022,-.0121,  .1087,
 .0185,-.0022,-.0121,  .1087,
 .0185,-.0022,-.0121,  .1087,

 .0206,-.0059,-.0186,  .0072,
 .0185,-.0022,-.0121,  .0318,
 .0185,-.0022,-.0121,  .0318,
 .0185,-.0022,-.0121,  .0318,

 .0063, -.0021*,-. 0077,  -0597,
 .0186,-.0068,-.0213,-.0268,
 .0186,-.0068,-.0213,-.0268,
 .0186,-.0068,-.0213,-.0268,

 .0063,-.0021*.-.0077,  .0113,
 .0186,-.0068,-.0213,  .0156,
 .0186,-.0068,-.0213,  .0156,
 .0186,-.0068,-.0213,  .0156/
  EVAP   PCVS   CAPS    MISF

.01151*,. 00315,- 0.1301,. 02561*,
.01801, .001*19, .01832, .Ol»5l*l,
.01801,.001*19,.01832, .Ol»5l*l,
.018oi,.001* 19,.01832, .01*51*1,
.01151*,.00315,
.01801,.001*19,
.01801,.00419,
.01801,.001*19,
will use MYG  1
.01151*,.00315,
.01801,.001*19,
.01801,.001*19,
.01801,.001*19,
.01301,.00597,
.01832, .00711*.
.01832,.00711*.
.01832, .00711*.
 rates as >50K dr' s)
.01301, .02561*,
.01832, .
.01832, .
.01832,.01*51*1/
  EVAP   PCVS    CAPS    MISF

 00601,.00180,.00752,.00972,
 01 3l»9,.00315,.011*81*,.03882,
 OlS^S. .00315, .011*81*. .03882,
 0131»9,-00315,.011*81*..03882,

 00601,.00180,.00752,.00068,
 013^9, .00315, .011*81*. .00931*.
 013^9, .00315, .011*81*. .00931*,
 0131*9, .00315, .011*81*. .00931*.

 00601,.00180,.00752,.00972,
 0131*9, .00315, .011*81*, .03882,

-------
                   c-i*05
Appendix C: MOBILES  Block  Data  25
May 5, 1989
52575**
625755
§5756
525757
525758
525759
525760
525761
525762
525763
52576*4
525765
525766
525767
525768
525769
525770
r n r TT i
PO// 1
525772
525773
525774
525775
525776
525777
525778
525779
525780
,525781
fe5782
f25783
525781*
525785
525786
525787
525788
525789
525790
525791
525792
525793
525791*
525795
525796
525797
525798
525799
525800
525801
525802
525803
525804
525805
525806
525807
fc58o8
^5809
525810


C

C
C
C
C

C
C
C
C
C
C
C
C






C




C




C
C
C
C




C

C
C
C

C
C
C
C

C
C
C

C

3 .01 561,. 0331*2, .02806, .01076, .01078, .01 31*9,. 0031 5, .011*8*4, .03882,
k .0156l,.033l*2, .02806, .0 1076,. 01 078,. 0 131*9, .00315, .01 1*81*,. 03882/

DATA MYGTAM/ 1 980 , 1 980 , 1 980 , 2020/ , 1 GT5/3/ , F50K/5 • O/

/TAMEQ2/: contains BTR, whose rates are calculated during execution.
/TAMEQ3/: contains the cumulative mileage segments calculated in DISIMP.

DATA BTR/ 1 8*0 . / , CUMALL , CUMN 1 M, CUM 1 M, GT50KA , GT50KN , GT50K 1 /6*0 .O/

/TAMID1/: EMI3W and EMIOX never change. EMIDL values are calculated
during execution.

The continuation code for all 3 arrays is IP. The disablement effects groups
are indicated for EMI3W and EMIOX.

Air Pump Catalyst Removed Misfueling


DATA EMI3W/
H o.oo, 8.97, 11.71, o.oo, 1*2.83, o.oo, o.oo, 9.70, o.oo,
C 0.00,177.1»3,215.29, 0.00, 121*. 82, 0.00, 0.00, U.18, 0.00,
N 0.00, 0.00, 0.09, 0.00, 2.31, 0.00, 0.00, 0.13, O.OO/

DATA EMIOX/
H o.oo, 27.38, 27.38, o.oo, 1*2.83, o.oo, o.oo, 9.70, o.oo,
C 0.00,506.08,506.08, 0.00, 121*. 82, 0.00, 0.00, 11*. 18, 0.00,
N 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, O.OO/

DATA EMIDL/
H 3*0., 3*0., 3*0., 3*0.,
C 3*0., 3*0., 3*0., 3*0.,
N 3*0., 3*0., 3*0., 3*0. /

/TAMID2/: contains model year group upper bound pointers and catalyst
effects groups. The continuation code = IEK.

DATA MY IDLE/
1 1967, 1985, 2020,
2 1971», 2020, 0000,
3 19714, 2020, OOOO/

DATA IEK/1/

/TAMID3/: all values are computed during execution - OFFIDL by BAGEME

DATA OFFIDL/21»0*0.00/

/TAMOUT/: all values are computed during execution - TAMBAG by BAGEME
and THS, TDU 6 TCC by EVPEME.

DATA TAMBAG/720*0.0/,THS,TDU,TCC/320*0.0/

/TAMOU2/: all values are computed during execution by EVPEME.

DATA TOB,GCONLY/160*0.0/

END

-------
                   C-406
Appendix C: MOBILES Block Data 26
May 5, 1989
526000
526001
526002
526003
526001*
526005
526006
526007
526008
526009
526010
526011
526012
526013
526014
526015
526016
526017
526018
526019
526020
526021
526022
526023
526024
r *>£n -5 r
2£OUZp
526026
526027
526028
526029
526030
526031
526032
526033
526031*
526035
526036
526037
526038
526039
526040
52601*1
52601*2
52601*3
52601+1*
52601*5
52601*6
52601*7
52601*8
52601*9
526050
526051
526052
526053
526054
526055
526056
526057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

C


C
C
C
C
C



BLOCK DATA BD26

BLOCK DATA Subprogram 26: /HDDMAR/./HDDREG/

BLOCK DATA 26 initializes the HDDV fleet characterization data by weight
subclass (C2B,L,M,H array name prefixes) & by relative model yr (JDX 6 KDX)
(1) annual mileage accumulation rates
(2) total new registrations

Common block array subscripts:

C2BDVM(20) - C2BDVM ( JDX )
LHDVM(20) - LHDVM ( JDX )
MHDVM(20) - MHDVM ( JDX )
HHDVM(20) - HHDVM ( JDX )

C2BDRG(21) - C2BDRG ( KDX )
LHDRG(21) - LHDRG ( KDX )
MHDRG (21) - MHDRG ( KDX )
HHDRG(21) - HHDRG ( KDX )
KDX=1 for pre-1981, 2 for 1981, ... , 21 for 2000+ .

Common block dictionary:

Name Type Description


/HDDMAR/:

C2BDVM R class 2b HDDV mileage accumulation rates
LHDVM R light HDDV mileage accumulation rates
MHDVM R medium HDDV mileage accumulation rates
HHDVM R heavy HDDV mileage accumulation rates

/HDDREG/:

C2BDRG R class 2b HDDV new registrations
LHDRG R light HDDV new registrations
MHDRG R medium HDDV new registrations
HHDRG R heavy HDDV new registrations

Notes:

All /HDDMAR/ 6 /HDDREG/ arrays were updated for MOBILE!*.
ZML/TAMDR coefficients were updated for MOBILE!*.


REAL LHDVM, MHDVM, HHDVM, LHDRG, MHDRG, HHDRG

COMMON /HDDMAR/ C2BDVM (20) , LHDVM (20) , MHDVM (20) , HHDVM (20)
COMMON /HDDREG/ C2BDRG (21) , LHDRG (21) , MHDRG (21) , HHDRG (21)

/HDDMAR/:

Annual average Class 2B truck mileage accumulation (divided by 100000)

DATA C2BDVM/
* .17608, .16217, .14937. .13758, .12671,
* .11671, .10749, .09901, .09119, .08399,

-------
526058
§26059
•6060
326061
526062
526063
526061*
526065
526066
526067
526068
526069
526070
526071
526072
526073
526071*
526075
526076
526077
526078
526079
526080
526081
526082
526083
526081*
£26085
•6086
^26087
526088
526089
526090
526091
526092
526093
526091*
526095
526096
526097
526098
526099
526100
526101
526102
526103
526101*
526105
526106
526107
526108
526109
526110
£26111
•6112
^^*\C. 119
^2b 1 13
526111*
526115


C
C
C





C
C
C





C
C
C





C
C
C
C
C




C
C
C




C
C
C




C
C
C



C

                              C-l«07

          Appendix C: MOBILES Block Data 26                        Hay 5,  1989

  * .07736, .07125,  .06562,  .0601*1*. .05567,
  * .05127, .01*723,  .01*350,  .04006, .03690/

Annual average Light HDDV mileage accumulation  (divided by  100000)

   DATA LHDVM/
  *. 23611,  .209i»7, .18583,  .161*86,  .11*625,
  *. 12975,  .11511, .10212,  .09059,  .08037,
  *. 07130,  .06325, .05612,  .01*978,  .01*1*16,
  *. 03918,  .031*76, .03081*.  .02736,  .021*277

Annual average medium HDDV  mileage  accumulation  (divided by  100000)

   DATA MHDVn/
  *. 1*39^6,  .1*0501*. .37332,  .3^08,  .31713,
  *. 29229,  .26939, .21*829,  .22885,  .21092,
  *. 191*1»0,  .17918, .16511*.  .15221,  .11*029,
  *. 12930,  .11917, .10981*.  .10123,  .093317

Annual average heavy HDDV mileage accumulation  (divided by  100000)

   DATA HHDVM7
  *. 86375,  .791*3**, -73051,  .67181.  .61782,
  *. 56817,  .52252, .1*8053,  .1*1*191,  .1*0640,
  *. 37371*,  .3i»371, -31609,  .29069,  .26733,
  *. 21*585,  .22609, .20792,  .19121,  .17585/

/HDDREG/:

Annual Class 2B  truck new registrations (1980-  through 2000+)

   DATA C2BDRG/
  * .001,  .001,  .01*7,  .119.  .200, .309, .397, .1*95,  -599,  -710,
  * .831,  .956,1.086,1 .211*. 1.31*1, 1.1*61*. 1.585,1.702,1.816,1.925,
  *2.030/

Annual light HDDV new registrations (1980- through 2000+)

   DATA LHDRG/
  * .003,  -ooi*.  .009,  .015,  .021*. .01*1, .057, .071*.  .091,  .107,
  * .122,  .136,  .150,  .161*,  .176, .188, .200, .211,  .221,  .232.
  * .21*17

Annual medium HDDV new  registrations (1980- through  2000+)

   DATA MHDRG/
  * .536.  .570,  .590,  .609,  .61*8, .711, .761, .811,  .858,  .902,
  * .9kk,  .988,1.033,1.079,1.127,1.175,1.225,1.277,1.328,1.379,
  * 1.1*307

Annual heavy HDDV new registrations (1980- through 2000+)

   DATA HHDRG/
  * .990,  1.033,1.01*9,1.067,1.129,1.189,1.228,1.260,1.287,1.308,
  *l .32A, l .31*0, 1 .356, K372, l .387, l .^06, l .1*25, 1 -^7, l .1*70, l .495.
   ItJD

-------
                   c-408
Appendix C: MOBILES Block Data 27
May 5, 1989
527000
527001
527002
527003
527001*
527005
527006
527007
527008
527009
527010
527011
527012
527013
527014
527015
527016
527017
527018
527019
527020
527021
527022
527023
52702^
527025
527026
527027
527028
527029
527030
527031
527032
527033
527034
527035
527036
527037
527038
527039
527040
527041
527042
527043
527044
527045
527046
52704?
527048
527049
527050
527051
527052
527053
527054
527055
527056
527057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
BLOCK DATA BD27

BLOCK DATA Subprogram 27: /ALUH 1 N/,/ALUOUT/,/BASEQ3/,/CEVCOM/,/CEVBMY/,
/CUMCOM/,/FLAGSl/,/FLAGS2/,/FLAGS3/,/FLAGS4/,
/IMPARl/,/IMPAR2/,/MYRCAL/,/OFFSET/,/PROJEC/,
/REGISF/,/RESULl/,/RESUL2/,/RESUL3/

BLOCK DATA 27 ' s common blocks did not need to be initialized, so were
assigned dummy zeroes, to facilitate debugging, to prevent control statement
failure when compiled under a FORTRAN that does not employ the left to right
rule, etc.

Common block array subscripts:

ALHRET(20,4,3) - ALHRET ( JDX, IG, IP )
BMYMPD(20,8) - BMYMPD ( IG, IV )
BMYTPD(20,8) - BMYTPD ( IG, IV )
CUMMIL(20,8) - CUMMIL ( JDX, IV )
EFEVAP(9) - EFEVAP ( IV9 )
EFEXH(9) - EFEXH ( 1 V9 )
EFFTP(3,9) - EFFTP ( IP, 1 V9 )
EFIDLE(3,9) - EFIDLE ( IP, IV9 )
EFLOSS(9) - EFLOSS ( IV9 )
EFRUNL(9) - EFRUNL ( IV9 )
GSFVCT(8) - GSFVCT ( IV )
ILDT(4) - ILDT ( IVIM )
IMNAME(20,9) - IMNAME ( JDX, NLIM )
JANMYR(20,8) - JANMYR ( JDX, IV )
NUDATA(2) - NUDATA ( 1 CR )
OFFCO(20,3) - OFFCO ( JDX, 1 VP )
OFFMTH(20,8) - OFFMTH ( JDX, IV )
PROJID(20) - PROJID ( ICH )
TF (20,8) - TF ( IDX, IV )
TFMYM(20,8) - TFMYM ( JDX, IV )
TRAILR(3) - TRAILR ( IP )
USRMPD(8) - USRMPD ( IV )
USRTPD(8) - USRTPD ( IV )
VFTP(3) - VFTP ( IP )
VIDLE(3) - VIDLE ( IP )
WAIVER (2) - WAIVER ( IGW )
XLOAD(3) - XLOAD ( IP )
XMYM(20,8) - XMYM (JDX, IV )

Common block dictionary:
•
Name Type Description


/ALUHIN/:

AC R a/c usage factor
XLOAD R extra load usage fractions
TRAILR R trailer towing usage fractions
ABSHUM R absolute humidity level
DB R dry bulb temperature
WB R wet bulb temperature

/ALUOUT/:


-------
Appendix C: MOBILES Block Data 27
May 5, 1989
527058
^27059
^^7060
^27061
527062
527063
527061*
527065
527066
527067
527068
527069
527070
527071
527072
527073
52707^
527075
527076
527077
527078
527079
527080
527081
527082
527083
527081*
^.527085
Jfe7086
^^7087
527088
527089
527090
527091
527092
527093
52709**
527095
527096
527097
527098
527099
527100
527101
527102
527103
527101.
527105
527106
527107
527108
527109
527110
5271H
A7H2
1P7H3
527HA
527H5
C
c
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
ALHRET R

/BASEQ3/:

NEWVEH 1
NEWMYF 1
NEWMYL 1
ZMLNEW R
DRNEW R
KINKS 1


/CEVCOM/:

USRTPD R
USRMPD R

/CEVBMY/:

BMYMPD R
BMYTPD R

/CUMCOM/:

CUMMIL R
/FLAGS1/:
PROMPT 1








TAMFLG 1

SPDFLG 1

VMFLAG 1



/FLAGS2/:

MYMRFG 1



NEWFLG 1


IMF LAG 1
combined correction factor derived from user supplied data
on a/c, extra load & trailer towing usage and on ambient
humidity & temperature.


new emission rate's vehicle type code
new emission rate's first my of affected range
new emission rate's last my of affected range
new emission rate's zero mile level (intercept)
new emission rate's deterioration rate (slope)
flag signaling whether or not any kinked er's have been read
for 1981+ LDGV HC/CO: 1 = no 2 = yes



user supplied average trips per day
user supplied average miles per day



by model year miles per day (MPD) , calculated in CEVMPD
by model year TPD, calculated in CEVTPD



cumulative mileage accumulation rates

decides Control Section flags read format & prompt status:
1 = use vertical flag format; do not prompt
2 • use vertical flag format; prompt for input
3 = use horizontal flag format; do not prompt
1* « use horizontal flag format; prompt for input
Internally, VHMODE is assigned the flag format function.
PROMPT is then reduced to the prompt function:
1 = do not prompt for input
2 = prompt for input
1 = use default tampering rates
2 = user supplies tampering rates for 8 categories
1 = user supplies one speed for all vehicle types
2 = user supplies 8 speeds, 1 for each vehicle type
1 = use default vmt mix
2 = user supplies a new vmt mix for each scenario
3 = user supplies 1 vmt mix to apply to all scenarios



1 = default registration distributions/mileage accrual rates
2 = user supplies mileage accumulation rates
3 = user supplies registration distributions
k = user supplies both
1 » use all default exhaust emission rates
2 «= replace up to 99 of the default rates; caution -
(a) for IV = 1* or 7 (HDV) , use gpbhp units instead of gpm
(b) each IV x IP x IR case has a limit on new efs - see UG
1 = no 1 /M program

-------
                   C-MO
Appendix C: MOBILE** Block Data 27
                                                    May 5, 1989
527116
527117
527118
527119
527120
527121
527122
527123
52712*
527125
527126
527127
527128
527129
527130
527131
527132
527133
52713*
527135
527136
527137
527138
527139
5271*0
5271*1
5271*2
5271*3
5271**
5271*5
5271*6
5271*7
5271*8
5271*9
527150
527151
527152
527153
52715*
527155
527156
527157
527158
527159
527160
527161
527162
527163
52716*
527165
527166
527167
527168
527169
527170
527171
527172
527173
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C

ALHFLG






/FLAGS3/:

ATPFLG

TPDFLG

RLFLAG
TEMFLG



LOCFLG









OUTFMT





/FLAGS**/:

PRTFLG



IOLFLG

NMHFLG

HCFLAG


/IMPAR1/:

ICYIM
ISTRIN
MODYR1
MODYR2
WAIVER

CRIM R

2 = specify and apply I/M program
1 = no special correction factors
2 = user supplies 6 values: 1  a/c use
    usage fractions, 1  trailer towing
    level
3 = user supplies 10 values: the 6 above, except 3 instead
    1  towing fractions plus 1  db 6 1 wb temperatures
                                          factor, 3 extra load
                                          fraction 6 1 humidity
                                                               of
    1  - no anti-tampering  (A-T) program
    2  = specify A-T program to apply to all scenarios
    1  - use default calculated trips per day rates
    2  = user supplied data from which trips per day are calculated
    1  = refueling loss is always 0.0, same as release MOBILE3
    1  = use.default calculated hot soak, exhaust,
       and running loss temperatures
    2  = use ambient temperature for hot soak, exhaust,
       and running loss temperatures
    1  = user enters a local area parameters record after the
        the required parameters record of each scenario
    2  = user enters 1 local area parameters record for all
        scenarios, placing it as the last record  in one-time data.
    2  = if MY < 1989, then use 100% uncontrolled  rate,
        else  (MY >= 1989) use  100% controlled rate  (no tampering)
    3  = if MY < 1989, then use 100% uncontrolled  rate,
        else  (MY >= 1989) use best estimate of tampering rate to
        weight uncontrolled & controlled  (VRS installed) rates
    It  = use 100% uncontrolled refueling evap HC loss  (no VRS's)
     various output format selections:
    1  = new for MOBILE* long  (212 column) numerical format
    2  = new for MOBILE** short  (130 column) numerical  format
    3  = 112 column descriptive format
    **  = 80 column descriptive format
    1 = print only the HC factors
    2 ** print only the CO factors
    3 = print only the NOX factors
    * = print the factors for all three: HC, CO and NOX
    1 = do not print  idle emission factors
    2 = print idle emission factors
    1 = print total HC emission factors
    2 = print non-methane HC emission factors
    1 = do not print  HC components
    2 = print HC components  (exhaust, evaporative, refueling  loss)
    I/M program start year
    Technology  I/I I stringency  level of  I/M program
    first  (earliest) year  included  in the  I/M program
    last  (latest)  year  included  in  the  I/M program
    waiver rate -  percent of reviewed fleet that  is exempted  from
    I/M testing
    enforcement level - .percent of  fleet reviewed for  I/M  testing
    -WAIVER is based on -CRIM: the percent-of the total  fleet

-------
                   C-411
Appendix C: MOBILES Block Data 27
May 5, 1989
527174
4?7175
•7176
^27177
527178
527179
527180
527181
527182
527183
527184
527185
527186
527187
527188
527189
527190
527191
527192
527193
527194
527195
527196
527197
527198
527199
527200
£27201
• 7202
^7203
527204
527205
527206
527207
527208
527209
527210
527211
527212
527213
527214
527215
527216
527217
527218
527219
527220
527221
527222
527223
527224
527225
527226
527227
||7228
P7229
527230
527231
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



/IMPAR2/:

ILDT

ITEST



NUDATA






NONUDA




NLIM
IMNAME

/MYRCAL/:

XMYM

JANMYR
TF
TFMYM

/OFFSET/:

OFFCO
OFFMTH

/PROJEC/:

PROJID

/REGISF/:

GSFVCT

/RESUL1/:

EFFTP

EFEXH
EFEVAP
EFLOSS
EFRUNL

/RESUL2/:






1

1



1






tested = (1.0 - WAIVER(IGW)) * (CRIM * fleetsize),
IGW = 1 for pre-1981 and IGW = 2 for 1981+ MY vehicl



inclusion vector - vehicle classes to be covered by
1 = omi t 2 = i ncluded
technology IV+ test type:
1 = idle test
2 = 2500 rpm idle test
3 = loaded idle test
new exhaust I/M credits data flag vector. The data
and thus replaceable in 2 array blocks:
NUDATA (1) = Technology I/M LDGV/T I/M credits =
NUDATA (2) - Technology 1 V+ LDGV I/M credits =
For each of the 2 cases, the user has 2 choices:
1 = use default Block Data credits
2 = replace BD credits with user entered values

es.



I/M:





is stored

CR12HC/CO
CRD4VA/B



I flag identifying whether or not user supplies any FTP I/M




1
1



R

R
R
R



R
R



R



R



R

R
R
R
R



cred i ts:
1 = user supplies FTP I/M credits (at least one
NUDATA flags is turned on).
2 = go with default FTP I/M credits (NO NU DAta)
number of 1 i ries in the I/M credits file title
I/M credits file title (usually program type)



January 1 model year mileage accumulation rates used
compute CUMMIL
January 1 registration distributions
travel weighting fractions
January 1 mileage accumulation rates used to compute



CO offset to basic emission rate
methane offset to basic emission rate



user supplied project (i.e., run) title



fleet gasol i ne/diesel sales fractions used to split



composite (3 bag cycle weighted) FTP emission factor
IV9 class = exhaust (+ evap/cc + refuel loss)
exhaust component of IV9 HC «f
evaporative + crankcase component of IV9 HC ef
refueling loss component of IV9 HC ef
running loss component of IV9 HC ef




of the







to



TF












LDV, LOT



for each









-------
                   C-412
Appendix C: MOBILES Block Data 27
May 5, 1989
527232
527233
52723**
527235
527236
527237
527238
527239
527240
527241
527242
527243
527244
527214$
527246
527247
527248
527249
527250
527251
527252
527253
527254
527255
527256
527257
527258
527259
527260
527261
527262
527263
527264
527265
527266
527267
527268
527269
527270
527271
527272
527273
527274
527275
527276
527277
527278
527279
527280
527281
527282
527283
527284
527285
527286
527287
527288
527289
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C






C



















C




EFIDLE R hot stabilized idle emission factor for each IV9 class

/RESUL3/:

Prefix in v/a in /RESUL3/:

'V = vmtmix weighted (ALLVEH IP, each IV's ef weighted by its VMTMIX)

VFTP R For each IP, FTP emission factor for each IV class weighted by
corresponding normalized vmt mix fraction and summed together
VEXH R vmt mix weighted local (city) exhaust HC
VEVAP R vmt mix weighted local (city) evaporative HC
VLOSS R vmt mix weighted local (city) refueling loss HC
VIDLE R For each IP, idle emission factor for each IV class weighted by
corresponding normalized vmt mix fraction and summed together

Notes:

/RESUL3/ was added for MOBILE4.
/REGION/, /SCENE1/ and /SCENE2/ were moved to BD 33 "for MOBILE4.
BD 27 was modified in MOBILE4 to eliminate parameters relating to no
longer used separate I/M idle (all veh) and I/M exhaust LDGT1/2 credits,
plus put a model year kink 098l) in the I/M waiver rate and rename the
enforcement parameter (was same as the enforcement function name).
BD 27 was modified for MOBILE4, making TPDFLG=3 and adding TEMFLG


CHARACTERS IMNAME.PROJ 1 D
INTEGER PROMPT, TAMFLG.SPDFLG, VMF LAG
INTEGER ALHFLG
INTEGER ATPFLG,TPDFLG,RLFLAG,TEMFLG,OUTFMT
INTEGER PRTFLG.HCFLAG
REAL JANMYR

COMMON /ALUHIN/ AC.XLOAD (3) ,TRA 1 LR (3) , ABSHUM.DB.WB
COMMON /ALUOUT/ ALHRET (20, 4,3)
COMMON /BASEQ3/ NEWVEH.-NEWMYF .NEWMYL.ZMLNEW.DRNEW.K 1 NKS
COMMON /CEVCOM/ USRTPD (8) , USRMPD (8)
COMMON /CEVBMY/ BMYMPD (20,8) , BMYTPD (20,8)
COMMON /CUMCOM/ CUMMIL(20,8)
COMMON /FLAGS1/ PROMPT, TAMFLG.SPDFLG, VMFLAG
COMMON /FLAGS2/ MYMRFG.NEWFLG, IMFLAG, ALHFLG
COMMON /FLAGS3/ ATPFLG.TPDFLG.RLFLAG, LOCFLG, TEMFLG, OUTFMT
COMMON /FLAGS4/ PRTFLG, 1 DLFLG.NMHFLG.HCFLAG
COMMON /IMPAR1/ 1 CY 1 M, 1 STRIN.MODYR1 .MODYR2.WAI VER (2) ,CRI M
COMMON /IMPAR2/ 1 LOT (4) , ITEST.NUDATA (2) ,NONUDA,NL IM, IMNAME (20,9)
COMMON /MYRCAL/ XMYM (20,8) , JANMYR (20,8) ,TF (20,8) ,TFMYM (20,8)
COMMON /OFFSET/ OFFCO (20,3) .OFFMTH (20,8)
COMMON /PROJEC/ PROJID(20)
COMMON /REGISF/ GSFVCT (8)
COMMON /RESULT/ EFFTP (3,9) , EFEXH (9) ,EFEVAP(9) , EFLOSS (9) , EFRUNL (9)
COMMON /RESUL2/ EFIDLE (3, 9)
COMMON /RESUL3/ VFTP (3) , VEXH, VEVAP, VLOSS, VRUNLS, VI OLE (3)

DATA AC,XLOAD,TRAILR,ABSHUM,DB,WB/10*0.0/
DATA 4LHRET/240*0.0/
DATA NEWVEH,NEWMYF,NEWMYL,ZMLNEW,DRNEW/3*0,2*0.0/,KINKS/1/
DATA .USRTPD, USRMPD/ 1 6*0. O/

-------
                        Appendix C: MOBILES Block Data 27
                                                               May 5,  1989
527290
  7291
  7292
 27293
52723k
527295
527296
527297
527298
527299
527300
527301
527302
527303
52730^
527305
527306
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA

END
BMYMPD,BMYTPD/320*0.O/
CUMMIL/l60*0.0/
PROMPT, TAMFLG,SPDFLG,VMFLAGA*0/
MYMRFG.NEWFLG, IMFLAG,ALHFLGA*0/
ATPFLG.TPDFLG.RLFLAG,LOCFLG.TEMFLG.OUTFMT/0,3,^*07
PRTFLG,IDLFLG,NMHFLG,HCFLAG/i»*0/
I CYIM, I STRIN,MODYR1, MODYR2, WAIVER, CRI MA*0, 3*0.0/
ILDT,ITEST.NUDATA.NONUDA.NLIM,IMNAME/9*0,l80*'    '
XMYM, JANMYR.TF ,TFMYM/61»0*0.07
OFFCO,OFFMTH/220*0.0/
PROJID/20*1     '/
GSFVCT/8*0.0/
EFFTP,EFEXH.EFEVAP.EFLOSS,EFRUNL/63*0.0/
EFIDLE/27*0.0/
VFTP.VEXH.VEVAP.VLOSS.VRUNLS,VI OLE/10*0.0/

-------
                   C-414
Appendix C: MOBILES Block Data 28
May 5, 1989
528000
528001
528002
528003
528004
528005
528006
528007
528008
528009
528010
528011
528012
528013
528014
528015
528016
528017
528018
528019
528020
528021
528022
528023
528024
528025
528026
528027
528028
528029
528030
528031
528032
528033
528034
528035
528036
528037
528038
528039
528040
528041
528042
528043
52&044
528045
528046
528047
528048
528049
528050
528051
528052
528053
528054
528055
528056
528057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
BLOCK DATA BD28

BLOCK DATA Subprogram 28: /RLCOM1/./RLCOM2/./RLCOM3/

BLOCK DATA 28 defines the refueling loss HC emission factor common blocks.

Common block array subscripts:

IVOB(4) - IVOB ( IVTAM )
OBDF (4) - OBDF ( IVTAM )
RLRATE(20,4) - RLRATE ( IDX, IVTAM)
ROADFE (32, 4) - ROADFE ( MDX, IVTAM)

Common block dictionary:

Name Type Description


/RLCOM1/ block data supplied parameters for refueling loss calculation




















ROADFE R road fuel economy rates for converting refueling loss HC rates
from grams per gallon (GPG) to grams per mile (GPM) .
DISPL R HC displacement component of refueling loss, in GPG.
SPILL R HC spillage component of refueling loss, in GPG.



OBED R Onboard VRS displacement loss reduction efficiency percentage
OBES R Onboard VRS spillage loss reduction efficiency percentage
OBDF R Onboard VRS deterioration factor

/RLCOM2/ user supplied parameters for refueling loss calculation:

IOBMY 1 first model year of onboard vrs installation. All gas vehic





les
produced in this and all subsequent years are assumed to have
onboard vapor recovery systems installed.
IVOB 1 switch vector controlling which tampering vehicle classes
are to be affected by ob vrs's this run:
IVOB (IVTAM) = 1 (no) or 2 (yes), IVTAM=1 ,2,3,4
IS2SY 1 Stage II vrs controls start year.
NPHASE 1 Number of years in the phase- in period of Stage II vrs
control s .
S2EFF R Stage II effciency = percentage of refueling losses removed
by S2 installation, assuming 100% installation.

/RLCOM3/ calculated refueling loss rates for current scenario:

RLRATE R refueling loss HC rates for current scenario, as determined
subprogram REFUEL. The loss rates are weighted by ICY's
corresponding TF ' s and summed to get a scenario's EFLOSS.

Notes:

The MDX mapping to MY for ROADFE is:

MDX MY
1 1941-1969
2-31 1970-1999 (i.e., MDX=MY- 1969+1)
32 2000-2020

BD 28 was added for MOBILE4.
BD 28 was .modified in MOBILE4, updating DISPL, SPILL and 1 value












by















-------
528058
£28059
•8060
528061
528062
528063
528064
528065
528066
528067
528068
528069
528070
528071
528072
528073
528074
528075
528076
528077
528078
528079
528080
528081
528082
528083
528084
,528085
k8o86
^28087
528088
528089
528090
528091
528092
528093
528094
528095
528096
528097
528098
528099
528100
528101
C
C
C



C
C
C
of ROADFE.


COMMON
COMMON
COMMON

/RLCOM1/:




/RLCOM
/RLCOM
/RLCOM



DATA ROADFE/
C




C




C




C




C
C
C

C
C
C

C
C
C

C

LDGV
1 12.7,
1 15.6,
1 22.6,
1 23-5,
LDGT1
2 11.1,
2 13-3,
2 17.3,
2 17-7,
LDGT2
3 ll.l,
3 13.3,
3 17.3,
3 17-7,
HDGV
4 6.45,
4 7-16,
4 10.01,
4 10.61,

Suggested

DATA Dl

/RLCOM2/:

DATA 10

/RLCOM3/:

DATA RL

END

12.8,
17.0,
23-3,
23.5,

11.1,
13.0,
18.0,
17.7,

11.1,
13-0,
18.0,
17.7,

6.45
7.74
10.03
10.72

nonzen

SPL/5-



BMY/20



RATE/SI


                             c-415

          Appendix C:  MOBILES Block Data 28




   COMMON /RLCOM1/ ROADFE (32,4) ,D I SPL.SP I LL.OBED.OBES.OBDF (k)
                                   May 5,  1989
                 12.3, 12.4, 12,
                 17-2, 19.8, 21,
                 23.6, 23.7, 23,
                 23-5, 23-5, 23.

                 10.7, 10.8, 10
                 12.6, 15-7, 17
                 18.0, 17-7, 17
                 17-7, 17-7, 17

                 10.7, 10.8, 10
                 12.6, 15.7, 17
                 18.0, 17.7, 17
                 17.7, 17-7, 17

                   6.08,   5.70,
                   8.07,   8.75,
                  10.05,  10.13,
                  10.79,  10.88,
 2,  12.2,  13.5,  14.9,
 2,  21.9,  21.7,  22.0,
 6,  23-6,  23.6,  23.6,
 4,  23.4,  23.4,  23.3,

.6,  10.6,  11.9,  12.3,
.0,  17-3,  17.6,  17.2,
.8,  17.8,  17.8,  17.8,
.7,  17.6,  17.6,  17.6,

.6,  10.6,  11.9,  12.3,
.0,  17.3,  17.6,  17.2,
.8,  17.8,  17.8,  17.8,
.7,  17.6,  17.6,  17-6,

  6.10,   6.50,   6.92,   6.81,
  9.09,   9.45,   9-95,  10.01,
 10.19,  10.26,  10.33,  10.42,
 10.87,  10.94,  11.00,  11.08/
Suggested nonzero OBDF values are .0002 for LDGV and .0005 LDGT1/2 6 HDGV.


   DATA DISPL/5.46/,SPILL/.31/,OBED/.98/,OBES/.50/,OBDF/4*0.0/


   COM2/:
                                     >«

   DATA IOBMY/2020/,IVOB/4*!/, I S2SY/2020/,NPHASE/4/,S2EFF/4*0.0/

-------
                   C-416
Appendix C: MOBILE4 Block Data 29
May 5, 1989
529000
529001
529002
529003
52900**
529005
529006
529007
529008
529009
529010
529011
529012
529013
r •> e\f\ 1 J>
5290 1 **
529015
529016
529017
529018
529019
529020
529021
529022
529023
52902**
529025
529026
529027
529028
529029
529030
529031
r OQ/"i 7 "3
t>£y(j}t
529033
52903^
529035
529036
529037
529038
529039
52901*0
5290i* 1
529042
529043
529044
529045
529046
529047
529048
529049
529050
529051
529052
529053
529054
529055
529056
529057

C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C

C

C



C
C
C
C
C






BLOCK DATA BD29

BLOCK DATA Subprogram 29: /HDCCOM/

BLOCK DATA 29 initializes grams-per-brakehorsepower-hour to grams-per-mi le
units conversion variables.

Common block array subscripts:

HDCFAC (37, 2) - HDCFAC ( IG, IVHD )

Common block dictionary:

Name Type Description


/HDCCOM/:

HDCFAC R HDV gpbhp to gpm conversion factors
LOWYR 1 lowest my for which HDCFAC is defined. All my < LOWYR are
assigned LOWYR's conversion factors.
MAXCIG 1 maximum HDCFAC index allowed = 1st dimension of HDCFAC = 37
= index of highest my for which HDCFAC is defined, currently
1997. All my > 1997 are assigned MAXCIG's factors.

Local array subscripts:

HDCGAS(37) - HDCGAS ( IG )
HDCDIE (37) - HDCDIE ( IG )

Local array dictionary:

Name Type Description


HDCGAS R HDGV gpbhp to gpm units conversion factors
HDCDIE R HDDV gpbhp to gpm units conversion factors

BD 29 was added for MOBILE4.
The conversion factors were updated for MOBILE4, with MAXCIG 36 to 37.


COMMON /HDCCOM/ HDCFAC (37,2) , LOWYR, MAXC IG

DIMENSION HDCGAS (37) .HDCDIE (37)

EQUIVALENCE
* (HDCFAC (1,1) ,HDCGAS(1)) ,
* (HDCFAC(1.2),HDCDIE(1))

Gpbhp to gpm units conversion factors

For HDGV

DATA HDCGAS/
* 1.5W, 1.536, 1-536, 1.527, 1.516, 1.518, 1.497, 1.479, 1.449,
* 1.449, 1.437, 1.419, 1.422, 1.313, 1.244, 1.073, 1.057, 1.022,
* 0.961, 0.935, 0.912, 0.884, 0.907, 0..896, 0.894, 0.897, 0.895,
* 0.894, 0.893, 0.893, 0.892, 0.891, 0.890, 0.889, 0.887, 0.886,
* 0.885/

-------
529058
§29059
•9060
329061
529062
529063
529064
529065
529066
529067
529068
529069
529070
C
C
C






C

C

                             C-417



          Appendix C:  MOBILES Block Data 29
For HDDV
   DATA LOWYR.MAXCIG/1962,377




   END
May 5, 1989
DATA HDCDIE/
ft
ft
ft
*
ft
2
3
2
2
2
.850,
.161,
• 716,
.099,
.0367
2.858,
3-197,
2.698,
2.066,

2.874,
3.188,
2.376,
2.050,

2.890,
3.213,
2.277,
2.033,

2.900,
3-146,
2.406,
2.033,

2.964,
3-179,
2.211,
2.033,

2
3
2
2

• 995,
.246,
.214,
.039,

3.074,
3.187,
2.167,
2.039,

3.100,
2.999,
2.132,
2.037,


-------
                   C-418




Appendix C: MOBILES Block Data 30
May 5, 1989
530000
530001
530002
530003
530004
530005
530006
530007
530008
530009
530010
530011
530012
530013
530014
530015
530016
530017
530018
530019
530020
530021
r 7nA*5 *)
p^uu^z
530023
530024
530025
530026
530027
530028
530029
530030
530031
530032
530033
530034
530035
530036
530037
530038
530039
530040
530041
530042
530043
530044
530045
530046
530047
530048
530049
530050
530051
530052
530053
530054
530055
530056
530057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
BLOCK DATA BD30

BLOCK "DATA Subprogram 30: /C ITC 1 N/./C ITPAR/./C ITRV1/./C ITRV2/./C ITRV3/,
/CITUSE/, /INJECT/

BLOCK DATA 30 defines the parameters for reading in, storing and using
the second required scenario record (local data) parameters, plus fuel
injection rates and model year groups.

Common block array subscripts:

ACLASS(5) - ACLASS ( 1 CLASS )
PFI (13,4) - PFI ( IG5, IVTAM )
RVPMAP(5) - RVPMAP ( 1 CLASS )
RVPX(2,2) - RVPX ( ICER, IFUEL )
SCNAME (4) - SCNAME ( 1 CH )
TBI (13,4) - TBI ( IG5, IVTAM )
UDI (5) - UDI ( IUDI )

Common block dictionary:

Name Type Dictionary
/CITCIN/:

UDI R Uncontrolled Diurnal rate, g/test, at:
1 = standard FTP conditions
2 = local area conditions
3 = 8AM- 1 1AM conditions
4 = 10AM-3PM conditions
5 = 8AM-2PM conditions
CIGAS1 R city gasoline diurnal index, using local base or in-use RVP
CIGAS2 R city gasoline diurnal index, using national certification RVP
CIETH1 R city ethanol diurnal index, using local base or in-use RVP
CIETH2 R city ethanol diurnal index, using national certification RVP
ICERSW 1 switch indicating whether or not certification controls are in
effect on before the evaluation year of current scenario:
1 = no 2 = yes

/CITPAR/:

SCNAME R scenario identification field: echoed in numeric formats
FRETH R ethanol blend fraction of SCNAME's fuel
FRMETH R methanol blend fraction of SCNAME's fuel: 0.0 unless the
block data initialization is changed by modifying the source
code (no user optional input field applies).
FRGAS R gasoline fraction of SCNAME's fuel

/CITRV1/:

RVPBAS R SCNAME's base RVP
RVP 1 US R SCNAME's in-use RVP
RVPAST R SCNAME's maximum ASTM limit RVP
RVPICY R RVP to be used for not cert controlled my for SCNAME:
= RVPBAS if ICY .LT." IUSESY
= RVPIUS if ICY .GE. IUSESY
RVPETH R SCNAME's ethanol blend RVP for not cert control led my:
« RVPICY + El NCR

-------
                   c-i*i9



Appendix C: MOBILES Block Data  30
May 5, 1989
530058
^0059
M0060
330061
530062
530063
53006**
530065
530066
530067
530068
530069
530070
530071
530072
530073
53007**
530075
530076
530077
530078
530079
530080
530081
530082
530083
53008**
£30085
B0086
^0087
530088
530089
530090
530091
530092
C 7AAQ 9
530093
53009**
530095
530096
530097
530098
530099
530100
530101
530102
530103
53010**
530105
530106
530107
530108
530109
530110
330111
•01 12
Boil3
53011**
530115
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C

IUSESY 1 start year of i n-use fuel volatility control program
RATUNC R (11.5 - (RVPAST - RVPIUS) ) / RVP115 : if IUSESY .LE. ICY,
then RATUNC is used to adjust uncontrolled displacement
refueling losses for in-use RVP controls.

/CITRV2/:

RVPHS1 R RVP in untampered/uncontrol led HS = RVPICY * (11.5 / RVPAST)
RVPHS2 R RVP in cert fuel change HS = RVPHS1 * (9-0 / RVPCER)
RVPET1 R RVPHS1 calculated with RVPETH instead of RVPICY (ethanol case)
RVPET2 R RVPHS2 calculated with RVPETH instead of RVPICY (ethanol case)
RVP090 R RVP in RVPCER cases prior to ICERSY, in denominator of Diurnal
Index equation 6 to normalize RVPCER. ASTM Class A RVP UB.
RVP 100 R ASTM Class B RVP Upper Bound (UB)
RVP115 R Uncontrolled RVP. Also, ASTM Class C RVP UB.

/CITRV3/:

Note: RVPMAP 6 RVPX are placed lst/2nd, not 3rd/*»th, else they would
not start on a fullword boundary (Len of ASTMCL + ACLASS = 6 bytes).

RVPMAP R Maps ACLASS subscript for matched class to ASTM max RVP.
RVPX R The *» (possible) RVPs for use in calculating the RVP exhaust
(and depending on the case, temperature) correction factor
RVPX now equals the corresponding evaporative RVPHS/ET162.
ICLASS 1 Integer equivalent of ASTM Volatility Classes:
1 = A, 2 = B, 3 • C, *t = D, 5 = E
ASTMCL C*l Entered ASTM Volatility (RVP) Class for scenario's location.
ACLASS C*l ASTM Volatility Classes (A - E) , to identify entered class.

/CITUSE/: These variables are assigned 1 set of values on the gasoline
fuel call to CCEVRT and another set on the ethanol call (the
latter occurs if FRETH > 0.0).

gasoline case ethanol case


RVUSE1 R RVPHS1 RVPET1
RVUSE2 R RVPHS2 RVPET2
CIUSE1 R CIGAS1 CIETH1
CIUSE2 R CIGAS2 CIETH2

/INJECT/:

TBI 1 throttle body fuel injected fraction of IVGAS built in 1 G5
PF 1 1 port fuel injected fraction of veh class IVGAS built in IG5
MAXFIY 1 first year of highest myg for indexing TBI 6 PF 1 .
MINFIY 1 last year of lowest myg for indexing TBI & PF 1 .

Notes:
.
BD 30 was added for MOBILE**.
BD 30 was modified for MOBILE**.


CHARACTER*! ASTMCL, ACLASS
CHARACTER*** SCNAME

COMMON /CITCIN/ UD 1 (5) , 1 UD 1 ,CI GAS1 , C 1 GAS2.C 1 ETH1 , C 1 ETH2, 1 CERSW

-------
                             C-420

          Appendix C: MOBILES Block Data 30
May 5, 1989
530116
530117
530118
530119
530120
530121
530122
530123
530124
530125
530126
530127
530128
530129
530130
530131
530132
530133
530134
530135
530136
530137
530138
530139
530140
530141
530142
530143
530144
530145
530146
530147
530148
530149
530150
530151
530152
530153
530154
530155
530156
530157
530158
530159
530160
530161
530162
530163
530164
530165
530166
530167
530168
530169
530170
530171
530172
530173






C
C
C
C
C
c
c
c
c
c
c
c
c
c
c
c
c

c
c


c
c
c






c
c
c
c

c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
   COMMON /CITPAR/ SCNAME(4) ,FRETH,FRMETH,FRGAS
   COMMON /CITRV1/ RVPBAS.RVPI US,RVPAST.RVPICY,RVPETH,IUSESY.RATUNC
   COMMON /CITRV2/ RVPHS1,RVPHS2,RVPET1,RVPET2,RVP090,RVP100,RVP115
   COMMON /CITRV3/ RVPMAP (5),RVPX (2,2),I CLASS,ASTMCL,ACLASS (5)
   COMMON /CITUSE/ RVUSE1.RVUSE2,CIUSE1,CIUSE2
   COMMON /INJECT/ TBI  (13,V ,PFI 03,4),MAXFIY.MINFIY
The /CIT???/ variables / arrays get their values by being:

Assigned in LOCAL/RDCITY/CALUDI as follows:

supplied by user: SCNAME (4) ,ASTMCL,RVPBAS.RVPI US,IUSESY,FRETH

calculated by code: CIGAS1,CIGAS2,CIETH1,CIETH2,ICERSW.RVPICY,
                    RVPETH,RVPHS1,RVPHS2,RVPET1,RVPET2,RATUNC,RVPX,I CLASS

Assigned in CCEVRT: all /CITUSE/ - RVUSE1.RVUSE2,ClUSE 1,CIUSE2

The only constants are methanol fraction ("permanently" zero) of /CITPAR/,
the controlled and uncontrolled RVP standard values of /CITRV2/ and the ASTM
RVP identification and mapping vectors of /CITRV3/:

   DATA FRMETH/0.0/,RVP090/9.0/,RVP100/10.0/,RVP115/11,5/

        I CLASS:  1     2     3     4     5
   DATA ACLASS/  'A1,   'B',   'C1,   'D',   'E'/
   DATA RVPMAP/ 9.0,  10.0, 11.5, 13-5,  15-0 /

Dummy zeroes are assigned  the  remaining  variables and arrays.

   DATA UDI,CI GAS 1,CIGAS2,CIETH1,CIETH2,ICERSW/9*0.0,0/
   DATA SCNAME,FRETH,FRGAS/4*'     ',2*0.0/
   DATA RVPBAS,RVPI US,RVPAST,RVPICY,RVPETH,I USESY,RATUNC/7*0.0/
   DATA RVPHS 1 .RVPHS2.RVPET1 ,RVPET2/4*0.0/
   DATA RVPX/4*0.0/,I  CLASS/0/,ASTMCL/'  '/
   DATA RVUSE1,RVUSE2,CI USE 1,CIUSE2/4*0.0/

/INJECT/:   no provision exists  for user modification of the fuel  injection
           fractions or their model year  groups.

   DATA MAXFIY/1992/.MINFIY/1980/

Both TBI and PFI have the  IVTAM continuation code:
   1 = LDGV
   2 = LDGT1
   3 = LDGT2
   4 = HDGV
Each line  has 8  (model year group) values

Notes:

   1) LDGT1 = LDGT2 values
   2) All HDGV values  = 0.0/0,  since for  now HDGV's are assumed  to
     be 100% carbureted.
   3) For tampering, the fractions are only used to weight  hot soak  rates.
   4) Before 198l,  it  is assumed that no  vehicle of any type  had
     fuel   injection and therefore hot soak rates .are  for  those  years

-------
                           C-J»21
530171*
£30175
Koi76
530177
530178
530179
530180
530181
530182
530183
530181*
530185
530186
530187
530188
530189
530190
C
C
C
C





C





C

        Appendix C: MOBILE!* Block  Data  30                        May 5,  1989

   based solely on evaporative cannister only tampering.

pre-81 1981 1982 1983  1981»  1985  1986  1987  1988 1989 1990 1991 1992+

 DATA TBI/
1  .000,.028, .108,. 195,. 289,. 265,. 279,. 26**,. 235,. 2^*3, .20?,. 17^,.! 72,
2  .000, .000, .000, .000, .000, .01*6, . 1 78, .303, -363, -359, -306, .298, .})k,
3  .000, .000, .000, .000, .000, .oi»6, .178, .303, .363, .359, .306, .298, .311*,
J»  .000,.000,.000,.000,.000,.000,.000,.000,.000,.000,.000,.000,.OOO/

 DATA PFI/
1  .000, .057, .063, .087, . 101», .280, .391 , .^83, -576, .591*, .656, .7*»2, .785,
2  .000, .009, -005, .002, .022, .068, .237, •1»32, .kkk,.k&, .522,. 531, .557,
3  .000,.009, .005,. 002,.022,.068, -237, • ^32, .kkk, .1*58, -522, .531, .557,
4  .000,.000,.000,.000,.000,.000,.000,.000,.000,.000,.000,.000,.OOO/

 END

-------
                   C-422




Appendix C: MOBILES Block Data 31
May 5, 1989
531000
531001
531002
531003
531004
531005
531006
531007
531008
531009
531010
531011
531012
531013
531014
531015
531016
531017
531018
531019
coin on
i>3 lozu
531021
531022
531023
531024
531025
531026
531027
531028
531029
531030
531031
531032
531033
531034
531035
531036
531037
531038
531039
531040
531041
531042
531043
531044
531045
531046
531047
531048
531049
531050
531051
531052
531053
531054
531055
531056
531057

C
C
C
C
C
C
c
C
c
c
c
c
c
c
c
c
c
c
c
C'
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c



c
c
c
BLOCK DATA BD31

BLOCK DATA Subprogram 31: /RVPEX1/./RVPEX2/, /RVPNAT/





BLOCK DATA 31 initializes exhaust emission factor RVP correction factor (cf)
calculation variables.

Common block array subscripts:

MYGRVP(4,4) - MYGRVP ( IG, 1 VTAM )
RVPCF (20,3,4,2) - RVPCF ( IDX, IP, IVTArt, IFUEL )
RVPDIU(2) - RVPDIU ( LIMIT )
RVPLIM(2) - RVPLIM ( LIMIT )
RG23(3,3,3,2) - RG23 ( IRQ3, IB, IP, IG )
R9GK3.2) - R9G1 ( IRQ1, IP) (IP-1,2)
TLL(2) - TLL ( 1 RQ2 )

Common block dictionary:

Name Type Dictionary
/RVPEX1/:

R9G1 R RVP cf normalized at RVP=g.O equation coeff used by RVP IG=1
RG23 R RVP & high T combined cf equation coeff used by RVP IG=2,3
The 1st (al) coeff is also used to set the ub (FTP T) of the
low T IG=2,3 interpolation interval.





















TLL R RVP cf temperature range Ib 6 length for MYG 1 & low T MYG 263

/RVPEX2/:

MYGRVP 1 upper bound years for RVP CF MYGs
RVPCF R multiplicative RVP cf's, applied to corresponding exhaust ef '




s
in EFCALX 6 HCCALX; 2 sets: IFUEL = 1 gas/methanol & 2 ethanol
OPENCR R open loop technology HC 6 CO credit, expressed as percentage

/RVPNAT/:

ICERSY 1 start year of certification fuel volatility control program
RVPCER R certification fuel control program RVP, fixed wrt fuel type
RVPLIM R RVP value limits for constraining RVPBAS, RVPIUS and RVPUNC
1 = lower bound 2 - upper bound
RVPDIU R RVP value limits for constraining RVPICY, again l=lb 6 2=ub
PFUL R Percent of fuel tank filled
EINCR R ethanol RVP increment (RVP "penalty" for using ethanol blend)

Notes:

BD 31 was added for MOBILE4.
BD 31 was modified for MOBILE4 to accomodate the new RVP CF algorithms.


COMMON /RVPEX1/ R9G1 (3,2) ,RG23 (3, 3,3,2) ,TLL (2)
COMMON /RVPEX2/ MYGRVP (4,4) , RVPCF (20,3,4,2) , OPENCR
COMMON /RVPNAT/ 1 CERSY, RVPCER, RVPL IM (2) ,RVPD 1 U (2) ,PFUL, E 1 NCR

/RVPEX1/: These are the hardcoded terms of the RVP cf equations.


























-------
                   C-423




Appendix C: MOBILES Block Data 31
May 5, 1989
531058
R1059
1060
1061
531062
531063
531064
531065
531066
531067 .
531068
531069
531070
531071
531072
531073
53107**
531075
531076
531077
531078
531079
531080
531081
531082
531083
531084
£31085
Blo86
^1087
531088
531089
531090
531091
531092
531093
531094
531095
531096
531097
531098
531099
531100
531101
53H02
53H03
531104
53H05
531106
53H07
53H08
53H09
531HO
Kllll
1112
1113
531 11*
531H5
C
C

C
C


c
c
c

c
c
c



c



c



c
c
c



c



c



c

c

c
c
c
c
c

c




c

c
c
The continuation line code for R9G1 is IP.
DATA R9G1/
Numerator Denominator
Intercept Slope
1 0.56222, 0.012512, 0.67483,
2 7-1656, 0. 33^13, 10.17277/

The continuation line code for RG23 is IB.

DATA RG23/
al a2 a3
IG=2 (= 1980-82 for LDGV)
HC
1 0.091402, 0.0044270, 0.0029466,
2 0.042060, 0.0048358, 0.0,
3 0.093179, 0.0074688, 0.0047276,
CO
i o.ogu^S, 0.0062182, o.o,
2 0.139680, 0.0149430, 0.0,
3 0.163220, 0.0149230, 0.0,
NOx
1 0.0, 0.0, 0.0,
2 -0.040024, 0.0, 0.0,
3 o.o, o.o, o.o,

IG=3 (« 1983+ for LDGV)
HC
1 0.023202, 0.0, 0.0,
2 0.153730, 0.0086550, 0.0,
3 0.132630, 0.0083730, 0.0056009,
CO
1 0.040748, 0.0035170, 0.0,
2 0.262140, 0.0149660, 0.0056416,
3 0.232180, 0.0206950, 0.0082344,
NOx
1 0.014219, 0.0, 0.0,
2 0.027491, 0.0037789, 0.0,
3 0.0, 0.0, O.O/

DATA TLL/
LB of Temperature Interval Interval Length
* 40.0, 35. O/

/RVPEX2/: RVPCF is computed by RVPEXH.

The MYGRVP continuation code is IVTAM.

DATA MYGRVP/
MYGO MYG1 MYG2 MYG3
1 1970, 1979, 1982, 2020,
2 1970, 1980, 1985, 2020,
3 1978, 1980, 1985, 2020,
4 1984, 0000, 2020, OOOO/

DATA RVPCF/480*1.0/,OPENCR/0.13/

/RVPNAT/: All variables but RVP1IM were required to be read into One-time

-------
                        Appendix C: MOBILES Block Data 31                       May 5, 1989

531116     C            Data.  MOBILES hardcoded all the parameters, removing them
531117     C            from user control.  In particular, setting  ICERSY = 2020 zaps the
531118     C            certification RVP feature, the related source code left in only
531119     C            for use in "in-house" versions of MOBILES.  MOBILES added RVPDIU
531120     C            derived from RVPLIM, so initialized here to the same limits.
53H21     C
531122           DATA ICERSY/2020/.RVPCER/9.0/.RVPLIM/7.0,15.2/.RVPDIU/7.0,15.2/
531123           DATA PFUL/5'*.57/,EINCR/1.2/
531121*     C
53H25           END

-------
                   C-425




Appendix C: MOBILES Block Data 32
May 5, 1989
532000
^2001
K2002
532003
532004
532005
532006
53200?
532008
532009
532010
532011
532012
532013
532014
C 3 OA 1 C
532015
532016
532017
532018
532019
532020
532021
532022
532023
532024
532025
532026
£32027
•2028
^2029
532030
532031
532032
532033
532034
532035
532036
532037
532038
532039
532040
532041
532042
532043
532044
532045
532046
532047
532048
532049
532050
532051
532052
.532053
^2054
^2055
532056
532057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



-c
C
c

c
c
BLOCK DATA BD32

BLOCK DATA Subprogram 32: /I MPAR3/./IMPAR5/,/ IMPAR6/

BLOCK DATA 32 initializes I/M program parameters.

Common block array subscripts:

CRHDGV(2,2) - CRHDGV ( IP, 1 FREQ )
DISCNT(3) - DISCNT ( INTYP )
MYGIM2(3,3) - MYGIM2 ( IG, IVLDG )

Common block dictionary:

Name Type Description
/1MPAR3/:

IMDX1 1 1 DX order pointer to first model year covered by 1 /M program
IMDX2 1 1 DX order pointer to last model year covered by I/M program
IMCASE 1 flag relating run's 1 /M program to scenario's calendar year:
1 = no I/M for ICY
2 = I/M for at least a subset of 1 CY ' s 1 VTAM and IDX
IMVEH 1 flag relating run's I/M program to tampering vehicle class:
1 = no I/M for this IVTAM
2 = I/M for all or part of IVTAM's 1 DX=2, . . . .MAXYRS window
IM 1 flag relating run's I/M program to relative model year IDX:
1 = no I/M for this IDX
2 = I/M for this IDX, given ICY, IVTAM 6 I/M parameters
IM is used to index I/M dependent data arrays (TAMZML.TAMDR) .

/IMPAR5/:

MYGIM2 1 mygs for IM technologies 1 and 2 (3 i s treated as 2, for I/M)
LBIM4P 1 Ib of last myg of the tech 4+ class (its ub is 2020)
CRHDGV R BEF I/M credit adjustment for HDGV for HC 6 CO, annu/bienni al
DISCNT R I/M program efficiency discount as a f (INTYP)

/IMPAR6/:

IFREQ 1 I/M Program vehicle inspection frequency: l=annual , 2=biennial
INTYP 1 I/M Program type: 1 = Centralized,
2 = Decentralized Computerized, 3 = Decentralized Manual

BD 32 was added for MOBILE4.
BD 32 was modified in MOBILE4 to remove idle I/M credits and update the
exhaust I/M credit parameter options and HDGV I/M credits.


COMMON /IMPAR3/ IMDX1 , IMDX2, IMCASE, IMVEH, IM
COMMON /IMPAR5/ MYG IM2 (3, 3) ,LB IM4P, CRHDGV (2,2) ,DI SCNT (3)
COMMON /IMPAR6/ IFREQ, INTYP

/IMPAR3/:

DATA IMDX1/1951/, IMDX2/2020/, IMCASE/1/, IMVEH/1/, IM/1/

/IMPAR5/

-------
532058
532059
532060
532061
532062
532063
532061*
532065
532066
53206?
532068
532069
532070
532071
532072
532073
C
C
C
C




C

C

C

C

                             C-J»26

          Appendix C: MOBILES Block Data 32


MYGIH2 continuation code is  IVLDG.
                     TECH
                 1     2     3
   DATA MYGIM27
  1             197*. 1979, 1980,
  2             197*. 1980, 1983,
  3             1978, 1980, 1983/

   DATA LBIMP/1992/.CRHDGV/. 1250,. 1575, .0625,.1050/

   DATA DISCNT/1.0, 1.0, 0.5
-------


533000
^3001
K3002
333003
533004
533005
533006
533007
533008
533009
533010
533011
533012
533013
r 7 of\ V 1,
5330 r*+
533015
533016
533017
533018
533019
533020
533021
533022
533023
533024
533025
533026
£33027
K028
^33029
533030
533031
533032
533033
53303^
533035
533036
533037
533038
533039
533040
533041
533042
533043
533044
533045
533046
533047
533048
533049
533050
533051
533052
£33053
^3054
f33055
533056
533057



C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C



C
C
C

C
C
C

C-427
Appendix C: MOBILE4 Block Data 33 May 5, 1989
BLOCK DATA BD33

BLOCK DATA Subprogram 33: /REG ION/, /SCENE 1/./SCENE2/

BLOCK DATA 33 defines common blocks related to the first scenario record.

Common block array subscripts:

FEET(2) - FEET ( IREJN )
SPD (2) - SPD ( IV )

Common block dictionary:

Name Type Description


/REGION/:

IREJN 1 user supplied region code: 1 = low altitude, 2 - high
1 = low altitude region
2 = high altitude region
ALT R altitude in feet
INITPR 1 switch: 1 = 1st scenario's output pass, print run parameters
0 = 2nd or later, do not 'CALL OUTHD'

/SCENE1/:

SPD R user supplied average speeds of 8 vehicle types
PCCN R user supplied % in cold start mode by non-catalyst
equipped vehicle types
PCHC R user supplied % in hot start mode by catalyst
equipped vehicle types
PCCC R user supplied % in cold start mode by catalyst
equipped vehicle types

/SCENE2/:

FCC R fraction of vmt in cold start mode, vehicle catalyst equipped
FCN R fraction of vmt in cold start mode, non-catalyst equipped
FHC R fraction of vmt in hot start mode, catalyst equipped
FHN R fraction of vmt in hot start mode, non-catalyst equipped

Notes:

BD 33 was added for MOBILE4.
BD 33 was modified for MOBILE4.


COMMON /REGION/ FEET (2) , IREJN, ALT, IN ITPR
COMMON /SCENE I/ SPD (8) , PCCN, PCHC, PCCC
COMMON /SCENE2/ FCC, FCN, FHC, FHN

Only FEET and INITPR need to be initialized.

DATA FEET/500., 5500. /.IN ITPR/1/

The rest are read in or set during execution, so dummy zeroes are used here.

DATA IREJN,ALT/2*0/

-------
                        Appendix C: MOBILES Block Data 33                       Nay 5,  1989
533058           DATA SPD,PCCN,PCHC,PCCC/11*0.0/
533059           DATA FCC,FCN,FHC,FHNA*0.0/
533060     c
533061           END

-------
                    C-1.29




Appendix C: MOBILES  Block Data 31*
May 5, 1989
531*000
^1*001
Pl*002
531*003
531*001*
531*005
531*006
531*007
531*008
531*009
531*010
531*011
531*012
531*013
531*011*
53^*015
53^016
531*017
531*018
531*019
531*020
531*021
531*022
C 2 ]irt O 7
i>3*t023
53l»02i»
53A025
531*026
£31*02 7
•&1*028
^31*029
531*030
531*031
531*032
531*033
531*031*
53A035
531*036
53^37
53^*038
531*039
531*01*0
53401*1
531*01*2
531*01*3
531*01*1*
531*01*5
531*046
531*01*7
53l*0l»8
531*01*9
531»050
531»051
531*052
K 1*053
1*051*
1*055
531*056
531*057

C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C


C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
BLOCK DATA BD31*

BLOCK DATA Subprogram 3!*: /RUNLS1/./RUNSL2/./RUNLS3/,
/RUNLSV./RUNLS5/

BLOCK DATA initializes running loss HC emissions data and parameters.

Common block array subscripts:

MYGRUL (!*,!») - MYGRUL ( IGTL, IVTL )
RULBAS (!*,!*, !»,!*) - RULBAS ( ITLR, ITLT, IGTL, IVTL )
RULRVP(1») - RULRVP ( ITLR )
RULCAN (!*,!*) - RULCAN ( ITLR, ITLT )
RULCAP (1*,!*) - RULCAP ( ITLR, ITLT )
RULTEM (1*) - RULTEM ( ITLT )
TLEMI (13,1*,1«,1*,1*) - TLEMI ( ITL, ITLR, ITLT, IGTL, IVTL )
TLCAN( 13, !»,!*) - TLCAN ( ITL, ITLR, ITLT)
TLCAP03, !*,!*) - TLCAP ( ITL, ITLR, ITLT )
TLVMT03) - TLVMT ( ITL )

Common block dictionary:

Name Type Description


/RUNLS1/:

TLVMT R Urban type normalized %VMT by trip length (driving cycle case)
TLEMI R g/mi running loss emissions, by trip length, RVP, temperature,
MYG and vehicle class
MAXTL 1 maximum number of trip length cases
-
/RUNLS2/:

TLCAN R running losses due to canister tampering, by trip length,
RVP and temperature
TLCAP R running losses due to gas cap tampering, by trip length,
RVP and temperature

/RUNLS3/:

RULBAS R trip length weighted g/mi running loss HC emissions, by RVP,
temperature, MYG and vehicle class
RULCAN R trip length weighted running loss HC emissions due
to canister disconnect tampering, by RVP and temperature
RULCAP R trip length weighted running loss HC emissions due
to gas cap removal tampering, by RVP and temperature

/RUNLS1*/:

MYGRUL 1 running loss emission HC rate MYGs
MAXRUL 1 maximum number of running loss HC emission rate MYGs

/RUNLS5/:

RULRVP R running loss HC RVP measurement values
RULTEM R running loss HC temperature measurement values

Local .array subscripts:

-------
                   C-430




Appendix C: MOBILES Block Data 34
May 5, 1989
534058
534059
534060
534061
534062
534063
534064
534065
534066
534067
531*068
534069
534070
534071
534072
534073
534074
534075
534076
53^077
53^078
534079
53^*080
534081
531*082
534083
534084
531*085
531*086
534087
531*088
531*089
531.090
531*091
531*092
53i»093
531*091*
53A095
531*096
531*097
531*098
531*099
531*100
531*101
531*102
531*103
531*101*
531*105
531*106
531*107
531*108
531*109
53A110
531*111
531*112
531*113
53i*lU
534115
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C





C





C


C









C





C
C

TL(13, !»,!*) - TL ( ITL, ITLR, ITLT )

where 1 = IGTL and J * IVTL

RULBKK>(1*,1»,1») - RULBKK> ( ITLR, ITLT, IGTL )

where K = IVTL

Local array dictionary:

The TL arrays are the IGTL x IVTL subsets (currently 16) of the by
trip length running loss emission impact rates stored in TLEMI:

TLEMI (1,1,1,,) EQU to TL (1 , 1 , 1)

The RULBKK> 6 RULB2 arrays are the IVTL subsets of the trip length
weighted base running loss HC emissions stored in RULBAS:

RULBAS(1,1,1,) EQU to RULBKK> (1 , 1 , 1)

Notes:

BD 31* was added for MOBILE!*.


COMMON /RUNLS1/ TLVMT (13) , TLEMI (13,4,4,4,4) ,MAXTL
COMMON /RUNLS2/ TLCAN (13,1*,!*) ,TLCAP (13,1*,!*)
COMMON /RUNLS3/ RULBAS (1* , 1* , 1. , 1») .RULCAN (1», 4) ,RULCAP (!»,!*)
COMMON /RUNLS1*/ MYGRUL (4,4) .MAXRUL
COMMON /RUNLS5/ RULRVP (1*) ,RULTEM(1«)

DIMENSION
* TL11(13,l*,l*),TL12(13,l*,l*),TL13(13,l*,l*),TLllt(13,l*,l*),
* TL21 (13, !*,!*) ,TL22(13,1*,1») ,TL23 (13, !*,!*) ,TL24 (13,4,4) -
* TL31 (13, !*,!*) ,TL32 (13, !*,!*) ,TL33 03,4,4) ,TL34 (13,4,4) '
* TL1*1 (13, !»,!*) ,TL42(13,4,4) ,TLl*3 (13, !*,!*) ,TL44 (13, I*,**)

DIMENSION
* RULB11 (1*. !*,!*) , RULB1 2 (1*. !*,!*) ,RULB 13 (!*,!*, 4) .RULBH* (1*. !*,!*)

EQUIVALENCE
* (TLEMI (1,1 ,1,1,1) .Till (1,1,1)), (TLEMI (1 , 1 , 1 , 1 ,2) ,TL12 (1 , 1 , 1) ) ,
* (TLEMI (1, 1, 1, 2, D.TL21 (1,1,1)), (TLEMI (1 , 1 , 1 ,2,2) ,TL22 (1 , 1 , 1) ) ,
* (TLEMI (1, 1, 1, 3, O.TL31 (1,1.0), (TLEMI (1 , 1 , 1 ,3.2) ,TL32 (1 , 1 , 1) ) ,
* (TLEMI (1,1,1,4,1) .TLltl (1,1,0) , (TLEMI (1,1, 1,4, 2) ,TL42 (1 , 1 , 1) ) ,
* (TLEMI (1,1,1,1,3) ,TL 13 (1,1.0) , (TLEMI (1 , 1 , 1 , 1 ,4) ,TL14 (1 , 1 , 1) ) ,
* (TLEMI (1,1,1,2,3),TL23(1,1,0) , (TLEMI (1,1,1,2,4) ,TL24 (1 , 1 , 0) .
* (TLEMI (1,1,1,3.3).TL33(1,1.0).(TLEMI (1 , 1, 1 ,3.4) ,TL34 (1 , 1 , 1) ) .
* (TLEMI (1,1,1,4,3),TL43(1,1,U), (TLEMI (1. 1, 1,4,4) ,TL44(1 , 1 , 0)

EQUIVALENCE
* (RULBAS (1,1,1,1) .RULB1 1(1,1,0),
* (RULBAS (1,1, 1,2) .RULB12 (1,1,0) ,
* (RULBAS (1.1,1, 3) .RULB13 (1,U)).
* (RULBAS .(1,1, 1,4.) ,RULBl4(Ui,0)

/RUKILS1/i trip length data - input code may be added to all user's TLVM1

-------
                                           C-431

                        Appendix C:  MOBILES Block Data 34
May 5, 1989
534116
*3M17
•4118
334119
534120
534121
534122
534123
534124
534125
534126
534127
534128
534129
534130
534131
534132
534133
534134
534135
534136
534137
534138
534139
534140
534141
534142
C

C

C

C

C
C
C
C
C
C
C
C
C

C




C



534146
534147
534148
534149
534150
534151
534152
534153
534154
534155
534156
534157
534158
534159
534160
534161
534162
534163
534164
534165
534166
534167
534168
   «169
   170
   171
534172
534173
C
C
C
C
C
C
C
C
C
C
C
C
C
C




C




C





C




C
C
C

C




C




C




DATA TLVMT/
NYCC
1 0.0078,0.0405,0.0160,0.0105,0.0161,0.0456,
LA-4
2 0.0830,0.2046,0.1055,0.0996,0.0486,0.1943,
HFET
3 0.1279/
The continuation line code for TLEMI is ITLR:
1 = 7.0 2 = 9-0 3 = 10.4 4 = 11.7
Default values are assigned for 87F and 105F due
LDGV - up through 1977
DATA TL11/
80 degrees
1 0.34,0.45,0.49,0.49,0.41,0.28,0.31
2 0.65,0.79,0.70,0.76,0.62,0.41,0.59
3 0.78,1.13,1.41,1.66,1.32,0.93,0.71
4 1.32,2.25,3.06,4.48,4.14,3.44,1.20
87 degrees
1 13*0.49,
2 13*1.15,
3 13*2.04,
4 13*2.85,
95 degrees
1 0 . 84 , 1 . 43 , 1 . 44 , 1 . 38>, 1 . 1 7 , 1 . 06 , 0 . 77
2 1.96,3.10,2.99,2.99,2.78,2.78,1.78
3 1.93,3.22,3.61,6.30,5.44,4.94,1.76
4 2.76,6.08,7.85,12.11,11.83,10.74,2
4 .02,
105 degrees
1 13*1.60,
2 13*3.60,
3 13*4.10,
4 13*9. 87/

LDGV - 1978-80

DATA TL21/
80 degrees
1 0.29,0.38,0.36,0.40,0.35,0.24,0.26
2 0.55,0.67,0.51,0.62,0.53,0.36,0.49
3 0.67,0.96,1.03,1.35,1.12,0.82,0.60
4 1.13,1.91,2.23,3.64,3.50,3.04,1.01
87 degrees
1 13*0.42,
2 13*1.20,
3 13*1.70,
4 13*2,30,
95 degrees
1 0.81,1.40,1.32,1.21,1.06,0.97,0.74
2 1.89,3.04,2.74,2.64,2.52,2.56,1.71
3 1.65,2.73,2.64,5.12,4.60,4.37,1.48
•4 2.36,5.16,5.73,9.84,9.99,9.51,2.11

,0.
,0.
,1.
,2.






,1.
,2.
,3-
• 51











,0.
,0.
,0.
,1.






,1.
,2.
,2.
,5.

44
77
11
21






37
98
16
,5











37
65
94
87






34
92
68
05

,0.
,0.
,1.
,2.






,1.
,2.
,3.
• 97











,o.
,o.
,0.
,1.






,1.
,2.
,2.
,4,

44,
64,
27,
77,






37,
85,
27,
,7.











31,
45,
90,
95,






25,
60,
30,
99,
to insuff

0
0
1
2






1
2
4
1











0
0
0
2






1
2
2
5

•33,0.
.50,0.
.10,0.
.97,2.






.32,1.
.86,2.
.17,3-
1,8.02











.23,0.
.36,0.
.79,0.
.13,2.






.15,1.
.51,2.
.99,2.
.75,5.

27
40
85
65






11
64
48
,7











20
30
64
00






00
38
63
72
ici ent

,0.
,0.
,0.
,2.






,0.
,2.
,3.
.56











,0.
,0.
,0.
,1.






,0.
,2.
,2.
,6.

19,
28,
63,
34,






98,
58,
36,
,7.











16,
23,
53,
95,






90,
36,
80,
08,
data

.02,
.02,
.02,
.02,






.02,
.02,
.02,
31,











.02,
.02,
.02,
.02,






.02,
.02,
.02,
.02,

-------
                   C-432




Appendix C: MOBILE4 Block Data  31*
May 5, 1989
534 17^
534175
534176
534177
534178
534179
534180
534181
534182
53^83
534184
534185
5314186
534187
534188
534189
534190
534191
534192
534193
534194
534195
534196
534197
534198
534199
534200
534201
534202
534203
534204
534205
534206
534207
534208
534209
534210
534211
534212
534213
534214
534215
534216
534217
534218
534219
534220
534221
534222
534223
534224
534225
534226
534227
534228
534229
534230
534231
C 105 degrees
1 13*1-39.
2 13*2.88,
3' d 3*3. 23,
V !>7.90/
C
C LDGV - 1981 +
C
DATA TL31/
C 80 degrees
1 0.53,0.34,0
2 1.01 ,0.61,0
3 1.21,0.86,1
4 2.08,1.70,2
C 87 degrees
1 13*0.20,
2 13*0.40,
3 13*0.97,
4 13*1.60,
C 95 degrees
1 0.88,0.75.2
2 1.03,1.71,4
3 3.03,2.49,2
4 4.34,4.71,6
4 .02,
C 105 degrees
1 13*0.65,
2 13*2.05,
3 13*2.52,
4 13*5-657
C
•39,0.39,0
.58,0.61,0
.03,1.41,1
.13,3.00,3

.32,
.85,
.74,
.02,







C LDGT1 - up through
C
DATA TL127
C 80 degrees
1 0.34,0.45,0
2 0.65,0.79,0
3 0.78,1.13,1
4 1.32,2.25,3
C 87 degrees
1 13*0.49,
2 13*1.15,
3 13*2.04,
4 13*2.85,
C 95 degrees
1 0.84,1.43, 1
2 1.96,3.10,2
3 1-93,3.22,3
4 2.76,6.08,7
4 .02,
C 105 degrees
1 13*1.60,
2 13*3.60,
3 13*4.10,
4 13*9.87/
C
C LDGT1 - 1978-80
C



.49,
.70,
.41,
.06,






.44,
• 99,
.61,
.85,










1.87,1
4.10,3
4.73,5
9-08,1







1977



0.49,0
0.76,0
1.66,1
4.48,4






1.38,1
2.99,2
6.30,5
12.11,









.44,0
.68,0
.24,1
.76,4

.54,1
• 63,3
• 55,6
1.72,











.41,0
.62,0
.32,0
.14,3






.17,1
.78,2
.44,4
11.83









.38,0
• 59,0
.11,0
.28,0

.28,0
.40,0
.91,0
14.67











.28,0
.41,0
• 93,0
.44,1






.06,0
.78,1
.94,1
.11,0.
.20,0.
.24,0.
.42,0.

.17,0.
.40,0.
.61,0.
,0.87,











.31,0.
.59,0.
.71,1.
.20,2.






.77,1.
.78,2.
.76,3.
,10.74,2.51


















13,0.12,0
23,0.18,0,
33,0.36,0
65,0.78,1

18
40
93

,0.17,0
,0.35,0
,0.92,1
1.75,1.99











44
77
11
21






37
98
16
,5




















,0.44,0
,0.64,0
,1.27,1
,2.77.2






.1.37,1
,2.85,2
,3.27,4
.97,7-1









.13,0.13,0.13,
.20,0.20,0.20,
.43,0.43,0.44,
.18,1.35,1.61,

.17,0.
.38,0.
.67,1.
,3.20,











•33,0.
.50,0.
.10,0.
•97,2.






•32,1.
.86,2.
.17,3-

15,0.16,
37,0.42,
78,2.31,
.02,
.02,
.02,
.02,

.02,
.02,
.02,
3-87,5.01,











27,0.19,
40,0.28,
85,0.63,
65,2.34,






11,0.98,
64,2.58,
48,3-36,
1,8.02,7.56,7.





























.02,
.02,
.02,
.02,






.02,
.02,
.02,
31,










-------
                   C-433
Appendix C: MOBILES Block Data 34
May 5, 1989
534232
£34233
B4234
DATA TL22/
C 80 degrees
1 0.29,0.38,0.36,0
534235 2 0.55,0.67,0.51,0
534236
534237
534238
534239.
534240
534241
534242
534243
534244
534245
534246
534247
534248
534249
534250
534251
534252
534253
534254
534255
534256
534257
534258
334259
•4260
^4261
534262
534263
534264
534265
534266
534267
534268
534269
534270
534271
534272
534273
534274
534275
534276
534277
534278
534279
534280
534281
534282
534283
534284
534285
K4286
4287
534288
534289
3 0.67,0.96,
4 1.13,1.91.
C 87 degrees
1 13*0.42,
2 13*1.20,
3 13*1.70,
4 13*2.30,
C 95 degrees
1 0.81,1 .40,
2 1,89,3.04,
3 1.65,2.73,
4 2.36,5.16,
C 105 degrees
1 13*1.39,
2 13*2.88,
3 13*3.23,
4 13*7.90/
C
C LDGT1 - 1981+
C
DATA TL32/
C 80 degrees
1 0.44,0.23,
2 0.83,0.40,
3 1.00,0.57,
4 1.70,1.14,
C 87 degrees
1 13*0.06,
2 13*0.13,
3 13*0.30,
4 13*0.47,
C 95 degrees
1 0.30,0.63,
2 0.69,1 .38,
3 2.48,1.64,
4 3.54,3-09,
4 .02,
C 105 degrees
1 13*0.20,
2 13*0.62,
3 13*0.75,
4 13*1.737
C
1.03,
2.23,






1.32,
2.74,
2.64,
5-73,










0.26,
0.37,
0.75,
1.63,






2.19,
4.56,
1.93,
4.19,







C LDGT2 - up through
C
DATA TL137
C 80 degrees
1 0.34,0.45,
2 0.65,0.79,
3 0.78,1.13,
4 1,32,2.25,
C 87 degrees
1 13*0.43,
2 13*1,15,



0.49,
0.70,
1.41,
3.06,



1
3






l
2
5
9










0
0
0
2






1
3
3
6







.40,0.
.62,0.
.35,
.64,






.21,
.64,
.12,
.84,










• 25,
• 38,
.84,
.26,






.74,
.79,
.17,
.10,







1.
3-






l .
2.
4.
9.










0.
0.
0.
2.






1.
3-
3-
8.







1978



0
0
1
4






.49,
.76,
.66,
.48,






0.
0.
1.
4.



                35,0.24,0.26,0.37,0.31,0.23,0.20,0.16,.02,
                53,0.36,0.49,0.65,0.45,0.36,0.30,0.23,.02,
                12,0.82,0.60,0.94,0.90,0.79,0.64,0.53,.02,
                50,3.04,1.01,1.87,1.95,2.13,2.00,1.95,.02,
                06,0.97,0.74,1.34,1.25,1.15,1.00,0.90,.02,
                52,2.56,1.71,2.92,2.60,2.51,2.38,2.36,.02,
                60,4.37,1.48,2.68,2.30,2.99,2.63,2.80,.02,
                99,9-51,2.11,5.05,4.99,5-75,5-72,6.08,.02,
                29,0.26,0.01,0.01,0.01,0.01,0.01,0.01,.02,
                43,0.39,0.01,.02,0.01,0.01,.02,0.01,.02,
                91,0.87,.02,0.03,0.03,0.03,0.03,0.03,.02,
                85,3-21,0.03,0.05,0.06,0.08,0.10,0.12,.02,
                40,1.17,0.03,0.03,0.03,0.03,0.03,0.03,.02,
                34,3-07,0.06,0.07,0.06,0.07,0.08,0.09,.02,
                74,4.62,0.05,0.07,0.07,0.11,0.13,0.17,.02,
                13,10.04,0.07,0.13,0.16,0.22,0.28,0.38,
                .41,0.28,0.31,0.44,0.44,0.33,0.27,0.19,.02,
                .62,0.41,0.59,0.77,0.64,0.50,0.40,0.28,.02,
                .32,0.93,0.7l,l.ll,1.27,l,lO,0.'8'S;6^§3,.02,
                .14,3.44,1.20,2.21,2.77,2.97,2.'6'^;|;|4,.02,

-------
                   C-434
Appendix C:  MOBILES Block Data 3**
May 5, 1989
534290
534291
534292
534293
534294
534295
534296
534297
534298
534299
534300
534301
534302
534303
534304
534305
534306
534307
534308
534309
534310
53431 l
534312
534313
534314
534315
534316
534317
534318
534319
534320
534321
534322
534323
534324
534325
534326
534327
534328
534329
534330
534331
534332
534333
534334
534335
534336
534337
534338
531*339
534340
53431*1
534342
53431*3
534344
534345
534346
534347
3 13*2.04,
4 13*2.85,
C 95 degrees
1 0.84, 1 .43, 1 .
2 1.96,3.10,2.
3 1.93,3.22,3.
4 2.76,6.08,7.
4 .02,
C 105 degrees
1 13*1.60,
2 13*3.60,
3 13*4.10,
4 13*9.87/
C
C LDGT2 - 1979-80
C
DATA TL23/
C 80 degrees
1 0.29,0.38,0.
2 0.55,0.67,0.
3 0.67,0.96,1.
4 1.13,1.91,2.
C 87 degrees
1 13*0.42,
2 13*1.20,
3 13*1.70,
4 13*2.30,
C 95 degrees
1 0.81,1.40,1.
2 1.89,3.04,2.
3 1.65,2.73,2.
4 2.36,5.16,5.
C 105 degrees
1 13*1.39,
2 13*2.88,
3 13*3.23,
4 13*7.90/
C
C LDGT2 - 1981+
C
DATA TL33/
C 80 degrees
1 0.44,0.23,0.
2 0.83,0.40,0.
3 1.00,0.57,0.
4 1.70,1.14,1.
C 87 degrees
1 13*0.06,
2 13*0.13,
3 13*0.30,
4 13*0.47,
C 95 degrees
1 0.30,0.63,2,
2 0.69,1.38,4.
3 2.48,1.64,1.
1* 3.54,3.09,4.
4 .02,
C 105 -degrees
      44,1.38,1.17,1.06,0.77,1-37,1-37,1-32,1.11,0.98,.02,
      99,2.99,2.78,2.78,1.78,2.98,2.85,2.86,2.64,2.58,.02,
      61,6.30,5-44,4.94,1.76,3.16,3.27,4.17,3.48,3.36,.02,
      85,12.11,11.83,10.74,2.51,5.97,7.11,8.02,7.56,7.31,
      36,0.40,0.35,0.24,0.26,0.37,0.31,0.23,0.20,0.16,.02,
      51,0.62,0.53,0.36,0.49,0.65,0.45,0.36,0.30,0.23,.02,
      03,1.35,1.12,0.82,0.60,0.94,0.90,0.79,0.64,0.53,.02,
      23,3.64,3-50,3-04,1.01,1.87,1.95,2.13,2.00,1.95,.02,
      32,1.21,1.06,0.97,0.74,1.34,1.25,1.15,1.00,0.90,.02,
      74,2.64,2.52,2.56,1.71,2.92,2.60,2.51,2.38,2.36,.02,
      64,5-12,4.60,4.37,1.48,2.68,2.30,2.99,2.63,2.80,.02,
      73,9.84,9.99,9-51,2.11,5-05,1*.99,5-75,5-72,6.08,.02,
      26,0.25,0.29,0.26,0.01,0.01,0.01,0.01,0.01,0.01,.02,
      37,0.38,0.43,0.39,0.01,.02,0.01,0.01,.02,0.01,.02,
      75,0.84,0.91,0.87,.02,0.03,0.03,0.03,0.03,0.03,.02,
      63,2.26,2.85,3.21,0.03,0.05,0.06,0.08,0.10,0.12,.02,
       19,1.74,1.40,1.17,0.03,0.03,0.03,0.03,0.03,0.03,.02,
       56,3-79,3-34,3.07,0.06,0.07,0.06,0,0?,0,08,0.03,.02,
       93,3-17,3-74,4.62,0.05,0.07,0.07,0.11,0.13,0.17,.02,
       19,6.10,8.13,10.04,0.07,0.13,0.16,0.22,0.28,0.38,

-------
                   C-435



Appendix C: MOBILE** Block Data  34
May 5, 1989
534348
£34349
B4350
334351
534352
534353
534354
534355
534356
534357
534358
534359
534360
534361
534362
534363
534364
534365
534366
534367
534368
534369
534370
534371
534372
534373
534374
J34375
134376
"34377
534378
534379
534380
534381
534382
534383
534384
534385
534386
534387
534388
534389
534390
534391
534392
534393
534394
534395
534396
534397
534398
534399
534400
5341*01
•34402
^34403
534404
534405
1 13*0.20,
2 13*0.62,
3 13*0.75,
4 13*1.737
C
C HDGV - up through
C
DATA TL14/
C 80 degrees
1 0.34,0.45,0.49
2 0.65,0.79,0.70
3 0.78, 1.13,1.41
4 1.32,2.25,3.06
C 87 degrees
1 13*0.49,
2 13*1.15,
3 13*2.04,
4 13*2.85,
C 95 degrees
1 0.84,1.43,1.44
2 1.96,3.10,2.99
3 1.93,3.22,3.6!
4 2.76,6.08,7.85
4 .02,
C 105 degrees
1 13*1.60,
2 13*3.60,
3 13*4.10,
4 13*9.87/
C
C HDGV - 1985+
C
DATA TL24/
C 80 degrees
1 0.29,0.38,0.36
2 0.55,0.67,0.51
3 0.67,0.96,1.03
4 1.13,1.91,2.23
C 87 degrees
1 13*0.42,
2 13*1.20,
3 13*1-70,
4 13*2.30,
C 95 degrees
1 0.81,1.40,1.32
2 1.89,3.04,2.74
3 1.65,2.73,2.64
4 2.36,5.16,5.73
C 105 degrees
1 13*1-39,
2 13*2.88,
3 13*3.23,
4 13*7.907
C
1984

,0.49,
,0.76,
,1.66,
,4.48,






,1.38,
,2.99,
,6.30,
,12.11











,0.40,
,0.62,
,1.35,
,3-64,






,1.21,
,2.64,
,5.12,
,9-84,








0.41,0
0.62,0
1.32,0
4.14,3






1.17,1
2.78,2
5-44,4
,11.83











0.35,0
0.53,0
1.12,0
3.50,3






1.06,0
2.52,2
4.60,4
9.99,9








.28,0.
.41,0.
.93,0.
.44, 1 .






.06,0.
.78,1.
.94,1.
,10.74











.24,0.
.36,0.
.82,0.
.04,1.






•97,0.
.56,1.
.37,1.
•51,2.








31,
59,
71,
20,






77,
78,
76,
,2.











26,
49,
60,
01,






74,
71,


0.44,
0.77,
1.11,
2.21,






1.37,
2.98,
3.16,
51,5-











0.37,
0.65,
0.94,
1.87,






1.34,
2.92,
48,2.68,
11,5-05,














0.44,0,
0.64,0
1.27,1
2.77,2






1.37,1
2.85,2
3-27,4
97,7-1











0.31,0
0.45,0
0.90,0
1.95,2






1.25,1
2.60,2
2.30,2
4.99,5








•33,0.
.50,0.
.10,0.
•97,2.






.32,1.
.86,2.
.17,3-
1,8.02











.23,0.
.36,0.
.79,0.
.13,2.






.15,1.


27,0
40,0
85,0
65,2






11,0
64,2
48,3


.19,
.28,
.63,
• 34,






• 98,
• 58,
• 36,
,7.56,7.











20,0
30,0
64,0
00,1






00,0
.51,2.38,2
.99,2.63,2
.75,5.72,6























.16,
.23,
• 53,
.95,






.90,
.36,
.80,
.08,








.02,
.02,
.02,
.02,






.02,
.02,
.02,
31,











.02,
.02,
.02,
.02,






.02,
.02,
.02,
.02,






DATA TL34/208*0.007
C
DATA MAXTL/13/
C































-------
                   C-436



Appendix C: MOBILES Block Data 34
May 5, 1989
534406
534407
534408
534409
531*1*10
531*1*11
531*1*12
534413
531*1*11*
534415
531*1*16
534417
534418
534419
534420
531*1*21
534422
534423
531*1*24
53^1*25
531*1*26
534427
534428
53^29
534430
534431
534432
534433
534434
534435
534436
534437
534438
534439
534440
534441
534442
534443
534444
53441*5
53441*6
534447
53441*8
534449
534450
534451
534452
534453
534454
534455
534456
534457
534458
534459
534460
534461
534462
534463
C
C
C
C
C
C
C
C
C
C
C
C

C




C




C





C




C
C
C
C

C




C




C




C



/RUNLS2/: tampered


The continuation 1

1 = 7.0 2 = 9.0

Default values are

Tampering emission
combi ned wi th the

DATA TLCAN/
80 degrees
1 0.25,0.45,0.1*3
2 0.47,0.78,0.6!
3 0.57,1.12,1.23
4 0.96,2.24,2.67
87 degrees
1 13*0.42,
2 13*1.30,
3 13*2.36,
4 13*3-37,
95 degrees
1 0.1*0,1.22,1.35
2 0.94,2.66,2.81
3 1.39,3.21,3.15
4 1.99,6.05,6.85
4 0.0,
105 degrees
1 13*1.85,
2 13*4.29,
3 13*4-97,
4 13*11.977

Tampering emission
combined with the

DATA TLCAP/
80 degrees
1 13*0.60,
2 13*1.23,
3 13*2.09,
4 13*3.62,
87 degrees
1 13*0. 81*.
2 13*1.85,
3 13*3.43,
4 13*17.28,
95 degrees
1 13*1.28,
2 13*3.31,
3 13*15.30,
-4 13*44.93,
105 degrees
1 13*2.44,
2 13*15.58,
3 13*28.51,
running loss data


ine code for TLCAN & TLCAP is ITLR:

3 = 10.1* k = 11.7

assigned for 87F and 105F due to insufficient data.

impacts (for evaporative cannjster removal, 1 D=6) ,
corresponding tampering rate from THS to get the offset



,0.39,0.37,0.32,0.25,0.1.5,0.43,0.39,0.37,0.32,0.0,
,0.60, 0.55, 0.48, 0.47, 0.78,0.. 6 1,0. 60, 0.55, 0.48, 0.0,
,1.31,1.17,1.07,0.57,1.12,1.23,1.31,1.17,1.07,0.0,
,3.53,3.65,3.96,0.96,2.24,2.67,3.53,3.65,3.96,0.0,






,1.27,1.01,0.80,0.40,1.22,1.35,1.27,1.01,0.80,0.0,
,2.77,2.40,2.10,0.94,2.66,2.81,2.77,2.40,2.10,0.0,
,4.96,4.80,5.69,1.39,3.21,3.15,4.96,4.80,5.69,0.0,
,9.54,10.43,12.38,1.99,6.05,6.85,9.54,10.43,12.38,







impacts (for evaporative gas cap removal, 1D=8),
corresponding tampering rate from THS to get the offset






















-------
                   C-437



Appendix C: MOBILES Block Data 34
May 5, 1989
534464
^4465
K4466
334467
53^68
534469
534470
534471
53^472
534473
534474
534475
534476
534477
534478
534479
534480
534481
534482
534483
534484
534485
534486
534487
534488
534489
534490
i34491
A4492
^4493
534494
534495
534496
534497
534498
534499
534500
534501
534502
534503
534504
534505
534506
534507
534508
534509
534510
534511
53^512
534513
534514
534515
534516
£345 17
^4518
"4519
534520
534521
C
C
C
C
C
C
C
C
C
C

C




C




C




C




C
C

C




C




C




C




C
C

4 13*44. 93/
/RUNLS3/: RULBAS

's values are used as

The continuation line

1 « 80 2 = 87


RVP:
LDGV
DATA RULB11/
up through 1970
1
2
3
4
1971 - 1977
1
2
3
4
1978 - 1980
1
2
3
4
1981+
1
2
3
4

LDGT1
DATA RULB12/
up through 1970
1
2
3
4
1971 - 1977
1
2
3
4
1978 - 1980
1
2
3
4
1981+
1
2
3
4

LDGT2
DATA RULB13/

3


7.0



0.36,
0.52,
1.13.
2.16,

0.30,
0.49,
1.04,
1 .60,

0.24,
0.42,
0.97,
1.39,

0.15,
0.20,
0.30,
0.65,




0.36,
0.52,
1.13,
2.16,

0.30,
0.49,
1 .04,
1 .60,

0.24,
0.42,
0.97,
1.39,

0.05,
0.06,
0.18,
0.20,




code

= 95


9.0



0.58
1.50
2.62
4.81

0.49
1.15
2.37
3.60

0.39
1.20
2.21
2.88

0.24
0.40
0.70
2.05




0.58
1.50
2.62
4.81

0.49
1.15
2.37
3.60

0.39
1.20
2.21
2.88

0.07
0.13
0.42
0.62




for RULBAS

4 = 105


10.4



, 1.06,
, 2.70,
, 4.00,
, 5-63, 1

, 0.85,
, 2.04,
, 2.96,
, 4.10,

, 0.68,
, 1.70,
, 2.38,
, 3-23,

, 0.42,
, 0.97,
, 1.66,
, 2.52,




, 1.06,
, 2.70,
, 4.00,
, 5.63, 1

, 0.85,
, 2.04,
, 2.96,
, 4.10,

, 0.68,
, 1.70,
, 2.38,
, 3-23,

, 0.13,
, 0.30,
, 0.50,
, 0.75,



is, unless replaced via TLFLAG=2

, RULCAN and RULCAP is fTLT:




11.7



2.88,
3-85,
8.20,
3.64,

2.15,
2.85,
5.97,
9-87,

1.72,
2.30,
4.79,
7-90,

1.16,
1.60,
3.40,
5.65X




2.88,
3.85,
8.20,
3-64,

2.15,
2.85,
5-97,
9.87,

1.72,
2.30,
4.79,
7.90,

0.36,
0.47,
1.03,
1.73/




-------
                   C-438
Appendix C: MOBILES Block Data 34
May 5, 1989
534522
534523
534524
534525
534526
531*527
534528
534529
534530
534531
534532
534533
534534
534535
534536
531*537
534538
534539
5345i*0
53451* 1
534542
53451*3
534544
53451*5
534546
534547
534548
534549
534550
534551
534552
53^553
53i»55^
53^555
53^556
531*557
531*558
531*559
531*560
531*561
531*562
531*563
531*561.
531*565
531*566
531*567
531*568
531*569
531*570
531«571
531*572
531*573
531»571*
531*575
531*576
531*577
53i»578
531*579
C up through 1978
1 0.36, 0.58,
2 0.52, 1.50,
3 1.13, 2.62,
1* 2.16, 4.81,
c 1978 - 1980
1 0.21., 0.39,
2 0.42, 1.20,
3 0.97, 2.21,
4 1.39, 2.88,
c 1981+
1 0.05, 0.07,
2 0.06, 0.13,
3 0.18, 0.42,
k 0.20, 0.62,
C LDGT2 has only 3 MYGs.
* 16*0.00/
C
C HDGV
DATA RULB14/
C up through 1984
1 0.36, 0.58,
2 0.52, 1.50,
3 1.13, 2.62,
4 2.16, 4.81,
c i 985+
1 0.24, 0.39,
2 0.42, 1.20,
3 0.97, 2.21,
4 1.39, 2.88,
C HDGV has only 2 MYGs.
* 32*0.00/
C
DATA RULCAN/
1 0.33, 0.52,
2 0.42, 1.30,
3 0.90, 2.04,
4 1.85, 4.29,
C
DATA RULCAP/
1 0.60, 1.23,
2 0.84, 1.85,
3 1.28, 3.31,
4 2.44, 15.58,
C
C /RUNLS4/: The continuation 1
C
DATA MYGRUL/
1 1970,1977,1980,2020,
2 1970,1977,1980,2020,
3 1978,1980,2020,0000,
4 1984.2020.0000.0000/
C
DATA MAXRUL/4/
C
C /RUNLS5/:
C
DATA RULRVP/7.0,9.0,10.4,

1.06,
2.70,
4.00,
5-63,

0.68,
1.70,
2.38,
3-23,

0.13,
0.30,
0.50,
0.75,






1.06,
2.70,
4.00,
5.63,

0.68,
1.70,
2.38,
3.23,




0.95,
2.36,
3.52,
4.97,


2.09,
3.43,
15.30,
28.51,

ine code











11.77

2.88,
3.85,
8.20,
13-64,

1.72,
2.30,
4.79,
7.90,

0.36,
0.47,
1.03,
1.73,






2.88,
3.85,
8.20,
13.64,

1.72,
2.30,
4.79,
7-90,




2.54,
3.37,
7-19,
11.977


3-62,
17.28,
44.93,
44.937

for MYGRUL












                                       is  IVTL,

-------
                                            C-**39

                         Appendix C: MOBILE**  Block  Data J>k                        May 5,  1989
5314580            DATA  RULTEM/80.0,8?.0,95.0,105.0/
  1*581     c
  1*582            END

-------