# [ncl-talk] Composite Standard Deviation

Dennis Shea shea at ucar.edu
Wed Mar 30 15:20:37 MDT 2016

```You can look at the code for the  {clm,std}MonTLL functions. They are
located in the contributed.ncl

%> less \$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl

These were (I think)  the 1st application functions introduced to NCL
(~1998 or so).

Perhaps, I misunderstand
===
[1] Maybe square the results from stdMonTLL ===> variances <== add meta data
[2] Compute average of variances: *dim_avg_n_Wrap(monVar,(/1,2/))*; then
take the square root

*==*
Maybe the following*, ...* extract the code for function

function calculate_monthly_values (x:numeric, arith:string,
nDim[1]:integer, opt[1]:logical)

[SNIP]
if (.not.(arith.eq."ave" .or. arith.eq."avg" .or. arith.eq."sum"  \
.or. arith.eq."min" .or. arith.eq."max") ) then
print("calculate_monthly_values: unrecognizezed 'arith'
argument="+arith)
exit
end if
[SNIP]

if (.not.(arith.eq."ave" .or. arith.eq."avg" .or. arith.eq."sum"  \
.or. arith.eq."min" .or.
arith.eq."max"  \
or. arith.eq."var" .or.
arith.eq."stddev")  ) then

if (arith.eq."var") then
if (nit.gt.1) then ; work around for NCL's dimension
reduction
xStat(nt)  = dim_variance_n( x(it), nDim)
else               ; one 'it'
xStat(nt)  = 0.0                ; variance for one
observation
end if
end if

and/or

if (arith.eq."stddev") then
if (nit.gt.1) then ; work around for NCL's dimension
reduction
xStat(nt)  = dim_stddev_n( x(it), nDim)
else               ; one 'it'
xStat(nt)  = 0.0              ; std dev for one
observation
end if
end if

===

HTH

On Wed, Mar 30, 2016 at 10:36 AM, Samar Min Allah <minallah at umich.edu>
wrote:

>
> Hi,
>
> I have daily data (time, lat, lon) that I am first converting to monthly
> using *calculate_monthly_values *and then finding monthly climatology
> from *clmMonTLL *and std from
>
> *stdMonTLL.*
> ​The daily data is over a sub-basin for which I take an average later​
> using *dim_avg_n_Wrap(monclim,(/1,2/)) *over all lats and lons.
>
> ​This works for the mean climatology but I cannot take a mean for the
> standard deviation this way so is there a function or example that can
> compute composite standard deviation.​
>
> ​Alternatively, is there a function clmMon and stdMon that can work on 1
> dimension data (does not require lat lon)​.
>
>
>
> --
> Samar
>
>
> _______________________________________________
> 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/20160330/304f0da7/attachment.html
```