BioSTEAMDevelopmentGroup / Bioindustrial-Park

BioSTEAM's Premier Repository for Biorefinery Models and Results
MIT License
36 stars 17 forks source link

Consultation about IRR, metrics in uncertainty analysis #125

Open zasddsgg opened 1 month ago

zasddsgg commented 1 month ago

Hello, I have learned the relevant code, some places can understand, but some places still do not understand, may I ask you the following questions. Thanks for you help. Wish you a good day.

a) What does it mean to ensure Monte Carlo results will be at 10% IRR? It seems that the IRR is changing, not 10% (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/lactic/models.py#L145-L151). Why is it converted to a list (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/lactic/models.py#L149), and why is this piece of code still used in HP while it is no longer used in lactic acid (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/HP/analyses/models_2015.py#L867-L875)?

b) Is model_dct['index_IRR'] (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/lactic/analyses/1_uncertainties.py#L80) relevant to code that ensures IRR is at 10% (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/lactic/models.py#L145-L151)?

c) For index_TEA = index_parameters + model_dct['index_TEA'] and index_IRR = index_parameters + model_dct['index_IRR'] (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/lactic/analyses/1_uncertainties.py#L74-L80), so should the value of model_dct['index_IRR'] be greater than that of model_dct['index_TEA'], otherwise it seems impossible to extract the IRR result after the TEA index.

d) What it wants to express here (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/lactic/analyses/1_uncertainties.py#L73-L88) is that the results of LCA, IRR and TEA are extracted according to the categories of LCA, IRR and TEA, and after the TEA results in raw data are extracted, the following results in raw data are the results of IRR, and after the IRR results in raw data are the results of LCA, right?

e) I changed model_dct['index_TEA'] and model_dct['index_IRR'] to numbers and deleted the code here (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/lactic/analyses/1_uncertainties.py#L176-L185) to make the code work, but there is no IRR related result in raw data in excel results? It's all about TEA and LCA.

f) Can model.table = model.table.dropna() be omitted (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/lactic/analyses/1_uncertainties.py#L94)? What is its purpose? Why delete null values? Could I consult you why does HP have NAN in its results (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/HP/data/TRY_productivity_0.152/FEC_33_TRY_lowpH_0.152_glH_06.24.2021.csv)?

g) In lactic acid, there are six metrics according to spearman_metrics = model.metrics[0:2] + model.metrics[6:8] + \ model.metrics[index_IRR:index_IRR+2] (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/lactic/analyses/1_uncertainties.py#L91-92), but why are there only 3 metrics in the article (Figure 3)? May I ask what the metrics you mentioned here specifically refer to (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/lactic/analyses/1_uncertainties.py#L91-92)? Figure 3 in Sustainable Lactic Acid Production from Lignocellulosic Biomass is as follows: 图3

h) What does it mean that Spearman's rho is empty in Excel results? 截图

i) May I ask you the meaning of the probability calculated by cdf (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/lactic/analyses/1_uncertainties.py#L104)?

sarangbhagwat commented 1 month ago

Hi @zasddsgg,

For the part of your question (f) that's about the 3-HP biorefinery, the numpy.nan values represent an infeasible region; i.e., combinations of fermentation 3-HP yield-titer values at which the required sugar concentration would be too high (>600 g/L).

For the lactic acid biorefinery, I would wait for @yalinli2 to answer your questions when she gets some time to do so!

Best, Sarang

zasddsgg commented 1 month ago

I got it. Thank you for your answer.

zasddsgg commented 1 month ago

a1) Besides, could I consult you about the difference between the baseline results of initial and end (https://github.com/BioSTEAMDevelopmentGroup/Bioindustrial-Park/blob/master/biorefineries/lactic/analyses/1_uncertainties.py#L56-L66)? I looked at the excel results in my process and some of the results between initial baseline results and end baseline results seemed different. could I consult you which one is the true baseline scenario result?

b1) In my process, the NPV obtained by the code TEA.NPV is different from the initial NPV and the end NPV results in the Baseline worksheet in excel. May I ask why?

c1) For the NPV value in the Raw data worksheet, in my process, the NPV values obtained from each simulation are not all 0, is this not correct? For the NPV value in the Raw data worksheet, should the NPV value be 0 for each simulation?