1. A computer readable storage medium, embodying a program of instructions executable by a machine to perform a method for predicting crop yield, said method comprising the steps of: a. receiving data, said data including: i. normalized difference vegetation index data; ii. soil moisture data; iii. surface temperature data; and iv. rainfall data; and b. identifying a “piecewise linear empirical equation with at least one break points” with said data, said “piecewise linear empirical equation with at least one break point” including coefficients; and c. determining said coefficients for said “piecewise linear empirical equation with at least one break point” by performing an optimization process on said “piecewise linear empirical equation with at least one break point” using said data; and wherein said at least one break point is selected using the average from a user-selected range of time for a user-selected crop in a user-selected area of interest.