formulab 0.15.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +126 -0
- package/README.md +7 -7
- package/dist/chemical/reliefValve.d.ts +8 -0
- package/dist/chemical/reliefValve.d.ts.map +1 -1
- package/dist/chemical/reliefValve.js +18 -1
- package/dist/chemical/reliefValve.js.map +1 -1
- package/dist/chemical/types.d.ts +2 -0
- package/dist/chemical/types.d.ts.map +1 -1
- package/dist/construction/brick.d.ts +1 -0
- package/dist/construction/brick.d.ts.map +1 -1
- package/dist/construction/brick.js +13 -0
- package/dist/construction/brick.js.map +1 -1
- package/dist/construction/concreteMix.d.ts +1 -0
- package/dist/construction/concreteMix.d.ts.map +1 -1
- package/dist/construction/concreteMix.js +7 -0
- package/dist/construction/concreteMix.js.map +1 -1
- package/dist/construction/rebar.d.ts +1 -0
- package/dist/construction/rebar.d.ts.map +1 -1
- package/dist/construction/rebar.js +4 -0
- package/dist/construction/rebar.js.map +1 -1
- package/dist/construction/stair.d.ts +2 -0
- package/dist/construction/stair.d.ts.map +1 -1
- package/dist/construction/stair.js +15 -2
- package/dist/construction/stair.js.map +1 -1
- package/dist/electronics/resistor.d.ts +2 -0
- package/dist/electronics/resistor.d.ts.map +1 -1
- package/dist/electronics/resistor.js +47 -14
- package/dist/electronics/resistor.js.map +1 -1
- package/dist/electronics/trace.d.ts +1 -0
- package/dist/electronics/trace.d.ts.map +1 -1
- package/dist/electronics/trace.js +10 -0
- package/dist/electronics/trace.js.map +1 -1
- package/dist/energy/solarOutput.d.ts +18 -8
- package/dist/energy/solarOutput.d.ts.map +1 -1
- package/dist/energy/solarOutput.js +92 -22
- package/dist/energy/solarOutput.js.map +1 -1
- package/dist/energy/types.d.ts.map +1 -1
- package/dist/environmental/energyIntensity.d.ts +1 -0
- package/dist/environmental/energyIntensity.d.ts.map +1 -1
- package/dist/environmental/energyIntensity.js +7 -0
- package/dist/environmental/energyIntensity.js.map +1 -1
- package/dist/environmental/productCarbonFootprint.d.ts +5 -1
- package/dist/environmental/productCarbonFootprint.d.ts.map +1 -1
- package/dist/environmental/productCarbonFootprint.js +14 -2
- package/dist/environmental/productCarbonFootprint.js.map +1 -1
- package/dist/environmental/vocEmissions.d.ts +3 -1
- package/dist/environmental/vocEmissions.d.ts.map +1 -1
- package/dist/environmental/vocEmissions.js +16 -2
- package/dist/environmental/vocEmissions.js.map +1 -1
- package/dist/environmental/waterFootprint.d.ts +3 -1
- package/dist/environmental/waterFootprint.d.ts.map +1 -1
- package/dist/environmental/waterFootprint.js +11 -4
- package/dist/environmental/waterFootprint.js.map +1 -1
- package/dist/math.d.ts +0 -4
- package/dist/math.d.ts.map +1 -1
- package/dist/math.js +0 -6
- package/dist/math.js.map +1 -1
- package/dist/metal/hardness.d.ts +5 -0
- package/dist/metal/hardness.d.ts.map +1 -1
- package/dist/metal/hardness.js +13 -3
- package/dist/metal/hardness.js.map +1 -1
- package/dist/metal/roughness.d.ts +7 -0
- package/dist/metal/roughness.d.ts.map +1 -1
- package/dist/metal/roughness.js +15 -1
- package/dist/metal/roughness.js.map +1 -1
- package/dist/metal/types.d.ts +5 -1
- package/dist/metal/types.d.ts.map +1 -1
- package/dist/metal/weldHeat.d.ts +5 -0
- package/dist/metal/weldHeat.d.ts.map +1 -1
- package/dist/metal/weldHeat.js +27 -7
- package/dist/metal/weldHeat.js.map +1 -1
- package/dist/quality/aql.d.ts +9 -0
- package/dist/quality/aql.d.ts.map +1 -1
- package/dist/quality/aql.js +40 -21
- package/dist/quality/aql.js.map +1 -1
- package/dist/quality/ppm.d.ts +4 -0
- package/dist/quality/ppm.d.ts.map +1 -1
- package/dist/quality/ppm.js +17 -4
- package/dist/quality/ppm.js.map +1 -1
- package/dist/quality/types.d.ts +15 -1
- package/dist/quality/types.d.ts.map +1 -1
- package/dist/safety/illuminance.d.ts +7 -0
- package/dist/safety/illuminance.d.ts.map +1 -1
- package/dist/safety/illuminance.js +10 -2
- package/dist/safety/illuminance.js.map +1 -1
- package/dist/safety/index.d.ts +1 -1
- package/dist/safety/index.d.ts.map +1 -1
- package/dist/safety/index.js +1 -1
- package/dist/safety/index.js.map +1 -1
- package/dist/safety/types.d.ts +2 -0
- package/dist/safety/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resistor.js","sourceRoot":"","sources":["../../src/electronics/resistor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resistor.js","sourceRoot":"","sources":["../../src/electronics/resistor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { TraceInput, TraceResult } from './types.js';
|
|
|
3
3
|
* Calculate PCB trace width using IPC-2221 formula
|
|
4
4
|
* @param input - Trace parameters (current, temp rise, copper weight, layer)
|
|
5
5
|
* @returns Trace width and related calculations
|
|
6
|
+
* @throws {RangeError} current ≤ 0, tempRise ≤ 0, or copperWeight ≤ 0
|
|
6
7
|
*/
|
|
7
8
|
export declare function traceWidth(input: TraceInput): TraceResult;
|
|
8
9
|
//# sourceMappingURL=trace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/electronics/trace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmC1D
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/electronics/trace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmC1D;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAuDzD"}
|
|
@@ -31,9 +31,19 @@ const COPPER_RESISTIVITY = 0.6787;
|
|
|
31
31
|
* Calculate PCB trace width using IPC-2221 formula
|
|
32
32
|
* @param input - Trace parameters (current, temp rise, copper weight, layer)
|
|
33
33
|
* @returns Trace width and related calculations
|
|
34
|
+
* @throws {RangeError} current ≤ 0, tempRise ≤ 0, or copperWeight ≤ 0
|
|
34
35
|
*/
|
|
35
36
|
export function traceWidth(input) {
|
|
36
37
|
const { current, tempRise, copperWeight, layer } = input;
|
|
38
|
+
if (current <= 0) {
|
|
39
|
+
throw new RangeError('current must be greater than 0');
|
|
40
|
+
}
|
|
41
|
+
if (tempRise <= 0) {
|
|
42
|
+
throw new RangeError('tempRise must be greater than 0');
|
|
43
|
+
}
|
|
44
|
+
if (copperWeight <= 0) {
|
|
45
|
+
throw new RangeError('copperWeight must be greater than 0');
|
|
46
|
+
}
|
|
37
47
|
// Get constants for the layer type
|
|
38
48
|
const constants = IPC2221_CONSTANTS[layer];
|
|
39
49
|
// IPC-2221 formula:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/electronics/trace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;GAEG;AAEH;;;GAGG;AACH,MAAM,iBAAiB,GAAG;IACxB,QAAQ,EAAE;QACR,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,KAAK;KACT;IACD,QAAQ,EAAE;QACR,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,KAAK;KACT;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAEtC;;GAEG;AACH,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/electronics/trace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;GAEG;AAEH;;;GAGG;AACH,MAAM,iBAAiB,GAAG;IACxB,QAAQ,EAAE;QACR,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,KAAK;KACT;IACD,QAAQ,EAAE;QACR,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,KAAK;KACT;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAEtC;;GAEG;AACH,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAiB;IAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAEzD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,UAAU,CAAC,gCAAgC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,UAAU,CAAC,iCAAiC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,UAAU,CAAC,qCAAqC,CAAC,CAAC;IAC9D,CAAC;IAED,mCAAmC;IACnC,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAE3C,oBAAoB;IACpB,wCAAwC;IACxC,SAAS;IACT,wBAAwB;IACxB,kDAAkD;IAClD,+BAA+B;IAC/B,aAAa;IACb,cAAc;IACd,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EACzD,CAAC,GAAG,SAAS,CAAC,CAAC,CAChB,CAAC;IAEF,2BAA2B;IAC3B,MAAM,eAAe,GAAG,YAAY,GAAG,uBAAuB,CAAC;IAE/D,2BAA2B;IAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC;IAE7D,oCAAoC;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAE/C,0EAA0E;IAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC;IAEjE,gCAAgC;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;IAErD,gCAAgC;IAChC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;IAE7D,OAAO;QACL,SAAS;QACT,OAAO;QACP,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,UAAU;QACV,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
import type { SolarOutputInput, SolarOutputResult } from './types.js';
|
|
2
2
|
/**
|
|
3
|
-
* Solar Panel Output Calculator (PVWatts-
|
|
3
|
+
* Solar Panel Output Calculator (PVWatts-style estimation)
|
|
4
4
|
*
|
|
5
|
-
* Estimates daily/monthly/annual energy production from a photovoltaic system.
|
|
6
|
-
*
|
|
5
|
+
* Estimates daily/monthly/annual energy production from a photovoltaic system. Peak sun
|
|
6
|
+
* hours carry the site's climate; the tilt/orientation factor is computed physically via
|
|
7
|
+
* the isotropic-sky transposition (Liu & Jordan) integrated over the year, normalized to
|
|
8
|
+
* the best equator-facing tilt.
|
|
7
9
|
*
|
|
8
|
-
* Reference: NREL PVWatts
|
|
10
|
+
* Reference: NREL PVWatts methodology (concept); Liu & Jordan (1963) isotropic sky;
|
|
11
|
+
* Duffie & Beckman, Solar Engineering of Thermal Processes (solar geometry).
|
|
9
12
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
13
|
+
* Replaces the former cos-approximation with a 0.5 floor, which pinned any away-facing
|
|
14
|
+
* array at exactly 50% of optimal regardless of tilt. Under this model a north-facing 30°
|
|
15
|
+
* array at latitude 37 lands near 0.61 and a steep (60°) north array near 0.38 —
|
|
16
|
+
* consistent with fixed-orientation literature (Lave & Kleissl 2011: north at latitude
|
|
17
|
+
* tilt ≈ 0.6-0.7 across CONUS) and PVWatts-derived tables for E/W (≈ 0.75-0.85, here
|
|
18
|
+
* 0.85) and flat (≈ 0.88, here 0.88). Tilt now matters for away-facing arrays instead of
|
|
19
|
+
* every one reporting exactly 50%.
|
|
20
|
+
*
|
|
21
|
+
* @throws {RangeError} panelWattage/panelCount/peakSunHours ≤ 0
|
|
22
|
+
* @throws {RangeError} systemEfficiency outside (0, 1]
|
|
23
|
+
* @throws {RangeError} tiltAngle outside [0, 90], or |latitude| > 90
|
|
14
24
|
* @param input - panel specs, sun hours, orientation
|
|
15
25
|
* @returns energy production estimates
|
|
16
26
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solarOutput.d.ts","sourceRoot":"","sources":["../../src/energy/solarOutput.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"solarOutput.d.ts","sourceRoot":"","sources":["../../src/energy/solarOutput.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA6EtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAkCtE"}
|
|
@@ -1,16 +1,95 @@
|
|
|
1
1
|
import { roundTo } from '../utils.js';
|
|
2
|
+
// Annual-average share of global horizontal irradiance that is diffuse (temperate climates).
|
|
3
|
+
// Documented model assumption; the diffuse component is what keeps an away-facing array
|
|
4
|
+
// above zero (real north-facing yield is ~35-50% of optimal, not the 50% a hard floor gives).
|
|
5
|
+
const DIFFUSE_FRACTION = 0.3;
|
|
6
|
+
// Ground reflectance for the reflected component (grass/roof average).
|
|
7
|
+
const GROUND_ALBEDO = 0.2;
|
|
8
|
+
const DEG = Math.PI / 180;
|
|
2
9
|
/**
|
|
3
|
-
*
|
|
10
|
+
* Relative annual plane-of-array insolation index (arbitrary units) via the isotropic-sky
|
|
11
|
+
* transposition (Liu & Jordan) integrated over the year with standard solar geometry
|
|
12
|
+
* (declination and hour-angle sweep; Duffie & Beckman, Solar Engineering of Thermal
|
|
13
|
+
* Processes, eq. 1.6.2/1.6.5). Constant-sky simplification: DNI is constant while the sun
|
|
14
|
+
* is up and GHI splits into a fixed beam/diffuse ratio — adequate for a RELATIVE
|
|
15
|
+
* tilt/orientation factor, not for absolute yield (peak sun hours carry the climate).
|
|
16
|
+
* (An air-mass-attenuated variant was evaluated and rejected: it shifts the flat-array
|
|
17
|
+
* anchor away from published PVWatts-derived values without improving the others.)
|
|
4
18
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
19
|
+
* @param tiltDeg panel tilt from horizontal, 0-90
|
|
20
|
+
* @param azimuthDeg panel azimuth offset from equator-facing, degrees (±180)
|
|
21
|
+
* @param latDeg site latitude; the geometry uses |lat| with azimuth measured from
|
|
22
|
+
* the equator-facing direction (south in the northern hemisphere,
|
|
23
|
+
* north in the southern)
|
|
24
|
+
*/
|
|
25
|
+
function poaIndex(tiltDeg, azimuthDeg, latDeg) {
|
|
26
|
+
const phi = Math.abs(latDeg) * DEG;
|
|
27
|
+
const beta = tiltDeg * DEG;
|
|
28
|
+
const gamma = azimuthDeg * DEG;
|
|
29
|
+
const sinPhi = Math.sin(phi), cosPhi = Math.cos(phi);
|
|
30
|
+
const sinBeta = Math.sin(beta), cosBeta = Math.cos(beta);
|
|
31
|
+
const cosGamma = Math.cos(gamma), sinGamma = Math.sin(gamma);
|
|
32
|
+
const diffuseSky = DIFFUSE_FRACTION * (1 + cosBeta) / 2;
|
|
33
|
+
const groundRefl = GROUND_ALBEDO * (1 - cosBeta) / 2;
|
|
34
|
+
let sum = 0;
|
|
35
|
+
for (let day = 2; day < 365; day += 5) {
|
|
36
|
+
const delta = 23.45 * DEG * Math.sin((2 * Math.PI * (284 + day)) / 365);
|
|
37
|
+
const sinDelta = Math.sin(delta), cosDelta = Math.cos(delta);
|
|
38
|
+
// hour angle sweep, 15-minute steps
|
|
39
|
+
for (let omegaDeg = -180; omegaDeg < 180; omegaDeg += 3.75) {
|
|
40
|
+
const omega = omegaDeg * DEG;
|
|
41
|
+
const cosZ = sinPhi * sinDelta + cosPhi * cosDelta * Math.cos(omega);
|
|
42
|
+
if (cosZ <= 0)
|
|
43
|
+
continue; // sun below horizon
|
|
44
|
+
// Angle of incidence on the tilted plane (Duffie & Beckman eq. 1.6.2)
|
|
45
|
+
const cosTheta = sinDelta * sinPhi * cosBeta
|
|
46
|
+
- sinDelta * cosPhi * sinBeta * cosGamma
|
|
47
|
+
+ cosDelta * cosPhi * cosBeta * Math.cos(omega)
|
|
48
|
+
+ cosDelta * sinPhi * sinBeta * cosGamma * Math.cos(omega)
|
|
49
|
+
+ cosDelta * sinBeta * sinGamma * Math.sin(omega);
|
|
50
|
+
// GHI ∝ cosZ with a fixed beam/diffuse split; DNI ∝ (1 - Fd)
|
|
51
|
+
const beam = (1 - DIFFUSE_FRACTION) * Math.max(0, cosTheta);
|
|
52
|
+
sum += beam + (diffuseSky + groundRefl) * cosZ;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return sum;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Annual tilt/orientation efficiency relative to the best equator-facing tilt at this
|
|
59
|
+
* latitude (the normalizer scans tilt 0-90° at azimuth 0, so the ratio is ≤ 1 by
|
|
60
|
+
* construction — no clamping involved).
|
|
61
|
+
*/
|
|
62
|
+
function tiltOrientationEfficiency(tiltDeg, azimuthDeg, latDeg) {
|
|
63
|
+
let best = 0;
|
|
64
|
+
for (let t = 0; t <= 90; t += 1) {
|
|
65
|
+
const v = poaIndex(t, 0, latDeg);
|
|
66
|
+
if (v > best)
|
|
67
|
+
best = v;
|
|
68
|
+
}
|
|
69
|
+
return best > 0 ? poaIndex(tiltDeg, azimuthDeg, latDeg) / best : 0;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Solar Panel Output Calculator (PVWatts-style estimation)
|
|
73
|
+
*
|
|
74
|
+
* Estimates daily/monthly/annual energy production from a photovoltaic system. Peak sun
|
|
75
|
+
* hours carry the site's climate; the tilt/orientation factor is computed physically via
|
|
76
|
+
* the isotropic-sky transposition (Liu & Jordan) integrated over the year, normalized to
|
|
77
|
+
* the best equator-facing tilt.
|
|
78
|
+
*
|
|
79
|
+
* Reference: NREL PVWatts methodology (concept); Liu & Jordan (1963) isotropic sky;
|
|
80
|
+
* Duffie & Beckman, Solar Engineering of Thermal Processes (solar geometry).
|
|
7
81
|
*
|
|
8
|
-
*
|
|
82
|
+
* Replaces the former cos-approximation with a 0.5 floor, which pinned any away-facing
|
|
83
|
+
* array at exactly 50% of optimal regardless of tilt. Under this model a north-facing 30°
|
|
84
|
+
* array at latitude 37 lands near 0.61 and a steep (60°) north array near 0.38 —
|
|
85
|
+
* consistent with fixed-orientation literature (Lave & Kleissl 2011: north at latitude
|
|
86
|
+
* tilt ≈ 0.6-0.7 across CONUS) and PVWatts-derived tables for E/W (≈ 0.75-0.85, here
|
|
87
|
+
* 0.85) and flat (≈ 0.88, here 0.88). Tilt now matters for away-facing arrays instead of
|
|
88
|
+
* every one reporting exactly 50%.
|
|
9
89
|
*
|
|
10
|
-
* @throws {RangeError}
|
|
11
|
-
* @throws {RangeError}
|
|
12
|
-
* @throws {RangeError}
|
|
13
|
-
* @throws {RangeError} System efficiency must be between 0 and 1
|
|
90
|
+
* @throws {RangeError} panelWattage/panelCount/peakSunHours ≤ 0
|
|
91
|
+
* @throws {RangeError} systemEfficiency outside (0, 1]
|
|
92
|
+
* @throws {RangeError} tiltAngle outside [0, 90], or |latitude| > 90
|
|
14
93
|
* @param input - panel specs, sun hours, orientation
|
|
15
94
|
* @returns energy production estimates
|
|
16
95
|
*/
|
|
@@ -24,22 +103,13 @@ export function solarOutput(input) {
|
|
|
24
103
|
throw new RangeError('Peak sun hours must be positive');
|
|
25
104
|
if (systemEfficiency <= 0 || systemEfficiency > 1)
|
|
26
105
|
throw new RangeError('System efficiency must be between 0 and 1');
|
|
106
|
+
if (tiltAngle < 0 || tiltAngle > 90)
|
|
107
|
+
throw new RangeError('tiltAngle must be between 0 and 90 degrees');
|
|
108
|
+
if (latitude < -90 || latitude > 90)
|
|
109
|
+
throw new RangeError('latitude must be between -90 and 90 degrees');
|
|
27
110
|
// System size in kW
|
|
28
111
|
const systemSizeKw = (panelWattage * panelCount) / 1000;
|
|
29
|
-
|
|
30
|
-
// Optimal tilt ≈ latitude (simplified PVWatts model)
|
|
31
|
-
// Deviation from optimal reduces output by ~cos(deviation)
|
|
32
|
-
const optimalTilt = Math.abs(latitude);
|
|
33
|
-
const tiltDeviation = Math.abs(tiltAngle - optimalTilt);
|
|
34
|
-
// For every degree off optimal, roughly 0.5% loss (simplified)
|
|
35
|
-
// But cap at cos-based model
|
|
36
|
-
const tiltDeviationRad = (tiltDeviation * Math.PI) / 180;
|
|
37
|
-
const tiltFactor = Math.max(0.5, Math.cos(tiltDeviationRad * 0.5));
|
|
38
|
-
// Azimuth efficiency (0° = due south in northern hemisphere)
|
|
39
|
-
// Every degree off south reduces by ~cos(azimuth) for large offsets
|
|
40
|
-
const azimuthRad = (Math.abs(azimuthOffset) * Math.PI) / 180;
|
|
41
|
-
const azimuthFactor = Math.max(0.5, Math.cos(azimuthRad * 0.6));
|
|
42
|
-
const tiltEfficiency = tiltFactor * azimuthFactor;
|
|
112
|
+
const tiltEfficiency = tiltOrientationEfficiency(tiltAngle, azimuthOffset, latitude);
|
|
43
113
|
// Daily output = system size (kW) × PSH × system efficiency × tilt efficiency
|
|
44
114
|
const dailyOutputKwh = systemSizeKw * peakSunHours * systemEfficiency * tiltEfficiency;
|
|
45
115
|
const monthlyOutputKwh = dailyOutputKwh * 30;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solarOutput.js","sourceRoot":"","sources":["../../src/energy/solarOutput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC
|
|
1
|
+
{"version":3,"file":"solarOutput.js","sourceRoot":"","sources":["../../src/energy/solarOutput.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/energy/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/energy/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import type { EnergyIntensityInput, EnergyIntensityResult } from './types.js';
|
|
|
6
6
|
* @reference ISO 50001 Energy Management
|
|
7
7
|
* @param input - Total energy, production units, optional revenue
|
|
8
8
|
* @returns Energy intensity in MJ/unit, kWh/unit, and optionally MJ/USD
|
|
9
|
+
* @throws {RangeError} totalEnergyMJ < 0, or productionUnits ≤ 0
|
|
9
10
|
*/
|
|
10
11
|
export declare function energyIntensity(input: EnergyIntensityInput): EnergyIntensityResult;
|
|
11
12
|
//# sourceMappingURL=energyIntensity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"energyIntensity.d.ts","sourceRoot":"","sources":["../../src/environmental/energyIntensity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9E
|
|
1
|
+
{"version":3,"file":"energyIntensity.d.ts","sourceRoot":"","sources":["../../src/environmental/energyIntensity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAiBlF"}
|
|
@@ -6,9 +6,16 @@ import { roundTo } from '../utils.js';
|
|
|
6
6
|
* @reference ISO 50001 Energy Management
|
|
7
7
|
* @param input - Total energy, production units, optional revenue
|
|
8
8
|
* @returns Energy intensity in MJ/unit, kWh/unit, and optionally MJ/USD
|
|
9
|
+
* @throws {RangeError} totalEnergyMJ < 0, or productionUnits ≤ 0
|
|
9
10
|
*/
|
|
10
11
|
export function energyIntensity(input) {
|
|
11
12
|
const { totalEnergyMJ, productionUnits, revenueUsd } = input;
|
|
13
|
+
if (totalEnergyMJ < 0) {
|
|
14
|
+
throw new RangeError('totalEnergyMJ must not be negative');
|
|
15
|
+
}
|
|
16
|
+
if (productionUnits <= 0) {
|
|
17
|
+
throw new RangeError('productionUnits must be greater than 0');
|
|
18
|
+
}
|
|
12
19
|
const mjPerUnit = roundTo(totalEnergyMJ / productionUnits, 4);
|
|
13
20
|
const kwhPerUnit = roundTo(mjPerUnit / 3.6, 4);
|
|
14
21
|
const mjPerRevenue = revenueUsd != null && revenueUsd > 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"energyIntensity.js","sourceRoot":"","sources":["../../src/environmental/energyIntensity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC
|
|
1
|
+
{"version":3,"file":"energyIntensity.js","sourceRoot":"","sources":["../../src/environmental/energyIntensity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAE7D,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,UAAU,CAAC,wCAAwC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,UAAU,IAAI,IAAI,IAAI,UAAU,GAAG,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,aAAa,GAAG,UAAU,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -5,7 +5,11 @@ import type { ProductCarbonFootprintInput, ProductCarbonFootprintResult } from '
|
|
|
5
5
|
* @formula total = Σ stages, perUnit = total / quantity
|
|
6
6
|
* @reference ISO 14067, PAS 2050
|
|
7
7
|
* @param input - Lifecycle stages with CO2 and production quantity
|
|
8
|
-
* @returns Total and per-unit carbon footprint with stage breakdown
|
|
8
|
+
* @returns Total and per-unit carbon footprint with stage breakdown. Negative stage
|
|
9
|
+
* values are valid (end-of-life recycling credits). When the total is ≤ 0 the stage
|
|
10
|
+
* percentages are reported as 0 (valid-but-degenerate; a share of a non-positive
|
|
11
|
+
* total is not meaningful).
|
|
12
|
+
* @throws {RangeError} empty stages, or productionQuantity ≤ 0
|
|
9
13
|
*/
|
|
10
14
|
export declare function productCarbonFootprint(input: ProductCarbonFootprintInput): ProductCarbonFootprintResult;
|
|
11
15
|
//# sourceMappingURL=productCarbonFootprint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"productCarbonFootprint.d.ts","sourceRoot":"","sources":["../../src/environmental/productCarbonFootprint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE5F
|
|
1
|
+
{"version":3,"file":"productCarbonFootprint.d.ts","sourceRoot":"","sources":["../../src/environmental/productCarbonFootprint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE5F;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,4BAA4B,CAkCvG"}
|
|
@@ -5,16 +5,28 @@ import { roundTo } from '../utils.js';
|
|
|
5
5
|
* @formula total = Σ stages, perUnit = total / quantity
|
|
6
6
|
* @reference ISO 14067, PAS 2050
|
|
7
7
|
* @param input - Lifecycle stages with CO2 and production quantity
|
|
8
|
-
* @returns Total and per-unit carbon footprint with stage breakdown
|
|
8
|
+
* @returns Total and per-unit carbon footprint with stage breakdown. Negative stage
|
|
9
|
+
* values are valid (end-of-life recycling credits). When the total is ≤ 0 the stage
|
|
10
|
+
* percentages are reported as 0 (valid-but-degenerate; a share of a non-positive
|
|
11
|
+
* total is not meaningful).
|
|
12
|
+
* @throws {RangeError} empty stages, or productionQuantity ≤ 0
|
|
9
13
|
*/
|
|
10
14
|
export function productCarbonFootprint(input) {
|
|
11
15
|
const { stages, productionQuantity } = input;
|
|
16
|
+
if (!stages || stages.length === 0) {
|
|
17
|
+
throw new RangeError('stages must contain at least one lifecycle stage');
|
|
18
|
+
}
|
|
19
|
+
if (productionQuantity <= 0) {
|
|
20
|
+
throw new RangeError('productionQuantity must be greater than 0');
|
|
21
|
+
}
|
|
12
22
|
const totalCo2Kg = roundTo(stages.reduce((sum, s) => sum + s.co2Kg, 0), 2);
|
|
13
23
|
const perUnitCo2Kg = roundTo(totalCo2Kg / productionQuantity, 4);
|
|
14
24
|
const stageBreakdown = stages.map(s => ({
|
|
15
25
|
name: s.name,
|
|
16
26
|
co2Kg: roundTo(s.co2Kg, 2),
|
|
17
|
-
|
|
27
|
+
// totalCo2Kg ≤ 0 (zero stages, or credits outweighing emissions) — report 0%, not NaN
|
|
28
|
+
// or a misleading share of a negative total
|
|
29
|
+
percent: totalCo2Kg > 0 ? roundTo((s.co2Kg / totalCo2Kg) * 100, 1) : 0,
|
|
18
30
|
}));
|
|
19
31
|
let dominantStage = stages[0].name;
|
|
20
32
|
let maxCo2 = stages[0].co2Kg;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"productCarbonFootprint.js","sourceRoot":"","sources":["../../src/environmental/productCarbonFootprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC
|
|
1
|
+
{"version":3,"file":"productCarbonFootprint.js","sourceRoot":"","sources":["../../src/environmental/productCarbonFootprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAkC;IACvE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;IAE7C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,UAAU,CAAC,kDAAkD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,kBAAkB,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAAC,2CAA2C,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CACxB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAC3C,CAAC,CACF,CAAC;IACF,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAEjE,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1B,sFAAsF;QACtF,4CAA4C;QAC5C,OAAO,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACvE,CAAC,CAAC,CAAC;IAEJ,IAAI,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC;YACrB,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;YACjB,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AACrE,CAAC"}
|
|
@@ -5,7 +5,9 @@ import type { VocEmissionsInput, VocEmissionsResult } from './types.js';
|
|
|
5
5
|
* @formula emitted = total × (1 - captureEff × destructionEff)
|
|
6
6
|
* @reference EPA AP-42, CARB guidelines
|
|
7
7
|
* @param input - Total VOC, capture efficiency, destruction efficiency
|
|
8
|
-
* @returns Emitted, captured, and destroyed VOC amounts
|
|
8
|
+
* @returns Emitted, captured, and destroyed VOC amounts. totalVocKg = 0 (no VOC used)
|
|
9
|
+
* is valid-but-degenerate: reductionPercent is reported as 0.
|
|
10
|
+
* @throws {RangeError} totalVocKg < 0, or an efficiency outside [0, 1]
|
|
9
11
|
*/
|
|
10
12
|
export declare function vocEmissions(input: VocEmissionsInput): VocEmissionsResult;
|
|
11
13
|
//# sourceMappingURL=vocEmissions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vocEmissions.d.ts","sourceRoot":"","sources":["../../src/environmental/vocEmissions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAExE
|
|
1
|
+
{"version":3,"file":"vocEmissions.d.ts","sourceRoot":"","sources":["../../src/environmental/vocEmissions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAExE;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CA2BzE"}
|
|
@@ -5,14 +5,28 @@ import { roundTo } from '../utils.js';
|
|
|
5
5
|
* @formula emitted = total × (1 - captureEff × destructionEff)
|
|
6
6
|
* @reference EPA AP-42, CARB guidelines
|
|
7
7
|
* @param input - Total VOC, capture efficiency, destruction efficiency
|
|
8
|
-
* @returns Emitted, captured, and destroyed VOC amounts
|
|
8
|
+
* @returns Emitted, captured, and destroyed VOC amounts. totalVocKg = 0 (no VOC used)
|
|
9
|
+
* is valid-but-degenerate: reductionPercent is reported as 0.
|
|
10
|
+
* @throws {RangeError} totalVocKg < 0, or an efficiency outside [0, 1]
|
|
9
11
|
*/
|
|
10
12
|
export function vocEmissions(input) {
|
|
11
13
|
const { totalVocKg, captureEfficiency, destructionEfficiency } = input;
|
|
14
|
+
if (totalVocKg < 0) {
|
|
15
|
+
throw new RangeError('totalVocKg must not be negative');
|
|
16
|
+
}
|
|
17
|
+
if (captureEfficiency < 0 || captureEfficiency > 1) {
|
|
18
|
+
throw new RangeError('captureEfficiency must be between 0 and 1');
|
|
19
|
+
}
|
|
20
|
+
if (destructionEfficiency < 0 || destructionEfficiency > 1) {
|
|
21
|
+
throw new RangeError('destructionEfficiency must be between 0 and 1');
|
|
22
|
+
}
|
|
12
23
|
const capturedVocKg = roundTo(totalVocKg * captureEfficiency, 2);
|
|
13
24
|
const destroyedVocKg = roundTo(capturedVocKg * destructionEfficiency, 2);
|
|
14
25
|
const emittedVocKg = roundTo(totalVocKg - destroyedVocKg, 2);
|
|
15
|
-
|
|
26
|
+
// totalVocKg = 0 is valid-but-degenerate — report 0%, not NaN
|
|
27
|
+
const reductionPercent = totalVocKg > 0
|
|
28
|
+
? roundTo((destroyedVocKg / totalVocKg) * 100, 2)
|
|
29
|
+
: 0;
|
|
16
30
|
return {
|
|
17
31
|
emittedVocKg,
|
|
18
32
|
capturedVocKg,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vocEmissions.js","sourceRoot":"","sources":["../../src/environmental/vocEmissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC
|
|
1
|
+
{"version":3,"file":"vocEmissions.js","sourceRoot":"","sources":["../../src/environmental/vocEmissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GAAG,KAAK,CAAC;IAEvE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,UAAU,CAAC,iCAAiC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,iBAAiB,GAAG,CAAC,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,UAAU,CAAC,2CAA2C,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,qBAAqB,GAAG,CAAC,IAAI,qBAAqB,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,GAAG,qBAAqB,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC;IAC7D,8DAA8D;IAC9D,MAAM,gBAAgB,GAAG,UAAU,GAAG,CAAC;QACrC,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC;IAEN,OAAO;QACL,YAAY;QACZ,aAAa;QACb,cAAc;QACd,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
|
|
@@ -5,7 +5,9 @@ import type { WaterFootprintInput, WaterFootprintResult } from './types.js';
|
|
|
5
5
|
* @formula total = blue + green + grey
|
|
6
6
|
* @reference Water Footprint Network, ISO 14046
|
|
7
7
|
* @param input - Blue, green, grey water volumes
|
|
8
|
-
* @returns Total water footprint with percentage breakdown
|
|
8
|
+
* @returns Total water footprint with percentage breakdown. An all-zero footprint is
|
|
9
|
+
* valid-but-degenerate: percentages are reported as 0.
|
|
10
|
+
* @throws {RangeError} any water volume < 0
|
|
9
11
|
*/
|
|
10
12
|
export declare function waterFootprint(input: WaterFootprintInput): WaterFootprintResult;
|
|
11
13
|
//# sourceMappingURL=waterFootprint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waterFootprint.d.ts","sourceRoot":"","sources":["../../src/environmental/waterFootprint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE5E
|
|
1
|
+
{"version":3,"file":"waterFootprint.d.ts","sourceRoot":"","sources":["../../src/environmental/waterFootprint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE5E;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAmB/E"}
|
|
@@ -5,14 +5,21 @@ import { roundTo } from '../utils.js';
|
|
|
5
5
|
* @formula total = blue + green + grey
|
|
6
6
|
* @reference Water Footprint Network, ISO 14046
|
|
7
7
|
* @param input - Blue, green, grey water volumes
|
|
8
|
-
* @returns Total water footprint with percentage breakdown
|
|
8
|
+
* @returns Total water footprint with percentage breakdown. An all-zero footprint is
|
|
9
|
+
* valid-but-degenerate: percentages are reported as 0.
|
|
10
|
+
* @throws {RangeError} any water volume < 0
|
|
9
11
|
*/
|
|
10
12
|
export function waterFootprint(input) {
|
|
11
13
|
const { blueWaterM3, greenWaterM3, greyWaterM3, productionUnits } = input;
|
|
14
|
+
if (blueWaterM3 < 0 || greenWaterM3 < 0 || greyWaterM3 < 0) {
|
|
15
|
+
throw new RangeError('water volumes must not be negative');
|
|
16
|
+
}
|
|
12
17
|
const totalWaterM3 = roundTo(blueWaterM3 + greenWaterM3 + greyWaterM3, 2);
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
const
|
|
18
|
+
// totalWaterM3 = 0 is valid-but-degenerate — report 0%, not NaN
|
|
19
|
+
const pct = (v) => totalWaterM3 > 0 ? roundTo((v / totalWaterM3) * 100, 1) : 0;
|
|
20
|
+
const bluePercent = pct(blueWaterM3);
|
|
21
|
+
const greenPercent = pct(greenWaterM3);
|
|
22
|
+
const greyPercent = pct(greyWaterM3);
|
|
16
23
|
const perUnitM3 = productionUnits != null && productionUnits > 0
|
|
17
24
|
? roundTo(totalWaterM3 / productionUnits, 4)
|
|
18
25
|
: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waterFootprint.js","sourceRoot":"","sources":["../../src/environmental/waterFootprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC
|
|
1
|
+
{"version":3,"file":"waterFootprint.js","sourceRoot":"","sources":["../../src/environmental/waterFootprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAE1E,IAAI,WAAW,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,GAAG,YAAY,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;IAC1E,gEAAgE;IAChE,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IAErC,MAAM,SAAS,GAAG,eAAe,IAAI,IAAI,IAAI,eAAe,GAAG,CAAC;QAC9D,CAAC,CAAC,OAAO,CAAC,YAAY,GAAG,eAAe,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAC7E,CAAC"}
|
package/dist/math.d.ts
CHANGED
|
@@ -19,8 +19,4 @@ export declare function normalCDF(x: number): number;
|
|
|
19
19
|
* @returns z-score such that P(Z ≤ z) = p
|
|
20
20
|
*/
|
|
21
21
|
export declare function normalInvCDF(p: number): number;
|
|
22
|
-
/**
|
|
23
|
-
* Clamp a value to a range [min, max].
|
|
24
|
-
*/
|
|
25
|
-
export declare function clamp(value: number, min: number, max: number): number;
|
|
26
22
|
//# sourceMappingURL=math.d.ts.map
|
package/dist/math.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAe3C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAsD9C
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAe3C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAsD9C"}
|
package/dist/math.js
CHANGED
|
@@ -86,10 +86,4 @@ export function normalInvCDF(p) {
|
|
|
86
86
|
((((d[0] * q + d[1]) * q + d[2]) * q + d[3]) * q + 1);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
/**
|
|
90
|
-
* Clamp a value to a range [min, max].
|
|
91
|
-
*/
|
|
92
|
-
export function clamp(value, min, max) {
|
|
93
|
-
return Math.max(min, Math.min(max, value));
|
|
94
|
-
}
|
|
95
89
|
//# sourceMappingURL=math.js.map
|
package/dist/math.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.js","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"math.js","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"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"}
|
package/dist/metal/hardness.d.ts
CHANGED
|
@@ -9,6 +9,11 @@ export declare const CONVERSION_TABLE: ConversionRow[];
|
|
|
9
9
|
/**
|
|
10
10
|
* Convert a hardness value from one scale to all scales using
|
|
11
11
|
* linear interpolation on the conversion table.
|
|
12
|
+
*
|
|
13
|
+
* Inputs outside the table (e.g. HRC below 20 or above 68) are clamped to the boundary
|
|
14
|
+
* row and disclosed via `outOfTableRange: true` — the returned values are then a boundary
|
|
15
|
+
* approximation, not a conversion of the input. Exact boundary hits are table hits and
|
|
16
|
+
* are not flagged. Interpolation within the table is the method's intended behavior.
|
|
12
17
|
*/
|
|
13
18
|
export declare function hardness(input: HardnessInput): HardnessResult;
|
|
14
19
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hardness.d.ts","sourceRoot":"","sources":["../../src/metal/hardness.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/E,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAID,eAAO,MAAM,gBAAgB,EAAE,aAAa,EAY3C,CAAC;AAoBF
|
|
1
|
+
{"version":3,"file":"hardness.d.ts","sourceRoot":"","sources":["../../src/metal/hardness.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/E,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAID,eAAO,MAAM,gBAAgB,EAAE,aAAa,EAY3C,CAAC;AAoBF;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAmD7D"}
|