[Thread Prev][Thread Next][Index]

Re: [ferret_users] Nino3.4 estimation




Hi,

As an alternative you could use the @SMX or @SMN  "smoothers". These return the maximum/minimum values over an interval. If your threshold is exceeded by the minimum (say) you know all other values are greater and the event is triggered.

To get the middle point of a series of 5 points exceeding 0.5 degree anomaly

let is_el_nino = if sst_anom[l=@smn:5] gt 0.5 then 1 else 0
let is_la_nina = if sst_anom[l=@smx:5] lt -0.5 then 1 else 0

You can combine these definitions with the @EVNT:0.5 transformation to detect the begining and end of the episodes if they are longer than 5 (odd for start, even for end). I'd check the start and end of these time series to make sure that you aren't starting/ending with only 3/4 triggering points in the smoothing window.


Russ

From: owner-ferret_users@xxxxxxxx <owner-ferret_users@xxxxxxxx> on behalf of Ryo Furue <furue@xxxxxxxxxx>
Sent: Monday, 17 February 2020 1:40 PM
To: Akash. S <akash013akash@xxxxxxxxx>
Cc: ferret users <ferret_users@xxxxxxxx>
Subject: Re: [ferret_users] Nino3.4 estimation
 
Hi Akash,

On Sat, Feb 15, 2020 at 7:28 PM Akash. S <akash013akash@xxxxxxxxx> wrote:
I calculated the Nino3.4 area averaged SST anomaly (variable name = nino34 and l=1:372). I want to know which are the El Nino and La Nina years, (Condition is define El Nino and La Nina episodes as exceeding the threshold of ±0.5°C for a minimum of five consecutive overlapping seasons).

Since I don't know the details of your problem, I just outline one strategy.  It seems that you can achieve your goal by
  1. creating a mask, which is 1 when the "event" occurs and 0 when not: LET mask = IF <condition> then 1 else 0.
  2. summing the mask over the period:  if the sum is equal to the number of the time steps within the period, then you have consecutive events.
For the sum, the boxcar smoother (@SBX) over L may be convenient:


Although it's called a "smoother", it just takes a simple average over an interval, so that you can use this relation to infer the sum

(sum) = (average) *  (number of data points).

Otherwise, you can use the @SUM operator over an interval of L.

Hope this helps.

Ryo


[Thread Prev][Thread Next][Index]
Contact Us
Dept of Commerce / NOAA / OAR / PMEL / Ferret

Privacy Policy | Disclaimer | Accessibility Statement