covid-sim
Param.h
1 #ifndef COVIDSIM_PARAM_H_INCLUDED_
2 #define COVIDSIM_PARAM_H_INCLUDED_
3 
4 #include <inttypes.h>
5 
6 #include "Country.h"
7 #include "Constants.h"
8 #include "MicroCellPosition.hpp"
9 
11 enum BitmapFormats
12 {
13  BF_PNG = 0, // PNG - default if IMAGE_MAGICK or _WIN32 defined
14  BF_BMP = 1 // BMP - fall-back
15 };
16 
18 struct DomainSize
19 {
21  double width_;
22 
24  double height_;
25 };
26 
31 struct Param
32 {
33  int PopSize;
34  int NH; // Number of households
37  int NRactual;
38  int NRactE;
39  int NRactNE;
40  int UpdatesPerSample; // Number of time steps between samples
41  int NumSamples; // Total number of samples that will be made
42  int KernelType;
43  int NKR; // Size of kernel lookup table
44  int NK_HR; // Factor to expand hi-res kernel lookup table by
45  int MoveKernelType;
46  int AirportKernelType;
47  unsigned int BinFileLen;
48  int DoBin, DoSaveSnapshot, DoLoadSnapshot;
49  double SnapshotSaveTime, SnapshotLoadTime, clP1, clP2, clP3, clP4, clP5, clP6;
50  int NC; // Number of cells
51  int NMC; // Number of microcells
52  int NMCL; // Number of microcells wide/high a cell is; i.e. NMC = NC * NMCL * NMCL
53  int NCP;
54  int NMCP, ncw, nch, DoUTM_coords, nsp, DoSeasonality, DoCorrectAgeDist, DoPartialImmunity;
55 
56  int get_number_of_micro_cells_wide() const;
57  int get_number_of_micro_cells_high() const;
58  MicroCellPosition get_micro_cell_position_from_cell_index(int cell_index) const;
59  int get_micro_cell_index_from_position(MicroCellPosition position) const;
60  bool is_in_bounds(MicroCellPosition position) const;
61 
62  int DoAdUnits, NumAdunits, DoAdunitBoundaries, AdunitLevel1Divisor, AdunitLevel1Mask, AdunitBitmapDivisor, CountryDivisor;
63  int DoAdunitOutput, DoAdunitBoundaryOutput, DoAdunitDemog, DoCorrectAdunitPop, DoSpecifyPop, AdunitLevel1Lookup[ADUNIT_LOOKUP_SIZE];
64  int DoOutputPlaceDistForOneAdunit, OutputPlaceDistAdunit, OutputDensFile;
65  int DoOneGen, OutputEveryRealisation, BitmapMovieFrame, MaxCorrSample, DoLatent, InfQueuePeakLength, NumThreads, MaxNumThreads;
66  int bwidth, bheight; // Size in pixels of the map area in the bitmap output
67  int bheight2; // Height in pixels of the entire bitmap output, including both the spectrum at the top and the map area
68  int bminx, bminy;
69  BitmapFormats BitmapFormat; // Format of bitmap (platform dependent and command-line /BM: specified).
70  int DoSI, DoHeteroDensity, DoPeriodicBoundaries, DoImmuneBitmap, OutputBitmapDetected; //added OutputBitmapDetected - ggilani 04/08/15
71  int DoHouseholds, DoPlaces, PlaceTypeNum, Nplace[NUM_PLACE_TYPES], SmallEpidemicCases, DoPlaceGroupTreat;
72  int NumInitialInfections[MAX_NUM_SEED_LOCATIONS], DoRandomInitialInfectionLoc, DoAllInitialInfectioninSameLoc;
73  int MinPopDensForInitialInfection, NumSeedLocations,InitialInfectionsAdminUnitId[MAX_NUM_SEED_LOCATIONS],InitialInfectionsAdminUnit[MAX_NUM_SEED_LOCATIONS], MaxPopDensForInitialInfection;
74  int DoAge, DoSymptoms, LoadSaveNetwork, IncThreshPop, GlobalIncThreshPop;
75  int OutputOnlyNonExtinct, DoInfectiousnessProfile, DoInfectionTree, DoWholeHouseholdImmunity, DoSpatial, DoDeath;
76  int DoAirports, Nairports, Air_popscale, DoSchoolFile, DoRealSymptWithdrawal, CaseAbsentChildAgeCutoff, DoEarlyCaseDiagnosis, DoInterventionFile;
77  int PlaceTypeNoAirNum; // If DoAirports then this is the number of non-airport place types (< PlaceTypeNum), else == PlaceTypeNum (~ no airport places).
78  int HotelPlaceType; // If DoAirports then this is place type for hotel (>= PlaceTypeNoAirNum, < PlaceTypeNum), else == PlaceTypeNum (~ unused).
79  int32_t setupSeed1, setupSeed2; // RNG seeds from the command line, used to initialise the RNG for setup
80  int32_t runSeed1, runSeed2; // RNG seeds from the command line, used to initialise the RNG for running the model
81  int32_t nextSetupSeed1, nextSetupSeed2; // The next RNG seeds to use when we need to reinitialise the RNG for setup
82  int32_t nextRunSeed1, nextRunSeed2; // The next RNG seeds to use when we need to reinitialise the RNG for the model
83  int ResetSeeds,KeepSameSeeds, ResetSeedsPostIntervention, ResetSeedsFlag, TimeToResetSeeds;
84  int OutputBitmap; // Whether to output a bitmap
85  double LongitudeCutLine; // Longitude to image earth is cut at to produce a flat map. Default -360 degrees (effectively -180). Use to ensure countries have a contiguous boundary
86  double SpatialBoundingBox[4], LocationInitialInfection[MAX_NUM_SEED_LOCATIONS][2], InitialInfectionsAdminUnitWeight[MAX_NUM_SEED_LOCATIONS], TimeStepsPerDay;
87  double FalsePositiveRate, FalsePositivePerCapitaIncidence, FalsePositiveAgeRate[NUM_AGE_GROUPS];
88  double latent_icdf[CDF_RES + 1], infectious_icdf[CDF_RES + 1], infectious_prof[INFPROF_RES + 1], infectiousness[MAX_INFECTIOUS_STEPS];
89 
90  double MildToRecovery_icdf[CDF_RES + 1], ILIToRecovery_icdf[CDF_RES + 1], SARIToRecovery_icdf[CDF_RES + 1], CriticalToCritRecov_icdf[CDF_RES + 1], CritRecovToRecov_icdf[CDF_RES + 1];
91  double ILIToSARI_icdf[CDF_RES + 1], SARIToCritical_icdf[CDF_RES + 1], ILIToDeath_icdf[CDF_RES + 1], SARIToDeath_icdf[CDF_RES + 1], CriticalToDeath_icdf[CDF_RES + 1];
93  double Mean_MildToRecovery[NUM_AGE_GROUPS], Mean_ILIToRecovery[NUM_AGE_GROUPS], Mean_SARIToRecovery[NUM_AGE_GROUPS], Mean_CriticalToCritRecov[NUM_AGE_GROUPS], Mean_CritRecovToRecov[NUM_AGE_GROUPS];
94  double Mean_TimeToTest, Mean_TimeToTestOffset, Mean_TimeToTestCriticalOffset, Mean_TimeToTestCritRecovOffset;
95  double Mean_ILIToSARI[NUM_AGE_GROUPS], Mean_SARIToCritical[NUM_AGE_GROUPS], Mean_CriticalToDeath[NUM_AGE_GROUPS], Mean_SARIToDeath[NUM_AGE_GROUPS], Mean_ILIToDeath[NUM_AGE_GROUPS];
96  double Prop_Mild_ByAge[NUM_AGE_GROUPS], Prop_ILI_ByAge[NUM_AGE_GROUPS], Prop_SARI_ByAge[NUM_AGE_GROUPS], Prop_Critical_ByAge[NUM_AGE_GROUPS];
97  double CFR_SARI_ByAge[NUM_AGE_GROUPS], CFR_Critical_ByAge[NUM_AGE_GROUPS], CFR_ILI_ByAge[NUM_AGE_GROUPS];
98 
99  double TimeStep; // The length of a time step, in days
100  double SampleTime; // The number of days to run for
101  double SampleStep; // The length of a sampling step, in days
102  double BitmapAspectScale; // Height of bitmap / Width of bitmap
103  int ts_age;
104  int DoSeverity; // Non-zero (true) if severity analysis should be done
105  double scalex, scaley; // Number of pixels per degree in bitmap output
109  double KernelShape, KernelScale, KernelP3, KernelP4, KernelDelta, MoveKernelShape, MoveKernelScale, MoveKernelP3, MoveKernelP4;
110  double AirportKernelShape, AirportKernelScale, AirportKernelP3, AirportKernelP4, AirportTrafficScale;
111  double R0, R0scale, LocalBeta;
112  double LatentPeriod; // In days. Mean of icdf (inverse cumulative distribution function).
113  double InfectiousPeriod; // In days. Mean of icdf (inverse cumulative distribution function).
114  double R0household, R0places, R0spatial;
115  double Seasonality[DAYS_PER_YEAR];
116  double SusceptibilitySD,InfectiousnessSD, R0DensityScalePower;
117  double ProportionSymptomatic[NUM_AGE_GROUPS], LatentToSymptDelay, SymptInfectiousness;
118  double SymptSpatialContactRate, SymptPlaceTypeContactRate[NUM_PLACE_TYPES], InhibitInterAdunitPlaceAssignment[NUM_PLACE_TYPES];
119  double SymptPlaceTypeWithdrawalProp[NUM_PLACE_TYPES], CaseAbsenteeismDuration, CaseAbsenteeismDelay;
120  double CaseAbsentChildPropAdultCarers;
121  double RelativeTravelRate[NUM_AGE_GROUPS], RelativeSpatialContact[NUM_AGE_GROUPS];
122  double AgeSusceptibility[NUM_AGE_GROUPS], AgeInfectiousness[NUM_AGE_GROUPS], InitialImmunity[NUM_AGE_GROUPS];
123  double WAIFW_Matrix[NUM_AGE_GROUPS][NUM_AGE_GROUPS];
124  double HotelPropLocal, JourneyDurationDistrib[MAX_TRAVEL_TIME], LocalJourneyDurationDistrib[MAX_TRAVEL_TIME];
125  double MeanJourneyTime, MeanLocalJourneyTime;
126  int PlaceCloseRoundHousehold; // Default 1 (close places around a household), 0 (off)
127  int AbsenteeismPlaceClosure; // Default 0 (off), 1 (on) track place closures in more detail
128  int MaxAbsentTime; // In days. Max number of days absent, range [0, MAX_ABSENT_TIME]. Default 0 if !P.AbsenteeismPlaceClosure, otherwise MAX_ABSENT_TIME
129  int InvJourneyDurationDistrib[1025], InvLocalJourneyDurationDistrib[1026];
130  double HouseholdTrans, HouseholdSizeDistrib[MAX_ADUNITS][MAX_HOUSEHOLD_SIZE], HouseholdTransPow;
131  double HouseholdDenomLookup[MAX_HOUSEHOLD_SIZE];
132  int PlaceTypeAgeMin[NUM_PLACE_TYPES], PlaceTypeAgeMax[NUM_PLACE_TYPES], PlaceTypeMaxAgeRead[NUM_PLACE_TYPES];
133  int PlaceTypeAgeMin2[NUM_PLACE_TYPES], PlaceTypeAgeMax2[NUM_PLACE_TYPES];
134  int PlaceTypeAgeMin3[NUM_PLACE_TYPES], PlaceTypeAgeMax3[NUM_PLACE_TYPES];
135  int PlaceTypeNearestNeighb[NUM_PLACE_TYPES], PlaceTypeKernelType[NUM_PLACE_TYPES];
136  double PlaceTypePropAgeGroup[NUM_PLACE_TYPES], PlaceTypePropAgeGroup2[NUM_PLACE_TYPES];
137  double PlaceTypePropAgeGroup3[NUM_PLACE_TYPES], PlaceTypeKernelShape[NUM_PLACE_TYPES], PlaceTypeKernelScale[NUM_PLACE_TYPES];
138  double PlaceTypeKernelP3[NUM_PLACE_TYPES], PlaceTypeKernelP4[NUM_PLACE_TYPES], PlaceTypeTrans[NUM_PLACE_TYPES];
139  double PlaceTypeMeanSize[NUM_PLACE_TYPES], PlaceTypePropBetweenGroupLinks[NUM_PLACE_TYPES], PlaceTypeSizeSD[NUM_PLACE_TYPES]; //added PlaceTypeSizeSD for lognormal distribution - ggilani 09/02/17
140  double PlaceTypeSizePower[NUM_PLACE_TYPES], PlaceTypeSizeOffset[NUM_PLACE_TYPES], PlaceTypeSizeMax[NUM_PLACE_TYPES];
141  double PlaceTypeGroupSizeParam1[NUM_PLACE_TYPES], PlaceExclusivityMatrix[NUM_PLACE_TYPES * NUM_PLACE_TYPES]; //changed PlaceExclusivityMatrix from [NUM_PLACE_TYPES][NUM_PLACE_TYPES]
142  double PropAgeGroup[MAX_ADUNITS][NUM_AGE_GROUPS], PopByAdunit[MAX_ADUNITS][2];
143  double InvLifeExpecDist[MAX_ADUNITS][1001];
144 
145  double PlaceCloseTimeStart, PlaceCloseTimeStart2, PlaceCloseDurationBase, PlaceCloseDuration, PlaceCloseDuration2, PlaceCloseDelayMean, PlaceCloseRadius, PlaceCloseRadius2;
146  double PlaceCloseEffect[NUM_PLACE_TYPES], PlaceClosePropAttending[NUM_PLACE_TYPES], PlaceCloseSpatialRelContact, PlaceCloseHouseholdRelContact;
147  double PlaceCloseCasePropThresh, PlaceCloseAdunitPropThresh, PlaceCloseFracIncTrig;
148  int DoHolidays, NumHolidays;
149  double HolidayEffect[NUM_PLACE_TYPES], HolidayStartTime[DAYS_PER_YEAR], HolidayDuration[DAYS_PER_YEAR];
150  double ColourPeriod, BoundingBox[4], BitmapScale;
151  double TreatSuscDrop, TreatInfDrop, TreatDeathDrop, TreatSympDrop, TreatDelayMean, TreatTimeStart, TreatPlaceGeogDuration;
152  double TreatProphCourseLength, TreatCaseCourseLength, TreatPropRadial, TreatRadius, TreatRadius2, TreatCellIncThresh;
153  double CaseIsolation_CellIncThresh, HHQuar_CellIncThresh, DigitalContactTracing_CellIncThresh;
154  double TreatPropCases, TreatPropCaseHouseholds, TreatHouseholdsDuration;
155  double TreatPlaceProbCaseId[NUM_PLACE_TYPES], TreatPlaceTotalProp[NUM_PLACE_TYPES];
156  double TreatMaxCoursesBase, TreatNewCoursesRate, TreatNewCoursesStartTime, TreatMaxCourses;
157  double VaccSuscDrop, VaccSuscDrop2, VaccInfDrop, VaccMortDrop, VaccSympDrop, VaccDelayMean, VaccTimeStart, VaccTimeEfficacySwitch, VaccTimeStartGeo;
158  double VaccTimeToEfficacy, VaccProp, VaccRadius, VaccRadius2, VaccMinRadius, VaccMinRadius2, VaccPropCaseHouseholds, VaccHouseholdsDuration, VaccMaxCoursesBase;
159  double VaccNewCoursesRate, VaccNewCoursesStartTime, VaccMaxCourses, VaccNewCoursesEndTime, VaccEfficacyDecay, VaccCellIncThresh, VaccCampaignInterval, VaccCoverageIncreasePeriod;
160  int VaccDosePerDay;
161  int EnhancedSocDistClusterByHousehold;
162 
163  double PreAlertControlPropCasesId, PostAlertControlPropCasesId, ControlPropCasesId;
164  double MoveRestrRadius, MoveRestrRadius2;
165  double MoveDelayMean, MoveRestrEffect, MoveRestrDuration, MoveRestrTimeStart;
166  double AirportCloseTimeStart, AirportCloseDuration, AirportCloseEffectiveness;
167 
168  double CaseIsolationDuration, CaseIsolationEffectiveness, CaseIsolationHouseEffectiveness;
169  double CaseIsolationDelay, CaseIsolationPolicyDuration, CaseIsolationProp;
170 
171  double HQuarantineTimeStart, HQuarantineDelay, HQuarantineHouseDuration, HQuarantinePolicyDuration, HQuarantinePropIndivCompliant;
172  double HQuarantinePropHouseCompliant, HQuarantinePlaceEffect[NUM_PLACE_TYPES], HQuarantineSpatialEffect, HQuarantineHouseEffect;
173 
174  double SocDistTimeStart, SocDistDuration, SocDistHouseholdEffect, SocDistPlaceEffect[NUM_PLACE_TYPES], SocDistSpatialEffect;
175  double EnhancedSocDistHouseholdEffect, EnhancedSocDistPlaceEffect[NUM_PLACE_TYPES], EnhancedSocDistSpatialEffect, EnhancedSocDistProportionCompliant[NUM_AGE_GROUPS];
176 
177  double SocDistChangeDelay, SocDistDuration2, SocDistHouseholdEffect2, SocDistPlaceEffect2[NUM_PLACE_TYPES], SocDistSpatialEffect2;
178  double EnhancedSocDistHouseholdEffect2, EnhancedSocDistPlaceEffect2[NUM_PLACE_TYPES], EnhancedSocDistSpatialEffect2;
179 
180  double SocDistDurationCurrent, SocDistHouseholdEffectCurrent, SocDistPlaceEffectCurrent[NUM_PLACE_TYPES], SocDistSpatialEffectCurrent;
181  double EnhancedSocDistHouseholdEffectCurrent, EnhancedSocDistPlaceEffectCurrent[NUM_PLACE_TYPES], EnhancedSocDistSpatialEffectCurrent;
182 
183  double SocDistRadius, SocDistRadius2;
184 
188 
190 
193  int Num_SD_ChangeTimes;
194  double SD_ChangeTimes [MAX_NUM_INTERVENTION_CHANGE_TIMES];
195  double SD_SpatialEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
196  double SD_HouseholdEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
197  double SD_PlaceEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES][NUM_PLACE_TYPES];
198  int SD_CellIncThresh_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
199 
201  double Enhanced_SD_SpatialEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
202  double Enhanced_SD_HouseholdEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
203  double Enhanced_SD_PlaceEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES][NUM_PLACE_TYPES];
204 
205  int Num_CI_ChangeTimes;
206  int Num_HQ_ChangeTimes;
207  int Num_PC_ChangeTimes;
208  int Num_DCT_ChangeTimes;
209 
211  double CI_ChangeTimes [MAX_NUM_INTERVENTION_CHANGE_TIMES];
212  double CI_SpatialAndPlaceEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
213  double CI_HouseholdEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
214  double CI_Prop_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
215  double CI_CellIncThresh_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
216 
218  double HQ_ChangeTimes [MAX_NUM_INTERVENTION_CHANGE_TIMES];
219  double HQ_SpatialEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
220  double HQ_HouseholdEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
221  double HQ_PlaceEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES][NUM_PLACE_TYPES];
222  double HQ_Individual_PropComply_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
223  double HQ_Household_PropComply_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
224  double HQ_CellIncThresh_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
225 
227  double PC_ChangeTimes [MAX_NUM_INTERVENTION_CHANGE_TIMES];
228  double PC_SpatialEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
229  double PC_HouseholdEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
230  double PC_PlaceEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES][NUM_PLACE_TYPES];
231  double PC_PropAttending_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES][NUM_PLACE_TYPES];
232  int PC_IncThresh_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
233  double PC_FracIncThresh_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
234  int PC_CellIncThresh_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
235  double PC_Durs_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
236 
238  double DCT_ChangeTimes [MAX_NUM_INTERVENTION_CHANGE_TIMES];
239  double DCT_SpatialAndPlaceEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
240  double DCT_HouseholdEffects_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
241  double DCT_Prop_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
242  int DCT_MaxToTrace_OverTime [MAX_NUM_INTERVENTION_CHANGE_TIMES];
243 
244  double KeyWorkerProphTimeStart, KeyWorkerProphDuration, KeyWorkerPropInKeyPlaces[NUM_PLACE_TYPES], KeyWorkerHouseProp;
245  double KeyWorkerProphRenewalDuration, KeyWorkerProphRadius, KeyWorkerProphRadius2;
246 
247  double TreatTimeStartBase, VaccTimeStartBase, MoveRestrTimeStartBase, PlaceCloseTimeStartBase, PlaceCloseTimeStartBase2,PlaceCloseTimeStartPrevious;
248  double AirportCloseTimeStartBase, HQuarantineTimeStartBase, CaseIsolationTimeStartBase, SocDistTimeStartBase, KeyWorkerProphTimeStartBase, DigitalContactTracingTimeStartBase;
249  double InfectionImportRate1, InfectionImportRate2, InfectionImportChangeTime, ImportInfectionTimeProfile[MAX_DUR_IMPORT_PROFILE];
250  double PreControlClusterIdTime, PreControlClusterIdCalTime, PreControlClusterIdHolOffset, PreIntervIdCalTime,PreIntervTime,SeedingScaling;
251  int PreControlClusterIdCaseThreshold, PreControlClusterIdCaseThreshold2, PreControlClusterIdUseDeaths, PreControlClusterIdDuration, DoAlertTriggerAfterInterv, AlertTriggerAfterIntervThreshold,StopCalibration,ModelCalibIteration;
252  int DoPerCapitaTriggers, DoGlobalTriggers, DoAdminTriggers, DoICUTriggers, MoveRestrCellIncThresh, DoHQretrigger;
253 
254  int PlaceCloseCellIncThresh, PlaceCloseCellIncThresh1, PlaceCloseCellIncThresh2, TriggersSamplingInterval, PlaceCloseIndepThresh, SocDistCellIncThresh, VaccPriorityGroupAge[2];
255  int PlaceCloseCellIncStopThresh, SocDistCellIncStopThresh;
256  int PlaceCloseAdunitPlaceTypes[NUM_PLACE_TYPES];
257 
258  int DoPlaceCloseOnceOnly, DoSocDistOnceOnly, DoMoveRestrOnceOnly, DoKeyWorkerProphOnceOnly;
259 
260  int VaccMaxRounds, VaccByAdminUnit, VaccAdminUnitDivisor, TreatByAdminUnit, TreatAdminUnitDivisor, MoveRestrByAdminUnit, MoveRestrAdminUnitDivisor, PlaceCloseByAdminUnit, PlaceCloseAdminUnitDivisor;
261  int KeyWorkerProphCellIncThresh, KeyWorkerPlaceNum[NUM_PLACE_TYPES], KeyWorkerPopNum, KeyWorkerNum, KeyWorkerIncHouseNum;
262  int DoBlanketMoveRestr, PlaceCloseIncTrig, PlaceCloseIncTrig1, PlaceCloseIncTrig2, TreatMaxCoursesPerCase, DoImportsViaAirports, DoMassVacc, DurImportTimeProfile;
263  int DoRecordInfEvents, MaxInfEvents, RecordInfEventsPerRun;
264  unsigned short int usHQuarantineHouseDuration, usVaccTimeToEfficacy, usVaccTimeEfficacySwitch;
265  unsigned short int usCaseIsolationDuration, usCaseIsolationDelay, usCaseAbsenteeismDuration, usCaseAbsenteeismDelay,usAlignDum; // last is for 8 byte alignment
266 
267  double KernelPowerScale, KernelOffsetScale;
268  int LimitNumInfections, MaxNumInfections;
269 
270  //Added parameters to deal with digital contact tracing - ggilani 09/03/2020
271  int DoDigitalContactTracing, ClusterDigitalContactUsers, NDigitalContactUsers, NDigitalHouseholdUsers, FindContactsOfDCTContacts, DoDCTTest;
272  int OutputDigitalContactTracing, OutputDigitalContactDist, DCTIsolateIndexCases, RemoveContactsOfNegativeIndexCase, MaxDigitalContactsToTrace;
273  double PropPopUsingDigitalContactTracing, ScalingFactorSpatialDigitalContacts, ScalingFactorPlaceDigitalContacts, DigitalContactTracingDelay, LengthDigitalContactIsolation, ProportionDigitalContactsIsolate, ProportionSmartphoneUsersByAge[NUM_AGE_GROUPS];
274  double DelayFromIndexCaseDetectionToDCTIsolation, DelayToTestIndexCase, DelayToTestDCTContacts, SpecificityDCT, SensitivityDCT;
275  double DigitalContactTracingPolicyDuration, DCTCaseIsolationHouseEffectiveness, DCTCaseIsolationEffectiveness;
276 
277  int DoOriginDestinationMatrix; //added: ggilani 28/01/15
278  int DoInterventionDelaysByAdUnit;
279 
280 
281  int OutputAge, OutputR0, OutputControls, OutputCountry, OutputAdUnitVar, OutputHousehold, OutputInfType, OutputNonSeverity, OutputSeverityAdminUnit, OutputSeverityAge, OutputNonSummaryResults;
282 
283  int MeanChildAgeGap; // Average gap between ages of children in a household, in years
284  int MinAdultAge; // The youngest age, in years, at which someone is considered to be an adult
285  int MaxMFPartnerAgeGap; // The largest number of years older than a female partner that a male partner can be
286  int MaxFMPartnerAgeGap; // The largest number of years older than a male partner that a female partner can be
287  int MinParentAgeGap; // The minimum number of years older than a child that a parent must be
288  int MaxParentAgeGap; // The maximum number of years older than a child that a parent can be
289  int MaxChildAge; // The maximum age, in years, of a child
290  int YoungAndSingle;
291  int NoChildPersAge;
292  int OldPersAge;
293  int OlderGenGap;
294  double OneChildTwoPersProb;
295  double TwoChildThreePersProb;
296  double OnePersHouseProbOld;
297  double TwoPersHouseProbOld;
298  double OnePersHouseProbYoung;
299  double TwoPersHouseProbYoung;
300  double OneChildProbYoungestChildUnderFive;
301  double TwoChildrenProbYoungestUnderFive;
302  double ProbYoungestChildUnderFive;
303  double ZeroChildThreePersProb;
304  double OneChildFourPersProb;
305  double YoungAndSingleSlope;
306  double ThreeChildFivePersProb;
307 };
308 
309 extern Param P;
310 
311 #endif // COVIDSIM_PARAM_H_INCLUDED_
double DCT_ChangeTimes[MAX_NUM_INTERVENTION_CHANGE_TIMES]
Definition: Param.h:238
DomainSize in_degrees_
Size of spatial domain in degrees.
Definition: Param.h:106
int NumRealisations
Definition: Param.h:35
double Enhanced_SD_SpatialEffects_OverTime[MAX_NUM_INTERVENTION_CHANGE_TIMES]
Definition: Param.h:201
double PC_ChangeTimes[MAX_NUM_INTERVENTION_CHANGE_TIMES]
Definition: Param.h:227
double Mean_MildToRecovery[NUM_AGE_GROUPS]
means for above icdf&#39;s.
Definition: Param.h:93
DomainSize in_microcells_
Size of spatial domain in microcells.
Definition: Param.h:108
double height_
The height.
Definition: Param.h:24
double HQ_ChangeTimes[MAX_NUM_INTERVENTION_CHANGE_TIMES]
Definition: Param.h:218
double width_
The width.
Definition: Param.h:21
int NCP
Definition: Param.h:53
Stores the parameters for the simulation.
Definition: Param.h:31
double SD_ChangeTimes[MAX_NUM_INTERVENTION_CHANGE_TIMES]
Definition: Param.h:194
Size of spatial domain in various units.
Definition: Param.h:18
int VaryEfficaciesOverTime
Definition: Param.h:189
double CI_ChangeTimes[MAX_NUM_INTERVENTION_CHANGE_TIMES]
Definition: Param.h:211
int PopSize
Definition: Param.h:33
int NumNonExtinctRealisations
Definition: Param.h:36
DomainSize in_cells_
Size of spatial domain in cells.
Definition: Param.h:107