Specifying software libraries for GEOS-Chem

From Geos-chem
Revision as of 20:23, 19 December 2019 by Bmy (Talk | contribs) (Using Spack)

Jump to: navigation, search

Previous | Next | Getting Started with GEOS-Chem

  1. Minimum system requirements
  2. Configuring your computational environment
  3. Downloading source code
  4. Downloading data directories
  5. Creating run directories
  6. Configuring runs
  7. Compiling
  8. Running
  9. Output files
  10. Visualizing and processing output
  11. Coding and debugging
  12. Further reading

Page is under construction.jpg

Selecting pre-built libraries

If you are using GEOS-Chem on your institutions computational cluster, then chances are the sofware libraries that you need will have already been built for you. If this is the case, then it is typically a simple matter to select a certain set of libraries

IMPORTANT NOTE: You should select libraries corresponding to the compiler that you specified . Otherwise, the libraries might not function properly.

Using Lmod modules

As we saw in the previous chapter, the Lmod module system is a convenient way to select not only your compiler, but also the software libraries that you will need to use with GEOS-Chem. You can use the module load command to select the libraries that you need for GEOS-Chem, which typically are:

module load netcdf/4.7.0           # Loads netCDF 4.7.0
module load netcdf-fortran/4.4.0   # Loads netCDF-Fortran 4.4.0
module load git                    # Loads Git
module load flex                   # Loads Flex (needed to build mechanisms with KPP)
module load nco                    # Loads netCDF Operators, useful for working w/ data files
module load cdo                    # Loads Climate Data operators, useful for working w/ data files
module load cmake/3.15             # Loads CMake 3.15, used to build GEOS-Chem (12.6.0 and later)
module load gdb                    # Loads the GDB debugger
module load emacs                  # Emacs editor (if available)

Depending on how your system is maintained, you might have to specify a version number as part of the module name. You can usually use a command such as module avail to find specific implementations of a software library. You can also ask your IT staff which module versions to use.

Also note: depending on the version of netCDF that is installed, you may or may not have to also load netCDF-Fortran separately.

--Bob Yantosca (talk) 20:16, 19 December 2019 (UTC)

Using Spack

If you or someone at your institution has installed libraries using the Spack package manager, then you can use the spack load command to select the various libraries that you need for GEOS-Chem.

spack load netcdf%gcc@9.2.0
spack load ntcdf-fortran%gcc@9.2.0
spack load flex%gcc@9.2.0
... etc ..

Spack allows for multiple library implementations (i.e. the same library built with different compiler versions). To minimize confusion, it is always best to include the compiler and version number (%gcc@9.2.0) in the spack load commands.

--Bob Yantosca (talk) 20:23, 19 December 2019 (UTC)

Further reading

  1. Guide to netCDF in GEOS-Chem
  2. Spack documentation

Previous | Next | Getting Started with GEOS-Chem