Skip to content

Commit

Permalink
fix default value of NPI to 1 for product
Browse files Browse the repository at this point in the history
  • Loading branch information
jcblemai committed Jan 10, 2024
1 parent 47aec71 commit e08bcda
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 10 deletions.
17 changes: 12 additions & 5 deletions flepimop/gempyor_pkg/src/gempyor/NPI/MultiPeriodModifier.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,15 @@ def __init__(
self.pnames_overlap_operation_sum = pnames_overlap_operation_sum
self.pnames_overlap_operation_reductionprod = pnames_overlap_operation_reductionprod

self.param_name = npi_config["parameter"].as_str().lower()

# Value when the NPI is not active.
default_value = 1.0
if self.param_name in self.pnames_overlap_operation_sum or self.param_name in self.pnames_overlap_operation_reductionprod:
default_value=0.0

self.npi = pd.DataFrame(
0.0,
default_value,
index=self.subpops,
columns=pd.date_range(self.start_date, self.end_date),
)
Expand All @@ -46,12 +53,12 @@ def __init__(
"parameter": [""] * len(self.subpops),
"start_date": [[self.start_date]] * len(self.subpops),
"end_date": [[self.end_date]] * len(self.subpops),
"reduction": [0.0] * len(self.subpops),
"reduction": [default_value] * len(self.subpops),
},
index=self.subpops,
)

self.param_name = npi_config["parameter"].as_str().lower()


if (loaded_df is not None) and self.name in loaded_df["npi_name"].values:
self.__createFromDf(loaded_df, npi_config)
Expand Down Expand Up @@ -113,8 +120,8 @@ def __checkErrors(self):
### raise ValueError(f"Invalid parameter name: {self.param_name}. Must be one of {REDUCE_PARAMS}")

# Validate
if (self.npi == 0).all(axis=None):
print(f"Warning: The intervention in config: {self.name} does nothing.")
#if (self.npi == 0).all(axis=None):
# print(f"Warning: The intervention in config: {self.name} does nothing.")

# if (self.npi > 1).any(axis=None):
# raise ValueError(
Expand Down
14 changes: 9 additions & 5 deletions flepimop/gempyor_pkg/src/gempyor/NPI/SinglePeriodModifier.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,20 @@ def __init__(

self.subpops = subpops

# Get name of the parameter to reduce
self.param_name = npi_config["parameter"].as_str().lower().replace(" ", "")

default_value = 1.0
if self.param_name in self.pnames_overlap_operation_sum or self.param_name in self.pnames_overlap_operation_reductionprod:
default_value=0.0

self.npi = pd.DataFrame(
0.0,
default_value,
index=self.subpops,
columns=pd.date_range(self.start_date, self.end_date),
)
self.parameters = pd.DataFrame(
0.0,
default_value,
index=self.subpops,
columns=["npi_name", "start_date", "end_date", "parameter", "reduction"],
)
Expand Down Expand Up @@ -99,8 +106,6 @@ def __checkErrors(self):
# )

def __createFromConfig(self, npi_config):
# Get name of the parameter to reduce
self.param_name = npi_config["parameter"].as_str().lower().replace(" ", "")

# Optional config field "subpop"
# If values of "subpop" is "all" or unspecified, run on all subpops.
Expand Down Expand Up @@ -138,7 +143,6 @@ def __createFromDf(self, loaded_df, npi_config):
self.affected_subpops = set(self.subpops)
if npi_config["subpop"].exists() and npi_config["subpop"].get() != "all":
self.affected_subpops = {str(n.get()) for n in npi_config["subpop"]}
self.param_name = npi_config["parameter"].as_str().lower().replace(" ", "")

self.parameters = self.parameters[self.parameters.index.isin(self.affected_subpops)]
self.parameters["npi_name"] = self.name
Expand Down
1 change: 1 addition & 0 deletions flepimop/gempyor_pkg/src/gempyor/NPI/StackedModifier.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ def __init__(
self.reductions[new_p] = 1

for param in self.param_name:

# Get reduction return a neutral value for this overlap operation if no parameeter exists
reduction = sub_npi.getReduction(param)
if param in pnames_overlap_operation_sum: # re.match("^transition_rate [1234567890]+$",param):
Expand Down

0 comments on commit e08bcda

Please sign in to comment.