-
Notifications
You must be signed in to change notification settings - Fork 1
WG Initial Process Library
Marcellin edited this page Aug 20, 2020
·
5 revisions
-
Coordinator: Ian Edwards
-
Timeline: Work on an initial process library shall be conducted and closed in 2020
-
Baseline: Following best-practice agile software development to avoid technical debt and ensure repeatability of results using Python as a common language
-
Previous meetings: IPL-WG Meetings
-
Deliverables:
a) Develop the framework for a Process Library
- Automated documentation generation
- A Python wrapper around each relevant MCH process and Climsoft R Process
- Each wrapper is a simple function or method that includes a docstring
- The docstring defines the purpose, inputs and outputs of the process and will be used to automatically build documentation on available processes
- The function may remain empty, or may include a call to the corresponding Pascal, R or Python function that would execute the requested process
b) Create the initial structure for automated tests and continuous integration with:
- Examples of automated unit tests for the MCH processes and Climsoft R Processes defined in (2a)
- Automated tests should have sample input data and corresponding output for MCH and Climsoft R Processes
- Each process should include good code coverage. For example, if a process responds differently for temperatures that are above and below a specified threshold then there should be two tests, one demonstrating the result below the threshold and another demonstrating the result at/above the threshold (in this example, the threshold value would be one of the parameters expected by the process)
- Thorough coverage of a subset of processes is better than sparse coverage of every available processes.
- It is desirable, but not necessary, to implement the tested process. If the process is not implemented, the input and expected output can still be defined, however the automatic test will fail each time it runs due to the expected output not being returned
- Ensure updated documentation is built automatically with each committed change to docstrings in (2a) and that tests run automatically with each committed change to unit tests