Skip to content

Move COVID-19 plugins into generic flepimop2-extras modules #14

Description

@WestonVoglesonger

Josh's custom flepimop2 plugins live in ACCIDDA/COVID19_USA (model_input/plugins/, ~28 modules registered via module="model_input.plugins.<name>" with PYTHONPATH=.). This tracks converting them into generic, namespaced modules in flepimop2-extras (packages/flepimop2-<name>/src/flepimop2/<namespace>/<module>/), one sub-issue per module.

Two foundations gate most of the work and should land first: extracting the shared prior/substitution registry that seven plugins import, and a fetch-if-not-cached data-sourcing helper.

Each module sub-issue is done when the corresponding COVID19_USA config points at the new extras module and reproduces its output. The wider COVID19_USA refactor (config alone drives the science, replacing committed data with data-product parameters, docs rewrite) is the end state we are building toward; it is tracked separately, not here.

Sub-issues

Open decisions for @pearsonca (shape the dependent sub-issues)

  1. Registry placement: flepimop2 core (a ParameterABC prior-collection hook) vs a shared private extras layer? Gates the parameter/predictive/reporting modules.
  2. Collapse prior-predictive and posterior-predictive into one module with a mode switch, or keep two?
  3. Cache/artifact-store contract for the data-sourcing helper (cache dir, content-hash keys, re-fetch policy).
  4. How much COVID/SMH-specific logic (age labels, regime dates, per-100k denominators, NC schemas) is genericized vs kept in a COVID-specific package?
  5. Does the reporting-regime fit become a declared config process step, and one package or two (regime + intrinsic)?
  6. Runpy runners: one generic module, fold into core as subprocess, or drop in favor of real fetch/transform modules? Is in-process execution a hard requirement?
  7. Do the ~11 model_input/preprocess/*.py scripts each become their own modules, or fold into fewer fetch+transform modules?

Note

Carl's meeting list had a "readme quick start" item; that is prose plus bash (the Quick Start docs), not a migratable module, so it is part of the end-state docs rewrite rather than a flepimop2-extras sub-issue.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions