Changeset 4443


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

Use of mbkmax in zdfgls

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90

    r3849 r4443  
    236236      DO jj = 2, jpjm1 
    237237         DO ji = 2, jpim1 
    238             DO jk = 2, jpkm1 
     238            DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    239239#else 
    240240      DO jk = 2, jpkm1 
     
    266266         DO jj = 2, jpjm1  
    267267            DO ji = 2, jpim1 
    268                DO jk = 2, jpkm1 
     268               DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    269269#else 
    270270         DO jk = 2, jpkm1 
     
    297297      DO jj = 2, jpjm1 
    298298         DO ji = 2, jpim1 
    299             DO jk = 2, jpkm1 
     299            DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    300300#else 
    301301      DO jk = 2, jpkm1 
     
    352352      END DO 
    353353      ! 
     354#if defined key_z_first 
     355      DO jj = 1, jpj, 1 
     356         DO ji = 1, jpi, 1 
     357            z_elem_b(ji,jj,mbkmax(ji,jj)) = 1._wp 
     358         END DO 
     359      END DO 
     360#else 
    354361      z_elem_b(:,:,jpk) = 1._wp 
     362#endif 
    355363      ! 
    356364      ! Set surface condition on zwall_psi (1 at the bottom) 
     
    489497      DO jj = 2, jpjm1 
    490498         DO ji = 2, jpim1 
    491             DO jk = 2, jpkm1                       ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
     499            DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1     ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
    492500#else 
    493501      DO jk = 2, jpkm1                             ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
     
    502510      DO jj = 2, jpjm1 
    503511         DO ji = 2, jpim1 
    504             DO jk = 2, jpk                         ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 
     512            DO jk = 2, mbkmax(ji,jj) ! jpk         ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 
    505513#else 
    506514      DO jk = 2, jpk                               ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 
     
    515523      DO jj = 2, jpjm1 
    516524         DO ji = 2, jpim1 
    517             DO jk = jpk-1, 2, -1                   ! Third recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 
     525            DO jk = mbkmax(ji,jj)-1, 2, -1 ! jpk-1, 2, -1    ! Third recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 
    518526#else 
    519527      DO jk = jpk-1, 2, -1                         ! Third recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 
     
    540548         DO jj = 2, jpjm1 
    541549            DO ji = 2, jpim1 
    542                DO jk = 2, jpkm1 
     550               DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    543551#else 
    544552         DO jk = 2, jpkm1 
     
    555563         DO jj = 2, jpjm1 
    556564            DO ji = 2, jpim1 
    557                DO jk = 2, jpkm1 
     565               DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    558566#else 
    559567         DO jk = 2, jpkm1 
     
    570578         DO jj = 2, jpjm1 
    571579            DO ji = 2, jpim1 
    572                DO jk = 2, jpkm1 
     580               DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    573581#else 
    574582         DO jk = 2, jpkm1 
     
    585593         DO jj = 2, jpjm1 
    586594            DO ji = 2, jpim1 
    587                DO jk = 2, jpkm1 
     595               DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    588596#else 
    589597         DO jk = 2, jpkm1 
     
    608616      DO jj = 2, jpjm1 
    609617         DO ji = 2, jpim1 
    610             DO jk = 2, jpkm1 
     618            DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    611619#else 
    612620      DO jk = 2, jpkm1 
     
    655663      END DO 
    656664      ! 
     665#if defined key_z_first 
     666      DO jj = 1, jpj, 1 
     667         DO ji = 1, jpi, 1 
     668            z_elem_b(ji,jj,mbkmax(ji,jj)) = 1.0_wp 
     669         END DO 
     670      END DO 
     671#else 
    657672      z_elem_b(:,:,jpk) = 1._wp 
     673#endif 
    658674 
    659675      ! Surface boundary condition on psi 
     
    832848      DO jj = 2, jpjm1 
    833849         DO ji = 2, jpim1 
    834             DO jk = 2, jpkm1                       ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
     850            DO jk = 2, mbkmax(ji,jj)-1 !  jpkm1    ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
    835851#else 
    836852      DO jk = 2, jpkm1                             ! First recurrence : Dk = Dk - Lk * Uk-1 / Dk-1 
     
    845861      DO jj = 2, jpjm1 
    846862         DO ji = 2, jpim1 
    847             DO jk = 2, jpk                         ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 
     863            DO jk = 2, mbkmax(ji,jj) ! jpk         ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 
    848864#else 
    849865      DO jk = 2, jpk                               ! Second recurrence : Lk = RHSk - Lk / Dk-1 * Lk-1 
     
    858874      DO jj = 2, jpjm1 
    859875         DO ji = 2, jpim1 
    860             DO jk = jpk-1, 2, -1                   ! Third recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 
     876            DO jk = mbkmax(ji,jj)-1, 2, -1 ! jpk-1, 2, -1  ! Third recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 
    861877#else 
    862878      DO jk = jpk-1, 2, -1                         ! Third recurrence : Ek = ( Lk - Uk * Ek+1 ) / Dk 
     
    878894         DO jj = 2, jpjm1 
    879895            DO ji = 2, jpim1 
    880                DO jk = 1, jpkm1 
     896               DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 
    881897#else 
    882898         DO jk = 1, jpkm1 
     
    893909         DO jj = 2, jpjm1 
    894910            DO ji = 2, jpim1 
    895                DO jk = 1, jpkm1 
     911               DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 
    896912#else 
    897913         DO jk = 1, jpkm1 
     
    908924         DO jj = 2, jpjm1 
    909925            DO ji = 2, jpim1 
    910                DO jk = 1, jpkm1 
     926               DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 
    911927#else 
    912928         DO jk = 1, jpkm1 
     
    926942         DO jj = 2, jpjm1 
    927943            DO ji = 2, jpim1 
    928                 DO jk = 1, jpkm1 
     944                DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 
    929945#else 
    930946         DO jk = 1, jpkm1 
     
    944960      DO jj = 2, jpjm1 
    945961         DO ji = 2, jpim1 
    946             DO jk = 1, jpkm1 ! Note that this set boundary conditions on mxln at the same time 
     962            DO jk = 1, mbkmax(ji,jj)-1 ! jpkm1 ! Note that this set boundary conditions on mxln at the same time 
    947963#else 
    948964      DO jk = 1, jpkm1 ! Note that this set boundary conditions on mxln at the same time 
     
    970986         DO jj = 2, jpjm1 
    971987            DO ji = 2, jpim1 
    972                DO jk = 2, jpkm1 
     988               DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    973989#else 
    974990         DO jk = 2, jpkm1 
     
    9971013         DO jj = 2, jpjm1 
    9981014            DO ji = 2, jpim1 
    999                DO jk = 2, jpkm1 
     1015               DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1 
    10001016#else 
    10011017         DO jk = 2, jpkm1 
     
    10491065      DO jj = 2, jpjm1 
    10501066         DO ji = 2, jpim1 
    1051             DO jk = 1, jpk 
     1067            DO jk = 1, mbkmax(ji,jj) ! jpk 
    10521068#else 
    10531069      DO jk = 1, jpk 
     
    10711087      DO jj = 2, jpjm1 
    10721088         DO ji = 2, jpim1 
    1073             DO jk = 2, jpkm1      !* vertical eddy viscosity at u- and v-points 
     1089            DO jk = 2, mbkmax(ji,jj)-1 ! jpkm1      !* vertical eddy viscosity at u- and v-points 
    10741090#else 
    10751091      DO jk = 2, jpkm1            !* vertical eddy viscosity at u- and v-points 
Note: See TracChangeset for help on using the changeset viewer.