Changeset 2715 for trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90
- Timestamp:
- 2011-03-30T17:58:35+02:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90
r2528 r2715 28 28 PUBLIC zdf_bfr ! called by step.F90 29 29 PUBLIC zdf_bfr_init ! called by opa.F90 30 30 31 31 ! !!* Namelist nambfr: bottom friction namelist * 32 32 INTEGER :: nn_bfr = 0 ! = 0/1/2/3 type of bottom friction … … 37 37 LOGICAL :: ln_bfr2d = .false. ! logical switch for 2D enhancement 38 38 39 REAL(wp), DIMENSION(jpi,jpj) :: bfrcoef2d = 1.e-3_wp! 2D bottom drag coefficient39 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: bfrcoef2d ! 2D bottom drag coefficient 40 40 41 41 !! * Substitutions … … 43 43 # include "domzgr_substitute.h90" 44 44 !!---------------------------------------------------------------------- 45 !! NEMO/OPA 3.3 , NEMO Consortium (2010)45 !! NEMO/OPA 4.0 , NEMO Consortium (2011) 46 46 !! $Id$ 47 47 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 48 48 !!---------------------------------------------------------------------- 49 49 CONTAINS 50 51 INTEGER FUNCTION zdf_bfr_alloc() 52 !!---------------------------------------------------------------------- 53 !! *** FUNCTION zdf_bfr_alloc *** 54 !!---------------------------------------------------------------------- 55 ALLOCATE( bfrcoef2d(jpi,jpj), STAT=zdf_bfr_alloc ) 56 ! 57 IF( lk_mpp ) CALL mpp_sum ( zdf_bfr_alloc ) 58 IF( zdf_bfr_alloc /= 0 ) CALL ctl_warn('zdf_bfr_alloc: failed to allocate arrays.') 59 END FUNCTION zdf_bfr_alloc 60 50 61 51 62 SUBROUTINE zdf_bfr( kt ) … … 143 154 IF(lwp) WRITE(numout,*) ' Namelist nam_bfr : set bottom friction parameters' 144 155 156 ! ! allocate zdfbfr arrays 157 IF( zdf_bfr_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'zdf_bfr_init : unable to allocate arrays' ) 158 145 159 SELECT CASE (nn_bfr) 146 160 ! 147 161 CASE( 0 ) 148 162 IF(lwp) WRITE(numout,*) ' free-slip ' … … 165 179 CALL iom_get (inum, jpdom_data, 'bfr_coef',bfrcoef2d,1) ! bfrcoef2d is used as tmp array 166 180 CALL iom_close(inum) 167 bfrcoef2d(:,:) = rn_bfri1 * ( 1 + rn_bfrien * bfrcoef2d(:,:) )181 bfrcoef2d(:,:) = rn_bfri1 * ( 1 + rn_bfrien * bfrcoef2d(:,:) ) 168 182 ENDIF 169 183 bfrua(:,:) = - bfrcoef2d(:,:)
Note: See TracChangeset
for help on using the changeset viewer.