Changeset 4328 for branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/DYN
- Timestamp:
- 2013-12-06T11:25:13+01:00 (10 years ago)
- Location:
- branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/DYN
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/DYN/dynnept.F90
r4147 r4328 24 24 USE oce ! ocean dynamics and tracers 25 25 USE dom_oce ! ocean space and time domain 26 USE obc_oce ! ocean lateral open boundary condition27 26 USE in_out_manager ! I/O manager 28 27 USE lib_mpp ! distributed memory computing … … 419 418 END DO 420 419 421 #if defined key_obc422 IF( Agrif_Root() ) THEN423 ! open boundaries (div must be zero behind the open boundary)424 ! mpp remark: The zeroing of zhdivnep can probably be extended to 1->jpi/jpj for the correct row/column425 IF( lp_obc_east ) zhdivnep(nie0p1:nie1p1,nje0 :nje1 ,jk) = 0.0_wp ! east426 IF( lp_obc_west ) zhdivnep(niw0 :niw1 ,njw0 :njw1 ,jk) = 0.0_wp ! west427 IF( lp_obc_north ) zhdivnep(nin0 :nin1 ,njn0p1:njn1p1,jk) = 0.0_wp ! north428 IF( lp_obc_south ) zhdivnep(nis0 :nis1 ,njs0 :njs1 ,jk) = 0.0_wp ! south429 ENDIF430 #endif431 420 IF( .NOT. AGRIF_Root() ) THEN 432 421 IF ((nbondi == 1).OR.(nbondi == 2)) zhdivnep(nlci-1 , : ,jk) = 0.0_wp ! east -
branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90
r4312 r4328 30 30 USE dynadv ! dynamics: vector invariant versus flux form 31 31 USE domvvl ! variable volume 32 USE obc_oce ! ocean open boundary conditions33 USE obcdyn ! open boundary condition for momentum (obc_dyn routine)34 USE obcdyn_bt ! 2D open boundary condition for momentum (obc_dyn_bt routine)35 USE obcvol ! ocean open boundary condition (obc_vol routines)36 32 USE bdy_oce ! ocean open boundary conditions 37 33 USE bdydta ! ocean open boundary conditions … … 83 79 !! * Apply lateral boundary conditions on after velocity 84 80 !! at the local domain boundaries through lbc_lnk call, 85 !! at the one-way open boundaries (lk_ obc=T),81 !! at the one-way open boundaries (lk_bdy=T), 86 82 !! at the AGRIF zoom boundaries (lk_agrif=T) 87 83 !! … … 204 200 CALL lbc_lnk( va, 'V', -1. ) 205 201 ! 206 # if defined key_obc 207 ! !* OBC open boundaries 208 IF( lk_obc ) CALL obc_dyn( kt ) 209 ! 210 IF( .NOT. lk_dynspg_flt ) THEN 211 ! Flather boundary condition : - Update sea surface height on each open boundary 212 ! sshn (= after ssh ) for explicit case (lk_dynspg_exp=T) 213 ! sshn_b (= after ssha_b) for time-splitting case (lk_dynspg_ts=T) 214 ! - Correct the barotropic velocities 215 IF( lk_obc ) CALL obc_dyn_bt( kt ) 216 ! 217 !!gm ERROR - potential BUG: sshn should not be modified at this stage !! ssh_nxt not alrady called 218 CALL lbc_lnk( sshn, 'T', 1. ) ! Boundary conditions on sshn 219 ! 220 IF( lk_obc .AND. ln_vol_cst ) CALL obc_vol( kt ) 221 ! 222 IF(ln_ctl) CALL prt_ctl( tab2d_1=sshn, clinfo1=' ssh : ', mask1=tmask ) 223 ENDIF 224 ! 225 # elif defined key_bdy 202 # if defined key_bdy 226 203 ! !* BDY open boundaries 227 204 IF( lk_bdy .AND. lk_dynspg_exp ) CALL bdy_dyn( kt ) -
branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_exp.F90
r4292 r4328 18 18 USE dom_oce ! ocean space and time domain 19 19 USE sbc_oce ! surface boundary condition: ocean 20 USE obc_oce ! Lateral open boundary condition21 20 USE phycst ! physical constants 22 USE obc_par ! open boundary condition parameters23 USE obcdta ! open boundary condition data (bdy_dta_bt routine)24 21 USE in_out_manager ! I/O manager 25 22 USE lib_mpp ! distributed memory computing library … … 79 76 ENDIF 80 77 81 82 !!gm bug ?? Rachid we have to discuss of the call below. I don't understand why it is here and not in ssh_wzv83 IF( lk_obc ) CALL obc_dta_bt( kt, 0 ) ! OBC: read or estimate ssh and vertically integrated velocities84 !!gm85 86 78 IF( .NOT. lk_vvl ) THEN !* fixed volume : add the surface pressure gradient trend 87 79 ! -
branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90
r4153 r4328 25 25 USE zdf_oce ! ocean vertical physics 26 26 USE sbc_oce ! surface boundary condition: ocean 27 USE obc_oce ! Lateral open boundary condition28 27 USE bdy_oce ! Lateral open boundary condition 29 28 USE sol_oce ! ocean elliptic solver … … 34 33 USE solpcg ! preconditionned conjugate gradient solver 35 34 USE solsor ! Successive Over-relaxation solver 36 USE obcdyn ! ocean open boundary condition on dynamics37 USE obcvol ! ocean open boundary condition (obc_vol routine)38 35 USE bdydyn ! ocean open boundary condition on dynamics 39 36 USE bdyvol ! ocean open boundary condition (bdy_vol routine) … … 184 181 ENDIF 185 182 186 #if defined key_obc187 IF( lk_obc ) CALL obc_dyn( kt ) ! Update velocities on each open boundary with the radiation algorithm188 IF( lk_obc ) CALL obc_vol( kt ) ! Correction of the barotropic componant velocity to control the volume of the system189 #endif190 183 #if defined key_bdy 191 184 IF( lk_bdy ) CALL bdy_dyn( kt ) ! Update velocities on each open boundary … … 304 297 ztdgv = z2dtg * (gcx(ji ,jj+1) - gcx(ji,jj) ) / e2v(ji,jj) 305 298 ! multiplied by z2dt 306 #if defined key_obc 307 IF(lk_obc) THEN 308 ! caution : grad D = 0 along open boundaries 309 ! Remark: The filtering force could be reduced here in the FRS zone 310 ! by multiplying spgu/spgv by (1-alpha) ?? 311 spgu(ji,jj) = z2dt * ztdgu * obcumask(ji,jj) 312 spgv(ji,jj) = z2dt * ztdgv * obcvmask(ji,jj) 313 ELSE 314 spgu(ji,jj) = z2dt * ztdgu 315 spgv(ji,jj) = z2dt * ztdgv 316 ENDIF 317 #elif defined key_bdy 299 #if defined key_bdy 318 300 IF(lk_bdy) THEN 319 301 ! caution : grad D = 0 along open boundaries -
branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90
r4327 r4328 28 28 USE lbclnk ! ocean lateral boundary condition (or mpp link) 29 29 USE lib_mpp ! MPP library 30 USE obc_par ! open boundary cond. parameter31 USE obc_oce32 30 USE bdy_oce 33 31 USE bdy_par … … 120 118 CALL agrif_ssh( kt ) 121 119 #endif 122 #if defined key_obc123 IF( Agrif_Root() ) THEN124 ssha(:,:) = ssha(:,:) * obctmsk(:,:)125 CALL lbc_lnk( ssha, 'T', 1. ) ! absolutly compulsory !! (jmm)126 ENDIF127 #endif128 120 #if defined key_bdy 129 121 ! bg jchanut tschanges
Note: See TracChangeset
for help on using the changeset viewer.