Changeset 12802


Ignore:
Timestamp:
2020-04-23T10:47:08+02:00 (6 months ago)
Author:
dancopsey
Message:

Merge in NEMO_4.0.1_remove_0.1m_snow_test

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/r4.0-HEAD_r12713_dan_test_clems_branch/src/ICE/icethd_zdf_bl99.F90

    r12801 r12802  
    9494      REAL(wp) ::   ztsu_err  =  1.e-5_wp     ! range around which t_su is considered at 0C  
    9595      REAL(wp) ::   zdti_bnd  =  1.e-4_wp     ! maximal authorized error on temperature  
    96       REAL(wp) ::   zhs_min   =  0.01_wp      ! minimum snow thickness for conductivity calculation  
     96      REAL(wp) ::   zhs_min   =  0.1_wp       ! minimum snow thickness for conductivity calculation  
    9797      REAL(wp) ::   ztmelts                   ! ice melting temperature 
    9898      REAL(wp) ::   zdti_max                  ! current maximal error on temperature  
     
    101101      REAL(wp) ::   zfac                      ! dummy factor 
    102102      ! 
    103       REAL(wp), DIMENSION(jpij) ::   isnow        ! switch for presence (1) or absence (0) of snow 
     103      REAL(wp), DIMENSION(jpij) ::   isnow        ! fraction of sea ice that is snow covered (for thermodynamic use only) 
    104104      REAL(wp), DIMENSION(jpij) ::   ztsub        ! surface temperature at previous iteration 
    105105      REAL(wp), DIMENSION(jpij) ::   zh_i, z1_h_i ! ice layer thickness 
     
    147147      !------------------ 
    148148      DO ji = 1, npti 
    149          isnow(ji) = 1._wp - MAX( 0._wp , SIGN(1._wp, - h_s_1d(ji) ) )  ! is there snow or not 
     149 
     150         ! If the snow thickness drops below zhs_min then reduce the snow fraction instead 
     151         IF( h_s_1d(ji) < zhs_min ) THEN 
     152           isnow(ji) = h_s_1d(ji) / zhs_min 
     153           zh_s(ji) = zhs_min * r1_nlay_s 
     154         ELSE 
     155           isnow(ji) = 1.0_wp 
     156           zh_s(ji) = h_s_1d(ji) * r1_nlay_s 
     157         END IF 
     158 
    150159         ! layer thickness 
    151160         zh_i(ji) = h_i_1d(ji) * r1_nlay_i 
    152          zh_s(ji) = h_s_1d(ji) * r1_nlay_s 
     161 
    153162      END DO 
    154163      ! 
     
    156165      ELSEWHERE                         ;   z1_h_i(1:npti) = 0._wp 
    157166      END WHERE 
    158       ! 
    159       WHERE( zh_s(1:npti) > 0._wp   )       zh_s(1:npti) = MAX( zhs_min * r1_nlay_s, zh_s(1:npti) ) 
    160167      ! 
    161168      WHERE( zh_s(1:npti) > 0._wp   )   ;   z1_h_s(1:npti) = 1._wp / zh_s(1:npti) 
     
    854861      ! effective conductivity and 1st layer temperature (needed by Met Office) 
    855862      DO ji = 1, npti 
    856          IF( h_s_1d(ji) > 0.1_wp ) THEN  
    857             cnd_ice_1d(ji) = 2._wp * zkappa_s(ji,0) 
     863         IF( h_i_1d(ji) > 0.1_wp ) THEN 
     864            cnd_ice_1d(ji) = 2._wp * zkappa_i(ji,0) 
    858865         ELSE 
    859             IF( h_i_1d(ji) > 0.1_wp ) THEN 
    860                cnd_ice_1d(ji) = 2._wp * zkappa_i(ji,0) 
    861             ELSE 
    862                cnd_ice_1d(ji) = 2._wp * ztcond_i(ji,0) * 10._wp 
    863             ENDIF 
     866            cnd_ice_1d(ji) = 2._wp * ztcond_i(ji,0) * 10._wp 
    864867         ENDIF 
    865868         t1_ice_1d(ji) = isnow(ji) * t_s_1d(ji,1) + ( 1._wp - isnow(ji) ) * t_i_1d(ji,1) 
Note: See TracChangeset for help on using the changeset viewer.