covid-sim
Loading...
Searching...
No Matches
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
11enum BitmapFormats
12{
13 BF_PNG = 0, // PNG - default if IMAGE_MAGICK or _WIN32 defined
14 BF_BMP = 1 // BMP - fall-back
15};
16
19{
21 double width_;
22
24 double height_;
25};
26
31struct 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
309extern Param P;
310
311#endif // COVIDSIM_PARAM_H_INCLUDED_
Size of spatial domain in various units.
Definition Param.h:19
double height_
The height.
Definition Param.h:24
double width_
The width.
Definition Param.h:21
Stores the parameters for the simulation.
Definition Param.h:32
int PopSize
Definition Param.h:33
double Enhanced_SD_SpatialEffects_OverTime[MAX_NUM_INTERVENTION_CHANGE_TIMES]
Definition Param.h:201
DomainSize in_microcells_
Size of spatial domain in microcells.
Definition Param.h:108
int NCP
Definition Param.h:53
double PC_ChangeTimes[MAX_NUM_INTERVENTION_CHANGE_TIMES]
Definition Param.h:227
double Mean_MildToRecovery[NUM_AGE_GROUPS]
means for above icdf's.
Definition Param.h:93
int NumRealisations
Definition Param.h:35
DomainSize in_degrees_
Size of spatial domain in degrees.
Definition Param.h:106
DomainSize in_cells_
Size of spatial domain in cells.
Definition Param.h:107
double HQ_ChangeTimes[MAX_NUM_INTERVENTION_CHANGE_TIMES]
Definition Param.h:218
int NumNonExtinctRealisations
Definition Param.h:36
double SD_ChangeTimes[MAX_NUM_INTERVENTION_CHANGE_TIMES]
Definition Param.h:194
double CI_ChangeTimes[MAX_NUM_INTERVENTION_CHANGE_TIMES]
Definition Param.h:211
double DCT_ChangeTimes[MAX_NUM_INTERVENTION_CHANGE_TIMES]
Definition Param.h:238
int VaryEfficaciesOverTime
Definition Param.h:189