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 nine 3D arrays from CLM Lake model #705

Conversation

SamuelTrahanNOAA
Copy link
Contributor

@SamuelTrahanNOAA SamuelTrahanNOAA commented Sep 27, 2023

Description

There are nine 3D arrays in CLM Lake that are constant. Seven of them are 2D arrays copied to all vertical levels. All are cheap to calculate.

This PR removes all nine arrays. When the numbers are needed, they're recalculated.

To do this, I had to add a 2D array: the lakedepth before correction.

Issue(s) addressed

Testing

How were these changes tested?

A 3km RRFS case was run, removing one array at a time until all nine were gone.

What compilers / HPCs was it tested with?

Hera intel & gnu.

Are the changes covered by regression tests? (If not, why? Do new tests need to be added?)

Existing tests are sufficient.

Have the ufs-weather-model regression test been run? On what platform?

Hera

Will the code updates change regression test baseline? If yes, why? Please show the baseline directory below.

Yes.

  1. Any configuration running clm lake that verifies restart files will change because of removing nine variables and adding two.
  2. Removing kind_phys arrays means some calculations are promoted to kind_lake (double precision). This causes 32-bit physics cases with lake data running clm lake to change results.
  3. When run with optimization, some clm lake cases with lake data will change results due to a different order of operations.

Please commit the regression test log files in your ufs-weather-model branch

Done.

Dependencies

@SamuelTrahanNOAA SamuelTrahanNOAA changed the title Remove nine 3D variables from CLM Lake model Remove nine 3D arrays from CLM Lake model Sep 27, 2023
SamuelTrahanNOAA added a commit to SamuelTrahanNOAA/fv3atm that referenced this pull request Sep 29, 2023
jkbk2004 pushed a commit that referenced this pull request Oct 3, 2023
…sics, and string length mismatch in dycore plus PR #705 and #699 (#695)

* GFDL_atmos_cubed_sphere: consistent string lengths in array

* stop FV3_HRRR_c3 from crashing with gnu debug

* in dycore, initialize srf_wnd_var2 and tracers_var3 arrays

* Write netcdf axis variables using the same real kind as data variables

* "GF radar reflectivity, dust bug fix, C3 updates, more fluxes output"

* Fix race condition in GFS_phys_time_vary.fv3.F90 error detection

* More bug fixes to GFS_phys_time_vary.fv3.F90:
1. detect empty errmsg from subroutines
2. Initialize err variables in set_soilveg.f, which is called from GFS_phys_time_vary.fv3.F90

* initialize errmsg & errflg in noahmp_tables.f90

* only read h2odata, ozdata and noahmp table when they are needed

* remove all constant 3D variables from clm lake

* calculate clm lake constants only once per i loop

---------

Co-authored-by: Dusan Jovic <dusan.jovic@noaa.gov>
Co-authored-by: Haiqin.Li <Haiqin.Li@noaa.gov>
@DusanJovic-NOAA
Copy link
Collaborator

Merged via #695

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.

CLM Lake restarts nine 3D fields that are constant
2 participants