Overview
This page is a cross-cutting reference for the AS/NZS 3008.1.1 cable installation, current carrying capacity (CCC) rating, and derating factor system used across the four cable sizing calculators:
- c0006 — Motor Cable Sizing (3-phase)
- c0030 — Load Cable Sizing (3-phase)
- c0031 — Load Cable Sizing (1-phase)
- c0032 — Motor Cable Sizing (1-phase)
All four calculators share the same installation method options, CCC lookup
mechanism, and derating factor computation. The CCC rating for a cable is
looked up from StandardColumn records in the webcalcs database.
Each CCC column stores a derating_table code that determines
which grouping derating fields appear in the sidebar.
installation_method (v-if on form values) because they determine
which CCC column to look up. Grouping derating fields are controlled
by deratingTableCode (returned from the API) because the correct
derating table depends on which CCC column was matched.
Installation Methods
Six installation methods are available, corresponding to clauses in AS/NZS 3008.1.1. The method determines which CCC tables apply and which environmental derating factors are relevant.
| Method Value | Description | Typical Use |
|---|---|---|
Unenclosed |
Open trays, ladders, racks, catenary wire | Cable trays in switchrooms, outdoor racks |
DirectBuried |
Cables directly in soil | Underground distribution, direct-laid |
Enclosed |
Wiring enclosures or metallic enclosures in air | Surface-mounted enclosures, cable trunking |
Conduit |
Conduits in air | Surface-mounted conduit runs |
BuriedConduit |
Conduits buried in soil | Underground conduit banks |
ThermalInsulation |
Cables in or near thermal insulation | Building cavities, insulated walls |
CCC Column Sub-Selection Fields
These sidebar fields refine the CCC column lookup within a given installation
method. They are controlled by v-if on
calculationForm.param_installation_method (and sometimes cable
formation) because they must be set before the calculation runs —
they determine which CCC column to look up.
| Field | Visible When | Purpose | Values |
|---|---|---|---|
unenclosed_type_mc |
Unenclosed + Multicore | Multicore unenclosed sub-type | Exposed To Sun, Spaced from Surface, Touching Surface |
unenclosed_type_sc |
Unenclosed + Singlecore | Singlecore unenclosed sub-type | Exposed To Sun, Spaced & Conductors Spaced, Spaced & Trefoil/Flat Touching, Touching Wall or Surface |
unenclosed_in_air |
Unenclosed (not touching surface/wall) | Tray/ladder arrangement | Unperforated Trays, Perforated Trays Horizontal, Perforated Trays Vertical, Ladder/Racks/Cleats, On Catinerary Wire |
unenclosed_catinerary |
Unenclosed + Air = On Catinerary Wire | Catenary arrangement | Spaced on Catinerary Wire, Bunched on Catinerary Wire |
thermal_ins_type1 |
ThermalInsulation | Insulation coverage | Completely, Partial |
thermal_ins_type2 |
ThermalInsulation | Installation method within insulation | Unenclosed, Enclosed |
enclosed_install_type |
Enclosed | Enclosure type | Wiring Enclosure in Air, Metalic Enclosure in Air |
sc_conduit_install_type |
Singlecore + Conduit | Shared or dedicated conduit | Shared, Dedicated |
StandardColumn table. They
cannot use deratingTableCode because the code is only known
after the lookup.
Derating Table Codes
Each StandardColumn record stores a derating_table
field. When the CCC is looked up, this code is returned in the API response
as derating_table_code. It drives which grouping derating
sidebar fields become visible.
| Code | AS/NZS 3008 Table | Description | Applies To |
|---|---|---|---|
D22 |
Table 22 | Bunched circuits in air or wiring enclosures | Enclosed, Conduit (air), bunched cables |
D23 |
Table 23 | Singlecore on ladders/racks in air | Unenclosed + Singlecore |
D24 |
Table 24 | Multicore on ladders/racks in air | Unenclosed + Multicore |
D25_1 |
Table 25.1 | Singlecore direct buried | DirectBuried + Singlecore |
D25_2 |
Table 25.2 | Multicore direct buried | DirectBuried + Multicore |
D26_1 |
Table 26.1 | Singlecore individual buried conduits | BuriedConduit + Singlecore (Dedicated) |
D26_2 |
Table 26.2 | Multicore or shared buried conduits | BuriedConduit (Shared or Multicore) |
SUN |
— | Exposed to sun (no grouping derating) | Unenclosed + Exposed To Sun |
NA |
— | Not applicable (no grouping derating) | — |
TBC |
— | To be confirmed | — |
derating_22_if_catenary flag: Some
StandardColumn records have this boolean set to True.
When the installation is catenary, this overrides the normal derating table
and forces use of Table 22 (D22) instead of Table 23/24 for grouping derating.
Grouping Derating Fields
These sidebar fields appear based on the deratingTableCode value
returned from the calculation API. Only one grouping table
(22–26) applies per CCC column.
| Sidebar Field | Visible When (deratingTableCode) |
Derating Table | Values |
|---|---|---|---|
cables_per_tier |
D24 |
Table 24 | 1, 2, 3, 4, 6, 9 |
circuits_per_tier |
D23 |
Table 23 | 1, 2, 3 |
ladder_spacing |
D23 or D24 |
Tables 23/24 | Touching, Spaced, Bunched |
ladder_tiers |
D23 or D24 |
Tables 23/24 | 1 Tier, 2 Tier, 3 Tier |
bunched_circuits_cables |
D22 |
Table 22 | 1–18, >18 |
bunched_unenclosed_type |
D22 |
Table 22 | Bunched In Air, Bunched On A Surface, Single Layer Wall/Floor Touching, Single Layer Wall/Floor Spaced D, Single Layer Ceiling Touching, Single Layer Ceiling Spaced D |
num_circuits |
D22 |
— | 1–20 (manual input) |
conduit_spacing |
D26_1 or D26_2 |
Tables 26.x | Touching, Spaced 0.3m, Spaced 0.45m, Spaced 0.6m |
direct_buried_spacing |
D25_1 or D25_2 |
Tables 25.x | Touching, Spaced 0.15m, Spaced 0.3m, Spaced 0.45m, Spaced 0.6m |
buried_circuits_cables |
D25_* or D26_* |
Tables 25.x/26.x | 1–12 |
derating_table_code. The auto-calc
fires on page load, so they typically appear within ~500ms.
Environmental Derating Fields
Environmental derating fields remain controlled by
installation_method v-if because they apply based on whether
the cable is in air or buried — not based on the specific CCC column.
Multiple environmental factors can apply simultaneously.
| Field | Visible When (installation_method) |
Derating Table | Values |
|---|---|---|---|
ambient_temp |
Not DirectBuried, Conduit, or BuriedConduit | Table 27.1 | 15–85°C (5°C steps) |
soil_ambient |
DirectBuried or Conduit or BuriedConduit | Table 27.2 | 10–40°C (5°C steps) |
burial_depth |
DirectBuried or Conduit or BuriedConduit | Table 28.1/28.2 | 0.5–3+ m |
soil_resistivity |
DirectBuried or Conduit or BuriedConduit | Table 29 | 0.8–3 K·m/W |
Derating Factor Computation
The combined derating factor is the product of all applicable individual factors. Only one grouping table (22–26) applies per CCC column, but multiple environmental tables can apply simultaneously.
Combined derating factor:
\[ F_{derating} = F_{group} \times F_{temp} \times F_{depth} \times F_{resi} \]Derated current carrying capacity:
\[ I_{derated} = F_{derating} \times I_{CCC} \]Where:
- \( F_{group} \) — Grouping derating from one of Tables 22–26 (based on
derating_table_code) - \( F_{temp} \) — Temperature derating from Table 27.1 (air) or 27.2 (soil)
- \( F_{depth} \) — Depth of laying derating from Table 28.1 (direct) or 28.2 (conduit), buried only
- \( F_{resi} \) — Soil resistivity derating from Table 29, buried only
- \( I_{CCC} \) — Base current carrying capacity from the matched
StandardColumn
relavent == True.
Data Flow
The following diagram shows how installation parameters flow through the system from user input to derated current capacity.
Installation Method + Cable Params ──► CCC Column Lookup (StandardColumn)
│
derating_table_code (D22, D23, etc.)
│
Grouping Derating Fields (sidebar v-if)
│
Grouping Derating Factor (from AS3008 tables)
│
Installation Method ──────────► Environmental Derating Factors (Tables 27-29)
│
F_derating = F_group × F_temp × F_depth × F_resi
│
I_derated = F_derating × I_CCC
Key points:
- CCC sub-selection fields are evaluated before the API call (they select the column)
derating_table_codecomes back from the API (stored onStandardColumn)- Grouping derating fields appear in the sidebar after the first API response
- Environmental derating fields are always visible based on installation method
Standards & References
| Standard | Title | Relevant Sections |
|---|---|---|
| AS/NZS 3008.1.1:2017 | Electrical installations — Selection of cables, Part 1: Cables for alternating voltages up to and including 0.6/1 kV | Tables 4–21 (CCC), Tables 22–26 (grouping derating), Tables 27–29 (environmental derating) |
| AS/NZS 3000:2018 | Electrical installations (Wiring rules) | Cable installation requirements |
Architecture
System Components
- webcalcs.StandardColumn — Database model storing CCC values per cable configuration.
Key fields:
derating_table(D-code string),derating_22_if_catenary(boolean override). - webcalcs/view_cables.py — API endpoint that performs CCC column lookup and returns
derating_tableandderating_22_if_catenaryin the response. - calcs/core/cable_utils.py — Shared utilities containing
DERATING_TABLE_MAP,DERATING_CONFIGS, and allGet_DE_*_Table()functions. - Sidebar templates — Four sidebar forms (one per calc) with
deratingTableCodev-if bindings for grouping derating fields. - base_calculation.html — Vue reactive
deratingTableCoderef, populated fromdata.results.derating_table_codeafter each calculation.
Key Code References
| File | Function / Symbol | Purpose |
|---|---|---|
webcalcs/view_cables.py |
Get_CCC_Table() |
Looks up CCC from StandardColumn, returns derating_table code |
calcs/core/cable_utils.py |
DERATING_TABLE_MAP |
Maps D-codes (D22, D23, ...) to internal table keys (table_22, table_23, ...) |
calcs/core/cable_utils.py |
DERATING_CONFIGS |
List of (function, key, symbol, description) for all 12 derating tables |
calcs/core/cable_utils.py |
Get_DE_22_Table() – Get_DE_29_Table() |
Individual derating table lookup functions |
calcs/core/cable_utils.py |
call_webcalcs_api() |
Calls webcalcs CCC API, extracts derating_table_code |
core/templates/calcs/base_calculation.html |
deratingTableCode ref |
Vue reactive ref updated from API response, exposed to sidebar templates |
Code Paths
CCC Lookup & Derating Flow
- User selects installation method + sub-fields in sidebar
- Auto-calc triggers API call to
/calcs/api/calculate/<calc_type>/ - Component's
calculations.pycallscall_webcalcs_api() webcalcs/view_cables.pymatchesStandardColumnand returns CCC +derating_table+derating_22_if_catenarycable_utils.pyusesDERATING_TABLE_MAPto resolve which grouping table applies- All applicable derating factors are multiplied together
- Response includes
derating_table_code→ Vue updatesderatingTableCoderef → sidebar fields appear/hide
DERATING_TABLE_MAP
DERATING_TABLE_MAP = {
'D22': 'table_22',
'D23': 'table_23',
'D24': 'table_24',
'D25_1': 'table_25_1',
'D25_2': 'table_25_2',
'D26_1': 'table_26_1',
'D26_2': 'table_26_2',
}
Sidebar Template Files
components/c0006_motor_cable_sizing/.../sidebar_form.htmlcomponents/c0030_load_cable_sizing/.../sidebar_form.htmlcomponents/c0031_load_cable_sizing_1ph/.../sidebar_form.htmlcomponents/c0032_motor_cable_sizing_1ph/.../sidebar_form.html