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 6060 for branches/2015/dev_merge_2015/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90 – NEMO

Ignore:
Timestamp:
2015-12-16T10:25:22+01:00 (8 years ago)
Author:
timgraham
Message:

Merged dev_r5836_noc2_VVL_BY_DEFAULT into branch

File:
1 edited

Legend:

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

    r5836 r6060  
    6868   TYPE(FLD_N)       , PUBLIC ::   sn_depmax_isf, sn_depmin_isf, sn_Leff_isf     !: information about the runoff file to be read 
    6969    
    70    !! * Substitutions 
    71 #  include "domzgr_substitute.h90" 
    7270   !!---------------------------------------------------------------------- 
    7371   !! NEMO/OPA 3.7 , LOCEAN-IPSL (2015) 
     
    170168              DO jj = 1, jpj 
    171169                  jk = 2 
    172                   DO WHILE ( jk .LE. mbkt(ji,jj) .AND. fsdepw(ji,jj,jk) < rzisf_tbl(ji,jj) ) ;  jk = jk + 1 ;  END DO 
     170                  DO WHILE ( jk .LE. mbkt(ji,jj) .AND. gdepw_n(ji,jj,jk) < rzisf_tbl(ji,jj) ) ;  jk = jk + 1 ;  END DO 
    173171                  misfkt(ji,jj) = jk-1 
    174172               END DO 
     
    195193               ikb = misfkt(ji,jj) 
    196194               ! thickness of boundary layer at least the top level thickness 
    197                rhisf_tbl(ji,jj) = MAX(rhisf_tbl_0(ji,jj), fse3t_n(ji,jj,ikt)) 
     195               rhisf_tbl(ji,jj) = MAX(rhisf_tbl_0(ji,jj), e3t_n(ji,jj,ikt)) 
    198196 
    199197               ! determine the deepest level influenced by the boundary layer 
    200198               ! test on tmask useless ????? 
    201199               DO jk = ikt, mbkt(ji,jj) 
    202                   IF ( (SUM(fse3t_n(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk 
     200                  IF ( (SUM(e3t_n(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk 
    203201               END DO 
    204                rhisf_tbl(ji,jj) = MIN(rhisf_tbl(ji,jj), SUM(fse3t_n(ji,jj,ikt:ikb)))  ! limit the tbl to water thickness. 
     202               rhisf_tbl(ji,jj) = MIN(rhisf_tbl(ji,jj), SUM(e3t_n(ji,jj,ikt:ikb)))  ! limit the tbl to water thickness. 
    205203               misfkb(ji,jj) = ikb                                                  ! last wet level of the tbl 
    206204               r1_hisf_tbl(ji,jj) = 1._wp / rhisf_tbl(ji,jj) 
    207205 
    208                zhk           = SUM( fse3t(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj)  ! proportion of tbl cover by cell from ikt to ikb - 1 
    209                ralpha(ji,jj) = rhisf_tbl(ji,jj) * (1._wp - zhk ) / fse3t(ji,jj,ikb)  ! proportion of bottom cell influenced by boundary layer 
     206               zhk           = SUM( e3t_n(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj)  ! proportion of tbl cover by cell from ikt to ikb - 1 
     207               ralpha(ji,jj) = rhisf_tbl(ji,jj) * (1._wp - zhk ) / e3t_n(ji,jj,ikb)  ! proportion of bottom cell influenced by boundary layer 
    210208            END DO 
    211209         END DO 
     
    369367             ! after verif with UNESCO, wrong sign in BG eq. 2 
    370368             ! Calculate freezing temperature 
    371                 zpress = grav*rau0*fsdept(ji,jj,ik)*1.e-04  
     369                zpress = grav*rau0*gdept_n(ji,jj,ik)*1.e-04  
    372370                CALL eos_fzp(tsb(ji,jj,ik,jp_sal), zt_frz, zpress)  
    373                 zt_sum = zt_sum + (tsn(ji,jj,ik,jp_tem)-zt_frz) * fse3t(ji,jj,ik) * tmask(ji,jj,ik)  ! sum temp 
     371                zt_sum = zt_sum + (tsn(ji,jj,ik,jp_tem)-zt_frz) * e3t_n(ji,jj,ik) * tmask(ji,jj,ik)  ! sum temp 
    374372             ENDDO 
    375373             zt_ave = zt_sum/rhisf_tbl(ji,jj) ! calcul mean value 
     
    445443            ! Crude approximation for pressure (but commonly used) 
    446444            ! 1e-04 to convert from Pa to dBar 
    447             zpress(ji,jj)=grav*rau0*fsdepw(ji,jj,mikt(ji,jj))*1.e-04 
     445            zpress(ji,jj)=grav*rau0*gdepw_n(ji,jj,mikt(ji,jj))*1.e-04 
    448446            ! 
    449447         END DO 
     
    643641               ELSE 
    644642      !! compute Rc number (as done in zdfric.F90) 
    645                zcoef = 0.5 / fse3w(ji,jj,ikt) 
     643               zcoef = 0.5 / e3w_n(ji,jj,ikt) 
    646644               !                                            ! shear of horizontal velocity 
    647645               zdku = zcoef * (  un(ji-1,jj  ,ikt  ) + un(ji,jj,ikt  )   & 
     
    663661               zts(jp_tem) = ttbl(ji,jj) 
    664662               zts(jp_sal) = stbl(ji,jj) 
    665                zdep        = fsdepw(ji,jj,ikt) 
     663               zdep        = gdepw_n(ji,jj,ikt) 
    666664               ! 
    667665               CALL eos_rab( zts, zdep, zab ) 
     
    672670      !! compute Monin Obukov Length 
    673671               ! Maximum boundary layer depth 
    674                zhmax = fsdept(ji,jj,mbkt(ji,jj)) - fsdepw(ji,jj,mikt(ji,jj)) -0.001 
     672               zhmax = gdept_n(ji,jj,mbkt(ji,jj)) - gdepw_n(ji,jj,mikt(ji,jj)) -0.001 
    675673               ! Compute Monin obukhov length scale at the surface and Ekman depth: 
    676674               zmob   = zustar ** 3 / (vkarmn * (zbuofdep + epsln)) 
     
    730728               ! level fully include in the ice shelf boundary layer 
    731729               DO jk = ikt, ikb - 1 
    732                   ze3 = fse3t_n(ji,jj,jk) 
     730                  ze3 = e3t_n(ji,jj,jk) 
    733731                  IF (cptin == 'T' ) varout(ji,jj) = varout(ji,jj) + varin(ji,jj,jk) * r1_hisf_tbl(ji,jj) * ze3 
    734732                  IF (cptin == 'U' ) varout(ji,jj) = varout(ji,jj) + 0.5_wp * (varin(ji,jj,jk) + varin(ji-1,jj,jk)) & 
     
    739737 
    740738               ! level partially include in ice shelf boundary layer  
    741                zhk = SUM( fse3t_n(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj) 
     739               zhk = SUM( e3t_n(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj) 
    742740               IF (cptin == 'T') & 
    743741                   &  varout(ji,jj) = varout(ji,jj) + varin(ji,jj,ikb) * (1._wp - zhk) 
     
    782780      zfact   = 0.5_wp 
    783781      ! 
    784       IF (lk_vvl) THEN     ! need to re compute level distribution of isf fresh water 
     782      IF(.NOT.ln_linssh ) THEN     ! need to re compute level distribution of isf fresh water 
    785783         DO jj = 1,jpj 
    786784            DO ji = 1,jpi 
     
    788786               ikb = misfkt(ji,jj) 
    789787               ! thickness of boundary layer at least the top level thickness 
    790                rhisf_tbl(ji,jj) = MAX(rhisf_tbl_0(ji,jj), fse3t(ji,jj,ikt)) 
     788               rhisf_tbl(ji,jj) = MAX(rhisf_tbl_0(ji,jj), e3t_n(ji,jj,ikt)) 
    791789 
    792790               ! determine the deepest level influenced by the boundary layer 
    793791               ! test on tmask useless ????? 
    794792               DO jk = ikt, mbkt(ji,jj) 
    795                   IF ( (SUM(fse3t(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk 
     793                  IF ( (SUM(e3t_n(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk 
    796794               END DO 
    797                rhisf_tbl(ji,jj) = MIN(rhisf_tbl(ji,jj), SUM(fse3t(ji,jj,ikt:ikb)))  ! limit the tbl to water thickness. 
     795               rhisf_tbl(ji,jj) = MIN(rhisf_tbl(ji,jj), SUM(e3t_n(ji,jj,ikt:ikb)))  ! limit the tbl to water thickness. 
    798796               misfkb(ji,jj) = ikb                                                  ! last wet level of the tbl 
    799797               r1_hisf_tbl(ji,jj) = 1._wp / rhisf_tbl(ji,jj) 
    800798 
    801                zhk           = SUM( fse3t(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj)  ! proportion of tbl cover by cell from ikt to ikb - 1 
    802                ralpha(ji,jj) = rhisf_tbl(ji,jj) * (1._wp - zhk ) / fse3t(ji,jj,ikb)  ! proportion of bottom cell influenced by boundary layer 
     799               zhk           = SUM( e3t_n(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj)  ! proportion of tbl cover by cell from ikt to ikb - 1 
     800               ralpha(ji,jj) = rhisf_tbl(ji,jj) * (1._wp - zhk ) / e3t_n(ji,jj,ikb)  ! proportion of bottom cell influenced by boundary layer 
    803801            END DO 
    804802         END DO 
Note: See TracChangeset for help on using the changeset viewer.