Changeset 2528 for trunk/NEMOGCM/NEMO/OPA_SRC/BDY/bdyvol.F90
- Timestamp:
- 2010-12-27T18:33:53+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/BDY/bdyvol.F90
- Property svn:executable deleted
r1739 r2528 11 11 #if defined key_bdy && defined key_dynspg_flt 12 12 !!---------------------------------------------------------------------- 13 !! 'key_bdy' andunstructured open boundary conditions13 !! 'key_bdy' AND unstructured open boundary conditions 14 14 !! 'key_dynspg_flt' filtered free surface 15 15 !!---------------------------------------------------------------------- … … 30 30 # include "domzgr_substitute.h90" 31 31 !!---------------------------------------------------------------------- 32 !! NEMO/OPA 3. 0 , LOCEAN-IPSL (2008)32 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 33 33 !! $Id$ 34 !! Software governed by the CeCILL licence ( modipsl/doc/NEMO_CeCILL.txt)34 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 35 35 !!---------------------------------------------------------------------- 36 37 36 CONTAINS 38 37 … … 62 61 !! zero (z_cflxemp=0) to calculate the correction velocity. So 63 62 !! it will only balance the flux through open boundaries. 64 !! (set volbdyto 0 in tne namelist for this option)63 !! (set nn_volctl to 0 in tne namelist for this option) 65 64 !! 2/ The volume is constant even with E-P flux. In this case 66 65 !! the correction velocity must balance both the flux 67 66 !! through open boundaries and the ones through the free 68 67 !! surface. 69 !! (set volbdyto 1 in tne namelist for this option)68 !! (set nn_volctl to 1 in tne namelist for this option) 70 69 !!---------------------------------------------------------------------- 71 70 INTEGER, INTENT( in ) :: kt ! ocean time-step index … … 73 72 INTEGER :: ji, jj, jk, jb, jgrd 74 73 INTEGER :: ii, ij 75 REAL(wp) :: zubtpecor, z_cflxemp, ztranst , zraur74 REAL(wp) :: zubtpecor, z_cflxemp, ztranst 76 75 !!----------------------------------------------------------------------------- 76 77 IF( ln_vol ) THEN 77 78 78 79 IF( kt == nit000 ) THEN … … 84 85 ! Calculate the cumulate surface Flux z_cflxemp (m3/s) over all the domain 85 86 ! ----------------------------------------------------------------------- 86 z_cflxemp = 0.e0 87 zraur = 1.e0 / rau0 88 z_cflxemp = SUM ( emp(:,:) * bdytmask(:,:) * e1t(:,:) * e2t(:,:) * zraur ) 89 IF( lk_mpp ) CALL mpp_sum( z_cflxemp ) ! sum over the global domain 87 z_cflxemp = SUM ( ( emp(:,:)-rnf(:,:) ) * bdytmask(:,:) * e1t(:,:) * e2t(:,:) ) / rau0 88 IF( lk_mpp ) CALL mpp_sum( z_cflxemp ) ! sum over the global domain 90 89 91 ! Barotropic velocitythrough the unstructured open boundary92 ! ------------------------------------------------ ----------90 ! Transport through the unstructured open boundary 91 ! ------------------------------------------------ 93 92 zubtpecor = 0.e0 94 93 jgrd = 2 ! cumulate u component contribution first … … 112 111 ! The normal velocity correction 113 112 ! ------------------------------ 114 IF (volbdy==1) THEN ; zubtpecor = ( zubtpecor - z_cflxemp) / bdysurftot115 ELSE ; zubtpecor = zubtpecor / bdysurftot113 IF( nn_volctl==1 ) THEN ; zubtpecor = ( zubtpecor - z_cflxemp) / bdysurftot 114 ELSE ; zubtpecor = zubtpecor / bdysurftot 116 115 END IF 117 116 … … 141 140 ! Check the cumulated transport through unstructured OBC once barotropic velocities corrected 142 141 ! ------------------------------------------------------ 143 144 142 IF( lwp .AND. MOD( kt, nwrite ) == 0) THEN 145 143 IF(lwp) WRITE(numout,*) … … 152 150 END IF 153 151 ! 152 END IF ! ln_vol 153 154 154 END SUBROUTINE bdy_vol 155 155
Note: See TracChangeset
for help on using the changeset viewer.