Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
215 commits
Select commit Hold shift + click to select a range
b186ea8
Rename ModelE2.1 modules that would be in conflict with GEOS-Chem mod…
ltmurray May 2, 2024
f8bc7cd
Modifications to ModelE2.1 to enable verions 12.9.3 of GEOS-Chem to c…
ltmurray May 6, 2024
446471e
Add GEOS-Chem version 12.9.3 as submodule
ltmurray May 6, 2024
d0535a2
Update submodule
ltmurray May 6, 2024
94306ed
Allow GEOS-Chem methane and ozone to interact with radiation code. Up…
ltmurray May 6, 2024
3d295b5
Declare ij_fcghg under TRACERS_GC preprocessor option
joewallwork Jun 26, 2024
d66b210
tell git to ignore everything in the decks directory apart from the M…
AmyOctoCat Jul 24, 2024
e21c57c
Merge pull request #14 from fetch4/add-git-ignore-file
AmyOctoCat Jul 24, 2024
a9d4d9c
Add GISS_GC_14 rundeck to repo
joewallwork Jul 24, 2024
a22b1c0
Merge pull request #15 from fetch4/add-rundecks
joewallwork Aug 8, 2024
dfbb263
Add GEOS-Chem 14.3.1, HEMCO 3.8.1, and Cloud-J 7.7.1 as submodules fo…
ltmurray May 6, 2024
df9cfe3
Updates to ModelE2.1 to allow GEOS-Chem version 14.3.1 to be an alter…
ltmurray May 6, 2024
9cd8698
Failed attempt at building GEOS-Chem libraries and linking to ModelE2.1.
ltmurray May 6, 2024
8c70e55
Introduce GC_BUILD_DIR and GC_LIB_DIR environment variables
joewallwork Jun 18, 2024
26a25ae
Add linker flags: -nostartfiles -nofor-main
joewallwork Jun 18, 2024
d78c606
Add GC to clean recipe
joewallwork Jun 18, 2024
65a2a4a
Fix MODEL_CLASSIC typo
joewallwork Jun 18, 2024
05e7df9
Hook up right branch for GEOS-Chem
joewallwork Jun 26, 2024
3938d0a
Drop comments in model/Makefile and reformat
joewallwork Jul 18, 2024
75404e9
Use -qopenmp for recent versions of the Intel compiler
joewallwork Jul 19, 2024
468ed51
Pass GISS OpenMP configuration through to GEOS-Chem
joewallwork Jul 19, 2024
a10e9eb
Equivalent linker flags for gfortran, too; pass F90 and linker flags …
joewallwork Jul 23, 2024
3e71ea0
Need MODEL_ compile definition
joewallwork Jul 23, 2024
c396587
Account for having separate C and Fortran NetCDF installs
joewallwork Jul 23, 2024
1b263b0
Only alter LFLAGS if GC=YES
joewallwork Jul 24, 2024
1088414
Add OpenMP flags for gfortran
joewallwork Jul 29, 2024
2283165
Base F90FLAGS off FFLAGS
joewallwork Jul 30, 2024
53694dc
Simplify change set
joewallwork Aug 15, 2024
45a72a2
Do not include executable
joewallwork Aug 15, 2024
beb1767
Add development environment Dockerfile
joewallwork Jul 26, 2024
b36b9a0
Add Makefile for working with Docker container
joewallwork Jul 25, 2024
b80fda3
Use HTTPS for Git modules
joewallwork Jul 26, 2024
07947a3
Add modelErc
joewallwork Jul 26, 2024
6d0ab82
Add CI workflow for building GISS-GC
joewallwork Jul 26, 2024
e672bb6
Separate task for creating fake inputs
joewallwork Jul 26, 2024
c39aec6
Define environment variables before jobs
joewallwork Jul 26, 2024
854a797
More environment variables; formatting
joewallwork Jul 26, 2024
3c04d9a
Job for setting up submodules; use RUNID
joewallwork Jul 26, 2024
577c64a
Formatting changes to trigger CI
joewallwork Aug 9, 2024
f9fec59
Merge pull request #16 from fetch4/setup-ci
ltmurray Aug 20, 2024
b12e037
Merge pull request #19 from fetch4/jwallwork23/giss-gc-14-rebased
joewallwork Aug 20, 2024
18a101f
Account for separate NetCDF C libs
joewallwork Aug 28, 2024
4f4ef45
Add CI step for building tools
joewallwork Aug 28, 2024
d99d0cd
Fix typo
joewallwork Aug 28, 2024
2bd7aa6
Instructions for building on a Linux laptop
joewallwork Aug 29, 2024
af87c0b
Fix size of ij_fcghg for TRACERS_GC
joewallwork Sep 11, 2024
de0e545
Avoid parameters involving vector math operations
joewallwork Sep 12, 2024
af99bf4
Account for more recent OpenMPI implementations
joewallwork Sep 12, 2024
3441ff8
Update GEOS-Chem and HEMCO branches
joewallwork Sep 11, 2024
d29b73b
Account for update to version reporting with recent Intel compiler
joewallwork Sep 12, 2024
91b10ad
ifdef for CNV_FRC
joewallwork Sep 12, 2024
85ad5fa
Similarly for UPDVVEL
joewallwork Sep 12, 2024
bab8c2e
Deduce MPI_ROOT in workflow
joewallwork Sep 12, 2024
023d793
Use first match for mpif90
joewallwork Sep 12, 2024
4d3605d
Don't hard-code last 10 characters
joewallwork Sep 12, 2024
863cfdc
Merge pull request #41 from fetch4/csd3-fixes
ltmurray Sep 16, 2024
d7b6de9
Compile with MODEL_GISS, not MODEL_CLASSIC
joewallwork Oct 23, 2024
d43eb18
Compile with MODEL_GISS rather than MODEL_CLASSIC; Update GEOS-Chem c…
joewallwork Oct 23, 2024
4bd5e48
Drop compiler environment variables - not needed
joewallwork Oct 24, 2024
e4658d1
Drop unnecessary compiler env flags
joewallwork Oct 28, 2024
5484b69
Merge pull request #47 from fetch4/drop_compiler_env_vars
joewallwork Oct 28, 2024
352d9ca
Merge pull request #36 from fetch4/bugfix35_compscr-separate-netcdf
joewallwork Oct 28, 2024
3d79d74
Merge pull request #40 from fetch4/docs7_setup
joewallwork Oct 28, 2024
f193402
Merge pull request #45 from fetch4/model_giss
joewallwork Oct 28, 2024
4a66c30
Separate out spack.yaml; Dockerfile optimisations
joewallwork Aug 29, 2024
2305f37
Set up periodic Docker build
joewallwork Aug 29, 2024
bb6c205
Fix missing backslash
joewallwork Aug 29, 2024
fae7560
Use Ubuntu 22.04 rather than latest; provide path to Dockerfile; avoi…
joewallwork Aug 29, 2024
20fe97c
Updates to ModelE2.1 to allow GEOS-Chem version 14.3.1 to be an alter…
joewallwork Oct 23, 2024
640d176
Misc formatting
joewallwork Oct 23, 2024
12ed824
Enable GEOS-Chem built by cmake to be compiled and linked to GISS Mod…
ltmurray Oct 4, 2024
2254ef4
Remove -lmpi_77
ltmurray Oct 7, 2024
79b1153
Update Makefile to allow both fullchem and carbon mechanisms.
ltmurray Oct 19, 2024
369b896
Change preprocessing flag for enabling GISS-GC
ltmurray Oct 14, 2024
1cadf18
Updates to driving GEOS-Chem from within the GISS model
ltmurray Oct 14, 2024
8ab8778
Comment out unnecessary code that causes a segmentation fault with th…
ltmurray Oct 14, 2024
110a442
Update GISS-GC to version 14.4.3
ltmurray Oct 16, 2024
4efeab5
Additional updates for GISS-GC to run 14.4.2
ltmurray Oct 16, 2024
65508f1
Update submodule commits
joewallwork Oct 23, 2024
85f5056
Specify branches for submodules
joewallwork Oct 23, 2024
8b1b753
Specify chemical mechanism in CI
joewallwork Oct 23, 2024
742158e
Put save_COSZ2 inside TRACERS_GC ifdef
joewallwork Oct 28, 2024
f4fedf5
GCAP -> CALC_MERRA2_LIKE_DIAGS in rundeck
joewallwork Oct 28, 2024
b09b433
More ifdefs for save_COSZ2
joewallwork Oct 28, 2024
474c4ae
Fix typo
joewallwork Oct 28, 2024
8c960ee
Add missing CALC_MERRA2_LIKE_DIAGS
joewallwork Oct 28, 2024
3a8e436
Reinstate compiler env vars; pass to CMake
joewallwork Oct 29, 2024
e30f0a7
Neater periodic workflow implementation
joewallwork Oct 31, 2024
be119c3
Fix typo in .modelErc diff
joewallwork Nov 5, 2024
1ef977e
Merge pull request #49 from fetch4/gcmsearchpath_typo
joewallwork Nov 5, 2024
2ccfb21
Pass F90FLAGS to GEOS-Chem
joewallwork Nov 6, 2024
4c8d85b
Merge pull request #43 from fetch4/joe/giss-gc-v14.4.3
ltmurray Nov 11, 2024
40f30cf
Use ONLY statements in CHEM_DRV
joewallwork Nov 5, 2024
a0d6061
Drop debug overrides
joewallwork Nov 5, 2024
04d1c33
Drop LWI field, see GEOS-Chem/CHANGELOG.md:
joewallwork Nov 5, 2024
84e5642
Add GISS_ONLY rundeck and workflow
joewallwork Nov 12, 2024
4f7b3e8
Export NetCDF prefix paths
joewallwork Nov 12, 2024
b233718
Drop CHEM_DRV and CHEM_COM from GISS_ONLY rundeck
joewallwork Nov 12, 2024
6958115
Update submodule hashes
joewallwork Nov 11, 2024
a393269
Merge pull request #53 from fetch4/21_chem_drv_todos
joewallwork Nov 12, 2024
9e6ac9d
Merge pull request #57 from fetch4/56_ci-giss-only
joewallwork Nov 12, 2024
1aa1264
Turn off all SUBDD in rundecks
joewallwork Nov 12, 2024
7473d32
Set OMP_NUM_THREADS to 1
joewallwork Nov 14, 2024
4223d09
Allocate arrays not allocated in gs_setup.inc
joewallwork Nov 14, 2024
3fbe9e4
Fix bug in definition of dZm array
joewallwork Nov 14, 2024
d965aa5
Set htcon to zero in case where it's unset
joewallwork Nov 14, 2024
48abc9d
Only run for 1 hour
joewallwork Nov 14, 2024
9d8f264
Separate CTM_LFLAGS
joewallwork Nov 20, 2024
0869e2d
Merge pull request #62 from fetch4/54_fix-commandline-input
joewallwork Nov 20, 2024
6eb86ef
Merge branch 'develop' into 55_debug_take2
joewallwork Nov 25, 2024
65c09cd
Merge pull request #61 from fetch4/55_debug_take2
joewallwork Nov 25, 2024
546ad5a
Add config files
joewallwork Nov 25, 2024
0c1f5b9
Add dev utils
joewallwork Nov 25, 2024
3ee66d9
Notes and some generalisation
joewallwork Nov 25, 2024
66b2dc6
Add README
joewallwork Nov 25, 2024
05e4ae7
Fix path to configs
joewallwork Nov 25, 2024
e7a4d17
Improve clarity of README.md
joewallwork Nov 25, 2024
5996a02
Minor fix for intel compiler missed in #62
joewallwork Nov 25, 2024
f4a7d67
Improve README
joewallwork Nov 27, 2024
b77342a
Add text on config files, too
joewallwork Nov 27, 2024
f4ae8bd
NOTEs for modifications
joewallwork Nov 27, 2024
fb40de5
Add headers for build and run scripts
joewallwork Nov 27, 2024
aee1211
Use build script in CI
joewallwork Nov 27, 2024
057f75c
Reorder build to set up configuration files afterwards
joewallwork Nov 27, 2024
0c08d8b
Fix path to debugging flags
joewallwork Nov 27, 2024
b5795c1
Add CI job for debug mode
joewallwork Nov 27, 2024
0bfb776
Copy rundeck for debug mode
joewallwork Nov 27, 2024
7a641a0
Raise error if scripts fail
joewallwork Nov 27, 2024
d54f50f
Symlink config files into GISS_HOME, too
joewallwork Nov 27, 2024
639e0ce
Drop options that we don't have inputs for
joewallwork Nov 27, 2024
70a3d0c
Add debug option for run script
joewallwork Nov 27, 2024
43b8379
More standard path for GISS_HOME
joewallwork Nov 29, 2024
c673571
Account for restart file
joewallwork Nov 29, 2024
3136d6c
Fix path for restart file in CI
joewallwork Nov 29, 2024
0b79185
Another attempt to fix paths
joewallwork Nov 29, 2024
b1a647f
Fix typo; drop set -e
joewallwork Dec 5, 2024
761a522
Add OVERWRITE=YES
joewallwork Dec 11, 2024
29bc0e4
Fix path and set values in HISTORY.rc
joewallwork Dec 11, 2024
20dc376
Debugging flags for Intel
joewallwork Dec 16, 2024
58c25f4
Update restart file name and add note
joewallwork Dec 20, 2024
3c14a00
.dev/config/geoschem_config.yml; update restart file name
joewallwork Jan 9, 2025
2dd2f8b
Update paths for consistency with HPC
joewallwork Jan 9, 2025
ea7eb70
Use /bin/env bash shebang for scripts
joewallwork Jan 9, 2025
b410cf1
Fix rundeck passing
joewallwork Jan 9, 2025
99175fa
Fix path
joewallwork Jan 9, 2025
8d87fbf
Handle rundeck symmetrically in debug mode
joewallwork Jan 9, 2025
f5ac1e4
Turn OLSON_LANDMAP back on
joewallwork Jan 9, 2025
ecfbc57
Merge pull request #63 from fetch4/dev-utils
joewallwork Jan 13, 2025
2d585ca
Merge branch 'develop' into 37_regular_docker_build
joewallwork Jan 16, 2025
f119a98
Merge pull request #38 from fetch4/37_regular_docker_build
joewallwork Jan 16, 2025
824fa30
Drop unnecessary compiler flags
joewallwork Jan 16, 2025
413d885
Use fullchem mechanism, not carbon
joewallwork Jan 10, 2025
5616f8a
Better debugging approach
joewallwork Jan 16, 2025
a760a88
Allow specifying chemical mechanism
joewallwork Jan 16, 2025
80760ee
Merge pull request #70 from fetch4/better-debugging
joewallwork Jan 16, 2025
a2b628b
Setup for building GCClassic (#67)
joewallwork Jan 23, 2025
4462f23
Misc fixes for coupled setup (#72)
joewallwork Feb 4, 2025
37ea76d
More concise ifdefs
joewallwork Dec 6, 2024
d92e2c9
Avoid duplicate ifdefs in ATM_DRV; use elif
joewallwork Dec 6, 2024
f3c28a3
Add missing ifdef for lightning; add TODO note
joewallwork Dec 6, 2024
624ccc8
Drop duplicated taijlh defs
joewallwork Feb 5, 2025
2243f11
Rework following @ltmurray review
joewallwork Feb 5, 2025
a1e0ec8
Use the SZA calculated by the GCM rather than that calculateed by GEO…
ltmurray Feb 5, 2025
bcb5963
Use GitHub Actions' `matrix` concept to streamline workflows (#75)
joewallwork Feb 7, 2025
7416a27
Remove duplicated concurrency setting
joewallwork Feb 7, 2025
980dcaa
Add concurrency check in lint workflow
joewallwork Feb 7, 2025
b6e2499
Merge pull request #83 from fetch4/hotfix_workflow-concurrency
joewallwork Feb 7, 2025
dc978c9
Merge pull request #68 from fetch4/misc-cleanup
joewallwork Feb 12, 2025
1bd7aaa
Warm restart as well as cold restart (#82)
joewallwork Feb 12, 2025
5dc2c03
Temporarily turn chemistry off
joewallwork Jan 29, 2025
cee377e
Add PS to SUBDD
joewallwork Feb 4, 2025
be89460
Turn on some indicative SUBDDs
joewallwork Feb 7, 2025
0268d95
Merge pull request #77 from fetch4/develop_ltm
joewallwork Feb 13, 2025
04ba072
Specify 1 hour for cold restart
joewallwork Feb 13, 2025
1855452
Merge pull request #85 from fetch4/34_hourly-update
joewallwork Feb 14, 2025
f6996b5
Drop unnecessary imports in Get_GC_Restart
joewallwork Feb 28, 2025
4c3f440
Drop more unnecessary imports in CHEM_DRV
joewallwork Feb 28, 2025
78db238
Merge pull request #88 from fetch4/drop-unnecessary-imports
joewallwork Mar 4, 2025
ca58f50
Fix CI compilation workflows (#89)
joewallwork Mar 6, 2025
e19c876
Fix MPI hang issue (#86)
joewallwork Mar 6, 2025
40a46bd
Enable SUBDD to archive any species, not just advected ones.
ltmurray Mar 7, 2025
5555ec5
All GEOS-Chem operators are applied over DTsrc timestep.
ltmurray Mar 7, 2025
b34cfc2
Disable deposition in carbon simulations.
ltmurray Mar 7, 2025
685ede2
Make sure halos are updated for advection.
ltmurray Mar 7, 2025
fd5d15e
Merge pull request #92 from fetch4/ltm_develop
joewallwork Mar 12, 2025
ea98109
Attempt at loading from checkpoint file if not cold restart
joewallwork Feb 14, 2025
881063e
Load from fort.1.nc
joewallwork Feb 14, 2025
98642ec
Set species units before FIRST_CHEM conditional
joewallwork Feb 24, 2025
b3baaae
Remove comment [skip ci]
joewallwork Feb 24, 2025
21ab6f3
Revert species unit setting, but ensure set on first_chem
joewallwork Feb 24, 2025
c7250fe
Can't call io_chem until trm is allocated; switch back to fort.2.nc
joewallwork Feb 24, 2025
f6b2150
Fix error message in Get_GC_Restart
joewallwork Feb 28, 2025
532bebb
Put TrM into species concentration after calling IO_CHEM
joewallwork Feb 28, 2025
72b8d3e
read_dist action for IO_CHEM
joewallwork Mar 4, 2025
57bc768
Revert space
joewallwork Mar 4, 2025
b77641c
Drop TODO
joewallwork Mar 4, 2025
33ce43b
Call find_later_rsf when needed
joewallwork Mar 6, 2025
399c6a9
Drop unnecessary conversion; formatting
joewallwork Mar 7, 2025
686c065
Clearer comments on restart file load
joewallwork Mar 7, 2025
0a20da7
Attempt at fixing units
joewallwork Mar 7, 2025
9b0297c
NOTE on io_rsf
joewallwork Mar 12, 2025
7e16a52
Remove restart files before cold restart
joewallwork Mar 13, 2025
1b4fdeb
Ignore generated module files
joewallwork Mar 13, 2025
d6eea03
Unit conversions seem fixed
joewallwork Mar 13, 2025
773da18
Drop unnecessary imports; formatting
joewallwork Mar 13, 2025
2990576
Merge pull request #90 from fetch4/79_reinit-model-take2
ltmurray Mar 13, 2025
1f17a61
Checkpoint file uses kg
joewallwork Mar 13, 2025
ee51a25
Use correct end date and resolution
joewallwork Jan 21, 2025
d45fde8
Use correct number of levels
joewallwork Jan 21, 2025
555709c
Merge pull request #94 from fetch4/93_prod-run-conversion
ltmurray Mar 15, 2025
78e4f26
Only run compile_giss CI job if code or config changes
joewallwork Mar 19, 2025
8321358
Merge pull request #95 from fetch4/misc-fixes
joewallwork Mar 20, 2025
dd73c0d
Use develop branch throughout
joewallwork Mar 24, 2025
3712b37
Merge pull request #109 from fetch4/gitmodules-update
AdelekeBankole Mar 24, 2025
52ac49c
Update documentation for GISS-GC (#106)
AdelekeBankole Mar 25, 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
64 changes: 64 additions & 0 deletions .dev/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# 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. Similarly for `--debug`, which symlinks the rundeck but renames it as
`${RUNID}_DEBUG.R`.

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. Similarly for `--debug`.

## 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