Changeset 12802 for NEMO/branches/UKMO/r4.0HEAD_r12713_dan_test_clems_branch/src/ICE/icethd_zdf_bl99.F90
 Timestamp:
 20200423T10:47:08+02:00 (4 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

NEMO/branches/UKMO/r4.0HEAD_r12713_dan_test_clems_branch/src/ICE/icethd_zdf_bl99.F90
r12801 r12802 94 94 REAL(wp) :: ztsu_err = 1.e5_wp ! range around which t_su is considered at 0C 95 95 REAL(wp) :: zdti_bnd = 1.e4_wp ! maximal authorized error on temperature 96 REAL(wp) :: zhs_min = 0. 01_wp! minimum snow thickness for conductivity calculation96 REAL(wp) :: zhs_min = 0.1_wp ! minimum snow thickness for conductivity calculation 97 97 REAL(wp) :: ztmelts ! ice melting temperature 98 98 REAL(wp) :: zdti_max ! current maximal error on temperature … … 101 101 REAL(wp) :: zfac ! dummy factor 102 102 ! 103 REAL(wp), DIMENSION(jpij) :: isnow ! switch for presence (1) or absence (0) of snow103 REAL(wp), DIMENSION(jpij) :: isnow ! fraction of sea ice that is snow covered (for thermodynamic use only) 104 104 REAL(wp), DIMENSION(jpij) :: ztsub ! surface temperature at previous iteration 105 105 REAL(wp), DIMENSION(jpij) :: zh_i, z1_h_i ! ice layer thickness … … 147 147 ! 148 148 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 150 159 ! layer thickness 151 160 zh_i(ji) = h_i_1d(ji) * r1_nlay_i 152 zh_s(ji) = h_s_1d(ji) * r1_nlay_s 161 153 162 END DO 154 163 ! … … 156 165 ELSEWHERE ; z1_h_i(1:npti) = 0._wp 157 166 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) )160 167 ! 161 168 WHERE( zh_s(1:npti) > 0._wp ) ; z1_h_s(1:npti) = 1._wp / zh_s(1:npti) … … 854 861 ! effective conductivity and 1st layer temperature (needed by Met Office) 855 862 DO ji = 1, npti 856 IF( h_ s_1d(ji) > 0.1_wp ) THEN857 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) 858 865 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 864 867 ENDIF 865 868 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.