Changeset 13046


Ignore:
Timestamp:
2020-06-04T17:27:16+02:00 (4 months ago)
Author:
dancopsey
Message:

Add snow_frac which is fraction of snow for coupling purposes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.1_snow_frac_cpl/src/ICE/icethd_zdf_bl99.F90

    r13043 r13046  
    102102      ! 
    103103      REAL(wp), DIMENSION(jpij) ::   isnow        ! switch for presence (1) or absence (0) of snow 
     104      REAL(wp), DIMENSION(jpij) ::   snow_frac    ! fraction of sea ice that is snow covered (for coupled variables only) 
    104105      REAL(wp), DIMENSION(jpij) ::   ztsub        ! surface temperature at previous iteration 
    105106      REAL(wp), DIMENSION(jpij) ::   zh_i, z1_h_i ! ice layer thickness 
     
    124125      REAL(wp), DIMENSION(jpij,0:nlay_s)   ::   zkappa_s    ! Kappa factor in the snow 
    125126      REAL(wp), DIMENSION(jpij,0:nlay_s)   ::   zeta_s      ! Eta factor in the snow 
     127      REAL(wp), DIMENSION(jpij)            ::   zkappa_combi ! Combined snow and ice surface conductivity  
    126128      REAL(wp), DIMENSION(jpij,nlay_i+3)   ::   zindterm    ! 'Ind'ependent term 
    127129      REAL(wp), DIMENSION(jpij,nlay_i+3)   ::   zindtbis    ! Temporary 'ind'ependent term 
     
    148150      DO ji = 1, npti 
    149151         isnow(ji) = 1._wp - MAX( 0._wp , SIGN(1._wp, - h_s_1d(ji) ) )  ! is there snow or not 
     152         IF( h_s_1d(ji) < zhs_min ) THEN  
     153           snow_frac(ji) = h_s_1d(ji) / zhs_min 
     154         ELSE 
     155           snow_frac(ji) = 1.0_wp 
     156         END IF 
    150157         ! layer thickness 
    151158         zh_i(ji) = h_i_1d(ji) * r1_nlay_i 
     
    311318         DO ji = 1, npti   ! Snow-ice interface 
    312319            IF ( .NOT. l_T_converged(ji) ) & 
     320               ! Calculate combined surface snow and ice conductivity to pass through the coupler  
     321               zkappa_combi(ji) = zkappa_s(ji,0) * snow_frac(ji) + zkappa_i(ji,0) * ( 1._wp - snow_frac(ji) ) 
     322 
    313323               zkappa_i(ji,0) = zkappa_s(ji,nlay_s) * isnow(ji) + zkappa_i(ji,0) * ( 1._wp - isnow(ji) ) 
    314324         END DO 
     
    840850      DO ji = 1, npti 
    841851         IF( h_i_1d(ji) > 0.1_wp ) THEN 
    842             cnd_ice_1d(ji) = 2._wp * zkappa_i(ji,0) 
     852            cnd_ice_1d(ji) = 2._wp * zkappa_combi(ji) 
    843853         ELSE 
    844854            cnd_ice_1d(ji) = 2._wp * ztcond_i(ji,0) * 10._wp 
    845855         ENDIF 
    846          t1_ice_1d(ji) = isnow(ji) * t_s_1d(ji,1) + ( 1._wp - isnow(ji) ) * t_i_1d(ji,1) 
     856         t1_ice_1d(ji) = snow_frac(ji) * t_s_1d(ji,1) + ( 1._wp - snow_frac(ji) ) * t_i_1d(ji,1) 
    847857      END DO 
    848858      ! 
Note: See TracChangeset for help on using the changeset viewer.