STAR Multiresolution Data Format
From OpenGGCM
I. Introduction
STAR (Space Time Multi and Adaptive Resolution) data is a multiresolution file format compatible with OpenGGCM. When you configure the simulation to output the data in this format, a wavelet transform is applied to the output stream to create a multiresolution representation. Typically, four resolutions are generated, leaving five resolutions total in the output data.
STAR data can be visualized with VisIt starting with version 2.1. Visit is available here. Files with the extension '.mrm' (multi-res metadata) format recognized by the STAR database module in VisIt.
II. Generating Multiresolution Data
1. Obtain 'output-star' branch from git:
First, go to your existing openggcm repository:
% cd /PATH/TO/YOUR/OPENGGCM_DIR
This directory will look something like this:
% pwd /home/cs/rafoulks/dev/openggcm % ls README autogen.sh bin changelog.txt conf ctim-indata doc include lib run-template src target-build util
Assuming you already use git, add the following remote repository to your own. The remote repository with STAR enabled code is on fishercat:
% git remote add multires YOUR_LOGIN_NAME@fishercat.sr.unh.edu:/home/rafoulks/git/openggcm.git % git fetch multires
The remote repository that you have just labeled 'multires' has one branch, called 'output-star'. To create a local copy of that branch, issue the following command:
% git branch output-star multires/output-star
In git terminology, you have just created a local branch 'output-star' that tracks the remote branch of the same name.
Now, make output-star the 'active' branch (switch to it)
% git checkout output-star
2. Re-run autoconf:
% ./autogen.sh
3. Rebuild the util directory:
% cd util % ./configure --prefix=/PATH/TO/YOUR/OPENGGCM_DIR % make % make install
4. Modify the 'runme' file:
Edit the 'runme' file and change the variable 'outputmode' to 'star':
. . . outputmode star . . .
5. Run the 'runme' file
% cd /path/to/your/ggcm_run_dir/ % ./runme
6. Run openggcm on your model:
% cd target % mpirun -n 3 openggcm
The output of the simulation is a subdirectory matching the name of the simulation run description. In that subdirectory, there is a file with extension '.mrm' a '.grid' file, and a subdirectory for each field. You should see something like this:
% pwd /Users/rafoulks/dev/ggcm_runs/hc0002/target % ls build hc0002 hc0002.sh hc0002.smf hc0002.timehist000001 hc0002.timehist000002 hc0002.timehist000003 in.hc0002 map.dat.hc0002 openggcm submit.nosubmit target-build
Change to the newly created subdirectory, which should look something like this:
% cd hc0002 % ls bx128x64x64 by128x64x64 bz128x64x64 hc0002.128x64x64.grid hc0002.mrm pp128x64x64 resis128x64x64 rr128x64x64 vx128x64x64 vy128x64x64 vz128x64x64 xjx128x64x64 xjy128x64x64 xjz128x64x64
III. Visualizing Multiresolution Data
To visualize the multiresolution data, first download and install VisIt 2.1 or later from their their website.
1. Run visit.
% /path-to-visit-binaries/visit
2. Open the recently created '.mrm' file created from the simulation.
3. Add Plots / operators as you normally would.
4. Under the Operators menu, apply 'MultiresControl' to your visualization.
Do Not Hit Draw. Not yet anyway. If you do you will get the highest resolution available.
5. Under the OperatorAttributes menu, click 'MultiresControl'.
This will bring up the widget that allows you to change resolution.
Move the slider on the widget to change the resolution, then click Draw.
6. Change the slider to change the resolution, then click 'Update' to tell VisIt to re-execute the rendering pipeline.
Note: if you click the 'Auto Update' box, changing the slider will change the resolution interactively.
TODO: Add pics to this section?
