Opened 5 years ago
Closed 5 years ago
#856 closed upgrade (Done)
Update for mixed precision computations
Reported by: | arango | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | Release ROMS/TOMS 3.9 |
Component: | Nonlinear | Version: | 3.9 |
Keywords: | Cc: |
Description
- The update includes changes to several files to allow mixed single and double precision in some applications. In single precision, we need to ensure that time and scale factors are in double precision. For example, in wrt_ini.F we have:
real(r8) :: Fmin, Fmax real(dp) :: my_time, scale
Recall that in single-precision the floating-point kind parameters are set in mod_kinds.F as:integer, parameter :: dp = SELECTED_REAL_KIND(12,300) ! 64-bit integer, parameter :: r4 = SELECTED_REAL_KIND(6,30) ! 32-bit # ifdef SINGLE_PRECISION integer, parameter :: r8 = SELECTED_REAL_KIND(6,30) ! 32-bit # else integer, parameter :: r8 = SELECTED_REAL_KIND(12,300) ! 64-bit # endif
- Modified routine wclock_off to report also the total profile times in the MPI communications for all nested grids (if NESTING is activated), and its total for all numerical kernels in 4D-Var applications.
Note:
See TracTickets
for help on using tickets.