Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework production_existing.csv #30

Open
bradenpecora opened this issue Aug 17, 2022 · 0 comments
Open

Rework production_existing.csv #30

bradenpecora opened this issue Aug 17, 2022 · 0 comments
Assignees

Comments

@bradenpecora
Copy link
Collaborator

I am just posting this to organize my thoughts. It is not an immediate issue.

The current implementation of existing production is not very good. It does not allow for electric existing production and is ambiguous with what data it pulls from production_thermal.csv. On top of that, defining ccs is odd too (which deserves a redo of its own, for another time). The name also suggests it is for existing production, but, ultimately, it should be for any producer that we want to be run in the model (say, we want to analyze the impact of 500 tons of electrolysis production in El Paso).

My thought for a new .yml file:

thermal:
  smrExisting: # matches to a row with type "smrExisting" in production_thermal.csv
    nodeA: 100 # force the build to build out 100 tons at nodeA
    nodeB: 100
electric:
   electrolysis_abc:
       nodeC: 100
   electrolysis_xyz:
      nodeD: 100

Currently, the technology details are listed in a respective row of production_existing.csv. Instead, this method would pull all details from a technology defined in the thermal or electric file.This would also involve adding a column to production_electric.csv and production_thermal.csv called something like existing_build_only that would prevent the tech from being elsewhere if desired (Example, smrExisting defined in production_thermal.csv would have a capital cost of 0, so we don't want this tech being built elsewhere. But, this method would allow us to use an existing technology, with non-zero capital costs, and force the model to built it).

An issue with this format is that it doesn't support additional existing-specific parameters (namely, "can_ccsX").

Potentially:

thermal:
  smrExisting:
    nodeA: 100 # defaults to no ccs retrofit options being allowed
    nodeB:
      capacity: 100
      ccs1: 1
      ccs2: 0

But I find this too verbose and confusing, particularly since a SMR technology listed in production_thermal.csv is not currently intended for the retrofit options. A user could force a SMR technology that already has CCS incorporated, and then also provide the model to add the additional retrofit to it (on accident). Documentation would have to particularly clear.

I would consider this an elegant but maybe more confusing method than just adding an additional file for production_existing_electric.csv and renaming production_existing_thermal.csv, which, although articulate, is not an elegant approach. This will be something to think about. It is worth noting that both methods will be able to interact with the Monte Carlo interface.

@bradenpecora bradenpecora self-assigned this Aug 17, 2022
@bradenpecora bradenpecora added enhancement New feature or request parking lot and removed enhancement New feature or request labels Aug 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant