Changeset 13295 for NEMO/trunk/src/OCE/LDF/ldftra.F90
- Timestamp:
- 2020-07-10T20:24:21+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/LDF/ldftra.F90
r13286 r13295 430 430 zaht_min = 0.2_wp * aht0 ! minimum value for aht 431 431 zDaht = aht0 - zaht_min 432 DO_2D _11_11432 DO_2D( 1, 1, 1, 1 ) 433 433 !!gm CAUTION : here we assume lat/lon grid in 20deg N/S band (like all ORCA cfg) 434 434 !! ==>>> The Coriolis value is identical for t- & u_points, and for v- and f-points … … 648 648 ! ! Compute lateral diffusive coefficient at T-point 649 649 IF( ln_traldf_triad ) THEN 650 DO_3D _00_00(1, jpk )650 DO_3D( 0, 0, 0, 0, 1, jpk ) 651 651 ! Take the max of N^2 and zero then take the vertical sum 652 652 ! of the square root of the resulting N^2 ( required to compute … … 662 662 END_3D 663 663 ELSE 664 DO_3D _00_00(1, jpk )664 DO_3D( 0, 0, 0, 0, 1, jpk ) 665 665 ! Take the max of N^2 and zero then take the vertical sum 666 666 ! of the square root of the resulting N^2 ( required to compute … … 678 678 ENDIF 679 679 680 DO_2D _00_00680 DO_2D( 0, 0, 0, 0 ) 681 681 zfw = MAX( ABS( 2. * omega * SIN( rad * gphit(ji,jj) ) ) , 1.e-10 ) 682 682 ! Rossby radius at w-point taken betwenn 2 km and 40km … … 688 688 ! !== Bound on eiv coeff. ==! 689 689 z1_f20 = 1._wp / ( 2._wp * omega * sin( rad * 20._wp ) ) 690 DO_2D _00_00690 DO_2D( 0, 0, 0, 0 ) 691 691 zzaei = MIN( 1._wp, ABS( ff_t(ji,jj) * z1_f20 ) ) * zaeiw(ji,jj) ! tropical decrease 692 692 zaeiw(ji,jj) = MIN( zzaei , paei0 ) ! Max value = paei0 … … 694 694 CALL lbc_lnk( 'ldftra', zaeiw(:,:), 'W', 1.0_wp ) ! lateral boundary condition 695 695 ! 696 DO_2D _00_00696 DO_2D( 0, 0, 0, 0 ) 697 697 paeiu(ji,jj,1) = 0.5_wp * ( zaeiw(ji,jj) + zaeiw(ji+1,jj ) ) * umask(ji,jj,1) 698 698 paeiv(ji,jj,1) = 0.5_wp * ( zaeiw(ji,jj) + zaeiw(ji ,jj+1) ) * vmask(ji,jj,1) … … 750 750 zpsi_uw(:,:,jpk) = 0._wp ; zpsi_vw(:,:,jpk) = 0._wp 751 751 ! 752 DO_3D _10_10(2, jpkm1 )752 DO_3D( 1, 0, 1, 0, 2, jpkm1 ) 753 753 zpsi_uw(ji,jj,jk) = - r1_4 * e2u(ji,jj) * ( wslpi(ji,jj,jk ) + wslpi(ji+1,jj,jk) ) & 754 754 & * ( aeiu (ji,jj,jk-1) + aeiu (ji ,jj,jk) ) * wumask(ji,jj,jk) … … 757 757 END_3D 758 758 ! 759 DO_3D _10_10(1, jpkm1 )759 DO_3D( 1, 0, 1, 0, 1, jpkm1 ) 760 760 pu(ji,jj,jk) = pu(ji,jj,jk) - ( zpsi_uw(ji,jj,jk) - zpsi_uw(ji,jj,jk+1) ) 761 761 pv(ji,jj,jk) = pv(ji,jj,jk) - ( zpsi_vw(ji,jj,jk) - zpsi_vw(ji,jj,jk+1) ) 762 762 END_3D 763 DO_3D _00_00(1, jpkm1 )763 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 764 764 pw(ji,jj,jk) = pw(ji,jj,jk) + ( zpsi_uw(ji,jj,jk) - zpsi_uw(ji-1,jj ,jk) & 765 765 & + zpsi_vw(ji,jj,jk) - zpsi_vw(ji ,jj-1,jk) ) … … 813 813 CALL iom_put( "voce_eiv", zw3d ) 814 814 ! 815 DO_3D _00_00(1, jpkm1 )815 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 816 816 zw3d(ji,jj,jk) = ( psi_vw(ji,jj,jk) - psi_vw(ji ,jj-1,jk) & 817 817 & + psi_uw(ji,jj,jk) - psi_uw(ji-1,jj ,jk) ) / e1e2t(ji,jj) … … 840 840 zw2d(:,:) = 0._wp 841 841 zw3d(:,:,:) = 0._wp 842 DO_3D _00_00(1, jpkm1 )842 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 843 843 zw3d(ji,jj,jk) = zw3d(ji,jj,jk) + ( psi_uw(ji,jj,jk+1) - psi_uw(ji ,jj,jk) ) & 844 844 & * ( ts (ji,jj,jk,jp_tem,Kmm) + ts (ji+1,jj,jk,jp_tem,Kmm) ) … … 861 861 zw2d(:,:) = 0._wp 862 862 zw3d(:,:,:) = 0._wp 863 DO_3D _00_00(1, jpkm1 )863 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 864 864 zw3d(ji,jj,jk) = zw3d(ji,jj,jk) + ( psi_vw(ji,jj,jk+1) - psi_vw(ji,jj ,jk) ) & 865 865 & * ( ts (ji,jj,jk,jp_tem,Kmm) + ts (ji,jj+1,jk,jp_tem,Kmm) ) … … 876 876 zw2d(:,:) = 0._wp 877 877 zw3d(:,:,:) = 0._wp 878 DO_3D _00_00(1, jpkm1 )878 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 879 879 zw3d(ji,jj,jk) = zw3d(ji,jj,jk) * ( psi_uw(ji,jj,jk+1) - psi_uw(ji ,jj,jk) ) & 880 880 & * ( ts (ji,jj,jk,jp_sal,Kmm) + ts (ji+1,jj,jk,jp_sal,Kmm) ) … … 888 888 zw2d(:,:) = 0._wp 889 889 zw3d(:,:,:) = 0._wp 890 DO_3D _00_00(1, jpkm1 )890 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 891 891 zw3d(ji,jj,jk) = zw3d(ji,jj,jk) + ( psi_vw(ji,jj,jk+1) - psi_vw(ji,jj ,jk) ) & 892 892 & * ( ts (ji,jj,jk,jp_sal,Kmm) + ts (ji,jj+1,jk,jp_sal,Kmm) )
Note: See TracChangeset
for help on using the changeset viewer.