Difference between revisions of "GEOS-Chem basics"
(→The GNU Make utility)
(→The GEOS-Chem Unit Tester)
|Line 222:||Line 222:|
== The GEOS-Chem Unit Tester ==
== The GEOS-Chem Unit Tester ==
The '''GEOS-Chem Unit Tester''' is a package of scripts and Makefiles that will compile and run several GEOS-Chem with a set of standard debugging flags. The Unit Tester is one of our best GEOS-Chem debugging tools. For more information, please see
The '''GEOS-Chem Unit Tester''' is a package of scripts and Makefiles that will compile and run several GEOS-Chem with a set of standard debugging flags. The Unit Tester is one of our best GEOS-Chem debugging tools. For more information, please see [[GEOS-Chem Unit Tester]]
=== Creating run directories with the Unit Tester ===
=== Creating run directories with the Unit Tester ===
Revision as of 21:31, 3 July 2019
The GEOS-Chem Support Team has created this page to assist new GEOS-Chem users to download and run GEOS-Chem on their computer systems.
- 1 Overview
- 2 Unix resources
- 3 The GNU Make utility
- 4 The Git source code management system
- 5 Fortran resources
- 6 The netCDF library
- 7 The GEOS-Chem source code
- 8 The GEOS-Chem Unit Tester
- 9 The GEOS-Chem shared data directories
- 10 Restart files
- 11 Visualization packages
- 12 The GEOS-Chem website
- 13 The GEOS-Chem wiki
- 14 GEOS-Chem tutorials
- 15 For more information
Before you can run GEOS-Chem, you will need to have the following items. Some of these will be already pre-installed on your computer system.
An account on the Amazon Web Services cloud
|You will need a Unix operating system environment in order to run GEOS-Chem. Any flavor of Unix (e.g. CentOS, Ubuntu, Fedora, etc.) should work just fine.
If your institution has computational resources (e.g. a shared computer cluster with many cores, sufficient disk storage and memory), then you can run GEOS-Chem there. Contact your IT staff for assistance.
If your institution lacks computational resources (or if you need additional computational resources beyond what is available), then you should consider signing up for access to the Amazon Web Services cloud. Using the cloud has the following advantages:
GEOS-Chem 12.0.0 and later versions can be used on the Amazon Web Services cloud computing platform. You can learn more about how to use GEOS-Chem on the cloud by visiting this tutorial (cloud.geos-chem.org).
|GNU Make||GNU Make directs the compilation sequence. It tells the compiler the order in which files should be compiled, which compilation options to use.
You probably won't have to install GNU Make, since it comes with most Unix distributions by default. GNU Make will also be available for you on the Amazon cloud.
|Git (a source code management system)||Please see our Guide to using Git with GEOS-Chem for more information about how to use Git with GEOS-Chem.|
|A Fortran compiler||Please see our Guide to compilers for GEOS-Chem for more information about the Fortran compilers that you can use to build GEOS-Chem.|
|A netCDF library installation||Please see our Guide to netCDF in GEOS-Chem for more information about the netCDF file format and software ibrary.|
|A GEOS-Chem source code directory||This directory contains the GEOS-Chem source code, which the compiler will assemble into an executable file.
The GEOS-Chem source code can be downloaded from Github.
|The GEOS-Chem Unit Tester||The GEOS-Chem Unit Tester is used to error-check all of the GEOS-Chem simulations. It is also needed to construct GEOS-Chem run directories, in which the compiled executable file will run.|
|The GEOS-Chem shared data directories||This is the directory structure containing the meteorology and emissions data that GEOS-Chem reads as input. For more information, please see our Downloading GEOS-Chem data directories wiki page.|
|Restart files for GEOS-Chem||These are the files containing the initial conditions for a GEOS-Chem simulation. They can be downloaded from our data archive via FTP.
|A visualization package||Please see our Guide to visualization and analysis tools for GEOS-Chem for information about software packages that you can use to analyze or plot GEOS-Chem output.|
Please also see our Getting Started with GEOS-Chem for complete information about how to set up a GEOS-Chem simulation.
GEOS-Chem documentation and support
We have compiled a list of resources that will help you get started with GEOS-Chem:
|The GEOS-Chem website (geos-chem.org)||
|The GEOS-Chem wiki (wiki.geos-chem.org)||
|Getting Started with GEOS-Chem
Getting Started With GCHP
|The GEOS-Chem FAQ||
|GEOS-Chem tutorial presentations||
|Getting help with GEOS-Chem||
GEOS-Chem is designed to run on computers with the Unix operating system. There is no single version of Unix; rather, Unix comes packaged in several different distributions. Many modern computer clusters use CentOS, which is an open-source Unix implementation. Other systems may use a proprietary Unix distribution, such as Red Hat Enterprise. GEOS-Chem will perform in the same way regardless of the specific Unix implementation on your system.
If you require assistance setting up or customizing your Unix login environment, please contact your local IT staff. The GEOS-Chem Support Team can only provide support for GEOS-Chem-related issues.
You can now run GEOS-Chem on the Amazon Web Services cloud infrastructure. See our cloud computing tutorial (cloud.geos-chem.org) for more details.
IMPORTANT! Please make sure that your computer system meets the minimum system requirements for memory and disk space in order to run GEOS-Chem.
Common Unix commands
The resources below cover many common Unix commands. You will find these useful, particularly if you have never worked on a Unix machine before.
- Thirty useful Unix commands (U. Cambridge)
- Summary of Unix commands (PDF doc)
- A Brief Introduction to Unix (by Corey Satten)
- The 15 Essential Unix commands (by Pete Freitag)
Unix shells and shell scripting
One of the nice features of Unix is that you can highly customize your environment. You can also write scripts to perform several commands (such as copying files or running programs) sequentially. This will save you the trouble of having to type the same commands over and over at the command-line prompt.
There are several Unix shells that you can use, but we recommend using bash. Here are some resources that you can use to learn more about the bash shell:
- What is the .bashrc file on SuperUser
- The Bash Shell Startup Files from Beyond Linux from Scratch
- LinuxCommand.org—interactive tutorial
- How to use the Unix alias command
- Bash Guide for Beginners
- Advanced Bash scripting
- Bash programming—Introduction How-To
The GNU Make utility
The GNU Make utility is used to compile GEOS-Chem—that is, to create an executable file from source code. GNU Make usually comes pre-packaged with your Unix distribution (e.g. CentOS, Linux, Ubuntu, Fedora, etc.), so you will probably not need to install it yourself.
GEOS-Chem contains several Makefiles. A Makefile contains several commands in the GNU Make language direct how the Fortran compiler will build GEOS-Chem. Makefiles determine the sequence in which individual files are compiled, as well as the options that will be activated.
Unless you are going to be adding a significant amount of new code into GEOS-Chem, you will probably not need to know the nitty-gritty details of how to create or modify Makefiles. But if you do have to change an existing Makefile, you can contact the GEOS-Chem Support Team, who will be happy to assist you.
If you are interested in learning more about the GNU Make utility, we invite you to consult the following resources:
- The GNU Make manual
- GNU Make in detail for beginners at OpenSource.com
- Using Make and writing makefiles at Swarthmore U.
- Make at wikibooks.org
- Managing projects with GNU Make by O'Reilly
For specific information about compiling GEOS-Chem, see:
The Git source code management system
Please see our Guide to using Git with GEOS-Chem for more information about how to use Git with GEOS-Chem.
Please see our Guide to compilers for GEOS-Chem wiki page for more information about the compilers that you can use to build GEOS-Chem, as well as some Fortran-language resources.
The netCDF library
Please see our Guide to netCDF in GEOS-Chem for more information about how to install netCDF on your system (or check if it is already installed).
The GEOS-Chem source code
The GEOS-Chem model source code is kept in a publicly-accessible Git repository. You must compile the source code into an executable file with one of the supported Fortran compilers. The compilation is managed by the GNU Make utility, which reads the various GEOS-Chem makefiles to produce the executable with the desired options.
You can download the source code for the latest GEOS-Chem version if you have Git installed on your system. For more information and detailed downloading instructions, please see:
- Getting Started with GEOS-Chem
- Minimum system requirements for GEOS-Chem
- Downloading GEOS-Chem source code
- Compiling GEOS-Chem
The GEOS-Chem Unit Tester
The GEOS-Chem Unit Tester is a package of scripts and Makefiles that will compile and run several GEOS-Chem with a set of standard debugging flags. The Unit Tester is one of our best GEOS-Chem debugging tools. For more information, please see our GEOS-Chem Unit Tester wiki page.
Creating run directories with the Unit Tester
You can use the GEOS-Chem Unit Tester to create a run directory specific to the GEOS-Chem simulation that you want to perform. A run directory is where the GEOS-Chem executable file will be placed. You will normally keep GEOS-Chem run directories in your own disk space. The run directories contain several input files which are used to "customize" the GEOS-Chem simulation as follows:
- To specify start and end dates of simulation
- To specify which GEOS-Chem options to turn on/off
- To specify diagnostic output options
For more information, please see the following resources:
For more information, please see our Downloading GEOS-Chem data directories wiki page.
You will need a restart file before you can start your GEOS-Chem simulation. A restart file contains the initial conditions for a GEOS-Chem simulation. There are two restart files for GEOS-Chem:
- GEOS-Chem restart file containing instantaneous species concentrations (Required)
- HEMCO restart file containing values needed for some of the HEMCO extensions (Optional)
When you run a GEOS-Chem simulation, it will write new GEOS-Chem restart files at the intervals you specify in input.geos. New HEMCO restart files are written with frequency configured in HEMCO_Config.rc if HEMCO is used in your simulation.
CAVEAT: The initial restart files do not reflect the actual atmospheric state and should only be used to "spin up" the model. In other words, they should be used as initial values in an initialization simulation to generate more accurate initial conditions for your production runs.
Doing a one year spin up is usually sufficient; however, we recommend ten years for ozone, carbon dioxide, and methane simulations, and four years for radon-lead-beryllium simulations. If you are in doubt about how long your spin up should be for your simulation, we recommend contacting the GEOS-Chem Working Group that specializes in your area of research.
You may spin up the model starting at any year for which there is met data, but you should always start your simulations at the month and day corresponding to the restart file to more accurately capture seasonal variation. If you want to start your production run at a specific date, we recommend doing a spin up for the appropriate number of years plus the number of days needed to reach your ultimate start date. For example, if you want to do a production simulation starting on 12/1/13, you could spin up the model for one year using the initial GEOS-FP restart file dated 7/1/13 and then use the new restart file to spin up the model for five additional months, from 7/1/13 to 12/1/13.
To determine the date of a netCDF restart file, you may use ncdump For example:
ncdump -v time -t initial_GEOSChem_rst.4x5_standard.nc
The -t option will return the time value in human-readable date-time strings rather than numerical values in unit such as "hours since 1985-1-1 00:00:0.0." The date of a binary punch restart file can be determined by opening the file in GAMAP.
Using a HEMCO restart file for your initial spin up run is optional. The HEMCO restart file contains fields for initializing variables required for Soil NOx emissions, MEGAN biogenic emissions, and the UCX chemistry mechanism. The HEMCO restart file that comes with a run directory may only be used for the date and time indicated in the filename. HEMCO will automatically recognize when a restart file is not available for the date and time required, and in that case HEMCO will use default values to initialize those fields. You can also force HEMCO to use the default initialization values by setting "HEMCO_RESTART" to false in HEMCO_Config.rc. For more information, see the HEMCO User's Guide.
You can read more about restart files at the GEOS-Chem output files wiki page.
Please see our Guide to visualization and analysis tools for GEOS-Chem for information about software packages that you can use to analyze or plot GEOS-Chem output.
The GEOS-Chem website
The GEOS-Chem website is located at geos-chem.org.
From this website you may:
- Read a welcome letter which outlines user responsibilities
- Access GEOS-Chem-related publications
- View online presentations from GEOS-Chem user meetings
- See a list of who is using GEOS-Chem at other institutions
- Obtain information about the GAMAP visualization package
Also, please take a minute to read the GEOS-Chem overview page. This document outlines the responsibilities for all GEOS-Chem users.
The GEOS-Chem wiki
The GEOS-Chem wiki (i.e. this wiki) is located at: wiki.geos-chem.org.
The wiki has many features that are designed to facilitate communication between GEOS-Chem users and developers. The Main Page of the wiki contains links to several commonly-read pages. If you can't find your desired topic, the best way to search for information on the wiki is by using the Search Box located in the upper right corner of each wiki page.
We encourage all GEOS-Chem code developers and users to check the wiki frequently, as this is the place where the latest information about GEOS-Chem will be posted. The wiki is designed to be a two-way street of communication. Users should feel free to add content to the wiki pages that are most closely related to their research.
In particular, the GEOS-Chem Support Team has begun an effort to make sure that all 3rd-party code and data that is submitted into GEOS-Chem has a corresponding wiki page. This will ensure that all information can be shared transparently.
All GEOS-Chem wiki posts can be read by anyone. However, to add or modify wiki pages, you will need to register for a wiki account. Simply click on the "Log In/Create Account" link at the top right of your browser window. The GEOS-Chem support team will confirm your account request (this is an anti-spamming measure).
The best way to find information on the GEOS-Chem wiki is to use the Search Box located in the upper right corner of each wiki page. You can also let the GEOS-Chem wiki inform you of recent updates to the site via RSS. Click here to find out how.
Please see the following GEOS-Chem tutorials, mostly taken from previous GEOS-Chem meetings:
- Using GEOS-Chem on the Amazon Web Services Cloud computing environment (cloud.geos-chem.org)
- GEOS-Chem Python Tutorial
- IGC9 model clinics:
For more information
You can find much more information about GEOS-Chem on our website and wiki. We invite you to consult the following resources:
- Getting Started with GEOS-Chem
- Getting Started with GCHP
- The HEMCO User's Guide
- Frequently asked questions about GEOS-Chem
- What should I do if my GEOS-Chem simulation dies with an error?
- Is there a comprehensive list of bugs and when they were fixed?
- Do you have any debugging tips?
- How can I contact the GEOS-Chem Support Team for assistance? What should I include in my request?