LDAR-Sim / LDAR_Sim

MIT License
11 stars 22 forks source link

[FEAT] Move program level parameters to virtual world #70

Closed ThomasGalesloot closed 1 year ago

ThomasGalesloot commented 1 year ago

Requested Feature/Enhancement

Many of the parameters that currently need to be specified at the program level have been determined to fit better at a new virtual world level in order to prevent confusion as the values for these parameters must or should match across programs in order to for LDAR-Sim to behave "correctly". Other parameters are not required to match across programs, but it is recommended that they are matching in order to avoid confusion. As such a list of program level parameters that define the LDAR-Sim "virtual world" have been identified as needing to be moved to virtual world level.

These parameters are: • Weather file • Weather is hourly • Infrastructure file • Site samples • Subtype file • Consider weather • Subtype times file • Emissions – All parameters o Consider venting o Leak_dist_params o Leak dist type o Leak file o Leak file use o LPR o Max leak rate o Subtype leak dist file o Units • NRD • Economics o Carbon price tonnes co2e o Cost CCUS o GWP CH4 o Sale price natgas o Repair costs  Vals  File o Verification cost

Need for feature/Enhancement

This change in parameter level serves a threefold purpose:

  1. The change will reduce the barrier to entry to modelling using LDAR-Sim, allowing the model to reach and be used by a wider audience.
  2. The change will reduce the likelihood of user error during the modelling process by diminishing onus on users to parameterize correctly in a scenario where parameterizing incorrectly may result in the model running without error, but producing incorrect results.
  3. This change will help simplify the LDAR-Sim parametrization and input structure, which will improve the comprehensibility of LDAR-Sim.

Problem to solve

This will solve the problem of some program level parameters in LDAR-Sim being unintuitive as they are required/recommended to be always be the same, but they can be set separately.

Implementation Ideas

For the scope of this, we are not looking at refactoring the structure of any code, but simply changing already existing parameters to exist at a different parameter level. For most cases, all that will be required for implementation is to update where the parameter can be found.

Additional context

No response