[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