From d8eededa4f027dd1768205e16bb5fe0a4c9b5df6 Mon Sep 17 00:00:00 2001 From: Samuel Brand Date: Wed, 14 Feb 2024 14:17:20 +0000 Subject: [PATCH] Fix bug due to init being in unconstrained domain --- EpiAware/src/epimodel.jl | 10 +++++----- EpiAware/test/test_epimodel.jl | 5 +++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/EpiAware/src/epimodel.jl b/EpiAware/src/epimodel.jl index daa5b13e2..4e099248c 100644 --- a/EpiAware/src/epimodel.jl +++ b/EpiAware/src/epimodel.jl @@ -60,17 +60,17 @@ struct DirectInfections <: AbstractEpiModel data::EpiData end -function (epi_model::DirectInfections)(recent_incidence, _I_t) - nothing, epi_model.data.transformation(_I_t) +function (epi_model::DirectInfections)(recent_incidence, unc_I_t) + nothing, epi_model.data.transformation(unc_I_t) end struct ExpGrowthRate <: AbstractEpiModel data::EpiData end -function (epi_model::ExpGrowthRate)(recent_incidence, rt) - new_incidence = recent_incidence * exp(rt) - new_incidence, new_incidence +function (epi_model::ExpGrowthRate)(unc_recent_incidence, rt) + new_unc_recent_incidence = unc_recent_incidence + rt + new_unc_recent_incidence, epi_model.data.transformation(new_unc_recent_incidence) end struct Renewal <: AbstractEpiModel diff --git a/EpiAware/test/test_epimodel.jl b/EpiAware/test/test_epimodel.jl index 8d30f45bb..82e2c703e 100644 --- a/EpiAware/test/test_epimodel.jl +++ b/EpiAware/test/test_epimodel.jl @@ -88,10 +88,11 @@ end rt = log(2) / 7.0 # doubling time of 7 days expected_new_incidence = recent_incidence[end] * exp(rt) - expected_output = expected_new_incidence, expected_new_incidence + expected_output = log(expected_new_incidence), expected_new_incidence - @test rt_model(recent_incidence[end], rt) == expected_output + @test rt_model(log(recent_incidence[end]), rt)[1] ≈ expected_output[1] + @test rt_model(log(recent_incidence[end]), rt)[2] ≈ expected_output[2] end @testitem "DirectInfections function" begin