Code and Data Supplement for "The Deep Atmosphere Extension of the Non-hydrostatic HOMME Dynamical Core"
收藏资源简介:
Code and Data Supplement for "The Deep Atmosphere Extension of the Non-hydrostatic HOMMEDynamical Core"=========================================================== This directory contains the data and scripts used to create the plots from our publication as well as the version of the E3SM source code used to perform the simulations for the methods paper on NHD HOMME. How model runs were performed-----------------------------Simulations were performed using the standalone HOMME infrastructure, which does not use CIME. In order to perform these simulations, you do the following:1. Design a machine config CMake file for your target machine. Examples can be found in `E3SM_PAPER/components/homme/cmake/machineFiles/`. My `greatlakes.cmake` file is a good example if you are cobbling dependencies together yourself, but must be used in concert with `build_scripts/setup.sh`, as the CMake file depends on the particular definition of environment variables I set before running `build_scripts/cmake.sh`. 2. Inside of your install directory, in an environment where you have the correct environment variables set (e.g. `source build_scripts/setup.sh`), run `source cmake.sh`. Note that the CMake flag `WITH_DA=ON` enables deep-atmosphere mode, so shallow and deep atmosphere must be different build enviroments.3. Run `make all`, or, if you are only running certain tests, `make theta-l-nlev30` (used for most 1º tests in the paper).4. cd into `${install_dir}/paper_simulations/da/dcmip_tests/dcmip2016_test1_baroclinic_wave/` and run `make install`.5. cd into `${install_dir}/paper_simulations/da/dcmip_tests/dcmip2016_test1_baroclinic_wave/theta-l`4. Use the jobscript (and the namelist referenced in the jobscript) located in the `config_scripts` directory to run a particular test. The `prefix` variable in the job script selects a namelists of the form `namelist-${prefix}.nl` in the directory the job script is run from. You can run the model in an arbitrary directory by changing the `EXEC` variable to point to your HOMME install directory. Note that model output will appear in subdirectories of the directory in which you invoke the job script, so this directory should be placed on a volume with enough free space to contain several hundred GB of data. Generating Plots---------------To reproduce the figures in the paper, create a virtual environment containing `xarray, numpy, matplotlib, cartopy, windspharm, tqdm`. Note that windspharm is less well maintained than it used to be, and is only required for the Matsuno-Gill streamfunction plots. This package may be omitted if these plots do not need to be regenerated. To generate the plots, activate your virtual environment and then run `source gen_plots.sh`. This may require several GB of memory, so depending on your system restrictions you may want to avoid running it on a crowded login node. The resulting plots appear in the `da_methods_paper/figures` subdirectory. To reduce the storage footprint of this Zenodo archive, we have reduced the sampling frequency of the Matsuno-Gill output, as well as the steady-state output. If you attempt to run these scripts on your own reproduced simulations, the temporal indexing must be updated.



