Changeset 4400


Ignore:
Timestamp:
2014-02-04T13:11:29+01:00 (7 years ago)
Author:
trackstand2
Message:

Replace jpk with jpkf in bound_exch_generic. Turn on test timing of exchanges

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  
    800800      ! 
    801801      ! 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 
    803803      mbkmax(:,:) = MAX(mbkt(:,:)+1, mbku(:,:), mbkv(:,:)) 
    804804      jpkf = MAXVAL( mbkmax(:,:) ) 
    805805      jpkfm1 = jpkf - 1 
    806       WRITE(*,*) narea,': ARPDBG: jpkf = ', jpkf 
     806      WRITE(*,*) narea,': ARPDBG: shallowest pt and jpkf = ', MINVAL(mbkmax(:,:)), jpkf 
    807807 
    808808      ! 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/LBC/exchmod.F90

    r3837 r4400  
    300300    USE par_oce, ONLY: wp, jpreci, jprecj, jpim1 
    301301    USE dom_oce, ONLY: nlci, nlcj, nldi, nlei, nldj, nlej, & 
    302                        nperio, nbondi, npolj, narea 
     302                       nperio, nbondi, npolj, narea, jpkf 
    303303    USE mapcomm_mod, ONLY: Iminus, Iplus, NONE, ilbext, iubext, cyclic_bc 
    304304    USE mapcomm_mod, ONLY: trimmed, eidx, widx 
     
    356356       kdim1 = SIZE(b3,dim=3) 
    357357#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 
    358362    ELSEIF ( PRESENT(ib3) ) THEN 
    359363#if defined key_z_first 
     
    362366       kdim1 = SIZE(ib3,dim=3) 
    363367#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 
    364372    ELSEIF ( PRESENT(b2) ) THEN 
    365373       kdim1 = SIZE(b2,dim=2) 
     
    568576#if defined key_z_first 
    569577             DO jj = 1,jpj,1 
    570                 DO jk = 1,jpk,1 
     578                DO jk = 1,kdim1,1 
    571579                   b3( 1, jj, jk) = b3(jpim1, jj, jk) 
    572580                   b3(jpi,jj, jk) = b3(    2, jj, jk) 
     
    574582             END DO 
    575583#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) 
    578586#endif 
    579587          ELSE IF ( PRESENT(ib3) ) THEN 
    580588 
    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) 
    583591          END IF 
    584592 
     
    609617                   DO jj=1,jpj,1 
    610618                      DO ji=1,jpreci,1 
    611                          DO jk=1,jpk,1 
     619                         DO jk=1,kdim1,1 
    612620                            b3(ji, jj, jk) = zland 
    613621                         END DO 
    614622                      END DO 
    615623                      DO ji=nlci-jpreci+1,jpi,1 
    616                          DO jk=1,jpk,1 
     624                         DO jk=1,kdim1,1 
    617625                            b3(ji, jj, jk) = zland 
    618626                         END DO 
     
    620628                   END DO 
    621629#else 
    622                    b3(1:jpreci         , :, :) = zland 
    623                    b3(nlci-jpreci+1:jpi, :, :) = zland 
     630                   b3(1:jpreci         , :, 1:kdim1) = zland 
     631                   b3(nlci-jpreci+1:jpi, :, 1:kdim1) = zland 
    624632#endif 
    625633                CASE ( 'F' ) 
     
    627635                   DO jj=1,jpj,1 
    628636                      DO ji = nlci-jpreci+1,jpi,1 
    629                          DO jk = 1,jpk,1 
     637                         DO jk = 1,kdim1,1 
    630638                            b3(ji, jj, jk) = zland 
    631639                         END DO 
     
    633641                   END DO 
    634642#else 
    635                    b3(nlci-jpreci+1:jpi, :, :) = zland 
     643                   b3(nlci-jpreci+1:jpi, :, 1:kdim1) = zland 
    636644#endif 
    637645                END SELECT 
     
    639647                SELECT CASE ( cd_type ) 
    640648                CASE ( 'T', 'U', 'V', 'W' ) 
    641                    ib3(1:jpreci         , :, :) = iland 
    642                    ib3(nlci-jpreci+1:jpi, :, :) = iland 
     649                   ib3(1:jpreci         , :, 1:kdim1) = iland 
     650                   ib3(nlci-jpreci+1:jpi, :, 1:kdim1) = iland 
    643651                CASE ( 'F' ) 
    644                    ib3(nlci-jpreci+1:jpi, :, :) = iland 
     652                   ib3(nlci-jpreci+1:jpi, :, 1:kdim1) = iland 
    645653                END SELECT 
    646654             END IF 
     
    678686                DO jj=1,jprecj,1 
    679687                   DO ji=1,jpi,1 
    680                       DO jk = 1,jpk,1 
     688                      DO jk = 1,kdim1,1 
    681689                         b3(ji, jj, jk) = zland 
    682690                      END DO 
     
    685693                DO jj=nlcj-jprecj+1,jpj,1 
    686694                   DO ji=1,jpi,1 
    687                       DO jk = 1,jpk,1 
     695                      DO jk = 1,kdim1,1 
    688696                         b3(ji, jj, jk) = zland 
    689697                      END DO 
     
    691699                END DO 
    692700#else 
    693                 b3(:, 1:jprecj         , :) = zland 
    694                 b3(:, nlcj-jprecj+1:jpj, :) = zland 
     701                b3(:, 1:jprecj         , 1:kdim1) = zland 
     702                b3(:, nlcj-jprecj+1:jpj, 1:kdim1) = zland 
    695703#endif 
    696704             CASE ( 'F' ) 
     
    698706                DO jj=nlcj-jprecj+1,jpj,1 
    699707                   DO ji=1,jpi,1 
    700                       DO jk = 1,jpk,1 
     708                      DO jk = 1,kdim1,1 
    701709                         b3(ji, jj, jk) = zland 
    702710                      END DO 
     
    704712                END DO 
    705713#else 
    706                 b3(:, nlcj-jprecj+1:jpj, :) = zland 
     714                b3(:, nlcj-jprecj+1:jpj, 1:kdim1) = zland 
    707715#endif 
    708716             END SELECT 
     
    710718             SELECT CASE ( cd_type ) 
    711719             CASE ( 'T', 'U', 'V', 'W' ) 
    712                 ib3(:, 1:jprecj         , :) = iland 
    713                 ib3(:, nlcj-jprecj+1:jpj, :) = iland 
     720                ib3(:, 1:jprecj         , 1:kdim1) = iland 
     721                ib3(:, nlcj-jprecj+1:jpj, 1:kdim1) = iland 
    714722             CASE ( 'F' ) 
    715                 ib3(:, nlcj-jprecj+1:jpj, :) = iland 
     723                ib3(:, nlcj-jprecj+1:jpj, 1:kdim1) = iland 
    716724             END SELECT 
    717725          END IF 
     
    766774                              cd_type=cd_type, lfill=lfillarg) 
    767775 
    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 ) 
    772776       END IF        ! ndim_rank_north > 0 
    773777       !END SELECT    ! npolj  
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/LBC/exchtestmod.F90

    r3837 r4400  
    1111                        do_real_tests       = .TRUE. , & 
    1212                        do_integer_timings  = .FALSE., & 
    13                         do_real_timings     = .FALSE., & 
     13                        do_real_timings     = .TRUE., & 
    1414                        use_exch_list       = .FALSE.   ! Whether to use the halo 
    1515                                                        ! packing API for the tests 
Note: See TracChangeset for help on using the changeset viewer.