Changeset 15540 for NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/DYN/dynvor.F90
- Timestamp:
- 2021-11-26T12:27:56+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/DYN/dynvor.F90
r14986 r15540 82 82 INTEGER, PUBLIC, PARAMETER :: np_CME = 5 ! Coriolis + metric term 83 83 84 REAL( wp), ALLOCATABLE, DIMENSION(:,:) :: di_e2u_2 ! = di(e2u)/2 used in T-point metric term calculation85 REAL( wp), ALLOCATABLE, DIMENSION(:,:) :: dj_e1v_2 ! = dj(e1v)/2 - - - -86 REAL( wp), ALLOCATABLE, DIMENSION(:,:) :: di_e2v_2e1e2f ! = di(e2u)/(2*e1e2f) used in F-point metric term calculation87 REAL( wp), ALLOCATABLE, DIMENSION(:,:) :: dj_e1u_2e1e2f ! = dj(e1v)/(2*e1e2f) - - - -84 REAL(dp), ALLOCATABLE, DIMENSION(:,:) :: di_e2u_2 ! = di(e2u)/2 used in T-point metric term calculation 85 REAL(dp), ALLOCATABLE, DIMENSION(:,:) :: dj_e1v_2 ! = dj(e1v)/2 - - - - 86 REAL(dp), ALLOCATABLE, DIMENSION(:,:) :: di_e2v_2e1e2f ! = di(e2u)/(2*e1e2f) used in F-point metric term calculation 87 REAL(dp), ALLOCATABLE, DIMENSION(:,:) :: dj_e1u_2e1e2f ! = dj(e1v)/(2*e1e2f) - - - - 88 88 ! 89 REAL( wp), ALLOCATABLE, DIMENSION(:,:,:) :: e3f_0vor ! e3f used in EEN, ENE and ENS cases (key_qco only)90 91 REAL( wp) :: r1_4 = 0.250_wp ! =1/492 REAL( wp) :: r1_8 = 0.125_wp ! =1/893 REAL( wp) :: r1_12 = 1._wp / 12._wp ! 1/1289 REAL(dp), ALLOCATABLE, DIMENSION(:,:,:) :: e3f_0vor ! e3f used in EEN, ENE and ENS cases (key_qco only) 90 91 REAL(dp) :: r1_4 = 0.250_wp ! =1/4 92 REAL(dp) :: r1_8 = 0.125_wp ! =1/8 93 REAL(dp) :: r1_12 = 1._wp / 12._wp ! 1/12 94 94 95 95 !! * Substitutions … … 207 207 ! 208 208 ! ! print sum trends (used for debugging) 209 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1= CASTWP(puu(:,:,:,Krhs)), clinfo1=' vor - Ua: ', mask1=umask, &210 & tab3d_2= CASTWP(pvv(:,:,:,Krhs)), clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )209 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=puu(:,:,:,Krhs), clinfo1=' vor - Ua: ', mask1=umask, & 210 & tab3d_2=pvv(:,:,:,Krhs), clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 211 211 ! 212 212 IF( ln_timing ) CALL timing_stop('dyn_vor') … … 240 240 ! 241 241 INTEGER :: ji, jj, jk ! dummy loop indices 242 REAL( wp) :: zx1, zy1, zx2, zy2 ! local scalars243 REAL( wp), DIMENSION(A2D(nn_hls)) :: zwx, zwy, zwt ! 2D workspace244 REAL( wp), ALLOCATABLE, DIMENSION(:,:,:) :: zwz ! 3D workspace, jpkm1 -> avoid lbc_lnk on jpk that is not defined242 REAL(dp) :: zx1, zy1, zx2, zy2 ! local scalars 243 REAL(dp), DIMENSION(A2D(nn_hls)) :: zwx, zwy, zwt ! 2D workspace 244 REAL(dp), ALLOCATABLE, DIMENSION(:,:,:) :: zwz ! 3D workspace, jpkm1 -> avoid lbc_lnk on jpk that is not defined 245 245 !!---------------------------------------------------------------------- 246 246 ! … … 360 360 ! 361 361 INTEGER :: ji, jj, jk ! dummy loop indices 362 REAL( wp) :: zx1, zy1, zx2, zy2, ze3f, zmsk ! local scalars363 REAL( wp), DIMENSION(A2D(nn_hls)) :: zwx, zwy, zwz ! 2D workspace362 REAL(dp) :: zx1, zy1, zx2, zy2, ze3f, zmsk ! local scalars 363 REAL(dp), DIMENSION(A2D(nn_hls)) :: zwx, zwy, zwz ! 2D workspace 364 364 !!---------------------------------------------------------------------- 365 365 ! … … 493 493 ! 494 494 INTEGER :: ji, jj, jk ! dummy loop indices 495 REAL( wp) :: zuav, zvau, ze3f, zmsk ! local scalars496 REAL( wp), DIMENSION(A2D(nn_hls)) :: zwx, zwy, zwz ! 2D workspace495 REAL(dp) :: zuav, zvau, ze3f, zmsk ! local scalars 496 REAL(dp), DIMENSION(A2D(nn_hls)) :: zwx, zwy, zwz ! 2D workspace 497 497 !!---------------------------------------------------------------------- 498 498 ! … … 625 625 INTEGER :: ierr ! local integer 626 626 REAL(wp) :: zua, zva ! local scalars 627 REAL( wp) :: zmsk, ze3f ! local scalars627 REAL(dp) :: zmsk, ze3f ! local scalars 628 628 REAL(wp), DIMENSION(A2D(nn_hls)) :: z1_e3f 629 629 #if defined key_loop_fusion … … 635 635 REAL(wp), DIMENSION(A2D(nn_hls)) :: ztnw, ztne, ztsw, ztse 636 636 #endif 637 REAL( wp), DIMENSION(A2D(nn_hls),jpkm1) :: zwz ! 3D workspace, jpkm1 -> jpkm1 -> avoid lbc_lnk on jpk that is not defined637 REAL(dp), DIMENSION(A2D(nn_hls),jpkm1) :: zwz ! 3D workspace, jpkm1 -> jpkm1 -> avoid lbc_lnk on jpk that is not defined 638 638 !!---------------------------------------------------------------------- 639 639 ! … … 823 823 INTEGER :: ji, jj, jk ! dummy loop indices 824 824 INTEGER :: ierr ! local integer 825 REAL( wp) :: zua, zva ! local scalars826 REAL( wp) :: zmsk, z1_e3t ! local scalars827 REAL( wp), DIMENSION(A2D(nn_hls)) :: zwx , zwy828 REAL( wp), DIMENSION(A2D(nn_hls)) :: ztnw, ztne, ztsw, ztse829 REAL( wp), DIMENSION(A2D(nn_hls),jpkm1) :: zwz ! 3D workspace, avoid lbc_lnk on jpk that is not defined825 REAL(dp) :: zua, zva ! local scalars 826 REAL(dp) :: zmsk, z1_e3t ! local scalars 827 REAL(dp), DIMENSION(A2D(nn_hls)) :: zwx , zwy 828 REAL(dp), DIMENSION(A2D(nn_hls)) :: ztnw, ztne, ztsw, ztse 829 REAL(dp), DIMENSION(A2D(nn_hls),jpkm1) :: zwz ! 3D workspace, avoid lbc_lnk on jpk that is not defined 830 830 !!---------------------------------------------------------------------- 831 831 !
Note: See TracChangeset
for help on using the changeset viewer.