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 13899 for NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbthm.F90 – NEMO

Ignore:
Timestamp:
2020-11-27T17:26:33+01:00 (4 years ago)
Author:
mathiot
Message:

ticket #1900: update branch to trunk and add ICB test case

Location:
NEMO/branches/2020/tickets_icb_1900
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/tickets_icb_1900

    • Property svn:externals
      •  

        old new  
        22^/utils/build/makenemo@HEAD   makenemo 
        33^/utils/build/mk@HEAD         mk 
        4 ^/utils/tools/@HEAD           tools 
         4^/utils/tools@HEAD            tools 
        55^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
         
        88 
        99# SETTE 
        10 ^/utils/CI/sette@12931        sette 
         10^/utils/CI/sette@13559        sette 
  • NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbthm.F90

    r13786 r13899  
    2020   USE phycst         ! NEMO physical constants 
    2121   USE sbc_oce 
     22   USE eosbn2         ! equation of state 
    2223   USE lib_fortran, ONLY : DDPDD 
    2324 
     
    5152      REAL(wp) ::   zM, zT, zW, zL, zSST, zVol, zLn, zWn, zTn, znVol, zIC, zDn, zD, zvb, zub, ztb 
    5253      REAL(wp) ::   zMv, zMe, zMb, zmelt, zdvo, zdvob, zdva, zdM, zSs, zdMe, zdMb, zdMv 
     54      REAL(wp) ::   zSSS, zfzpt 
    5355      REAL(wp) ::   zMnew, zMnew1, zMnew2, zheat_hcflux, zheat_latent, z1_12 
    5456      REAL(wp) ::   zMbits, znMbits, zdMbitsE, zdMbitsM, zLbits, zAbits, zMbb 
     
    8587         nknberg = this%number(1) 
    8688 
    87          CALL icb_utl_interp( pt%xi, pt%yj,           &   ! position 
     89         CALL icb_utl_interp( pt%xi, pt%yj,            &   ! position 
    8890             &                 pssu=pt%ssu, pua=pt%ua, &   ! oce/atm velocities 
    8991             &                 pssv=pt%ssv, pva=pt%va, &   ! oce/atm velocities 
    90              &                 psst=pt%sst, pcn=pt%cn ) 
     92             &                 psst=pt%sst, pcn=pt%cn, & 
     93             &                 psss=pt%sss             ) 
    9194 
    9295         IF ( nn_sample_rate > 0 .AND. MOD(kt-1,nn_sample_rate) == 0 ) THEN 
     
    99102         ! 
    100103         zSST = pt%sst 
     104         zSSS = pt%sss 
     105         CALL eos_fzp(zSSS,zfzpt)                       ! freezing point 
    101106         zIC  = MIN( 1._wp, pt%cn + rn_sicn_shift )     ! Shift sea-ice concentration       !!gm ??? 
    102107         zM   = pt%mass 
     
    140145         ! 
    141146         ! Melt rates in m/s (i.e. division by rday) 
     147         ! Buoyant convection at sides (eqn M.A10) 
    142148         IF ( ln_M2016 ) THEN 
    143             ! Buoyant convection at sides (eqn M.A10) but averaging along all the iceberg draft 
     149            ! averaging along all the iceberg draft 
    144150            zzMv(:) = MAX( 7.62d-3*ztoce(:)+1.29d-3*(ztoce(:)**2), 0._wp ) * z1_rday 
    145151            CALL icb_utl_zavg(zMv, zzMv, ze3t, zD, ikb ) 
     
    147153            zMv = MAX( 7.62d-3*zSST+1.29d-3*(zSST**2), 0._wp ) * z1_rday 
    148154         END IF 
    149  
    150          ! Basal turbulent melting     (eqn M.A7 ) but using the basal temperature 
    151          zMb = MAX( 0.58_wp*(zdvob**0.8_wp)*(ztb+4.0_wp)/(zL**0.2_wp) , 0._wp ) * z1_rday 
    152  
     155         ! 
     156         ! Basal turbulent melting     (eqn M.A7 ) 
     157         IF ( zSST > zfzpt ) THEN                                                              ! Calculate basal melting only if SST above freezing point   
     158            zMb = MAX( 0.58_wp*(zdvob**0.8_wp)*(ztb+4.0_wp)/(zL**0.2_wp) , 0._wp ) * z1_rday 
     159         ELSE 
     160            zMb = 0._wp                                                                        ! No basal melting if SST below freezing point      
     161         ENDIF 
     162         ! 
    153163         ! Wave erosion                (eqn M.A8 ) 
    154164         zMe = MAX( z1_12*(zSST+2.)*zSs*(1._wp+COS(rpi*(zIC**3)))     , 0._wp ) * z1_rday 
Note: See TracChangeset for help on using the changeset viewer.