calculate hourly-averaged O3 and PM2.5#226
Merged
laurenchilutti merged 6 commits intoDec 7, 2022
Merged
Conversation
| if ( id_o3_ave > 0 .and. id_no_ave >0 & | ||
| .and. id_no2_ave > 0 .and. id_pm25_ave >0 ) then | ||
|
|
||
| allocate ( o3(isco:ieco,jsco:jeco,npzo) ) |
Collaborator
There was a problem hiding this comment.
To save memory, I'd suggest not adding new 3D temporary arrays, instead, 1) adding atm%q, trace_idx, and units as arguments to average_tracer_hy1. 2) call the average_tracer_hy1 for those new variables o2_idx, no_idx, etc.
…_nggps_diag.F90 with driver
Author
|
Thanks for the suggestions. The code was changed and tested. Meanwhile, I
have moved the sub. average_tracer_hy1 to fv_nggps_diag.F90 with Driver to
address Rusty 's review comments with the previous PR.
…On Mon, Nov 28, 2022 at 10:07 AM Jun Wang ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In driver/fvGFS/fv_nggps_diag.F90
<#226 (comment)>
:
> @@ -913,6 +964,61 @@ subroutine fv_nggps_tavg(Atm, Time_step_atmos,avg_max_length,zvir)
endif
endif
+ if ( id_o3_ave > 0 .and. id_no_ave >0 &
+ .and. id_no2_ave > 0 .and. id_pm25_ave >0 ) then
+
+ allocate ( o3(isco:ieco,jsco:jeco,npzo) )
To save memory, I'd suggest not adding new 3D temporary arrays, instead,
1) adding atm%q, trace_idx, and units as arguments to average_tracer_hy1.
2) call the average_tracer_hy1 for those new variables o2_idx, no_idx, etc.
—
Reply to this email directly, view it on GitHub
<#226 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANA2PI3NRXTUMDF4LABK6XDWKTDBNANCNFSM6AAAAAASNNSJTY>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
| no_idx = get_tracer_index (MODEL_ATMOS, 'NO') | ||
| no2_idx = get_tracer_index (MODEL_ATMOS, 'NO2') | ||
| pm25_idx = get_tracer_index (MODEL_ATMOS, 'PM25_TOT') | ||
| if (first_call) then |
Collaborator
There was a problem hiding this comment.
please fix the spaces in this section for readability.
… (NO, NO2, and O3)
Author
|
Corrected and tested. Thanks for your careful review.
…On Mon, Nov 28, 2022 at 3:12 PM Jun Wang ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In driver/fvGFS/fv_nggps_diag.F90
<#226 (comment)>
:
> @@ -913,6 +962,46 @@ subroutine fv_nggps_tavg(Atm, Time_step_atmos,avg_max_length,zvir)
endif
endif
+ if ( id_o3_ave > 0 .and. id_no_ave >0 &
+ .and. id_no2_ave > 0 .and. id_pm25_ave >0 ) then
+ o3_idx = get_tracer_index (MODEL_ATMOS, 'O3')
+ no_idx = get_tracer_index (MODEL_ATMOS, 'NO')
+ no2_idx = get_tracer_index (MODEL_ATMOS, 'NO2')
+ pm25_idx = get_tracer_index (MODEL_ATMOS, 'PM25_TOT')
+ if (first_call) then
please fix the spaces in this section for readability.
—
Reply to this email directly, view it on GitHub
<#226 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANA2PIZT3WPPEZ2UXSCS3V3WKUGY3ANCNFSM6AAAAAASNNSJTY>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Collaborator
|
@bensonr @laurenchilutti would you please review the PR? Thank you! |
junwang-noaa
approved these changes
Nov 29, 2022
Collaborator
junwang-noaa
left a comment
There was a problem hiding this comment.
Thanks for making the changes, it looks good to me now.
Collaborator
|
@bensonr would you please review the code? AQMv7 implementation needs this code changes as soon as possible. Thank you! |
laurenchilutti
approved these changes
Nov 30, 2022
bensonr
approved these changes
Dec 1, 2022
This was referenced Dec 1, 2022
|
All test are done on ufs wm pr #1513. @laurenchilutti can you merge in this pr? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR is considered as a new feature. It is used to calculate hourly averaged PM2.5 and three gas species (O3, NO, and NO2) and write them on the user-defined output grids (i.e., rotated lat/lon) with the UFS writing component to support AQM v7 implementation. Now total PM2.5 is calculated within the AQM component and passed to the Atmospheric model as a diagnostic tracer.
How Has This Been Tested?
The PR has been only tested on Cactus (WCOSS2).
Please add the following line in the diag_table as an example to write out hourly-averaged PM2.5.
"gfs_dyn", "pm25_ave", "pm25_ave", "fv3_history", "all", .false., "none", 2
Checklist:
Please check all whether they apply or not