@open3cl/engine 1.3.10 → 1.3.12

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.
@@ -93,7 +93,12 @@ function calc_Qgw(di, de, du, ecs_de, th, dpe) {
93
93
  if (isInstCollectif) {
94
94
  let fiche = getFicheTechnique(dpe, '8', 'stockage');
95
95
  if (fiche) {
96
- Vs = Number(fiche.valeur.toLowerCase().replace('l', '').replace('litres', ''));
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
+ }
97
102
  }
98
103
  if (!Vs) {
99
104
  Vs = Number.parseFloat(Vs) / ratio;
package/9_conso_ch.js CHANGED
@@ -3,6 +3,7 @@ import { rendement_emission } from './9_emetteur_ch.js';
3
3
  import { calc_intermittence } from './8_intermittence.js';
4
4
  import tvs from './tv.js';
5
5
  import enums from './enums.js';
6
+ import { isNil } from 'lodash-es';
6
7
 
7
8
  function coef_ch(Fch) {
8
9
  return {
@@ -147,7 +148,10 @@ export function conso_ch(
147
148
  em_filt,
148
149
  GV,
149
150
  Sh,
150
- hsp
151
+ hsp,
152
+ undefined,
153
+ _pos,
154
+ cfg_ch
151
155
  );
152
156
  di.conso_ch = conso_ch;
153
157
  di.conso_ch_depensier = conso_ch_dep;
@@ -156,10 +160,26 @@ export function conso_ch(
156
160
  }
157
161
  }
158
162
 
159
- function calc_conso_ch_default(di, de, bch, bch_dep, coeff, em_filt, GV, Sh, hsp, i0) {
163
+ function calc_conso_ch_default(
164
+ di,
165
+ de,
166
+ bch,
167
+ bch_dep,
168
+ coeff,
169
+ em_filt,
170
+ GV,
171
+ Sh,
172
+ hsp,
173
+ i0,
174
+ _pos,
175
+ cfg_ch
176
+ ) {
160
177
  const hasMultipleEmetteur = em_filt.length > 1;
161
178
 
162
- const emetteur_eq = em_filt.reduce((acc, em) => {
179
+ // On recherche les emetteurs en fonction de la configuration de l'installation et du type de chauffage
180
+ const emetteurs = getEmetteursFromGenerateur(de, em_filt, _pos, cfg_ch);
181
+
182
+ const emetteur_eq = emetteurs.reduce((acc, em) => {
163
183
  const int = calc_intermittence(GV, Sh, hsp, i0 ? i0 : em.donnee_intermediaire.i0);
164
184
  const r_em = rendement_emission(em);
165
185
 
@@ -286,3 +306,18 @@ function calc_ch_base_appoint(
286
306
  di.conso_ch = Math.max(di.conso_ch, 0);
287
307
  }
288
308
  }
309
+
310
+ function getEmetteursFromGenerateur(de, em_filt, pos, cfg_ch) {
311
+ // Cas installation simple + generateurs electriques
312
+ if (
313
+ isChauffageElectrique(de.enum_type_generateur_ch_id) &&
314
+ cfg_ch === 'installation de chauffage simple'
315
+ ) {
316
+ return !isNil(pos) ? [em_filt[pos]] : em_filt;
317
+ }
318
+ return em_filt;
319
+ }
320
+
321
+ function isChauffageElectrique(id) {
322
+ return ['98', '99', '100', '101', '102', '103', '104'].includes(id);
323
+ }
package/README.md CHANGED
@@ -110,11 +110,14 @@ const result = calcul_3cl(dpeData);
110
110
 
111
111
  ## Variables d'environnements
112
112
 
113
- | Nom | Description |
114
- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------- |
115
- | ADEME_API_CLIENT_ID | Client id pour l'api de l'ademe |
116
- | ADEME_API_CLIENT_SECRET | Client secret pour l'api de l'ademe |
117
- | DPE_FOLDER_PATH | Chemin vers lequel sont stockés les fichiers DPE (si non précisé, utiliser `dpes-folder-path` dans la ligne de commande |
113
+ | Nom | Description |
114
+ | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
115
+ | DPE_FOLDER_PATH | **Obligatoire**: Chemin vers lequel sont stockés les fichiers DPE (si non précisé, utiliser `dpes-folder-path` dans la ligne de commande |
116
+ | ADEME_API_CLIENT_ID | Client id pour l'api de l'ademe |
117
+ | ADEME_API_CLIENT_SECRET | Client secret pour l'api de l'ademe |
118
+ | MAX_WORKER_THREADS | Nombre de threads maximum pour les tests de corpus, par défaut: os.availableParallelism \* 1.5 |
119
+ | WORKER_THREADS_CHUNKS | Nombre de dpe à analyser par thread, par défaut: 200 |
120
+ | API_ADEME_DOWNLOAD_WAIT | Temps d'attente en ms entre chaque dpe à télécharger via l'api de l'ademe, par défaut: 1s |
118
121
 
119
122
  Attention aux quotas sur l'api:
120
123
 
@@ -122,6 +125,12 @@ Attention aux quotas sur l'api:
122
125
  - 1000 requêtes / minute
123
126
  - 10000 requêtes / jour
124
127
 
128
+ Dans le cas où un corpus est joué avec beaucoup de dpe à télécharger via l'api de l'ademe (car non présent en local), la meilleure configuration est:
129
+
130
+ - `export MAX_WORKER_THREADS=10`
131
+ - `export API_ADEME_DOWNLOAD_WAIT=1000`
132
+ - `export WORKER_THREADS_CHUNKS=300`
133
+
125
134
  <p align="right">(<a href="#readme-top">Retour sommaire</a>)</p>
126
135
 
127
136
  ## Lancement des tests sur des corpus de DPE
@@ -157,10 +166,11 @@ deperdition_mur,
157
166
  emission_ges_5_usages_m2;
158
167
  ```
159
168
 
160
- - `npm run test:corpus`. Va générer 2 rapports de sortie au format csv (détaillé) et json (global)
169
+ - `npm run test:corpus:all`: Joue l'intégralité des corpus et génère les rapports associés.
170
+ - `npm run test:corpus`. Joue le corpus [corpus_dpe.csv](test/corpus/corpus_dpe.csv) et génère les rapports associés.
161
171
  - `npm run test:corpus -- corpus-file-path=corpus.csv`. Chemin relatif vers le fichier de corpus à analyser
162
172
  Par défaut, le corpus utilisé est présent ici : [test/corpus/corpus_dpe.csv](test/corpus/corpus_dpe.csv)
163
- - `npm run test:corpus -- dpes-folder-path=/home/user/dpes`. Chemin vers le dossier les DPE seront téléchargés. Si un
173
+ - `npm run test:corpus -- dpes-folder-path=/home/user/dpes`. Chemin vers le dossier ou les DPE seront téléchargés. Si un
164
174
  fichier DPE est déjà présent dans ce dossier, il ne sera pas retéléchargé.
165
175
 
166
176
  ### Résultats corpus
@@ -200,19 +210,23 @@ Résultats des tests de corpus avec le mode de compatibilité activé.
200
210
  | 1.3.7 | dpe_immeuble_chauffage_individuel.csv | 6960 (+1310) | 69% (+13%) | | |
201
211
  | 1.3.7 | dpe_immeuble_chauffage_collectif.csv | 6106 (+212) | 61% (+2%) | | |
202
212
  | 1.3.7 | dpe_immeuble_chauffage_mixte.csv | 4730 (+589) | 47% (+6%) | | |
213
+ | <ins>**1.3.8**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4522**<ins> | <ins>**45%**<ins> | | |
214
+ | 1.3.8 | dpe_immeuble_chauffage_individuel.csv | 6965 (+5) | 69% | | |
215
+ | 1.3.8 | dpe_immeuble_chauffage_collectif.csv | 6110 (+4) | 61% | | |
216
+ | 1.3.8 | dpe_immeuble_chauffage_mixte.csv | 4735 (+5) | 47% | | |
203
217
 
204
218
  </details>
205
219
 
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) |
220
+ | Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description | Détail des valeurs |
221
+ | :------------------- | ------------------------------------- | ------------------------------ | ----------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
222
+ | <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 | |
223
+ | 1.3.9 | dpe_immeuble_chauffage_individuel.csv | 6901 (-64) | 69% | Pertes liés au fix bug tribu zone 2hd valeur dh19 | |
224
+ | 1.3.9 | dpe_immeuble_chauffage_collectif.csv | 6058 (-58) | 60% (-1%) | Pertes liés au fix bug tribu zone 2hd valeur dh19 | |
225
+ | 1.3.9 | dpe_immeuble_chauffage_mixte.csv | 4728 (-7) | 47% | Pertes liés au fix bug tribu zone 2hd valeur dh19 | |
226
+ | <ins>**1.3.11**<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) |
227
+ | 1.3.11 | dpe_immeuble_chauffage_individuel.csv | 6901 | 69% | | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_individuel.csv) |
228
+ | 1.3.11 | dpe_immeuble_chauffage_collectif.csv | 6058 | 60% | | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_collectif.csv) |
229
+ | 1.3.11 | 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) |
216
230
 
217
231
  ## Roadmap
218
232
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open3cl/engine",
3
- "version": "1.3.10",
3
+ "version": "1.3.12",
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
  }