- Timestamp:
- 2015-10-06T13:40:42+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/BDY/bdyvol.F90
r5737 r5777 15 15 !! 'key_dynspg_flt' filtered free surface 16 16 !!---------------------------------------------------------------------- 17 USE timing ! Timing18 17 USE oce ! ocean dynamics and tracers 19 USE sbcisf ! ice shelf 18 USE bdy_oce ! ocean open boundary conditions 19 USE sbc_oce ! ocean surface boundary conditions 20 20 USE dom_oce ! ocean space and time domain 21 21 USE phycst ! physical constants 22 USE bdy_oce ! ocean open boundary conditions 22 USE sbcisf ! ice shelf 23 ! 24 USE in_out_manager ! I/O manager 23 25 USE lib_mpp ! for mppsum 24 USE in_out_manager ! I/O manager25 USE sbc_oce ! ocean surface boundary conditions26 USE timing ! Timing 27 USE lib_fortran ! Fortran routines library 26 28 27 29 IMPLICIT NONE … … 33 35 # include "domzgr_substitute.h90" 34 36 !!---------------------------------------------------------------------- 35 !! NEMO/OPA 3. 3 , NEMO Consortium (2010)37 !! NEMO/OPA 3.6 , NEMO Consortium (2014) 36 38 !! $Id$ 37 39 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 78 80 TYPE(OBC_INDEX), POINTER :: idx 79 81 !!----------------------------------------------------------------------------- 80 81 IF( nn_timing == 1 ) CALL timing_start('bdy_vol')82 82 ! 83 IF( nn_timing == 1 ) CALL timing_start('bdy_vol') 84 ! 83 85 IF( ln_vol ) THEN 84 86 ! 85 87 IF( kt == nit000 ) THEN 86 88 IF(lwp) WRITE(numout,*) … … 91 93 ! Calculate the cumulate surface Flux z_cflxemp (m3/s) over all the domain 92 94 ! ----------------------------------------------------------------------- 95 !!gm replace these lines : 93 96 z_cflxemp = SUM ( ( emp(:,:)-rnf(:,:)+fwfisf(:,:) ) * bdytmask(:,:) * e1e2t(:,:) ) / rau0 94 97 IF( lk_mpp ) CALL mpp_sum( z_cflxemp ) ! sum over the global domain 98 !!gm by : 99 !!gm z_cflxemp = glob_sum( ( emp(:,:)-rnf(:,:)+fwfisf(:,:) ) * bdytmask(:,:) * e1e2t(:,:) ) / rau0 100 !!gm 95 101 96 102 ! Transport through the unstructured open boundary 97 103 ! ------------------------------------------------ 98 zubtpecor = 0. e0104 zubtpecor = 0._wp 99 105 DO ib_bdy = 1, nb_bdy 100 106 idx => idx_bdy(ib_bdy) 101 107 ! 102 108 jgrd = 2 ! cumulate u component contribution first 103 109 DO jb = 1, idx%nblenrim(jgrd) … … 116 122 END DO 117 123 END DO 118 124 ! 119 125 END DO 120 126 IF( lk_mpp ) CALL mpp_sum( zubtpecor ) ! sum over the global domain … … 123 129 ! ------------------------------ 124 130 IF( nn_volctl==1 ) THEN ; zubtpecor = ( zubtpecor - z_cflxemp) / bdysurftot 125 ELSE ; zubtpecor = zubtpecor / bdysurftot131 ELSE ; zubtpecor = zubtpecor / bdysurftot 126 132 END IF 127 133 128 134 ! Correction of the total velocity on the unstructured boundary to respect the mass flux conservation 129 135 ! ------------------------------------------------------------- 130 ztranst = 0. e0136 ztranst = 0._wp 131 137 DO ib_bdy = 1, nb_bdy 132 138 idx => idx_bdy(ib_bdy) 133 139 ! 134 140 jgrd = 2 ! correct u component 135 141 DO jb = 1, idx%nblenrim(jgrd) … … 150 156 END DO 151 157 END DO 152 158 ! 153 159 END DO 154 160 IF( lk_mpp ) CALL mpp_sum( ztranst ) ! sum over the global domain … … 169 175 ! 170 176 END IF ! ln_vol 171 177 ! 172 178 END SUBROUTINE bdy_vol 173 179
Note: See TracChangeset
for help on using the changeset viewer.