visit - UK-FVCOM-Usergroup/uk-fvcom GitHub Wiki

VisIt

VisIt: Advanced parallel visualisation tool which can be used to inspect currently running FVCOM model outputs (e.g. http://fvcom.smast.umassd.edu/FVCOMinVISIT/index.html).

Building VisIt on Linux

There are some precompiled packages for Ubuntu and Red Hat Enterprise Linux, but neither were suitable for us at PML. To get VisIt running on a Fedora 17 machine, the following steps can be taken. These steps should apply equally to any version of Linux.

Download the build script

    wget http://portal.nersc.gov/svn/visit/trunk/releases/2.6.2/build_visit2_6_2

Make it executable

    chmod +x build_visit2_6_2

And execute it

    ./build_visit2_6_2

You will be presented with a screen with a series of options.

    [*] Groups    select 3rd party and advanced build
    [ ] Custom    select custom flags provided by each module
    [ ] SVN       get sources from SVN server
    [ ] Tarball   specify VisIt tarball name
    [ ] Parallel  specify parallel build flags
    [ ] Python    enable VisIt python module
    [ ] Java      enable java client library
    [ ] Fortran   enable fortran in third party libraries
    [ ] SLIVR     enable SLIVR volume rendering library
    [ ] EnvVars   specify build environment var values
    [ ] Advanced  display advanced options

To enable FVCOM support in the compiled version, you need to ensure that the NetCDF libraries are enabled when building VisIt. These are part of the enable the following options:

    [*] required                    All required libraries
    [ ]   Customize(required)       Customize selection of required
    [ ] optional                    All optional libraries
    [ ]   Customize(optional)       Customize selection of optional
    [ ] no-thirdparty               Do not build required 3rd party libraries
    [ ]   Customize(no-thirdparty)  Customize selection of no-thirdparty
    [*] all-io                      Build all available I/O libraries
    [*]   Customize(all-io)         Customize selection of all-io
    [ ] dbio-only                   Disables EVERYTHING but I/O.
    [ ]   Customize(dbio-only)      Customize selection of dbio-only
    [ ] nonio                       Build non I/O libraries
    [ ]   Customize(nonio)          Customize selection of nonio
    [ ] advanced                    Must be manually downloaded
    [ ]   Customize(advanced)       Customize selection of advanced

By selecting the Customize(all-io) option, a second list of options is presented wherein the NetCDF libraries can be selected to be compiled without compiling the other input/output libraries (see below). If you know all you will use is FVCOM (and NetCDF files in general) with VisIt, this should be fine, otherwise, deselect the Customize(all-io) option and let the build script compile all input/output functionality.

    [ ] adios    Enable/Disable adios library
    [ ] advio    Enable/Disable advio library
    [ ] boxlib   Enable/Disable boxlib library
    [ ] ccmio    Enable/Disable ccmio library
    [ ] cfitsio  Enable/Disable cfitsio library
    [ ] cgns     Enable/Disable cgns library
    [ ] exodus   Enable/Disable exodus library
    [ ] fastbit  Enable/Disable fastbit library
    [ ] gdal     Enable/Disable gdal library
    [ ] h5part   Enable/Disable h5part library
    [ ] hdf5     Enable/Disable hdf5 library
    [ ] mxml     Enable/Disable mxml library
    [*] netcdf   Enable/Disable netcdf library
    [ ] silo     Enable/Disable silo library
    [ ] szip     Enable/Disable szip library
    [ ] xdmf     Enable/Disable xdmf library

Select OK to begin the download and build process. This will take a long time (on my machine it took ~6 hours).

Alternatively, run the following command to build a minimal install with only with NetCDF support (which should be quicker):

    ./build_visit2_6_2 --prefix /opt/visit/ --python-module --required \
        --visit --system-cmake --system-python --netcdf --console

This will install VisIt into /opt/visit. Change the path to whatever you want, or omit the --prefix /opt/visit section to install into the current directory.

PML

I (Pierre) specifically built it with the following command:

    ./build_visit2_6_2 --all-io --optional --required --visit --netcdf \
        --hdf5 --silo --szip --pyside --mxml --gdal --fastbit --exodus \
        --advio --adios --vtk --system-qt --system-python \
        --system-cmake --slivr --console


    [*] Groups    select 3rd party and advanced build
    [ ] Custom    select custom flags provided by each module
    [ ] SVN       get sources from SVN server
    [ ] Tarball   specify VisIt tarball name
    [ ] Parallel  specify parallel build flags
    [ ] Python    enable VisIt python module
    [ ] Java      enable java client library
    [ ] Fortran   enable fortran in third party libraries
    [ ] SLIVR     enable SLIVR volume rendering library
    [ ] EnvVars   specify build environment var values
    [ ] Advanced  display advanced options


    [*] required                    All required libraries
    [ ]   Customize(required)       Customize selection of required
    [ ] optional                    All optional libraries
    [ ]   Customize(optional)       Customize selection of optional
    [ ] no-thirdparty               Do not build required 3rd party libraries
    [ ]   Customize(no-thirdparty)  Customize selection of no-thirdparty
    [ ] all-io                      Build all available I/O libraries
    [*]   Customize(all-io)         Customize selection of all-io
    [ ] dbio-only                   Disables EVERYTHING but I/O.
    [ ]   Customize(dbio-only)      Customize selection of dbio-only
    [ ] nonio                       Build non I/O libraries
    [ ]   Customize(nonio)          Customize selection of nonio
    [ ] advanced                    Must be manually downloaded
    [ ]   Customize(advanced)       Customize selection of advanced


    [ ] adios    Enable/Disable adios library
    [ ] advio    Enable/Disable advio library
    [ ] boxlib   Enable/Disable boxlib library
    [ ] ccmio    Enable/Disable ccmio library
    [ ] cfitsio  Enable/Disable cfitsio library
    [ ] cgns     Enable/Disable cgns library
    [ ] exodus   Enable/Disable exodus library
    [ ] fastbit  Enable/Disable fastbit library
    [ ] gdal     Enable/Disable gdal library
    [ ] h5part   Enable/Disable h5part library
    [ ] hdf5     Enable/Disable hdf5 library
    [ ] mxml     Enable/Disable mxml library
    [*] netcdf   Enable/Disable netcdf library
    [ ] silo     Enable/Disable silo library
    [ ] szip     Enable/Disable szip library
    [ ] xdmf     Enable/Disable xdmf library