|
Written on: 2011-03-18, 09:04
|
|
mark.hoebeke@sb-roscoff.fr
Mark Hoebeke
Topic creator
registered since: 04.03.2011
Posts: 1
|
Hello,
I've started using ODV quite recently to automatically generate graphs in batch mode from ODV spreadsheet data. I need to generate isosurface plots from various collection variables. Some of them are recognized as isosurface variables (Temperature, Salinity...) others are not. I can use ODV to interactively define the others as isosurface variables, but haven't found a way to do this in batch mode. Hence, the graphs of the latter variables are incorrectly generated, as ODV seems to fall back on a default variable for the Z value (Longitude in my case).
I scanned the ODV files but didn't find any specific configuration file listing the known isosurface variables, which I could have modified. Could it be that these variables are hardcoded ?
Thanks for any clues on how to solve this problem.
|
|
Written on: 2011-03-18, 14:16
|
|
hecinho@gmx.de
Stephan Heckendorff
registered since: 24.04.2008
Posts: 278
|
Hi Mark,
Information about isosurface variables can be found in the xview files. When opening one there should be a section similar to the following:
<IsoSurfaceVariables>
<!--CTDTMP [degrees C] @ CTDPRS [DBAR]=first-->
<IsoVariable surface_var_id="0" var_id="1" surface_value="first"/>
<!--CTDSAL [PSS-78] @ CTDPRS [DBAR]=first-->
<IsoVariable surface_var_id="0" var_id="2" surface_value="first"/>
<!--CTDOXY [UMOL/KG] @ CTDPRS [DBAR]=first-->
<IsoVariable surface_var_id="0" var_id="3" surface_value="first"/>
</IsoSurfaceVariables>
So in this case, there are three isosurface variables defined. (The green lines only are comments generated by ODV to ease reading.)
To add a new isosurface variable yourself, simply append another <IsoVariable.../> line and provide the three attributes var_id, surface_var_id and surface_value similar to when you would define isosurface variables from inside ODV. Think of the three attributes as
var_id @ surface_var_id = surface_value
where "var_id" and "surface_var_id" represent zero-based collection variable ids and "surface_value" represents a numerical value or the string "first" or "last". (For more information on how to define isosurface variables please refer to ODV user's guide chapter 7.)
<IsoSurfaceVariables>
<!--CTDTMP [degrees C] @ CTDPRS [DBAR]=first-->
<IsoVariable surface_var_id="0" var_id="1" surface_value="first"/>
<!--CTDSAL [PSS-78] @ CTDPRS [DBAR]=first-->
<IsoVariable surface_var_id="0" var_id="2" surface_value="first"/>
<!--CTDOXY [UMOL/KG] @ CTDPRS [DBAR]=first-->
<IsoVariable surface_var_id="0" var_id="3" surface_value="first"/>
<IsoVaribale surface_var_id="0" var_id="3" surface_value="209" />
</IsoSurfaceVariables>
Here, I added the isosurface variable "CTDOXY @ CTDPRS = 209" because var_id="3" points to the collection variable of id 3 which is CTDOXY and surface_var_id="0" points to CTDPRS in my collection.
Please note that all the variable ids are zero-based, means the first collection variable's id will be 0.
Cheers, Stephan
|