Tank Emission Calculator Manual
US EPA AP-42 §7.1 · API MPMS Ch. 19.2

Storage Tank Emission Calculator — User Manual

EVAPORATIVE LOSS · LB/YR
Contents

    About this tool

    The Storage Tank Emission Calculator estimates evaporative losses of organic liquids from storage tanks, following US EPA AP-42 Chapter 7, Section 7.1 (June 2026 edition) and API MPMS Chapter 19.2. It covers four situations: routine losses from floating-roof tanks, routine losses from fixed-roof tanks, floating-roof landings, and tank cleaning.

    Results are in pounds per year (routine) or pounds per event (landing, cleaning), with tons and kilograms alongside. The tool can also split any loss into individual components such as benzene, and break routine losses down month by month.

    Scope

    It is written for terminal, refinery and environmental engineers who need defensible screening estimates. It is an indicative tool, not a regulatory submission tool: use it to compare options, plan, and prepare figures, and confirm reportable numbers against the method your regulator specifies.

    All calculations follow the printed AP-42 equations. Where this manual says "AP-42", it means AP-42 Section 7.1, June 2026, unless it names another section.

    Quick start

    A first annual estimate for a floating-roof tank takes about ten steps. Every field not mentioned can stay at its default.

    1. 1
      Tank Class: choose Floating Roof (external / internal).
    2. 2
      Tank Identification: enter the company and Tank ID. Leave Record Type on Just for research while you experiment.
    3. 3
      Stored Liquid: pick the stock, for example Gasoline RVP 10. Molecular weight and density fill in.
    4. 4
      Location & Environment: pick the site under Meteorological Location. For a site outside the US, choose the custom site and use the NASA POWER auto-fill (see Location and weather).
    5. 5
      Set the roof and shell paint colour and condition.
    6. 6
      Operation: enter Annual Net Throughput in barrels per year.
    7. 7
      Tank Type & Geometry: choose the roof type and enter diameter and shell height in feet.
    8. 8
      Construction & Rim Seal: choose construction, primary seal, secondary seal and fit.
    9. 9
      Deck Fittings: add each fitting type and its count.
    10. 10
      Press Calculate. Read the total, then open Show calculation detail to check the intermediate values.

    Once the base case looks right, try the optional features: monthly estimates, component losses, or your own lab data for the stock.

    Choosing what to calculate

    The Tank Class selector at the top decides which calculation runs and which input cards appear. The Stored Liquid, Components, Location & Environment and Operation cards are shared by every class.

    Floating Roof (external / internal)

    What it estimates
    Rim-seal, deck-fitting and deck-seam (standing) losses plus withdrawal loss
    Result
    lb/yr
    AP-42 basis
    §7.1.3.2, Eqs 2-1 to 2-20

    Fixed Roof (vertical / horizontal)

    What it estimates
    Standing (breathing) and working losses
    Result
    lb/yr
    AP-42 basis
    §7.1.3.1, Eqs 1-1 to 1-43

    Non-Routine — Floating Roof Landing

    What it estimates
    Standing idle loss while the roof rests on its legs, plus the filling loss when it refloats
    Result
    lb/event
    AP-42 basis
    §7.1.3.3

    Non-Routine — Tank Cleaning

    What it estimates
    Vapor-space purge plus continued forced ventilation
    Result
    lb/event
    AP-42 basis
    §7.1.3.4

    Annual or monthly. Routine floating- and fixed-roof estimates can run annually (the default) or as a 12-month breakdown. Set this under Operation → Estimate period. Landings and cleanings are single events; instead of a monthly breakdown they take the weather of the month the event happens, chosen on their own card.

    Use the monthly breakdown when seasons differ sharply, as in India's pre-monsoon and monsoon months. Because losses rise faster than temperature and wind, the 12-month sum is usually a few percent higher than the annual-average figure.

    Stored liquid

    The stock sets the vapor pressure, which drives every loss. Choose it in Chemical; the tool fills vapor molecular weight, liquid density and (where AP-42 gives one) liquid molecular weight.

    Petroleum presets

    PresetVapor MWLiquid MWDensity, lb/galHow vapor pressure is found
    Gasoline RVP 7 / 10 / 1368 / 66 / 62925.6AP-42 RVP equation, slope S = 3.0
    Crude oil RVP 5502077.1AP-42 crude-oil RVP equation
    Naphtha light (RVP 11) / medium (RVP 5) / heavy (RVP 2)80 / 95 / 115 (placeholders)none in AP-425.9 / 6.4 / 6.6RVP equation, S = 3.5 (RVP 9–14) or 2.5 (RVP 2–8)
    Naphtha — enter your lab datayou enteryou enteryou enterRVP equation from your RVP and slope
    Jet kerosene / ATF (AP-42 Jet A)1301627.0AP-42 Table 7.1-2 constants
    Diesel / HSD (AP-42 No. 2 fuel oil)1301887.1AP-42 Table 7.1-2 constants
    Fuel oil / FO (AP-42 No. 6, cutter blend)1303877.9AP-42 Table 7.1-2 constants
    Vacuum residual oil1903877.9AP-42 Table 7.1-2 constants
    Aviation gasolineyou enter—you enterRVP equation, S = 2.0

    ATF, HSD and FO are labelled with their closest AP-42 equivalent; Indian specifications vary by refinery. AP-42 gives no vapor molecular weight for naphthas or aviation gasoline, so the naphtha values shown are placeholders and likely liquid molecular weights. Replace them with your stock's vapor molecular weight wherever you can.

    The list also offers common single chemicals and all 182 chemicals in AP-42 Table 7.1-3. Each uses its Antoine constants. Choose Custom for anything else and enter the properties yourself.

    Lab data for petroleum stocks

    Selecting a gasoline, naphtha, crude or aviation-gasoline stock opens a lab-data panel:

    • Reid Vapor Pressure (RVP), in psi or kPa (ASTM D323 or D5191).
    • Distillation slope S at 10% evaporated, typed directly, or derived from the D86 temperatures at 5% and 15% evaporated (°C or °F) as S = (T15 − T5)/10 in °F. D86 values take priority over a typed slope.
    • Density at 15 °C in kg/m³, which fills the lb/gal density field.

    A status line under the panel shows the RVP and slope actually used and where the slope came from. The method covers RVP 1–20 psi for refined stocks and 2–15 psi for crude. Below 1 psi the tool stops and asks for a measured vapor pressure (ASTM D2879); outside the other ranges it warns that the result is an extrapolation.

    RVP, psi 120 215 Refined stocks Crude <1: stops

    Vapor pressure method

    recommendedCompute from temperature

    The tool calculates true vapor pressure at the liquid surface temperature for the site.

    psiaEnter TVP directly

    Type a measured true vapor pressure in psia. Use this for stocks without constants, or below 1 psi RVP.

    Stock category

    Stock category (product factor) sets AP-42's crude-oil factors: 0.4 on floating-roof standing losses and 0.75 on fixed-roof working loss. Auto follows the selected stock; choose Crude oil for a custom crude, or Other to override a preset.

    Components and composition

    The optional Components card does two jobs: it estimates losses of individual components such as benzene (speciation), and it can derive the whole stock's properties from a full composition.

    Component losses (speciation)

    1. Press + Add component for each component, or + BTEX to add benzene, toluene, ethylbenzene and m-xylene at once.
    2. Pick each component from the AP-42 chemical list and enter its weight % in the liquid.
    3. Check Liquid molecular weight ML. It fills from AP-42 for gasoline (92), crude (207), jet kerosene (162), diesel (188) and fuel oil (387). For naphthas and other stocks, enter your own value.

    The tool uses Raoult's law at the liquid surface temperature to find each component's share of the vapor (AP-42 Eqs 40-3 to 40-6), then splits each loss:

    LIQUID Raoult's law Eqs 40-3 to 40-6 VAPOR
    • Floating roofs: vapor shares × standing losses, plus liquid shares × withdrawal loss (Eq 40-2). The film left on the shell evaporates completely, so it carries the liquid's composition.
    • Fixed roofs and cleaning: vapor shares × the total (Eq 40-1).
    • Landings: vapor shares for standing idle and filling losses. On a change of stock, the generated part uses the incoming stock's vapor pressure and molecular weight, with the same liquid composition. A drain-dry landing's clingage evaporates completely, so it uses liquid shares.
    • Monthly mode: each month is speciated at its own temperature, then the months are added.

    Mixed xylenes are usually represented by m-xylene, as in AP-42's examples. Heavy polycyclic aromatics that are solid at storage temperature will not evaporate from the shell film.

    Deriving the stock from its composition

    Tick These components are the stock's complete composition when the components make up the whole liquid, such as a solvent blend. The tool then calculates:

    • Liquid molecular weight ML = 1 / Σ(weight fraction ÷ molecular weight), shown and locked.
    • Liquid density = 1 / Σ(weight fraction ÷ component density), shown in the Stored Liquid card.
    • Vapor pressure = Σ(mole fraction × component vapor pressure), and vapor molecular weight from the resulting vapor composition. Both are recalculated at each calculation's own temperature: each month, each landing, and the fixed-roof daily range.

    The composition must total 100% (within ±1%, which is scaled to 100% with a note). This mode requires Compute from temperature. In it, the components always add up exactly to the total loss.

    Caution

    AP-42 cautions that Raoult's law may not suit mixtures containing alcohols or water; the tool shows that caution when it sees one. Aqueous solutions call for Henry's law, which this tool does not cover.

    Location and weather

    Site weather sets the liquid surface temperature, the vapor pressure, the wind on external roofs and the atmospheric pressure. AP-42 uses 30-year climate averages, so the tool does too.

    Avg daily max temperature
    Avg daily min temperature
    Wind speed
    Solar insolation
    Atmospheric pressure

    US sites

    Meteorological Location lists the 219 US sites of AP-42 Table 7.1-7, each with annual and month-by-month values: average daily maximum and minimum temperature, wind speed, solar insolation and atmospheric pressure.

    Custom sites, including India

    Choose the custom site to open Custom Site Meteorology, then either type the five values (US or metric units) or use Auto-fill from NASA POWER:

    1. Pick an Indian refinery, port or city from the list (44 sites, from Jamnagar and Mundra to Haldia and Numaligarh), or type the tank's latitude and longitude.
    2. Press Fetch 30-year climate data (1996–2025). The tool downloads daily NASA POWER data and fills average daily maximum and minimum temperature, wind at 10 m, insolation and surface pressure. It also keeps the monthly averages for monthly mode and event months.
    3. Check the status line: it names the data cell, its elevation and the data coverage.

    If the browser blocks the request, the tool shows a NASA POWER link. Open it in a new tab, wait for it to load, copy the whole page and paste it into the box; the result is identical. Fetched data is saved in the browser, so repeat lookups are instant.

    About NASA wind. NASA's wind is modelled over a grid cell of roughly 55 × 65 km, not measured at the tank. Coastal terminals in particular can differ from a local anemometer. If you have IMD station averages or site measurements at 10 m or higher, type them over the filled value; monthly winds are then scaled to match, keeping NASA's seasonal pattern.

    Paint

    Choose Roof Paint Color / Condition and Shell Paint Color / Condition. These set how much sunlight the tank absorbs (AP-42 Table 7.1-6). Darker or aged paint raises the liquid temperature and the losses.

    lower liquid temperature higher liquid temperature, higher losses Solar absorptance α · AP-42 Table 7.1-6

    Liquid bulk temperature

    Leave Liquid Bulk Temp Method on AP-42 calculation for unheated tanks. For heated stocks such as fuel oil, LSHS or bitumen, choose User input and enter the actual bulk temperature. This matters a great deal: a 150 °F bulk temperature raises fuel-oil losses in a fixed-roof tank roughly fourfold. A measured value is always preferred over the estimate.

    Operation

    The Operation card holds how much liquid moves through the tank, the wind speed, and the estimate period.

    Throughput

    Enter Annual Net Throughput in barrels per year. Use net throughput: if the tank is filled and emptied at the same time, gross throughput overstates working loss (AP-42, note to Eq 1-41).

    If you know the Annual sum of liquid-level changes (ft/yr) from gauging records, enter it instead; it replaces the throughput. Fixed roofs use the sum of level rises (Eq 1-40), which also sets the turnover count. Floating roofs use the sum of level drops (Eq 2-20). Over a year the two are about equal.

    Wind speed

    Avg. Wind Speed fills from the selected site and can be overwritten. Only external floating roofs use it; internal and domed roofs take zero wind. AP-42's rim-seal and deck-fitting factors are valid only for average wind below 15 mph. At 15 mph or more the tool still calculates, but flags the result as outside AP-42's validated range.

    0 15 mph 25 mph

    Estimate period

    Estimate period offers Annual or Monthly breakdown. Monthly mode runs the routine calculation once per month with that month's weather and adds the twelve. Throughput is either spread across months by days, or entered month by month in barrels; a month can be 0 for an idle tank.

    Monthly weather comes from AP-42 Table 7.1-7 for US sites, or from the NASA POWER auto-fill for custom sites. A custom site typed in by hand has no monthly values, so monthly mode will ask you to run the NASA fetch. AP-42 recommends one month as the shortest period for these equations.

    Floating roof tanks

    Floating-roof losses are the sum of rim-seal, deck-fitting and deck-seam losses (together, standing loss) and withdrawal loss from liquid left on the shell.

    LR Rim-seal LF Deck-fitting LD Deck-seam LW Withdrawal (shell film) Standing loss LS = LR + LF + LD · total LT = LS + LW

    Tank type and geometry

    Roof TypeWind usedLiquid surface temperature (AP-42)
    External — Pontoonsite windEq 2-7, bulk temperature from Eq 2-8
    External — Double-decksite windEq 2-10, bulk temperature from Eq 2-11
    Internal Floating RoofnoneEq 2-5, bulk temperature from Eq 1-33
    Domed External Floating RoofnoneEq 2-5, bulk temperature from Eq 1-33

    Enter Diameter and Shell Height in feet. For internal floating roofs, tick Fixed roof has closed pressure/vacuum vents if it applies; AP-42 §7.1.3.8.2 allows a default 5% reduction on the total, shown as its own line.

    Construction and rim seal

    Choose Tank Construction, Primary Seal, Secondary Seal and Seal Fit. Factors come from AP-42 Table 7.1-8. Riveted tanks have average-fitting factors only, so the fit selector locks to Average; the results say which fit was used.

    Shell condition and columns

    Product Type (clingage) and Shell Condition set how much liquid clings to the shell as the roof descends (Table 7.1-10). Crude oil and gunite linings leave much more than gasoline on a lightly rusted shell.

    For internal floating roofs, set Fixed roof support. Self-supporting means no columns. For Column-supported, choose the Column type (1.1 ft built-up, 0.7 ft pipe, or 1.0 ft if unknown) and the Number of columns. Left blank, the count defaults to AP-42's typical value for the diameter (Table 7.1-11), for example 6 for a 100 ft tank.

    Deck seams

    Deck Construction applies to internal roofs with bolted decks: choose the sheet or panel layout (Table 7.1-16). Welded decks have no seam loss; choose none.

    Deck fittings

    Press + Add Fitting for each fitting type and enter its count: access hatches, gauge-float wells, column wells, guidepoles, ladder wells, vacuum breakers, deck drains, deck legs and rim vents. Factors come from AP-42 Table 7.1-12. Fittings rated for internal roofs only are refused on external tanks, because AP-42 gives them no wind term. If you don't know the counts, AP-42 Tables 7.1-12 to 7.1-15 give typical numbers by tank type and diameter; deck legs, for example, are 5 + D/10 + D²/600 on an internal roof.

    Fixed roof tanks

    Fixed-roof losses are standing (breathing) loss, driven by the daily swing in vapor temperature and pressure, plus working loss from filling.

    Standing (breathing) loss Working loss (filling)

    Shape and geometry

    Choose the Fixed Roof Configuration: vertical with cone, dome or flat roof, or horizontal cylinder. Then enter, in feet:

    • Diameter and Shell Height; for horizontal tanks also Shell Length. Horizontal tanks are converted to an effective diameter and height (AP-42 Eqs 1-14 and 1-15).
    • Max, Min and Avg Liquid Height. The max-to-min range sets the turnover count; the average sets the vapor space.
    • Cone Roof Slope (ft/ft) or Dome Roof Radius, for the roof's share of the vapor space.

    Vents and operating pressure

    Enter the Vent Pressure Setting and Vent Vacuum Setting in psig. If unknown, keep AP-42's default of ±0.03 psig.

    For tanks vented above 0.03 psig, typically low-pressure tanks, enter the Operating Pressure PI, the gauge pressure in the vapor space during normal operation (0 for a tank held at atmospheric pressure). The tool then applies AP-42's vent-setting correction KB (Eqs 1-42 and 1-43), which lowers working loss. For example, a tank vented at 2.5 psig storing RVP 10 gasoline at Austin gets KB = 0.761, cutting working loss by about 24%. The results show KB and why it took that value.

    Working loss
    × KB = 0.761
    Example: 2.5 psig vent, RVP 10 gasoline, Austin

    Product factor

    For crude oil, AP-42 multiplies working loss by 0.75. This follows the Stock category in Stored Liquid.

    Gauge records

    If you enter the Annual sum of liquid-level changes in Operation, the tool uses Eq 1-40: the volume from the level rises sets working loss, and the rises over the max-to-min range set the turnover factor.

    Roof landing events

    A landing estimates the loss while a floating roof rests on its legs (standing idle loss), plus the vapor pushed out when the tank refills and the roof floats again (filling loss). The Stored Liquid stock is the heel left in the tank.

    hd hle hv vapor space under the landed roof heel hv = hd − hle

    Inputs

    • Month of event: the month the landing happens. AP-42 takes the temperature under a landed roof as the average ambient temperature for that month, so choose it whenever you know it. Left at Annual average, the tool uses the yearly average and says so.
    • Diameter and Days Standing Idle. Shell height is for the report only.
    • Roof Tank Type: internal/domed or external.
    • Heel Condition: full liquid heel, partial liquid heel, or drain-dry (clingage only), and the Effective Heel Height.
    • Deck Leg Height (landed): required. The vapor space is only the space under the roof, leg height minus heel height (AP-42 §7.1.3.3), not the whole shell.
    • For drain-dry tanks, the Bottom Condition and Clingage Product.

    What the tool calculates

    • Internal and domed roofs: breathing under the landed deck, using an expansion factor from the month's (or year's) temperature swing and the stock's vapor-pressure curve (AP-42 Eq 1-5). It falls back to Eq 1-12 if only a typed vapor pressure is known, and to 0.04 per day only with no site at all.
    • External roofs: wind-driven standing idle loss at the site wind, never below AP-42's 10 mph minimum. The filling loss is reduced by AP-42's wind correction Csf, because wind flushes part of the vapor out before refilling. Csf·S is never taken below 0.15.
    • Drain-dry tanks: evaporation of the clingage film, plus only the vapor the incoming liquid generates.
    • Filling-loss limit: filling loss never exceeds the heel left, minus the standing idle loss, plus the incoming liquid's vapor (Eq 3-16). It only binds for very thin heels.

    Change of stock

    Tick Refilled with a different stock (change of service) when the tank refills with another product. Choose the Incoming stock; its vapor molecular weight fills in, with RVP and slope fields for petroleum stocks. You can also type the Incoming TVP directly.

    The filling loss is then split, as AP-42 specifies, into an arrival part (old-stock vapor still in the tank, saturation Csf·S − 0.15) and a generated part (new-stock vapor, saturation 0.15). Both appear in the results.

    arrival · Csf·S − 0.15
    generated · 0.15
    Filling loss on a change of service (proportions illustrative)

    Tank cleaning events

    A cleaning estimates the vapor released when the vapor space is first purged by forced ventilation, plus the vapor carried out by continued ventilation while sludge and liquid remain (AP-42 §7.1.3.4).

    Inputs

    • Month of event: the month the cleaning takes place; the vapor space is taken at that month's average ambient temperature.
    • Diameter, Shell Height and Tank Type (fixed roof, internal/domed, or external floating roof).
    • Liquid/Sludge Height at Shell.
    • Deck Leg Height (landed), for floating-roof tanks only. With the roof resting on its legs, only the space under it is purged: leg height minus sludge height.
    • Heel Condition: full heel, partial heel or sludge only, or drain dry.
    • Days Idle Before Vent, for fixed roofs.
    • Continued Forced Ventilation: ventilation rate Qv (ft³/min), days of ventilation, hours per day, average %LEL reading, calibration gas and response factor.

    Purge saturation

    TankSaturation factor S for the initial purge
    Fixed roof(0.5 × days idle + 1) / 6, kept between 0.25 and 0.5 (Eq 4-6). Left blank: 0.5, AP-42's upper limit
    Internal / domed floating roof0.6 full heel, 0.5 partial heel, 0 drain dry
    External floating roofSame values × the wind correction Csf, because wind has already flushed part of the vapor

    For an external-roof purge that follows an overnight ventilation shutdown, tick Purge follows an overnight ventilation shutdown; AP-42 then sets Csf = 1.

    Reading the results

    The results panel leads with the total, then breaks it down; check any warning banners at the top before using the number.

    • Total: lb/yr for routine losses or lb per event, with tons and kilograms beneath.
    • Breakdown:
      floating roofrim-seal, deck-fitting, deck-seam, standing total, withdrawal, and any closed-vent adjustment
      fixed roofstanding and working losses
      landingstanding idle and filling
      cleaningpurge and continued ventilation
    • Show calculation detail: every intermediate value — liquid surface temperature, true vapor pressure, the vapor pressure function P*, the atmospheric pressure used (site or sea-level default), turnover and vent factors, the expansion factor and its basis, the throughput basis, the seal fit used, and the weather basis for events. Check these first when a result looks wrong.
    • Warning banners: wind at or above 15 mph, months or stocks that would boil, and inputs outside AP-42's validated ranges. A flagged result is still calculated but is an extrapolation.
    • Component emissions: when components are entered, a table of each component's liquid %, its pure vapor pressure, vapor %, loss per part and total.

    Monthly results

    Monthly mode shows the 12-month total, the annual-average figure for comparison, the highest month, and a table of monthly weather, liquid temperature, vapor pressure and losses. A month that cannot be calculated, for example because the stock boils, is named and left out of the total. Download monthly table (CSV) exports the table.

    Reports and saved records

    Download Report opens a formatted report for printing or saving as PDF, including the component table when components were entered. Each calculation is also saved to your account: Just for research entries are visible only to you and administrators, Official / true record entries to your company. Monthly runs are saved once, tagged as monthly, with component totals where entered.

    Messages and what to do

    Errors stop the calculation; warnings let it run but flag the result. The table gives the gist of each message, grouped by the card it relates to.

    Message (gist)TypeWhat to do
    Required inputs are missingErrorFill the fields marked *. Throughput can be replaced by the annual sum of liquid-level changes.
    Could not compute TVPErrorSelect a site and a stock with vapor-pressure data, or switch to Enter TVP directly.
    Enter the stock's RVP / enter the slope S or D86 temperaturesErrorAdd the lab values. Naphthas get AP-42 default slopes only for RVP 2–8 and 9–14 psi.
    RVP below the 1 psi limitErrorMeasure true vapor pressure (ASTM D2879) and use Enter TVP directly.
    RVP above 20 psi, or crude outside 2–15 psiWarningResult is an extrapolation; prefer a measured vapor pressure.
    Vapor pressure at or above atmospheric pressureErrorThe stock would boil at this temperature, and AP-42 does not apply. Check the stock, the site pressure and the bulk temperature.
    Average wind at or above 15 mphWarningAP-42's seal and fitting factors are outside their validated range; treat the result with caution.
    Fitting cannot be used on external floating roof tanksErrorRemove it or choose an external-rated fitting.
    Deck leg height is required; heel must be below the leg heightErrorEnter the landed leg height and check the heel height.
    Monthly estimates for a custom site need the NASA POWER auto-fillErrorRun the NASA fetch for the site, then calculate again.
    Enter all 12 monthly throughputsErrorFill every month; use 0 for an idle month.
    Couldn't fetch the data automaticallyNoticeUse the NASA link and paste route below the button, or type the values.
    Enter the liquid molecular weight MLShown in resultsEnter ML to get component losses.
    Component partial pressures exceed 100%WarningThe composition, ML or vapor pressure inputs disagree; recheck them.
    A complete composition must total 100%ErrorCorrect the weight percents.
    Composition mode calculates vapor pressure from the componentsErrorSet the vapor pressure method to Compute from temperature, or untick the composition box.
    Raoult's law may not be appropriate (alcohols or water)WarningResults for these mixtures are less reliable; use measured vapor data where possible.

    Limits, assumptions and good practice

    The tool covers AP-42's routine floating- and fixed-roof losses, landings and cleanings. Some AP-42 cases are outside it, and in a few places it follows a stated interpretation.

    Not covered

    • Flashing losses from unstable stocks such as field crude or condensate. AP-42 gives no method; routine-loss equations miss them.
    • Insulated and partially insulated tanks, and heated tanks driven by heating cycles (AP-42 §7.1.3.8.4).
    • Variable vapor space and pressure tanks, beyond the fixed-roof vent correction.
    • Rectangular, square and underground tanks.
    • Dilute aqueous mixtures, which need Henry's law rather than Raoult's law.

    Interpretations the tool makes

    • Internal-roof bulk temperature: when not measured, the tool uses AP-42's fixed-roof bulk temperature equation (Eq 1-33). AP-42's own Example 4 does the same.
    • Landing wind correction: the printed AP-42 Eq 3-21 shows (1 − S), but its derivation (Eq 3-20) and AP-42's worked example both use S. The tool uses S, and reproduces the example.
    • Filling-loss limit: the tool uses Eq 3-4's printed factor 5.9; AP-42's Example 5 uses 5.875, a 0.4% difference that only matters when the limit binds.
    • Speciation of drain-dry clingage: by liquid composition, because the whole film evaporates (the same reasoning as AP-42 Eq 40-2).
    • Change of stock: the incoming liquid is assumed to have the same composition as the old one, as in AP-42's Example 5.

    Good practice

    1. 1
      Prefer measured data over defaults: RVP and D86 results, vapor molecular weight, bulk temperature, and site wind at 10 m or higher.
    2. 2
      Keep a calculation on Just for research until its inputs are checked; switch to Official / true record for a real assessment.
    3. 3
      Open the calculation detail before trusting a result, and note any warning banner with the figure you report.
    4. 4
      For Indian sites, compare the annual and monthly results; seasonal peaks matter for landings and cleanings planned in hot months.
    5. 5
      Record your assumptions, for example the naphtha vapor molecular weight or a NASA-derived wind, alongside the result.

    How the tool was checked

    The tool reproduces AP-42's own worked examples (June 2026) from raw inputs, entered through the form; small differences come from AP-42 rounding intermediate values.

    AP-42 exampleCaseQuantityToolAP-42
    Example 3External pontoon roof, 75/15/10 benzene–toluene–cyclohexane blend, NewarkTotal loss565.7 lb/yr565.5 lb/yr
    Benzene / toluene / cyclohexane472.6 / 27.9 / 65.3 lb/yr472.8 / 27.3 / 65.4 lb/yr
    Example 4Internal floating roof, RVP 13 gasoline, Tulsa, seven fitting typesTotal loss4,328 lb/yr4,330 lb/yr
    Benzene / toluene / ethylbenzene / xylenes6.7 / 33.8 / 3.3 / 15.3 lb/yr6.6 / 34 / 3.2 / 15 lb/yr
    Example 5External roof landing, Port Arthur in April, RVP 12 heel refilled with RVP 7Wind correction Csf0.5720.572
    Standing idle / filling / total2,579 / 549 / 3,127 lb2,578 / 548 / 3,126 lb
    Benzene4.50 lb4.5 lb

    The toluene gap in Example 3 comes from AP-42 rounding toluene's vapor mole fraction from 0.0405 to 0.040.

    The reference data was also checked against the June 2026 tables:

    • all 182 chemicals against Table 7.1-3
    • all 219 US sites against Table 7.1-7, monthly and annual
    • the deck-fitting factors against Table 7.1-12
    • the fuel constants against Table 7.1-2
    430

    About 430 automated checks are rerun after every change.

    Glossary

    Symbols follow AP-42. Note that S means two things: the distillation slope of a petroleum stock, and the saturation factor of a landing or cleaning.

    Symbol or termMeaningUnits
    TVP, PVATrue vapor pressure at the average liquid surface temperaturepsia
    P*Vapor pressure function used in floating-roof losses—
    PAAtmospheric pressure at the sitepsia
    RVPReid vapor pressure (ASTM D323 or D5191)psi
    S (stock)ASTM D86 distillation slope at 10% evaporated°F/vol%
    S (event)Saturation factor of the vapor during filling or purging—
    MV, MLVapor and liquid molecular weightlb/lb-mol
    WLLiquid densitylb/gal
    TLA, TAA, TBLiquid surface, ambient average and liquid bulk temperature°F (°R in equations)
    α, IPaint solar absorptance; daily solar insolation—, Btu/ft²·day
    KC, KPProduct factors: 0.4 and 0.75 for crude oil, otherwise 1—
    KN, KBTurnover factor; vent-setting correction factor—
    KE, KSVapor space expansion factor; vented vapor saturation factorper day, —
    CsfWind correction to filling saturation on external roofs—
    CSShell clingage factorbbl/1,000 ft²
    NC, FCNumber of roof support columns; effective column diameter—, ft
    LR, LF, LDRim-seal, deck-fitting and deck-seam losseslb/yr
    LS, LW, LTStanding, working (withdrawal) and total losslb/yr
    LSL, LFLLanding standing idle and filling losslb
    hd, hle, hvLanded leg height, heel height, vapor space height under the roofft
    ZL, ZVWeight fraction of a component in the liquid and in the vapor—
    HeelLiquid left in the tank under a landed roof—
    Drain-dryTank emptied so only a film of liquid clings to the floor and shell—
    Change of serviceRefilling a tank with a different stock after a landing—