[ncl-talk] generate_sample_indices without replacement
Rashed Mahmood
rashidcomsis at gmail.com
Thu Feb 17 11:10:58 MST 2022
Hi Sri,
I am not fully sure what your end goal is here. However, if you need to
randomly select 40 members only once then you do not need a loop for it.
Also, if you want to select from 100 members then the function
"generate_sample_indices" should have n=100 instead of 40 that you used.
So if you are interested in randomly selecting *40 members ONLY ONCE *then
your code would be:
Note that I turned OFF the loop because it is not needed for this example.
You can use a loop if you need to randomly select 40 members many times.
; do j= 0,n-1
iwo = generate_sample_indices( nens, 0 )
rcp_40= T2m(:,iwo(0:n-1),:,:)
; end do
On Thu, Feb 17, 2022 at 8:28 AM Sri nandini via ncl-talk <
ncl-talk at mailman.ucar.edu> wrote:
> Hello dear ncl-users,
>
> I would like to know how to properly code for selecting 40 random
> ensemble from a 100 ensembles of my data.
>
> I wonder if someone could help me with this code? My original data is
> [time | 240] x [ens | 100] x [lat | 180] x [lon | 360]
>
> f = addfile ("temperature_data.nc", "r")
> T2m = f->temp
>
> printVarSummary(T2m)
> dimx = dimsizes(T2m)
> ntim = dimx(0) ; 240- time dimension
> nens = dimx(1) ; 100- ensemble dimension
> nlat = dimx(2) ; 180- lat
> mlon = dimx(3) ; 360- lon
>
> T2m at _FillValue = -9.96921e+36
>
> ; randomly select 40 members from 100 members without replacement
> ; define a new variable dimensions
>
> n=40
> rcp_40=new((/ntim,n,nlat,mlon/),typeof(rcp45_anom))
> copy_VarCoords(rcp45_anom(:,0,:,:),rcp_40(:,0,:,:)) ; Copy metadata
> printVarSummary(rcp_40) ==>Dimensions and sizes: [time | 240] x
> [40] x [lat | 180] x [lon | 360]
>
> Coordinates:
> time: [1192152..1366728]
> lat: [-89.5..89.5]
> lon: [ 0.. 359]
>
> do j= 0,n-1
> iwo = generate_sample_indices( n, 0 )
> rcp_40(:,j,:,:) = T2m(:,iwo,:,:) ====>error here fatal:VarVarWrite:
> Number of dimensions on left hand side does not match right hand side
>
> end do
> printVarSummary(rcp_40)
>
> Could someone help me in this code?
>
> Best
>
> Sri
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at mailman.ucar.edu
> List instructions, subscriber options, unsubscribe:
> https://mailman.ucar.edu/mailman/listinfo/ncl-talk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20220217/c60db5dc/attachment.html>
More information about the ncl-talk
mailing list