[ncl-talk] Problem with wk_spacetime function
Mike Victor
mayuresh0987 at gmail.com
Sun Sep 13 22:19:51 MDT 2020
*I referred to the code for the function wk_spacetime as given on this link
<http://www.mit.edu/course/13/13.715/ncarg-5.5.1/lib/ncarg/nclscripts/csm/diagnostics_cam.ncl>.
The result of the code is supposed to be in congruence with the methods
used in the paper "Convectively coupled equatorial waves: Analysis of
clouds and temperature in the wavenumber–frequency domain
<https://journals.ametsoc.org/jas/article/56/3/374/24501>", according to
which at first the 3 harmonics of the seasonal cycle are to be removed (as
mentioned in Methodology part of the paper) but according to the code for
wk_spacetime function, they have removed the annual cycle instead. Correct
me if I am understanding it wrong. I am pasting the part of the code where
the annual cycle is removed.*
;-------------------------------------------------------------------
; Remove dominant signals
; (a) Explicitly remove *long term* linear trend
; For consistency with JET code keep the grid point means.
; This necessitates that 'dtrend_msg' be used because 'dtrend'
; always removes the mean(s).
; (b) All variations >= approx 'nDayWin' days if full year available
;-------------------------------------------------------------------
dNam = getvardims( x )
work = x($dNam(1)$|:,$dNam(2)$|:,$dNam(0)$|:) ; reorder (lat,lon,time)
;;work = dtrend( work , False ) ; remove mean + overall long term
temporal trend
work = dtrend_msg(ispan(0,ntim-1,1)*1.0, work, False, False) ;
remove just trend
if (isatt(work,"_FillValue")) then
delete(work at _FillValue) ; dtrend_msg adds this att
end if
; replace
with detrended
x = (/ work($dNam(0)$|:,$dNam(1)$|:,$dNam(2)$|:) /) ; values (time,lat,lon)
delete(work)
if (nDayTot.ge.365) then ; rmv dominant signals
rmvMeans = False ; original code did not remove
x = rmvAnnualCycle(x, spd, nDayTot, rmvMeans, fCrit, 0)
end if
if (debug) then
print("===> Post removal of trend and signal <===")
printVarSummary( x ) ; (time,lat,lon)
printMinMax( x, True )
end if
*Please help.*
*Regards.*
*Mayuresh *
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200914/b2a0cd9c/attachment.html>
More information about the ncl-talk
mailing list