Hello
I am trying to use the reverse() routine to change the order of a one column, 350 row float array.
As demonstrated in this dummy example, the array is not reversed:
IDL Version 8.0, Microsoft Windows (Win32 x86_64 m64). (c) 2010, ITT Visual Information Solutions
IDL> a = fltarr(1, 5)
IDL> for i = 0, n_elements(a)-1 do a[i] = i
IDL> print, a
0.000000
1.00000
2.00000
3.00000
4.00000
IDL> b = reverse(a)
IDL> print, b
0.000000
1.00000
2.00000
3.00000
4.00000
Could this be a problem with how my array is built?
Here is the section of the larger code:
openr, 101, 'C:\...\LayerProps.txt'
Props = dblarr(9,351)
readf, 101, Props
Lyr = Props[0,*]
delz = Props[1,*]
ztop = Props[2,*]
Tbar = Props[3,*]
Pbar = Props[4,*]
rho_air = Props[5,*]
rho_wv = Props[6,*]
M_air = Props[7,*]
M_wv = Props[8,*]
; we want top down for now, so reverse the necessary arrays
M_air_dn = reverse(M_air)
M_wv_dn = reverse(M_wv)
absair_dn = reverse(absair)
abswv_dn = reverse(abswv)
delz_dn = reverse(delz)
When inquiring at the command line, this is a representative example of what these arrays look like.
IDL> help, M_air
M_AIR DOUBLE = Array[1, 351]
IDL> help, M_air_dn
M_AIR_DN DOUBLE = Array[1, 351]
The results for any *_dn array is as in the first dummy example, the elements are not reversed.
I have read the REVERSE help page, and have tried reverse(array, subscript_index), for subscript_index = 0 or 1 (1 causes an error), but get the same result.
Any wisdom?
|