Changeset 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90
- Timestamp:
- 2012-01-28T17:44:18+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90
r2715 r3294 26 26 USE sbc_oce ! surface boundary condition: ocean 27 27 USE obc_oce ! Lateral open boundary condition 28 USE bdy_oce ! Lateral open boundary condition 28 29 USE sol_oce ! ocean elliptic solver 29 30 USE phycst ! physical constants … … 33 34 USE solpcg ! preconditionned conjugate gradient solver 34 35 USE solsor ! Successive Over-relaxation solver 35 USE obcdyn ! ocean open boundary condition (obc_dyn routines) 36 USE obcvol ! ocean open boundary condition (obc_vol routines) 37 USE bdy_oce ! Unstructured open boundaries condition 38 USE bdydyn ! Unstructured open boundaries condition (bdy_dyn routine) 39 USE bdyvol ! Unstructured open boundaries condition (bdy_vol routine) 36 USE obcdyn ! ocean open boundary condition on dynamics 37 USE obcvol ! ocean open boundary condition (obc_vol routine) 38 USE bdydyn ! ocean open boundary condition on dynamics 39 USE bdyvol ! ocean open boundary condition (bdy_vol routine) 40 40 USE cla ! cross land advection 41 41 USE in_out_manager ! I/O manager 42 42 USE lib_mpp ! distributed memory computing library 43 USE wrk_nemo ! Memory Allocation 43 44 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 44 45 USE prtctl ! Print control … … 49 50 USE agrif_opa_interp 50 51 #endif 52 USE timing ! Timing 51 53 52 54 IMPLICIT NONE … … 103 105 !! References : Roullet and Madec 1999, JGR. 104 106 !!--------------------------------------------------------------------- 105 USE oce, ONLY: zub => ta , zvb => sa ! (ta,sa) used as workspace106 !!107 107 INTEGER, INTENT(in ) :: kt ! ocean time-step index 108 108 INTEGER, INTENT( out) :: kindic ! solver convergence flag (<0 if not converge) … … 110 110 INTEGER :: ji, jj, jk ! dummy loop indices 111 111 REAL(wp) :: z2dt, z2dtg, zgcb, zbtd, ztdgu, ztdgv ! local scalars 112 REAL(wp), POINTER, DIMENSION(:,:,:) :: zub, zvb 112 113 !!---------------------------------------------------------------------- 114 ! 115 IF( nn_timing == 1 ) CALL timing_start('dyn_spg_flt') 116 ! 117 CALL wrk_alloc( jpi,jpj,jpk, zub, zvb ) 113 118 ! 114 119 IF( kt == nit000 ) THEN … … 187 192 #endif 188 193 #if defined key_bdy 189 CALL bdy_dyn _frs( kt ) ! Update velocities on unstructured boundary using the Flow Relaxation Scheme190 CALL bdy_vol( kt ) 194 CALL bdy_dyn( kt ) ! Update velocities on each open boundary 195 CALL bdy_vol( kt ) ! Correction of the barotropic component velocity to control the volume of the system 191 196 #endif 192 197 #if defined key_agrif … … 304 309 #if defined key_obc 305 310 ! caution : grad D = 0 along open boundaries 311 ! Remark: The filtering force could be reduced here in the FRS zone 312 ! by multiplying spgu/spgv by (1-alpha) ?? 306 313 spgu(ji,jj) = z2dt * ztdgu * obcumask(ji,jj) 307 314 spgv(ji,jj) = z2dt * ztdgv * obcvmask(ji,jj) 308 315 #elif defined key_bdy 309 316 ! caution : grad D = 0 along open boundaries 310 ! Remark: The filtering force could be reduced here in the FRS zone311 ! by multiplying spgu/spgv by (1-alpha) ??312 317 spgu(ji,jj) = z2dt * ztdgu * bdyumask(ji,jj) 313 spgv(ji,jj) = z2dt * ztdgv * bdyvmask(ji,jj) 318 spgv(ji,jj) = z2dt * ztdgv * bdyvmask(ji,jj) 314 319 #else 315 320 spgu(ji,jj) = z2dt * ztdgu … … 345 350 ! -------------------------------------------------- 346 351 IF( lrst_oce ) CALL flt_rst( kt, 'WRITE' ) 352 ! 353 CALL wrk_dealloc( jpi,jpj,jpk, zub, zvb ) 354 ! 355 IF( nn_timing == 1 ) CALL timing_stop('dyn_spg_flt') 347 356 ! 348 357 END SUBROUTINE dyn_spg_flt
Note: See TracChangeset
for help on using the changeset viewer.