Changing serialized configuration parameters

Not every parameter can be changed after the creation of serialized files. The following overview is intended as high-level guidance for what changes can and cannot be made.

Simulation parameters

Cannot be changed

  • Simulation_Type The type of simulation determines the parameters and the types of objects in the file.

  • Enable_Demographics_Builtin

  • Default_Geography_Initial_Node_Population

  • Default_Geography_Torus_Size

  • Node_Grid_Size This is not serialized; the value is loaded from the configuration file every time a simulation is created.

  • Enable_Interventions

  • Campaign_Filename

  • Load_Balance_Filename You must use the same number of cores that you used when you created the serialized file. The nodes will be on the those same cores.

  • Malaria_Model

Can be changed

  • Simulation_Duration This controls the number of days the simulation will run from the day it starts (when the executable begins executing).

  • Start_Time It can be useful to set this parameter to the day that the file was serialized plus one timestep. For example, if you serialized the file on day 100 and your timestep was 5, setting Start_Time = 105 will make the appearance that the simulation started right where it left off. It is also fine to have it start at 0.

  • Custom_Individual_Events You can easily add new events but must be careful when removing them. If an individual has a serialized intervention that emits the event that you delete, you should get an error de-serializing the file because the event is unknown.

  • Malaria_Drug_Params These parameters are not serialized so they can be changed. However, there are a few caveats:

    # If you have handed out drugs to people and the people have the drugs in them when you serialize, then you must have drugs in Malaria_Drug_Params with the same name. When the people are de-serialized, the drug intervention will look for the drug parameters with the same name as when the person was serialized. # A person who had drugs when serialized will still be in that state when de-serialized. The previous values created the person’s current state; changing the parameters will not reverse the previous effects. # Given the person’s state when serialized, the new parameters could cause weird effects depending on how the parameters are changed. For example, if you shorten a delay significantly, the drug could suddenly have no remaining effect.

  • Serialized_Population_Reading_Type

  • Serialized_Population_Writing_Type

  • Serialized_Population_Path

  • Serialized_Population_Filenames

  • Enable_Random_Generator_From_Serialized_Population

Individual parameters

Can be changed

  • Enable_Aging This parameters is not serialized and can be changed. However, if it was enabled and you disable it, people will be frozen at whatever age they were during serialization. Conversely, people will start aging when you enable it. This could mean everyone is the same age.

  • Infection_Updates_Per_Timestep This parameter is not serialized and can be changed. However, it could impact some interventions like drugs.

  • Enable_Superinfection

  • Max_Individual_Infections

  • Age_Dependent_Biting_Risk_Type

  • Newborn_Biting_Risk_Multiplier

Infection parameters

Can be changed

  • Incubation_Period_Distribution This parameter is not serialized and can be changed, including the extra parameters used in defining the distribution.

  • Infectious_Period_Distribution This parameter is not serialized and can be changed, including the extra parameters used in defining the distribution. (Note this parameter is not used in malaria simulations.)

  • Base_Infectivity This parameter is not serialized and can be changed, including the extra parameters used in defining the distribution. (Note this parameter is not used in malaria simulations.)

  • Malaria_Strain_Model This parameter is not serialized and can be changed but it will only impact new infections.