Evolvix Quest PandemicSociety101 ( Purpose: "Can the brunt of the ongoing Coronavirus slow-motion explosion in this pandemic be averted by changing the likelihoods of basic virus transmission steps by a factor that seems small enough to be accomplishable by a population of intelligent human beings who think that this is a goal worth pursuing?" """ ================================================================================================================================================================ Main InfoBlock for Evolvix Quest Model PandemicSociety101 QQ0r8p0_2020_06_20_Lion ================================================================================================================================================================ Thep purpose of this simulation model is to quantify enough aspects of the ongoing Coronavirus slow-motion explosion to answer a simple question: could it be stopped, even now? Rephrased in technical terms: Can the brunt of this pandemic be averted by changing the likelihoods of basic virus transmission steps by a factor that seems small enough to be reasonably be accomplishable for a population of intelligent human beings who think that this is a goal worth pursuing? This is first and foremost an epidmiological question about transmission probabilities, and once these are clearer, it becomes a question about what it might take to convince people that this is something worth doing. Next steps are to explore how the devlopment of bootcamps for fighting the coronavirus could help and which role wide interdisciplinary diversity-encouraging (wid-e) research must necessarily play in that context along with all other forms of research. If reducing transmission probabilities sufficiently requires such drastic factors that known microbiological practice can safely declare this impossible, then calling for the devlopment of such bootcamps would be to foster false hope. However, if a reduction of, say 10-fold here and 10-fold there could make a big difference, then maybe there is indeed reason to hope that an effective virosafe bootcamp for virosafety and the wid-e research it takes to develop it is indeed an investment worth making. Thus, the focus of the model below is on this elementary step of transmission, and in particular with an interest to highlight what we may need to understand in a more precise way for informing the development of virosafety bootcamps that are effective and efficient. Since the model is not yet fully developed, it comes with some infrastructure in preparation for the next steps, hence, readers are asked for some patience with naming conventions that could be simplified further if those next steps did not exist. ================================================================================================================================================================ Overview of the code for the PandemicSociety101 Model Quest below ================================================================================================================================================================ This is an ongoing Quest to be extended in more directions than can be described right here right now. The computer parseable code of this Quest contains these elements: - TimeSeries : 1 or more Query statements responsible for extracting data out of a running simulation and scheduling the automatic production of plots if R is installed (auto-opens pdfs at end) - Simulate : exactly 1 Task for simulating the Model given to answer the Queries about it (Evolvix prototype MMs0r3p1 used for running this code does not support more) - Model : Describes all the System that is being modeled in terms of randomly colliding Parts that engage in Actions when they do (at Rates _Rt), which are also specified as if they were Parts. Action () : Required Parts that have to exist before (disappear "-1") ------> Produced Parts (appear "+1") If the Amount of a RequiredPart is 0, then the Action cannot occur, as its propensity for occurring is given by the product of all Required Parts (propensity 0 => 0 probability of occurring). Initial Amount of PartName = 0 !L Sets the given PartName to the value specified at the beginning of each Run. Watch out for typos: The default setting for a new Part is an Amount of 0 and Parts can be introduced in any order anywhere; so typos in PartNames lead to new definitions (or so the compiler thinks), the source of countless hours spent in figuring out why the model does not work. This is a known problem that needs more attention in re-designing the Evolvix compiler (like many others too, which is why the present code is presented as a prototypic MockupModel release; not because the math underneath has not been tested, but rather because the syntax design and other foundational aspects of the compiler are not sufficiently stable to conform to the long-term stability standards envisioned for Evolvix. To minimize the impact of typos, many PartNames are constructed in ways to make them easier to align visually, which is exploited below to manage the complexity of the model. It may take a moment to learn how to read these names and so-aligned Actions, but once done this model can be navigated with surprising efficiency (assuming a sufficiently large screen). Use Search functions in the editor to find all instances of a particular Part to see how it is used or defined (or whether irregularities suggest typos). The order of statements in this Quest file does not matter for the Evolvix compiler (except within some local context, like TimeSeries). Mathematically, the Model described by the code below is what would be called a pure mass-action dynamics model, which is translated by the compiler into either an Ordinary Differential Equation solver (==> handed off to the Sundials solver IDAS dense) or a Stochastic Simulation Algorithm simulator (==> using the Sorting Direct Method, as described in Ehlert & Loewe (2014) Journal Chemical Physics. Computationally, careful with parameter choices: it is easy to specify a simulation that makes any computer take forever to run even a single simulation, sometimes inadvertedly. If in doubt, start with very short times in the "Simulate until" statement (on whatever timescale the model is specified), and be prepared to will the Worker (Simulator) processes in your computer; for reference, the workers are called "Worker_DAE_IDAS_Dense" and "Worker_SSA_SDM" in the OS. Time units must be uniform for all Rates and are used in TimeSeries Raw data and Plot PDFs; here everything is scaled in Rates of 1/day. See the main text of the accompanying research study and other documentation for more details. ================================================================================================================================================================ Use Search functions in your (plain-)text editor to find how a variable is used For the basics see the manual that comes with the simulator for which this code was written (Evolvix prototype MM slate 0 release 3 patch 1 (MMs0r3p1). ================================================================================================================================================================ ================================================================================================================================================================ The Time Line of how a Coronavirus unfolds its impact through COVID-19 as assumed by this model ================================================================================================================================================================ -------------------------------------------------------------------------------------------------------------------------------------- ### The Individual Names given here are good for search/finding additional interesting Parts to observe from the Model code below #### -------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------- State Test Exp Summarizing Definition for Core ViroStatus of Persons in PandemicSociety101, Scenario 1 QQ0r2p0_2020_06_20_Lion ------------------------------------------------ State of Virus Infection ------------------------------------------------------------ Susceptible -- Susceptible to Catch Infect of Virus genome Vg00 [0S K0 KS] from Places Shared; other states cannot be infected Starts0grow 1d Starting virus growth (deterministic for Vg chosen); not yet infectious; co-infection & recombination impossible ----------- 100% -- --- 1. Simplified TestingFlow FORCES a test for all individuals entering Infect1Hide to check for linear fooling Infect1Hide 2d Infectious, high virus sheds are hidden; no symptoms, status hidden; TestA is pos TestB is neg Infect2Anti 3d Infectious, high virus sheds stay hidden; no symptoms, status hidden; TestA is pos TestB is pos 100% --- 2. Simplified TestingFlow enforced for all Infect3Mild to explore linear fooling (not for capacity planning) Infect3Mild 2w Infectious, high virus sheds as people react to illness symptoms virus defense may go up; Test PCR pos AntiB pos ---------------- --- Beyond here COVID becomes severe enough to require HOSpitalBED-ICU care; assumed const best care, no errors Infect4StrongHOS 2w Infectious, Strong symptoms, holds hospital bed; would live at home; looks like Infect5CritclBED Infect5CritclBED 2w Infectious, Critcl symptoms, needs hospital bed or dies Infect6DeadlyICU 2w Infectious, Deadly symptoms, needs IntensiveCareUnit or dies Infect7ExpectICU 2w Infectious, Expect death as deadly symptoms are even beyond ICU ability to help; symptoms like Infect6DeadlyICU ---------------- --- Removed from pandemic: individuals either Healed to Recover or Died outof/in hospitals; cannot be reinfected RecoveredHealthC -- Recovered by health care in hospital; assumed immune now RecoveredOutside -- Recovered outside; assumed immune now Died_preHospital -- All deaths occuring above up to including Infect3Mild, but none after, i.e. none in hospital by definition Died_in_Hospital -- All deaths from only the later stages of COVID (assumed in hospital, see Infect4StrongHOS to Infect7ExpectICU) -------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------- !l ####################============================================================================================================================================================#################### !l ####################============================================================================================================================================================#################### !l Ready-set-go Notable parameter combinations !l ####################============================================================================================================================================================#################### !l ####################============================================================================================================================================================#################### !l ####################============================================================================================================================================================#################### !L Population size options to choose from - for initial explorations (3 semi-empirical from the 2020 pandemic in USA, 3 other) !L with adaptations to ViroLoad Settings for easier comparability to SIR ODE concentration models !l ####################============================================================================================================================================================#################### !L PopSize_1 InPUT 1. USA 2020-02-14 Infect 16 of 330e6: From there: Infect 16 to HalfMax ==> log(165e6/16 , base = 2) = 23.29789 Doublings !L Scenario_1 Note: In this code: 16 is used here at Feb 14 for historic idiosyncratic reasons even though it was "only" 13 infections on that day according to CDC data; !L the differences are immaterial (move everything by a few days for an equivalent scenario; hence the effort to change the code consistently has been postponed) Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 16 Initial Amount of Susceptible_Amateur_Edge = 3.30e8 !L 16 Infected on 2020-02-14 of 330 Mio in USA (2020-01-01); Initial Amount of Sum_Infections_All = 16 Initial Amount of HalfPopulation = 1.65e8 !L 16 Adjusts late start 2020-02-14 in plots; 165 Mio HalfMax for plotting Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 3.030303e-09 !L Fragile 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L USA Extrapolations for orientation of doubling times at historical precedents and for choosing interesting times for how long to run the simulations (i.e. see enough, but not too much to avoid data swamping): !L Empirical Doubling Times (DT) From Date Infect to Date Infect = days and (calc) Doublings suggesting this empirical Doubling Time !L PopSize_1 InPUT 1. USA 2020-02-14 16 2020-03-27 1e5 14+27 = 41 log(1e5/16 , base = 2) = 12.60964 41 /12.6 = 3.25396 !L PopSize_2 InPUT 2. USA 2020-02-14 16 2020-05-17 1.5e6 14+31+30+17 = 92 log(1.5e6/16 , base = 2) = 16.51653 92 /16.5 = 5.57575 !L PopSize_3 InPUT 3. USA 2020-03-27 1e5 2020-05-17 1.5e6 5+30+17 = 52 log(1.5e6/1e5 , base = 2) = 3.906891 52 / 3.9 = 13.33333 !L Interesting Forecasting times (Extrapolations to HalfMax) !L Date Infect to Halfmax (165e6) in days assuming DT 3 d Min | DT 7 d mid | DT 14 d hi | DT 30 d Max | Doublings: !L From 2020-05-17 1.5e6 6.8*3 DT= 20.4 d | 6.8*7= 47.6 d | 6.8*14= 95.2 d | 6.8*30= 204 d | log( 165.0e6 /1.5e6 , base = 2) = 6.78136 (from mid May to HalfMax) !L PopSize_2 InPUT 2. USA 2020-03-27 Infect 1e5 of 330e6: From there: Infect 1e5 to HalfMax ==> log(165e6/1e5 , base = 2) = 10.68825 Doublings !L used as starting point in first simple HalfMaxClock prediction figure in paper Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 1e5 Initial Amount of Susceptible_Amateur_Edge = 3.30e8 !L 1e5 Infected on 2020-03-27 of 330 Mio in USA (2020-01-01); Initial Amount of Sum_Infections_All = 1e5 Initial Amount of HalfPopulation = 1.65e8 !L 1e5 Adjusts late start 2020-03-27 in plots; 165 Mio HalfMax for plotting Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 3.030303e-09 !L Fragile 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 329.967e6 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 33e3 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L PopSize_3 InPUT 3. USA 2020-05-17 Infect 1.5e6 of 330e6: From there: Infect 1.5e6 to HalfMax ==> log(165e6/1.5e6 , base = 2) = 6.78136 Doublings (measured DT from ouptut is ca 4.72 Days) !L Scenario_2 used to predict options for moving forward in the USA (stoch runs show minimal variation and take ca 3 hours...) Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 1.5e6 Initial Amount of Susceptible_Amateur_Edge = 3.285e8 !L 1.5e6 Infected on 2020-05-17 of 330 Mio in USA (2020-01-01); Initial Amount of Sum_Infections_All = 1.5e6 Initial Amount of HalfPopulation = 1.65e8 !L 1.5e6 Adjusts late start 2020-05-17 in plots; 165 Mio HalfMax for plotting Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 3.030303e-09 !L Dura 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 329.5e6 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0.5e6 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L PopSize_4 InPUT 4. World 2020 in general Infect 16 of 7.8e9 --- From Infect 16 to HalfMax ==> log(3.9e9/16 , base = 2) = 27.86083 Doublings Sources: size = 7.8e9 https://www.worldometers.info/world-population/ 7.8 billion (UNO counted) or https://www.census.gov/popclock/ 7.7 billion (US counted) !L Scenario_10 : what would the model of Scenario_1 predict for the world? Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 16 Initial Amount of Susceptible_Amateur_Edge = 7.8e9 !L 16 Infected on 2020-02-14 of 7.8e9 in World (2020-06-20); Initial Amount of Sum_Infections_All = 16 Initial Amount of HalfPopulation = 3.9e9 !L 16 Adjusts late start 2020-02-14 in plots; 3.9e9 HalfMax for plotting Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 7.8e9 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 1.282051e-10 !L Dura 1.282051e-10 Dice = 1/Aces 7.8e9 adjusted to population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 7.8e9 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L PopSize_5 InPUT 5. County or Half-Million city prediction for 500e3 size --- From Infect 16 to HalfMax ==> log(500e3/16 , base = 2) = 14.93157 Doublings Sources: size = 500e3 (approximating the 546.7 thousand in Dane, Wisconsin as example, https://en.wikipedia.org/wiki/Dane_County%2C_Wisconsin ) !L Scenario_100 : what would the model of Scenario_1 predict for a half-million city? (Stoch runs take ony 30 sec ca) Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 16 Initial Amount of Susceptible_Amateur_Edge = 500e3 !L 16 Infected on 2020-02-14 of 500e3 Initial Amount of Sum_Infections_All = 16 Initial Amount of HalfPopulation = 250e3 !L 16 Adjusts late start 2020-02-14 in plots; 250e3 HalfMax for plotting Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 500e3 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 2e-06 !L Dura 2e-06 Dice = 1/Aces 500e3 adjusted to population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 500e3 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L PopSize_6 InPUT 6. Prison prediction for 1000 sized facility in general Infect 16 of 1000 --- From Infect 16 to HalfMax ==> log(500/16 , base = 2) = 4.965784 Doublings Sources: 1000 sized facility (as in some typical Wisconsin prison example, often in the country side, where the density of hospitals is low ) https://en.wikipedia.org/wiki/List_of_Wisconsin_state_prisons !L Scenario_1000 : what would the model of Scenario_1 predict for a Prison? (Warning: the numbers here are so small, that stochastic simulatons have to be used, even if all other parameters are fixed; this is no problem with Evolvix, see simulate statement) Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 16 Initial Amount of Susceptible_Amateur_Edge = 1000 !L 16 Infected on 2020-02-14 of 1000 Initial Amount of Sum_Infections_All = 16 Initial Amount of HalfPopulation = 500 !L 16 Adjusts late start 2020-02-14 in plots; 500 HalfMax for plotting Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 1000 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 0.001 !L Dura 0.001 Dice = 1/Aces 1000 adjusted to population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 1000 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !l ####################============================================================================================================================================================#################### !l ####################============================================================================================================================================================#################### !L Virus-load concentration is determined by the ASHA_Places Dice, which depends on the maximal number of PlAces in the ASHA. Thus, it must be adjusted accordingly to the overall population size of susceptibles to make it comparable to SIR models. (See comment above), i.e. downstream comments refer back to this comment. !L Size options to choose from are initially set such that for each person in the population there is 1 (potential) virus packet. !L Thus, the following 4 parameters MUST be manually adjusted, whenever the total max population size of susceptibles is changed below. !L If that is not done, then the same effect can be reached by increasing the Shed and Catch rates accordingly (else Decay will destroy the virus faster than it can trigger a pandemic). !L Since all we really know is that this virus can trigger a pandemic with doubling times down to less than 3 days, the detailed values for ViroLoad size, Shed, Catch, and Drop do not really matter for the main point of this paper (i.e. this virus is dangerous in other ways than we think as herd immunity does not exist, and we also do not need it to end the pandemic). !L ViroLoad____USAsized InPUT ViroLoad Setting adapted to US population size for easier comparability to SIR ODE concentration models Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 3.030303e-09 !L Dura 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 3.030303e-09 !L Fragile 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !l ####################============================================================================================================================================================#################### ================================================================================================================================================================ Testing Facilities for Testing ================================================================================================================================================================ !l ###################################################### !l Experimenting with Testing frequency for users: !l Parameters chosen as reasonably realistic point estimate in light of the modeling goal and available data: !l An expectation of 1 test / day is the point of "daily capacity" of a testing pipeline. However, if !l some quick experimentation with throughput is desired, turning up the daily rate for the pipeline of 100,000 deterministic !l tests is a quick fix. Tests are collected by TestFlow_1_Forced_from_Infect1Hide_All immediately after hidden growth has !l established infectiousness (ca 1 day after catching the virus and before any chance of recovery or death): !l Search for TestFlow_1_Forced_from_Infect1Hide_All in this file to find more details. !l The keyy parameters of this test are defined in the next 2 lines, and observed Summary Count Parts can easily be added to the !l TimeSeries plots by adding these parts: Sum_TestLab_1_Done , Sum_TestLab_1_Missed , Sum_TestRe2_Missed , Sum_TestRe2_Done , (search for them in the file for more details: ) !l The following two parameters are the most interesting to modify first when exploring testing: !l Initial Amount of TestRe1_Missed_Rt = 0.1 !L Let's assume that after 10 days a test is Missed for being too late (probably too generous) Initial Amount of Test_1_DoDaily_Rt = 1 !L This is sort-of the point of a "daily testing capacity" !l ================================================================================================================================================================ End of Main InfoBlock for Evolvix Quest Model PandemicSociety101 QQ0r8p0_2020_06_20_Lion ================================================================================================================================================================ """ Modified by Lion_Laurence_Loewe on 2020-06-20 version v0r8p1 !L QQ0r8p1_2020_06_20_Lion Late-Naming-Stunt: Exchange Drop by Shed as suggested by Millard Susman after reviewing the Model overview figure (ran OK) ... and other changes. Modified by Lion_Laurence_Loewe on 2020-06-08 version v0r8p0 !L QQ0r8p0_2020_06_08_Lion Rerun- core-results beyond Scenario 1+2 for the paper (e.g. interpolating between irregular TS is faster in Evolvix (re-record) than in Excel). Modified by Lion_Laurence_Loewe on 2020-05-20 version v0r7p0 !L QQ0r7p0_2020_05_20_Lion Clean up to submit with paper. Modified by Lion_Laurence_Loewe on 2020-05-19 version v0r5p0 !L PP0r5p0_2020_05_19_Lion SIR core of pandemic now finally works after fixing a weird scaling problem. Created by Lion_Laurence_Loewe on 2020-04-30 version v0r1p15 !L NN0r0p5_2020_04_30_Lion Get SIR core of CoronavirusPandemic set up and lay the infrastructure for efficiently working with it. ) !L ******** End of Quest Statement with mini Documentation ************** !L FYI: !L This is a one line comment !-- This can be a multi-line comment that must be closed to be symmetric --! !L *********** This Quest-code file was constructed to make activation and deactivation by outcommenting reasonably efficient; using it as such is well worth the time to 'get into' the structure. !L *********** The compiler sees !L LineComments and !-- NestedComments --! and the compiler will ignore all such text (i.e. it is as if this part of the file never existed for the respective Evolvix run). !l ############################################################################# !l ############################################################################# !l ######################################################################################### End Quest Statement --- Start Query and Task Statements ########## !l ############################################################################# !l ############################################################################# !l ############################################################################# !l ############################################################################# !l ################################################################################################################################################################################### Start Time Series Plotting Statements Library ####################### !l ############################################################################# !l ############################################################################# !l ============================================================================================================================================================ !l Overview Query TimeSeries Statement !l ============================================================================================================================================================ !l TimeSeries : Do not use comments within TimeSeries Statemenents; see explanations at the bottom of this file on how to use it ##################### TimeSeries ( Report Separately the Amount of Part Starts0grow_Amateur_Edge_Vg00 , Infect1Hide_Amateur_Edge_Vg00 , Infect2Anti_Amateur_Edge_Vg00 , Infect3Mild_Amateur_Edge_Vg00 , Infect4StrongHOS_Amateur_Edge_Vg00 , Infect5CritclBED_Amateur_Edge_Vg00 , Infect6DeadlyICU_Amateur_Edge_Vg00 , Infect7ExpectICU_Amateur_Edge_Vg00 , Sum_GrowTo_1_All , Sum_GrowTo_2_All , Sum_GrowTo_3_All , Sum_GrowTo_4_All , Sum_GrowTo_5_All , Sum_GrowTo_6_All , Sum_GrowTo_7_All , Sum_HealAt_0_All , Sum_HealAt_1_All , Sum_HealAt_2_All , Sum_HealAt_3_All , Sum_HealAt_4_All , Sum_HealAt_5_All , Sum_HealAt_6_All , Sum_KillAt_1_All , Sum_KillAt_2_All , Sum_KillAt_3_All , Sum_KillAt_4_All , Sum_KillAt_5_All , Sum_KillAt_6_All , Sum_KillAt_7_All , Sum_TestLab_1_Done , Sum_TestLab_1_Missed , TestLab_1_PlacesBusy , Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Died_preHospital_All , Sum_Died_in_Hospital_All , Sum_Infections_Fragile_All , Sum_Infections_Durable_All , Sum_Infections_All , Sum_Killed_All , Sum_Healed_All , HalfPopulation Report whenever values change by 2 [ % Relative Difference ] ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L ######## End of this TimeSeries Query - others may be added below or above ################################################################################## !l ################################################################################################################################################# Pointer to TimeSeries Syntax Manual Excerpt ############################## !l At the end of this Quest file there is a TimeSeries syntax Excerpt from the manual of Evolvix prototype MM0.3.1 (copied there for convenience and with adaptations for this model to accelerate extracting interesting data from it. Also added: Minor improvements to explanations as of 2020-05-16) !l ################################################################################################################################################# Pointer to TimeSeries Syntax Manual Excerpt ############################## !-- Move out of the comment to activate: !l ============================================================================================================================================================ !l Additional Query TimeSeries Statements - more specialized (see end of file for additional such templates) !l ============================================================================================================================================================ !L ##### Extra-Info TimeSeries reports used during analysis, but here deactivated to avoid too much swamping with results data that is usually only of little interest (except the rare cases where it is really needed). !L ##### These Timeseries are important for some more specialized queries, but do not have to be run for the usual first pandemic overview analysis !L ##### Some special use Queries for some plots in the paper: !L ##### Data for Death Rate calculations ### we need regular recording of Amounts (so they can be added easily later in Excel): !L ===> use the regular TimeSeries statement (see manual below and the following example): !l TimeSeries : Do not use comments within TimeSeries Statemenents; see explanations at the bottom of this file on how to use it ##################### TimeSeries 3 ( Report Separately the Amount of Part Sum_Infections_All , Sum_Killed_All , Sum_Healed_All , Sum_GrowTo_3_All , Sum_KillAt_3_All , Sum_HealAt_3_All , Sum_GrowTo_4_All , Sum_Died_in_Hospital_All , Sum_RecoveredHealthC_All , Sum_Infections_All Report whenever times change by 0.5 :[ "days" ] !L this is by interval ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L ######## End of this TimeSeries Query - others may be added below or above ################################################################################## !L Susceptible_Amateur_Edge , Sum_Infections_All , Starts0grow_Amateur_Edge_Vg00 , ASHA_With_ViroLoad_Durable_Vg00 !L ##### Data for Flux of Death calculations ### we need the derivative of the respective sums to get to daily fluxes (without adding many parts to the code below): !l TimeSeries : Do not use comments within TimeSeries Statemenents; see explanations at the bottom of this file on how to use it ##################### TimeSeries ( Report Separately the Flux of Part Sum_KillAt_1_All , Sum_KillAt_2_All , Sum_KillAt_3_All , Sum_KillAt_4_All , Sum_KillAt_5_All , Sum_KillAt_6_All , Sum_KillAt_7_All , Sum_Died_preHospital_All , Sum_Died_in_Hospital_All , Sum_Killed_All , Sum_HealAt_0_All , Sum_HealAt_1_All , Sum_HealAt_2_All , Sum_HealAt_3_All , Sum_HealAt_4_All , Sum_HealAt_5_All , Sum_HealAt_6_All , Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Healed_All , Sum_Infections_All Report whenever values change by 2 [ % Relative Difference ] ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L ######## End of this TimeSeries Query - others may be added below or above ################################################################################## !L Susceptible_Amateur_Edge , Sum_Infections_All , Starts0grow_Amateur_Edge_Vg00 , ASHA_With_ViroLoad_Durable_Vg00 !l ##### Special TimeSeries For outsize parts ############################################################################################################ TimeSeries ( Report Separately the Amount of Part Susceptible_Amateur_Edge From 30 :["days"] Until 400 :["days"] Ignore values below 0 Ignore values above 1e6 Report whenever values change by 1 [ % Relative Difference ] ) !L ################# !L Only Fixed Times Requested: Switch off all reporting except for Amount and Flux of values defined explicitly below !L TS1, TS 2 The trick is to cut all unnecessary data using the Ignore , From , and Until clauses. !L Due to a quirk in this prototype, the "Report whenever values change" clause is still needed !L and this trick does not work for singling out the "Report times when crossing values" output, !L For 4 day testing intervals which is still mixed into the output of the general time series; hence filtering left for users. !L Basic PandemicSociety101 scenario for showing Amount = compounded total only at the requested points TimeSeries 1 ( Report Separately the Amount of Part Susceptible_Amateur_Edge , ASHA_With_ViroLoad_Fragile_Vg00 , ASHA_With_ViroLoad_Durable_Vg00 , Sum_Decay_Fragile_All , Sum_Decay_Durable_All , Sum_Decay_All , Sum_TestLab_1_Done , Sum_TestLab_1_Missed , TestLab_1_PlacesBusy , Sum_TestRe2_Done , Sum_TestRe2_Missed , ASHA_With_ViroTest_Lab_Activity , Sum_Infections_All , Sum_Killed_All , Sum_Healed_All From 0 :["days"] Until 0 :["days"] Ignore values below 0 Ignore values above 0 Report whenever values change by 5 [% Relative Difference] Report values when crossing times 4, 8, 12, 16,20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116,120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 200 , 204, 208, 212, 216,120, 224, 228, 232, 236, 240, 244, 248, 252, 256, 260, 264, 268, 272, 276, 280, 284, 288, 292, 296, 300 , 304, 308, 312, 316,120, 324, 328, 332, 336, 340, 344, 348, 352, 356, 360, 364, 368, 372, 376, 380, 384, 388, 392, 396, 400 , 500 ,600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 20000, 30000, 40000, 50000, 100000 ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). --! !l =================================================================================================================================================================================================== !l Extra Material for Query TimeSeries Statements - more specialized ######### below is outcommented for easy switching on/off of !l reporting of INDIVIDUAL PARTS WITHIN TimeSeries by copy/paste !l =================================================================================================================================================================================================== !-- TimeSeries storage for temporary deactivated code: !l ############################################################################# Summary overviews #### <<< more important << vs >> less important >> ########### !L ##### Other Plot-worthy Parts to observe (configure your own time-series statements): Susceptible_Amateur_Edge , Sum_Infections_All , Starts0grow_Amateur_Edge_Vg00 , ASHA_With_ViroLoad_Durable_Vg00 Sum_TestRe2_Done , Sum_TestRe2_Missed , ASHA_With_ViroTest_Lab_Activity , ASHA_With_ViroLoad_Fragile_Vg00 , ASHA_With_ViroLoad_Durable_Vg00 , Sum_Shed_Fragile_At1_Vg00_All , Sum_Shed_Fragile_At2_Vg00_All , Sum_Shed_Fragile_At3_Vg00_All , Sum_Shed_Fragile_At4_Vg00_All , Sum_Shed_Fragile_At5_Vg00_All , Sum_Shed_Fragile_At6_Vg00_All , Sum_Shed_Fragile_At7_Vg00_All , Sum_Shed_Durable_At1_Vg00_All , Sum_Shed_Durable_At2_Vg00_All , Sum_Shed_Durable_At3_Vg00_All , Sum_Shed_Durable_At4_Vg00_All , Sum_Shed_Durable_At5_Vg00_All , Sum_Shed_Durable_At6_Vg00_All , Sum_Shed_Durable_At7_Vg00_All , Sum_Decay_Fragile_All , Sum_Decay_Durable_All , Sum_Decay_All , Sum_Shed_Fragile_At1_Vg00_All , Sum_Shed_Durable_At1_Vg00_All , Sum_Shed_Fragile_At2_Vg00_All , Sum_Shed_Durable_At2_Vg00_All , Sum_Shed_Fragile_At3_Vg00_All , Sum_Shed_Durable_At3_Vg00_All , Sum_Shed_Fragile_At4_Vg00_All , Sum_Shed_Durable_At4_Vg00_All , Sum_Shed_Fragile_At7_Vg00_All , Sum_Shed_Durable_At7_Vg00_All , !l TimeSeries : Do not use comments within TimeSeries Statemenents; see explanations at the bottom of this file on how to use it ##################### TimeSeries ( Report Separately the Amount of Part Starts0grow_Amateur_Edge_Vg00 , Infect1Hide_Amateur_Edge_Vg00 , Infect2Anti_Amateur_Edge_Vg00 , Infect3Mild_Amateur_Edge_Vg00 , Infect4StrongHOS_Amateur_Edge_Vg00 , Infect5CritclBED_Amateur_Edge_Vg00 , Infect6DeadlyICU_Amateur_Edge_Vg00 , Infect7ExpectICU_Amateur_Edge_Vg00 , Sum_GrowTo_1_All , Sum_GrowTo_2_All , Sum_GrowTo_3_All , Sum_GrowTo_4_All , Sum_GrowTo_5_All , Sum_GrowTo_6_All , Sum_GrowTo_7_All , Sum_HealAt_0_All , Sum_HealAt_1_All , Sum_HealAt_2_All , Sum_HealAt_3_All , Sum_HealAt_4_All , Sum_HealAt_5_All , Sum_HealAt_6_All , Sum_KillAt_1_All , Sum_KillAt_2_All , Sum_KillAt_3_All , Sum_KillAt_4_All , Sum_KillAt_5_All , Sum_KillAt_6_All , Sum_KillAt_7_All , ASHA_With_ViroLoad_Fragile_Vg00 , ASHA_With_ViroLoad_Durable_Vg00 , Sum_Shed_Fragile_At1_Vg00_All , Sum_Shed_Fragile_At2_Vg00_All , Sum_Shed_Fragile_At3_Vg00_All , Sum_Shed_Fragile_At4_Vg00_All , Sum_Shed_Fragile_At5_Vg00_All , Sum_Shed_Fragile_At6_Vg00_All , Sum_Shed_Fragile_At7_Vg00_All , Sum_Shed_Durable_At1_Vg00_All , Sum_Shed_Durable_At2_Vg00_All , Sum_Shed_Durable_At3_Vg00_All , Sum_Shed_Durable_At4_Vg00_All , Sum_Shed_Durable_At5_Vg00_All , Sum_Shed_Durable_At6_Vg00_All , Sum_Shed_Durable_At7_Vg00_All , Sum_Decay_Fragile_All , Sum_Decay_Durable_All , Sum_Decay_All , Sum_Infections_Fragile_All , Sum_Infections_Durable_All , Sum_Infections_All , HalfPopulation , Sum_TestLab_1_Done , Sum_TestLab_1_Missed , TestLab_1_PlacesBusy , Sum_TestRe2_Done , Sum_TestRe2_Missed , ASHA_With_ViroTest_Lab_Activity , Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Died_preHospital_All , Sum_Died_in_Hospital_All , Sum_Infections_All , Sum_Killed_All , Sum_Healed_All Report whenever values change by 1 [ % Relative Difference ] ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L ######## End of this TimeSeries Query - others may be added below or above ################################################################################## --! !l ################################## Above Convenient summaries + parameters for observation in TimeSeries, ready to copy+paste ####################################################################### !l ############################################################################# !l ############################################################################# !l ################################################################################################################################################################################### End Time Series Plotting Statements Library ####################### !l ############################################################################# !l ############################################################################# !l ############################################################################################################################################################################################################ !l ############################################################################################################################################################################################################ !l ############################################################################################################################################################################################################ !l #################################################################################################################################################################################################################################### Simulation Statement ############################## !l ============================================================================================================================================================ !l Task Statement (does all the work to parse, compile, reorganize the model, run the simulations, and present the results requested by each Query) !l ============================================================================================================================================================ !L *** Simulation Task ( only 1 of the 2 at a time! ) **** deactivate by outcommenting using !L LineComments or !-- NestedComments --! and the compiler will ignore all such text. !L Simulate deterministically until 200 :["days"] !L 20 useful times to look at: 20 50 100 150 200 300 400 1000 Simulate deterministically until 200 :["days"] !L 20 useful times to look at: 20 50 100 150 200 300 400 1000 !L Careful with stochastic runs: they may take a LONG TIME and use LOTS of HARD-DISK-space! (For example, the Flux of Sum of Death stages reported as ODE results can create 3.4 GB for a single Run (of mostly useless noise), so start slowly... !L Simulate stochastically until 200 :["days"] !L ALWAYS start with small times in case a parameter combination would run unintentionally forever, especially the stochastic runs! !l #################################################################################################################################################################################################################################### Simulation Statement ############################## !l ############################################################################################################################################################################################################ !l ############################################################################################################################################################################################################ !l ############################################################################################################################################################################################################ !l ############################################################################################################################################################################################################ !l ############## Simulation Settings Easiest to change for users in PandemicSociety101 ############# InPUT: Incoming Parameter Use Tables Main Start ####################### !l ############################################################################################################################################################################################################ !l ============================================================================================================================================================ !l Core InPUT Settings for Virus Transmission - The ACTIVE core InPUT (Incoming Parameter Use Table) !l ============================================================================================================================================================ !L *** Key InPUT values governing the core of what the virus does are here (more details are further down in the code, but are less influential for virus spread): !L Scenario_1 USA_Feb_2020 : How long until the USA are infected? Start with 16 (and no virus in environment) 200 day simulation !L Equivalent to virus-safety in Option A of Scenario 2 (i.e. Shed, Decay, Catch rates are 0.5 for Durable viruses and Fragile Load is switched off) !L ODE and SSA results: (see main text of the paper + figures presenting this as the main model) !L Simulate deterministically until 200 :["days"] !L 200 useful times to look at: !L Simulate stochastically until 200 :["days"] !L 200 useful times to look at: --- ca 3h compute time for each SSA single repeat run; variation is minimal (see main result of paper) !L Virus-load concentration is determined by the ASHA_Places Dice, which depends on the maximal number of PlAces in the ASHA. Thus, it must be adjusted accordingly to the overall population size of susceptibles to make it comparable to SIR ODE concentration models. (See comment above) !L ViroLoad InPUT Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 3.030303e-09 !L Dura 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 3.030303e-09 !L Fragile 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L PopSize_1 InPUT 1. USA 2020-02-14 Infect 16 of 330e6: From there: Infect 16 to HalfMax ==> log(165e6/16 , base = 2) = 23.29789 Doublings !L Scenario_1 Note: In this code: 16 is used here at Feb 14 for historic idiosyncratic reasons even though it was "only" 13 infections on that day according to CDC data; !L the differences are immaterial (move everything by a few days for an equivalent scenario; hence the effort to change the code consistently has been postponed) Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 16 Initial Amount of Susceptible_Amateur_Edge = 3.30e8 !L 16 Infected on 2020-02-14 of 330 Mio in USA (2020-01-01); Initial Amount of Sum_Infections_All = 16 Initial Amount of HalfPopulation = 1.65e8 !L 16 Adjusts late start 2020-02-14 in plots; 165 Mio HalfMax for plotting !L USA Extrapolations for orientation of doubling times at historical precedents and for choosing interesting times for how long to run the simulations (i.e. see enough, but not too much to avoid data swamping): !L Empirical Doubling Times (DT) From Date Infect to Date Infect = days and (calc) Doublings suggesting this empirical Doubling Time !L PopSize_1 InPUT 1. USA 2020-02-14 16 2020-03-27 1e5 14+27 = 41 log(1e5/16 , base = 2) = 12.60964 41 /12.6 = 3.25396 !L PopSize_2 InPUT 2. USA 2020-02-14 16 2020-05-17 1.5e6 14+31+30+17 = 92 log(1.5e6/16 , base = 2) = 16.51653 92 /16.5 = 5.57575 !L PopSize_3 InPUT 3. USA 2020-03-27 1e5 2020-05-17 1.5e6 5+30+17 = 52 log(1.5e6/1e5 , base = 2) = 3.906891 52 / 3.9 = 13.33333 !L Interesting Forecasting times (Extrapolations to HalfMax) !L Date Infect to Halfmax (165e6) in days assuming DT 3 d Min | DT 7 d mid | DT 14 d hi | DT 30 d Max | Doublings: !L From 2020-05-17 1.5e6 6.8*3 DT= 20.4 d | 6.8*7= 47.6 d | 6.8*14= 95.2 d | 6.8*30= 204 d | log( 165.0e6 /1.5e6 , base = 2) = 6.78136 (from mid May to HalfMax) !L Ratio = 1 (same InPUT as in Scenario_1) Initial Amount of Shed_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !-- !l ####################============================================================================================================================================================#################### !l ####################============================================================================================================================================================#################### !l Ready-set-go Usable parameter combinations Copy-Paste into the non-outcommented area above !l ####################============================================================================================================================================================#################### !l ####################============================================================================================================================================================#################### !l =============================================================================================================================================================================================================== !l Official Scenario Collection as discussed in the paper. !l Copy the Scenario of interest from below as a block into the place above and it should all run OK !l to reproduce the figures of the paper (.... except for floating-poing hardware differences and the precise stochastic results of course, which depend on random number generation) !l =============================================================================================================================================================================================================== !L Scenario_1 USA_Feb_2020 : How long until the USA are infected? Start with 16 (and no virus in environment) 200 day simulation !L Equivalent to virus-safety in Option A of Scenario 2 (i.e. Shed, Decay, Catch rates are 0.5 for Durable viruses and Fragile Load is switched off) !L ODE and SSA results: (see main text of the paper + figures presenting this as the main model) !L Simulate deterministically until 200 :["days"] !L 200 useful times to look at: !L Simulate stochastically until 200 :["days"] !L 200 useful times to look at: --- ca 3h compute time for each SSA single repeat run; variation is minimal (see main result of paper) !L Virus-load concentration is determined by the ASHA_Places Dice, which depends on the maximal number of PlAces in the ASHA. Thus, it must be adjusted accordingly to the overall population size of susceptibles to make it comparable to SIR ODE concentration models. (See comment above) !L ViroLoad InPUT Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 3.030303e-09 !L Dura 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 3.030303e-09 !L Fragile 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L PopSize_1 InPUT 1. USA 2020-02-14 Infect 16 of 330e6: From there: Infect 16 to HalfMax ==> log(165e6/16 , base = 2) = 23.29789 Doublings !L Scenario_1 Note: In this code: 16 is used here at Feb 14 for historic idiosyncratic reasons even though it was "only" 13 infections on that day according to CDC data; !L the differences are immaterial (move everything by a few days for an equivalent scenario; hence the effort to change the code consistently has been postponed) Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 16 Initial Amount of Susceptible_Amateur_Edge = 3.30e8 !L 16 Infected on 2020-02-14 of 330 Mio in USA (2020-01-01); Initial Amount of Sum_Infections_All = 16 Initial Amount of HalfPopulation = 1.65e8 !L 16 Adjusts late start 2020-02-14 in plots; 165 Mio HalfMax for plotting !L USA Extrapolations for orientation of doubling times at historical precedents and for choosing interesting times for how long to run the simulations (i.e. see enough, but not too much to avoid data swamping): !L Empirical Doubling Times (DT) From Date Infect to Date Infect = days and (calc) Doublings suggesting this empirical Doubling Time !L PopSize_1 InPUT 1. USA 2020-02-14 16 2020-03-27 1e5 14+27 = 41 log(1e5/16 , base = 2) = 12.60964 41 /12.6 = 3.25396 !L PopSize_2 InPUT 2. USA 2020-02-14 16 2020-05-17 1.5e6 14+31+30+17 = 92 log(1.5e6/16 , base = 2) = 16.51653 92 /16.5 = 5.57575 !L PopSize_3 InPUT 3. USA 2020-03-27 1e5 2020-05-17 1.5e6 5+30+17 = 52 log(1.5e6/1e5 , base = 2) = 3.906891 52 / 3.9 = 13.33333 !L Interesting Forecasting times (Extrapolations to HalfMax) !L Date Infect to Halfmax (165e6) in days assuming DT 3 d Min | DT 7 d mid | DT 14 d hi | DT 30 d Max | Doublings: !L From 2020-05-17 1.5e6 6.8*3 DT= 20.4 d | 6.8*7= 47.6 d | 6.8*14= 95.2 d | 6.8*30= 204 d | log( 165.0e6 /1.5e6 , base = 2) = 6.78136 (from mid May to HalfMax) !L Ratio = 1 (same InPUT as in Scenario_1) Initial Amount of Shed_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Scenario_2 USA_May_2020 : Start with 1.5mio (and virus adjusted) Simulate deterministically until 80 :["days"] !L 20 useful times to look at: !L To make it comparable: it starts with same virus-safety as in Scenario 1 (called here Option A meaning that Shed, Decay, Catch rates are 0.5 for Durable viruses and Fragile is switched off) !L Then variations are done and desigated as Options (A, B1, B2, C); see below. To consider what it could do for a sizeable pandemic, a later starting point is picked (i.e. May 17, 2020 with 1.5 Million infections); then only 80 days need to be simulated. (Note: If the options B or C are used in other Scenarios (1,10,100, 1000), the infections never take off.) !L ODE-results: (see main text of the paper + figure on stopping the pandemic) !L Options A, B, C: Shrink the Pandemic Simulate deterministically until 80 :["days"] !L 20 useful times to look at: !L Virus-load concentration is determined by the ASHA_Places Dice, which depends on the maximal number of PlAces in the ASHA. Thus, it must be adjusted accordingly to the overall population size of susceptibles to make it comparable to SIR ODE concentration models. (See comment above) !L ViroLoad InPUT Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 3.030303e-09 !L Dura 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 329.5e6 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0.5e6 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 3.030303e-09 !L Fragile 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L PopSize_3 InPUT 3. USA 2020-05-17 Infect 1.5e6 of 330e6: From there: Infect 1.5e6 to HalfMax ==> log(165e6/1.5e6 , base = 2) = 6.78136 Doublings (measured DT from ouptut is ca 4.72 Days) !L Scenario_2 used to predict options for moving forward in the USA (stoch runs show minimal variation and take ca 3 hours...) Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 1.5e6 Initial Amount of Susceptible_Amateur_Edge = 3.285e8 !L 1.5e6 Infected on 2020-05-17 of 330 Mio in USA (2020-01-01); Initial Amount of Sum_Infections_All = 1.5e6 Initial Amount of HalfPopulation = 1.65e8 !L 1.5e6 Adjusts late start 2020-05-17 in plots; 165 Mio HalfMax for plotting !L Ratio = 1 (same InPUT as in Scenario_1 is Option A) !L Scenario 2, Option A: Initial Amount of Shed_Durable_Vg00_Rt = 0.5 !-- Scen 2 Opt A --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- Scen 2 Opt A --! Initial Amount of Catch_Durable_Vg00_Rt = 0.5 !-- Scen 2 Opt A --! !L Scenario 2, Option A : 0.5 0.5 0.5 !L Scenario 2, Option B1: Initial Amount of Shed_Durable_Vg00_Rt = 0.25 !-- Scen 2 Opt B1 --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- Scen 2 Opt B1 --! Initial Amount of Catch_Durable_Vg00_Rt = 0.5 !-- Scen 2 Opt B1 --! !L Scenario 2, Option B1: 0.25 0.5 0.5 !L Scenario 2, Option B2: Initial Amount of Shed_Durable_Vg00_Rt = 0.5 !-- Scen 2 Opt B2 --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- Scen 2 Opt B2 --! Initial Amount of Catch_Durable_Vg00_Rt = 0.25 !-- Scen 2 Opt B2 --! !L Scenario 2, Option B2: 0.5 0.5 0.25 !L Scenario 2, Option C: Initial Amount of Shed_Durable_Vg00_Rt = 0.25 !-- Scen 2 Opt C --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- Scen 2 Opt C --! Initial Amount of Catch_Durable_Vg00_Rt = 0.25 !-- Scen 2 Opt C --! !L Scenario 2, Option C : 0.25 0.5 0.25 Initial Amount of Shed_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Same for all (Fragile switched off) !L Scenario_10: World size = 7.8e9 https://www.worldometers.info/world-population/ 7.8 billion (UNO counted) or https://www.census.gov/popclock/ 7.7 billion (US counted) !L Equivalent to virus-safety in Option A of Scenario 2 (i.e. Shed, Decay, Catch rates are 0.5 for Durable viruses and Fragile is switched off) !L ODE-results: 199 million dead in hospitals, 127 million outside of 7.8e9 = total 326 million killed = 4.2% of world population, but 4.77% of all 6 834e6 infected (= 87.6 % of world population) (almost 1 billion people remain uninfected before pandemic stops, but if infection rates are increased a bit, almost everybody is infected) !L Simulate deterministically until 300 :["days"] !L 300 useful times to look at: 300 (probably no point in trying but certainly many hours or days to do this stochastically) !L Virus-load concentration is determined by the ASHA_Places Dice, which depends on the maximal number of PlAces in the ASHA. Thus, it must be adjusted accordingly to the overall population size of susceptibles to make it comparable to SIR ODE concentration models. (See comment above) !L ViroLoad InPUT Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 7.8e9 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 1.282051e-10 !L Dura 1.282051e-10 Dice = 1/Aces 7.8e9 adjusted to population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 7.8e9 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 7.8e9 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 1.282051e-10 !L Fragile 1.282051e-10 Dice = 1/Aces 7.8e9 adjusted to population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 7.8e9 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L PopSize_4 InPUT 4. World 2020 in general Infect 16 of 7.8e9 --- From Infect 16 to HalfMax ==> log(3.9e9/16 , base = 2) = 27.86083 Doublings Sources: size = 7.8e9 https://www.worldometers.info/world-population/ 7.8 billion (UNO counted) or https://www.census.gov/popclock/ 7.7 billion (US counted) !L Scenario_10 : what would the model of Scenario_1 predict for the world? Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 16 Initial Amount of Susceptible_Amateur_Edge = 7.8e9 !L 16 Infected on 2020-02-14 of 7.8e9 in World (2020-06-20); Initial Amount of Sum_Infections_All = 16 Initial Amount of HalfPopulation = 3.9e9 !L 16 Adjusts late start 2020-02-14 in plots; 3.9e9 HalfMax for plotting !L Ratio = 1 (same InPUT as in Scenario_1) Initial Amount of Shed_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Scenario_100: County or Half-Million city prediction for 500e3 size --- From Infect 16 to HalfMax ==> log(500e3/16 , base = 2) = 14.93157 Doublings Sources: size = 500e3 (approximating the 546.7 thousand in Dane, Wisconsin as example, https://en.wikipedia.org/wiki/Dane_County%2C_Wisconsin ) !L What would the model of Scenario_1 predict for a half-million city? (Stoch runs take ony 30 sec ca) !L Start with 16 infections assuming that this is where it would get "out of hand" and overwhelm attempts to stop it before ( half-max-clock predicts 5 doublings) !L deterministically 12,764 (3xSSA: 12640 ; 12797; 12809 ) dead in hospitals, 8152 outside (3xSSA: 8066 ; 8147 ; 8212 ) (of 5e5) = total 20,917 (3xSSA: 20,787 ; 20875 ; 21009 ) = 4.128% of total population (5e5), but 4.77% % of 438,291 all infections (3xSSA: 438,294 ; 438,469 ; 438,481 ) !L Simulate deterministically until 200 :["days"] !L 200 useful times to look at: !L Simulate stochastically until 200 :["days"] !L 200 useful times to look at: --- ca 30 sec compute time To note the unpredictability of compute times: here: 2020-06-21 01:09:54 for 200 day Stoch run of Scenario 100 size , 3 repeats ended at: 01:10:18 Run SSA-Re1 = 24 sec ; 01:10:51 Run SSA-Re1 = 33 sec ; 01:11:23 Run SSA-Re1 = 32 sec !L Virus-load concentration is determined by the ASHA_Places Dice, which depends on the maximal number of PlAces in the ASHA. Thus, it must be adjusted accordingly to the overall population size of susceptibles to make it comparable to SIR ODE concentration models. (See comment above) !L ViroLoad InPUT Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 500e3 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 2e-06 !L Dura 2e-06 Dice = 1/Aces 500e3 adjusted to population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 500e3 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 500e3 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 2e-06 !L Fragile 2e-06 Dice = 1/Aces 500e3 adjusted to population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 500e3 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L PopSize_5 InPUT 5. County or Half-Million city prediction for 500e3 size --- From Infect 16 to HalfMax ==> log(500e3/16 , base = 2) = 14.93157 Doublings Sources: size = 500e3 (approximating the 546.7 thousand in Dane, Wisconsin as example, https://en.wikipedia.org/wiki/Dane_County%2C_Wisconsin ) Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 16 Initial Amount of Susceptible_Amateur_Edge = 500e3 !L 16 Infected on 2020-02-14 of 500e3 Initial Amount of Sum_Infections_All = 16 Initial Amount of HalfPopulation = 250e3 !L 16 Adjusts late start 2020-02-14 in plots; 250e3 HalfMax for plotting !L Ratio = 1 (same InPUT as in Scenario_1) Initial Amount of Shed_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Scenario_1000: Prison prediction: 1000 sized facility (as in some typical Wisconsin prison example, often in the country side, where the density of hospitals is low ) https://en.wikipedia.org/wiki/List_of_Wisconsin_state_prisons !L Equivalent to virus-safety in Option A of Scenario 2 (i.e. Shed, Decay, Catch rates are 0.5 for Durable viruses and Fragile is switched off) !L Still start with 16 infections assuming that this is where it would get "out of hand" and could overwhelm attempts to stop it before ( half-max-clock predicts 5 doublings) !L ODE-results: 26 dead in hospitals, 16.7 outside of 1000 = total 42.7 = 4.27% of total, but 4.7% % of 896.7 - Stochastic runs have quite some wiggle room around that (33-45 killed; so running on SSA is almost a must here for any real attempts to predict; then also start with fewer infections which would add even more stochasticity) !L Simulate deterministically until 100 :["days"] !L 100 useful times to look at: !L Simulate stochastically until 100 :["days"] !L 100 useful times to look at: !L Virus-load concentration is determined by the ASHA_Places Dice, which depends on the maximal number of PlAces in the ASHA. Thus, it must be adjusted accordingly to the overall population size of susceptibles to make it comparable to SIR ODE concentration models. (See comment above) !L ViroLoad InPUT Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 1000 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 0.001 !L Dura 0.001 Dice = 1/Aces 1000 adjusted to population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 1000 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 1000 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 0.001 !L Fragile 0.001 Dice = 1/Aces 1000 adjusted to population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 1000 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L PopSize_6 InPUT 6. Prison prediction for 1000 sized facility in general Infect 16 of 1000 --- From Infect 16 to HalfMax ==> log(500/16 , base = 2) = 4.965784 Doublings Sources: 1000 sized facility (as in some typical Wisconsin prison example, often in the country side, where the density of hospitals is low ) https://en.wikipedia.org/wiki/List_of_Wisconsin_state_prisons !L Scenario_1000 : what would the model of Scenario_1 predict for a Prison? (Warning: the numbers here are so small, that stochastic simulatons have to be used, even if all other parameters are fixed; this is no problem with Evolvix, see simulate statement) Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 16 Initial Amount of Susceptible_Amateur_Edge = 1000 !L 16 Infected on 2020-02-14 of 1000 Initial Amount of Sum_Infections_All = 16 Initial Amount of HalfPopulation = 500 !L 16 Adjusts late start 2020-02-14 in plots; 500 HalfMax for plotting !L Ratio = 1 (same InPUT as in Scenario_1) Initial Amount of Shed_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! --! !l ####################==================================================================================================================================================================================================================#################### !l ####################==================================================================================================================================================================================================================#################### !l LabLog, a bit scruffy (pre-2020-06-20) !l Some InPUT Pandemic values worth remembering from observed simulations that worked. What follows is a scruffy LabLog Journal of simulations with some manual annotations of some outcomes !l ####################==================================================================================================================================================================================================================#################### !l ####################==================================================================================================================================================================================================================#################### !l "de-indent" the following if you want to actually use it (for all other cases, it's out of sight, i.e. the following code is safe to ignore for understanding the core model for the first time): !L This next section goes on for several hundred lines of code (ca 700?) Eventually maybe move out of here (later). For now, consider it supplementary material to the analysis in the paper. !l ============================================================================================================================================================ !l History of deactivated Core Parameters of Virus Transmission - Some previous InPUT Pandemic values that have worked before !l ============================================================================================================================================================ !l Watch for combination of relations among the _Rt rates of Actions and absolute sizes of populations (e.g. and virus-load). !l - maybe a future version needs to move all viro-load on an ASHA_Population size that is the same as the total population; this was not the case for the parameters below: !-- Some InPUT Pandemic values worth remembering from observed simulations that worked. What follows is a scruffy LabLog Journal of simulations with some manual annotations of some outcomes ===================================== (obviously, a more in-depth sensitivity analysis is interesting, but that is beyond the scope of this study, so feel free to run with it if you want): ======================================================================== !L ====================================== 7. Mini-series of Experiments with Pandemic InPUT : Try the 16 start from the february date ================================== !L PopSize_1 InPUT 1. USA 2020-02-14 Infect 16 of 330e6: From there: Infect 16 to HalfMax ==> log(165e6/16 , base = 2) = 23.29789 Doublings Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 16 Initial Amount of Susceptible_Amateur_Edge = 3.30e8 !L 16 Infected on 2020-02-14 of 330 Mio in USA (2020-01-01); DT maybe 3d! 10d? 30d? Initial Amount of Sum_Infections_All = 16 Initial Amount of HalfPopulation = 1.65e8 !L 16 Adjusts late start 2020-02-14 in plots; 165 Mio HalfMax for plotting !L Ratio = 1 lets see if we can make it a bit slower than normal: we are not out of the red: this here could grow o 300M and with a doubling tim of 150, which means !L Transmit_StopIt_21_ InPUT Keeping ratio 1 for fast end... 150 days see above for full pandemic ca 300+m ! Pandemic in PopSize_3 ViroLoad_USAsized - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Ratio = 1 lets see if we can make it really slow !L Transmit_StopIt_20__ InPUT Keeping ratio 1 for slow end... ca 3000 days to halfmax see above for full pandemic 20+m ! Pandemic in PopSize_3 ViroLoad_USAsized - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.2 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.2 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.2 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Ratio = 0.5 lets see if we can make it a bit slower than normal: !L Transmit_StopIt_22_ InPUT Keeping ratio 1 for fast end... 40 days see above for full pandemic ca 300+m ! Pandemic in PopSize_3 ViroLoad_USAsized - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L ====================================== 6. Mini-series of Experiments with Pandemic InPUT : test ratio at diferent places in parameter space. ================================== !L Virus-load concentration issues might be determined by the ASHA_Places Dice, which depends on the maximal number of PlAces in the ASHA. Size options to choose from - as initial setting. !L ViroLoad_USAsized InPUT 2. ViroLoad Setting adapted to US population size to see what this does to the parameter space that produces a pandemic for easier comparability to SIR ODE concentration models Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 3.030303e-09 !L Dura 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 3.030303e-09 !L Fragile 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L ViroLoad_1e12_max InPUT 1. ViroLoad Setting adapted to ca 3000x US population size to see what this does to the parameter space that produces a pandemic Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 1e12 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 1e-12 !L Dura Dice = 1/Aces Limited by Evolvix enforced Floating point precision at 1e15 Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 1e12 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 1e12 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 1e-12 !L Fragile Dice" = 1/Aces Limited by Evolvix enforced Floating point precision at 1e15 Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 1e12 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L Ratio = 0.01 lets see if we can make it really reallllly fast fast too... log(330e6/1.5e6 , base = 2) = 7.78136 doublings | ==> 1/1 ???? not sure why 5 observed. = 1.5 days BUT observed days to halfmax was 50! Decay = 1 / 1 = Shed 1 * Catch 1 = 1 = 1 * 1 !L a = c(10, 1, 10) ; n = length(a) ; prod(a)^(1/n) ; # R code for geometric mean = 4.641589 !L Transmit_StopIt_19__ InPUT Keeping ratio 1 for fast end... 1.5 days see above for full pandemic 300+m ! Pandemic in PopSize_3 ViroLoad_USAsized - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Decay_Durable_Vg00_Rt =1 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Ratio = 0.1 lets see if we can make it really reallllly fast fast too... log(330e6/1.5e6 , base = 2) = 7.78136 doublings | ==> 1/1 ???? not sure why 5 observed. = 5 days BUT observed days to halfmax was 50! Decay = 1 / 1 = Shed 1 * Catch 1 = 1 = 1 * 1 !L Transmit_StopIt_18__ InPUT Keeping ratio 1 for fast end... 15 days see above for full pandemic 300+m ! Pandemic in PopSize_3 ViroLoad_USAsized - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt =1 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Ratio = 1 lets see if we can make it really reallllly fast fast too... 1 log(330e6/1.5e6 , base = 2) = 7.78136 doublings | ==> 1/1 ???? not sure why 10 observed. = 15 days BUT observed days to halfmax was 50! Decay = 1 / 1 = Shed 1 * Catch 1 = 1 = 1 * 1 !L Transmit_StopIt_17__ InPUT Keeping ratio 1 for fast end... 15 days see above for full pandemic 300+m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt =1 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Ratio = 1 lets see if we can make it really fast too... 50 d halfmax | ==> 1/0.05 = 20 days BUT observed days to halfmax was 50! Decay = 0.05 / 0.05 = Shed 0.05 * Catch 1 = 0.05 = 0.05 * 1 !L Transmit_StopIt_15__ InPUT Keeping ratio 1 for fast end... 50 days see above for full pandemic 300+m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.05 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.05 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Ratio = 1 | seems no change from 13 ==> 1/ 0.000005 = 200000 days YES that was the prediction and that seems just about OK from the plots. Decay = 0.000005 / 0.000005 = Shed 0.5 * Catch 0.00001 = 0.000005 = 0.5 * 0.00001 !L Transmit_StopIt__14___Transmit_8_for_3_2 InPUT for == GOOD ENOUGH approx of Transmit_1_for_3_1 == == ca 2e5 day is a good prediction!! ca 300m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.000005 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.00001 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Ratio = 1 | ==> 1/0.000625 = 1600 days ===> ln 2? 1/0.000625 /0.69 = 2318 days and that seems just about OK from the plots. Decay = 000625 / 0.000625 = Shed 0.25 * Catch 0.0025 = 0.000625 = 0.25 * 0.0025 !L Transmit_StopIt_12__ InPUT for 1/2 x4x4 /8 for Catch Shed Decay test 2318 days see above for full pandemic 300+m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.25 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.000625 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.0025 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Ratio = 0.5 | ==> 1/ 0.000005 = 200000 days YES that was the prediction ===> ln 2? 1/ 0.000005 /0.69 = 289 000 days NO that was not the prediction! and that seems just about OK from the plots. Decay = 0.000005 / 0.00001 = Shed 1 * Catch 0.00001 = 0.00001 = 1 * 0.00001 !L Transmit_StopIt__13___Transmit_8_for_3_2 InPUT for == GOOD ENOUGH approx of Transmit_1_for_3_1 == == ca 2e5 day is a good prediction!! ca 300m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.000005 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.00001 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Ratio = 0.5 | ==> 1/ 0.005 = 200 days ===> ln 2? 1/ 0.005 /0.69 = 289 days and that seems just about OK from the plots. Decay = 0.005 / 0.01 = Shed 1 * Catch 0.01 = 0.01 = 1 * 0.01 !L Transmit_StopIt__1___Transmit_8_for_3_2 InPUT for == GOOD ENOUGH approx of Transmit_1_for_3_1 == == ca 200day ca 300m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.005 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L above: test ratio at diferent places in parameter space. !L Transmit_StopIt__3__ 1/80 th drop InPUT for <50 day (its own halfmax) ca 1.7m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.0125 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.005 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Ratio = 40 | ==> Decay = 0.005 / 0.000125 = Shed 0.0125 * Catch 0.01 = 0.000125= 0.0125 * 0.01 !L comare above shallower + higher with below, steeper and less high1 =====> thats an extinction problem!!! the decay rate must be something like see calc above + below: !L Ratio = 32 | ==> Decay = 0.02 / 0.000625 = Shed 0.25 * Catch 0.0025 = 0.000625 = 0.25 * 0.0025 !L Transmit_StopIt_11__ InPUT for 1/64th 4x4x4 for Catch Shed Decay test ca 50day ca 1.7m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.25 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.02 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.0025 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Ratio = 2 | ==> Decay = 000625 / 0.000625 = Shed 0.25 * Catch 0.0025 = 0.000625 = 0.25 * 0.0025 !L Transmit_StopIt_12__ InPUT for 1/64th 4x4x4 for Catch Shed Decay test ca 50day ca 1.7m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.25 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.000625 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.0025 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_StopIt__2__ 1/8th drop InPUT for shallower and higher ca 2500 day (its own halfmax, need run for 20K days) ca 140m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.125 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.005 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Ratio = 4 | ==> Decay = 0.005 / 0.00125 = Shed 0.125 * Catch 0.01 0.125 * 0.01 !L comare above shallower + higher with below, steeper and less high1 =====> thats an extinction problem!!! the decay rate must be something like see calc above + below: compare decay = 0.5 = 0.005 / 0.01 Halfmax times = 4.166667 = 2500 / 600 !L Ratio = 4 | ==> Decay = 0.01 / 0.0025 = Shed 0.5 * Catch 0.005 0.5 * 0.005 !L Transmit_StopIt_10__ InPUT for 2x2x2 for Catch Shed Decay test ca 600day ca 120m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.005 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_StopIt_9__DecayERR InPUT for 2x0.5!!!!x2 for Catch Shed Decay test ca 600day ca 3000m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.0025 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.005 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_StopIt_8__ InPUT for change Decay by x80 0.4 = 80 * 0.005 ca <50 day (its own halfmax) ca 1.7m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.4 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_StopIt_7__ InPUT for change Decay by x8 0.04 = 8 * 0.005 ca 400 day (its own halfmax) ca 120m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.04 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_StopIt_6__ InPUT for change Decay by 1/8th 0.000625 = 0.125 * 0.005 ca 150 day (its own halfmax) ca 330m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.000625 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.0125 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_StopIt_5__ InPUT for change Catch by 1/80th ca <50 day (its own halfmax) ca 1.7m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.005 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.000125 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_StopIt_4__ InPUT for change Catch by 1/8th ca 2000 day (its own halfmax, run for 10K days) ca140m! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.005 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.00125 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_StopIt__3__ 1/80 th drop InPUT for <50 day (its own halfmax) ca 1.7m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.0125 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.005 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_StopIt__2__ 1/8th drop InPUT for ca 2500 day (its own halfmax, need run for 20K days) ca 140m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.125 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.005 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_StopIt__2__ 1/8th drop InPUT for shallower and higher ca 2500 day (its own halfmax, need run for 20K days) ca 140m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 0.125 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.005 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_StopIt__1___Transmit_8_for_3_2 InPUT for == GOOD ENOUGH approx of Transmit_1_for_3_1 == == ca 200day ca 300m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.005 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L ====================================== 5. Mini-series of Experiments with Pandemic InPUT : ASHA size tests: ================================== !L What is the impact of the ASHA_Population max size on the Pandemic size? It turns out HUGE (as no concentrations, only ansolute amounts are given); !L ==> does that affect the fold-chanage result if I'm at the other end? !L Tried stochastic: Ran the same as the 1.5e6 runs below with only 16 infections and everything died instantly, !L because it was not enough infection probabiity..., then I started to wonder about the ASHA load scaling !L==> tested above, lets return to the init size later. !L Experimental adaptations to fit parameters for a 200 day to halfmax Pandemic that reaches 300+Millions : !L Actual virus transmission rates for ca 200d +300m Pandemic ( ca ca Time2Halfmax in days; ca ca Size reached) Selected here to mimic results similar to those produced by values for initial InPUT 23 (=3) below that was found to create an ODE pandemic with the 1e12 (=1.st) ViroLoad and the 1.5e6 Initial infection in US (for 3rd PopSize) InPUT !L ViroLoad_2 InPUT 2. ViroLoad Setting adapted to US population size to see what this does to the parameter space that produces a pandemic for easier comparability to SIR ODE concentration models Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 3.030303e-09 !L Dura 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 3.030303e-09 !L Fragile 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L PopSize_3 InPUT 3. USA 2020-05-17 Infect 1.5e6 of 330e6: Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 1.5e6 Initial Amount of Susceptible_Amateur_Edge = 3.30e8 !L 1.5e6 Infected on 2020-05-17 of 330 Mio in USA (2020-01-01); DT maybe 3d? 10d? 30d? Initial Amount of Sum_Infections_All = 1.5e6 Initial Amount of HalfPopulation = 1.65e8 !L 1.5e6 Adjusts late start 2020-05-17 in plots; 165 Mio HalfMax for plotting !L Transmit_8_for_3_2 InPUT for == GOOD ENOUGH approx of Transmit_1_for_3_1 == ca 200day ca 300m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.005 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_7_for_3_2 InPUT for ca 200day almost 270m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_6_for_3_2 InPUT for ca 100day almost 300m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.02 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.02 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_5_for_3_2 InPUT for ca 50day almost 300m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.1 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_4_for_3_2 InPUT for ca 10day 3m ! Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Transmit_3_for_3_2 InPUT for still ca <10 days +300m Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L Transmit_2_for_3_2 InPUT for still ca 2 days +300m Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L Transmit_1_for_3_2 InPUT for 2d (!) +300m Pandemic in PopSize_3 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) !L [IDAS ERROR] IDARcheck2 Root found at and very near t = 125.551 so the simulation stopped ; see also 100x slower pandemic at Transmit_1_for_3_1 Initial Amount of Shed_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 2 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L PopSize_2 InPUT 2. USA 2020-05-17 Infect 1e5 of 330e6: Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 1e5 Initial Amount of Susceptible_Amateur_Edge = 3.30e8 !L 1e5 Infected on 2020-03-27 of 330 Mio in USA (2020-01-01); DT maybe 3d? 10d! 30d? Initial Amount of Sum_Infections_All = 1e5 Initial Amount of HalfPopulation = 1.65e8 !L 1e5 Adjusts late start 2020-03-27 in plots; 165 Mio HalfMax for plotting !L TODO !L Transmit_1_for_2_2__TODO InPUT for fit to 200d +300m Pandemic in PopSize_2 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) !L PopSize_1 InPUT 1. USA 2020-02-14 Infect 16 of 330e6: Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 16 Initial Amount of Susceptible_Amateur_Edge = 3.30e8 !L 16 Infected on 2020-02-14 of 330 Mio in USA (2020-01-01); DT maybe 3d! 10d? 30d? Initial Amount of Sum_Infections_All = 16 Initial Amount of HalfPopulation = 1.65e8 !L 16 Adjusts late start 2020-02-14 in plots; 165 Mio HalfMax for plotting !L TODO !L Transmit_1_for_1_2__TODO InPUT for fit to 200d +300m Pandemic in PopSize_1 ViroLoad_2 - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) !L ViroLoad_1e12_max InPUT 1. ViroLoad Setting adapted to ca 3000x US population size to see what this does to the parameter space that produces a pandemic Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 1e12 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 1e-12 !L Dura Dice = 1/Aces Limited by Evolvix enforced Floating point precision at 1e15 Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 1e12 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 1e12 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 1e-12 !L Fragile Dice" = 1/Aces Limited by Evolvix enforced Floating point precision at 1e15 Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 1e12 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L PopSize_3 InPUT 3. USA 2020-05-17 Infect 1.5e6 of 330e6: Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 1.5e6 Initial Amount of Susceptible_Amateur_Edge = 3.30e8 !L 1.5e6 Infected on 2020-05-17 of 330 Mio in USA (2020-01-01); DT maybe 3d? 10d? 30d? Initial Amount of Sum_Infections_All = 1.5e6 Initial Amount of HalfPopulation = 1.65e8 !L 1.5e6 Adjusts late start 2020-05-17 in plots; 165 Mio HalfMax for plotting !L OK Transmit_1_for_3_1____23is3 InPUT for ca 200day + 300m ! Pandemic in PopSize_3 ViroLoad_1e12_max - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) see also Link InPUT 23 (=3) Initial Amount of Shed_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 2 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L PopSize_2 InPUT 2. USA 2020-05-17 Infect 1e5 of 330e6: Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 1e5 Initial Amount of Susceptible_Amateur_Edge = 3.30e8 !L 1e5 Infected on 2020-03-27 of 330 Mio in USA (2020-01-01); DT maybe 3d? 10d! 30d? Initial Amount of Sum_Infections_All = 1e5 Initial Amount of HalfPopulation = 1.65e8 !L 1e5 Adjusts late start 2020-03-27 in plots; 165 Mio HalfMax for plotting !L TODO !L Transmit_1_for_2_1__TODO InPUT for fit to 200d +300m Pandemic in PopSize_2 ViroLoad_1e12_max - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) !L PopSize_1 InPUT 1. USA 2020-02-14 Infect 16 of 330e6: Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 16 Initial Amount of Susceptible_Amateur_Edge = 3.30e8 !L 16 Infected on 2020-02-14 of 330 Mio in USA (2020-01-01); DT maybe 3d! 10d? 30d? Initial Amount of Sum_Infections_All = 16 Initial Amount of HalfPopulation = 1.65e8 !L 16 Adjusts late start 2020-02-14 in plots; 165 Mio HalfMax for plotting !L TODO !L Transmit_1_for_1_1__TODO InPUT for fit to 200d +300m Pandemic in PopSize_1 ViroLoad_1e12_max - where ca x d y m Pandemic ( is ca Time2Halfmax in days; at ca Size in millions reached) !L ====================================== 4. Mini-series of Experiments with Pandemic InPUT : Catch_Fragile_Vg00_Rt Effect from 1 to 7 changes pandemic from ca. 7 million to 200 million ================================== !L InPUT 33 Pandemic of ca +200m Time2Halfmax (own max): ca 150 days ==> and that was by just changing the catch rate on fragile from 4 to 7! Initial Amount of Shed_Durable_Vg00_Rt = 5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.02 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 7 !-- --! !L InPUT 32 Pandemic of ca +70m Time2Halfmax (own max): ca 400 days (or forever, if full HalfMax); ==> and that was by just changing the catch rate on fragile from 3-4! (check what just going to 5 will do, see InPUT 29! Initial Amount of Shed_Durable_Vg00_Rt = 5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.02 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 4 !-- --! !L InPUT 31 Pandemic of ca +17-19m Time2Halfmax (own max): ca 500 days (or forever, if full HalfMax); ==> and that was by just changing the catch rate on fragile from 2-3! Initial Amount of Shed_Durable_Vg00_Rt = 5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.02 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 3 !-- --! !L InPUT 30 Pandemic of ca +7m Time2Halfmax (own max): ca 200 days (or forever, if full HalfMax); ==> so cutting the Catch rate in half here, even though for fragile load ===> about 20x fold impact! So it matters, what we cut! Initial Amount of Shed_Durable_Vg00_Rt = 5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.02 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 2 !-- --! !L InPUT 29 Pandemic of ca +130m Time2Halfmax (own max): ca 250 days applying the same mods to the Fragile load ==> does not change as much! Initial Amount of Shed_Durable_Vg00_Rt = 5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.02 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 5 !-- --! !L InPUT 28 Pandemic of ca +140m (stable plateau over 4000 days) Time2Halfmax (own max): ca 200 days = from the same 3 mods as in InPUT 23--> 26 Initial Amount of Shed_Durable_Vg00_Rt = 5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.02 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 5 !-- --! !L InPUT 27 Pandemic of ca +300m Time2Halfmax: ca 100 days from 5x more Fragile shedding (compared to InPUT 23) Initial Amount of Shed_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 2 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 5 !-- --! !L ====================================== 3. Mini-series of Experiments with Pandemic InPUT : 3 parameters changed by factor 2 goes from ca. <4 mio to >300 mio pandemic size! ================================== !L Here is an interesting sequence: Start at Input 23 for a terrible pandemic with 200 days of 50% of the US infected (i.e. +300m, +15m dead); !L then half the Catch rate (from 2 to 1) ==> stabilize at 40 mio infections less (if the behavior can be maintained) and double the time to halfmax !L then double the Decay rate (from 0.01 to 0.02) ==> and the pandemic goes from 250M size to 40M and ca 700 days to hafmax !L then half the Shed rate (from 10 to 5) ==> and despite 1.5 million infections, the size of the whole pandemic stays around 3.5 Million (with forever to the full Halfmax, because never reached) !L InPUT 26 Pandemic of ca +3.5m Time2Halfmax: ( its own relative smaller halfmax!) ca 100 days and all halving the shed rate! Initial Amount of Shed_Durable_Vg00_Rt = 5 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.02 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L InPUT 25 Pandemic of ca +40m Time2Halfmax: ( its own relative smaller halfmax!)ca 700 days (and its own relative smaller halfmax!) and all from doubling the decay rate! Initial Amount of Shed_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.02 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L InPUT 24 Pandemic of ca +250m Time2Halfmax: ca +500 days and all by halving the catch rate Initial Amount of Shed_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L InPUT 23 (=3) Pandemic of ca +300m Time2Halfmax: ca 200 days Initial Amount of Shed_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 2 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L ====================================== 2. Mini-series of Experiments with Pandemic InPUT : can SIR be approximated? Yes! ================================== !L InPUT 22 compare to SIR perfect coupling with imperfection 1e-2 vs 0 makes the epidemic go almost away! max ca 2m infections (its own half-max at ca. 120-150 days) Thus, just adding this extra parameter makes a huge difference - and this is a parameter that must exist in real life. Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 0.05 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L InPUT 21 compare to SIR perfect coupling with tiny imperfection: 1e-3 has impact: it slows it all down to apparent half-max of ca. 6000 days (= 20 years!) and a maximum of ca. 250+m but clearly below the +300m (would need much longer than 10K days to determine!) Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 1e-3 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 0.05 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L InPUT 20 compare to SIR perfect coupling with tiny imperfection: 1e-4 has tiny impact, but for our purposes it is still as good as 0 Pandemic of ca +300m Infections ca. +15 Mio dead Time2Halfmax: ca +3000 days Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 1e-4 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 0.05 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L InPUT 19 compare to SIR perfect coupling with tiny imperfection: 1e-6 is as good as 0 Pandemic of ca +300m Infections ca. +15 Mio dead Time2Halfmax: ca +3000 days ==> mix in any longer lasting durable transmission routes to get slower pandemics Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 1e-6 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 0.05 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L InPUT 18 compare to SIR perfect coupling Pandemic of ca +300m Infections ca. +15 Mio dead Time2Halfmax: ca +3000 days Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 0.05 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L ====================================== 1. Mini-series of Experiments with Pandemic InPUT : can the 3 day to 30 day DT be approximated? Yes, but the longer ones need the more durable infection rates ================================== !L InPUT 17 Pandemic of ca +270m Infections ca. 13 Mio dead (vs ca. 15 mio for ca. 320 mio infections) Time2Halfmax: ca 120 days Initial Amount of Shed_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.05 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 5 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 5 !-- --! !L InPUT 16 Pandemic of ca +300m Time2Halfmax: ca 30 days to its own reduced HalfMax Initial Amount of Shed_Durable_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.05 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 5 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 5 !-- --! !L InPUT 15 Pandemic of ca +3.5m Time2Halfmax: ca 30 days to its own reduced HalfMax Initial Amount of Shed_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.05 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 5 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 5 !-- --! !L InPUT 14 (from 13) Needs extra long simulations (1000day) to see it all: Pandemic of ca +40m Time2Halfmax: ca 200 days Initial Amount of Shed_Durable_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 5 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L InPUT 13 (from 2) Pandemic of ca +300m Time2Halfmax: ca 25 days Initial Amount of Shed_Durable_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.2 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L InPUT 12 Pandemic of ca +9m MAX! Time2Halfmax: ca 80 days yet, reducing decay is critical (see InPUT 11)! Initial Amount of Shed_Durable_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 2 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L InPUT 11 Pandemic of ca +240m MAX! Time2Halfmax: ca 70 days yet, reducing decay is critical (see InPUT 10)! Initial Amount of Shed_Durable_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L InPUT 10 Pandemic of ca +300m Time2Halfmax: ca 30 days yet, reducing decay is critical: Initial Amount of Shed_Durable_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L InPUT 9 Pandemic of ca +3.0m MAX! Time2Halfmax: ca 40 days over by about 100 days with ca 3.5 mio infections (despite starting at 1.5 mio!) Initial Amount of Shed_Durable_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.3 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L InPUT 8 Pandemic of ca +300m Time2Halfmax: ca 45 days Initial Amount of Shed_Durable_Vg00_Rt = 500 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.3 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L InPUT 7 Pandemic of ca +3.5m MAX! Time2Halfmax: ca 45 days over by about 150 days with ca 3.5 mio infections (despite starting at 1.5 mio!) Initial Amount of Shed_Durable_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.1 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 0.5 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L InPUT 6 Pandemic of ca +300m Time2Halfmax: ca 45 days too slow for 100 day plots Initial Amount of Shed_Durable_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.1 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L InPUT 5 Pandemic of ca +300m Time2Halfmax: ca 45 days Initial Amount of Shed_Durable_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.1 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 2 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L InPUT 4 Pandemic of ca +300m Time2Halfmax: ca 35 days Initial Amount of Shed_Durable_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 2 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L InPUT 3 Pandemic of ca +300m Time2Halfmax: ca 200 days Initial Amount of Shed_Durable_Vg00_Rt = 10 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.01 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 2 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L InPUT 2 Pandemic of ca +250m Time2Halfmax: ca 120 days Initial Amount of Shed_Durable_Vg00_Rt = 50 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.05 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L InPUT 1 Pandemic of ca +300m Time2Halfmax: ca 50-70 days Initial Amount of Shed_Durable_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.05 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 200 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L InPUT 0 Pandemic of ca +300m Time2Halfmax: ca 60 days Initial Amount of Shed_Durable_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.02 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 100 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 1 !-- --! !L -- Assumed by InPUT 1-33 : Pop sizes, and ViroLoad capacities for for Runs 1-33 above !L 3. USA 2020-05-17 Infect 1.5e6 of 330e6: Initial Amount of Starts0grow_Amateur_Edge_Vg00 = 1.5e6 Initial Amount of Susceptible_Amateur_Edge = 3.30e8 !L 1.5e6 Infected on 2020-05-17 of 330 Mio in USA (2020-01-01); DT maybe 3d? 10d? 30d? Initial Amount of Sum_Infections_All = 1.5e6 Initial Amount of HalfPopulation = 1.65e8 !L 1.5e6 Adjusts late start 2020-05-17 in plots; 165 Mio HalfMax for plotting !L -- InPUT assumed for for Runs 1-33 above !L 1. ViroLoad Setting adapted to ca 3000x US population size to see what this does to the parameter space that produces a pandemic -- InPUT assumed for for Runs 1-33 above Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 1e12 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 1e-12 !L Dura Dice = 1/Aces Limited by Evolvix enforced Floating point precision at 1e15 Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 1e12 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 1e12 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 1e-12 !L Fragile Dice" = 1/Aces Limited by Evolvix enforced Floating point precision at 1e15 Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 1e12 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L -- Assumed InPUT 1-33 : Pop sizes, and ViroLoad capacities for for Runs 1-33 above !L =============================== Some Lessons Learned: ============================================================================================== !L Strange Lessons Learned: !L InPUT Err1: Setting the Fragile Shed rate to 0 as below results in the ODE solver complaining: [IDAS ERROR] IDARcheck2 Root found at and very near t = 0.162348 Initial Amount of Shed_Durable_Vg00_Rt = 500 !-- --! Initial Amount of Decay_Durable_Vg00_Rt = 0.3 !-- --! Initial Amount of Catch_Durable_Vg00_Rt = 1 !-- --! Initial Amount of Shed_Fragile_Vg00_Rt = 0 !-- --! Initial Amount of Decay_Fragile_Vg00_Rt = 1 !-- --! Initial Amount of Catch_Fragile_Vg00_Rt = 0 !-- --! !L Protect your HD Space!! Careful with the relative viro-load statements commented out below in this file!! These can lead to excessive reporting by the SSA stochastic simulator, as parts constantly switch betwen 0 and 1; ==> removed, since not that important for reporting anyway. !L Watch the concentration / absolute amounts issue with the viro-load; the Dice for scaling these are everywhere (and have to be to compute respective probabilities); so they can also influence everything. !l ############# More info ###################################### Loop _Vg00 !l ## ViroLoad Shared and differentiated ViroLoad !l ## ASHA_With_ViroLoad_Fragile_Vg00 Durable or Fragile !l ## ASHA_With_ViroLoad_Durable_Vg00 Durable or Fragile !l search for these to find rest of defs below and above !L Initial settings for less frequently changed options (see rest of the code; e.g. the HealAt, KillAt, GrowTo, ... parameteres were never changed above) ===================================================================================================== !L =============================== Other such stuff: ============================================================================================== -------------------------------------------------------------------------------------------------------------------------------------- State Test Exp Summarizing Definition for Core ViroStatus of Persons in PandemicSociety101, Scenario 1 QQ0r2p0_2020_06_20_Lion ------------------------------------------------ State of Virus Infection ------------------------------------------------------------ Susceptible -- Susceptible to Catch Infect of Virus genome Vg00 [0S K0 KS] from Places Shared; other states cannot be infected Starts0grow 1d Starting virus growth (deterministic for Vg chosen); not yet infectious; co-infection & recombination impossible ----------- 100% -- --- 1. Simplified TestingFlow FORCES a test for all individuals entering Infect1Hide to check for linear fooling Infect1Hide 2d Infectious, high virus sheds are hidden; no symptoms, status hidden; TestA is pos TestB is neg Infect2Anti 3d Infectious, high virus sheds stay hidden; no symptoms, status hidden; TestA is pos TestB is pos 100% --- 2. Simplified TestingFlow enforced for all Infect3Mild to explore linear fooling (not for capacity planning) Infect3Mild 2w Infectious, high virus sheds as people react to illness symptoms virus defense may go up; Test PCR pos AntiB pos ---------------- --- Beyond here COVID becomes severe enough to require HOSpitalBED-ICU care; assumed const best care, no errors Infect4StrongHOS 2w Infectious, Strong symptoms, holds hospital bed; would live at home; looks like Infect5CritclBED Infect5CritclBED 2w Infectious, Critcl symptoms, needs hospital bed or dies Infect6DeadlyICU 2w Infectious, Deadly symptoms, needs IntensiveCareUnit or dies Infect7ExpectICU 2w Infectious, Expect death as deadly symptoms are even beyond ICU ability to help; symptoms like Infect6DeadlyICU ---------------- --- Removed from pandemic: individuals either Healed to Recover or Died outof/in hospitals; cannot be reinfected RecoveredHealthC -- Recovered by health care in hospital; assumed immune now RecoveredOutside -- Recovered outside; assumed immune now Died_preHospital -- All deaths occuring above up to including Infect3Mild, but none after, i.e. none in hospital by definition Died_in_Hospital -- All deaths from only the later stages of COVID (assumed in hospital, see Infect4StrongHOS to Infect7ExpectICU) -------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------- ### The Individual Names given here are good for search/finding additional interesting Parts to observe from the Model code below #### -------------------------------------------------------------------------------------------------------------------------------------- Relative miniature subsampling of virus load solely for plotting purposes (to see where the load is, but not have the overview plot be mis-scaled because of it): (Find below or search for ASHA_With_ViroLoad_Fragile_Vg00_Subsample_ForPlotting and related Actions further below in the code for adjusting the scaling of these subsamples): ViroLoad_Fragile_Vg00_rel , ViroLoad_Durable_Vg00_rel, The following actions record prohibitively excessive amounts of part changes if included in normal time-series reporting; also, since the action is constantly flipping between 0 and 1, it just slows down stochastic simulations; that's not worth the convenience offered for ODE plots. ViroLoad_Fragile_Vg00_rel , ViroLoad_Durable_Vg00_rel, ViroLoad_Fragile_Vg00_rel , ViroLoad_Durable_Vg00_rel, Time-series Example: Time ViroLoad_Durable_Vg00_rel 0.000000000000000 0.000000000000000 0.017518434603799 1.000000000000000 0.017518434608090 0.000000000000000 0.018825677878467 1.000000000000000 0.018825677887963 0.000000000000000 0.019865016616135 1.000000000000000 0.019865016618221 0.000000000000000 ... half a million lines later ... 1.178852554362708 1.000000000000000 1.178852554374494 0.000000000000000 1.178854519395887 1.000000000000000 1.178854519396346 0.000000000000000 Time ViroLoad_Fragile_Vg00_rel 0.000000000000000 0.000000000000000 0.007763698377292 1.000000000000000 0.007763698380937 0.000000000000000 0.007875027604988 1.000000000000000 0.007875027610088 0.000000000000000 0.009019611661123 1.000000000000000 0.009019611666339 0.000000000000000 0.010580028413641 1.000000000000000 0.010580028416372 0.000000000000000 ... 4.4 million lines later 1.178856810963719 1.000000000000000 1.178856810972692 0.000000000000000 1.178857330933556 1.000000000000000 1.178857330948052 0.000000000000000 !L These actions cause excessive time-series reporting under stochastic simulations (yet were only there to simplify reporting for ODEs): !L These actions sub-sample the huge load for plotting purposes alone: Action ASHA_With_ViroLoad_Fragile_Vg00_Subsample_ForPlotting ( ASHA_With_ViroLoad_Fragile_Vg00 ---[ Rate = 1e-1 ]-------> ASHA_With_ViroLoad_Fragile_Vg00 + ViroLoad_Fragile_Vg00_rel ) Action ASHA_With_ViroLoad_Fragile_Vg00_Subsample_ForPlotting ( ViroLoad_Fragile_Vg00_rel + ASHA_Lack_ViroLoad_Fragile_Vg00 ---[ Rate = 1e-1 ]-------> ASHA_Lack_ViroLoad_Fragile_Vg00 ) Action ASHA_With_ViroLoad_Durable_Vg00_Subsample_ForPlotting ( ASHA_With_ViroLoad_Durable_Vg00 ---[ Rate = 1e-1 ]-------> ASHA_With_ViroLoad_Durable_Vg00 + ViroLoad_Durable_Vg00_rel ) Action ASHA_With_ViroLoad_Durable_Vg00_Subsample_ForPlotting ( ViroLoad_Durable_Vg00_rel + ASHA_Lack_ViroLoad_Durable_Vg00 ---[ Rate = 1e-1 ]-------> ASHA_Lack_ViroLoad_Durable_Vg00 ) !l ################ Some Pandemic Data Snapshots Next ####################### !l Data-Snapshot covidtracking.com ( 1,458,787 infections from 11,077,179 Total test results and 83,015 dead ) !l CDC ( 1,435,098 infections and 87,315 dead, from yesterday 22,977 New Cases* 1,325 New Deaths* ) 5/16/2020 https://www.cdc.gov/coronavirus/2019-ncov/cases-updates/cases-in-us.html !l coronavirus.jhu.edu ( 1,467,884 infections from 11,077,179 Total test results and 88754 dead, recovered 268,376 ) 5/17/2020, 2:32:16 AM !l ( 88754 / ( 88754 + 268376 ) = 0.2485201 ca 24.8 % !l ### 1. points of comparison: 27 March : about 100,000 infections according to coronavirus.jhu.edu !l ### log ( 165000000 / 100e3 , base = 2) * 30 days = 320.6475 321 days !l ### log ( 165000000 / 100e3 , base = 2) * 11 days = 117.5708 118 days !l ### log ( 165000000 / 100e3 , base = 2) * 3 days = 32.06475 32 days !l ### log ( 165000000 / 100e3 , base = 2) * 1 doubling = 10.68825 doublings !l ### 2. points of comparison: 17 May : about 1,458,787 infections (ca 3am) according to covidtracking.com !l ### log ( 165000000 / 1458787 , base = 2) * 30 days = 204.6466 205 days = 120 days given away !l ### log ( 165000000 / 1458787 , base = 2) * 11 days = 75.03708 75 days !l ### log ( 165000000 / 1458787 , base = 2) * 3 days = 20.46466 20 days !l ### log ( 165000000 / 1458787 , base = 2) * 1 doubling = 6.821553 doublings !l ### Interpolated Doubling time : ca 10-11 days: !l ### 1. points of comparison: 27 March : about 100,000 infections according to coronavirus.jhu.edu !l ### 2. points of comparison: 17 May : about 1,458,787 infections (ca 3am) according to covidtracking.com !l ### log ( 1458787 / 100e3 , base = 2) = 3.866697 fold growth of inected in 42 days !l ==> Thus, in 42 days ( 27 March to 17 May 2020 = in 5+30+7 = 42 ) the observed log-growth is : !l log ( 1458787 / 100e3 , base = 2) * 10.9 = 32.06475 Doubling time days = 10.86198 = 42 / 3.866697 !l ==> 3.9 doublings in 42 days makes the effective doubling time during lockdown about 10.86 days !l ### !l ### ==> Conclusons: try to get 3, 10, 30 days doubling time for comparing to SloMoClock !l ### Speed: hi starting at 27 March with 100K Infected at DT = 3 days ==> Half US at 32 days !l ### Speed: mi1 starting at 27 March with 100K Infected at DT = 11 days ==> Half US at 118 days !l ### Speed: mi1 starting at 17 May with 1.5e6 Infected at DT = 11 days ==> Half US at 75 days !l ### Speed: lo starting at 17 May with 1.5e6 Infected at DT = 30 days ==> Half US at 205 days !l ### !l ### !l ### Empirical doubling time estimate from 47 h samples apart: !l coronavirus.jhu.edu ( 1,467,884 infections from 11,077,179 total test results and 88,754 dead, recovered 268,376 ) 5/17/2020, 2:32:16 AM !l coronavirus.jhu.edu ( 1,508,957 infections from 11,834,508 total test results and 90,369 dead, recovered 283,178 ) 5/19/2020, 1:32:15 AM !l ----- scrap calc differences log: 1/ log ( 1508957 /1467884 , base = 2) = 25.11696 * 24/47 = 12.82568 does that mean we're back to a 12 day doubling time? !l ----- scrap calc differences linear: 1508957 - 1467884 = 41073 11834508-11077179 = 757329 90369-88754= 1615 283178-268376= 14802 in 47 hour difference --! !l ======================================================================================================================================================== !l ============================================================================================================================================================ !l Core Pandemic Entry-Point InPUT Settings - The ACTIVE core InPUT (Incoming Parameter Use Table) !l ============================================================================================================================================================ !l ###################################################### !l Experimenting with Testing frequency for users: !l Parameters chosen as reasonably realistic point estimate in light of the modeling goal and available data: !l An expectation of 1 test / day is the point of "daily capacity" of a testing pipeline. However, if !l some quick experimentation with throughput is desired, turning up the daily rate for the pipeline of 100,000 deterministic !l tests is a quick fix. Tests are collected by TestFlow_1_Forced_from_Infect1Hide_All immediately after hidden growth has !l established infectiousness (ca 1 day after catching the virus and before any chance of recovery or death): !l Search for TestFlow_1_Forced_from_Infect1Hide_All in this file to find more details. !l The keyy parameters of this test are defined in the next 2 lines, and observed Summary Count Parts can easily be added to the !l TimeSeries plots by adding these parts: Sum_TestLab_1_Done , Sum_TestLab_1_Missed , Sum_TestRe2_Missed , Sum_TestRe2_Done , (search for them in the file for more details: ) !l The following two parameters are the most interesting to modify first when exploring testing: !l Initial Amount of TestRe1_Missed_Rt = 0.1 !L Let's assume that after 10 days a test is Missed for being too late (probably too generous) Initial Amount of Test_1_DoDaily_Rt = 1 !L This is sort-of the point of a "daily testing capacity" !l !l ############################################################################################################################################################################################################ !l ############## Simulation Settings Easiest to change for users in PandemicSociety101 ############# InPUT: Incoming Parameter Use Tables Main End ####################### !l ############################################################################################################################################################################################################ !-- -------------------------------------------------------------------------------------------------------------------------------------- State Test Exp Summarizing Definition for Core ViroStatus of Persons in PandemicSociety101, Scenario 1 QQ0r2p0_2020_06_20_Lion ------------------------------------------------ State of Virus Infection ------------------------------------------------------------ Susceptible -- Susceptible to Catch Infect of Virus genome Vg00 [0S K0 KS] from Places Shared; other states cannot be infected Starts0grow 1d Starting virus growth (deterministic for Vg chosen); not yet infectious; co-infection & recombination impossible ----------- 100% -- --- 1. Simplified TestingFlow FORCES a test for all individuals entering Infect1Hide to check for linear fooling Infect1Hide 2d Infectious, high virus sheds are hidden; no symptoms, status hidden; TestA is pos TestB is neg Infect2Anti 3d Infectious, high virus sheds stay hidden; no symptoms, status hidden; TestA is pos TestB is pos 100% --- 2. Simplified TestingFlow enforced for all Infect3Mild to explore linear fooling (not for capacity planning) Infect3Mild 2w Infectious, high virus sheds as people react to illness symptoms virus defense may go up; Test PCR pos AntiB pos ---------------- --- Beyond here COVID becomes severe enough to require HOSpitalBED-ICU care; assumed const best care, no errors Infect4StrongHOS 2w Infectious, Strong symptoms, holds hospital bed; would live at home; looks like Infect5CritclBED Infect5CritclBED 2w Infectious, Critcl symptoms, needs hospital bed or dies Infect6DeadlyICU 2w Infectious, Deadly symptoms, needs IntensiveCareUnit or dies Infect7ExpectICU 2w Infectious, Expect death as deadly symptoms are even beyond ICU ability to help; symptoms like Infect6DeadlyICU ---------------- --- Removed from pandemic: individuals either Healed to Recover or Died outof/in hospitals; cannot be reinfected RecoveredHealthC -- Recovered by health care in hospital; assumed immune now RecoveredOutside -- Recovered outside; assumed immune now Died_preHospital -- All deaths occuring above up to including Infect3Mild, but none after, i.e. none in hospital by definition Died_in_Hospital -- All deaths from only the later stages of COVID (assumed in hospital, see Infect4StrongHOS to Infect7ExpectICU) -------------------------------------------------------------------------------------------------------------------------------------- --! !l ################################################################################################# !l ################################################################################################# !l ################# ASHAs in PandemicSociety101 ################################### !l ##### Use this List to the code for connecting the dots ########################## !l ################################################################################################# !l ################################################################################################# !-- !l ################################################################################################# !l ## ASHA_Places Features: Reminder: ############################################################ Brief _Frag_ PlSuffix ASHA_Suffix Usual Example ASHA Name Explicit ASHA_Places Feature Name Summarizing Explanation Warning: Careful when linking more than 1 Action to 1 ASHA if the underpinning mechanics is not crystal clear (else lots of confusing modeling behavior might be the result). FIXed or VARiable in simulations? ----- ------ -------- ----------- ----------------------- --------------------------------- ----------------------- ----------------------------------------------------------------------------------------------------------------------------ASHA-definitions-as-of-2020-05-17-PPv0r4p3------- ---------------------as-used-here--- Aces _Aces_ PlAces_ ASHA_Aces_ ASHA_Aces_MyExampleASHA ASHA Placed Aces Maximal Count All Computationally Equivalent Spaces Count; sum of all notional Places held in an ASHA, defining a hard limit of all its space; limit enforced by _Aces_=_Shut_+_Open_=_Shut_+_With_+_Lack_, always tracked. FIX at Quest start (by User) Dice _Dice_ PlDice_ ASHA_Dice_ ASHA_Dice_MyExampleASHA ASHA Placer Dice Probability Expected frequency of randomly selecting 1 of all existing Aces for some an unspecified Action (without orienting the probability as done by With/Lack); _Dice_ = 1/(_Open_), categorically excluding _Shut_. FIX at start (Must be 1/_Aces_) With _With_ PlWith_ ASHA_With_ ASHA_With_MyExampleASHA ASHA Places With Item Counted Current Count of all _Aces_ _With_ a unit Item of the nominal Type defined by this ASHA (Name, Context, and how _With_ is used); works well to slow unwanted Actions, less so for increasing wanted rates. VAR = 0 or set by User at start Lack _Lack_ PlLack_ ASHA_Lack_ ASHA_Lack_MyExampleASHA ASHA Places Lacking Item Counted Current Count of all _Aces_ _Lack_ing a unit Item of the nominal Type defined by this ASHA (Name, Context, and how _Lack_ is used); works well to slow wanted Actions, less so for increasing unwanted rates. VAR = 0 or set (Must add up to _Aces_) InIt _InIt_ PlInIt_ ASHA_InIt_ ASHA_InIt_MyExampleASHA ASHA In It Invisible With Scaling Neutralizing factor for _With_ to hide the ASHA in (_Dice_*_With_*_InIt_) products in an Action Rate/Probability that is controllable by this ASHA; use _InIt_=(_Aces_/_With_) for ASHA-free null-models. FIX = 2 if _With_:_Lack_ is 50:50 ... OuOf _OuOf_ PlOuOf_ ASHA_OuOf_ ASHA_OuOf_MyExampleASHA ASHA OutOf Invisible Lack Scaling Neutralizing factor for _Lack_ to hide the ASHA in (_Dice_*_Lack_*_OuOf_) products in an Action Rate/Probability that is controllable by this ASHA; use _OuOf_=(_Aces_/_Lack_) for ASHA-free null-models. FIX ... usually a good starting point Gain _Gain_ PlGain_ ASHA_Gain_ ASHA_Gain_MyExampleASHA ASHA Placer Gain for any Lacking Import Actions must change 1 _Lack_ to 1 _With_ and scale Rates by (_Dice_*_Lack_*_OuOf_*_Gain_) to properly import 1 external Item into the ASHA - as 1 random Place Lacking must be found to Place the Gain. FIX at start; add Gain Action Loss _Loss_ PlLoss_ ASHA_Loss_ ASHA_Loss_MyExampleASHA ASHA Placer Loss for losing With Spontaneous Loss or Decay of 1 Item from all Places With takes 1 Action changing 1 _With_ to 1 _Lack_ to properly release 1 Item from the ASHA; scale by (_With_*_InIt_*_Loss_); no Placer Dice search occurs. FIX at start; add Loss Action Grow _Grow_ PlGrow_ ASHA_Grow_ ASHA_Grow_MyExampleASHA ASHA Placer Grow by Reproducing To properly Grow 1 new Item by Items at Places With, 1 density-dependent Grow Action must change 1 _Lack_ to 1 _With_ at a Rate scaled by (_Dice_*_Lack_*_OuOf_*_Grow_) as 1 random Place Lacking is required. FIX Slo-Mo Explosion speed in Grow Act Fade _Fade_ PlFade_ ASHA_Fade_ ASHA_Fade_MyExampleASHA ASHA Placer Fade to stop Crowding As density-dependent failure, stress, ... increase in Slow-Motion Explosions, Fade Actions changing 1 _With_ to 1 _Lack_ at Rates scaled by (_Dice_*_With_*_InIt_*_Fade_); this ends all SloMo Explosions. FIX Slo-Mo Explosion limit in Fade Act !l ################################################################################################# Start of ASHA Places Init ####################### !l ############################################################################# !l ############################################################################# Overview of the ASHA_Places Model ============================================================================================== Populations in Evolvix can be modeled in many ways, yet it is simpler to adopt a uniform way of doing so in order to standardize the writing and speedup the reading of code. The approach chosen here is called the ASHA Model, Places Population Model, or sometimes ASHA Places (interchangeably), where ASHA stands for an Aggregated average effective State Homogeneity Approximation (or "Approximator" or "Approximation Simulator", to efficiently talk about ASHAs) assumption specified for a dynamic population that is being modeled. It is in contrast to SEHA, a Simulated Explicit Heterogeneity Approximation (or "Approximator" or "Approximation Simulator", to efficiently talk about ASHAs) assumption that spells out many details ASHA abstracts away as effective averages. Before intoducing more details about this approach to modeling further below, some overviews are given in a ready-to-copy-paste-modify form that makes it more productive to write the corresponding simulation code. To define an ASHA (or ASHA_Places or an ASHA Places model or briefly and generically "ASHAs"), the quantities below must be defined in Evolvix, such that they are never confused between ASHAs for different purposes or localities. For clarity, this model uses ASHA_ as a prefix with the respective suffixes below to indicate the variable or constant value used in this model. (On other occasions the Places prefix Pl may be more appropriate; this model uses ASHAs to quantify some intangible quantities like Skills, so ASHA_ seems a more appropriately abstract prefix that points to the underlying assumptions). Here are the ASHA quantities required for defining _MyExampleASHA with Summarizing OneLine Explanation (ready for copy-pasting elsewhere as a reminder): This ASHA overview also used for the main text is most up to date (all others in this file need to be updated accordingly; they are not deleted, since they often contain additional helpful background explanations; but if in contradiction to this summary, then this summary should win): Brief _Frag_ PlSuffix ASHA_Suffix Usual Example ASHA Name Explicit ASHA_Places Feature Name Summarizing Explanation Warning: Careful when linking more than 1 Action to 1 ASHA if the underpinning mechanics is not crystal clear (else lots of confusing modeling behavior might be the result). FIXed or VARiable in simulations? ----- ------ -------- ----------- ----------------------- --------------------------------- ----------------------- ----------------------------------------------------------------------------------------------------------------------------ASHA-definitions-as-of-2020-05-17-PPv0r4p3------- ---------------------as-used-here--- Aces _Aces_ PlAces_ ASHA_Aces_ ASHA_Aces_MyExampleASHA ASHA Placed Aces Maximal Count All Computationally Equivalent Spaces Count; sum of all notional Places held in an ASHA, defining a hard limit of all its space; limit enforced by _Aces_=_Shut_+_Open_=_Shut_+_With_+_Lack_, always tracked. FIX at Quest start (by User) Dice _Dice_ PlDice_ ASHA_Dice_ ASHA_Dice_MyExampleASHA ASHA Placer Dice Probability Expected frequency of randomly selecting 1 of all existing Aces for some an unspecified Action (without orienting the probability as done by With/Lack); _Dice_ = 1/(_Open_), categorically excluding _Shut_. FIX at start (Must be 1/_Aces_) With _With_ PlWith_ ASHA_With_ ASHA_With_MyExampleASHA ASHA Places With Item Counted Current Count of all _Aces_ _With_ a unit Item of the nominal Type defined by this ASHA (Name, Context, and how _With_ is used); works well to slow unwanted Actions, less so for increasing wanted rates. VAR = 0 or set by User at start Lack _Lack_ PlLack_ ASHA_Lack_ ASHA_Lack_MyExampleASHA ASHA Places Lacking Item Counted Current Count of all _Aces_ _Lack_ing a unit Item of the nominal Type defined by this ASHA (Name, Context, and how _Lack_ is used); works well to slow wanted Actions, less so for increasing unwanted rates. VAR = 0 or set (Must add up to _Aces_) InIt _InIt_ PlInIt_ ASHA_InIt_ ASHA_InIt_MyExampleASHA ASHA In It Invisible With Scaling Neutralizing factor for _With_ to hide the ASHA in (_Dice_*_With_*_InIt_) products in an Action Rate/Probability that is controllable by this ASHA; use _InIt_=(_Aces_/_With_) for ASHA-free null-models. FIX = 2 if _With_:_Lack_ is 50:50 ... OuOf _OuOf_ PlOuOf_ ASHA_OuOf_ ASHA_OuOf_MyExampleASHA ASHA OutOf Invisible Lack Scaling Neutralizing factor for _Lack_ to hide the ASHA in (_Dice_*_Lack_*_OuOf_) products in an Action Rate/Probability that is controllable by this ASHA; use _OuOf_=(_Aces_/_Lack_) for ASHA-free null-models. FIX ... usually a good starting point Gain _Gain_ PlGain_ ASHA_Gain_ ASHA_Gain_MyExampleASHA ASHA Placer Gain for any Lacking Import Actions must change 1 _Lack_ to 1 _With_ and scale Rates by (_Dice_*_Lack_*_OuOf_*_Gain_) to properly import 1 external Item into the ASHA - as 1 random Place Lacking must be found to Place the Gain. FIX at start; add Gain Action Loss _Loss_ PlLoss_ ASHA_Loss_ ASHA_Loss_MyExampleASHA ASHA Placer Loss for losing With Spontaneous Loss or Decay of 1 Item from all Places With takes 1 Action changing 1 _With_ to 1 _Lack_ to properly release 1 Item from the ASHA; scale by (_With_*_InIt_*_Loss_); no Placer Dice search occurs. FIX at start; add Loss Action Grow _Grow_ PlGrow_ ASHA_Grow_ ASHA_Grow_MyExampleASHA ASHA Placer Grow by Reproducing To properly Grow 1 new Item by Items at Places With, 1 density-dependent Grow Action must change 1 _Lack_ to 1 _With_ at a Rate scaled by (_Dice_*_Lack_*_OuOf_*_Grow_) as 1 random Place Lacking is required. FIX Slo-Mo Explosion speed in Grow Act Fade _Fade_ PlFade_ ASHA_Fade_ ASHA_Fade_MyExampleASHA ASHA Placer Fade to stop Crowding As density-dependent failure, stress, ... increase in Slow-Motion Explosions, Fade Actions changing 1 _With_ to 1 _Lack_ at Rates scaled by (_Dice_*_With_*_InIt_*_Fade_); this ends all SloMo Explosions. FIX Slo-Mo Explosion limit in Fade Act !l ## Templates for common use-cases: !l ## Empty Huge Population: all _Lack_ and no _With_ Initial Amount of ASHA_Aces___MyExampleASHA = 1e12 !L Limited by Evolvix enforced Floating point precision at 1e15 Initial Amount of ASHA_Dice___MyExampleASHA = 1e-12 !L Default = 1e-10 Initial Amount of ASHA_With___MyExampleASHA = 0 !L Start out clean Initial Amount of ASHA_Lack___MyExampleASHA = 1e12 !L Start out clean Initial Amount of ASHA_InIt___MyExampleASHA = 1 !L Default = 2 Initial Amount of ASHA_OuOf___MyExampleASHA = 1 !L Default = 2 Initial Amount of ASHA_Gain___MyExampleASHA = 0 !L Default = 0 Initial Amount of ASHA_Loss___MyExampleASHA = 0 !L Default = 0 Initial Amount of ASHA_Grow___MyExampleASHA = 0 !L Default = 0 Initial Amount of ASHA_Fade___MyExampleASHA = 0 !L Default = 0 !l ## Allow huge downward changes to _With_ or _Lack_ in many small steps Initial Amount of ASHA_Aces___MyExampleASHA = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice___MyExampleASHA = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With___MyExampleASHA = 5e9 !L Default = 5e9 50/50 split of With/Lack Initial Amount of ASHA_Lack___MyExampleASHA = 5e9 !L Default = 5e9 Initial Amount of ASHA_InIt___MyExampleASHA = 2 !L Default = 2 Initial Amount of ASHA_OuOf___MyExampleASHA = 2 !L Default = 2 Initial Amount of ASHA_Gain___MyExampleASHA = 0 !L Default = 0 Initial Amount of ASHA_Loss___MyExampleASHA = 0 !L Default = 0 Initial Amount of ASHA_Grow___MyExampleASHA = 0 !L Default = 0 Initial Amount of ASHA_Fade___MyExampleASHA = 0 !L Default = 0 !l ## ASHA __MyExampleASHA_StopHarm ===> use _With_ to _StopHarm !l ## Allow huge changes to _With_ (by some orders of magnitude, while Lack almost stays as is) Initial Amount of ASHA_Aces___MyExampleASHA = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice___MyExampleASHA = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With___MyExampleASHA = 1e5 !L Default = 1e5 allow _With_ to change by some orders of magnitude Initial Amount of ASHA_Lack___MyExampleASHA = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_InIt___MyExampleASHA = 1e5 !L Default = 1e5 Initial Amount of ASHA_OuOf___MyExampleASHA = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_Gain___MyExampleASHA = 0 !L Default = 0 Initial Amount of ASHA_Loss___MyExampleASHA = 0 !L Default = 0 Initial Amount of ASHA_Grow___MyExampleASHA = 0 !L Default = 0 Initial Amount of ASHA_Fade___MyExampleASHA = 0 !L Default = 0 !l ## ASHA __MyExampleASHA_CallHelp ===> use _Lack_ to _CallHelp !l ## Allow huge changes to _Lack_ (by some orders of magnitude, while With almost stays as is) Initial Amount of ASHA_Aces___MyExampleASHA = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice___MyExampleASHA = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With___MyExampleASHA = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_Lack___MyExampleASHA = 1e5 !L Default = 1e5 allow _Lack_ to change by some orders of magnitude Initial Amount of ASHA_InIt___MyExampleASHA = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_OuOf___MyExampleASHA = 1e5 !L Default = 1e5 Initial Amount of ASHA_Gain___MyExampleASHA = 0 !L Default = 0 Initial Amount of ASHA_Loss___MyExampleASHA = 0 !L Default = 0 Initial Amount of ASHA_Grow___MyExampleASHA = 0 !L Default = 0 Initial Amount of ASHA_Fade___MyExampleASHA = 0 !L Default = 0 --! !l ################################################################################################################################################################################################################################################################################## !l ################################################################################################################################################################################################################################################################################## !l ####################################################################################### ####################### !l ####################################################################################### Start of Actions for 1 type of infection: ####################### !l ####################################################################################### follow over time how this changes: Amateur Edge Vg00 ####################### !l ####################################################################################### ####################### !l ####################################################################################### Replicate / Copy / Adapt this ####################### !l ####################################################################################### as a unit by Search and Replace (no _ ): Amateur Edge Vg00 ####################### !l ####################################################################################### ####################### !l ################################################################################################################################################################################################################################################################################## !l ################################################################################################################################################################################################################################################################################## !l ################################################################################################################################################################################################################################################################################## !L ######################################## Looping Logic #################################################################################################################### !l ################################################################################################################################################################################################################################################################################## !L !L To add more settings (learn, mind, virus): Use method of lines by Copy-Adapting the next code-block for 1 line over time, then add links between lines as needed ---------- !L ----------------------------------------- Outer Loop ----> Inner Loop for Code Replication with Adjusting --------------------------------------------------------------- !L Virus Mind ViroInsight | COVIDstate Action COVIDstate | ViroInsight Mind Virus !L Vg00 | | !L Vg00 Edge | | Vg00 !L Vg00 Edge Amateur | | Edge Vg00 !L Vg00 Edge Amateur | Infect1Hide | Amateur Edge Vg00 !L Vg00 Edge Amateur | Infect1Hide Shed_Virus Infect1Hide | Amateur Edge Vg00 !l In this loop: !l ### Define all ASHAs required by the lines in this loop !l ### Define all Actions required by the lines in this loop !l ### Define all Rates required by the lines in this loop ==> Move the interesting ones out for easier access (and comment out here to indicate that); !l See ViroLoad at beginning of parameter settings (needs expansion too, when looping here) + the Plotting report statements too !l ################################################################################################################################################################################################################################################################################## !l ### Define all Rates required by the lines in this loop ==> Move the interesting ones out for easier access !l ################################################################################################################################################################################################################################################################################## !l ### Define all ASHAs required by the lines in this loop !l ##################### Not clear how to best organize this code: Currently ASHAs are defined closest to where they are needed (which reduces a 'central overview'. Move to 1 central location or intersperse with the code? BUT NOT TWICE, To be decided. !l ##################################################### Loop _Vg00 !l ## ViroLoad Shared and differentiated ViroLoad !l ## ASHA_With_ViroLoad_Fragile_Vg00 Durable or Fragile !l ## ASHA_With_ViroLoad_Durable_Vg00 Durable or Fragile !-- !L These details would be defined below if there was a guarantee that they do not affect the simulation; however the might do, since this model decided to break-up the typical perfect SIR transmission chain from Infected to the next susceptible Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 1e12 !L Limited by Evolvix enforced Floating point precision at 1e15 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 1e-12 !L Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 1e12 !L Start out clean Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 1e12 !L Limited by Evolvix enforced Floating point precision at 1e15 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 1e-12 !L Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 1e12 !L Start out clean Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 330e6 !L 330e6 is chosen to reflect US population size, even though more viruses can clearly exist (=> exploratory test only) Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 3.030303e-09 !L 1/330e6 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 330e6 !L Start out clean Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 330e6 !L 330e6 is chosen to reflect US population size, even though more viruses can clearly exist (=> exploratory test only) Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 3.030303e-09 !L 1/330e6 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 330e6 !L Start out clean As used above where parameters are set: !L 2. ViroLoad Setting adapted to US population size to see what this does to the parameter space that produces a pandemic Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 3.030303e-09 !L Dura 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 3.030303e-09 !L Fragile 3.030303e-09 Dice = 1/Aces 330e6 adjusted to US population size, even though more viruses can clearly exist; explore due to SIR 1/1 coupling of infections and their use of concentrations. Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 330e6 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. !L 1. ViroLoad Setting adapted to ca 3000x US population size to see what this does to the parameter space that produces a pandemic -- initial settings for Runs 1-21 above Initial Amount of ASHA_Aces_ViroLoad_Durable_Vg00 = 1e12 Initial Amount of ASHA_Dice_ViroLoad_Durable_Vg00 = 1e-12 !L Dura Dice = 1/Aces Limited by Evolvix enforced Floating point precision at 1e15 Initial Amount of ASHA_Lack_ViroLoad_Durable_Vg00 = 1e12 Initial Amount of ASHA_With_ViroLoad_Durable_Vg00 = 0 !L Dura Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. Initial Amount of ASHA_Aces_ViroLoad_Fragile_Vg00 = 1e12 Initial Amount of ASHA_Dice_ViroLoad_Fragile_Vg00 = 1e-12 !L Fragile Dice" = 1/Aces Limited by Evolvix enforced Floating point precision at 1e15 Initial Amount of ASHA_Lack_ViroLoad_Fragile_Vg00 = 1e12 Initial Amount of ASHA_With_ViroLoad_Fragile_Vg00 = 0 !L Fragile Start out clean (i.e. perfect lack of ViroLoad); add to "With" by reducing "Lack" if desirable for some reason, but the sum MUST add up to "Aces" else the results will make no sense. --! !L End of ViroLoad ASHA definition block !L What follows in the next few ASHAs is the ground-work for the improvement of ViroSkill by learning as discused in the paper !L (not functional now, but has all the hooks for building on this as described in the paper) AND these codes need to be WITHIN the big Copy-Paste-Adapt Loop !l ##################################################### Loop _Amateur _Edge !l ASHA_Dice_ViroSkill is specific to each of the Shed_Fragile_ Catch Decay Actions !l ViroSkill !l ### ViroInsight !l ### widEResearchSafety !l Are all defined next to the actions that use them !l ## ASHA _StopHarm_Amateur_Edge !l ## Allow huge changes to _With_ (by some orders of magnitude, while Lack almost stays as is) !l ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge This scaling is independent of the viral genotype !l ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge This scaling is independent of the viral genotype !l ASHA_Dice_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge This scaling is independent of the viral genotype !l ASHA_Dice_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge This scaling is independent of the viral genotype !l ASHA_Dice_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge This scaling is independent of the viral genotype !l ASHA_Dice_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge This scaling is independent of the viral genotype !l ViroInsight_StopHarm_Amateur_Edge !l widEResearchSafety_StopHarm_Amateur_Edge !l ## ASHA _CallHelp_Amateur_Edge !l ## Allow huge changes to _Lack_ (by some orders of magnitude, while With almost stays as is) !l ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge This scaling is independent of the viral genotype !l ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge This scaling is independent of the viral genotype !l ASHA_Dice_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge This scaling is independent of the viral genotype !l ASHA_Dice_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge This scaling is independent of the viral genotype !l ASHA_Dice_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge This scaling is independent of the viral genotype !l ASHA_Dice_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge This scaling is independent of the viral genotype !l ViroInsight_CallHelp_Amateur_Edge !l widEResearchSafety_CallHelp_Amateur_Edge !l ### ViroInsight ### ### ### ### ### ### ### ### ### !l ## ASHA ViroInsight_StopHarm_Amateur_Edge !l ## Allow huge changes to _With_ (by some orders of magnitude, while Lack almost stays as is) Initial Amount of ASHA_Aces_ViroInsight_StopHarm_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroInsight_StopHarm_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroInsight_StopHarm_Amateur_Edge = 1e5 !L <<<------use _With_ Default = 1e5 allow _With_ to change by some orders of magnitude Initial Amount of ASHA_Lack_ViroInsight_StopHarm_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_InIt_ViroInsight_StopHarm_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_OuOf_ViroInsight_StopHarm_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_Gain_ViroInsight_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroInsight_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroInsight_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroInsight_StopHarm_Amateur_Edge = 0 !L Default = 0 !l ### ViroInsight ### ### ### ### ### ### ### ### ### !l ## ASHA ViroInsight_CallHelp_Amateur_Edge !l ## Allow huge changes to _Lack_ (by some orders of magnitude, while With almost stays as is) Initial Amount of ASHA_Aces_ViroInsight_CallHelp_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroInsight_CallHelp_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroInsight_CallHelp_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_Lack_ViroInsight_CallHelp_Amateur_Edge = 1e5 !L <<<------use _Lack_ Default = 1e5 allow _Lack_ to change by some orders of magnitude Initial Amount of ASHA_InIt_ViroInsight_CallHelp_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_OuOf_ViroInsight_CallHelp_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_Gain_ViroInsight_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroInsight_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroInsight_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroInsight_CallHelp_Amateur_Edge = 0 !L Default = 0 !l ### widEResearchSafety !l ## ASHA widEResearchSafety_StopHarm_Amateur_Edge !l ## Allow huge changes to _With_ (by some orders of magnitude, while Lack almost stays as is) Initial Amount of ASHA_Aces_widEResearchSafety_StopHarm_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_widEResearchSafety_StopHarm_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_widEResearchSafety_StopHarm_Amateur_Edge = 1e5 !L <<<------use _With_ Default = 1e5 allow _With_ to change by some orders of magnitude Initial Amount of ASHA_Lack_widEResearchSafety_StopHarm_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_InIt_widEResearchSafety_StopHarm_Amateur_Edge = 1e5 !L <<<------use _Lack_ Default = 1e5 allow _Lack_ to change by some orders of magnitude Initial Amount of ASHA_OuOf_widEResearchSafety_StopHarm_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_Gain_widEResearchSafety_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_widEResearchSafety_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_widEResearchSafety_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_widEResearchSafety_StopHarm_Amateur_Edge = 0 !L Default = 0 !l ### widEResearchSafety !l ## ASHA widEResearchSafety_CallHelp_Amateur_Edge !l ## Allow huge changes to _Lack_ (by some orders of magnitude, while With almost stays as is) Initial Amount of ASHA_Aces_widEResearchSafety_CallHelp_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_widEResearchSafety_CallHelp_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_widEResearchSafety_CallHelp_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_Lack_widEResearchSafety_CallHelp_Amateur_Edge = 1e5 !L <<<------use _Lack_ Default = 1e5 allow _Lack_ to change by some orders of magnitude Initial Amount of ASHA_InIt_widEResearchSafety_CallHelp_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_OuOf_widEResearchSafety_CallHelp_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_Gain_widEResearchSafety_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_widEResearchSafety_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_widEResearchSafety_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_widEResearchSafety_CallHelp_Amateur_Edge = 0 !L Default = 0 !l ############################################################################# !l ############################################################################# !l ################################################################################################################################################################################ Start Disease Progression = Inner Loop done by hand #################################################################################### !l ############################################################################# !l ############################################################################# !-- Overview of the disease progression implemented above: Explicit Names of the various states of infection and other impact of the pandemic individuals: ----------------StateOfInfection---------------- Susceptible -- Catch fixed Infect Vg00..KS Starts0grow -- Forces Test all between I0 --> I1 Infect1Hide Infect2Anti -- Forces Test all between I2 --> I3 Infect3Mild --------- -- Hospital Start Infect4StrongHOS Infect5CritclBED Infect6DeadlyICU Infect7ExpectICU --------- -- Hospital End RecoveredOutside RecoveredHealthC Died_preHospital Died_in_Hospital ----------------QQ0r2p0_2020_06_20_Lion---------- With some additional explanations: -------------------------------------------------------------------------------------------------------------------------------------- State Test Exp Summarizing Definition for Core ViroStatus of Persons in PandemicSociety101, Scenario 1 QQ0r2p0_2020_06_20_Lion ------------------------------------------------ State of Virus Infection ------------------------------------------------------------ Susceptible -- Susceptible to Catch Infect of Virus genome Vg00 [0S K0 KS] from Places Shared; other states cannot be infected Starts0grow 1d Starting virus growth (deterministic for Vg chosen); not yet infectious; co-infection & recombination impossible ----------- 100% -- --- 1. Simplified TestingFlow FORCES a test for all individuals entering Infect1Hide to check for linear fooling Infect1Hide 2d Infectious, high virus sheds are hidden; no symptoms, status hidden; TestA is pos TestB is neg Infect2Anti 3d Infectious, high virus sheds stay hidden; no symptoms, status hidden; TestA is pos TestB is pos 100% --- 2. Simplified TestingFlow enforced for all Infect3Mild to explore linear fooling (not for capacity planning) Infect3Mild 2w Infectious, high virus sheds as people react to illness symptoms virus defense may go up; Test PCR pos AntiB pos ---------------- --- Beyond here COVID becomes severe enough to require HOSpitalBED-ICU care; assumed const best care, no errors Infect4StrongHOS 2w Infectious, Strong symptoms, holds hospital bed; would live at home; looks like Infect5CritclBED Infect5CritclBED 2w Infectious, Critcl symptoms, needs hospital bed or dies Infect6DeadlyICU 2w Infectious, Deadly symptoms, needs IntensiveCareUnit or dies Infect7ExpectICU 2w Infectious, Expect death as deadly symptoms are even beyond ICU ability to help; symptoms like Infect6DeadlyICU ---------------- --- Removed from pandemic: individuals either Healed to Recover or Died outof/in hospitals; cannot be reinfected RecoveredHealthC -- Recovered by health care in hospital; assumed immune now RecoveredOutside -- Recovered outside; assumed immune now Died_preHospital -- All deaths occuring above up to including Infect3Mild, but none after, i.e. none in hospital by definition Died_in_Hospital -- All deaths from only the later stages of COVID (assumed in hospital, see Infect4StrongHOS to Infect7ExpectICU) -------------------------------------------------------------------------------------------------------------------------------------- --! !l ################################################################################################################################################################################################################################################################################## !l ### Define all Actions required by the lines in this loop !-- 1.1.1.1.1.0.2 Action Type number 1.1.1.1.1.0 Infect-Stage target number 1.1.1.1.1 Learning 1.1.1.1 Mindset 1.1.1 Vg --! !L *************************************************************************************************** !L !L ** 1 Action Shed_Fragile_ Virus accidentally !L !L *************************************************************************************************** !l ## Shed_Fragile_ Daily Load of Virus !l ## !l ## ASHA_Lack_ViroLoad_Fragile_Vg00 !l ## ASHA_Lack_ViroLoad_Durable_Vg00 !l ## !l ## from various Infectious Types (different Stages, Minds, Vgs, possibly adjusting rate) !l ## while scaling by virus safety relevant for this action, as represented by !L ## ViroSkill_Shed_Fragile_ and _Durable_ Rates to define how much virus is distributed to the environment by the Action Shed. !l !L Virus packets can only be moved 1 by 1 here, so moving many per day but not too many is key for getting !L the short doubling time base lines. Interesting is the almost lack of density control for the virus; !L it will eventually fill all places given (if replicating fast enough), or be dramatically limited !L by a very high death rate, BUT it is not a stable population! !L !L Tune Infection styles + Shed_Fragile_ _Durable_ Rates according to virus-type if needed. !l !l The model assumes that Virus-safety expertise enters through !l Expertise that can CallHelp !l Expertise that can StopHarm !L through the many relevant ViroSkills applied by the people where they are: !l ASHA_Aces_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge !l ASHA_Aces_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge !l ASHA_Aces_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge !l ASHA_Aces_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge !l All other higher-order information must eventually go through these regulators - and can thus be ignored here. !l !l !L Parameters for Action Ac__Vg00___Edge_Amateur___Infect1Hide___Shed_Fragile__Virus : !L Parameters for Action Ac__Vg00___Edge_Amateur___Infect1Hide___Shed_Durable__Virus : !l !L Base Rate Shed_Fragile_Vg00_Rt !L Relative Rates: Vg00_Shed_Fragile_At1 , Vg00_Shed_Fragile_At2 , Vg00_Shed_Fragile_At3 , Vg00_Shed_Fragile_At4 , Vg00_Shed_Fragile_At5 , Vg00_Shed_Fragile_At6 , Vg00_Shed_Fragile_At7 !L Base Rate Shed_Durable_Vg00_Rt !L Relative Rates: Vg00_Shed_Durable_At1 , Vg00_Shed_Durable_At2 , Vg00_Shed_Durable_At3 , Vg00_Shed_Durable_At4 , Vg00_Shed_Durable_At5 , Vg00_Shed_Durable_At6 , Vg00_Shed_Durable_At7 !l !l Initial Amount of Shed_Fragile_Vg00_Rt = 50 !L <<<<------------Important Base rate for shedding the VirusGenotype Vg Initial Amount of Vg00_Shed_Fragile_At1_Sc = 1 !L Relative Scaling of base rate ... Initial Amount of Vg00_Shed_Fragile_At2_Sc = 1 !L Initial Amount of Vg00_Shed_Fragile_At3_Sc = 1 !L Initial Amount of Vg00_Shed_Fragile_At4_Sc = 1 !L ... enters Hospital ... Initial Amount of Vg00_Shed_Fragile_At5_Sc = 1 !L Initial Amount of Vg00_Shed_Fragile_At6_Sc = 1 !L Initial Amount of Vg00_Shed_Fragile_At7_Sc = 1 !L ... all the way up through the 7 infectious stages of infection !l !l Initial Amount of Shed_Durable_Vg00_Rt = 5 !L <<<<------------Important Base rate for shedding the VirusGenotype Vg Initial Amount of Vg00_Shed_Durable_At1_Sc = 1 !L Relative Scaling of base rate ... Initial Amount of Vg00_Shed_Durable_At2_Sc = 1 !L Initial Amount of Vg00_Shed_Durable_At3_Sc = 1 !L Initial Amount of Vg00_Shed_Durable_At4_Sc = 1 !L ... enters Hospital ... Initial Amount of Vg00_Shed_Durable_At5_Sc = 1 !L Initial Amount of Vg00_Shed_Durable_At6_Sc = 1 !L Initial Amount of Vg00_Shed_Durable_At7_Sc = 1 !L ... all the way up through the 7 infectious stages of infection !l ### Shed_Fragile_ StopHarm !l ## ASHA ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge Initially switched off to let the pandemic run its "as-is-course" (the null-model) !l ## Allow huge changes to _With_ (by some orders of magnitude, while Lack almost stays as is) Initial Amount of ASHA_Aces_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge = 1e5 !L <<<------use _With_ Default = 1e5 allow _With_ to change by some orders of magnitude Initial Amount of ASHA_Lack_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_OuOf_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_Gain_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge = 0 !L Default = 0 !l ### Shed_Fragile_ CallHelp !l ## ASHA ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge Initially switched off to let the pandemic run its "as-is-course" (the null-model) !l ## Allow huge changes to _Lack_ (by some orders of magnitude, while With almost stays as is) Initial Amount of ASHA_Aces_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge = 1e5 !L <<<------use _Lack_ Default = 1e5 allow _Lack_ to change by some orders of magnitude Initial Amount of ASHA_InIt_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_Gain_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge = 0 !L Default = 0 !l ### Shed_Durable_ StopHarm !l ## ASHA ViroSkill_Shed_Durable__StopHarm_Amateur_Edge Initially switched off to let the pandemic run its "as-is-course" (the null-model) !l ## Allow huge changes to _With_ (by some orders of magnitude, while Lack almost stays as is) Initial Amount of ASHA_Aces_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge = 1e5 !L <<<------use _With_ Default = 1e5 allow _With_ to change by some orders of magnitude Initial Amount of ASHA_Lack_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_OuOf_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_Gain_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge = 0 !L Default = 0 !l ### Shed_Durable_ CallHelp !l ## ASHA ViroSkill_Shed_Durable__CallHelp_Amateur_Edge Initially switched off to let the pandemic run its "as-is-course" (the null-model) !l ## Allow huge changes to _Lack_ (by some orders of magnitude, while With almost stays as is) Initial Amount of ASHA_Aces_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge = 1e5 !L <<<------use _Lack_ Default = 1e5 allow _Lack_ to change by some orders of magnitude Initial Amount of ASHA_InIt_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_Gain_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge = 0 !L Default = 0 !l Scaling documentation and null-hypotheses: !l !l _InIt_ : ASHA In It Invisible With Scaling Neutralizing factor for _With_ to hide the ASHA in (_Dice_*_With_*_InIt_) products in an Action Rate/Probability that is controllable by this ASHA; use _InIt_=(_Aces_/_With_) for ASHA-free null-models. !l Not very readable: ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + !l ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + !l !l _OuOf_ : ASHA OutOf Invisible Lack Scaling Neutralizing factor for _Lack_ to hide the ASHA in (_Dice_*_Lack_*_OuOf_) products in an Action Rate/Probability that is controllable by this ASHA; use _OuOf_=(_Aces_/_Lack_) for ASHA-free null-models. !l Not very readable: ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + !l ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + !-- Easier to stack: ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ------> ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + --! !l Scaling documentation and null-hypotheses: !l !l _InIt_ : ASHA In It Invisible With Scaling Neutralizing factor for _With_ to hide the ASHA in (_Dice_*_With_*_InIt_) products in an Action Rate/Probability that is controllable by this ASHA; use _InIt_=(_Aces_/_With_) for ASHA-free null-models. !l Not very readable: ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + !l ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + !l !l _OuOf_ : ASHA OutOf Invisible Lack Scaling Neutralizing factor for _Lack_ to hide the ASHA in (_Dice_*_Lack_*_OuOf_) products in an Action Rate/Probability that is controllable by this ASHA; use _OuOf_=(_Aces_/_Lack_) for ASHA-free null-models. !l Not very readable: ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + !l ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + !-- Easier to stack: ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ------> ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + --! !L ##### Shed_Fragile_ Virus !L Action is scaled by the base rate for all stages and the relative rate for the stage of infection relevant here, as well as the Shed ViroSkills of the general population as represented in the form of CallHelp and StopHarm !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect1Hide Action 1.1.1.1.1.1.1 Ac__Vg00___Edge_Amateur___Infect1Hide___Shed_Fragile__Virus ( ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect1Hide_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At1_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect1Hide_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At1_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + Sum_ViroShed_Fragile__All + Sum_Shed_Fragile__Vg00_All + Sum_Shed_Fragile__Infect1Hide_All + Sum_Shed_Fragile_At1_Vg00_All + Sum_Shed_Fragile__Amateur_All + Sum_Shed_Fragile__Edge_All + Sum_Shed_Fragile__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Fragile_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect2Anti Action 1.1.1.1.1.2.1 Ac__Vg00___Edge_Amateur___Infect2Anti___Shed_Fragile__Virus ( ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect2Anti_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At2_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect2Anti_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At2_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + Sum_ViroShed_Fragile__All + Sum_Shed_Fragile__Vg00_All + Sum_Shed_Fragile__Infect2Anti_All + Sum_Shed_Fragile_At2_Vg00_All + Sum_Shed_Fragile__Amateur_All + Sum_Shed_Fragile__Edge_All + Sum_Shed_Fragile__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Fragile_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect3Mild Action 1.1.1.1.1.3.1 Ac__Vg00___Edge_Amateur___Infect3Mild___Shed_Fragile__Virus ( ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect3Mild_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At3_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect3Mild_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At3_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + Sum_ViroShed_Fragile__All + Sum_Shed_Fragile__Vg00_All + Sum_Shed_Fragile__Infect3Mild_All + Sum_Shed_Fragile_At3_Vg00_All + Sum_Shed_Fragile__Amateur_All + Sum_Shed_Fragile__Edge_All + Sum_Shed_Fragile__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Fragile_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect4StrongHOS Action 1.1.1.1.1.4.1 Ac__Vg00___Edge_Amateur___Infect4StrongHOS___Shed_Fragile__Virus ( ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect4StrongHOS_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At4_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect4StrongHOS_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At4_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + Sum_ViroShed_Fragile__All + Sum_Shed_Fragile__Vg00_All + Sum_Shed_Fragile__Infect4StrongHOS_All + Sum_Shed_Fragile_At4_Vg00_All + Sum_Shed_Fragile__Amateur_All + Sum_Shed_Fragile__Edge_All + Sum_Shed_Fragile__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Fragile_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect5CritclBED Action 1.1.1.1.1.5.1 Ac__Vg00___Edge_Amateur___Infect5CritclBED___Shed_Fragile__Virus ( ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect5CritclBED_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At5_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect5CritclBED_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At5_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + Sum_ViroShed_Fragile__All + Sum_Shed_Fragile__Vg00_All + Sum_Shed_Fragile__Infect5CritclBED_All + Sum_Shed_Fragile_At5_Vg00_All + Sum_Shed_Fragile__Amateur_All + Sum_Shed_Fragile__Edge_All + Sum_Shed_Fragile__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Fragile_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect6DeadlyICU Action 1.1.1.1.1.6.1 Ac__Vg00___Edge_Amateur___Infect6DeadlyICU___Shed_Fragile__Virus ( ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect6DeadlyICU_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At6_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect6DeadlyICU_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At6_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + Sum_ViroShed_Fragile__All + Sum_Shed_Fragile__Vg00_All + Sum_Shed_Fragile__Infect6DeadlyICU_All + Sum_Shed_Fragile_At6_Vg00_All + Sum_Shed_Fragile__Amateur_All + Sum_Shed_Fragile__Edge_All + Sum_Shed_Fragile__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Fragile_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect7ExpectICU Action 1.1.1.1.1.7.1 Ac__Vg00___Edge_Amateur___Infect7ExpectICU___Shed_Fragile__Virus ( ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect7ExpectICU_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At7_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Fragile_Vg00 + Shed_Fragile_Vg00_Rt + Infect7ExpectICU_Amateur_Edge_Vg00 + Vg00_Shed_Fragile_At7_Sc + ASHA_Dice_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Fragile__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Fragile__CallHelp_Amateur_Edge + Sum_ViroShed_Fragile__All + Sum_Shed_Fragile__Vg00_All + Sum_Shed_Fragile__Infect7ExpectICU_All + Sum_Shed_Fragile_At7_Vg00_All + Sum_Shed_Fragile__Amateur_All + Sum_Shed_Fragile__Edge_All + Sum_Shed_Fragile__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Fragile_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L ##### Shed_Durable_ Virus !L Action is scaled by the base rate for all stages and the relative rate for the stage of infection relevant here, as well as the Shed ViroSkills of the general population as represented in the form of CallHelp and StopHarm !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect1Hide Action 1.1.1.1.1.1.1 Ac__Vg00___Edge_Amateur___Infect1Hide___Shed_Durable__Virus ( ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect1Hide_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At1_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect1Hide_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At1_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + Sum_ViroShed_Durable__All + Sum_Shed_Durable__Vg00_All + Sum_Shed_Durable__Infect1Hide_All + Sum_Shed_Durable_At1_Vg00_All + Sum_Shed_Durable__Amateur_All + Sum_Shed_Durable__Edge_All + Sum_Shed_Durable__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Durable_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect2Anti Action 1.1.1.1.1.2.1 Ac__Vg00___Edge_Amateur___Infect2Anti___Shed_Durable__Virus ( ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect2Anti_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At2_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect2Anti_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At2_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + Sum_ViroShed_Durable__All + Sum_Shed_Durable__Vg00_All + Sum_Shed_Durable__Infect2Anti_All + Sum_Shed_Durable_At2_Vg00_All + Sum_Shed_Durable__Amateur_All + Sum_Shed_Durable__Edge_All + Sum_Shed_Durable__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Durable_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect3Mild Action 1.1.1.1.1.3.1 Ac__Vg00___Edge_Amateur___Infect3Mild___Shed_Durable__Virus ( ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect3Mild_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At3_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect3Mild_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At3_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + Sum_ViroShed_Durable__All + Sum_Shed_Durable__Vg00_All + Sum_Shed_Durable__Infect3Mild_All + Sum_Shed_Durable_At3_Vg00_All + Sum_Shed_Durable__Amateur_All + Sum_Shed_Durable__Edge_All + Sum_Shed_Durable__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Durable_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect4StrongHOS Action 1.1.1.1.1.4.1 Ac__Vg00___Edge_Amateur___Infect4StrongHOS___Shed_Durable__Virus ( ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect4StrongHOS_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At4_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect4StrongHOS_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At4_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + Sum_ViroShed_Durable__All + Sum_Shed_Durable__Vg00_All + Sum_Shed_Durable__Infect4StrongHOS_All + Sum_Shed_Durable_At4_Vg00_All + Sum_Shed_Durable__Amateur_All + Sum_Shed_Durable__Edge_All + Sum_Shed_Durable__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Durable_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect5CritclBED Action 1.1.1.1.1.5.1 Ac__Vg00___Edge_Amateur___Infect5CritclBED___Shed_Durable__Virus ( ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect5CritclBED_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At5_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect5CritclBED_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At5_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + Sum_ViroShed_Durable__All + Sum_Shed_Durable__Vg00_All + Sum_Shed_Durable__Infect5CritclBED_All + Sum_Shed_Durable_At5_Vg00_All + Sum_Shed_Durable__Amateur_All + Sum_Shed_Durable__Edge_All + Sum_Shed_Durable__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Durable_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect6DeadlyICU Action 1.1.1.1.1.6.1 Ac__Vg00___Edge_Amateur___Infect6DeadlyICU___Shed_Durable__Virus ( ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect6DeadlyICU_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At6_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect6DeadlyICU_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At6_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + Sum_ViroShed_Durable__All + Sum_Shed_Durable__Vg00_All + Sum_Shed_Durable__Infect6DeadlyICU_All + Sum_Shed_Durable_At6_Vg00_All + Sum_Shed_Durable__Amateur_All + Sum_Shed_Durable__Edge_All + Sum_Shed_Durable__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Durable_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Infect7ExpectICU Action 1.1.1.1.1.7.1 Ac__Vg00___Edge_Amateur___Infect7ExpectICU___Shed_Durable__Virus ( ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect7ExpectICU_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At7_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Durable_Vg00 + Shed_Durable_Vg00_Rt + Infect7ExpectICU_Amateur_Edge_Vg00 + Vg00_Shed_Durable_At7_Sc + ASHA_Dice_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Shed_Durable__StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Shed_Durable__CallHelp_Amateur_Edge + Sum_ViroShed_Durable__All + Sum_Shed_Durable__Vg00_All + Sum_Shed_Durable__Infect7ExpectICU_All + Sum_Shed_Durable_At7_Vg00_All + Sum_Shed_Durable__Amateur_All + Sum_Shed_Durable__Edge_All + Sum_Shed_Durable__Amateur_Edge_All )!L Shed: Lack of Virus * Virus Shed Base Rate * Infected People * Shed_Durable_ Rate Scaling at this stage * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Change Stays Stays Stays Stays Stays Get Sums _All !L *************************************************************************************************** !L !L ** 2. Decay the virus in the Wild !L ** ==> Increases with training of this given type !L !L *************************************************************************************************** !L !L Viruses must survive in the Wild until they are picked up by !L Susceptibles who get the viral genotype from the environmental ViroLoad, !L !L ASHA_Lack_ViroLoad_Fragile_Vg00 !L ASHA_Lack_ViroLoad_Durable_Vg00 !L !L not directly from Infected persons who shed the virus. !L !L Therefore there is no effective virus density regulation in the wild !L which makes virueses extremely unstable as a population. !L !l The model assumes that Virus-safety expertise enters through !l Expertise that can CallHelp !l Expertise that can StopHarm !L through the many relevant ViroSkills applied by the people where they are: !l ASHA_Aces_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge !l ASHA_Aces_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge !l ASHA_Aces_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge !l ASHA_Aces_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge !l All other higher-order information must eventually go through these regulators - and can thus be ignored here. !l !L Base Rate Decay_Fragile_Vg00_Rt !L Base Rate Decay_Durable_Vg00_Rt !L Relative Rates: not here !l !L Parameters for Action 1.1.1.1.1.99.3.1 Ac__Vg00___Amateur_Edge____________Decay__Fragile_Virus !L Parameters for Action 1.1.1.1.1.99.3.2 Ac__Vg00___Amateur_Edge____________Decay__Durable_Virus !l !l !l Key Parameter: moved to more user-friently place: !l Initial Amount of Decay_Fragile_Vg00_Rt = 1 !L <<<<------------Important Base rate for decay of the VirusGenotype Vg !l Initial Amount of Decay_Durable_Vg00_Rt = 1 !L <<<<------------Important Base rate for decay of the VirusGenotype Vg !l !l ### Decay StopHarm !l ## ASHA ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge Initially switched off to let the pandemic run its "as-is-course" (the null-model) !l ## Allow huge changes to _With_ (by some orders of magnitude, while Lack almost stays as is) Initial Amount of ASHA_Aces_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge = 1e5 !L <<<------use _With_ Default = 1e5 allow _With_ to change by some orders of magnitude Initial Amount of ASHA_Lack_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_InIt_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_OuOf_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_Gain_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge = 0 !L Default = 0 !l ### Decay CallHelp !l ## ASHA ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge Initially switched off to let the pandemic run its "as-is-course" (the null-model) !l ## Allow huge changes to _Lack_ (by some orders of magnitude, while With almost stays as is) Initial Amount of ASHA_Aces_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_Lack_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge = 1e5 !L <<<------use _Lack_ Default = 1e5 allow _Lack_ to change by some orders of magnitude Initial Amount of ASHA_InIt_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_OuOf_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_Gain_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge = 0 !L Default = 0 !l ### Decay StopHarm !l ### Decay StopHarm !l ## ASHA ViroSkill_Decay_Durable_StopHarm_Amateur_Edge Initially switched off to let the pandemic run its "as-is-course" (the null-model) !l ## Allow huge changes to _With_ (by some orders of magnitude, while Lack almost stays as is) Initial Amount of ASHA_Aces_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge = 1e5 !L <<<------use _With_ Default = 1e5 allow _With_ to change by some orders of magnitude Initial Amount of ASHA_Lack_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_InIt_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_OuOf_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_Gain_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge = 0 !L Default = 0 !l ### Decay CallHelp !l ## ASHA ViroSkill_Decay_Durable_CallHelp_Amateur_Edge Initially switched off to let the pandemic run its "as-is-course" (the null-model) !l ## Allow huge changes to _Lack_ (by some orders of magnitude, while With almost stays as is) Initial Amount of ASHA_Aces_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_Lack_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge = 1e5 !L <<<------use _Lack_ Default = 1e5 allow _Lack_ to change by some orders of magnitude Initial Amount of ASHA_InIt_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_OuOf_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_Gain_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge = 0 !L Default = 0 !l Scaling documentation and null-hypotheses: !l !l _InIt_ : ASHA In It Invisible With Scaling Neutralizing factor for _With_ to hide the ASHA in (_Dice_*_With_*_InIt_) products in an Action Rate/Probability that is controllable by this ASHA; use _InIt_=(_Aces_/_With_) for ASHA-free null-models. !l _OuOf_ : ASHA OutOf Invisible Lack Scaling Neutralizing factor for _Lack_ to hide the ASHA in (_Dice_*_Lack_*_OuOf_) products in an Action Rate/Probability that is controllable by this ASHA; use _OuOf_=(_Aces_/_Lack_) for ASHA-free null-models. !l !-- Easier to stack: ASHA_InIt_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge + ASHA_With_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge + ASHA_Dice_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge + ------> ASHA_Dice_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge + ASHA_With_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge + ASHA_With_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge + ASHA_Dice_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge + ------> ASHA_Dice_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge + ASHA_With_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge + --! !L ##### Decay Virus _Fragile_ !L Action is scaled by the base rate for Decay of the virus, which is likely mostly happening by itself after a few days latest ==> expect 1 day here. !L In addition, this may be accelerated or slowd down by our actions. CallHelp and StopHarm !L The viruses must be an actual count for this action to get up to speed, not merely a concentration or probability; hence no Dice here for viruses: ASHA_Dice_ViroLoad_Fragile_Vg00 !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Susceptible Action 1.1.1.1.1.99.3.1 Ac__Vg00___Amateur_Edge____________Decay__Fragile_Virus ( ASHA_InIt_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge + Decay_Fragile_Vg00_Rt + ASHA_Dice_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge ---[Rate = 1]-------> Decay_Fragile_Vg00_Rt + ASHA_Dice_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Decay_Fragile_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Decay_Fragile_CallHelp_Amateur_Edge + Sum_Decay_Fragile_All + Sum_Decay_Fragile_Vg00_All + Sum_Decay_Fragile_Amateur_All + Sum_Decay_Fragile_Edge_All + Sum_Decay_Fragile_Amateur_Edge_All + Sum_Decay_All + Sum_Decay_Vg00_All + Sum_Decay_Amateur_All + Sum_Decay_Edge_All + Sum_Decay_Amateur_Edge_All )!L Decay: Load of Virus * Virus Decay Rate * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Changed Stays Stays Stays Get Sums _All !L ##### Decay Virus _Durable_ !L Action is scaled by the base rate for Decay of the virus, which is likely mostly happening by itself after a few days latest ==> expect 1 day here. !L In addition, this may be accelerated or slowd down by our actions. CallHelp and StopHarm !L The viruses must be an actual count for this action to get up to speed, not merely a concentration or probability; hence no Dice here for viruses: ASHA_Dice_ViroLoad_Durable_Vg00 !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Susceptible Action 1.1.1.1.1.99.3.2 Ac__Vg00___Amateur_Edge____________Decay__Durable_Virus ( ASHA_InIt_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge + Decay_Durable_Vg00_Rt + ASHA_Dice_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge ---[Rate = 1]-------> Decay_Durable_Vg00_Rt + ASHA_Dice_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge + ASHA_Lack_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Decay_Durable_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Decay_Durable_CallHelp_Amateur_Edge + Sum_Decay_Durable_All + Sum_Decay_Durable_Vg00_All + Sum_Decay_Durable_Amateur_All + Sum_Decay_Durable_Edge_All + Sum_Decay_Durable_Amateur_Edge_All + Sum_Decay_All + Sum_Decay_Vg00_All + Sum_Decay_Amateur_All + Sum_Decay_Edge_All + Sum_Decay_Amateur_Edge_All )!L Decay: Load of Virus * Virus Decay Rate * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Changed Stays Stays Stays Get Sums _All !L *************************************************************************************************** !L !L ** 3. Catch Infection: Susceptible_Amateur_Edge Transmission of the virus !L ** Starts0grow_Amateur_Edge_Vg00 ==> Infected Individuals have it and need to track its genotype !L !L *************************************************************************************************** !L Pick up viruses where there is an opportunity (despite defenses) for new infections !L !L Susceptibles ==> Catch_Vg00 : is always and only for those who do not already have a Virus. !L !L Susceptibles !L defend in different ways depending on Mind and training !L therefore Virus Catch rates are adjusted. !L Susceptibles get viral genotype from the environmental ViroLoad, !L !L ASHA_Lack_ViroLoad_Fragile_Vg00 !L ASHA_Lack_ViroLoad_Durable_Vg00 !L !L not directly from Infected persons who shed the virus. !L !L The difference? There is no effective virus density regulation in the wild !L which makes it extremely unstable as a population. !L !l The model assumes that Virus-safety expertise enters through !l Expertise that can CallHelp !l Expertise that can StopHarm !L through the many relevant ViroSkills applied by the people where they are: !l ASHA_Aces_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge !l ASHA_Aces_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge !l All other higher-order information must eventually go through these regulators - and can thus be ignored here. !l !l !L Parameters for Action 1.1.1.1.1.0.3.1 Ac__Vg00___Edge_Amateur___Susceptible___Catch_Fragile_Virus : !L Parameters for Action 1.1.1.1.1.0.3.2 Ac__Vg00___Edge_Amateur___Susceptible___Catch_Durable_Virus : !l !L Base Rate Catch_Fragile_Vg00_Rt !L Base Rate Catch_Durable_Vg00_Rt !L Relative Rates: not here !l !l Initial Amount of Catch_Fragile_Vg00_Rt = 1 !L <<<<------------Important Base rate for catching the VirusGenotype Vg !l Initial Amount of Catch_Durable_Vg00_Rt = 1 !L <<<<------------Important Base rate for catching the VirusGenotype Vg !l !l ### Catch StopHarm !l ## ASHA ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge Initially switched off to let the pandemic run its "as-is-course" (the null-model) !l ## Allow huge changes to _With_ (by some orders of magnitude, while Lack almost stays as is) Initial Amount of ASHA_Aces_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge = 1e5 !L <<<------use _With_ Default = 1e5 allow _With_ to change by some orders of magnitude Initial Amount of ASHA_Lack_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_InIt_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_OuOf_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_Gain_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge = 0 !L Default = 0 !l ### Catch CallHelp !l ## ASHA ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge Initially switched off to let the pandemic run its "as-is-course" (the null-model) !l ## Allow huge changes to _Lack_ (by some orders of magnitude, while With almost stays as is) Initial Amount of ASHA_Aces_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_Lack_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge = 1e5 !L <<<------use _Lack_ Default = 1e5 allow _Lack_ to change by some orders of magnitude Initial Amount of ASHA_InIt_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_OuOf_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_Gain_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge = 0 !L Default = 0 !l ### Catch StopHarm !l ## ASHA ViroSkill_Catch_Durable_StopHarm_Amateur_Edge Initially switched off to let the pandemic run its "as-is-course" (the null-model) !l ## Allow huge changes to _With_ (by some orders of magnitude, while Lack almost stays as is) Initial Amount of ASHA_Aces_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge = 1e5 !L <<<------use _With_ Default = 1e5 allow _With_ to change by some orders of magnitude Initial Amount of ASHA_Lack_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_InIt_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_OuOf_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_Gain_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge = 0 !L Default = 0 !l ### Catch CallHelp !l ## ASHA ViroSkill_Catch_Durable_CallHelp_Amateur_Edge Initially switched off to let the pandemic run its "as-is-course" (the null-model) !l ## Allow huge changes to _Lack_ (by some orders of magnitude, while With almost stays as is) Initial Amount of ASHA_Aces_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge = 1e10 !L Default = 1e10 Initial Amount of ASHA_Dice_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge = 1e-10 !L Default = 1e-10 Initial Amount of ASHA_With_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge = 9999900000 !L Default = 9999900000 Initial Amount of ASHA_Lack_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge = 1e5 !L <<<------use _Lack_ Default = 1e5 allow _Lack_ to change by some orders of magnitude Initial Amount of ASHA_InIt_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge = 1.00001 !L Default = 1.00001 Initial Amount of ASHA_OuOf_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge = 1e5 !L Default = 1e5 Initial Amount of ASHA_Gain_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Loss_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Grow_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge = 0 !L Default = 0 Initial Amount of ASHA_Fade_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge = 0 !L Default = 0 !l Scaling documentation and null-hypotheses: !l !l _InIt_ : ASHA In It Invisible With Scaling Neutralizing factor for _With_ to hide the ASHA in (_Dice_*_With_*_InIt_) products in an Action Rate/Probability that is controllable by this ASHA; use _InIt_=(_Aces_/_With_) for ASHA-free null-models. !l _OuOf_ : ASHA OutOf Invisible Lack Scaling Neutralizing factor for _Lack_ to hide the ASHA in (_Dice_*_Lack_*_OuOf_) products in an Action Rate/Probability that is controllable by this ASHA; use _OuOf_=(_Aces_/_Lack_) for ASHA-free null-models. !l !-- Easier to stack: ASHA_InIt_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge + ASHA_With_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge + ASHA_Dice_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge + ------> ASHA_Dice_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge + ASHA_With_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge + ASHA_With_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge + ASHA_Dice_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge + ------> ASHA_Dice_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge + ASHA_With_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge + --! !L ##### Catch Virus from _Fragile_ !L Action is scaled by the base rate for catching and the Catch ViroSkills of the general population as represented in the form of CallHelp and StopHarm !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Susceptible Action 1.1.1.1.1.0.3.1 Ac__Vg00___Edge_Amateur___Susceptible___Catch_Fragile_Virus ( ASHA_InIt_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Fragile_Vg00 + Catch_Fragile_Vg00_Rt + Susceptible_Amateur_Edge + ASHA_Dice_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Fragile_Vg00 + Catch_Fragile_Vg00_Rt + Starts0grow_Amateur_Edge_Vg00 + ASHA_Dice_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Fragile_Vg00 + ASHA_With_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Catch_Fragile_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Catch_Fragile_CallHelp_Amateur_Edge + Sum_Infections_Fragile_All + Sum_Catch_Fragile_Vg00_All + Sum_Starts0grow_Fragile_All + Sum_Catch_Fragile_All + Sum_Catch_Fragile_Amateur_All + Sum_Catch_Fragile_Edge_All + Sum_Catch_Fragile_Amateur_Edge_All + Sum_Infections_Fragile_inSilico + Sum_Infections_All + Sum_Catch_Vg00_All + Sum_Starts0grow_All + Sum_Catch_All + Sum_Catch_Amateur_All + Sum_Catch_Edge_All + Sum_Catch_Amateur_Edge_All + Sum_Infections_inSilico )!L Catch: Load of Virus * Virus Catch Rate * Infected People * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Unchanged Stays Changed Stays Stays Get Sums _All !L ##### Catch Virus from _Durable_ !L Action is scaled by the base rate for catching and the Catch ViroSkills of the general population as represented in the form of CallHelp and StopHarm !L Loop can auto replace: Vg00 Edge Amateur !L COVID Stage Susceptible Action 1.1.1.1.1.0.3.2 Ac__Vg00___Edge_Amateur___Susceptible___Catch_Durable_Virus ( ASHA_InIt_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge + ASHA_Dice_ViroLoad_Durable_Vg00 + Catch_Durable_Vg00_Rt + Susceptible_Amateur_Edge + ASHA_Dice_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge ---[Rate = 1]-------> ASHA_Dice_ViroLoad_Durable_Vg00 + Catch_Durable_Vg00_Rt + Starts0grow_Amateur_Edge_Vg00 + ASHA_Dice_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge + ASHA_Dice_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge + ASHA_With_ViroLoad_Durable_Vg00 + ASHA_With_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge + ASHA_Lack_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge + ASHA_InIt_ViroSkill_Catch_Durable_StopHarm_Amateur_Edge + ASHA_OuOf_ViroSkill_Catch_Durable_CallHelp_Amateur_Edge + Sum_Infections_Durable_All + Sum_Catch_Durable_Vg00_All + Sum_Starts0grow_Durable_All + Sum_Catch_Durable_All + Sum_Catch_Durable_Amateur_All + Sum_Catch_Durable_Edge_All + Sum_Catch_Durable_Amateur_Edge_All + Sum_Infections_Durable_inSilico + Sum_Infections_All + Sum_Catch_Vg00_All + Sum_Starts0grow_All + Sum_Catch_All + Sum_Catch_Amateur_All + Sum_Catch_Edge_All + Sum_Catch_Amateur_Edge_All + Sum_Infections_inSilico )!L Catch: Load of Virus * Virus Catch Rate * Infected People * Scale Probability StopHarm (_Dice_*_With_*_InIt_) * Scale Probability CallHelp (_Dice_*_Lack_*_OuOf_) + Tracing Counters !L Unchanged Stays Changed Stays Stays Get Sums _All !L ******************************************************************************************************* !L !L ** 4. Disease progression: GrowTo describes how fast the virus advances COVID to the next stage: !L ** is deterministic from Starts0grow -> -> ... -> -> Infect7ExpectICU !L This allows for nuanced changes of some sort in viral fitness !L ******************************************************************************************************* !L Parameters for Ac__Vg00___Edge_Amateur___Infect1Hide___GrowTo_1 : !L Starts0grow --> Infect1Hide --> Infect2Anti --> Infect3Mild ----> Infect4StrongHOS -> Infect5CritclBED -> Infect6DeadlyICU -> Infect7ExpectICU !L Vg00_GrowTo_1_Rt , Vg00_GrowTo_2_Rt , Vg00_GrowTo_3_Rt , Vg00_GrowTo_4_Rt , Vg00_GrowTo_5_Rt , Vg00_GrowTo_6_Rt , Vg00_GrowTo_7_Rt !L Scenario 1 setup for growing of disease : Initial Amount of Vg00_GrowTo_1_Rt = 1 !L 1 / 1 days expectation for average life-time given here Initial Amount of Vg00_GrowTo_2_Rt = 0.5 !L 1 / 2 days Initial Amount of Vg00_GrowTo_3_Rt = 0.33 !L 1 / 3 days Initial Amount of Vg00_GrowTo_4_Rt = 0.07 !L 1 / 14.3 days Initial Amount of Vg00_GrowTo_5_Rt = 0.07 !L Initial Amount of Vg00_GrowTo_6_Rt = 0.07 !L Initial Amount of Vg00_GrowTo_7_Rt = 0.07 !L About 14 day lifetime ==> 1/14 = 0.07142857 ; 1/0.07 = 14.28571 !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.1.4 Ac__Vg00___Edge_Amateur___Infect1Hide___GrowTo_1 ( Starts0grow_Amateur_Edge_Vg00 + Vg00_GrowTo_1_Rt ---[Rate = 1]-------> Infect1Hide_Amateur_Edge_Vg00 + Vg00_GrowTo_1_Rt + TestFlow_1_Forced_from_Infect1Hide_All + TestFlow_2_Forced_from_Infect1Hide_All + Sum_Infect1Hide_All + Sum_GrowTo_1_Vg00_All + Sum_GrowTo_1_All )!L GrowTo_1 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate GrowTo (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.2.4 Ac__Vg00___Edge_Amateur___Infect2Anti___GrowTo_2 ( Infect1Hide_Amateur_Edge_Vg00 + Vg00_GrowTo_2_Rt ---[Rate = 1]-------> Infect2Anti_Amateur_Edge_Vg00 + Vg00_GrowTo_2_Rt + Sum_Infect2Anti_All + Sum_GrowTo_2_Vg00_All + Sum_GrowTo_2_All )!L GrowTo_2 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate GrowTo (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.3.4 Ac__Vg00___Edge_Amateur___Infect3Mild___GrowTo_3 ( Infect2Anti_Amateur_Edge_Vg00 + Vg00_GrowTo_3_Rt ---[Rate = 1]-------> Infect3Mild_Amateur_Edge_Vg00 + Vg00_GrowTo_3_Rt + TestFlow_1_Forced_from_Infect3Mild_All + TestFlow_2_Forced_from_Infect3Mild_All + Sum_Infect3Mild_All + Sum_GrowTo_3_Vg00_All + Sum_GrowTo_3_All + Sum_TestFlowIn_All )!L GrowTo_3 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate GrowTo (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur -------------------------------------------- Below is in the Hospital ------------------------------------------------------ Action 1.1.1.1.1.4.4 Ac__Vg00___Edge_Amateur___Infect4StrongHOS___GrowTo_4 ( Infect3Mild_Amateur_Edge_Vg00 + Vg00_GrowTo_4_Rt ---[Rate = 1]-------> Infect4StrongHOS_Amateur_Edge_Vg00 + Vg00_GrowTo_4_Rt + Sum_Infect4StrongHOS_All + Sum_GrowTo_4_Vg00_All + Sum_GrowTo_4_All )!L GrowTo_4 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate GrowTo (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.5.4 Ac__Vg00___Edge_Amateur___Infect5CritclBED___GrowTo_5 ( Infect4StrongHOS_Amateur_Edge_Vg00 + Vg00_GrowTo_5_Rt ---[Rate = 1]-------> Infect5CritclBED_Amateur_Edge_Vg00 + Vg00_GrowTo_5_Rt + Sum_Infect5CritclBED_All + Sum_GrowTo_5_Vg00_All + Sum_GrowTo_5_All )!L GrowTo_5 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate GrowTo (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.6.4 Ac__Vg00___Edge_Amateur___Infect6DeadlyICU___GrowTo_6 ( Infect5CritclBED_Amateur_Edge_Vg00 + Vg00_GrowTo_6_Rt ---[Rate = 1]-------> Infect6DeadlyICU_Amateur_Edge_Vg00 + Vg00_GrowTo_6_Rt + Sum_Infect6DeadlyICU_All + Sum_GrowTo_6_Vg00_All + Sum_GrowTo_6_All )!L GrowTo_6 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate GrowTo (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.7.4 Ac__Vg00___Edge_Amateur___Infect7ExpectICU___GrowTo_7 ( Infect6DeadlyICU_Amateur_Edge_Vg00 + Vg00_GrowTo_7_Rt ---[Rate = 1]-------> Infect7ExpectICU_Amateur_Edge_Vg00 + Vg00_GrowTo_7_Rt + Sum_Infect7ExpectICU_All + Sum_GrowTo_7_Vg00_All + Sum_GrowTo_7_All )!L GrowTo_7 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate GrowTo (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L ******************************************************************************************************* !L !L ** 5. Heal to Recover from stage 0-6 HealAt describes the Rate per day at which people recover before COVID advances to the next stage: !L ** before being moved to the next stage Starts0grow -> -> ... -> -> Infect6DeadlyICU (vs last one is always deadly) !L !L This is a competition between 3 outomces: !L - Recover, or !L - allow COVID GrowTo its next stage, or !L - die (sometimes very surprisingly). !L All these outcomes are clearly impacting virus fitness; !L yet not clear how and how much, and what it may mean for !L double mutants is hard to tell without calculating. !L !L Note that attention to care, COVID expertise, and infrastructure support !L can make dramatic differences in death tolls as found early on when doctors in China learned how to !L care better for patients or when comparing the death rates across countries (see elsewhere this file). !L ******************************************************************************************************* !L Parameters for Ac__Vg00___Edge_Amateur___RecoveredOutside___HealAt_0 : !L Starts0grow ----> Infect1Hide -----> Infect2Anti ----> Infect3Mild -----> Infect4StrongHOS ---> Infect5CritclBED ---> Infect6DeadlyICU -> Infect7ExpectICU !L Vg00_HealAt_0_Rt , Vg00_HealAt_1_Rt , Vg00_HealAt_2_Rt , Vg00_HealAt_3_Rt , Vg00_HealAt_4_Rt , Vg00_HealAt_5_Rt , Vg00_HealAt_6_Rt !L Scenario 1 setup for healing: Initial Amount of Vg00_HealAt_0_Rt = 0 !L 0 means determinstic infection (by definition) Initial Amount of Vg00_HealAt_1_Rt = 0.2 !L Initial Amount of Vg00_HealAt_2_Rt = 0.2 !L Initial Amount of Vg00_HealAt_3_Rt = 0.2 !L Initial Amount of Vg00_HealAt_4_Rt = 0.1 !L Initial Amount of Vg00_HealAt_5_Rt = 0.1 !L Initial Amount of Vg00_HealAt_6_Rt = 0.1 !L !-- !L Test setup for healing: fewer control points for comparison: Initial Amount of Vg00_HealAt_0_Rt = 0 !L 0 means determinstic infection (by definition) Initial Amount of Vg00_HealAt_1_Rt = 0 !L Initial Amount of Vg00_HealAt_2_Rt = 0 !L Initial Amount of Vg00_HealAt_3_Rt = 0.056 !L 0.056 = most heal here as test default vs 0.07 Transition to the hospital (next) is at rate 0.07 = 14.3 days by default Initial Amount of Vg00_HealAt_4_Rt = 0.056 !L 0.056 = last chance to heal is here vs 0.07 Transition to the hospital (next) is at rate 0.07 = 14.3 days by default Initial Amount of Vg00_HealAt_5_Rt = 0 !L Initial Amount of Vg00_HealAt_6_Rt = 0 !L About 14 day lifetime ==> 1/14 = 0.07142857 ; 1/ 0.07 = 14.28571 --! !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.0.5 Ac__Vg00___Edge_Amateur___RecoveredOutside___HealAt_0 ( Starts0grow_Amateur_Edge_Vg00 + Vg00_HealAt_0_Rt ---[Rate = 1]-------> RecoveredOutside_Amateur_Edge_Vg00 + Vg00_HealAt_0_Rt + Sum_Heal_Vg00_All + Sum_HealAt_0_Vg00_All + Sum_RecoveredOutside_All + Sum_HealAt_0_All + Sum_Healed_All )!L HealAt_7 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate HealAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.1.5 Ac__Vg00___Edge_Amateur___RecoveredOutside___HealAt_1 ( Infect1Hide_Amateur_Edge_Vg00 + Vg00_HealAt_1_Rt ---[Rate = 1]-------> RecoveredOutside_Amateur_Edge_Vg00 + Vg00_HealAt_1_Rt + Sum_Heal_Vg00_All + Sum_HealAt_1_Vg00_All + Sum_RecoveredOutside_All + Sum_HealAt_1_All + Sum_Healed_All )!L HealAt_1 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate HealAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.2.5 Ac__Vg00___Edge_Amateur___RecoveredOutside___HealAt_2 ( Infect2Anti_Amateur_Edge_Vg00 + Vg00_HealAt_2_Rt ---[Rate = 1]-------> RecoveredOutside_Amateur_Edge_Vg00 + Vg00_HealAt_2_Rt + Sum_Heal_Vg00_All + Sum_HealAt_2_Vg00_All + Sum_RecoveredOutside_All + Sum_HealAt_2_All + Sum_Healed_All )!L HealAt_2 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate HealAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.3.5 Ac__Vg00___Edge_Amateur___RecoveredOutside___HealAt_3 ( Infect3Mild_Amateur_Edge_Vg00 + Vg00_HealAt_3_Rt ---[Rate = 1]-------> RecoveredOutside_Amateur_Edge_Vg00 + Vg00_HealAt_3_Rt + Sum_Heal_Vg00_All + Sum_HealAt_3_Vg00_All + Sum_RecoveredOutside_All + Sum_HealAt_3_All + Sum_Healed_All )!L HealAt_3 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate HealAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur ---------------------------------------------------- Below is in the Hospital -------------------------------------------- Action 1.1.1.1.1.4.5 Ac__Vg00___Edge_Amateur___RecoveredHealthC___HealAt_4 ( Infect4StrongHOS_Amateur_Edge_Vg00 + Vg00_HealAt_4_Rt ---[Rate = 1]-------> RecoveredHealthC_Amateur_Edge_Vg00 + Vg00_HealAt_4_Rt + Sum_Heal_Vg00_All + Sum_HealAt_4_Vg00_All + Sum_RecoveredHealthC_All + Sum_HealAt_4_All + Sum_Healed_All )!L HealAt_4 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate HealAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.5.5 Ac__Vg00___Edge_Amateur___RecoveredHealthC___HealAt_5 ( Infect5CritclBED_Amateur_Edge_Vg00 + Vg00_HealAt_5_Rt ---[Rate = 1]-------> RecoveredHealthC_Amateur_Edge_Vg00 + Vg00_HealAt_5_Rt + Sum_Heal_Vg00_All + Sum_HealAt_5_Vg00_All + Sum_RecoveredHealthC_All + Sum_HealAt_5_All + Sum_Healed_All )!L HealAt_5 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate HealAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.6.5 Ac__Vg00___Edge_Amateur___RecoveredHealthC___HealAt_6 ( Infect6DeadlyICU_Amateur_Edge_Vg00 + Vg00_HealAt_6_Rt ---[Rate = 1]-------> RecoveredHealthC_Amateur_Edge_Vg00 + Vg00_HealAt_6_Rt + Sum_Heal_Vg00_All + Sum_HealAt_6_Vg00_All + Sum_RecoveredHealthC_All + Sum_HealAt_6_All + Sum_Healed_All )!L HealAt_6 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate HealAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L ******************************************************************************************************* !L !L ** 6. Kill to Die from stage 1 - 7 KillAt describes the Rate per day at which people die from COVID, where !L ** at least Infect3Mild symptoms are expected, and -> -> -> Infect7ExpectICU is only waiting to die. !L !L This is a competition between 3 outomces: !L - Recover, or !L - allow COVID GrowTo its next stage, or !L - die (sometimes very surprisingly). !L All these outcomes are clearly impacting virus fitness; !L yet not clear how and how much, and what it may mean for !L double mutants is hard to tell without calculating. !L !L Note that attention to care, COVID expertise, and infrastructure support !L can make dramatic differences in death tolls as found early on when doctors in China learned how to !L care better for patients or when comparing the death rates across countries (see elsewhere this file). !L ******************************************************************************************************* !L Parameters for Ac__Vg00___Edge_Amateur___Died_preHospital___KillAt_1 : !L Starts0grow ----> Infect1Hide -----> Infect2Anti ----> Infect3Mild -----> Infect4StrongHOS ---> Infect5CritclBED ---> Infect6DeadlyICU -> Infect7ExpectICU !L Vg00_KillAt_1_Rt , Vg00_KillAt_2_Rt , Vg00_KillAt_3_Rt , Vg00_KillAt_4_Rt , Vg00_KillAt_5_Rt , Vg00_KillAt_6_Rt , Vg00_KillAt_7_Rt !L Scenario 1 setup for killing: Initial Amount of Vg00_KillAt_1_Rt = 0.001 !L Initial Amount of Vg00_KillAt_2_Rt = 0.001 !L Initial Amount of Vg00_KillAt_3_Rt = 0.01 !L Initial Amount of Vg00_KillAt_4_Rt = 0.02 !L Initial Amount of Vg00_KillAt_5_Rt = 0.05 !L Initial Amount of Vg00_KillAt_6_Rt = 0.1 !L last chance to heal Initial Amount of Vg00_KillAt_7_Rt = 0.2 !L the only outcome at this point !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.1.6 Ac__Vg00___Edge_Amateur___Died_preHospital___KillAt_1 ( Infect1Hide_Amateur_Edge_Vg00 + Vg00_KillAt_1_Rt ---[Rate = 1]-------> Died_preHospital_Amateur_Edge_Vg00 + Vg00_KillAt_1_Rt + Sum_Kill_Vg00_All + Sum_KillAt_1_Vg00_All + Sum_Died_preHospital_All + Sum_KillAt_1_All + Sum_Killed_All )!L KillAt_1 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate KillAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.2.6 Ac__Vg00___Edge_Amateur___Died_preHospital___KillAt_2 ( Infect2Anti_Amateur_Edge_Vg00 + Vg00_KillAt_2_Rt ---[Rate = 1]-------> Died_preHospital_Amateur_Edge_Vg00 + Vg00_KillAt_2_Rt + Sum_Kill_Vg00_All + Sum_KillAt_2_Vg00_All + Sum_Died_preHospital_All + Sum_KillAt_2_All + Sum_Killed_All )!L KillAt_2 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate KillAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.3.6 Ac__Vg00___Edge_Amateur___Died_preHospital___KillAt_3 ( Infect3Mild_Amateur_Edge_Vg00 + Vg00_KillAt_3_Rt ---[Rate = 1]-------> Died_preHospital_Amateur_Edge_Vg00 + Vg00_KillAt_3_Rt + Sum_Kill_Vg00_All + Sum_KillAt_3_Vg00_All + Sum_Died_preHospital_All + Sum_KillAt_3_All + Sum_Killed_All )!L KillAt_3 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate KillAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur ---------------------------------------------------- Below is in the Hospital -------------------------------------------- Action 1.1.1.1.1.4.6 Ac__Vg00___Edge_Amateur___Died_in_Hospital___KillAt_4 ( Infect4StrongHOS_Amateur_Edge_Vg00 + Vg00_KillAt_4_Rt ---[Rate = 1]-------> Died_in_Hospital_Amateur_Edge_Vg00 + Vg00_KillAt_4_Rt + Sum_Kill_Vg00_All + Sum_KillAt_4_Vg00_All + Sum_Died_in_Hospital_All + Sum_KillAt_4_All + Sum_Killed_All )!L KillAt_4 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate KillAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.5.6 Ac__Vg00___Edge_Amateur___Died_in_Hospital___KillAt_5 ( Infect5CritclBED_Amateur_Edge_Vg00 + Vg00_KillAt_5_Rt ---[Rate = 1]-------> Died_in_Hospital_Amateur_Edge_Vg00 + Vg00_KillAt_5_Rt + Sum_Kill_Vg00_All + Sum_KillAt_5_Vg00_All + Sum_Died_in_Hospital_All + Sum_KillAt_5_All + Sum_Killed_All )!L KillAt_5 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate KillAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.6.6 Ac__Vg00___Edge_Amateur___Died_in_Hospital___KillAt_6 ( Infect6DeadlyICU_Amateur_Edge_Vg00 + Vg00_KillAt_6_Rt ---[Rate = 1]-------> Died_in_Hospital_Amateur_Edge_Vg00 + Vg00_KillAt_6_Rt + Sum_Kill_Vg00_All + Sum_KillAt_6_Vg00_All + Sum_Died_in_Hospital_All + Sum_KillAt_6_All + Sum_Killed_All )!L KillAt_6 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate KillAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !L Loop for line: Vg00 Edge Amateur Action 1.1.1.1.1.7.6 Ac__Vg00___Edge_Amateur___Died_in_Hospital___KillAt_7 ( Infect7ExpectICU_Amateur_Edge_Vg00 + Vg00_KillAt_7_Rt ---[Rate = 1]-------> Died_in_Hospital_Amateur_Edge_Vg00 + Vg00_KillAt_7_Rt + Sum_Kill_Vg00_All + Sum_KillAt_7_Vg00_All + Sum_Died_in_Hospital_All + Sum_KillAt_7_All + Sum_Killed_All )!L KillAt_7 Tracing Actions Count Sums _All Rate = Previous State passes details to the Next * Rate KillAt (transition speed) * Places Scaling for Rates may vary locally !L Counts Traces Changes Stays !-- Overview of the disease progression implemented above: Explicit Names of the various states of infection and other impact of the pandemic individuals: ----------------StateOfInfection---------------- Susceptible -- Catch fixed Infect Vg00..KS Starts0grow -- Forces Test all between I0 --> I1 Infect1Hide Infect2Anti -- Forces Test all between I2 --> I3 Infect3Mild --------- -- Hospital Start Infect4StrongHOS Infect5CritclBED Infect6DeadlyICU Infect7ExpectICU --------- -- Hospital End RecoveredOutside RecoveredHealthC Died_preHospital Died_in_Hospital ----------------QQ0r2p0_2020_06_20_Lion---------- With some additional explanations: -------------------------------------------------------------------------------------------------------------------------------------- ### The Individual Names given here are good for search/finding additional interesting Parts to observe from the Model code below #### -------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------- State Test Exp Summarizing Definition for Core ViroStatus of Persons in PandemicSociety101, Scenario 1 QQ0r2p0_2020_06_20_Lion ------------------------------------------------ State of Virus Infection ------------------------------------------------------------ Susceptible -- Susceptible to Catch Infect of Virus genome Vg00 [0S K0 KS] from Places Shared; other states cannot be infected Starts0grow 1d Starting virus growth (deterministic for Vg chosen); not yet infectious; co-infection & recombination impossible ----------- 100% -- --- 1. Simplified TestingFlow FORCES a test for all individuals entering Infect1Hide to check for linear fooling Infect1Hide 2d Infectious, high virus sheds are hidden; no symptoms, status hidden; TestA is pos TestB is neg Infect2Anti 3d Infectious, high virus sheds stay hidden; no symptoms, status hidden; TestA is pos TestB is pos 100% --- 2. Simplified TestingFlow enforced for all Infect3Mild to explore linear fooling (not for capacity planning) Infect3Mild 2w Infectious, high virus sheds as people react to illness symptoms virus defense may go up; Test PCR pos AntiB pos ---------------- --- Beyond here COVID becomes severe enough to require HOSpitalBED-ICU care; assumed const best care, no errors Infect4StrongHOS 2w Infectious, Strong symptoms, holds hospital bed; would live at home; looks like Infect5CritclBED Infect5CritclBED 2w Infectious, Critcl symptoms, needs hospital bed or dies Infect6DeadlyICU 2w Infectious, Deadly symptoms, needs IntensiveCareUnit or dies Infect7ExpectICU 2w Infectious, Expect death as deadly symptoms are even beyond ICU ability to help; symptoms like Infect6DeadlyICU ---------------- --- Removed from pandemic: individuals either Healed to Recover or Died outof/in hospitals; cannot be reinfected RecoveredHealthC -- Recovered by health care in hospital; assumed immune now RecoveredOutside -- Recovered outside; assumed immune now Died_preHospital -- All deaths occuring above up to including Infect3Mild, but none after, i.e. none in hospital by definition Died_in_Hospital -- All deaths from only the later stages of COVID (assumed in hospital, see Infect4StrongHOS to Infect7ExpectICU) -------------------------------------------------------------------------------------------------------------------------------------- --! !l ############################################################################# !l ############################################################################# !l ################################################################################################################################################################################ End Disease Progression = Inner Loop done by hand #################################################################################### !l ############################################################################# !l ############################################################################# !l ################################################################################################################################################################################################################################################################################## !l ################################################################################################################################################################################################################################################################################## !l ########################################################################################## End of Inner Loop of Lines Level 1 ###################################################################################################################################### !l ################################################################################################################################################################################################################################################################################## !l ################################################################################################################################################################################################################################################################################## !l ################################################################################################# Do all below outside of the big diversity loop ###################################################################################################################################################################################################### !-- ALL the above will have to be copy-paste-adapted several times to expand for different learning efforts, mental attitudes, viral genotypes and more as needed (e.g. geographic locations, age groups, etc). 2x Learning Effort Trained Amateur 4x Mental Attitudes Defy Edge Fear Fool 4x Viral Load genotypes Vg00 Vg0S VgK0 VgKS --! !l ############################################################################# !l ############################################################################# !l ############################################################################################## Start Mutation + Recombination Logic ################################################################################################################################################################################ !l ############################################################################# !l ############################################################################# !-- To Follow 5x Viral Load Vg00 Vg0S VgK0 VgKS Vwks Vg00 --> Vg0S ---->-+ | | | V V V VgK0 --> VgKS <--- VWks | ^ V | +--->--------->-------+ Vg00 wildtype that serves as a baseline pandemic coronavirus. Vg0S mutant growing Slower than wildtype ==> longer hidden ==> more time to spread VgK0 mutant growing to higher K (carrying capacity in hosts), ==> Kills more people VgKS double mutant, combining the worst more stealthy spreading, more deadly killing VWks Wild co-location, could recombine K0 + 0S -> KS; tests how much a recombination-like mechanisms can accelerate evolution here; fully reversible. Vg00 Wtype Vg0S Speed Spreads faster from sheding virus for a longer time from growing slower VgK0 Kapac Kills from growing to higher carrying capacity inside of the host VgKS Doubl Doubly Dangerous Superbug nobody wants --! !l ############################################################################# !l ############################################################################# !l ################################################################################################# End Mutation + Recombination Logic ################################################################################################################################################################################ !l ############################################################################# !l ############################################################################# !l ############################################################################# !l ############################################################################# !l ################################################################################################## Section_TestingFlowCapacity Start #################################################################################### !l ############################################################################# !l ############################################################################# !L ******************************************************************************************************* !L !L ** Test sammples come in as a flow of 4 streams !L TestFlow_1_Forced_from_Infect1Hide_All TestFlow_1_Forced_from_Infect3Mild_All !L TestFlow_2_Forced_from_Infect1Hide_All TestFlow_2_Forced_from_Infect3Mild_All !L that come in as forced from 2 points with every action transition: !L - Infect1Hide_All (early, including undetected cases) !L - Infect3Mild_All !L and flow to 2 tests facilities: !L - TestLab_1_PlacesFree (a simplified ASHA_Population with less intrusive Names) !L - ASHA_Aces_ViroTest_Lab_Activity (a full ASHA form as originally used and currently switched off; !L it is easy to reactivate and develop into a more elaborate test setup; !L both are equivalent and can be extended to explore the impact of incomplete testing on !L the need for added certainty if needed by using the confusion matrix that counts separately for each repeated test Re1, Re2, etc: !-- Sum_TestRe1_All (All tests that were claimed to be performed, regardless of results) Sum_TestRe1_POS (Sum of all Result_POS Positive for all Vg x4, each infection type submitted, and regardless whether POS results is True or False ) Sum_TestRe1_NEG (Sum of all Result_NEG Negative for all Vg x4, each infection type submitted, and regardless whether NEG results is True or False ) Sum_TestRe1_POS_False (Sum all Result_POS Positive over all Vg x4, each infection type submitted, but only for FALSE Positives) Sum_TestRe1_POS_True (Sum all Result_POS Positive over all Vg x4, each infection type submitted, & it's also a TRUE Positive ) Sum_TestRe1_NEG_False (Sum all Result_NEG Negative over all Vg x4, each infection type submitted, but only for FALSE Negative) Sum_TestRe1_NEG_True (Sum all Result_NEG Negative over all Vg x4, each infection type submitted, & it's also a TRUE Negative ) --! !L However, before doing that, a more realistic sampling structure would be needed, that samples True Negatives !L from the uninfected population as well as from all sorts of disease states to determine, if someone has !L already recovered or not yet. !L !L At the moment, the sole goal was to illustrate how limited testing capabilities can easily !L generate the illusion of a lowering doubling time by simply not sampling enough, !L even if the samples were collected unter the highly unreaslistic and idealized !L conditions that *only* those are sampled who are at a certain disease stage, !L and *nobody* else (i.e. there are no True Negatives included in the present setup). !L While actual precise capacity planning will require much more detailed modeling and data, !L this present setup can be roughly compared to current actual testing scenarios by simply scaling the !L testing capabilities accordingly to the fraction of test results they report as positive. !L Here are some numbers: !L !l 24 h differential from last 2 days: Snapshot for tests: How many tests are reported in Mid May 2020 for the US? !l coronavirus.jhu.edu ( 1,467,884 infections from 11,077,179 total test results and 88,754 dead, recovered 268,376 ) 5/17/2020, 2:32:16 AM !l coronavirus.jhu.edu ( 1,508,957 infections from 11,834,508 total test results and 90,369 dead, recovered 283,178 ) 5/19/2020, 1:32:15 AM ----- scrap calc: 1508957-1467884= 41073 11834508-11077179= 757329 90369-88754= 1615 283178-268376= 14802 in 47 hour difference !l previous 47 hour difference: -------new---- 41,073 infections from 757,329 total test results; 1615 dead, recovered 14,802 ) 5/19/2020, 1:32:15 AM in 47 h ----- scrap calc: 41073 /47*24 = 20973.45 infections from 757329 /47*24 = 386721.2 Total test results and 1615 /47*24 = 824 dead, recovered 14802 /47*24 = 7558) 5/19/2020, 1:32:15 AM !l previous 24 hour difference: -------new---- 20,973 infections from 386,721 total test results; 824 dead, recovered 7,558 ) 5/19/2020, 1:32:15 AM in *24/47 h !l previous 24 hour on Testing : infections 20973 / 386721 Total test results = 0.0542329 = ca 5.4 % of all tests detect ==> and today's capacity = ca 400K/day = 1.2e+07 = 12 Mio / Month !l (previous 24 hour on DOR Death rates: DOR % for the last 24 h was 9.8% = 824 / (824 + 7558) = 0.09830 ==> use 10% death rate for now as hi value; see Secton_DeathRateEstimates for more) !L !l Previous news talked about scaling up to 50 Million tests by September (for the whole month, presumably). !l That gives almost 2 Million / day, however, at ca 5.4 % that woudl be about 120 000 tests / day that would be effectively comparable to the simulated efficiency here (= 50e6 / 30 * 0.05423 = 90383.33 ) !L !L Lets see how when in the pandemic the tests start to look linear, even though the model is no longer. !L Let's say 10 days is the time before a sample becomes effectively useless (probably sooner). Let's also say all samples taken are also tested; (despite reports like this: https://www.al.com/opinion/2020/03/why-reporting-the-number-of-covid-19-tests-is-a-farce.html ) !L Then today's almost 400K tests found almost 20K new infections Yet this link says we need 900,000 tests = 27 Million / month : Ashish Jha, MD, ( Harvard’s Global Health Institute ) to US House Select Subcommittee: needs 900,000 tests daily for states to safely reopen, not just the ca 300,000 of today. https://www.webmd.com/lung/news/20200514/states-not-hitting-testing-goals-feds-promise-aid !L ==> To demonstrate the real danger of not seeing what is going on: a 100K testing facility should be sufficient. This is about showing a deterministic effect, not estimating a planning scenario which woudl require more work to quantify the uncertainties in real time. !L !L Thus, with additional tests appearing all the time (Antibodies...), there is scope for simulating testing scenarios and this code provides some interesting connection points for that (see more below). !L !L Practically: !L Test sammples come in to be used up by testing (to be counted as sums for plotting) as !L !L - TestFlow_1_Forced_from_Infect1Hide_All !L - TestFlow_1_Forced_from_Infect3Mild_All !L !L - TestFlow_2_Forced_from_Infect1Hide_All !L - TestFlow_2_Forced_from_Infect3Mild_All !L !l ###################################################### TestRe1 !l Adjust the test below as seems fit: !l Choose either of these for the test below: both give a determinstic stream of infected persons, just at slightly different times. !l + TestFlow_1_Forced_from_Infect1Hide_All !l + TestFlow_1_Forced_from_Infect3Mild_All !l ###################################################### !l Experimenting with Testing frequency for users: !l Parameters chosen as reasonably realistic point estimate in light of the modeling goal and available data: !l An expectation of 1 test / day is the point of "daily capacity" of a testing pipeline. However, if !l some quick experimentation with throughput is desired, turning up the daily rate for the pipeline of 100,000 deterministic !l tests is a quick fix. Tests are collected by TestFlow_1_Forced_from_Infect1Hide_All immediately after hidden growth has !l established infectiousness (ca 1 day after catching the virus and before any chance of recovery or death): !l Search for TestFlow_1_Forced_from_Infect1Hide_All in this file to find more details. !l The keyy parameters of this test are defined in the next 2 lines, and observed Summary Count Parts can easily be added to the !l TimeSeries plots by adding these parts: Sum_TestLab_1_Done , Sum_TestLab_1_Missed , Sum_TestRe2_Missed , Sum_TestRe2_Done , (search for them in the file for more details: ) !l The following two parameters are the most interesting to modify first when exploring testing: !l Initial Amount of TestRe1_Missed_Rt = 0.1 !L Let's assume that after 10 days a test is Missed for being too late (probably too generous) Initial Amount of Test_1_DoDaily_Rt = 1 !L This is sort-of the point of a "daily testing capacity" !l !l ## Test_Lab models active tests as if a population in the lab; for simplicity relabeled from using the same ASHA_Places model as the other components (see explanations there ) Initial Amount of TestLab_1_PlacesAces = 1e5 !L = 1e5 Capacity to detect as much new coronavirus infections in the pipeline without missing cases Initial Amount of TestLab_1_PlacerDice = 1e-5 !L = 1e-5 Must be 1/PlAces Initial Amount of TestLab_1_PlacesBusy = 0 !L = Busy With a Sample (not initially though) Initial Amount of TestLab_1_PlacesFree = 1e5 !L = Lack of Sample at these Places !L Load the incoming tests (TestFlow_1_Forced_from_Infect1Hide_All) into the lab - if there is a free place: Action ( TestFlow_1_Forced_from_Infect1Hide_All + TestLab_1_PlacesFree + TestLab_1_PlacerDice ---[Rate = 1]-------> TestLab_1_PlacesBusy + TestLab_1_PlacerDice ) !L If test doesn't start after a while, the sample breaks, so we need to degrade it here Action ( TestFlow_1_Forced_from_Infect1Hide_All + TestRe1_Missed_Rt ---[Rate = 1]-------> Sum_TestFlow_1_Forced_from_Infect1Hide_All_Cancel + TestRe1_Missed_Rt + Sum_TestLab_1_Missed ) !L Un-Load the tests after completing and counting the results (could do more sophisticated counting of false positives and negatives etc with such Actions if neded): !L No Dice here, must be an actual count to work. Action ( TestLab_1_PlacesBusy + Test_1_DoDaily_Rt ---[Rate = 1]-------> TestLab_1_PlacesFree + Test_1_DoDaily_Rt + Sum_TestFlow_1_Forced_from_Infect1Hide_All_Done + Sum_TestLab_1_Done ) !l ###################################################### TestRe2 !l Adjust the test below as seems fit: !l Choose either of these for the test below: both give a determinstic stream of infected persons, just at slightly different times. !l + TestFlow_2_Forced_from_Infect1Hide_All !l + TestFlow_2_Forced_from_Infect3Mild_All !l !l TimeSeries plots by adding these parts: Sum_TestRe2_Missed , Sum_TestRe2_Done !l (search for these parts for more details: Sum_TestFlow_2_Forced_from_Infect3Mild_All_Done , Sum_TestFlow_2_Forced_from_Infect3Mild_All_Cancel ) !l !l TimeSeries plots by adding these parts: Sum_TestLab_1_Done , Sum_TestLab_1_Missed , !l (search for these parts for more details: Sum_TestFlow_1_Forced_from_Infect1Hide_All_Cancel , Sum_TestFlow_1_Forced_from_Infect1Hide_All_Done ) Initial Amount of TestRe2_Missed_Rt = 0.1 !L Let's assume that after 10 days a test is Missed for being too late (probably too generous) !l !L Initial Amount of TestRe2_Daily_Rt = 1 !L uses ASHA_Gain_ViroTest_Lab_Activity below instead This is sort-of the point of a "daily testing capacity" !l ## ASHA_With_ViroTest_Lab_Activity !l ## ViroTest_Lab_Activity = testing facility lab for all places and virus types limits to x / day of tests. Initial Amount of ASHA_Aces_ViroTest_Lab_Activity = 1e5 !L Initial Amount of ASHA_Dice_ViroTest_Lab_Activity = 1e-5 !L Initial Amount of ASHA_With_ViroTest_Lab_Activity = 0 !L To be filled as tests wait to be tested. Initial Amount of ASHA_Lack_ViroTest_Lab_Activity = 1e5 !L Start out with empty labs Initial Amount of ASHA_InIt_ViroTest_Lab_Activity = 1 !L Switch that off here, so use 1 Initial Amount of ASHA_OuOf_ViroTest_Lab_Activity = 1 !L Switch that off here, so use 1 Initial Amount of ASHA_Gain_ViroTest_Lab_Activity = 2 !L Extra effort to find the lab capacity required ("cramming") Initial Amount of ASHA_Loss_ViroTest_Lab_Activity = 1 !L By definition the expected "per day" capacity Duration of a test (overall) ( record data of confusion matrix at the right place ) Initial Amount of ASHA_Grow_ViroTest_Lab_Activity = 0 !L Default 0 Initial Amount of ASHA_Fade_ViroTest_Lab_Activity = 0 !L Default 0 !L Load the incoming tests into the lab - if there is a free place: Action 1000.1 Ac__LoadTestSample__into_LabCentral ( TestFlow_2_Forced_from_Infect3Mild_All + ASHA_OuOf_ViroTest_Lab_Activity + ASHA_Lack_ViroTest_Lab_Activity + ASHA_Dice_ViroTest_Lab_Activity + ASHA_Gain_ViroTest_Lab_Activity ---[Rate = 1]-------> ASHA_With_ViroTest_Lab_Activity + ASHA_Dice_ViroTest_Lab_Activity + ASHA_Gain_ViroTest_Lab_Activity + ASHA_OuOf_ViroTest_Lab_Activity ) !L Un-Load the tests after completing and count the results (could do more sophisticated counting of false positives and negatives etc with such Actions): !L No Dice here, must be an actual count to work. Action 1000.2 Ac__LoadTestSample__into_LabCentral ( ASHA_With_ViroTest_Lab_Activity + ASHA_Loss_ViroTest_Lab_Activity ---[Rate = 1]-------> ASHA_Lack_ViroTest_Lab_Activity + ASHA_Loss_ViroTest_Lab_Activity + Sum_TestRe2_Done + Sum_TestFlow_2_Forced_from_Infect3Mild_All_Done ) !L If test doesn't start after a while, the sample breaks, so we need to degrade it here Action 1000.3 Ac__TestSample_TooOld_Nixed ( TestFlow_2_Forced_from_Infect3Mild_All + TestRe2_Missed_Rt ---[Rate = 1]-------> TestRe2_Missed_Rt + Sum_TestRe2_Missed + Sum_TestFlow_2_Forced_from_Infect3Mild_All_Cancel ) !l ############################################################################# !l ############################################################################# !l ################################################################################################ Section_TestingFlowCapacity End #################################################################################### !l ############################################################################# !l ############################################################################# !l ####################################################################################################################################################################################################################################################################################################################### !l ####################################################################################################################################################################################################################################################################################################################### !l ############################################################################# ######################################### !l ############################################################################# End of the PandemicSociety101 Model ######################################### !l ############################################################################# ######################################### !l ####################################################################################################################################################################################################################################################################################################################### !l ####################################################################################################################################################################################################################################################################################################################### !-- TODO: constuct a good way for keeping overviews of tons of time series statements current, so I don't have to waste so much time on manually updating them.... eg. lists like these: are helpful for fast searching + simulating, but eat programming time to set them up... !l ###################### Below Convenient summary Parts + parameter Parts, etc for observation in TimeSeries, ready to copy+paste #################### !L ###################### ( less indentation indicates usually more interesting overview observations) ################################################ Sum_Infections_All , Sum_Killed_All , Sum_Healed_All , Sum_RecoveredHealthC_All , Sum_RecoveredOutside_All , Sum_Died_preHospital_All , Sum_Died_in_Hospital_All , Sum_Starts0grow_All , Sum_Infect1Hide_All , Sum_Infect2Anti_All , Sum_Infect3Mild_All , Sum_Infect4StrongHOS_All , Sum_Infect5CritclBED_All , Sum_Infect6DeadlyICU_All , Sum_Infect7ExpectICU_All , Starts0grow_Amateur_Edge_Vg00 , Infect1Hide_Amateur_Edge_Vg00 , Infect2Anti_Amateur_Edge_Vg00 , Infect3Mild_Amateur_Edge_Vg00 , Infect4StrongHOS_Amateur_Edge_Vg00 , Infect5CritclBED_Amateur_Edge_Vg00 , Infect6DeadlyICU_Amateur_Edge_Vg00 , Infect7ExpectICU_Amateur_Edge_Vg00 , Sum_GrowTo_1_All , Sum_GrowTo_2_All , Sum_GrowTo_3_All , Sum_GrowTo_4_All , Sum_GrowTo_5_All , Sum_GrowTo_6_All , Sum_GrowTo_7_All , Sum_HealAt_0_All , Sum_HealAt_1_All , Sum_HealAt_2_All , Sum_HealAt_3_All , Sum_HealAt_4_All , Sum_HealAt_5_All , Sum_HealAt_6_All , Sum_KillAt_1_All , Sum_KillAt_2_All , Sum_KillAt_3_All , Sum_KillAt_4_All , Sum_KillAt_5_All , Sum_KillAt_6_All , Sum_KillAt_7_All , ASHA_With_ViroLoad_Fragile_Vg00 , ASHA_With_ViroLoad_Durable_Vg00 , Sum_Shed_Fragile_At1_Vg00_All , Sum_Shed_Fragile_At2_Vg00_All , Sum_Shed_Fragile_At3_Vg00_All , Sum_Shed_Fragile_At4_Vg00_All , Sum_Shed_Fragile_At5_Vg00_All , Sum_Shed_Fragile_At6_Vg00_All , Sum_Shed_Fragile_At7_Vg00_All , Sum_Shed_Durable_At1_Vg00_All , Sum_Shed_Durable_At2_Vg00_All , Sum_Shed_Durable_At3_Vg00_All , Sum_Shed_Durable_At4_Vg00_All , Sum_Shed_Durable_At5_Vg00_All , Sum_Shed_Durable_At6_Vg00_All , Sum_Shed_Durable_At7_Vg00_All , Sum_Decay_Fragile_All , Sum_Decay_Durable_All , Sum_Decay_All , Sum_Infections_Fragile_All , Sum_Infections_Durable_All , Sum_Infections_All , HalfPopulation , Sum_TestLab_1_Done , Sum_TestLab_1_Missed , TestLab_1_PlacesBusy , Sum_TestRe2_Done , Sum_TestRe2_Missed , ASHA_With_ViroTest_Lab_Activity , Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Died_preHospital_All , Sum_Died_in_Hospital_All , Sum_Infections_All , Sum_Killed_All , Sum_Healed_All --! !l ################################################################################################################################################# Start of TimeSeries Manual Excerpt ############################## !l Start of TimeSeries syntax from the manual of Evolvix prototype MM0.3.1 (copied here for convenience and with adaptations for this model to accelerate use; with minor improvements to explanations as of 2020-05-16) !l ################################################################################################################################################# Start of TimeSeries Manual Excerpt ############################## !-- Examples of code ready for copy/paste/adapt in this context: ------------------------------------------------------------ !L ################# !L Easy To adapt Copy this: For the full range of a 1000 day epidemic in a form that easily allows for ranges to be limited, !L TS7, TS8 Copy/Paste/Adapt the limitations shown below !L Careful with these exclusion clauses: forgetting them can lead to puzzling over why something does show up. !L Basic PandemicSociety101 scenario for showing Amount = compounded total only at the requested points TimeSeries 7 ( Report Separately the Amount of Part Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Infections_All , HalfPopulation From 0 :["days"] Until 1000 :["days"] Ignore values below 0 Ignore values above 1000e9 Report whenever values change by 5 [% Relative Difference] ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L Basic PandemicSociety101 scenario for showing Flux = daily changes only at the requested points TimeSeries 8 ( Report Separately the Flux of Part Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Infections_All , HalfPopulation From 0 :["days"] Until 1000 :["days"] Ignore values below 20e6 Ignore values above 200e6 Report whenever values change by 5 [% Relative Difference] ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !l ##### TimeSeries ########################################################### ################################################################################## TimeSeries ( Report Separately the Flux of Part Starts0grow_Amateur_Edge_Vg00 , Infect1Hide_Amateur_Edge_Vg00 , Infect2Anti_Amateur_Edge_Vg00 , Infect3Mild_Amateur_Edge_Vg00 , Infect4StrongHOS_Amateur_Edge_Vg00 , Infect5CritclBED_Amateur_Edge_Vg00 , Infect6DeadlyICU_Amateur_Edge_Vg00 , Infect7ExpectICU_Amateur_Edge_Vg00 , Sum_GrowTo_1_All , Sum_GrowTo_2_All , Sum_GrowTo_3_All , Sum_GrowTo_4_All , Sum_GrowTo_5_All , Sum_GrowTo_6_All , Sum_GrowTo_7_All , Sum_HealAt_0_All , Sum_HealAt_1_All , Sum_HealAt_2_All , Sum_HealAt_3_All , Sum_HealAt_4_All , Sum_HealAt_5_All , Sum_HealAt_6_All , Sum_KillAt_1_All , Sum_KillAt_2_All , Sum_KillAt_3_All , Sum_KillAt_4_All , Sum_KillAt_5_All , Sum_KillAt_6_All , Sum_KillAt_7_All , ASHA_With_ViroLoad_Fragile_Vg00 , ASHA_With_ViroLoad_Durable_Vg00 , Sum_Shed_Fragile_At1_Vg00_All , Sum_Shed_Fragile_At2_Vg00_All , Sum_Shed_Fragile_At3_Vg00_All , Sum_Shed_Fragile_At4_Vg00_All , Sum_Shed_Fragile_At5_Vg00_All , Sum_Shed_Fragile_At6_Vg00_All , Sum_Shed_Fragile_At7_Vg00_All , Sum_Shed_Durable_At1_Vg00_All , Sum_Shed_Durable_At2_Vg00_All , Sum_Shed_Durable_At3_Vg00_All , Sum_Shed_Durable_At4_Vg00_All , Sum_Shed_Durable_At5_Vg00_All , Sum_Shed_Durable_At6_Vg00_All , Sum_Shed_Durable_At7_Vg00_All , Sum_Decay_Fragile_All , Sum_Decay_Durable_All , Sum_Decay_All , Sum_Infections_Fragile_All , Sum_Infections_Durable_All , Sum_Infections_All , HalfPopulation , Sum_TestLab_1_Done , Sum_TestLab_1_Missed , TestLab_1_PlacesBusy , Sum_TestRe2_Done , Sum_TestRe2_Missed , ASHA_With_ViroTest_Lab_Activity , Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Died_preHospital_All , Sum_Died_in_Hospital_All , Sum_Infections_All , Sum_Killed_All , Sum_Healed_All Report whenever values change by 1 [ % Relative Difference ] ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L ################# , Sum_Decay_All , Infect3Mild_Amateur_Edge_Vg00 , Infect4StrongHOS_Amateur_Edge_Vg00 , Infect7ExpectICU_Amateur_Edge_Vg00 , ASHA_Lack_ViroTest_Lab_Activity , !L ######################################################################################################## Ready for release below !L ######################################################################################################## !L Those examples below have been tested and work with this Task time --------------v !L Simulate deterministically until 200 !L Except that the order used below in the code and the order at time of use !L in the code must be the order of the time-series numbers given (or else the !L numbers for the time-series are ignored and the order of parsing is used anyway ) !L The the Parts are given arbitrary numbers as name in the resulting output folder for !L Raw_Time_Series !L All of them can be given at the same time, whicih makes for a crowded but quick overview !L while giving them one by one makes it easier to find the Raw_Time_Series data in the output. !L More detail quirks below. !L ######################################################################################################## !L ################# !L Only Fixed Times Requested: Switch off all reporting except for Amount and Flux of values defined explicitly below !L TS1, TS 2 The trick is to cut all unnecessary data using the Ignore , From , and Until clauses. !L Due to a quirk in this prototype, the "Report whenever values change" clause is still needed !L and this trick does not work for singling out the "Report times when crossing values" output, !L which is still mixed into the output of the general time series; hence filtering left for users. !L Basic PandemicSociety101 scenario for showing Amount = compounded total only at the requested points TimeSeries 1 ( Report Separately the Amount of Part Sum_TestLab_1_Done , Sum_TestLab_1_Missed , Sum_TestRe2_Cancel , Sum_TestRe2_Done , ASHA_With_ViroTest_Lab_Activity , Starts0grow_Amateur_Edge_Vg00 , Infect3Mild_Amateur_Edge_Vg00 , Infect4StrongHOS_Amateur_Edge_Vg00 , Infect7ExpectICU_Amateur_Edge_Vg00 , RecoveredOutside_Amateur_Edge_Vg00 , RecoveredHealthC_Amateur_Edge_Vg00 , Died_preHospital_Amateur_Edge_Vg00 , Died_in_Hospital_Amateur_Edge_Vg00 , Sum_Killed_All , Sum_Healed_All , Sum_Infections_All , HalfPopulation From 0 :["days"] Until 0 :["days"] Ignore values below 0 Ignore values above 0 Report whenever values change by 5 [% Relative Difference] Report values when crossing times 4, 8, 12, 16,20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116,120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 200 ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L Basic PandemicSociety101 scenario for showing Flux = daily changes only at the requested points TimeSeries 2 ( Report Separately the Flux of Part Sum_TestLab_1_Done , Sum_TestLab_1_Missed , Sum_TestRe2_Cancel , Sum_TestRe2_Done , ASHA_With_ViroTest_Lab_Activity , Starts0grow_Amateur_Edge_Vg00 , Infect3Mild_Amateur_Edge_Vg00 , Infect4StrongHOS_Amateur_Edge_Vg00 , Infect7ExpectICU_Amateur_Edge_Vg00 , RecoveredOutside_Amateur_Edge_Vg00 , RecoveredHealthC_Amateur_Edge_Vg00 , Died_preHospital_Amateur_Edge_Vg00 , Died_in_Hospital_Amateur_Edge_Vg00 , Sum_Killed_All , Sum_Healed_All , Sum_Infections_All , HalfPopulation From 0 :["days"] Until 0 :["days"] Report whenever values change by 100 [ Absolute Difference ] Report values when crossing times 4, 8, 12, 16,20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116,120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 200 ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L ################# !L Only Fixed Ranges Requested: Switch off all reporting except for Amount and Flux of values in the range window defined below !L TS3, TS4 The trick is to cut all unnecessary data using the Ignore , From , and Until clauses; !L the "Report whenever values change" clause will then work in the specified time window and !L filter out the values observed in the simulation that satisfy the Ignore above/below clause. !L Careful with these exclusion clauses: forgetting them can lead to puzzling over why something does show up. !L Basic PandemicSociety101 scenario for showing Amount = compounded total only at the requested points TimeSeries 3 ( Report Separately the Amount of Part Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Infections_All , HalfPopulation From 20 :["days"] Until 40 :["days"] Ignore values below 100000 Ignore values above 200e6 Report whenever values change by 5 [% Relative Difference] ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L Basic PandemicSociety101 scenario for showing Flux = daily changes only at the requested points TimeSeries 4 ( Report Separately the Flux of Part Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Infections_All , HalfPopulation From 20 :["days"] Until 40 :["days"] Ignore values below 100 Ignore values above 200e6 Report whenever values change by 5 [% Relative Difference] ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L ################# !L Only Times at Requested: Switch off as much continuous reporting as possible, to get exact times, when crossing values given. !L Fixed Amounts TS5 The trick is to minimize unnecessary data using the Ignore , From , and Until clauses, !L but it cannot be avoided altogether at this point. Thus, increasing the Difference threshold helps, !L but it does not yet work well for looking at Fluxes (check source-code some time later) !L Careful with these exclusion clauses: forgetting them can lead to puzzling over why something does show up. !L Basic PandemicSociety101 scenario for showing Amount = compounded total only at the requested points TimeSeries 5 ( Report Separately the Amount of Part Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Infections_All , HalfPopulation From 0 :["days"] Until 200 :["days"] Ignore values below 0 Ignore values above 200e6 Report whenever values change by 5 [ Magnitudinal Difference] Report times when crossing values 200e3, 400e3, 800e3, 1.6e6, 3.2e6, 6.4e6, 12.8e6, 25.6e6, 51.2e6, 102.4e6 ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L ################# !L Easy To adapt Copy this: For the full range of a 200 day epidemic in a form that easily allows for ranges to be limited, !L TS7, TS8 Copy/Paste/Adapt the limitations shown below; Ignore statements for both must get a positive number, !L also for Flux (if that is unintended, then remove the Ignore clause from the Flux TimeSeries). !L Careful with these exclusion clauses: forgetting them can lead to puzzling over why something does show up. !L Basic PandemicSociety101 scenario for showing Amount = compounded total only at the requested points TimeSeries 7 ( Report Separately the Amount of Part Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Infections_All , HalfPopulation From 0 :["days"] Until 200 :["days"] Ignore values below 0 Ignore values above 1000e9 Report whenever values change by 0.1 [ % Relative Difference ] ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L Basic PandemicSociety101 scenario for showing Flux = daily changes only at the requested points TimeSeries 8 ( Report Separately the Flux of Part Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Infections_All , HalfPopulation From 0 :["days"] Until 200 :["days"] Ignore values below 0 Ignore values above 1000e9 Report whenever values change by 0.1 [ % Relative Difference ] ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L ################# !L Any Amount Copy this: For the full range of all simulated time and output values produced for the specified parts, !L TS7, TS8 Copy/Paste/Adapt the Parts list below. For limiting the amount of data, see above !L Basic PandemicSociety101 scenario for showing Amount = compounded total only at the requested points TimeSeries 9 ( Report Separately the Amount of Part Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Infections_All , HalfPopulation Report whenever values change by 0.1 [ % Relative Difference ] ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L Basic PandemicSociety101 scenario for showing Flux = daily changes only at the requested points TimeSeries 10 ( Report Separately the Flux of Part Sum_RecoveredOutside_All , Sum_RecoveredHealthC_All , Sum_Infections_All , HalfPopulation Report whenever values change by 0.1 [ % Relative Difference ] ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). !L ######### Text + Example below was directly Adapted from the manual (copied code, slightly improved explanations) ################################################################################ !L ################# !L Manual example: !L Code for Lynx, Hares Example in Manual !L (directly copied from Manual, works for Default Quest in Evolvix 0.3.1 installation folder) TimeSeries 0 ( Report Separately the Amount of Part Lynx, Hares From 5 Until 100 Ignore values below 200 Ignore values above 10000 Report whenever values change by 100 [ Absolute Difference ] Report times when crossing values 200, 9000, 683 Report values when crossing times 5,22,25,27,30 ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). TimeSeries 0 ( Report Separately the Flux of Part Lynx, Hares From 0 :["years"] Until 100 :["years"] Report whenever values change by 20 [% Relative Difference] ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). Generic Overview of TimeSeries Syntax ------------------------------------- A fully specified TimeSeries phrase described in a generic way looks like this: TimeSeries UserIndex Name ( Report Separately the Amount of Part ListOf_CommaSeparated_PartNames !L or: Report Simultaneously the Amount of Part ListOf_CommaSeparated_PartNames From StartTime :["TimeUnit"] Until StopTime :["TimeUnit"] Ignore values below ValueMin :[“ValueUnit”] Ignore values above ValueMax :[“ValueUnit”] Report whenever values change by DifferenceMeasure :[ DifferenceType ] Report times when crossing values ListOf_CommaSeparated_Times Report values when crossing times ListOf_CommaSeparated_Values ) !L Warning: Due to some parser problem the sequence of most of these statements cannot be changed (see Details below). We are planning extensions to the TimeSeries syntax, so do not depend on it: is will likely change in the future. Details and Rules for using: ---------------------------- Arguments ListOf_CommaSeparated_PartNames Names must be separated by comma No comments allowed here or in any such list. Names must contain only valid Evolvix Names (see above) these will be reported simultaneously, to “Report Simultaneously” in older versions of Evolvix, a list of pairs has to be given, one for each phase diagram requested. to “Report Separately” and in newer versions of Evolvix, all Part Names are just listed once: Example: Part_1, Part_2, Part_3 , Foxes, Rabbits Time, StartTime, StopTime, ListOf_CommaSeparated_Times Any time allowed, but ODE solvers only work with positive times. StopTime must be larger than StartTime. Both default to the simulation start and stop time. The TimeUnit will specify more details about the meaning of the times. The List must contain only numbers, each separated by a comma and nothing else else Evolvix 0.3.0 would crash. The default for ListOf_CommaSeparated_Values is an empty list. Value, ValueMin, ValueMax, ListOf_CommaSeparated_Values Any number allowed, negative Part Amounts make no sense, but negative fluxes do. The ValueUnit will specify more details about the meaning of the Values The List must contain only numbers, each separated by a comma and nothing else otherwise Evolvix would crash. ValueMin must be smaller than ValueMax, both default to +-1e100 The default for ListOf_CommaSeparated_Values is an empty list. DifferenceMeasure, DifferenceType The DifferenceMeasure(s) provide a quantitative cutoff for the difference between current value and last recorded value. DifferenceMeasure must be >= 0 and defaults to 0.05. DifferenceType can be any of these known methods (and defaults to Magnitudinal): - % Relative Difference = see relative error definition. - Absolute Difference = same units as observed values. - Magnitudinal Difference = decadic logarithm of ratio of differences (see Error of Magnitude in Loewe 2007, SWP&E) - RelAbsMix Difference = mixes relative and absolute differences (Weighted Root Mean Square, see SunDials manual) You can use one of the following lines to specify both: Report whenever values change by 5 [% Relative Difference ] Report whenever values change by 100 [ Absolute Difference ] Report whenever values change by 0.05 [ Magnitudinal Difference ] Report whenever values change by 0.1, 0.2 [ RelAbsMix Difference ] Details and Rules for using: ---------------------------- Find a working TimeSeries statement and modify it. To construct it from scratch is not difficult, but a bit tedious and can waste lots of time in search of typos. Here are the rules: Due to parser restrictions, you can NOT change the order of the statements (see below). Due to parser restrictions, you can NOT add comments. Due to parser restrictions, you can NOT change the upper-case/lower-case choices in the statement: the TimeSeries phrase is case-sensitive. The times for “Report values when crossing times” must refer to times after or when the simulation starts. Specifying times after the simulation is scheduled to end will not make a simulation run longer; it will only cause TimeSeries to report nothing for these times, as neither values nor times could be observed. If the user specifies a TimeSeries Query, then she must specify what Parts she wants to observe in ListOf_CommaSeparated_PartNames. If the user does not specify one of the other inputs, Evolvix will use one of the default values in its place. “Ignore values” may not work for deterministic simulations if the values are greater or equal to 1000. TimeSeries Regular ------------------------------------- The time series observations above are clever in that they guarantee that no big changes will be missed (within the specified accuracy) and that only the data necessary is reported and not more. However sometimes value readings are needed at regular time intervals. This can be obtained with the following query: Code: Report whenever times change by 20 :[ "years" ] !L interval length It is still possible to add requests for additional times or the crossing of special values: Code: Report values when crossing times 10,90 Example: This simple example combines it all. Code: TimeSeries 3 ( Report Separately the Amount of Part Lynx Report whenever times change by 2 :[ "min" ] !L this is by interval Report values when crossing times 10,90 ) It is not possible to set Lower or Upper value limits for this way of observing Timeseries. In this case no other filters are available and trying to use them will not work. Default Values for regular time steps 1/2000th of the simulation end time. --! !l End of TimeSeries syntax from the manual of 0.3.1 (copied here for convenience, with minor improvements to explanations as of 2020-05-16) !l ################################################################################################################################################# End of TimeSeries Manual Excerpt ##############################