-
Notifications
You must be signed in to change notification settings - Fork 170
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
Output sea flux species dry deposition velocity with DryDep collection #2606
base: dev/14.6.0
Are you sure you want to change the base?
Conversation
…rface_gc_mod.F90 file. Signed-off-by: ucfaea1 <ucfaea1@login12.myriad.ucl.ac.uk>
…hco_interface_gc_mod. Signed-off-by: ucfaea1 <ucfaea1@login13.myriad.ucl.ac.uk>
CHANGELOG.md - Added note that drydep velocity for the seaflux species and the satellite diagnostic species are now included in the DryDep collection. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
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 to merge @yantosca!
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 think this PR will break the drydep diagnostics for full mixing since HEMCO only applies drydep fluxes if using non-local mixing.
! Define emission satellite diagnostics | ||
IF ( State_Diag%Archive_SatDiagnColEmis ) THEN | ||
DO S = 1, State_Diag%Map_SatDiagnColEmis%nSlots | ||
N = State_Diag%Map_SatDiagnColEmis%slot2id(S) | ||
State_Diag%SatDiagnColEmis(:,:,S) = colEflx(:,:,N) | ||
State_Diag%SatDiagnColEmis(I,J,S) = colEflx(I,J,N) |
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 is a bug fix we should note in the changelog. These diagnostics must have been many times larger than they should be before this fix.
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.
@lizziel: We can test this to make sure we get zero-diff output for this diagnostic
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.
@lizziel: I did a test run for this diagnostic and it seems to be zero-diff. I think the only thing that would be different is that the old way would take much longer since you're adding an array on each iteration instead of just a grid box.
@lizziel, would a conditional "if non-local-pbl" statement resolve this? |
GeosCore/drydep_mod.F90 - Restored the archival of the DryDepVel and SatDiagnDryDepVel diagnostic quantities in routine Update_DryDepFreq, in an IF block that only executes when the full PBL mixing option is selected. This is to prevent these diagnostics from being zero when the non-local PBL mixing is not selected. - Updated comments GeosCore/hco_interface_gc_mod.F90 - Added a comment block that the DryDepVel and SatDiagnDryDepVel diagnostics are archived here when non-local PBL mixing is used, and in drydep_mod.F90 when full PBL mixing is used. CHANGELOG.md - Added note about the SatDiagnColEmis and SatDiagnSurfFlux arrays being updated with (I,J,S) instead of (:,:,S)
That is precisely what I did. In comment d9ee2e2 I restored the lines that were taken out of |
GeosCore/drydep_mod.F90 - Restore the IF condition for drydep diagnostics to what it was before. We had removed testing if State_Diag%ArchiveDryDepVel and State_Diag%SatDiagnDryDepVel were true. This bug will cause the DryDepVel and SatDiagnDryDepVel History diagnostics not to be populated. Now fixed. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
I've restored the archival of The differences in ACET are attributed to the HEMCO seaflux extension, but there are also some small differences in the ratio plots. This may be numerical noise. @eamarais: There are several differences in the NO2 drydep velocity. This may be due to the fact that when TURBDAY is used, we take dry dep velocity from !------------------------------------------------------------------
! Also add drydep frequencies calculated by HEMCO (e.g. from the
! air-sea exchange module) to DFLX. These values are stored
! in 1/s. They are added in the same manner as the DEPSAV values
! from drydep_mod.F90. DFLX will be converted to kg/m2/s later.
! (ckeller, 04/01/2014)
!------------------------------------------------------------------
IF ( DepSpec ) THEN
CALL GetHcoValDep( Input_Opt, State_Grid, NA, I, J, L, found, dep )
IF ( found ) THEN
dflx(I,J,NA) = dflx(I,J,NA) + ( dep &
* State_Chm%Species(NA)%Conc(I,J,1) &
/ (AIRMW / ThisSpc%MW_g) )
! Get dry deposition velocity in cm/s:
dvel(I,J,NA) = dvel(I,J,NA) + ( dep * State_Met%BXHEIGHT(I,J,1) * &
1.0e+2_fp )
ENDIF The differences are pretty small but are these what we would expect? Also for NO2, the differences are mostly over the continents. That might rule out e.g. PARANOX. |
@eamarais @lizziel @msulprizio: Another thought, the way in which we compute dry deposition velocity in In drydep_mod.F90 we have: ! THIK = thickness of surface layer [m]
THIK = State_Met%BXHEIGHT(I,J,1)
...
!-----------------------------------------------------------
! Compute drydep velocity and frequency
!-----------------------------------------------------------
! Dry deposition velocities [m/s]
State_Chm%DryDepVel(I,J,NDVZ) = DVZ / 100.e+0_f8
! Dry deposition frequency [1/s]
State_Chm%DryDepFreq(I,J,D) = State_Chm%DryDepVel(I,J,NDVZ) / THIK But if AIRQNT is called to reset the airmass quantities in between the time when drydep is called and when the Ideally for a species that has no air-sea exchange in HEMCO we'd want to see differences that are more on the order of numerical noise than we do now. |
Hi @yantosca, this does look odd. Is this issue as a result of switching between TUBDAY and VDIFF? Or has my updated handling of the DryDepVel diagnostic introduced this issue? Not looking to avoid blame. Just on how to resolve it. |
@eamarais: I suspect it is a difference in air mass (thus causing a difference in box height) between where drydep is called an where hco_interface_gc_mod is called. I will try to investigate further and generate some debug output which should clear things up. |
This merge brings updates from 14.6.0-alpha.2 back into the feature/output-seaflux-drydepvel branch, which is the development stream for PR #2606. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Name and Institution (Required)
Name: Bob Yantosca
Institution: Harvard + GCST
Describe the update
This is the companion PR to issue #2564 by @eamarais. This moves the dry deposition velocity for HEMCO extension seaflux species and satellite diagnostic species to the DryDep diagnostic collection.
Expected changes
See: #2564 (comment)
Reference(s)
N/A
Related Github Issue