Skip to content

Commit 10734ef

Browse files
authored
Merge pull request #263 from NCAR/main
Version 2.5.4
2 parents cea7b09 + 320ec09 commit 10734ef

File tree

3 files changed

+27
-6
lines changed

3 files changed

+27
-6
lines changed

src/acom_music_box/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
This package contains modules for handling various aspects of a music box,
55
including species, products, reactants, reactions, and more.
66
"""
7-
__version__ = "2.5.3"
7+
__version__ = "2.5.4"
88

99
from .utils import convert_time, convert_pressure, convert_temperature, convert_concentration
1010
from .model_options import BoxModelOptions

src/acom_music_box/evolving_conditions.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
import re
44
from .conditions import Conditions
55

6+
import logging
7+
logger = logging.getLogger(__name__)
8+
69

710
class EvolvingConditions:
811
"""
@@ -177,7 +180,17 @@ def read_conditions_from_file(cls, file_path):
177180
species_concentrations = {}
178181

179182
for key in other_keys:
180-
condition_type, label, unit = key.split('.')
183+
parts = key.split('.')
184+
condition_type, label, unit = None, None, None
185+
if len(parts) == 3:
186+
condition_type, label, unit = parts
187+
elif len(parts) == 2:
188+
condition_type, label = parts
189+
else:
190+
error = f"Unexpected format in key: {key}"
191+
logger.error(error)
192+
raise ValueError(error)
193+
181194
if condition_type == 'CONC':
182195
species_concentrations[label] = row[key]
183196
else:

src/acom_music_box/music_box.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,12 @@ def order_reaction_rates(curr_conditions, rate_constant_ordering):
263263
"""
264264
ordered_rate_constants = np.zeros(len(rate_constant_ordering), dtype=np.float64)
265265

266-
for rate_label, value in curr_conditions.reaction_rates.items():
267-
ordered_rate_constants[rate_constant_ordering[rate_label]] = value
266+
for rate_label, _ in rate_constant_ordering.items():
267+
if rate_label not in curr_conditions.reaction_rates:
268+
logger.warning(f"Reaction rate '{rate_label}' not found in current conditions.")
269+
continue
270+
else:
271+
ordered_rate_constants[rate_constant_ordering[rate_label]] = curr_conditions.reaction_rates[rate_label]
268272

269273
return ordered_rate_constants
270274

@@ -285,7 +289,11 @@ def order_species_concentrations(curr_conditions, species_constant_ordering):
285289
"""
286290
concentrations = np.zeros(len(species_constant_ordering), dtype=np.float64)
287291

288-
for species, value in curr_conditions.species_concentrations.items():
289-
concentrations[species_constant_ordering[species]] = value
292+
for species, _ in species_constant_ordering.items():
293+
if species not in curr_conditions.species_concentrations:
294+
logger.warning(f"Species '{species}' not found in current conditions.")
295+
continue
296+
else:
297+
concentrations[species_constant_ordering[species]] = curr_conditions.species_concentrations[species]
290298

291299
return concentrations

0 commit comments

Comments
 (0)