-
Notifications
You must be signed in to change notification settings - Fork 169
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 <[email protected]>
…hco_interface_gc_mod. Signed-off-by: ucfaea1 <[email protected]>
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 <[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.
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.
@@ -623,24 +621,6 @@ SUBROUTINE UPDATE_DRYDEPFREQ( Input_Opt, State_Chm, State_Diag, State_Grid, & | |||
! Point to State_Chm%DryDepVel [m/s] | |||
NDVZ = NDVZIND(D) | |||
|
|||
! Dry dep velocity [cm/s] |
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.
Removing these diagnostics from drydep_mod
and only setting in compute_sflx_for_vdiff
means they will always be zero if using full mixing.
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.
! 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
@@ -4907,7 +4918,7 @@ SUBROUTINE Compute_Sflx_for_Vdiff( Input_Opt, State_Chm, State_Diag, & | |||
IF ( State_Diag%Archive_SatDiagnSurfFlux ) THEN | |||
DO S = 1, State_Diag%Map_SatDiagnSurfFlux%nSlots | |||
N = State_Diag%Map_SatDiagnSurfFlux%slot2id(S) | |||
State_Diag%SatDiagnSurfFlux(:,:,S) = State_Chm%SurfaceFlux(:,:,N) | |||
State_Diag%SatDiagnSurfFlux(I,J,S) = State_Chm%SurfaceFlux(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.
Same comment as above. Note that both of these diagnostics have bugs that are now fixed.
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.
Changelog fixed in commit d9ee2e2.
State_Diag%SatDiagnDryDepVel(:,:,S) = dvel(:,:,N) | ||
ENDIF | ||
ENDIF | ||
|
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.
As I noted above, putting these here would only work for non-local mixing. Full mixing does not call this routine.
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, 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 <[email protected]>
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. |
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