Selfe Home Models Simulations Forecast Benchmarks Data Sources

  1. How do I set up and ELCIRC simulation? We will assume that you have downloaded and compiled ELCIRC and xmGREDIT (if not see getting started with ELCIRC). Then:
    1. Use xmGREDIT to create a horizontal grid, hgrid.gr3. The grid can be constituted by triangles, quadrangles, or a combination. Ideally , the grid should be orthogonal. Deviations from orthogonality might be impossible to avoid (e.g., near complex boundaries), but will reduce model accuracy.
    2. Prepare all input files except param.in, following the user manual for the version of ELCIRC you chose to use. (by default, we recommend that you start with the most recent reference version)
    3. Create param.in. If it is the first time you are running ELCIRC for this grid, or if you have changed the definition of the open boundaries, this will be a three-step operation. First, create a temporary param.in, with only the first 8 lines and ipre=1. Second, run ELCIRC to create files obe.out, centers.bp, and sidecenters.bp. Third, complete the definition of param.in (make sure that you reset ipre=0, and use the contents of obe.out to fill in information on open boundary conditions).
  2. Do I need to use xmGREDIT for grid generation? No. Using xmGREDIT is a convenient way to ensure that the horizontal grid file is compatible with ELCIRC. However, other grid generation software can be used. Your familiarity with a particular package might be the overriding consideration in your software choice. You should, however, make sure that the software you use:
    • Generates grid and boundary information in the format of hgrid.gr3, either directly of through an appropriate translator. Note that many of the available grid generators will not by default generate boundary information in the necessary format.
    • Has the ability to create orthogonal grids, in the absence of boundary constraints.
    • Has the ability to check for grid orthogonality
  3. What should I use for output visualization You should use the software that best serves your visualization needs. Both xmVIS (2D visualization) and G3 (3D visualization) are conveniently compatible with ELCIRC outputs. If you choose different software, make sure that, either directly or through appropriate translators, there is compatibility of formats. Note that ELCIRC outputs are, at present, written in machine-dependent binary format.
  4. I tried to use xmVIS6 with a Compaq FORTRAN compiler for the PC, but it cannot read the ELCIRC binary files. Suggestions? Yes. At least for DIGITAL FORTRAN 90 Version 4.0, the problem can be solved with an appropriate compilation option. Specify -assume byterecl when compiling ELCIRC. This will ensure that byte units (rather than longword, four-byte units) are used in the OPEN statement RECL unit for unformatted files, and in returning the record length value for an INQUIRE by output list.
  5. How do I set up the HDF environment required by the heat exchange module (subroutine sflux_subs6.f90)? You need the HDF4 (not HDF5) libraries. You can download either source code for the libraries or precompiled library binaries from http://hdf.ncsa.uiuc.edu/obtain.html. Using precompiled binaries is usually easiest. The HDF FAQ (http://hdf.ncsa.uiuc.edu/HDF-FAQ.html is a helpful resource. Once you have compiled HDF4 libraries available, you still need data in the particular format we use. Contact elcirc@ccalmr.ogi.edu if you need help on this issue.
  6. Can I bypass the requirement for and HDF environment? Yes, but only if you do not need to use the heat exchange module. In this case, leave out subroutine sflux_subs6.f90 and the associated library in the Makefile, and comment out subroutine calls get_wind and surf_fluxes inside the ELCIRC source code.
  7. My system has limited memory. How do I maximize the size of the grid on which I can run ELCIRC? The key is setting the following parameters (found at the beginning of the ELCIRC source code) no larger than they need to be:
    • mnp: maximum number of nodes;
    • mne: maximum number of elements;
    • mns: maximum number of sides;
    • mnei: maximum number of neighbors for a node.
    The values of mnp, mne and mnei are intuitive once you have a specific grid. Estimating mns is, however, non-trivial. With a large value (say 4*mnp) as a first guess for mns, run ELCIRC with ipre=1. The actual number of sides can be found inside file mirror.out.