Changeset 3598 for trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90
- Timestamp:
- 2012-11-19T14:35:09+01:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90
r3294 r3598 16 16 !!---------------------------------------------------------------------- 17 17 USE oce ! ocean dynamics and tracers variables 18 USE dom_oce ! ocean space and time domain variables 18 USE dom_oce ! ocean space and time domain variables 19 19 USE zdf_oce ! ocean vertical physics variables 20 20 USE in_out_manager ! I/O manager … … 31 31 32 32 ! !!* Namelist nambfr: bottom friction namelist * 33 INTEGER :: nn_bfr = 0 ! = 0/1/2/3 type of bottom friction34 REAL(wp) :: rn_bfri1 = 4.0e-4_wp ! bottom drag coefficient (linear case)35 REAL(wp) :: rn_bfri2 = 1.0e-3_wp ! bottom drag coefficient (non linear case)36 REAL(wp) :: rn_bfeb2 = 2.5e-3_wp ! background bottom turbulent kinetic energy [m2/s2]37 REAL(wp) :: rn_bfrien = 30._wp ! local factor to enhance coefficient bfri38 LOGICAL :: ln_bfr2d = .false. ! logical switch for 2D enhancement39 LOGICAL , PUBLIC :: ln_bfrimp = .false. ! logical switch for implicit bottom friction40 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: bfrcoef2d ! 2D bottom drag coefficient33 INTEGER , PUBLIC :: nn_bfr = 0 ! = 0/1/2/3 type of bottom friction (PUBLIC for TAM) 34 REAL(wp), PUBLIC :: rn_bfri1 = 4.0e-4_wp ! bottom drag coefficient (linear case) (PUBLIC for TAM) 35 REAL(wp), PUBLIC :: rn_bfri2 = 1.0e-3_wp ! bottom drag coefficient (non linear case) (PUBLIC for TAM) 36 REAL(wp), PUBLIC :: rn_bfeb2 = 2.5e-3_wp ! background bottom turbulent kinetic energy [m2/s2] (PUBLIC for TAM) 37 REAL(wp), PUBLIC :: rn_bfrien = 30._wp ! local factor to enhance coefficient bfri (PUBLIC for TAM) 38 LOGICAL , PUBLIC :: ln_bfr2d = .false. ! logical switch for 2D enhancement (PUBLIC for TAM) 39 LOGICAL , PUBLIC :: ln_bfrimp = .false. ! logical switch for implicit bottom friction 40 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:), PUBLIC :: bfrcoef2d ! 2D bottom drag coefficient (PUBLIC for TAM) 41 41 42 42 !! * Substitutions … … 64 64 !!---------------------------------------------------------------------- 65 65 !! *** ROUTINE zdf_bfr *** 66 !! 66 !! 67 67 !! ** Purpose : compute the bottom friction coefficient. 68 68 !! 69 !! ** Method : Calculate and store part of the momentum trend due 70 !! to bottom friction following the chosen friction type 69 !! ** Method : Calculate and store part of the momentum trend due 70 !! to bottom friction following the chosen friction type 71 71 !! (free-slip, linear, or quadratic). The component 72 72 !! calculated here is multiplied by the bottom velocity in … … 102 102 DO ji = 2, jpim1 103 103 # endif 104 ikbu = mbku(ji,jj) ! ocean bottom level at u- and v-points 104 ikbu = mbku(ji,jj) ! ocean bottom level at u- and v-points 105 105 ikbv = mbkv(ji,jj) ! (deepest ocean u- and v-points) 106 106 ! … … 113 113 zecv = SQRT( vn(ji,jj,ikbv) * vn(ji,jj,ikbv) + zuv*zuv + rn_bfeb2 ) 114 114 ! 115 bfrua(ji,jj) = - 0.5_wp * ( bfrcoef2d(ji,jj) + bfrcoef2d(ji+1,jj ) ) * zecu 115 bfrua(ji,jj) = - 0.5_wp * ( bfrcoef2d(ji,jj) + bfrcoef2d(ji+1,jj ) ) * zecu 116 116 bfrva(ji,jj) = - 0.5_wp * ( bfrcoef2d(ji,jj) + bfrcoef2d(ji ,jj+1) ) * zecv 117 117 END DO … … 133 133 !!---------------------------------------------------------------------- 134 134 !! *** ROUTINE zdf_bfr_init *** 135 !! 135 !! 136 136 !! ** Purpose : Initialization of the bottom friction 137 137 !! … … 193 193 bfrcoef2d(:,:) = rn_bfri1 ! initialize bfrcoef2d to the namelist variable 194 194 ! 195 IF(ln_bfr2d) THEN 195 IF(ln_bfr2d) THEN 196 196 ! bfr_coef is a coefficient in [0,1] giving the mask where to apply the bfr enhancement 197 197 CALL iom_open('bfr_coef.nc',inum) … … 213 213 bfrcoef2d(:,:) = rn_bfri2 ! initialize bfrcoef2d to the namelist variable 214 214 ! 215 IF(ln_bfr2d) THEN 215 IF(ln_bfr2d) THEN 216 216 ! bfr_coef is a coefficient in [0,1] giving the mask where to apply the bfr enhancement 217 217 CALL iom_open('bfr_coef.nc',inum)
Note: See TracChangeset
for help on using the changeset viewer.