[ncl-talk] stat_dispersion
jbuzan
jbuzan at purdue.edu
Sat Nov 29 15:47:41 MST 2014
Hi Mary,
Sorry for the delayed response!
I realized there was a two problems:
1) I had an error in the original dataset.
2) I figured out how to use IND to feed only non-missing values to the exceedance (the original issue).
I did have a problem with dim_stat4. When it was trying to calculate kurtosis and skewness for stat_dispersion (dim_stat4 2,3), the contributed file would blow up saying it cannot find dim_stat4. I turned it off, but I can’t seem to figure out why dim_stat4 bombed.
-Jonathan
On Oct 9, 2014, at 6:38 PM, Mary Haley <haley at ucar.edu> wrote:
> Jonathan,
>
> Did anybody ever respond to this one?
>
> If not, the code is quite complex, and it would be useful if you could provide a full script and data.
>
> --Mary
>
>
> On Fri, Sep 26, 2014 at 3:30 PM, jbuzan <jbuzan at purdue.edu> wrote:
> I am having some issues with stat_dispersion.
> Perhaps my code ‘fixes’ cause the issue. I am not sure.
>
> I have 2 datasets:
> time: 1460 lat: 192, lon 288
> time: 2920 lat: 192, lon 288
> I have added a second year to the original year (both 1460 time steps). The stat_dispersion, in theory, should have the same minimum and maximum values.
>
> The data is partitioned by Temperature and by a difference field.
> Here is a snippet of the code that does the partitioning:
> do k = 0, dimsizes(numvar)-1
> ;do k = 16, 16
> thresholdstart = k*5.d + 200.d
> print(thresholdstart)
> thresholdend = k*5.d + 205.d
> print(thresholdend)
> ; location = ind(temperature1d.lt.thresholdend)
> location = ind(temperature1d.lt.thresholdend.and.temperature1d.ge.thresholdstart)
> ; printVarSummary(location)
> ; print(location)
> if(.not.all(ismissing(location)))
> tbin = wetbulb1d(location)
> else
> tbin = value
> tbin at _FillValue = value
> end if
> ; print(tbin)
>
> if(.not.all(ismissing(tbin)))
> tbin at _FillValue = -999.d
> delete(tbin at _FillValue)
> numarray(:,k) = stat_dispersion(tbin,opt)
> else
> numarray(:,k) = value
> end if
> delete(tbin)
> delete(location)
> ; print(numarray)
> end do
> numarray = where(numarray.eq.-999.d,value,numarray)
>
> replace_ieeenan (numarray, value, 0)
> numarray at _FillValue = value
> numarray at missing_value = numarray at _FillValue
> numarray!0 = "stat"
> numarray!1 = "bin"
> numarray&bin = numvar
> printVarSummary(numarray)
>
> Here is a snippet of the code that grabs the values:
> box_var = numvar
> box_var at long_name = longnamea
> box_var at units = unitsa
> ;box_var(:,0) = field1c(22,:)
> box_var(:,0) = field1c(2,:)
> box_var(:,1) = field1c(24,:)
> box_var(:,2) = field1c(8,:)
> box_var(:,3) = field1c(25,:)
> box_var(:,4) = field1c(14,:)
> ;box_var(:,4) = field1c(26,:)
>
> field1c of 14 and 2 are the maximum and minimums from Stat_Dispersion.
> I think the issue is that stat_dispersion field becomes too large, and drops something. It might be how I characterize the missing values.
>
> Any help would be appreciated.
>
> -Jonathan
>
>
> _______________________________________________
> ncl-talk mailing list
> 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/20141129/0fea3219/attachment.html
More information about the ncl-talk
mailing list