Skip to content
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

Add convective gust contribution to U10 #422

Merged
merged 12 commits into from
Dec 21, 2023
Merged

Conversation

megandevlan
Copy link
Collaborator

@megandevlan megandevlan commented Dec 20, 2023

Description of changes

Modifications made to enhance U10 computed in shr_flux_mod based on convective rain rate from CAM. Additional modifications made to output the magnitude of that enhancement (UGUST) in CAM as well. The option to turn on the enhancement is controlled by a name list variable, add_gusts.

Specific notes

Contributors other than yourself, if any: @swrneale, @mvertens, @jedwards4b

CMEPS Issues Fixed (include github issue #): #267

Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial) None if add_gusts=False

Any User Interface Changes (namelist or namelist defaults changes)? add_gusts option in namelist; default is false.

Testing performed

Please describe the tests along with the target model and machine(s)
If possible, please also added hashes that were used in the testing

Tests on Derecho as part of most recent cam-dev: NCAR/amwg_dev#440

Copy link
Collaborator

@jedwards4b jedwards4b left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The cdn variable will change more than just cam_dev - can you clarify this is what you want. Currently the add_gust variable is set to false and the only way to change it is in user_nl_cam or in a testmod. I think you can set an esmf info object in cam to the result of cam_physpkg_is("cam_dev") then query that info object in cmeps to determine if the add_gust variable should be used.

@@ -257,22 +263,21 @@ SUBROUTINE flux_atmOcn(logunit, nMax ,zbot ,ubot ,vbot ,thbot , &
real(R8) :: tdiff(nMax) ! tbot - ts
real(R8) :: vscl

real(R8) :: ugust ! function: gustiness as a function of convective rainfall.
real(R8) :: gprec ! dummy arg ~ ?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a great comment here.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated this too; working on the esmf info object now.

! Large and Pond
! cdn(Umps) = 0.0027_R8 / Umps + 0.000142_R8 + 0.0000764_R8 * Umps

cdn(Umps) = 0.0027_R8 / Umps + 0.000142_R8 + 0.0000764_R8 * Umps
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You removed the cap on this equation so this will affect not just cam_dev but all configurations?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Jim, fixed this now; not something I intended to change.

@megandevlan
Copy link
Collaborator Author

I'd been setting the namelist add_gust in usr_nl_cpl instead of usr_nl_cam; is the latter better practice?

@jedwards4b
Copy link
Collaborator

No, I think that user_nl_cpl is the correct place, I was mistaken in my previous comment.

@megandevlan
Copy link
Collaborator Author

Thanks Jim. I'm somewhat stumped for how to set an esmf object in CAM that can then be queried in ESMF; do you have an example of something similar being done that I could follow for some other variable? I'm guessing it's something that would be in the atm_comp_nuopc file in CAM?

@jedwards4b
Copy link
Collaborator

@megandevlan I'm looking for the best solution and will get back to you.

@jedwards4b
Copy link
Collaborator

@megandevlan I've opened a PR to your fork that addresses the cam-dev issue, since cam_dev is a compile time option and not a run time option we can do this check in the cmeps buildnml. The PR also fixes the .github testing, so once it's merged all tests should pass.

Gust mods suggested changes for cam_dev
@megandevlan
Copy link
Collaborator Author

Thanks @jedwards4b, especially for getting to this so quickly!! These fixes looks great to me.

@jedwards4b jedwards4b merged commit ce6c935 into ESCOMP:main Dec 21, 2023
2 checks passed
@cacraigucar
Copy link
Contributor

@jedwards4b - Is there a tag for this change?

@jedwards4b
Copy link
Collaborator

cmeps0.14.48 Tags are automatically generated in this repo, do a git fetch to see new tags.

@jedwards4b
Copy link
Collaborator

cmeps0.14.49 now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants