[ncl-talk] Anomaly for data with missing value
Dennis Shea
shea at ucar.edu
Sun May 3 08:17:28 MDT 2020
There is no magic solution.
Daily data *[rf*]:
Continuous variables like temperature, pressure, etc have a *high* degree
of day-to-day correlation.
Typically, there is 4-to-7 days between independent estimates. Hence,
interpolating *short*
spans of missing daily values may be acceptable.
Unfortunately, daily precipitation has *low* day-to-day autocorrelation.
Therefore, interpolating between
even short spans of missing daily precipitation values may not be
appropriate.
Raw daily climatology: *xClmDay*
Again, you could interpolate and you could get 'numbers' but you will have
to decide how to proceed.
If there are large daily gaps and you do decide to interpolate the *xClmDay
*variable, the *smthClmDay *result will be
affected by the interpolated values. Again, this is your decision.
You might look at *linmsg_n*
<https://www.ncl.ucar.edu/Document/Functions/Built-in/linmsg_n.shtml> to
fill in missing values and *runave_n_Wrap*
<https://www.ncl.ucar.edu/Document/Functions/Contributed/runave_n_Wrap.shtml>
for smoothing
*Stay Healthy*
On Sat, May 2, 2020 at 1:36 PM Dr. Suman Maity via ncl-talk <
ncl-talk at ucar.edu> wrote:
> Dear all
> This is Suman. I have 10 years daily data of rainfall. I want to calculate
> the anomaly using smoothed climatology. Here is my code:
> load "./Extra.ncl"
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *begin ymdStrt = 19940101 ymdLast = 19981231 nhar = 3 fn
> = addfile ("./.rain.daily.nc <http://rain.daily.nc>", "r") time =
> fn->time ymd = cd_calendar(time, -2) iStrt = ind(ymd.eq.ymdStrt)
> iLast = ind(ymd.eq.ymdLast) delete(time)
> delete(ymd);***********************************************************;
> Read user specified time and create required yyyyddd
> ;*********************************************************** time =
> fn->time(iStrt:iLast) TIME = cd_calendar(time, 0) year =
> floattointeger( TIME(:,0) ) month = floattointeger( TIME(:,1) ) day
> = floattointeger( TIME(:,2) ) ddd = day_of_year(year, month, day)
> yyyyddd = year*1000 + ddd x = fn->rf(iStrt:iLast,:,:) xClmDay
> = clmDayTLL(x, yyyyddd) xClmDay_sm = smthClmDayTLLS(xClmDay, nhar)
> printVarSummary(xClmDay_sm)*
> *end*
>
> Now during the execution of the code, it shows "warning:ezfftf: 12451
> input arrays contained missing values. No calculations performed on these
> arrays".
> It seems to mean that "ezfftf" is not running because of "missing values".
> Yes my data contains missing values.
>
> Therefore my query:
> Is it not possible to find smoothed anomaly for a data with missing value
> using the above method? What is other ways in ncl to approach the issue?
> Please answer me. Any sort of help/suggestions are highly appreciated.
> Thanking you,
>
> Best
> Suman
> ++++++++++++++++++++++++++++++++++++++++++
> Dr. Suman Maity
> Research Associate
> School of Atmospheric Science
> Sun Yat-sen University, Zhuhai campus,Tangjiawan Town
> Zhuhai, Guangdong, Postcode-519082,China.
> Phone:+86-13543861045 (China), +91-9732636778 (India)
> skype: reach2suman
> https://www.researchgate.net/profile/Suman_Maity
> ++++++++++++++++++++++++++++++++++++++++++
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200503/815b35a9/attachment.html>
More information about the ncl-talk
mailing list