- Timestamp:
- 2020-09-29T12:41:06+02:00 (4 years ago)
- Location:
- NEMO/branches/2020/r12377_ticket2386
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/r12377_ticket2386
- Property svn:externals
-
old new 3 3 ^/utils/build/mk@HEAD mk 4 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev @HEADext/AGRIF5 ^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS ext/AGRIF 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 8 8 9 9 # SETTE 10 ^/utils/CI/sette@ HEADsette10 ^/utils/CI/sette@13507 sette
-
- Property svn:externals
-
NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traadv_cen.F90
r12377 r13540 37 37 !! * Substitutions 38 38 # include "do_loop_substitute.h90" 39 # include "domzgr_substitute.h90" 39 40 !!---------------------------------------------------------------------- 40 41 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 103 104 ! 104 105 CASE( 2 ) !* 2nd order centered 105 DO_3D _10_10(1, jpkm1 )106 DO_3D( 1, 0, 1, 0, 1, jpkm1 ) 106 107 zwx(ji,jj,jk) = 0.5_wp * pU(ji,jj,jk) * ( pt(ji,jj,jk,jn,Kmm) + pt(ji+1,jj ,jk,jn,Kmm) ) 107 108 zwy(ji,jj,jk) = 0.5_wp * pV(ji,jj,jk) * ( pt(ji,jj,jk,jn,Kmm) + pt(ji ,jj+1,jk,jn,Kmm) ) … … 111 112 ztu(:,:,jpk) = 0._wp ! Bottom value : flux set to zero 112 113 ztv(:,:,jpk) = 0._wp 113 DO_3D _00_00( 1, jpkm1 )114 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) ! masked gradient 114 115 ztu(ji,jj,jk) = ( pt(ji+1,jj ,jk,jn,Kmm) - pt(ji,jj,jk,jn,Kmm) ) * umask(ji,jj,jk) 115 116 ztv(ji,jj,jk) = ( pt(ji ,jj+1,jk,jn,Kmm) - pt(ji,jj,jk,jn,Kmm) ) * vmask(ji,jj,jk) 116 117 END_3D 117 CALL lbc_lnk_multi( 'traadv_cen', ztu, 'U', -1. , ztv, 'V', -1.) ! Lateral boundary cond.118 CALL lbc_lnk_multi( 'traadv_cen', ztu, 'U', -1.0_wp , ztv, 'V', -1.0_wp ) ! Lateral boundary cond. 118 119 ! 119 DO_3D _00_10( 1, jpkm1 )120 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) ! Horizontal advective fluxes 120 121 zC2t_u = pt(ji,jj,jk,jn,Kmm) + pt(ji+1,jj ,jk,jn,Kmm) ! C2 interpolation of T at u- & v-points (x2) 121 122 zC2t_v = pt(ji,jj,jk,jn,Kmm) + pt(ji ,jj+1,jk,jn,Kmm) … … 127 128 zwy(ji,jj,jk) = 0.5_wp * pV(ji,jj,jk) * zC4t_v 128 129 END_3D 130 CALL lbc_lnk_multi( 'traadv_cen', zwx, 'U', -1. , zwy, 'V', -1. ) 129 131 ! 130 132 CASE DEFAULT 131 CALL ctl_stop( 'traadv_ fct: wrong value for nn_fct' )133 CALL ctl_stop( 'traadv_cen: wrong value for nn_cen' ) 132 134 END SELECT 133 135 ! … … 135 137 ! 136 138 CASE( 2 ) !* 2nd order centered 137 DO_3D _00_00(2, jpk )139 DO_3D( 0, 0, 0, 0, 2, jpk ) 138 140 zwz(ji,jj,jk) = 0.5 * pW(ji,jj,jk) * ( pt(ji,jj,jk,jn,Kmm) + pt(ji,jj,jk-1,jn,Kmm) ) * wmask(ji,jj,jk) 139 141 END_3D … … 141 143 CASE( 4 ) !* 4th order compact 142 144 CALL interp_4th_cpt( pt(:,:,:,jn,Kmm) , ztw ) ! ztw = interpolated value of T at w-point 143 DO_3D _00_00(2, jpkm1 )145 DO_3D( 0, 0, 0, 0, 2, jpkm1 ) 144 146 zwz(ji,jj,jk) = pW(ji,jj,jk) * ztw(ji,jj,jk) * wmask(ji,jj,jk) 145 147 END_3D … … 149 151 IF( ln_linssh ) THEN !* top value (linear free surf. only as zwz is multiplied by wmask) 150 152 IF( ln_isfcav ) THEN ! ice-shelf cavities (top of the ocean) 151 DO_2D _11_11153 DO_2D( 1, 1, 1, 1 ) 152 154 zwz(ji,jj, mikt(ji,jj) ) = pW(ji,jj,mikt(ji,jj)) * pt(ji,jj,mikt(ji,jj),jn,Kmm) 153 155 END_2D … … 157 159 ENDIF 158 160 ! 159 DO_3D _00_00( 1, jpkm1 )161 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) !-- Divergence of advective fluxes --! 160 162 pt(ji,jj,jk,jn,Krhs) = pt(ji,jj,jk,jn,Krhs) & 161 163 & - ( zwx(ji,jj,jk) - zwx(ji-1,jj ,jk ) & 162 164 & + zwy(ji,jj,jk) - zwy(ji ,jj-1,jk ) & 163 & + zwz(ji,jj,jk) - zwz(ji ,jj ,jk+1) ) * r1_e1e2t(ji,jj) / e3t(ji,jj,jk,Kmm) 165 & + zwz(ji,jj,jk) - zwz(ji ,jj ,jk+1) ) & 166 & * r1_e1e2t(ji,jj) / e3t(ji,jj,jk,Kmm) 164 167 END_3D 165 ! ! trend diagnostics168 ! ! trend diagnostics 166 169 IF( l_trd ) THEN 167 170 CALL trd_tra( kt, Kmm, Krhs, cdtype, jn, jptra_xad, zwx, pU, pt(:,:,:,jn,Kmm) )
Note: See TracChangeset
for help on using the changeset viewer.