You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Intelligently filters out Design Days and Sizing Periods to return only the RunPeriod data.
Variable Key Pattern Identification: Added identify_variable_key_pattern to accim.utils.
Automatically detects the naming convention (Key Index) used by EnergyPlus for specific report variables (e.g., returns placeholders like [Zone Name], [Space Name] [People Name], or [Schedule Name]).
Executes a rapid micro-simulation (1 day, minimal shadowing) to generate actual output keys.
Implements a robust two-level search strategy:
Direct Object Match: Scans raw IDF fields to match keys against any object name (VRF, Schedules, Coils), ignoring specific IDD field names.
Hierarchy Match: Analyzes Zone/Space/People relationships, supporting both modern (E+ 9.6+) and legacy hierarchies.
Handles variables with multiple keys and prioritizes specific object matches over global environment variables.
PMV Parameter Management: Added set_pmv_input_parameters to apmv_setpoints.
Allows bulk modification of People objects (Activity Level, Clothing Insulation, Air Velocity, Work Efficiency).
Automatically creates and assigns the necessary Schedule:Compact objects.
Supports global values (float) or zone-specific values (dictionary).
Model Introspection Tools in accim.utils:
get_idf_hierarchy: Extracts the relationship between Zones, Spaces, ZoneLists, and SpaceLists.
get_people_hierarchy: Resolves exactly which spaces are affected by specific People objects.
get_available_target_names and get_input_template_dictionary: Helpers to assist users in configuring simulation dictionaries with valid keys.
EMS Debugging: Added add_ems_debug_output helper to easily enable Verbose EMS reporting in the .edd file.
Automatic Metering: apply_apmv_setpoints now automatically adds Output:Meter objects for EnergyTransfer:HVAC and Electricity:HVAC.
Changed
Major Refactor of apply_apmv_setpoints:
Unified Version Support: Removed separate logic paths for legacy (< v23.1) and modern EnergyPlus versions. The code now dynamically detects the model structure.
Hierarchy Resolution: Implemented a strict 3-level priority logic (Space/SpaceList > ZoneList > Zone) to correctly identify EMS control targets.
Dictionary Inputs: Arguments like adap_coeff_cooling or pmv_cooling_sp now accept dictionaries, allowing different values for specific zones or spaces.
Infrastructure Generation: The creation of Schedules and Thermostats is now smarter. It checks for existing objects and updates or replaces them (e.g., converting a standard DualSetpoint thermostat to a ThermalComfort one) without creating duplicates.
User Feedback: Standardized verbose_mode across functions. Success messages are optional, but warnings for conflicts (e.g., duplicate objects) are now always displayed.
Fixed
EMS Naming Issues: Fixed Invalid variable name errors in EnergyPlus. A new sanitization function replaces invalid characters (hyphens, dots, spaces, parentheses) with underscores in EMS variable names.
EMS Sensor Mapping: Fixed a critical bug where EMS Sensors pointed to the original People object name instead of the internal instance name generated by EnergyPlus when using ZoneList or SpaceList.
BESOS Compatibility: Fixed runtime crashes when reading .eso files containing empty units [], duplicate keys, or trailing schedule names. This is handled via a robust "Monkey Patch" applied automatically to besos.objectives.read_eso.