Changeset 15540 for NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/TRA/traldf_iso.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/TRA/traldf_iso.F90
r14986 r15540 42 42 !! * Substitutions 43 43 # include "do_loop_substitute.h90" 44 # include "single_precision_substitute.h90" 44 45 # include "domzgr_substitute.h90" 45 46 !!---------------------------------------------------------------------- … … 60 61 INTEGER , INTENT(in ) :: kpass ! =1/2 first or second passage 61 62 INTEGER , INTENT(in ) :: Kmm ! ocean time level index 62 REAL( wp), DIMENSION(:,:,:) , INTENT(in ) :: pahu, pahv ! eddy diffusivity at u- and v-points [m2/s]63 REAL( wp), DIMENSION(:,:,:) , INTENT(in ) :: pgu, pgv ! tracer gradient at pstep levels64 REAL( wp), DIMENSION(:,:,:) , INTENT(in ) :: pgui, pgvi ! tracer gradient at top levels65 REAL( wp), DIMENSION(:,:,:,:), INTENT(in ) :: pt ! tracer (kpass=1) or laplacian of tracer (kpass=2)66 REAL( wp), DIMENSION(:,:,:,:), INTENT(in ) :: pt2 ! tracer (only used in kpass=2)63 REAL(dp), DIMENSION(:,:,:) , INTENT(in ) :: pahu, pahv ! eddy diffusivity at u- and v-points [m2/s] 64 REAL(dp), DIMENSION(:,:,:) , INTENT(in ) :: pgu, pgv ! tracer gradient at pstep levels 65 REAL(dp), DIMENSION(:,:,:) , INTENT(in ) :: pgui, pgvi ! tracer gradient at top levels 66 REAL(dp), DIMENSION(:,:,:,:), INTENT(in ) :: pt ! tracer (kpass=1) or laplacian of tracer (kpass=2) 67 REAL(dp), DIMENSION(:,:,:,:), INTENT(in ) :: pt2 ! tracer (only used in kpass=2) 67 68 REAL(dp), DIMENSION(:,:,:,:), INTENT(inout) :: pt_rhs ! tracer trend 68 69 !! … … 123 124 INTEGER , INTENT(in ) :: Kmm ! ocean time level index 124 125 INTEGER , INTENT(in ) :: ktah, ktg, ktgi, ktt, ktt2, ktt_rhs 125 REAL( wp), DIMENSION(A2D_T(ktah) ,JPK) , INTENT(in ) :: pahu, pahv ! eddy diffusivity at u- and v-points [m2/s]126 REAL( wp), DIMENSION(A2D_T(ktg) ,KJPT), INTENT(in ) :: pgu, pgv ! tracer gradient at pstep levels127 REAL( wp), DIMENSION(A2D_T(ktgi) ,KJPT), INTENT(in ) :: pgui, pgvi ! tracer gradient at top levels128 REAL( wp), DIMENSION(A2D_T(ktt) ,JPK,KJPT), INTENT(in ) :: pt ! tracer (kpass=1) or laplacian of tracer (kpass=2)129 REAL( wp), DIMENSION(A2D_T(ktt2) ,JPK,KJPT), INTENT(in ) :: pt2 ! tracer (only used in kpass=2)126 REAL(dp), DIMENSION(A2D_T(ktah) ,JPK) , INTENT(in ) :: pahu, pahv ! eddy diffusivity at u- and v-points [m2/s] 127 REAL(dp), DIMENSION(A2D_T(ktg) ,KJPT), INTENT(in ) :: pgu, pgv ! tracer gradient at pstep levels 128 REAL(dp), DIMENSION(A2D_T(ktgi) ,KJPT), INTENT(in ) :: pgui, pgvi ! tracer gradient at top levels 129 REAL(dp), DIMENSION(A2D_T(ktt) ,JPK,KJPT), INTENT(in ) :: pt ! tracer (kpass=1) or laplacian of tracer (kpass=2) 130 REAL(dp), DIMENSION(A2D_T(ktt2) ,JPK,KJPT), INTENT(in ) :: pt2 ! tracer (only used in kpass=2) 130 131 REAL(dp), DIMENSION(A2D_T(ktt_rhs),JPK,KJPT), INTENT(inout) :: pt_rhs ! tracer trend 131 132 ! … … 136 137 REAL(wp) :: zmskv, zahv_w, zabe2, zcof2, zcoef4 ! - - 137 138 REAL(wp) :: zcoef0, ze3w_2, zsign ! - - 138 REAL(wp), DIMENSION(A2D(nn_hls)) :: zdkt, zdk1t, z2d 139 REAL(wp), DIMENSION(A2D(nn_hls)) :: zdkt, zdk1t 140 REAL(dp), DIMENSION(A2D(nn_hls)) :: z2d 139 141 REAL(wp), DIMENSION(A2D(nn_hls),jpk) :: zdit, zdjt, zftu, zftv, ztfw 140 142 !!---------------------------------------------------------------------- … … 394 396 ! ! "Poleward" diffusive heat or salt transports (T-S case only) 395 397 ! note sign is reversed to give down-gradient diffusive transports ) 396 IF( l_ptr ) CALL dia_ptr_hst( jn, 'ldf', -zftv(:,:,:) )398 IF( l_ptr ) CALL dia_ptr_hst( jn, 'ldf', CASTDP(-zftv(:,:,:)) ) 397 399 ! ! Diffusive heat transports 398 IF( l_hst ) CALL dia_ar5_hst( jn, 'ldf', -zftu(:,:,:), -zftv(:,:,:) )400 IF( l_hst ) CALL dia_ar5_hst( jn, 'ldf', CASTDP(-zftu(:,:,:)), CASTDP(-zftv(:,:,:)) ) 399 401 ! 400 402 ENDIF !== end pass selection ==!
Note: See TracChangeset
for help on using the changeset viewer.