Changeset 1197
- Timestamp:
- 2008-09-22T10:03:39+02:00 (16 years ago)
- Location:
- trunk/NEMO/TOP_SRC/TRP
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/TOP_SRC/TRP/trcbbc.F90
r1193 r1197 75 75 INTEGER, INTENT( in ) :: kt ! ocean time-step index 76 76 77 #if defined key_vectopt_loop && ! defined key_mpp_omp77 #if defined key_vectopt_loop 78 78 INTEGER :: ji, jn ! dummy loop indices 79 79 #else … … 106 106 107 107 108 #if defined key_vectopt_loop && ! defined key_mpp_omp108 #if defined key_vectopt_loop 109 109 DO ji = jpi+2, jpij-jpi-1 ! vector opt. (forced unrolling) 110 110 tra(ji,1,nbotlevt(ji,1),jn) = tra(ji,1,nbotlevt(ji,1),jn) + qgh_trd(ji,1) … … 220 220 CASE ( 1:2 ) ! geothermal heat flux 221 221 222 #if defined key_vectopt_loop && ! defined key_mpp_omp222 #if defined key_vectopt_loop 223 223 DO ji = 1, jpij ! vector opt. (forced unrolling) 224 224 qgh_trd(ji,1) = ro0cpr * qgh_trd(ji,1) / fse3t(ji,1,nbotlevt(ji,1) ) -
trunk/NEMO/TOP_SRC/TRP/trcbbl.F90
r1175 r1197 146 146 ! mbathy= number of w-level, minimum value=1 (cf dommsk.F) 147 147 148 # if defined key_vectopt_loop && ! defined key_mpp_omp148 # if defined key_vectopt_loop 149 149 jj = 1 150 150 DO ji = 1, jpij ! vector opt. (forced unrolling) … … 157 157 zsnb(ji,jj) = sn(ji,jj,ik) * tmask(ji,jj,1) 158 158 zdep(ji,jj) = fsdept(ji,jj,ik) ! depth of the ocean bottom T-level 159 # if ! defined key_vectopt_loop || defined key_mpp_omp159 # if ! defined key_vectopt_loop 160 160 END DO 161 161 # endif … … 164 164 IF( ln_zps ) THEN ! partial steps correction 165 165 166 # if defined key_vectopt_loop && ! defined key_mpp_omp166 # if defined key_vectopt_loop 167 167 jj = 1 168 168 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 179 179 zahu(ji,jj) = atrcbbl * e2u(ji,jj) * ze3u / e1u(ji,jj) * umask(ji,jj,1) 180 180 zahv(ji,jj) = atrcbbl * e1v(ji,jj) * ze3v / e2v(ji,jj) * vmask(ji,jj,1) 181 # if ! defined key_vectopt_loop || defined key_mpp_omp181 # if ! defined key_vectopt_loop 182 182 END DO 183 183 # endif 184 184 END DO 185 185 ELSE ! z-coordinate - full steps or s-coordinate 186 # if defined key_vectopt_loop && ! defined key_mpp_omp186 # if defined key_vectopt_loop 187 187 jj = 1 188 188 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 195 195 zahu(ji,jj) = atrcbbl * e2u(ji,jj) * fse3u(ji,jj,iku) / e1u(ji,jj) * umask(ji,jj,1) 196 196 zahv(ji,jj) = atrcbbl * e1v(ji,jj) * fse3v(ji,jj,ikv) / e2v(ji,jj) * vmask(ji,jj,1) 197 # if ! defined key_vectopt_loop || defined key_mpp_omp197 # if ! defined key_vectopt_loop 198 198 END DO 199 199 # endif … … 220 220 221 221 ! first derivative (gradient) 222 # if defined key_vectopt_loop && ! defined key_mpp_omp222 # if defined key_vectopt_loop 223 223 jj = 1 224 224 DO ji = 1, jpij ! vector opt. (forced unrolling) … … 229 229 ik = mbkt(ji,jj) 230 230 ztrb(ji,jj) = trb(ji,jj,ik,jn) * tmask(ji,jj,1) 231 # if ! defined key_vectopt_loop || defined key_mpp_omp232 END DO 233 # endif 234 END DO 235 236 # if defined key_vectopt_loop && ! defined key_mpp_omp231 # if ! defined key_vectopt_loop 232 END DO 233 # endif 234 END DO 235 236 # if defined key_vectopt_loop 237 237 jj = 1 238 238 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 243 243 zkx(ji,jj) = bblx(ji,jj) * zahu(ji,jj) * ( ztrb(ji+1,jj) - ztrb(ji,jj) ) 244 244 zky(ji,jj) = bbly(ji,jj) * zahv(ji,jj) * ( ztrb(ji,jj+1) - ztrb(ji,jj) ) 245 # if ! defined key_vectopt_loop || defined key_mpp_omp245 # if ! defined key_vectopt_loop 246 246 END DO 247 247 # endif … … 261 261 CASE ( 0 ) ! Jackett and McDougall (1994) formulation 262 262 263 # if defined key_vectopt_loop && ! defined key_mpp_omp263 # if defined key_vectopt_loop 264 264 jj = 1 265 265 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 280 280 zsign = SIGN( 0.5, - zgdrho * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 281 281 zki(ji,jj) = ( 0.5 - zsign ) * zahu(ji,jj) 282 # if ! defined key_vectopt_loop || defined key_mpp_omp283 END DO 284 # endif 285 END DO 286 287 # if defined key_vectopt_loop && ! defined key_mpp_omp282 # if ! defined key_vectopt_loop 283 END DO 284 # endif 285 END DO 286 287 # if defined key_vectopt_loop 288 288 jj = 1 289 289 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 304 304 zsign = SIGN( 0.5, -zgdrho * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 305 305 zkj(ji,jj) = ( 0.5 - zsign ) * zahv(ji,jj) 306 # if ! defined key_vectopt_loop || defined key_mpp_omp306 # if ! defined key_vectopt_loop 307 307 END DO 308 308 # endif … … 311 311 CASE ( 1 ) ! Linear formulation function of temperature only 312 312 313 # if defined key_vectopt_loop && ! defined key_mpp_omp313 # if defined key_vectopt_loop 314 314 jj = 1 315 315 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 323 323 zsign = SIGN( 0.5, - zgdrho * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 324 324 zki(ji,jj) = ( 0.5 - zsign ) * zahu(ji,jj) 325 # if ! defined key_vectopt_loop || defined key_mpp_omp326 END DO 327 # endif 328 END DO 329 330 # if defined key_vectopt_loop && ! defined key_mpp_omp325 # if ! defined key_vectopt_loop 326 END DO 327 # endif 328 END DO 329 330 # if defined key_vectopt_loop 331 331 jj = 1 332 332 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 341 341 zkj(ji,jj) = ( 0.5 - zsign ) * zahv(ji,jj) 342 342 343 # if ! defined key_vectopt_loop || defined key_mpp_omp343 # if ! defined key_vectopt_loop 344 344 END DO 345 345 # endif … … 385 385 386 386 ! first derivative (gradient) 387 # if defined key_vectopt_loop && ! defined key_mpp_omp387 # if defined key_vectopt_loop 388 388 jj = 1 389 389 DO ji = 1, jpij ! vector opt. (forced unrolling) … … 394 394 ik = mbkt(ji,jj) 395 395 ztrb(ji,jj) = trb(ji,jj,ik,jn) * tmask(ji,jj,1) 396 # if ! defined key_vectopt_loop || defined key_mpp_omp397 END DO 398 # endif 399 END DO 400 # if defined key_vectopt_loop && ! defined key_mpp_omp396 # if ! defined key_vectopt_loop 397 END DO 398 # endif 399 END DO 400 # if defined key_vectopt_loop 401 401 jj = 1 402 402 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 407 407 zkx(ji,jj) = zki(ji,jj) * ( ztrb(ji+1,jj) - ztrb(ji,jj) ) 408 408 zky(ji,jj) = zkj(ji,jj) * ( ztrb(ji,jj+1) - ztrb(ji,jj) ) 409 # if ! defined key_vectopt_loop || defined key_mpp_omp409 # if ! defined key_vectopt_loop 410 410 END DO 411 411 # endif … … 449 449 450 450 ! second derivative (divergence) and add to the general tracer trend 451 # if defined key_vectopt_loop && ! defined key_mpp_omp451 # if defined key_vectopt_loop 452 452 jj = 1 453 453 DO ji = jpi+2, jpij-jpi-1 ! vector opt. (forced unrolling) … … 461 461 & + zky(ji,jj) - zky(ji ,jj-1) ) * zbtr 462 462 tra(ji,jj,ik,jn) = tra(ji,jj,ik,jn) + ztra 463 # if ! defined key_vectopt_loop || defined key_mpp_omp463 # if ! defined key_vectopt_loop 464 464 END DO 465 465 # endif -
trunk/NEMO/TOP_SRC/TRP/trcbbl_adv.h90
r1152 r1197 110 110 ! mbathy= number of w-level, minimum value=1 (cf dommsk.F) 111 111 112 #if defined key_vectopt_loop && ! defined key_mpp_omp112 #if defined key_vectopt_loop 113 113 jj = 1 114 114 DO ji = 1, jpij ! vector opt. (forced unrolling) … … 124 124 zunb(ji,jj) = un(ji,jj,mbku(ji,jj)) 125 125 zvnb(ji,jj) = vn(ji,jj,mbkv(ji,jj)) 126 #if ! defined key_vectopt_loop || defined key_mpp_omp126 #if ! defined key_vectopt_loop 127 127 END DO 128 128 #endif … … 260 260 ! partial steps correction 261 261 262 #if defined key_vectopt_loop && ! defined key_mpp_omp262 #if defined key_vectopt_loop 263 263 jj = 1 264 264 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 280 280 v_trc_bbl(ji,jj,ikv) = zalphay(ji,jj) * vn(ji,jj,ikv) * ze3v / fse3v(ji,jj,ikv) 281 281 ENDIF 282 #if ! defined key_vectopt_loop || defined key_mpp_omp282 #if ! defined key_vectopt_loop 283 283 END DO 284 284 #endif … … 291 291 ! if not partial step loop over the whole domain no lbc call 292 292 293 #if defined key_vectopt_loop && ! defined key_mpp_omp293 #if defined key_vectopt_loop 294 294 jj = 1 295 295 DO ji = 1, jpij ! vector opt. (forced unrolling) … … 304 304 v_trc_bbl(ji,jj,ikv) = zalphay(ji,jj) * vn(ji,jj,ikv) 305 305 ENDIF 306 #if ! defined key_vectopt_loop || defined key_mpp_omp306 #if ! defined key_vectopt_loop 307 307 END DO 308 308 #endif … … 313 313 DO jn = 1, jptra 314 314 315 #if defined key_vectopt_loop && ! defined key_mpp_omp315 #if defined key_vectopt_loop 316 316 jj = 1 317 317 DO ji = 1, jpij ! vector opt. (forced unrolling) … … 322 322 ik = mbkt(ji,jj) ! index of the bottom ocean T-level 323 323 ztrb(ji,jj) = trb(ji,jj,ik,jn) * tmask(ji,jj,1) ! masked now T at the ocean bottom 324 #if ! defined key_vectopt_loop || defined key_mpp_omp324 #if ! defined key_vectopt_loop 325 325 END DO 326 326 #endif … … 333 333 ! ... Second order centered tracer flux at u and v-points 334 334 335 # if defined key_vectopt_loop && ! defined key_mpp_omp335 # if defined key_vectopt_loop 336 336 jj = 1 337 337 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 349 349 zwy(ji,jj) = ( ( zfvj + ABS( zfvj ) ) * ztrb(ji ,jj ) & 350 350 & +( zfvj - ABS( zfvj ) ) * ztrb(ji ,jj+1) ) * 0.5 351 #if ! defined key_vectopt_loop || defined key_mpp_omp351 #if ! defined key_vectopt_loop 352 352 END DO 353 353 #endif 354 354 END DO 355 355 356 # if defined key_vectopt_loop && ! defined key_mpp_omp356 # if defined key_vectopt_loop 357 357 jj = 1 358 358 DO ji = jpi+2, jpij-jpi-1 ! vector opt. (forced unrolling) … … 369 369 ! add it to the general tracer trends 370 370 tra(ji,jj,ik,jn) = tra(ji,jj,ik,jn) + ztra 371 #if ! defined key_vectopt_loop || defined key_mpp_omp371 #if ! defined key_vectopt_loop 372 372 END DO 373 373 #endif … … 409 409 IF( ln_zps ) THEN 410 410 411 # if defined key_vectopt_loop && ! defined key_mpp_omp411 # if defined key_vectopt_loop 412 412 jj = 1 413 413 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 427 427 zwu(ji,jj) = zalphax(ji,jj) * e2u(ji,jj) * ze3u 428 428 zwv(ji,jj) = zalphay(ji,jj) * e1v(ji,jj) * ze3v 429 #if ! defined key_vectopt_loop || defined key_mpp_omp429 #if ! defined key_vectopt_loop 430 430 END DO 431 431 #endif … … 434 434 ELSE 435 435 436 # if defined key_vectopt_loop && ! defined key_mpp_omp436 # if defined key_vectopt_loop 437 437 jj = 1 438 438 DO ji = 1, jpij-jpi ! vector opt. (forced unrolling) … … 445 445 zwu(ji,jj) = zalphax(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,iku) 446 446 zwv(ji,jj) = zalphay(ji,jj) * e1v(ji,jj) * fse3v(ji,jj,ikv) 447 #if ! defined key_vectopt_loop || defined key_mpp_omp447 #if ! defined key_vectopt_loop 448 448 END DO 449 449 #endif … … 451 451 ENDIF 452 452 453 # if defined key_vectopt_loop && ! defined key_mpp_omp453 # if defined key_vectopt_loop 454 454 jj = 1 455 455 DO ji = jpi+2, jpij-jpi-1 ! vector opt. (forced unrolling) … … 467 467 & ) / zbt 468 468 469 # if ! defined key_vectopt_loop || defined key_mpp_omp469 # if ! defined key_vectopt_loop 470 470 END DO 471 471 # endif -
trunk/NEMO/TOP_SRC/TRP/zpshde_trc.F90
r1152 r1197 125 125 DO jn = 1, jptra 126 126 ! Interpolation of passive tracers at the last ocean level 127 # if defined key_vectopt_loop && ! defined key_mpp_omp127 # if defined key_vectopt_loop 128 128 jj = 1 129 129 DO ji = 1, jpij-jpi ! vector opt. (forced unrolled) … … 170 170 pgtrv(ji,jj,jn) = vmask(ji,jj,1) * ( ptra(ji,jj+1,ikv,jn) - ztraj(ji,jj,jn) ) 171 171 ENDIF 172 # if ! defined key_vectopt_loop || defined key_mpp_omp172 # if ! defined key_vectopt_loop 173 173 END DO 174 174 # endif
Note: See TracChangeset
for help on using the changeset viewer.