P.1 

OAR Box 1830 

Prepped by Ollie Stewart 

Document Number: 

170) IV-C-137 

Docket Number: 

A-87-11 

Printed 11/13/2008 7:21:00 AM Sheet 170 of 232 
P.2 

-DT-C-/37 

UNITED STATES ENVIRONMENTAL PROTECTION AGENCY 

ANN ARBOR. MICHIGAN 48105 

OFFICE OF 

AIR AND RADIATION 

OCT 2 0 "^ 

Dr. Marcel Halberstadt 

Motor Vehicle Manufacturers Association 

300 New Center Building 

Detroit, MI 48202 

Dear Dr. Halberstadt: 

Please find enclosed documentation and computer code for 

the evaporative emissions model discussed at the public 

workshop, "Modifications to Evaporative and Refueling Test 

Procedures for the Control of Excess Evaporative Emissions" 

held on June 30, 1988. This release of the model documents the 

basis for EPA estimates of evaporative emission canister sizes 

and performance presented at the workshop. It will be 

appreciated if you can distribute copies of the model 

documentation and computer code to your member organizations. 

Sincerely yours, 

Charles L. Gray/ Jr. 

Director 

Emission Control Technology Division 

Enclosure 

cc: Docket A-85-21 

Docket A-87-11 

6489W 

e w*^!£* 
P.3 

UNITED STATES ENVIRONMENTAL PROTECTION AGENCY 

ANN ARBOR. MICHIGAN 48105 

%«* * 

OFFICE OF 

AIR AND RADIATION 

OCT 2 0 

Mr. Gregory J. Dana, Technical Director 

Automobile Importers of America, Inc. 

1725 Jefferson Davis Highway 

Suite 1002 

Arlington, VA 22202 

Dear Mr. Dana: 

Please find enclosed documentation and computer code for 

the evaporative emissions model discussed at the public 

workshop, "Modifications to Evaporative and Refueling Test 

Procedures for the Control of Excess Evaporative Emissions" 

held on June 30, 1988. This release of the model documents the 

basis for EPA estimates of evaporative emission canister sizes 

and performance presented at the workshop. It will be 

appreciated if you can distribute copies of the model 

documentation and computer code to your member organizations. 

Sincerely yours, 

Charles L. Gray, J1 

Director 

Emission Control Technology Division 

Enclosure 

cc: Docket 

Docket 

A-85-21 

A-87-11 

6489W 
P.4 

9 4% \ UNITED STATES ENVIRONMENTAL PROTECTION AGENCY 

\5SZr >

 AN N ARBOR ' MICHIGAN 48105 

'«IP«C** 

OFFICE OF 

AIR AND RADIATION 

OCT 2 0 

Ms. Carol W. Scott, Program Manager 

Health & Environmental Affairs 

American Petroleum Institute 

1220 L Street, NW 

Washington, DC 20005 

Dear Ms. Scott: 

Please find enclosed documentation and computer code for 

the evaporative emissions model discussed at the public 

workshop, "Modifications to Evaporative and Refueling Test 

Procedures for the Control of Excess Evaporative Emissions" 

held on June 30, 1988. This release of the model documents the 

basis for EPA estimates of evaporative emission canister sizes 

and performance presented at the workshop. It will be 

appreciated if you can distribute copies of the model 

documentation and computer code to your member organizations. 

Sincerely yours, 

<- Charles L. Gray, , 

Director ' 

Emission Control Technology Division 

Enclosure 

cc: Docket A-85-21 

Docket A-87-11 

6489W 
P.5 

A \ UNITED STATES ENVIRONMENTAL PROTECTION AGENCY 

ANN ARBOR. MICHIGAN 48105 

OFFICE OF 

AIR AND RADIATION 

OCT 2 0 !988 

Mr. Tom Cackette 

California Air Resources Board 

P.O. Box 2815 

Sacramento, CA 95812 

Dear Mr. Cackette: 

Please find enclosed documentation and computer code for 

the evaporative emissions model discussed at the public 

workshop, "Modifications to Evaporative and Refueling Test 

Procedures for the Control of Excess Evaporative Emissions" 

held on June 30, 1988. This release of the model documents the 

basis for EPA estimates of evaporative emission canister sizes 

and performance presented at the workshop. 

Sincerely yours, 

Charles L. Gray, Jr. 

Director 

Emission Control Technology Division 

Enclosure 

cc: Docket A-85-21 

Docket A-87-11 

6486W 
P.6 

|» A \ UNITED STATES ENVIRONMENTAL PROTECTION AGENCY 

I 22ri ANN ARBOR. MICHIGAN 48105 

OFFICE OF 

AIR AND RADIATION 

OCT 2 0 1988 

Mr. Rob Klausmeier 

Senior Staff Engineer 

Radian Corporation 

8501 Mo-Pac Blvd. 

P.O. Box 201088 

Austin, TX 78720-10878 

Dear Mr. Klausmeier 

Please find enclosed documentation and computer code for 

the evaporative emissions model discussed at the public 

workshop, "Modifications to Evaporative and Refueling Test 

Procedures for the Control of Excess Evaporative Emissions" 

held on June 30, 1988. This release of the model documents the 

basis for EPA estimates of evaporative emission canister sizes 

and performance presented at the workshop. 

Sincerely yours, 

Charles L. Gray, Jr. 

Director 

Emission Control Technology Division 

Enclosure 

cc: Docket A-85-21 

Docket A-87-11 

6486W 
P.7 

'/A \ UNITED STATES ENVIRONMENTAL PROTECTION AGENCY A i 

^gf2. 3 ANN ARBOR. MICHIGAN 48105 

OFFICE OF 

AIR AND RADIATION 

OCT 2 0 '988 

Mr. Samuel Leonard, Director 

Automotive Emission Control 

Environmental Activities Staff 

General Motors Corporation 

30400 Mound Road 

Warren, MI 48090-9015 

Dear Mr. Leonard: 

Please find enclosed documentation and computer code for 

the evaporative emissions model discussed at the public 

workshop, "Modifications to Evaporative and Refueling Test 

Procedures for the Control of Excess Evaporative Emissions" 

held on June 30, 1988. This release of the model documents the 

basis for EPA estimates of evaporative emission canister sizes 

and performance presented at the workshop. 

Sincerely yours, 

Charles L. Gray', Jr 

Director 

Emission Control Technology Division 

Enclosure 

cc: Docket A-85-21 

Docket A-87-11 

6486W 
P.8 

UNITED STATES ENVIRONMENTAL PROTECTION AGENCY 

ANN ARBOR. MICHIGAN 48105 

OFFICE OF 

AIR AND RADIATION 

OCT 2 o m 

Mr. Walt Kruecher 

Environmental and Safety 

Engineering Staff 

Ford Motor Company 

The American Road 

Dearborn, MI 48120 

Dear Mr. Kruecher: 

Please find enclosed documentation and computer code for 

the evaporative emissions model discussed at the public 

workshop, "Modifications to Evaporative and Refueling Test 

Procedures for the Control of Excess Evaporative Emissions" 

held on June 30, 1988. This release of the model documents the 

basis for EPA estimates of evaporative emission canister sizes 

and performance presented at the workshop. 

Sincerely yours, 

Charles L. Gra} 

Director 

Emission Control Technology Division 

Enclosure 

cc: Docket A-85-21 

DoO&et A-87-11 

6486W 
- «N -<» - » H I !• < I 

UNITED STATES 

ENVIRONMENTAL PROTECTION AGENCY 

A N N ARBOR, MICHIGAN 4B103 

OFFICIAL BUSINESS 

PENALTY FOR PRIVATE USE. S300 

A N EQUAL OPPORTUNITY EMPLOYER 

ft 

<££. 

~%. 

% 

0 

"-si 

1 

T) 

CD 
P.10 

PT Evaporative Emissions Model 

Description and Users Guide 

September, 1988 

David B. Bartus 

Standards Development and Support Branch 

Emission Control Technology Division 

Office of Mobile Sources 

Office of Air and Radiation 

U.S. Environmental Protection Agency 

IV-D-/37 

kpi-i^' j • _ 
P.11 

I Introduction 1 

II Model Description 3 

A) Introduction 3 

B) Input Data 3 

1) Scalar Data 3 

a) Tank Size 3 

b) Canister Size 4 

c) Initial Canister Load 4 

d) Maximum Purge Rate 4 

e) Diurnal Canister Load 4 

f) Hotsoak Canister Load 5 

g) Purge Delay 5 

h) Horsepower Correlation Parameters 5 

i) Drive Schedule Data File Name 5 

j) Vapor Generation Data File Names 5 

k) Event Data File Name 6 

1) Log Output File Name 6 

m) Plot Output File Name 6 

n) Purge Type Rag 6 

2) Tabular Data 6 

a) Drive Schedule Table ....6 

b) Canister Purge Table 6 

c) Vapor Generation Table 7 

3) Event Data 7 

a) Diurnal Events 7 

b) Hotsoak Events 8 

c) Drive Events 8 

C) Model Operation and Structure 10 

1) Model Operation 10 

2) Model Structure 12 

3) Component Description 14 

a) Ptdihs 14 

b) Ptdrive 14 

c) Getpurge 15 

d) Getspeed 16 

e) Gethp 16 

f) Getfuel 16 

g) Getvpr 17 

h) Dopurge 17 

III Users Guide 19 

A) Overview 19 

B) Data File Preparation 19 

1) Input Data Preparation 19 

2) Tabular Data Preparation 21 

a) Drive Schedule Table 21 

b) Canister Purge Table 21 
P.12 

c) Vapor Generation Table 22 

3) Event Data Preparation 24 

C) Program Use 25 

1) Running the Model 25 

3) Output Description 27 

a) Terminal Output 27 

b) Log File Output 29 

c) Plot File Output 30 

D) Program Generation and Modification 30 

1) Program Generation 31 

2) Program Modification 31 

IV References 33 

V Appendices 34 

A) Distribution Disk Contents and Model Installation 34 

1) Distribution Disk Contents 34 

2) Model Installation 35 

B) Refueling/Excess Evaporative Emissions Workshop Data 38 

1) Introduction 38 

2) Input Data 38 

a) Scalar Data 38 

b) Tabular Data 38 

c) EventData 39 

C) Sample Runs 40 

1) Description 40 

2) Testl Sample Run Data 40 

3) Test2 Sample Run Data 47 

D) Vapor Generation and Temperature Profile Data 52 

1) Emissions Modelling 52 

2) Diurnal Uncontrolled Emissions 52 

3) Hotsoak Uncontrolled Emissions 52 

4) Vapor Generation 53 
P.13 

I Introduction 

The PT model is a set of computer algorithms and associated data that can be used to 

simulate the behavior and performance of evaporative emissions control systems. The 

model is based on an accounting system that includes sources of hydrocarbon vapors in a 

vehicle, such as the fuel tank, vapor storage devices, such as the charcoal canister, and 

finally, vapor sinks, such as the engine/purge control system. During simulation of 

various evaporative emissions events, the behavior of these vehicle components is 

predicted, and a continuous history is maintained of the carbon canister storage device. A 

key feature of the model is that it makes use of instantaneous driving schedule velocities 

and accelerations, in contrast to average values, so that interactions between driving 

patterns, purge control, fuel tank vapor generation and charcoal adsorption characteristics 

can be realistically simulated. 

The PT model is intended to serve three purposes. The first is to estimate evaporative and 

running loss emissions from a single vehicle in response to a specified set of events, fuel 

tank and canister characteristics, and purge control strategy. The second is to serve as a 

design tool to evaluate various vehicle emissions test procedures and to determine canister 

sizes and purge rates needed to pass given procedures. Finally, the model is intended to 

provide estimates of instantaneous engine fuel requirements and of unmetered fuel 

provided during canister purge. These values can assist in estimating the impact of 

evaporative emissions control systems on exhaust pollutants. 

Because the model was constructed primarily as a tool to evaluate evaporative emissions 

test procedures, several aspects of evaporative emissions have not been explicitly modelled. 

The first of these is the response of fuel system temperatures to ambient temperature and 

vehicle operating mode. Temperature effects, however, are implicitly accounted for in this 

model through appropriate specification of hot soak and diurnal emissions, as well as 

running loss vapor generation. A second aspect of evaporative emissions that has not been 

explicitly modelled is fuel system pressure. Fuel system pressures are assumed to remain 

at a constant value during all phases of simulation and the corresponding vehicle operating 

events. As with fuel system temperature, the influence of pressure on evaporative 

emissions can be implicitly accounted for through appropriate specification of hydrocarbon 

vapor generation values. 

There are two additional consequences of the model having been developed as an 

evaluation tool. The first of these is that the model has been subject to numerous revisions 

and enhancements, including several significanl ones since the June 30, 1988 public 

workshop[2] at which the model was first presented.. This report describes the model in 

its state of development as of September, 1988. It is likely that further modifications will 

be made in in the future. The second of these consequences is that emphasis has been 

placed on functionality rather than appearance. In the model itself, for example, basic error 

checking has been included, but exhaustive verification of all input data has not. Although 

graphical display of certain model outputs is useful, only tabular output of these data is 

generated by the model. Users may incorporate these data into their preferred graphics 

package in order to generate any desired plots. In the report, the function and format of all 

input data is described, but specification of methods for generating specific numerical 

values are omitted in some instances. In these cases, the needed data may be obtained from 

sources ranging from laboratory data to computer simulations, according to the resources 

available to the user. Finally, in many instances, "in-use average" values for input 

variables are not provided, since the model will often be used to simulate vehicles and test 

procedures for which such data are not available. 
P.14 

This document is divided into two major sections. In Section II, Model Description 

the data required by the model is discussed, along with structure and operation of the 

model In Section UI, "Users Guide," specific details of how the model can be used are 

provided[.including preparation of data files, running the model itself, error determination, 

and interpretation of output. 
P.15 

II Model Description 

This section provides descriptions of the PT model, input data required by it, and how 

these data are used during simulations. Section A, "Introduction," gives a general 

overview of the model and its operation. Section B, "Input Data," discusses in detail the 

various data items and tables that must be supplied to the model. Finally, Section C, 

"Model Operation and Structure," describes the detailed calculation steps carried out 

by the model, and the structure and algorithms used by it. 

A) Introduction 

In the most general sense, the PT model consists of a set of computational algorithms, and 

a number of data sets upon which these algorithms operate. In practical terms, the 

computational algorithms are embodied in a computer program, and the sets of data are 

stored as numbers and text in computer data files. The model carries out simulations by 

first reading data files that describe the vehicle to be simulated and its initial condition, the 

behavior of vehicle components associated with evaporative emissions. Next, the model 

reads, in a sequential fashion, a series of events that a simulated vehicle is to experience. 

During simulation of each event, the model calculates the quantity of hydrocarbon vapors 

generated, how much of these are loaded to or purged from the charcoal canister, and the 

quantity of vapors burned by the engine. At the end of each simulated event, summaries of 

simulation results from the event and the current state of the simulated vehicle are generated 

and displayed. 

B) Input Data 

This section describes the various data items that are required by the PT model, the 

expected data format, if any, and the source of data for each item or table. Model input data 

can be divided into three types: scalar, tabular, and event. Scalar data, described below in 

section 1, "Scalar Data," is generally vehicle-specific, while tabular data, described in 

section 2, "Tabular Data," is either mostly or totally vehicle independent. Event data, 

described below in section 3, "Event Data," is vehicle dependent, but will vary slightly 

in response to fuel vapor pressure. 

1) Scalar Data 

Scalar data items consist of a single value or a small but fixed number of data items. These 

data values generally describe vehicle components, their behavior, or their condition at the 

start of a simulation. Some values are dependent only on the vehicle to be simulated (fuel 

tank size, for example), while others depend on fuel characteristics as well (diurnal and 

hotsoak canister loads). Fuel-dependent data values can be obtained from experimental 

data, or from modelling results. Care must be exercised, however, that such data be 

obtained on a consistent basis with the vehicle to be simulated by the PT model. Each 

scalar data item required by the PT model is described below. 

a) Tank Size 

This data item specifies the nominal usable liquid volume, in gallons, of the fuel tank in the 

vehicle to be modelled. The value specified must lie within the range of 0.0<(Tank Size) 

<100.0. Neither the free headspace nor the fill level is explicitly specified in the model. 

Both of these values are implicitly accounted for in the values specified for diurnal and 
P.16 

hotsoak canister loads and for values contained in the vapor generation table. Further 

descriptions of these latter values can be found below. 

b) Canister Size 

This data item specifies the carbon canister size, in liters of charcoal, of the canister in the 

vehicle to be modelled. The value specified must lie within the range of 0.0<(Canister 

Size)<50.01. The type and load/purge characteristics of the charcoal is implicitly specified 

through die canister purge table, described below. 

c) Initial Canister Load 

This data item specifies the initial loading at the start of simulation, in percent of total 

capacity, of the canister in the vehicle to be modelled. The value specified must lie within 

the range of 0.0<(lnitial Load)<=100.0. A value of 0.0 corresponds to a fully purged 

canister, while a value of 100.0 corresponds to a fully loaded canister. Normally, an 

initial canister loading slightly less than 100.0 percent (99.0, for example) is specified to 

avoid anomalous predictions of uncontrolled hydrocarbon venting during the first few 

seconds of a drive that begins with a fully loaded canister. 

d) Maximum Purge Rate 

This data item specifies the maximum canister purge rate, in standard cubic feet per minute, 

characteristic of the vehicle to be modelled. The value specified must be greater than zero. 

During simulation, the actual canister purge rate will be calculated as some fraction of this 

maximum rate in response to vehicle speed and acceleration. Further discussions of 

canister purge rate calculations can be found in Section II-C-l-c, "Getpurge." 

e) Diurnal Canister Load 

This data item specifies the quantity of hydrocarbons generated during a diurnal heat build, 

in grams per gallon of usable liquid fuel tank capacity, to be used during simulation. This 

value represents uncontrolled diurnal vapor generation in the fuel tank, in contrast to the 

quantity of hydrocarbons vented from a canister during a diurnal emissions test. The value 

specified must be greater than zero. Diurnal canister load is specified for a reference heat 

build, usually die standard FTP range of 60-84 °F, and for a particular fuel vapor pressure. 

During simulation, the actual diurnal canister load is calculated by adjusting die specified 

load for fuel tank size and for differences in temperature between die simulated diurnal 

from the reference diurnal. Adjustments for fuel tank size are made by multiplying die 

specified diurnal load by die specified fuel tank size, while the temperature adjustment is 

made by multiplying die specified load by the diurnal event multiplier read from the event 

file for a diurnal event. Further details of this temperature correction and of the diurnal 

event multiplier can be found in Section II-B-3-a, "Diurnal Events," and in Section 

n-C-3-a, "Ptdihs." 

The diurnal canister load value is partially vehicle-independent, as it is specified on a 

specific rather than an absolute basis, but it is implicidy dependent on the free headspace 

volume of the vehicle to be modelled. While this headspace volume, as a percentage of 

useable liquid volume, may be similar across a broad spectrum of the in-use vehicle fleet, 

the corresponding volume of a specific vehicle may deviate markedly from the fleet 

average. Care must be taken when specifying the diurnal canister load for such vehicles 

tiiat the appropriate value is used. 
P.17 

f) Hotsoak Canister Load 

This data item specifies die quantity of hydrocarbons generated during a hotsoak event, in 

grams/gallon of usable liquid fuel tank capacity, to be used during simulation. This value 

represents uncontrolled hotsoak vapor generation in die fuel tank, in contrast to the quantity 

of hydrocarbons vented from a canister during a hotsoak emissions test. The value 

specified must be greater than zero. Hotsoak canister load is specified for an arbitrary 

reference end-of-dnve temperature and a particular fuel vapor pressure. In the case of an 

FTP prep drive, in which the initial fuel tank temperature might be 72.0 °F and the 

temperature rise during die drive might be 15.0 °F, the end-of-drive would be 97.0 °F. In 

the case of carbureted vehicles, and additional contribution must be added for emissions 

from the carburetor bowl. During simulation, die actual hotsoak canister load is calculated 

by adjusting the specified load for fuel tank size and for differences in temperature between 

the simulated hotsoak from the reference hotsoak. Adjustments for fuel tank size are made 

by multiplying die specified load by the simulated vehicle fuel tank size, while the 

temperature adjustment is made by multiplying die specified load by the hotsoak event 

multiplier read from die event file for a hotsoak event Further details of this temperature 

correction and of die hotsoak event multiplier can be found in Section H-B-3-b, "Hotsoak 

Events," and in Section II-C-3-a, "Ptdihs." 

Comments made above in section II-B-l-e, "Diurnal Canister Loading," regarding 

fuel tank vapor headspace assumptions also apply to specification of hotsoak canister 

loading values. 

g) Purge Delay 

This data item specifies the delay between the beginning of a drive event and the start of 

canister purge, in the units of the drive schedule table. (See Section II-B-2-a, "Drive 

Schedule Table.") The value specified must be greater than zero. Specifying a value 

greater than the number of entries in the drive schedule table effectively disables all canister 

purge. This is permitted, but a warning message is generated when such a situation is 

encountered during model operation. 

h) Horsepower Correlation Parameters 

These data specify the empirical parameters used by the Gethp module, described in 

Section IT-C-3-e, "Gethp," to determine the horsepower required to propel a vehicle at a 

given speed and acceleration. Suggested values for the four required parameters are given 

in the description of Gethp. 

i) Drive Schedule Data File Name 

This data item specifies the path name to be used when opening die data file containing die 

drive schedule table. This data table is described in Section 2-a, "Drive Schedule 

Table" below, and the format of this data item in Section III-C, "Input Data 

Preparation." 

j) Vapor Generation Data File Names 

These data items specify the path names to be used when opening the data files containing 

vapor generation tables. These data tables are described in Section 2-c, "Vapor 

Generation Table" below, and the format of this data item in Section III-C, "Input 

Data Preparation." 
P.18 

k) Event Data File Name 

This data item specified die padi name to be used when opening the input file containing 

event data. This input file is described in Section 3, "Event Data" below, etc. 

1) Log Output File Name 

This data item specifies die padi name to be used when opening the output fde that is to 

contain a detailed log of simulation results. This output file is described in Section IH-C-2, 

"Output Description." See also the description of the Plotflag keyword contained in 

Section m-B-1, "Input Data Preparation." 

m) Plot Output File Name 

This data item specifies the padi name to be used when opening the output file that is to 

contain canister load versus time data. This output fde is described in Section IH-C-2, 

"Output Description." See also the description of the Plotflag keyword contained in 

Section III-B-1, "Input Data Preparation." 

n) Purge Type Flag 

This data item specifies die purge control strategy to be used during simulations. As 

distributed, the PT model contains a single purge control strategy model, as described in 

Section II-C-3-c, "Getpurge," which is selected by specifying a value of zero for the 

purge type flag data item. If additional, user-supplied purge control models are added, as 

described in Section III-D, "Program Generation and Modification," tiiey may be 

selected by specifying values of -1, -2, etc. for this data item. Further details can be found 

in Section III-D. 

2) Tabular Data 

Tabular data items consist of tables of data that describe a driving schedule or behavior of 

vehicle components. The diree types of tables needed by the PT model include a drive 

schedule, a canister purge curve table, and one or more vapor generation tables. The first 

two of these are independent of vehicle and fuel characteristics, while the latter data file 

depends on fuel characteristics and to a small extent on vehicle characteristics. Each tabular 

data table needed by the PT model is described below. 

a) Drive Schedule Table 

This data table describes die velocities in MPH, and accelerations, in MPH per second, at 

each unit time interval of the drive schedule to be simulated by the PT model. The table 

consists of diree columns, one each for time, velocity, and acceleration. These data should 

be available for the desired driving schedule on a second-by-second basis, witii each table 

row consisting of a single set of observations. The number of data rows in the table, 

therefore, should be equal to the driving schedule lengtii in seconds. 

b) Canister Purge Table 

This data table describes purge behavior of the carbon canister^ to be simulated, and 

contains data on die quantity of hydrocarbons removed from a canister initially loaded to 

breakdirough versus volume of purge air. The table consists of two columns, one for 

volume of purge air, in standard cubic feet, and one for the cumulative quantity of 
P.19 

hydrocarbons purged, in grams. It is assumed tiiat die canister purge table contains data 

normalized to describe a 1.01 canister. 

c) Vapor Generation Table 

This data table describes the vapor generation characteristics of a fuel tank during vehicle 

operation, and contains data describing the cumulative mass of hydrocarbons generated 

during a drive, and on instantaneous volumetric flow rate at which vapors are generated. 

The table consists of diree columns, one for time since die start of a drive in minutes, one 

for cumulative mass of hydrocarbons generated since die start of a drive, in grams, and one 

for vapor generation rate, in standard cubic feet per minute. Data in tiiis table must be 

normalized to a basis of a 1.0 gallon fuel tank widi an appropriately scaled vapor headspace 

volume. Care must be taken that the headspace volume as a percent of liquid capacity is the 

same in vapor generation tables as in die vehicle to be simulated. 

A vapor generation table depends on bodi fuel volatility and on the time/temperature profile 

of the drive to be simulated. Simulation of most test procedures requires vapor generation 

tables for two temperature ranges per fuel RVP, and simulation of in-use driving patterns 

may require three such tables, the maximum number currendy provided for by the PT 

model. 

3) Event Data 

Event data is used as a source of input by die model to determine die sequence and 

characteristics of events that a simulated vehicle will experience. Events that can be 

simulated include diurnal heat builds, hotsoaks, and driving sequences. In die event file, 

events are specified by a keyword that identifies the desires event, and one or more optional 

parameters mat specify or modify event characteristics. Parameters associated widi diurnal 

and hotsoak events adjust simulated emissions to simulate any desired diurnal temperature 

range and hotsoak temperature. Although only a single driving schedule is supported, diis 

drive may be simulated for up to three ambient temperature/initial fuel temperatures, and 

parameters associated widi drive event specification allow any portion of die drive schedule 

to be simulated. This section describes how each of these events is described in die event 

file. 

a) Diurnal Events 

Diurnal events are specified by die "diurnal" keyword. A single optional parameter is 

allowed to permit simulation of diurnal events at temperatures differing from those 

associated with die base diurnal canister load as described in Section n-B-l-e, "Diurnal 

Canister Load." If this parameter is omitted, or a value of -1.0 is specified, die diurnal 

canister load used to simulated the diurnal is exacdy as specified by the base diurnal 

canister load data item. If a positive, non-zero parameter is given, die diurnal load used 

for simulation is die base diurnal canister load multiplied by the value of the parameter. 

Note that the base diurnal canister load is always scaled to the simulated vehicle fuel tank 

size, as described in Section H-B-l-e, in addition to any scaling specified by a diurnal event 

parameter. In equation form, this can be expressed as: 

Actual Diurnal Canister Load = Base Diurnal Canister Load * Fuel Tank Size * 

Diurnal Event Parameter 
P.20 

Examples of diurnal events in an event file are shown below. 

diurnal -1 

diurnal 2.77 

b) Hotsoak Events 

Hotsoak events are specified by the "hotsoak" keyword. A single optional parameter is 

allowed to permit simulation of hotsoak events at temperatures differing from those 

associated with die base hotsoak canister load as described in Section H-B-l-f, "Hotsoak 

Canister Load." If diis parameter is omitted, or a value of -1.0 is specified, the hotsoak 

canister load used to simulated die hotsoak is exactly as specified by the base hotsoak 

canister load data item. If a positive, non-zero parameter is given, the hotsoak load used 

for simulation is die base hotsoak canister load multiplied by die value of the parameter. 

Note tiiat die base hotsoak canister load is always scaled to the simulated vehicle fuel tank 

size, as described in Section II-B-l-f, in addition to any scaling specified by a hotsoak 

event parameter. In equation form, this can be expressed as: 

Actual Hotsoak Canister Load = Base Hotsoak Canister Load * Fuel Tank Size * 

Hotsoak Event Parameter 

Examples of hotsoak events in an event file are shown below. 

hotsoak -1 

hotsoak 1.46 

c) Drive Events 

Drive events are specified by one of die keywords "drivel," "drive2," or "drive3." A 

keyword of "drive" is also accepted, and is processed as a "drivel" event. Up to two 

optional parameters are allowed to indicate diat only a portion of an entire driving schedule 

is to be simulated, or to start a simulated drive widi elevated fuel temperature. Each of die 

three drive event keywords apply to the single drive schedule specified by the drive 

schedule table described in Section H-B-2-a, "Drive Schedule Table." The ambient 

temperature/initial fuel temperature at which simulation of this drive is to be performed is 

given by which of die diree keywords is used. The "drivel" keyword is used to simulate a 

drive whose fuel temperature profile, and hence running loss vapor generation profile, is 

described by die vapor generation table associated with the vaporfilel data item. (See 

Section II-B-2-c, "Vapor Generation Table," and Section HI-C, "Data Table 

Preparation.") Similarly, die "drive2" keyword is associated with die vaporfile2 data 

item, and die "drive3" keyword is associated widi the vaporfile3 data item. 

Up to two optional parameters may be specified to allow simulation of a partial drive 

schedule, or to simulate drives starting with an initial fuel temperature above the initial fuel 

temperature of the associated vapor generation table. The first of these parameters 

indicates die length of the drive to be simulated, in time units equal to those used in die 

drive schedule table (usually seconds). The second parameter indicates the number of drive 

table entries diat would have to have been simulated in a previous drive while following the 

current vapor generation table temperature profile to reach the desired initial fuel 

temperature. The drive start time is, therefore, the point in time at which the vapor 

generation table is entered at the start of the simulated drive. Note that the drive table is 

always entered from its beginning; it is not possible to begin a drive simulation part way 

through a drive schedule. 
P.21 

Default values may be used for bodi optional parameters. If values for neither parameter 

are given, the default action is to simulate an entire drive using a temperature profile 

corresponding to die start of die associated vapor generation table. Parameter values of 

-1.0 may also be used to select diese defaults. If only one parameter is given, the default 

action is to simulate a drive whose lengdi is equal to the value of die given parameter, using 

a default temperature profile as described above. If two parameters are given, both the 

drive length and die vapor generation table entry point may be modified. Note that if a 

non-default temperature/vapor generation profile is desired, it is necessary to provide 

values for bodi parameters; if desired, a value of -1.0 may be given for die first parameter 

as a place holder diat selects a default of simulating a full-length drive. Shown below are 

several examples diat illustrate use of parameters widi drive entries in an event file. 

Example 1 

drive2 

This entry specifies a drive that follows the temperature profile given by the vapor 

generation table associated with die "vaporfile2" data item. The entire drive described by 

the drive schedule table is simulated. 

Example 2 

drive2 505 

This entry specifies a drive diat follows the same temperature profile as described in 

Example 1 above. The simulated drive, however, proceeds only through die first 505 

drive table entries. If die drive table contains entries at time intervals of seconds, tins 

example might be used to simulate bag 3 of an FTP test. 

Example 3 

drive2 505 1537 

This entry specifies a drive that follows die same temperature profile as in the previous 

examples, except that the temperature profile/vapor generation table is entered at a point 

corresponding to the fuel temperature mat would be observed after 1537 seconds (more 

precisely, time units of drive schedule table entries) had elapsed in a drive widi initial fuel 

temperature equal to diat of die first vapor generation table entry. The length of the drive is 

505 seconds. The temperature profiles followed by tiiis hypothetical drive and die drive to 

be simulated in this example are illustrated in die following figure by the portion of the 

curve extending from 99.0 °F to 103.0 °F: 
P.22 

Sample Temperature Profile 

80.0 

0.0 10.0 20.0 30.0 40.0 

Time (min.) 

50.0 60.0 

Example 4 

drive2 -1 1537 

This entry is identical to that in Example 3 above, except diat a full lengdi drive is simulated 

instead of only die first 505 seconds of die full drive. 

C) Model Operation and Structure 

This section describes die PT model from both an operational and a structural viewpoint. 

Section 1, "Model Operation," discusses the calculation sequence used by the model in 

general and to simulate specific evaporative emissions events in particular. Section 2, 

"Model Structure," presents the structural organization of die PT model, and how its 

constituent modules relate to one another. This section is of most interest to those wishing 

to modify program code. Finally, Section 3, "Component Description," contains 

detailed descriptions of individual program modules and their specific functions. Only 

modules direcdy related to evaporative emissions aspects of the model are discussed. Other 

modules, related to supervisory control and data input functions, are not described in the 

interest of simplicity, as knowledge of these components is not necessary to use or modify 

the model. 

1) Model Operation 

Operation of the PT model can be divided into three key phases. The first of these is onetime initialization and input of both scalar and tabular data, as described in Sections n-B-1 

and H-B-2, respectively. The second phase is reading of individual evaporative emissions 

events from die event data file, extracting applicable parameters, and transfer of simulation 

control to modules responsible for modelling of these events. The final phase is event 

processing and display of output from individual event simulations. The second and tiiird 

10 
P.23 

of these processing phases are repeated for each entry in the event data file. The flow of 

control among these events is illustrated in die following figure. 

Read data & 

Perform 

initialization 

Read event 

data 

Process diurnal 

and hotsoak 

events 

Calculate 

diurnal or 

hotsoak load 

Add calculated 

load to canister 

Output event 

results 

PT Model 

Operational Flowchart 

>

/Determine>v___ 

Process drive 

event 

Calculate trip 

length 

Calculate speed 

& acceleration 

T 

Calculate purge 

rate 

Calculate vapor 

generation rate 

Find net 

load/purge & 

update canister 

Calculate fuel 

rate & fuel 

from canister 

Repeat for all 

trip table entries 

11 
P.24 

In the data input processing phase, an input data file is read which contains all scalar input 

data, as described in Section II-B-a, along widi the names of data file containing tabular 

and event data. Next, checks are made on scalar data items to insure all required values 

have been specified and that they are within reasonable ranges. Internal storage is then 

allocated for data tables, and internal initialization performed. Finally, information from 

each of die tabular data files is read and stored internally. 

In the event input phase, event entries are read, along with associated parameters, as 

described in Section II-B-3, "Event Data." All drive events are passed to the Ptdrive 

module for processing, while diurnal and hotsoak events are passed to die Ptdihs module. 

No checking is performed on event parameters at this stage. Events continue to be read and 

simulated until all events in die specified event data file have been processed. 

Diurnal and hotsoak events are processed in a similar fashion by die Ptdihs module, with 

the primary difference between them being the basic emission rate used for each. For both 

events, die appropriate emission rate is obtained, and corrected to account for fuel tank size 

and for the event multiplier contained in the event data file. The resulting uncontrolled 

hydrocarbon emission value is then added to the canister through use of the Dopurge 

module, thus updating the canister state. Further details are contained in Sections H-C-3-a 

and H-C-3-h. 

Drive events are processed by the Ptdrive module. At die start of each drive simulation, die 

start time relative to the beginning of the specified drive schedule and die drive length are 

determined from parameters associated widi the drive event specification. Next, each entry 

in the drive table included in the drive is processed. For each drive table entry, vehicle 

speed and acceleration is calculated, along with canister purge rate, the fuel tank vapor 

generation rate, and die net change in canister load over the interval between drive table 

entries. In addition, values for die quantity of fuel required by die engine and the percent 

of this fuel provided by canister purge vapors are also calculated. After all drive table 

entries have been processed, a trip summary is displayed. Further details are contained in 

Section H-C-3-b. 

2) Model Structure 

This section describes the overall structure of the PT model, and how the components of 

die model relate to one another. This information is not strictly necessary to use or 

understand die model, but it may be useful if die model is to be expanded or modified. 

The figure below illustrates the PT model structure in terms of its highest-level 

components. The algoritiims upon which each of these components are based are 

described below in Section 3 below, "Component Description." 

12 
P.25 

Canister Model - Program Structure 

PurgeTest 

This diagram shows that the model structure consists of five levels. The first of diese is die 

module labeled PurgeTest, which supervises reading of all input data and data tables, 

model initialization, data validation, and display of input data. This module makes use of 

subordinate modules in die second level, such as GetFile, Gprdkey, Ptcheck, Ptinit, 

PtdspO, and Read_data. PurgeTest is also responsible for starting the actual simulation 

calculations by calling on Doit, and for displaying final results through Display_data. 

The second level module Doit is responsible for supervising the processing of each event in 

the event data file. These events, and their associated parameters, are read by the Rdevt 

module. After each event is read and its type determined, Doit calls upon one of die third 

level modules Ptdi, Pths, or Ptdrive, as appropriate, to carry out the necessary calculations. 

Each of diese diree modules make use of the fourth level module DoPurge to carry out 

canister loading and purging calculations1. Ptdrive also makes use of several fourth level 

modules to perform calculations associated with determining vehicle speed and 

acceleration, engine horsepower output, purge flow rate, and fuel tank vapor flow rates. 

Modules used for these purposes include GetSpeed, GetUp, Get Purge, and Getvpr. 

iThe module(s) used to carry out diurnal and hotsoak calculations are referred to as either Ptdihs, or as Ptdi 

and Pths. The Ptdi and Pths modules are actually entry points in the Ptdihs module, since many of the 

calculations needed by these two modules are identical. From a functional viewpoint, Ptdi and Pths can be 

considered to be separate as indicated by the diagram above, even though from a program structure 

viewpoint, they are really subordinate components of Ptdihs. 

13 
A number of other modules not described here are also used by the PT model; these, 

however, are associated with low-level data input or program control, and are not described 

in diis document. 

3) Component Description 

This section describes each of the computational modules presented above in Section 2), 

along widi the computational algorithms upon which they are based. Modules diat are 

described here are limited to those direcdy with simulation of vehicle components and 

operation. Other modules, such as those associated with peripheral functions, such as 

supervisory or input/output tasks, are not documented. 

a) Ptdihs 

This module processes both diurnal and hotsoak events, including calculation of 

uncontrolled vapor generation and changes in canister loading. For diurnal events, the 

basic quantity of hydrocarbons generated during the event is obtained from the Diurnal 

scalar input data item, as described in Section II-B-l-e, "Diurnal Canister Load." For 

hotsoak events, die corresponding value is obtained from die Hotsoak data item. These 

values are men adjusted for fuel tank size, and the fuel tank and ambient temperatures at 

which die event occurs, as described in Section II-B-3, "Event Data." Finally, the 

corrected hydrocarbon generation value is passed to the Dopurge module, which performs 

the actual canister loading calculations. These calculations include updating die canister 

load, and determining die amount, if any, of hydrocarbons vented during die event. A 

summary of hydrocarbons generated during die event, die final canister state, and the 

hydrocarbons vented is displayed at the end of each of diese event simulation. 

b) Ptdrive 

This module processes drive events, including interactions between fuel tank vapor 

generation, canister purge, and drive characteristics. This calculation procedure used to 

carry out drive simulation is as follows: 

1) Determine the start and end times, relative to the start of the drive defined by die 

drive schedule table, from event file parameters as described in Section H-B-3-c, 

"Drive Events." Initialize die current simulation time to the initial drive table 

entry of the drive to be simulated. 

2) Determine the current vehicle speed and acceleration through the Getspeed module. 

Speed is returned in MPH, and acceleration in MPH/second. Calculate total miles 

traveled in die drive by integrating velocity using Euler's method 

3) Calculate die horsepower required by the current vehicle speed and acceleration, 

using the Gethp module. Also calculate the rate of fuel consumption, in pounds per 

second, required by this power level, using the Gethp module. 

4) Determine the volumetric flow rate, in SCF/minute, of canister purge available from 

the engine based on the current vehicle speed and acceleration, using the Getpurge 

module. If the current simulation time is less than the specified canister purge 

delay, as described in Section II-B-l-g, "Purge Delay," set this purge rate to 

zero. 

5) Determine die quantity, in grams, and flow rate, in SCF/minute, of hydrocarbon 

vapors generated in the fuel tank over the unit time interval starting at die current 

14 
drive simulation time. This value is obtained by die Getvpr module, using the 

vapor generation table corresponding to the current drive type. See Section 

H-B-3-c, "Drive Events." Adjust bodi of diese quantities for the fuel tank size of 

the simulated vehicle. 

6) Calculate the net purge flow rate through the canister as die difference between the 

available purge rate found in 4) above, and die fuel tank vapor flow rate found in 5) 

above. This calculation assumes that die purge system is configured as shown 

below: 

If the net canister purge is less than zero, then canister loading will occur, 

otherwise, hydrocarbons will be purged from the canister. Canister loading is 

processed as follows: First, fuel tank hydrocarbon vapors are apportioned between 

the engine and the canister in the same ratio as the available purge rate from the 

engine to the fuel tank vapor generation flow rate. Next, this quantity of 

hydrocarbons are loaded to the canister by the Dopurge module. Finally, die 

amount of hydrocarbons, in pounds, available to die engine as unmetered fuel from 

the fuel tank is calculated. This quantity is found from the difference between fuel 

tank vapor generation and die amount of hydrocarbons loaded to die canister. 

For canister purge, the following calculations are performed. First, the total purge 

volume is determined by multiplying die net purge flow rate, in SCF/minute, by die 

interval widdi, normally one second or 1/60 minute. Then, die Dopurge module is 

used to carry out canister purge calculations. Finally, the amount of hydrocarbons 

available to the engine as unmetered fuel is calculated as die sum of fuel tank vapors 

and vapors purged from the canister. 

7) Calculate die percent of engine fuel requirements provided by unmetered fuel from 

the canister alone, and from die canister and fuel tank combined. 

8) Write entries to bodi die plot file and to die log file, if specified by the appropriate 

Plotflag data item. 

9) Continue with 2) above until all entries in the drive table have been processed. 

At the end of a drive simulation, a summary of total trip data, vehicle performance, and 

evaporative emissions is displayed. 

c) Getpurge 

This module determines the available purge flow rate to the engine. Purge rate can be 

calculated from an internal algorithm, as described below, or from a user-supplied 

algorithm, as described in Appendix B. Using the internal algorithm, purge rage is 

proportional to engine power, as follows: 

15 
P.28 1 

If speed < 2.5 mph dien 

purge = 0.0 

else if acceleration > 3.5 mph/s/s or acceleration < 0 then 

purge = 0.0 

else { 

hp = horsepower at current velocity and acceleration 

maxjip = horsepower at 60.0 mph cruise 

min_hp = idle horsepower 

kl = max_purge*Oip-min_hp)/(niax_hp-niin_hp) 

k2 = max(1.0-(2./9.)*accel, 0.10) 

purge = kl * k2 

} 

When die vehicle is below a specified velocity (2.5 mph), or decelerating, no purge occurs. 

Otherwise, purge is proportional to horsepower, multiplied by an empirical correction 

factor, k2, diat accounts for the reduced manifold vacuum available during acceleration. 

The notation shown above for the calculation of k2 indicates the following steps: First, 

calculate the quantity 1.0-(2/9)*accel. Next, compare this value to 0.10, and select the 

algebraically larger value as die result to be taken as die value of k2. 

d) Getspeed 

This module determines die vehicle speed and acceleration at a specified time during a 

driving cycle. These data are obtained by table lookup in the drive table described in 

section II-B-2-a, "Drive Schedule Table." Vehicle speed, in MPH, is determined as 

the average speed over the time interval defined by die specified time and die time of die 

next sequential drive table entry, if any. Acceleration, in MPH/second, is determined by 

die change in velocity over diis interval divided by the interval width. 

e) Gethp 

This module determines the horsepower required to move a vehicle at a specified speed and 

acceleration. The following empirical correlation is used to obtain die desired horsepower 

value: 

horsepower = k4 + ki*speed + k2*speed^ + k3* speed* acceleration 

The four constants in the above correlation are selected on the basis of vehicle weight. 

Suggested values are shown below: 

Vehicle weight kj^ k2 k£ k4 

I 

4000 lbs. 0.010 0.0055 0.486 0.750 

f) Getfuel 

This module determines the rate of fuel consumption, in pounds of fuel per second, of a 

vehicle at a given power output, as provided by Gethp. This calculation, shown below, is 

a simple conversion that includes the energy content of gasoline (18646 BTUAbm), and 

engine thermal efficiency (taken as 28.0 %). 

16 
P.29 

Fuel rate = horsepower* 2544,987 BTU / 3600.0 sec. / 18464. BTU 

horsepower hr. hour lbm. 

g) Getvpr 

This module determines the fuel tank vapor generation rate at the current time in a driving 

cycle, using a specified vapor generation table, described in section H-B-2-c, "Vapor 

Generation Table." The mass of hydrocarbon vapor, in grams, generated over a one 

second interval starting at die specified time is found from the vapor generation table, along 

with the volumetric vapor flow rate, in standard cubic feet per minute. 

h) Dopurge 

This module carries out all canister load/purge calculations, based on data in die canister 

purge table, described in section n-B-2-b, "Canister Purge Table." A semi-empirical 

canister model is used that is based on experimental data taken under conditions 

representative of tiiose typically encountered by evaporative emissions systems. Although 

these data incorporate the effects of canister geometry as well as charcoal characteristics, 

the PT model assumes that only charcoal type differences are significant between canisters, 

and diat canisters of differing size but identical adsorbent exhibit performance proportional 

to size. 

During canister loading, the canister is assumed to adsorb all vapors passing through the 

adsorbent bed, up to the point of breakthrough. After this point, any additional vapors fed 

to die canister are assumed to be entirely vented. More specifically, the adsorption front for 

the adsorbent bed is assumed to be perfectly sharp, with no leading or trailing tail. 

Calculations necessary to simulate canister loading, dierefore, are simply to add any portion 

of incoming vapors to the current canister load up to die maximum canister capacity, and to 

vent any remaining inlet vapors as emissions. The maximum canister capacity is 

determined by the specific canister capacity obtained from die purge curve, along with the 

actual canister volume. 

Unlike die straight-forward canister loading calculations, purge calculations account for the 

non-linear characteristics of die purge curve. The calculation sequence is best illustrated by 

example, widi the aid of die following figure. This example demonstrates determination of 

the final canister loading starting from a known initial canister load and a known purge 

volume. The values shown below are assumed for this example. They are given on both a 

specific, or per liter of canister volume basis, and on a total basis. 

Quantity Specific Basis Total Basis 

Canister size 1.01 2.01 

Working Cap. 32.2 g/1 64.4 gA 

Initial load 12.2 gA 24.4 g 

Purge volume 17.8 ft3/l 35.6 ft3 

17 
Sample Canister Purge Curve 

HC Purged

 2 0 

(gms) 15 

10 15 20 25 

Purge Volume (SCF) 

30 35 40 

The following steps are carried out to determine die final canister loading: 

1) Determine the amount of purge required to reach the initial canister load from a fully 

loaded canister. In this example, this is die purge volume required to reach a loading of 

12.2 g/1 (24.4 g total) from an initial loading of 32.2 gA (64.4 g total). Do this by 

entering the purge curve on die y-axis at a point corresponding to die value (maximum 

loading - current loading) and read from the purge curve the corresponding purge 

volume. The entry value is at 32.2 - 12.2 = 20 gA (64.4-24.4=40.0 g total) as shown 

in Figure 1. Note that all entries into the purge curve are made on a specific or per-liter 

basis, so that die purge curve is initially entered at a value of 20.0 g/1 ratiier that 40 g 

total. 

2) Add the available purge volume to the purge volume obtained in 1) above. This value is 

2.2 + 17.8 = 20 fttyl (4.4 + 35.6 = 40.0 ft3 total). 

3) Enter die purge curve from the x-axis at the value from 2) above, and read from the 

purge curve the corresponding quantity of hydrocarbons purged. In this case, the value 

is 30.3 gA (60.6 g total). 

4) Calculate the final loading by subtracting the value obtained in 3) above from the total 

canister working capacity. In this case, the value is 32.2 - 30.3 = 1.9 gA (64.4 - 60.6 

= 3.8 g total). 

This example indicates diat the final canister loading is 1.9 gA or a total load of 3.8 g. 

The above procedure does not account for the influence of temperature or inlet 

hydrocarbon vapor composition on carbon capacity or performance, nor does it account 

for non-ideal adsorption characteristics of charcoal. 

18 
P.31 

III Users Guide 

This section provides instructions for preparation of the input data and tables needed by \hc 

PT model, for running the model, and for interpreting output generated by it. In addition, 

guidelines are provided for making certain program modifications diat may be needed to 

more realistically model performance of evaporative emissions control devices. Section A 

gives a general description of die steps necessary to perform a simulation, while Sections B 

and C are concerned with data sources and preparation of tabular and scalar data, 

respectively. Section D describes die sequence of steps necessary to run the model once 

data files have been prepared. Finally, Section E oudines how user-prepared program code 

may be incorporated into the model. 

A) Overview 

Use of the PT model is a two-step procedure, with the first consisting of data file 

preparation, and the second, running of the model itself and interpretation of results. In 

almost all cases, data preparation is the most critical and time consuming of the two steps. 

The data preparation step can be divided into three parts, corresponding to scalar or input 

data, tabular data, and event data, as described in Section H-B, "Input Data." Generally, 

a different input data file is needed for each simulation run, aldiough files for a series of 

runs are often similar in content. A smaller number of event data files are needed, as the 

same events are usually used for a number of model runs. The same is true of tabular data 

files, especially die canister purge and driving schedule files. Additional vapor generation 

files may be needed, depending on characteristics of fuels to be used for simulation. 

All data file consist of ordinary text and numbers, so mat diey can be prepared and 

modified with die aid of a text editor or word processor. It may be convenient to prepare 

tabular data files, such as vapor generation files, with the aid of a spreadsheet. If a word 

processor is used, an appropriate mode should be selected to avoid including any 

formatting or other special characters into data files. Generally, input data files are 

frequendy modified, while tabular and event data files are seldom, if ever, changed once 

they have been prepared. 

Running the PT model, as described in Section III-D, "Program Use," is 

straightforward once all data files are available. Often, the model is used as a design tool to 

find the value of some input variable such mat simulated vehicle performance meets certain 

criteria. This design process involves selecting an initial value of the input variable, 

running the model using this value, examination of output, followed by modification of die 

initial input value. The model is dien rerun in an iterative fashion until the desired model 

output is obtained. A typical application of this procedure is finding the canister size 

needed to provide a given level of emissions control under a specified set of conditions. 

B) Data File Preparation 

This section oudines the steps necessary to prepare data file needed by the PT model. The 

structure of diese guidelines follows that of Section II-B, "Input Data." In Section 1 

below, "Input Data Preparation," each of die data items that must be included in the 

scalar or input data file is discussed. Section 2 below, "Tabular Data Preparation," 

describes preparation of die three tabular data file, while Section 3, "Event Data 

Preparation," covers preparation of event data files. 

1) Input Data Preparation 

19 
P.32 

The scalar or input data file consists of a number of entries corresponding to each of the 

data items described in Section n-B-1, "Input Data." The prototype of each entry is as 

follows: 

<keyword> <data_count> 

<data_list> 

The <keyword> consists of die name of an input data keyword to which a numeric value is 

to be assigned, and <data_count> is the number of numeric values that are to be specified. 

<data_list> is then die set of one or more actual data values. The input data keywords used 

by the PT model are summarized in die following Table. 

Keyword 

title 

tanksize 

maxpurge 

diurnal 

hotsoak 

purgedelay 

cansize 

cans tart 

par am 

purgetype 

logflag 

Type Count Description 

Char 

Real 

Real 

Real 

Real 

Integer 

Real 

Real 

Real 4 

Real 1 

Logical 2 

<80 A descriptive title that will be displayed at the start of each simulation. 

Fuel tank liquid capacity, gallons 

Maximum canister purge rate, SCFM. See Section H-B-l-d. 

Base case diurnal canister loading. See Section H.-B-1-e. 

Base case hotsoak canister loading. See Section II-B-l-f. 

Number of time steps by which the start of purge is delayed 

after the start of a drive. See Section H-B-l-g. 

Canister size, liters. 

Initial canister loading as percent of total capacity. 

Horsepower correlation parameters. See Section II-B-l-h. 

Purge strategy model index. Normally 3. See Section DLI-E. 

Log file and plot file output control flags. The first value 

determines if a normal or condensed log output file should be generated 

(values .true, and .false., respectively). The second value applies 

to the plot output file. See Section III-D-2. 

Pathname for drive schedule tabular data file. See Section ITJ-B-2-a. 

Pathname for vapor generation tabular data files. At least one of 

these keywords must have a pathname assigned to it, as well as 

keywords corresponding to all drive event keywords occurring in 

the event data file. See Section III-B-2-c. 

Pathname for canister load/purge tabular data file. See Section IE-B-2-b. 

Pathname for log output file. See Section III-D-2. 

Pathname for plot output file. See Section III-D-2. 

Pathname for event data input file. See Section ITI-B-3. 

In preparing the input data file, keywords must appear exactly as in me table above, with 

lower case letters used where indicated. Upper and lower case letters are not treated as 

being equivalent. The meaning of the format types appearing in the second column of the 

table are as follows: Real values are numbers appearing in either floating point or 

exponential notation; Integer values are numbers that do not contain a decimal point or 

drivefile 

vaporfilel 

vaporfile2 

vaporfile3 

canfile 

logfile 

plotfile 

eventfile 

Char 

Char 

Char 

Char 

Char 

Char 

<80 

<80 

<80 

<80 

<80 

<80 

20 
P.33 

fractional point; Char(acter) values are alphanumeric text, all of which must appear on a 

single data file line. Character strings should be terminated by a double backslash ('\\"); 

Logical values are either true or false, as indicated by die text ".true." or ".false." 

respectively. For real, integer and logical data items, the data count appearing with die data 

keyword indicates the number of individual data items to be specified. For character data 

items, the data count refers to the maximum number of characters that may appear in the 

following text string. Comments may be included at any point in the file by placing a 

semicolon (";") in die first column of die line to be made a comment. 

2) Tabular Data Preparation 

This section describes sources of data for each of the diree tabular input data files described 

in Section H-B-2, "Tabular Data," and the format of each data file. Section 1 covers the 

drive schedule table, while Sections 2 and 3 discuss the canister purge table and me vapor 

generation table, respectively. 

a) Drive Schedule Table 

This table consists of vehicle speed and acceleration values at equally spaced intervals, 

usually one second in width, that describe a particular drive schedule. In the case of lightduty vehicle and light-duty truck urban dynamometer (LA-4) and heavy-duty truck urban 

dynamometer schedules, the necessary data are available in 40 CFR 86, Appendix I, 

sections a) and d), respectively. The format of this file is as follows: 

Line 1: Tide 

Line 2: Velocity (mph) Acceleration (mph/sec.) 

Line n: Velocity (mph) Acceleration (mph/sec.) 

b) Canister Purge Table 

This table consists of values describing canister purge characteristics and which relate the 

volume of purge air necessary to purge a given quantity of hydrocarbons from a fully 

loaded canister. Normally, these data are obtained experimentally, using the following 

procedure: 

1) Load canister to breakthrough. 

2) Begin canister purging at a purge flow rate consistent with die expected in-use rate. 

Simultaneously, record total purge volume and canister weight. 

3) Continue purge and data recording until the canister is fully purged and a stable 

weight is observed. 

At least 40 to 50 data points should be used to give a good representation of the entire 

purge curve. The format of this data file is as follows: 

Line 1: Tide 

Line 2: Total purge vol. (SCF) Total mass purged (gms) 

Line n: Total purge vol. (SCF) Total mass purged (gms) 

21 
P.34 

Both purge volume and hydrocarbon purged mass values should be in ascending order, 

and die final file line should give the canister working capacity on a per-liter basis, along 

widi die total purge volume required to fully purge a loaded 1.0 liter canister. The tide line 

consists of up to 80 alphanumeric characters that may be used to describe contents of the 

file. All remaining data values are all numeric, format-free, and should be separated by 

blanks or commas. Each pair of speed/acceleration data should occupy a single line in the 

file. 

c) Vapor Generation Table , 

This table consists of values describing fuel tank vapor generation characteristics of a 

vehicle during operation. These data incorporate the influence of several factors including 

the fuel tank temperature profile during vehicle operation, fuel volatility, fuel tank pressure, 

and the rate at which tank vapors are generated in response to changes in temperature. Data 

items in this file include time since die start of a drive, total hydrocarbon vapor mass 

generated during die drive, and die instantaneous vapor generation flow rate at each time. 

The file format is as follows: 

Line 1: Tide 

Line 2: Time(min.) Total HC Mass (g) Vapor Flow Rate (SCFM) 

Linen: Time(min.) Total HC Mass (g) Vapor Flow Rate (SCFM) 

The title line consists of up to 80 alphanumeric characters that may be used to describe 

contents of die file. All remaining data values are all numeric, format-free, and should be 

separated by blanks or commas. Each set of time/mass/flow rate data should occupy a 

single line in die file. 

Data points in this file need not be equally spaced in time. The total lengdi of time 

represented by the file should be at least as long as die longest drive diat is to be simulated, 

taking into account sequential drives diat have initial drive times starting other than at the 

beginning of a vapor generation table. 

If available, experimental data may be used direcdy in vapor generation tables. In most 

cases, however, it may be necessary to use simulations to obtain die needed data. A multistep procedure was used during development of die PT model to obtain vapor generation 

data files, as outlined below. 

1) Generate a table that describes fuel tank vapor generation as a function of fuel 

temperature. This table should have entries for temperature, mass of hydrocarbon 

vapor generated, and tank vapor flow rate. The range of temperatures should be 

representative of the range expected for the vehicle to be simulated. Typically, a 

range of 25-30 °F is appropriate. Hydrocarbon mass values should be in grams 

and indicate the cumulative vapor generation starting from the initial tank 

temperature. Vapor flow rates should be in SCF/minute, and indicate instantaneous 

flow rates at each temperature. Bodi hydrocarbon mass and flow rate values should 

be normalized to a 1.0 gallon tank size. 

2) Generate a table or function that relates time and fuel tank temperature during 

vehicle operation. This table will most likely be based on experimental data, since a 

realistic dieoretical model of fuel tank temperatures is difficult to develop in die 

22 
P.35 

absence of experimental data. Data used to develop me PT model is described in 

Appendix D, "Vapor Generation and Temperature Profile Data." 

3) Combine tables from steps 1) and 2) above as follows. Select die temperature value 

from an entry in the table form 1), and enter the table from 2) at the same 

temperature value. Obtain the time, or lengdi of drive needed to reach that 

temperature, interpolating as necessary. Generate a single entry in me final vapor 

generation table using the time value obtained from the step 2) table, and the 

hydrocarbon mass and vapor flow rate values from the step 1) table. 

4) Repeat step 3) for all entries in die step 1) table. 

Abbreviated examples of tables corresponding to those described in die steps 1) and 2) 

above, and die resulting vapor generation table are shown below. 

Vapor Generation Table (Step 1) 

Temperature HC Mass Vapor Volume 

(3 Fahrenheit) 

84.0 

85.0 

85.5 

86.0 

87.0 

87.5 

88.0 

88.5 

89.0 

89.5 

90.0 

90.5 

91.0 

91.5 

92.0 

92.5 

93.5 

94.0 

teams) ISCEgall 

0.0 1.77e-3 

0.20 2.05e-3 

0.30 2.10e-3 

0.41 2.l5e-3 

0.64 2.24e-3 

0.76 2.30e-3 

0.89 2.35e-3 

1.01 2.40e-3 

1.15 2.46e-3 

1 29 2.52e-3 

1 43 2.58e-3 

1.58 2.65e-3 

1 74 2.72e-3 

1.90 2.78e-3 

2.07 2.86e-3 

2.25 2.93e-3 

2.62 3.10e-3 

2.83 3.20e-3 

23 
Time/Temperature Table (Step 2) 

Temperature 

(2 Fahrenheit) 

84.0 

84.5 

85.0 

85.5 

86.0 

86.5 

87.0 

87.5 

88.0 

88.5 

89.0 

89.5 

90.0 

90.5 

91.0 

91.5 

92.0 

92.5 

93.0 

93.5 

94.0 

Tune 

(Min.) 

0.0 

0.54 

1.19 

1.85 

2.52 

3.20 

3.88 

4.57 

5.27 

5.98 

6.70 

7.42 

8.15 

8.90 

9.65 

10.41 

11.84 

11.97 

12.76 

13.57 

14.39 

Vapor Generation Table (Steps 3 and 4) 

Time 

(Min.) 

0.0 

0.54 

1.19 

1.85 

2.52 

3.20 

3.88 

4.57 

5.27 

5.98 

6.69 

7.42 

8.15 

8.90 

9.65 

10.41 

11.18 

11.97 

12.76 

13.57 

14.39 

HCMass 

(prams/pal.) 

0.0 

0.10 

0.20 

0.30 

0.41 

0.52 

0.64 

0.76 

0.89 

1.01 

1.15 

1.29 

1.43 

1.58 

1.74 

1.90 

2.07 

2.25 

2.43 

2.62 

2.83 

Vapor Flow Rate 

fSCFM/min/eal) 

1.77e-3 

1.91e-3 

2.05e-3 

2.10e-3 

2.15e-3 

2.l9e-3 

2.24e-3 

2.30e-3 

2.35e-3 

2.40e-3 

2.46e-3 

2.52e-3 

2.58e-3 

2.65e-3 

2.72e-3 

2.78e-3 

2.86e-3 

2.93e-3 

3.02e-3 

3.10e-3 

3.20e-3 

3) Event Data Preparation 

The event data file consists of a sequence of event entries, one per file line, each of which 

consists of a keyword and one or more parameters. Valid keywords and associated 

parameters are as follows: 

24 
P.37 

Keyword Parameter 

drivel 

drive2 

drive3 

diurnal 

hotsoak 

1-2 

1-2 

1-2 

1 

1 

Lower case text must be used for keywords; upper and lower case letters are not treated as 

being equivalent. The definition of event keyword parameters can be found in Section 

H-B-3, "Event Data." 

C) Program Use 

This section describes use of the PT model to carry out simulations once all data files have 

been prepared, as covered in Section H-B and H-C. Basic commands and procedures for 

running die model on IBM-PC and compatible machines are found in section 1, "Running 

the Model,", while a summary of error messages and dieir causes is found in section 2 

below, "Errors and Messages." 

1) Running the Model 

Before the model is run, it should be transferred from the distribution disk to a working 

floppy disk, or installed on a hard disk, as described in Appendix A. The examples mat 

follow assume mat the directory structure of the distribution disk is preserved, or that die 

model is installed on a hard disk in a directory called PT. The directory setup should 

therefore appear as shown below. 

25 
P-38 

PT 

pt-key 

pt.bat 

rptexe 

runpt.dat 

install.bat 

DATA SOURCE 

pt.for 

ptdihs.for 

VPR EVT CAN INP 

7297.vpr 

84109.vpr 

ftp90.evt 

ftplll5.evt 

ford.can 

nissan.can 

sample.dat 

testl.dat 

test2.dat 

ws 

7191a.vpr 

84104a.vpr 

96116a.vpr 

OUT DRV 

test 1.out 

test2.out 

la4.drv 

nyc.drv 

hwfe.drv 

Data files contained in the directories VPR, EVT, etc., are listed in Appendix A, 

"Distribution Disk Contents and Model Installation." 

Running of die PT model is normally accomplished through use of the pt batch file. This 

technique simplifies operation of die model by automatically locating and executing die 

model itself, and by appending the proper path name to the scalar input data file, the name 

of which must be specified when the model is executed. Input data file names are assumed 

to have die format 

<input_data_file_name>.dat 

where the bracketed text represents a user-specified name. Each of these file is expected to 

reside in the directory ptNdataMnp. To run the model, the working directory should be set to 

that containing the pt.bat file, in this case c^t, and the command prototype shown below 

used. 

pt <input_data_file_name> 

Note that the extension ".dat" need not appear, altiiough it can appear if desired. 

26 
At diis point, die pt model will begin execution, and die input data file will be read A brief 

summary of key input data items will men be displayed, and each of the tabular input data 

files will be opened. The name of each file is displayed as it is opened. As these files are 

men read, die number of data lines in each file is displayed, along with the corresponding 

tide line. This information is useful to verify that the desired data files have been correctiy 

specified for each simulation. After these tabular data files have been read, die first entry in 

die event data file is read, and simulation calculations begin. 

Normally, output from die model appears on die display screen. Output can be redirected 

to a file or device, if desired, by using the following command prototype to begin execution 

of the pt model: 

pt <input_data_file_name> <output_fd> 

where <output_fd> is a device name (e.g., lptl:), or the full path name of the desired 

output file. The redirection symbol ">" is added automatically, so that it should not be 

included in die <output_fd> specification. 

3) Output Description 

The PT model generates diree types of simulation output, referred to as terminal output, log 

file output, and plot file output Terminal output, which normally appears on the computer 

screen, is die primary output stream. This stream contains summaries of both input data 

and simulation results. Log file output contains detailed second-by-second output 

generated during drive events. Because diis information is both voluminous and usually of 

lesser interest than diat displayed as part of terminal output, it does not appear on the 

computer screen. Plot file output contains detailed second-by-second values for canister 

loading and percent of engine fuel provided by canister purge during drive events. As widi 

log file output, this stream is directed to a disk file rather than be displayed on the computer 

screen. The following diree sections describe each of diese output streams in detail, and 

provide the file format used for recording log and plot output data. 

a) Terminal Output 

Terminal output is die primary output stream from the PT model, containing input data 

summaries, summaries of simulation results, and messages describing any errors or 

warnings that are encountered during model operation. This output stream is normally 

displayed on die computer screen, although it may be redirected to an alternate file or 

device, as described in Section III-C-1, "Running the Model." For each event 

simulated by the PT model, several values are displayed that identify the event being 

simulated, event characteristics or parameters, and results from simulation of the event. 

This section describes mis output, and how each data item is to be interpreted. 

At the start of calculations for each simulation event, the model displays counts of die total 

number of events processed and the total number of events processed of the same type as 

the current event. This information is useful to determine how far simulation has 

progressed tiirough the sequence of events in an event data file. Following this, output 

specific to each event is generated. Samples of each are shown below, along with a 

description of each output item. 

27 
P.40 

Hotsoak and Diurnal Events: 

Line 1: Hotsoak event # 2 Cumulative event # 5 

Line 2: Event type: hotsoak 

Line 3: HC to canister (gms): 7.40 

Line 4: HC vented (gms): .00 

Line 5: Final canister load (%): 45.70 

Line 6: Final canister cap (gms): 20.99 

Line 1: "Hotsoak event # 2 Cumulative event #5" Indicates diat the fifdi event in the 

event data file is being processed, and that it is die second hotsoak event of die 

simulation to be processed. 

Line 2: "Event type: hotsoak" Indicates die event type. 

Line 3: "HC to canister (gms)..." Indicates die total hydrocarbon vapor load flowing 

into die canister during this event 

Line 4: "HC vented (gms)..." Indicates die mass of hydrocarbon vapors vented into die 

atmosphere by the canister due to insufficient capacity to adsorb some or all of the 

vapor load indicated by the value in Line 4. 

Line 5: "Final can. load (%)..." Indicates die extent of canister loading at the end of die 

event on a percentage basis. A value of 100.00 corresponds to a fully loaded 

canister. 

Line 6: "Final can. cap. (gms)..." Indicates the available canister capacity at the end of 

the event on an absolute mass basis. A value of 0.00 corresponds to a fully loaded 

canister with no available capacity. 

Drive Events: 

Line 1: Drive event # 2 Cumulative event # 4 

Line 2: Processing type 2 drive event 

Line 3: 

Line 4: 

Line 5: 

Line 6: 

Line 7: 

Line 8: 

Line 9: 

Line 10: 

Line 11: 

Line 12: 

Line 13: 

Line 14: 

Start time 

Drive length 

Ending time 

Total fuel used (lbs) 

Total miles traveled 

Overall miles/gallon 

Total prg. rate (ft3) 

Total HC purged (gms) 

Total HC vented (gms) 

HC pg'd from can (g) 

Final can. load (%) 

Final can. cap. (gms) 

= 

= 

= 

=2 

= 

= 

= 

= 

= 

= 

= 

= 

0 

1061 

1061 

1.49 

5.55 

23.14 

19.95 

42.15 

0.00 

25.79 

26.54 

28.39 

Line 1: "Drive event # 2 Cumulative event #4" Indicates that the fourth event in the 

event data file is being processed, and that it is the second drive event of the 

simulation to be processed. 

28 
P.41 1 

Line 2: "Processing type 2 drive event" Indicates a drive event, and that die vapor 

generation data file specified by die vaporfile2 keyword in the input data file will be 

used. 

Line 3: "Start time..." Indicates die starting time of die drive, as specified by the 

second parameter of die drivex keyword in die event data file. 

Line 4: "Drive length..." Indicates the lengdi of the drive, as specified by the first 

parameter of the drivex keyword in die event data file. 

Line 5: "Ending time..." Indicates die die ending time of the drive, as computed from 

the values displayed in lines 3 and 4 above. 

Line 6: "Amount of fuel used..." Indicates the calculated quantity of fuel used during 

the specified drive. 

Line 7: "Total miles traveled..." Indicates the calculated distance traveled during the 

specified drive. 

Line 8: "Overall miles/gallon..." Indicated die calculated fuel economy over the 

specified drive. 

Line 9: "Total prg. rate (ft3).,." Indicates the total volume of purge vapor entering the 

engine over the specified drive. This quantity reflects the volume of vapors purged 

through die canister as well as fuel tank vapors that are routed direcdy to die engine. 

Line 10: "Total HC purged (gms)..." Indicates the total mass of purge hydrocarbons 

entering the engine over the specified drive. This quantity reflects hydrocarbons 

purged from the canister as well as fuel tank vapors that are routed directly to the 

engine. 

Line 11: "Total HC vented (gms)..." Indicates me mass of hydrocarbon vapors vented 

into die atmosphere by die canister due to insufficient capacity to adsorb some or all 

of the fuel tank vapors generated during the specified drive. 

Line 12: "HC pgd from can (g)..." Indicates die mass of hydrocarbons purged from 

the canister during die specified drive. 

Line 13: "Final can. load (%)..." Indicates the extent of canister loading at the end of 

the event on a percentage basis. A value of 100.00 corresponds to a fully loaded 

canister. 

Line 14: "Final can. cap. (gms)..." Indicates the available canister capacity at the end of 

die event on an absolute mass basis. A value of 0.00 corresponds to a fully loaded 

canister. 

b) Log File Output 

Log file output contains second-by-second output generated during simulations of drive 

events. These output values provide more detailed information about drive simulations 

than appears in terminal output. These data are written to an output file specified by the 

logfile keyword in die scalar or input data file described in Section II-B-1-1, "Log output 

29 
P.42 

file name," and as modified by the log file output flag described in Section ITI-B-1, "Input 

Data Preparation." Sample output from diis file and a description of each output item 

follows. 

Time: 10.0 Speed: .00 Accel: .000 Fuel rate: 2.3030E-04 

EPrate: .000 Canprgvol: -1.0197E-02 

%fuel as vapor: .0000 %fuel from can.: .000 

Can. load (%): 99.027 Can. cap (gms.): .3759 

Time: Time of drive simulation, in time units used in die drive schedule table. 

Speed: Vehicle speed, in mph. 

Accel: Vehicle acceleration, in mph/sec. 

Fuel rate: Liquid fuel rate into the engine, in lbs/sec. 

E P rate: Volumetric flow rate of purge vapors into the engine, in SCF/min. 

Can prg. vol: Volumetric flow rate of purge vapors out of the canister, in SCF/min. 

%fuel as vapor: Percent of total fuel required by me engine available from die 

combined canister purge stream and fuel tank vapor stream. This value 

may be greater than 100.0%. 

%fuel from can: Percent of total fuel required by die engine available from the 

combined canister purge stream. This value may be greater than 

100.0%. 

Can. load (%): Current canister load, as percent of total capacity. 

Can. cap (gms): Current available canister capacity, in grams. 

c) Plot File Output 

Plot file output contains second-by-second output generated during simulations of drive 

events. These output values provide detailed information about canister loading and 

percent of engine fuel requirements provided by die canister purge stream, and can be used 

to prepare plots of these quantities versus time. These data are written to an output file 

specified by the plotfile keyword in the scalar or input data file described in Section 

H-B-l-m, "Plot output file name," and as modified by the plot file output flag described in 

Section III-B-1, "Input Data Preparation." Sample output from this file and a 

description of each output item follows. 

Column 1 Column 2 Column 3 

Line 1: Simulation time Canister load (%) %Eng. fuel from canister 

Line 2: 

Line 3: 

D) Program Generation and Modification 

This section contains a brief guide to recompilation of the PT model, and to adding 

additional, user-defined purge control strategy models. Aldiough neither of these steps are 

necessary for use of the model, the necessary instructions are included here for tiiose 

wishing to modify the model. Instructions are brief, and knowledge of FORTRAN is 

assumed; persons with questions not answered in diis section should contact die author. 

The PT model is written in FORTRAN-77, and has been compiled using Microsoft 

FORTRAN, version 4.1. Any user modifications to the model will require that this or a 

30 
P.43 

compatible compiler be available, along widi a suitable text editor to make any needed 

source code modifications. 

1) Program Generation 

Compilation of die PT model is normally carried out dirough use of a make utility, such as 

that included with die Microsoft Version 4.1 FORTRAN-77 compiler. All source code for 

the model, along widi die data files required by make, are included in the source 

subdirectory of die model distribution disk. Two data files are used during model 

compilation and Unking. The first of these is the source code dependency file, called 

ptmak, which is read by die make utility itself. The second data file, called ptlink, is read 

by the linker to determine the names of all object code files needed to build die model. 

Since die make utility automatically determines which source code files must be compiled to 

rebuild the PT model, a single command is used to do so after any source code 

modifications. This command is: 

make ptmak 

Use of this command assumes mat die current working directory is set to that containing 

die model source code and die ptmak and ptlink data files. In die distribution disk, diis 

directory is called source. Since use of a FORTRAN compiler is system dependent, steps 

necessary to access the compder on a particular system are not covered here. 

If additional source code modules are added to the PT model, both die ptmak and ptlink 

data files must be modified to reflect die addition. Details of diis procedure can be found in 

die relevant sections of the compiler documentation. 

2) Program Modification 

Provisions have been made in die PT model to accommodate user-supplied additions that 

allow simulation of canister purge control strategies other than that included in the 

distribution version of the model. To make such an addition, the source code file 

containing die purge control strategy model must be modified, and die model recompiled as 

described above in Section 1. In addition, a change to die purgetype scalar data file data 

item must be made to select use of die user-supplied purge model in place of the built-in 

model. These steps are covered in more detail in die following paragraphs. 

The purge control strategy module Getpurge is contained in die file ptgetprg.for in the 

source directory of the distribution disk. Within diis file, comments indicate the portion of 

the source code reserved for user-supplied additions. To add new code, die two executable 

lines must be deleted, as indicated in die source code comments, and the appropriate user 

code added. The purge model to be used during a PT run is specified by the purgetype 

scalar data file item, described in Section H-B-l-n, "Purge Type Flag." During execution 

of Getpurge, the variable ptype contains this value. Values of ptype less than zero should 

be used to select user-supplied models, while a value of zero should be used to select the 

distribution model. 

Two parameters are passed to the Getpurge module which may be used to calculate purge 

flow rates. These are as follows: 

Variable Type Description 

speed real*4 Vehicle velocity, in mph. 

accel real*4 Vehicle acceleration, in mph/sec. 

31 
P.44 

The variable max_purge, of type real*4, may be used in user-supplied code. This variable 

contains the value specified for the maxpurge scalar data item, described in Section 

H-B-l-d, "Maximum Purge Rate." In addition, die module Gedip may be called by 

user code to estimate engine horsepower output at a given speed and acceleration. The 

calling sequence for this module is as follows: 

hp = gethp(speed, accel, rvec(hp_base)) 

Here, speed and accel are me vehicle velocity and acceleration at which horsepower is to be 

calculated. The diird parameter, rvec(hp_base), must appear exacdy as shown; it is used to 

pass horsepower correlation parameters to Gethp. Details of how this third parameter is 

obtained and used are omitted for die sake of brevity. Gethp will return the calculated 

horsepower value as a function value, which is of type real*4. 

After a user-supplied purge model calculates purge rate in SCF/min., it should assign diis 

value to die variable purge. The value of this variable will be assigned to the function 

Getpurge itself upon return from die function. A possible skeleton for user-supplied code 

is as follow, with existing code shown in bold: 

if (ptype .It. 0) then 

if (ptype .eq.-1) dien 

(calculations for first added model) 

purge = purge_value_l 

else if (ptype .eq. -2) then 

(calculations for second added model) 

purge = purge_value_2 

endif 

else if (ptype .eq. 0) then 

32 
P.45 

IV References 

1) "Summary and Analysis of Comments on the Recommended Practice for the 

Measurement of Refueling Emissions.", March, 1987, U.S. 

EPA/OAR/OMS/ECTD/SDSB. 

2) Notes from public workshop "Modifications to Evaporative and Refueling Test 

Procedures for the Control of Excess Evaporative Emissions," June 30, 1988, 

U.S. EPA/OAR/OMS/ECTD/SDSB. Public docket A-87-11, document IV-E-58. 

3) "Koehl, W.J. Jr., "Mathematical Models for Prediction of Fuel Tank and 

Carburetor Evaporation Losses," SAE Paper 690506. 

4) Reddy, S.R., "Evaporative Emissions from Gasolines and Alcohol-Containing 

Gasolines widi Closely Matched Volatilities," SAE Paper 861556. 

5) ATL Report - On-road fuel tank temperatures. 

33 
P.46 1 

Appendices 

A) Distribution Disk Contents and Model Installation 

This Appendix contains a detailed list and description of all files included in the PT model 

distribution disk, and instructions for installing the model from the distribution disk. These 

topics are covered in Sections 1 and 2 below, respectively. 

1) Distribution Disk Contents 

The directory structure of die distribution disk is as shown in Section JH-C-1, "Running 

the Model," of the text. Contents of each directory are given below. 

Directory File 

root (pt) 

Description 

ptbat Batch file used for running the model. 

ptkey Data file used internally by die PT model. This file must be 

in the current directory at die time die PT model is run, 

rptexe Driver file used to generate patiinames needed to start the PT 

model. See Section 2 below, 

runptdat Data file read by rptexe. See Section 2 below, 

installbat Batch file for installing the PT model. See Section 2 below. 

source 

dataNvpr 

ptfor Main program for the PT model. 

ptdihs.for Diurnal and hotsoak modules. 

ptgetprg.for Purge control module. 

ptcan.for Canister module. 

ptinitfor Model initialization module. 

ptdrive.for Drive simulation module. 

lintrp.for Linear interpolation utility. 

ptdoit.for Event handler module. 

ptcheckior Input data checking and verification module. 

ptdspO.for Data display module. 

ptindex Data file required for compdation. Do not modify. 

ptgpfio Data file required for compilation. Do not modify. 

ptdim.ins Data file required for compilation. Do not modify. 

gpfio.lib Object code library containing data input utilities. 

Source code not included. Do not modify, 

ptmak Data file required by make during compilation, 

pdink Data required for program compilation and linking, 

ptexe PT model executable code. 

7297a.vpr Vapor generation file, current data, 9.0 # RVP fuel. 

84109a.vpr Vapor generation file, current data, 9.0 # RVP fuel. 

96116a.vpr Vapor generation file, current data, 9.0 # RVP fuel. 

7297c.vpr Vapor generation file, current data, 11.5 # RVP fuel. 

84109c.vpr Vapor generation file, current data, 11.5 # RVP fuel. 

96116c.vpr Vapor generation file, current data, 11.5 # RVP fuel. 

34 

-
P.47 

data\vpr\ws 

datatevt 

7191a.vpr 

84104a.vpr 

96116a. vpr 

7191b.vpr 

84104b.vpr 

96116b. vpr 

nprm.evt 

ftpws.evt 

ftpdi.evt 

ftphtdievt 

ftpla4.evt 

ldir90.evt 

ldirll7.evt 

ldnir90.evt 

ldnirll7.evt 

ldftp90.evt 

hdir90.evt 

hdirl 17.evt 

hdnir90.evt 

hdnirll7.evt 

fordxan 

nissan.can 

sample.dat 

testl.dat 

test2.dat 

la4.drv 

hdurb.drv 

nyc.drv 

2) Model Installation 

data^an 

dataMnp 

dataNdrv 

Vapor generation file, 

Vapor generation file, 

Vapor generation file, 

Vapor generation file, 

Vapor generation file, 

Vapor generation file, 

workshop data, 

workshop data, 

workshop data, 

workshop data, 

workshop data, 

workshop data, 

9.0 # RVP fuel. 

9.0 # RVP fuel. 

9.0 # RVP fuel. 

10.5 # RVP fuel. 

10.5 # RVP fuel. 

10.5 # RVP fuel. 

NPRM test procedure, workshop data. 

FTP test, workshop data. 

FTP plus diurnal, workshop data. 

FTP plus high-temp, diurnal, workshop data. 

FTP plus LA-4 drive, workshop data. 

Reproposal TP for LDV with integrated on-board refueling 

systems, 9.0 #RVP fuel, revised temperature profile. 

Reproposal TP for LDV widi integrated on-board refueling 

systems, 11.5 #RVP fuel, revised temperature profile. 

Reproposal TP for LDV widi non-integrated refueling 

systems, 9.0 #RVP fuel, revised temperature profile. 

Reproposal TP for LDV with non-integrated refueling 

systems, 11.5 #RVP fuel, revised temperature profile. 

Current FTP TP for LDV with 9.0 #RVP fuel, revised 

temperature profile. 

Reproposal TP for HDV widi integrated on-board refueling 

systems, 9.0 #RVP fuel, revised temperature profile. 

Reproposal TP for HDV with integrated on-board refueling 

systems, 11.5 #RVP fuel, revised temperature profile. 

Reproposal TP for HDV with non-integrated refueling 

systems, 9.0 #RVP fuel, revised temperature profile. 

Reproposal TP for HDV with non-integrated refueling 

systems, 11.5 #RVP fuel, revised temperature profile. 

Canister purge table for Ford (domestic)-type charcoal. 

Canister purge table for Nissan-type charcoal. 

Scalar input data file prototype template. 

Scalar input data file for sample test run. See Appendix C. 

Scalar input data file for sample test run. See Appendix C. 

LA-4 urban dynamometer drive schedule table 

Heavy-duty urban drive schedule table. 

New York city drive schedule drive table. 

To simplify installation of the PT model to a user's machine, a batch file is included on die 

distribution disk that will automatically create all necessary directories, and copy all files 

from the distribution disk to the appropriate target directory. This batch file is intended to 

install the model from the distribution floppy disk to a user's fixed disk drive, which is 

35 
assumed to be drive c:. Modifications mat must be made to me installation batch file to 

place me model on a drive other mat drive c: or on a floppy disk are oudined at the end of 

diis section. The following installation procedures assume mat die user is familiar with 

PC-DOS/MS-DOS commands, tree-structured directories, and die use of floppy and hard 

disk drives. If additional guidance is needed in diese areas, users should consult their 

computer hardware and operating system manuals. 

The following steps should be followed to perform normal installation from die distribution 

disk to a fixed disk: 

1) Make drive c: (the fixed disk) die current disk, and change die current directory to 

that under which the PT model is to be installed. The install batch file will create a 

directory called pt, and install the model under it as shown in Section HI-C-1, 

"Running the Model." 

2) Place die distribution disk indrive a:, and make drive a: die current disk. 

3) Enter die command 

install 

to begin the installation process. 

4) After installation is complete, a message will be displayed to mis effect At this 

point, the current disk may be changed to drive c:, and the distribution disk 

removed from drive a:. 

5) Check that all files listed above in Section 1 have been copied from the distribution 

disk, and mat diey are in their proper location. 

6) Verify that die model is operating properly by running the two sample runs included 

with the model and described in Appendix C, "Sample Runs." 

Installation of die model to a fixed disk otiier than drive c:, or to a floppy disk, will require 

modification of the installation batch file install.bat. In bodi cases, all references to c: in the 

original batch file must be changed to the desired drive. For alternate fixed drives, this 

reference should be changed to the appropriate drive letter, while for installing to a floppy 

disk, drive b: should normally be specified. Floppy disks must be formatted before 

attempting to install the model. It is not recommended that the PT model be installed on 

360K floppy disks, since little space will be available for output files or additional input 

data files. 

If the PT model is installed with a directory structure differing from that generated by the 

install batch file, or if different disk drives are to be used for the model and for input data 

files, then it may be necessary to modify die runptdat file mat is found in the root directory 

of the distribution disk, and in the pt directory as die model is installed by the normal 

installation process. Data in this file are used to generate padinames during execution of the 

pt model, and its format is as follows: 

linel: <Model_code_pathname>

 / 

line2: <Input_data_file_patiiname> 

The contents of the first line contain the directory path of the file containing the PT model 

executable code (ptexe), while the second line contains die directory padi to the directory 

36 
P.49 

containing scalar input data files. Note that die Model_code_pathname must terminate in a 

file, whereas die Input_data_file_padiname must terminate in a directory. During execution 

of the PT model, the input data file to be used is located by appending the user-supplied 

data file name to die Input_data_file_padiname. As distributed, runptdat file appears as 

follows: 

linel: source\pt 

line2: dataNinp 

If, for example, scalar input data files are to be read from a floppy disk in drive a: instead 

of from the directory pt\data\inp as distributed, the runptdat file should be modified to 

appear as: 

linel: sourceNpt 

line2: a: 

Note that modification of die runptdat file is not needed if the distribution disk directory 

structure is maintained. 

37 
B) Refueling/Excess Evaporative Emissions Workshop Data 

1) Introduction 

This appendix contains descriptions and summaries of data used to obtain the evaporative 

emissions canister sizes and performance estimates presented at die public workshop titles 

"Modifications to Evaporative and Refueling Test Procedures for the Control of Excess 

Evaporative Emissions," held on June 30, 1988. These data are presented as a starting 

point from which calculations upon which workshop presentations were based can be 

carried out and verified. 

Data are presented according to the organization of Sections II and IH of diis report. That 

is, sources of scalar data and dieir source are presented first, followed by tabular data and 

event data. In die case of scalar data,, data values and dieir sources are presented, whereas 

for tabular data, reference is made to computer data files distributed widi die model. 

2) Input Data 

a) Scalar Data 

1) Fuel tank size: All tanks are 17.6 gallons in size. A vapor headspace 

volume of 2.0 gallons is assumed. 

2) Canister size: Variable 

3) Initial Canister Load: 99.0% of total canister capacity, except for some very 

large canisters (greater than 20.0 1), in which case a value of 98.5% was 

used. These value are used to simulate a fully loaded canister instead of 

100.0% to avoid a model quirk that allows a small amount of vapor 

breakthrough from fuel tank vapors during simulation of the first entry in 

the drive schedule table. 

4) Maximum Purge Rate: For purge rates of 8.0 l/LA-4, a value of 1.73 is 

used, and for purge rates of 20.01/LA4, a value of 4.??? is used. 

5) Diurnal Canister Load: Values of 25.0 and 40.0 g/event are used for FTP and 

in-use diurnals, respectively. 

6) Hotsoak Canister Load: Values of 6.0 and 20.0 g/event are used for FTP 

and in-use diurnals, respectively. 

7) Purge Delay: A value of zero is used for all simulations. 

8) Horsepower Correlation Parameters: Values presented in Section n-B-l-h 

are used for all simulations. 

b) Tabular Data 

1) Drive Schedule Table: The drive schedule in the file la4.drv is used for 

all simulations. 

2) Canister Purge Table: Data in the canister purge files ford.can and 

nissan.can are used, as appropriate. 

38 
P.51 

3) Vapor Generation Tables: The following tables are used: 

Initial Fuel Temperature Fuel Volatility Data File 

71.0 °F 

84.0 °F 

96.0 OF 

71.0 °F 

84.0 OF 

96.0 OF 

9.0 # RVP 

9.0 # RVP 

9.0 # RVP 

10.5 # RVP 

10.5 # RVP 

10.5 # RVP 

7191a.vpr 

84104a.vpr 

96116a. vpr 

7191b.vprl 

84104b.vpr 

96116b.vpr 

c) Event Data 

1) The following event data files arc used: 

Event Description Event Data File 

August 1987 NPRM test procedure for nprm.evt 

load-to-breakdirough and canister preconditioning. 

FTP ftp.evt 

FTP followed by a single diurnal ftpdi.evt 

FTP followed by an LA-4 drive ftpla4.evt 

FTP followed by a high-temperature ftphtdi.evt 

in-use diurnal 

39 
P.52 

C) Sample Runs 

This Appendix describes two sample runs that are distributed with the PT model to 

illustrate data formats, how me model can be used to simulate various test procedures and 

types of vehicle operation, and as a reference to verify proper operation of the model. 

Section 1 below gives a brief description of the two test cases, while Sections 2 and 3 

contain input data files and model output 

1) Description 

Input data and model output from two sample simulations are included on the distribution 

disk, and reproduced imprinted form at the end of diis section. These examples may be 

used to verify that die model has been installed and is operating correcdy, as examples of 

typical input data file formats, and to illustrate techniques available to simulate effects of 

fuel tank temperatures on evaporative emissions. Sample data files are as follows: 

Input data file: Description: 

testl .dat Simulation of the FTP+LA-4 test procedure, as presented 

during the June 30,1988 workshop. Fuel temperatures 

during all drives are assumed to be identical. Diurnal and 

hot-soak loadings are taken to be 25.0 and 6.0 grams, 

respectively.. 

test2.dat Simulation of die FTP+LA-4 test procedure. Fuel 

temperatures are continuous from one test procedure event to 

anodier. Diurnal and hot-soak loadings reflect updated 

vapor generation modelling, and hotsoak loadings reflect 

end-of-drive fuel tank temperatures. 

Both input data files are located in the data\inp directory, and output from these two 

examples can be found in dataNautVestl.out and data\ouf\test2.out, respectively. Assuming 

that die model has been installed as described in Appendix A, diat the current drive is that 

onto which the model has been installed, and mat die current directory corresponds to the 

root directory of die distribution disk, the following command may be used to run die first 

of the two sample runs: 

pt testl 

This command will cause simulation output to appear on the display screen. To verify that 

the model is operating correctly, results can be compared to the contents of the file 

data\oufStestl.out If desired, the command 

pt testl lptl: 

can be used to obtain a printed copy of the sample run output. For further details, see 

Section HI-C-1, "Running the Model." The second sample run can be executed by 

substituting "test2" for "testl" in ether of the two prototypes above. 

2) Testl Sample Run Data 

Input Data File (testl.dat) 

40 
title 70 

PT test file, integr. system, ftp+la4 drive, ws temps., 9.0 # fuel\\ 

The TANKSIZE keyword specifies the nominal liquid capacity of 

the fuel tank, in gallons. 

tanksize 1 

17.6 

The MAXPURGE keyword specifies the maximum instantaneous purge rate 

in cfm/min. 

maxpurge 1 

4.30 

The DIURNAL keyword specifies the default diurnal he generation, 

in grams. 

diurnal 1 

1.420 

The HOTSOAK keyword specifies the default hotsoak he generation, 

in grams. 

hotsoak 1 

.0.341 

The DELAY keyword specifies a delay in the start of canister 

purge after the start of simulation. 

purgedelay 1 

0 

The CANSIZE keyword specifies the size of all canisters, in liters. 

cansize 1 

4.1 

The CANSTART keyword specifies the initial loading, in percent, of 

each of each canister. 

canstart 1 

99.0 

The PARAM keyword specifies the horsepower correlation parameters. 

param 4 

.007 .0038 .334 0.85 

The PURGETYPE keyword specifies the purge strategy index. 

purgetype 1 

0 

The LOGFLAG keyword specifies if the entire log and plot files 

should be written. The first entry controls log files, while 

the second entry controls plot files. 

41 
P.54 

logflag 2 

.false, .false, 

drivefile 25 

data\drv\la4.drv\\ 

vaporfilel 35 

data\vpr\ws\7191a.vpr\\ 

vaporfile2 35 

data\vpr\ws\84104a.vpr\\ 

vaporfile3 35 

data\vpr\ws\96116a.vpr\\ 

canfile 25 

data\can\ford.can\\ 

logfile 25 

data\out\pttestl.log\\ 

plotfile 25 

data\out\pttestl.plt\\ 

eventfile 25 

data\evt\ftpla4.evt\\ 

42 
P.55 

Event Data FUe for sample run testl (ftpla4.evt) 

drive2 -1 

hotsoak -1 

diurnal -1 

drive2 -1 

hotsoak 0.5 

drive2 505 

hotsoak -1 

drive2 -1 

hotsoak -1 

43 
P.56 

Output from sample run testl (testl.out) 

PT test file, integr. system, ftp+la4 drive, ws temps., 9.0 # fuel 

Calculations begin: 10/11/1988 14:40:15 

Fuel tank size (gal 

Maximum purge rate 

For canister 1 size 

Purge model index = 

Drive schedule file 

Purge curve table: 

Vapor gen. file # 1 

Vapor gen. file # 2 

Vapor gen. file # 3 

Log output file: 

Plot output file: 

Event file: 

) -

CFM 

(1) 

0 

17.60 

) = 4.30 

4.10 

data\drv\la4.drv 

data\can\ford.can 

data\vpr\ws\7191a. vpr 

data\vpr\ws\84104a.vpr 

data\vpr\ws\96116a.vpr 

data\out\pttestl.log 

data\out\pttestl.pit 

data\evt\ftpla4.evt 

1370 entries read for drive table. Title is: 

D* The LA4 data came from MTS file 1402D-S0100T (last mod 11-04-87) 

129 entries read for purge curve table. 

Time Ford 

Title is: 

41 entries read for vapor generation table 1. Title is: 

71-91F Running loss vapor gen. - 9.0 RVP fuel, ATL on-road temp, profile 

41 entries read for vapor generation table 2. Title is: 

84-104F Running loss vapor gen. - 9.0 RVP fuel, ATL on-road temp, profile 

41 entries read for vapor generation table 3. Title is: 

96-116F Running loss vapor gen. - 9.0 RVP fuel, ATL on-road temp, profile 

Drive event # 1 Cumulative event # 1 

Processing type 

Start time = 

Drive length = 

Ending time => 

2 drive event. 

0 

1370 

1370 

Total fuel used (lbs) = 1.89 

Total miles travelled = 7.45 

Overall miles/gallon = 24.45 

Total prg. rate (ft3) = 20.03 

Total HC purged (gms) = 10 3.27 

Total HC vented (gms) = .00 

HC pg'd from can (g) = 9 4.93 

Final can. load (%) = 34.67 

Final can. cap. (gms) = 8 6.25 

Hotsoak event # 1 Cumulative event # 2 

44 
P.57 

Event type: hotsoak 

HC to canister (gms): 6.00 

HC vented (gms): .00 

Final canister load (%): 39.2 

Final canister cap (gms): 80.25 

Diurnal event # 1 Cumulative event # 3 

Event type: diurnal 

HC to canister (gms): 24.99 

HC vented (gms): .00 

Final canister load (%): 58.1 

Final canister cap (gms): 55.26 

Drive event # 2 Cumulative event # 4 

Processing type 2 drive event. 

Start time = 0 

Drive length = 1370 

Ending time = 1370 

Total fuel used (lbs) = 1.89 

Total miles travelled = 7.45 

Overall miles/gallon = 24.45 

Total prg. rate (ft3) = 20.03 

Total HC purged (gms) = 53.23 

Total HC vented (gms) = .00 

HC pg'd from can (g) = 34.90 

Final can. load (%) = 31.71 

Final can. cap. (gms) = 90.16 

Hotsoak event # 2 Cumulative event # 5 

Event type: hotsoak 

HC to canister (gms): 3.00 

HC vented (gms): .00 

Final canister load (%): 34.0 

Final canister cap (gms): 87.16 

Drive event # 3 Cumulative event # 6 

Processing type 2 drive event. 

Start time = 0 

Drive length = 505 

Ending time = 505 

Total fuel used (lbs) = .95 

Total miles travelled = 3.59 

Overall miles/gallon = 2 3.44 

Total prg. rate (ft3) = 10.34 

Total HC purged (gms) = 13.73 

45 
P.58 

Total HC vented (gms) = .00 

HC pg'd from can (g) = 7.64 

Final can. load (%) - 28.20 

Final can. cap. (gms) = 94.79 

Hotsoak event # 3 Cumulative event # 7 

Event type: hotsoak 

HC to canister (gms): 6.00 

HC vented (gms): .00 

Final canister load (%): 32.7 

Final canister cap (gms): 88.79 

Drive event # 4 Cumulative event # 8 

Processing type 2 drive event. 

Start time = 0 

Drive length = 1370 

Ending time = 1370 

Total fuel used (lbs). = 1.89 

Total miles travelled = 7.45 

Overall miles/gallon = 24.45 

Total prg. rate (ft3) = 20.03 

Total HC purged (gms) = 26.27 

Total HC vented (gms) = .00 

HC pg'd from can (g) = 7.93 

Final can. load (%) = 26.74 

Final can. cap. (gms) = 96.72 

Hotsoak event # 4 Cumulative event # 9 

Event type: hotsoak 

HC to canister (gms): 6.00 

HC vented (gms): .00 

Final canister load (%): 31.3 

Final canister cap (gms): 90.72 

End of event file found. 

9 events processed. 

Total he vented (gms) = .00 

Calculations terminated at: 10/11/1988 14:41:05 

Normal termination... 

46 
P.59 

3) Test2 Sample Run Data 

Input data file (test2.dat) 

title 75 

PT test file, integr. system, ftp+la4 drive, cont. temps., 9.0 # fuelW 

The TANKSIZE keyword specifies the nominal liquid capacity of 

the fuel tank, in gallons. 

tanksize 1 

17.6 

The MAXPURGE keyword specifies the maximum instantaneous purge rate 

in cfm/min. 

maxpurge 1 

4.3 

The DIURNAL keyword specifies the default diurnal he generation, 

in grams. 

diurnal 1 

1.282 

The HOTSOAK keyword specifies the default hotsoak he generation, 

in grams. 

hotsoak 1 

0.163 

The DELAY keyword specifies a delay in the start of canister 

purge after the start of simulation. 

purgedelay 1 

The CANSIZE keyword specifies the size of all canisters, in liters. 

cansize 1 

4.7 

The CANSTART keyword specifies the initial loading, in percent, of 

each of each canister. 

canstart 1 

99.0 

The PARAM keyword specifies the horsepower correlation parameters. 

param 4 

.007 .0038 .334 0.85 

The PURGETYPE keyword specifies the purge strategy index. 

purgetype 1 

0 

47 
P.60 

The LOGFLAG keyword specifies if the entire log and plot files 

should be written. The first entry controls log files, while 

the second entry controls plot files. 

logflag 2 

.false, .false, 

drivefile 25 

data\drv\la4.drv\\ 

vaporfilel 25 

data\vpr\7297a.vpr\\ 

vaporfile2 25 

data\vpr\84109a.vpr\\ 

vaporfile3 25 

data\vpr\96116a.vpr\\ 

canfile 25 

data\can\ford.can\\. 

logfile 25 

data\out\pttest2.log\\ 

plotfile 25 

data\out\pttest2.plt\\ 

eventfile 25 

data\evt\ldir90.evt\\ 

48 
i l 1 

Event data file for sample run test2 (ldir90.evt) 

drivel -1 

hotsoak -1 

diurnal -1 

drive2 -1 

hotsoak 1.140 

drive2 505 1370 

hotsoak 3.02 

drive2 -1 1531 

Output from sample run testl (testl.out) 

PT test file, integr. system, ftp+la4 drive, cont. temps., 9.0 # fuel 

Calculations begin: 10/11/1988 14:41:21 

Fuel tank size (gal.) = 17.60 

Maximum purge rate (CFM) = 4.30 

For canister 1 size (1) = 4.70 

Purge model index = 0 

Drive schedule file: data\drv\la4.drv 

Purge curve table: data\can\ford.can 

Vapor gen. file # 1 data\vpr\7297a.vpr. . 

Vapor gen. file # 2 data\vpr\84109a.vpr 

Vapor gen. file # 3 data\vpr\96116a.vpr 

Log output file: data\out\pttest2.log 

Plot output file: data\out\pttest2.pit 

Event file: data\evt\ldir90.evt 

1370 entries read for drive table. Title is: 

D* The LA4 data came from MTS file 1402D-S0100T (last mod 11-04-87) 

129 entries read for purge curve table. Title is: 

Time Ford 

51 entries read for vapor generation table 1. Title is: 

9.0# fuel, ATL temps, 72-97F, 1.0 gal. tank 

51 entries read for vapor generation table 2. Title is: 

9.0# fuel, ATL temps, 84-109F, 1.0 gal. tank 

41 entries read for vapor generation table 3. Title is: 

9.0# fuel, ATL temps, 96-116F, 1.0 gal. tank 

Drive event # 1 Cumulative event # 1 

Processing type 1 drive event. 

Start time = 0 

Drive length = 1370 

Ending time = 1370 

Total fuel used (lbs) = 1.8 9 

49 
Total miles travelled = 7.45 

Overall miles/gallon = 24.45 

Total prg. rate (ft3) = 20.03 

Total HC purged (gms) = 111.74 

Total HC vented (gms) = .00 

HC pg'd from can (g) = 101.44 

Final can. load (%) = 31.97 

Final can. cap. (gms) = 102.96 

Hotsoak event # 1 Cumulative event # 2 

Event type: hotsoak 

HC to canister (gms): 2.87 

HC vented (gms): .00 

Final canister load (%): 33.9 

Final canister cap (gms): 100.09 

Diurnal event # 1 Cumulative event # 3 

Event type: diurnal 

HC to canister (gms): 22.56 

HC vented (gms): .00 

Final canister load (%): 48.8 

Final canister cap (gms): 77.52 

Drive event # 2 Cumulative event # 4 

Processing type 2 drive event. 

Start time = 0 

Drive length = 1370 

Ending time = 1370 

Total fuel used (lbs) = 1.89 

Total miles travelled = 7.45 

Overall miles/gallon = 24.45 

Total prg. rate (ft3) = 20.03 

Total HC purged (gms) = 44.05 

Total HC vented (gms) = .00 

HC pg'd from can (g) = 25.64 

Final can. load (%) = 31.83 

Final can. cap. (gms) = 103.17 

Hotsoak event # 2 Cumulative event # 5 

Event type: hotsoak 

HC to canister (gms): 3.27 

HC vented (gms): .00 

Final canister load (%): 34.0 

Final canister cap (gms): 99.90 

Drive event # 3 Cumulative event # 6 

50 
P.63 

Processing type 2 drive event, 

Start time - 1370 

Drive length - 505 

Ending time =» 1875 

Total fuel used (lbs) .95 

Total miles travelled = 3.59 

Overall miles/gallon = 23.44 

Total prg. rate (ft3) = 10.34 

Total HC purged (gms) = 16.-40 

Total HC vented (gms) = .00 

HC pg'd from can (g) = 8.25 

Final can. load (%) = 28.54 

Final can. cap. (gms) = 108.14 

Hotsoak event # 3 Cumulative event # 

Event type: hotsoak 

HC to canister (gms): 8.66 

HC vented (gms): .00 

Final canister load (%): 34.3 

Final canister cap (gms): 99.48 

Drive event # 4 Cumulative event # 8 

Processing type 2 drive event. 

Start time = 1531 

Drive length = 1370 

Ending time = 2901 

Total fuel used (lbs) = 1.89 

Total miles travelled = 7.45 

Overall miles/gallon = 24.45 

Total prg. rate (ft3) = 20.03 

Total HC purged (gms) = 28.82 

Total HC vented (gms) = .00 

HC pg'd from can (g) = 8.09 

Final can. load (%) = 28.92 

Final can. cap. (gms) = 107.57 

End of event file found. 

8 events processed. 

Total he vented (gms) = .00 

Calculations terminated at: 10/11/1988 14:42:12 

Normal termination... 

51 
P.64 

D) Vapor Generation and Temperature Profile Data 

This section describes methods and data sources used to generate diurnal and hotsoak 

canister loadings, as well as vapor generation tables. In addition, a summary of 

uncontrolled diurnal and hotsoak emissions, generated after the June 30, 1988 

workshop(2), is included. 

1) Emissions Modelling 

Values for uncontrolled emissions from diurnal and hotsoak events used in connection widi 

the June 30, 1988 evaporative emissions workshop and presented in Appendix B, 

"Refueling/Excess Evaporative Emissions Workshop Data," were selected as 

approximate but realistic estimates of these quantities. Modifications to and refinements of 

the PT model since the workshop have included additional modelling of diurnal and 

hotsoak emissions, as well as fuel tank vapor generation rates. Modelling of diese events 

has been carried out with a package, known as the EE model, currendy under development 

at EPA. The EE model is based on individual hydrocarbon species descriptions of fuels, 

and it can predict evaporative hydrocarbon vapor generation.and emissions in response to 

changes in temperature and pressure tiirough the use of rigorous thermodynamic and 

vapor-liquid equilibrium principles. Because the EE model is still under development, 

documentation of it is not available. Elements of die model applicable to generation of data 

needed by die PT model, however, are based on calculation techniques presented in die 

literature by Koehl(3) and Reddy(4). 

2) Diurnal Uncontrolled Emissions 

Simulation of die mass of hydrocarbon vapors generated during diurnal events has been 

carried out for two diurnal temperature range and for three fuel volatilities. Results of these 

calculations are presented below, and are all based on a 40% full tank and a vapor 

headspace volume equal to 15.0% of the liquid capacity of the tank. All values are on a 

basis of grams/(gallon total liquid capacity)/test 

Diurnal Temperature Range 

Fuel Volatility 60-84 °F 72-96 °F 

9.0 # RVP 1.282 g/gal. 2.233 g/gal. 

11.5 # RVP 2.558 g/gal. 5.400 g/gal. 

11.7 # RVP 2.806 g/gal. 6.184 g/gal. 

3) Hotsoak Uncontrolled Emissions 

Uncontrolled hotsoak emissions have been estimated for the diree fuel volatilities used for 

simulation of diurnal emissions, and for a number of fuel tank temperatures corresponding 

to end-of-drive temperatures encountered during drive simulations. Unlike diurnal 

emissions, EPA does not have a rigorous, mechanistic model of hotsoak emission, so that 

a semi-empirical approach was taken to obtain the needed estimates. In this approach, it 

was assumed that hot-soak emissions originate primarily from the fuel tank as in fuel 

injected vehicles, and that a temperature increase of 0.6 °F is experienced by the contents 

of fuel tanks during hotsoaks. Using the same fuel tank fill level and vapor space 

assumptions as were applied to diurnal emissions estimates, the quantity of hydrocarbon 

vapors emitted from a fuel tank during a hotsoak was calculated using die EE model. Next, 

52 
P.65 

a multiplicative factor was applied to these values such mat the quantity of emissions from 

hotsoaks after a drive with a final fuel tank temperature of 99.0 °F (typical after an LA-4 

driving cycle performed on a dynamometer) and 9.0 # RVP fuel was 6.0 g/test A value of 

3.09 was found for this multiplicative factor, and it was applied to hotsoak emissions 

estimates for all three fuel volatilities. The value of 6.0 g/test was selected to maintain 

consistency widi earlier EPA evaporative emissions modelling. A summary of results from 

hotsoak emissions modelling is shown below, along widi die ratio of emissions at each 

indicated temperature to base emissions at 80.0 oF. These ratio values can be used as 

hotsoak event parameters when preparing event files, as described in Section III-B-3, 

"Event Data Preparation." Units for other values are grams/(gallon total liquid 

capacity)/test 

Fuel RVP 

End-of-Drive Temperature 

84.0 OF 96.0 °F 99.0 °F 103.0 °F 108.0 <>F 111.0 °F 

9.0 # RVP 

Basic Em. 

Adj. Em. 

Ratio 

0.0528 

0.1632 

1.000 

0.0994 

0.03071 

1.882 

0.1190 

0.3677 

2.253 

0.1569 

0.4847 

2.970 

0.2344 

0.7243 

4.438 

0.2828 

0.8748 

5.360 

11.5 # RVP 

Basic Em. 

Adj. Em. 

Ratio 

0.1176 

0.3634 

1.000 

0.3118 

0.9635 

2.651 

0.4511 

1.394 

3.836 

0.9405 

2.906 

7.997 

4.40 

13.60 

37.41 

11.7 # RVP 

Basic Em. 

Adj. Em. 

Ratio 

0.1318 

.4073 

1.000 

0.3814 

12.179 

2.895 

0.5902 

1.824 

4.478 

1.617 

4.995 

12.26 

5.773 

17.84 

43.80 

4) Vapor Generation 

Vapor generation tables for the PT model were constructed as oudined in Section HI-B-2-c, 

"Vapor Generation Table." The vapor generation table required by Step 1 of this 

procedure was obtained using the EE model described above, while the time/temperature 

table required by Step 2 was obtained from experimentally-obtained fuel tank temperature 

data. This section gives a brief overview of how each of these data sources were used to 

obtain die needed information. 

The EE model was used to predict vapor generation during vehicle operation by assuming 

that fuel tank vapors are produced in response to increases in the temperature of tank 

contents. Therefore, a temperature/vapor generation table was obtained by simulating a 

fuel tank temperature rise covering the range expected during drive events, with 

intermediate output obtained at temperature intervals of 0.5 °F. All such simulations were 

carried out assuming 40% full fuel tanks, a headspace volume of 15% of total liquid 

capacity, and pressure equal to ambient atmospheric pressure. 

Fuel tank time/temperature data was obtained from experimental on-road studies carried out 

in connection with EPA vehicle testing(5). These data give average fuel tank temperatures 

at several points during extended, continuous drives from a fleet of 16 vehicles. Each drive 

consisted of repeated executions of one or more driving cycles, such as LA-4 or HFET 

cycles. Data used for development of the PT model were from drives consisting of diree 

LA-4 driving cycles performed back-to-back, widi a short pause between each cycle to 

53 
P.66 

record data From these individual time/temperature data points, a second-order regression 

Svno S w Calculated so that the time needed to reach a given fuel temperaturexouW 

be obtained Data given by the Time/Temperature Table example in Section HI-B-2-c were 

generated from diis polynomial. 

54