# [ncl-talk] "sum" and "avg" functions without ignoring missing values

Arne Melsom arne.melsom at met.no
Fri Nov 24 04:01:40 MST 2017

```Hi!
Since 'music piano' replied, I thought I might chime in ;)
I'm pretty sure that no option(s) to functions allow you to do what you
want.
So you'll need to write alternative functions yourself (perhaps not what
you consider 'an easy way'...)
You may use something like

orgFill = a at _FillValue
newFill = -min(abs(a)) - 1    ; make sure newFill is out of range and <0
if (newFill .eq. orgFill) then  ; newFill must be different from orgFill
newFill = newFill - 1
end if
newVar = ndtooned(a)
newVar at _FillValue = newFill
indx = ind(ismissing(newVar))
newVar(indx) = orgFill

...and, if you later want to restore:
a = newa
a at _FillValue = orgFill

Hope this helps/clarifies!
Best regards,
Arne

2017-11-24 1:49 GMT+01:00 Rashed Mahmood <rashidcomsis at gmail.com>:

> Hello all,
> I am just wondering if there is an easy way to tell the "sum" and "avg"
> functions NOT ignore the missing values. Below lines clarify my question
> where I would like to see same values for c and d:
>
> ncl 0> a = (/(/-9.,2,-9./),(/1,-9.,2./)/)
> ncl 1> a at _FillValue = -9.
> ncl 2> c = (a(0,:)+a(1,:))
> ncl 3> d = dim_sum_n(a,0)
> ncl 4> print("  "+c+ " ... "+d)
> (0)       -9 ... 1
> (1)       -9 ... 2
> (2)       -9 ... 2
>
> Thanks,
> Rashed
>
>
> _______________________________________________
> 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/20171124/10418d95/attachment.html>
```