> ## Documentation Index
> Fetch the complete documentation index at: https://docs.realtimelca.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Norway

> Calculation types Real-Time LCA provides for Norwegian building regulations — TEK17 and NS 3720.

export const LifecyclePhases = ({included = [], declaredSeparately = [], note}) => {
  const expand = codes => {
    const set = new Set();
    codes.forEach(code => {
      if (code === 'A1A3') ['A1', 'A2', 'A3'].forEach(c => set.add(c)); else set.add(code);
    });
    return set;
  };
  const inc = expand(included);
  const sep = expand(declaredSeparately);
  const stages = [{
    name: 'Product',
    modules: [['A1', 'Raw materials'], ['A2', 'Transportation'], ['A3', 'Manufacturing']]
  }, {
    name: 'Construction process',
    modules: [['A4', 'Transportation'], ['A5', 'Construction / Assembly']]
  }, {
    name: 'Use',
    modules: [['B1', 'Use'], ['B2', 'Maintenance'], ['B3', 'Repair'], ['B4', 'Replacement'], ['B5', 'Renovation'], ['B6', 'Energy consumption for operation'], ['B7', 'Water consumption for operation']]
  }, {
    name: 'End of life',
    modules: [['C1', 'Demolition'], ['C2', 'Transportation'], ['C3', 'Waste pretreatment'], ['C4', 'Disposal']]
  }, {
    name: 'Beyond the system boundary',
    modules: [['D', 'Potential for reuse, recycling and other recovery']]
  }];
  const bg = code => {
    if (inc.has(code)) return '#D6DAFF';
    if (sep.has(code)) return '#E8E6E6';
    return 'transparent';
  };
  const fg = code => inc.has(code) || sep.has(code) ? '#000' : 'inherit';
  return <div>
      <table style={{
    borderCollapse: 'collapse',
    width: '100%',
    margin: '0.5em 0'
  }}>
        <thead>
          <tr>
            <th align="left" style={{
    padding: '8px',
    borderBottom: '1px solid #ccc'
  }}>Stage</th>
            <th align="left" colSpan={2} style={{
    padding: '8px',
    borderBottom: '1px solid #ccc'
  }}>Module</th>
          </tr>
        </thead>
        <tbody>
          {stages.flatMap(stage => stage.modules.map(([code, label], idx) => <tr key={code}>
                {idx === 0 && <td rowSpan={stage.modules.length} valign="top" style={{
    padding: '8px',
    borderBottom: '1px solid #eee'
  }}>
                    <strong>{stage.name}</strong>
                  </td>}
                <td style={{
    backgroundColor: bg(code),
    color: fg(code),
    padding: '8px',
    width: '60px'
  }}>
                  <strong>{code}</strong>
                </td>
                <td style={{
    backgroundColor: bg(code),
    color: fg(code),
    padding: '8px'
  }}>{label}</td>
              </tr>))}
        </tbody>
      </table>
      {note && <p style={{
    marginTop: '0.5em',
    fontStyle: 'italic',
    fontSize: '0.9em'
  }}>{note}</p>}
    </div>;
};

Real-Time LCA implements **[TEK17](https://lovdata.no/dokument/SF/forskrift/2017-06-19-840)** — the Norwegian building regulation *Forskrift om tekniske krav til byggverk* — as the primary regulatory calculation type for Norwegian projects. Calculation rules follow *NS 3720:2018* (the Norwegian method for greenhouse-gas calculations for buildings, available from [Standard Norge](https://www.standard.no)), which conforms to [EN 15978](/methodology-and-compliance/en-15978).

## TEK17

<LifecyclePhases included={['A1A3', 'A4', 'A5', 'B2', 'B4']} note="Blue = required modules under TEK17 / NS 3720." />

* **Reference study period:** 50 years.
* **Indicator:** **GWP-IOBC** (GWP including biogenic carbon — the indicator name used by the Norwegian method), reported in kg CO₂-eq per m² per year.
* **Threshold:** none defined in Real-Time LCA at this time.

The TEK17 module set differs from BR18 — B2 (maintenance) is included, and end-of-life modules C1–C4 are not part of the default scope. This matches the scope defined by *NS 3720* for buildings under TEK17.

## Custom and Level(s)

Real-Time LCA additionally exposes **Custom** (user-defined scope, GWP-IOBC in kg CO₂-eq / m²) and **Level(s)** (full EN 15978 module set with standard GWP — see [Level(s)](/methodology-and-compliance/levels)) for Norwegian projects.

For projects targeting **BREEAM-NOR** Mat 01, the Custom or Level(s) calculation type is typically the appropriate base — see [Certification schemes](/methodology-and-compliance/certification-schemes).

## Reference Service Life

The TEK17 calculation uses Norwegian lifetime tables (NS 3720 reference values) for module B4 replacement. Component-level RSL can be overridden per project.

## Limitations

* The indicator naming **GWP-IOBC** differs from the standard EN 15804+A2 GWP-total / GWP-fossil / GWP-biogenic split. Where a project also runs a Level(s) calculation in parallel, the two GWP values are not directly comparable — Level(s) uses standard EN 15804+A2 GWP.
* End-of-life modules (C1–C4) are not in TEK17 scope. To document end-of-life impacts alongside TEK17, run a Level(s) calculation in parallel.
* No regulatory limit value is configured for TEK17 in Real-Time LCA. The result is reported numerically; a project's compliance against any specific Norwegian limit value is determined outside the calculation type itself.
