EMOD requires a large set of configuration files.
- Ingest form:
Data/calibration_ingest_form_Nyanza.xlsm- Containsx information which the simulation uses as inputs, including
- List of dynamic parameters which will be fit during the calibration stage
- List of calibration target variables and how the calibration stage should weight them
- List of "nodes" or sub-populations in the model, what we use to define geographically isolated metapopulations
- All calibration target data (empirical data used to calibrate the model)
- Containsx information which the simulation uses as inputs, including
- Input files:
- Demographics:
InputFiles/Static/Demographics.json- Contains births, deaths, and other demographic data
- Campaign file:
InputFiles/Templates/campaign_Nyanza_baseline_202301.json- Defines full structure of the cascade of events which occur in the simulation
- Together, this set of events contains all events which define
- How the HIV care cascade occurs
- How individuals interact with the healthcare system
- When and how interventions are distributed - testing and treatment
- Accessiblity and Risk IP Overlay :
InputFiles/Templates/Accessibility_and_Risk_IP_Overlay.json- Assigns individual properties to individuals
- Includes risk levels and accessibility (whether or not person has access to care)
- PFA_Overlay:
InputFiles/Templates/PFA_Overlay.json- Defines pair formation algorithm according to likelihood of pair formation between different demographic groups
- Risk_Assortivity_Overlay:
InputFiles/Templates/Risk_Assortivity_Overlay.json- Defines how different risk groups form partnerships
- Configuration file:
InputFiles/Templates/config.json- Overwrites all other parameter values
- Useful for formatting outputs, parameterize "reports"
- (Not all of these parameters are required to build a functioning model, many of them are atavistic cruft relevant to other models that have been copy-pasted through)
- Demographics:
optim_script.py- this is used to calibrate the simulation, it contains a number of important parameters which are then referenced when the simulation is runrun_scenarios.py- this is a python script used to run scenariosscenarios.csv- this is a spreadsheet which lists all of the scenarios. You can use this spreadsheet to adjust certain parameters depending on what the scenario needs - used as an input forrun_scenarios.pysimtools.ini- this is a shell script which defines the paths to where outputs go, the type of compute nodes that are used to spin up simulation threadsresampled_parameter_sets.csv- spreadsheet of parameter sets, resampled from the distribution of possible parameter values - used as an input forrun_scenarios.py