[ncl-talk] Composite Standard Deviation
Samar Min Allah
minallah at umich.edu
Thu Mar 31 19:50:01 MDT 2016
Thank you, that helped!
Instead of weighted averaging to get the pooled variance, I first did
the *dim_avg_n_Wrap
*on the daily data and modified the clm/stdMonTLL functions in
contributed.ncl to something similar to clm/stdMonT so that it does not
require Lat and Lon.
--
Samar
On Wed, Mar 30, 2016 at 5:20 PM, Dennis Shea <shea at ucar.edu> wrote:
> 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]
>
> add, (s) "var" and/or "stddev"
>
> 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
>
>
> then, later, add
>
> 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/20160331/a21155ca/attachment.html
More information about the ncl-talk
mailing list