To install naomi.options:
remotes::install_github("mrc-ide/naomi.options", upgrade = FALSE)

There are 2 possible sources for default values, in order of precedence
override_values coming from the datadefault_options.csvWhen building the options from hintr the way this works is
get_controls_json with the iso3 the options from the data and override_values from the data. Note the options and override_values can be empty and indeed are for calibrate optionscontrols.R for this type, and adds any options passed as an arg into this list for each control
default_options.csv
override_value exists and is valid. If it is sets this as the value for the control. If it is invalid it checks if there is a default in the default_options,csv whcih is valid. If not uses an empty default value
inst/model_options.json or inst/calibration_options.json and returns to hintrUpdate the inst/default_options.csv. There is a row for each country and a column with the ID of the control. Note
default_options.csv
; and any amount of whitespace e.g. CMR2018DHS; CMR2017PHIA or CMR2018DHS;CMR2017PHIA will workNA
After making any changes run the tests, this will check that the value added is valid and of the correct value for the type.
To add a new control requires a few steps
get_model_controls() or get_calibration_controls() in R/controls.R. Adding it as a control() will validate that the control specification is well formedinst/anc_options.json, inst/art_options.json, inst/model_options.json or inst/calibration_options.json. You may need to add a new label or control group. To add the control itself use the name added in step 1 as "<+control_name+>". This string then gets matched and replaced with the control specification from step 1. Comparing this JSON to the options in the app is often the easiest way to see what the different labels and descriptions do but ask Rob if any questions.inst/default_options.csv and set values for each country.naomi.options. Talk to Rob and ask him to do this.The package validates that the options for every country produces valid options. To do this we re-use the schema from hintr. This will need to be updated periodically if the schema changes by running the script
./scripts/copy_schemas
MIT © Imperial College of Science, Technology and Medicine