Skip to content

Commit b3c3212

Browse files
committed
print
1 parent 5475f3b commit b3c3212

2 files changed

Lines changed: 38 additions & 22 deletions

File tree

exercises/exercise02.py

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,14 @@ def _(np):
7676
model.parameters.DeathsPerCritical[group] = 0.3
7777

7878
# Set contact frequency
79-
model.parameters.ContactPatterns.cont_freq_mat[0].baseline = np.ones((1, 1)) * 10
79+
model.parameters.ContactPatterns.cont_freq_mat[0].baseline = np.ones(
80+
(1, 1)) * 10
8081

8182
# Initialize compartments
82-
model.populations[group, osecir.InfectionState.Exposed] = 0.005 * total_population
83-
model.populations[group, osecir.InfectionState.InfectedNoSymptoms] = 0.005 * total_population
83+
model.populations[group,
84+
osecir.InfectionState.Exposed] = 0.005 * total_population
85+
model.populations[group,
86+
osecir.InfectionState.InfectedNoSymptoms] = 0.005 * total_population
8487
model.populations.set_difference_from_total(
8588
(group, osecir.InfectionState.Susceptible), total_population)
8689
return dt, model, osecir, t0, tmax
@@ -122,7 +125,8 @@ def _(dt, model, osecir, t0, tmax):
122125

123126
@app.cell
124127
def _(results):
125-
compartments = results[0] # The first element of results contains the compartment data
128+
# The first element of results contains the compartment data
129+
compartments = results[0]
126130
flows = results[1] # The second element of results contains the flow data
127131
return compartments, flows
128132

@@ -162,7 +166,6 @@ def _(flows, np, osecir):
162166
plot_time = time_days[1:]
163167

164168
print(flow_array.shape)
165-
print("ji")
166169
return daily_flows, plot_time
167170

168171

@@ -196,12 +199,13 @@ def _(mo):
196199
def _(compartments, daily_flows, osecir, plot_time, plt):
197200
# 1. Prepare compartment data for comparison
198201
# Interpolate to match the time grid of our flows
199-
comp_array = osecir.interpolate_simulation_result(compartments).as_ndarray()
202+
comp_array = osecir.interpolate_simulation_result(
203+
compartments).as_ndarray()
200204

201205
# Extract the "InfectedSevere" compartment (Currently Hospitalized)
202206
# Adding 1 because row 0 is the time axis
203207
state_severe_idx = 1 + int(osecir.InfectionState.InfectedSevere)
204-
current_severe = comp_array[state_severe_idx, 1:]
208+
current_severe = comp_array[state_severe_idx, 1:]
205209

206210
# 2. Flow indices
207211
new_symptomatic_idx = 2
@@ -216,8 +220,10 @@ def _(compartments, daily_flows, osecir, plot_time, plt):
216220
fig, ax = plt.subplots(1, 2, figsize=(14, 6))
217221

218222
# --- Subplot 1: Disease Progression (The Time Lag) ---
219-
ax[0].bar(plot_time, daily_flows[new_symptomatic_idx, :], color='coral', alpha=0.5, label='New Symptomatic Cases')
220-
ax[0].bar(plot_time, daily_flows[new_hospitalized_idx, :], color='darkred', alpha=0.8, label='New Hospitalizations')
223+
ax[0].bar(plot_time, daily_flows[new_symptomatic_idx, :],
224+
color='coral', alpha=0.5, label='New Symptomatic Cases')
225+
ax[0].bar(plot_time, daily_flows[new_hospitalized_idx, :],
226+
color='darkred', alpha=0.8, label='New Hospitalizations')
221227
# EXERCISE: Extend subplot 1 to also show new ICU admissions.
222228
# Hint: add a third bar for daily_flows[new_icu_idx, :] with a suitable color and label,
223229
# e.g. color='maroon', alpha=0.9, label='New ICU Admissions'.
@@ -228,14 +234,16 @@ def _(compartments, daily_flows, osecir, plot_time, plt):
228234

229235
# --- Subplot 2: Incidence vs. Bed Occupancy ---
230236
# Axis 1: Daily New Cases (Incidence)
231-
ax[1].bar(plot_time, daily_flows[new_hospitalized_idx, :], color='steelblue', alpha=0.5, label='Daily Admissions (Incidence)')
237+
ax[1].bar(plot_time, daily_flows[new_hospitalized_idx, :],
238+
color='steelblue', alpha=0.5, label='Daily Admissions (Incidence)')
232239
ax[1].set_xlabel('Time [days]')
233240
ax[1].set_ylabel('Daily New Hospitalizations [#]', color='steelblue')
234241
ax[1].tick_params(axis='y', labelcolor='steelblue')
235242

236243
# Axis 2: Current Occupancy
237244
ax2 = ax[1].twinx()
238-
ax2.plot(plot_time, current_severe, color='black', linewidth=3, label='Currently Hospitalized')
245+
ax2.plot(plot_time, current_severe, color='black',
246+
linewidth=3, label='Currently Hospitalized')
239247
ax2.set_ylabel('Total Hospital Bed Occupancy [#]', color='black')
240248
ax2.tick_params(axis='y', labelcolor='black')
241249

tutorial02.py

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,14 @@ def _(np):
7676
model.parameters.DeathsPerCritical[group] = 0.3
7777

7878
# Set contact frequency
79-
model.parameters.ContactPatterns.cont_freq_mat[0].baseline = np.ones((1, 1)) * 10
79+
model.parameters.ContactPatterns.cont_freq_mat[0].baseline = np.ones(
80+
(1, 1)) * 10
8081

8182
# Initialize compartments
82-
model.populations[group, osecir.InfectionState.Exposed] = 0.005 * total_population
83-
model.populations[group, osecir.InfectionState.InfectedNoSymptoms] = 0.005 * total_population
83+
model.populations[group,
84+
osecir.InfectionState.Exposed] = 0.005 * total_population
85+
model.populations[group,
86+
osecir.InfectionState.InfectedNoSymptoms] = 0.005 * total_population
8487
model.populations.set_difference_from_total(
8588
(group, osecir.InfectionState.Susceptible), total_population)
8689
return dt, model, osecir, t0, tmax
@@ -123,7 +126,8 @@ def _(dt, model, osecir, t0, tmax):
123126

124127
@app.cell
125128
def _(results):
126-
compartments = results[0] # The first element of results contains the compartment data
129+
# The first element of results contains the compartment data
130+
compartments = results[0]
127131
flows = results[1] # The second element of results contains the flow data
128132
return compartments, flows
129133

@@ -163,7 +167,6 @@ def _(flows, np, osecir):
163167
plot_time = time_days[1:]
164168

165169
print(flow_array.shape)
166-
print("ji")
167170
return daily_flows, plot_time
168171

169172

@@ -197,12 +200,13 @@ def _(mo):
197200
def _(compartments, daily_flows, osecir, plot_time, plt):
198201
# 1. Prepare compartment data for comparison
199202
# Interpolate to match the time grid of our flows
200-
comp_array = osecir.interpolate_simulation_result(compartments).as_ndarray()
203+
comp_array = osecir.interpolate_simulation_result(
204+
compartments).as_ndarray()
201205

202206
# Extract the "InfectedSevere" compartment (Currently Hospitalized)
203207
# Adding 1 because row 0 is the time axis
204208
state_severe_idx = 1 + int(osecir.InfectionState.InfectedSevere)
205-
current_severe = comp_array[state_severe_idx, 1:]
209+
current_severe = comp_array[state_severe_idx, 1:]
206210

207211
# 2. Flow indices
208212
new_symptomatic_idx = 2
@@ -212,23 +216,27 @@ def _(compartments, daily_flows, osecir, plot_time, plt):
212216
fig, ax = plt.subplots(1, 2, figsize=(14, 6))
213217

214218
# --- Subplot 1: Disease Progression (The Time Lag) ---
215-
ax[0].bar(plot_time, daily_flows[new_symptomatic_idx, :], color='coral', alpha=0.5, label='New Symptomatic Cases')
216-
ax[0].bar(plot_time, daily_flows[new_hospitalized_idx, :], color='darkred', alpha=0.8, label='New Hospitalizations')
219+
ax[0].bar(plot_time, daily_flows[new_symptomatic_idx, :],
220+
color='coral', alpha=0.5, label='New Symptomatic Cases')
221+
ax[0].bar(plot_time, daily_flows[new_hospitalized_idx, :],
222+
color='darkred', alpha=0.8, label='New Hospitalizations')
217223
ax[0].set_title('Disease Progression: Infection to Hospitalization')
218224
ax[0].set_xlabel('Time [days]')
219225
ax[0].set_ylabel('Daily New Cases [#]')
220226
ax[0].legend()
221227

222228
# --- Subplot 2: Incidence vs. Bed Occupancy ---
223229
# Axis 1: Daily New Cases (Incidence)
224-
ax[1].bar(plot_time, daily_flows[new_hospitalized_idx, :], color='steelblue', alpha=0.5, label='Daily Admissions (Incidence)')
230+
ax[1].bar(plot_time, daily_flows[new_hospitalized_idx, :],
231+
color='steelblue', alpha=0.5, label='Daily Admissions (Incidence)')
225232
ax[1].set_xlabel('Time [days]')
226233
ax[1].set_ylabel('Daily New Hospitalizations [#]', color='steelblue')
227234
ax[1].tick_params(axis='y', labelcolor='steelblue')
228235

229236
# Axis 2: Current Occupancy
230237
ax2 = ax[1].twinx()
231-
ax2.plot(plot_time, current_severe, color='black', linewidth=3, label='Currently Hospitalized')
238+
ax2.plot(plot_time, current_severe, color='black',
239+
linewidth=3, label='Currently Hospitalized')
232240
ax2.set_ylabel('Total Hospital Bed Occupancy [#]', color='black')
233241
ax2.tick_params(axis='y', labelcolor='black')
234242

0 commit comments

Comments
 (0)