A method for detecting a compressor surge cycle, comprising: receiving one or more surge value parameters; selecting a first value from a selected surge value parameter of the one or more surge value parameters; determining a moving average value for the selected surge value parameter; determining a rate of change value for the selected surge value parameter; identifying a first phase of a surge cycle based on determining that the rate of change value exceeds a threshold rate change value; storing the first value, the moving average value, and a first time index value; receiving a second value of the selected surge value parameter; identifying a second phase of the surge cycle based on at least one of 1) determining that a first difference between the second value and the first value is at least equal to a first threshold difference value, and 2) determining that a second difference between the second value and the moving average value is at least equal to a second threshold difference value; receiving a third value of the selected surge value parameter; identifying a third phase of the surge cycle based on at least one of 1) determining that a third difference between the third value and the first value is less than the first difference, and that a fourth difference between the first difference and the third difference is at most equal to a third threshold difference value, and 2) determining that a fifth difference between the third value and the moving average value is less than the second difference, and that a sixth difference between the second difference and the fifth difference is at most equal to a fourth threshold difference value; and providing an indication that one or more compressor surge cycles have occurred. receiving one or more surge value parameters; selecting a first value from a selected surge value parameter of the one or more surge value parameters; determining a moving average value for the selected surge value parameter; determining a rate of change value for the selected surge value parameter; identifying a first phase of a surge cycle based on determining that the rate of change value exceeds a threshold rate change value; storing the first value, the moving average value, and a first time index value; receiving a second value of the selected surge value parameter; identifying a second phase of the surge cycle based on at least one of 1) determining that a first difference between the second value and the first value is at least equal to a first threshold difference value, and 2) determining that a second difference between the second value and the moving average value is at least equal to a second threshold difference value; receiving a third value of the selected surge value parameter; identifying a third phase of the surge cycle based on at least one of 1) determining that a third difference between the third value and the first value is less than the first difference, and that a fourth difference between the first difference and the third difference is at most equal to a third threshold difference value, and 2) determining that a fifth difference between the third value and the moving average value is less than the second difference, and that a sixth difference between the second difference and the fifth difference is at most equal to a fourth threshold difference value; and providing an indication that one or more compressor surge cycles have occurred.