P.1 

OAR Box 1830 

Prepped by Ollie Stewart 

Document Number: 

200) IV-C-167 

Docket Number: 

A-87-11 

Printed 11/13/2008 7:21:02 AM Sheet 200 of 232 
[.X'itl ~, 

_ v*07 I 

UNITED S7A7I3 ENVIRONMENTAL PROTECTION AGENCY 

Wit I ARBOR. MICHIGAN 43105 

P.2 

p '- : C. (07 -, 

OFFICE OF 

AIR ANC RADIATION 

Mr. Stuart Drake. 

Kirkland and Ellis 

6 55 15th St., NW 

Washington, D.C. 20005 

Dear Mr. Drake: 

Jane Roemer of EPA's Office of General Counsel infori 

cr vour recus :or . ne version our coraouisr U-.c. 

o. escribed by Dr. David Bartus at the meeting between E?A an 

., 1989. Enclosed is a draft copy of Release 

of the ?T Evaporative Emissions Model along with a draft 

of the updated users guide. Neither the model nor the ui 

guide has received review within EPA beyond that U I. 

US 

G GM 

2.0 

copy 

o_rs 

D«-

Bartus. Currently, Dr. Bartus, who developed the ?T model, 

on a three month leave of absence. During his absence, anoi 

engineer in my projecc group, Paul Laing, will oe avs 

provide information about the model. Please contact 

313/563-4274 if you have any questions or comments. 

= i 1 

Sincerely, 

/hu;^-?" C 

Richard Rykowski, Senior Project Manager 

Standards Development and Suooort Branch 

cc. Jane Roemer, EPA/OGC (without enclosures) 

Docket A-85-2I 

Docket A-87-11 

Enclosures 

7 26 7W 
P.3 

PT Evaporative Emissions Model 

Description and Users Guide 

Release 2.0 

June, 1989 

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 
P.4 

BRA FT 

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 6 

j) Vapor Generation Data File Names 6 

k) Event Data File Name 6 

1) Log Output File Name 6 

m) Plot Output File Name 6 

n) Purge Type Flag 6 

o) Canister Purge Curve Type 6 

p) Canister Load Model Flag 7 

q) Back-purge Flow Rate 7 

2) Tabular Data 7 

a) Drive Schedule Table 7 

b) Canister Purge Table 7 

c) Vapor Generation Table 8 

3) Event Data 8 

a) Diurnal Events 8 

b) Hotsoak Events 9 

c) Drive Events 9 

C) Model Operation and Structure 12 

1) Model Operation 12 

2) Model Structure 14 

3) Component Description 16 

a) Ptdihs 16 

b) Ptdrive 16 

c) Getpurge 17 

d) Getspeed 18 

e) Gethp 18 

g) Getvpr 19 

h) Dopurge 19 

i) Ptbkpg 24 

III Users Guide 25 

A) Overview 25 

B) Data File Preparation 25 

1) Input Data Preparation 26 
P.5 

2) Tabular Data Preparation 27 

a) Drive Schedule Table 27 

b) Canister Purge Table 27 

c) Vapor Generation Table 28 

3) Event Data Preparation 31 

C) Program Use 32 

1) Running the Model 32 

2) Output Description 34 

a) Terminal Output 34 

b) Log File Output 37 

c) Plot File Output 38 

D) Program Generation and Modification 38 

1) Program Generation 38 

2) Program Modification 39 

IV References 41 

V Appendices 42 

A) Distribution Disk Contents and Model Installation 42 

1) Distribution Disk Contents 42 

2) Model Installation 44 

B) Refueling/Excess Evaporative Emissions Workshop Data 46 

1) Introduction 46 

2) Input Data 46 

a) Scalar Data 46 

b) Tabular Data 46 

c) Event Data 47 

C) Sample Runs 48 

1) Description 48 

3) Test2 Sample Run Data 55 

D) Vapor Generation and Temperature Profile Data 61 

1) Emissions Modelling 61 

2) Diurnal Uncontrolled Emissions 61 

3) Hotsoak Uncontrolled Emissions 61 

4) Vapor Generation 63 

E) Summary of Model Changes Between Releases 1.0 and 2.0....64 
P.6 

List of Figures 

Figure 1 Sample Temperature Profile 11 

Figure 2 PT Model Operational Flowchart 13 

Figure 3 PT Model Program Structure 15 

Figure 4 Canister Loading Efficiency vs Canister Load 20 

Figure 5 Sample Canister Purge Curve 21 

Figure 6 Sample Analytical Purge Curve Family 23 

Figure 7 Distribution Disk Directory Structure 33 
P.7 

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. 

Numerous revisions and enhancements have been added to the model since its initial 

development. Several significant modifications were made between the June 30, 1988 

public workshop [2] at which the model was first presented and the time that version 1.0 of 

the model was released in September, 1988, and a number of other changes made since the 

release of version 1.0. All changes to date are incorporated in Release 2.0 of the PT 

Evaporative Emissions Model, which this manual documents. Users should note that 

further modifications are likely to be made in in the future. 

Enhancements to the PT model included in release 2.0 can be grouped into four areas. The 

first two of these focus on canister loading and purging behavior, with the objective of 

realistically modelling non-ideal canister effects, and eliminating some of the significant 

simplifying assumptions build into the original version of the model. The third area 

focuses on an additional source of canister purge not included in the original model, 

specifically, purge flow that occurs during periods of decreasing fuel tank temperature. 

This phenomenon occurs regularly in-use after certain vehicle operating events, and may 

have a small but significant effect on evaporative emissions control system performance. 

The final area of enhancement focuses on additional data and vapor generation tables that 
P.8 

have been developed since the first model release, and which may be useful in modelling 

high-temperature scenarios that approach the boiling point of gasoline fuels. 

In both model releases, 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 functions and formats of all input data are 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. 

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 IH, "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.9 

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.10 

hotsoak canister loads, back purge vapor flow rate, 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 must always be specified, and must lie within the range 

of 0.0<(Canister Size)<50.01. 

In addition, this item also specifies the hydrocarbon saturation capacity of the canister, in 

grams per liter, when non-ideal canister loading calculations are specified. See the canister 

loading model flag description below in Section p, and Section II-B-3-h, "Dopurge." 

When ideal canister loading is specified (the only option in Release 1.0 of the PT model), 

the canister saturation capacity value may be omitted. Acceptable canister saturation 

capacity values must lie within the range of 0.0<(Saturation Cap.)<150.0 g/1. For both 

ideal and non-ideal canister loading models, the type, load/purge characteristics and the 

breakthrough capacity of the charcoal is implicitly specified through the canister purge 

table, described below in Section 2-b and Section II-B-3-h, "Dopurge." 

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, particularly when ideal canister 

loading is specified. 

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 diumal 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 diumal emissions test. The value 

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

build, usually the 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 the specified 

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

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

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

made by multiplying the specified load by the diumal event multiplier read from the event 

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

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

II-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 implicitly 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 

that the appropriate value is used. 

f) Hotsoak Canister Load 

This data item specifies the 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 the 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-drive 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 the 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, the 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 the specified load by the simulated vehicle fuel tank size, while the 

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

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

correction and of the hotsoak event multiplier can be found in Section II-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 IF-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. 
P.12 

i) Drive Schedule Data File Name 

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

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." 

k) Event Data File Name 

This data item specified the path 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 the path name to be used when opening the output file that is to 

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

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

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

m) Plot Output File Name 

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

contain canister load versus time data. This output file is described in Section III-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 the 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," they may be 

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

in Section HI-D. 

o) Canister Purge Curve Type 

This data item specifies if the canister purge curve is to be specified by a single table of 

purge curve values, or by an analytical function that generates a family of loadingdependent purge curves. Each of these options are described below in Section II-B-3-h, 

"Dopurge." The value specified as the purge curve type determines how data in the 

canister purge table is interpreted and the expected data format of the associated data file. 

See Section II-B-2-b, "Canister Purge Table." 
-P.13 

p) Canister Load Model Flag 

This data item specifies the model to be used to carry out canister loading calculations, and 

model parameters, if needed. Options available include treating canister loading behavior 

as either ideal or non-ideal. Ideal canister loading calculations assume that hydrocarbon 

vapors are completely captured up to canister breakthrough, and that no additional canister 

capacity exists beyond the breakthrough point. Non-ideal canister loading calculations 

charcoal efficiency, which becomes slightly less than 100.0% as breakthrough loading is 

approached, but remains non-zero at canister loads well beyond the breakthrough point. 

Each of these model options are described further in Section II-C-3-h, "Dopurge." 

q) Back-purge Flow Rate 

This data item specifies the quantity of vapor that is drawn through the charcoal canister 

and into the fuel tank in response to fuel tank temperature decreases. Units of this value are 

ft^(gallon tank capacity)/°F. Physical phenomenon that should be accounted for by values 

specified for this data item include the reduction in vapor volume and condensation of 

hydrocarbon vapors, both as a function of decreasing temperature. The comments made in 

Section e above regarding vehicle dependence of diumal canister loads also apply to backpurge floe rate values. Back-purge calculation details are included in Section II-C-3-h, 

"Ptbkpg." 

2) Tabular Data 

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

vehicle components. The three 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 the 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 three columns, one each for time, velocity, and acceleration. These data should 

be available for the desired driving schedule on a second-by-second basis, with 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 length in seconds. 

b) Canister Purge Table 

This data table contains values that either explicitly or implicitly specify the canister purge 

curve, depending on whether the canister purge curve type flag specifies use of a tabular 

purge curve, or an analytical purge curve. Both approaches contain information that 

describes purge behavior of the carbon canister to be simulated, and that allow calculation 

of the quantity of hydrocarbons removed from a canister versus volume of purge air. 

When the canister purge curve is to be specified explicitly in tabular form, the data table 

consists of two columns, one for volume of purge air, in standard cubic feet, and one for 

the cumulative quantity of hydrocarbons purged, in grams. It is assumed that the canister 

purge table contains data normalized to describe a 1.01. canister. When the canister purge 
P.14 

curve is to be specified analytically, the data table consists of a set of model constants, as 

described in Section III-B-2-b, "Canister Purge Table." 

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 three columns, one for time since the start of a drive in minutes, one 

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

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

normalized to a basis of a 1.0 gallon fuel tank with 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 the vehicle to be simulated. 

A vapor generation table depends on both 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 currently provided for by the PT 

model. 

3) Event Data 

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

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

simulated include diumal heat builds, hotsoaks, driving sequences, and back-purge cycles. 

In the event file, events are specified by a keyword that identifies the desired event, and one 

or more optional parameters that specify or modify event characteristics. Parameters 

associated with 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, this drive may be simulated for up to three ambient 

temperature/initial fuel temperatures, and parameters associated with drive event 

specification allow any portion of the drive schedule to be simulated. This section 

describes how each of these events is described in the event file. 

a) Diurnal Events 

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

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

associated with the base diumal canister load as described in Section II-B-l-e, "Diurnal 

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

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

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

for simulation is the 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 II-B-l-e, in addition to any scaling specified by a diumal event 

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

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

Diumal Event Parameter 
P.15 

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

diumal -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 the base hotsoak canister load as described in Section U-B-l-f, "Hotsoak 

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

canister load used to simulated the 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 the base hotsoak canister load multiplied by the value of the parameter. 

Note that the 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 the 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 that only a portion of an entire driving schedule 

is to be simulated, or to start a simulated drive with elevated fuel temperature. Each of the 

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

schedule table described in Section II-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 the three 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 the vapor generation table associated with the vaporfilel data item. (See 

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

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

item, and the "drive3" keyword is associated with 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 the length of the drive to be simulated, in time units equal to those used in the 

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

table entries that 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.16 

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

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

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

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

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

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

drive length and the 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 both parameters; if desired, a value of -1.0 may be given for the first parameter 

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

several examples that illustrate use of parameters with 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 the "vaporfile2" data item. The entire drive described by 

the drive schedule table is simulated. 

Example 2 

drive2 505 

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

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

drive table entries. If the drive table contains entries at time intervals of seconds, this 

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

Example 3 

drive2 505 1537 

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

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

conesponding to the fuel temperature that would be observed after 1537 seconds (more 

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

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

505 seconds. The temperature profiles followed by this hypothetical drive and the drive to 

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

curve extending from 99.0 °F to 103.0 °F: 

10 
P.17 

Figure 1 

Sample Temperature Profile 

80.0 

0.0 10.0 20.0 30.0 

Time (min.) 

40.0 50.0 60.0 

Example 4 

drive2 -1 1537 

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

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

d) Back-Purge Events 

Back-purge events are specified by the keyword "backpg." A single required parameter 

specifies the decrease in fuel tank temperature that is to be modelled during the event The 

actual canister purge volume associated with back purge events is calculated from the 

specified temperature change, the fuel tank size, and the back-purge flow rate given by the 

back-purge flow date scalar data item, described in Section II-B-2-q, "Back-purge Flow 

Rate, as follows: 

Back-purge vol. = (Back-purge Flow Rate) * (Tank Volume) * (Deltat) 

where Deltat is the desired temperature change. Because the PT model does not explicitly 

account for fuel tank temperatures, it is up to the user to specify an appropriate back-purge 

event parameter so as to maintain temperature continuity between events and over multiple 

days that are simulated. An example of a back-purge event in an event data file is: 

backpg 12.0 

This entry specifies that an event characterized by a decrease in fuel tank temperature of 

12.0 °F is to be simulated. 

11 
P.18 

C) Model Operation and Structure 

This section describes the 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 the 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 II-B-1 

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

events from the 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 third 

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

control among these events is illustrated in Figure 2. 

12 
P.19 

Figure 2 

Read data & 

Perform 

initialization 

PT Model 

Operational Flowchart 

Read event 

data 

Process backpurge events 

^Determines. 

\event type / 

Process drive 

event 

I Calculate trip 

length 

Process diurnal 

and hotsoak 

events 

Calculate backpurge volume 

Calculate 

diurnal or 

hotsoak load 

Perform canister 

purge 

calculations 

Calculate speed 

& acceleration 

Repeat for all 

trip table entries 

Calculate purge 

rate 

Add calculated 

load to canister 

X 

Calculate vapor 

generation rate 

Find net 

load/purge & 

update canister cam 

Calculate fuel 

rate & fuel 

from canister 

Output event 

results 

End of 

simulation 

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 with 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 

13 
P.20 

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

each of the 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 diumal and hotsoak events are passed to the Ptdihs module, 

and back-purge events are passed to the Ptbkpg module. No checking is performed on 

event parameters at this stage. Events continue to be read and simulated until all events in 

the specified event data file have been processed. 

Diumal and hotsoak events are processed in a similar fashion by the Ptdihs module, with 

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

events, the 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 II-C-3-a 

and H-C-3-h. 

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

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

determined from parameters associated with 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 the net change in canister load over the interval between drive table 

entries. In addition, values for the quantity of fuel required by the 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 II-C-3-b. 

Back-purge events are processed by the Ptbkpg module. This event is processed by 

calculating the volume of purge air that passes through the canister during die event, then 

performing canister purge calculations in a manner identical to that used to carry out 

canister purge calculations during drive events. Further details are found in Section 

II-C-3-i. 

2) Model Structure 

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

the model relate to one another. Knowledge of this structure is not strictly necessary to use 

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

Figure 3 below illustrates the PT model structure in terms of its highest-level components. 

The algorithms upon which each of these components are based are described below in 

Section 3, "Component Description." 

14 
P.21 

Figure 3 

Canister Model Program Structure 

Purge! 'est 

GetFile 

Gprdkey 

Ptcheck 

Ptinit 

PtdspO 

Read_data 

Doit 

Rdevt 

Display_data 

Ptdi 

Pths 

Ptbkpg 

Ptdrive 

DoPurge 

GetSpeed 

GetHp 

GetPurge 

GetVpr 

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

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 the 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 the thirdlevel modules Ptdi, Pths, Ptdrive or Ptbkpg, as appropriate, to carry out the necessary 

calculations. Each of these three 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, GetHp, 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. 

15 
P.22 

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 mis document. 

3) Component Description 

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

along with the computational algorithms upon which they are based. Modules that are 

described here are limited to those directly 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 Diumal 

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

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

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

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

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

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

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

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

the hydrocarbons vented is displayed. 

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 the 

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

"Drive Events." Initialize the 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 the drive by integrating velocity using Euler's method. 

3) Calculate the 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. 

16 
P.23 

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

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

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

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

II-B-3-c, "Drive Events." Adjust both of these quantities for the fuel tank size of 

the simulated vehicle. 

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

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

above. This calculation assumes that the 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, the 

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

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

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

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

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

interval width, normally one second or 1/60 minute. Then, the 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 the sum of fuel tank vapors 

and vapors purged from the canister. 

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

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

8) Write entries to both the plot file and to the 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: 

17 
If speed < 2.5 mph then 

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 

max_hp = horsepower at 60.0 mph cruise 

min_hp = idle horsepower 

kl = max_purge*(hp-min_hp)/(max_hp-min_hp) 

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

purge = kl * k2 

} 

When the 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, that 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 the result to be taken as the value of k2. 

d) Getspeed 

This module determines the 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 the specified time and the time of the 

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

the change in velocity over this 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 the 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 

2,500 lbs. 

4,000 lbs. 

kl 

0.007 

0.010 

k2 

0.0038 

0.0055 

ka 

0.334 

0.486 

k4 

0.850 

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 %). 

18 
P.25 

Fuel rate = horsepower* 2,544,987 BTU / 3,600.0 sec, / 18,464, 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 II-B-2-c, "Vapor 

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

second interval starting at the 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 canister loading and purging calculations, with options available 

for each that differ according to the simplifying assumptions that are incorporated into each. 

Loading model selection is made through the cantype scalar data item, while the purge 

model is selected by the pcurvetype data item, both of which are described in Section 

II-B-2 and below. All models are based on experimental data taken under conditionss 

typically encountered by evaporative emissions control systems. The PT model assumes 

that only charcoal type differences are significant between canisters, and that canisters of 

differing size but identical adsorbent exhibit performance proportional to size. Canister 

loading and purging models are described below. 

Canister Loading Models 

Two canister loading models are available, selected by the cantype input data item. The 

format and values expected for this item are described below inn Section III-B-1, "Input 

Data Preparation." The simplest loading model is based on an assumption of ideal 

canister adsorption behavior. 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 the 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, 

therefore, are simply to add any portion of incoming vapors to the cunent canister load up 

to the 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 the purge curve, along with the actual canister volume. No parameters or data other 

than, the canister breakthrough capacity are needed to perform these calculations. 

A more realistic canister loading model is also available which assumed that canister 

loading is somewhat less efficient than with an ideal canister up to the breakthrough point, 

and that some canister capacity is still available at canister loadings beyond the 

breakthrough point. The efficiency of canister loading is determined from experimental 

data, and is a function of canister capacity expressed as percent of breakthrough capacity. 

Figure 4 shows the applicable experimental data and the correlation of these data used by 

the non-ideal efficiency-based canister loading model. 

19 
P.26 

Figure 4 

Canister Loading Efficiency vs. 

Canister Load 

120 

1 

o 

s 

Ul 

60 

.5 

.a 

0 100 200 300 

Canister Load, % of Breakthrough Capacity 

The canister efficiency correlation has the following form: 

(e" - e'u) 

Efficiency = kl - k2 (eu

 + e"U) 

where 

u = k3 * (Canisterjoad - k_v) 

Canister loading model parameters that have been determined as of the date of this report 

are as follows: 

kl 

k2 

k3 

k4 

0.70 

0.30 

0.05 

146.00 

CAUTION: Although the form of the canister loading model and correlation appear to be 

appropriate, very limited data are available from which to determine the four model 

constants that are needed. As additional data become available applicable to different 

canisters and charcoals, the indicated values may change. The above constants may be 

used, but with appropriate caution and understanding. 

Two calculation options are available for carrying out canister purge calculations, both of 

which account for the non-linear characteristics of the purge curve. The first option that is 

available, and the only one included with Release 1.0 of the PT model, assumes that all 

purge behavior can be described by a single purge curve. For this option, the purge curve 

is described by a table of values that relate the mass of hydrocarbons purged to the volume 

of purge air. 

20 
P.27 

A second options is also available which eliminates the assumption that a single purge 

curve is sufficient to describe canister purge behavior. Experimental data show that at the 

start of a purge cycle, the rate at which hydrocarbons are removed from charcoal is quite 

rapid, and not a strong function of the canister load at the start of purge. In contrast, the 

first purge calculation options described above implicidy assumes that hydrocarbons are 

removed much more slowly at the start of purge when canisters are lighdy loaded compared 

to the start of purge with a heavily loaded canister. To describe this type of purge 

behavior, a family of purge curves is needed. Each member of this curve family is similar 

to the single purge curve described above, and it relates hydrocarbons purged to purge 

volume. The particular shape of a given member of this family is specified by the canister 

load, as percent of saturation capacity, at the start of purge. For this purge calculation 

option, the required family of purge curves are obtained from an analytical function rather 

than a table of values. 

Although the two purge calculation options differ in the way that a purge curve is 

described, calculations are similar for a given purge curve. These calculations are 

described in the following paragraphs, followed by a discussion of the algorithm used to 

implement the second calculation options incorporating purge curve families. 

The canister purge calculation sequence is best illustrated by example, with the aid of 

Figure 5. 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. 

Ouantitv Specific Basis 

Canister size 1.01 

Working Cap. 32.2 g/1 

Initial load 12.2 g/1 

Purge volume 17.8 ft3/l 

35-1 

30 • 

25-

HC Purged

 2 ° -

(gms) 15 . 

10' 

5 • 

n • 

0 

Figure 5 

Total Basis 

2.01 

64.4 g/1 

24.4 g 

35.6 ft3 

Sample Canister Purge Curve 

5 10 15 2 

Purge Volt 

0 25 30 

ime (SCF) 

35 40 

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

21 
P.28 

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

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

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

entering the purge curve on the y-axis at a point corresponding to the 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 g/1 (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 the purge curve is initially entered at a value of 20.0 g/l rather 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 ft3/l (4.4 + 35.6 = 40.0 ft3 total). 

3) Enter the 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 g/1 (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 g/1 (64.4 - 60.6 

= 3.8 g total). 

This example indicates that the final canister loading is 1.9 g/1 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. 

22 
P.29 

Figure 6 

H 

C 

P 

u 

r 

g 

e 

d 

> 

G 

r 

a 

m 

s 

/ 

L 

1 

t 

e 

r 

90.00 -r 

80.00 --

70.00 - -

60.00 --

50.00 --

40.00 - -

30.00 - -

20.00 

10.00 

0.00 -

0.00 20.00 40.00 60.00 80.00 100.00 120.00 140.00 160.00 180.00 200.00 

Purge Volume, cu. ft. 

Canister purge calculations are identical to those oudined when analytical purge curves are 

used instead of a purge curve table, except for the algorithm used to specify the initial 

canister load at the start of a purge event and thus a particular load-dependent purge curve. 

For both drive and back-purge events, a purge curve is determined based on the canister 

load at the start of the drive. This purge curve is used for the duration of a given drive 

event, even though canister loading may occur during the drive when fuel tank vapor 

generation canister purge. 

CAUTION: The algorithm described above based on a family of analytical purge curves is 

believed to be a reasonable representation of real-world canister behavior, and it will remain 

a part of the PT model. The implementation of the algorithm in Release 2.0 of the PT 

23 
P.30 

model is preliminary, however. At the present time, insufficient experimental data exists 

from which a reliable analytical purge curve function can be determined. It is 

recommended that users of the PT model make use of the analytical purge curve calculation 

option for evaluation purposes only until such time as additional experimental data become 

available and appropriate model refinements are made. 

Data on which the current purge curve function is based, and the form of the function 

selected to generate purge curves within the PT model, are likely to be changed in the 

future. Details of experimental data and the associated correlating function, therefore, are 

not included in the body of this report. Brief comments on the sources of preliminary data 

upon which the current analytical purge curves are based is included in Appendix E, while 

interested readers can examine the source code of the Dopurge module for details of the 

analytical purge curve function. 

i) Ptbkpg 

This module processes back-purge events that occur as fuel tank temperatures fall after 

diurnal temperature rises, or after drives. The purge volume for this event is calculated 

from a user-specified back-purge rate, in units of ft3/gal/°F, the user-supplied tank 

capacity, and the magnitude of the tank temperature decrease specified as an event 

parameter. Canister purge calculations are then carried out using the Dopurge module, and 

a summary of the hydrocarbon mass purged and the resulting canister state is displayed. 

24 
P.31 

III Users Guide 

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

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

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

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

gives a general description of the 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 the 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 II-B, "Input Data." Generally, 

a different input data file is needed for each simulation run, although 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 the 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 files consist of ordinary text and numbers, so that they can be prepared and 

modified with the 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 

frequently 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 that 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 the 

initial input value. The model is then 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 outlines the steps necessary to prepare data file needed by the PT model. The 

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

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

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

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

Preparation," covers preparation of event data files. 

25 
P.32 

1) Input Data Preparation 

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

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

follows: 

<keyword> <data_count> 

<data_list> 

The <keyword> consists of the 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 the set of one or more actual data values. The input data keywords used 

by the PT model are summarized in the following Table. 

Keyword 

pcurgetype 

logflag 

drivefile 

vaporfilel 

vaporfile2 

Type Count Description 

title 

tanksize 

maxpurge 

bprate 

diumal 

hotsoak 

purgedelay 

cansize 

canstart 

param 

purgetype 

cantype 

Char 

Real 

Real 

Real 

Real 

Real 

Integer 

Real 

Real 

Real 

Real 

integer 

<80 

1 

1 

1 

1 

1 

1 

1/2 

1 

4 

1 

1/5 

integer 1 

Logical 2 

Char 

Char 

<80 

<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. 

Back-purge flow rate. ft3/gal./°F. See Section H-B-l-q. 

Base case diurnal canister loading. See Section II-B-l-e. 

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

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

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

Canister size, liters. Also specifies canister breakthrough if cantype is 

set to 1 and pcurvetype is set to 0 (non-ideal canister loading and a 

curve specified by an experimental purge curve table). 

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 HI-E. 

The first data item specifies if the ideal canister loading model 

is to be used (cantype=0) or if the non-ideal canister efficiency 

loading model is to be used (cantype=l). If the first value specifies 

ideal canister loading, no additional values must be specified. For 

non-ideal loading, however, four loading model parameter must 

be specified. See Section II-C-3-h. 

Specifies if the canister purge curve is to be specified by a table of 

experimental data (pcurvetype=0) or by an analytical function 

(pcurvetype=l). 

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 HI-D-2. 

Pathname for drive schedule tabular data file. See Section QT-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 

26 
canfile 

logfile 

plotfile 

eventfile 

Char 

Char 

Char 

Char 

<80 

<80 

<80 

<80 

vaporfile3 keywords corresponding to all drive event keywords occurring in 

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

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

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

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

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

In preparing the input data file, keywords must appear exactly as in the 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 

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 the text ".true." or ".false." 

respectively. For real, integer and logical data items, the data count appearing with the 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 the first column of the line to be made a comment. 

2) Tabular Data Preparation 

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

in Section II-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 the 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. Two methods are available in the PT model to specify the canister purge 

curve, corresponding to whether the canister purge is assumed to be described by a single 

purge curve independently of canister load, or whether such a description is given by a 

27 
P.34 

family of purge curves parameterized by canister load at the start of purge. In the former 

case, the purge curve is specified by a table of values, while in the latter case, the purge 

curve is specified by a set of parameters that enter into an analytical function that describes 

the desired family of purge curves. Which option is used by the PT model is specified by 

the pcurvetype scalar input data item, as described in the keyword table above. 

For purge curves described by a table of purge curve data, the data are normally obtained 

experimentally, using the following procedure: 

1) Load canister to breakthrough. 

2) Begin canister purging at a purge flow rate consistent with the 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) 

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

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

with the 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. 

For purge curves described by an analytical function, parameters of the function are 

normally obtained by a curve fit to analytical data. As of the date of this document, 

insufficient experimental data were available to have fully refined the function used to 

generate purge curve families, so that a full description of the function selected and the 

curve fitting process used to generate the needed parameters is not included. When this 

option is used, the parameter data file named fordeq.can should be used, as described in 

Appendix A. 

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 the start of a drive, total hydrocarbon vapor mass 

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

The file format is as follows: 

28 
P.35 

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 the 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 the file. 

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

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

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

beginning of a vapor generation table. 

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

cases, however, it may be necessary to use simulations to obtain the needed data. A multistep procedure was used during development of the 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. Both 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 theoretical model of fuel tank temperatures is difficult to develop in the 

absence of experimental data. Data used to develop the 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 the 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 length of drive needed to reach that 

temperature, interpolating as necessary. Generate a single entry in the 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 the step 1) table. 

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

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

29 
Vapor Generation Table (Step 1) 

Temperature HC Mass Vapor Volume 

(g. Fahrenheit) (grams) (SCF/g-1) 

84.0 0.0 l-77e-3 

85.0 0.20 2.05e-3 

85 5 0.30 2.l0e-3 

86.0 0.41 2.15e-3 

87 o 0.64 2.24e-3 

87 5 0.76 2.30e-3 

88.0 0.89 2.35e-3 

88.5 1.01 2.40e-3 

89.0 115 2.46e-3 

89 5 1.29 2.52e-3 

90.0 1.43 2.58e-3 

90 5 1.58 2.65e-3 

91 0 1.74 2.72e-3 

91 5 1.90 2.78e-3 

92 0 2.07 2.86e-3 

92 5 2.25 2.93e-3 

93 5 2.62 3.10e-3 

94.0 2.83 3.20e-3 

30 
P.37 

Time/Temperature Table (Step 2) 

Temperature 

(°- 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 

Time 

(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 

fgrams/eal.1 

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 

(SCFM/eal) 

1.77e-3 

1.91e-3 

2.05e-3 

2.10e-3 

2.15e-3 

2.19e-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 

number of parameters are as follows: 

31 
P.38 

! . 

Kevword 

drivel 

drive2 

drive3 

diumal 

hotsoak 

backpg 

Parameter 

Count 

1-2 

1-2 

1-2 

1 

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 II-B and II-C. Basic commands and procedures for 

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

the Model," while a summary of model output is found in section 2 below, "Output 

Description." 

1) Running the Model 

The PT model, as distributed, will run under MS/PC-DOS Version 3.0 or later on IBM AT 

computers, or on compatible machines that use an 80286 processor1. The minimum 

hardware required to run the model includes a floppy disk drive, a display, and at least 

256k of memory. Because of the data-intensive nature of the model and the amount of data 

that must be read from disk files during each run, it is highly recommended that the model 

be run on a machine with a hard disk. Release 2.0 of the PT model makes use of a numeric 

coprocessor (8087/80287/80387) if present, but does not require. 

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 that 

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

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

therefore appear as shown below in Figure 7. 

lTJsers who require model versions for other machine configurations can recompile the PT model using the 

distributed source code and their own FORTRAN compiler. If users cannot compile the model themselves, 

the author should be contacted to determine if an appropriate model version can be generated and distributed. 

See Section D), "Program Generation and Modification," below for further details. 

32 
P.39 

PT 

pt.key 

pLbat 

rpt.exe 

runpLdat 

install.bat 

Figure 7 

DATA SOURCE 

ptfor 

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 

testl .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 the PT model is normally accomplished through use of me pt batch file. This 

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

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 the 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 ptNdataSinp. To run the model, the working directory should be set to 

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

used. 

pt <input_data_file_name> 

33 
P.40 

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

At this point, the pt model will begin execution, and the input data file will be read. A brief 

summary of key input data items will then 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 

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

title line. This information is useful to verify that the desired data files have been correcdy 

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

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

Normally, output from the model appears on the 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 the <output_fd> specification. 

2) Output Description 

The PT model generates three 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 the 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 this information is both voluminous and usually of 

lesser interest than that 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 with 

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

screen. The following three sections describe each of these output streams in detail, and 

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

a) Terminal Output 

Terminal output is the 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 the 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 this output, and how each data item is to be interpreted. 

At the start of calculations for each simulation event, the model displays counts of the 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 through 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. 

34 
P.41 

Hotsoak and Diurnal Events: 

Linel: 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 that the fifth event in the 

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

simulation to be processed. 

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

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

into the canister during this event 

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

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 the extent of canister loading at die end of the 

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: 

Linel: 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 Obs) 

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) 

= 

= 

= 

__ 

= 

= 

= 

= 

= 

= 

= 

= 

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. 

35 
P.42 

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

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

used. 

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

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

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

parameter of the drivex keyword in die event data file. 

Line 5: "Ending time..." Indicates the the 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 the 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 the canister as well as fuel tank vapors that are routed direcdy to the 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 direcdy to the 

engine. 

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

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

of the fuel tank vapors generated during the specified drive. 

Line 12: "HC pg'd from can (g)..." Indicates the mass of hydrocarbons purged from 

the canister during the 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 

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

canister. 

36 
P.43 

Back-purge Events: 

Line 1: Backpurge event # 2 Cumulative event # 4 

Line 2: Processing back purge event. Deltat = 15.00 

Line 3: Purge vol. (ft3) = .16 

Line 4: HC purged (gms) = 3.43 

Line 5: Final can. load (%) = 76.30 

Line 6: Final can. cap. (gms) = 10.74 

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 the scalar or input data file described in Section II-B-1-1, "Log output 

file name," and as modified by the log 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. 

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

E P rate: .000 Can prg vol: -1.0197E-02 

FTHC(g/sec): .02379 FT vpr (SCFM): 4.923e-03 

Total ft he (gl): .26 Total ft vpr (SCF): 4.512e-04 

%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 the 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. 

FT HC: Mass of fuel tank hydrocarbon vapors generated during the current 

drive schedule time interval (grams). 

FT vpr: Volumetric flow rate of fuel tank vapors (air + hydrocarbons) during 

the current drive schedule time interval (SCFM). 

Total ft he: Total mass of fuel tank hydrocarbons generated since the start of the 

current drive simulation (grams). 

Total ft vpn Total volume of fuel tank vapors (air + hydrocarbons) generated since 

the start of the current drive simulation (grams). 

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

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 the 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. 

37 
P.44 

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 the 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 

II-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. Although neither of these steps are 

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

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

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

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

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

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

source code modifications. 

1) Program Generation 

Compilation of the PT model is normally carried out through use of a make utility, such as 

that included with the Microsoft Version 4.01 FORTRAN-77 compiler. All source code 

for the model, along with the data files required by make, are included in the source 

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

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

pt.mak, which is read by the 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 the 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 pt.mak 

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

the model source code and the pt.mak and pdink data files. In the distribution disk, this 

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

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

38 
P.45 

If the PT model is to be run on a computer equipped with an 8088/8086 or 80188/80186 

processor, then it must be recompiled with the appropriate compiler switch and linked. To 

recompile die model in this instance, the pt.mak file must be modified to include the /GO or 

/Gl compiler switch that selects the proper instruction set Each command line in the make 

file must be changed. For example, the command line that compiles the ptfor module 

appears as follows in the distribution version of pt.mak: 

fl /4Yd/c/FPi/G2 ptfor 

This line should be changed to 

fl /4Yd/c/FPi/G0 pt.for 

or 

fl /4Yd/c/FPi/Gl ptfor 

to generate machine code for 8088/8086 or 80188/80186 processors, respectively. A 

similar change should be made to the remaining command lines. 

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

data files must be modified to reflect the addition. Details of this procedure can be found in 

die relevant sections of the compiler documentation. 

2) Program Modification 

Provisions have been made in the 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 the purge control strategy model must be modified, and the model recompiled as 

described above in Section 1. In addition, a change to the purgetype data item in the scalar 

input data file must be made to select use of the user-supplied purge model in place of die 

built-in model. Details of these steps are covered in the following paragraphs. 

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

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

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

lines must be deleted, as indicated in the 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 II-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. 

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 

II-B-l-d, "Maximum Purge Rate." In addition, the module Gethp may be called by 

39 
P.46 

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 the vehicle velocity and acceleration at which horsepower is to be 

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

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

obtained and used are omitted for the 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 this 

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

Getpurge itself upon return from the 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) the 

(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 

40 
P.47 

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 with Closely Matched Volatilities," SAE Paper 861556. 

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

41 
P.48 

* * 

V App endices 

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 the distribution disk is as shown in Section III-C-1, "Running 

the Model," 

Directorv 

root (pt) 

source 

of the text. Contents of each directory are given below. 

File 

pt.bat 

ptkey 

rptexe 

runptdat 

install, bat 

ptfor 

ptdihs.for 

ptgetprg.for 

ptcan.for 

ptinit.for 

ptdrive.for 

ptbkpg.for 

lintrp.for 

ptdoitfor 

ptcheck.for 

ptdspO.for 

ptindex 

ptgpfio 

ptdim.ins 

gpfio.lib 

ptmak 

pdink 

ptexe 

Description 

Batch file used for running the model. 

Data file used internally by the PT model. This file must be 

in the current directory at the time the PT model is run. 

Driver file used to generate pathnames needed to start the PT 

model. See Section 2 below. 

Data file read by rptexe. See Section 2 below. 

Batch file for installing the PT model. See Section 2 below. 

Main program for the PT model. 

Diumal and hotsoak modules. 

Purge control module. 

Canister module. 

Model initialization module. 

Drive simulation module. 

Backl-purge simulation module. 

Linear interpolation utility. 

Event handler module. 

Input data checking and verification module. 

Data display module. 

Data file required for compilation. Do not modify. 

Data file required for compilation. Do not modify. 

Data file required for compilation. Do not modify. 

Object code library containing data input utilities. 

Source code not included. Do not modify. 

Data file required by make during compilation. 

Data required for program compilation and linking. 

PT model executable code. 

42 
P.49 

dataXvpr 

7297g.vpr 

84109g.vpr 

96116g.vpr 

7297f.vpr 

84109f.vpr 

96116f.vpr 

7297a.vpr 

84109a. vpr 

96116a. vpr 

7297d.vpr 

84109d.vpr 

96116d.vpr 

7297e.vpr 

84109e.vpr 

96116e.vpr 

7297c.vpr 

84109c. vpr 

96116c.vpr 

dataXvpAws 

7191a. vpr 

84104a. vpr 

96116a. vpr 

7191b.vpr 

84104b.vpr 

96116b. vpr 

data\evt 

nprm.evt 

ftpws.evt 

ftpdi.evt 

ftphtdi.evt 

ftpla4.evt 

ldir90.evt 

ldirl 17.evt 

ldnir90.evt 

ldnirl 17.evt 

ldftp90.evt 

hdir90.evt 

hdirl 17.evt 

hdnir90.evt 

hdnirll7.evt 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

Vapor 

generation 

generation 

generation 

generaiton 

generation 

generation 

generation 

generation 

generation 

generation 

generation 

generation 

generation 

generation 

generation 

generation 

generation 

generation 

file, current 

file, current 

file, current 

file, current 

file, current 

file, current 

file, current 

file, current 

file, current 

file, current 

file, current 

file, current 

file, current 

file, current 

file, current 

file, current 

file, current 

file, current 

data, 7.8 # RVP fuel, 

data, 7.8 # RVP fuel, 

data, 7.8 # RVP fuel, 

data, 8.0 # RVP fuel, 

data, 8.0 # RVP fuel, 

data, 8.0 # RVP fuel, 

data, 9.0 # RVP fuel, 

data, 9.0 # RVP fuel, 

data, 9.0 # RVP fuel, 

data, 9.5 # RVP fuel, 

data, 9.5 # RVP fuel, 

data, 9.5 # RVP fuel, 

data, 10.5 # RVP fuel, 

data, 10.5 # RVP fuel, 

data, 10.5 # RVP fuel, 

data, 11.5 # RVP fuel, 

data, 11.5 # RVP fuel, 

data, 11.5 # RVP fuel. 

Vapor generation file, workshop data, 9.0 # RVP fuel. 

Vapor generation file, workshop data, 9.0 # RVP fuel. 

Vapor generation file, workshop data, 9.0 # RVP fuel. 

Vapor generation file, workshop data, 10.5 # RVP fuel. 

Vapor generation file, workshop data, 10.5 # RVP fuel. 

Vapor generation file, workshop data, 10.5 # RVP fuel. 

NPRM test procedure, workshop data. 

FTP test, workshop data. 

FTP plus diumal, workshop data. 

FTP plus high-temp, diumal, 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 with integrated on-board refueling 

systems, 11.5 #RVP fuel, revised temperature profile. 

Reproposal TP for LDV with 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 with 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. 

43 
P.50 

dataXcan 

dataXinp 

fordxan Canister purge table for Ford (domestic)-type charcoal, 

nissan.can Canister purge table for Nissan-type charcoal. 

sample.dat Scalar input data file prototype template. 

testl.dat Scalar input data file for sample test run. See Appendix C. 

test2.dat Scalar input data file for sample test run. See Appendix C. 

dataXdrv 

2) 

la4.drv 

hdurb.drv 

nyc.drv 

Model Installation 

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 the 

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 die model from the distribution floppy disk to a user's fixed disk drive, which is 

assumed to be drive c:. Modifications that must be made to the installation batch file to 

place the model on a drive other that drive c: or on a floppy disk are oudined at the end of 

this section. The following installation procedures assume that the user is familiar with 

PC-DOS/MS-DOS commands, tree-structured directories, and the use of floppy and hard 

disk drives. If additional guidance is needed in these areas, users should consult their 

computer hardware and operating system manuals. 

The following steps should be followed to perform normal installation from the distribution 

disk to a fixed disk: 

1) Make drive c: (the fixed disk) the current disk, and change the 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 III-C-1, 

"Running the Model." 

2) Place the distribution disk in drive a:, and make drive a: the current disk. 

3) Enter the command 

install 

to begin the installation process. 

4) After installation is complete, a message will be displayed to this 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 that they are in their proper location. 

6) Verify that the model is operating properly by running the two sample runs included 

with the model and described in Appendix C, "Sample Runs." 

44 
P.51 

Installation of the model to a fixed disk other than drive c:, or to a floppy disk, will require 

modification of the installation batch file install.bat In both 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 diat 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 the runptdat file that is found in the root directory 

of the distribution disk, and in the pt directory as the model is installed by the normal 

installation process. Data in this file are used to generate pathnames during execution of the 

pt model, and its format is as follows: 

linel: <Model_code_pathname> 

line2: <Input_data_file_pathname> 

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 the directory path to the directory 

containing scalar input data files. Note that the Model_code_pathname must terminate in a 

file, whereas the Input_data_file_pathname 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 the Input_data_file_pathname. As distributed, runptdat file appears as 

follows: 

linel: sourceXpt 

line2: dataXinp 

If, for example, scalar input data files are to be read from a floppy disk in drive a: instead 

of from the directory ptXdataXinp as distributed, the runpt.dat file should be modified to 

appear as: 

linel: sourceXpt 

line2: a: 

Note that modification of the runpt.dat file is not needed if the distribution disk directory 

structure is maintained. 

45 
P.52 

B) Refueling/Excess Evaporative Emissions Workshop Data 

1) Introduction 

This appendix contains descriptions and summaries of data used to obtain die evaporative 

emissions canister sizes and performance estimates presented at the 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 HI of this report. That 

is, sources of scalar data and their source are presented first, followed by tabular data and 

event data. In die case of scalar data,, data values and their sources are presented, whereas 

for tabular data, reference is made to computer data files distributed with the model. 

2) Input Data 

a) Scalar Data 

D 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.01), 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 die 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.0 l/LA-4, a value of 4.65 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 II-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. 

46 
P.53 

3) Vapor Generation Tables: The following tables are used: 

Initial Fuel Temperature Fuel Volatility 

71.0 °F 

84.0 OF 

96.0 OF 

71.0 °F 

84.0 OF 

96.0 OF 

9.0 psi RVP 

9.0 psi RVP 

9.0 psi RVP 

10.5 psi RVP 

10.5 psi RVP 

10.5 psi RVP 

Data File 

7191a.vpr 

84104a. vpr 

96116a. vpr 

7191b.vprl 

84104b.vpr 

96116b.vpr 

c) Event Data 

1) The following event data files are used: 

Event Description 

procedure for 

load-to-breakthrough and canister preconditioning. 

FTP 

FTP followed by a single diurnal 

FTP followed by an LA-4 drive 

FTP followed by a high-temperature 

Event Data File 

August 1987 NPRM test 

nprm.evt 

ftpws.evt 

ftpdi.evt 

ftpla4.evt 

ftphtdi.evt 

in-use diurnal 

47 
P.54 

C) Sample Runs 

This Appendix describes two sample runs that are distributed with the PT model to 

illustrate data formats, how the 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 in printed form at the end of this section. These examples may be 

used to verify that the 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. Diumal and 

hot-soak loadings are taken to be 25.0 and 6.0 grams, 

respectively. 

test2.dat Simulation of the FTP+LA-4 test procedure. Fuel 

temperatures are continuous from one test procedure event to 

another. Diumal 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 dataXinp directory, and output from these two 

examples can be found in dataXoutXtestl.out and idataXoutXtesti.out, respectively. Assuming 

that the model has been installed as described in Appendix A, that the current drive is that 

onto which the model has been installed, and that the current directory corresponds to the 

root directory of the 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 

dataXoutXtestl.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 III-C-1, "Running the Model." The second sample run can be executed by 

substituting "test2" for "testl" in either of the two prototypes above. 

The TANKSIZE keyword specifies the nominal liquid capacity of 

the fuel tank, in gallons. 

48 
P.55 

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. 

logflag 2 

.false, .false, 

drivefile 25 

data\drv\la4.drv\\ 

vaporfilel 35 

data\vpr\ws\7191a.vpr\\ 

49 
P.56 

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. logW 

plotfile 25 

data\out\pttestl.plt\\ 

eventfile 25 

data\evt\ftpla4.evt\\ 

50 
P.57 

Event Data File 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 

51 
P.58 

Output from sample run testl (testl.out) 

1?T test file, integr. system, ftp+la4 drive, ws temps., 9.0 # fuel 

Calculations begin: 10/11/1988 14:40:15 

Fuel tank size (gal.) = 17.60 

Maximum purge rate (CFM) = 4.30 

For canister 1 size (1) = 4.10 

Purge model index = 0 

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: 

data\drv\la4.drv 

data\can\ford.can 

data\vpr\ws\7191a.vpr 

data\vpr\w3\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 < 

Processing type 2 drive 

Start time = 0 

Drive length = 1370 

Ending time = 1370 

Total fuel used (lbs) 

Total miles travelled 

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) 

_ 

= 

= 

= 

= 

= 

= 

= 

= 

event 

1 

7 

24 

20 

103 

84 

34 

86 

sve 

89 

45 

45 

03 

27 

00 

93 

67 

25 

Hotsoak event # 1 Cumulative event # 2 

52 
P.59 

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 # 

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 = 23.44 

Total prg. rate (ft3) = 10.34 

Total HC purged (gms) = 13.73 

53 
P.60 

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... 

54 
P.61 

3) Test2 Sample Run Data 

Input data file (test2.dat) 

title 75 

PT test file, integr. system, ftp+la4 drive, cont. 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.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 

0 

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. 

pa ram 4 

.007 .0038 .334 0.85 

The PURGETYPE keyword specifies the purge strategy index. 

purgetype 1 

0 

55 
P.62 

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. logW 

plotfile 25 

data\out\pttest2.plt\\ 

eventfile 25 

data\evt\ldir90.evt\\ 

56 
P.63 

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 

57 
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: 

Purge curve table: 

Vapor gen. file # 1 

Vapor gen. file # 2 

Vapor gen. file # 3 

Log output file: 

Plot output file: 

Event file: 

data\drv\la4.drv 

data\can\ford.can 

data^ -3r\7297a.vpr 

data\.pr\84109a.vpr 

data\vpr\96116a.vpr 

data\out\pttest2.log 

data\out\pttest2.pit 

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 

Start time = 

Drive length = 

Ending time = 

1 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) = 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 

58 
P.65 

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 

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 

59 
P.66 

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 # 7 

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... 

60 
P.67 

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 with 

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 through 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 the PT model, however, are based on calculation techniques presented in the 

literature by Koehl(3) and Reddy(4). 

2) Diurnal Uncontrolled Emissions 

Simulation of the mass of hydrocarbon vapors generated during diurnal events has been 

carried out for two diumal 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)/tesL 

Diumal Temperature Range 

Fuel Volatility 60-84 °F 72-96 °F 

7.8 # RVP 0.895 g/gal. 1.488 g/gal. 

8.0 # RVP 0.950 g/gal. 1.591 g/gal. 

9.0 # RVP 1.280 g/gal. 2.233 g/gal. 

9.5 # RVP 1.524 g/gal. 2.750 g/gal. 

10.5 # RVP 1.960 g/gal. 3.760 g/gal. 

11.5 # RVP 2.601 g/gal. 5.509 g/gal. 

11.7 # RVP 2.747 g/gal. 5.964 g/gal. 

3) Hotsoak Uncontrolled Emissions 

Uncontrolled hotsoak emissions have been estimated for the three fuel volatilities used for 

simulation of diumal 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 diat 

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 

61 
P.68 

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 diumal emissions estimates, the quantity of hydrocarbon 

vapors emitted from a fuel tank during a hotsoak was calculated using the EE model. Next, 

a multiplicative factor was applied to these values such that 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 with earlier EPA evaporative emissions modelUng. A summary of results from 

hotsoak emissions modelling is shown below, along with the ratio of emissions at each 

indicated temperature to base emissions at 80.0 °F. These ratio values can be used as 

hotsoak event parameters when preparing event files, as described in Section ni-B-3, 

"Event Data Preparation." Units for other values are grams/(gallon total liquid 

capacity )/test 

Fuel RVP 

End-of-Drive Temperature 

84.0 °F 96.0 °F 99.0 °F 103.0 °F 108.0 °F 111.0 °F 

7.8 # RVP 

Basic Em. 

Adj. Em. 

Ratio 

8.0 # RVP 

Basic Em. 

Adj. Em. 

Ratio 

9.0 # RVP 

Basic Em. 

Adj. Em. 

Ratio 

9.5 # RVP 

Basic Em. 

Adj. Em. 

Ratio 

10.5 # RVP 

Basic Em. 

Adj. Em. 

Ratio 

11.5 # RVP 

Basic Em. 

Adj. Em. 

Ratio 

11.7 # RVP 

Basic Em. 

Adj. Em. 

Ratio 

0.0356 

0.1106 

1.000 

0.0380 

0.1180 

1.000 

0.0526 

0.1635 

1.000 

0.0640 

0.1981 

1.000 

0.0856 

0.2659 

1.000 

0.1198 

0.3723 

1.000 

0.1281 

.3980 

1.000 

0.0618 

0.1922 

1.737 

0.0667 

0.2072 

1.756 

0.0988 

0.3069 

1.877 

0.1269 

0.3926 

1.982 

0.1885 

0.5858 

2.203 

0.3191 

0.9916 

2.664 

0.3590 

1.1150 

2.802 

0.0720 

0.2236 

2.022 

0.0779 

0.2421 

2.052 

0.1185 

0.3681 

2.251 

0.1559 

0.4822 

2.434 

0.2430 

0.7570 

2.847 

0.4630 

1.439 

3.864 

0.5409 

1.6810 

4.223 

0.0892 

0.2772 

2.506 

0.0972 

0.3020 

2.559 

0.1548 

0.4809 

2.942 

0.2128 

0.6128 

3.093 

0.3704 

1.1510 

4.328 

0.9767 

3.035 

8.151 

1.323 

4.119 

10.330 

0.1198 

0.3721 

3.364 

0.1320 

0.4102 

3.477 

0.2297 

0.7137 

4.365 

0.3471 

1.0736 

5.4195 

0.8221 

2.554 

9.607 

3.2853 

10.208 

27.420 

4.672 

14.520 

36.480 

0.1457 

0.4527 

4.0935 

0.1622 

0.5040 

4.271 

0.3066 

0.9526 

5.826 

0.5150 

1.5930 

8.041 

2.1640 

6.7250 

25.291 

_ 

-

-

. 

-

-

62 
P.69 

•** . 

4) Vapor Generation 

Vapor generation tables for the PT model were constructed as oudined in Section UI-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 the 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 three 

LA-4 driving cycles performed back-to-back, with a short pause between each cycle to 

record data. From these individual time/temperature data points, a second-order regression 

polynomial was calculated so that the time needed to reach a given fuel temperature could 

be obtained. Data given by the TimeATemperature Table example in Section HI-B-2-c were 

generated from this polynomial. 

63 
E) Summary of Model Changes Between Releases 1.0 and 2.0 

This Appendix outlines all major changes made to die PT model between Release 1.0 and 

Release 2.0, along with references to sections documenting each change and the data file 

modifications, if any, necessary to accommodate the change. Note that because several 

new scalar input data items have been added to Release 2.0, existing Release 1.0 scalar data 

files must be modified before use widi Release 2.0. 

1) Canister Loading Model Changes. 

a) A new scalar input data item, cantype, is now required in all input data files. 

See Sections II-l-B-p and IJI-B-l. 

b) The cansize scalar input data item now requires that the canister breakthrough 

capacity be specified when the non-ideal canister loading model is selected (a 

value of 1 is specified for the first value of the cantype scalar data item). See 

Sections U-l-B-b and III-B-1 

2) Canister Purge Model Changes. 

a) A new scalar input data item, pcurvetype, is now required in all input data files. 

See Sections II-1 -B-o and JJI-B-1. 

b) When a value of 1 is specified for the pcurvetype scalar input data item, 

indicating that analytical purge curves are to be used instead of a purge curve 

table, the canister data file fordeq.can must be used instead of ford.can or 

nissan.can. Note: No error checking is performed by the PT model to 

determine if the canister data file format matches the format associated with die 

specified for the pcurvetype scalar data item. Users are responsible for 

consistency between the expected and actual data file formats. See Section 

III-B-2-b, "Canister Purge Table." 

3) Back-purge Event Type Addition. 

a) A new event type has been added to simulate canister back-purge during periods 

of decreasing fuel tank temperatures that may occur after diumal or drive 

events. An event type of backpg may be specified event data files to simulate 

back-purge events. See Sections II-B-3-d and HI-B-3. 

b) A new scalar input data item, bprate, is now required in all input data files. See 

Sections II-l-B-q and III-B-1. 

4) Vapor Generation Data File Updates. 

a) Changes have been made to the following vapor generation tables to reflect 

results from updated modelling of fuel tank vapor generation at and near the fuel 

boiling point. These data files should be used in place of the old vapor 

generation data files in simulations where fuel boiling may influence PT model 

results. 

64