Model run results: https://wandb.ai/sdat2/seager19
Docker image for gfortran/gcc/cdf/conda: https://hub.docker.com/repository/docker/sdat2/seager19
A repository to contain, analyze, and expand upon the model from:
Seager et al. 2019, Nature Climate Change, Strengthening Tropical Pacific Zonal Sea Surface Temperature Gradient Consistent with Rising Greenhouse Gases
https://doi.org/10.1038/s41558-019-0505-x
-
There is a west-east warm-to-cold contrast in the Pacific.
-
State-of-the-art GCMs predict weakening contrast with GHG concentration.
-
In observations, it has increased.
-
Their simple linear equatorial coupled model agrees with observations when forced with ECMWF reanalysis product.
-
When forced with CMIP5 ensemble relative humidity and windspeed their model can reproduce the bias, highlighting these fields as the mechanism through which it is created.
The citation for their paper is:
@article{seager2019strengthening,
title={Strengthening tropical Pacific zonal sea surface temperature gradient consistent with rising greenhouse gases},
author={Seager, Richard and Cane, Mark and Henderson, Naomi and Lee, Dong-Eun and Abernathey, Ryan and Zhang, Honghai},
journal={Nature Climate Change},
volume={9},
number={7},
pages={517--522},
year={2019},
url={https://doi.org/10.1038/s41558-019-0505-x},
publisher={Nature Publishing Group}
}
The paper is discussed in a podcast available at Deep Convection Season 1 Episode 5:
Specifically the time period 33:00-44:30.
The code and data were taken from a Columbia University website:
This website is blocked from some IP addresses, such as the Cambridge VPN (probably my fault), and so you may need to try a different connection method if it doesn't load.
git clone https://github.com/sdat2/seager19.git
cd seager19
# Enforcing these versions is necessary to be able to use 70s fortran.
# If you would rather not change your version, you might be better off
# Using the docker image instead.
sudo apt-get install gfortran-4.8
sudo apt-get install gcc-4.8
sudo apt-get install --fix-missing libnetcdf-dev libnetcdff-dev
sudo apt-get install cloc # brew install cloc for mac
docker build . -t sdat2/seager19:g4.8
docker push sdat2/seager19:g4.8
# on jasmin you would need to make a new tmp directory in your home directory
# to be able to install the quite large singularity environment e.g:
mkdir /home/users/sithom/tmp
# and then call the command to create the singularity object
TMPDIR=/home/users/sithom/tmp SINGULARITY_CACHEDIR=/home/users/sithom/tmp singularity pull docker://sdat2/seager19:g4.8
# and then to launch the envirnonment
singularity run seager19_g4.8.sif
# in case conda isn't activated:
conda init bash
source ~/.bash_profile
# activate the environment
conda activate ./env/
# test that the environment and package work before using:
make test # Also downloads the data if needed.
make jupyter_pro # adds timing etc.
make vscode_pro # sets up nice autodoc, pylint etc.
make jupyter_dark # dark mode for jupyter notebooks
# and to reverse this:
make jupyter_light
# default run:
python src/main.py name=cd_2.25 coup.c_d=2.25e-3
# Sweep through different levels of Raleigh friction
# values near the value in the paper
python src/main.py atm.eps_days=1.05,0.95,0.85,0.75,0.65,0.55 -m
python src/main.py atm.eps_days=1.7,1.8,1.85 -m
python src/main.py atm.eps_days=0.7,0.8 -m
# values from other papers quoted in the introduction to Romps (2014) "Raleigh Damping in the Free Troposphere"
python src/main.py atm.eps_days=1.25,1.8,2,2.5,3,5,10 -m
python src/main.py atm.eps_days=2.1,1.75,1.9 -m
# Seager91, Matsuno66, Yu97, Gill80, Chang82, Sugiyama09, Wu00
# breaks at 5, 10: Sugiyama09, Wu00. Breaks through tau.
# looks pretty strange at 3: Chang82.
python src/main.py atm.k_days=7,8,9,10 -m
# uncoupled run without syncing:
python src/main.py name=it_1 coup.iterations=1 coup.c_d=2.25e-3 wandb=false
To look at the commands to relicate the paper figures, see replicate.md
.
make notebook name=your-notebook-name
make py name=src/to-new.py
make autodoc
grep -R "f1prime" ocean/SRC
https://docs.google.com/spreadsheets/d/1QrCLil7uHMRJECOoSL18uk2mvBwMLxqesXbZpUWh3ko/edit?usp=sharing