New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 14986 for NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/TOP/TRP/trcadv.F90 – NEMO

Ignore:
Timestamp:
2021-06-14T13:34:08+02:00 (3 years ago)
Author:
sparonuz
Message:

Merge trunk -r14984:HEAD

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/TOP/TRP/trcadv.F90

    r14644 r14986  
    2323   USE traadv_cen     ! centered scheme           (tra_adv_cen  routine) 
    2424   USE traadv_fct     ! FCT      scheme           (tra_adv_fct  routine) 
    25    USE traadv_fct_lf  ! FCT      scheme           (tra_adv_fct  routine - loop fusion version) 
    2625   USE traadv_mus     ! MUSCL    scheme           (tra_adv_mus  routine) 
    27    USE traadv_mus_lf  ! MUSCL    scheme           (tra_adv_mus  routine - loop fusion version) 
    2826   USE traadv_ubs     ! UBS      scheme           (tra_adv_ubs  routine) 
    2927   USE traadv_qck     ! QUICKEST scheme           (tra_adv_qck  routine) 
     
    6361    
    6462#  include "domzgr_substitute.h90" 
    65 #  include "single_precision_substitute.h90" 
    6663   !!---------------------------------------------------------------------- 
    6764   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
     
    8178      INTEGER                                   , INTENT(in)    :: kt   ! ocean time-step index 
    8279      INTEGER                                   , INTENT(in)    :: Kbb, Kmm, Krhs ! time level indices 
    83       REAL(dp), DIMENSION(jpi,jpj,jpk,jptra,jpt), INTENT(inout) :: ptr            ! passive tracers and RHS of tracer equation 
     80      REAL(wp), DIMENSION(jpi,jpj,jpk,jptra,jpt), INTENT(inout) :: ptr            ! passive tracers and RHS of tracer equation 
    8481      ! 
    8582      INTEGER ::   jk   ! dummy loop index 
     
    128125      ! 
    129126      CASE ( np_CEN )                                 ! Centered : 2nd / 4th order 
    130          IF (nn_hls.EQ.2) CALL lbc_lnk( 'trcadv', ptr(:,:,:,:,Kmm), 'T', 1._wp) 
    131127         CALL tra_adv_cen( kt, nittrc000,'TRC',          zuu, zvv, zww,      Kmm, ptr, jptra, Krhs, nn_cen_h, nn_cen_v ) 
    132128      CASE ( np_FCT )                                 ! FCT      : 2nd / 4th order 
    133          IF (nn_hls.EQ.2) THEN 
    134 <<<<<<< .working 
    135             CALL lbc_lnk_multi( 'trcadv', ptr(:,:,:,:,Kbb), 'T', 1._wp, ptr(:,:,:,:,Kmm), 'T', 1._wp) 
    136             CALL lbc_lnk_multi( 'traadv', zuu(:,:,:), 'U', -1._wp, zvv(:,:,:), 'V', -1._wp, zww(:,:,:), 'W', 1._wp) 
    137 ||||||| .merge-left.r14199 
    138             CALL lbc_lnk_multi( 'trcadv', ptr(:,:,:,:,Kbb), 'T', 1., ptr(:,:,:,:,Kmm), 'T', 1.) 
    139             CALL lbc_lnk_multi( 'traadv', zuu(:,:,:), 'U', -1., zvv(:,:,:), 'V', -1., zww(:,:,:), 'W', 1.) 
    140 ======= 
    141             CALL lbc_lnk( 'trcadv', ptr(:,:,:,:,Kbb), 'T', 1., ptr(:,:,:,:,Kmm), 'T', 1.) 
    142             CALL lbc_lnk( 'traadv', zuu(:,:,:), 'U', -1., zvv(:,:,:), 'V', -1., zww(:,:,:), 'W', 1.) 
    143 >>>>>>> .merge-right.r14642 
    144 #if defined key_loop_fusion 
    145             CALL tra_adv_fct_lf( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_fct_h, nn_fct_v ) 
    146 #else 
    147129            CALL tra_adv_fct( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_fct_h, nn_fct_v ) 
    148 #endif 
    149          ELSE 
    150             CALL tra_adv_fct( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_fct_h, nn_fct_v ) 
    151          END IF 
    152130      CASE ( np_MUS )                                 ! MUSCL 
    153          IF (nn_hls.EQ.2) THEN 
    154 <<<<<<< .working 
    155             IF (nn_hls.EQ.2) CALL lbc_lnk( 'trcadv', ptr(:,:,:,:,Kbb), 'T', 1._wp) 
    156 ||||||| .merge-left.r14199 
    157             IF (nn_hls.EQ.2) CALL lbc_lnk( 'trcadv', ptr(:,:,:,:,Kbb), 'T', 1.) 
    158 ======= 
    159             CALL lbc_lnk( 'trcadv', ptr(:,:,:,:,Kbb), 'T', 1.) 
    160 >>>>>>> .merge-right.r14642 
    161 #if defined key_loop_fusion 
    162             CALL tra_adv_mus_lf( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, ln_mus_ups )  
    163 #else 
    164             CALL tra_adv_mus( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, ln_mus_ups )  
    165 #endif 
    166          ELSE 
    167             CALL tra_adv_mus( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, ln_mus_ups )  
    168          END IF 
     131            CALL tra_adv_mus( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, ln_mus_ups ) 
    169132      CASE ( np_UBS )                                 ! UBS 
    170          IF (nn_hls.EQ.2) CALL lbc_lnk( 'trcadv', ptr(:,:,:,:,Kbb), 'T', 1._wp) 
    171133         CALL tra_adv_ubs( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_ubs_v           ) 
    172134      CASE ( np_QCK )                                 ! QUICKEST 
    173          IF (nn_hls.EQ.2) THEN 
    174 <<<<<<< .working 
    175             CALL lbc_lnk_multi( 'trcadv', zuu(:,:,:), 'U', -1._wp, zvv(:,:,:), 'V', -1._wp) 
    176             CALL lbc_lnk( 'traadv', ptr(:,:,:,:,Kbb), 'T', 1._wp) 
    177 ||||||| .merge-left.r14199 
    178             CALL lbc_lnk_multi( 'trcadv', zuu(:,:,:), 'U', -1., zvv(:,:,:), 'V', -1.) 
    179             CALL lbc_lnk( 'traadv', ptr(:,:,:,:,Kbb), 'T', 1.) 
    180 ======= 
    181             CALL lbc_lnk( 'trcadv', zuu(:,:,:), 'U', -1., zvv(:,:,:), 'V', -1.) 
    182             CALL lbc_lnk( 'traadv', ptr(:,:,:,:,Kbb), 'T', 1.) 
    183 >>>>>>> .merge-right.r14642 
    184          END IF 
    185135         CALL tra_adv_qck( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs                     ) 
    186136      ! 
     
    190140         WRITE(charout, FMT="('adv ')") 
    191141         CALL prt_ctl_info( charout, cdcomp = 'top' ) 
    192          CALL prt_ctl( tab4d_1=CASTWP(tr(:,:,:,:,Krhs)), mask1=tmask, clinfo=ctrcnm, clinfo3='trd' ) 
     142         CALL prt_ctl( tab4d_1=tr(:,:,:,:,Krhs), mask1=tmask, clinfo=ctrcnm, clinfo3='trd' ) 
    193143      END IF 
    194144      ! 
Note: See TracChangeset for help on using the changeset viewer.