Changeset 15193 for NEMO/branches/2021
- Timestamp:
- 2021-08-13T15:18:24+02:00 (3 years ago)
- Location:
- NEMO/branches/2021/dev_r14318_RK3_stage1/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE/TRA/traadv.F90
r14381 r15193 10 10 !! - ! 2014-12 (G. Madec) suppression of cross land advection option 11 11 !! 3.6 ! 2015-06 (E. Clementi) Addition of Stokes drift in case of wave coupling 12 !! 4.5 ! 2021-04 (G. Madec, S. Techene) add advective velocities as optional arguments 12 13 !!---------------------------------------------------------------------- 13 14 … … 46 47 PRIVATE 47 48 48 PUBLIC tra_adv ! called by step.F90 49 PUBLIC tra_adv ! called by step.F90, stpmlf.F90 and stprk3_stg.F90 49 50 PUBLIC tra_adv_init ! called by nemogcm.F90 50 51 … … 86 87 !! ** Purpose : compute the ocean tracer advection trend. 87 88 !! 88 !! ** Method : - Update (uu(:,:,:,Krhs),vv(:,:,:,Krhs)) with the advection termfollowing nadv89 !! ** Method : - Update ts(Krhs) with the advective trend following nadv 89 90 !!---------------------------------------------------------------------- 90 91 INTEGER , INTENT(in ) :: kt ! ocean time-step index … … 156 157 ENDIF 157 158 ! 159 !!st the do loop below should be useless ==>> to be checked 158 160 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 159 zuu(ji,jj,jpk) = 0._wp ! no transport trough the bottom 161 zuu(ji,jj,jpk) = 0._wp ! no transport trough the bottom 160 162 zvv(ji,jj,jpk) = 0._wp 161 163 zww(ji,jj,jpk) = 0._wp … … 192 194 ! 193 195 CASE ( np_CEN ) ! Centered scheme : 2nd / 4th order 194 IF (nn_hls.EQ.2) CALL lbc_lnk( 'traadv', pts(:,:,:,:,Kmm), 'T', 1.)196 IF( nn_hls == 2 ) CALL lbc_lnk( 'traadv', pts(:,:,:,:,Kmm), 'T', 1._wp ) 195 197 CALL tra_adv_cen ( kt, nit000, 'TRA', zuu, zvv, zww, Kmm, pts, jpts, Krhs, nn_cen_h, nn_cen_v ) 196 198 CASE ( np_FCT ) ! FCT scheme : 2nd / 4th order 197 IF (nn_hls.EQ.2) THEN198 CALL lbc_lnk_multi( 'traadv', pts(:,:,:,:,Kbb), 'T', 1. , pts(:,:,:,:,Kmm), 'T', 1.)199 CALL lbc_lnk_multi( 'traadv', zuu(:,:,:), 'U', -1. , zvv(:,:,:), 'V', -1., zww(:,:,:), 'W', 1.)199 IF( nn_hls == 2 ) THEN 200 CALL lbc_lnk_multi( 'traadv', pts(:,:,:,:,Kbb), 'T', 1._wp, pts(:,:,:,:,Kmm), 'T', 1._wp) 201 CALL lbc_lnk_multi( 'traadv', zuu(:,:,:), 'U', -1._wp, zvv(:,:,:), 'V', -1._wp, zww(:,:,:), 'W', 1._wp) 200 202 #if defined key_loop_fusion 201 203 CALL tra_adv_fct_lf ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, nn_fct_h, nn_fct_v ) … … 207 209 END IF 208 210 CASE ( np_MUS ) ! MUSCL 209 IF (nn_hls.EQ.2) THEN210 CALL lbc_lnk( 'traadv', pts(:,:,:,:,Kbb), 'T', 1. )211 IF( nn_hls == 2 ) THEN 212 CALL lbc_lnk( 'traadv', pts(:,:,:,:,Kbb), 'T', 1._wp) 211 213 #if defined key_loop_fusion 212 214 CALL tra_adv_mus_lf ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, ln_mus_ups ) … … 218 220 END IF 219 221 CASE ( np_UBS ) ! UBS 220 IF (nn_hls.EQ.2) CALL lbc_lnk( 'traadv', pts(:,:,:,:,Kbb), 'T', 1.)222 IF( nn_hls == 2) CALL lbc_lnk( 'traadv', pts(:,:,:,:,Kbb), 'T', 1._wp) 221 223 CALL tra_adv_ubs ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, nn_ubs_v ) 222 224 CASE ( np_QCK ) ! QUICKEST 223 IF (nn_hls.EQ.2) THEN224 CALL lbc_lnk_multi( 'traadv', zuu(:,:,:), 'U', -1. , zvv(:,:,:), 'V', -1.)225 CALL lbc_lnk( 'traadv', pts(:,:,:,:,Kbb), 'T', 1. )225 IF( nn_hls == 2 ) THEN 226 CALL lbc_lnk_multi( 'traadv', zuu(:,:,:), 'U', -1._wp, zvv(:,:,:), 'V', -1._wp) 227 CALL lbc_lnk( 'traadv', pts(:,:,:,:,Kbb), 'T', 1._wp) 226 228 END IF 227 229 CALL tra_adv_qck ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs ) -
NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE/stpmlf.F90
r14800 r15193 93 93 !! -8- Outputs and diagnostics 94 94 !!---------------------------------------------------------------------- 95 INTEGER :: ji, jj, jk, j tile ! dummy loop indice95 INTEGER :: ji, jj, jk, jn, jtile ! dummy loop indice 96 96 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zgdept 97 97 REAL(wp), TARGET , DIMENSION(jpi,jpj,jpk) :: zau, zav, zaw ! advective velocity … … 295 295 IF( ln_tile ) CALL dom_tile( ntsi, ntsj, ntei, ntej, ktile = jtile ) 296 296 297 DO_3D( 0, 0, 0, 0, 1, jpk ) 298 ts(ji,jj,jk,:,Nrhs) = 0._wp ! set tracer trends to zero 299 END_3D 297 DO jn = 1, jpts 298 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 299 ts(ji,jj,jk,jn,Nrhs) = 0._wp ! set tracer trends to zero 300 END_3D 301 END DO 300 302 301 303 IF( lk_asminc .AND. ln_asmiau .AND. & -
NEMO/branches/2021/dev_r14318_RK3_stage1/src/TOP/AGE/trcsms_age.F90
r14173 r15193 52 52 IF( ln_timing ) CALL timing_start('trc_sms_age') 53 53 ! 54 IF(lwp) WRITE(numout,*) 55 IF(lwp) WRITE(numout,*) ' trc_sms_age: AGE model' 56 IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 54 IF( kt == nittrc000 ) THEN 55 IF(lwp) WRITE(numout,*) 56 IF(lwp) WRITE(numout,*) ' trc_sms_age: AGE model' 57 IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 58 ENDIF 57 59 60 #if ! defined key_RK3 58 61 IF( l_1st_euler .OR. ln_top_euler ) THEN 59 62 tr(:,:,:,jp_age,Kbb) = tr(:,:,:,jp_age,Kmm) 60 63 ENDIF 61 64 #endif 62 65 63 66 DO jk = 1, nla_age … … 72 75 END DO 73 76 ! 74 IF( l_trdtrc )CALL trd_trc( tr(:,:,:,jp_age,Krhs), jn, jptra_sms, kt, Kmm ) ! save trends77 IF( l_trdtrc ) CALL trd_trc( tr(:,:,:,jp_age,Krhs), jn, jptra_sms, kt, Kmm ) ! save trends 75 78 ! 76 79 IF( ln_timing ) CALL timing_stop('trc_sms_age')
Note: See TracChangeset
for help on using the changeset viewer.