New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 6228 – NEMO

Changeset 6228


Ignore:
Timestamp:
2016-01-11T11:15:40+01:00 (8 years ago)
Author:
mathiot
Message:

Fix for ticket #1663

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90

    r6204 r6228  
    171171              DO jj = 1, jpj 
    172172                  jk = 2 
    173                   DO WHILE ( jk .LE. mbkt(ji,jj) .AND. fsdepw(ji,jj,jk) < rzisf_tbl(ji,jj) ) ;  jk = jk + 1 ;  END DO 
     173                  DO WHILE ( jk .LE. mbkt(ji,jj) .AND. gdepw_0(ji,jj,jk) < rzisf_tbl(ji,jj) ) ;  jk = jk + 1 ;  END DO 
    174174                  misfkt(ji,jj) = jk-1 
    175175               END DO 
     
    189189         END IF 
    190190          
    191          ! compute bottom level of isf tbl and thickness of tbl below the ice shelf 
     191         ! save initial top boundary layer thickness          
    192192         rhisf_tbl_0(:,:) = rhisf_tbl(:,:) 
    193          DO jj = 1,jpj 
    194             DO ji = 1,jpi 
    195                ikt = misfkt(ji,jj) 
    196                ikb = misfkt(ji,jj) 
    197                ! thickness of boundary layer at least the top level thickness 
    198                rhisf_tbl(ji,jj) = MAX(rhisf_tbl_0(ji,jj), fse3t_n(ji,jj,ikt)) 
    199  
    200                ! determine the deepest level influenced by the boundary layer 
    201                ! test on tmask useless ????? 
    202                DO jk = ikt, mbkt(ji,jj) 
    203                   IF ( (SUM(fse3t_n(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk 
    204                END DO 
    205                rhisf_tbl(ji,jj) = MIN(rhisf_tbl(ji,jj), SUM(fse3t_n(ji,jj,ikt:ikb)))  ! limit the tbl to water thickness. 
    206                misfkb(ji,jj) = ikb                                                  ! last wet level of the tbl 
    207                r1_hisf_tbl(ji,jj) = 1._wp / rhisf_tbl(ji,jj) 
    208  
    209                zhk           = SUM( fse3t(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj)  ! proportion of tbl cover by cell from ikt to ikb - 1 
    210                ralpha(ji,jj) = rhisf_tbl(ji,jj) * (1._wp - zhk ) / fse3t(ji,jj,ikb)  ! proportion of bottom cell influenced by boundary layer 
    211             END DO 
    212          END DO 
    213           
     193 
    214194      END IF 
    215195 
     
    224204      IF( MOD( kt-1, nn_fsbc) == 0 ) THEN 
    225205 
     206         ! compute bottom level of isf tbl and thickness of tbl below the ice shelf 
     207         DO jj = 1,jpj 
     208            DO ji = 1,jpi 
     209               ikt = misfkt(ji,jj) 
     210               ikb = misfkt(ji,jj) 
     211               ! thickness of boundary layer at least the top level thickness 
     212               rhisf_tbl(ji,jj) = MAX(rhisf_tbl_0(ji,jj), fse3t_n(ji,jj,ikt)) 
     213 
     214               ! determine the deepest level influenced by the boundary layer 
     215               DO jk = ikt, mbkt(ji,jj) 
     216                  IF ( (SUM(fse3t_n(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk 
     217               END DO 
     218               rhisf_tbl(ji,jj) = MIN(rhisf_tbl(ji,jj), SUM(fse3t_n(ji,jj,ikt:ikb)))  ! limit the tbl to water thickness. 
     219               misfkb(ji,jj) = ikb                                                  ! last wet level of the tbl 
     220               r1_hisf_tbl(ji,jj) = 1._wp / rhisf_tbl(ji,jj) 
     221 
     222               zhk           = SUM( fse3t(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj)  ! proportion of tbl cover by cell from ikt to ikb - 1 
     223               ralpha(ji,jj) = rhisf_tbl(ji,jj) * (1._wp - zhk ) / fse3t(ji,jj,ikb)  ! proportion of bottom cell influenced by boundary layer 
     224            END DO 
     225         END DO 
    226226 
    227227         ! compute salf and heat flux 
Note: See TracChangeset for help on using the changeset viewer.