Repository: NREL/OpenStudio (language: python)

Issue:
Update to EnergyPlus 22.2.0
Enhancement Request
--------------
Once v22.2-IOFreeze is released, we should update to it.

## Detailed Description

https://github.com/NREL/EnergyPlus/blob/develop/src/Transition/InputRulesFiles/Rules22-1-0-to-22-2-0.md

### Major changes
- [x] https://github.com/NREL/OpenStudio/issues/4647
  - https://github.com/NREL/OpenStudio/pull/4652
  - https://github.com/NREL/OpenStudio-resources/pull/173
- [x] https://github.com/NREL/OpenStudio/issues/4645
  - https://github.com/NREL/OpenStudio/pull/4672 
- [x] #4673

### New additions
- [x] https://github.com/NREL/OpenStudio/issues/4656
  - https://github.com/NREL/OpenStudio/pull/4687
  - https://github.com/NREL/OpenStudio-resources/pull/179
- [x] https://github.com/NREL/OpenStudio/issues/4648
  - https://github.com/NREL/OpenStudio/pull/4676
  - https://github.com/NREL/OpenStudio-resources/pull/177
- [x] https://github.com/NREL/OpenStudio/issues/4654
  - https://github.com/NREL/OpenStudio/pull/4676
  - https://github.com/NREL/OpenStudio-resources/pull/177
- [x] https://github.com/NREL/OpenStudio/issues/4646
  - https://github.com/NREL/OpenStudio/pull/4666
  - https://github.com/NREL/OpenStudio-resources/pull/176
- [x] https://github.com/NREL/OpenStudio/issues/4668
  - https://github.com/NREL/OpenStudio/pull/4669
- [x] https://github.com/NREL/OpenStudio/pull/4665
- [x] https://github.com/NREL/OpenStudio/pull/4661
- [x] https://github.com/NREL/OpenStudio/pull/4671
- [x] https://github.com/NREL/OpenStudio/pull/4662
- [x] https://github.com/NREL/OpenStudio/issues/4675
  - https://github.com/NREL/OpenStudio/pull/4677

### Minor stuff
- [x] `FuelFactors`: eliminate second/third input parameters.
- [x] `Construction:InternalSource`: min/max changes
- [x] `SwimmingPool:Indoor`: field `Make-up Water Supply Schedule Name` no longer required
  - 2f7a98f6cd8dd2669e48346ba59c1ebb505d07b4
- [x] https://github.com/NREL/OpenStudio/issues/4630 (could probably sneak this in)
  - https://github.com/NREL/OpenStudio/pull/4685

### Other



Discussion / hints:

Fix patch:
diff --git a/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_4_1_TBD.md b/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_4_1_TBD.md
index 823e9650032..2440ccf9f5e 100644
--- a/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_4_1_TBD.md
+++ b/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_4_1_TBD.md
@@ -73,12 +73,15 @@ You can also refer to the [OpenStudio SDK Python Binding Version Compatibility M
 * [#4642](https://github.com/NREL/OpenStudio/pull/4642) - Addresses #4575, API change for EvaporativeCoolerFluid:SingleSpeed
     * `EvaporativeCoolerFluid:SingleSpeed` has an API-breaking change related to its `performanceInputMethod` getter. It is now a required field that returns `std::string` instead of `boost::optional<std::string>`.
 * [#4644](https://github.com/NREL/OpenStudio/pull/4644) - Addresses #4575, API change for Coil:Cooling:DX:SingleSpeed and Coil:Cooling:DX:TwoSpeed
-    * ` Coil:Cooling:DX:SingleSpeed` and `Coil:Cooling:DX:TwoSpeed` have API-breaking changes related to many of their getters. They are now required fields that return `double` instead of `boost::optional<double>`. Also removes many deprecated methods.
+    * `Coil:Cooling:DX:SingleSpeed` and `Coil:Cooling:DX:TwoSpeed` have API-breaking changes related to many of their getters. They are now required fields that return `double` instead of `boost::optional<double>`. Also removes many deprecated methods.
 * [#4632](https://github.com/NREL/OpenStudio/pull/4632) - Remove deprecated methods for AirWallMaterial, Node, SizingSystem, ZoneAirMassFlowConservation
     * Removes the deprecated `AirWallMaterial` class completely, in favor of `ConstructionAirBoundary`
     * Removes functions in `Node` that have been deprecated for 9+ years
     * Removes deprecated methods in the `SizingSystem`, `ZoneAirMassFlowConservation`, `PlantLoop` & `AirLoopHVAC`, `AvailablilityManagerNightCycle`, `ZoneVentilationDesignFlowRate` classes
     * Refer to the CSV file at [developer/ruby/deprecated_methods.csv](https://github.com/NREL/OpenStudio/blob/develop/developer/ruby/deprecated_methods.csv) for more information
+* [#4665](https://github.com/NREL/OpenStudio/pull/4665) - Deprecate methods on Coil DX objects
+    * `Coil:Cooling:DX:SingleSpeed`, `Coil:Cooling:DX:MultiSpeed:StageData`, and `Coil:Cooling:DX:CurveFit:Speed`: `ratedEvaporatorFanPowerPerVolumeFlowRate` and `setRatedEvaporatorFanPowerPerVolumeFlowRate` in favor of `ratedEvaporatorFanPowerPerVolumeFlowRate2017` and `setRatedEvaporatorFanPowerPerVolumeFlowRate2017`
+    * `Coil:Heating:DX:SingleSpeed` and `Coil:Heating:DX:MultiSpeed:StageData`: `ratedSupplyFanPowerPerVolumeFlowRate` and `setRatedSupplyFanPowerPerVolumeFlowRate` in favor of `ratedSupplyFanPowerPerVolumeFlowRate2017` and `setRatedSupplyFanPowerPerVolumeFlowRate2017`
 
 
 ## Minor changes and bug fixes
diff --git a/resources/model/OpenStudio.idd b/resources/model/OpenStudio.idd
index 0629c730b79..b0ec1c63ebe 100644
--- a/resources/model/OpenStudio.idd
+++ b/resources/model/OpenStudio.idd
@@ -16073,33 +16073,33 @@ OS:Coil:Cooling:DX:CurveFit:OperatingMode,
 
 OS:Coil:Cooling:DX:CurveFit:Speed,
        \memo DX cooling coil performance for a single speed within a single operating mode.
-       \min-fields 16
-  A1, \field Handle
+       \min-fields 17
+  A1,  \field Handle
        \type handle
        \required-field
-  A2, \field Name
+  A2,  \field Name
        \required-field
        \type alpha
        \reference DXCoolingSpeedNames
-  N1, \field Gross Total Cooling Capacity Fraction
+  N1,  \field Gross Total Cooling Capacity Fraction
        \note Ratio of capacity at this speed to the
        \note operating mode Rated Gross Total Cooling Capacity
        \required-field
        \type real
        \minimum> 0.0
-  N2, \field Evaporator Air Flow Rate Fraction
+  N2,  \field Evaporator Air Flow Rate Fraction
        \note Ratio of capacity at this speed to the
        \note operating mode Rated Evaporator Air Flow Rate
        \required-field
        \type real
        \minimum> 0.0
-  N3, \field Condenser Air Flow Rate Fraction
+  N3,  \field Condenser Air Flow Rate Fraction
        \note Ratio of condenser air flow at this speed to the
        \note operating mode Rated Condenser Air Flow Rate
        \required-field
        \type real
        \minimum> 0.0
-  N4, \field Gross Sensible Heat Ratio
+  N4,  \field Gross Sensible Heat Ratio
        \note Rated sensible heat ratio (gross sensible capacity/gross total capacity)
        \note sensible and total capacities do not include supply fan heat
        \required-field
@@ -16107,7 +16107,7 @@ OS:Coil:Cooling:DX:CurveFit:Speed,
        \minimum 0.1
        \maximum 1.0
        \autosizable
-  N5, \field Gross Cooling COP
+  N5,  \field Gross Cooling COP
        \note Gross cooling capacity divided by power input to the compressor and condenser fan.
        \note Does not include supply fan heat or supply fan electrical energy input.
        \type real
@@ -16121,7 +16121,7 @@ OS:Coil:Cooling:DX:CurveFit:Speed,
        \minimum> 0.0
        \maximum 1.0
        \required-field
-  N7, \field Rated Evaporator Fan Power Per Volume Flow Rate
+  N7,  \field Rated Evaporator Fan Power Per Volume Flow Rate 2017
        \note Enter the evaporator fan power per air volume flow rate at the rated test conditions.
        \note The test conditions vary external static pressure based on total cooling capacity.
        \note This value is only used to calculate Seasonal Energy Efficiency Ratio (SEER), and the
@@ -16132,19 +16132,31 @@ OS:Coil:Cooling:DX:CurveFit:Speed,
        \minimum 0.0
        \maximum 1250.0
        \required-field
-  N8, \field Evaporative Condenser Pump Power Fraction
+   N8, \field Rated Evaporator Fan Power Per Volume Flow Rate 2023
+       \note Enter the evaporator fan power per air volume flow rate at the rated test conditions
+       \note as defined in the 2023 version of ANSI/AHRI Standard 210/240.
+       \note The test conditions vary external static pressure based on total cooling capacity.
+       \note This value is only used to calculate Seasonal Energy Efficiency Ratio (SEER2), and the
+       \note Standard Rating (Net) Cooling Capacity which will be outputs in the EnergyPlus eio file.
+       \note This value is not used for modeling the evaporator fan during simulations.
+       \type real
+       \units W/(m3/s)
+       \minimum 0.0
+       \maximum 1505.0
+       \required-field
+  N9,  \field Evaporative Condenser Pump Power Fraction
        \note Ratio of evaporative condenser pump power at this speed to the
        \note operating mode Nominal Evaporative Condenser Pump Power
        \type real
        \minimum> 0.0
        \required-field
-  N9, \field Evaporative Condenser Effectiveness
+  N10, \field Evaporative Condenser Effectiveness
        \type real
        \units dimensionless
        \minimum 0.0
        \maximum 1.0
        \required-field
-  A3, \field Total Cooling Capacity Modifier Function of Temperature Curve
+  A3,  \field Total Cooling Capacity Modifier Function of Temperature Curve
        \note biquadratic curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb
        \note quadratic curve = a + b*edb + c*edb**2
        \note wb = entering wet-bulb temperature (C)
@@ -16152,45 +16164,45 @@ OS:Coil:Cooling:DX:CurveFit:Speed,
        \type object-list
        \object-list UnivariateFunctions
        \object-list BivariateFunctions
-  A4, \field Total Cooling Capacity Modifier Function of Air Flow Fraction Curve
+  A4,  \field Total Cooling Capacity Modifier Function of Air Flow Fraction Curve
        \note quadratic curve = a + b*ff + c*ff**2
        \note cubic curve = a + b*ff + c*ff**2 + d*ff**3
        \note ff = Fraction of the full load flow
        \type object-list
        \object-list UnivariateFunctions
-  A5, \field Energy Input Ratio Modifier Function of Temperature Curve
+  A5,  \field Energy Input Ratio Modifier Function of Temperature Curve
        \note curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb
        \note wb = entering wet-bulb temperature (C)
        \note edb = dry-bulb temperature seen by the condenser (C)
        \type object-list
        \object-list UnivariateFunctions
        \object-list BivariateFunctions
-  A6, \field Energy Input Ratio Modifier Function of Air Flow Fraction Curve
+  A6,  \field Energy Input Ratio Modifier Function of Air Flow Fraction Curve
        \note quadratic curve = a + b*ff + c*ff**2
        \note cubic curve = a + b*ff + c*ff**2 + d*ff**3
        \note ff = Fraction of the full load flow
        \type object-list
        \object-list UnivariateFunctions
-  A7, \field Part Load Fraction Correlation Curve
+  A7,  \field Part Load Fraction Correlation Curve
        \note quadratic curve = a + b*PLR + c*PLR**2
        \note cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3
        \note PLR = part load ratio (cooling load/steady state capacity)
        \type object-list
        \object-list UnivariateFunctions
-  N10,\field Rated Waste Heat Fraction of Power Input
+  N11, \field Rated Waste Heat Fraction of Power Input
        \note Recoverable waste heat at full load and rated conditions
        \required-field
        \type real
        \units dimensionless
        \minimum> 0.0
        \maximum 1.0
-  A8, \field Waste Heat Modifier Function of Temperature Curve
+  A8,  \field Waste Heat Modifier Function of Temperature Curve
        \note curve = a + b*cdb + c*cdb**2 + d*edb + e*edb**2 + f*cdb*edb
        \note cdb = entering condenser dry-bulb temperature (C)
        \note edb = entering coil dry-bulb temperature (C)
        \type object-list
        \object-list BivariateFunctions
-  A9, \field Sensible Heat Ratio Modifier Function of Temperature Curve
+  A9,  \field Sensible Heat Ratio Modifier Function of Temperature Curve
        \note curve = a + b*wb + c*wb**2 + d*db + e*db**2 + f*wb*db
        \note wb = entering wet-bulb temperature seen by the DX cooling coil (C)
        \note db = entering dry-bulb temperature seen by the DX cooling coil (C)
@@ -16209,11 +16221,11 @@ OS:Coil:Cooling:DX:CurveFit:Speed,
        \object-list UnivariateFunctions
 
 OS:Coil:Cooling:DX:SingleSpeed,
-       \min-fields 15
-  A1, \field Handle
+       \min-fields 16
+  A1,  \field Handle
        \type handle
        \required-field
-  A2, \field Name
+  A2,  \field Name
        \type alpha
        \required-field
        \reference CoolingCoilsDX
@@ -16223,11 +16235,11 @@ OS:Coil:Cooling:DX:SingleSpeed,
        \reference DesuperHeatingCoilSources
        \reference AFNCoilNames
        \reference ConnectionObject
-  A3, \field Availability Schedule Name
+  A3,  \field Availability Schedule Name
        \type object-list
        \required-field
        \object-list ScheduleNames
-  N1, \field Rated Total Cooling Capacity
+  N1,  \field Rated Total Cooling Capacity
        \note gross capacity excluding supply air fan heat
        \note rating point: air entering the cooling coil at 26.7 C dry-bulb/19.4 C wet-bulb, and
        \note air entering the outdoor condenser coil at 35 C dry-bulb/23.9 C wet-bulb
@@ -16236,7 +16248,7 @@ OS:Coil:Cooling:DX:SingleSpeed,
        \autosizable
        \units W
        \minimum> 0
-  N2, \field Rated Sensible Heat Ratio
+  N2,  \field Rated Sensible Heat Ratio
        \note Rated sensible heat ratio (gross sensible capacity/gross total capacity)
        \note sensible and total capacities do not include supply fan heat
        \type real
@@ -16244,14 +16256,14 @@ OS:Coil:Cooling:DX:SingleSpeed,
        \autosizable
        \minimum 0.5
        \maximum 1
-  N3, \field Rated COP
+  N3,  \field Rated COP
        \note Gross cooling capacity divided by power input to the compressor and outdoor fan,
        \note does not include supply fan heat or supply fan electrical energy input
        \type real
        \units W/W
        \minimum> 0
        \required-field
-  N4, \field Rated Air Flow Rate
+  N4,  \field Rated Air Flow Rate
        \note Flow rate corresponding to rated total cooling capacity, Rated SHR and Rated COP
        \note should be between 0.00004027 m3/s and .00006041 m3/s per watt of rated total cooling capacity
        \type real
@@ -16259,7 +16271,7 @@ OS:Coil:Cooling:DX:SingleSpeed,
        \autosizable
        \units m3/s
        \minimum> 0
-  N5, \field Rated Evaporator Fan Power Per Volume Flow Rate
+  N5,  \field Rated Evaporator Fan Power Per Volume Flow Rate 2017
        \note Enter the evaporator fan power per air volume flow rate at the rated test conditions.
        \note The test conditions vary external static pressure based on total cooling capacity.
        \note This value is only used to calculate Seasonal Energy Efficiency Ratio (SEER), Energy
@@ -16271,36 +16283,50 @@ OS:Coil:Cooling:DX:SingleSpeed,
        \minimum 0
        \maximum 1250
        \required-field
-  A4, \field Air Inlet Node Name
+  N6 , \field Rated Evaporator Fan Power Per Volume Flow Rate 2023
+       \note Enter the evaporator fan power per air volume flow rate at the rated test conditions
+       \note as defined in the 2023 version of ANSI/AHRI Standard 210/240.
+       \note The test conditions vary external static pressure based on total cooling capacity.
+       \note This value is only used to calculate Seasonal Energy Efficiency Ratio (SEER2), Energy
+       \note Efficiency Ratio (EER), Integrated Energy Efficiency Ratio (IEER), and the Standard Rating
+       \note (Net) Cooling Capacity which will be outputs in the EnergyPlus eio file. This value is not
+       \note used for modeling the evaporator fan during simulations.
+       \type real
+       \units W/(m3/s)
+       \minimum 0.0
+       \maximum 1505.0
+       \required-field
+  A4,  \field Air Inlet Node Name
+       \required-field
        \type object-list
        \required-field
        \object-list ConnectionNames
-  A5, \field Air Outlet Node Name
+  A5,  \field Air Outlet Node Name
        \type object-list
        \required-field
        \object-list ConnectionNames
-  A6, \field Total Cooling Capacity Function of Temperature Curve Name
+  A6,  \field Total Cooling Capacity Function of Temperature Curve Name
        \note curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb
        \note wb = entering wet-bulb temperature (C)
        \note edb = dry-bulb temperature seen by the condenser (C)
        \type object-list
        \required-field
        \object-list BivariateFunctions
-  A7, \field Total Cooling Capacity Function of Flow Fraction Curve Name
+  A7,  \field Total Cooling Capacity Function of Flow Fraction Curve Name
        \note quadratic curve = a + b*ff + c*ff**2
        \note cubic curve = a + b*ff + c*ff**2 + d*ff**3
        \note ff = Fraction of the full load flow
        \type object-list
        \required-field
        \object-list UnivariateFunctions
-  A8, \field Energy Input Ratio Function of Temperature Curve Name
+  A8,  \field Energy Input Ratio Function of Temperature Curve Name
        \note curve = a + b*wb + c*wb**2 + d*edb + e*edb**2 + f*wb*edb
        \note wb = entering wet-bulb temperature (C)
        \note edb = dry-bulb temperature seen by the condenser (C)
        \type object-list
        \required-field
        \object-list BivariateFunctions
-  A9, \field Energy Input Ratio Function of Flow Fraction Curve Name
+  A9,  \field Energy Input Ratio Function of Flow Fraction Curve Name
        \note quadratic curve = a + b*ff + c*ff**2
        \note cubic curve = a + b*ff + c*ff**2 + d*ff**3
        \note ff = Fraction of the full load flow
@@ -16314,11 +16340,11 @@ OS:Coil:Cooling:DX:SingleSpeed,
        \type object-list
        \required-field
        \object-list UnivariateFunctions
-  N6 , \field Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
+  N7,  \field Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
        \type real
        \required-field
        \units C
-  N7, \field Nominal Time for Condensate Removal to Begin
+  N8,  \field Nominal Time for Condensate Removal to Begin
        \note The nominal time for condensate to begin leaving the coil's condensate
        \note drain line at the coil's rated air flow rate and temperature conditions.
        \note Nominal time is equal to the ratio of the energy of the coil's maximum
@@ -16329,7 +16355,7 @@ OS:Coil:Cooling:DX:SingleSpeed,
        \minimum 0
        \maximum 3000
        \required-field
-  N8, \field Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity
+  N9,  \field Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity
        \note Ratio of the initial moisture evaporation rate from the cooling coil (when
        \note the compressor first turns off) and the coil's steady state latent capacity
        \note at rated air flow rate and temperature conditions. Suggested value is 1.5; zero value
@@ -16339,7 +16365,7 @@ OS:Coil:Cooling:DX:SingleSpeed,
        \minimum 0
        \maximum 5
        \required-field
-  N9, \field Maximum Cycling Rate
+  N10, \field Maximum Cycling Rate
        \note The maximum on-off cycling Rate for the compressor, which occurs at 50% run time
        \note fraction. Suggested value is 3; zero value means latent degradation model is disabled.
        \type real
@@ -16347,7 +16373,7 @@ OS:Coil:Cooling:DX:SingleSpeed,
        \minimum 0
        \maximum 5
        \required-field
-  N10, \field Latent Capacity Time Constant
+  N11, \field Latent Capacity Time Constant
        \note Time constant for the cooling coil's latent capacity to reach steady state after
        \note startup. Suggested value is 45; zero value means latent degradation model is disabled.
        \type real
@@ -16364,32 +16390,32 @@ OS:Coil:Cooling:DX:SingleSpeed,
        \required-field
        \key AirCooled
        \key EvaporativelyCooled
-  N11, \field Evaporative Condenser Effectiveness
+  N12, \field Evaporative Condenser Effectiveness
        \type real
        \units dimensionless
        \minimum 0
        \maximum 1
        \required-field
-  N12, \field Evaporative Condenser Air Flow Rate
+  N13, \field Evaporative Condenser Air Flow Rate
        \note Used to calculate evaporative condenser water use
        \type real
        \autosizable
        \units m3/s
        \minimum> 0
-  N13, \field Evaporative Condenser Pump Rated Power Consumption
+  N14, \field Evaporative Condenser Pump Rated Power Consumption
        \note Rated power consumed by the evaporative condenser's water pump
        \type real
        \autosizable
        \units W
        \minimum 0
        \default 0.0
-  N14, \field Crankcase Heater Capacity
+  N15, \field Crankcase Heater Capacity
        \type real
        \units W
        \ip-units Btu/h
        \minimum 0
        \required-field
-  N15, \field Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation
+  N16, \field Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation
        \type real
        \units C
        \minimum 0
@@ -16400,7 +16426,7 @@ OS:Coil:Cooling:DX:SingleSpeed,
   A14, \field Condensate Collection Water Storage Tank Name
        \type object-list
        \object-list WaterStorageTankNames
-  N16, \field Basin Heater Capacity
+  N17, \field Basin Heater Capacity
        \note This field is only used for Condenser Type = EvaporativelyCooled and for periods
        \note when the basin heater is available (field Basin Heater Operating Schedule Name).
        \note For this situation, the heater maintains the basin water temperature at the basin heater
@@ -16410,7 +16436,7 @@ OS:Coil:Cooling:DX:SingleSpeed,
        \units W/K
        \minimum 0
        \required-field
-  N17, \field Basin Heater Setpoint Temperature
+  N18, \field Basin Heater Setpoint Temperature
        \note This field is only used for Condenser Type = EvaporativelyCooled.
        \note Enter the outdoor dry-bulb temperature when the basin heater turns on.
        \type real
@@ -16831,12 +16857,30 @@ OS:Coil:Cooling:DX:MultiSpeed:StageData,
        \units m3/s
        \minimum> 0.0
        \autosizable
-  N5, \field Rated Evaporator Fan Power Per Volume Flow Rate
+  N5,  \field Rated Evaporator Fan Power Per Volume Flow Rate 2017
+       \note Enter the evaporator fan power per air volume flow rate at the rated test conditions
+       \note as defined in the 2017 version of ANSI/AHRI Standard 210/240.
+       \note The test conditions vary external static pressure based on total cooling capacity.
+       \note This value is only used to calculate Seasonal Energy Efficiency Ratio (SEER), and the
+       \note Standard Rating (Net) Cooling Capacity which will be outputs in the EnergyPlus eio file.
+       \note This value is not used for modeling the evaporator fan during simulations.
        \type real
        \units W/(m3/s)
        \minimum 0.0
        \maximum 1250.0
        \required-field
+  N6,  \field Rated Evaporator Fan Power Per Volume Flow Rate 2023
+       \note Enter the evaporator fan power per air volume flow rate at the rated test conditions
+       \note as defined in the 2023 version of ANSI/AHRI Standard 210/240.
+       \note The test conditions vary external static pressure based on total cooling capacity.
+       \note This value is only used to calculate Seasonal Energy Efficiency Ratio (SEER2), and the
+       \note Standard Rating (Net) Cooling Capacity which will be outputs in the EnergyPlus eio file.
+       \note This value is not used for modeling the evaporator fan during simulations.
+       \type real
+       \units W/(m3/s)
+       \minimum 0.0
+       \maximum 1505.0
+       \required-field
   A3, \field Total Cooling Capacity Function of Temperature Curve
        \required-field
        \type object-list
@@ -16857,31 +16901,31 @@ OS:Coil:Cooling:DX:MultiSpeed:StageData,
        \required-field
        \type object-list
        \object-list UnivariateFunctions
-  N6, \field Nominal Time for Condensate Removal to Begin
+  N7,  \field Nominal Time for Condensate Removal to Begin
        \type real
        \units s
        \minimum 0.0
        \maximum 3000.0
        \required-field
-  N7, \field Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity
+  N8,  \field Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity
        \type real
        \units dimensionless
        \minimum 0.0
        \maximum 5.0
        \required-field
-  N8, \field Maximum Cycling Rate
+  N9,  \field Maximum Cycling Rate
        \type real
        \units cycles/hr
        \minimum 0.0
        \maximum 5.0
        \required-field
-  N9, \field Latent Capacity Time Constant
+  N10, \field Latent Capacity Time Constant
        \type real
        \units s
        \minimum 0.0
        \maximum 500.0
        \required-field
-  N10, \field Rated Waste Heat Fraction of Power Input
+  N11, \field Rated Waste Heat Fraction of Power Input
        \required-field
        \type real
        \units dimensionless
@@ -16891,19 +16935,19 @@ OS:Coil:Cooling:DX:MultiSpeed:StageData,
        \required-field
        \type object-list
        \object-list BivariateFunctions
-  N11, \field Evaporative Condenser Effectiveness
+  N12, \field Evaporative Condenser Effectiveness
        \type real
        \units dimensionless
        \minimum 0.0
        \maximum 1.0
        \required-field
-  N12, \field Evaporative Condenser Air Flow Rate
+  N13, \field Evaporative Condenser Air Flow Rate
        \type real
        \units m3/s
        \minimum> 0.0
        \autosizable
        \required-field
-  N13; \field Rated Evaporative Condenser Pump Power Consumption
+  N14; \field Rated Evaporative Condenser Pump Power Consumption
        \type real
        \units W
        \ip-units W
@@ -17662,11 +17706,11 @@ OS:Coil:Cooling:WaterToAirHeatPump:EquationFit,
        \note means latent degradation model is disabled.
 
 OS:Coil:Heating:DX:SingleSpeed,
-       \min-fields 22
-  A1, \field Handle
+       \min-fields 23
+  A1,  \field Handle
        \type handle
        \required-field
-  A2, \field Name
+  A2,  \field Name
        \type alpha
        \required-field
        \reference HeatingCoilsDX
@@ -17674,11 +17718,11 @@ OS:Coil:Heating:DX:SingleSpeed,
        \reference HeatingCoilsDXSingleSpeed
        \reference AFNCoilNames
        \reference ConnectionObject
-  A3, \field Availability Schedule Name
+  A3,  \field Availability Schedule Name
        \type object-list
        \required-field
        \object-list ScheduleNames
-  N1, \field Rated Total Heating Capacity
+  N1,  \field Rated Total Heating Capacity
        \note capacity excluding supply air fan heat
        \note rating point outdoor dry-bulb temp 8.33 C, outdoor wet-bulb temp 6.11 C
        \note rating point heating coil entering air dry-bulb 21.11 C, coil entering wet-bulb 15.55 C
@@ -17687,14 +17731,14 @@ OS:Coil:Heating:DX:SingleSpeed,
        \autosizable
        \units W
        \minimum> 0
-  N2, \field Rated COP
+  N2,  \field Rated COP
        \note Rated heating capacity divided by power input to the compressor and outdoor fan,
        \note does not include supply air fan heat or supply air fan electrical energy
        \type real
        \required-field
        \units W/W
        \minimum> 0
-  N3, \field Rated Air Flow Rate
+  N3,  \field Rated Air Flow Rate
        \note Flow rate corresponding to rated total capacity
        \note should be between 0.00004027 m3/s and .00006041 m3/s per watt of rated total heating capacity
        \type real
@@ -17702,7 +17746,7 @@ OS:Coil:Heating:DX:SingleSpeed,
        \autosizable
        \units m3/s
        \minimum> 0
-  N4 , \field Rated Supply Fan Power Per Volume Flow Rate
+  N4 , \field Rated Supply Fan Power Per Volume Flow Rate 2017
        \note Enter the supply fan power per air volume flow rate at the rated test conditions.
        \note The test conditions vary external static pressure based on heating capacity.
        \note This value is only used to calculate Heating Seasonal Performance Factor(HSPF). This value is not
@@ -17712,13 +17756,24 @@ OS:Coil:Heating:DX:SingleSpeed,
        \minimum 0.0
        \maximum 1250.0
        \required-field
-  A4, \field Air Inlet Node Name
+  N5 , \field Rated Supply Fan Power Per Volume Flow Rate 2023
+       \note Enter the supply fan power per air volume flow rate at the rated test conditions.
+       \note as defined in the 2017 version of ANSI/AHRI Standard 210/240. 
+       \note The test conditions vary external static pressure based on heating capacity.
+       \note This value is only used to calculate Heating Seasonal Performance Factor(HSPF).
+       \note This value is not used for modeling the supply (condenser) fan during simulations.
+       \type real
+       \units W/(m3/s)
+       \minimum 0.0
+       \maximum 1505.0
+       \required-field
+  A4,  \field Air Inlet Node Name
        \type object-list
        \object-list ConnectionNames
-  A5, \field Air Outlet Node Name
+  A5,  \field Air Outlet Node Name
        \type object-list
        \object-list ConnectionNames
-  A6, \field Total Heating Capacity Function of Temperature Curve Name
+  A6,  \field Total Heating Capacity Function of Temperature Curve Name
        \note quadratic curve = a + b*oat + c*oat**2
        \note cubic curve = a + b*oat + c*oat**2 + d*oat**3
        \note biquadratic curve = a + b*iat + c*iat**2 + d*oat + e*oat**2 + f*iat*oat
@@ -17730,14 +17785,14 @@ OS:Coil:Heating:DX:SingleSpeed,
        \required-field
        \object-list UnivariateFunctions
        \object-list BivariateFunctions
-  A7, \field Total Heating Capacity Function of Flow Fraction Curve Name
+  A7,  \field Total Heating Capacity Function of Flow Fraction Curve Name
        \note quadratic curve = a + b*ff + c*ff**2
        \note cubic curve = a + b*ff + c*ff**2 + d*ff**3
        \note ff = fraction of the full load flow
        \type object-list
        \required-field
        \object-list UnivariateFunctions
-  A8, \field Energy Input Ratio Function of Temperature Curve Name
+  A8,  \field Energy Input Ratio Function of Temperature Curve Name
        \note quadratic curve = a + b*oat + c*oat**2
        \note cubic curve = a + b*oat + c*oat**2 + d*oat**3
        \note biquadratic curve = a + b*iat + c*iat**2 + d*oat + e*oat**2 + f*iat*oat
@@ -17749,7 +17804,7 @@ OS:Coil:Heating:DX:SingleSpeed,
        \required-field
        \object-list UnivariateFunctions
        \object-list BivariateFunctions
-  A9, \field Energy Input Ratio Function of Flow Fraction Curve Name
+  A9,  \field Energy Input Ratio Function of Flow Fraction Curve Name
        \note quadratic curve = a + b*ff + c*ff**2
        \note cubic curve = a + b*ff + c*ff**2 + d*ff**3
        \note ff = fraction of the full load flow
@@ -17770,23 +17825,23 @@ OS:Coil:Heating:DX:SingleSpeed,
        \note only required if ReverseCycle defrost strategy is specified
        \type object-list
        \object-list BivariateFunctions
-  N5, \field Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
+  N6,  \field Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
        \type real
        \units C
        \default -8.0
-  N6, \field Maximum Outdoor Dry-Bulb Temperature for Defrost Operation
+  N7,  \field Maximum Outdoor Dry-Bulb Temperature for Defrost Operation
        \type real
        \units C
        \minimum 0
        \maximum 7.22
        \default 5.0
-  N7, \field Crankcase Heater Capacity
+  N8,  \field Crankcase Heater Capacity
        \type real
        \units W
        \ip-units Btu/h
        \minimum 0
        \default 0.0
-  N8, \field Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation
+  N9,  \field Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation
        \type real
        \units C
        \minimum 0
@@ -17801,13 +17856,13 @@ OS:Coil:Heating:DX:SingleSpeed,
        \default Timed
        \key Timed
        \key OnDemand
-  N9, \field Defrost Time Period Fraction
+  N10, \field Defrost Time Period Fraction
        \note Fraction of time in defrost mode
        \note only applicable if timed defrost control is specified
        \type real
        \minimum 0
        \default 0.058333
-  N10; \field Resistive Defrost Heater Capacity
+  N11; \field Resistive Defrost Heater Capacity
        \note only applicable if resistive defrost strategy is specified
        \type real
        \autosizable
@@ -18677,7 +18732,7 @@ OS:Coil:Heating:DX:MultiSpeed,
        \object-list CoilHeatingDXMultiSpeedStageData
 
 OS:Coil:Heating:DX:MultiSpeed:StageData,
-       \min-fields 13
+       \min-fields 14
   A1 , \field Handle
        \type handle
        \required-field
@@ -18703,12 +18758,18 @@ OS:Coil:Heating:DX:MultiSpeed:StageData,
        \units m3/s
        \minimum> 0.0
        \autosizable
-  N4 , \field Rated Supply Air Fan Power Per Volume Flow Rate
+  N4 , \field Rated Supply Air Fan Power Per Volume Flow Rate 2017
        \required-field
        \type real
        \units W/(m3/s)
        \minimum 0.0
        \maximum 1250.0
+  N5 , \field Rated Supply Air Fan Power Per Volume Flow Rate 2023
+       \required-field
+       \type real
+       \units W/(m3/s)
+       \minimum 0.0
+       \maximum 1505.0
   A3 , \field Heating Capacity Function of Temperature Curve Name
        \required-field
        \type object-list
@@ -18731,7 +18792,7 @@ OS:Coil:Heating:DX:MultiSpeed:StageData,
        \required-field
        \type object-list
        \object-list UnivariateFunctions
-  N5 , \field Rated Waste Heat Fraction of Power Input
+  N6 , \field Rated Waste Heat Fraction of Power Input
        \required-field
        \type real
        \units dimensionless
diff --git a/src/energyplus/ForwardTranslator/ForwardTranslateCoilCoolingDXCurveFitSpeed.cpp b/src/energyplus/ForwardTranslator/ForwardTranslateCoilCoolingDXCurveFitSpeed.cpp
index 77469c727b3..fdf5fd059cd 100644
--- a/src/energyplus/ForwardTranslator/ForwardTranslateCoilCoolingDXCurveFitSpeed.cpp
+++ b/src/energyplus/ForwardTranslator/ForwardTranslateCoilCoolingDXCurveFitSpeed.cpp
@@ -81,7 +81,11 @@ namespace energyplus {
 
     // RatedEvaporatorFanPowerPerVolumeFlowRate2017
     idfObject.setDouble(Coil_Cooling_DX_CurveFit_SpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2017,
-                        modelObject.ratedEvaporatorFanPowerPerVolumeFlowRate());
+                        modelObject.ratedEvaporatorFanPowerPerVolumeFlowRate2017());
+
+    // RatedEvaporatorFanPowerPerVolumeFlowRate2023
+    idfObject.setDouble(Coil_Cooling_DX_CurveFit_SpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2023,
+                        modelObject.ratedEvaporatorFanPowerPerVolumeFlowRate2023());
 
     // EvaporativeCondenserPumpPowerFraction
     idfObject.setDouble(Coil_Cooling_DX_CurveFit_SpeedFields::EvaporativeCondenserPumpPowerFraction,
diff --git a/src/energyplus/ForwardTranslator/ForwardTranslateCoilCoolingDXMultiSpeed.cpp b/src/energyplus/ForwardTranslator/ForwardTranslateCoilCoolingDXMultiSpeed.cpp
index 0f8305509eb..1fd55915043 100644
--- a/src/energyplus/ForwardTranslator/ForwardTranslateCoilCoolingDXMultiSpeed.cpp
+++ b/src/energyplus/ForwardTranslator/ForwardTranslateCoilCoolingDXMultiSpeed.cpp
@@ -73,9 +73,7 @@ namespace energyplus {
     // CondenserAirInletNodeName: stays blank so we get condition from weather file
 
     // CondenserType
-    if ((s = modelObject.condenserType())) {
-      idfObject.setString(Coil_Cooling_DX_MultiSpeedFields::CondenserType, s.get());
-    }
+    idfObject.setString(Coil_Cooling_DX_MultiSpeedFields::CondenserType, modelObject.condenserType());
 
     // SupplyWaterStorageTankName
 
@@ -97,29 +95,21 @@ namespace energyplus {
     }
 
     // Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
-    if ((value = modelObject.minimumOutdoorDryBulbTemperatureforCompressorOperation())) {
-      idfObject.setDouble(Coil_Cooling_DX_MultiSpeedFields::MinimumOutdoorDryBulbTemperatureforCompressorOperation, value.get());
-    }
+    idfObject.setDouble(Coil_Cooling_DX_MultiSpeedFields::MinimumOutdoorDryBulbTemperatureforCompressorOperation,
+                        modelObject.minimumOutdoorDryBulbTemperatureforCompressorOperation());
 
     // CrankcaseHeaterCapacity
-    if ((value = modelObject.crankcaseHeaterCapacity())) {
-      idfObject.setDouble(Coil_Cooling_DX_MultiSpeedFields::CrankcaseHeaterCapacity, value.get());
-    }
+    idfObject.setDouble(Coil_Cooling_DX_MultiSpeedFields::CrankcaseHeaterCapacity, modelObject.crankcaseHeaterCapacity());
 
     // MaximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation
-    if ((value = modelObject.maximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation())) {
-      idfObject.setDouble(Coil_Cooling_DX_MultiSpeedFields::MaximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation, value.get());
-    }
+    idfObject.setDouble(Coil_Cooling_DX_MultiSpeedFields::MaximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation,
+                        modelObject.maximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation());
 
     // BasinHeaterCapacity
-    if ((value = modelObject.basinHeaterCapacity())) {
-      idfObject.setDouble(Coil_Cooling_DX_MultiSpeedFields::BasinHeaterCapacity, value.get());
-    }
+    idfObject.setDouble(Coil_Cooling_DX_MultiSpeedFields::BasinHeaterCapacity, modelObject.basinHeaterCapacity());
 
     // BasinHeaterSetpointTemperature
-    if ((value = modelObject.basinHeaterSetpointTemperature())) {
-      idfObject.setDouble(Coil_Cooling_DX_MultiSpeedFields::BasinHeaterSetpointTemperature, value.get());
-    }
+    idfObject.setDouble(Coil_Cooling_DX_MultiSpeedFields::BasinHeaterSetpointTemperature, modelObject.basinHeaterSetpointTemperature());
 
     // BasinHeaterOperatingScheduleName
     if (auto schedule = modelObject.basinHeaterOperatingSchedule()) {
@@ -129,9 +119,7 @@ namespace energyplus {
     }
 
     // FuelType
-    if ((s = modelObject.fuelType())) {
-      idfObject.setString(Coil_Cooling_DX_MultiSpeedFields::FuelType, s.get());
-    }
+    idfObject.setString(Coil_Cooling_DX_MultiSpeedFields::FuelType, modelObject.fuelType());
 
     const auto stages = modelObject.stages();
 
@@ -158,9 +146,7 @@ namespace energyplus {
       }
 
       // SpeedGrossRatedCoolingCOP
-      if ((value = stage.grossRatedCoolingCOP())) {
-        eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedGrossRatedCoolingCOP, value.get());
-      }
+      eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedGrossRatedCoolingCOP, stage.grossRatedCoolingCOP());
 
       // SpeedRatedAirFlowRate
       if (stage.isRatedAirFlowRateAutosized()) {
@@ -170,9 +156,12 @@ namespace energyplus {
       }
 
       // RatedEvaporatorFanPowerPerVolumeFlowRate2017
-      if ((value = stage.ratedEvaporatorFanPowerPerVolumeFlowRate())) {
-        eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedRatedEvaporatorFanPowerPerVolumeFlowRate2017, value.get());
-      }
+      eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedRatedEvaporatorFanPowerPerVolumeFlowRate2017,
+                   stage.ratedEvaporatorFanPowerPerVolumeFlowRate2017());
+
+      // RatedEvaporatorFanPowerPerVolumeFlowRate2023
+      eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedRatedEvaporatorFanPowerPerVolumeFlowRate2023,
+                   stage.ratedEvaporatorFanPowerPerVolumeFlowRate2023());
 
       // SpeedTotalCoolingCapacityFunctionofTemperatureCurveName
       {
@@ -220,24 +209,17 @@ namespace energyplus {
       }
 
       // SpeedRatioofInitialMoistureEvaporationRateandSteadyStateLatentCapacity
-      if ((value = stage.ratioofInitialMoistureEvaporationRateandSteadyStateLatentCapacity())) {
-        eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedRatioofInitialMoistureEvaporationRateandSteadyStateLatentCapacity, value.get());
-      }
+      eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedRatioofInitialMoistureEvaporationRateandSteadyStateLatentCapacity,
+                   stage.ratioofInitialMoistureEvaporationRateandSteadyStateLatentCapacity());
 
       // SpeedMaximumCyclingRate
-      if ((value = stage.maximumCyclingRate())) {
-        eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedMaximumCyclingRate, value.get());
-      }
+      eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedMaximumCyclingRate, stage.maximumCyclingRate());
 
       // SpeedLatentCapacityTimeConstant
-      if ((value = stage.latentCapacityTimeConstant())) {
-        eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedLatentCapacityTimeConstant, value.get());
-      }
+      eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedLatentCapacityTimeConstant, stage.latentCapacityTimeConstant());
 
       // SpeedRatedWasteHeatFractionofPowerInput
-      if ((value = stage.ratedWasteHeatFractionofPowerInput())) {
-        eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedRatedWasteHeatFractionofPowerInput, value.get());
-      }
+      eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedRatedWasteHeatFractionofPowerInput, stage.ratedWasteHeatFractionofPowerInput());
 
       // SpeedWasteHeatFunctionofTemperatureCurveName
       {
@@ -248,9 +230,7 @@ namespace energyplus {
       }
 
       // SpeedEvaporativeCondenserEffectiveness
-      if ((value = stage.evaporativeCondenserEffectiveness())) {
-        eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedEvaporativeCondenserEffectiveness, value.get());
-      }
+      eg.setDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedEvaporativeCondenserEffectiveness, stage.evaporativeCondenserEffectiveness());
 
       // SpeedEvaporativeCondenserAirFlowRate
       if (stage.isEvaporativeCondenserAirFlowRateAutosized()) {
diff --git a/src/energyplus/ForwardTranslator/ForwardTranslateCoilCoolingDXSingleSpeed.cpp b/src/energyplus/ForwardTranslator/ForwardTranslateCoilCoolingDXSingleSpeed.cpp
index 0f06c5d2865..91b157dbf57 100644
--- a/src/energyplus/ForwardTranslator/ForwardTranslateCoilCoolingDXSingleSpeed.cpp
+++ b/src/energyplus/ForwardTranslator/ForwardTranslateCoilCoolingDXSingleSpeed.cpp
@@ -103,10 +103,7 @@ namespace energyplus {
       idfObject.setString(Coil_Cooling_DX_SingleSpeedFields::GrossRatedSensibleHeatRatio, "Autosize");
     }
 
-    d = modelObject.ratedCOP();
-    if (d) {
-      idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::GrossRatedCoolingCOP, *d);
-    }
+    idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::GrossRatedCoolingCOP, modelObject.ratedCOP());
 
     d = modelObject.ratedAirFlowRate();
     if (d) {
@@ -115,10 +112,11 @@ namespace energyplus {
       idfObject.setString(Coil_Cooling_DX_SingleSpeedFields::RatedAirFlowRate, "Autosize");
     }
 
-    d = modelObject.ratedEvaporatorFanPowerPerVolumeFlowRate();
-    if (d) {
-      idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2017, *d);
-    }
+    idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2017,
+                        modelObject.ratedEvaporatorFanPowerPerVolumeFlowRate2017());
+
+    idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2023,
+                        modelObject.ratedEvaporatorFanPowerPerVolumeFlowRate2023());
 
     OptionalModelObject omo = modelObject.inletModelObject();
     if (omo) {
@@ -138,28 +136,18 @@ namespace energyplus {
       }
     }
 
-    d = modelObject.nominalTimeForCondensateRemovalToBegin();
-    if (d) {
-      idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::NominalTimeforCondensateRemovaltoBegin, *d);
-    }
+    idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::NominalTimeforCondensateRemovaltoBegin,
+                        modelObject.nominalTimeForCondensateRemovalToBegin());
 
     idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::MinimumOutdoorDryBulbTemperatureforCompressorOperation,
                         modelObject.minimumOutdoorDryBulbTemperatureforCompressorOperation());
 
-    d = modelObject.ratioOfInitialMoistureEvaporationRateAndSteadyStateLatentCapacity();
-    if (d) {
-      idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::RatioofInitialMoistureEvaporationRateandSteadyStateLatentCapacity, *d);
-    }
+    idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::RatioofInitialMoistureEvaporationRateandSteadyStateLatentCapacity,
+                        modelObject.ratioOfInitialMoistureEvaporationRateAndSteadyStateLatentCapacity());
 
-    d = modelObject.maximumCyclingRate();
-    if (d) {
-      idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::MaximumCyclingRate, *d);
-    }
+    idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::MaximumCyclingRate, modelObject.maximumCyclingRate());
 
-    d = modelObject.latentCapacityTimeConstant();
-    if (d) {
-      idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::LatentCapacityTimeConstant, *d);
-    }
+    idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::LatentCapacityTimeConstant, modelObject.latentCapacityTimeConstant());
 
     s = modelObject.condenserAirInletNodeName();
     if (s) {
@@ -168,10 +156,7 @@ namespace energyplus {
 
     idfObject.setString(Coil_Cooling_DX_SingleSpeedFields::CondenserType, modelObject.condenserType());
 
-    d = modelObject.evaporativeCondenserEffectiveness();
-    if (d) {
-      idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::EvaporativeCondenserEffectiveness, *d);
-    }
+    idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::EvaporativeCondenserEffectiveness, modelObject.evaporativeCondenserEffectiveness());
 
     d = modelObject.evaporativeCondenserAirFlowRate();
     if (d) {
@@ -187,29 +172,18 @@ namespace energyplus {
       idfObject.setString(Coil_Cooling_DX_SingleSpeedFields::EvaporativeCondenserPumpRatedPowerConsumption, "Autosize");
     }
 
-    d = modelObject.crankcaseHeaterCapacity();
-    if (d) {
-      idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::CrankcaseHeaterCapacity, *d);
-    }
+    idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::CrankcaseHeaterCapacity, modelObject.crankcaseHeaterCapacity());
 
-    d = modelObject.maximumOutdoorDryBulbTemperatureForCrankcaseHeaterOperation();
-    if (d) {
-      idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::MaximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation, *d);
-    }
+    idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::MaximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation,
+                        modelObject.maximumOutdoorDryBulbTemperatureForCrankcaseHeaterOperation());
 
     //TODO
     //getSupplyWaterStorageTankName
     //getCondensateCollectionWaterStorageTankName
 
-    d = modelObject.basinHeaterCapacity();
-    if (d) {
-      idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::BasinHeaterCapacity, *d);
-    }
+    idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::BasinHeaterCapacity, modelObject.basinHeaterCapacity());
 
-    d = modelObject.basinHeaterSetpointTemperature();
-    if (d) {
-      idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::BasinHeaterSetpointTemperature, *d);
-    }
+    idfObject.setDouble(Coil_Cooling_DX_SingleSpeedFields::BasinHeaterSetpointTemperature, modelObject.basinHeaterSetpointTemperature());
 
     OptionalSchedule os = modelObject.basinHeaterOperatingSchedule();
     if (os) {
diff --git a/src/energyplus/ForwardTranslator/ForwardTranslateCoilHeatingDXMultiSpeed.cpp b/src/energyplus/ForwardTranslator/ForwardTranslateCoilHeatingDXMultiSpeed.cpp
index e397f3d8857..ccc0b97b96a 100644
--- a/src/energyplus/ForwardTranslator/ForwardTranslateCoilHeatingDXMultiSpeed.cpp
+++ b/src/energyplus/ForwardTranslator/ForwardTranslateCoilHeatingDXMultiSpeed.cpp
@@ -71,9 +71,8 @@ namespace energyplus {
     }
 
     // MinimumOutdoorDryBulbTemperatureforCompressorOperation
-    if ((value = modelObject.minimumOutdoorDryBulbTemperatureforCompressorOperation())) {
-      idfObject.setDouble(Coil_Heating_DX_MultiSpeedFields::MinimumOutdoorDryBulbTemperatureforCompressorOperation, value.get());
-    }
+    idfObject.setDouble(Coil_Heating_DX_MultiSpeedFields::MinimumOutdoorDryBulbTemperatureforCompressorOperation,
+                        modelObject.minimumOutdoorDryBulbTemperatureforCompressorOperation());
 
     // OutdoorDryBulbTemperaturetoTurnOnCompressor
     if ((value = modelObject.outdoorDryBulbTemperaturetoTurnOnCompressor())) {
@@ -81,14 +80,11 @@ namespace energyplus {
     }
 
     // CrankcaseHeaterCapacity
-    if ((value = modelObject.crankcaseHeaterCapacity())) {
-      idfObject.setDouble(Coil_Heating_DX_MultiSpeedFields::CrankcaseHeaterCapacity, value.get());
-    }
+    idfObject.setDouble(Coil_Heating_DX_MultiSpeedFields::CrankcaseHeaterCapacity, modelObject.crankcaseHeaterCapacity());
 
     // MaximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation
-    if ((value = modelObject.maximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation())) {
-      idfObject.setDouble(Coil_Heating_DX_MultiSpeedFields::MaximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation, value.get());
-    }
+    idfObject.setDouble(Coil_Heating_DX_MultiSpeedFields::MaximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation,
+                        modelObject.maximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation());
 
     // DefrostEnergyInputRatioFunctionofTemperatureCurveName
     if (auto curve = modelObject.defrostEnergyInputRatioFunctionofTemperatureCurve()) {
@@ -98,24 +94,17 @@ namespace energyplus {
     }
 
     // MaximumOutdoorDryBulbTemperatureforDefrostOperation
-    if ((value = modelObject.maximumOutdoorDryBulbTemperatureforDefrostOperation())) {
-      idfObject.setDouble(Coil_Heating_DX_MultiSpeedFields::MaximumOutdoorDryBulbTemperatureforDefrostOperation, value.get());
-    }
+    idfObject.setDouble(Coil_Heating_DX_MultiSpeedFields::MaximumOutdoorDryBulbTemperatureforDefrostOperation,
+                        modelObject.maximumOutdoorDryBulbTemperatureforDefrostOperation());
 
     // DefrostStrategy
-    if ((s = modelObject.defrostStrategy())) {
-      idfObject.setString(Coil_Heating_DX_MultiSpeedFields::DefrostStrategy, s.get());
-    }
+    idfObject.setString(Coil_Heating_DX_MultiSpeedFields::DefrostStrategy, modelObject.defrostStrategy());
 
     // DefrostControl
-    if ((s = modelObject.defrostControl())) {
-      idfObject.setString(Coil_Heating_DX_MultiSpeedFields::DefrostControl, s.get());
-    }
+    idfObject.setString(Coil_Heating_DX_MultiSpeedFields::DefrostControl, modelObject.defrostControl());
 
     // DefrostTimePeriodFraction
-    if ((value = modelObject.defrostTimePeriodFraction())) {
-      idfObject.setDouble(Coil_Heating_DX_MultiSpeedFields::DefrostTimePeriodFraction, value.get());
-    }
+    idfObject.setDouble(Coil_Heating_DX_MultiSpeedFields::DefrostTimePeriodFraction, modelObject.defrostTimePeriodFraction());
 
     // ResistiveDefrostHeaterCapacity
     if (modelObject.isResistiveDefrostHeaterCapacityAutosized()) {
@@ -132,9 +121,7 @@ namespace energyplus {
     }
 
     // FuelType
-    if ((s = modelObject.fuelType())) {
-      idfObject.setString(Coil_Heating_DX_MultiSpeedFields::FuelType, s.get());
-    }
+    idfObject.setString(Coil_Heating_DX_MultiSpeedFields::FuelType, modelObject.fuelType());
 
     // RegionnumberforCalculatingHSPF
     if (auto num = modelObject.regionnumberforCalculatingHSPF()) {
@@ -159,9 +146,7 @@ namespace energyplus {
       }
 
       // GrossRatedHeatingCOP
-      if ((value = stage.grossRatedHeatingCOP())) {
-        eg.setDouble(Coil_Heating_DX_MultiSpeedExtensibleFields::SpeedGrossRatedHeatingCOP, value.get());
-      }
+      eg.setDouble(Coil_Heating_DX_MultiSpeedExtensibleFields::SpeedGrossRatedHeatingCOP, stage.grossRatedHeatingCOP());
 
       // RatedAirFlowRate
       if (stage.isRatedAirFlowRateAutosized()) {
@@ -171,9 +156,12 @@ namespace energyplus {
       }
 
       // RatedSupplyAirFanPowerPerVolumeFlowRate2017
-      if ((value = stage.ratedSupplyAirFanPowerPerVolumeFlowRate())) {
-        eg.setDouble(Coil_Heating_DX_MultiSpeedExtensibleFields::SpeedRatedSupplyAirFanPowerPerVolumeFlowRate2017, value.get());
-      }
+      eg.setDouble(Coil_Heating_DX_MultiSpeedExtensibleFields::SpeedRatedSupplyAirFanPowerPerVolumeFlowRate2017,
+                   stage.ratedSupplyAirFanPowerPerVolumeFlowRate2017());
+
+      // RatedSupplyAirFanPowerPerVolumeFlowRate2023
+      eg.setDouble(Coil_Heating_DX_MultiSpeedExtensibleFields::SpeedRatedSupplyAirFanPowerPerVolumeFlowRate2023,
+                   stage.ratedSupplyAirFanPowerPerVolumeFlowRate2023());
 
       // HeatingCapacityFunctionofTemperatureCurveName
       {
@@ -216,9 +204,7 @@ namespace energyplus {
       }
 
       // SpeedRatedWasteHeatFractionofPowerInput
-      if ((value = stage.ratedWasteHeatFractionofPowerInput())) {
-        eg.setDouble(Coil_Heating_DX_MultiSpeedExtensibleFields::SpeedRatedWasteHeatFractionofPowerInput, value.get());
-      }
+      eg.setDouble(Coil_Heating_DX_MultiSpeedExtensibleFields::SpeedRatedWasteHeatFractionofPowerInput, stage.ratedWasteHeatFractionofPowerInput());
 
       // SpeedWasteHeatFunctionofTemperatureCurveName
       {
diff --git a/src/energyplus/ForwardTranslator/ForwardTranslateCoilHeatingDXSingleSpeed.cpp b/src/energyplus/ForwardTranslator/ForwardTranslateCoilHeatingDXSingleSpeed.cpp
index 73dc6832ec2..932d1151f71 100644
--- a/src/energyplus/ForwardTranslator/ForwardTranslateCoilHeatingDXSingleSpeed.cpp
+++ b/src/energyplus/ForwardTranslator/ForwardTranslateCoilHeatingDXSingleSpeed.cpp
@@ -114,9 +114,7 @@ namespace energyplus {
 
     // RatedCOP
 
-    if ((value = modelObject.ratedCOP())) {
-      idfObject.setDouble(Coil_Heating_DX_SingleSpeedFields::GrossRatedHeatingCOP, value.get());
-    }
+    idfObject.setDouble(Coil_Heating_DX_SingleSpeedFields::GrossRatedHeatingCOP, modelObject.ratedCOP());
 
     // RatedAirFlowRate
 
@@ -128,9 +126,13 @@ namespace energyplus {
 
     // Rated Supply Fan Power Per Volume Flow Rate 2017
 
-    if ((value = modelObject.ratedSupplyFanPowerPerVolumeFlowRate())) {
-      idfObject.setDouble(Coil_Heating_DX_SingleSpeedFields::RatedSupplyFanPowerPerVolumeFlowRate2017, value.get());
-    }
+    idfObject.setDouble(Coil_Heating_DX_SingleSpeedFields::RatedSupplyFanPowerPerVolumeFlowRate2017,
+                        modelObject.ratedSupplyFanPowerPerVolumeFlowRate2017());
+
+    // Rated Supply Fan Power Per Volume Flow Rate 2023
+
+    idfObject.setDouble(Coil_Heating_DX_SingleSpeedFields::RatedSupplyFanPowerPerVolumeFlowRate2023,
+                        modelObject.ratedSupplyFanPowerPerVolumeFlowRate2023());
 
     // TotalHeatingCapacityFunctionofTemperatureCurveName
 
@@ -182,21 +184,17 @@ namespace energyplus {
 
     // MinimumOutdoorDryBulbTemperatureforCompressorOperation
 
-    if ((value = modelObject.minimumOutdoorDryBulbTemperatureforCompressorOperation())) {
-      idfObject.setDouble(Coil_Heating_DX_SingleSpeedFields::MinimumOutdoorDryBulbTemperatureforCompressorOperation, value.get());
-    }
+    idfObject.setDouble(Coil_Heating_DX_SingleSpeedFields::MinimumOutdoorDryBulbTemperatureforCompressorOperation,
+                        modelObject.minimumOutdoorDryBulbTemperatureforCompressorOperation());
 
     // MaximumOutdoorDryBulbTemperatureforDefrostOperation
 
-    if ((value = modelObject.maximumOutdoorDryBulbTemperatureforDefrostOperation())) {
-      idfObject.setDouble(Coil_Heating_DX_SingleSpeedFields::MaximumOutdoorDryBulbTemperatureforDefrostOperation, value.get());
-    }
+    idfObject.setDouble(Coil_Heating_DX_SingleSpeedFields::MaximumOutdoorDryBulbTemperatureforDefrostOperation,
+                        modelObject.maximumOutdoorDryBulbTemperatureforDefrostOperation());
 
     // CrankcaseHeaterCapacity
 
-    if ((value = modelObject.crankcaseHeaterCapacity())) {
-      idfObject.setDouble(Coil_Heating_DX_SingleSpeedFields::CrankcaseHeaterCapacity, value.get());
-    }
+    idfObject.setDouble(Coil_Heating_DX_SingleSpeedFields::CrankcaseHeaterCapacity, modelObject.crankcaseHeaterCapacity());
 
     // MaximumOutdoorDryBulbTemperatureforCrankcaseHeaterOperation
 
@@ -206,21 +204,15 @@ namespace energyplus {
 
     // DefrostStrategy
 
-    if ((s = modelObject.defrostStrategy())) {
-      idfObject.setString(Coil_Heating_DX_SingleSpeedFields::DefrostStrategy, s.get());
-    }
+    idfObject.setString(Coil_Heating_DX_SingleSpeedFields::DefrostStrategy, modelObject.defrostStrategy());
 
     // DefrostControl
 
-    if ((s = modelObject.defrostControl())) {
-      idfObject.setString(Coil_Heating_DX_SingleSpeedFields::DefrostControl, s.get());
-    }
+    idfObject.setString(Coil_Heating_DX_SingleSpeedFields::DefrostControl, modelObject.defrostControl());
 
     // DefrostTimePeriodFraction
 
-    if ((value = modelObject.defrostTimePeriodFraction())) {
-      idfObject.setDouble(Coil_Heating_DX_SingleSpeedFields::DefrostTimePeriodFraction, value.get());
-    }
+    idfObject.setDouble(Coil_Heating_DX_SingleSpeedFields::DefrostTimePeriodFraction, modelObject.defrostTimePeriodFraction());
 
     // ResistiveDefrostHeaterCapacity
 
diff --git a/src/energyplus/ReverseTranslator/ReverseTranslateCoilCoolingDXCurveFitSpeed.cpp b/src/energyplus/ReverseTranslator/ReverseTranslateCoilCoolingDXCurveFitSpeed.cpp
index 6feb99e84f3..1bf49165bb5 100644
--- a/src/energyplus/ReverseTranslator/ReverseTranslateCoilCoolingDXCurveFitSpeed.cpp
+++ b/src/energyplus/ReverseTranslator/ReverseTranslateCoilCoolingDXCurveFitSpeed.cpp
@@ -156,7 +156,12 @@ namespace energyplus {
 
     d = workspaceObject.getDouble(Coil_Cooling_DX_CurveFit_SpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2017);
     if (d) {
-      speed.setRatedEvaporatorFanPowerPerVolumeFlowRate(*d);
+      speed.setRatedEvaporatorFanPowerPerVolumeFlowRate2017(*d);
+    }
+
+    d = workspaceObject.getDouble(Coil_Cooling_DX_CurveFit_SpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2023);
+    if (d) {
+      speed.setRatedEvaporatorFanPowerPerVolumeFlowRate2023(*d);
     }
 
     d = workspaceObject.getDouble(Coil_Cooling_DX_CurveFit_SpeedFields::EvaporativeCondenserPumpPowerFraction);
diff --git a/src/energyplus/ReverseTranslator/ReverseTranslateCoilCoolingDXSingleSpeed.cpp b/src/energyplus/ReverseTranslator/ReverseTranslateCoilCoolingDXSingleSpeed.cpp
index 093dbed9df1..140307a5a9a 100644
--- a/src/energyplus/ReverseTranslator/ReverseTranslateCoilCoolingDXSingleSpeed.cpp
+++ b/src/energyplus/ReverseTranslator/ReverseTranslateCoilCoolingDXSingleSpeed.cpp
@@ -194,7 +194,12 @@ namespace energyplus {
 
       d = workspaceObject.getDouble(Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2017);
       if (d) {
-        coil.setRatedEvaporatorFanPowerPerVolumeFlowRate(*d);
+        coil.setRatedEvaporatorFanPowerPerVolumeFlowRate2017(*d);
+      }
+
+      d = workspaceObject.getDouble(Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2023);
+      if (d) {
+        coil.setRatedEvaporatorFanPowerPerVolumeFlowRate2023(*d);
       }
 
       d = workspaceObject.getDouble(Coil_Cooling_DX_SingleSpeedFields::NominalTimeforCondensateRemovaltoBegin);
diff --git a/src/energyplus/Test/CoilCoolingDXCurveFitSpeed_GTest.cpp b/src/energyplus/Test/CoilCoolingDXCurveFitSpeed_GTest.cpp
index bb9b4c418af..dbaa58600ff 100644
--- a/src/energyplus/Test/CoilCoolingDXCurveFitSpeed_GTest.cpp
+++ b/src/energyplus/Test/CoilCoolingDXCurveFitSpeed_GTest.cpp
@@ -83,6 +83,7 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_CoilCoolingDXCurveFitSpeed) {
     EXPECT_EQ(3.0, idfSpeed.getDouble(Coil_Cooling_DX_CurveFit_SpeedFields::GrossCoolingCOP, false).get());
     EXPECT_EQ(1.0, idfSpeed.getDouble(Coil_Cooling_DX_CurveFit_SpeedFields::ActiveFractionofCoilFaceArea, false).get());
     EXPECT_EQ(773.3, idfSpeed.getDouble(Coil_Cooling_DX_CurveFit_SpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2017, false).get());
+    EXPECT_EQ(934.4, idfSpeed.getDouble(Coil_Cooling_DX_CurveFit_SpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2023, false).get());
     EXPECT_EQ(1.0, idfSpeed.getDouble(Coil_Cooling_DX_CurveFit_SpeedFields::EvaporativeCondenserPumpPowerFraction, false).get());
     EXPECT_EQ(0.9, idfSpeed.getDouble(Coil_Cooling_DX_CurveFit_SpeedFields::EvaporativeCondenserEffectiveness, false).get());
     EXPECT_EQ(0.2, idfSpeed.getDouble(Coil_Cooling_DX_CurveFit_SpeedFields::RatedWasteHeatFractionofPowerInput, false).get());
diff --git a/src/energyplus/Test/CoilCoolingDXMultiSpeed_GTest.cpp b/src/energyplus/Test/CoilCoolingDXMultiSpeed_GTest.cpp
index b50845f7a7e..36ee39ae434 100644
--- a/src/energyplus/Test/CoilCoolingDXMultiSpeed_GTest.cpp
+++ b/src/energyplus/Test/CoilCoolingDXMultiSpeed_GTest.cpp
@@ -207,8 +207,10 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_CoilCoolingDXMultiSpeed_Basic) {
     }
 
     EXPECT_EQ(stage.grossRatedCoolingCOP(), eg.getDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedGrossRatedCoolingCOP).get());
-    EXPECT_EQ(stage.ratedEvaporatorFanPowerPerVolumeFlowRate(),
+    EXPECT_EQ(stage.ratedEvaporatorFanPowerPerVolumeFlowRate2017(),
               eg.getDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedRatedEvaporatorFanPowerPerVolumeFlowRate2017).get());
+    EXPECT_EQ(stage.ratedEvaporatorFanPowerPerVolumeFlowRate2023(),
+              eg.getDouble(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedRatedEvaporatorFanPowerPerVolumeFlowRate2023).get());
     EXPECT_EQ(stage.totalCoolingCapacityFunctionofTemperatureCurve().nameString(),
               eg.getString(Coil_Cooling_DX_MultiSpeedExtensibleFields::SpeedTotalCoolingCapacityFunctionofTemperatureCurveName).get());
     EXPECT_EQ(stage.totalCoolingCapacityFunctionofFlowFractionCurve().nameString(),
diff --git a/src/energyplus/Test/CoilHeatingDXMultiSpeed_GTest.cpp b/src/energyplus/Test/CoilHeatingDXMultiSpeed_GTest.cpp
index e18fd72c7d3..a83a9a8e44d 100644
--- a/src/energyplus/Test/CoilHeatingDXMultiSpeed_GTest.cpp
+++ b/src/energyplus/Test/CoilHeatingDXMultiSpeed_GTest.cpp
@@ -167,8 +167,10 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_CoilHeatingDXMultiSpeed_Basic) {
       EXPECT_EQ(stage.ratedAirFlowRate().get(), eg.getDouble(Coil_Heating_DX_MultiSpeedExtensibleFields::SpeedRatedAirFlowRate).get());
     }
 
-    EXPECT_EQ(stage.ratedSupplyAirFanPowerPerVolumeFlowRate(),
+    EXPECT_EQ(stage.ratedSupplyAirFanPowerPerVolumeFlowRate2017(),
               eg.getDouble(Coil_Heating_DX_MultiSpeedExtensibleFields::SpeedRatedSupplyAirFanPowerPerVolumeFlowRate2017).get());
+    EXPECT_EQ(stage.ratedSupplyAirFanPowerPerVolumeFlowRate2023(),
+              eg.getDouble(Coil_Heating_DX_MultiSpeedExtensibleFields::SpeedRatedSupplyAirFanPowerPerVolumeFlowRate2023).get());
     EXPECT_EQ(stage.heatingCapacityFunctionofTemperatureCurve().nameString(),
               eg.getString(Coil_Heating_DX_MultiSpeedExtensibleFields::SpeedHeatingCapacityFunctionofTemperatureCurveName).get());
     EXPECT_EQ(stage.heatingCapacityFunctionofFlowFractionCurve().nameString(),
diff --git a/src/model/CoilCoolingDXCurveFitSpeed.cpp b/src/model/CoilCoolingDXCurveFitSpeed.cpp
index d8ec16bc603..1e2f382aa82 100644
--- a/src/model/CoilCoolingDXCurveFitSpeed.cpp
+++ b/src/model/CoilCoolingDXCurveFitSpeed.cpp
@@ -165,8 +165,14 @@ namespace model {
       return value.get();
     }
 
-    double CoilCoolingDXCurveFitSpeed_Impl::ratedEvaporatorFanPowerPerVolumeFlowRate() const {
-      boost::optional<double> value = getDouble(OS_Coil_Cooling_DX_CurveFit_SpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate, true);
+    double CoilCoolingDXCurveFitSpeed_Impl::ratedEvaporatorFanPowerPerVolumeFlowRate2017() const {
+      boost::optional<double> value = getDouble(OS_Coil_Cooling_DX_CurveFit_SpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2017, true);
+      OS_ASSERT(value);
+      return value.get();
+    }
+
+    double CoilCoolingDXCurveFitSpeed_Impl::ratedEvaporatorFanPowerPerVolumeFlowRate2023() const {
+      boost::optional<double> value = getDouble(OS_Coil_Cooling_DX_CurveFit_SpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2023, true);
       OS_ASSERT(value);
       return value.get();
     }
@@ -267,9 +273,15 @@ namespace model {
       return result;
     }
 
-    bool CoilCoolingDXCurveFitSpeed_Impl::setRatedEvaporatorFanPowerPerVolumeFlowRate(double ratedEvaporatorFanPowerPerVolumeFlowRate) {
-      bool result =
-        setDouble(OS_Coil_Cooling_DX_CurveFit_SpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate, ratedEvaporatorFanPowerPerVolumeFlowRate);
+    bool CoilCoolingDXCurveFitSpeed_Impl::setRatedEvaporatorFanPowerPerVolumeFlowRate2017(double ratedEvaporatorFanPowerPerVolumeFlowRate2017) {
+      bool result = setDouble(OS_Coil_Cooling_DX_CurveFit_SpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2017,
+                              ratedEvaporatorFanPowerPerVolumeFlowRate2017);
+      return result;
+    }
+
+    bool CoilCoolingDXCurveFitSpeed_Impl::setRatedEvaporatorFanPowerPerVolumeFlowRate2023(double ratedEvaporatorFanPowerPerVolumeFlowRate2023) {
+      bool result = setDouble(OS_Coil_Cooling_DX_CurveFit_SpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2023,
+                              ratedEvaporatorFanPowerPerVolumeFlowRate2023);
       return result;
     }
 
@@ -403,7 +415,8 @@ namespace model {
     autosizeGrossSensibleHeatRatio();
     setGrossCoolingCOP(3.0);
     setActiveFractionofCoilFaceArea(1.0);
-    setRatedEvaporatorFanPowerPerVolumeFlowRate(773.3);
+    setRatedEvaporatorFanPowerPerVolumeFlowRate2017(773.3);
+    setRatedEvaporatorFanPowerPerVolumeFlowRate2023(934.4);
     setEvaporativeCondenserPumpPowerFraction(1.0);
     setEvaporativeCondenserEffectiveness(0.9);
     setRatedWasteHeatFractionofPowerInput(0.2);
@@ -505,7 +518,17 @@ namespace model {
   }
 
   double CoilCoolingDXCurveFitSpeed::ratedEvaporatorFanPowerPerVolumeFlowRate() const {
-    return getImpl<detail::CoilCoolingDXCurveFitSpeed_Impl>()->ratedEvaporatorFanPowerPerVolumeFlowRate();
+    LOG(Warn, "As of 3.5.0, ratedEvaporatorFanPowerPerVolumeFlowRate is deprecated. Use ratedEvaporatorFanPowerPerVolumeFlowRate2017 instead. It "
+              "will be removed within three releases.");
+    return getImpl<detail::CoilCoolingDXCurveFitSpeed_Impl>()->ratedEvaporatorFanPowerPerVolumeFlowRate2017();
+  }
+
+  double CoilCoolingDXCurveFitSpeed::ratedEvaporatorFanPowerPerVolumeFlowRate2017() const {
+    return getImpl<detail::CoilCoolingDXCurveFitSpeed_Impl>()->ratedEvaporatorFanPowerPerVolumeFlowRate2017();
+  }
+
+  double CoilCoolingDXCurveFitSpeed::ratedEvaporatorFanPowerPerVolumeFlowRate2023() const {
+    return getImpl<detail::CoilCoolingDXCurveFitSpeed_Impl>()->ratedEvaporatorFanPowerPerVolumeFlowRate2023();
   }
 
   double CoilCoolingDXCurveFitSpeed::evaporativeCondenserPumpPowerFraction() const {
@@ -585,7 +608,20 @@ namespace model {
   }
 
   bool CoilCoolingDXCurveFitSpeed::setRatedEvaporatorFanPowerPerVolumeFlowRate(double ratedEvaporatorFanPowerPerVolumeFlowRate) {
-    return getImpl<detail::CoilCoolingDXCurveFitSpeed_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate(ratedEvaporatorFanPowerPerVolumeFlowRate);
+    LOG(Warn, "As of 3.5.0, setRatedEvaporatorFanPowerPerVolumeFlowRate is deprecated. Use setRatedEvaporatorFanPowerPerVolumeFlowRate2017 instead. "
+              "It will be removed within three releases.");
+    return getImpl<detail::CoilCoolingDXCurveFitSpeed_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate2017(
+      ratedEvaporatorFanPowerPerVolumeFlowRate);
+  }
+
+  bool CoilCoolingDXCurveFitSpeed::setRatedEvaporatorFanPowerPerVolumeFlowRate2017(double ratedEvaporatorFanPowerPerVolumeFlowRate2017) {
+    return getImpl<detail::CoilCoolingDXCurveFitSpeed_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate2017(
+      ratedEvaporatorFanPowerPerVolumeFlowRate2017);
+  }
+
+  bool CoilCoolingDXCurveFitSpeed::setRatedEvaporatorFanPowerPerVolumeFlowRate2023(double ratedEvaporatorFanPowerPerVolumeFlowRate2023) {
+    return getImpl<detail::CoilCoolingDXCurveFitSpeed_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate2023(
+      ratedEvaporatorFanPowerPerVolumeFlowRate2023);
   }
 
   bool CoilCoolingDXCurveFitSpeed::setEvaporativeCondenserPumpPowerFraction(double evaporativeCondenserPumpPowerFraction) {
diff --git a/src/model/CoilCoolingDXCurveFitSpeed.hpp b/src/model/CoilCoolingDXCurveFitSpeed.hpp
index 2fc3bb41f79..19e69eff3b9 100644
--- a/src/model/CoilCoolingDXCurveFitSpeed.hpp
+++ b/src/model/CoilCoolingDXCurveFitSpeed.hpp
@@ -32,6 +32,7 @@
 
 #include <model/ModelAPI.hpp>
 #include "ResourceObject.hpp"
+#include "../utilities/core/Deprecated.hpp"
 
 namespace openstudio {
 
@@ -78,7 +79,11 @@ namespace model {
 
     double activeFractionofCoilFaceArea() const;
 
-    double ratedEvaporatorFanPowerPerVolumeFlowRate() const;
+    OS_DEPRECATED double ratedEvaporatorFanPowerPerVolumeFlowRate() const;
+
+    double ratedEvaporatorFanPowerPerVolumeFlowRate2017() const;
+
+    double ratedEvaporatorFanPowerPerVolumeFlowRate2023() const;
 
     double evaporativeCondenserPumpPowerFraction() const;
 
@@ -122,7 +127,11 @@ namespace model {
 
     bool setActiveFractionofCoilFaceArea(double activeFractionofCoilFaceArea);
 
-    bool setRatedEvaporatorFanPowerPerVolumeFlowRate(double ratedEvaporatorFanPowerPerVolumeFlowRate);
+    OS_DEPRECATED bool setRatedEvaporatorFanPowerPerVolumeFlowRate(double ratedEvaporatorFanPowerPerVolumeFlowRate);
+
+    bool setRatedEvaporatorFanPowerPerVolumeFlowRate2017(double ratedEvaporatorFanPowerPerVolumeFlowRate2017);
+
+    bool setRatedEvaporatorFanPowerPerVolumeFlowRate2023(double ratedEvaporatorFanPowerPerVolumeFlowRate2023);
 
     bool setEvaporativeCondenserPumpPowerFraction(double evaporativeCondenserPumpPowerFraction);
 
diff --git a/src/model/CoilCoolingDXCurveFitSpeed_Impl.hpp b/src/model/CoilCoolingDXCurveFitSpeed_Impl.hpp
index 10b064cabdc..21383323e94 100644
--- a/src/model/CoilCoolingDXCurveFitSpeed_Impl.hpp
+++ b/src/model/CoilCoolingDXCurveFitSpeed_Impl.hpp
@@ -89,7 +89,9 @@ namespace model {
 
       double activeFractionofCoilFaceArea() const;
 
-      double ratedEvaporatorFanPowerPerVolumeFlowRate() const;
+      double ratedEvaporatorFanPowerPerVolumeFlowRate2017() const;
+
+      double ratedEvaporatorFanPowerPerVolumeFlowRate2023() const;
 
       double evaporativeCondenserPumpPowerFraction() const;
 
@@ -132,7 +134,9 @@ namespace model {
 
       bool setActiveFractionofCoilFaceArea(double activeFractionofCoilFaceArea);
 
-      bool setRatedEvaporatorFanPowerPerVolumeFlowRate(double ratedEvaporatorFanPowerPerVolumeFlowRate);
+      bool setRatedEvaporatorFanPowerPerVolumeFlowRate2017(double ratedEvaporatorFanPowerPerVolumeFlowRate2017);
+
+      bool setRatedEvaporatorFanPowerPerVolumeFlowRate2023(double ratedEvaporatorFanPowerPerVolumeFlowRate2023);
 
       bool setEvaporativeCondenserPumpPowerFraction(double evaporativeCondenserPumpPowerFraction);
 
diff --git a/src/model/CoilCoolingDXMultiSpeedStageData.cpp b/src/model/CoilCoolingDXMultiSpeedStageData.cpp
index a9b579cd973..657de1f073d 100644
--- a/src/model/CoilCoolingDXMultiSpeedStageData.cpp
+++ b/src/model/CoilCoolingDXMultiSpeedStageData.cpp
@@ -119,8 +119,14 @@ namespace model {
       return result;
     }
 
-    double CoilCoolingDXMultiSpeedStageData_Impl::ratedEvaporatorFanPowerPerVolumeFlowRate() const {
-      boost::optional<double> value = getDouble(OS_Coil_Cooling_DX_MultiSpeed_StageDataFields::RatedEvaporatorFanPowerPerVolumeFlowRate, true);
+    double CoilCoolingDXMultiSpeedStageData_Impl::ratedEvaporatorFanPowerPerVolumeFlowRate2017() const {
+      boost::optional<double> value = getDouble(OS_Coil_Cooling_DX_MultiSpeed_StageDataFields::RatedEvaporatorFanPowerPerVolumeFlowRate2017, true);
+      OS_ASSERT(value);
+      return value.get();
+    }
+
+    double CoilCoolingDXMultiSpeedStageData_Impl::ratedEvaporatorFanPowerPerVolumeFlowRate2023() const {
+      boost::optional<double> value = getDouble(OS_Coil_Cooling_DX_MultiSpeed_StageDataFields::RatedEvaporatorFanPowerPerVolumeFlowRate2023, true);
       OS_ASSERT(value);
       return value.get();
     }
@@ -282,9 +288,15 @@ namespace model {
       OS_ASSERT(result);
     }
 
-    bool CoilCoolingDXMultiSpeedStageData_Impl::setRatedEvaporatorFanPowerPerVolumeFlowRate(double ratedEvaporatorFanPowerPerVolumeFlowRate) {
-      bool result =
-        setDouble(OS_Coil_Cooling_DX_MultiSpeed_StageDataFields::RatedEvaporatorFanPowerPerVolumeFlowRate, ratedEvaporatorFanPowerPerVolumeFlowRate);
+    bool CoilCoolingDXMultiSpeedStageData_Impl::setRatedEvaporatorFanPowerPerVolumeFlowRate2017(double ratedEvaporatorFanPowerPerVolumeFlowRate2017) {
+      bool result = setDouble(OS_Coil_Cooling_DX_MultiSpeed_StageDataFields::RatedEvaporatorFanPowerPerVolumeFlowRate2017,
+                              ratedEvaporatorFanPowerPerVolumeFlowRate2017);
+      return result;
+    }
+
+    bool CoilCoolingDXMultiSpeedStageData_Impl::setRatedEvaporatorFanPowerPerVolumeFlowRate2023(double ratedEvaporatorFanPowerPerVolumeFlowRate2023) {
+      bool result = setDouble(OS_Coil_Cooling_DX_MultiSpeed_StageDataFields::RatedEvaporatorFanPowerPerVolumeFlowRate2023,
+                              ratedEvaporatorFanPowerPerVolumeFlowRate2023);
       return result;
     }
 
@@ -643,7 +655,9 @@ namespace model {
     OS_ASSERT(ok);
     autosizeEvaporativeCondenserAirFlowRate();
     autosizeRatedEvaporativeCondenserPumpPowerConsumption();
-    ok = setRatedEvaporatorFanPowerPerVolumeFlowRate(773.3);
+    ok = setRatedEvaporatorFanPowerPerVolumeFlowRate2017(773.3);
+    OS_ASSERT(ok);
+    ok = setRatedEvaporatorFanPowerPerVolumeFlowRate2023(934.4);
     OS_ASSERT(ok);
     ok = setTotalCoolingCapacityFunctionofTemperatureCurve(coolingCapacityFunctionofTemperature);
     OS_ASSERT(ok);
@@ -688,7 +702,9 @@ namespace model {
     OS_ASSERT(ok);
     autosizeEvaporativeCondenserAirFlowRate();
     autosizeRatedEvaporativeCondenserPumpPowerConsumption();
-    ok = setRatedEvaporatorFanPowerPerVolumeFlowRate(773.3);
+    ok = setRatedEvaporatorFanPowerPerVolumeFlowRate2017(773.3);
+    OS_ASSERT(ok);
+    ok = setRatedEvaporatorFanPowerPerVolumeFlowRate2023(934.4);
     OS_ASSERT(ok);
     ok = setTotalCoolingCapacityFunctionofTemperatureCurve(coolingCapacityFunctionofTemperature);
     OS_ASSERT(ok);
@@ -737,7 +753,17 @@ namespace model {
   }
 
   double CoilCoolingDXMultiSpeedStageData::ratedEvaporatorFanPowerPerVolumeFlowRate() const {
-    return getImpl<detail::CoilCoolingDXMultiSpeedStageData_Impl>()->ratedEvaporatorFanPowerPerVolumeFlowRate();
+    LOG(Warn, "As of 3.5.0, ratedEvaporatorFanPowerPerVolumeFlowRate is deprecated. Use ratedEvaporatorFanPowerPerVolumeFlowRate2017 instead. It "
+              "will be removed within three releases.");
+    return getImpl<detail::CoilCoolingDXMultiSpeedStageData_Impl>()->ratedEvaporatorFanPowerPerVolumeFlowRate2017();
+  }
+
+  double CoilCoolingDXMultiSpeedStageData::ratedEvaporatorFanPowerPerVolumeFlowRate2017() const {
+    return getImpl<detail::CoilCoolingDXMultiSpeedStageData_Impl>()->ratedEvaporatorFanPowerPerVolumeFlowRate2017();
+  }
+
+  double CoilCoolingDXMultiSpeedStageData::ratedEvaporatorFanPowerPerVolumeFlowRate2023() const {
+    return getImpl<detail::CoilCoolingDXMultiSpeedStageData_Impl>()->ratedEvaporatorFanPowerPerVolumeFlowRate2023();
   }
 
   Curve CoilCoolingDXMultiSpeedStageData::totalCoolingCapacityFunctionofTemperatureCurve() const {
@@ -833,10 +859,22 @@ namespace model {
   }
 
   bool CoilCoolingDXMultiSpeedStageData::setRatedEvaporatorFanPowerPerVolumeFlowRate(double ratedEvaporatorFanPowerPerVolumeFlowRate) {
-    return getImpl<detail::CoilCoolingDXMultiSpeedStageData_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate(
+    LOG(Warn, "As of 3.5.0, setRatedEvaporatorFanPowerPerVolumeFlowRate is deprecated. Use setRatedEvaporatorFanPowerPerVolumeFlowRate2017 instead. "
+              "It will be removed within three releases.");
+    return getImpl<detail::CoilCoolingDXMultiSpeedStageData_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate2017(
       ratedEvaporatorFanPowerPerVolumeFlowRate);
   }
 
+  bool CoilCoolingDXMultiSpeedStageData::setRatedEvaporatorFanPowerPerVolumeFlowRate2017(double ratedEvaporatorFanPowerPerVolumeFlowRate2017) {
+    return getImpl<detail::CoilCoolingDXMultiSpeedStageData_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate2017(
+      ratedEvaporatorFanPowerPerVolumeFlowRate2017);
+  }
+
+  bool CoilCoolingDXMultiSpeedStageData::setRatedEvaporatorFanPowerPerVolumeFlowRate2023(double ratedEvaporatorFanPowerPerVolumeFlowRate2023) {
+    return getImpl<detail::CoilCoolingDXMultiSpeedStageData_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate2023(
+      ratedEvaporatorFanPowerPerVolumeFlowRate2023);
+  }
+
   bool CoilCoolingDXMultiSpeedStageData::setTotalCoolingCapacityFunctionofTemperatureCurve(const Curve& curve) {
     return getImpl<detail::CoilCoolingDXMultiSpeedStageData_Impl>()->setTotalCoolingCapacityFunctionofTemperatureCurve(curve);
   }
diff --git a/src/model/CoilCoolingDXMultiSpeedStageData.hpp b/src/model/CoilCoolingDXMultiSpeedStageData.hpp
index 4363580f0af..a0210b875c7 100644
--- a/src/model/CoilCoolingDXMultiSpeedStageData.hpp
+++ b/src/model/CoilCoolingDXMultiSpeedStageData.hpp
@@ -33,6 +33,7 @@
 #include "ModelAPI.hpp"
 #include "ParentObject.hpp"
 #include "../model/CoilCoolingDXMultiSpeed.hpp"
+#include "../utilities/core/Deprecated.hpp"
 
 namespace openstudio {
 
@@ -84,7 +85,11 @@ namespace model {
 
     bool isRatedAirFlowRateAutosized() const;
 
-    double ratedEvaporatorFanPowerPerVolumeFlowRate() const;
+    OS_DEPRECATED double ratedEvaporatorFanPowerPerVolumeFlowRate() const;
+
+    double ratedEvaporatorFanPowerPerVolumeFlowRate2017() const;
+
+    double ratedEvaporatorFanPowerPerVolumeFlowRate2023() const;
 
     Curve totalCoolingCapacityFunctionofTemperatureCurve() const;
 
@@ -136,7 +141,11 @@ namespace model {
 
     void autosizeRatedAirFlowRate();
 
-    bool setRatedEvaporatorFanPowerPerVolumeFlowRate(double ratedEvaporatorFanPowerPerVolumeFlowRate);
+    OS_DEPRECATED bool setRatedEvaporatorFanPowerPerVolumeFlowRate(double ratedEvaporatorFanPowerPerVolumeFlowRate);
+
+    bool setRatedEvaporatorFanPowerPerVolumeFlowRate2017(double ratedEvaporatorFanPowerPerVolumeFlowRate2017);
+
+    bool setRatedEvaporatorFanPowerPerVolumeFlowRate2023(double ratedEvaporatorFanPowerPerVolumeFlowRate2023);
 
     bool setTotalCoolingCapacityFunctionofTemperatureCurve(const Curve& curve);
 
diff --git a/src/model/CoilCoolingDXMultiSpeedStageData_Impl.hpp b/src/model/CoilCoolingDXMultiSpeedStageData_Impl.hpp
index 54bc85ed503..71c7c64a1ec 100644
--- a/src/model/CoilCoolingDXMultiSpeedStageData_Impl.hpp
+++ b/src/model/CoilCoolingDXMultiSpeedStageData_Impl.hpp
@@ -89,7 +89,9 @@ namespace model {
 
       bool isRatedAirFlowRateAutosized() const;
 
-      double ratedEvaporatorFanPowerPerVolumeFlowRate() const;
+      double ratedEvaporatorFanPowerPerVolumeFlowRate2017() const;
+
+      double ratedEvaporatorFanPowerPerVolumeFlowRate2023() const;
 
       Curve totalCoolingCapacityFunctionofTemperatureCurve() const;
 
@@ -141,7 +143,9 @@ namespace model {
 
       void autosizeRatedAirFlowRate();
 
-      bool setRatedEvaporatorFanPowerPerVolumeFlowRate(double ratedEvaporatorFanPowerPerVolumeFlowRate);
+      bool setRatedEvaporatorFanPowerPerVolumeFlowRate2017(double ratedEvaporatorFanPowerPerVolumeFlowRate2017);
+
+      bool setRatedEvaporatorFanPowerPerVolumeFlowRate2023(double ratedEvaporatorFanPowerPerVolumeFlowRate2023);
 
       bool setTotalCoolingCapacityFunctionofTemperatureCurve(const Curve& curve);
 
diff --git a/src/model/CoilCoolingDXSingleSpeed.cpp b/src/model/CoilCoolingDXSingleSpeed.cpp
index d45eda52ce4..8bb4767b823 100644
--- a/src/model/CoilCoolingDXSingleSpeed.cpp
+++ b/src/model/CoilCoolingDXSingleSpeed.cpp
@@ -215,18 +215,32 @@ namespace model {
       return setDouble(OS_Coil_Cooling_DX_SingleSpeedFields::RatedCOP, value);
     }
 
-    double CoilCoolingDXSingleSpeed_Impl::ratedEvaporatorFanPowerPerVolumeFlowRate() const {
-      boost::optional<double> value = getDouble(OS_Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate);
+    double CoilCoolingDXSingleSpeed_Impl::ratedEvaporatorFanPowerPerVolumeFlowRate2017() const {
+      boost::optional<double> value = getDouble(OS_Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2017);
       OS_ASSERT(value);
       return value.get();
     }
 
-    bool CoilCoolingDXSingleSpeed_Impl::setRatedEvaporatorFanPowerPerVolumeFlowRate(boost::optional<double> value) {
-      return setDouble(OS_Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate, value.get());
+    double CoilCoolingDXSingleSpeed_Impl::ratedEvaporatorFanPowerPerVolumeFlowRate2023() const {
+      boost::optional<double> value = getDouble(OS_Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2023);
+      OS_ASSERT(value);
+      return value.get();
+    }
+
+    bool CoilCoolingDXSingleSpeed_Impl::setRatedEvaporatorFanPowerPerVolumeFlowRate2017(boost::optional<double> value) {
+      return setDouble(OS_Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2017, value.get());
+    }
+
+    bool CoilCoolingDXSingleSpeed_Impl::setRatedEvaporatorFanPowerPerVolumeFlowRate2017(double value) {
+      return setDouble(OS_Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2017, value);
+    }
+
+    bool CoilCoolingDXSingleSpeed_Impl::setRatedEvaporatorFanPowerPerVolumeFlowRate2023(boost::optional<double> value) {
+      return setDouble(OS_Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2023, value.get());
     }
 
-    bool CoilCoolingDXSingleSpeed_Impl::setRatedEvaporatorFanPowerPerVolumeFlowRate(double value) {
-      return setDouble(OS_Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate, value);
+    bool CoilCoolingDXSingleSpeed_Impl::setRatedEvaporatorFanPowerPerVolumeFlowRate2023(double value) {
+      return setDouble(OS_Coil_Cooling_DX_SingleSpeedFields::RatedEvaporatorFanPowerPerVolumeFlowRate2023, value);
     }
 
     Curve CoilCoolingDXSingleSpeed_Impl::totalCoolingCapacityFunctionOfTemperatureCurve() const {
@@ -916,7 +930,8 @@ namespace model {
     autosizeRatedSensibleHeatRatio();     //autosize
     autosizeRatedAirFlowRate();           //autosize
     setRatedCOP(3.0);
-    setRatedEvaporatorFanPowerPerVolumeFlowRate(773.3);
+    setRatedEvaporatorFanPowerPerVolumeFlowRate2017(773.3);
+    setRatedEvaporatorFanPowerPerVolumeFlowRate2023(934.4);
     setTotalCoolingCapacityFunctionOfTemperatureCurve(coolingCurveFofTemp);
     setTotalCoolingCapacityFunctionOfFlowFractionCurve(coolingCurveFofFlow);
     setEnergyInputRatioFunctionOfTemperatureCurve(energyInputRatioFofTemp);
@@ -958,7 +973,8 @@ namespace model {
     autosizeRatedSensibleHeatRatio();     //autosize
     autosizeRatedAirFlowRate();           //autosize
     setRatedCOP(3.0);
-    setRatedEvaporatorFanPowerPerVolumeFlowRate(773.3);
+    setRatedEvaporatorFanPowerPerVolumeFlowRate2017(773.3);
+    setRatedEvaporatorFanPowerPerVolumeFlowRate2023(934.4);
     setTotalCoolingCapacityFunctionOfTemperatureCurve(coolingCurveFofTemp);
     setTotalCoolingCapacityFunctionOfFlowFractionCurve(coolingCurveFofFlow);
     setEnergyInputRatioFunctionOfTemperatureCurve(energyInputRatioFofTemp);
@@ -1005,15 +1021,45 @@ namespace model {
   }
 
   double CoilCoolingDXSingleSpeed::ratedEvaporatorFanPowerPerVolumeFlowRate() const {
-    return getImpl<detail::CoilCoolingDXSingleSpeed_Impl>()->ratedEvaporatorFanPowerPerVolumeFlowRate();
+    LOG(Warn, "As of 3.5.0, ratedEvaporatorFanPowerPerVolumeFlowRate is deprecated. Use ratedSupplyFanPowerPerVolumeFlowRate2017 instead. It will be "
+              "removed within three releases.");
+    return getImpl<detail::CoilCoolingDXSingleSpeed_Impl>()->ratedEvaporatorFanPowerPerVolumeFlowRate2017();
+  }
+
+  double CoilCoolingDXSingleSpeed::ratedEvaporatorFanPowerPerVolumeFlowRate2017() const {
+    return getImpl<detail::CoilCoolingDXSingleSpeed_Impl>()->ratedEvaporatorFanPowerPerVolumeFlowRate2017();
+  }
+
+  double CoilCoolingDXSingleSpeed::ratedEvaporatorFanPowerPerVolumeFlowRate2023() const {
+    return getImpl<detail::CoilCoolingDXSingleSpeed_Impl>()->ratedEvaporatorFanPowerPerVolumeFlowRate2023();
   }
 
   bool CoilCoolingDXSingleSpeed::setRatedEvaporatorFanPowerPerVolumeFlowRate(boost::optional<double> value) {
-    return getImpl<detail::CoilCoolingDXSingleSpeed_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate(value);
+    LOG(Warn, "As of 3.5.0, setRatedEvaporatorFanPowerPerVolumeFlowRate is deprecated. Use setRatedEvaporatorFanPowerPerVolumeFlowRate2017 instead. "
+              "It will be removed within three releases.");
+    return getImpl<detail::CoilCoolingDXSingleSpeed_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate2017(value);
   }
 
   bool CoilCoolingDXSingleSpeed::setRatedEvaporatorFanPowerPerVolumeFlowRate(double value) {
-    return getImpl<detail::CoilCoolingDXSingleSpeed_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate(value);
+    LOG(Warn, "As of 3.5.0, setRatedEvaporatorFanPowerPerVolumeFlowRate is deprecated. Use setRatedEvaporatorFanPowerPerVolumeFlowRate2017 instead. "
+              "It will be removed within three releases.");
+    return getImpl<detail::CoilCoolingDXSingleSpeed_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate2017(value);
+  }
+
+  bool CoilCoolingDXSingleSpeed::setRatedEvaporatorFanPowerPerVolumeFlowRate2017(boost::optional<double> value) {
+    return getImpl<detail::CoilCoolingDXSingleSpeed_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate2017(value);
+  }
+
+  bool CoilCoolingDXSingleSpeed::setRatedEvaporatorFanPowerPerVolumeFlowRate2017(double value) {
+    return getImpl<detail::CoilCoolingDXSingleSpeed_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate2017(value);
+  }
+
+  bool CoilCoolingDXSingleSpeed::setRatedEvaporatorFanPowerPerVolumeFlowRate2023(boost::optional<double> value) {
+    return getImpl<detail::CoilCoolingDXSingleSpeed_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate2023(value);
+  }
+
+  bool CoilCoolingDXSingleSpeed::setRatedEvaporatorFanPowerPerVolumeFlowRate2023(double value) {
+    return getImpl<detail::CoilCoolingDXSingleSpeed_Impl>()->setRatedEvaporatorFanPowerPerVolumeFlowRate2023(value);
   }
 
   Curve CoilCoolingDXSingleSpeed::totalCoolingCapacityFunctionOfTemperatureCurve() const {
diff --git a/src/model/CoilCoolingDXSingleSpeed.hpp b/src/model/CoilCoolingDXSingleSpeed.hpp
index 3a277b0e3d9..59bd2f687ca 100644
--- a/src/model/CoilCoolingDXSingleSpeed.hpp
+++ b/src/model/CoilCoolingDXSingleSpeed.hpp
@@ -35,6 +35,7 @@
 #include "ModelObject.hpp"
 #include "StraightComponent.hpp"
 #include "Connection.hpp"
+#include "../utilities/core/Deprecated.hpp"
 
 namespace openstudio {
 namespace model {
@@ -93,7 +94,13 @@ namespace model {
     double ratedCOP() const;
 
     /** Returns the value of the RatedEvaporatorFanPowerPerVolumeFlowRate field. **/
-    double ratedEvaporatorFanPowerPerVolumeFlowRate() const;
+    OS_DEPRECATED double ratedEvaporatorFanPowerPerVolumeFlowRate() const;
+
+    /** Returns the value of the RatedEvaporatorFanPowerPerVolumeFlowRate2017 field. **/
+    double ratedEvaporatorFanPowerPerVolumeFlowRate2017() const;
+
+    /** Returns the value of the RatedEvaporatorFanPowerPerVolumeFlowRate2023 field. **/
+    double ratedEvaporatorFanPowerPerVolumeFlowRate2023() const;
 
     /** Returns the CurveBiquadratic referred to by the TotalCoolingCapacityFunctionOfTemperatureCurveName field. **/
     Curve totalCoolingCapacityFunctionOfTemperatureCurve() const;
@@ -170,9 +177,19 @@ namespace model {
     bool setRatedCOP(double value);
 
     /** Sets the value of the RatedEvaporatorFanPowerPerVolumeFlowRate field. **/
-    bool setRatedEvaporatorFanPowerPerVolumeFlowRate(boost::optional<double> value);
+    OS_DEPRECATED bool setRatedEvaporatorFanPowerPerVolumeFlowRate(boost::optional<double> value);
+
+    /** Sets the value of the RatedEvaporatorFanPowerPerVolumeFlowRate2017 field. **/
+    bool setRatedEvaporatorFanPowerPerVolumeFlowRate2017(boost::optional<double> value);
+
+    /** Sets the value of the RatedEvaporatorFanPowerPerVolumeFlowRate2023 field. **/
+    bool setRatedEvaporatorFanPowerPerVolumeFlowRate2023(boost::optional<double> value);
+
+    OS_DEPRECATED bool setRatedEvaporatorFanPowerPerVolumeFlowRate(double value);
+
+    bool setRatedEvaporatorFanPowerPerVolumeFlowRate2017(double value);
 
-    bool setRatedEvaporatorFanPowerPerVolumeFlowRate(double value);
+    bool setRatedEvaporatorFanPowerPerVolumeFlowRate2023(double value);
 
     /** Sets the CurveBiquadratic referred to by the TotalCoolingCapacityFunctionOfTemperatureCurveName field. **/
     bool setTotalCoolingCapacityFunctionOfTemperatureCurve(const Curve& curve);
diff --git a/src/model/CoilCoolingDXSingleSpeed_Impl.hpp b/src/model/CoilCoolingDXSingleSpeed_Impl.hpp
index 0ceaaed7f27..6819aeb37ce 100644
--- a/src/model/CoilCoolingDXSingleSpeed_Impl.hpp
+++ b/src/model/CoilCoolingDXSingleSpeed_Impl.hpp
@@ -92,7 +92,9 @@ namespace model {
 
       double ratedCOP() const;
 
-      double ratedEvaporatorFanPowerPerVolumeFlowRate() const;
+      double ratedEvaporatorFanPowerPerVolumeFlowRate2017() const;
+
+      double ratedEvaporatorFanPowerPerVolumeFlowRate2023() const;
 
       Curve totalCoolingCapacityFunctionOfTemperatureCurve() const;
 
@@ -160,9 +162,13 @@ namespace model {
 
       bool setRatedCOP(double value);
 
-      bool setRatedEvaporatorFanPowerPerVolumeFlowRate(boost::optional<double> value);
+      bool setRatedEvaporatorFanPowerPerVolumeFlowRate2017(boost::optional<double> value);
+
+      bool setRatedEvaporatorFanPowerPerVolumeFlowRate2017(double value);
+
+      bool setRatedEvaporatorFanPowerPerVolumeFlowRate2023(boost::optional<double> value);
 
-      bool setRatedEvaporatorFanPowerPerVolumeFlowRate(double value);
+      bool setRatedEvaporatorFanPowerPerVolumeFlowRate2023(double value);
 
       bool setTotalCoolingCapacityFunctionOfTemperatureCurve(const Curve& curve);
 
diff --git a/src/model/CoilHeatingDXMultiSpeedStageData.cpp b/src/model/CoilHeatingDXMultiSpeedStageData.cpp
index d02af690080..23cf89c8911 100644
--- a/src/model/CoilHeatingDXMultiSpeedStageData.cpp
+++ b/src/model/CoilHeatingDXMultiSpeedStageData.cpp
@@ -105,8 +105,14 @@ namespace model {
       return result;
     }
 
-    double CoilHeatingDXMultiSpeedStageData_Impl::ratedSupplyAirFanPowerPerVolumeFlowRate() const {
-      boost::optional<double> value = getDouble(OS_Coil_Heating_DX_MultiSpeed_StageDataFields::RatedSupplyAirFanPowerPerVolumeFlowRate, true);
+    double CoilHeatingDXMultiSpeedStageData_Impl::ratedSupplyAirFanPowerPerVolumeFlowRate2017() const {
+      boost::optional<double> value = getDouble(OS_Coil_Heating_DX_MultiSpeed_StageDataFields::RatedSupplyAirFanPowerPerVolumeFlowRate2017, true);
+      OS_ASSERT(value);
+      return value.get();
+    }
+
+    double CoilHeatingDXMultiSpeedStageData_Impl::ratedSupplyAirFanPowerPerVolumeFlowRate2023() const {
+      boost::optional<double> value = getDouble(OS_Coil_Heating_DX_MultiSpeed_StageDataFields::RatedSupplyAirFanPowerPerVolumeFlowRate2023, true);
       OS_ASSERT(value);
       return value.get();
     }
@@ -196,9 +202,15 @@ namespace model {
       OS_ASSERT(result);
     }
 
-    bool CoilHeatingDXMultiSpeedStageData_Impl::setRatedSupplyAirFanPowerPerVolumeFlowRate(double ratedSupplyAirFanPowerPerVolumeFlowRate) {
-      bool result =
-        setDouble(OS_Coil_Heating_DX_MultiSpeed_StageDataFields::RatedSupplyAirFanPowerPerVolumeFlowRate, ratedSupplyAirFanPowerPerVolumeFlowRate);
+    bool CoilHeatingDXMultiSpeedStageData_Impl::setRatedSupplyAirFanPowerPerVolumeFlowRate2017(double ratedSupplyAirFanPowerPerVolumeFlowRate2017) {
+      bool result = setDouble(OS_Coil_Heating_DX_MultiSpeed_StageDataFields::RatedSupplyAirFanPowerPerVolumeFlowRate2017,
+                              ratedSupplyAirFanPowerPerVolumeFlowRate2017);
+      return result;
+    }
+
+    bool CoilHeatingDXMultiSpeedStageData_Impl::setRatedSupplyAirFanPowerPerVolumeFlowRate2023(double ratedSupplyAirFanPowerPerVolumeFlowRate2023) {
+      bool result = setDouble(OS_Coil_Heating_DX_MultiSpeed_StageDataFields::RatedSupplyAirFanPowerPerVolumeFlowRate2023,
+                              ratedSupplyAirFanPowerPerVolumeFlowRate2023);
       return result;
     }
 
@@ -432,7 +444,9 @@ namespace model {
     ok = setGrossRatedHeatingCOP(2.75);
     OS_ASSERT(ok);
     autosizeRatedAirFlowRate();
-    ok = setRatedSupplyAirFanPowerPerVolumeFlowRate(773.3);
+    ok = setRatedSupplyAirFanPowerPerVolumeFlowRate2017(773.3);
+    OS_ASSERT(ok);
+    ok = setRatedSupplyAirFanPowerPerVolumeFlowRate2023(934.4);
     OS_ASSERT(ok);
     ok = setHeatingCapacityFunctionofTemperatureCurve(heating_curve_1);
     OS_ASSERT(ok);
@@ -464,7 +478,9 @@ namespace model {
     ok = setGrossRatedHeatingCOP(2.75);
     OS_ASSERT(ok);
     autosizeRatedAirFlowRate();
-    ok = setRatedSupplyAirFanPowerPerVolumeFlowRate(773.3);
+    ok = setRatedSupplyAirFanPowerPerVolumeFlowRate2017(773.3);
+    OS_ASSERT(ok);
+    ok = setRatedSupplyAirFanPowerPerVolumeFlowRate2023(934.4);
     OS_ASSERT(ok);
     ok = setHeatingCapacityFunctionofTemperatureCurve(heatingCapacityFunctionofTemperature);
     OS_ASSERT(ok);
@@ -507,7 +523,17 @@ namespace model {
   }
 
   double CoilHeatingDXMultiSpeedStageData::ratedSupplyAirFanPowerPerVolumeFlowRate() const {
-    return getImpl<detail::CoilHeatingDXMultiSpeedStageData_Impl>()->ratedSupplyAirFanPowerPerVolumeFlowRate();
+    LOG(Warn, "As of 3.5.0, ratedSupplyAirFanPowerPerVolumeFlowRate is deprecated. Use ratedSupplyAirFanPowerPerVolumeFlowRate2017 instead. It will "
+              "be removed within three releases.")
+    return getImpl<detail::CoilHeatingDXMultiSpeedStageData_Impl>()->ratedSupplyAirFanPowerPerVolumeFlowRate2017();
+  }
+
+  double CoilHeatingDXMultiSpeedStageData::ratedSupplyAirFanPowerPerVolumeFlowRate2017() const {
+    return getImpl<detail::CoilHeatingDXMultiSpeedStageData_Impl>()->ratedSupplyAirFanPowerPerVolumeFlowRate2017();
+  }
+
+  double CoilHeatingDXMultiSpeedStageData::ratedSupplyAirFanPowerPerVolumeFlowRate2023() const {
+    return getImpl<detail::CoilHeatingDXMultiSpeedStageData_Impl>()->ratedSupplyAirFanPowerPerVolumeFlowRate2023();
   }
 
   Curve CoilHeatingDXMultiSpeedStageData::heatingCapacityFunctionofTemperatureCurve() const {
@@ -559,10 +585,22 @@ namespace model {
   }
 
   bool CoilHeatingDXMultiSpeedStageData::setRatedSupplyAirFanPowerPerVolumeFlowRate(double ratedSupplyAirFanPowerPerVolumeFlowRate) {
-    return getImpl<detail::CoilHeatingDXMultiSpeedStageData_Impl>()->setRatedSupplyAirFanPowerPerVolumeFlowRate(
+    LOG(Warn, "As of 3.5.0, setRatedSupplyAirFanPowerPerVolumeFlowRate is deprecated. Use setRatedSupplyAirFanPowerPerVolumeFlowRate2017 instead. It "
+              "will be removed within three releases.");
+    return getImpl<detail::CoilHeatingDXMultiSpeedStageData_Impl>()->setRatedSupplyAirFanPowerPerVolumeFlowRate2017(
       ratedSupplyAirFanPowerPerVolumeFlowRate);
   }
 
+  bool CoilHeatingDXMultiSpeedStageData::setRatedSupplyAirFanPowerPerVolumeFlowRate2017(double ratedSupplyAirFanPowerPerVolumeFlowRate2017) {
+    return getImpl<detail::CoilHeatingDXMultiSpeedStageData_Impl>()->setRatedSupplyAirFanPowerPerVolumeFlowRate2017(
+      ratedSupplyAirFanPowerPerVolumeFlowRate2017);
+  }
+
+  bool CoilHeatingDXMultiSpeedStageData::setRatedSupplyAirFanPowerPerVolumeFlowRate2023(double ratedSupplyAirFanPowerPerVolumeFlowRate2023) {
+    return getImpl<detail::CoilHeatingDXMultiSpeedStageData_Impl>()->setRatedSupplyAirFanPowerPerVolumeFlowRate2023(
+      ratedSupplyAirFanPowerPerVolumeFlowRate2023);
+  }
+
   bool CoilHeatingDXMultiSpeedStageData::setHeatingCapacityFunctionofTemperatureCurve(const Curve& curve) {
     return getImpl<detail::CoilHeatingDXMultiSpeedStageData_Impl>()->setHeatingCapacityFunctionofTemperatureCurve(curve);
   }
diff --git a/src/model/CoilHeatingDXMultiSpeedStageData.hpp b/src/model/CoilHeatingDXMultiSpeedStageData.hpp
index b2b7bcc8ab4..329891e6e51 100644
--- a/src/model/CoilHeatingDXMultiSpeedStageData.hpp
+++ b/src/model/CoilHeatingDXMultiSpeedStageData.hpp
@@ -33,6 +33,7 @@
 #include "ModelAPI.hpp"
 #include "ParentObject.hpp"
 #include "../model/CoilHeatingDXMultiSpeed.hpp"
+#include "../utilities/core/Deprecated.hpp"
 
 namespace openstudio {
 
@@ -79,7 +80,11 @@ namespace model {
 
     bool isRatedAirFlowRateAutosized() const;
 
-    double ratedSupplyAirFanPowerPerVolumeFlowRate() const;
+    OS_DEPRECATED double ratedSupplyAirFanPowerPerVolumeFlowRate() const;
+
+    double ratedSupplyAirFanPowerPerVolumeFlowRate2017() const;
+
+    double ratedSupplyAirFanPowerPerVolumeFlowRate2023() const;
 
     Curve heatingCapacityFunctionofTemperatureCurve() const;
 
@@ -109,7 +114,11 @@ namespace model {
 
     void autosizeRatedAirFlowRate();
 
-    bool setRatedSupplyAirFanPowerPerVolumeFlowRate(double ratedSupplyAirFanPowerPerVolumeFlowRate);
+    OS_DEPRECATED bool setRatedSupplyAirFanPowerPerVolumeFlowRate(double ratedSupplyAirFanPowerPerVolumeFlowRate);
+
+    bool setRatedSupplyAirFanPowerPerVolumeFlowRate2017(double ratedSupplyAirFanPowerPerVolumeFlowRate2017);
+
+    bool setRatedSupplyAirFanPowerPerVolumeFlowRate2023(double ratedSupplyAirFanPowerPerVolumeFlowRate2023);
 
     bool setHeatingCapacityFunctionofTemperatureCurve(const Curve& curve);
 
diff --git a/src/model/CoilHeatingDXMultiSpeedStageData_Impl.hpp b/src/model/CoilHeatingDXMultiSpeedStageData_Impl.hpp
index 00360ecf5d9..ec664b09180 100644
--- a/src/model/CoilHeatingDXMultiSpeedStageData_Impl.hpp
+++ b/src/model/CoilHeatingDXMultiSpeedStageData_Impl.hpp
@@ -85,7 +85,9 @@ namespace model {
 
       bool isRatedAirFlowRateAutosized() const;
 
-      double ratedSupplyAirFanPowerPerVolumeFlowRate() const;
+      double ratedSupplyAirFanPowerPerVolumeFlowRate2017() const;
+
+      double ratedSupplyAirFanPowerPerVolumeFlowRate2023() const;
 
       Curve heatingCapacityFunctionofTemperatureCurve() const;
 
@@ -115,7 +117,9 @@ namespace model {
 
       void autosizeRatedAirFlowRate();
 
-      bool setRatedSupplyAirFanPowerPerVolumeFlowRate(double ratedSupplyAirFanPowerPerVolumeFlowRate);
+      bool setRatedSupplyAirFanPowerPerVolumeFlowRate2017(double ratedSupplyAirFanPowerPerVolumeFlowRate2017);
+
+      bool setRatedSupplyAirFanPowerPerVolumeFlowRate2023(double ratedSupplyAirFanPowerPerVolumeFlowRate2023);
 
       bool setHeatingCapacityFunctionofTemperatureCurve(const Curve& curve);
 
diff --git a/src/model/CoilHeatingDXSingleSpeed.cpp b/src/model/CoilHeatingDXSingleSpeed.cpp
index fa0c1935cfb..035573fb210 100644
--- a/src/model/CoilHeatingDXSingleSpeed.cpp
+++ b/src/model/CoilHeatingDXSingleSpeed.cpp
@@ -610,14 +610,27 @@ namespace model {
       return false;
     }
 
-    double CoilHeatingDXSingleSpeed_Impl::ratedSupplyFanPowerPerVolumeFlowRate() const {
-      boost::optional<double> value = getDouble(OS_Coil_Heating_DX_SingleSpeedFields::RatedSupplyFanPowerPerVolumeFlowRate, true);
+    double CoilHeatingDXSingleSpeed_Impl::ratedSupplyFanPowerPerVolumeFlowRate2017() const {
+      boost::optional<double> value = getDouble(OS_Coil_Heating_DX_SingleSpeedFields::RatedSupplyFanPowerPerVolumeFlowRate2017, true);
       OS_ASSERT(value);
       return value.get();
     }
 
-    bool CoilHeatingDXSingleSpeed_Impl::setRatedSupplyFanPowerPerVolumeFlowRate(double ratedSupplyFanPowerPerVolumeFlowRate) {
-      bool result = setDouble(OS_Coil_Heating_DX_SingleSpeedFields::RatedSupplyFanPowerPerVolumeFlowRate, ratedSupplyFanPowerPerVolumeFlowRate);
+    bool CoilHeatingDXSingleSpeed_Impl::setRatedSupplyFanPowerPerVolumeFlowRate2017(double ratedSupplyFanPowerPerVolumeFlowRate2017) {
+      bool result =
+        setDouble(OS_Coil_Heating_DX_SingleSpeedFields::RatedSupplyFanPowerPerVolumeFlowRate2017, ratedSupplyFanPowerPerVolumeFlowRate2017);
+      return result;
+    }
+
+    double CoilHeatingDXSingleSpeed_Impl::ratedSupplyFanPowerPerVolumeFlowRate2023() const {
+      boost::optional<double> value = getDouble(OS_Coil_Heating_DX_SingleSpeedFields::RatedSupplyFanPowerPerVolumeFlowRate2023, true);
+      OS_ASSERT(value);
+      return value.get();
+    }
+
+    bool CoilHeatingDXSingleSpeed_Impl::setRatedSupplyFanPowerPerVolumeFlowRate2023(double ratedSupplyFanPowerPerVolumeFlowRate2023) {
+      bool result =
+        setDouble(OS_Coil_Heating_DX_SingleSpeedFields::RatedSupplyFanPowerPerVolumeFlowRate2023, ratedSupplyFanPowerPerVolumeFlowRate2023);
       return result;
     }
 
@@ -709,7 +722,9 @@ namespace model {
 
     autosizeRatedAirFlowRate();
 
-    setRatedSupplyFanPowerPerVolumeFlowRate(773.3);
+    setRatedSupplyFanPowerPerVolumeFlowRate2017(773.3);
+
+    setRatedSupplyFanPowerPerVolumeFlowRate2023(934.4);
 
     setRatedCOP(5.0);
 
@@ -780,7 +795,9 @@ namespace model {
 
     autosizeRatedAirFlowRate();
 
-    setRatedSupplyFanPowerPerVolumeFlowRate(773.3);
+    setRatedSupplyFanPowerPerVolumeFlowRate2017(773.3);
+
+    setRatedSupplyFanPowerPerVolumeFlowRate2023(934.4);
 
     setRatedCOP(5.0);
 
@@ -1052,11 +1069,31 @@ namespace model {
   }
 
   double CoilHeatingDXSingleSpeed::ratedSupplyFanPowerPerVolumeFlowRate() const {
-    return getImpl<detail::CoilHeatingDXSingleSpeed_Impl>()->ratedSupplyFanPowerPerVolumeFlowRate();
+    LOG(Warn, "As of 3.5.0, ratedSupplyFanPowerPerVolumeFlowRate is deprecated. Use ratedSupplyFanPowerPerVolumeFlowRate2017 instead. It will be "
+              "removed within three releases.");
+    return getImpl<detail::CoilHeatingDXSingleSpeed_Impl>()->ratedSupplyFanPowerPerVolumeFlowRate2017();
   }
 
   bool CoilHeatingDXSingleSpeed::setRatedSupplyFanPowerPerVolumeFlowRate(double ratedSupplyFanPowerPerVolumeFlowRate) {
-    return getImpl<detail::CoilHeatingDXSingleSpeed_Impl>()->setRatedSupplyFanPowerPerVolumeFlowRate(ratedSupplyFanPowerPerVolumeFlowRate);
+    LOG(Warn, "As of 3.5.0, setRatedSupplyFanPowerPerVolumeFlowRate is deprecated. Use setRatedSupplyFanPowerPerVolumeFlowRate2017 instead. It will "
+              "be removed within three releases.");
+    return getImpl<detail::CoilHeatingDXSingleSpeed_Impl>()->setRatedSupplyFanPowerPerVolumeFlowRate2017(ratedSupplyFanPowerPerVolumeFlowRate);
+  }
+
+  double CoilHeatingDXSingleSpeed::ratedSupplyFanPowerPerVolumeFlowRate2017() const {
+    return getImpl<detail::CoilHeatingDXSingleSpeed_Impl>()->ratedSupplyFanPowerPerVolumeFlowRate2017();
+  }
+
+  bool CoilHeatingDXSingleSpeed::setRatedSupplyFanPowerPerVolumeFlowRate2017(double ratedSupplyFanPowerPerVolumeFlowRate2017) {
+    return getImpl<detail::CoilHeatingDXSingleSpeed_Impl>()->setRatedSupplyFanPowerPerVolumeFlowRate2017(ratedSupplyFanPowerPerVolumeFlowRate2017);
+  }
+
+  double CoilHeatingDXSingleSpeed::ratedSupplyFanPowerPerVolumeFlowRate2023() const {
+    return getImpl<detail::CoilHeatingDXSingleSpeed_Impl>()->ratedSupplyFanPowerPerVolumeFlowRate2023();
+  }
+
+  bool CoilHeatingDXSingleSpeed::setRatedSupplyFanPowerPerVolumeFlowRate2023(double ratedSupplyFanPowerPerVolumeFlowRate2023) {
+    return getImpl<detail::CoilHeatingDXSingleSpeed_Impl>()->setRatedSupplyFanPowerPerVolumeFlowRate2023(ratedSupplyFanPowerPerVolumeFlowRate2023);
   }
 
   AirflowNetworkEquivalentDuct CoilHeatingDXSingleSpeed::getAirflowNetworkEquivalentDuct(double length, double diameter) {
diff --git a/src/model/CoilHeatingDXSingleSpeed.hpp b/src/model/CoilHeatingDXSingleSpeed.hpp
index c640e60eff1..bc7e104ed33 100644
--- a/src/model/CoilHeatingDXSingleSpeed.hpp
+++ b/src/model/CoilHeatingDXSingleSpeed.hpp
@@ -32,6 +32,7 @@
 
 #include "ModelAPI.hpp"
 #include "StraightComponent.hpp"
+#include "../utilities/core/Deprecated.hpp"
 
 namespace openstudio {
 
@@ -86,7 +87,11 @@ namespace model {
 
     bool isRatedAirFlowRateAutosized() const;
 
-    double ratedSupplyFanPowerPerVolumeFlowRate() const;
+    OS_DEPRECATED double ratedSupplyFanPowerPerVolumeFlowRate() const;
+
+    double ratedSupplyFanPowerPerVolumeFlowRate2017() const;
+
+    double ratedSupplyFanPowerPerVolumeFlowRate2023() const;
 
     double minimumOutdoorDryBulbTemperatureforCompressorOperation() const;
 
@@ -138,7 +143,11 @@ namespace model {
 
     void autosizeRatedAirFlowRate();
 
-    bool setRatedSupplyFanPowerPerVolumeFlowRate(double ratedSupplyFanPowerPerVolumeFlowRate);
+    OS_DEPRECATED bool setRatedSupplyFanPowerPerVolumeFlowRate(double ratedSupplyFanPowerPerVolumeFlowRate);
+
+    bool setRatedSupplyFanPowerPerVolumeFlowRate2017(double ratedSupplyFanPowerPerVolumeFlowRate2017);
+
+    bool setRatedSupplyFanPowerPerVolumeFlowRate2023(double ratedSupplyFanPowerPerVolumeFlowRate2023);
 
     bool setMinimumOutdoorDryBulbTemperatureforCompressorOperation(double minimumOutdoorDryBulbTemperatureforCompressorOperation);
 
diff --git a/src/model/CoilHeatingDXSingleSpeed_Impl.hpp b/src/model/CoilHeatingDXSingleSpeed_Impl.hpp
index 4190bc2556c..deddf2035b2 100644
--- a/src/model/CoilHeatingDXSingleSpeed_Impl.hpp
+++ b/src/model/CoilHeatingDXSingleSpeed_Impl.hpp
@@ -92,7 +92,9 @@ namespace model {
 
       boost::optional<double> ratedAirFlowRate() const;
 
-      double ratedSupplyFanPowerPerVolumeFlowRate() const;
+      double ratedSupplyFanPowerPerVolumeFlowRate2017() const;
+
+      double ratedSupplyFanPowerPerVolumeFlowRate2023() const;
 
       bool isRatedAirFlowRateAutosized() const;
 
@@ -156,7 +158,9 @@ namespace model {
 
       void autosizeRatedAirFlowRate();
 
-      bool setRatedSupplyFanPowerPerVolumeFlowRate(double ratedSupplyFanPowerPerVolumeFlowRate);
+      bool setRatedSupplyFanPowerPerVolumeFlowRate2017(double ratedSupplyFanPowerPerVolumeFlowRate2017);
+
+      bool setRatedSupplyFanPowerPerVolumeFlowRate2023(double ratedSupplyFanPowerPerVolumeFlowRate2023);
 
       bool setMinimumOutdoorDryBulbTemperatureforCompressorOperation(double minimumOutdoorDryBulbTemperatureforCompressorOperation);
 
diff --git a/src/osversion/VersionTranslator.cpp b/src/osversion/VersionTranslator.cpp
index 6475d56dc28..455bb27da9c 100644
--- a/src/osversion/VersionTranslator.cpp
+++ b/src/osversion/VersionTranslator.cpp
@@ -7083,6 +7083,131 @@ namespace osversion {
           m_new.emplace_back(std::move(varAdded));
         }
 
+      } else if (iddname == "OS:Coil:Heating:DX:SingleSpeed") {
+
+        // Fields that have been added from 3.4.0 to 3.5.0:
+        // ------------------------------------------------
+        // * Rated Supply Fan Power Per Volume Flow Rate 2023 * 7
+
+        auto iddObject = idd_3_5_0.getObject(iddname);
+        IdfObject newObject(iddObject.get());
+
+        for (size_t i = 0; i < object.numFields(); ++i) {
+          if ((value = object.getString(i))) {
+            if (i < 7) {
+              newObject.setString(i, value.get());
+            } else {
+              newObject.setString(i + 1, value.get());
+            }
+          }
+        }
+
+        // Rated Supply Fan Power Per Volume Flow Rate 2023
+        newObject.setDouble(7, 934.4);
+
+        m_refactored.push_back(RefactoredObjectData(object, newObject));
+        ss << newObject;
+
+      } else if (iddname == "OS:Coil:Cooling:DX:SingleSpeed") {
+
+        // Fields that have been added from 3.4.0 to 3.5.0:
+        // ------------------------------------------------
+        // * Rated Evaporator Fan Power Per Volume Flow Rate 2023 * 8
+
+        auto iddObject = idd_3_5_0.getObject(iddname);
+        IdfObject newObject(iddObject.get());
+
+        for (size_t i = 0; i < object.numFields(); ++i) {
+          if ((value = object.getString(i))) {
+            if (i < 8) {
+              newObject.setString(i, value.get());
+            } else {
+              newObject.setString(i + 1, value.get());
+            }
+          }
+        }
+
+        // Rated Supply Fan Power Per Volume Flow Rate 2023
+        newObject.setDouble(8, 934.4);
+
+        m_refactored.push_back(RefactoredObjectData(object, newObject));
+        ss << newObject;
+
+      } else if (iddname == "OS:Coil:Heating:DX:MultiSpeed:StageData") {
+
+        // Fields that have been added from 3.4.0 to 3.5.0:
+        // ------------------------------------------------
+        // * Rated Supply Air Fan Power Per Volume Flow Rate 2023 * 6
+
+        auto iddObject = idd_3_5_0.getObject(iddname);
+        IdfObject newObject(iddObject.get());
+
+        for (size_t i = 0; i < object.numFields(); ++i) {
+          if ((value = object.getString(i))) {
+            if (i < 6) {
+              newObject.setString(i, value.get());
+            } else {
+              newObject.setString(i + 1, value.get());
+            }
+          }
+        }
+
+        // Rated Supply Fan Power Per Volume Flow Rate 2023
+        newObject.setDouble(6, 934.4);
+
+        m_refactored.push_back(RefactoredObjectData(object, newObject));
+        ss << newObject;
+
+      } else if (iddname == "OS:Coil:Cooling:DX:MultiSpeed:StageData") {
+
+        // Fields that have been added from 3.4.0 to 3.5.0:
+        // ------------------------------------------------
+        // * Rated Evaporator Fan Power Per Volume Flow Rate 2023 * 7
+
+        auto iddObject = idd_3_5_0.getObject(iddname);
+        IdfObject newObject(iddObject.get());
+
+        for (size_t i = 0; i < object.numFields(); ++i) {
+          if ((value = object.getString(i))) {
+            if (i < 7) {
+              newObject.setString(i, value.get());
+            } else {
+              newObject.setString(i + 1, value.get());
+            }
+          }
+        }
+
+        // Rated Supply Fan Power Per Volume Flow Rate 2023
+        newObject.setDouble(7, 934.4);
+
+        m_refactored.push_back(RefactoredObjectData(object, newObject));
+        ss << newObject;
+
+      } else if (iddname == "OS:Coil:Cooling:DX:CurveFit:Speed") {
+
+        // Fields that have been added from 3.4.0 to 3.5.0:
+        // ------------------------------------------------
+        // * Rated Evaporator Fan Power Per Volume Flow Rate 2023 * 9
+
+        auto iddObject = idd_3_5_0.getObject(iddname);
+        IdfObject newObject(iddObject.get());
+
+        for (size_t i = 0; i < object.numFields(); ++i) {
+          if ((value = object.getString(i))) {
+            if (i < 9) {
+              newObject.setString(i, value.get());
+            } else {
+              newObject.setString(i + 1, value.get());
+            }
+          }
+        }
+
+        // Rated Supply Fan Power Per Volume Flow Rate 2023
+        newObject.setDouble(9, 934.4);
+
+        m_refactored.push_back(RefactoredObjectData(object, newObject));
+        ss << newObject;
+
         // No-op
       } else {
         ss << object;


Test patch:
diff --git a/src/model/test/CoilCoolingDXCurveFitSpeed_GTest.cpp b/src/model/test/CoilCoolingDXCurveFitSpeed_GTest.cpp
index 9ce9f96dc99..6b128697252 100644
--- a/src/model/test/CoilCoolingDXCurveFitSpeed_GTest.cpp
+++ b/src/model/test/CoilCoolingDXCurveFitSpeed_GTest.cpp
@@ -247,3 +247,18 @@ TEST_F(ModelFixture, CoilCoolingDXCurveFitSpeed_remove) {
 
   EXPECT_EQ(speed2, operatingMode1.speeds()[0]);
 }
+
+TEST_F(ModelFixture, CoilCoolingDXCurveFitSpeed_2017and2023) {
+  Model model;
+
+  CoilCoolingDXCurveFitSpeed speed(model);
+
+  EXPECT_EQ(773.3, speed.ratedEvaporatorFanPowerPerVolumeFlowRate2017());
+  EXPECT_EQ(934.4, speed.ratedEvaporatorFanPowerPerVolumeFlowRate2023());
+
+  EXPECT_TRUE(speed.setRatedEvaporatorFanPowerPerVolumeFlowRate2017(8.0));
+  EXPECT_TRUE(speed.setRatedEvaporatorFanPowerPerVolumeFlowRate2023(9.0));
+
+  EXPECT_EQ(8.0, speed.ratedEvaporatorFanPowerPerVolumeFlowRate2017());
+  EXPECT_EQ(9.0, speed.ratedEvaporatorFanPowerPerVolumeFlowRate2023());
+}
\ No newline at end of file
diff --git a/src/model/test/CoilCoolingDXMultiSpeedStageData_GTest.cpp b/src/model/test/CoilCoolingDXMultiSpeedStageData_GTest.cpp
index abe7ec943a7..0c8ef9032ef 100644
--- a/src/model/test/CoilCoolingDXMultiSpeedStageData_GTest.cpp
+++ b/src/model/test/CoilCoolingDXMultiSpeedStageData_GTest.cpp
@@ -104,3 +104,18 @@ TEST_F(ModelFixture, CoilCoolingDXMultiSpeedStageData_remove) {
 
   EXPECT_EQ(stage2, dx1.stages()[0]);
 }
+
+TEST_F(ModelFixture, CoilCoolingDXMultiSpeedStageData_2017and2023) {
+  Model model;
+
+  CoilCoolingDXMultiSpeedStageData speed(model);
+
+  EXPECT_EQ(773.3, speed.ratedEvaporatorFanPowerPerVolumeFlowRate2017());
+  EXPECT_EQ(934.4, speed.ratedEvaporatorFanPowerPerVolumeFlowRate2023());
+
+  EXPECT_TRUE(speed.setRatedEvaporatorFanPowerPerVolumeFlowRate2017(8.0));
+  EXPECT_TRUE(speed.setRatedEvaporatorFanPowerPerVolumeFlowRate2023(9.0));
+
+  EXPECT_EQ(8.0, speed.ratedEvaporatorFanPowerPerVolumeFlowRate2017());
+  EXPECT_EQ(9.0, speed.ratedEvaporatorFanPowerPerVolumeFlowRate2023());
+}
diff --git a/src/model/test/CoilCoolingDXSingleSpeed_GTest.cpp b/src/model/test/CoilCoolingDXSingleSpeed_GTest.cpp
index 503b24bd500..bf58f52c0fe 100644
--- a/src/model/test/CoilCoolingDXSingleSpeed_GTest.cpp
+++ b/src/model/test/CoilCoolingDXSingleSpeed_GTest.cpp
@@ -198,3 +198,18 @@ TEST_F(ModelFixture, CoilCoolingDXSingleSpeed_addToNode) {
   EXPECT_TRUE(testObjectClone2.addToNode(supplyOutletNode));
   EXPECT_EQ((unsigned)7, airLoop.supplyComponents().size());
 }
+
+TEST_F(ModelFixture, CoilCoolingDXSingleSpeed_2017and2023) {
+  Model model;
+
+  CoilCoolingDXSingleSpeed speed(model);
+
+  EXPECT_EQ(773.3, speed.ratedEvaporatorFanPowerPerVolumeFlowRate2017());
+  EXPECT_EQ(934.4, speed.ratedEvaporatorFanPowerPerVolumeFlowRate2023());
+
+  EXPECT_TRUE(speed.setRatedEvaporatorFanPowerPerVolumeFlowRate2017(8.0));
+  EXPECT_TRUE(speed.setRatedEvaporatorFanPowerPerVolumeFlowRate2023(9.0));
+
+  EXPECT_EQ(8.0, speed.ratedEvaporatorFanPowerPerVolumeFlowRate2017());
+  EXPECT_EQ(9.0, speed.ratedEvaporatorFanPowerPerVolumeFlowRate2023());
+}
diff --git a/src/model/test/CoilHeatingDXMultiSpeedStageData_GTest.cpp b/src/model/test/CoilHeatingDXMultiSpeedStageData_GTest.cpp
index 54d767ecbd8..d333fa7095d 100644
--- a/src/model/test/CoilHeatingDXMultiSpeedStageData_GTest.cpp
+++ b/src/model/test/CoilHeatingDXMultiSpeedStageData_GTest.cpp
@@ -104,3 +104,18 @@ TEST_F(ModelFixture, CoilHeatingDXMultiSpeedStageData_remove) {
 
   EXPECT_EQ(stage2, dx1.stages()[0]);
 }
+
+TEST_F(ModelFixture, CoilHeatingDXMultiSpeedStageData_2017and2023) {
+  Model model;
+
+  CoilHeatingDXMultiSpeedStageData speed(model);
+
+  EXPECT_EQ(773.3, speed.ratedSupplyAirFanPowerPerVolumeFlowRate2017());
+  EXPECT_EQ(934.4, speed.ratedSupplyAirFanPowerPerVolumeFlowRate2023());
+
+  EXPECT_TRUE(speed.setRatedSupplyAirFanPowerPerVolumeFlowRate2017(8.0));
+  EXPECT_TRUE(speed.setRatedSupplyAirFanPowerPerVolumeFlowRate2023(9.0));
+
+  EXPECT_EQ(8.0, speed.ratedSupplyAirFanPowerPerVolumeFlowRate2017());
+  EXPECT_EQ(9.0, speed.ratedSupplyAirFanPowerPerVolumeFlowRate2023());
+}
diff --git a/src/model/test/CoilHeatingDXSingleSpeed_GTest.cpp b/src/model/test/CoilHeatingDXSingleSpeed_GTest.cpp
index 77a784a810c..da0ea3a3c46 100644
--- a/src/model/test/CoilHeatingDXSingleSpeed_GTest.cpp
+++ b/src/model/test/CoilHeatingDXSingleSpeed_GTest.cpp
@@ -138,3 +138,18 @@ TEST_F(ModelFixture, CoilHeatingDXSingleSpeed_addToNode) {
   EXPECT_TRUE(testObjectClone.addToNode(supplyOutletNode));
   EXPECT_EQ((unsigned)7, airLoop.supplyComponents().size());
 }
+
+TEST_F(ModelFixture, CoilHeatingDXSingleSpeed_2017and2023) {
+  Model model;
+
+  CoilHeatingDXSingleSpeed speed(model);
+
+  EXPECT_EQ(773.3, speed.ratedSupplyFanPowerPerVolumeFlowRate2017());
+  EXPECT_EQ(934.4, speed.ratedSupplyFanPowerPerVolumeFlowRate2023());
+
+  EXPECT_TRUE(speed.setRatedSupplyFanPowerPerVolumeFlowRate2017(8.0));
+  EXPECT_TRUE(speed.setRatedSupplyFanPowerPerVolumeFlowRate2023(9.0));
+
+  EXPECT_EQ(8.0, speed.ratedSupplyFanPowerPerVolumeFlowRate2017());
+  EXPECT_EQ(9.0, speed.ratedSupplyFanPowerPerVolumeFlowRate2023());
+}
diff --git a/src/osversion/test/3_5_0/test_vt_CoilCoolingDXCurveFitSpeed.osm b/src/osversion/test/3_5_0/test_vt_CoilCoolingDXCurveFitSpeed.osm
new file mode 100644
index 00000000000..2b77db54e7f
--- /dev/null
+++ b/src/osversion/test/3_5_0/test_vt_CoilCoolingDXCurveFitSpeed.osm
@@ -0,0 +1,24 @@
+
+OS:Version,
+  {421de4eb-f75b-4b00-96d3-1e00f2e30ef1}, !- Handle
+  3.4.0;                                  !- Version Identifier
+
+OS:Coil:Cooling:DX:CurveFit:Speed,
+  {e85ad45a-e5bd-4880-95ec-22ab959167c8}, !- Handle
+  Coil Cooling DX Curve Fit Speed 1,      !- Name
+  1,                                      !- Gross Total Cooling Capacity Fraction
+  1,                                      !- Evaporator Air Flow Rate Fraction
+  1,                                      !- Condenser Air Flow Rate Fraction
+  autosize,                               !- Gross Sensible Heat Ratio
+  3,                                      !- Gross Cooling COP {W/W}
+  1,                                      !- Active Fraction of Coil Face Area
+  773.3,                                  !- Rated Evaporator Fan Power Per Volume Flow Rate {W/(m3/s)}
+  1,                                      !- Evaporative Condenser Pump Power Fraction
+  0.9,                                    !- Evaporative Condenser Effectiveness {dimensionless}
+  ,                                       !- Total Cooling Capacity Modifier Function of Temperature Curve
+  ,                                       !- Total Cooling Capacity Modifier Function of Air Flow Fraction Curve
+  ,                                       !- Energy Input Ratio Modifier Function of Temperature Curve
+  ,                                       !- Energy Input Ratio Modifier Function of Air Flow Fraction Curve
+  ,                                       !- Part Load Fraction Correlation Curve
+  0.2;                                    !- Rated Waste Heat Fraction of Power Input {dimensionless}
+
diff --git a/src/osversion/test/3_5_0/test_vt_CoilCoolingDXCurveFitSpeed.rb b/src/osversion/test/3_5_0/test_vt_CoilCoolingDXCurveFitSpeed.rb
new file mode 100644
index 00000000000..598bc276b53
--- /dev/null
+++ b/src/osversion/test/3_5_0/test_vt_CoilCoolingDXCurveFitSpeed.rb
@@ -0,0 +1,9 @@
+#require '/usr/local/openstudio-3.4.0/Ruby/openstudio'
+
+include OpenStudio::Model
+
+m = Model.new
+
+coil = CoilCoolingDXCurveFitSpeed.new(m)
+
+m.save('test_vt_CoilCoolingDXCurveFitSpeed.osm', true)
diff --git a/src/osversion/test/3_5_0/test_vt_CoilCoolingDXMultiSpeedStageData.osm b/src/osversion/test/3_5_0/test_vt_CoilCoolingDXMultiSpeedStageData.osm
new file mode 100644
index 00000000000..cd9b15588b4
--- /dev/null
+++ b/src/osversion/test/3_5_0/test_vt_CoilCoolingDXMultiSpeedStageData.osm
@@ -0,0 +1,97 @@
+
+OS:Version,
+  {f7e1fc8a-23f4-4e1b-ba76-7b9db7217424}, !- Handle
+  3.4.0;                                  !- Version Identifier
+
+OS:Coil:Cooling:DX:MultiSpeed:StageData,
+  {bcb2d66d-d5bf-4636-8c0f-e307e2da435b}, !- Handle
+  Coil Cooling DX Multi Speed Stage Data 1, !- Name
+  autosize,                               !- Gross Rated Total Cooling Capacity {W}
+  autosize,                               !- Gross Rated Sensible Heat Ratio
+  3,                                      !- Gross Rated Cooling COP {W/W}
+  autosize,                               !- Rated Air Flow Rate {m3/s}
+  773.3,                                  !- Rated Evaporator Fan Power Per Volume Flow Rate {W/(m3/s)}
+  {f287f292-6009-4708-97d3-dc8c57de494b}, !- Total Cooling Capacity Function of Temperature Curve
+  {64e54433-8c5f-43f2-bfb9-1365e5fee3b3}, !- Total Cooling Capacity Function of Flow Fraction Curve
+  {980eb130-a490-49ed-b24e-0767bdd53cfb}, !- Energy Input Ratio Function of Temperature Curve
+  {f6275425-6e77-4a96-9ffb-aff20ab2d983}, !- Energy Input Ratio Function of Flow Fraction Curve
+  {b1a1398e-0071-47d2-86a6-50c9ed6fef3c}, !- Part Load Fraction Correlation Curve
+  0,                                      !- Nominal Time for Condensate Removal to Begin {s}
+  0,                                      !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
+  0,                                      !- Maximum Cycling Rate {cycles/hr}
+  0,                                      !- Latent Capacity Time Constant {s}
+  0.5,                                    !- Rated Waste Heat Fraction of Power Input {dimensionless}
+  {7aedc724-ee18-4c17-a11f-b81b7035d819}, !- Waste Heat Function of Temperature Curve
+  0.9,                                    !- Evaporative Condenser Effectiveness {dimensionless}
+  autosize,                               !- Evaporative Condenser Air Flow Rate {m3/s}
+  autosize;                               !- Rated Evaporative Condenser Pump Power Consumption {W}
+
+OS:Curve:Biquadratic,
+  {f287f292-6009-4708-97d3-dc8c57de494b}, !- Handle
+  Curve Biquadratic 1,                    !- Name
+  0.766956,                               !- Coefficient1 Constant
+  0.0107756,                              !- Coefficient2 x
+  -4.14703e-05,                           !- Coefficient3 x**2
+  0.00134961,                             !- Coefficient4 y
+  -0.000261144,                           !- Coefficient5 y**2
+  0.000457488,                            !- Coefficient6 x*y
+  17,                                     !- Minimum Value of x
+  22,                                     !- Maximum Value of x
+  13,                                     !- Minimum Value of y
+  46;                                     !- Maximum Value of y
+
+OS:Curve:Quadratic,
+  {64e54433-8c5f-43f2-bfb9-1365e5fee3b3}, !- Handle
+  Curve Quadratic 1,                      !- Name
+  0.8,                                    !- Coefficient1 Constant
+  0.2,                                    !- Coefficient2 x
+  0,                                      !- Coefficient3 x**2
+  0.5,                                    !- Minimum Value of x
+  1.5;                                    !- Maximum Value of x
+
+OS:Curve:Biquadratic,
+  {980eb130-a490-49ed-b24e-0767bdd53cfb}, !- Handle
+  Curve Biquadratic 2,                    !- Name
+  0.297145,                               !- Coefficient1 Constant
+  0.0430933,                              !- Coefficient2 x
+  -0.000748766,                           !- Coefficient3 x**2
+  0.00597727,                             !- Coefficient4 y
+  0.000482112,                            !- Coefficient5 y**2
+  -0.000956448,                           !- Coefficient6 x*y
+  17,                                     !- Minimum Value of x
+  22,                                     !- Maximum Value of x
+  13,                                     !- Minimum Value of y
+  46;                                     !- Maximum Value of y
+
+OS:Curve:Quadratic,
+  {f6275425-6e77-4a96-9ffb-aff20ab2d983}, !- Handle
+  Curve Quadratic 2,                      !- Name
+  1.156,                                  !- Coefficient1 Constant
+  -0.1816,                                !- Coefficient2 x
+  0.0256,                                 !- Coefficient3 x**2
+  0.5,                                    !- Minimum Value of x
+  1.5;                                    !- Maximum Value of x
+
+OS:Curve:Quadratic,
+  {b1a1398e-0071-47d2-86a6-50c9ed6fef3c}, !- Handle
+  Curve Quadratic 3,                      !- Name
+  0.75,                                   !- Coefficient1 Constant
+  0.25,                                   !- Coefficient2 x
+  0,                                      !- Coefficient3 x**2
+  0,                                      !- Minimum Value of x
+  1;                                      !- Maximum Value of x
+
+OS:Curve:Biquadratic,
+  {7aedc724-ee18-4c17-a11f-b81b7035d819}, !- Handle
+  Curve Biquadratic 3,                    !- Name
+  1,                                      !- Coefficient1 Constant
+  0,                                      !- Coefficient2 x
+  0,                                      !- Coefficient3 x**2
+  0,                                      !- Coefficient4 y
+  0,                                      !- Coefficient5 y**2
+  0,                                      !- Coefficient6 x*y
+  0,                                      !- Minimum Value of x
+  0,                                      !- Maximum Value of x
+  0,                                      !- Minimum Value of y
+  0;                                      !- Maximum Value of y
+
diff --git a/src/osversion/test/3_5_0/test_vt_CoilCoolingDXMultiSpeedStageData.rb b/src/osversion/test/3_5_0/test_vt_CoilCoolingDXMultiSpeedStageData.rb
new file mode 100644
index 00000000000..1bd283572d9
--- /dev/null
+++ b/src/osversion/test/3_5_0/test_vt_CoilCoolingDXMultiSpeedStageData.rb
@@ -0,0 +1,9 @@
+#require '/usr/local/openstudio-3.4.0/Ruby/openstudio'
+
+include OpenStudio::Model
+
+m = Model.new
+
+stage1 = CoilCoolingDXMultiSpeedStageData.new(m)
+
+m.save('test_vt_CoilCoolingDXMultiSpeedStageData.osm', true)
diff --git a/src/osversion/test/3_5_0/test_vt_CoilCoolingDXSingleSpeed.osm b/src/osversion/test/3_5_0/test_vt_CoilCoolingDXSingleSpeed.osm
new file mode 100644
index 00000000000..611bf1ed952
--- /dev/null
+++ b/src/osversion/test/3_5_0/test_vt_CoilCoolingDXSingleSpeed.osm
@@ -0,0 +1,108 @@
+
+OS:Version,
+  {a9f3ac7d-c74c-4b18-9c85-87137e09943e}, !- Handle
+  3.4.0;                                  !- Version Identifier
+
+OS:Coil:Cooling:DX:SingleSpeed,
+  {7c437528-492e-419f-a287-5a7883e25d35}, !- Handle
+  Coil Cooling DX Single Speed 1,         !- Name
+  {2eeb78a8-7a14-422e-917b-0c43ea164be8}, !- Availability Schedule Name
+  autosize,                               !- Rated Total Cooling Capacity {W}
+  autosize,                               !- Rated Sensible Heat Ratio
+  3,                                      !- Rated COP {W/W}
+  autosize,                               !- Rated Air Flow Rate {m3/s}
+  773.3,                                  !- Rated Evaporator Fan Power Per Volume Flow Rate {W/(m3/s)}
+  ,                                       !- Air Inlet Node Name
+  ,                                       !- Air Outlet Node Name
+  {07e67e15-5801-4b52-88bb-68a9ff7d9154}, !- Total Cooling Capacity Function of Temperature Curve Name
+  {e737adbb-cb6b-4fbe-968c-34ba8670ce7c}, !- Total Cooling Capacity Function of Flow Fraction Curve Name
+  {5ce643b6-7c4b-4dbb-9bea-9e8692092cba}, !- Energy Input Ratio Function of Temperature Curve Name
+  {21657a85-99e5-4a73-a70d-f8ee401944c0}, !- Energy Input Ratio Function of Flow Fraction Curve Name
+  {c33fffaa-3d1c-4a86-ad45-6e42b612f23a}, !- Part Load Fraction Correlation Curve Name
+  -25,                                    !- Minimum Outdoor Dry-Bulb Temperature for Compressor Operation {C}
+  ,                                       !- Nominal Time for Condensate Removal to Begin {s}
+  ,                                       !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity {dimensionless}
+  ,                                       !- Maximum Cycling Rate {cycles/hr}
+  ,                                       !- Latent Capacity Time Constant {s}
+  ,                                       !- Condenser Air Inlet Node Name
+  AirCooled,                              !- Condenser Type
+  0,                                      !- Evaporative Condenser Effectiveness {dimensionless}
+  Autosize,                               !- Evaporative Condenser Air Flow Rate {m3/s}
+  Autosize,                               !- Evaporative Condenser Pump Rated Power Consumption {W}
+  0,                                      !- Crankcase Heater Capacity {W}
+  0,                                      !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C}
+  ,                                       !- Supply Water Storage Tank Name
+  ,                                       !- Condensate Collection Water Storage Tank Name
+  0,                                      !- Basin Heater Capacity {W/K}
+  10,                                     !- Basin Heater Setpoint Temperature {C}
+  ;                                       !- Basin Heater Operating Schedule Name
+
+OS:Curve:Biquadratic,
+  {07e67e15-5801-4b52-88bb-68a9ff7d9154}, !- Handle
+  Curve Biquadratic 1,                    !- Name
+  0.942587793,                            !- Coefficient1 Constant
+  0.009543347,                            !- Coefficient2 x
+  0.00068377,                             !- Coefficient3 x**2
+  -0.011042676,                           !- Coefficient4 y
+  5.249e-06,                              !- Coefficient5 y**2
+  -9.72e-06,                              !- Coefficient6 x*y
+  17,                                     !- Minimum Value of x
+  22,                                     !- Maximum Value of x
+  13,                                     !- Minimum Value of y
+  46;                                     !- Maximum Value of y
+
+OS:Curve:Quadratic,
+  {e737adbb-cb6b-4fbe-968c-34ba8670ce7c}, !- Handle
+  Curve Quadratic 1,                      !- Name
+  0.8,                                    !- Coefficient1 Constant
+  0.2,                                    !- Coefficient2 x
+  0,                                      !- Coefficient3 x**2
+  0.5,                                    !- Minimum Value of x
+  1.5;                                    !- Maximum Value of x
+
+OS:Curve:Biquadratic,
+  {5ce643b6-7c4b-4dbb-9bea-9e8692092cba}, !- Handle
+  Curve Biquadratic 2,                    !- Name
+  0.342414409,                            !- Coefficient1 Constant
+  0.034885008,                            !- Coefficient2 x
+  -0.0006237,                             !- Coefficient3 x**2
+  0.004977216,                            !- Coefficient4 y
+  0.000437951,                            !- Coefficient5 y**2
+  -0.000728028,                           !- Coefficient6 x*y
+  17,                                     !- Minimum Value of x
+  22,                                     !- Maximum Value of x
+  13,                                     !- Minimum Value of y
+  46;                                     !- Maximum Value of y
+
+OS:Curve:Quadratic,
+  {21657a85-99e5-4a73-a70d-f8ee401944c0}, !- Handle
+  Curve Quadratic 2,                      !- Name
+  1.1552,                                 !- Coefficient1 Constant
+  -0.1808,                                !- Coefficient2 x
+  0.0256,                                 !- Coefficient3 x**2
+  0.5,                                    !- Minimum Value of x
+  1.5;                                    !- Maximum Value of x
+
+OS:Curve:Quadratic,
+  {c33fffaa-3d1c-4a86-ad45-6e42b612f23a}, !- Handle
+  Curve Quadratic 3,                      !- Name
+  0.85,                                   !- Coefficient1 Constant
+  0.15,                                   !- Coefficient2 x
+  0,                                      !- Coefficient3 x**2
+  0,                                      !- Minimum Value of x
+  1;                                      !- Maximum Value of x
+
+OS:Schedule:Constant,
+  {2eeb78a8-7a14-422e-917b-0c43ea164be8}, !- Handle
+  Always On Discrete,                     !- Name
+  {b481a698-5c0b-400c-b06e-8530f1bb9bbc}, !- Schedule Type Limits Name
+  1;                                      !- Value
+
+OS:ScheduleTypeLimits,
+  {b481a698-5c0b-400c-b06e-8530f1bb9bbc}, !- Handle
+  OnOff,                                  !- Name
+  0,                                      !- Lower Limit Value
+  1,                                      !- Upper Limit Value
+  Discrete,                               !- Numeric Type
+  Availability;                           !- Unit Type
+
diff --git a/src/osversion/test/3_5_0/test_vt_CoilCoolingDXSingleSpeed.rb b/src/osversion/test/3_5_0/test_vt_CoilCoolingDXSingleSpeed.rb
new file mode 100644
index 00000000000..f381f2b4a8e
--- /dev/null
+++ b/src/osversion/test/3_5_0/test_vt_CoilCoolingDXSingleSpeed.rb
@@ -0,0 +1,9 @@
+#require '/usr/local/openstudio-3.4.0/Ruby/openstudio'
+
+include OpenStudio::Model
+
+m = Model.new
+
+coil = CoilCoolingDXSingleSpeed.new(m)
+
+m.save('test_vt_CoilCoolingDXSingleSpeed.osm', true)
diff --git a/src/osversion/test/3_5_0/test_vt_CoilHeatingDXMultiSpeedStageData.osm b/src/osversion/test/3_5_0/test_vt_CoilHeatingDXMultiSpeedStageData.osm
new file mode 100644
index 00000000000..be44f1db908
--- /dev/null
+++ b/src/osversion/test/3_5_0/test_vt_CoilHeatingDXMultiSpeedStageData.osm
@@ -0,0 +1,89 @@
+
+OS:Version,
+  {0b47095c-71d3-47cd-b125-4d2e9cb5971e}, !- Handle
+  3.4.0;                                  !- Version Identifier
+
+OS:Coil:Heating:DX:MultiSpeed:StageData,
+  {37dc189e-68eb-42e1-80e1-de5399af7cba}, !- Handle
+  Coil Heating DX Multi Speed Stage Data 1, !- Name
+  autosize,                               !- Gross Rated Heating Capacity {W}
+  2.75,                                   !- Gross Rated Heating COP {W/W}
+  autosize,                               !- Rated Air Flow Rate {m3/s}
+  773.3,                                  !- Rated Supply Air Fan Power Per Volume Flow Rate {W/(m3/s)}
+  {b2fb23a2-74cb-4665-948f-80e11340e89b}, !- Heating Capacity Function of Temperature Curve Name
+  {71c2c4e1-65e3-4d7c-94b7-da72bf9d3fdd}, !- Heating Capacity Function of Flow Fraction Curve Name
+  {dc14ed30-4edb-4ffd-8a01-e9e01c4e141c}, !- Energy Input Ratio Function of Temperature Curve Name
+  {3771d178-9d59-44c8-9f14-9e53ff50ea03}, !- Energy Input Ratio Function of Flow Fraction Curve Name
+  {22442d7c-e17e-4500-bd1c-4b464030ce28}, !- Part Load Fraction Correlation Curve Name
+  0.2,                                    !- Rated Waste Heat Fraction of Power Input {dimensionless}
+  {cbe67139-acee-43fd-a15a-a8b3f0919870}; !- Waste Heat Function of Temperature Curve Name
+
+OS:Curve:Biquadratic,
+  {b2fb23a2-74cb-4665-948f-80e11340e89b}, !- Handle
+  Curve Biquadratic 1,                    !- Name
+  0.760523473,                            !- Coefficient1 Constant
+  0.007531702,                            !- Coefficient2 x
+  -0.000288398,                           !- Coefficient3 x**2
+  0.021653033,                            !- Coefficient4 y
+  3.29133e-05,                            !- Coefficient5 y**2
+  0.00014862,                             !- Coefficient6 x*y
+  18.33333,                               !- Minimum Value of x
+  23.88889,                               !- Maximum Value of x
+  -13.88889,                              !- Minimum Value of y
+  19.44444;                               !- Maximum Value of y
+
+OS:Curve:Quadratic,
+  {71c2c4e1-65e3-4d7c-94b7-da72bf9d3fdd}, !- Handle
+  Curve Quadratic 1,                      !- Name
+  0.752130847,                            !- Coefficient1 Constant
+  0.437552514,                            !- Coefficient2 x
+  -0.189683361,                           !- Coefficient3 x**2
+  0.7,                                    !- Minimum Value of x
+  1.1;                                    !- Maximum Value of x
+
+OS:Curve:Biquadratic,
+  {dc14ed30-4edb-4ffd-8a01-e9e01c4e141c}, !- Handle
+  Curve Biquadratic 2,                    !- Name
+  0.750128109,                            !- Coefficient1 Constant
+  0.002298944,                            !- Coefficient2 x
+  0.000953927,                            !- Coefficient3 x**2
+  -0.008327043,                           !- Coefficient4 y
+  0.001016058,                            !- Coefficient5 y**2
+  -0.001433855,                           !- Coefficient6 x*y
+  18.33333,                               !- Minimum Value of x
+  23.88889,                               !- Maximum Value of x
+  -13.88889,                              !- Minimum Value of y
+  19.44444;                               !- Maximum Value of y
+
+OS:Curve:Quadratic,
+  {3771d178-9d59-44c8-9f14-9e53ff50ea03}, !- Handle
+  Curve Quadratic 2,                      !- Name
+  1.853909301,                            !- Coefficient1 Constant
+  -1.411203778,                           !- Coefficient2 x
+  0.557294478,                            !- Coefficient3 x**2
+  0.7,                                    !- Minimum Value of x
+  1.1;                                    !- Maximum Value of x
+
+OS:Curve:Quadratic,
+  {22442d7c-e17e-4500-bd1c-4b464030ce28}, !- Handle
+  Curve Quadratic 3,                      !- Name
+  0.85,                                   !- Coefficient1 Constant
+  0.15,                                   !- Coefficient2 x
+  0,                                      !- Coefficient3 x**2
+  0,                                      !- Minimum Value of x
+  1;                                      !- Maximum Value of x
+
+OS:Curve:Biquadratic,
+  {cbe67139-acee-43fd-a15a-a8b3f0919870}, !- Handle
+  Curve Biquadratic 3,                    !- Name
+  1,                                      !- Coefficient1 Constant
+  0,                                      !- Coefficient2 x
+  0,                                      !- Coefficient3 x**2
+  0,                                      !- Coefficient4 y
+  0,                                      !- Coefficient5 y**2
+  0,                                      !- Coefficient6 x*y
+  0,                                      !- Minimum Value of x
+  50,                                     !- Maximum Value of x
+  0,                                      !- Minimum Value of y
+  50;                                     !- Maximum Value of y
+
diff --git a/src/osversion/test/3_5_0/test_vt_CoilHeatingDXMultiSpeedStageData.rb b/src/osversion/test/3_5_0/test_vt_CoilHeatingDXMultiSpeedStageData.rb
new file mode 100644
index 00000000000..d9f29c69173
--- /dev/null
+++ b/src/osversion/test/3_5_0/test_vt_CoilHeatingDXMultiSpeedStageData.rb
@@ -0,0 +1,9 @@
+#require '/usr/local/openstudio-3.4.0/Ruby/openstudio'
+
+include OpenStudio::Model
+
+m = Model.new
+
+stage1 = CoilHeatingDXMultiSpeedStageData.new(m)
+
+m.save('test_vt_CoilHeatingDXMultiSpeedStageData.osm', true)
diff --git a/src/osversion/test/3_5_0/test_vt_CoilHeatingDXSingleSpeed.osm b/src/osversion/test/3_5_0/test_vt_CoilHeatingDXSingleSpeed.osm
new file mode 100644
index 00000000000..30a2a65a7ce
--- /dev/null
+++ b/src/osversion/test/3_5_0/test_vt_CoilHeatingDXSingleSpeed.osm
@@ -0,0 +1,92 @@
+
+OS:Version,
+  {a4a9e097-2600-43d1-8668-7d7af50553d3}, !- Handle
+  3.4.0;                                  !- Version Identifier
+
+OS:Coil:Heating:DX:SingleSpeed,
+  {71808c08-0363-416d-a8c8-bb0c44defeee}, !- Handle
+  Coil Heating DX Single Speed 1,         !- Name
+  {41687696-2494-4d4e-b339-9f593abac3c5}, !- Availability Schedule Name
+  Autosize,                               !- Rated Total Heating Capacity {W}
+  5,                                      !- Rated COP {W/W}
+  Autosize,                               !- Rated Air Flow Rate {m3/s}
+  773.3,                                  !- Rated Supply Fan Power Per Volume Flow Rate {W/(m3/s)}
+  ,                                       !- Air Inlet Node Name
+  ,                                       !- Air Outlet Node Name
+  {f2119b59-715e-43e6-b9fc-c5a350c48fff}, !- Total Heating Capacity Function of Temperature Curve Name
+  {60ec47a1-077f-4a27-8f7d-6092ab09e6a2}, !- Total Heating Capacity Function of Flow Fraction Curve Name
+  {699a5e53-eb35-48b0-8620-4f1b1346f653}, !- Energy Input Ratio Function of Temperature Curve Name
+  {a0d7501f-d3f1-4138-a730-0cd146ed26f2}, !- Energy Input Ratio Function of Flow Fraction Curve Name
+  {04786164-65c6-4bfb-8a48-256f8d6806e2}, !- Part Load Fraction Correlation Curve Name
+  ,                                       !- Defrost Energy Input Ratio Function of Temperature Curve Name
+  ,                                       !- Minimum Outdoor Dry-Bulb Temperature for Compressor Operation {C}
+  ,                                       !- Maximum Outdoor Dry-Bulb Temperature for Defrost Operation {C}
+  ,                                       !- Crankcase Heater Capacity {W}
+  ,                                       !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C}
+  Resistive,                              !- Defrost Strategy
+  Timed,                                  !- Defrost Control
+  0.166667,                               !- Defrost Time Period Fraction
+  2000;                                   !- Resistive Defrost Heater Capacity {W}
+
+OS:Schedule:Constant,
+  {41687696-2494-4d4e-b339-9f593abac3c5}, !- Handle
+  Always On Discrete,                     !- Name
+  {09653d54-13c7-4e90-a853-4d91bb952f9d}, !- Schedule Type Limits Name
+  1;                                      !- Value
+
+OS:ScheduleTypeLimits,
+  {09653d54-13c7-4e90-a853-4d91bb952f9d}, !- Handle
+  OnOff,                                  !- Name
+  0,                                      !- Lower Limit Value
+  1,                                      !- Upper Limit Value
+  Discrete,                               !- Numeric Type
+  Availability;                           !- Unit Type
+
+OS:Curve:Cubic,
+  {f2119b59-715e-43e6-b9fc-c5a350c48fff}, !- Handle
+  Curve Cubic 1,                          !- Name
+  0.758746,                               !- Coefficient1 Constant
+  0.027626,                               !- Coefficient2 x
+  0.000148716,                            !- Coefficient3 x**2
+  3.4992e-06,                             !- Coefficient4 x**3
+  -20,                                    !- Minimum Value of x
+  20;                                     !- Maximum Value of x
+
+OS:Curve:Cubic,
+  {60ec47a1-077f-4a27-8f7d-6092ab09e6a2}, !- Handle
+  Curve Cubic 2,                          !- Name
+  0.84,                                   !- Coefficient1 Constant
+  0.16,                                   !- Coefficient2 x
+  0,                                      !- Coefficient3 x**2
+  0,                                      !- Coefficient4 x**3
+  0.5,                                    !- Minimum Value of x
+  1.5;                                    !- Maximum Value of x
+
+OS:Curve:Cubic,
+  {699a5e53-eb35-48b0-8620-4f1b1346f653}, !- Handle
+  Curve Cubic 3,                          !- Name
+  1.19248,                                !- Coefficient1 Constant
+  -0.0300438,                             !- Coefficient2 x
+  0.00103745,                             !- Coefficient3 x**2
+  -2.3328e-05,                            !- Coefficient4 x**3
+  -20,                                    !- Minimum Value of x
+  20;                                     !- Maximum Value of x
+
+OS:Curve:Quadratic,
+  {a0d7501f-d3f1-4138-a730-0cd146ed26f2}, !- Handle
+  Curve Quadratic 1,                      !- Name
+  1.3824,                                 !- Coefficient1 Constant
+  -0.4336,                                !- Coefficient2 x
+  0.0512,                                 !- Coefficient3 x**2
+  0,                                      !- Minimum Value of x
+  1;                                      !- Maximum Value of x
+
+OS:Curve:Quadratic,
+  {04786164-65c6-4bfb-8a48-256f8d6806e2}, !- Handle
+  Curve Quadratic 2,                      !- Name
+  0.75,                                   !- Coefficient1 Constant
+  0.25,                                   !- Coefficient2 x
+  0,                                      !- Coefficient3 x**2
+  0,                                      !- Minimum Value of x
+  1;                                      !- Maximum Value of x
+
diff --git a/src/osversion/test/3_5_0/test_vt_CoilHeatingDXSingleSpeed.rb b/src/osversion/test/3_5_0/test_vt_CoilHeatingDXSingleSpeed.rb
new file mode 100644
index 00000000000..08c0b615ed9
--- /dev/null
+++ b/src/osversion/test/3_5_0/test_vt_CoilHeatingDXSingleSpeed.rb
@@ -0,0 +1,9 @@
+#require '/usr/local/openstudio-3.4.0/Ruby/openstudio'
+
+include OpenStudio::Model
+
+m = Model.new
+
+coil = CoilHeatingDXSingleSpeed.new(m)
+
+m.save('test_vt_CoilHeatingDXSingleSpeed.osm', true)
diff --git a/src/osversion/test/VersionTranslator_GTest.cpp b/src/osversion/test/VersionTranslator_GTest.cpp
index 3627e812bcc..ed1289d6d94 100644
--- a/src/osversion/test/VersionTranslator_GTest.cpp
+++ b/src/osversion/test/VersionTranslator_GTest.cpp
@@ -757,21 +757,23 @@ TEST_F(OSVersionFixture, update_3_0_0_to_3_0_1_CoilCoolingDXSingleSpeed_minOATCo
   ASSERT_EQ(1u, model->getObjectsByType("OS:Coil:Cooling:DX:SingleSpeed").size());
   WorkspaceObject c = model->getObjectsByType("OS:Coil:Cooling:DX:SingleSpeed")[0];
 
+  // 3.4.0 to 3.5.0: (1) field added
+
   // Field before insertion point is a curve, should still be
-  ASSERT_TRUE(c.getTarget(14));
-  EXPECT_EQ("CC DX SingleSpeed PartLoadFrac Correlation Curve", c.getTarget(14)->nameString());
+  ASSERT_TRUE(c.getTarget(15));
+  EXPECT_EQ("CC DX SingleSpeed PartLoadFrac Correlation Curve", c.getTarget(15)->nameString());
 
   // Insertion point is at index 15, and is set to -25 (same as model Ctor and E+ IDD default)
-  ASSERT_TRUE(c.getDouble(15));
-  EXPECT_EQ(-25.0, c.getDouble(15).get());
+  ASSERT_TRUE(c.getDouble(16));
+  EXPECT_EQ(-25.0, c.getDouble(16).get());
 
   // After should be 1000.0
-  ASSERT_TRUE(c.getDouble(16));
-  EXPECT_EQ(1000.0, c.getDouble(16).get());
+  ASSERT_TRUE(c.getDouble(17));
+  EXPECT_EQ(1000.0, c.getDouble(17).get());
 
   // Last field
-  ASSERT_TRUE(c.getTarget(31));
-  EXPECT_EQ("Always Off Discrete", c.getTarget(31)->nameString());
+  ASSERT_TRUE(c.getTarget(32));
+  EXPECT_EQ("Always Off Discrete", c.getTarget(32)->nameString());
 }
 
 TEST_F(OSVersionFixture, update_3_0_0_to_3_0_1_CoilCoolingDXTwoStageWithHumidityControlMode_minOATCompressor) {
@@ -2012,3 +2014,88 @@ TEST_F(OSVersionFixture, update_3_4_0_to_3_5_0_TableMultiVariableLookup_twoDims)
     }
   }
 }
+
+TEST_F(OSVersionFixture, update_3_4_0_to_3_5_0_CoilHeatingDXSingleSpeed) {
+  openstudio::path path = resourcesPath() / toPath("osversion/3_5_0/test_vt_CoilHeatingDXSingleSpeed.osm");
+  osversion::VersionTranslator vt;
+  boost::optional<model::Model> model = vt.loadModel(path);
+  ASSERT_TRUE(model) << "Failed to load " << path;
+
+  openstudio::path outPath = resourcesPath() / toPath("osversion/3_5_0/test_vt_CoilHeatingDXSingleSpeed_updated.osm");
+  model->save(outPath, true);
+
+  std::vector<WorkspaceObject> coils = model->getObjectsByType("OS:Coil:Heating:DX:SingleSpeed");
+  ASSERT_EQ(1u, coils.size());
+  WorkspaceObject coil = coils[0];
+
+  EXPECT_EQ(773.3, coil.getDouble(6).get());  // Rated Supply Fan Power Per Volume Flow Rate 2017
+  EXPECT_EQ(934.4, coil.getDouble(7).get());  // Rated Supply Fan Power Per Volume Flow Rate 2023
+}
+
+TEST_F(OSVersionFixture, update_3_4_0_to_3_5_0_CoilCoolingDXSingleSpeed) {
+  openstudio::path path = resourcesPath() / toPath("osversion/3_5_0/test_vt_CoilCoolingDXSingleSpeed.osm");
+  osversion::VersionTranslator vt;
+  boost::optional<model::Model> model = vt.loadModel(path);
+  ASSERT_TRUE(model) << "Failed to load " << path;
+
+  openstudio::path outPath = resourcesPath() / toPath("osversion/3_5_0/test_vt_CoilCoolingDXSingleSpeed_updated.osm");
+  model->save(outPath, true);
+
+  std::vector<WorkspaceObject> coils = model->getObjectsByType("OS:Coil:Cooling:DX:SingleSpeed");
+  ASSERT_EQ(1u, coils.size());
+  WorkspaceObject coil = coils[0];
+
+  EXPECT_EQ(773.3, coil.getDouble(7).get());  // Rated Evaporator Fan Power Per Volume Flow Rate 2017
+  EXPECT_EQ(934.4, coil.getDouble(8).get());  // Rated Evaporator Fan Power Per Volume Flow Rate 2023
+}
+
+TEST_F(OSVersionFixture, update_3_4_0_to_3_5_0_CoilHeatingDXMultiSpeedStageData) {
+  openstudio::path path = resourcesPath() / toPath("osversion/3_5_0/test_vt_CoilHeatingDXMultiSpeedStageData.osm");
+  osversion::VersionTranslator vt;
+  boost::optional<model::Model> model = vt.loadModel(path);
+  ASSERT_TRUE(model) << "Failed to load " << path;
+
+  openstudio::path outPath = resourcesPath() / toPath("osversion/3_5_0/test_vt_CoilHeatingDXMultiSpeedStageData_updated.osm");
+  model->save(outPath, true);
+
+  std::vector<WorkspaceObject> coils = model->getObjectsByType("OS:Coil:Heating:DX:MultiSpeed:StageData");
+  ASSERT_EQ(1u, coils.size());
+  WorkspaceObject coil = coils[0];
+
+  EXPECT_EQ(773.3, coil.getDouble(5).get());  // Rated Supply Air Fan Power Per Volume Flow Rate 2017
+  EXPECT_EQ(934.4, coil.getDouble(6).get());  // Rated Supply Air Fan Power Per Volume Flow Rate 2023
+}
+
+TEST_F(OSVersionFixture, update_3_4_0_to_3_5_0_CoilCoolingDXMultiSpeedStageData) {
+  openstudio::path path = resourcesPath() / toPath("osversion/3_5_0/test_vt_CoilCoolingDXMultiSpeedStageData.osm");
+  osversion::VersionTranslator vt;
+  boost::optional<model::Model> model = vt.loadModel(path);
+  ASSERT_TRUE(model) << "Failed to load " << path;
+
+  openstudio::path outPath = resourcesPath() / toPath("osversion/3_5_0/test_vt_CoilCoolingDXMultiSpeedStageData_updated.osm");
+  model->save(outPath, true);
+
+  std::vector<WorkspaceObject> coils = model->getObjectsByType("OS:Coil:Cooling:DX:MultiSpeed:StageData");
+  ASSERT_EQ(1u, coils.size());
+  WorkspaceObject coil = coils[0];
+
+  EXPECT_EQ(773.3, coil.getDouble(6).get());  // Rated Evaporator Fan Power Per Volume Flow Rate 2017
+  EXPECT_EQ(934.4, coil.getDouble(7).get());  // Rated Evaporator Fan Power Per Volume Flow Rate 2023
+}
+
+TEST_F(OSVersionFixture, update_3_4_0_to_3_5_0_CoilCoolingDXCurveFitSpeed) {
+  openstudio::path path = resourcesPath() / toPath("osversion/3_5_0/test_vt_CoilCoolingDXCurveFitSpeed.osm");
+  osversion::VersionTranslator vt;
+  boost::optional<model::Model> model = vt.loadModel(path);
+  ASSERT_TRUE(model) << "Failed to load " << path;
+
+  openstudio::path outPath = resourcesPath() / toPath("osversion/3_5_0/test_vt_CoilCoolingDXCurveFitSpeed_updated.osm");
+  model->save(outPath, true);
+
+  std::vector<WorkspaceObject> coils = model->getObjectsByType("OS:Coil:Cooling:DX:CurveFit:Speed");
+  ASSERT_EQ(1u, coils.size());
+  WorkspaceObject coil = coils[0];
+
+  EXPECT_EQ(773.3, coil.getDouble(8).get());  // Rated Evaporator Fan Power Per Volume Flow Rate 2017
+  EXPECT_EQ(934.4, coil.getDouble(9).get());  // Rated Evaporator Fan Power Per Volume Flow Rate 2023
+}