Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactorcpp #116

Merged
merged 357 commits into from
Jan 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
357 commits
Select commit Hold shift + click to select a range
a2a5957
:pencil: update specs [no ci]
stevencarlislewalker Nov 14, 2023
2e22512
:pencil: update specs [no ci]
stevencarlislewalker Nov 14, 2023
a6f6352
birs
stevencarlislewalker Nov 14, 2023
e496b0c
:pencil: update specs [no ci]
stevencarlislewalker Nov 14, 2023
99f14e7
mp_join help
stevencarlislewalker Nov 14, 2023
c930aec
migrating some documentation
papsti Nov 14, 2023
fb8f6d2
Merge branch 'refactorcpp' of https://github.com/canmod/macpan2 into …
papsti Nov 14, 2023
fae10e0
move an example
papsti Nov 14, 2023
86240f4
updated documentation for `mp_index()`
papsti Nov 14, 2023
2d82dc6
birs
stevencarlislewalker Nov 14, 2023
0d53aa6
Merge remote-tracking branch 'refs/remotes/origin/refactorcpp' into r…
stevencarlislewalker Nov 14, 2023
f258279
index table = output of `mp_index()`, index = entry in an index table
papsti Nov 14, 2023
d267d9c
"calculation archetype" -> "functional form"
papsti Nov 14, 2023
9cb42f7
Merge branch 'refactorcpp' of https://github.com/canmod/macpan2 into …
papsti Nov 14, 2023
357dd73
remove mention of the model library (not ready)
papsti Nov 14, 2023
0552988
slight update to index documentation
papsti Nov 14, 2023
895beb3
:pencil: update specs [no ci]
stevencarlislewalker Nov 14, 2023
432985c
don't try to build incompatible vignettes
jaganmn Nov 15, 2023
6edcabc
basic code chunks for code that shouldn't be executed
papsti Nov 15, 2023
72776ec
docs and fix #133
stevencarlislewalker Nov 15, 2023
4b9812d
Merge remote-tracking branch 'refs/remotes/origin/refactorcpp' into r…
stevencarlislewalker Nov 15, 2023
be215db
fix #137
stevencarlislewalker Nov 15, 2023
6bf9a8b
Merge branch 'main' into refactorcpp
bbolker Nov 18, 2023
8a74b36
reactions to birs
stevencarlislewalker Nov 20, 2023
9f2d7c7
group sum rename and more from birs
stevencarlislewalker Nov 20, 2023
bcd78da
Create BIRS-workshop-debrief.md
papsti Nov 21, 2023
4e308fd
Update BIRS-workshop-debrief.md
papsti Nov 22, 2023
27b1ef6
post birs
stevencarlislewalker Nov 24, 2023
44181f9
Merge remote-tracking branch 'refs/remotes/origin/refactorcpp' into r…
stevencarlislewalker Nov 24, 2023
bbbd8b2
readme
stevencarlislewalker Dec 4, 2023
34d2c3f
experiments
stevencarlislewalker Dec 4, 2023
a8d02fb
readme update
stevencarlislewalker Dec 4, 2023
c146b61
readme update
stevencarlislewalker Dec 5, 2023
5b4dcf5
readme update
stevencarlislewalker Dec 5, 2023
397e03a
readme update
stevencarlislewalker Dec 5, 2023
1b58c1b
readme update
stevencarlislewalker Dec 5, 2023
4248201
readme update
stevencarlislewalker Dec 5, 2023
468477d
readme update
stevencarlislewalker Dec 6, 2023
ed7f952
architecture
stevencarlislewalker Dec 6, 2023
63b5f55
architecture
stevencarlislewalker Dec 6, 2023
02e02ad
diagrams
stevencarlislewalker Dec 6, 2023
8b3af07
arch
stevencarlislewalker Dec 6, 2023
e0c6497
readme
stevencarlislewalker Dec 6, 2023
6655aa0
readme
stevencarlislewalker Dec 7, 2023
944b28f
readme
stevencarlislewalker Dec 8, 2023
497fa88
readme
stevencarlislewalker Dec 8, 2023
c06763d
diagram format
stevencarlislewalker Dec 8, 2023
844f078
auto-commit
stevencarlislewalker Dec 8, 2023
3b8eb1e
auto-commit
stevencarlislewalker Dec 8, 2023
82ab6f9
auto-commit
stevencarlislewalker Dec 8, 2023
f2a22ab
auto-commit
stevencarlislewalker Dec 8, 2023
e7c4590
auto-commit
stevencarlislewalker Dec 8, 2023
6d97788
auto-commit
stevencarlislewalker Dec 8, 2023
36dbef5
auto-commit
stevencarlislewalker Dec 8, 2023
9aa0dd3
auto-commit
stevencarlislewalker Dec 8, 2023
8f804b3
auto-commit
stevencarlislewalker Dec 8, 2023
ae45aab
auto-commit
stevencarlislewalker Dec 8, 2023
fd57e67
auto-commit
stevencarlislewalker Dec 8, 2023
5fa1d38
auto-commit
stevencarlislewalker Dec 8, 2023
353c6d7
auto-commit
stevencarlislewalker Dec 8, 2023
ba80bc9
auto-commit
stevencarlislewalker Dec 8, 2023
dfdd010
readme
stevencarlislewalker Dec 8, 2023
c275726
auto-commit
stevencarlislewalker Dec 8, 2023
7fcdcb6
auto-commit
stevencarlislewalker Dec 8, 2023
b04fc4a
auto-commit
stevencarlislewalker Dec 8, 2023
d4dbad7
auto-commit
stevencarlislewalker Dec 8, 2023
7fff16e
auto-commit
stevencarlislewalker Dec 8, 2023
911f11a
auto-commit
stevencarlislewalker Dec 8, 2023
8bc9f1f
readme
stevencarlislewalker Dec 11, 2023
3984a40
readme tools
stevencarlislewalker Dec 11, 2023
b59679e
readme reorg
stevencarlislewalker Dec 11, 2023
c834614
auto-commit
stevencarlislewalker Dec 11, 2023
9dfb889
auto-commit
stevencarlislewalker Dec 11, 2023
c97e24c
dsl
stevencarlislewalker Dec 11, 2023
4f3a96b
auto-commit
stevencarlislewalker Dec 11, 2023
4b6d269
readme fuss
stevencarlislewalker Dec 11, 2023
7d54f7d
starting directory for readme dependencies
stevencarlislewalker Dec 12, 2023
4639657
modular expression list for basic SIR
jfree-man Dec 12, 2023
a1889b2
Merge remote-tracking branch 'refs/remotes/origin/refactorcpp' into r…
stevencarlislewalker Dec 12, 2023
0197de0
calibrate sir example
stevencarlislewalker Dec 12, 2023
7ea9051
fix long-standing bug when time_steps=0 and when there are expression…
stevencarlislewalker Dec 13, 2023
9f603bb
model printing
stevencarlislewalker Dec 13, 2023
afaf0fb
sir model update
stevencarlislewalker Dec 13, 2023
b570138
minor
stevencarlislewalker Dec 13, 2023
1d22b2c
expression lists for remaining unstructured models
jfree-man Dec 14, 2023
8a5d7c1
adding Lotka Volterra to model library
jfree-man Dec 14, 2023
71603be
more comments in SIR example
bbolker Dec 14, 2023
109319d
calibration sir example
stevencarlislewalker Dec 14, 2023
ebe247a
calibration sir example
stevencarlislewalker Dec 14, 2023
58d31ed
sir example
stevencarlislewalker Dec 14, 2023
6ea0b60
auto-commit
stevencarlislewalker Dec 14, 2023
83ae30a
auto-commit
stevencarlislewalker Dec 14, 2023
f65d311
auto-commit
stevencarlislewalker Dec 14, 2023
1a9cd95
auto-commit
stevencarlislewalker Dec 14, 2023
5176912
auto-commit
stevencarlislewalker Dec 14, 2023
3521fc2
clean up
stevencarlislewalker Dec 14, 2023
dda6ce6
auto-commit
stevencarlislewalker Dec 14, 2023
54a8ee3
auto-commit
stevencarlislewalker Dec 14, 2023
285714c
auto-commit
stevencarlislewalker Dec 14, 2023
2d5aead
auto-commit
stevencarlislewalker Dec 14, 2023
2b49e0c
auto-commit
stevencarlislewalker Dec 14, 2023
d2e979b
auto-commit
stevencarlislewalker Dec 14, 2023
77db5c4
auto-commit
stevencarlislewalker Dec 14, 2023
bbd2e17
auto-commit
stevencarlislewalker Dec 14, 2023
a41e079
auto-commit
stevencarlislewalker Dec 14, 2023
7626a38
auto-commit
stevencarlislewalker Dec 15, 2023
d2e63e1
auto-commit
stevencarlislewalker Dec 15, 2023
2516ecb
auto-commit
stevencarlislewalker Dec 15, 2023
df33ce0
better printing
stevencarlislewalker Dec 15, 2023
eccddd3
readme
stevencarlislewalker Dec 18, 2023
0094572
update readme
stevencarlislewalker Dec 18, 2023
9d1616a
fix bad auto-commit rules
stevencarlislewalker Dec 18, 2023
f670e66
auto-empty-matrix
stevencarlislewalker Dec 18, 2023
c7d28c8
update readme
stevencarlislewalker Dec 18, 2023
e7bfac6
descriptions for basic epi models
jfree-man Dec 19, 2023
794b79e
testing mermaid rendering
jfree-man Dec 19, 2023
5911da9
another mermaid test
jfree-man Dec 19, 2023
f23129f
Update README.md
stevencarlislewalker Dec 19, 2023
61f9971
model spec concept and engine-specific library
stevencarlislewalker Dec 19, 2023
f69582a
Merge remote-tracking branch 'refs/remotes/origin/refactorcpp' into r…
stevencarlislewalker Dec 19, 2023
89fc18c
update readme
stevencarlislewalker Dec 19, 2023
78efb36
tmb library file example
stevencarlislewalker Dec 19, 2023
cdb804e
update readme
stevencarlislewalker Dec 19, 2023
1a26bd0
update readme
stevencarlislewalker Dec 19, 2023
64f2eed
row and matrix quantities
stevencarlislewalker Dec 20, 2023
45e708e
update readme
stevencarlislewalker Dec 20, 2023
b3f4f54
remove rownames on trajectories
stevencarlislewalker Dec 20, 2023
4ecc796
makefile fix
stevencarlislewalker Dec 20, 2023
3f487c4
update readme
stevencarlislewalker Dec 20, 2023
922a985
wastewater tmb engine
stevencarlislewalker Dec 20, 2023
51d4f5d
move time steps and quantities out of mp_trajectory
stevencarlislewalker Dec 21, 2023
027ce4d
update readme
stevencarlislewalker Dec 21, 2023
b2aa648
update readme
stevencarlislewalker Dec 21, 2023
be5cca5
update readme
stevencarlislewalker Dec 21, 2023
575080f
update readme
stevencarlislewalker Dec 21, 2023
eed8f54
update readme
stevencarlislewalker Dec 21, 2023
cbee8b7
update readme
stevencarlislewalker Dec 21, 2023
ddf7c9c
update readme
stevencarlislewalker Dec 21, 2023
8793eb5
svg update
stevencarlislewalker Dec 21, 2023
5531570
update readme
stevencarlislewalker Dec 21, 2023
f203f81
convolution and time variation examples
stevencarlislewalker Dec 21, 2023
423f2f0
update readme
stevencarlislewalker Dec 21, 2023
c1ef484
update readme
stevencarlislewalker Dec 21, 2023
7e8b547
update readme
stevencarlislewalker Dec 21, 2023
0a26e16
update readme
stevencarlislewalker Dec 21, 2023
c197deb
update readme
stevencarlislewalker Dec 21, 2023
4f74202
vignette updates and better argument names
stevencarlislewalker Dec 21, 2023
56cd184
update readme
stevencarlislewalker Dec 21, 2023
b1a71d1
print method
stevencarlislewalker Dec 21, 2023
5fc1ab7
update readme
stevencarlislewalker Dec 21, 2023
44b74d9
update readme
stevencarlislewalker Dec 21, 2023
8ce711f
default printing
stevencarlislewalker Dec 21, 2023
d373f6a
update readme
stevencarlislewalker Dec 21, 2023
6b6bf1c
print fussing
stevencarlislewalker Dec 21, 2023
e38d52d
update readme
stevencarlislewalker Dec 21, 2023
8121262
working on #154
stevencarlislewalker Dec 22, 2023
d37a8d5
integrator examples
stevencarlislewalker Dec 27, 2023
76abf9a
closes #135
jfree-man Jan 4, 2024
a9c91f5
model library documentation updates
jfree-man Jan 5, 2024
d519f50
testing latex split environment for github markdown rendering
jfree-man Jan 5, 2024
ebd36c5
Testing README rendering
jfree-man Jan 5, 2024
558cf95
reversing changes
jfree-man Jan 5, 2024
677b4e2
starting to hack time-varying param vignette
bbolker Jan 7, 2024
13e1cd8
working on calibration scripts for #150
jfree-man Jan 7, 2024
b5c2af2
seir example calibration script
jfree-man Jan 8, 2024
cb5e167
integer vectors as input to integer sequences
stevencarlislewalker Jan 8, 2024
18205da
Merge remote-tracking branch 'refs/remotes/origin/refactorcpp' into r…
stevencarlislewalker Jan 8, 2024
3c84759
integer vectors in tmb specs
stevencarlislewalker Jan 8, 2024
d183d19
symptom status
stevencarlislewalker Jan 8, 2024
8a6e9b8
update readme
stevencarlislewalker Jan 8, 2024
b60a049
wastewater edit
stevencarlislewalker Jan 8, 2024
f5c4065
calibration stuff
jfree-man Jan 8, 2024
8fe1c41
Merge branch 'refactorcpp' of github.com:canmod/macpan2 into refactorcpp
jfree-man Jan 8, 2024
131bfec
sir calibration example broken
stevencarlislewalker Jan 8, 2024
8848a8b
update to sir model spec
jfree-man Jan 8, 2024
5a89bd5
sir example calibration script now working
jfree-man Jan 8, 2024
d30e8e6
quickstart in #154
stevencarlislewalker Jan 8, 2024
63a3ca2
Merge remote-tracking branch 'refs/remotes/origin/refactorcpp' into r…
stevencarlislewalker Jan 8, 2024
89bb868
switch sir_waning tmb spec over to current standard
stevencarlislewalker Jan 9, 2024
1971a1f
fix si tmb library model
stevencarlislewalker Jan 9, 2024
a0762a7
finished all tmb.R scripts (#150)
jfree-man Jan 9, 2024
4798389
working calibration examples
jfree-man Jan 9, 2024
5507c6f
fixed typo
jfree-man Jan 9, 2024
5be08f5
simple calibration examples for macpan_base and ww
jfree-man Jan 9, 2024
ccf7c72
time varying parameters vignette #154
stevencarlislewalker Jan 10, 2024
74c5842
fix #158
stevencarlislewalker Jan 10, 2024
a97319d
calibration vignette rendering (except measles example) #154
stevencarlislewalker Jan 10, 2024
10565d0
working on LV calibration examples #150
jfree-man Jan 11, 2024
46158e5
vignette indexing consistency
bbolker Jan 11, 2024
97d6c35
groupSums to group_sums in vignette
bbolker Jan 11, 2024
efce8db
Merge branch 'refactorcpp' of github.com:canmod/macpan2 into refactorcpp
bbolker Jan 11, 2024
80160ee
prepare for git bisect to find index/legder regression
stevencarlislewalker Jan 12, 2024
0e5deb3
Merge remote-tracking branch 'refs/remotes/origin/refactorcpp' into r…
stevencarlislewalker Jan 12, 2024
d4e06b3
fix index/ledger regression
stevencarlislewalker Jan 12, 2024
97b3d94
address #154 with managing out-of-date vignettes
stevencarlislewalker Jan 12, 2024
857634e
fix typo in dir name
bbolker Jan 12, 2024
87d269e
allow missing row/col in params frame
stevencarlislewalker Jan 12, 2024
34b9d80
Merge remote-tracking branch 'refs/remotes/origin/refactorcpp' into r…
stevencarlislewalker Jan 12, 2024
26b3484
text in time-varying vignette good enough for #154
stevencarlislewalker Jan 12, 2024
ef4ab4b
better parameterization for the sir_waning model
stevencarlislewalker Jan 12, 2024
bc55b87
closes #154
stevencarlislewalker Jan 12, 2024
f5362d3
add jen freeman to authors list and revert version untill we are real…
stevencarlislewalker Jan 12, 2024
03e9289
almost done #150
jfree-man Jan 14, 2024
82160e1
.Rbuildignore cached files with long pathnames
bbolker Jan 14, 2024
b26d629
clean up examples for #155
stevencarlislewalker Jan 15, 2024
0e91b6e
check index range in c++ assign function
stevencarlislewalker Jan 15, 2024
1803f7f
remove debug instrumentation
stevencarlislewalker Jan 15, 2024
750fe89
cleaning up tests for #155
stevencarlislewalker Jan 15, 2024
ee92c23
cleaning up tests for #155
stevencarlislewalker Jan 15, 2024
8840be3
cleaning up tests for #155
stevencarlislewalker Jan 15, 2024
428af06
predator prey calibration not fully working (yet)
jfree-man Jan 15, 2024
b7f920f
removing LV model nested directory structure
jfree-man Jan 15, 2024
44217a5
fix small typo in quickstart vignette
jfree-man Jan 15, 2024
721ad79
moving LV model documentation
jfree-man Jan 15, 2024
36b9795
removing hard coding of initial state values in model library
jfree-man Jan 15, 2024
aaaff41
last calibration example #150
jfree-man Jan 15, 2024
34f7a4e
closes #150
jfree-man Jan 15, 2024
cb41351
test fixes for #155
stevencarlislewalker Jan 15, 2024
0cdbfa3
Merge remote-tracking branch 'refs/remotes/origin/refactorcpp' into r…
stevencarlislewalker Jan 15, 2024
4cc0655
partial buildignore/docs cleanup
bbolker Jan 16, 2024
53d721c
Merge branch 'refactorcpp' of github.com:canmod/macpan2 into refactorcpp
bbolker Jan 16, 2024
97426c9
import head()
bbolker Jan 16, 2024
c52f2c5
refine inference of output types
stevencarlislewalker Jan 16, 2024
930483d
Merge remote-tracking branch 'refs/remotes/origin/refactorcpp' into r…
stevencarlislewalker Jan 16, 2024
352f0e8
more against #155
stevencarlislewalker Jan 16, 2024
d971be6
testing readers
stevencarlislewalker Jan 17, 2024
8e478b4
test c++ side recycling
stevencarlislewalker Jan 17, 2024
0f26edf
test cleanup for #155
stevencarlislewalker Jan 17, 2024
6c7b17b
cleanup
stevencarlislewalker Jan 17, 2024
336da61
skip some outdated tests and fix error message changes
stevencarlislewalker Jan 17, 2024
c362a1c
behaviour of group_sums has changed
stevencarlislewalker Jan 17, 2024
553b659
update tests with better error messages, for #155
stevencarlislewalker Jan 17, 2024
d8596d3
skip/rm outdated tests ... for #155
stevencarlislewalker Jan 17, 2024
64ac5f9
file reorg
stevencarlislewalker Jan 17, 2024
1741e8b
library model example edits
stevencarlislewalker Jan 17, 2024
72433d6
reprex not necessary as #121 was not a bug
stevencarlislewalker Jan 17, 2024
eb16bff
try turning on GH actions again
stevencarlislewalker Jan 17, 2024
e9fd0e6
coverage and reorg
stevencarlislewalker Jan 17, 2024
375c502
#155 local coverage at 63% -- maybe good enough for now?
stevencarlislewalker Jan 18, 2024
df723c0
gh actions
stevencarlislewalker Jan 18, 2024
f8b3c4e
gh actions
stevencarlislewalker Jan 18, 2024
8d5aafb
gh actions
stevencarlislewalker Jan 18, 2024
77e5f7d
gh actions
stevencarlislewalker Jan 18, 2024
0c54f88
#155
stevencarlislewalker Jan 18, 2024
61c3f61
#155
stevencarlislewalker Jan 18, 2024
49b4391
#155
stevencarlislewalker Jan 18, 2024
8a5fdc3
#155
stevencarlislewalker Jan 18, 2024
20ac334
#155
stevencarlislewalker Jan 18, 2024
9bf7fc7
update readme
stevencarlislewalker Jan 18, 2024
6884145
version 1
stevencarlislewalker Jan 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 14 additions & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,17 @@ LICENSE
^doc$
^Meta$
drat/
.*\.vscode

^vignettes/calibration[.]Rmd$
^vignettes/example_models[.]Rmd$
^vignettes/flow_types[.]Rmd$
^vignettes/hello_products[.]Rmd$
^vignettes/model_definitions[.]Rmd$
^vignettes/quickstart2[.]Rmd$
^vignettes/quickstart_products[.]Rmd$
^vignettes/sir_radial_basis_transmission[.]Rmd$
^vignettes/time_varying_parameters[.]Rmd$
## should we ignore tmb_model.Rmd as well ... ??

.*/html/.*
6 changes: 4 additions & 2 deletions .github/workflows/R-CMD-check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,16 @@ jobs:
fail-fast: false
matrix:
config:
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
- {os: ubuntu-latest, r: 'release'}
# - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
# - {os: macos-latest, r: 'release'}
# - {os: windows-latest, r: 'release'}
# - {os: ubuntu-latest, r: 'release'}
# - {os: ubuntu-latest, r: 'oldrel-1'}

env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true

steps:
- uses: actions/checkout@v3
Expand All @@ -48,6 +49,7 @@ jobs:
with:
extra-packages: any::rcmdcheck
needs: check
upgrade: 'TRUE'

- uses: r-lib/actions/check-r-package@v2
with:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
.RData
.Ruserdata
inst/doc
hoard
*.o
*.so
*.DS_Store
Expand Down
48 changes: 48 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Contributing to `macpan2`

Thank you for contributing to `macpan2`. Pull requests and issues are welcome!

Developers can see [here](https://canmod.github.io/macpan2/articles/index.html#developer) for documentation useful those who will contribute code.

## Developer Installation

Developers and contributors should clone this repository and call `make` at the command-line in the top level directory. The following `make` rules are available for getting more control over the build process.

```
make quick-install # for changes that only modify R source
make quick-doc-install # for changes that modify R source and roxygen comments
make quick-test # quick-doc-install + run-examples + run-tests
make run-examples # help file checks only (without package rebuild)
make run-tests # run scripts in tests (without package rebuild)
make full-install # for all changes, including changes to C++ source
make src-update # push changes to dev.cpp to macpan2.cpp (see below)
make enum-update # register new C++ engine functions on the R-side
make engine-doc-update # generate roxygen comments from comments in dev.cpp
make doc-update # roxygenize
make pkg-build # build the R package
make pkg-install # install the R package from the build
make pkg-check # R package checks
```

## `C++` Development

In most R packages with compiled code, developers edit the source files to be compiled in the `src` directory. In `macpan2` there is a single file in that directory called `macpan2`, which is generated automatically from the file `misc/dev/dev.cpp`. This setup allows for quicker C++ development cycles, because developers can edit `misc/dev/dev.cpp` and then use this file in tests without needing to re-install the package with the new source. In particular, the above hello-world example could use `dev.cpp` as follows.

```
library(macpan2)
macpan2:::dev_compile() ## compile dev.cpp
sir = Compartmental(system.file("starter_models", "sir", package = "macpan2"))
N = 100
simulator = sir$simulators$tmb(time_steps = 100
, state = c(S = N - 1, I = 1, R = 0)
, flow = c(foi = 0, gamma = 0.1)
, N = N
, beta = 0.2
, .tmb_cpp = "dev" ## use dev.cpp
)
sir_sims = simulator$report()
```

To update `src/macpan2` to the state of `misc/dev/dev.cpp` one may run `make src-update`.

Running with `misc/dev/dev.cpp` will print out debugging information in a verbose manner, whereas `src/macpan2.cpp` will not. The `src-update` make rule removes the `#define MP_VERBOSE` flag at the top of the file.
19 changes: 11 additions & 8 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
Package: macpan2
Title: Fast and Flexible Compartmental Modelling
Version: 0.0.3
Version: 1.0.0
Authors@R: c(
person("Steve Walker", email="swalk@mcmaster.ca", role=c("cre", "aut")),
person("Darren Flynn-Primrose", role="aut"),
person("Irena Papst", role="ctb"),
person("Michael Li", role="ctb"),
person("Weiguang Guan", role="aut"),
person("Ben Bolker", role="aut"),
person("Michael Li", role="ctb"),
person("Irena Papst", role="ctb")
)
person("Jen Freeman", role="aut"),
person("Darren Flynn-Primrose", role="aut")
)
Description: Fast and flexible compartmental modelling with Template Model Builder.
License: GPL-3
Depends:
Expand All @@ -17,7 +18,8 @@ Imports:
TMB,
oor,
jsonlite,
MASS
MASS,
memoise
Suggests:
covr,
knitr,
Expand All @@ -36,7 +38,8 @@ Suggests:
numDeriv,
parallel
Remotes:
canmod/oor
canmod/oor,
canmod/macpan2helpers
LinkingTo:
TMB,
RcppEigen,
Expand All @@ -47,5 +50,5 @@ Config/testthat/edition: 3
Encoding: UTF-8
LazyData: true
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.2.3
RoxygenNote: 7.3.0
URL: https://canmod.github.io/macpan2/, https://github.com/canmod/macpan2
103 changes: 82 additions & 21 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,24 @@ SED_RE = \(\,\)*[ ]*\/\/[ ]*\(.*\)
ALIAS_RE = [ ]*MP2_\(.*\)\: \(.*\)(\(.*\))
ROXY_RE = ^.*\(\#'.*\)$
VERSION := $(shell sed -n '/^Version: /s///p' DESCRIPTION)
TEST := testthat::test_package(\"macpan2\", reporter = \"progress\")


all:
make src-update
make enum-update
make engine-doc-update
make doc-update
make pkg-build
make pkg-install
make full-install
make pkg-check


install-deps:
Rscript -e "remotes::install_github('canmod/oor@validity')"


# Use this rule if you are doing R development or want to promote
# dev.cpp to macpan2.cpp before doing R development.
full-install:
make src-update
make enum-update
make enum-meth-update
make engine-doc-update
make doc-update
make pkg-build
Expand All @@ -29,21 +31,31 @@ full-install:
# Use this rule if (1) you are in a development cycle, (2) you
# haven't updated macpan.cpp (but have perhaps modified dev.cpp)
# and (3) do not require a roxygen update.
quick-install: enum-update
quick-install: enum-update enum-meth-update
R CMD INSTALL --no-multiarch --install-tests .

install-deps:
Rscript -e "remotes::install_github('canmod/oor')"

quick-doc-install: R/*.R misc/dev/dev.cpp
make engine-doc-update
make doc-update
make quick-install


quick-test:
forced-quick-doc-install:
touch misc/old-r-source/*.R
make doc-update
make quick-install


quick-test-all:
make quick-doc-install
make run-vignette-code
make run-tests
make run-examples


quick-test:
make quick-doc-install
make run-tests


Expand All @@ -52,14 +64,52 @@ run-examples:


run-tests:
Rscript -e "library(macpan2); testthat::test_package(\"macpan2\")"
Rscript -e "library(macpan2); $(TEST)"


run-vignette-code:
cd vignettes
Rscript misc/build/run_vignette_code.R


coverage-report:: coverage.html
coverage.html: R/*.R src/macpan2.cpp tests/testthat/*.R
Rscript -e "covr::report(file = \"coverage.html\")"


misc/dev/%.run: misc/dev/%.R
cd misc/dev; Rscript ../../$^


misc/**/%.svg: misc/**/%.drawio
draw.io --export $^ --format svg


misc/**/%.png: misc/**/%.drawio
draw.io --export $^ --format png


svg-readme:: misc/readme/*.svg
png-readme:: misc/readme/*.png


readme:: README.md
README.md: README.Rmd misc/readme/*.svg R/*.R NAMESPACE
Rscript -e "rmarkdown::render('README.Rmd')"
echo '<!-- Auto-generated - do not edit by hand -->' > temp
echo '<!-- Edit README.Rmd instead -->' | cat - $@ >> temp && mv temp $@


push-readme:
make README.md
git add misc/readme/*.svg
git add misc/readme/*.png
git add misc/readme/*.drawio
git add README.md README.Rmd
git commit -m "update readme" || true
git push || true


enum-update:: R/enum.R
R/enum.R: misc/dev/dev.cpp misc/build/enum_tail.R
echo "## Auto-generated - do not edit by hand" > $@
Expand All @@ -70,6 +120,11 @@ R/enum.R: misc/dev/dev.cpp misc/build/enum_tail.R
echo "valid_funcs = setNames(as.list(valid_funcs), valid_funcs)" >> $@


enum-meth-update:: R/enum_methods.R
R/enum_methods.R: misc/dev/dev.cpp misc/build/method_head.R misc/build/build_from_enum_methods.R
Rscript misc/build/build_from_enum_methods.R


src-update:: src/macpan2.cpp
src/macpan2.cpp: misc/dev/dev.cpp
echo "// Auto-generated - do not edit by hand" > $@
Expand All @@ -86,26 +141,32 @@ R/engine_functions.R: src/macpan2.cpp
echo "NULL" >> $@


doc-update: R/*.R misc/dev/dev.cpp
doc-update: R/*.R misc/dev/dev.cpp misc/old-r-source/*.R
echo "suppressWarnings(roxygen2::roxygenize(\".\",roclets = c(\"collate\", \"rd\", \"namespace\")))" | R --slave
touch doc-update


pkg-build:: macpan2_$(VERSION).tar.gz
macpan2_$(VERSION).tar.gz: DESCRIPTION man/*.Rd R/*.R src/*.cpp tests/testthat/test-*.R tests/testthat.R inst/starter_models/**/*.csv inst/starter_models/**/*.json
R CMD build .
pkg-build:: ../macpan2_$(VERSION).tar.gz
../macpan2_$(VERSION).tar.gz: DESCRIPTION man/*.Rd R/*.R src/*.cpp tests/testthat/test-*.R tests/testthat.R inst/starter_models/**/*.csv inst/starter_models/**/*.json doc-update
cd .. && R CMD build --no-build-vignettes macpan2
touch pkg-build


pkg-check: macpan2_$(VERSION).tar.gz
R CMD check macpan2_$(VERSION).tar.gz
pkg-check: ../macpan2_$(VERSION).tar.gz pkg-build
cd .. && R CMD check macpan2_$(VERSION).tar.gz
touch pkg-check


pkg-install: macpan2_$(VERSION).tar.gz
R CMD INSTALL --no-multiarch --install-tests macpan2_$(VERSION).tar.gz
pkg-install: ../macpan2_$(VERSION).tar.gz pkg-build
cd .. && R CMD INSTALL --no-multiarch --install-tests macpan2_$(VERSION).tar.gz


compile-dev: misc/dev/dev.cpp
cd misc/dev; echo "TMB::compile(\"dev.cpp\")" | R --slave


misc/dev/%.run: misc/dev/%.R
cd misc/dev; Rscript ../../$^
inst/model_library/%/README.md: inst/model_library/%/README.Rmd
echo "rmarkdown::render(input = \"$^\", intermediates_dir = NULL)" | R --slave
cat $(dir $@)/header.yaml $(dir $@)/README.md > $(dir $@)/tmp.md
cp $(dir $@)/tmp.md $(dir $@)/README.md
rm $(dir $@)/tmp.md
Loading