ImperialCollegeLondon / ImperialCollegeLondon/virtual_ecosystem

Restructure subcanopy inputs and code

Open
#1,334 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Non-MVP
Dominant language
Python
Stars
20
Forks
5
Avg merge
2d 1h
Merged PRs (30d)
34

Description

  1. At the moment, we have two variables (subcanopy_vegetation_biomass and subcanopy_seedbank_biomass) that effectively provide dry carbon biomass for those two variables. They are only used at during __init__ and are immediately converted to CNP arrays using the ideal element ratios for those pools. The litter pools associated with those two pools cannot be populated at startup and only start to fill up through turnover. It would be better to explicitly have four inputs as CNP arrays that are used to set the initial states - its more flexible and drops two transitional variables that can only provide partial information. This is already a TODO in the code.

  2. The Subcanopy code was written before we went to the array CNP representation and it could now be refactored to use that structure, which would (I think) much simplify the module.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in the Subcanopy module and its init method, then locate the existing TODO and the current subcanopy vegetation and seedbank biomass inputs. Trace how those values become CNP arrays and how the litter pools are initialized. Done means four CNP-array inputs set the initial states and the Subcanopy code uses the array representation consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.