39 vector scaled_reports, vector conv_reports, array[]
int obs,
40 int cumulative,
int historic,
int primary_hist_additive,
41 int current,
int primary_current_additive,
int predict
43 int t = num_elements(scaled_reports);
44 vector[t] secondary_reports = rep_vector(0.0, t);
49 if (cumulative && i > 1) {
51 secondary_reports[i] = secondary_reports[i - 1];
53 secondary_reports[i] = obs[i - 1];
58 if (primary_hist_additive) {
59 secondary_reports[i] += conv_reports[i];
61 secondary_reports[i] = fmax(0, secondary_reports[i] - conv_reports[i]);
66 if (primary_current_additive) {
67 secondary_reports[i] += scaled_reports[i];
69 secondary_reports[i] -= scaled_reports[i];
72 secondary_reports[i] = 1e-6 + secondary_reports[i];
74 return(secondary_reports);
vector calculate_secondary(vector scaled_reports, vector conv_reports, array[] int obs, int cumulative, int historic, int primary_hist_additive, int current, int primary_current_additive, int predict)
Calculate secondary reports from primary reports.