OMEGAlpes issueshttps://gricad-gitlab.univ-grenoble-alpes.fr/omegalpes/omegalpes/-/issues2020-05-04T11:01:29+02:00https://gricad-gitlab.univ-grenoble-alpes.fr/omegalpes/omegalpes/-/issues/57Good practices for OMEGAlpes' development2020-05-04T11:01:29+02:00Sacha HodencqGood practices for OMEGAlpes' development[This good to read article](https://www-ncbi-nlm-nih-gov/pmc/articles/PMC5480810/ "Good enough practices in scientific computing, Wilson et al., 2017") summarises good practices for Open Source Software development. While many are alread...[This good to read article](https://www-ncbi-nlm-nih-gov/pmc/articles/PMC5480810/ "Good enough practices in scientific computing, Wilson et al., 2017") summarises good practices for Open Source Software development. While many are already checked in OMEGAlpes project, some can be put in place:
- 3e: Make the project citable (3e) by including a CITATION file in the project's home directory
- 4b,c,d,e: src, bin, doc and results directory (see if relevant here)
- 5f Add a file called CHANGELOG.txt to the project's docs subfolder, and make dated notes about changes to the project in this file in reverse chronological order
- And other such as Continuous integration (at the end of the article).https://gricad-gitlab.univ-grenoble-alpes.fr/omegalpes/omegalpes/-/issues/46Partially fixed / variable energy unit to create2019-11-26T19:55:33+01:00Sacha HodencqPartially fixed / variable energy unit to createAn energy unit with partially fixed load or production could be handy in many cases.
Two ways to do so can be considered :
- A variable energy unit with fixed pmax and pmin for the relevant time steps (easy way)
- A fixed energy unit w...An energy unit with partially fixed load or production could be handy in many cases.
Two ways to do so can be considered :
- A variable energy unit with fixed pmax and pmin for the relevant time steps (easy way)
- A fixed energy unit where only a portion is fixed. To do so, a work on the imposed vlen of p defined in Quantities and on the opt parameter as a list or dict must be lead (sophisticated way).Sacha HodencqSacha Hodencqhttps://gricad-gitlab.univ-grenoble-alpes.fr/omegalpes/omegalpes/-/issues/45e_tot calculation for storage2019-11-27T14:31:33+01:00Sacha Hodencqe_tot calculation for storage<!---
Please read this!
Before opening a new issue, make sure to search for keywords in the issues
filtered by the "Bug" label, following this link :
- https://gricad-gitlab.univ-grenoble-alpes.fr/omegalpes/omegalpes/issues?label_name%...<!---
Please read this!
Before opening a new issue, make sure to search for keywords in the issues
filtered by the "Bug" label, following this link :
- https://gricad-gitlab.univ-grenoble-alpes.fr/omegalpes/omegalpes/issues?label_name%5B%5D=bug
and verify the issue you're about to submit isn't a duplicate.
--->
### Summary
The e_tot calculation is defined in EnergyUnits as :
`{0}_e_tot == time.DT * lpSum({0}_p[t]for t in time.I`
while p[t] in storage units is calculated as :
`{0}_p[t] == {0}_pc[t] - {0}_pd[t]`
### Steps to reproduce
Opening the storage design example and printing e_tot
`print(STORAGE.e_tot)`
### What is the current *bug* behavior?
The previous command gives a wrong result for e_tot but the right result for the difference between e_ch and e_disch that can be obtained as follow:
`print("sum pcharge", sum(STORAGE.pc.value.values()))
print("sum pdischarge", sum(STORAGE.pd.value.values()))`
### What is the expected *correct* behavior?
e_ch and e_disch should be created and easily accessible, and e_tot also accessible but indicated as the difference between e_ch and e_dischSacha HodencqSacha Hodencqhttps://gricad-gitlab.univ-grenoble-alpes.fr/omegalpes/omegalpes/-/issues/30Soc min and soc max checks when lists2019-11-25T10:48:03+01:00EXT HodencqSoc min and soc max checks when lists<!---
Please read this!
Before opening a new issue, make sure to search for keywords in the issues
filtered by the "Bug" label, following this link :
- https://gricad-gitlab.univ-grenoble-alpes.fr/omegalpes/omegalpes/issues?label_name%...<!---
Please read this!
Before opening a new issue, make sure to search for keywords in the issues
filtered by the "Bug" label, following this link :
- https://gricad-gitlab.univ-grenoble-alpes.fr/omegalpes/omegalpes/issues?label_name%5B%5D=bug
and verify the issue you're about to submit isn't a duplicate.
--->
### Summary
In the storage unit, there are two times the soc_min and soc_max are not properly checked when their type is list :
- line 116 : the elements of a list of soc_min should be below the elements of a list of soc_max OR a float soc_min should be below any element of a list of soc_max OR the elements of a list of soc_min should be below a float soc_max.
- line 238 when e_f is not None and capacity is not None, ValueError should be raised when e_f set out of bounds, when soc_min and soc_max are floats but also when they are one of the two are lists
### Possible fixes
- l 238 : Todo : the checks hereunder, taking into account soc_min and soc_max can be int or float but also lists !
if capacity is not None and (e_f > soc_max * capacity or
e_f < soc_min * capacity):
# the e_f value should be in between :
# [soc_min*capacity; soc_max*capacity]
raise ValueError('e_f should be in the following boundaries '
'[soc_min*capacity; soc_max*capacity] but '
'is {0}'.format(e_f))
else:Sacha HodencqSacha Hodencqhttps://gricad-gitlab.univ-grenoble-alpes.fr/omegalpes/omegalpes/-/issues/23Integration test example2018-11-14T17:05:49+01:00EXT HodencqIntegration test exampleCreating an example using a large amount of modules and methods with an associated integration test, in order to check the proper operation of the modules.Creating an example using a large amount of modules and methods with an associated integration test, in order to check the proper operation of the modules.https://gricad-gitlab.univ-grenoble-alpes.fr/omegalpes/omegalpes/-/issues/19New parameters for storage and conversion units2019-05-02T16:45:04+02:00EXT HodencqNew parameters for storage and conversion unitsAdding auto-discharging, charging and discharging efficacities parameters for the storage units, and losses for Elec2Heat conversion units as a percentage of the produced heat. Possibility to make losses a convesion unit attribute. Still...Adding auto-discharging, charging and discharging efficacities parameters for the storage units, and losses for Elec2Heat conversion units as a percentage of the produced heat. Possibility to make losses a convesion unit attribute. Still has to be checked.
Already in the dev_omegalpes_sh repositoryEXT Jaume FitóEXT Jaume Fitó