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

Ignore:
Timestamp:
2020-05-08T15:40:58+02:00 (4 years ago)
Author:
clem
Message:

add parameterization of radiation from Marion Lebrun (2019)

File:
1 edited

Legend:

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

    r12890 r12894  
    9090      REAL(wp) ::   zgamma    =  18009._wp    ! for specific heat 
    9191      REAL(wp) ::   zbeta     =  0.117_wp     ! for thermal conductivity (could be 0.13) 
    92       REAL(wp) ::   zraext_s  =  10._wp       ! extinction coefficient of radiation in the snow 
    9392      REAL(wp) ::   zkimin    =  0.10_wp      ! minimum ice thermal conductivity 
    9493      REAL(wp) ::   ztsu_err  =  1.e-5_wp     ! range around which t_su is considered at 0C  
     
    101100      REAL(wp) ::   zhfx_err, zdq             ! diag errors on heat 
    102101      ! 
     102      REAL(wp), DIMENSION(jpij) ::   zraext_s     ! extinction coefficient of radiation in the snow 
    103103      REAL(wp), DIMENSION(jpij) ::   ztsub        ! surface temperature at previous iteration 
    104104      REAL(wp), DIMENSION(jpij) ::   zh_i, z1_h_i ! ice layer thickness 
     
    148148      ! 1) Initialization 
    149149      !------------------ 
     150      ! 
     151      ! extinction radiation in the snow 
     152      IF    ( nn_qtrice == 0 ) THEN   ! constant  
     153         zraext_s(1:npti) = rn_kappa_s 
     154      ELSEIF( nn_qtrice == 1 ) THEN   ! depends on melting/freezing conditions 
     155         WHERE( t_su_1d(1:npti) < rt0 )   ;   zraext_s(1:npti) = rn_kappa_sdry   ! no surface melting 
     156         ELSEWHERE                        ;   zraext_s(1:npti) = rn_kappa_smlt   !    surface melting 
     157         END WHERE 
     158      ENDIF 
     159      ! 
     160      ! layers thicknesses 
    150161      DO ji = 1, npti 
    151162         zh_s(ji) = MAX( zhs_ssl , h_s_1d(ji) ) * r1_nlay_s ! set a minimum snw thickness for conduction 
     
    183194         DO ji = 1, npti 
    184195            !                             ! radiation transmitted below the layer-th snow layer 
    185             zradtr_s(ji,jk) = zradtr_s(ji,0) * EXP( - zraext_s * MAX( 0._wp, zh_s(ji) * REAL(jk) - zhs_ssl ) ) 
     196            zradtr_s(ji,jk) = zradtr_s(ji,0) * EXP( - zraext_s(ji) * MAX( 0._wp, zh_s(ji) * REAL(jk) - zhs_ssl ) ) 
    186197            !                             ! radiation absorbed by the layer-th snow layer 
    187198            zradab_s(ji,jk) = zradtr_s(ji,jk-1) - zradtr_s(ji,jk) 
     
    193204         DO ji = 1, npti 
    194205            !                             ! radiation transmitted below the layer-th ice layer 
     206            zradtr_i(ji,jk) =           za_s_fra(ji)   * zradtr_s(ji,nlay_s)                       &   ! part covered by snow 
     207               &                                       * EXP( - rn_kappa_i * zh_i(ji) * REAL(jk) ) & 
     208               &            + ( 1._wp - za_s_fra(ji) ) * qtr_ice_top_1d(ji)                        &   ! part snow free 
     209               &                                       * EXP( - rn_kappa_i * MAX( 0._wp, zh_i(ji) * REAL(jk) - zhi_ssl ) ) 
     210             
    195211            zradtr_i(ji,jk) = zradtr_i(ji,0) * EXP( - rn_kappa_i * MAX( 0._wp, zh_i(ji) * REAL(jk) - zhi_ssl ) ) 
    196212            !                             ! radiation absorbed by the layer-th ice layer 
Note: See TracChangeset for help on using the changeset viewer.