begin ;;;;;;;;;;;Read model;;;;;;;;;;;;;;;;;;;;; nfile="obs.csv" ines = asciiread (nfile, -1, "string") ; -1 means read whole file print(ines) ; echo input strs1 = str_split_csv (ines, ",", 0) k1 = tofloat (strs1) ; _FillValue = 9.96921e+36 k1@_FillValue = -9999.0 ; change to 'nicer' _FillValue step1=(dimsizes(k1(:,0))) print(step1) ;;;;;;;;;Read model;;;;;;;;;;;;;;;; infile = "test.csv" lines = asciiread (infile, -1, "string") ; -1 means read whole file print(lines) ; echo input strs = str_split_csv (lines, ",", 0) k = tofloat (strs) ; _FillValue = 9.96921e+36 k@_FillValue = -9999.0 ; change to 'nicer' _FillValue step=(dimsizes(k(:,0))) print(step) yp=k(:,0);x;;;ORiginal model yp1=k1(:,0);;;;Original obs ;print(yp) ;print(yp1) ;print(step);; ;print(step1);;;;obs y=5;;;;;maximum size of the array ;;when you want to test test entire length(t=0);;;; c=y-1;;;;;;;;;;Important to note;;;when entire row considered ;c=step;;;;;;;;;;Important to note;;;;when chunked ;c=step;;;;;;;;orelse c is just c=step st=(step-1)-c do i=0,st nums1=k1(i:i+c,0);;;;;;;observtion nums=k(i:i+c,0);;;;;;;;model ;end do print(nums) ;;;;;;;;;;;;Original data;;;;;;;;;;;; OrigObs=nums1 ;;;;;;;;;;in window;;obssssssservation;;;;;; OrigModel1=nums ;;;;;;;;;;in window;model; print(OrigObs) ;print(nums ) rank =(dimsizes(nums)) print(rank) ;print(rank/2) ;;;mid value of original array;;;;; midOrig=nums(rank/2);;;;;;;;;;Model print(midOrig) ;;;;Sorted data;;;;;;;;;;; qsort(nums);;;;;;;;;;very cautious after this line ;print(nums) yu=(nums);;;;;;;;;;;;;;;;;;;;sorted data ;print(yu) rank =(dimsizes(yu)) ;print(rank) v=(1./rank) ;print(rank) ;print(v) print(yu) ;end do ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; xmodel = new(dimsizes(yu),float,yu@_FillValue) ;;;;;;;cdf begins here;;;;;;;;;;;;;;; xmodel(0)=v+0 do i = 1,dimsizes(yu)-1 xmodel(i)=xmodel(i-1)+v end do print(xmodel);;;;;;;;;;;;;;;cdf ;;;;;;define the number I want year_want = (/midOrig/) print(year_want) print(xmodel) print(yu) print(year_want) ;;;;;picking the indices;;;;;;;;;;;;; indi = get1Dindex(yu,year_want) print(indi) ;;;;;;;;picking the value associated with the indices(cdf inverse);;;;;;;;; arraycdfinverse=(OrigObs(indi)) arraycdfinverse1=(OrigModel1(indi)) ;print(Origfuture(i)) delete(indi) delete(nums) delete(xmodel) OrigMod=new(st+1,float,yu@_FillValue) delete(yu);;;;;;Reason for moving here CFunc=arraycdfinverse-arraycdfinverse1 ;OrigMod=k(c/2:c/2,0) OrigMo=k(5:5,0) printVarSummary(OrigMo) OrigMod=k((i+c)/2:(i+c)/2,0)+CFunc asciiwrite("foo", OrigMod) print(OrigMod) end do ;print(CFunc) return end