Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Requirements and Design

ACME Land Group

Date:

...

...

  

Summary

Crops in ALM are harvested at maturity, however, the grain component is handled as litter and placed in the corresponding litter pools. This alters the biogeochemistry cycle by depositing carbon and nitrogen in the soil that would otherwise be consumed. A crop harvest subroutine is added to put crop grain into an external product pool that is respired to the atmosphere rather than into a litter pool that contributes to soil biogeochemistry. This also allows the optional harvest of residue (leaves and stems), which will also go into the product pool with the grain. The product pool is respired to the atmosphere over a 1-year period. This subroutine also calculates the yield in bu/acre and t/ha.

 

Requirements

Requirement: Add harvest subroutine and product pool

Date last modified:   
Contributors: Beth Drewniak


Each requirement is to be listed under a ”section” heading, as there will be a one-to-one correspondence between requirements, design, proposed imple- mentation and testing. Requirements should not discuss technical software issues, but rather focus on model capability. To the extent possible, require- ments should be relatively independent of each other, thus allowing a clean design solution, implementation and testing plan.This subroutine requires three components: 1) yield calculator, 2) creation of a product pool with 1-yr turnover, treatment of grain carbon and nitrogen at harvest by diverting to product pool. In addition to the code modifications, three additional parameters are added to the parameter file including: proportion of residue harvested with grain, fraction of grain that is harvested, and a conversion factor from gC/m2 to bu/acre. 

 

Algorithmic Formulations

Design solution: short-description-of-proposed-solution-here

Date last modified:   
Contributors: (add your name to this list if it does not appear)

 

For each requirement, there is a design solution that is intended to meet that requirement. Design solutions can include detailed technical discussions of PDEs, algorithms, solvers and similar, as well as technical discussion of performance issues. In general, this section should steer away from a detailed discussion of low-level software issues such as variable declarations, interfaces and sequencing.

 

Design and Implementation

Implementation: short-desciption-of-implementation-here

Date last modified: // date
Contributors: (add your name to this list if it does not appear)

 

This section should detail the plan for implementing the design solution for requirement XXX. In general, this section is software-centric with a focus on software implementation. Pseudo code is appropriate in this section. Links to actual source code are appropriate. Project management items, such as svn branches, timelines and staffing are also appropriate. How do we typeset pseudo code?

 

Planned Verification and Unit Testing 

Verification and Unit Testing: short-desciption-of-testing-here

Date last modified:  
Contributors: (add your name to this list if it does not appear)

 

How will XXX be tested? i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?

Planned Validation Testing 

Validation Testing: short-desciption-of-testing-here

Date last modified:
Contributors: (add your name to this list if it does not appear)

 

How will XXX be tested? What observational or other dataset will be used?  i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?

Planned Performance Testing 

Performance Testing: short-desciption-of-testing-here

Date last modified:
Contributors: (add your name to this list if it does not appear)

 

How will XXX be tested? i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?

 

...