-
Notifications
You must be signed in to change notification settings - Fork 165
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
Update transport tracer simulation for consistency with GMAO's tracer gridded component #1816
Conversation
…n GEOS The transport tracer names and properties are updated here for consistency with the latest tracer gridded component (TR_GridComp) in GEOS, currently available at https://github.com/GEOS-ESM/GEOSchem_GridComp/tree/develop/TR_GridComp. Signed-off-by: Melissa Sulprizio <[email protected]>
The passive species menu has been removed from geoschem_config.rc. Instead, all species for the TransportTracer are now defined in the advected species menu and properties for those species are defined in species_database.yml. Several new fields have been added to State_Chm%SpcData for storing properties needed for the transport tracers. The newly added property names and values have been adopted from TR_GridComp in GEOS (as defined in the TR_GridComp*rc files). The new properties are: - Is_Tracer : Is it a transport tracer? - Snk_Horiz : Where to apply sink horizontally? - Snk_LatMin : Minimum latitude for applying sink - Snk_LatMax : Maximum latitude for applying sink - Snk_Mode : Sink mode of tracer - Snk_Period : Sink period in days - Snk_Vert : Where to apply sink vertically? - Src_Add : Add tracer source? - Src_Horiz : Where to apply source horizontally? - Src_LatMin : Minimum latitude for applying source - Src_LatMax : Maximum latitude for applying source - Src_Mode : Source mode of tracer - Src_PresMin : Minimum pressure for applying source - Src_PresMax : Maximum pressure for applying source - Src_Units : Source units - Src_Value : Source value in Src_Units - Src_Vert : Where to apply source vertically? - Units : Species units (needed for aoa tracers which are carried in units=days) Entries for Rn*, Pb*, and Be* in species_database.yml have been updated to include these new properties, but they are commented out for now. These species will still be handled by RnPbBe_mod.F90 until further validation can be performed. Signed-off-by: Melissa Sulprizio <[email protected]>
New routines Tracer_Source_Phase and Tracer_Sink_Phase have been added to a new module tracer_mod.F90. There sources and sinks for the TransportTracer species are applied. The code in those routines was was adapted from GMAO's TR_GridCompMod.F90. Other updates in this commit include: - Rename ITS_A_RnPbBe_Sim to ITS_A_TRACER_SIM - Add Snk_Value field to SpcInfo for age of air (aoa) species - Add debug print out for TransportTracers to species_mod.F90 - Add O3 loss field in HEMCO for stOX tracer. The production field is not needed. Signed-off-by: Melissa Sulprizio <[email protected]>
The species Be7Strat, Be10Strat, and Pb210Strat have been renamed to Be7s, Be10s, and Pb210s throughout the code and input files for consistency with GMAO's tracer gridded component (TR_GridComp). Signed-off-by: Melissa Sulprizio <[email protected]>
…transport-tracers Resolved conflicts in: GeosCore/chemistry_mod.F90 GeosCore/emissions_mod.F90 GeosCore/hco_interface_gc_mod.F90 GeosCore/input_mod.F90 Headers/input_opt_mod.F90 run/GCClassic/HISTORY.rc.templates/HISTORY.rc.TransportTracers run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.TransportTracers run/GCHP/HISTORY.rc.templates/HISTORY.rc.TransportTracers run/shared/species_database.yml Signed-off-by: Melissa Sulprizio <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the great work! I left a bunch of comments and questions. I also wonder if you have run a GCHP versus GC-Classic comparison of the tracers? I noticed the all reduce command is only for MODEL_GEOS so it wouldn't get triggered for GCHP.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR moves the passive species treatment out of HEMCO and into the GeosCore/tracer_mod.F90
to mimic how TransportTracers are handled in the NASA GEOS ESM.
Many of the changes involve just changing names for consistency in GEOS, and modifying code and config files to read metadata for passive species from the species database. These all look OK.
I have listed a few "TODO FOR LATER" comments which we can work on in a subsequent PR. These are mostly updates for efficiency. We should first make sure that this PR gives zero-diff w/r/t the prior code before making any further changes.
Good to merge. Thanks @msulprizio!
run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.TransportTracers
Outdated
Show resolved
Hide resolved
run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.TransportTracers
Outdated
Show resolved
Hide resolved
Signed-off-by: Melissa Sulprizio <[email protected]>
…, aoa_bl, aoa_nh The age of air species in the TransportTracers simulations has many similar proprteries that could be extracted into a aoaproperties field. Now the only fields defined for the inidividual aoa tracers are FullName, Snk_Horiz, and Snk_Vert. Signed-off-by: Melissa Sulprizio <[email protected]>
- Fix typo in ExtData.rc.TransportTracers where $YYYY, $MM, $DD should be %y4, %m2, %d2. - Add MODEL_GEOS to #if defined statements in tracer_mod.F90 - Fix comments in CHANGELOG.md Signed-off-by: Melissa Sulprizio <[email protected]>
…ansportTracer simulations Signed-off-by: Melissa Sulprizio <[email protected]>
Add the !$OMP COLLAPSE statement to all parallel loops in tracer_mod.F90 for better efficiency. Signed-off-by: Melissa Sulprizio <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I approve this PR. We can fix any remaining unit conversion issues (cf #1820) in a later PR, so as not to hold up the Tracer Transport simulations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, but we should definitely do GCHP integration tests before merge to make sure it runs. We should also check that the values looks okay in GCHP compared to GC-Classic before doing the full benchmark.
Signed-off-by: Lizzie Lundgren <[email protected]>
Signed-off-by: Melissa Sulprizio <[email protected]>
The logic in Headers/diaglist_mod.F90 did not allow for species names containing underscores. The updated TransportTracers simulation includes several new species with underscores in their name (e.g. e_90, CO_25, st80_25). The code there has been rearranged so that first the registryID is defined (stripping CHEM_/MET_ and the wildcard if necessary), then it determines if it's a tagged diagnostic (i.e. contains at least one underscore), and finally the metadataID is defined by stripping the tag suffix if necessary. Signed-off-by: Melissa Sulprizio <[email protected]>
… for GCHP The HEMCO_Config.rc.TransportTracers file included both the {RUNDIR_O3_LOSS} token and the actual entry for O3_LOSS which resulted in the entry getting listed twice in the HEMCO_Config.rc that ships with run directories. The line has been fixes so that just the token is used in the template file. Signed-off-by: Melissa Sulprizio <[email protected]>
Name and Institution (Required)
Name: Melissa Sulprizio
Institution: Harvard / GCST
Confirm you have reviewed the following documentation
Describe the update
This pull request includes major updates to the TransportTracer simulation. These changes were made for easier comparison to GMAO's tracer gridded component (TR_GridComp) and should facilitate intermodel comparisons between GCClassic, GCHP, and GEOS. Changes include
geoschem_config.yml
and instead defining transport tracer properties in thespecies_database.yml
Is_Tracer
- tags species as a TransportTracer speciesSnk_*
- defines sink propertiesSrc_*
- defines source propertiesUnits
- default units for species (added mainly for age of air species at this time which are in units days)tracer_mod.F90
containing code for applying the source and sink phases for TransportTracersNOTE: The Rn-Pb-Be tracers are not updated here. Their TransportTracer properties (described above) have been added to
species_database.yml
but are commented out. Emissions for those species are still handled inhcox_gc_RnPbBe_mod.F90
in HEMCO and chemistry is handled inRnPbBe_mod.F90
. Eventually, we can migrate those species to utilize the code intracer_mod.F90
if desired.Expected changes
This update produces zero differences in the Rn, Pb, Be, and PassiveTracer species. Differences exist in other species due because of different implementations (they were never validated in the original implementation). There are also a few additional species that weren't included in the original implementation of additional transport tracers.
Reference(s)
If this is a science update, please provide a literature citation.
Related Github Issue(s)