Description of coupler
Colin Thackray wrote the Python interface to pass information between the MITgcm and GEOS-Chem.
Credit & citation
Colin Pike-Thackray (MIT) wrote all of the Python and shell scripts. He's the coding wizard who made the coupler a reality. Helen M. Amos (Harvard) developed the PCB simulation and wrote the MATLAB scripts handling all of the regridding.
If you are using the coupler, please cite Amos et al. (2015), Temporal trends in air-sea exchange of polychlorinated biphenyls (PCBs) and implications for the Arctic, in prep.
Disclaimer
Tested for the following model versions
- MITgcm ECCOv4 (lat-lon-cap grid configuration) PCB simulation
- GEOS-Chem v9-01-03 PCB simulation
Prerequisites for running the coupler
- An account on Odyssey or Svante
- Space on a file/storage server
- A copy of GEOS-Chem that compiles and runs standalone (i.e., not as part of the coupler)
- A copy of the MITgcm that compiles and runs standalone (i.e., not as part of the coupler)
- A GitHub account
- Python
- MATLAB
- gcmfaces MATLAB package up and running (tip: go through the demo)
Step 1: Download the coupler
Put the coupler on a file/storage server. The coupler will run GEOS-Chem and MITgcm together, generating large output files from both models. If you run it from your home directory, you will quickly hit your storage quota. On Svante, I put the coupler on file server #2: /net/fs02/d2/geos_harvard/helen/coupler/.
Open up a terminal and login to your head node (i.e., login node). For example, this is how I log into Svante
ssh -Y geos_harvard@svante.mit.edu
Go to the location on the file server where you want to put the coupler. For example, this is where I want my coupler on Svante
cd /net/fs02/d2/geos_harvard/helen/
Clone a copy of the coupler from Colin's GitHub page
git clone https://github.com/thackray/coupler.git
Step 2: Initial set up
After cloning a copy of the coupler, type this series of commands into the terminal to set up your coupler. You should be logged into the head node.
cd /your_directory/coupler/
ssh -Y <username>@svante2.mit.edu (ssh to a file server, here's how on Svante)
python setup.py (generates a bunch of subdirectories)
exit (exit the file server, go back to head node)
source startup.sh (grabs nodes to run coupled job)
python example.py (run job)
As of 22 September 2015, example.py will run a 1-yr coupled PCB simulation with a passing frequency of 21 days on 13 cores. Because it's on 13 cores, it's slow. The default example.py takes 7 hours on Svante. When the job is running, the coupler spits a status update to the terminal window every 10 seconds. When the job is finished, you'll see the message, "Thanks for using the coupler!"