Changeset 5845 for branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn3d.F90
- Timestamp:
- 2015-10-31T08:40:45+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn3d.F90
r5215 r5845 29 29 PUBLIC bdy_dyn3d_dmp ! routine called by step 30 30 31 !! * Substitutions32 # include "domzgr_substitute.h90"33 31 !!---------------------------------------------------------------------- 34 32 !! NEMO/OPA 3.3 , NEMO Consortium (2010) … … 46 44 !!---------------------------------------------------------------------- 47 45 INTEGER, INTENT( in ) :: kt ! Main time step counter 48 ! !46 ! 49 47 INTEGER :: ib_bdy ! loop index 50 !! 51 48 !!---------------------------------------------------------------------- 49 ! 52 50 DO ib_bdy=1, nb_bdy 53 51 ! 54 52 SELECT CASE( cn_dyn3d(ib_bdy) ) 55 CASE('none') 56 CYCLE 57 CASE('frs') 58 CALL bdy_dyn3d_frs( idx_bdy(ib_bdy), dta_bdy(ib_bdy), kt, ib_bdy ) 59 CASE('specified') 60 CALL bdy_dyn3d_spe( idx_bdy(ib_bdy), dta_bdy(ib_bdy), kt, ib_bdy ) 61 CASE('zero') 62 CALL bdy_dyn3d_zro( idx_bdy(ib_bdy), dta_bdy(ib_bdy), kt, ib_bdy ) 63 CASE('orlanski') 64 CALL bdy_dyn3d_orlanski( idx_bdy(ib_bdy), dta_bdy(ib_bdy), ib_bdy, ll_npo=.false. ) 65 CASE('orlanski_npo') 66 CALL bdy_dyn3d_orlanski( idx_bdy(ib_bdy), dta_bdy(ib_bdy), ib_bdy, ll_npo=.true. ) 67 CASE DEFAULT 68 CALL ctl_stop( 'bdy_dyn3d : unrecognised option for open boundaries for baroclinic velocities' ) 53 CASE('none') ; CYCLE 54 CASE('frs' ) ; CALL bdy_dyn3d_frs( idx_bdy(ib_bdy), dta_bdy(ib_bdy), kt, ib_bdy ) 55 CASE('specified') ; CALL bdy_dyn3d_spe( idx_bdy(ib_bdy), dta_bdy(ib_bdy), kt, ib_bdy ) 56 CASE('zero') ; CALL bdy_dyn3d_zro( idx_bdy(ib_bdy), dta_bdy(ib_bdy), kt, ib_bdy ) 57 CASE('orlanski' ) ; CALL bdy_dyn3d_orlanski( idx_bdy(ib_bdy), dta_bdy(ib_bdy), ib_bdy, ll_npo=.false. ) 58 CASE('orlanski_npo'); CALL bdy_dyn3d_orlanski( idx_bdy(ib_bdy), dta_bdy(ib_bdy), ib_bdy, ll_npo=.true. ) 59 CASE DEFAULT ; CALL ctl_stop( 'bdy_dyn3d : unrecognised option for open boundaries for baroclinic velocities' ) 69 60 END SELECT 70 END DO71 61 END DO 62 ! 72 63 END SUBROUTINE bdy_dyn3d 64 73 65 74 66 SUBROUTINE bdy_dyn3d_spe( idx, dta, kt , ib_bdy ) … … 80 72 !! 81 73 !!---------------------------------------------------------------------- 82 INTEGER 83 TYPE(OBC_INDEX), INTENT(in) :: idx ! OBC indices84 TYPE(OBC_DATA) , INTENT(in) :: dta! OBC external data85 INTEGER ,INTENT(in) :: ib_bdy ! BDY set index86 ! !74 INTEGER , INTENT(in) :: kt 75 TYPE(OBC_INDEX), INTENT(in) :: idx ! OBC indices 76 TYPE(OBC_DATA) , INTENT(in) :: dta ! OBC external data 77 INTEGER , INTENT(in) :: ib_bdy ! BDY set index 78 ! 87 79 INTEGER :: jb, jk ! dummy loop indices 88 80 INTEGER :: ii, ij, igrd ! local integers … … 112 104 CALL lbc_bdy_lnk( va, 'V', -1., ib_bdy ) 113 105 ! 114 IF( kt .eq. nit000 )CLOSE( unit = 102 )115 106 IF( kt == nit000 ) CLOSE( unit = 102 ) 107 ! 116 108 IF( nn_timing == 1 ) CALL timing_stop('bdy_dyn3d_spe') 117 109 ! 118 110 END SUBROUTINE bdy_dyn3d_spe 119 111 112 120 113 SUBROUTINE bdy_dyn3d_zro( idx, dta, kt, ib_bdy ) 121 114 !!---------------------------------------------------------------------- … … 125 118 !! 126 119 !!---------------------------------------------------------------------- 127 INTEGER 120 INTEGER , INTENT(in) :: kt 128 121 TYPE(OBC_INDEX), INTENT(in) :: idx ! OBC indices 129 TYPE(OBC_DATA) ,INTENT(in) :: dta ! OBC external data122 TYPE(OBC_DATA) , INTENT(in) :: dta ! OBC external data 130 123 INTEGER, INTENT(in) :: ib_bdy ! BDY set index 131 124 !! … … 157 150 CALL lbc_bdy_lnk( ua, 'U', -1., ib_bdy ) ; CALL lbc_bdy_lnk( va, 'V', -1.,ib_bdy ) ! Boundary points should be updated 158 151 ! 159 IF( kt .eq.nit000 ) CLOSE( unit = 102 )160 161 IF( nn_timing == 1 ) CALL timing_stop('bdy_dyn3d_zro')162 152 IF( kt == nit000 ) CLOSE( unit = 102 ) 153 ! 154 IF( nn_timing == 1 ) CALL timing_stop('bdy_dyn3d_zro') 155 ! 163 156 END SUBROUTINE bdy_dyn3d_zro 157 164 158 165 159 SUBROUTINE bdy_dyn3d_frs( idx, dta, kt, ib_bdy ) … … 174 168 !! topography. Tellus, 365-382. 175 169 !!---------------------------------------------------------------------- 176 INTEGER 170 INTEGER , INTENT(in) :: kt 177 171 TYPE(OBC_INDEX), INTENT(in) :: idx ! OBC indices 178 TYPE(OBC_DATA) ,INTENT(in) :: dta ! OBC external data172 TYPE(OBC_DATA) , INTENT(in) :: dta ! OBC external data 179 173 INTEGER, INTENT(in) :: ib_bdy ! BDY set index 180 ! !174 ! 181 175 INTEGER :: jb, jk ! dummy loop indices 182 176 INTEGER :: ii, ij, igrd ! local integers … … 208 202 CALL lbc_bdy_lnk( va, 'V', -1., ib_bdy ) 209 203 ! 210 IF( kt .eq. nit000 )CLOSE( unit = 102 )211 204 IF( kt == nit000 ) CLOSE( unit = 102 ) 205 ! 212 206 IF( nn_timing == 1 ) CALL timing_stop('bdy_dyn3d_frs') 213 207 ! 214 208 END SUBROUTINE bdy_dyn3d_frs 209 215 210 216 211 SUBROUTINE bdy_dyn3d_orlanski( idx, dta, ib_bdy, ll_npo ) … … 259 254 !! 260 255 !!---------------------------------------------------------------------- 261 INTEGER 262 ! !256 INTEGER, INTENT(in) :: kt 257 ! 263 258 INTEGER :: jb, jk ! dummy loop indices 264 259 INTEGER :: ii, ij, igrd ! local integers 265 260 REAL(wp) :: zwgt ! boundary weight 266 INTEGER :: ib_bdy! loop index261 INTEGER :: ib_bdy ! loop index 267 262 !!---------------------------------------------------------------------- 268 263 ! 269 264 IF( nn_timing == 1 ) CALL timing_start('bdy_dyn3d_dmp') 270 265 ! 271 !-------------------------------------------------------272 273 266 DO ib_bdy=1, nb_bdy 274 267 IF ( ln_dyn3d_dmp(ib_bdy) .and. cn_dyn3d(ib_bdy) /= 'none' ) THEN … … 300 293 ! 301 294 IF( nn_timing == 1 ) CALL timing_stop('bdy_dyn3d_dmp') 302 295 ! 303 296 END SUBROUTINE bdy_dyn3d_dmp 304 297 … … 311 304 WRITE(*,*) 'bdy_dyn3d: You should not have seen this print! error?', kt 312 305 END SUBROUTINE bdy_dyn3d 313 314 306 SUBROUTINE bdy_dyn3d_dmp( kt ) ! Empty routine 315 307 WRITE(*,*) 'bdy_dyn3d_dmp: You should not have seen this print! error?', kt 316 308 END SUBROUTINE bdy_dyn3d_dmp 317 318 309 #endif 319 310
Note: See TracChangeset
for help on using the changeset viewer.