# Script File Sections

A PoPy script file is hierarchical and based on YAML.

The file is indented with the main sections defined at the start of a line. Subsections are indented within the main sections.

In Table 56 we list the main sections that are common to many Script File Formats.

Table 56 Common Script Sections
Section | Purpose
--- | ---
METHOD_OPTIONS | Script type and run options
DESCRIPTION | Title and summary of model
FILE_PATHS | Paths to load and output data
DATA_FIELDS | Define type/id/time fields for data
PREPROCESS | Filter or expand the input data
LEVEL_PARAMS | Define population `f[X]` and `r[X]` variable structure
MODEL_PARAMS | Define `m[X]` for each data row, given `f[X]`, `r[X]` and `c[X]`
STATES | Define initial value `s[X]`, given `m[X]` and `c[X]`
DERIVATIVES | Define `d[X]` wrt time, given `m[X]`, `c[X]` and `s[X]`
PREDICTIONS | Define `p[X]` for each data row, given `m[X]`, `c[X]` and `s[X]`
ODE_SOLVER | Define ordinary differential equation method and parameters
FIT_METHODS | Define fit methods and parameters
COVARIANCE | If true, compute standard errors
OUTPUT_SCRIPTS | Declare child scripts for post processing
OUTPUT_OPTIONS | Miscellaneous output parameters