covid-19/sim/index.html

246 lines
6.7 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="sim.css" />
</head>
<body>
<div id="sandbox">
<div id="controls">
2020-04-22 22:48:22 +00:00
<div id="hide_on_first_playthrough">
<div id="section_dynamics">
On <i>average</i>,
each <icon i></icon>...
<br><br>
<div id="label_transmission">
2020-04-23 16:21:18 +00:00
Infects 1 <icon s></icon> per <span id="label_p_transmission">N</span> days
2020-04-22 22:48:22 +00:00
<br>
2020-04-23 16:21:18 +00:00
<span id="label_transmission_caveat">
(at the start of the epidemic)<br>
</span>
<input class="sim_input" type="range" id="p_transmission" min="1" max="30" step="1" value="4">
2020-04-22 22:48:22 +00:00
</div>
<div id="label_c_exposed">
<input class="sim_checkbox" type="checkbox" id="c_exposed">
Takes <span id="label_p_exposed">N</span> days to go from <icon e></icon> to <icon i></icon>
<br>
2020-04-23 16:21:18 +00:00
<input class="sim_input" type="range" id="p_exposed" min="1" max="30" step="1" value="3">
2020-04-22 22:48:22 +00:00
</div>
<div id="label_c_recovery">
<input class="sim_checkbox" type="checkbox" id="c_recovery">
2020-04-24 16:59:53 +00:00
Becomes <icon r></icon> in <span id="label_p_recovery">N</span> days
2020-04-22 22:48:22 +00:00
<br>
2020-04-27 04:03:42 +00:00
<input class="sim_input" type="range" id="p_recovery" min="1" max="30" step="1" value="10">
2020-04-22 22:48:22 +00:00
</div>
<div id="label_c_waning">
<input class="sim_checkbox" type="checkbox" id="c_waning">
Loses immunity <icon s></icon> in <span id="label_p_waning">N</span> years
<br>
<input class="sim_input" type="range" id="p_waning" min="0.5" max="5" step="0.5" value="1">
</div>
<hr>
</div>
2020-04-22 22:48:22 +00:00
<div id="section_r">
2020-04-24 16:59:53 +00:00
R<sub>0</sub> is <span id="label_p_r0" toFixed="2"></span>
<canvas class="r_canvas" id="canvas_r0"></canvas>
<!--input class="sim_input" type="range" id="p_r0" min="0" max="6" step="0.01" disabled-->
2020-04-22 22:48:22 +00:00
<br>
<span id="label_s">
2020-04-24 16:59:53 +00:00
% of people who are <i>NOT</i> <icon s></icon>
<input class="sim_input" type="range" id="p_s" min="0" max="1" step="0.001" value="0" disabled>
<div class="herd"></div>
2020-04-22 22:48:22 +00:00
<br>
</span>
<span id="int_block_0">
2020-04-24 16:59:53 +00:00
Increased Hygiene
2020-04-22 22:48:22 +00:00
<br>
<input class="sim_input recordable" type="range" id="p_hygiene" min="0" max="1" step="0.001" value="0">
<br>
</span>
<span id="int_block_1">
Physical Distancing
<br>
<input class="sim_input recordable" type="range" id="p_distancing" min="0" max="1" step="0.001" value="0">
<br>
</span>
<span id="int_block_2">
Isolating Cases
<br>
<input class="sim_input recordable" type="range" id="p_isolate" min="0" max="1" step="0.001" value="0">
<br>
Quarantining Contacts
<br>
<input class="sim_input recordable" type="range" id="p_quarantine" min="0" max="1" step="0.001" value="0">
<br>
</span>
<span id="int_block_3">
Face Masks
<br>
<input class="sim_input recordable" type="range" id="p_masks" min="0" max="1" step="0.001" value="0">
<br>
</span>
<span id="int_block_4">
Summer
<br>
<input class="sim_input recordable" type="range" id="p_summer" min="0" max="1" step="0.001" value="0">
<br>
</span>
<span id="int_block_5">
Vaccinations
<br>
<input class="sim_input recordable" type="range" id="p_vaccines" min="0" max="1" step="0.001" value="0">
<br>
</span>
<span id="label_re">
R is now <span id="label_p_re" toFixed="2"></span>
2020-04-24 16:59:53 +00:00
<canvas class="r_canvas" id="canvas_re"></canvas>
<!--<input class="sim_input" type="range" id="p_re" min="0" max="6" step="0.01" disabled>-->
2020-04-22 22:48:22 +00:00
</span>
<span id="hospital_capacity">
2020-04-27 04:03:42 +00:00
ICU capacity at <span id="label_p_hospital">N</span>%
2020-04-22 22:48:22 +00:00
<br>
2020-04-27 04:03:42 +00:00
<input class="sim_input recordable" type="range" id="p_hospital" min="100" max="1000" step="1" value="333">
2020-04-22 22:48:22 +00:00
</span>
2020-04-24 16:59:53 +00:00
<hr id="divider">
2020-04-22 22:48:22 +00:00
</div>
2020-04-22 22:48:22 +00:00
<div id="section_meta">
2020-04-22 22:48:22 +00:00
Simulate <span id="label_p_years" toFixed="1">N</span> years
<span id="section_meta_years">
<br>
<input class="sim_input" type="range" id="p_years" min="0.5" max="10" step="0.5" value="2">
<br>
</span>
in <span id="label_p_speed">N</span> seconds
<br>
2020-04-22 22:48:22 +00:00
<input class="sim_input" type="range" id="p_speed" min="1" max="60" step="1" value="30">
2020-04-22 22:48:22 +00:00
</div>
</div>
<div id="sim_controls">
2020-04-22 22:48:22 +00:00
<div class="big_button">
<div id="bb_start">▶ Start</div>
<div id="bb_pause">❙❙ Pause</div>
<div id="bb_continue">▶ Continue</div>
<div id="bb_reset">↺ Reset</div>
</div>
<div class="small_button">
<div id="sb_reset">↺ Reset</div>
<div id="sb_replay">↺ Replay what you just did</div>
<div id="sb_params">↺ Reset all sliders</div>
</div>
</div>
</div>
<div id="graph">
<canvas id="graphCanvas"></canvas>
<div id="month_ticks">
2020-04-22 22:48:22 +00:00
<!--
<div><span>2020</span></div>
<div><span>2021</span></div>
-->
</div>
<div id="legend">
2020-04-27 04:03:42 +00:00
<span id="label_susceptible" class="lines">
2020-04-23 16:21:18 +00:00
<icon s></icon> Susceptible<span id="show_percent_s"></span>
2020-04-27 04:03:42 +00:00
<br>
2020-04-23 16:21:18 +00:00
</span>
2020-04-27 04:03:42 +00:00
<span id="label_exposed" class="lines">
2020-04-23 16:21:18 +00:00
<icon e></icon> Exposed<span id="show_percent_e"></span>
2020-04-27 04:03:42 +00:00
<br>
2020-04-23 16:21:18 +00:00
</span>
2020-04-27 04:03:42 +00:00
<span id="label_infectious" class="lines">
2020-04-23 16:21:18 +00:00
<icon i></icon> Infectious<span id="show_percent_i"></span>
2020-04-27 04:03:42 +00:00
<br>
2020-04-23 16:21:18 +00:00
</span>
2020-04-27 04:03:42 +00:00
<span id="label_removed" class="lines">
2020-04-30 02:05:19 +00:00
<icon r></icon> Recovered<span id="show_percent_r"></span>
2020-04-23 16:21:18 +00:00
</span>
2020-04-22 22:48:22 +00:00
2020-04-27 04:03:42 +00:00
<br class="lines">
2020-04-22 22:48:22 +00:00
<span id="label_herd_immunity">
- - - Herd Immunity
</span>
2020-04-27 04:03:42 +00:00
<br class="lines">
2020-04-22 22:48:22 +00:00
<span id="label_capacity">
2020-04-27 04:03:42 +00:00
ICU Capacity
2020-04-22 22:48:22 +00:00
</span>
</div>
</div>
2020-04-23 16:21:18 +00:00
<div id="pointer">
<div id="hand_container">
<div id="hand"></div>
</div>
<div id="pointer_words">
<span id="pointer_params">
Try re-running the simulation
with different numbers!
<span id="pointer_params_2">
<b>(note: you can change the numbers <i>while</i> the sim is running)</b>
</span>
</span>
<span id="pointer_scroll">
Once you're done playing around,
scroll down to keep reading!
</span>
<span id="pointer_replay">
This simulation has a "recorded scenario"!
<br>
Click "Start" to watch the recording <i>before</i>
you change any of the numbers
</span>
2020-04-23 16:21:18 +00:00
</div>
</div>
</div>
2020-04-22 22:48:22 +00:00
<span id="month_names">
<span>jan</span>
<span>feb</span>
<span>mar</span>
<span>apr</span>
<span>may</span>
<span>jun</span>
<span>jul</span>
<span>aug</span>
<span>sep</span>
<span>oct</span>
<span>nov</span>
<span>dec</span>
</span>
</body>
2020-04-23 16:21:18 +00:00
<script src="js/helpers.js"></script>
<script src="js/Model.js"></script>
<script src="js/Controls.js"></script>
<script src="js/Stages.js"></script>
<script src="js/main.js"></script>