Skip to content

Release FV3 solver updates#261

Merged
laurenchilutti merged 5 commits into
NOAA-GFDL:mainfrom
laurenchilutti:solverupdate
Apr 20, 2023
Merged

Release FV3 solver updates#261
laurenchilutti merged 5 commits into
NOAA-GFDL:mainfrom
laurenchilutti:solverupdate

Conversation

@laurenchilutti
Copy link
Copy Markdown
Member

Description

Releasing some updates on behalf of Lucas Harris including:
Revision to semi-implicit solver to linearize vertical sound wave propagation about the hydrostatic state. This has been extensively tested by GFDL and EMC in SHiELD, GFS, and RRFS.

Fixes # (issue)

How Has This Been Tested?

Changes have been tested with Intel compiler using tests in SHiELD_build/RTS
This changes answers - The CI on this will not pass initially, then I will update reference answers and it will pass.

Checklist:

Please check all whether they apply or not

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

… a revision to the semi-implicit solver to linearize vertical sound wave propagation about the hydrostatic state.
Copy link
Copy Markdown
Contributor

@lharris4 lharris4 left a comment

Choose a reason for hiding this comment

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

Looks good to me. Thanks for getting this approved so quickly.

Lucas

@XiaqiongZhou-NOAA
Copy link
Copy Markdown
Contributor

Great. We have tested the revision for SIM in RRFS and GFS. It works great.
Noticed that tau_w is used in SIM solver for Rayleigh damping. This variable is also used in explicit Rayleigh damping. Not sure if there are conflicts. I will check out this version to have a test in UFS.

Copy link
Copy Markdown
Contributor

@bensonr bensonr left a comment

Choose a reason for hiding this comment

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

Looks like there are a few spacing changes from the old to the new code. Can you look through them and reset as needed.

Comment thread model/nh_utils.F90
Comment on lines +348 to +360
!Set up rayleigh damping
if (tau_w > 1.e-5 .and. .not. RFw_initialized) then
allocate(rff(km))
RFw_initialized = .true.
do k=1,km
if (pfull(k) > rf_cutoff) exit
k_rf = k
rff(k) = dt/tau_w * sin(0.5*pi*log(rf_cutoff/pfull(k))/log(rf_cutoff/ptop))**2
rff(k) = 1.0d0 / ( 1.0d0+rff(k) )
enddo
endif


Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

In some places here we are forcing constants to double precision, others are single, and one has no designation. I think we need to ensure consistency.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Do you have a recommendation of either all double precision or all single?

@KevinViner-NOAA
Copy link
Copy Markdown

#229

Great minds...

@lharris4
Copy link
Copy Markdown
Contributor

lharris4 commented Apr 19, 2023 via email

@lharris4
Copy link
Copy Markdown
Contributor

lharris4 commented Apr 19, 2023 via email

@laurenchilutti
Copy link
Copy Markdown
Member Author

@bensonr your comments have been addressed - if you approve I will cherry-pick these final changes to the dev/emc PR

Copy link
Copy Markdown
Contributor

@lharris4 lharris4 left a comment

Choose a reason for hiding this comment

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

Looks fine to me. Thanks.

Copy link
Copy Markdown
Contributor

@lharris4 lharris4 left a comment

Choose a reason for hiding this comment

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

Thanks for making this name change too.

@laurenchilutti laurenchilutti merged commit 83a04ad into NOAA-GFDL:main Apr 20, 2023
@laurenchilutti laurenchilutti deleted the solverupdate branch April 20, 2023 19:43
laurenchilutti added a commit to laurenchilutti/GFDL_atmos_cubed_sphere that referenced this pull request Apr 20, 2023
* Bringing over internal updates to nh_core and nh_utils which includes a revision to the semi-implicit solver to linearize vertical sound wave propagation about the hydrostatic state.

* resolve inconsistent use of single and double precision in rayleigh damping.  Address spacing change.

* rename tau_w

* Modify the rff calculation to be fully double precision.  Fixed a mistake in the previous cherry-pick commit

* fully implement the name change of tau_w to fast_tau_w_sec
laurenchilutti added a commit to laurenchilutti/GFDL_atmos_cubed_sphere that referenced this pull request Apr 20, 2023
* Bringing over internal updates to nh_core and nh_utils which includes a revision to the semi-implicit solver to linearize vertical sound wave propagation about the hydrostatic state.

* resolve inconsistent use of single and double precision in rayleigh damping.  Address spacing change.

* rename tau_w

* Modify the rff calculation to be fully double precision.  Fixed a mistake in the previous cherry-pick commit

* fully implement the name change of tau_w to fast_tau_w_sec
laurenchilutti added a commit that referenced this pull request Jun 1, 2023
* Bringing over internal updates to nh_core and nh_utils which includes a revision to the semi-implicit solver to linearize vertical sound wave propagation about the hydrostatic state.

* resolve inconsistent use of single and double precision in rayleigh damping.  Address spacing change.

* rename tau_w

* Modify the rff calculation to be fully double precision.  Fixed a mistake in the previous cherry-pick commit

* fully implement the name change of tau_w to fast_tau_w_sec
laurenchilutti added a commit to laurenchilutti/GFDL_atmos_cubed_sphere that referenced this pull request Jun 26, 2023
* Bringing over internal updates to nh_core and nh_utils which includes a revision to the semi-implicit solver to linearize vertical sound wave propagation about the hydrostatic state.

* resolve inconsistent use of single and double precision in rayleigh damping.  Address spacing change.

* rename tau_w

* Modify the rff calculation to be fully double precision.  Fixed a mistake in the previous cherry-pick commit

* fully implement the name change of tau_w to fast_tau_w_sec
linjiongzhou pushed a commit to linjiongzhou/GFDL_atmos_cubed_sphere that referenced this pull request Feb 28, 2025
* Bringing over internal updates to nh_core and nh_utils which includes a revision to the semi-implicit solver to linearize vertical sound wave propagation about the hydrostatic state.

* resolve inconsistent use of single and double precision in rayleigh damping.  Address spacing change.

* rename tau_w

* Modify the rff calculation to be fully double precision.  Fixed a mistake in the previous cherry-pick commit

* fully implement the name change of tau_w to fast_tau_w_sec
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.

5 participants