Minimum system requirements for GEOS-Chem
Several GEOS-Chem users have asked "What type of machine do I need to buy in order to run GEOS-Chem?" Here are our suggestions.
Our hardware recommendations are:
- Enough memory to run GEOS-Chem
- At least 2 GB RAM
- But more than 4 GB RAM for running at 2x2.5
- You may want to consider 8 GB RAM if you plan on doing any of the following:
- Running high-resolution (e.g. 1° x 1° or higher resolution) global GEOS-Chem simulations
- Running high-resolution (e.g. 0.5° x 0.667° or higher resolution) nested-grid GEOS-Chem simulations
- Running 2° x 2.5° global GEOS-Chem simulation and saving a lot of output fields (the more output you generate the more memory GEOS-Chem will require)
- Sufficient disk storage for met fields.
The Linux flavor (RedHat, SuSE, Fedora, Ubuntu, etc.) is not important. Also, 64-bit architecture is not an issue with GEOS-Chem.
GEOS-Chem requires the following software:
- Any Unix-style operating system, such as:
- Linux (Red Hat, SuSE, CentOS, etc.)
- Mac OS X (which is POSIX-compliant)
- NOTE: GEOS-Chem cannot run on a Microsoft (XP, Vista, Windows 7) environment!
- A Fortran 90 compiler that supports OpenMP parallelization
- If using the Portland Group compiler, then a C compiler (such as GNU C compiler) is also required. The gcc comes installed with most Unix builds.
- GNU Make (chances are your Unix system has this installed already)
- Git version control system (free, open-source version control software)
- Starting with GEOS-Chem v9-01-03 (release date TBD), you will also need to have a netCDF library installation (either netCDF-3 or netCDF-4) on your system.
At present GEOS-Chem supports the following compilers:
|Intel Fortran Compiler (IFORT 9, 10, 11, 12 ...)||
|Portland Group International (PGI)||
For Linux, we strongly recommend to use the Intel Fortran (IFORT) compiler. In our experience, we have found that the Intel compiler is just a better all-around compiler than PGI. We have had various minor compatibility problems with PGI. Also, the Intel compiler is available at relatively low cost to you if you work for an educational institution.
Intel Fortran Compiler 11.1.x and higher versions are very optimized for multi-core chipsets.
You should be aware that because GEOS-Chem uses OpenMP parallelization, you can only run on as many nodes as are shared by the memory. For example, if you had 2 PC's, and each PC w/ 4 cores each, then you can only run on 1 PC at a time (i.e. 4 cores). This is because OpenMP has a requirement that all of the processors on the machine must be able to see all of the memory on the machine. In that case, you could run 2 jobs simultaneously on 4 cores, but not a single job on 8 cores. See OpenMP.org for more information.
MPI (Message Passing Interface) is required for passing memory from one physical system to another. For example, if you wanted to run a GEOS-Chem simulation across several independent machines (or nodes of a cluster), then this requires MPI parallelization. OpenMP parallelization cannot be used unless all of the CPUs on the machine have access to all of the memory on the machine (a.k.a. shared-memory architecture).
The current standard version of GEOS-Chem does not yet have MPI capability. However, we are currently working on creating a Grid-independent GEOS-Chem version that would be compatible with MPI parallelization via the Earth System Model Framework. The work is ongoing.
Performance and scalability
Please see the following resources for more information about the performance and scalability of GEOS-Chem on various platform/compiler combinations:
- GEOS-Chem performance wiki page
- 1-month benchmark timing results for various platform/compiler combinations
- Wiki post about GEOS-Chem scalability on hyperthreaded chipsets
- Machine-specific issues and portability issues
How much disk space will I need for GEOS-Chem?
It will depend on which type of met data (GEOS-4 or GEOS-5) that you will use, and how many years of data you will download. Typical disk space requirements are:
|GEOS-4 4x5 met (uncompressed)||~13 GB/yr|
|GEOS-4 2x25 met (uncompressed) =||~52 GB/yr|
|GEOS-5 4x5 met (uncompressed)||~30 GB/yr|
|GEOS-5 2x25 met (uncompressed) =||~120 GB/yr|
|MERRA 4x5 met (uncompressed)||~73 GB/yr|
Do I need to install any libraries for GEOS-Chem?
At present, it is not strictly necessary to have any external libraries (such as HDF-EOS, netCDF, etc.) installed to use GEOS-Chem. All you need is one of the supported Fortran compilers listed above and a Unix environment.
Starting with GEOS-Chem v9-01-03, you will have to install the netCDF library. We are beginning the process of migrating GEOS-Chem from binary punch file I/O to netCDF file I/O to facilitate work on the Grid-independent GEOS-Chem project.
Also, for those of you who will be working with the "raw" GEOS-Chem met field data, or with various satellite data products, then you will probably want to install the HDF and HDF-EOS libraries so that you can write Fortran code to read and process these data.
Here is a table that describes the file formats that are used by the various data products:
|Data type||File format used|
|GEOS-4 met ("raw" data)||HDF4-EOS|
|GEOS-5 met ("raw" data)||HDF4-EOS|
|MERRA met ("raw" data)||HDF4-EOS|
|GEOS-5.7.2 met ("raw" data)||netCDF-4|
|MOPITT satellite data||HDF4-EOS|
|AIRS satellite data||HDF4-EOS|
|OMI satellite data||HDF5-EOS|
- HDF4 is an older version of HDF. HDF5 is the newer version.
- One of the major differences is that with HDF4 the file size may not exceed 2GB. This restriction has been lifted in HDF5.
- HDF-EOS is a "superset" of HDF that was developed by NASA and others to create extra data structures (Grid, Point, and Swath) that are more relevant for earth science applications.
- HDF4-EOS is HDF-EOS that is based on HDF4.
- HDF5-EOS is HDF-EOS that is based on HDF5.
- You must first install HDF4 before installing HDF4-EOS.
- HDF4 requires that ZLIB, JPEG, (and optionally, SZLIB) libraries must also be installed.
- You must first install HDF5 before installing HDF5-EOS
- HDF5 requires that ZLIB, JPEG, (and optionally, SZLIB) libraries must also be installed.
- netCDF-4 is the latest version of netCDF.
- netCDF-4 is 100% compatible with the older netCDF-3 format.
- netCDF-4 relies on HDF5, so you have to first build the HDF5 and ZLIB libraries before installing netCDF-4.
--Bob Y. 12:57, 22 February 2012 (EST)