diff --git a/NAMESPACE b/NAMESPACE index a82181c79..b3b690a55 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -663,7 +663,6 @@ export(xds_lines_Y) export(xds_lines_Y_fracs) export(xds_lines_Z) export(xds_lines_Z_fracs) -export(xds_lines_aEIR) export(xds_plot_EIR) export(xds_plot_M) export(xds_plot_PR) diff --git a/R/adult-basicM.R b/R/adult-basicM.R index d80eb9e1f..6e8c681e5 100644 --- a/R/adult-basicM.R +++ b/R/adult-basicM.R @@ -66,15 +66,16 @@ Update_MYZt.basicM <- function(t, y, pars, s) { #' @export make_MYZpar.basicM = function(MYZname, pars, s, MYZopts=list()){ setup_as = with(MYZopts, ifelse(exists("setup_as"), setup_as, "RM")) - if(setup_as == "GeRM"){ - MYZpar <- create_MYZpar_GeRM(pars$nPatches, MYZopts) - } else { - MYZpar <- create_MYZpar_RM(pars$nPatches, MYZopts) - } - class(MYZpar) <- 'basicM' - pars$MYZpar[[s]] = MYZpar - return(pars) -} + with(MYZopts,{ + if(setup_as == "GeRM"){ + MYZpar <- create_MYZpar_GeRM(pars$nPatches, MYZopts) + } else { + MYZpar <- create_MYZpar_RM(pars$nPatches, MYZopts) + } + class(MYZpar) <- 'basicM' + pars$MYZpar[[s]] = MYZpar + return(pars) +})} diff --git a/R/adult-interface.R b/R/adult-interface.R index 1c7535e6f..b1b9a9106 100644 --- a/R/adult-interface.R +++ b/R/adult-interface.R @@ -13,26 +13,6 @@ dMYZdt <- function(t, y, pars, s) { UseMethod("dMYZdt", pars$MYZpar[[s]]) } -#' @title Compute steady states for \eqn{\cal MYZ} models -#' @description This method dispatches on the type of `MYZpar`. -#' @param Lambda the daily emergence rate of adult mosquitoes -#' @param kappa net infectiousness -#' @param MYZpar a list that defines an adult model -#' @return none -#' @export -xde_steady_state_MYZ = function(Lambda, kappa, MYZpar){ - UseMethod("xde_steady_state_MYZ", MYZpar) -} - -#' @title Compute the steady states as a function of the daily EIR -#' @description This method dispatches on the type of `MYZpar`. -#' @param Lambda the daily emergence rate of adult mosquitoes -#' @param MYZpar a list that defines an adult model -#' @return none -#' @export -xde_steady_state_M = function(Lambda, MYZpar){ - UseMethod("xde_steady_state_M", MYZpar) -} #' @title A function to set up adult mosquito models #' @description This method dispatches on `MYZname`. @@ -230,3 +210,24 @@ get_g = function(pars, s=1){ get_sigma = function(pars, s=1){ UseMethod("get_sigma", pars$MYZpar[[s]]$baseline) } + +#' @title Compute steady states for \eqn{\cal MYZ} models +#' @description This method dispatches on the type of `MYZpar`. +#' @param Lambda the daily emergence rate of adult mosquitoes +#' @param kappa net infectiousness +#' @param MYZpar a list that defines an adult model +#' @return none +#' @export +xde_steady_state_MYZ = function(Lambda, kappa, MYZpar){ + UseMethod("xde_steady_state_MYZ", MYZpar) +} + +#' @title Compute the steady states as a function of the daily EIR +#' @description This method dispatches on the type of `MYZpar`. +#' @param Lambda the daily emergence rate of adult mosquitoes +#' @param MYZpar a list that defines an adult model +#' @return none +#' @export +xde_steady_state_M = function(Lambda, MYZpar){ + UseMethod("xde_steady_state_M", MYZpar) +} diff --git a/R/adult-si.R b/R/adult-si.R index 581bc119d..9c3a78dd5 100644 --- a/R/adult-si.R +++ b/R/adult-si.R @@ -7,10 +7,12 @@ #' \deqn{ #' \begin{array}{rr} #' dM/dt =& \Lambda &- \Omega \cdot M \\ -#' dY/dt =& f q \kappa (M-Y) &- \Omega \cdot Y +#' dY/dt =& f q \kappa (M-Y) &- \Omega \cdot Y \\ #' \end{array}. #' } -#' The model assumes \eqn{Z = \Upsilon Y} +#' and infectious mosquitoes are by the variable +#' \deqn{Z = e^{-\Omega \tau} \cdot Y} +#' #' @inheritParams dMYZdt #' @return a [numeric] vector #' @export diff --git a/R/adult-trivial.R b/R/adult-trivial.R index 17afcd0cd..7524c7bed 100644 --- a/R/adult-trivial.R +++ b/R/adult-trivial.R @@ -8,7 +8,7 @@ F_fqZ.trivial <- function(t, y, pars, s) { f = get_f(pars, s) q = get_q(pars, s) - Z = with(pars$MYZpar[[s]], Z*season(t)*trend(t)) + Z = with(pars$MYZpar[[s]], Z*F_season(t)*F_trend(t)) return(f*q*Z) } @@ -19,7 +19,7 @@ F_fqZ.trivial <- function(t, y, pars, s) { #' @export F_eggs.trivial <- function(t, y, pars, s) { with(pars$MYZpar[[s]], - return(eggs*season(t)*trend(t)) + return(eggs*F_season(t)*F_trend(t)) )} #' @title Blood feeding rate of the infective mosquito population @@ -79,13 +79,13 @@ xde_steady_state_MYZ.trivial = function(Lambda, kappa, MYZpar){with(MYZpar,{ #' @param q the human fraction #' @param Z the human fraction #' @param eggs the human fraction -#' @param season a seasonality function -#' @param trend a trend function +#' @param F_season a F_seasonality function +#' @param F_trend a F_trend function #' @return none #' @export create_MYZpar_trivial = function(nPatches, MYZopts, f = 1, q = 1, Z=1, eggs=1, - season = F_flat, trend=F_flat){ + F_season = F_flat, F_trend=F_flat){ with(MYZopts,{ MYZpar <- list() MYZpar$nPatches <- nPatches @@ -106,8 +106,8 @@ create_MYZpar_trivial = function(nPatches, MYZopts, MYZpar$Z <- checkIt(Z, nPatches) MYZpar$eggs <- checkIt(eggs, nPatches) - MYZpar$season <- season - MYZpar$trend <- trend + MYZpar$F_season <- F_season + MYZpar$F_trend <- F_trend return(MYZpar) })} diff --git a/R/aquatic-basicL.R b/R/aquatic-basicL.R index 84c6f8983..4b0c69674 100644 --- a/R/aquatic-basicL.R +++ b/R/aquatic-basicL.R @@ -166,7 +166,7 @@ create_Linits_basicL = function(nHabitats, Lopts=list(), L=1){with(Lopts,{ #' @title Parse the variable names for the basicL model #' @description Implements [parse_Lorbits] for basicL competition model. #' @inheritParams parse_Lorbits -#' @return [list] +#' @return a parsed [list]; the variables are attached by name #' @export parse_Lorbits.basicL <- function(outputs, pars, s) { L = outputs[,pars$ix$L[[s]]$L_ix] diff --git a/R/aquatic-trivial.R b/R/aquatic-trivial.R index bbe60ced0..ed1bb26e8 100644 --- a/R/aquatic-trivial.R +++ b/R/aquatic-trivial.R @@ -5,26 +5,27 @@ #' @inheritParams F_emerge #' @return a [numeric] vector of length `nHabitats` #' @export -F_emerge.trivial <- function(t, y, pars, s) { - with(pars$Lpar[[s]], Lambda*season(t)*trend(t)) -} +F_emerge.trivial <- function(t, y, pars, s) {with(pars$Lpar[[s]],{ + emergents = Lambda*F_season(t)*F_trend(t) + return(emergents) +})} #' @title Make parameters for trivial aquatic mosquito model #' @param nHabitats the number of habitats in the model #' @param Lopts a [list] that overwrites default values #' @param Lambda vector of mean emergence rates from each aquatic habitat -#' @param season a function that gives a seasonal pattern -#' @param trend a function that returns a temporal trend +#' @param F_season a function that gives a F_seasonal pattern +#' @param F_trend a function that returns a temporal F_trend #' @return none #' @export create_Lpar_trivial = function(nHabitats, Lopts=list(), - Lambda=1000, season=F_flat, trend=F_flat){ + Lambda=1000, F_season=F_flat, F_trend=F_flat){ with(Lopts,{ Lpar = list() class(Lpar) <- "trivial" Lpar$Lambda = checkIt(Lambda, nHabitats) - Lpar$season = season - Lpar$trend = trend + Lpar$F_season = F_season + Lpar$F_trend = F_trend Lpar$baseline = "trivial" class(Lpar$baseline) = "trivial" return(Lpar) diff --git a/R/human-trivial.R b/R/human-trivial.R index 152a162af..3f468d1b7 100644 --- a/R/human-trivial.R +++ b/R/human-trivial.R @@ -7,7 +7,7 @@ #' @export F_X.trivial <- function(t, y, pars, i) { H = F_H(t, y, pars, i) - X = with(pars$Xpar[[i]], H*kappa*season(t)*trend(t)) + X = with(pars$Xpar[[i]], H*kappa*F_season(t)*F_trend(t)) return(X) } @@ -25,18 +25,18 @@ F_H.trivial <- function(t, y, pars, i) { #' @param Xopts a [list] #' @param kappa net infectiousness #' @param HPop initial human population density -#' @param season a seasonality function -#' @param trend a trend function +#' @param F_season a F_seasonality function +#' @param F_trend a F_trend function #' @return a [list] #' @export create_Xpar_trivial <- function(nPatches, Xopts, kappa=.1, HPop=1, - season=F_flat, trend=F_flat){with(Xopts,{ + F_season=F_flat, F_trend=F_flat){with(Xopts,{ Xpar <- list() class(Xpar) <- c('trivial') Xpar$H = checkIt(HPop, nPatches) Xpar$kappa= checkIt(kappa, nPatches) - Xpar$season = season - Xpar$trend = trend + Xpar$F_season = F_season + Xpar$F_trend = F_trend return(Xpar) })} diff --git a/R/plot-terms.R b/R/plot-terms.R index 6a04f6373..a2ae0397f 100644 --- a/R/plot-terms.R +++ b/R/plot-terms.R @@ -4,39 +4,37 @@ #' @param i the host species index #' @param clrs a vector of colors #' @param llty an integer (or integers) to set the `lty` for plotting -#' @param stable a logical: set to FALSE for `orbits` and TRUE for `stable_orbits` -#' @param add_axes a logical: plot axes only if TRUE +#' @param add a logical: plot axes only if FALSE #' #' @export -xds_plot_EIR <- function(pars, i=1, clrs="black", llty=1, stable=FALSE, add_axes=TRUE){ - - tm = pars$outputs$time +xds_plot_EIR <- function(pars, i=1, clrs="black", llty=1, add=FALSE){ + times = pars$outputs$time EIR = get_EIR(pars, i) - if(add_axes==TRUE){ - plot(tm, EIR, type = "n", + + if(add==FALSE){ + plot(times, 0*times, type = "n", xlab = "Time", ylab = "dEIR", ylim = range(0, EIR)) } - xds_lines_EIR(tm, EIR, pars$nStrata[i], clrs, llty) + xds_lines_EIR(times, EIR, pars$nStrata[i], clrs, llty) } #' Add lines for the EIR *vs.* time #' -#' @param tm the time +#' @param times the time #' @param EIR the entomological inoculation rate #' @param nStrata the number of human / host population strata #' @param clrs a vector of colors #' @param llty an integer (or integers) to set the `lty` for plotting #' #' @export -xds_lines_EIR <- function(tm, EIR, nStrata, clrs="black", llty=1){ - +xds_lines_EIR <- function(times, EIR, nStrata, clrs="black", llty=1){ if(nStrata==1) - graphics::lines(tm, EIR, col=clrs, lty = llty) + graphics::lines(times, EIR, col=clrs, lty = llty) if(nStrata>1){ if(length(clrs)==1) clrs=rep(clrs, nStrata) if(length(llty)==1) llty=rep(llty, nStrata) for(i in 1:nStrata) - graphics::lines(tm, EIR[,i], col=clrs[i], lty = llty) + graphics::lines(times, EIR[,i], col=clrs[i], lty = llty) } } @@ -47,38 +45,19 @@ xds_lines_EIR <- function(tm, EIR, nStrata, clrs="black", llty=1){ #' @param i the host species index #' @param clrs a vector of colors #' @param llty an integer (or integers) to set the `lty` for plotting -#' @param stable a logical: set to FALSE for `orbits` and TRUE for `stable_orbits` -#' @param add_axes a logical: plot axes only if TRUE +#' @param stable a logical: set to FALSE for `orbits` and FALSE for `stable_orbits` +#' @param add a logical: plot axes only if FALSE #' #' @export -xds_plot_aEIR <- function(pars, i=1, clrs="black", llty=1, stable=FALSE, add_axes=TRUE){ - vars=with(pars$outputs,if(stable==TRUE){stable_orbits}else{orbits}) - - tm = vars$terms$time - aEIR = 365*vars$terms$eir[[i]] - if(add_axes==TRUE) - plot(tm, aEIR, type = "n", xlab = "Time", ylab = "aEIR", ylim = range(0, aEIR)) +xds_plot_aEIR <- function(pars, i=1, clrs="black", llty=1, stable=FALSE, add=FALSE){ + times = pars$outputs$time + EIR = get_EIR(pars, i) - xds_lines_aEIR(tm, aEIR, pars$Hpar[[i]]$nStrata, clrs, llty) -} + aEIR = 365*EIR + if(add==FALSE) + plot(times, 0*times, type = "n", xlab = "Time", ylab = "aEIR", ylim = range(0, aEIR)) -#' Add lines for the annualized EIR *vs.* t -#' -#' @param tm the time -#' @param EIR the entomological inoculation rate -#' @param nStrata the number of human / host population strata -#' @param clrs a vector of colors -#' @param llty an integer (or integers) to set the `lty` for plotting -#' -#' @export -xds_lines_aEIR <- function(tm, EIR, nStrata, clrs="black", llty=1){ - aeir = 365*EIR - if(nStrata==1) graphics::lines(tm, aeir, col=clrs) - if(nStrata>1){ - if (length(clrs)==1) clrs=rep(clrs, nStrata) - for(i in 1:nStrata) - graphics::lines(tm, aeir[,i], col=clrs[i]) - } + xds_lines_EIR(times, aEIR, pars$nStrata[i], clrs, llty) } #' Plot the prevalence / parasite rate (PR) from a model of human infection and immunity @@ -87,38 +66,39 @@ xds_lines_aEIR <- function(tm, EIR, nStrata, clrs="black", llty=1){ #' @param i the host species index #' @param clrs a vector of colors #' @param llty an integer (or integers) that specifies `lty` for plotting -#' @param stable a logical: set to FALSE for `orbits` and TRUE for `stable_orbits` -#' @param add_axes a logical: plot axes only if TRUE +#' @param add a logical: plot axes only if FALSE #' #' @export -xds_plot_PR = function(pars, i=1, clrs="black", llty=1, stable=FALSE, add_axes=TRUE){ +xds_plot_PR = function(pars, i=1, clrs="black", llty=1, add=FALSE){ + terms = pars$outputs$orbits$XH[[1]] + times = pars$outputs$time tm = pars$outputs$time - if(add_axes==TRUE){ - plot(tm, 0*tm + 1, type = "n", ylim = c(0,1), + if(add==FALSE){ + plot(times, 0*times, type = "n", ylim = c(0,1), ylab = "Prevalence", xlab = "Time") } - xds_lines_PR(tm, pars$outputs$orbits$XH[[1]]$true_pr, pars$nStrata[i], clrs, llty) + xds_lines_PR(times, terms$true_pr, pars$nStrata[i], clrs, llty) } #' Add lines for the prevalence / parasite rate (PR) from a model of human infection and immunity #' -#' @param tm the time +#' @param times the time #' @param PR the computed parasite rate #' @param nStrata the number of human / host population strata #' @param clrs a vector of colors #' @param llty an integer (or integers) that specifies `lty` for plotting #' #' @export -xds_lines_PR = function(tm, PR, nStrata, clrs="black", llty=1){ +xds_lines_PR = function(times, PR, nStrata, clrs="black", llty=1){ - if(nStrata==1) graphics::lines(tm, PR, col=clrs[1], lty = llty[1]) + if(nStrata==1) graphics::lines(times, PR, col=clrs[1], lty = llty[1]) if(nStrata>1){ if (length(clrs)==1) clrs=rep(clrs, nStrata) if (length(llty)==1) llty=rep(llty, nStrata) for(i in 1:nStrata) - graphics::lines(tm, PR[,i], col=clrs[i], lty = llty[i]) + graphics::lines(times, PR[,i], col=clrs[i], lty = llty[i]) } } diff --git a/R/xds_setup.R b/R/xds_setup.R index 7277923f9..63bb72732 100644 --- a/R/xds_setup.R +++ b/R/xds_setup.R @@ -2,7 +2,7 @@ #' @title Basic Setup: Make a Fully Defined **`xds`** Object #' -#' @description Make a fully defined **`xds`** object: +#' @description Make an **`xds`** *model object*: #' #' - Define the dynamical components: #' - \eqn{\cal XH} - a model for human / host infection dynamics of class **`Xname`** with trivial demographics @@ -10,8 +10,8 @@ #' - \eqn{\cal L} - a model for aquatic mosquito ecology of class **`Lname`** #' - Define basic structural parameters for a single host and vector population: #' - \eqn{n_p} or `nPatches` - the number of patches -#' - \eqn{n_q} or `nHabitats` - the number and locations of aquatic habitats -#' - \eqn{n_h} or `nStrata` - the number of human / host population strata and basic demographic information +#' - \eqn{n_q} or `nHabitats <- length(membership)` - the number and locations of aquatic habitats +#' - \eqn{n_h} or `nStrata <- length(residence)` - the number of human / host population strata and basic demographic information #' - Configure some of the basic elements #' - Search weights for human population strata #' - Search weights for aquatic habitats @@ -53,53 +53,48 @@ #' - vector control, vaccines, or other mass #' @seealso [make_xds_template] #' @param xds is `xde`/`dts` for differential / difference equations -#' @param dlay is either "ode" or "dde" -#' @param MYZname a character string defining a \eqn{\cal MYZ} model #' @param Xname a character string defining a \eqn{\cal X} model +#' @param Xopts a list to configure the X model +#' @param MYZname a character string defining a \eqn{\cal MYZ} model +#' @param MYZopts a list to configure the MYZ model #' @param Lname a character string defining a \eqn{\cal L} model +#' @param Lopts a list to configure the L model #' @param nPatches is the number of patches -#' @param membership is a vector that describes the patch where each aquatic habitat is found -#' @param residence is a vector that describes the patch where each human stratum lives #' @param HPop is the number of humans in each patch -#' @param Xday is the run-time time step for X component (in days): integer or 1/integer -#' @param MYZday is the run-time time step for MYZ component (in days): integer or 1/integer -#' @param Lday is the run-time time step for L component (in days): integer or 1/integer +#' @param residence is a vector that describes the patch where each human stratum lives +#' @param membership is a vector that describes the patch where each aquatic habitat is found #' @param searchB is a vector of search weights for blood feeding #' @param TimeSpent is either a TimeSpent matrix or a string to call a function that sets it up #' @param calK is either a calK matrix or a string that defines how to set it up #' @param searchQ is a vector of search weights for egg laying -#' @param MYZopts a list to configure the MYZ model -#' @param Xopts a list to configure the X model -#' @param Lopts a list to configure the L model +#' @param dlay is either "ode" or "dde" +#' @param Xday is the run-time time step for X component (in days): integer or 1/integer +#' @param MYZday is the run-time time step for MYZ component (in days): integer or 1/integer +#' @param Lday is the run-time time step for L component (in days): integer or 1/integer #' @param BFopts a list to configure the blood feeding model #' @param model_name is a name for the model (arbitrary) #' @return an **`xds`** object #' @export -xds_setup = function(xds = 'xde', dlay = 'ode', - ### Dynamical Components - MYZname = "RM", +xds_setup = function(xds = 'xde', Xname = "SIS", + Xopts = list(), + MYZname = "RM", + MYZopts = list(), Lname = "trivial", - ### Model Structure + Lopts = list(), nPatches = 1, - membership=1, - residence=1, - HPop=1000, - ### Runtime Time parameters - Xday = 1, - MYZday = 1, - Lday = 1, - ### Setup Parameters + HPop = 1000, + residence = 1, + membership = 1, searchB = 1, TimeSpent = list(), - calK = list(), + calK = list(), searchQ = 1, - ### Options - MYZopts = list(), - Xopts = list(), - Lopts = list(), + Xday = 1, + MYZday = 1, + Lday = 1, BFopts = list(), - ### Name + dlay = 'ode', model_name = "unnamed" ){ stopifnot(length(HPop) == length(residence)) @@ -326,9 +321,11 @@ xds_setup_aquatic = function(xds = 'xde', dlay = 'ode', #' @param model_name a name for the model #' @return an **`xds`** object #' @export -xds_setup_human = function(xds = 'xde', dlay = 'ode', +xds_setup_human = function(Xname = "SIS", + Xopts = list(), + + xds = 'xde', dlay = 'ode', ### Dynamical Components - Xname = "SIS", ### Model Structure nPatches=1, residence=1, @@ -339,7 +336,6 @@ xds_setup_human = function(xds = 'xde', dlay = 'ode', TimeSpent = list(), ### Options MYZopts = list(), - Xopts = list(), BFopts = list(), ### Name model_name = "unnamed" diff --git a/README.md b/README.md index 41e592d7e..b4eaaede5 100644 --- a/README.md +++ b/README.md @@ -19,17 +19,17 @@ Also see the related vignette [*Getting Started*](https://dd-harp.github.io/ramp ## What is RAMP? -RAMP -- **R**obust **A**nalytics for **M**alaria **P**olicy -- is a bespoke inferential system for malaria decision support and adaptive malaria control. A core goal for RAMP is to characterize, quantify, and propagate uncertainty in conventional analysis and through simulation-based analytics. +RAMP -- **R**obust **A**nalytics for **M**alaria **P**olicy -- describes bespoke inferential systems for malaria decision support and adaptive malaria control that go to great lengths to characterize, quantify, and propagate uncertainty. RAMP includes conventional analysis and simulation-based analytics. ## What is **`ramp.xds`**? -**`ramp.xds`** is an R software package that supports nimble model building for simulation-based analytics and malaria research. It was designed to help research scientists and policy analysts set up, analyze, solve, and use dynamical systems models describing the epidemiology, spatial transmission dynamics, and control of malaria and other mosquito-transmitted pathogens. The software also supports nimble model building and analysis for mosquito ecology, with the capability to handle forcing by weather and other exogenous variables. +**`ramp.xds`** is an R software package that supports nimble model building for simulation-based analytics and malaria research. The software was designed to help research scientists and policy analysts set up, analyze, solve, and use dynamical systems models describing the epidemiology, spatial transmission dynamics, and control of malaria and other mosquito-transmitted pathogens. The software also supports nimble model building and analysis for mosquito ecology, with the capability to handle forcing by weather and other exogenous variables. -**`ramp.xds`** has been designed to serve the needs of malaria programs, where mathematical models are used for decision support and adaptive malaria control in a defined geographical area. Mechanistic models describing malaria transmission in a place that have been fitted to available data and that have quantified uncertainty are a synthesis of malaria intelligence. In this formulation, the models can facilitate complex analysis, extending our innate mental capabilities. As the needs of a malaria program changes, the models can be modified -- simplified or extended -- to serve the tasks at hand. +**`ramp.xds`** has been designed to serve the needs of malaria programs, where mathematical models are used for decision support and adaptive malaria control in a defined geographical area. Mechanistic models that have been fitted to data describing malaria in a place provide a synthesis of *malaria intelligence.* These models can facilitate complex analysis, extending our innate mental capabilities. By characterizing and quantifying uncertainty, and then propagating the uncertainty through the analysis, simulation-based analytics serve as a platform for giving robust policy advice and for adaptive malaria control. As the needs of a malaria program changes, the models can be modified -- simplified or extended -- to serve the tasks at hand. **`ramp.xds`** was developed to apply malaria theory: it outputs standard, observable malaria metrics, and it easily solve dynamical systems, computes steady states and stable orbits, and computes the spatio-temporal vectorial capacity and the basic and adjusted reproductive numbers for malaria parasites. -*** +## A Software Ecosystem for Robust, Simulation-based Analytics **`ramp.xds`** is part of a suite of R packages developed to support RAMP: diff --git a/_pkgdown.yml b/_pkgdown.yml index c93608901..18e5e98ba 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -12,23 +12,17 @@ navbar: - text: Understanding ramp.xds href: articles/Understanding_ramp.xds.html - text: Modular Forms for Disease Dynamics - href: articles/modularity.html + href: articles/modular_forms.html - text: 5-3-4 Spatial Example href: articles/ex_534.html - text: Spatial Metrics href: articles/spat_metric.html - text: Vector Control Example href: articles/vc_lemenach.html - - text: Contributing - href: articles/Contributing.html - text: Heterogeneous Transmission href: articles/heterogeneous_transmission.html - - text: Heterogeneous Biting - href: articles/heterogeneous_biting.html - - text: Heterogeneous Mixing - href: articles/heterogeneous_mixing.html - - text: Environmental Heterogeneity - href: articles/environmental_heterogeneity.html + - text: Contributing + href: articles/Contributing.html - text: Mosquito - Adult menu: - text: Adult Mosquitoes @@ -42,7 +36,7 @@ navbar: - text: Mosquito - Aquatic menu: - text: Aquatic - Trivial (forced) model - href: articles/aqua_trivial.html + href: articles/aqua_trace.html - text: Basic Competition href: articles/aqua_basic.html - text: Human / Host @@ -1030,9 +1024,8 @@ reference: Basic visualization of the transmission terms contents: - xds_plot_EIR - - xds_lines_EIR - xds_plot_aEIR - - xds_lines_aEIR + - xds_lines_EIR - xds_plot_PR - xds_lines_PR - title: Functions and Utilities diff --git a/docs/404.html b/docs/404.html index f2bcd65cb..49abf72c9 100644 --- a/docs/404.html +++ b/docs/404.html @@ -58,7 +58,7 @@ Understanding ramp.xds
  • - Modular Forms for Disease Dynamics + Modular Forms for Disease Dynamics
  • 5-3-4 Spatial Example @@ -69,20 +69,11 @@
  • Vector Control Example
  • -
  • - Contributing -
  • Heterogeneous Transmission
  • - Heterogeneous Biting -
  • -
  • - Heterogeneous Mixing -
  • -
  • - Environmental Heterogeneity + Contributing
  • @@ -115,7 +106,7 @@ @@ -116,7 +107,7 @@