Changeset 4400
- Timestamp:
- 2014-02-04T13:11:29+01:00 (10 years ago)
- Location:
- branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90
r4399 r4400 800 800 ! 801 801 ! Compute and store the deepest bottom level of any grid-type at each grid point 802 ! For use in removing data below ocean floor from halo exchanges.802 ! For use in removing data below ocean floor from compute loops 803 803 mbkmax(:,:) = MAX(mbkt(:,:)+1, mbku(:,:), mbkv(:,:)) 804 804 jpkf = MAXVAL( mbkmax(:,:) ) 805 805 jpkfm1 = jpkf - 1 806 WRITE(*,*) narea,': ARPDBG: jpkf = ', jpkf806 WRITE(*,*) narea,': ARPDBG: shallowest pt and jpkf = ', MINVAL(mbkmax(:,:)), jpkf 807 807 808 808 ! -
branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/LBC/exchmod.F90
r3837 r4400 300 300 USE par_oce, ONLY: wp, jpreci, jprecj, jpim1 301 301 USE dom_oce, ONLY: nlci, nlcj, nldi, nlei, nldj, nlej, & 302 nperio, nbondi, npolj, narea 302 nperio, nbondi, npolj, narea, jpkf 303 303 USE mapcomm_mod, ONLY: Iminus, Iplus, NONE, ilbext, iubext, cyclic_bc 304 304 USE mapcomm_mod, ONLY: trimmed, eidx, widx … … 356 356 kdim1 = SIZE(b3,dim=3) 357 357 #endif 358 ! If we've been passed a 'standard' 3D array then 359 ! we can limit the length of our z loops to the 360 ! no. of levels above the ocean floor. 361 IF(kdim1 == jpk)kdim1 = jpkf 358 362 ELSEIF ( PRESENT(ib3) ) THEN 359 363 #if defined key_z_first … … 362 366 kdim1 = SIZE(ib3,dim=3) 363 367 #endif 368 ! If we've been passed a 'standard' 3D array then 369 ! we can limit the length of our z loops to the 370 ! no. of levels above the ocean floor. 371 IF(kdim1 == jpk)kdim1 = jpkf 364 372 ELSEIF ( PRESENT(b2) ) THEN 365 373 kdim1 = SIZE(b2,dim=2) … … 568 576 #if defined key_z_first 569 577 DO jj = 1,jpj,1 570 DO jk = 1, jpk,1578 DO jk = 1,kdim1,1 571 579 b3( 1, jj, jk) = b3(jpim1, jj, jk) 572 580 b3(jpi,jj, jk) = b3( 2, jj, jk) … … 574 582 END DO 575 583 #else 576 b3( 1, :, :) = b3(jpim1, :, :)577 b3(jpi,:, :) = b3( 2, :, :)584 b3( 1, :, 1:kdim1) = b3(jpim1, :, 1:kdim1) 585 b3(jpi,:, 1:kdim1) = b3( 2, :, 1:kdim1) 578 586 #endif 579 587 ELSE IF ( PRESENT(ib3) ) THEN 580 588 581 ib3( 1, :, :) = ib3(jpim1, :, :)582 ib3(jpi,:, :) = ib3( 2, :, :)589 ib3( 1, :, 1:kdim1) = ib3(jpim1, :, 1:kdim1) 590 ib3(jpi,:, 1:kdim1) = ib3( 2, :, 1:kdim1) 583 591 END IF 584 592 … … 609 617 DO jj=1,jpj,1 610 618 DO ji=1,jpreci,1 611 DO jk=1, jpk,1619 DO jk=1,kdim1,1 612 620 b3(ji, jj, jk) = zland 613 621 END DO 614 622 END DO 615 623 DO ji=nlci-jpreci+1,jpi,1 616 DO jk=1, jpk,1624 DO jk=1,kdim1,1 617 625 b3(ji, jj, jk) = zland 618 626 END DO … … 620 628 END DO 621 629 #else 622 b3(1:jpreci , :, :) = zland623 b3(nlci-jpreci+1:jpi, :, :) = zland630 b3(1:jpreci , :, 1:kdim1) = zland 631 b3(nlci-jpreci+1:jpi, :, 1:kdim1) = zland 624 632 #endif 625 633 CASE ( 'F' ) … … 627 635 DO jj=1,jpj,1 628 636 DO ji = nlci-jpreci+1,jpi,1 629 DO jk = 1, jpk,1637 DO jk = 1,kdim1,1 630 638 b3(ji, jj, jk) = zland 631 639 END DO … … 633 641 END DO 634 642 #else 635 b3(nlci-jpreci+1:jpi, :, :) = zland643 b3(nlci-jpreci+1:jpi, :, 1:kdim1) = zland 636 644 #endif 637 645 END SELECT … … 639 647 SELECT CASE ( cd_type ) 640 648 CASE ( 'T', 'U', 'V', 'W' ) 641 ib3(1:jpreci , :, :) = iland642 ib3(nlci-jpreci+1:jpi, :, :) = iland649 ib3(1:jpreci , :, 1:kdim1) = iland 650 ib3(nlci-jpreci+1:jpi, :, 1:kdim1) = iland 643 651 CASE ( 'F' ) 644 ib3(nlci-jpreci+1:jpi, :, :) = iland652 ib3(nlci-jpreci+1:jpi, :, 1:kdim1) = iland 645 653 END SELECT 646 654 END IF … … 678 686 DO jj=1,jprecj,1 679 687 DO ji=1,jpi,1 680 DO jk = 1, jpk,1688 DO jk = 1,kdim1,1 681 689 b3(ji, jj, jk) = zland 682 690 END DO … … 685 693 DO jj=nlcj-jprecj+1,jpj,1 686 694 DO ji=1,jpi,1 687 DO jk = 1, jpk,1695 DO jk = 1,kdim1,1 688 696 b3(ji, jj, jk) = zland 689 697 END DO … … 691 699 END DO 692 700 #else 693 b3(:, 1:jprecj , :) = zland694 b3(:, nlcj-jprecj+1:jpj, :) = zland701 b3(:, 1:jprecj , 1:kdim1) = zland 702 b3(:, nlcj-jprecj+1:jpj, 1:kdim1) = zland 695 703 #endif 696 704 CASE ( 'F' ) … … 698 706 DO jj=nlcj-jprecj+1,jpj,1 699 707 DO ji=1,jpi,1 700 DO jk = 1, jpk,1708 DO jk = 1,kdim1,1 701 709 b3(ji, jj, jk) = zland 702 710 END DO … … 704 712 END DO 705 713 #else 706 b3(:, nlcj-jprecj+1:jpj, :) = zland714 b3(:, nlcj-jprecj+1:jpj, 1:kdim1) = zland 707 715 #endif 708 716 END SELECT … … 710 718 SELECT CASE ( cd_type ) 711 719 CASE ( 'T', 'U', 'V', 'W' ) 712 ib3(:, 1:jprecj , :) = iland713 ib3(:, nlcj-jprecj+1:jpj, :) = iland720 ib3(:, 1:jprecj , 1:kdim1) = iland 721 ib3(:, nlcj-jprecj+1:jpj, 1:kdim1) = iland 714 722 CASE ( 'F' ) 715 ib3(:, nlcj-jprecj+1:jpj, :) = iland723 ib3(:, nlcj-jprecj+1:jpj, 1:kdim1) = iland 716 724 END SELECT 717 725 END IF … … 766 774 cd_type=cd_type, lfill=lfillarg) 767 775 768 !CALL exchr_generic (b2=b2,ib2=ib2,b3=b3,ib3=ib3,nhalo=nhalo, &769 ! nhexch=nhexch, handle=itag, &770 ! comm1=Iplus,comm2=Iminus,comm3=NONE,comm4=NONE)771 ! comm1=comm1,comm2=comm2,comm3=comm3,comm4=comm4 )772 776 END IF ! ndim_rank_north > 0 773 777 !END SELECT ! npolj -
branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/LBC/exchtestmod.F90
r3837 r4400 11 11 do_real_tests = .TRUE. , & 12 12 do_integer_timings = .FALSE., & 13 do_real_timings = . FALSE.,&13 do_real_timings = .TRUE., & 14 14 use_exch_list = .FALSE. ! Whether to use the halo 15 15 ! packing API for the tests
Note: See TracChangeset
for help on using the changeset viewer.