- Timestamp:
- 2020-01-27T15:31:53+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DIA/diaptr.F90
r12193 r12340 62 62 !! * Substitutions 63 63 # include "vectopt_loop_substitute.h90" 64 # include "do_loop_substitute.h90" 64 65 !!---------------------------------------------------------------------- 65 66 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 117 118 zmask(:,:,:) = 0._wp 118 119 zts(:,:,:,:) = 0._wp 119 DO jk = 1, jpkm1 120 DO jj = 1, jpjm1 121 DO ji = 1, jpi 122 zvfc = e1v(ji,jj) * e3v(ji,jj,jk,Kmm) 123 zmask(ji,jj,jk) = vmask(ji,jj,jk) * zvfc 124 zts(ji,jj,jk,jp_tem) = (ts(ji,jj,jk,jp_tem,Kmm)+ts(ji,jj+1,jk,jp_tem,Kmm)) * 0.5 * zvfc !Tracers averaged onto V grid 125 zts(ji,jj,jk,jp_sal) = (ts(ji,jj,jk,jp_sal,Kmm)+ts(ji,jj+1,jk,jp_sal,Kmm)) * 0.5 * zvfc 126 ENDDO 127 ENDDO 128 ENDDO 120 DO_3D_10_11( 1, jpkm1 ) 121 zvfc = e1v(ji,jj) * e3v(ji,jj,jk,Kmm) 122 zmask(ji,jj,jk) = vmask(ji,jj,jk) * zvfc 123 zts(ji,jj,jk,jp_tem) = (ts(ji,jj,jk,jp_tem,Kmm)+ts(ji,jj+1,jk,jp_tem,Kmm)) * 0.5 * zvfc !Tracers averaged onto V grid 124 zts(ji,jj,jk,jp_sal) = (ts(ji,jj,jk,jp_sal,Kmm)+ts(ji,jj+1,jk,jp_sal,Kmm)) * 0.5 * zvfc 125 END_3D 129 126 ENDIF 130 127 IF( iom_use( 'sopstove' ) .OR. iom_use( 'sophtove' ) ) THEN … … 192 189 zts(:,:,:,:) = 0._wp 193 190 IF( iom_use( 'zotem' ) .OR. iom_use( 'zosal' ) .OR. iom_use( 'zosrf' ) ) THEN ! i-mean i-k-surface 194 DO jk = 1, jpkm1 195 DO jj = 1, jpj 196 DO ji = 1, jpi 197 zsfc = e1t(ji,jj) * e3t(ji,jj,jk,Kmm) 198 zmask(ji,jj,jk) = tmask(ji,jj,jk) * zsfc 199 zts(ji,jj,jk,jp_tem) = ts(ji,jj,jk,jp_tem,Kmm) * zsfc 200 zts(ji,jj,jk,jp_sal) = ts(ji,jj,jk,jp_sal,Kmm) * zsfc 201 END DO 202 END DO 203 END DO 191 DO_3D_11_11( 1, jpkm1 ) 192 zsfc = e1t(ji,jj) * e3t(ji,jj,jk,Kmm) 193 zmask(ji,jj,jk) = tmask(ji,jj,jk) * zsfc 194 zts(ji,jj,jk,jp_tem) = ts(ji,jj,jk,jp_tem,Kmm) * zsfc 195 zts(ji,jj,jk,jp_sal) = ts(ji,jj,jk,jp_sal,Kmm) * zsfc 196 END_3D 204 197 ! 205 198 DO jn = 1, nptr … … 286 279 IF( iom_use( 'sopstvtr' ) .OR. iom_use( 'sophtvtr' ) ) THEN 287 280 zts(:,:,:,:) = 0._wp 288 DO jk = 1, jpkm1 289 DO jj = 1, jpjm1 290 DO ji = 1, jpi 291 zvfc = e1v(ji,jj) * e3v(ji,jj,jk,Kmm) 292 zts(ji,jj,jk,jp_tem) = (ts(ji,jj,jk,jp_tem,Kmm)+ts(ji,jj+1,jk,jp_tem,Kmm)) * 0.5 * zvfc !Tracers averaged onto V grid 293 zts(ji,jj,jk,jp_sal) = (ts(ji,jj,jk,jp_sal,Kmm)+ts(ji,jj+1,jk,jp_sal,Kmm)) * 0.5 * zvfc 294 ENDDO 295 ENDDO 296 ENDDO 281 DO_3D_10_11( 1, jpkm1 ) 282 zvfc = e1v(ji,jj) * e3v(ji,jj,jk,Kmm) 283 zts(ji,jj,jk,jp_tem) = (ts(ji,jj,jk,jp_tem,Kmm)+ts(ji,jj+1,jk,jp_tem,Kmm)) * 0.5 * zvfc !Tracers averaged onto V grid 284 zts(ji,jj,jk,jp_sal) = (ts(ji,jj,jk,jp_sal,Kmm)+ts(ji,jj+1,jk,jp_sal,Kmm)) * 0.5 * zvfc 285 END_3D 297 286 CALL dia_ptr_hst( jp_tem, 'vtr', zts(:,:,:,jp_tem) ) 298 287 CALL dia_ptr_hst( jp_sal, 'vtr', zts(:,:,:,jp_sal) ) … … 515 504 ijpj = jpj 516 505 p_fval(:) = 0._wp 517 DO jk = 1, jpkm1 518 DO jj = 2, jpjm1 519 DO ji = fs_2, fs_jpim1 ! Vector opt. 520 p_fval(jj) = p_fval(jj) + pvflx(ji,jj,jk) * pmsk(ji,jj) * tmask_i(ji,jj) 521 END DO 522 END DO 523 END DO 506 DO_3D_00_00( 1, jpkm1 ) 507 p_fval(jj) = p_fval(jj) + pvflx(ji,jj,jk) * pmsk(ji,jj) * tmask_i(ji,jj) 508 END_3D 524 509 #if defined key_mpp_mpi 525 510 CALL mpp_sum( 'diaptr', p_fval, ijpj, ncomm_znl) … … 552 537 ijpj = jpj 553 538 p_fval(:) = 0._wp 554 DO jj = 2, jpjm1 555 DO ji = fs_2, fs_jpim1 ! Vector opt. 556 p_fval(jj) = p_fval(jj) + pvflx(ji,jj) * pmsk(ji,jj) * tmask_i(ji,jj) 557 END DO 558 END DO 539 DO_2D_00_00 540 p_fval(jj) = p_fval(jj) + pvflx(ji,jj) * pmsk(ji,jj) * tmask_i(ji,jj) 541 END_2D 559 542 #if defined key_mpp_mpi 560 543 CALL mpp_sum( 'diaptr', p_fval, ijpj, ncomm_znl ) … … 583 566 p_fval(:,:) = 0._wp 584 567 DO jc = 1, jpnj ! looping over all processors in j axis 585 DO jj = 2, jpjm1 586 DO ji = fs_2, fs_jpim1 ! Vector opt. 587 p_fval(ji,jj) = p_fval(ji,jj-1) + pva(ji,jj) * tmask_i(ji,jj) 588 END DO 589 END DO 568 DO_2D_00_00 569 p_fval(ji,jj) = p_fval(ji,jj-1) + pva(ji,jj) * tmask_i(ji,jj) 570 END_2D 590 571 CALL lbc_lnk( 'diaptr', p_fval, 'U', -1. ) 591 572 END DO … … 624 605 p_fval(:,:) = 0._wp 625 606 ! 626 DO jk = 1, jpkm1 627 DO jj = 2, jpjm1 628 DO ji = fs_2, fs_jpim1 ! Vector opt. 629 p_fval(jj,jk) = p_fval(jj,jk) + pta(ji,jj,jk) * pmsk(ji,jj) * tmask_i(ji,jj) 630 END DO 631 END DO 632 END DO 607 DO_3D_00_00( 1, jpkm1 ) 608 p_fval(jj,jk) = p_fval(jj,jk) + pta(ji,jj,jk) * pmsk(ji,jj) * tmask_i(ji,jj) 609 END_3D 633 610 ! 634 611 #if defined key_mpp_mpi
Note: See TracChangeset
for help on using the changeset viewer.