I suppose it's not possible, since I could not find any examples.... anyway, how can I display two variables in DVR, simultaneously.
My goals is to display a profile of two brightness temperatures (TB) from a Nadir radiometer over a 2D MODIS true color scene. I use 2 channels, 23.8 GHz and 36.5 GHz, both being correlated to water vapour, the second one being particularly correlated to cloud liquid content as well.
Eventually, I want to display the variation of TB over the MODIS scene and show a land/sea transition as well.
So, I tricked a netcdf file to project my TB variations as a 3D variable. My cube is set to 0 and I populate voxels along the lon/lat cross-section: for each lon,lat grid point along the lon/lat cross-section, I populate the voxel at a given level corresponding to a digitized value of the TB.
It works pretty well since I can display the variation of one TB over the scene using the DVR tab.
But I can only display one TB profile at a time.
It it possible to display two variables simultaneously ?
for information, the python script I use to project one TB over a 3D variable
#
# Read nadir TB variation along lat/lon
#-------------------------------------------------------------------------
fname = 'nc/TBC3_Cycle_000.nc'
hdle = nc.Dataset(fname)
lat = hdle.variables['latitude'][:]
lon = hdle.variables['longitude'][:]
data = hdle.variables['Param_0001'][:]
#
#
# GRID
#=====================
res_lat = 0.05
res_lon = 0.05
res_data = 0.5
lat_coord = np.arange(sel_lat[0]-res_lat,sel_lat[1]+2*res_lat,res_lat)
lon_coord = np.arange(lon.min()-res_lon,lon.max()+2*res_lon,res_lon)
lev_coord = np.arange(165,300+res_data,res_data)
elev_coord = np.linspace(0,860000,lev_coord.size)
time_coord = np.array([0])
ntime = time_coord.size
nlev = lev_coord.size
nlat = lat_coord.size
nlon = lon_coord.size
data_digit = np.digitize(data,lev_coord)
lat_digit = np.digitize(lat,lat_coord)
lon_digit = np.digitize(lon,lon_coord)
lev_coord = np.arange(nlev)+1
#
#
# POPULATE the 3D variable
#=====================
data_3D = np.ones((ntime,nlev,nlat,nlon))*0.0
ngrid = data_digit.size
igrid = 0
for itime in range(ntime):
for (igrid,lev) in enumerate(data_digit):
ilat = lat_digit[igrid]
ilon = lon_digit[igrid]
data_3D[itime,lev,ilat,ilon] = data[igrid]
#
# then, I write the netcdf file
# and convert the netcdf into vdf file
#
You are correct that only one variable can be volume rendered at a time in VAPOR 2.X. This feature should be supported in our 3.X branch but it won't be available for some time. Would multiple probe renderers be able to display your data adequately?