Tutorial: post-processing example¶
Example problem:¶
Statistics of band-passed fields. Please see [drivas2017prf].
The relevant files are cpp/full_code/bandpass_stats.?pp
,
TurTLE/PP.py
and CMakeLists.txt
(the list of headers should be
updated).
Instructions in brief¶
These are minimal instructions on how to create a generic post-processing tool,
and they are roughly the procedure followed when writing the
cpp/full_code/bandpass_stats.?pp
files.
Get code, install (please see README).
Have a look at the Doxygen generated documentation for the
postprocess
class.Write down the explicit numerical task. Identify algorithms, parameters, check whether required functionality is available.
Write down simple outline of new code to implement within
initialize
,work_on_current_iteration
andfinalize
.Create a new
git
branch to work on,feature/<mypptool>
.One option is to start from preexisting tools such as
get_rfields
and modify them accordingly. In particular simple standard modifications must be made to thePP.py
andCmakeLists.txt
files.Design a test of the new functionality (possibly just a modification of an existing test as needed). Test should begin as a parameter I/O sanity check, and then grow as the required functionality is implemented.