[ncl-talk] Help
Dennis Shea
shea at ucar.edu
Tue Aug 1 08:57:05 MDT 2017
There can't be a function for everything.
A generalization of Guido's suggestion
X = where(x.ne.0, x, x at _FillValue)
xavg = dim_avg_n_Wrap(X, nDim) ; read documentation
printVarSummary(xavg)
printMinMax(xavg, 0)
delete(X)
or, less clear but without a temporary array
xavg = dim_avg_n_Wrap(where(x.ne.0, x, x at _FillValue), nDim)
printVarSummary(xavg)
printMinMax(xavg, 0)
On Tue, Aug 1, 2017 at 8:47 AM, Guido Cioni <guidocioni at gmail.com> wrote:
> No, there is officially no function, but you can define a new one that
> does the job pretty well.
>
> Here is the prototype that goes before the program "begin".
>
> function avg_zeros(x:numeric)
> ; compute average not considering zeros,
> ; --> in: rain rate
> ; <-- out: average rain rate
> local N
> begin
> N=num(x .ne. 0)
> return(sum(x)/ N)
> end
>
> Example of a function call
>
> rain=avg_zeros(ts->precp_r)
>
> Cheers
>
> On 1. Aug 2017, at 08:32, Arun Kumar Dwivedi <dwivedi.arunkumar at gmail.com>
> wrote:
>
> Hello All,
>
> In NCL ,how to calculate average of any array or data while ignoring all
> the zeros
> If there is any command or function, kindly let me know.
>
> Thanks & Regards
> Arun Kumar Dwivedi,
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
>
> Guido Cioni
> http://guidocioni.altervista.org
>
>
> _______________________________________________
> 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/20170801/f370dc27/attachment.html
More information about the ncl-talk
mailing list