Changeset 9987 for branches/UKMO/dev_r5518_obs_oper_update_icethick/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90
- Timestamp:
- 2018-07-23T11:33:03+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_obs_oper_update_icethick/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90
r7960 r9987 31 31 USE bdydyn2d ! bdy_ssh routine 32 32 #if defined key_agrif 33 USE agrif_opa_update34 33 USE agrif_opa_interp 35 34 #endif … … 75 74 INTEGER, INTENT(in) :: kt ! time step 76 75 ! 77 INTEGER :: jk ! dummy loop indice 76 INTEGER :: jk ! dummy loop indices 78 77 REAL(wp) :: z2dt, z1_rau0 ! local scalars 79 78 !!---------------------------------------------------------------------- … … 95 94 z2dt = 2._wp * rdt ! set time step size (Euler/Leapfrog) 96 95 IF( neuler == 0 .AND. kt == nit000 ) z2dt = rdt 96 97 98 #if defined key_asminc 99 ! ! Include the IAU weighted SSH increment 100 IF( lk_asminc .AND. ln_sshinc .AND. ln_asmiau ) THEN 101 CALL ssh_asm_inc( kt ) 102 #if defined key_vvl 103 ! Don't directly adjust ssh but change hdivn at all levels instead 104 ! In trasbc also add in the heat and salt content associated with these changes at each level 105 DO jk = 1, jpkm1 106 hdivn(:,:,jk) = hdivn(:,:,jk) - ( ssh_iau(:,:) / ( ht_0(:,:) + 1.0 - ssmask(:,:) ) ) * ( e3t_0(:,:,jk) / fse3t_n(:,:,jk) ) * tmask(:,:,jk) 107 END DO 108 ENDIF 109 #endif 110 #endif 111 97 112 98 113 ! !------------------------------! … … 124 139 #endif 125 140 126 #if defined key_asminc127 ! ! Include the IAU weighted SSH increment128 IF( lk_asminc .AND. ln_sshinc .AND. ln_asmiau ) THEN129 CALL ssh_asm_inc( kt )130 ssha(:,:) = ssha(:,:) + z2dt * ssh_iau(:,:)131 ENDIF132 #endif133 141 134 142 ! !------------------------------! … … 268 276 ELSE !** Leap-Frog time-stepping: Asselin filter + swap 269 277 sshb(:,:) = sshn(:,:) + atfp * ( sshb(:,:) - 2 * sshn(:,:) + ssha(:,:) ) ! before <-- now filtered 270 IF( lk_vvl ) sshb(:,:) = sshb(:,:) - atfp * rdt / rau0 * ( emp_b(:,:) - emp(:,:) - rnf_b(:,:) + rnf(:,:) ) * ssmask(:,:) 278 IF( lk_vvl ) sshb(:,:) = sshb(:,:) - atfp * rdt / rau0 * ( emp_b(:,:) - emp(:,:) & 279 & - rnf_b(:,:) + rnf(:,:) & 280 & + fwfisf_b(:,:) - fwfisf(:,:) ) * ssmask(:,:) 271 281 sshn(:,:) = ssha(:,:) ! now <-- after 272 282 ENDIF 273 !274 ! Update velocity at AGRIF zoom boundaries275 #if defined key_agrif276 IF ( .NOT.Agrif_Root() ) CALL Agrif_Update_Dyn( kt )277 #endif278 283 ! 279 284 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.