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 8984 for branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/icevar.F90 – NEMO

Ignore:
Timestamp:
2017-12-12T00:32:40+01:00 (6 years ago)
Author:
clem
Message:

clarify vertical heat diffusion. There are still issues with heat conservation in case nice_jules=2 but it will be solved in due time. Sette tests are all OK except ISOMIP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/icevar.F90

    r8906 r8984  
    4747   !!   ice_var_itd2      : convert N-cat to jpl-cat 
    4848   !!   ice_var_bv        : brine volume 
     49   !!   ice_var_enthalpy  : compute ice and snow enthalpies from temperature 
    4950   !!---------------------------------------------------------------------- 
    5051   USE dom_oce        ! ocean space and time domain 
     
    7071   PUBLIC   ice_var_itd2 
    7172   PUBLIC   ice_var_bv            
     73   PUBLIC   ice_var_enthalpy            
    7274 
    7375   !!---------------------------------------------------------------------- 
     
    396398         !                                      ! Slope of the linear profile  
    397399         WHERE( h_i_1d(1:npti) > epsi20 )   ;   z_slope_s(1:npti) = 2._wp * s_i_1d(1:npti) / h_i_1d(1:npti) 
    398          ELSEWHERE                           ;   z_slope_s(1:npti) = 0._wp 
     400         ELSEWHERE                          ;   z_slope_s(1:npti) = 0._wp 
    399401         END WHERE 
    400402          
     
    822824 
    823825 
     826   SUBROUTINE ice_var_enthalpy 
     827      !!------------------------------------------------------------------- 
     828      !!                   ***  ROUTINE ice_var_enthalpy ***  
     829      !!                  
     830      !! ** Purpose :   Computes sea ice energy of melting q_i (J.m-3) from temperature 
     831      !! 
     832      !! ** Method  :   Formula (Bitz and Lipscomb, 1999) 
     833      !!------------------------------------------------------------------- 
     834      INTEGER  ::   ji, jk   ! dummy loop indices 
     835      REAL(wp) ::   ztmelts  ! local scalar  
     836      !!------------------------------------------------------------------- 
     837      ! 
     838      DO jk = 1, nlay_i             ! Sea ice energy of melting 
     839         DO ji = 1, npti 
     840            ztmelts      = - tmut  * sz_i_1d(ji,jk) 
     841            t_i_1d(ji,jk) = MIN( t_i_1d(ji,jk), ztmelts + rt0 ) ! Force t_i_1d to be lower than melting point 
     842                                                                !   (sometimes zdf scheme produces abnormally high temperatures)    
     843            e_i_1d(ji,jk) = rhoic * ( cpic * ( ztmelts - ( t_i_1d(ji,jk) - rt0 ) )           & 
     844               &                    + lfus * ( 1._wp - ztmelts / ( t_i_1d(ji,jk) - rt0 ) )   & 
     845               &                    - rcp  *   ztmelts ) 
     846         END DO 
     847      END DO 
     848      DO jk = 1, nlay_s             ! Snow energy of melting 
     849         DO ji = 1, npti 
     850            e_s_1d(ji,jk) = rhosn * ( cpic * ( rt0 - t_s_1d(ji,jk) ) + lfus ) 
     851         END DO 
     852      END DO 
     853      ! 
     854   END SUBROUTINE ice_var_enthalpy 
     855 
    824856#else 
    825857   !!---------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.