begin load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl" nBoot = 10000 xBoot = new (nBoot, integer) Missed_N = new(2,integer) Missed_N(:) = 1 Missed_NW = new(19,integer) Missed_NW(:) = 2 Missed_W = new(73,integer) Missed_W(:) = 3 Missed_SW = new(36,integer) Missed_SW(:) = 4 Missed_S = new(5,integer) Missed_S(:) = 5 Missed_Other = new(6,integer) Missed_Other(:) = 6 Missed0 = array_append_record(Missed_N,Missed_NW,0) Missed1 = array_append_record(Missed0,Missed_W,0) Missed2 = array_append_record(Missed1,Missed_SW,0) Missed3 = array_append_record(Missed2,Missed_S,0) Missed = array_append_record(Missed3,Missed_Other,0) ;N=1 ;NW=2 ;W=3 ;SW=4 ;S=5 ;Other=6 Good_N = new(1,integer) Good_N(:) = 1 Good_NW = new(14,integer) Good_NW(:) = 2 Good_W = new(79,integer) Good_W(:) = 3 Good_SW = new(42,integer) Good_SW(:) = 4 Good_S = new(3,integer) Good_S(:) = 5 Good_Other = new(1,integer) Good_Other(:) = 6 Good0 = array_append_record(Good_N,Good_NW,0) Good1 = array_append_record(Good0,Good_W,0) Good2 = array_append_record(Good1,Good_SW,0) Good3 = array_append_record(Good2,Good_S,0) Good = array_append_record(Good3,Good_Other,0) GoodN = new(nBoot,integer) GoodNW = new(nBoot,integer) GoodW = new(nBoot,integer) GoodSW = new(nBoot,integer) GoodS = new(nBoot,integer) GoodOther = new(nBoot,integer) MissN = new(nBoot,integer) MissNW = new(nBoot,integer) MissW = new(nBoot,integer) MissSW = new(nBoot,integer) MissS = new(nBoot,integer) MissOther = new(nBoot,integer) do ns=0,nBoot-1 ; generate multiple estimates iw = generate_sample_indices(140,1) ; indices with replacement MissN(ns) = num(Missed(iw).eq.1) MissNW(ns) = num(Missed(iw).eq.2) MissW(ns) = num(Missed(iw).eq.3) MissSW(ns) = num(Missed(iw).eq.4) MissS(ns) = num(Missed(iw).eq.5) MissOther(ns) = num(Missed(iw).eq.6) GoodN(ns) = num(Good(iw).eq.1) GoodNW(ns) = num(Good(iw).eq.2) GoodW(ns) = num(Good(iw).eq.3) GoodSW(ns) = num(Good(iw).eq.4) GoodS(ns) = num(Good(iw).eq.5) GoodOther(ns) = num(Good(iw).eq.6) end do xAvgBoot_GoodN = dim_avg_n(GoodN,0) ; Averages of bootstrapped samples xAvgBoot_GoodNW = dim_avg_n(GoodNW,0) xAvgBoot_GoodW = dim_avg_n(GoodW,0) xAvgBoot_GoodSW = dim_avg_n(GoodSW,0) xAvgBoot_GoodS = dim_avg_n(GoodS,0) xAvgBoot_GoodOther = dim_avg_n(GoodOther,0) xAvgBoot_MissN = dim_avg_n(MissN,0) ; Averages of bootstrapped samples xAvgBoot_MissNW = dim_avg_n(MissNW,0) xAvgBoot_MissW = dim_avg_n(MissW,0) xAvgBoot_MissSW = dim_avg_n(MissSW,0) xAvgBoot_MissS = dim_avg_n(MissS,0) xAvgBoot_MissOther = dim_avg_n(MissOther,0) sort_GoodN = dim_pqsort_N(GoodN, 2, 0) sort_GoodNW = dim_pqsort_N(GoodNW, 2, 0) sort_GoodW = dim_pqsort_N(GoodW, 2, 0) sort_GoodSW = dim_pqsort_N(GoodSW, 2, 0) sort_GoodS = dim_pqsort_N(GoodS, 2, 0) sort_GoodOther = dim_pqsort_N(GoodOther, 2, 0) sort_MissN = dim_pqsort_N(MissN, 2, 0) sort_MissNW = dim_pqsort_N(MissNW, 2, 0) sort_MissW = dim_pqsort_N(MissW, 2, 0) sort_MissSW = dim_pqsort_N(MissSW, 2, 0) sort_MissS = dim_pqsort_N(MissS, 2, 0) sort_MissOther = dim_pqsort_N(MissOther, 2, 0) n05 = round(0.05*(nBoot-1),3) ; indices for sorted array n500 = round(0.500*(nBoot-1),3) n95 = round(0.95*(nBoot-1),3) print(sort_GoodNW(n05)) print(sort_GoodNW(n500)) print(sort_GoodNW(n95)) print(sort_MissNW(n05)) print(sort_MissNW(n500)) print(sort_MissNW(n95)) ;xBoot_025= xBoot(n025) ; 2.5% level ;xBoot_500= xBoot(n500) ; 50.0% level (median) ;xBoot_975= xBoot(n975) ; 97.5% level end