<div dir="ltr">I sincerely apologise for having sent the incomplete script. I am aware that the olr data is type short and have carefully converted it to type float using the short2flt command but the error persisted. Thank you so much for making corrections with the script. It works completely well.<div><br></div><div>Thanks and Regards,</div><div>Aditi <div><br></div><div><br><div> </div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 25 July 2017 at 07:00, Dennis Shea <span dir="ltr"><<a href="mailto:shea@ucar.edu" target="_blank">shea@ucar.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Something 'funny' is going on here. <br><br><div>You mention "OLR daily data from NOAA" . I assume you are referring to:<br> <a href="https://www.esrl.noaa.gov/psd/data/gridded/data.interp_OLR.html" target="_blank">https://www.esrl.noaa.gov/psd/<wbr>data/gridded/data.interp_OLR.h<wbr>tml</a></div><br></div><div>The NOAA 'olr' is type 'short'. It must be unpacked before it can be used.<br></div><div>---<br></div><div>In your code, you read and use the variable directly:<br><br> olr = f->olr<br></div><div> <b><br></b><div>I can only speculate that 'someone' unpacked the original NOAA OLR data and overwrote the original file. In my opinion, this is not good practice. A different file name should have been used: eg, <a href="http://olr.day.mean.unpacked.nc" target="_blank">olr.day.mean.unpacked.nc</a><b><br></b></div><br></div><div>============<br>The error message you included is from one of several <b> error checks </b>performed internally by the wkSpaceTime procedure<b>. </b>It checks to see if _FillValue (missing values) are present in the variable being processed.<b> </b>If _FillValue are encountered,<b> </b>wkSpaceTime<b> </b> prints the following<b> fatal</b> error and terminates:<span class=""><b><br></b><br><div><div>nMsg=390635003 <b>User must preprocess to remove _FillValue</b></div><div>(0)<span class="m_-3166495852960946127gmail-m_3203004573618911010gmail-m_7802296798451148650m_-8599159757930805512m_-8696381555177108316m_-955502072596689012gmail-m_-450753619854072856m_9072145605408096830gmail-m_5722687567346561232gmail-Apple-tab-span" style="white-space:pre-wrap">        </span> FFTs do not allow missing values!! <br></div></div></span></div><br></div><div>The 390635003 indicates the overall total number of _FillValue.<br><br></div>The key is: <b>User must preprocess to remove _FillValue</b><div><div><div><br></div><div>The <b>user</b> to whom the message is referring is you :-)<br><br></div><div>There is no magic. You must determine the continuous period that has no _FillValue. <br></div><div>---------<br><br></div><div>Luckily, I have the original NOAA <a href="http://olr.day.mean.nc" target="_blank">olr.day.mean.nc</a> file. The olr variable is type short. Hence, short2flt must be used to to unpack the variable.<br> <a href="https://www.ncl.ucar.edu/Document/Functions/Contributed/short2flt.shtml" target="_blank">https://www.ncl.ucar.edu/Docum<wbr>ent/Functions/Contributed/shor<wbr>t2flt.shtml</a><br><br>Also, I (arbitrarily) used 15S to 15N and will use NCL's coordinate subscripting {...} to select the desired latitudes. You can use the latitude bounds that you want but I suggest thinking about the appropriate latitude band for your objective. Perhaps, talk to an adviser . <br>;-----------------------------<wbr>------------------------------<wbr>------<br></div><div>; Read the variable; Look at variable overview<br>;-----------------------------<wbr>------------------------------<wbr>------<br></div><span class=""><div> latN = 15<br></div><div> latS = -latN<br></div></span><div><span class=""><br> f = addfile("<a href="http://olr.day.mean.nc" target="_blank">olr.day.mean.nc</a>", "r")<br></span> olr = short2flt( f->olr(<b>:,{latS:latN},</b>:) ) ; ALL times ... <<< NOAA<br> ;;olr = f->olr(<b>:,{latS:latN},</b>:) ) ; ALL times ... <<< your file<br><br> printVarSummary(olr) <b>; Look at the variable!</b><br></div><div> printMinMax(olr,0) <b>; Do the values look reasonable?<br></b></div><div><br>;-----------------------------<wbr>------------------------------<wbr>------<br>; What dates are on the file?<br>; Convert 'time' to human readable yyyymmdd<br>; <a href="https://www.ncl.ucar.edu/Document/Functions/Built-in/cd_calendar.shtml" target="_blank">https://www.ncl.ucar.edu/Docum<wbr>ent/Functions/Built-in/cd_cale<wbr>ndar.shtml</a></div><div>;-----------------------------<wbr>------------------------------<wbr>---------<br> ymd = cd_calendar(olr<b>&</b>time, -2) ; time -> yyyymmdd<br> dimo = dimsizes(olr)<br> ntim = dimo(0) <wbr> ; # days on file<br> print("First and Last dates on file: ymd(0)="+ymd(0)+" ymd(ntim-1)="+ymd(ntim-1))<br><br>;-----------------------------<wbr>------------------------------<wbr>------<br>; Determine the number of _FillValue in the olr variable<br></div><div>; Print the days that have _FillValue oresent<br></div><div>;-----------------------------<wbr>------------------------------<wbr>------<br><br> do nt=0,ntim-1 ; loop over each day; print days when _FillValue present<br> nmsg = num(ismissing(olr(nt,:,:)))<br> if (nmsg.ne.0) then<br> print(nt+" "+ymd(nt) +" nmsg="+nmsg)<br> end if<br> end do<br><br>----------<br></div><div>OUTPUT:<br></div><div><br>(0) File First and Last dates: ymd(0)=19740601 ymd(ntim-1)=20131231<br><br></div><div> nt ymd # missing<br></div><div>(<b>0) 1385 19780317 nmsg=10512 missing data block starts</b><br>(0) 1386 19780318 nmsg=10512<br></div><div>[snip]<br></div><div>(0) 1673 19781230 nmsg=10512<br><b>(0) 1674 19781231 nmsg=10512 missing data block ends</b><br> ^^^^<br></div><div> Last index with _FillValue; <b>use next index 1674+1=1675 [ 19790101 ]<br><br></b></div><div>============<br><br></div><div>I think you should start at 1 Jan 1979 [ 19790101 ]: time index 1675. <br><br> <wbr> <wbr> ; <b>Selected times</b> : 15S to 15N <br> olr = short2flt( f->olr(<b>1675: ,{latS:latN}</b>,:) ) ; <<< original NOAA file<br> ;;olr = f->olr(1<b>675: ,{latS:latN}</b>,:) ) ; <<< your file<br><br></div><div>Attached is a script that creates the Wheeler-Kiladis plots using olr between 15S and 15N. Change to read your data file and use your desired latS & latN<br><br></div>******************************<wbr>********<br>FYI: NCL version (6.1.2) is 4.5 years old. You should upgrade to NCL version 6.4.0<br> <a href="http://www.ncl.ucar.edu/current_release.shtml" target="_blank">http://www.ncl.ucar.edu/curren<wbr>t_release.shtml</a><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Mon, Jul 24, 2017 at 3:49 AM, Aditi Modi <span dir="ltr"><<a href="mailto:aditimodi91@gmail.com" target="_blank">aditimodi91@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Dear all,<div><br></div><div>I am trying to plot the wheeler kiladis diagram for the OLR daily data from NOAA and the following ncl script shows the error:</div><div><br></div><div><div>nMsg=390635003 User must preprocess to remove _FillValue</div><div>(0)<span class="m_-3166495852960946127m_-2389715254086519651gmail-Apple-tab-span" style="white-space:pre-wrap">        </span> FFTs do not allow missing values!! </div></div><div><br></div><div>Script: My NCL version (6.1.2)</div><div><br></div><div><div>load "$NCARG_ROOT/lib/ncarg/nclscri<wbr>pts/csm/gsn_code.ncl"</div><div>load "$NCARG_ROOT/lib/ncarg/nclscri<wbr>pts/csm/gsn_csm.ncl"</div><div>load "$NCARG_ROOT/lib/ncarg/nclscri<wbr>pts/csm/contributed.ncl"</div><div>load "$NCARG_ROOT/lib/ncarg/nclscri<wbr>pts/csm/diagnostics_cam.ncl"</div><div><br></div><div> case = "wheeler"</div><div> diro = "./"</div><div> latN = 15</div><div> latS = -latN</div><div><br></div><div> nDayWin = 96</div><div> nDaySkip =1</div><div><br></div><div> opt = True</div><div> opt@debug= True</div><div> opt@pltType = "eps"</div><div> opt@cnLinesOn = False ; turn off contour lines</div><div><br></div><div> spd = 1</div><div> var = "olr"</div><div><br></div><div> setfileoption("nc", "FileStructure", "Advanced")</div><div><br></div><div> f = addfile("<a href="http://olr.day.mean.nc" target="_blank">olr.day.mean.nc</a>", "r")</div><div> sla = f->olr(:,{latS:latN},:)</div><div><br></div><div>olr@_FillValue = olr@missing_value</div><div><br></div><div> wkSpaceTime (olr, diro, case, var,latN, spd, nDayWin, nDaySkip, opt )</div><div><br></div></div></div>
<br></div></div>______________________________<wbr>_________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/mailma<wbr>n/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>