@@ -342,6 +342,23 @@ def decorated(f: SETTINGS_HOOKS_SIGNATURE) -> SETTINGS_HOOKS_SIGNATURE:
342342 return decorated (func )
343343
344344
345+ @register_settings_hook (priority = 0 )
346+ def standardise_case (settings : dict ) -> None :
347+ """Standardise certain fields to snake_case."""
348+ from muse .utilities import camel_to_snake
349+
350+ fields_to_standardise = ["excluded_commodities" , "regions" ]
351+ for field in fields_to_standardise :
352+ if field in settings :
353+ settings [field ] = [camel_to_snake (x ) for x in settings [field ]]
354+
355+ # Handle timeslice level_names if present
356+ if "level_names" in settings ["timeslices" ]:
357+ settings ["timeslices" ]["level_names" ] = [
358+ camel_to_snake (x ) for x in settings ["timeslices" ]["level_names" ]
359+ ]
360+
361+
345362@register_settings_hook (priority = 1 )
346363def check_sectors (settings : dict ) -> None :
347364 """Check that there is at least 1 sector."""
@@ -371,17 +388,6 @@ def setup_time_framework(settings: dict) -> None:
371388 settings ["time_framework" ] = np .array (sorted (settings ["time_framework" ]), dtype = int )
372389
373390
374- @register_settings_hook (priority = 1 )
375- def standardise_case (settings : dict ) -> None :
376- """Standardise certain fields to snake_case."""
377- from muse .readers .csv import camel_to_snake
378-
379- fields_to_standardise = ["excluded_commodities" , "regions" ]
380- for field in fields_to_standardise :
381- if field in settings :
382- settings [field ] = [camel_to_snake (x ) for x in settings [field ]]
383-
384-
385391@register_settings_hook
386392def check_log_level (settings : dict ) -> None :
387393 """Check the log level required in the simulation."""
0 commit comments