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*h-b*T-e*(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 air-sea 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: |
|
|---|