- Timestamp:
- 2018-10-29T15:20:26+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_AMM15_package/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90
r10249 r10251 31 31 USE bdydyn2d ! bdy_ssh routine 32 32 #if defined key_agrif 33 USE agrif_opa_update 33 34 USE agrif_opa_interp 34 35 #endif … … 74 75 INTEGER, INTENT(in) :: kt ! time step 75 76 ! 76 INTEGER :: j i, jj, jk ! dummy loop indices77 INTEGER :: jk ! dummy loop indice 77 78 REAL(wp) :: z2dt, z1_rau0 ! local scalars 78 79 !!---------------------------------------------------------------------- … … 94 95 z2dt = 2._wp * rdt ! set time step size (Euler/Leapfrog) 95 96 IF( neuler == 0 .AND. kt == nit000 ) z2dt = rdt 96 97 #if defined key_asminc98 ! ! Include the IAU weighted SSH increment99 IF( lk_asminc .AND. ln_sshinc .AND. ln_asmiau ) THEN100 CALL ssh_asm_inc( kt )101 #if defined key_vvl102 ! Don't directly adjust ssh but change hdivn at all levels instead103 ! In trasbc also add in the heat and salt content associated with these changes at each level104 DO jk = 1, jpkm1105 hdivn(:,:,jk) = hdivn(:,:,jk) - ( ssh_iau(:,:) / ( ht_0(:,:) + 1.0 - ssmask(:,:) ) ) * ( e3t_0(:,:,jk) / fse3t_n(:,:,jk) ) * tmask(:,:,jk)106 END DO107 CALL lbc_lnk( hdivn, 'T', 1. ) ! Not sure that's necessary108 ENDIF109 #endif110 #endif111 97 112 98 ! !------------------------------! … … 138 124 #endif 139 125 126 #if defined key_asminc 127 ! ! Include the IAU weighted SSH increment 128 IF( lk_asminc .AND. ln_sshinc .AND. ln_asmiau ) THEN 129 CALL ssh_asm_inc( kt ) 130 ssha(:,:) = ssha(:,:) + z2dt * ssh_iau(:,:) 131 ENDIF 132 #endif 133 140 134 ! !------------------------------! 141 135 ! ! outputs ! … … 274 268 ELSE !** Leap-Frog time-stepping: Asselin filter + swap 275 269 sshb(:,:) = sshn(:,:) + atfp * ( sshb(:,:) - 2 * sshn(:,:) + ssha(:,:) ) ! before <-- now filtered 276 IF( lk_vvl ) sshb(:,:) = sshb(:,:) - atfp * rdt / rau0 * ( emp_b(:,:) - emp(:,:) & 277 & - rnf_b(:,:) + rnf(:,:) & 278 & + fwfisf_b(:,:) - fwfisf(:,:) ) * ssmask(:,:) 270 IF( lk_vvl ) sshb(:,:) = sshb(:,:) - atfp * rdt / rau0 * ( emp_b(:,:) - emp(:,:) - rnf_b(:,:) + rnf(:,:) ) * ssmask(:,:) 279 271 sshn(:,:) = ssha(:,:) ! now <-- after 280 272 ENDIF 273 ! 274 ! Update velocity at AGRIF zoom boundaries 275 #if defined key_agrif 276 IF ( .NOT.Agrif_Root() ) CALL Agrif_Update_Dyn( kt ) 277 #endif 281 278 ! 282 279 IF(ln_ctl) CALL prt_ctl( tab2d_1=sshb, clinfo1=' sshb - : ', mask1=tmask, ovlap=1 )
Note: See TracChangeset
for help on using the changeset viewer.