- Timestamp:
- 2014-04-06T17:28:25+02:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/OPA_SRC/LBC/cla.F90
r4596 r4616 316 316 DO ji = mi0(161), mi1(161) !------------------------------ 317 317 DO jk = 1, 8 ! surface in/out flow (Ind -> Red) (div >0) 318 hdiv_161_88(jk) = + zio_flow / ( 8. * e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )318 hdiv_161_88(jk) = + zio_flow / ( 8. * e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 319 319 END DO 320 320 ! ! recirculation water (Ind -> Red) (div >0) 321 hdiv_161_88(20) = + zrecirc_upp / ( e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,20) )322 hdiv_161_88(21) = + ( zrecirc_bot - zrecirc_upp ) / ( e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,21) )321 hdiv_161_88(20) = + zrecirc_upp / ( e1e2t(ji,jj) * fse3t(ji,jj,20) ) 322 hdiv_161_88(21) = + ( zrecirc_bot - zrecirc_upp ) / ( e1e2t(ji,jj) * fse3t(ji,jj,21) ) 323 323 END DO 324 324 END DO … … 327 327 DO ji = mi0(161), mi1(161) !------------------------------ 328 328 ! ! deep out flow + recirculation (Red -> Ind) (div <0) 329 hdiv_161_87(21) = - ( zio_flow + zrecirc_bot ) / ( e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,21) )329 hdiv_161_87(21) = - ( zio_flow + zrecirc_bot ) / ( e1e2t(ji,jj) * fse3t(ji,jj,21) ) 330 330 END DO 331 331 END DO … … 334 334 DO ji = mi0(160), mi1(160) !------------------------------ 335 335 DO jk = 1, 8 ! surface inflow (Ind -> Red) (div <0) 336 hdiv_160_89(jk) = - zio_flow / ( 8. * e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )336 hdiv_160_89(jk) = - zio_flow / ( 8. * e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 337 337 END DO 338 338 ! ! deep outflow (Red -> Ind) (div >0) 339 hdiv_160_89(16) = + zio_flow / ( e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,16) )339 hdiv_160_89(16) = + zio_flow / ( e1e2t(ji,jj) * fse3t(ji,jj,16) ) 340 340 END DO 341 341 END DO … … 347 347 DO jj = mj0(87), mj1(96) ! sum over the Red sea 348 348 DO ji = mi0(148), mi1(160) 349 zemp_red = zemp_red + emp(ji,jj) * e1 t(ji,jj) *e2t(ji,jj) * tmask_i(ji,jj)349 zemp_red = zemp_red + emp(ji,jj) * e1e2t(ji,jj) * tmask_i(ji,jj) 350 350 END DO 351 351 END DO … … 421 421 DO jj = mj0(88), mj1(88) !** (160,88) (Gulf of Aden side, north point) 422 422 DO ji = mi0(160), mi1(160) ! 160, not 161 as it is a U-point) 423 ua(ji,jj,:) = - hdiv_161_88_kt(:) / ( e1t(ji+1,jj) * e2t(ji+1,jj) * fse3t(ji+1,jj,:) ) & 424 & * e2u(ji,jj) * fse3u(ji,jj,:) 423 ua(ji,jj,:) = - hdiv_161_88_kt(:) / ( e1e2t(ji+1,jj) * fse3t(ji+1,jj,:) ) * e2u(ji,jj) * fse3u(ji,jj,:) 425 424 END DO 426 425 END DO 427 426 DO jj = mj0(87), mj1(87) !** (160,87) (Gulf of Aden side, south point) 428 427 DO ji = mi0(160), mi1(160) ! 160, not 161 as it is a U-point) 429 ua(ji,jj,:) = - hdiv_161_87(:) / ( e1t(ji+1,jj) * e2t(ji+1,jj) * fse3t(ji+1,jj,:) ) & 430 & * e2u(ji,jj) * fse3u(ji,jj,:) 428 ua(ji,jj,:) = - hdiv_161_87(:) / ( e1e2t(ji+1,jj) * fse3t(ji+1,jj,:) ) * e2u(ji,jj) * fse3u(ji,jj,:) 431 429 END DO 432 430 END DO 433 431 DO jj = mj0(88), mj1(88) !** profile of divergence at (160,89) (Red sea side) 434 432 DO ji = mi0(160), mi1(160) ! 88, not 89 as it is a V-point) 435 va(ji,jj,:) = - hdiv_160_89_kt(:) / ( e1t(ji,jj+1) * e2t(ji,jj+1) * fse3t(ji,jj+1,:) ) & 436 & * e1v(ji,jj) * fse3v(ji,jj,:) 433 va(ji,jj,:) = - hdiv_160_89_kt(:) / ( e1e2t(ji,jj+1) * fse3t(ji,jj+1,:) ) * e1v(ji,jj) * fse3v(ji,jj,:) 437 434 END DO 438 435 END DO … … 492 489 DO ji = mi0(139), mi1(139) !----------------------------- 493 490 DO jk = 1, 14 ! surface in/out flow (Atl -> Med) (div >0) 494 hdiv_139_101(jk) = + zio_flow / ( 14. * e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )491 hdiv_139_101(jk) = + zio_flow / ( 14. * e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 495 492 END DO 496 493 DO jk = 15, 20 ! middle reciculation (Atl 101 -> Atl 102) (div >0) 497 hdiv_139_101(jk) = + zrecirc_mid / ( 6. * e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )494 hdiv_139_101(jk) = + zrecirc_mid / ( 6. * e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 498 495 END DO 499 496 ! ! upper reciculation (Atl 101 -> Atl 101) (div >0) 500 hdiv_139_101(21) = + zrecirc_upp / ( e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )497 hdiv_139_101(21) = + zrecirc_upp / ( e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 501 498 ! 502 499 ! ! upper & bottom reciculation (Atl 101 -> Atl 101 & 102) (div >0) 503 hdiv_139_101(22) = ( zrecirc_bot - zrecirc_upp ) / ( e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )500 hdiv_139_101(22) = ( zrecirc_bot - zrecirc_upp ) / ( e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 504 501 END DO 505 502 END DO … … 507 504 DO ji = mi0(139), mi1(139) !----------------------------- 508 505 DO jk = 15, 20 ! middle reciculation (Atl 101 -> Atl 102) (div <0) 509 hdiv_139_102(jk) = - zrecirc_mid / ( 6. * e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )506 hdiv_139_102(jk) = - zrecirc_mid / ( 6. * e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 510 507 END DO 511 508 ! ! outflow of Mediterranean sea + deep recirculation (div <0) 512 hdiv_139_102(22) = - ( zio_flow + zrecirc_bot ) / ( e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )509 hdiv_139_102(22) = - ( zio_flow + zrecirc_bot ) / ( e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 513 510 END DO 514 511 END DO … … 516 513 DO ji = mi0(141), mi1(141) !------------------------------ 517 514 DO jk = 1, 14 ! surface inflow in the Med (div <0) 518 hdiv_141_102(jk) = - zio_flow / ( 14. * e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )515 hdiv_141_102(jk) = - zio_flow / ( 14. * e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 519 516 END DO 520 517 ! ! deep outflow toward the Atlantic (div >0) 521 hdiv_141_102(21) = + zio_flow / ( e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )518 hdiv_141_102(21) = + zio_flow / ( e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 522 519 END DO 523 520 END DO … … 529 526 DO jj = mj0(96), mj1(110) ! sum over the Med sea 530 527 DO ji = mi0(141),mi1(181) 531 zemp_med = zemp_med + emp(ji,jj) * e1 t(ji,jj) *e2t(ji,jj) * tmask_i(ji,jj)528 zemp_med = zemp_med + emp(ji,jj) * e1e2t(ji,jj) * tmask_i(ji,jj) 532 529 END DO 533 530 END DO 534 531 DO jj = mj0(96), mj1(96) ! minus 2 points in Red Sea 535 532 DO ji = mi0(148),mi1(148) 536 zemp_med = zemp_med - emp(ji,jj) * e1 t(ji,jj) *e2t(ji,jj) * tmask_i(ji,jj)533 zemp_med = zemp_med - emp(ji,jj) * e1e2t(ji,jj) * tmask_i(ji,jj) 537 534 END DO 538 535 DO ji = mi0(149),mi1(149) 539 zemp_med = zemp_med - emp(ji,jj) * e1 t(ji,jj) *e2t(ji,jj) * tmask_i(ji,jj)536 zemp_med = zemp_med - emp(ji,jj) * e1e2t(ji,jj) * tmask_i(ji,jj) 540 537 END DO 541 538 END DO … … 549 546 hdiv_139_101_kt(:) = hdiv_139_101(:) 550 547 DO jk = 1, 14 ! increase the inflow from the Atlantic (div >0) 551 hdiv_139_101_kt(jk) = hdiv_139_101(jk) + zemp_med / ( 14. * e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )548 hdiv_139_101_kt(jk) = hdiv_139_101(jk) + zemp_med / ( 14. * e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 552 549 END DO 553 550 hdivn(ji, jj,:) = hdivn(ji, jj,:) + hdiv_139_101_kt(:) … … 563 560 hdiv_141_102(:) = hdiv_141_102(:) 564 561 DO jk = 1, 14 ! increase the inflow from the Atlantic (div <0) 565 hdiv_141_102_kt(jk) = hdiv_141_102(jk) - zemp_med / ( 14. * e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )562 hdiv_141_102_kt(jk) = hdiv_141_102(jk) - zemp_med / ( 14. * e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 566 563 END DO 567 564 hdivn(ji, jj,:) = hdivn(ji, jj,:) + hdiv_141_102_kt(:) … … 616 613 DO jj = mj0(101), mj1(101) !** 139,101 (Atlantic side, south point) 617 614 DO ji = mi0(139), mi1(139) ! div >0 => ua >0, same sign 618 ua(ji,jj,:) = hdiv_139_101_kt(:) / ( e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,:) ) & 619 & * e2u(ji,jj) * fse3u(ji,jj,:) 615 ua(ji,jj,:) = hdiv_139_101_kt(:) / ( e1e2t(ji,jj) * fse3t(ji,jj,:) ) * e2u(ji,jj) * fse3u(ji,jj,:) 620 616 END DO 621 617 END DO 622 618 DO jj = mj0(102), mj1(102) !** 139,102 (Atlantic side, north point) 623 619 DO ji = mi0(139), mi1(139) ! div <0 => ua <0, same sign 624 ua(ji,jj,:) = hdiv_139_102(:) / ( e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,:) ) & 625 & * e2u(ji,jj) * fse3u(ji,jj,:) 620 ua(ji,jj,:) = hdiv_139_102(:) / ( e1e2t(ji,jj) * fse3t(ji,jj,:) ) * e2u(ji,jj) * fse3u(ji,jj,:) 626 621 END DO 627 622 END DO 628 623 DO jj = mj0(102), mj1(102) !** 140,102 (Med side) (140 not 141 as it is a U-point) 629 624 DO ji = mi0(140), mi1(140) ! div >0 => ua <0, opposite sign 630 ua(ji,jj,:) = - hdiv_141_102(:) / ( e1t(ji+1,jj) * e2t(ji+1,jj) * fse3t(ji+1,jj,:) ) & 631 & * e2u(ji,jj) * fse3u(ji,jj,:) 625 ua(ji,jj,:) = - hdiv_141_102(:) / ( e1e2t(ji+1,jj) * fse3t(ji+1,jj,:) ) * e2u(ji,jj) * fse3u(ji,jj,:) 632 626 END DO 633 627 END DO … … 675 669 DO ji = mi0(172), mi1(172) 676 670 DO jk = 1, 8 ! surface inflow (Indian ocean to Persian Gulf) (div<0) 677 hdiv_172_94(jk) = - ( zio_flow / 8.e0 * e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )671 hdiv_172_94(jk) = - ( zio_flow / 8.e0 * e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 678 672 END DO 679 673 DO jk = 16, 18 ! deep outflow (Persian Gulf to Indian ocean) (div>0) 680 hdiv_172_94(jk) = + ( zio_flow / 3.e0 * e1 t(ji,jj) *e2t(ji,jj) * fse3t(ji,jj,jk) )674 hdiv_172_94(jk) = + ( zio_flow / 3.e0 * e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 681 675 END DO 682 676 END DO … … 722 716 DO jj = mj0(94), mj1(94) !** 171,94 (Indian ocean side) (171 not 172 as it is the western U-point) 723 717 DO ji = mi0(171), mi1(171) ! div >0 => ua >0, opposite sign 724 ua(ji,jj,:) = - hdiv_172_94(:) / ( e1t(ji+1,jj) * e2t(ji+1,jj) * fse3t(ji+1,jj,:) ) & 725 & * e2u(ji,jj) * fse3u(ji,jj,:) 718 ua(ji,jj,:) = - hdiv_172_94(:) / ( e1e2t(ji+1,jj) * fse3t(ji+1,jj,:) ) * e2u(ji,jj) * fse3u(ji,jj,:) 726 719 END DO 727 720 END DO
Note: See TracChangeset
for help on using the changeset viewer.