FAQ
What is EpiAware?
A set of composable Julia packages for infectious disease modelling. Each package does one thing, such as handling censored delays, convolving distributions, or composing them. Together they combine into joint models that propagate uncertainty.
Is it ready to use?
The ecosystem is at an early stage. CensoredDistributions.jl is the most developed and usable today. Other packages are in active development, and some interfaces will change. We will say clearly on each package’s page how settled it is.
How does this relate to epinowcast and EpiNow2?
EpiAware is the Julia successor to the R-based epinowcast ecosystem and packages like EpiNow2. The aim is the same, good tools for real-time infectious disease analysis, now built as composable components in Julia. See epinowcast & the forum.
I’m new to Julia. Where do I start?
The Using Julia guide covers installation, editor setup, and environments, and points to good resources for learning the language.
Which packages support automatic differentiation?
All of them. Every package is tested against ForwardDiff, ReverseDiff, Mooncake, and Enzyme on every change, with FiniteDiff and Zygote used as reference points. Modern samplers such as NUTS rely on gradients, so a component that cannot be differentiated is of little use inside a fitted model. We treat working AD as a requirement rather than a bonus.
We do not write our own automatic differentiation. We build on Turing.jl for inference and on the AD packages themselves, so improvements made by the people who specialise in that work carry straight through to our models.
Support is not uniform across backends, and we would rather show that than claim otherwise. Each package publishes a benchmark page setting out which backends work, how fast they are, and where they fail.
- ComposedDistributions.jl
- ConvolvedDistributions.jl
- ModifiedDistributions.jl
- ComposableTuringIDModels.jl
CensoredDistributions.jl runs the same AD tests but does not publish a benchmark page yet.
How do I cite EpiAware?
Cite the specific package you used, referencing its GitHub repository and the version. Package-specific citation details live in each package’s documentation.
Where do I get help or report a bug?
- Questions: the epinowcast forum
- Bugs and feature requests: open an issue on the relevant GitHub repository
- General Julia help: Julia Discourse and Slack
More on getting started as a contributor is on the Get involved and Contributing pages.