pro humane ; define human understandable quantities and expose them to the ; command line ; this also serves as an example of how to use oJaques g3d method ; get_3D-data. You could do all this also on the command line and ; will have to for large data @common_blocks.inc lis = ["Density"] if (list_str[var_index] ne "Density") then lis = ["Density", list_str[var_index]] da = oj->g3d(data_fields=["Density", list_str[var_index]]) x = *da.xp y = *da.yp z = *da.zp dx = da.dxl[*da.lp] vol = dx^3 deni = where(da.data_fields eq "Density") d = (*da.dp[deni[0]]) mass = d * vol vi = where(da.data_fields eq list_str[var_index]) v = (*da.dp[vi[0]]) radius = sqrt((x-center[0])^2+(y-center[1])^2+(z-center[2])^2) ; return log of density and quantity if it makes sense d = alog10(d) v = shouldbe_logged(list_str[var_index]) ? alog10(v) : v print, lis, da.data_fields[0:4] return end