@open3cl/engine 1.3.9 → 1.3.11

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,38 @@ 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
+ const VsFiche = Number(
97
+ fiche.valeur.toLowerCase().substring(0, fiche.valeur.toLowerCase().indexOf('l')).trim()
98
+ );
99
+ if (!isNaN(VsFiche)) {
100
+ Vs = VsFiche;
101
+ }
102
+ }
103
+ if (!Vs) {
104
+ Vs = Number.parseFloat(Vs) / ratio;
105
+ }
103
106
  }
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
107
  // stockage
111
108
  if (type_stockage_ecs === "abscence de stockage d'ecs (production instantanée)") {
112
109
  di.Qgw = 0;
113
110
  return;
114
111
  }
115
- let Vs = requestInput(de, du, 'volume_stockage', 'float');
116
- const gen_ecs_elec_ids = tvColumnIDs('pertes_stockage', 'type_generateur_ecs');
117
112
 
118
113
  if (bug_for_bug_compat) {
119
114
  /**
@@ -123,13 +118,11 @@ function calc_Qgw(di, de, du, ecs_de) {
123
118
  */
124
119
  const VsFromDescription = getVolumeStockageFromDescription(ecs_de.description);
125
120
 
126
- if (VsFromDescription === Math.round(Number.parseFloat(Vs) / de.ratio_virtualisation)) {
121
+ if (VsFromDescription === Math.round(Number.parseFloat(Vs) / ratio)) {
127
122
  Vs = VsFromDescription;
128
123
  }
129
124
  }
130
125
 
131
- let isElectric = gen_ecs_elec_ids.includes(de.enum_type_generateur_ecs_id);
132
-
133
126
  /**
134
127
  * Si le système ECS est inconnu -> on se base exclusivement sur le type d'énergie
135
128
  * enum_type_generateur_ecs_id = 84 - "système collectif par défaut en abscence d'information : chaudière fioul pénalisante"
@@ -139,11 +132,12 @@ function calc_Qgw(di, de, du, ecs_de) {
139
132
  }
140
133
 
141
134
  if (isElectric) {
142
- tv_pertes_stockage(di, de, du);
143
- di.Qgw = ((8592 * 45) / 24) * Vs * di.cr;
135
+ tv_pertes_stockage(di, de, isInstCollectif ? Vs : undefined);
136
+ di.Qgw = ((8592 * 45) / 24) * Vs * di.cr * ratio;
144
137
  delete di.cr;
145
138
  } else {
146
139
  di.Qgw = 67662 * Vs ** 0.55;
140
+ di.Qgw *= ratio;
147
141
  }
148
142
  }
149
143
 
@@ -264,14 +258,8 @@ export default function calc_gen_ecs(dpe, gen_ecs, ecs_di, ecs_de, GV, ca_id, zc
264
258
  }
265
259
  }
266
260
 
267
- calc_Qgw(di, de, du, ecs_de);
261
+ calc_Qgw(di, de, du, ecs_de, th, dpe);
268
262
 
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
263
  let Iecs, Iecs_dep;
276
264
 
277
265
  if (isPacGenerator) {
package/README.md CHANGED
@@ -167,40 +167,56 @@ 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
+ | <ins>**1.3.8**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | | |
204
+ | 1.3.8 | dpe_immeuble_chauffage_individuel.csv | 6965 (+5) | 69% | | |
205
+ | 1.3.8 | dpe_immeuble_chauffage_collectif.csv | 6110 (+4) | 61% | | |
206
+ | 1.3.8 | dpe_immeuble_chauffage_mixte.csv | 4735 (+5) | 47% | | |
207
+
208
+ </details>
209
+
210
+ | Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description | Détail des valeurs |
211
+ | :------------------ | ------------------------------------- | ------------------------------ | ----------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
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 | |
213
+ | 1.3.9 | dpe_immeuble_chauffage_individuel.csv | 6901 (-64) | 69% | Pertes liés au fix bug tribu zone 2hd valeur dh19 | |
214
+ | 1.3.9 | dpe_immeuble_chauffage_collectif.csv | 6058 (-58) | 60% (-1%) | Pertes liés au fix bug tribu zone 2hd valeur dh19 | |
215
+ | 1.3.9 | dpe_immeuble_chauffage_mixte.csv | 4728 (-7) | 47% | Pertes liés au fix bug tribu zone 2hd valeur dh19 | |
216
+ | <ins>**1.4.0**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4468**<ins> (+8) | <ins>**44%**<ins> | | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=corpus_dpe.csv) |
217
+ | 1.4.0 | dpe_immeuble_chauffage_individuel.csv | 6900 (-1) | 69% | Dpes erronés sur le calcul volume ballon ecs | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_individuel.csv) |
218
+ | 1.4.0 | dpe_immeuble_chauffage_collectif.csv | 6056 (-2) | 60% | Dpes erronés sur le calcul volume ballon ecs | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_collectif.csv) |
219
+ | 1.4.0 | dpe_immeuble_chauffage_mixte.csv | 4727 (-1) | 47% | Dpes erronés sur le calcul volume ballon ecs | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_mixte.csv) |
204
220
 
205
221
  ## Roadmap
206
222
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open3cl/engine",
3
- "version": "1.3.9",
3
+ "version": "1.3.11",
4
4
  "description": "Open Source 3CL-DPE engine",
5
5
  "main": "index.js",
6
6
  "directories": {
Binary file
package/tv.js CHANGED
@@ -84750,7 +84750,7 @@ export const tvs = {
84750
84750
  "h2a": 8679.6,
84751
84751
  "h2b": 9081,
84752
84752
  "h2c": 9535.9,
84753
- "h2d": 9539.4,
84753
+ "h2d": 9533,
84754
84754
  "h3": 7659.1
84755
84755
  }
84756
84756
  },
@@ -84872,7 +84872,7 @@ export const tvs = {
84872
84872
  "h2a": 10167.6,
84873
84873
  "h2b": 10569,
84874
84874
  "h2c": 11023.9,
84875
- "h2d": 11019.9,
84875
+ "h2d": 11021.02,
84876
84876
  "h3": 9142.7
84877
84877
  }
84878
84878
  },
@@ -84994,7 +84994,7 @@ export const tvs = {
84994
84994
  "h2a": 0,
84995
84995
  "h2b": 0,
84996
84996
  "h2c": 12511.9,
84997
- "h2d": 12508.2,
84997
+ "h2d": 12509,
84998
84998
  "h3": 10630.7
84999
84999
  }
85000
85000
  }
@@ -85118,7 +85118,7 @@ export const tvs = {
85118
85118
  "h2a": 8679.6,
85119
85119
  "h2b": 9081,
85120
85120
  "h2c": 9535.9,
85121
- "h2d": 9539.4,
85121
+ "h2d": 9533,
85122
85122
  "h3": 7659.1
85123
85123
  }
85124
85124
  },
@@ -85240,7 +85240,7 @@ export const tvs = {
85240
85240
  "h2a": 10167.6,
85241
85241
  "h2b": 10569,
85242
85242
  "h2c": 11023.9,
85243
- "h2d": 11019.9,
85243
+ "h2d": 11021.02,
85244
85244
  "h3": 9142.7
85245
85245
  }
85246
85246
  },
@@ -85362,7 +85362,7 @@ export const tvs = {
85362
85362
  "h2a": 0,
85363
85363
  "h2b": 0,
85364
85364
  "h2c": 12511.9,
85365
- "h2d": 12508.2,
85365
+ "h2d": 12509,
85366
85366
  "h3": 10630.7
85367
85367
  }
85368
85368
  }