Closed JFBrewer closed 4 years ago
Thanks for writing. We will look into this. I wonder if this is somehow related to https://github.com/geoschem/geos-chem/issues/293.
I took a look at the planeflight code (see this permalink).
I think there are a few things wrong here:
First, the aerosols & dust are lumped together. That would be fine for total AOD but not if you want to get the individual contributions.
Secondly, we are using the ODAER and ODMDUST arrays, which are computed in GeosCore/aerosol_mod.F (or .F90 in 12.8.0). But these arrays hold total aerosol AOD and total dust AOD because they are summed into over all aerosol/dust species. This is where ODAER is summed into over aerosols:
and over dust:
So long story short, there aren't any arrays that store the individual contributions for aerosol & dust AOD's. You would have to add these and populate them in aerosol_mod and dust_mod.
The planeflight diagnostic is kind of old by now. I am not sure if this ever worked properly, or if it did once and then fell out of step with other model updates since then.
Ok, that makes sense, given the values output here. Thank you Bob! I have 2 additional qs:
1) is the total AOD a column value then? all of these arrays have a L-component - does the AOD change in the course of a single column? Apologies if I'm misunderstanding something here.
2) As I understand it, bpch outputs are being phased out in 13.0 - does this imply that bpch diagnostics like the Planeflight menu will also be phased out? Asked another way - should I devote more time to working to customize Planeflight output or should I be focusing on learning my way around ObsPack, if that's going to be taking the place of the Planeflight diagnostics?
Thanks, Jared
The ODAER and ODMDUST are grid box AOD's (since we feed them into FAST-JX). But if you sum them in the vertical you'll get column AOD.
We have no plans to remove Planeflight for the time being, as several people still use it. ObsPack is also a similar diagnostic (and you can use it) but you'd have to convert the input file to the netCDF format that it expects. Also I think ObsPack can save some meteorology and species concs by default but maybe not the AODs.
So your I think your best bet would be to hack Planeflight etc. so that it saves out what you want.
I am going to close out this issue but feel free to reopen if you have further questions.
That's fine. I'm going to make an edit to the wiki updating the relevant section. Thank you.
On Wed, May 13, 2020 at 2:36 PM Bob Yantosca notifications@github.com wrote:
I am going to close out this issue but feel free to reopen if you have further questions.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/geoschem/geos-chem/issues/294#issuecomment-628232007, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADDHZDB6SGRRRWOHFAQRK6LRRMADTANCNFSM4MZ4KASQ .
Shixian Zhai (@zsx-GitHub) wrote:
To follow Jared’s finding on the bug of the plane flight AOD diagnostic, I’m attaching my changes (marked with “zhaisx”) on GeosCore/planeflight_mod.F. I made these changes based on GEOS-Chem v12.7.1. To my understanding, the original code incorrectly sums up multiple species and integrates AOD through the entire column for both AODC_tracer and AODB_tracer.
After my changes, planeflight_mod outputs AOD at individual grid and for each tracer in AODC_tracer, and column AOD for each tracer above the aircraft in AODB_tracer. The code can be easily revised to let the model output column AOD in AODC_tracer and column AOD below the aircraft in AODB_tracer as defined on this wiki page.
The reason why I output grid AOD is that grid AOD can be used to derive the extinction coefficient (by dividing by the height of the grid box), which is measured by the campaign I am working on. Also, because the aircraft measured AOD are AOD above the plane in the observation data I use, I output column AOD above the model grid.
Another thing to point out is that in lines 1927-1928 and 2065-2066 in the attached file, ‘ODAER’ were changed to ‘ODMDUST’ in the if statements. This, to my understanding, was a bug in the original code.
Please let me know if I have made any mistakes. Thank you!
This fix is now merged into our development code in commit 4a3d1b95665976ac434fdaffa8660a0766436967 and will be included in 12.9.0.
Hi @msulprizio & others,
I've just stumbled across this after encountering the same problem in an older v12 we are running, and I am concerned that the "fix" actually changes the diagnostic outputs so that they no longer match the descriptions given on the wiki (as well as the meaning historically given to these diagnostics).
AODC should be the total column optical depth but is now grid-box AOD, and AODB should be below the aircraft but is now above.
I suggest that we change these back to their original meaning. This would mean:
DO LL = 1, State_Grid%NZ
and changing L
back to LL
in the ODAER
and OMDUST
arrays.DO LL = L, State_Grid%NZ
to DO LL = 1, L
.If there is a desire for single grid box AOD or above plane AOD it would be easy enough to just add those as additional diagnostics, but the current disconnect is problematic IMO.
Cheers, Jenny
Dear Jenny Fisher & others,
I agree with Jenny that descriptions given on wiki page should match the model to avoid confusion. We can either add additional diagnostics or just edit the wiki. It might be better to use names like AODG and AODA to respectively represent grid-box AOD and above grid AOD.
Best, Shixian
Hi @msulprizio & @zsx-GitHub --
I discovered another potential issue in the new version: the individual AOD tracers (e.g. AODC_SULF, AODC_BLKC, etc.) do not sum to the total AOD.
This is because when using any simulation that uses UCX (e.g. Standard), there are two stratospheric aerosol tracers. These aren't accounted for explicitly (but were included in the buggy version that looped over all aerosol species).
I think it is likely that users will want to be able to get the total AOD in addition to the individual tracers (as this is what is likely measured). I have a version that adds this as tracer 2007 for total column AODC (haven't messed with AODB as we don't need that for our sims). It's based on a slightly earlier model version, but should be easy to adapt. Let me know if you want it.
-Jenny
Hi @jennyfisher. Thanks for following up with the solution. Please do share your fix and we can include it in a future version.
Hi @msulprizio -
Our current version of planeflight_mod.F90 is attached (had to zip for github to accept).
A couple of quick notes:
I'm happy to take a look at an updated version of this code to look for any issues!
-Jenny
Hi @jennyfisher. We've finally implemented your updates in planeflight_mod.F90 to include total AOD. See commit https://github.com/geoschem/geos-chem/commit/6e14981f56ea105e32e00faed255f72f27644a13. I also added AODB_TOT
following your example. Finally, I reverted AODB_* to represent AOD below the cloud for consistency with what is on the wiki. These updates will be included in 13.1.0.
Great, thanks!
Hi folks,
I've been playing around with the planeflight diagnostic outputs recently, and I think I've found a bug. On this wiki page, it suggests that the planeflight diagnostic can output 6 different AOD variables (dust, sulfate, black carbon, organic carbon, sea salt in 2 modes) for both the column and below the aircraft. However, when I output these variables, all 12 options give the exact same value at every point. It would appear to me that they may not be being properly updated by the model. I'm not sure whether the given value is a total AOD value or if it's just one of the 12 diagnostics being applied in all cases.
I've attached one of my Planeflight.dat files and the corresponding output file from May 1, 2016. This was created using GC v12.7.1 and a custom quarter degree nested run set up over Korea.
Planeflight_Bug_Report.zip
Jared