A method for controlling a heating and cooling system comprising: receiving ambient condition data and system demand data; processing the ambient condition data and system demand data to determine desired system operating parameters including a first value of a first system operating parameter; receiving system condition data that includes sensed system conditions; comparing the sensed system conditions to operating map functions; associating the first value of the first system operating parameter with a first operating map function; determining whether the system condition data exceeds a threshold envelope of the first operating map function and if the threshold envelope is not exceeded then determining if the system is operating at desired operating parameters and, if so, returning to the step of receiving system condition data and, if not, adjusting the operating parameters to meet desired operating parameters and returning to the step of receiving system condition data; and if the threshold envelope is exceeded then determining whether changing a second system operating parameter will move the system condition data within the threshold envelope of the first operating map function, and if so, changing the second operating parameter; if not, determining whether the system condition data exceeds a threshold envelope of a second operating map function responsive to determining that the system condition data exceeds the threshold of the first operating map function; and changing the first value of the first system operating parameter to a second value associated with the second operating map function responsive to determining that the system condition data does not exceed the threshold envelope of the second operating map function. receiving ambient condition data and system demand data; processing the ambient condition data and system demand data to determine desired system operating parameters including a first value of a first system operating parameter; receiving system condition data that includes sensed system conditions; comparing the sensed system conditions to operating map functions; associating the first value of the first system operating parameter with a first operating map function; determining whether the system condition data exceeds a threshold envelope of the first operating map function and if the threshold envelope is not exceeded then determining if the system is operating at desired operating parameters and, if so, returning to the step of receiving system condition data and, if not, adjusting the operating parameters to meet desired operating parameters and returning to the step of receiving system condition data; and if the threshold envelope is exceeded then determining whether changing a second system operating parameter will move the system condition data within the threshold envelope of the first operating map function, and if so, changing the second operating parameter; if not, determining whether the system condition data exceeds a threshold envelope of a second operating map function responsive to determining that the system condition data exceeds the threshold of the first operating map function; and changing the first value of the first system operating parameter to a second value associated with the second operating map function responsive to determining that the system condition data does not exceed the threshold envelope of the second operating map function.