Skip to content

32-bit physics with FV3_RAP#534

Merged
DusanJovic-NOAA merged 42 commits into
NOAA-EMC:developfrom
SamuelTrahanNOAA:sing_prec_from_main
Jul 19, 2022
Merged

32-bit physics with FV3_RAP#534
DusanJovic-NOAA merged 42 commits into
NOAA-EMC:developfrom
SamuelTrahanNOAA:sing_prec_from_main

Conversation

@SamuelTrahanNOAA
Copy link
Copy Markdown
Contributor

@SamuelTrahanNOAA SamuelTrahanNOAA commented May 12, 2022

This adds support for 32-bit physics to the FV3, based on prior work on the Neptune model. The 64-bit physics should not change results. Presently, the 32-bit physics are incompatible with MOM6 because it has conflicting stochastic_physics precision requirements, so MOM6-coupled configurations must use 64-bit physics.

Issues

ufs-community/ufs-weather-model#1288

Dependencies

NCAR/ccpp-physics#930
NOAA-GFDL/GFDL_atmos_cubed_sphere#193
earth-system-radiation/rte-rrtmgp#180 this was already merged

@junwang-noaa
Copy link
Copy Markdown
Collaborator

@SamuelTrahanNOAA For the overloading capability, would you like to try the Fortran polymorphic class? Please see example:

https://github.com/NOAA-GFDL/FMS/pull/962/files#diff-e76bad5442df93e413ddc44d0e23dd628f667843a955bb471d5ff5ea036cd944

@SamuelTrahanNOAA
Copy link
Copy Markdown
Contributor Author

@SamuelTrahanNOAA For the overloading capability, would you like to try the Fortran polymorphic class? Please see example:

https://github.com/NOAA-GFDL/FMS/pull/962/files#diff-e76bad5442df93e413ddc44d0e23dd628f667843a955bb471d5ff5ea036cd944

I think the resulting code would be just as complex, and would use features many developers don't know. If Fortran had templates or generics, I would use that, but it doesn't.

SamuelTrahanNOAA pushed a commit to SamuelTrahanNOAA/fv3atm that referenced this pull request Jun 13, 2022
* Remove FMS git submodule
* Update module files and top-level CMakeLists.txt to use fms module (library) built by hpc-stack.
* Update ci for fms library NOAA-EMC#575 (NCAR#13)

Co-authored-by: Minsuk Ji <57227195+MinsukJi-NOAA@users.noreply.github.com>
@SamuelTrahanNOAA SamuelTrahanNOAA marked this pull request as ready for review June 24, 2022 11:46
@SamuelTrahanNOAA
Copy link
Copy Markdown
Contributor Author

@SamuelTrahanNOAA For the overloading capability, would you like to try the Fortran polymorphic class? Please see example:
https://github.com/NOAA-GFDL/FMS/pull/962/files#diff-e76bad5442df93e413ddc44d0e23dd628f667843a955bb471d5ff5ea036cd944

I think the resulting code would be just as complex, and would use features many developers don't know. If Fortran had templates or generics, I would use that, but it doesn't.

I see no obvious "best way" of cleaning up this code, so I made an issue here:

#559

We can discuss a better option in that issue.

@jkbk2004
Copy link
Copy Markdown
Collaborator

@SamuelTrahanNOAA so its this pr's turn to update and merge.

@SamuelTrahanNOAA
Copy link
Copy Markdown
Contributor Author

The atmos_cubed_sphere and ccpp/physics point to the authoritative branches now. This PR is ready for final review and merge.

@SamuelTrahanNOAA
Copy link
Copy Markdown
Contributor Author

I need a second review before this can be merged.

@DusanJovic-NOAA DusanJovic-NOAA merged commit 9743346 into NOAA-EMC:develop Jul 19, 2022
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