Choose a discipline
You can switch disciplines any time with the Home button below.
Air state — dry bulb + one other property
Chart is drawn from the same equations as the numbers above — it is a check on reasonableness, not a reading surface.
Coil / process load
Mix two airstreams
Duct friction
Size it for me
Governing constraint is whichever gives the larger duct. 0.08–0.10 in./100 ft is a common low-pressure design band; tighten it where fan energy or sound matters.
Fittings and components
Loss coefficients are typical values for a first pass. For a design of record use the ASHRAE Duct Fitting Database for the actual geometry.
Pipe friction — water
Valves and fittings
K values are typical. Confirm against the manufacturer's published Cv for balancing valves, control valves, and strainers — those three dominate a branch and vary widely by model.
Size selection
Affinity laws
Fan horsepower
Pump horsepower
Unit conversion
Temperature
Fixture schedule
Enter quantities once — the same schedule drives the domestic water demand and the sanitary drain size below.
Irrigation, cooling make-up and similar steady flows go in the continuous field — IPC E103.3 adds those in gpm after the fixture-unit conversion, never as fixture units.
Saves a plain-text record of this fixture schedule and its calculated water demand and drain sizing — for the project file, not a substitute for the reviewing engineer's calculation package.
Water closets & urinals
Lavatories, tubs & showers
Bathroom groups
A group already covers its water closet, lavatory and tub or shower. Count the group or those fixtures, never both.
Sinks
Appliances & drains
Domestic water — IPC Appendix E
Cold + hot sums to more than the total by design: IPC Table E103.3(2) note (a) sets each branch at three-fourths of the fixture total, because the cold and hot peaks do not coincide.
Sanitary sewer — IPC Table 710.1(1)
Fixture-by-fixture breakdown
| Fixture | Qty | Cold | Hot | Total | DFU |
|---|
Quick references — firm marina/electrical cheat sheet
Each card below is one reference "file." These are for a quick field check, not a design of record — confirm against the NEC edition and any local amendments adopted by the AHJ for the project before using a number from here on a drawing or calc package.
NEC Table 220.120 — Marina shore power receptacle demand factor
Edition note. This table moved. It is Table 220.120 in the 2023 NEC, Table 555.6 in the 2020 NEC, and Table 555.12 in the 2017 NEC. The demand-factor brackets below are identical in all three — only the citation changes. Cite the designation belonging to the edition the AHJ has adopted.
| Number of shore power receptacles | Demand factor |
|---|---|
| 1–4 | 100% |
| 5–8 | 90% |
| 9–14 | 80% |
| 15–30 | 70% |
| 31–40 | 60% |
| 41–50 | 50% |
| 51–70 | 40% |
| ≥71 | 30% |
1. Where a slip has two receptacles at different voltages (e.g. one 30A/125V and one 50A/125-250V), only the receptacle with the larger kVA demand is counted.
2. A pedestal with an individual kWh submeter per slip, calculated per the criteria in the notes to this table, may have its total demand amperes multiplied by 0.9. (This app's Marina Load tool applies this.)
3. If a circuit feeds a boat hoist and shore power for the same slip, only the load with the larger kW demand is counted.
NEC Table 250.66 — Grounding electrode conductor
Sized from the largest ungrounded service-entrance conductor, or the equivalent area for parallel conductors. Service and electrode sizing only — for a branch circuit or a subpanel feeder use Table 250.122.
| Largest ungrounded service-entrance conductor (AWG/kcmil) | Grounding electrode conductor | ||
|---|---|---|---|
| Copper | Al or Cu-clad Al | Copper | Al or Cu-clad Al |
1. 250.66(A): where the GEC is the sole connection to a rod, pipe or plate electrode, it need not be larger than 6 AWG copper or 4 AWG aluminum.
2. 250.66(B): sole connection to a concrete-encased electrode need not be larger than 4 AWG copper.
3. 250.66(C): sole connection to a ground ring need not be larger than the conductor used for the ring (2 AWG minimum per 250.52(A)(4)).
4. Where there are no service-entrance conductors, size from the equivalent size of the largest service-entrance conductor that would be required for the load served.
5. 250.64(A): aluminum and copper-clad aluminum grounding conductors may not be terminated within 18 in. of the earth, nor used where in direct contact with masonry or earth or subject to corrosive conditions. On a marina that rules them out for most electrode runs — use copper.
NEC Table 250.122 — Equipment grounding conductor
Minimum size EGC for grounding raceway and equipment, by the rating or setting of the overcurrent device ahead of the equipment. Read the amps column as not exceeding — a 30 A or 40 A device falls in the 60 A row.
| OCPD rating, not exceeding A | Copper | Al or Cu-clad Al |
|---|
1. 250.122(A): the EGC is never required to be larger than the circuit conductors supplying the equipment.
2. 250.122(B) — the one that bites on dock runs. Where the ungrounded conductors are increased in size for any reason other than the ampacity correction and adjustment of 310.15(B)/(C) — voltage drop on a long pier feeder being the usual one — the EGC must be increased in the same proportion by circular-mil area. Upsizing a feeder for a long run and leaving the ground at the table size is a common plan-review comment.
3. 250.122(F): each raceway or cable of a parallel installation gets a full-size EGC, sized from the OCPD, not divided among the sets.
4. Rows above 3000 A are deliberately omitted — published transcriptions of the aluminum column disagree at 4000/5000/6000 A. Read those from the printed code.
NEC Table 310.16 — Service entrance conductor & conduit legend
Wire sized for THWN copper. Conduit sized for rigid PVC Schedule 40 — resize for a different conduit. Ampacity per NEC Table 310.16 at 75°C, ≤3 current-carrying conductors, 30°C ambient. The grounding electrode column follows Table 250.66 above.
| Label | Grounding electrode | Conductors/conduit | Runs | Min. conduit | Ampacity 75°C | Φ | Voltage range |
|---|
NEC Table 310.16 & 240.4(D) — Branch circuit & feeder legend with equipment ground
Wire sized for THWN copper. Conduit sized for rigid PVC Schedule 40 — resize for a different conduit. A feeder label with * on the plans indicates a neutral is not required. Ampacity is Table 310.16 at 75°C except the small-conductor rows, where 240.4(D) governs (#12 at 20 A, #10 at 30 A). Equipment grounds follow Table 250.122.
| Label | Conductors per conduit | Runs | Min. conduit | Ampacity 75°C | Φ | Voltage range |
|---|
NEC 400.5 — Portable power cable & cord, marina/boatyard feeder legend
Wire sized using NEC 400.5(A)(1)/(A)(2), green insulated ground. All conductors copper; wet-listed, approved for marina use, suitable for continuous submersion. Conduit sized for rigid PVC Schedule 40. A feeder label with * on the plans indicates a neutral is not required.
| Label | Cable | Runs | Min. conduit | Ampacity 75°C | Φ | Voltage range |
|---|
NEC Ch. 9, Table 1 — Conduit & tubing fill
| Number of conductors/cables | Cross-sectional area allowed |
|---|---|
| 1 | 53% |
| 2 | 31% |
| Over 2 | 40% |
Note 1: based on common conditions of proper cabling and alignment where pull length and bend count are within reasonable limits; certain conditions may call for a larger conduit or fewer conductors.
Note 2: pulling three conductors/cables into a raceway can jam if the raceway ID to conductor/cable OD ratio is between 2.8 and 3.2. Four or more can jam too, but the probability is very low.
Quick Calcs — Single/three-phase amperage & voltage multipliers
| 1Φ | (kVA × 1000) ÷ Volts = Amps |
| 3Φ | (kVA × 1000) ÷ (Volts × 1.732) = Amps |
| 208V × 1.732 | 360.256 |
| 480V × 1.732 | 831.36 |
Voltage drop
Enter any two of wire size, distance, and amps — the third is solved for. Enter all three to check the actual drop for a known run.
Marina shore power load
Demand load for a marina/dock feeder or service — NEC Table 220.120 demand factor applied to shore power receptacles, plus general-use receptacle and pedestal lighting adders. (Same table as 555.6 in the 2020 NEC and 555.12 in the 2017 NEC.)
30A/125V receptacle connected load is counted at half its nameplate rating (15A) — see Basis tab for why. Confirm this matches the feeder configuration on this project before using the result.
Capacity around this result
Total demand load (A) for nearby receptacle counts, same math as above — a zoomed-in window of the firm's Marina Load Calculator sensitivity table.
Before you use a number from this app
Calculation basis — Mechanical
Psychrometrics
ASHRAE Handbook — Fundamentals, Ch. 1, Hyland & Wexler formulation. Saturation pressure by eq. 5 (over ice, below 32 °F) and eq. 6 (over water, 32–392 °F). Humidity ratio eq. 20/21, wet bulb eq. 33/34, dew point eq. 37/38, enthalpy eq. 30, specific volume eq. 26. Barometric pressure from the standard atmosphere, eq. 3.
Wet bulb reported is the thermodynamic wet bulb, solved iteratively. It differs slightly from a sling psychrometer reading.
Coil and process loads
Computed from actual mass flow — m = cfm / v using the
entering specific volume — not the 4.5 and 1.08
standard-air shortcuts. At 80 °F/67 °F entering at sea
level the true factors are 4.33 and 1.06, so the textbook shortcuts
overstate capacity by about 3.7%. The gap widens with altitude and with
entering temperature. The app shows the effective factors so you can see
how far from standard air you actually are.
Duct
ASHRAE Handbook — Fundamentals, Ch. 21. Friction factor from the
Colebrook-White implicit equation solved by bisection (not an explicit
approximation). Absolute roughness values from Ch. 21 Table 1. Velocity
pressure Pv = ρ(V/1097)², which reduces to
(V/4005)² at 0.075 lb/ft³. Rectangular duct
friction uses the circular equivalent diameter
De = 1.30(ab)^0.625/(a+b)^0.25 with velocity taken from the
actual cross-section.
Air density is computed for dry air at the entered temperature and elevation — the ASHRAE standard-air basis, which returns 0.0749 lb/ft³ at 70 °F and sea level. Humidity moves density only a few tenths of a percent across the normal supply-air range, and assuming a humidity would be an unstated guess, so the app does not. The density actually used is always displayed.
Fitting loss coefficients are typical values only. They are adequate for sizing a run in the field. They are not adequate for a design of record — use the ASHRAE Duct Fitting Database entry for the specific geometry.
Pipe
Darcy-Weisbach with Colebrook friction factor, water properties (density, kinematic viscosity, vapor pressure) interpolated against temperature from standard steam-table values. Hazen-Williams is offered as a cross-check and is only valid for water near 60 °F in the turbulent range — it will mislead you on hot water, glycol, and low-flow branches. Inside diameters are catalog nominal values; confirm against the specified product. Valve and fitting K values are typical; confirm against published Cv for balancing, control, and strainer components.
Fans and pumps
Affinity laws with speed exponents 1/2/3. Impeller trim uses exponents 1/2/3; a geometrically similar fan wheel family uses 3/2/5. Both degrade outside roughly 80–115% of the reference point, and the app says so.
Plumbing — domestic water and sanitary drain
Basis is the 2021 International Plumbing Code, not the older editions the firm's spreadsheets cite. Water supply fixture units from Table E103.3(2); demand from Table E103.3(3); drainage fixture units from Table 709.1; building drain and sewer capacity from Table 710.1(1). Confirm against the edition the AHJ has adopted and its local amendments — plumbing is one of the most heavily amended trades.
Cold + hot exceeds the total on purpose. Table E103.3(2) note (a) sets each branch at three-fourths of the fixture total, because the cold peak and the hot peak do not happen at the same instant. Each column is summed independently and the total column is never computed as cold + hot. This differs from the firm's existing spreadsheet, which computes its total column as qty × (cold + hot) — so app totals will read lower than that sheet for any fixture with both supplies.
Demand takes the next tabulated row at or above the load rather than interpolating, which is the conservative reading and matches the spreadsheet's lookup behaviour; the interpolated figure is computed too so the two can be compared. Loads below the first row of a column use that first row and say so; loads past the last row return nothing rather than extrapolating. The flushometer-valve column is not tabulated below 5 wsfu. Hot water piping always reads the flush-tank column, per that column's own note, because it serves no flushometer valves. Continuous flows — irrigation, cooling make-up — are added in gpm after the conversion, never as fixture units.
Pipe size is the smallest nominal size whose velocity stays within the entered ceiling (default 8 ft/s), using catalog inside diameters; the velocity actually achieved is always shown. This is the field shortcut, not the IPC Appendix E segmented-loss method — it does not look at available pressure, developed length, meter and backflow losses, or elevation. For a service of record, run the pressure budget. The firm's spreadsheet pairs its Hunter's-curve lookup with a fixed Type L copper size column; results here may differ by a size where that table's implied velocity differs from the ceiling you enter.
Sanitary sizes are reported at 1/2, 1/4 and 1/8 in./ft from Table 710.1(1), including note (a): any building drain serving a water closet is at least 3 in. Sizes below 3 in. are not tabulated at 1/8 in./ft at all. The 4 in. minimum building sewer and the "not over two water closets on 3 in." limit that the firm's legacy SBCCI-based sheet carried are not in current IPC Table 710.1(1); the app flags the 4 in. question rather than enforcing it. Fixture-unit counts here size building drains, sewers, and horizontal branches of the building drain — not stacks, which use Table 710.1(2), and not vents.
Fixtures marked "assumed" are not in the cited IPC table. Hose bibbs, ice machines, bar sinks, clinical sinks and low-flow urinals carry values brought over from the firm's spreadsheets under Table E103.3(2) note (a) and Table 709.2, which permit assigning an unlisted fixture by comparison with a listed one of similar flow and frequency, or by its drain/trap size. The commonly quoted 2.5 wsfu hose bibb is a UPC Table 610.3 value, not IPC. Those rows are engineering assumptions and the reviewing engineer confirms them; the app labels every one rather than hiding it.
Calculation basis — Electrical
Electrical — voltage drop
DC conductor resistance from NEC Chapter 9, Table 8 (uncoated
and coated copper, aluminum; solid conductors only through 8 AWG,
matching field practice under 310.106(A)). Ampacity from NEC Table
310.16 at the selected 60/75/90 °C column, 30 °C
ambient, ≤3 current-carrying conductors — no 310.15(B)/(C) correction
or adjustment factors are applied; apply those separately if they govern
the actual installation. Voltage drop is
Vdrop = R/ft × A × ft × multiplier,
multiplier 2 for single phase (current travels out on
one conductor and back on the other, so the drop sees twice the one-way
resistance) or √3 for three phase (the 120° phase relationship
between conductors reduces this from 2 to √3) — the standard
2 × K × I × D formula, matching the firm's
SuperiorVDCalc workbook. Provide any two of wire size, distance, and
amps and the third is solved for; providing all three checks the actual
drop for a known run.
Electrical — marina shore power load
Demand factor by total receptacle count per NEC Table 220.120 (2023 NEC). This citation was previously shown in this app as 555.12(B), which is the 2017 designation; the table became Table 555.6 in the 2020 NEC and Table 220.120 in the 2023 NEC. The bracket values are identical across all three editions, so no calculated result changed — only the reference. Cite the designation belonging to the edition the AHJ has adopted. Connected load: a 50A/125-250V receptacle counts at its full 50A nameplate rating. A 30A/125V single-pole receptacle counts at 15A, half its nameplate rating — a firm convention, confirmed for this app: the 50A receptacles are two-pole 240V loads that draw on both ungrounded conductors of the shared feeder, while a 30A/125V receptacle is single-pole and loads only one of the two conductors, so on a balanced multiwire feeder carrying both load types its contribution to either conductor is taken as half of nameplate. This assumption is specific to a shared 120/240V multiwire feeder mixing both receptacle types — confirm it still applies to the feeder configuration on the project before using the result. A metered installation (individual kWh submeter per slip, NEC 220.120 criteria) gets the 0.9 multiplier per the firm cheat sheet's note 2. General-use 20A/125V duplex receptacles are counted at 180 VA each (Table 220.14(I)) with the Table 220.44 demand factor (first 10 kVA at 100%, remainder at 50%). Pedestal lights are counted at 9 VA each ×1.25 continuous-load factor (210.19(A)/215.2). All electrical amp figures assume a 240V basis for the duplex/pedestal-light adders, matching the source workbook.
The "Capacity around this result" grid on the Marina tab is a sensitivity sweep, not a second calculation — every cell calls the same demand-load function above at a nearby qty50/qty30, the way the source workbook's "Demanded Load" sheet sweeps receptacle counts against Max Amps and conditionally formats the result. It is a window, not the full sheet: the "Range to check" field sets how many receptacles up or down from the current selection are shown on each axis (default ±2), and green/red mean the same over/under-capacity comparison against Max Amps as the pass/fail note above it, not an independent check.
Not included by design: AIC/available fault current rating and standard breaker-size selection are not implemented as calculators here — use the reference legends for conductor/conduit selection and confirm fault current and breaker selection against the project's actual utility/transformer data and the panel schedule.
Reference legends (service entrance, portable cable, and branch circuit/feeder tables) are transcribed from the firm's cheat sheet and cross-checked row by row against this app's own Table 310.16 data — see the validation suite, section 25. They are quick-reference only; the project's issued conductor/conduit schedule governs.
Electrical — grounding reference tables
NEC Table 250.122 (equipment grounding conductors) and NEC Table 250.66 (grounding electrode conductors) are transcribed reference tables, 2023 NEC, not calculators — the app does no grounding sizing of its own. Each was transcribed against two independent published sources and then cross-checked against this app's own NEC Chapter 9 Table 8 resistance data: for every row, the aluminum entry is verified to be within 25% of the copper entry's resistance per 1000 ft, which is the physical relationship both tables are built on and an independent check on the transcription rather than a restatement of it. See the validation suite, section 32.
Table 250.122 is truncated at 3000 A on purpose. Published transcriptions of the aluminum column disagree at the 4000/5000/6000 A rows (750 vs 800 kcmil, 1200 vs 1250 kcmil), and the disagreement was not resolvable without the printed code, so those rows were omitted rather than guessed. Nothing the firm designs approaches that range.
Neither table's adjustment rules are automated. In particular 250.122(B) — proportional upsizing of the EGC when the ungrounded conductors are increased for voltage drop — applies routinely to long pier feeders and must be applied by hand. The 250.66(A)/(B)/(C) caps for rod, concrete-encased and ground-ring electrodes likewise are stated as notes only.
Validation
The calculation engine ships with a test suite of 272 assertions checked against published reference values — ASHRAE psychrometric tables, the ASHRAE duct friction chart and equivalent-diameter tables, the Moody diagram, AHRI rating conditions, steam tables, copper tube and Schedule 40 friction tables, NEC Chapter 9 Table 8, Table 310.16, Table 250.122 and Table 250.66, IPC Tables E103.3(2), E103.3(3), 709.1 and 710.1(1), and NIST unit factors. Pipe results are cross-validated between Darcy-Weisbach and Hazen-Williams, which share no code; electrical reference legends are cross-validated against the app's own ampacity table; and the IPC fixture-unit transcription is cross-checked against Table E103.3(2)'s own three-fourths rule, which is an independent constraint on the numbers rather than a restatement of them.
Run it with node validation.test.mjs. Every assertion
names its source. Treat a failing suite as a stop-work condition on this
app, and re-run it after any change to engine.js.
Known limitations, stated plainly: no glycol or steam properties; no duct or pipe insulation heat gain; no acoustics; SMACNA pressure-class and gauge selection is not implemented; the psychrometric chart is drawn for the entered elevation only; electrical calculators assume the 2023 NEC article/table numbers cited above and do not check 310.15(B)/(C) correction/adjustment factors, conduit fill, or AIC/breaker sizing; and the plumbing tool sizes building drains and sewers only — no stacks (IPC Table 710.1(2)), no vents, no traps or trap arms, no grease or sand interceptors, no storm drainage, and no Appendix E pressure budget for the water service.