Allow selecting output columns with --outvars
Maintainers usually reply within 2 days
@abhinav-phi is already working on this.
Since Oct 31, 2026.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
Research direction
Read the code that builds sipnet.out headers and writes their corresponding values, along with the sipnet.in and command-line option parsing. Trace how output formatting and units are currently preserved, then verify default and selected columns, CLI precedence, and invalid-name handling as the issue requests. Done means headers and data match the resolved selection, which is recorded in sipnet.config, and usage is documented.
Written by the indexing model from the issue text.
Description
SIPNET currently writes all variables to sipnet.out. Add an --outvars option so users can request only the variables needed for an analysis, reducing output size and unnecessary I/O.
Example:
sipnet -i sipnet.in --outvars gpp,nee,soilWater
Would write year, day, time, gpp, nee, and soilWater.
Acceptance criteria:
- Accept comma-separated names matching existing output headers.
- Always include
year,day, andtime, followed by requested variables in the specified order, without duplicates. - Default to
all, preserving current output; also accept--outvars allexplicitly. - Support
outvarsinsipnet.in, with CLI taking precedence. - Reject empty lists and unknown names before simulation, with an error listing valid names.
- Record the resolved selection in
sipnet.config. - Keep headers and data columns consistent, preserving existing formatting and units.
- Document usage and verify defaults, selection, precedence, and invalid inputs.
Implementation suggestion: use a shared output-variable registry for headers and values to prevent them from diverging.
Scope is limited to existing variables in sipnet.out. No changes to model calculations, other output files, or downstream readers. Users requiring the full output schema can retain the default.
- Dominant language
- C
- Stars
- 42
- Forks
- 38
- Avg merge
- 3d 21h
- Merged PRs (30d)
- 10
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from PecanProject/sipnet
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
PecanProject/sipnet#435 · 1 comment ·
Maintainers usually reply within 2 days
-
Make sure that documentation of sipnet.out header reflects implementationMay be free again @ANAMASGARD claimed this 152 days ago, and no pull request is open. Opendocumentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
PecanProject/sipnet#345 · 8 comments · 1 reaction ·
Maintainers usually reply within 2 days
-
Remove unused `Tracker` fieldsMay be free again @ANAMASGARD claimed this 10 days ago, and no pull request is open. Opengood first issue on hold
Difficulty 4/5 3-5 days Newbie friendliness 45/100
PecanProject/sipnet#430 · 1 comment · 1 reaction ·
Maintainers usually reply within 2 days
-
Event checks ignore every events.in record after the firstPossibly taken @ANAMASGARD claimed this 10 days ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 70/100
PecanProject/sipnet#429 · 3 comments · 1 assignee ·
Maintainers usually reply within 2 days
-
Events: revamp handling of "big delta" events to post-pool-updatePossibly taken @Alomir claimed this 12 days ago. Open
PecanProject/sipnet#423 · 1 assignee ·
Maintainers usually reply within 2 days
All issues in PecanProject/sipnet
Similar issues
-
good first issue help wanted program
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
hffgzktbcc-blip/ounce-core#297 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
coolsnowwolf/lede#14283 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
OpenVisualCloud/SVT-JPEG-XS#130 ·
Maintainers usually reply within 1 day