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 12854 for NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/src/ICE/icethd_zdf_bl99.F90 – NEMO

Ignore:
Timestamp:
2020-05-01T19:06:23+02:00 (4 years ago)
Author:
clem
Message:

1st implementation of snow fraction (impact on albedo). Light transmission is still not ok since we need a non-zero penetration of solar flux when snow thickness is > 0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/src/ICE/icethd_zdf_bl99.F90

    r12827 r12854  
    130130      REAL(wp), DIMENSION(jpij)            ::   zq_ini      ! diag errors on heat 
    131131      REAL(wp), DIMENSION(jpij)            ::   zghe        ! G(he), th. conduct enhancement factor, mono-cat 
     132      REAL(wp), DIMENSION(jpij)            ::   za_s_fra    ! ice fraction covered by snow  
    132133      ! 
    133134      ! Mono-category 
     
    143144      END DO 
    144145 
     146      CALL ice_var_snwfra( h_s_1d(1:npti), za_s_fra(1:npti) )   ! calculate ice fraction covered by snow 
     147       
    145148      !------------------ 
    146149      ! 1) Initialization 
     
    149152 
    150153         ! 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  
     154         !!IF( h_s_1d(ji) < zhs_min ) THEN 
     155         !!  isnow(ji) = h_s_1d(ji) / zhs_min 
     156         !!  zh_s(ji) = zhs_min * r1_nlay_s 
     157         !!ELSE 
     158         !!  isnow(ji) = 1.0_wp 
     159         !!  zh_s(ji) = h_s_1d(ji) * r1_nlay_s 
     160         !!END IF 
     161         isnow(ji) = za_s_fra(ji) !!clem: 2 variables for the same thing 
     162         zh_s(ji) = h_s_1d(ji) * r1_nlay_s 
     163          
     164          
    159165         ! layer thickness 
    160166         zh_i(ji) = h_i_1d(ji) * r1_nlay_i 
     
    166172      END WHERE 
    167173      ! 
    168       WHERE( zh_s(1:npti) > 0._wp  )   ;   z1_h_s(1:npti) = 1._wp / zh_s(1:npti) 
     174      WHERE( zh_s(1:npti) >= epsi10 )   ;   z1_h_s(1:npti) = 1._wp / zh_s(1:npti) 
    169175      ELSEWHERE                         ;   z1_h_s(1:npti) = 0._wp 
    170176      END WHERE 
     
    881887         !--- Snow-ice interfacial temperature (diagnostic SIMIP) 
    882888         zfac = rn_cnd_s * zh_i(ji) + ztcond_i(ji,1) * zh_s(ji) 
    883          IF( h_s_1d(ji) >= zhs_min ) THEN 
     889         IF( h_s_1d(ji) >= zhs_min ) THEN !!clem change that 
    884890            t_si_1d(ji) = ( rn_cnd_s       * zh_i(ji) * t_s_1d(ji,1) +   & 
    885891               &            ztcond_i(ji,1) * zh_s(ji) * t_i_1d(ji,1) ) / MAX( epsi10, zfac ) 
Note: See TracChangeset for help on using the changeset viewer.