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

32-bit physics with FV3_RAP #923

Merged
merged 9 commits into from
May 26, 2022

Conversation

SamuelTrahanNOAA
Copy link
Collaborator

@SamuelTrahanNOAA SamuelTrahanNOAA commented May 12, 2022

PR #930 replaces this. This PR should not have been closed as merged because it wasn't merged. See #930 for further development and conversation.

This is an attempt to get 32-bit physics working with the FV3_RAP suite, based on work done by NRL on the Neptune model. Presently, it fails during initialization. I've reached the limits of my knowledge of FV3 initialization and need help from other developers to finish this. See the ufs-weather-model PR for a test case: ufs-community/ufs-weather-model#1215

Most of these changes are from #918

&, kind_rad = 4 &
&, kind_phys = 4 ,kind_taum=4 &
&, kind_grid = 4 &
&, kind_grid = 8 &! atmos_cubed_sphere requres kind_grid=8
&, kind_REAL = 4 &! used in cmp_comm
&, kind_LOGICAL = 4 &
&, kind_INTEGER = 4 ! -,,-
Copy link
Collaborator

Choose a reason for hiding this comment

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

I would rewrite this big #ifndef / #else / #endif block as:

      integer, parameter :: kind_io4  = 4, kind_io8  = 8 , kind_ior = 8 &
     &,                     kind_evod = 8, kind_dbl_prec = 8            &
     &,                     kind_sngl_prec = 4
# ifdef __PGI
     &,                     kind_qdt_prec = 8                           &
# else
     &,                     kind_qdt_prec = 16                          &
# endif
     &,                     kind_LOGICAL = 4                            &
     &,                     kind_INTEGER = 4                             ! -,,-

#ifdef SINGLE_PREC
      integer, parameter :: kind_rad  = kind_sngl_prec                  &
     &,                     kind_phys = kind_sngl_prec                  &
     &,                     kind_taum = kind_sngl_prec                  &
     &,                     kind_grid = kind_dbl_prec                   &! atmos_cubed_sphere requres kind_grid=8
     &,                     kind_REAL = kind_sngl_prec                   ! used in cmp_comm
#else
      integer, parameter :: kind_rad  = kind_dbl_prec                   &
     &,                     kind_phys = kind_dbl_prec                   &
     &,                     kind_taum = kind_dbl_prec                   &
     &,                     kind_grid = kind_dbl_prec                   &! atmos_cubed_sphere requres kind_grid=8
     &,                     kind_REAL = kind_dbl_prec                    ! used in cmp_comm
#endif

avoiding unnecessary (repeated) definition of kinds that are equal in both cases.

@SamuelTrahanNOAA
Copy link
Collaborator Author

@DusanJovic-NOAA Please review this PR. It is identical, except that it will be merged Wednesday.

#918

@grantfirl grantfirl merged commit 828f168 into NCAR:main May 26, 2022
@SamuelTrahanNOAA
Copy link
Collaborator Author

This branch was mistakenly marked as merged because it was identical to my other branch that was in a PR. This pull request is not actually merged because it lacks bug fixes from Dusan to correct calls to w3nco.

dustinswales added a commit to dustinswales/ccpp-physics that referenced this pull request Aug 12, 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.

3 participants