Converts a multi-dimensional array to a one-dimensional array.
function ndtooned ( val ) return_val [*] : typeof(val)
An array of any dimensionality or type.
a = (/(/1,2,3/),(/4,5,6/),(/7,8,9/)/) b = ndtooned(a) print(b) ; should be (/1,2,3,4,5,6,7,8,9/)
Consider x(ntim,nlat,mlon). Here the 'ntim' dumension contains monthly data for multiple years. Let's say that you want to create a new arrays that contain just January, February, March values.
nyears = ntim/12 x1d = ndtooned(x) x4d = onedtond(x1d,(/nyears,12,nlat,nlon/)) ; The above two lines can also be written as one line: ; x4d = onedtond(ndtooned(x),(/nyears,12,nlat,nlon/)) x_jfm = x4d(:,0:2,:,:) ; now subscript the second dimension for the desired months you want:Further, lets say that the January, Feb, December are desired or March, July, October, November:
x_djf = x4d(:,(/0,1,11/),:,:) x_mjon = x4d(:,(/2,6,9,10/),:,:)