Changeset 12377 for NEMO/trunk/src/OCE/DYN/dynldf.F90
- Timestamp:
- 2020-02-12T15:39:06+01:00 (4 years ago)
- Location:
- NEMO/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk
- Property svn:externals
-
old new 3 3 ^/utils/build/mk@HEAD mk 4 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev @HEAD ext/AGRIF5 ^/vendors/AGRIF/dev_r11615_ENHANCE-04_namelists_as_internalfiles_agrif@HEAD ext/AGRIF 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL
-
- Property svn:externals
-
NEMO/trunk/src/OCE/DYN/dynldf.F90
r10068 r12377 34 34 PUBLIC dyn_ldf_init ! called by opa module 35 35 36 !! * Substitutions37 # include "vectopt_loop_substitute.h90"38 36 !!---------------------------------------------------------------------- 39 37 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 43 41 CONTAINS 44 42 45 SUBROUTINE dyn_ldf( kt )43 SUBROUTINE dyn_ldf( kt, Kbb, Kmm, puu, pvv, Krhs ) 46 44 !!---------------------------------------------------------------------- 47 45 !! *** ROUTINE dyn_ldf *** … … 49 47 !! ** Purpose : compute the lateral ocean dynamics physics. 50 48 !!---------------------------------------------------------------------- 51 INTEGER, INTENT(in) :: kt ! ocean time-step index 49 INTEGER , INTENT( in ) :: kt ! ocean time-step index 50 INTEGER , INTENT( in ) :: Kbb, Kmm, Krhs ! ocean time level indices 51 REAL(wp), DIMENSION(jpi,jpj,jpk,jpt), INTENT(inout) :: puu, pvv ! ocean velocities and RHS of momentum equation 52 52 ! 53 53 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ztrdu, ztrdv … … 58 58 IF( l_trddyn ) THEN ! temporary save of momentum trends 59 59 ALLOCATE( ztrdu(jpi,jpj,jpk) , ztrdv(jpi,jpj,jpk) ) 60 ztrdu(:,:,:) = ua(:,:,:)61 ztrdv(:,:,:) = va(:,:,:)60 ztrdu(:,:,:) = puu(:,:,:,Krhs) 61 ztrdv(:,:,:) = pvv(:,:,:,Krhs) 62 62 ENDIF 63 63 64 64 SELECT CASE ( nldf_dyn ) ! compute lateral mixing trend and add it to the general trend 65 65 ! 66 CASE ( np_lap ) ; CALL dyn_ldf_lap( kt, ub, vb, ua, va, 1 ) ! iso-level laplacian 67 CASE ( np_lap_i ) ; CALL dyn_ldf_iso( kt ) ! rotated laplacian 68 CASE ( np_blp ) ; CALL dyn_ldf_blp( kt, ub, vb, ua, va ) ! iso-level bi-laplacian 66 CASE ( np_lap ) 67 CALL dyn_ldf_lap( kt, Kbb, Kmm, puu(:,:,:,Kbb), pvv(:,:,:,Kbb), puu(:,:,:,Krhs), pvv(:,:,:,Krhs), 1 ) ! iso-level laplacian 68 CASE ( np_lap_i ) 69 CALL dyn_ldf_iso( kt, Kbb, Kmm, puu, pvv, Krhs ) ! rotated laplacian 70 CASE ( np_blp ) 71 CALL dyn_ldf_blp( kt, Kbb, Kmm, puu(:,:,:,Kbb), pvv(:,:,:,Kbb), puu(:,:,:,Krhs), pvv(:,:,:,Krhs) ) ! iso-level bi-laplacian 69 72 ! 70 73 END SELECT 71 74 72 75 IF( l_trddyn ) THEN ! save the horizontal diffusive trends for further diagnostics 73 ztrdu(:,:,:) = ua(:,:,:) - ztrdu(:,:,:)74 ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:)75 CALL trd_dyn( ztrdu, ztrdv, jpdyn_ldf, kt )76 ztrdu(:,:,:) = puu(:,:,:,Krhs) - ztrdu(:,:,:) 77 ztrdv(:,:,:) = pvv(:,:,:,Krhs) - ztrdv(:,:,:) 78 CALL trd_dyn( ztrdu, ztrdv, jpdyn_ldf, kt, Kmm ) 76 79 DEALLOCATE ( ztrdu , ztrdv ) 77 80 ENDIF 78 81 ! ! print sum trends (used for debugging) 79 IF( ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' ldf - Ua: ', mask1=umask, &80 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' )82 IF(sn_cfctl%l_prtctl) CALL prt_ctl( tab3d_1=puu(:,:,:,Krhs), clinfo1=' ldf - Ua: ', mask1=umask, & 83 & tab3d_2=pvv(:,:,:,Krhs), clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 81 84 ! 82 85 IF( ln_timing ) CALL timing_stop('dyn_ldf')
Note: See TracChangeset
for help on using the changeset viewer.