Configuration file

The primary means of configuring the disease simulation is the configuration file. This required file is a JavaScript Object Notation (JSON) formatted file that is typically named config.json. The configuration file controls many different aspects of the simulation. For example,

  • The names of the campaign file and input data files to use
  • Simulation-wide demographics, climate, and migration data
  • General disease attributes such as infectivity, immunity, mortality, and so on
  • Attributes specific to the disease type being modeled, including treatment efficacy
  • The reports to output from the simulation

IDM provides complete simulation scenarios in the Regression directory on GitHub. Within each of the simulation subdirectories, there is a config.json file. The Scenarios subdirectory contains the files used in the tutorials.

The following is an example of configuration file.

{
    "parameters": {
        "Acquisition_Blocking_Immunity_Decay_Rate": 0.1,
        "Acquisition_Blocking_Immunity_Duration_Before_Decay": 60,
        "Age_Initialization_Distribution_Type": "DISTRIBUTION_SIMPLE",
        "Animal_Reservoir_Type": "NO_ZOONOSIS",
        "Base_Incubation_Period": 0,
        "Base_Individual_Sample_Rate": 1,
        "Base_Infectious_Period": 4,
        "Base_Infectivity": 3.5,
        "Base_Mortality": 0,
        "Base_Population_Scale_Factor": 1,
        "Birth_Rate_Dependence": "POPULATION_DEP_RATE",
        "Birth_Rate_Time_Dependence": "NONE",
        "Burnin_Cache_Mode": "none",
        "Burnin_Cache_Period": 0,
        "Burnin_Name": "",
        "Campaign_Filename": "campaign.json",
        "Climate_Model": "CLIMATE_OFF",
        "Config_Name": "00_DEFAULT",
        "Custom_Reports_Filename": "NoCustomReports",
        "Death_Rate_Dependence": "NONDISEASE_MORTALITY_OFF",
        "Default_Geography_Initial_Node_Population": 1000,
        "Default_Geography_Torus_Size": 10,
        "Demographics_Filenames": [
            "../00_Default/demographics.json"
        ],
        "Enable_Absolute_Time": "NO",
        "Enable_Aging": 1,
        "Enable_Birth": 1,
        "Enable_Default_Reporting": 1,
        "Enable_Default_Shedding_Function": 1,
        "Enable_Demographics_Birth": 0,
        "Enable_Demographics_Builtin": 0,
        "Enable_Demographics_Gender": 1,
        "Enable_Demographics_Other": 0,
        "Enable_Demographics_Reporting": 1,
        "Enable_Disease_Mortality": 0,
        "Enable_Heterogeneous_Intranode_Transmission": 0,
        "Enable_Immune_Decay": 0,
        "Enable_Immunity": 1,
        "Enable_Interventions": 1,
        "Enable_Maternal_Infection_Transmission": 0,
        "Enable_Property_Output": 0,
        "Enable_Spatial_Output": 0,
        "Enable_Superinfection": 0,
        "Enable_Vital_Dynamics": 0,
        "Geography": "",
        "Immunity_Acquisition_Factor": 0,
        "Immunity_Initialization_Distribution_Type": "DISTRIBUTION_OFF",
        "Immunity_Mortality_Factor": 0,
        "Immunity_Transmission_Factor": 0,
        "Incubation_Period_Distribution": "FIXED_DURATION",
        "Individual_Sampling_Type": "TRACK_ALL",
        "Infection_Updates_Per_Timestep": 1,
        "Infectious_Period_Distribution": "EXPONENTIAL_DURATION",
        "Infectivity_Scale_Type": "CONSTANT_INFECTIVITY",
        "Job_Node_Groups": "Chassis08",
        "Job_Priority": "BELOWNORMAL",
        "Listed_Events": [],
        "Load_Balance_Filename": "",
        "Local_Simulation": 0,
        "Maternal_Transmission_Probability": 0,
        "Max_Individual_Infections": 1,
        "Max_Node_Population_Samples": 40,
        "Migration_Model": "NO_MIGRATION",
        "Minimum_Adult_Age_Years": 15,
        "Mortality_Blocking_Immunity_Decay_Rate": 0.001,
        "Mortality_Blocking_Immunity_Duration_Before_Decay": 60,
        "Mortality_Time_Course": "DAILY_MORTALITY",
        "Node_Grid_Size": 0.042,
        "Num_Cores": 1,
        "Number_Basestrains": 1,
        "Number_Substrains": 1,
        "PKPD_Model": "FIXED_DURATION_CONSTANT_EFFECT",
        "Population_Density_C50": 30,
        "Population_Density_Infectivity_Correction": "CONSTANT_INFECTIVITY",
        "Population_Scale_Type": "USE_INPUT_FILE",
        "Report_Event_Recorder": 0,
        "Run_Number": 1,
        "Sample_Rate_0_18mo": 1,
        "Sample_Rate_10_14": 1,
        "Sample_Rate_15_19": 1,
        "Sample_Rate_18mo_4yr": 1,
        "Sample_Rate_20_Plus": 1,
        "Sample_Rate_5_9": 1,
        "Sample_Rate_Birth": 1,
        "Serialization_Test_Cycles": 0,
        "Simulation_Duration": 90,
        "Simulation_Timestep": 1,
        "Simulation_Type": "GENERIC_SIM",
        "Start_Time": 0,
        "Susceptibility_Scale_Type": "CONSTANT_SUSCEPTIBILITY",
        "Transmission_Blocking_Immunity_Decay_Rate": 0.1,
        "Transmission_Blocking_Immunity_Duration_Before_Decay": 60,
        "x_Air_Migration": 1,
        "x_Birth": 1,
        "x_Local_Migration": 1,
        "x_Other_Mortality": 1,
        "x_Population_Immunity": 1,
        "x_Regional_Migration": 1,
        "x_Sea_Migration": 1,
        "x_Temporary_Larval_Habitat": 1
    }
}

Overlay file

As you work more with EMOD, you may want to change the values of a view parameters of interest while keeping the rest constant, for example, when running simulation experiments or testing source code changes.

You have the option of creating an overlay file to keep configuration parameters of interest in a separate file from the complete configuration file that contains default values. These files can be flattened into a single file and the values in the overlay file will override those in the default file.

See Configuration parameters for a comprehensive list and description of all parameters available to use in the configuration file for this simulation type.