opem icon indicating copy to clipboard operation
opem copied to clipboard

Enhancement: return reports as list items when running in library mode

Open DanWBR opened this issue 3 years ago • 8 comments

It would be nice to have the HTML, CSV and OPEM reports returned as items in the results list instead of physical files when running in library mode, so the files could be generated from the item contents somewhere else. This is very useful in the context of a chemical process simulator where you can have multiple instances of OPEM objects.

DanWBR avatar Jun 13 '22 12:06 DanWBR

@DanWBR Hi Do you mean something like this?

{               "Status": True,
                "P": Power_List,
                "I": I_List,
                "V": Vstack_List,
                "EFF": Efficiency_List,
                "Ph": Power_Thermal_List,
                "V0": B0,
                "K": B1,
                "VE": Estimated_V,
                "HTML": HTMLContent,
                "CSV":"CSVContent
                "}

sepandhaghighi avatar Jun 14 '22 23:06 sepandhaghighi

@sepandhaghighi exactly. If possible, disable the generation of the physical files in the subdirectory. I'm running OPEM from a .NET application through Python.NET - the commands are run in memory and I'm afraid we don't have a "current directory" to refer to in this case.

DanWBR avatar Jun 15 '22 00:06 DanWBR

@DanWBR The problem with this method is that sometimes the output files are too large and can lead to some memory problems.

Take a look at this method (adding Folder and Name parameters to control files location and name):

>>> from opem.Static.Amphlett import Static_Analysis
>>> Test_Vector={"T": 343.15,"PH2": 1,"PO2": 1,"i-start": 0,"i-stop": 75,"i-step": 0.1,"A": 50.6,"l": 0.0178,"lambda": 23,"N": 1,"R": 0,"JMax": 1.5,"Name": "Amphlett_Test"}
>>> data=Static_Analysis(InputMethod=Test_Vector,TestMode=True,PrintMode=False,ReportMode=True,Folder="C:\\Users\\",Name="Test")

Does it work for you?

sepandhaghighi avatar Jun 15 '22 20:06 sepandhaghighi

@DanWBR yes, that would work. thanks!

DanWBR avatar Jun 15 '22 21:06 DanWBR

Good, we will solve it in the next version 💯

sepandhaghighi avatar Jun 16 '22 20:06 sepandhaghighi

@sepandhaghighi I've found a way already, implemented something like my first suggestion + temporary files:

Captura de Tela 2022-06-17 às 10 41 25 Captura de Tela 2022-06-17 às 10 41 27

DanWBR avatar Jun 17 '22 14:06 DanWBR

@DanWBR Well done 🥇 But we will still consider this feature for the next version of OPEM 🚀

sepandhaghighi avatar Jun 19 '22 11:06 sepandhaghighi

@sepandhaghighi I couldn't wait, sorry 😅

DanWBR avatar Jun 19 '22 12:06 DanWBR