Skip to content

Commit 1775a0a

Browse files
committed
Don't pass both processes and process_ids to read_process_parameters
1 parent 9888d93 commit 1775a0a

2 files changed

Lines changed: 5 additions & 13 deletions

File tree

src/input/process.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,9 @@ pub fn read_processes(
5353
milestone_years: &[u32],
5454
) -> Result<ProcessMap> {
5555
let mut processes = read_processes_file(model_dir, milestone_years, region_ids)?;
56-
let process_ids = processes.keys().cloned().collect();
57-
5856
let mut activity_limits = read_process_availabilities(model_dir, &processes, time_slice_info)?;
5957
let mut flows = read_process_flows(model_dir, &processes, commodities)?;
60-
let mut parameters = read_process_parameters(model_dir, &process_ids, &processes)?;
58+
let mut parameters = read_process_parameters(model_dir, &processes)?;
6159

6260
// Validate commodities after the flows have been read
6361
validate_commodities(

src/input/process/parameter.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
//! Code for reading process parameters CSV file
22
use super::super::*;
3-
use crate::id::IDCollection;
43
use crate::process::{Process, ProcessID, ProcessParameter, ProcessParameterMap};
54
use crate::region::parse_region_str;
65
use crate::year::parse_year_str;
76
use ::log::warn;
87
use anyhow::{ensure, Context, Result};
9-
use indexmap::IndexSet;
108
use serde::Deserialize;
119
use std::collections::HashMap;
1210
use std::path::Path;
@@ -97,18 +95,15 @@ impl ProcessParameterRaw {
9795
/// Read process parameters from the specified model directory
9896
pub fn read_process_parameters(
9997
model_dir: &Path,
100-
process_ids: &IndexSet<ProcessID>,
10198
processes: &HashMap<ProcessID, Process>,
10299
) -> Result<HashMap<ProcessID, ProcessParameterMap>> {
103100
let file_path = model_dir.join(PROCESS_PARAMETERS_FILE_NAME);
104101
let iter = read_csv::<ProcessParameterRaw>(&file_path)?;
105-
read_process_parameters_from_iter(iter, process_ids, processes)
106-
.with_context(|| input_err_msg(&file_path))
102+
read_process_parameters_from_iter(iter, processes).with_context(|| input_err_msg(&file_path))
107103
}
108104

109105
fn read_process_parameters_from_iter<I>(
110106
iter: I,
111-
process_ids: &IndexSet<ProcessID>,
112107
processes: &HashMap<ProcessID, Process>,
113108
) -> Result<HashMap<ProcessID, ProcessParameterMap>>
114109
where
@@ -117,10 +112,9 @@ where
117112
let mut map: HashMap<ProcessID, ProcessParameterMap> = HashMap::new();
118113
for param_raw in iter {
119114
// Get process
120-
let id = process_ids.get_id(&param_raw.process_id)?;
121-
let process = processes
122-
.get(id)
123-
.with_context(|| format!("Process {id} not found"))?;
115+
let (id, process) = processes
116+
.get_key_value(param_raw.process_id.as_str())
117+
.with_context(|| format!("Process {} not found", param_raw.process_id))?;
124118

125119
// Get years
126120
let process_years = &process.years;

0 commit comments

Comments
 (0)