-
Notifications
You must be signed in to change notification settings - Fork 14
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
Bug fixes to 3D diagnostic tendencies; add more tendencies #15
Bug fixes to 3D diagnostic tendencies; add more tendencies #15
Conversation
…e should calculate the 3D diagnostic tendencies.
… and physics/moninedmf.f
…s, implement model/ccpp/total tendencies.
…dded model and cppp tendency variables
…model tendencies add up to total change in 3 hours for the gfs v16 beta suite
@llpcarson @grantfirl - for your information, the latest version of the 3D tendencies PR for NOAA-GSD/fv3atm. |
@@ -184,7 +187,10 @@ | |||
'FV3/ccpp/physics/physics/gcm_shoc.F90' : [ 'slow_physics' ], | |||
'FV3/ccpp/physics/physics/get_prs_fv3.F90' : [ 'slow_physics' ], | |||
'FV3/ccpp/physics/physics/gfdl_cloud_microphys.F90' : [ 'slow_physics' ], | |||
'FV3/ccpp/physics/physics/gfdl_fv_sat_adj.F90' : [ 'fast_physics' ], | |||
'FV3/ccpp/physics/physics/gfdl_fv_sat_adj.F90' : [ 'slow_physics' ], |
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.
is this correct? gfdl_fv_sat_adj.F90 should remain in "fast_physics", right?
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.
Yes, I will revert this.
ccpp/suites/suite_FV3_CPT_v0.xml
Outdated
<scheme>get_phi_fv3</scheme> | ||
<scheme>GFS_suite_interstitial_3</scheme> | ||
<scheme>GFS_DCNV_generic_pre</scheme> |
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.
Is this related to the diagnostics output? or an unrelated change?
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.
That change is not my doing. It must have been merged from another branch.
All of the SDFs will need the timestep_init and timestep_final (as noted) before merging. This may also break alot of user-workflow-configs, so needs to be merged with plenty of communication! |
It would be simpler to update the CCPP framework to allow timestep_init and timestep_final to not be declared in the XML file. |
I'm trying to test changes to this one by one, but Hera is being very slow, and /scratch2 is freezing up frequently. It may take another day for me to make any meaningful progress on this. |
This is not going to work and not intended. These two additional routines will be required when we move to |
…L#27) * add fh00 post control file, add restart output at specified forecast hours, ugwd bug fixes * fv3atm NOAA-GSL#15:Add support for GEFS-Aerosols restart capability * remove comment prints * fix RunDuration in atmos fcst side * update post_gfs with new post changes * comment out print line * point fv3 dycore to the latest NOAA-EMC dev/emc branch
@llpcarson @grantfirl I would like to ask you for your opinion on the standard names for the new variables
in |
1 similar comment
@llpcarson @grantfirl I would like to ask you for your opinion on the standard names for the new variables
in |
How about:
flag_for_generic_gravity_wave_drag_tendency
flag_for_generic_planetary_boundary_layer_tendency
flag_for_generic_shallow_convection_tendency
flag_for_generic_deep_convection_tendency
…On Thu, Apr 16, 2020 at 10:37 AM DomHeinzeller ***@***.***> wrote:
@llpcarson <https://github.com/llpcarson> @grantfirl
<https://github.com/grantfirl> I would like to ask you for your opinion
on the standard names for the new variables
logical :: flag_for_gwd_generic_tend!< true if GFS_GWD_generic should calculate tendencies
logical :: flag_for_pbl_generic_tend!< true if GFS_PBL_generic should calculate tendencies
logical :: flag_for_scnv_generic_tend!< true if GFS_DCNV_generic should calculate tendencies
logical :: flag_for_dcnv_generic_tend!< true if GFS_DCNV_generic should calculate tendencies
in GFS_typdefs.{F90,meta}. I think that all our flags have standard names
starting with flag_for or something similar. I can make those changes in
the PRs that I need to create anyway. Thank you!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#15 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AGCO5UBK5X2EPGE6UIZZ67DRM4X4JANCNFSM4LDF56DQ>
.
--
*Grant J. Firl*
Project Scientist I
Joint Numerical Testbed
Research Applications Laboratory
National Center for Atmospheric Research
FL3-1016: (303) 497-2872
|
This sounds good to me, thanks very much. Unless I hear any objections from @llpcarson or @SamuelTrahanNOAA, I will make this change. |
No objections from me, thanks!
…On Thu, Apr 16, 2020 at 10:46 AM Dom Heinzeller ***@***.***> wrote:
How about: flag_for_generic_gravity_wave_drag_tendency
flag_for_generic_planetary_boundary_layer_tendency
flag_for_generic_shallow_convection_tendency
flag_for_generic_deep_convection_tendency
… <#m_6412760015156109833_>
This sounds good to me, thanks very much. Unless I hear any objections
from @llpcarson <https://github.com/llpcarson> or @SamuelTrahanNOAA
<https://github.com/SamuelTrahanNOAA>, I will make this change.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#15 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB2OWIT4NIPYCSWSOVDRQUDRM4Y5VANCNFSM4LDF56DQ>
.
|
Don't go to far with those long variable names or you'll hit line length or name length limits. |
Just to be clear, I was not commenting on actual variable names, only their
CCPP standard names.
…On Thu, Apr 16, 2020 at 11:04 AM Samuel Trahan (NOAA contractor) < ***@***.***> wrote:
Don't go to far with those long variable names or you'll hit line length
or name length limits.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#15 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AGCO5UFY6C6IY4DG6IFPQXDRM43BDANCNFSM4LDF56DQ>
.
--
*Grant J. Firl*
Project Scientist I
Joint Numerical Testbed
Research Applications Laboratory
National Center for Atmospheric Research
FL3-1016: (303) 497-2872
|
I'm unaware of any string length limits in Python, so you should be able to use the collected works of Shakespeare as the standard name. Just make sure you have reasonable Fortran variable name lengths. |
Bug fixes to 3D diagnostic tendencies (based on #15)
This is the ufs-weather-model pull request for NOAA-GSL/ccpp-physics#18
Bug fixes are added so the 3D diagnostic tendency output works properly. There is a new
qdiag3d
flag to turn on 3D tracer tendencies. Also, there are now tendencies for the model, ccpp, and total. The later two are for debugging the tendency calculations. Thetimestep_init
andtimestep_final
stages of CCPP are implemented.Fully tested with gfs v16 beta test suite.
This is still a draft pull request because:
The Precision Problem
I can say definitively that double precision floating point is not enough to accumulate tendencies across the orders of magnitude typically found in the atmosphere. This was determined by adding a fourth tendency, now disabled in the code. Every time the ccpp or model tendencies were accumulated, that fourth tendency was accumulated by the same amount. In that case, the tendencies of: temperature had a precision of about 0.1 degrees, water vapor mixing ratio of 1e-5, and wind of .1 meters per second. Those are per-3-hour tendencies from a C768 global model. A higher-resolution run would have much larger imprecision due to the larger number of timesteps.
Those can be viewed as the best possible tendency errors.
Right now, the error in the tendencies of CCPP are about 2.5 times the best possible. It is hard to tell whether it is due to further precision issues (eight times as many additions per timestep) or incorrect tendency logic.
The precision issue could be dealt with using quadruple precision (128 bit) floating-point. That is a part of the Fortran 2008 standard, and it is an optional part of the MPI standard. It may be feasible to implement it, but that could cause portability issues.