RamAnanth1 commited on
Commit
e3bc2d2
·
1 Parent(s): 6f1919a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +83 -0
app.py CHANGED
@@ -9,7 +9,90 @@ from cadCAD import configs
9
  import pandas as pd
10
  import numpy as np
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  def greet(name):
 
 
13
  return "Hello " + name + "!!"
14
 
15
  iface = gr.Interface(fn=greet, inputs="text", outputs="text")
 
9
  import pandas as pd
10
  import numpy as np
11
 
12
+ N = 10000 #Total Population
13
+ initial_state = {
14
+ "S": N-10,
15
+ "E": 10,
16
+ "I":0,
17
+ "R":0
18
+ }
19
+ sys_params = {
20
+ "infection_rate":[1],
21
+ "recovery_rate":[1/14],
22
+ "exposure_rate":[1/3]
23
+ }
24
+
25
+ def p_exposed(params, substep, state_history, previous_state):
26
+ signal = previous_state["S"]*params["infection_rate"]*previous_state["I"]/N
27
+ return {"delta_s":np.ceil(signal)}
28
+
29
+ def p_infected(params, substep, state_history, previous_state):
30
+ signal = params["exposure_rate"]*previous_state["E"]
31
+ return {"delta_i":np.ceil(signal)}
32
+
33
+ def p_recovered(params, substep, state_history, previous_state):
34
+ signal = params["recovery_rate"]*previous_state["I"]
35
+ return {"delta_r":np.ceil(signal)}
36
+
37
+ def s_susceptible(params, substep, state_history, previous_state, policy_input):
38
+ new_S = previous_state["S"] - policy_input["delta_s"]
39
+ return ("S", max(new_S,0))
40
+
41
+ def s_exposed(params, substep, state_history, previous_state, policy_input):
42
+ new_E = previous_state["E"] + policy_input["delta_s"] - policy_input["delta_i"]
43
+ return ("E", max(new_E,0))
44
+
45
+ def s_infected(params, substep, state_history, previous_state, policy_input):
46
+ new_I = previous_state["I"] + policy_input["delta_i"] - policy_input["delta_r"]
47
+ return ("I", max(new_I,0))
48
+
49
+ def s_recovered(params, substep, state_history, previous_state, policy_input):
50
+ new_R = previous_state["R"] + policy_input["delta_r"]
51
+ return ("R", max(new_R, 0))
52
+
53
+ partial_state_update_blocks = [
54
+ {
55
+ "policies":{
56
+ "expsoed_growth":p_exposed,
57
+ "infected_growth":p_infected,
58
+ "recovered_growth":p_recovered,
59
+
60
+ },
61
+ "variables":{
62
+ "S":s_susceptible,
63
+ "E":s_exposed,
64
+ "I":s_infected,
65
+ "R":s_recovered,
66
+ }
67
+
68
+ }
69
+
70
+ ]
71
+
72
+ del configs[:]
73
+
74
+ timesteps = 100
75
+ sim_config = config_sim({
76
+ "N":1,
77
+ "T":range(timesteps),
78
+ "M":sys_params
79
+ })
80
+
81
+ experiment = Experiment()
82
+ experiment.append_configs(
83
+ sim_configs=sim_config,
84
+ initial_state=initial_state,
85
+ partial_state_update_blocks=partial_state_update_blocks
86
+ )
87
+
88
+ exec_context = ExecutionContext()
89
+ simulation = Executor(exec_context=exec_context, configs=experiment.configs)
90
+
91
+
92
+
93
  def greet(name):
94
+ raw_result, tensor_fields, sessions = simulation.execute()
95
+ result = pd.DataFrame(raw_result)
96
  return "Hello " + name + "!!"
97
 
98
  iface = gr.Interface(fn=greet, inputs="text", outputs="text")