STAR Multiresolution Data Format

From OpenGGCM
Jump to: navigation, search

Contents

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?