Changeset 1273 for trunk/NEMO/OPA_SRC
- Timestamp:
- 2009-01-19T16:31:07+01:00 (15 years ago)
- Location:
- trunk/NEMO/OPA_SRC
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DIA/diafwb.F90
r1152 r1273 160 160 CASE ( 2 ) ! ORCA_R2 configuration 161 161 ! ! ======================= 162 ii0 = 1 39 ; ii1 = 139162 ii0 = 140 ; ii1 = 140 163 163 ij0 = 102 ; ij1 = 102 164 164 ! ! ======================= … … 171 171 DO ji = mi0(ii0), mi1(ii1) 172 172 DO jj = mj0(ij0), mj1(ij1) 173 DO jk = 1, 18173 DO jk = 1, jpk 174 174 zt = 0.5 * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) 175 175 zs = 0.5 * ( sn(ji,jj,jk) + sn(ji+1,jj,jk) ) … … 203 203 ! ! ======================= 204 204 ii0 = 137 ; ii1 = 137 205 ij0 = 10 2; ij1 = 102205 ij0 = 101 ; ij1 = 102 206 206 ! ! ======================= 207 207 CASE DEFAULT ! ORCA R05 or R025 … … 213 213 DO ji = mi0(ii0), mi1(ii1) 214 214 DO jj = mj0(ij0), mj1(ij1) 215 DO jk = 1, 23215 DO jk = 1, jpk 216 216 zt = 0.5 * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) 217 217 zs = 0.5 * ( sn(ji,jj,jk) + sn(ji+1,jj,jk) ) … … 244 244 CASE ( 2 ) ! ORCA_R2 configuration 245 245 ! ! ======================= 246 ii0 = 16 1 ; ii1 = 161246 ii0 = 160 ; ii1 = 160 247 247 ij0 = 88 ; ij1 = 88 248 248 ! ! ======================= … … 255 255 DO ji = mi0(ii0), mi1(ii1) 256 256 DO jj = mj0(ij0), mj1(ij1) 257 DO jk = 1, 15257 DO jk = 1, jpk 258 258 zt = 0.5 * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) 259 259 zs = 0.5 * ( sn(ji,jj,jk) + sn(ji+1,jj,jk) ) … … 297 297 DO ji = mi0(ii0), mi1(ii1) 298 298 DO jj = mj0(ij0), mj1(ij1) 299 DO jk = 1, 20299 DO jk = 1, jpk 300 300 zt = 0.5 * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) 301 301 zs = 0.5 * ( sn(ji,jj,jk) + sn(ji+1,jj,jk) ) … … 318 318 ! Sum at each time-step 319 319 DO jt = 1, 4 320 IF( zflxi(jt) /= 0.e0 .AND. zflxo(jt) /= 0.e0 ) THEN 320 ! 321 IF( zflxi(jt) /= 0.e0 ) THEN 321 322 a_flxi(jt) = a_flxi(jt) + zflxi(jt) 322 323 a_temi(jt) = a_temi(jt) + ztemi(jt)/zflxi(jt) 323 324 a_sali(jt) = a_sali(jt) + zsali(jt)/zflxi(jt) 325 ENDIF 326 ! 327 IF( zflxo(jt) /= 0.e0 ) THEN 324 328 a_flxo(jt) = a_flxo(jt) + zflxo(jt) 325 329 a_temo(jt) = a_temo(jt) + ztemo(jt)/zflxo(jt) 326 330 a_salo(jt) = a_salo(jt) + zsalo(jt)/zflxo(jt) 327 331 ENDIF 332 ! 328 333 END DO 329 334 … … 417 422 9010 FORMAT(1X,A,ES12.5,A,F10.5,A) 418 423 9020 FORMAT(1X,A,F10.5,A) 419 9030 FORMAT(1X,A,F 8.2,A)424 9030 FORMAT(1X,A,F9.4,A) 420 425 421 426 END SUBROUTINE dia_fwb -
trunk/NEMO/OPA_SRC/DOM/domhgr.F90
r1152 r1273 139 139 ! ! ===================== 140 140 IF( n_cla == 0 ) THEN 141 141 ! 142 142 ii0 = 139 ; ii1 = 140 ! Gibraltar Strait (e2u = 20 km) 143 143 ij0 = 102 ; ij1 = 102 ; e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 20.e3 144 144 IF(lwp) WRITE(numout,*) 145 IF(lwp) WRITE(numout,*) ' orca_r2: Gibraltar : e2u reduced to 20 km' 145 IF(lwp) WRITE(numout,*) ' orca_r2: Gibraltar : e2u reduced to 20 km' 146 ! 146 147 ii0 = 160 ; ii1 = 160 ! Bab el Mandeb (e2u = 18 km) 147 ij0 = 88 ; ij1 = 88 ; e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 18.e3 148 ij0 = 88 ; ij1 = 88 ; e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 18.e3 149 e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 30.e3 148 150 IF(lwp) WRITE(numout,*) 149 IF(lwp) WRITE(numout,*) ' orca_r2: Bab el Mandeb: e2u reduced to 18 km' 151 IF(lwp) WRITE(numout,*) ' orca_r2: Bab el Mandeb: e2u reduced to 30 km' 152 IF(lwp) WRITE(numout,*) ' e1v reduced to 18 km' 150 153 ENDIF 151 154 … … 153 156 ij0 = 116 ; ij1 = 116 ; e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 15.e3 154 157 IF(lwp) WRITE(numout,*) 155 IF(lwp) WRITE(numout,*) ' orca_r2: Reduced e2u at the Sound Strait'158 IF(lwp) WRITE(numout,*) ' orca_r2: Sound Strait : e2u reduced to 15 km' 156 159 ! 157 160 ENDIF -
trunk/NEMO/OPA_SRC/DOM/dommsk.F90
r1271 r1273 237 237 END DO 238 238 239 IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN240 ! ! =======================241 ! modified vmask value in ! ORCA_R2 configuration242 ! the vicinity of some straits ! =======================243 244 IF( n_cla == 1 ) THEN245 ! ! vmask = 0. on Gibraltar zonal section246 ij0 = 101 ; ij1 = 101247 ii0 = 138 ; ii1 = 139 ; vmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 19:jpk ) = 0.e0248 ! ! vmask = 0. on Bab el Mandeb zonal section249 ij0 = 87 ; ij1 = 87250 ii0 = 161 ; ii1 = 163 ; vmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 18:jpk ) = 0.e0251 ENDIF252 253 ENDIF254 255 239 ! Lateral boundary conditions 256 240 CALL lbc_lnk( umask, 'U', 1. ) … … 398 382 ! 399 383 IF( n_cla == 0 ) THEN 400 ! ! Sound strait 401 ij0 = 116 ; ij1 = 117 402 ii0 = 147 ; ii1 = 148 ; fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 10.0e0 403 ELSE 404 ! ! Gibraltar strait and Gulf of Cadiz 384 ! ! Gibraltar strait : partial slip (fmask=0.5) 385 ij0 = 101 ; ij1 = 101 386 ii0 = 139 ; ii1 = 140 ; fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 0.5e0 405 387 ij0 = 102 ; ij1 = 102 406 ii0 = 13 7 ; ii1 = 139 ; fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 0.0e0407 ij0 = 101 ; ij1 = 101408 ii0 = 139 ; ii1 = 139 ; fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 0.0e0409 ij0 = 100 ; ij1 = 100410 ii0 = 1 37 ; ii1 = 139 ; fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 0.0e0411 ! ! Sound strait412 i j0 = 116 ; ij1 = 117413 ii0 = 147 ; ii1 = 148 ; fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 10.0e0388 ii0 = 139 ; ii1 = 140 ; fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 0.5e0 389 ! 390 ! ! Bab el Mandeb : partial slip (fmask=1) 391 ij0 = 87 ; ij1 = 88 392 ii0 = 160 ; ii1 = 160 ; fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 1.e0 393 ij0 = 88 ; ij1 = 88 394 ii0 = 159 ; ii1 = 159 ; fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 1.e0 395 ! 414 396 ENDIF 397 ! ! Sound strait : strong slip (fmask > 2) 398 ij0 = 115 ; ij1 = 115 399 ii0 = 145 ; ii1 = 146 ; fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 4.0e0 400 ij0 = 116 ; ij1 = 116 401 ii0 = 145 ; ii1 = 146 ; fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 4.0e0 415 402 ! 416 403 ENDIF -
trunk/NEMO/OPA_SRC/DOM/domzgr.F90
r1235 r1273 264 264 INTEGER :: ji, jj, jl, jk ! dummy loop indices 265 265 INTEGER :: inum ! temporary logical unit 266 INTEGER :: ii0, ii1, ij0, ij1 ! indices 266 267 INTEGER :: ii_bump, ij_bump, ih ! bump center position 267 268 REAL(wp) :: r_bump , h_bump , h_oce ! bump characteristics … … 359 360 CALL iom_close (inum) 360 361 mbathy(:,:) = INT( bathy(:,:) ) 362 ! ! ===================== 363 IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! ORCA R2 configuration 364 ! ! ===================== 365 IF( n_cla == 0 ) THEN 366 ! 367 ii0 = 140 ; ii1 = 140 ! Gibraltar Strait open 368 ij0 = 102 ; ij1 = 102 ! (Thomson, Ocean Modelling, 1995) 369 DO ji = mi0(ii0), mi1(ii1) 370 DO jj = mj0(ij0), mj1(ij1) 371 mbathy(ji,jj) = 15 372 END DO 373 END DO 374 IF(lwp) WRITE(numout,*) 375 IF(lwp) WRITE(numout,*) ' orca_r2: Gibraltar strait open at i=',ii0,' j=',ij0 376 ! 377 ii0 = 160 ; ii1 = 160 ! Bab el mandeb Strait open 378 ij0 = 88 ; ij1 = 88 ! (Thomson, Ocean Modelling, 1995) 379 DO ji = mi0(ii0), mi1(ii1) 380 DO jj = mj0(ij0), mj1(ij1) 381 mbathy(ji,jj) = 12 382 END DO 383 END DO 384 IF(lwp) WRITE(numout,*) 385 IF(lwp) WRITE(numout,*) ' orca_r2: Bab el Mandeb strait open at i=',ii0,' j=',ij0 386 ! 387 ENDIF 388 ! 389 ENDIF 390 ! 361 391 ENDIF 362 392 IF( ln_zps .OR. ln_sco ) THEN ! zps or sco : read meter bathymetry … … 364 394 CALL iom_get ( inum, jpdom_data, 'Bathymetry', bathy ) 365 395 CALL iom_close (inum) 396 ! ! ===================== 397 IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! ORCA R2 configuration 398 ! ! ===================== 399 IF( n_cla == 0 ) THEN 400 ! 401 ii0 = 140 ; ii1 = 140 ! Gibraltar Strait open 402 ij0 = 102 ; ij1 = 102 ! (Thomson, Ocean Modelling, 1995) 403 DO ji = mi0(ii0), mi1(ii1) 404 DO jj = mj0(ij0), mj1(ij1) 405 bathy(ji,jj) = 284.e0 406 END DO 407 END DO 408 IF(lwp) WRITE(numout,*) 409 IF(lwp) WRITE(numout,*) ' orca_r2: Gibraltar strait open at i=',ii0,' j=',ij0 410 ! 411 ii0 = 160 ; ii1 = 160 ! Bab el mandeb Strait open 412 ij0 = 88 ; ij1 = 88 ! (Thomson, Ocean Modelling, 1995) 413 DO ji = mi0(ii0), mi1(ii1) 414 DO jj = mj0(ij0), mj1(ij1) 415 bathy(ji,jj) = 137.e0 416 END DO 417 END DO 418 IF(lwp) WRITE(numout,*) 419 IF(lwp) WRITE(numout,*) ' orca_r2: Bab el Mandeb strait open at i=',ii0,' j=',ij0 420 ! 421 ENDIF 422 ! 423 ENDIF 424 366 425 ENDIF 367 426 ! ! =============== ! -
trunk/NEMO/OPA_SRC/DTA/dtasal.F90
r1152 r1273 171 171 END DO 172 172 END DO 173 173 174 IF( n_cla == 1 ) THEN 174 175 ! ! New salinity profile at Gibraltar 175 176 il0 = 138 ; il1 = 138 176 ij0 = 101 ; ij1 = 101177 ii0 = 139 ; ii1 = 139178 #if defined key_orca_lev10179 zsal ( mi0(ii0):mi1(ii1), mj0(ij0):mj1(ij1) , : , : ) = &180 & zsal ( mi0(il0):mi1(il1) , mj0(ij0):mj1(ij1) , : , : )181 #else182 saldta( mi0(ii0):mi1(ii1), mj0(ij0):mj1(ij1) , : , : ) = &183 & saldta( mi0(il0):mi1(il1) , mj0(ij0):mj1(ij1) , : , : )184 #endif185 ij0 = 101 ; ij1 = 101186 #if defined key_orca_lev10187 zsal ( mi0(ii0):mi1(ii1), mj0(ij0):mj1(ij1) , : , : ) = &188 & zsal ( mi0(il0):mi1(il1) , mj0(ij0):mj1(ij1) , : , : )189 #else190 saldta( mi0(ii0):mi1(ii1), mj0(ij0):mj1(ij1) , : , : ) = &191 & saldta( mi0(il0):mi1(il1) , mj0(ij0):mj1(ij1) , : , : )192 #endif193 il0 = 138 ; il1 = 138194 177 ij0 = 101 ; ij1 = 102 195 178 ii0 = 139 ; ii1 = 139 196 DO jl = mi0(il0), mi1(il1) ! New salinity profile at Gibraltar179 DO jl = mi0(il0), mi1(il1) 197 180 DO jj = mj0(ij0), mj1(ij1) 198 181 DO ji = mi0(ii0), mi1(ii1) … … 205 188 END DO 206 189 END DO 207 190 ! ! New salinity profile at Bab el Mandeb 208 191 il0 = 164 ; il1 = 164 209 ij0 = 8 8; ij1 = 88192 ij0 = 87 ; ij1 = 88 210 193 ii0 = 161 ; ii1 = 163 211 DO jl = mi0(il0), mi1(il1) ! New salinity profile at Bab el Mandeb194 DO jl = mi0(il0), mi1(il1) 212 195 DO jj = mj0(ij0), mj1(ij1) 213 196 DO ji = mi0(ii0), mi1(ii1) … … 219 202 END DO 220 203 END DO 221 ij0 = 87 ; ij1 = 87 222 DO jj = mj0(ij0), mj1(ij1) 223 DO ji = mi0(ii0), mi1(ii1) 224 #if defined key_orca_lev10 225 zsal (ji,jj,:,:) = zsal (jl,jj,:,:) 226 #else 227 saldta(ji,jj,:,:) = saldta(jl,jj,:,:) 228 #endif 229 END DO 230 END DO 231 END DO 232 204 END DO 205 ! 233 206 ENDIF 234 207 ! 235 208 ENDIF 236 209 #endif -
trunk/NEMO/OPA_SRC/DTA/dtatem.F90
r1152 r1273 157 157 ! ! ORCA_R2 configuration 158 158 ! ! ======================= 159 160 159 ij0 = 101 ; ij1 = 109 161 160 ii0 = 141 ; ii1 = 155 … … 174 173 END DO 175 174 176 IF( n_cla == 0 ) THEN 175 IF( n_cla == 1 ) THEN 176 ! ! New temperature profile at Gibraltar 177 il0 = 138 ; il1 = 138 178 ij0 = 101 ; ij1 = 102 179 ii0 = 139 ; ii1 = 139 180 DO jl = mi0(il0), mi1(il1) 181 DO jj = mj0(ij0), mj1(ij1) 182 DO ji = mi0(ii0), mi1(ii1) 183 #if defined key_orca_lev10 184 ztem (ji,jj,:,:) = ztem (jl,jj,:,:) 185 #else 186 temdta(ji,jj,:,:) = temdta(jl,jj,:,:) 187 #endif 188 END DO 189 END DO 190 END DO 191 ! ! New temperature profile at Bab el Mandeb 192 il0 = 164 ; il1 = 164 193 ij0 = 87 ; ij1 = 88 194 ii0 = 161 ; ii1 = 163 195 DO jl = mi0(il0), mi1(il1) 196 DO jj = mj0(ij0), mj1(ij1) 197 DO ji = mi0(ii0), mi1(ii1) 198 #if defined key_orca_lev10 199 ztem (ji,jj,:,:) = ztem (jl,jj,:,:) 200 #else 201 temdta(ji,jj,:,:) = temdta(jl,jj,:,:) 202 #endif 203 END DO 204 END DO 205 END DO 206 ! 207 ELSE 177 208 ! ! Reduced temperature at Red Sea 178 209 ij0 = 87 ; ij1 = 96 … … 187 218 temdta( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 14:20 , : ) = 6.0 188 219 #endif 189 ELSE190 il0 = 138 ; il1 = 138191 ij0 = 101 ; ij1 = 102192 ii0 = 139 ; ii1 = 139193 DO jl = mi0(il0), mi1(il1) ! New temperature profile at Gibraltar194 DO jj = mj0(ij0), mj1(ij1)195 DO ji = mi0(ii0), mi1(ii1)196 #if defined key_orca_lev10197 ztem (ji,jj,:,:) = ztem (jl,jj,:,:)198 #else199 temdta(ji,jj,:,:) = temdta(jl,jj,:,:)200 #endif201 END DO202 END DO203 END DO204 il0 = 164 ; il1 = 164205 ij0 = 88 ; ij1 = 88206 ii0 = 161 ; ii1 = 163207 DO jl = mi0(il0), mi1(il1) ! New temperature profile at Bab el Mandeb208 DO jj = mj0(ij0), mj1(ij1)209 DO ji = mi0(ii0), mi1(ii1)210 #if defined key_orca_lev10211 ztem (ji,jj,:,:) = ztem (jl,jj,:,:)212 #else213 temdta(ji,jj,:,:) = temdta(jl,jj,:,:)214 #endif215 END DO216 END DO217 ij0 = 87 ; ij1 = 87218 DO jj = mj0(ij0), mj1(ij1)219 DO ji = mi0(ii0), mi1(ii1)220 #if defined key_orca_lev10221 ztem (ji,jj,:,:) = ztem (jl,jj,:,:)222 #else223 temdta(ji,jj,:,:) = temdta(jl,jj,:,:)224 #endif225 END DO226 END DO227 END DO228 220 ENDIF 229 221 ! 230 222 ENDIF 231 223 #endif
Note: See TracChangeset
for help on using the changeset viewer.