Closed yc-chan closed 1 year ago
Hi @yc-chan. I have removed the outdated text on the wiki describing the AgeOfAir diagnostic. Thanks for pointing that out.
The CLOCK species in GEOS-Chem is a bit tricky because it's carried in State_Chm%Species
concentration array like other GEOS-Chem species but it has non-standard units (e.g. seconds or timesteps vs ppbv). In main.F90, we call Set_Clock_Tracer
each timestep and in doing so the number of seconds in that timestep is added to CLOCK for each grid box (and it's zeroed at the surface). In Interfaces/GCClassic/main.F90
, the units of State_Chm%Species
are kg species. The species concentrations are eventually converted to mol/mol dry air (using routines in GeosUtil/unitconv_mod.F90
) for saving out to the GEOSChem.SpeciesConc netCDF file. To get the proper units back, you would need to convert from mol/mol dry air (same as kg/kg dry air) back to "kg" (really "seconds" for CLOCK) using this conversion as obtained from unitconv_mod.F90
:
!====================================================================
!
! The conversion is as follows:
!
! kg species(N)
! ----------- * kg dry air
! kg dry air
!
! = mass mixing ratio * dry air mass
!
! = kg species(N)
!
! Therefore, with:
!
! AD(I,J,L) = grid box dry air mass [kg]
!
! the conversion is:
!
! Species(I,J,L,N) [kg]
!
! = Species(I,J,L,N) [kg/kg] * AD(I,J,L)
!
!====================================================================
The AD field can be obtained from the StateMet collection in HISTORY.rc.
NOTES:
aoa
(age of air) species instead. This species increases by a value of 1 on each emissions timestep in GeosCore/tracer_mod.F90
. Hi @msulprizio! Thank you a lot for the explanation! I still have one question about the unit conversion.
I am currently using version 13.3.2 for my simulations. I think the State_Chm%Species in that version still uses [kg/ kg dry air] as the unit (according to state_chm_mod.F90). In this case, should I convert SpeciesConc_CLOCK from [mol/ mol dry air] to [kg/ kg dry air] to retrieve age of air in [s]? In other words:
AoA [s] = SpeciesConc_CLOCK [mol/ mol dry air] * molar mass of clock [g/ mol] / molar mass of dry air [g/ mol dry air]
When I use molar mass of clock = 1 g/mol (according to species_database.yml) and molar mass of dry air = 28.6 g/mol, the numbers I get seem reasonable.
Yes @yc-chan That sounds correct. Thanks for following up. I will close out this issue, but please feel free to open a new one if you have other questions.
Name and Institution (Required)
Name: Yuk Chun Chan Institution: University of Washington
Confirm you have reviewed the following documentation
Description of your issue or question
I am interested in looking at the age of air diagnostics (the time elapsed since the air mass last contacts with the surface) in GCClassic simulations.
GEOS-Chem wiki has an outdated page about the AgeOfAir diagnostic. Since version 13.0.0, Met_AgeOfAir has been replaced by SpeciesConc_CLOCK (see the commit here). I try to search for the proper way to calculate the age of air from this clock tracer but have no luck. The only information I can find is this related discussion thread in the GCPy repository, but it does not describe the actual calculation.
How can I calculate the modeled age of air using SpeciesConc_CLOCK from my simulation outputs?