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

Shared physics sfclayrev #1997

Merged
merged 10 commits into from
Feb 2, 2024

Conversation

weiwangncar
Copy link
Collaborator

@weiwangncar weiwangncar commented Jan 28, 2024

TYPE: enhancement, new feature

KEYWORDS: shared physics, revised MM5 sfclay scheme

SOURCE: internal

DESCRIPTION OF CHANGES:
Add revised MM5 surface layer scheme from the shared physics directory, which is ccpp-compliant. Also added salinity effect in the shared physics subroutine. It also includes change made in PR-1924.

Solution:
The CCPP-compliant revised MM5 surface layer code will be residing in phys/physics_mmm/ directory. Currently it is a copy of the code from the future MMM-physics repo, plus the salinity change made recently in WRF.

LIST OF MODIFIED FILES:
M arch/postamble
M arch/preamble
M clean
M main/depend.common
M phys/Makefile
M phys/module_physics_init.F
M phys/module_sf_sfclayrev.F
M phys/module_surface_driver.F
A phys/physics_mmm/sf_sfclayrev.F90

TESTS CONDUCTED:

  1. The runs before and after this change produce bit-for-bit results when compiled with -d option.
  2. The Jenkins tests are all passing.

RELEASE NOTE: Add revised MM5 surface layer scheme from the future shared MMM-physics repository.

…_init

out of module_sf_sfclayrev.F to module_physics_init.F.
- module_sf_sfclayrev.F: remove the content related to the call to shalwater_init
  in sfclayrevinit.
- module_physics_init.F: remove argument list to sfclayrevinit, and add a
  separate call to shalwater_init, and place the subroutine at the end of module.
…kemask for salinity change

- phys/module_surface_driver.F: modified argument list to remove unused variables: eomeg,stbolt,
  and shalwater_depth. Kept lakemask for salinity change
- phys/module_physics_init.F: changed call to sfclayrevinit to sf_sfclayrev_init
- Makefile: add rule to compile sf_sfclayrev.F90 in new phys/physics_mmm/
  (apparently no need to add a separate target for shared_phys)
- arch/postamble: add compilation rules for .F90.o and .F90.f90
- clean: add to removed compiled files in new phys/physics_mmm/ directory
- main/depend.common: add dependencies for compiling new sf_sfclayrev.F90.
@weiwangncar weiwangncar changed the base branch from master to develop January 28, 2024 05:17
@weiwangncar
Copy link
Collaborator Author

The regression test results:

Test Type              | Expected  | Received |  Failed
= = = = = = = = = = = = = = = = = = = = = = = =  = = = =
Number of Tests        : 23           24
Number of Builds       : 60           57
Number of Simulations  : 158           150        0
Number of Comparisons  : 95           86        0

Failed Simulations are: 
None
Which comparisons are not bit-for-bit: 
None

@smileMchen
Copy link
Collaborator

@weiwangncar
For codes saved in phys/physics_mmm/, in this PR it is "sf_sfclayrev.F90", can we change the name to "phys/physics_mmm/sf_sfclayrev.F" so that they are consistent with the name convention of other codes? Another benefit is that we don't need to modify arch/postamble and arch/preamble.
Is there any special reason we need to name the code .F90?

@weiwangncar
Copy link
Collaborator Author

@smileMchen Thanks for reviewing this PR. Unfortunately the decision to make CCPP-compliant physics code using .F90 is not ours, but the CCPP community. It will apply to MPAS as well.

dudhia
dudhia previously approved these changes Jan 31, 2024
dudhia
dudhia previously approved these changes Feb 1, 2024
smileMchen
smileMchen previously approved these changes Feb 2, 2024
@weiwangncar weiwangncar dismissed stale reviews from smileMchen and dudhia via b17701d February 2, 2024 16:15
@weiwangncar weiwangncar merged commit cb5fb2f into wrf-model:develop Feb 2, 2024
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants