How to reproduce and extend this work¶
This project is designed to be easy to reproduce and extend. Everything involved is kept under version control in a git repository. The repository is hosted on GitHub (and the documentation made with GitHub Pages). The repository is https://github.com/philip-brohan/Proxy_20CR; it contains everything you need to reproduce or extend this work.
As well as downloading the software, some setup is necessary to run it successfully:
These scripts need to know where to put their output files. They rely on an environment variable
SCRATCH - set this variable to a directory with plenty of free disc space.
These scripts will only work in a environment with the appropriate software and libraries available. I use conda to manage the required environment - which is specified in a yaml file:
name: ProxyR channels: - defaults - conda-forge dependencies: # Basics - python=3.9 - numpy=1.19.5 # tf-graphics requires this old version - iris=3.0 - cmocean=2.0 - parallel # ML model building and diagnostics # If you don't have a GPU, tensorflow-eigen might be faster - tensorflow-gpu=2.4.* - tensorflow-probability=0.12.* # openexr is not used, but tf-graphics won't install without it (known bug). - openexr=2.5.* - openexr-python=1.3.* # Code formatter - black=20.* # Documentation processor - sphinx=4.4.* # Some packages are only available via pip - pip - pip: # Philip's library for Reanalysis data handling - git+ssh://firstname.lastname@example.org/philip-brohan/IRData.git@068a6a55bf5f6f687e0bbd072c7b0fe259884365 # Needed by TensorBoard for profiling - tensorboard_plugin_profile # For bilinear interpolation - tensorflow-addons==0.14 # For trilinear interpolation - tensorflow-graphics
Install anaconda or miniconda, create and activate the environment in that yaml file, and all the scripts in this repository should run successfully.