Changeset 12686 for NEMO/branches/UKMO/NEMO_4.0.1_fix_cpl/src/ICE
- Timestamp:
- 2020-04-06T11:56:20+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.1_fix_cpl/src/ICE/icethd_pnd.F90
r12605 r12686 133 133 REAL(wp), PARAMETER :: zpnd_aspect = 0.8_wp ! pond aspect ratio 134 134 REAL(wp), PARAMETER :: zTp = -2._wp ! reference temperature 135 REAL(wp), PARAMETER :: max_h_diff_s = -1.0E-6 ! Maximum meltpond depth change due to leaking or overflow (m s-1)136 135 REAL(wp), PARAMETER :: pnd_lid_max = 0.015_wp ! pond lid thickness above which the ponds disappear from the albedo calculation 137 136 REAL(wp), PARAMETER :: pnd_lid_min = 0.005_wp ! pond lid thickness below which the full pond area is used in the albedo calculation … … 149 148 REAL(wp) :: lh_ip_end ! Lid thickness at end of timestep (temporary variable) 150 149 REAL(wp) :: zdh_frz ! Amount of melt pond that freezes (m) 151 REAL(wp) :: v_ip_old ! Pond volume before leaking back to the ocean 152 REAL(wp) :: dh_ip_over ! Pond thickness change due to overflow or leaking 150 REAL(wp) :: dh_ip_over ! Pond thickness change due to leaking 153 151 REAL(wp) :: dh_i_pndleak ! Grid box mean change in water depth due to leaking back to the ocean 154 152 REAL(wp) :: h_gravity_head ! Height above sea level of the top of the melt pond … … 168 166 z1_Tp = 1._wp / zTp 169 167 z1_rhoi = 1._wp / rhoi 170 max_h_diff_ts = max_h_diff_s * rdt_ice171 168 172 169 ! Define time-independent field for use in refreezing … … 266 263 ! If pond area exceeds zfr_mlt * a_i_1d(ji) then reduce the pond volume 267 264 IF ( a_ip_1d(ji) > zfr_mlt * a_i_1d(ji) ) THEN 268 v_ip_old = v_ip_1d(ji) ! Save original volume before leak for future use 269 dh_ip_over = zpnd_aspect * zfr_mlt - h_ip_1d(ji) ! This will be a negative number 270 dh_ip_over = MAX(dh_ip_over,max_h_diff_ts) ! Apply a limit 271 h_ip_1d(ji) = MAX(0._wp, h_ip_1d(ji) + dh_ip_over) 265 h_ip_1d(ji) = zpnd_aspect * zfr_mlt 272 266 a_ip_frac_1d(ji) = h_ip_1d(ji) / zpnd_aspect 273 267 a_ip_1d(ji) = a_ip_frac_1d(ji) * a_i_1d(ji) … … 277 271 ! If pond depth exceeds half the ice thickness then reduce the pond volume 278 272 IF ( h_ip_1d(ji) > 0.5_wp * h_i_1d(ji) ) THEN 279 v_ip_old = v_ip_1d(ji) ! Save original volume before leak for future use 280 dh_ip_over = 0.5_wp * h_i_1d(ji) - h_ip_1d(ji) ! This will be a negative number 281 dh_ip_over = MAX(dh_ip_over,max_h_diff_ts) ! Apply a limit 282 h_ip_1d(ji) = MAX(0._wp, h_ip_1d(ji) + dh_ip_over) 273 h_ip_1d(ji) = 0.5_wp * h_i_1d(ji) 283 274 a_ip_frac_1d(ji) = h_ip_1d(ji) / zpnd_aspect 284 275 a_ip_1d(ji) = a_ip_frac_1d(ji) * a_i_1d(ji) … … 309 300 dh_ip_over = MIN(dh_ip_over, 0._wp) ! Make sure it is negative 310 301 311 v_ip_old = v_ip_1d(ji) ! Save original volume before leak for future use312 dh_ip_over = MAX(dh_ip_over,max_h_diff_ts) ! Apply a limit313 302 h_ip_1d(ji) = MAX(0._wp, h_ip_1d(ji) + dh_ip_over) 314 303 a_ip_frac_1d(ji) = h_ip_1d(ji) / zpnd_aspect
Note: See TracChangeset
for help on using the changeset viewer.