Changeset 14219 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/TRP/trcadv.F90
- Timestamp:
- 2020-12-18T18:52:57+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/TOP/TRP/trcadv.F90
r14086 r14219 63 63 64 64 # include "domzgr_substitute.h90" 65 # include "single_precision_substitute.h90" 65 66 !!---------------------------------------------------------------------- 66 67 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 80 81 INTEGER , INTENT(in) :: kt ! ocean time-step index 81 82 INTEGER , INTENT(in) :: Kbb, Kmm, Krhs ! time level indices 82 REAL( wp), DIMENSION(jpi,jpj,jpk,jptra,jpt), INTENT(inout) :: ptr ! passive tracers and RHS of tracer equation83 REAL(dp), DIMENSION(jpi,jpj,jpk,jptra,jpt), INTENT(inout) :: ptr ! passive tracers and RHS of tracer equation 83 84 ! 84 85 INTEGER :: jk ! dummy loop index … … 127 128 ! 128 129 CASE ( np_CEN ) ! Centered : 2nd / 4th order 129 IF (nn_hls.EQ.2) CALL lbc_lnk( 'trcadv', ptr(:,:,:,:,Kmm), 'T', 1. )130 IF (nn_hls.EQ.2) CALL lbc_lnk( 'trcadv', ptr(:,:,:,:,Kmm), 'T', 1._wp) 130 131 CALL tra_adv_cen( kt, nittrc000,'TRC', zuu, zvv, zww, Kmm, ptr, jptra, Krhs, nn_cen_h, nn_cen_v ) 131 132 CASE ( np_FCT ) ! FCT : 2nd / 4th order 132 133 IF (nn_hls.EQ.2) THEN 133 CALL lbc_lnk_multi( 'trcadv', ptr(:,:,:,:,Kbb), 'T', 1. , ptr(:,:,:,:,Kmm), 'T', 1.)134 CALL lbc_lnk_multi( 'traadv', zuu(:,:,:), 'U', -1. , zvv(:,:,:), 'V', -1., zww(:,:,:), 'W', 1.)134 CALL lbc_lnk_multi( 'trcadv', ptr(:,:,:,:,Kbb), 'T', 1._wp, ptr(:,:,:,:,Kmm), 'T', 1._wp) 135 CALL lbc_lnk_multi( 'traadv', zuu(:,:,:), 'U', -1._wp, zvv(:,:,:), 'V', -1._wp, zww(:,:,:), 'W', 1._wp) 135 136 #if defined key_loop_fusion 136 137 CALL tra_adv_fct_lf( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_fct_h, nn_fct_v ) … … 143 144 CASE ( np_MUS ) ! MUSCL 144 145 IF (nn_hls.EQ.2) THEN 145 IF (nn_hls.EQ.2) CALL lbc_lnk( 'trcadv', ptr(:,:,:,:,Kbb), 'T', 1. )146 IF (nn_hls.EQ.2) CALL lbc_lnk( 'trcadv', ptr(:,:,:,:,Kbb), 'T', 1._wp) 146 147 #if defined key_loop_fusion 147 148 CALL tra_adv_mus_lf( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, ln_mus_ups ) … … 153 154 END IF 154 155 CASE ( np_UBS ) ! UBS 155 IF (nn_hls.EQ.2) CALL lbc_lnk( 'trcadv', ptr(:,:,:,:,Kbb), 'T', 1. )156 IF (nn_hls.EQ.2) CALL lbc_lnk( 'trcadv', ptr(:,:,:,:,Kbb), 'T', 1._wp) 156 157 CALL tra_adv_ubs( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_ubs_v ) 157 158 CASE ( np_QCK ) ! QUICKEST 158 159 IF (nn_hls.EQ.2) THEN 159 CALL lbc_lnk_multi( 'trcadv', zuu(:,:,:), 'U', -1. , zvv(:,:,:), 'V', -1.)160 CALL lbc_lnk( 'traadv', ptr(:,:,:,:,Kbb), 'T', 1. )160 CALL lbc_lnk_multi( 'trcadv', zuu(:,:,:), 'U', -1._wp, zvv(:,:,:), 'V', -1._wp) 161 CALL lbc_lnk( 'traadv', ptr(:,:,:,:,Kbb), 'T', 1._wp) 161 162 END IF 162 163 CALL tra_adv_qck( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs ) … … 167 168 WRITE(charout, FMT="('adv ')") 168 169 CALL prt_ctl_info( charout, cdcomp = 'top' ) 169 CALL prt_ctl( tab4d_1= tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm, clinfo3='trd' )170 CALL prt_ctl( tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm, clinfo3='trd' ) 170 171 END IF 171 172 !
Note: See TracChangeset
for help on using the changeset viewer.