@open3cl/engine 1.3.9 → 1.3.10

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.
@@ -14,12 +14,14 @@ import {
14
14
  } from './13.2_generateur_combustion.js';
15
15
  import { conso_aux_gen } from './15_conso_aux.js';
16
16
  import { scopOrCop } from './12.4_pac.js';
17
+ import getFicheTechnique from './ficheTechnique.js';
17
18
 
18
- function tv_pertes_stockage(di, de) {
19
+ function tv_pertes_stockage(di, de, VsCollectif) {
19
20
  let vb;
20
- if (de.volume_stockage <= 100) vb = '≤ 100';
21
- else if (de.volume_stockage <= 200) vb = '100 < 200';
22
- else if (de.volume_stockage <= 300) vb = '200 < ≤ 300';
21
+ const Vs = VsCollectif ? VsCollectif : de.volume_stockage;
22
+ if (Vs <= 100) vb = '≤ 100';
23
+ else if (Vs <= 200) vb = '100 < ≤ 200';
24
+ else if (Vs <= 300) vb = '200 < ≤ 300';
23
25
  else vb = '> 300';
24
26
 
25
27
  let matcher = {
@@ -75,45 +77,33 @@ function tv_facteur_couverture_solaire(di, de, zc_id, th) {
75
77
  }
76
78
  }
77
79
 
78
- export function calc_Qdw_j(instal_ecs, becs_j) {
79
- const de = instal_ecs.donnee_entree;
80
- const du = instal_ecs.donnee_utilisateur || {};
81
-
82
- const type_installation = requestInput(de, du, 'type_installation');
83
-
84
- const Qdw_ind_vc = calc_Qdw_ind_j(instal_ecs, becs_j);
85
- const Qdw_coll_vc = calc_Qdw_col_j(instal_ecs, becs_j, type_installation);
80
+ function calc_Qgw(di, de, du, ecs_de, th, dpe) {
81
+ const type_stockage_ecs = requestInput(de, du, 'type_stockage_ecs');
82
+ const isInstCollectif = ecs_de.enum_type_installation_id !== '1';
83
+ const ratio = isInstCollectif ? ecs_de.ratio_virtualisation || 1 : 1;
86
84
 
87
- return Qdw_ind_vc + Qdw_coll_vc;
88
- }
85
+ let Vs = requestInput(de, du, 'volume_stockage', 'float');
89
86
 
90
- // 15.2.3
91
- /**
92
- * @param instal_ecs {InstallationEcsItem}
93
- * @param becs_j {number}
94
- */
95
- export function calc_Qdw_ind_j(instal_ecs, becs_j) {
96
- const Rat_ecs = instal_ecs.generateur_ecs_collection.generateur_ecs.length > 1 ? 0.5 : 1;
97
- return 0.1 * Rat_ecs * becs_j;
98
- }
87
+ const gen_ecs_elec_ids = tvColumnIDs('pertes_stockage', 'type_generateur_ecs');
88
+ let isElectric = gen_ecs_elec_ids.includes(de.enum_type_generateur_ecs_id);
99
89
 
100
- export function calc_Qdw_col_j(instal_ecs, becs_j, type_installation) {
101
- if (type_installation.includes('installation collective')) {
102
- return 0.112 * becs_j;
90
+ /**
91
+ * Application du ratio uniquement pour les installations collectives
92
+ */
93
+ if (isInstCollectif) {
94
+ let fiche = getFicheTechnique(dpe, '8', 'stockage');
95
+ if (fiche) {
96
+ Vs = Number(fiche.valeur.toLowerCase().replace('l', '').replace('litres', ''));
97
+ }
98
+ if (!Vs) {
99
+ Vs = Number.parseFloat(Vs) / ratio;
100
+ }
103
101
  }
104
- return 0;
105
- }
106
-
107
- function calc_Qgw(di, de, du, ecs_de) {
108
- const type_stockage_ecs = requestInput(de, du, 'type_stockage_ecs');
109
-
110
102
  // stockage
111
103
  if (type_stockage_ecs === "abscence de stockage d'ecs (production instantanée)") {
112
104
  di.Qgw = 0;
113
105
  return;
114
106
  }
115
- let Vs = requestInput(de, du, 'volume_stockage', 'float');
116
- const gen_ecs_elec_ids = tvColumnIDs('pertes_stockage', 'type_generateur_ecs');
117
107
 
118
108
  if (bug_for_bug_compat) {
119
109
  /**
@@ -123,13 +113,11 @@ function calc_Qgw(di, de, du, ecs_de) {
123
113
  */
124
114
  const VsFromDescription = getVolumeStockageFromDescription(ecs_de.description);
125
115
 
126
- if (VsFromDescription === Math.round(Number.parseFloat(Vs) / de.ratio_virtualisation)) {
116
+ if (VsFromDescription === Math.round(Number.parseFloat(Vs) / ratio)) {
127
117
  Vs = VsFromDescription;
128
118
  }
129
119
  }
130
120
 
131
- let isElectric = gen_ecs_elec_ids.includes(de.enum_type_generateur_ecs_id);
132
-
133
121
  /**
134
122
  * Si le système ECS est inconnu -> on se base exclusivement sur le type d'énergie
135
123
  * enum_type_generateur_ecs_id = 84 - "système collectif par défaut en abscence d'information : chaudière fioul pénalisante"
@@ -139,11 +127,12 @@ function calc_Qgw(di, de, du, ecs_de) {
139
127
  }
140
128
 
141
129
  if (isElectric) {
142
- tv_pertes_stockage(di, de, du);
143
- di.Qgw = ((8592 * 45) / 24) * Vs * di.cr;
130
+ tv_pertes_stockage(di, de, isInstCollectif ? Vs : undefined);
131
+ di.Qgw = ((8592 * 45) / 24) * Vs * di.cr * ratio;
144
132
  delete di.cr;
145
133
  } else {
146
134
  di.Qgw = 67662 * Vs ** 0.55;
135
+ di.Qgw *= ratio;
147
136
  }
148
137
  }
149
138
 
@@ -264,14 +253,8 @@ export default function calc_gen_ecs(dpe, gen_ecs, ecs_di, ecs_de, GV, ca_id, zc
264
253
  }
265
254
  }
266
255
 
267
- calc_Qgw(di, de, du, ecs_de);
256
+ calc_Qgw(di, de, du, ecs_de, th, dpe);
268
257
 
269
- /**
270
- * Application du ratio uniquement pour les installations collectives
271
- */
272
- if (ecs_de.enum_type_installation_id !== '1') {
273
- di.Qgw *= de.ratio_virtualisation;
274
- }
275
258
  let Iecs, Iecs_dep;
276
259
 
277
260
  if (isPacGenerator) {
package/README.md CHANGED
@@ -167,40 +167,52 @@ deperdition_mur,
167
167
 
168
168
  Résultats des tests de corpus avec le mode de compatibilité activé.
169
169
 
170
- | Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Détail des valeurs |
171
- | :------------------ | ------------------------------------- | ------------------------------ | ----------------- | ------------------------------------------------------------------------------------------------------------------- |
172
- | <ins>**1.2.3**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4489**<ins> | <ins>**45%**<ins> | |
173
- | 1.2.3 | dpe_immeuble_chauffage_individuel.csv | 3257 | 32% | |
174
- | 1.2.3 | dpe_immeuble_chauffage_collectif.csv | 5279 | 53% | |
175
- | 1.2.3 | dpe_immeuble_chauffage_mixte.csv | 2728 | 27% | |
176
- | <ins>**1.2.8**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**489**<ins> | <ins>**45%**<ins> | |
177
- | 1.2.8 | dpe_immeuble_chauffage_individuel.csv | 5275 (+2018) | 53% (+21%) | |
178
- | 1.2.8 | dpe_immeuble_chauffage_collectif.csv | 5747 (+468) | 57% (+4%) | |
179
- | 1.2.8 | dpe_immeuble_chauffage_mixte.csv | 3142 (+414) | 31% (+4%) | |
180
- | <ins>**1.3.1**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4508 (+19)**<ins> | <ins>**45%**<ins> | |
181
- | 1.3.1 | dpe_immeuble_chauffage_individuel.csv | 5459 (+184) | 55% (+2%) | |
182
- | 1.3.1 | dpe_immeuble_chauffage_collectif.csv | 5848 (+101) | 58% (+1%) | |
183
- | 1.3.1 | dpe_immeuble_chauffage_mixte.csv | 4018 (+876) | 40% (+9%) | |
184
- | <ins>**1.3.2**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4519 (+11)**<ins> | <ins>**45%**<ins> | |
185
- | 1.3.2 | dpe_immeuble_chauffage_individuel.csv | 5476 (+17) | 55% | |
186
- | 1.3.2 | dpe_immeuble_chauffage_collectif.csv | 5869 (+21) | 58% | |
187
- | 1.3.2 | dpe_immeuble_chauffage_mixte.csv | 4040 (+22) | 40% | |
188
- | <ins>**1.3.5**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522 (+3)**<ins> | <ins>**45%**<ins> | |
189
- | 1.3.5 | dpe_immeuble_chauffage_individuel.csv | 5488 (+12) | 55% |
190
- | 1.3.5 | dpe_immeuble_chauffage_collectif.csv | 5869 | 58% | |
191
- | 1.3.5 | dpe_immeuble_chauffage_mixte.csv | 4082 (+42) | 40% | |
192
- | <ins>**1.3.6**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | |
193
- | 1.3.6 | dpe_immeuble_chauffage_individuel.csv | 5650 (+162) | 56% | |
194
- | 1.3.6 | dpe_immeuble_chauffage_collectif.csv | 5894 (+25) | 59% (+1%) | |
195
- | 1.3.6 | dpe_immeuble_chauffage_mixte.csv | 4141 (+59) | 41% (+1%) | |
196
- | <ins>**1.3.7**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | |
197
- | 1.3.7 | dpe_immeuble_chauffage_individuel.csv | 6960 (+1310) | 69% (+13%) | |
198
- | 1.3.7 | dpe_immeuble_chauffage_collectif.csv | 6106 (+212) | 61% (+2%) | |
199
- | 1.3.7 | dpe_immeuble_chauffage_mixte.csv | 4730 (+589) | 47% (+6%) | |
200
- | <ins>**1.3.8**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=corpus_dpe.csv) |
201
- | 1.3.8 | dpe_immeuble_chauffage_individuel.csv | 6965 (+5) | 69% | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_individuel.csv) |
202
- | 1.3.8 | dpe_immeuble_chauffage_collectif.csv | 6110 (+4) | 61% | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_collectif.csv) |
203
- | 1.3.8 | dpe_immeuble_chauffage_mixte.csv | 4735 (+5) | 47% | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_mixte.csv) |
170
+ <details>
171
+ <summary>Voir les versions précédents</summary>
172
+
173
+ | Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description | Détail des valeurs |
174
+ | :------------------ | ------------------------------------- | ------------------------------ | ----------------- | ----------- | ------------------ |
175
+ | <ins>**1.2.3**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4489**<ins> | <ins>**45%**<ins> | | |
176
+ | 1.2.3 | dpe_immeuble_chauffage_individuel.csv | 3257 | 32% | | |
177
+ | 1.2.3 | dpe_immeuble_chauffage_collectif.csv | 5279 | 53% | | |
178
+ | 1.2.3 | dpe_immeuble_chauffage_mixte.csv | 2728 | 27% | | |
179
+ | <ins>**1.2.8**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**489**<ins> | <ins>**45%**<ins> | | |
180
+ | 1.2.8 | dpe_immeuble_chauffage_individuel.csv | 5275 (+2018) | 53% (+21%) | | |
181
+ | 1.2.8 | dpe_immeuble_chauffage_collectif.csv | 5747 (+468) | 57% (+4%) | | |
182
+ | 1.2.8 | dpe_immeuble_chauffage_mixte.csv | 3142 (+414) | 31% (+4%) | | |
183
+ | <ins>**1.3.1**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4508 (+19)**<ins> | <ins>**45%**<ins> | | |
184
+ | 1.3.1 | dpe_immeuble_chauffage_individuel.csv | 5459 (+184) | 55% (+2%) | | |
185
+ | 1.3.1 | dpe_immeuble_chauffage_collectif.csv | 5848 (+101) | 58% (+1%) | | |
186
+ | 1.3.1 | dpe_immeuble_chauffage_mixte.csv | 4018 (+876) | 40% (+9%) | | |
187
+ | <ins>**1.3.2**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4519 (+11)**<ins> | <ins>**45%**<ins> | | |
188
+ | 1.3.2 | dpe_immeuble_chauffage_individuel.csv | 5476 (+17) | 55% | | |
189
+ | 1.3.2 | dpe_immeuble_chauffage_collectif.csv | 5869 (+21) | 58% | | |
190
+ | 1.3.2 | dpe_immeuble_chauffage_mixte.csv | 4040 (+22) | 40% | | |
191
+ | <ins>**1.3.5**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522 (+3)**<ins> | <ins>**45%**<ins> | | |
192
+ | 1.3.5 | dpe_immeuble_chauffage_individuel.csv | 5488 (+12) | 55% | |
193
+ | 1.3.5 | dpe_immeuble_chauffage_collectif.csv | 5869 | 58% | | |
194
+ | 1.3.5 | dpe_immeuble_chauffage_mixte.csv | 4082 (+42) | 40% | | |
195
+ | <ins>**1.3.6**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | | |
196
+ | 1.3.6 | dpe_immeuble_chauffage_individuel.csv | 5650 (+162) | 56% | | |
197
+ | 1.3.6 | dpe_immeuble_chauffage_collectif.csv | 5894 (+25) | 59% (+1%) | | |
198
+ | 1.3.6 | dpe_immeuble_chauffage_mixte.csv | 4141 (+59) | 41% (+1%) | | |
199
+ | <ins>**1.3.7**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | | |
200
+ | 1.3.7 | dpe_immeuble_chauffage_individuel.csv | 6960 (+1310) | 69% (+13%) | | |
201
+ | 1.3.7 | dpe_immeuble_chauffage_collectif.csv | 6106 (+212) | 61% (+2%) | | |
202
+ | 1.3.7 | dpe_immeuble_chauffage_mixte.csv | 4730 (+589) | 47% (+6%) | | |
203
+
204
+ </details>
205
+
206
+ | Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description | Détail des valeurs |
207
+ | :------------------ | ------------------------------------- | ------------------------------ | ----------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
208
+ | <ins>**1.3.8**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | | |
209
+ | 1.3.8 | dpe_immeuble_chauffage_individuel.csv | 6965 (+5) | 69% | | |
210
+ | 1.3.8 | dpe_immeuble_chauffage_collectif.csv | 6110 (+4) | 61% | | |
211
+ | 1.3.8 | dpe_immeuble_chauffage_mixte.csv | 4735 (+5) | 47% | | |
212
+ | <ins>**1.3.9**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4460**<ins> (-62) | <ins>**44% (-1%)**<ins> | Pertes liés au fix bug tribu zone 2hd valeur dh19 | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=corpus_dpe.csv) |
213
+ | 1.3.9 | dpe_immeuble_chauffage_individuel.csv | 6901 (-64) | 69% | Pertes liés au fix bug tribu zone 2hd valeur dh19 | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_individuel.csv) |
214
+ | 1.3.9 | dpe_immeuble_chauffage_collectif.csv | 6058 (-58) | 60% (-1%) | Pertes liés au fix bug tribu zone 2hd valeur dh19 | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_collectif.csv) |
215
+ | 1.3.9 | dpe_immeuble_chauffage_mixte.csv | 4728 (-7) | 47% | Pertes liés au fix bug tribu zone 2hd valeur dh19 | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_mixte.csv) |
204
216
 
205
217
  ## Roadmap
206
218
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open3cl/engine",
3
- "version": "1.3.9",
3
+ "version": "1.3.10",
4
4
  "description": "Open Source 3CL-DPE engine",
5
5
  "main": "index.js",
6
6
  "directories": {