Changeset 4701


Ignore:
Timestamp:
2014-07-03T11:43:29+02:00 (6 years ago)
Author:
mathiot
Message:

wrong vertical mesh definition in case of vvl and ice shelf

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90

    r4666 r4701  
    171171      DO jj = 1,jpj 
    172172         DO ji = 1,jpi 
    173             DO jk = 1,mikt(ji,jj)-1 
     173            DO jk = 2,mikt(ji,jj)-1 
    174174               fsdept_n(ji,jj,jk) = gdept_0(ji,jj,jk) 
    175175               fsdepw_n(ji,jj,jk) = gdepw_0(ji,jj,jk) 
     
    178178               fsdepw_b(ji,jj,jk) = gdepw_0(ji,jj,jk) 
    179179            END DO 
    180             DO jk = mikt(ji,jj), jpk 
     180            IF (mikt(ji,jj) .GT. 1) THEN 
     181               jk = mikt(ji,jj) 
     182               fsdept_n(ji,jj,jk) = gdepw_0(ji,jj,jk) + 0.5_wp * fse3w_n(ji,jj,jk) 
     183               fsdepw_n(ji,jj,jk) = gdepw_0(ji,jj,jk) 
     184               fsde3w_n(ji,jj,jk) = fsdept_n(ji,jj,jk  ) - sshn   (ji,jj) 
     185               fsdept_b(ji,jj,jk) = gdepw_0(ji,jj,jk) + 0.5_wp * fse3w_b(ji,jj,jk) 
     186               fsdepw_b(ji,jj,jk) = gdepw_0(ji,jj,jk) 
     187            END IF 
     188            DO jk = mikt(ji,jj)+1, jpk 
    181189               fsdept_n(ji,jj,jk) = fsdept_n(ji,jj,jk-1) + fse3w_n(ji,jj,jk) 
    182190               fsdepw_n(ji,jj,jk) = fsdepw_n(ji,jj,jk-1) + fse3t_n(ji,jj,jk-1) 
     
    581589      !! * Local declarations 
    582590      REAL(wp), POINTER, DIMENSION(:,:,:) :: z_e3t_def 
    583       INTEGER                             :: jk       ! dummy loop indices 
     591      INTEGER                             :: ji,jj,jk       ! dummy loop indices 
    584592      !!---------------------------------------------------------------------- 
    585593 
     
    633641      fsdepw_n(:,:,1) = 0.0_wp 
    634642      fsde3w_n(:,:,1) = fsdept_n(:,:,1) - sshn(:,:) 
    635       DO jk = 2, jpk 
    636          fsdept_n(:,:,jk) = fsdept_n(:,:,jk-1) + fse3w_n(:,:,jk) 
    637          fsdepw_n(:,:,jk) = fsdepw_n(:,:,jk-1) + fse3t_n(:,:,jk-1) 
    638          fsde3w_n(:,:,jk) = fsdept_n(:,:,jk  ) - sshn   (:,:) 
     643      DO jj = 1,jpj 
     644         DO ji = 1,jpi 
     645            DO jk = 2,mikt(ji,jj)-1 
     646               fsdept_n(ji,jj,jk) = gdept_0(ji,jj,jk) 
     647               fsdepw_n(ji,jj,jk) = gdepw_0(ji,jj,jk) 
     648               fsde3w_n(ji,jj,jk) = gdept_0(ji,jj,jk) - sshn(ji,jj) 
     649            END DO 
     650            IF (mikt(ji,jj) .GT. 1) THEN 
     651               jk = mikt(ji,jj) 
     652               fsdept_n(ji,jj,jk) = gdepw_0(ji,jj,jk) + 0.5_wp * fse3w_n(ji,jj,jk) 
     653               fsdepw_n(ji,jj,jk) = gdepw_0(ji,jj,jk) 
     654               fsde3w_n(ji,jj,jk) = fsdept_n(ji,jj,jk  ) - sshn   (ji,jj) 
     655            END IF 
     656            DO jk = mikt(ji,jj)+1, jpk 
     657               fsdept_n(ji,jj,jk) = fsdept_n(ji,jj,jk-1) + fse3w_n(ji,jj,jk) 
     658               fsdepw_n(ji,jj,jk) = fsdepw_n(ji,jj,jk-1) + fse3t_n(ji,jj,jk-1) 
     659               fsde3w_n(ji,jj,jk) = fsdept_n(ji,jj,jk  ) - sshn   (ji,jj) 
     660            END DO 
     661         END DO 
    639662      END DO 
    640663      ! Local depth and Inverse of the local depth of the water column at u- and v- points 
Note: See TracChangeset for help on using the changeset viewer.