Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development utilities #63

Merged
merged 36 commits into from
Jan 13, 2025
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
546ad5a
Add config files
jwallwork23 Nov 25, 2024
0c1f5b9
Add dev utils
jwallwork23 Nov 25, 2024
3ee66d9
Notes and some generalisation
jwallwork23 Nov 25, 2024
66b2dc6
Add README
jwallwork23 Nov 25, 2024
05e4ae7
Fix path to configs
jwallwork23 Nov 25, 2024
e7a4d17
Improve clarity of README.md
jwallwork23 Nov 25, 2024
5996a02
Minor fix for intel compiler missed in #62
jwallwork23 Nov 25, 2024
f4a7d67
Improve README
jwallwork23 Nov 27, 2024
b77342a
Add text on config files, too
jwallwork23 Nov 27, 2024
f4ae8bd
NOTEs for modifications
jwallwork23 Nov 27, 2024
fb40de5
Add headers for build and run scripts
jwallwork23 Nov 27, 2024
aee1211
Use build script in CI
jwallwork23 Nov 27, 2024
057f75c
Reorder build to set up configuration files afterwards
jwallwork23 Nov 27, 2024
0c08d8b
Fix path to debugging flags
jwallwork23 Nov 27, 2024
b5795c1
Add CI job for debug mode
jwallwork23 Nov 27, 2024
0bfb776
Copy rundeck for debug mode
jwallwork23 Nov 27, 2024
7a641a0
Raise error if scripts fail
jwallwork23 Nov 27, 2024
d54f50f
Symlink config files into GISS_HOME, too
jwallwork23 Nov 27, 2024
639e0ce
Drop options that we don't have inputs for
jwallwork23 Nov 27, 2024
70a3d0c
Add debug option for run script
jwallwork23 Nov 27, 2024
43b8379
More standard path for GISS_HOME
jwallwork23 Nov 29, 2024
c673571
Account for restart file
jwallwork23 Nov 29, 2024
3136d6c
Fix path for restart file in CI
jwallwork23 Nov 29, 2024
0b79185
Another attempt to fix paths
jwallwork23 Nov 29, 2024
b1a647f
Fix typo; drop set -e
jwallwork23 Dec 5, 2024
761a522
Add OVERWRITE=YES
jwallwork23 Dec 11, 2024
29bc0e4
Fix path and set values in HISTORY.rc
jwallwork23 Dec 11, 2024
20dc376
Debugging flags for Intel
jwallwork23 Dec 16, 2024
58c25f4
Update restart file name and add note
jwallwork23 Dec 20, 2024
3c14a00
.dev/config/geoschem_config.yml; update restart file name
jwallwork23 Jan 9, 2025
2dd2f8b
Update paths for consistency with HPC
jwallwork23 Jan 9, 2025
ea7eb70
Use /bin/env bash shebang for scripts
jwallwork23 Jan 9, 2025
b410cf1
Fix rundeck passing
jwallwork23 Jan 9, 2025
99175fa
Fix path
jwallwork23 Jan 9, 2025
8d87fbf
Handle rundeck symmetrically in debug mode
jwallwork23 Jan 9, 2025
f5ac1e4
Turn OLSON_LANDMAP back on
jwallwork23 Jan 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions .dev/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Developer Zone

**NOTE: CODE IN THIS SUBDIRECTORY IS NOT INTENDED FOR GENERAL USERS**

## Developer utilities

The `.dev/utils` subdirectory contains three shell scripts that streamline the
development process, as described in the following.

The first one is the `setup.sh` script, which sets up your environment for
building and running GISS-GC. This includes setting environment variables
and activating a Spack environment. It's likely that this script will need
some modification to be usable on your system. (Open the script and check the
parts marked by `NOTE`.) To use the `setup.sh` script, navigate to the directory
where you cloned GISS-GC (which is set as `${GISS_HOME}` in the script) and run
```
cp .dev/utils/setup.sh .
source setup.sh
```

The second utility is the `build.sh` script, which builds the model with given
configuration options. From the same location, run
```
cp .dev/utils/build.sh .
./build.sh --help
```
This should print some help text to the screen that describes what options may
be passed to the script and what they mean. The options can be combined. For
example, running
```
./build.sh --giss-only -f
```
will build GISS Model E *without* GEOS-Chem support and it will remove any
existing builds before doing so. Note that if you run the build script once with
the `--giss-only` option and once without then it will create two separate
builds.

The third utility is the `run.sh` script, which runs a model configuration that
has been built.

Again, you may run the following to get help text on how to use this script:
```
cp .dev/utils/run.sh .
./run.sh --help
```
Note that in order to run the model with `--giss-only` or not, you will need to
have built the model in the same way.

## Configuration scripts

The `.dev/config` subdirectory contains five configuration files for GEOS-Chem
and the HEMCO emissions module that provide good starting points for GISS-GC
development. (Again, these are not intended for general users as they may not
produce scientifically interesting output.) The configuration scripts are
automatically picked up by the developer utility scripts mentioned in the
previous section.

The configuration scripts are:
* `geoschem_config.yml` - top level configuration file for GEOS-Chem.
* `HEMCO_Config.rc` - top level configuration file for HEMCO.
* `HISTORY.rc` - output configuration for GEOS-Chem.
* `HEMCO_Diagn.rc` - output configuration for HEMCO.
* `species_database.yml` - configuration file for species used by GEOS-Chem.
4,553 changes: 4,553 additions & 0 deletions .dev/config/HEMCO_Config.rc

Large diffs are not rendered by default.

762 changes: 762 additions & 0 deletions .dev/config/HEMCO_Diagn.rc

Large diffs are not rendered by default.

1,355 changes: 1,355 additions & 0 deletions .dev/config/HISTORY.rc

Large diffs are not rendered by default.

Loading