-
Notifications
You must be signed in to change notification settings - Fork 148
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
Replacement of Float command with real command #631
Conversation
…FV3 DA (FV3LAMDA)
NOAA-EMC/GSI |
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've tested the changes locally, and everything works as expected.
src/gsi/support_2dvar.f90
Outdated
rjs=float(js) | ||
rje=float(je) | ||
ris=real(is,r_single) | ||
rie=real(is,r_single) |
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.
Should this be rie = real(ie, r_single) ?
I found the float command is used in a few other files. Do we want to change them into the real command as well? atms_spatial_average_mod.f90: Line 844 XT = 1.0_r_kind / FLOAT( N ) |
You are absolutely correct in both your comments. I am ashamed that I did not search for FLOAT, just float. I will make both of the changes. Good job. This is why we have the reviews. Thank you. |
Will also update to latest version of develop! |
Not a problem, that's why we are here. Look forward to see the new version. |
Thank you Azadeh as well. Checking out the code and making sure it works as advertised is important! |
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.
Changes look good to me!
Changes were made to fix 2 issues pointed out by Xuanli. Also, code was update to the current head of develop. Regression tests were rerun. All tests passed except rtma. Output from rtma was examined and was the same for contrl and updat. Failure for rtma was only due to timing - so all is OK. |
Thank you Xuanli for relooking at changes. |
Thank you for making these changes to GSI. |
@jderber-NOAA , since @azadeh-gh and @XuanliLi-NOAA have approved this PR, we can move forward with getting these changes into |
Float updated to head of develop. |
WCOSS2 ctests Install
A check of the rtma ctest finds that it failed timing checks
A check of the wall times
finds that the hiproc_updat ran longer than the `loproc_updat. This is odd. A rerun of the rtma test resulted in a pass
with the updat and contrl wall times being much more consistent
Orion ctests
WCOSS2 (Dogwood) and Orion ctest results are acceptable. |
Hera ctest results: All but 1 regression tests passed. Only the rrfs_3denvar_glbens test did not pass. Looking at the results shows identical results in all tests. The wall times are: Rerun of rrfs3denvar passed With Russ's tests, I think this one is ready to go. |
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.
Two peer reviews completed with approval. ctests run on WCOSS2 (Dogwood), Hera, and Orion with acceptable results. GSI Handling Review team consulted. No objection to merging PR #631 into develop
Approve.
The float command is used throughout the GSI to convert an integer value to a real value. However, the float command only converts to a real4 value. Most of the GSI uses real8 (along with some real16 and real4). The real command allows the conversion to a specified precision (r_kind (real8), r_quad(real16), r_single(real*4). Note that the Intel documentation appears to state that the float command internally uses the real command, so no issues should result from these changes.
The float command is removed from the gsi and replaced with the real command. This pull request addresses issue #627. More details can be found in the issue.
Fixes #627
A few very small changes (e.g. removing multiplication by one, modifying float(n) + float(m) to real(n+m,r_kind)) were also made. (Sorry I just cannot stop myself).
The code can be found in jderber-NOAA/GSI.git in branch float
These code changes have been tested using regression tests (ctests) on Hera. All regression tests passed, except one where the only issue was timing. The machine was very busy at the time so this should not be a real issue.
Checklist
DUE DATE for this PR is 11/9/2023. If this PR is not merged into
develop
by this date, the PR will be closed and returned to the developer.