Skip to content

32-bit physics with FV3_RAP#923

Merged
grantfirl merged 9 commits into
NCAR:mainfrom
SamuelTrahanNOAA:sing_prec_from_main
May 26, 2022
Merged

32-bit physics with FV3_RAP#923
grantfirl merged 9 commits into
NCAR:mainfrom
SamuelTrahanNOAA:sing_prec_from_main

Conversation

@SamuelTrahanNOAA
Copy link
Copy Markdown
Contributor

@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

Comment thread physics/machine.F
&, 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
Copy Markdown
Contributor

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
Copy Markdown
Contributor 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
Copy Markdown
Contributor 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