Conceptual model for ENSO. This is a rewrite of a Fortran program used in Choi et al (2013).
The main function is oscillator() which is a generator that yields ENSO SST anomalies indefinitely after being initialised.
dT = a*hb*Te*(T^3.)
Parameters: 


Returns:  dT (K/month) 
Return type:  numeric 
Compute the lag times for (1) Kelvin waves and (2) Rossby waves + reflected Kelvin waves to reach the eastern boundary.
i.e. the difference of the two is the time lag between positive feedbacks and negative feedbacks of ENSO
Parameters: 


Returns:  lag time for positive feedbacks, lag time for negative feedbacks (units: month) 
Return type:  (number, number) 
Generator for simulating ENSO SST anomaly under a conceptual framework and a nonlinear airsea coupling coefficient. (see Choi et al. (2013))
Parameters: 


Yields :  T (number) – SST anomaly at the current time step 
Calculate the Kelvin and Rossby wave speed
Parameters: 


Returns:  Kelvin wave speed, Rossby wave speed, in m/s 
Return type:  (number, number) 
Compute the zonal wind anomaly given an SST anomaly
Assume a piecewise linear relationship between the zonal wind stress anomaly and the SST anomaly (see Choi et al (2013).)
Parameters: 

