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

Closed (replaced with #484) - [DRAFT] Implementing GEOS-Chem chemistry in CESM2.1 (CESM2-GC) #378

Closed
wants to merge 257 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
257 commits
Select commit Hold shift + click to select a range
2277d87
'register constituent mixing ratios as dry for WACCM
brian-eaton Jan 16, 2019
89f2745
'fix cam tag name
brian-eaton Jan 16, 2019
df1eb58
'treat tracer mmr as wet in clubb and vertical diffusion code
brian-eaton Jan 17, 2019
bfadff1
'treat tracer mmr as wet in gravity wave drag code
brian-eaton Jan 18, 2019
b660da2
'fix gw_tend
brian-eaton Jan 18, 2019
c1929c3
'M components/cam/bld/namelist_files/use_cases/sd_waccm_ma_cam4.xml
fvitt Feb 7, 2019
d974159
'mods for co2_cycle
brian-eaton Feb 13, 2019
bd38265
'mods for co2_cycle
brian-eaton Feb 27, 2019
67fde3a
'Updates to WACCM CMIP6 future scenario compsets
fvitt Feb 28, 2019
728b02b
'Add the CAM hooks for SSP585
cacraigucar Mar 5, 2019
1402359
'Change compset match string for WACCM SSP compsets
fvitt Mar 6, 2019
b4e7145
'Update files in SSP585 use_case
cacraigucar Mar 8, 2019
dded6b8
'add mixing_ratio attribute to restart file
brian-eaton Mar 15, 2019
c343b31
'new fix for mixing_ratio attribute
brian-eaton Mar 16, 2019
84bac9e
'Update REFCASES, and fix character length mismatch.
fischer-ncar Mar 22, 2019
f48ada6
'Update externals
fischer-ncar Mar 22, 2019
f5e01cd
'Update ChangeLog with testing information
fischer-ncar Mar 22, 2019
87cf609
'Create CAM's SSP126 use_case
cacraigucar Mar 29, 2019
5c16e96
'Fix typos and replace missing file in CAM's SSP126 use_case
cacraigucar Mar 29, 2019
d433694
'Another typo and filename update
cacraigucar Mar 29, 2019
669ad22
'bug fixes
brian-eaton Mar 29, 2019
5ed2d93
'M components/cam/bld/namelist_files/use_cases/1850_cam6.xml
fvitt Apr 11, 2019
f8ea453
'Added SSP245 and SSP360 and modified files in SSP126
cacraigucar Apr 25, 2019
ef07dc9
'M components/cam/bld/namelist_files/namelist_defaults_cam.xml
fvitt Apr 30, 2019
55763b7
'Fix WACCMX temperature bug
fvitt May 15, 2019
d1d2dd6
'M bld/namelist_files/use_cases/ssp585_cam6.xml
fvitt May 29, 2019
7d76398
Feat: Changes to include GEOS-Chem as a chemistry option for CESM
fritzt Nov 6, 2019
cbcb9fb
Feat: Update config files to include GEOS-Chem option for CAM
fritzt May 14, 2020
a7336ca
Feat: Add customized chemistry.F90 for GEOS-Chem
fritzt Nov 6, 2019
d702e46
Feat: Initial implementation of compilable code
fritzt May 14, 2020
786b329
Feat: Make radiatively-active species into chemical constituants
fritzt May 14, 2020
9491db9
Feat: Get tracers and species from input.geos and KPP
fritzt May 14, 2020
2375e05
Feat: Add additional flags when compiling GEOS-Chem
fritzt May 14, 2020
95e2242
Fix: Update folder name following version 12.6.0
fritzt May 14, 2020
90057ce
Feat: Allocate major state variables (Input, Met, Chem)
fritzt Nov 18, 2019
8c381b0
Chore: Cleanup and capitalization
fritzt May 14, 2020
46caa46
Feat: Initialize core GEOS-Chem modules
fritzt Nov 19, 2019
a039e35
Feat: Add initialization of Linoz module and passing
fritzt May 14, 2020
de1ef34
Feat: Initialize and cleanup State_Chm and State_Met
fritzt May 14, 2020
42557e1
Feat: Initialize Drydep_Mod
fritzt May 14, 2020
7eae3e4
Feat: Add Init_Error to chem_init for GEOS-Chem
fritzt Nov 19, 2019
eee1ddc
Feat: Initialize and cleanup GEOS-Chem modules
fritzt May 14, 2020
839766f
Feat: Get grid area and Ap and Bp values from CAM
fritzt Nov 20, 2019
a9bdfca
Feat: Affect data to State_Chm
fritzt Nov 20, 2019
eb7339f
Feat: Initialize chemistry, add missing cleanup routines
fritzt Nov 20, 2019
0675aae
Feat: Initialize pressure transfer
fritzt Nov 20, 2019
9287ca8
Feat: Add first call to chemistry
fritzt Nov 20, 2019
4ab75d3
Feat: Register all tracers using species database
fritzt Nov 21, 2019
67f2c42
Feat: Fill key variables in State_Met
fritzt Nov 21, 2019
646f158
Feat: Add PBL height transfer capability
fritzt Nov 21, 2019
0f3eb89
Feat: Enforce correct tracer registration
fritzt Nov 21, 2019
29887b6
Feat: Add initialization of short-lived species
fritzt Nov 21, 2019
b1a536f
Feat: Update surface area during chemistry loop
fritzt Nov 21, 2019
387ffcb
Feat: Use reference MMRs when queried for ICs
fritzt May 14, 2020
6929131
Feat: Groundwork for correctly reporing H2O tendencies
fritzt Nov 21, 2019
bad9b4d
Feat: Add all advected species to output
fritzt May 14, 2020
e7995ca
Feat: Make short-lived species persist between time steps
fritzt Nov 21, 2019
bc3e21e
Feat: Set GEOS-Chem data from CAM
fritzt Nov 21, 2019
53943ad
Feat: Disable stratospheric aerosols in GEOS-Chem
fritzt Nov 21, 2019
21a05c7
Feat: Progate more met fields to State_Met using CAM data
fritzt Nov 21, 2019
4323a2d
Feat: Change NY to PCOLS for consistency and add step count tracking
fritzt Nov 21, 2019
b0a3f8d
Feat: Increased default list of diagnostics for GEOS-Chem
fritzt Nov 21, 2019
314cbbd
Feat: Implement GEOS-Chem wet deposition + Estimate of 2D
fritzt May 14, 2020
df6779f
Feat: Move SLS information to chem_mods + Emission module
fritzt May 14, 2020
10a45e8
Fix: Fix reading of tracers in input.geos
fritzt May 14, 2020
a1956e0
Chore: Now compiling GEOS-Chem with -DMODEL_
fritzt May 14, 2020
0625671
Feat: Added wet/(dry) deposition. See more comments below!
fritzt May 14, 2020
641ef22
Chore: Remove debug
fritzt Jan 15, 2020
82fa185
Feat: Deal with compile-time definition of GEOS-Chem dry dep. species
fritzt Mar 10, 2020
784bf46
Feat: Implement dry deposition in CESM/GC
fritzt May 14, 2020
0b5ce67
Feat: Add missing file from last commit to replicate MOZART's dry dep…
fritzt Mar 10, 2020
16c3bca
Feat: Add Externals to download GEOS-Chem source code
fritzt May 14, 2020
cf62332
Feat: Add mo_chem_utils.F90 required for mo_drydep_mod
fritzt Apr 24, 2020
b91156f
Feat: Update .exclude
fritzt May 7, 2020
5a00847
Feat: Import CLM4.0/4.5/5.0 data and use it for GEOS-Chem
fritzt May 14, 2020
faeb911
Style: Fix typos that got introduced when converting commits to fork
fritzt May 15, 2020
904fbf1
Feat: Modify Externals_CAM.cfg to download GEOS-Chem code
fritzt May 15, 2020
00f4f95
Revert "Feat: Modify Externals_CAM.cfg to download GEOS-Chem code"
fritzt May 15, 2020
1d8a052
Feat: Update .gitignore to ignore GEOS-Chem repo
fritzt May 15, 2020
e176067
Feat: Implement HEMCO_CESM within CESM-GC (Initial attempt in syncing…
jimmielin May 16, 2020
1eba02f
Feat: HEMCO_CESM code integration (full). Add mo_sim_dat and mo_tracname
jimmielin May 16, 2020
4fdb78a
Fix: Call set_sim_dat from chemistry.F90 to pass solsym to HEMCO_CESM.
jimmielin May 16, 2020
b88017f
Merge pull request #1 from jimmielin/staging/cesm_gc_hemco
fritzt May 18, 2020
b4b2782
Merge branch 'dev' of github.com:fritzt/CAM into dev
fritzt May 18, 2020
6d03b3c
Fix: Comment out mo_sim_dat except solsym, expand solsym size to nTra…
jimmielin May 18, 2020
c4ad0c1
Merge pull request #2 from jimmielin/staging/cesm_gc_hemco
fritzt May 18, 2020
dd48806
Merge branch 'dev' of github.com:fritzt/CAM into dev
fritzt May 18, 2020
3db5060
Feat: Add Olson / CLM land type mapping for CLM4.5/5.0
fritzt May 19, 2020
2a4d61d
Feat: Kludge gaseous species names to match CESM restart file
fritzt May 19, 2020
e9a7c33
Feat: Add FAST_JX_DIR in Input_Opt. Remove hard-wired paths in fast_jx
fritzt May 28, 2020
009c70b
Feat: Rename CAM's drydep_mod to aer_drydep_mod
fritzt Jun 5, 2020
3ac393a
Feat: Print dep. lists when getting from namelist
fritzt Jun 5, 2020
8618f2e
Feat: Add FAST_JX_DIR in Input_Opt. Remove hard-wired paths in fast_jx
fritzt May 28, 2020
a140e40
Feat: Allow MAM to compile with CESM-GC
fritzt Jun 11, 2020
608efff
Feat: Remove unused use statement
fritzt Jun 11, 2020
1e982b3
Feat: Updates to make MAM4 interchange data with CESM-GC
fritzt Jul 20, 2020
e5c2a8a
Merge pull request #1 from fritzt/dev
fritzt Jul 20, 2020
95740b5
Chore: Fix indentation + capitalization
fritzt Jul 20, 2020
fcf0d67
Change GEOS-Chem source to CESM-GC GitHub organization and branch name
lizziel Jul 21, 2020
aea26cd
Use GEOS-Chem branch feature/13.0.0+CESM
lizziel Jul 21, 2020
7ad8ea2
Fix: Change HEMCO Interface path
fritzt Jul 21, 2020
a774fd3
Feat: Add option to get land types from HEMCO
fritzt Jul 21, 2020
fd12a69
Fix: Aerosol mapping requires more indices in MMR_Beg.
fritzt Jul 21, 2020
21a38b0
Remove custom emissions
fritzt Jul 21, 2020
5708bb6
Feat: Add emissions to CESM-GC
fritzt Jul 22, 2020
22a81ee
Fix: Prevent emissions from adding up in CESM-GC. Reset cam_in%cflx
fritzt Jul 24, 2020
4c72b32
Update HEMCO interfaces directory name in configure
lizziel Jul 24, 2020
7fa4e17
Partial updates to enable GEOS-Chem dev/13.0.0 to build in CESM
lizziel Jul 24, 2020
28d19e6
Merge branch 'feature/Aerosol' into dev
fritzt Jul 29, 2020
6019c86
Merge pull request #2 from fritzt/dev
fritzt Jul 29, 2020
d6dcd12
Feat: Increase nchem_adv
fritzt Jul 31, 2020
e78a93b
Feat: Define GEOS-Chem deposition species in geoschem.xml
fritzt Jul 31, 2020
24a44ff
Feat: Update solsym based on gckpp_Monitor
fritzt Jul 31, 2020
0b4bcad
Feat: Update .exclude to now include input_mod and pops_mod.F90
fritzt Jul 31, 2020
66f265e
Feat: Changes required to make GEOS-Chem 13.0 work with CESM
fritzt Jul 31, 2020
5f42a1e
Feat: Set State_Met%Salinity and Iodide to 0. Will be read from HEMCO
fritzt Aug 3, 2020
65d6843
Feat: Compute isLand/Water/Ice/Snow after AirQnt + Get fields from HEMCO
fritzt Aug 4, 2020
99249c7
Merge branch 'CESM-GC_dev' of github.com:CESM-GC/CAM into CESM-GC_dev
fritzt Aug 5, 2020
15be5e6
Merge branch 'CESM-GC_dev' into feature/13.0.0+CESM
fritzt Aug 5, 2020
620fa1c
Feat: Modify aero_model.F90 to let GEOS-Chem handle its own aerosols
fritzt Aug 5, 2020
add0417
Merge branch 'feature/13.0.0+CESM' into CESM-GC_dev
fritzt Aug 5, 2020
fa9bab8
Fix: Resolve circular dependency
fritzt Aug 6, 2020
9263a4b
Feat: Reduce chem_nadv to 240
fritzt Aug 6, 2020
8620f09
Feat: Rename HCO_surf_salinity to HCO_salinity
fritzt Aug 6, 2020
bdf3fc6
Feat: Allow CESM-GC to output dry deposition velocity used by GEOS-Chem
fritzt Aug 6, 2020
b79ad0d
Feat: Uncomment call to DO_MIXING to allow for dry deposition
fritzt Aug 17, 2020
4e852c3
Feat: Change IC condition file
fritzt Aug 25, 2020
bf54e80
Fix: Replace species number with `gas_pcnst`
fritzt Aug 25, 2020
3f70b30
Feat: Reindexed GEOS-Chem species: tracers, MAM aerosols, SL species
fritzt Aug 25, 2020
a8d642c
Feat: Add runtime option to using GEOS-Chem wet deposition
fritzt Sep 2, 2020
4e1e83f
Feat: Add files to allow for NEU wet deposition scheme
fritzt Sep 2, 2020
a97c511
Feat: Add NEU WD routines + MAM gas-aerosol exchange
fritzt Sep 2, 2020
dac46d5
Feat: Get UVALBEDO from HEMCO
fritzt Sep 2, 2020
65fa2dc
Feat: Define MaxTrop/StratLev from grid + Add Set_H2O_Trac
fritzt Sep 24, 2020
64dac7d
Feat: Add OH and JRates diagnostics.
fritzt Sep 28, 2020
ecb5bfc
Feat: Get H2O mmr from specific humidity
fritzt Sep 29, 2020
ce402a2
Chore: Remove unnecessary comment
fritzt Sep 30, 2020
3425bc4
Fix: Unit check failed because 'kg/ kg dry' /= 'kg/kg dry'
fritzt Sep 30, 2020
8d257fc
Feat: Remove special handlings as we now use GEOS-Chem IC
fritzt Oct 1, 2020
bcfea00
Feat: Add option to pass H2O tendency to Q + change some addfld
fritzt Oct 2, 2020
f3bef14
Feat: Set State_Met%OMEGA equal to state%omega
fritzt Oct 2, 2020
3ce5f81
Feat: Allow CESM-GC to compute overhead ozone from State_Chm%Species
fritzt Oct 6, 2020
4ba24c0
Feat: Allow CESM-GC runs to be restartable
fritzt Oct 7, 2020
8222292
Feat: Implement 3-D emissions.
fritzt Oct 20, 2020
316d42d
Merge branch 'feature/3DEmissions' into CESM-GC_dev
fritzt Oct 20, 2020
978d33e
Feat: Replace tracerNames with solsym in chem_implements_cnst
fritzt Oct 20, 2020
42410ea
Merge branch 'CESM-GC_dev' into feature/13.0.0+CESM
fritzt Oct 20, 2020
a7dbe02
Feat: Changes required by GEOS-Chem 13.0.0
fritzt Oct 27, 2020
8e9f7a5
Feat: Move compile time flags to run time flags for DD velocities
fritzt Oct 27, 2020
4deaa19
Feat: Read OMOC from HEMCO and store in State_Chm
fritzt Oct 28, 2020
4945731
Feat: Move all GEOS-Chem related diagnostics to cesmgc_diag_mod.F90
fritzt Oct 28, 2020
2c6fc28
Feat: Add missing initialization of ThisLoc and ErrMsg
fritzt Oct 28, 2020
7966f8c
Feat: Add option to output State_Met in cesmgc_diag_mod.F90
fritzt Oct 29, 2020
614a113
Merge branch 'feature/13.0.0+CESM' into CESM-GC_dev
fritzt Oct 29, 2020
2556476
Feat: Update GEOS-Chem branch in Externals_CAM.cfg to be `CESM`
fritzt Oct 29, 2020
f4a2722
Feat: Replace pp_geoschem with geoschem
fritzt Oct 29, 2020
dff479f
Feat: Reset MAM-inherited aerosols to 0 before mapping
fritzt Nov 4, 2020
97c8770
Feat: Add MAM aerosols to cesmgc_diag_mod
fritzt Nov 5, 2020
e47454e
Feat: Add lightning emissions
fritzt Nov 5, 2020
8ff6a2c
Feat: Add MEGAN emissions
fritzt Nov 5, 2020
3876974
Feat: Symbolic link to mozart/mo_lightning
fritzt Nov 5, 2020
b03e505
Feat: Add symbolic link to MOZART files, rather than copy
fritzt Nov 5, 2020
1e4a06f
Feat: Add lightning, MEGAN, aerosol and fire emissions
fritzt Nov 6, 2020
62afa56
Feat: Remote WDRATE_* from CAM history fields
fritzt Nov 6, 2020
122d9aa
Fix: Molar weight pFe
fritzt Nov 10, 2020
897d95a
Fix: Add to_upper to tracerNames, required since 'pFe' /= 'PFE'
fritzt Nov 10, 2020
4d20d5c
Chore: Try lower and uppercase tracernames when getting data from pbuf
fritzt Nov 30, 2020
1c280c5
Fix: Handle cases where ncol /= pcols
fritzt Nov 30, 2020
99c3c74
Chore: Add note explaining why DQRLSAN needs to be zero in top layer
fritzt Dec 1, 2020
5242321
Feat: Pass GEOS-Chem aerosol emissions to MAM tendencies
fritzt Dec 3, 2020
fbbe603
Fix: Fix typo SO4S vs SOAS
fritzt Dec 3, 2020
0a0afd5
Feat: Enforce lq('Q') to be true if passing H2O tendencies
fritzt Dec 3, 2020
e3fb0f1
Feat: Only diagnose wet deposition rates of soluble species
fritzt Dec 22, 2020
6e3a93e
Feat: Skip emissions on first time step before HEMCO fills in data
fritzt Dec 22, 2020
a501632
Feat: Add chem_is-like function in mo_chm_utls
fritzt Jan 5, 2021
e4a188b
Fix: Fix typo
fritzt Jan 5, 2021
8754770
Feat: Add or rename some output fields
fritzt Jan 5, 2021
8489ec5
Feat: Add _CLFX and other CAM-Chem like diagnostics to CESM-GC
fritzt Jan 6, 2021
2eea5ed
Feat: Add new GC compsets that mimic CAM-Chem compsets
fritzt Jan 8, 2021
cbba931
Feat: Add new use_cases XML entries for newly added GC compsets
fritzt Jan 8, 2021
34df6dc
Feat: Turn on rad_prog_ozone for GEOS-Chem chemistry
fritzt Jan 8, 2021
da09b13
Feat: Implement CAM-Chem like diagnostics for CESM-GC
fritzt Jan 8, 2021
3583ba4
Feat: Make sure that GC's SOAGX species is not picked up by MAM
fritzt Jan 8, 2021
1c4e343
Fix: Remove debug statement in cesmgc_diag_mod
fritzt Jan 9, 2021
56df3c8
Feat: Add mmr tendencies for MAM aerosols from chemistry
fritzt Jan 11, 2021
3d231a5
Feat: Replace DO loops with array element-wise operations
fritzt Jan 11, 2021
fce9897
Feat: Set NTHRDS_*=1 when using a GEOS-Chem compset
fritzt Jan 11, 2021
1014fe4
Feat: Make SDYN compset with GEOS-Chem have 56 levs
fritzt Jan 13, 2021
2e413ee
Feat: Pass chemical tendencies to MAM aerosols
fritzt Jan 19, 2021
6e0e656
Feat: Remove mass-weighted OH concentration diagnostics
fritzt Jan 19, 2021
d1a0754
Feat: Add CO2 as constituent
fritzt Jan 19, 2021
71818ab
Feat: Compute CO2 chemical tendencies
fritzt Jan 20, 2021
3154681
Feat: Apply CAM-Chem surface boundary conditions for long-lived species
fritzt Jan 21, 2021
4d2287c
Feat: Remove hardwired path to GEOS-Chem CHEM_INPUTS directory
fritzt Jan 21, 2021
44c6849
Feat: Remove hard-wired paths for GEOS-Chem inputs.
fritzt Jan 22, 2021
cf7e371
Feat: Read from input.geos
fritzt Jan 22, 2021
77fac21
Feat: Read input.geos rather than hard-wiring input options
fritzt Jan 23, 2021
8652aae
Merge branch 'feature/readInput' into CESM-GC_dev
fritzt Jan 23, 2021
c95ad2b
Feat: Add check to make sure that solsym is following list of GC tracer
fritzt Jan 25, 2021
a72aff9
Chore: Clean up in short_lived_species
fritzt Jan 25, 2021
40b0f3d
Fix: Fix wrong reference MMR
fritzt Jan 25, 2021
ccb5b02
Chore: Cleanup, remove unused MWRatio and longNames
fritzt Jan 25, 2021
1592dbb
Feat: Update .exclude to exclude gosat and tccon from GEOS-Chem folder
fritzt Jan 25, 2021
af8aa79
Feat: Get strat_chem data from HEMCO
fritzt Jan 25, 2021
a79cc60
Feat: Add timers around DO_CHEMISTRY + Fix diagnostic in WetDep
fritzt Jan 28, 2021
8c3bbe9
Feat: Remove PSO4 diagnostic (write statement)
fritzt Jan 28, 2021
60d6adf
Fix: Fix diagnostics of emissions
fritzt Feb 2, 2021
b2ee5c4
Feat: Remove option to let GEOS-Chem perform wet scavenging.
fritzt Feb 23, 2021
17783e7
Feat: Make non-MAM GC aerosols "gas-like" species for wet&dry dep
fritzt Feb 24, 2021
63db2d5
Feat: Write ZPJ values for RXN_NO2, RXN_O3_1/2a into HCO_IN_JNO2, HCO…
jimmielin Feb 24, 2021
d142a78
Merge pull request #3 from jimmielin/CESM-GC_dev
fritzt Feb 24, 2021
9b38490
Fix: Forgot to allocate pbuf fields before proceeding.
jimmielin Feb 26, 2021
5c8e8e8
Merge pull request #4 from jimmielin/CESM-GC_dev
fritzt Feb 26, 2021
69f86c1
Feat: Uniformize calls to HEMCO
fritzt Feb 24, 2021
35afc37
Fix: Replace SO4S with SO4s
fritzt Feb 25, 2021
5b10258
Fix: Fix XML file name
fritzt Feb 26, 2021
a597166
Feat: Capitalize all GC constituents name
fritzt Feb 26, 2021
87b572a
Feat: Now retrieve fields from HEMCO using 2-D pbuf fields
jimmielin Mar 1, 2021
6361147
Merge pull request #5 from jimmielin/CESM-GC_dev
fritzt Mar 1, 2021
14e962b
Fix: Pass surface J-Rates to HEMCO for PARANOX
fritzt Mar 2, 2021
f78d930
Fix: Update MMR_Beg for MAM aerosols
fritzt Mar 4, 2021
a15281e
Fix: Make sure GEOS-Chem (aerosol phase) MSA is not picked up by MAM
fritzt Mar 19, 2021
8dfbfb0
Feat: Diagnose constituents as mol/mol apart from MAM aerosols
fritzt Mar 19, 2021
9108274
Feat: Update namelist_defaults s.t. geoschem mimics trop_strat_mam4vbs
fritzt Mar 22, 2021
2bec4a5
Feat: Update geoschem.xml to mimic history_* XML variables
fritzt Mar 22, 2021
189088e
Feat: Add history_* options to save out fields in cesmgc_diag_mod
fritzt Mar 23, 2021
d924b90
Feat: Don't make solsym fixed size, but rather of size gas_pcnst
fritzt Mar 23, 2021
6d00709
Feat: Change nadv_chem from 240 to 238
fritzt Mar 23, 2021
6b06bea
Feat: Add more history_* options to save out fields (mimic CAM-Chem)
fritzt Mar 23, 2021
07f4da6
Feat: Retrieve ParaNOx deposition fluxes from HEMCO
jimmielin Mar 24, 2021
43e96b8
Merge pull request #6 from jimmielin/CESM-GC_dev
fritzt Mar 24, 2021
92a1ad9
Feat: Revert mo_drydep to MOZART's version + Update chemistry.F90
fritzt Mar 24, 2021
7801077
Feat: Add aerosol number emissions in CESM-GC
fritzt Apr 15, 2021
d98860c
Feat: Lump GEOS-Chem SO4 with so4_a* and H2SO4
fritzt Apr 21, 2021
d726574
Fix: Remove hard-wired number emissions as this has been moved to HEMCO
fritzt May 11, 2021
987966f
Feat: Update .xml files with GEOS-Chem chemistry (MEGAN)
fritzt May 15, 2021
c3dc4ba
Feat: Add MEGAN emissions with GEOS-Chem species
fritzt May 15, 2021
0c50dd8
Fix: Update IF condition for SRF diagnostics
fritzt May 15, 2021
07d34eb
Feat: Add hemco_nl in build-namelist
fritzt May 17, 2021
efd6803
Feat: Rename geoschem.xml to 2000_geoscheml.xml (FC2000climo_GC)
fritzt May 17, 2021
95cf89c
Feat: Add 2010_geoscheml.xml (FC2010climo_GC)
fritzt May 17, 2021
f6e3da6
Feat: Update config_component to reflect recent changes to xml files
fritzt May 17, 2021
21575e6
Feat: Add SOA mapping between MAM and GEOS-Chem complex SOA option
fritzt May 17, 2021
b5730ff
Feat: Add AEIC organic species to external forcings list
fritzt May 18, 2021
48324be
Feat: Add GEOS-Chem surface boundary conditions
fritzt May 18, 2021
719010c
Feat: Update .gitignore to exclude GEOS-Chem source code
fritzt May 18, 2021
93844ef
Fix: Fix for sulfur mapping between CESM2 and GEOS-Chem
fritzt May 27, 2021
cede078
Feat: Update .exclude for GEOS-Chem 13.1
fritzt Aug 17, 2021
315f294
Fix: Update in-cloud opticaldepth with cloud fractions
fritzt Aug 17, 2021
987508d
Feat: Return in sox_cldaero_mod if running with GEOS-Chem
fritzt Dec 9, 2021
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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ src/physics/carma/base
src/physics/clubb
src/physics/cosp2/src
src/physics/silhs

src/chemistry/geoschem/geoschem_src
src/hemco

# Ignore compiled python
buildnmlc
Expand Down
12 changes: 6 additions & 6 deletions Externals.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -2,44 +2,44 @@
schema_version = 1.0.0

[cice]
tag = cice5_cesm2_0_rel_01
tag = cice5_20190318
protocol = git
repo_url = https://github.com/ESCOMP/CESM_CICE5
required = True
local_path = components/cice

[cime]
tag = cime_cesm2_0_rel_06
tag = cime5.6.13
protocol = git
repo_url = https://github.com/ESMCI/cime
required = True
local_path = cime

[cism]
tag = release-cesm2.0.01
tag = release-cesm2.0.04
protocol = git
repo_url = https://github.com/ESCOMP/cism-wrapper
externals = Externals_CISM.cfg
required = True
local_path = components/cism

[clm]
tag = release-clm5.0.01
tag = release-clm5.0.20
protocol = git
repo_url = https://github.com/ESCOMP/ctsm
externals = Externals_CLM.cfg
required = True
local_path = components/clm

[mosart]
tag = release-cesm2.0.00
tag = release-cesm2.0.03
protocol = git
repo_url = https://github.com/ESCOMP/mosart
required = True
local_path = components/mosart

[rtm]
tag = release-cesm2.0.00
tag = release-cesm2.0.02
protocol = git
repo_url = https://github.com/ESCOMP/rtm
required = True
Expand Down
27 changes: 21 additions & 6 deletions Externals_CAM.cfg
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
[chem_proc]
local_path = chem_proc
protocol = svn
repo_url = https://svn-ccsm-models.cgd.ucar.edu/tools/proc_atm/chem_proc/trunk_tags/
tag = chem_proc5_0_03
repo_url = https://svn-ccsm-models.cgd.ucar.edu/tools/proc_atm/chem_proc/release_tags/
tag = chem_proc5_0_03_rel
required = True

[carma]
local_path = src/physics/carma/base
protocol = svn
repo_url = https://svn-ccsm-models.cgd.ucar.edu/carma/trunk_tags/
tag = carma3_49
repo_url = https://svn-ccsm-models.cgd.ucar.edu/carma/release_tags/
tag = carma3_49_rel
required = True

[clubb]
local_path = src/physics/clubb
protocol = svn
repo_url = https://svn-ccsm-models.cgd.ucar.edu/clubb_core/branch_tags/
tag = vendor_clubb_r8099_tags/vendor_clubb_r8099_n02
repo_url = https://svn-ccsm-models.cgd.ucar.edu/clubb_core/release_tags/
tag = clubb_r8099_n02_rel
required = True

[cosp2]
Expand All @@ -26,6 +26,21 @@ repo_url = https://github.com/CFMIP/COSPv2.0/tags/
tag = v2.0.3cesm/src
required = True

[geoschem]
local_path = src/chemistry/geoschem/geoschem_src
protocol = git
branch = CESM
repo_url = https://github.com/CESM-GC/geos-chem
required = True

[hemco]
local_path = src/hemco
protocol = git
branch = development
repo_url = https://github.com/jimmielin/HEMCO_CESM.git
required = True
externals = Externals_HCO.cfg

[externals_description]
schema_version = 1.0.0

2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# CAM: The Community Atmosphere Model

## NOTE: This is unsupported development code and is subject to the [CESM developer's agreement](http://www.cgd.ucar.edu/cseg/development-code.html).

CAM Documentation - https://ncar.github.io/CAM/doc/build/html/index.html

CAM6 namelist settings - http://www.cesm.ucar.edu/models/cesm2/settings/current/cam_nml.html
Expand Down
75 changes: 67 additions & 8 deletions bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -665,7 +665,7 @@ my $rad_prog_bcarb = (($prog_species =~ "BC" or $aero_chem) and !($chem_rad_pa
my $rad_prog_sulf = (($prog_species =~ "SO4" or $aero_chem) and !($chem_rad_passive));
my $rad_prog_dust = (($prog_species =~ "DST" or $aero_chem) and !($chem_rad_passive));
my $rad_prog_sslt = (($prog_species =~ "SSLT" or $aero_chem) and !($chem_rad_passive));
my $rad_prog_ozone = (($chem =~ "mozart" or $chem =~ "waccm_ma" or $chem =~ "tsmlt" or $chem =~ "trop_strat") and !($chem_rad_passive));
my $rad_prog_ozone = (($chem =~ "mozart" or $chem =~ "waccm_ma" or $chem =~ "tsmlt" or $chem =~ "trop_strat" or $chem =~ /geoschem/) and !($chem_rad_passive));

# Check for eruptive volcano emissions. These will be radiatively active by default, but
# only if using BAM and the camrt radiation package
Expand Down Expand Up @@ -707,6 +707,11 @@ if ( ($chem ne 'none') or ( $prog_species ) ){
add_default($nl, 'gas_wetdep_method' );
add_default($nl, 'gas_wetdep_list', 'val'=>$gas_wetdep_list );
}

if ($chem =~ /geoschem/) {
$prescribe_aerosols = $FALSE;
}

if (length($aer_wetdep_list)>2){
# determine if prescribed aerosols are not needed ...
if ($aer_wetdep_list =~ /so4/i &&
Expand Down Expand Up @@ -740,6 +745,10 @@ if ( ($chem ne 'none') or ( $prog_species ) ){
if (length($aer_drydep_list)>2){
add_default($nl, 'aer_drydep_list', 'val'=>$aer_drydep_list );
}
$nl->set_variable_value('aerosol_nl', 'aer_drydep_list', $aer_drydep_list);
$nl->set_variable_value('aerosol_nl', 'aer_wetdep_list', $aer_wetdep_list);
$nl->set_variable_value('drydep_inparm', 'drydep_list', $gas_drydep_list);
$nl->set_variable_value('wetdep_inparm', 'gas_wetdep_list', $gas_wetdep_list);
}
if ($chem) {
# Dry Deposition -- The responsibility for dry deposition is shared between CAM and CLM.
Expand Down Expand Up @@ -895,9 +904,17 @@ if ($co2_cycle) {
# Check whether user has explicitly turned off reading the aircraft CO2 dataset.
# (user specification has higher precedence than the true value set above)
if ($nl->get_value('co2_readflux_aircraft') =~ /$TRUE/io) {
add_default($nl, 'aircraft_specifier');

my $rel_filepath = get_default_value('ac_CO2_emis');
my $emisval = quote_string('ac_CO2 -> ' . $rel_filepath);
add_default($nl, 'aircraft_specifier', 'val'=>$emisval);

add_default($nl, 'aircraft_datapath');
add_default($nl, 'aircraft_type');
# This should be the same file as the one in the aircraft_specifier file.
# This is a workaround to get this filepath into the cam.input_data_list file
# to allow the CESM scripts to obtain all required data for a run.
add_default($nl, 'aircraft_co2_file');
}
}
}
Expand Down Expand Up @@ -981,7 +998,7 @@ my $radval = "'A:Q:H2O'";
if (($chem =~ /waccm_ma/ or $chem =~ /waccm_tsmlt/) and !$chem_rad_passive) {
$radval .= ",'A:O2:O2','A:CO2:CO2'";
}
elsif ($chem =~ /trop_strat/ and !$chem_rad_passive) {
elsif (($chem =~ /trop_strat/ or $chem =~ /geoschem/) and !$chem_rad_passive) {
$radval .= ",'N:O2:O2','A:CO2:CO2'";
}
elsif ($co2_cycle and !$co2_cycle_rad_passive) {
Expand Down Expand Up @@ -1016,6 +1033,8 @@ if ((($chem =~ /waccm_ma/) or ($chem =~ /waccm_sc_mam/) or ($chem =~ /waccm_tsml
$radval .= ",'A:N2O:N2O','A:CH4:CH4','A:CFC11:CFC11','A:CFC12:CFC12'";
} elsif ($prog_ghg1 and !$prog_ghg2 and !$chem_rad_passive ) {
$radval .= ",'A:N2O:N2O','A:CH4:CH4','N:CFC11:CFC11','N:CFC12:CFC12'";
} elsif ($chem =~ /geoschem/) {
$radval .= ",'A:N2O:N2O','A:CH4:CH4','A:CFC11:CFC11','A:CFC12:CFC12'";
} else {
$radval .= ",'N:N2O:N2O','N:CH4:CH4','N:CFC11:CFC11','N:CFC12:CFC12'";
}
Expand Down Expand Up @@ -2068,6 +2087,38 @@ if (($chem =~ /trop_mozart/ or $chem =~ /trop_strat/ or $chem =~ /waccm_tsmlt/)
}
}

if ($chem =~ /geoschem/) {

my $val;

# Species with fixed lower boundary
$val = "'CCL4','CH4','N2O','CO2','CFC11','CFC12','CH3BR','CH3CCL3','CH3CL'"
.",'HCFC22','CFC114','CFC115','HCFC141B','HCFC142B','CH2BR2','CHBR3','H2402'";

if ($chem_has_ocs) {
$val .= ",'OCS'";
}
if (chem_has_species($cfg, 'SF6')) {
$val .= ",'SF6'";
}
add_default($nl, 'flbc_list', 'val'=>$val);
unless (defined $nl->get_value('flbc_type')) {
add_default($nl, 'flbc_type', 'val'=>'CYCLICAL');
add_default($nl, 'flbc_cycle_yr', 'val'=>'2000');
}

my @files;
# Datasets
#@files = ( 'soil_erod_file', 'flbc_file',
# 'xs_coef_file','xs_short_file',
# 'xs_long_file', 'rsf_file',
# 'exo_coldens_file', 'sulf_file' );
@files = ( 'soil_erod_file', 'flbc_file' );
foreach my $file (@files) {
add_default($nl, $file);
}
}

if ($chem =~ /trop_mozart/ or $chem =~ /trop_strat/ or $chem =~ /waccm_tsmlt/) {

my $val;
Expand Down Expand Up @@ -2363,7 +2414,7 @@ if ($chem =~ /_mam4/ and $phys =~ /cam6/) {
'num_a2_cv_ext_file' => 'num_a2',
);

# air craft emissions
# aircraft emissions
if ($chem !~ /trop_mam/ and $chem !~ /waccm_sc/) {
%species = (%species,
'bc_a4_ar_ext_file' => 'bc_a4',
Expand Down Expand Up @@ -2418,7 +2469,7 @@ if ($chem =~ /_mam4/ and $phys =~ /cam6/) {
}

# MEGAN emissions
if ($chem =~ /trop_strat/ or $chem =~ /_tsmlt/) {
if ($chem =~ /trop_strat/ or $chem =~ /_tsmlt/ or $chem =~ /geoschem/) {
my $val = "'ISOP = isoprene',"
. "'MTERP = pinene_a + carene_3 + thujene_a + 2met_styrene + cymene_p + cymene_o + terpinolene + bornene "
. "+ fenchene_a + ocimene_al + pinene_b + sabinene + camphene + limonene + phellandrene_a + terpinene_g "
Expand Down Expand Up @@ -2744,6 +2795,9 @@ else {
}
}

# HEMCO
$nl->set_variable_value('hemco_nl', 'hemco_config_File', "'HEMCO_Config.rc'");

# Physics options

# Add the name of the physics package based on the info in configure. If the user tries
Expand Down Expand Up @@ -2859,7 +2913,7 @@ if (!$simple_phys) {
}

# tropopause level used in gas-phase / aerosol processes
if (($chem ne 'none') and ($chem ne 'terminator')) {
if (($chem ne 'none') and ($chem ne 'terminator') and !($chem =~ /geoschem/)) {
add_default($nl, 'chem_use_chemtrop');
}

Expand Down Expand Up @@ -2967,7 +3021,7 @@ if ($clubb_sgs =~ /$TRUE/io) {
add_default($nl, 'clubb_history');
add_default($nl, 'clubb_rad_history');

if ($nl->get_value('clubb_history') =~ "true" && $nl->get_value('atm_nthreads') != 1) {
if ($nl->get_value('clubb_history') =~ "true" && $nl->get_value('atm_nthreads') > 1) {
die "$ProgName - ERROR: clubb_history = .true. with multiple threads is not supported. \n";
}

Expand Down Expand Up @@ -3143,7 +3197,7 @@ if ( length($nl->get_value('soil_erod_file'))>0 ) {
add_default($nl, 'dust_emis_fact', 'tms'=>'1');
}
else {
if ($chem =~ /trop_strat/ or $chem =~ /waccm_ma/ or $chem =~ /waccm_tsmlt/ or $chem =~ /trop_mozart/) {
if ($chem =~ /trop_strat/ or $chem =~ /geoschem/ or $chem =~ /waccm_ma/ or $chem =~ /waccm_tsmlt/ or $chem =~ /trop_mozart/) {
add_default($nl, 'dust_emis_fact', 'ver'=>'chem');
# set scaling of lightning NOx production
add_default($nl, 'lght_no_prd_factor' );
Expand Down Expand Up @@ -3416,6 +3470,11 @@ if ($cfg->get('camiop')) {

if ($dyn =~ /se/) {

## topography not supported for CESM2.0
if (!defined $use_topo_file or ($use_topo_file =~ m/$TRUE/io)) {
die "$ProgName - ERROR: Use of topography not currently supported with SE dycore\n";
}

####################################################
# namelist group: dyn_se_inparm (for CAM_SE) #
####################################################
Expand Down
6 changes: 6 additions & 0 deletions bld/config_files/definition.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ Option to turn on waccmx thermosphere/ionosphere extension: 0 => no, 1 => yes
<entry id="ionosphere" valid_values="none,wxi,wxie" value="none">
Ionosphere model used in WACCMX.
</entry>
<entry id="hemco" valid_values="0,1" value="1">
Switch to turn on Harmonized Emissions Component (HEMCO): 0 => no, 1 => yes.
WARNING THIS IS ON BY DEFAULT FOR DEVELOPMENT - DO NOT SUBMIT THIS TO PRODUCTION CODE
</entry>
<entry id="phys" valid_values="cam3,cam4,cam5,cam6,held_suarez,adiabatic,kessler,tj2016,spcam_sam1mom,spcam_m2005" value="">
Physics package: cam3, cam4, cam5, cam6, held_suarez, adiabatic, kessler, tj2016, spcam_sam1mom, spcam_m2005.
</entry>
Expand Down Expand Up @@ -93,6 +97,8 @@ test_radiative (Radiatively Active Dust), test_swelling (Sea Salt), test_tracers
</entry>
<entry id="chem" valid_values="trop_mam3,trop_mam4,trop_mam7,trop_mozart,trop_strat_mam4_vbs,trop_strat_mam4_vbsext,waccm_ma,waccm_mad,waccm_mad_mam4,waccm_ma_mam4,waccm_ma_sulfur,waccm_sc,waccm_sc_mam4,waccm_tsmlt_mam4,terminator,none" value="">
Chemistry package: trop_mam3 trop_mam4 trop_mam7 trop_mozart trop_strat_mam4_vbs trop_strat_mam4_vbsext waccm_ma waccm_mad waccm_mad_mam4 waccm_ma_mam4 waccm_ma_sulfur waccm_sc waccm_sc_mam4 waccm_tsmlt_mam4 terminator none
<entry id="chem" valid_values="trop_mam3,trop_mam4,trop_mam7,trop_mozart,trop_strat_mam4_vbs,trop_strat_mam4_vbsext,waccm_ma,waccm_mad,waccm_mad_mam4,waccm_ma_mam4,waccm_ma_sulfur,waccm_sc,waccm_sc_mam4,waccm_tsmlt_mam4,terminator,geoschem,geoschem_mam4,none" value="">
Chemistry package: trop_mam3 trop_mam4 trop_mam7 trop_mozart trop_strat_mam4_vbs trop_strat_mam4_vbsext waccm_ma waccm_mad waccm_mad_mam4 waccm_ma_mam4 waccm_ma_sulfur waccm_sc waccm_sc_mam4 waccm_tsmlt_mam4 terminator GEOS-Chem none
</entry>
<entry id="prog_species" valid_values="DST,SSLT,SO4,GHG,OC,BC,CARBON16" value="" list="1">
Prognostic mozart species packages: list of any subset of the following: DST,SSLT,SO4,GHG,OC,BC,CARBON16
Expand Down
Loading