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

Remove zorl interstitial variables #596

Merged
merged 8 commits into from
Apr 15, 2021

Conversation

climbfuji
Copy link
Collaborator

@climbfuji climbfuji commented Mar 17, 2021

This PR removes the zorl (surface roughness length) interstitial variables and uses the persistent variables instead. This reduces memory footprint and computational overhead.

In order to maintain b4b reproducibility with all existing regression tests, commit edc9194. Without this change, the two coupled model runs (both fractional and binary mask) using a high-resolution ocean model have slightly different results (all other tests still pass). The b4b mismatch is due to a number of isolated points over open ocean (i.e. far away from the coast) with ice fractions close to one (but not exactly one, around 0.995). I believe that the requirement to reset those points to huge values for zorl is incorrect, that this commit edc9194 should be reverted, and that the baselines for the two coupled, high-res ocean runs should be updated. @DeniseWorthen helped me investigate these differences (thanks!).

Fixes #552

Associated PRs:

#596
NOAA-EMC/fv3atm#261
ufs-community/ufs-weather-model#479

For regression testing, see ufs-community/ufs-weather-model#479.

Copy link
Collaborator

@ShanSunNOAA ShanSunNOAA left a comment

Choose a reason for hiding this comment

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

I approve it. Thanks for cleaning up, -Shan

Copy link
Contributor

@llpcarson llpcarson 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, approved

Copy link
Collaborator

@grantfirl grantfirl 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. Why the file permissions change on module_sf_exchcoef.f90?

@climbfuji
Copy link
Collaborator Author

Looks fine to me. Why the file permissions change on module_sf_exchcoef.f90?

This file had the executable permissions set (755), but a Fortran source file isn't an executable, therefore rw-r-r (=644) is correct.

@grantfirl
Copy link
Collaborator

Looks fine to me. Why the file permissions change on module_sf_exchcoef.f90?

This file had the executable permissions set (755), but a Fortran source file isn't an executable, therefore rw-r-r (=644) is correct.

Makes perfect sense. Thanks. I guess the file permissions were set to 755 in error at some time in the past then and this file was the only one in ccpp-physics?

@climbfuji
Copy link
Collaborator Author

Looks fine to me. Why the file permissions change on module_sf_exchcoef.f90?

This file had the executable permissions set (755), but a Fortran source file isn't an executable, therefore rw-r-r (=644) is correct.

Makes perfect sense. Thanks. I guess the file permissions were set to 755 in error at some time in the past then and this file was the only one in ccpp-physics?

We fixed several of those over time, but they keep coming back. Assuming that some users have their editors set up wrong and that the files get the executable flags automatically. We need to watch out for this in future PRs.

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.

Remove zorl interstitial variables
7 participants