- Timestamp:
- 2017-02-06T16:21:14+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/GO6_dyn_vrt_diag/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90
r6486 r7649 38 38 USE wrk_nemo ! Memory Allocation 39 39 USE timing ! Timing 40 USE divcur ! For dyn_vrt_dia 40 41 41 42 … … 560 561 REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) :: pva ! total v-trend 561 562 !! 563 INTEGER :: id_dia_vrt_vor_int = 1 ! TODO remove once flags set properly 564 INTEGER :: id_dia_vrt_vor_mn = 1 ! TODO remove once flags set properly 562 565 INTEGER :: ji, jj, jk ! dummy loop indices 563 566 INTEGER :: ierr ! local integer 564 REAL(wp) :: zfac12 , zua, zva! local scalars567 REAL(wp) :: zfac12 ! local scalars 565 568 REAL(wp) :: zmsk, ze3 ! local scalars 566 569 ! ! 3D workspace 567 570 REAL(wp), POINTER , DIMENSION(:,: ) :: zwx, zwy, zwz 568 571 REAL(wp), POINTER , DIMENSION(:,: ) :: ztnw, ztne, ztsw, ztse 572 REAL(wp), POINTER , DIMENSION(:,:,:) :: zua, zva 569 573 #if defined key_vvl 570 574 REAL(wp), POINTER , DIMENSION(:,:,:) :: ze3f ! 3D workspace (lk_vvl=T) … … 578 582 CALL wrk_alloc( jpi, jpj, zwx , zwy , zwz ) 579 583 CALL wrk_alloc( jpi, jpj, ztnw, ztne, ztsw, ztse ) 584 CALL wrk_alloc( jpi, jpj, jpk, zua, zva ) 580 585 #if defined key_vvl 581 586 CALL wrk_alloc( jpi, jpj, jpk, ze3f ) … … 687 692 DO jj = 2, jpjm1 688 693 DO ji = fs_2, fs_jpim1 ! vector opt. 689 zua = + zfac12 / e1u(ji,jj) * ( ztne(ji,jj ) * zwy(ji ,jj ) + ztnw(ji+1,jj) * zwy(ji+1,jj ) & 690 & + ztse(ji,jj ) * zwy(ji ,jj-1) + ztsw(ji+1,jj) * zwy(ji+1,jj-1) ) 691 zva = - zfac12 / e2v(ji,jj) * ( ztsw(ji,jj+1) * zwx(ji-1,jj+1) + ztse(ji,jj+1) * zwx(ji ,jj+1) & 692 & + ztnw(ji,jj ) * zwx(ji-1,jj ) + ztne(ji,jj ) * zwx(ji ,jj ) ) 693 pua(ji,jj,jk) = pua(ji,jj,jk) + zua 694 pva(ji,jj,jk) = pva(ji,jj,jk) + zva 694 zua(ji,jj,jk) = + zfac12 / e1u(ji,jj) * ( ztne(ji,jj ) * zwy(ji ,jj ) & 695 & + ztnw(ji+1,jj) * zwy(ji+1,jj ) & 696 & + ztse(ji,jj ) * zwy(ji ,jj-1) & 697 & + ztsw(ji+1,jj) * zwy(ji+1,jj-1) ) 698 zva(ji,jj,jk) = - zfac12 / e2v(ji,jj) * ( ztsw(ji,jj+1) * zwx(ji-1,jj+1) & 699 & + ztse(ji,jj+1) * zwx(ji ,jj+1) & 700 & + ztnw(ji,jj ) * zwx(ji-1,jj ) & 701 & + ztne(ji,jj ) * zwx(ji ,jj ) ) 702 pua(ji,jj,jk) = pua(ji,jj,jk) + zua(ji,jj,jk) 703 pva(ji,jj,jk) = pva(ji,jj,jk) + zva(ji,jj,jk) 695 704 END DO 696 705 END DO … … 698 707 END DO ! End of slab 699 708 ! ! =============== 709 IF ( ( id_dia_vrt_vor_int == 1 ) .or. ( id_dia_vrt_vor_mn == 1 ) ) THEN 710 CALL dyn_vrt_dia(zua, zva, id_dia_vrt_vor_int, id_dia_vrt_vor_mn) 711 END IF 712 ! 700 713 CALL wrk_dealloc( jpi, jpj, zwx , zwy , zwz ) 701 714 CALL wrk_dealloc( jpi, jpj, ztnw, ztne, ztsw, ztse ) 715 CALL wrk_dealloc( jpi, jpj, jpk, zua, zva ) 702 716 #if defined key_vvl 703 717 CALL wrk_dealloc( jpi, jpj, jpk, ze3f )
Note: See TracChangeset
for help on using the changeset viewer.