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 12464 for NEMO/branches/UKMO/NEMO_4.0_ICB_melting_temperature/src/OCE/ICB/icbthm.F90 – NEMO

Ignore:
Timestamp:
2020-02-26T10:22:05+01:00 (4 years ago)
Author:
cguiavarch
Message:

Stop ICB melting if surface temperature below the freezing point.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0_ICB_melting_temperature/src/OCE/ICB/icbthm.F90

    r10888 r12464  
    2020   USE phycst         ! NEMO physical constants 
    2121   USE sbc_oce 
     22   USE eosbn2         ! equation of state 
    2223 
    2324   USE icb_oce        ! define iceberg arrays 
     
    4950      INTEGER  ::   ii, ij 
    5051      REAL(wp) ::   zM, zT, zW, zL, zSST, zVol, zLn, zWn, zTn, znVol, zIC, zDn 
     52      REAL(wp) ::   zSSS, zfzpt 
    5153      REAL(wp) ::   zMv, zMe, zMb, zmelt, zdvo, zdva, zdM, zSs, zdMe, zdMb, zdMv 
    5254      REAL(wp) ::   zMnew, zMnew1, zMnew2, zheat_hcflux, zheat_latent, z1_12 
     
    7880         CALL icb_utl_interp( pt%xi, pt%e1, pt%uo, pt%ui, pt%ua, pt%ssh_x,   & 
    7981            &                 pt%yj, pt%e2, pt%vo, pt%vi, pt%va, pt%ssh_y,   & 
    80             &                 pt%sst, pt%cn, pt%hi, zff ) 
    81          ! 
    82          zSST = pt%sst 
     82            &                 pt%sst, pt%cn, pt%hi, zff, pt%sss ) 
     83         ! 
     84         zSST  = pt%sst 
     85         zSSS  = pt%sss 
     86         CALL eos_fzp(zSSS,zfzpt) 
    8387         zIC  = MIN( 1._wp, pt%cn + rn_sicn_shift )     ! Shift sea-ice concentration       !!gm ??? 
    8488         zM   = pt%mass 
     
    102106 
    103107         ! Melt rates in m/s (i.e. division by rday) 
    104          zMv = MAX( 7.62d-3*zSST+1.29d-3*(zSST**2)                    , 0._wp ) * z1_rday   ! Buoyant convection at sides (eqn M.A10) 
    105          zMb = MAX( 0.58_wp*(zdvo**0.8_wp)*(zSST+4.0_wp)/(zL**0.2_wp) , 0._wp ) * z1_rday   ! Basal turbulent melting     (eqn M.A7 ) 
    106          zMe = MAX( z1_12*(zSST+2.)*zSs*(1._wp+COS(rpi*(zIC**3)))     , 0._wp ) * z1_rday   ! Wave erosion                (eqn M.A8 ) 
     108         zMv = MAX( 7.62d-3*zSST+1.29d-3*(zSST**2)                    , 0._wp ) * z1_rday      ! Buoyant convection at sides (eqn M.A10) 
     109         IF ( zSST > zfzpt ) THEN 
     110            zMb = MAX( 0.58_wp*(zdvo**0.8_wp)*(zSST+4.0_wp)/(zL**0.2_wp) , 0._wp ) * z1_rday   ! Basal turbulent melting     (eqn M.A7 ) 
     111         ELSE 
     112            zMb = 0._wp 
     113         ENDIF 
     114         zMe = MAX( z1_12*(zSST+2.)*zSs*(1._wp+COS(rpi*(zIC**3)))     , 0._wp ) * z1_rday      ! Wave erosion                (eqn M.A8 ) 
    107115 
    108116         IF( ln_operator_splitting ) THEN      ! Operator split update of volume/mass 
Note: See TracChangeset for help on using the changeset viewer.