- Timestamp:
- 2020-02-18T10:44:02+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0_add_pond_lids_prints/src/ICE/icethd_pnd.F90
r12382 r12394 151 151 152 152 ! Define time-independent field for use in refreezing 153 omega_dt = 2.0_wp * rcnd_i * rdt ice / (rLfus * rhow)153 omega_dt = 2.0_wp * rcnd_i * rdt_ice / (rLfus * rhow) 154 154 155 155 DO ji = 1, npti … … 167 167 h_ip_1d(ji) = 0._wp 168 168 lh_ip_1d(ji) = 0._wp 169 170 actual_mlt = 0._wp 171 actual_frz = 0._wp 169 172 ! !--------------------------------! 170 173 ELSE ! Case ice thickness >= rn_himin ! … … 190 193 191 194 ! The following equation is a rearranged form of: 192 ! lid_thickness_end - lid_thickness_start = rcnd_i * t_grad * rdt ice / (0.5*(lid_thickness_end + lid_thickness_start) * rLfus * rhow)195 ! lid_thickness_end - lid_thickness_start = rcnd_i * t_grad * rdt_ice / (0.5*(lid_thickness_end + lid_thickness_start) * rLfus * rhow) 193 196 ! where: lid_thickness_start = lh_ip_1d(ji) 194 197 ! lid_thickness_end = lh_ip_end … … 209 212 END IF 210 213 211 ! melt pond mass flux diagnostic (melt only) 212 zfac = actual_mlt * a_i_1d(ji * rhow * r1_rdtice 213 wfx_pnd_1d(ji) = wfx_pnd_1d(ji) - zfac 214 ! 215 ! adjust ice/snow melting flux to balance melt pond flux (>0) 216 zdum = zfac / ( wfx_snw_sum_1d(ji) + wfx_sum_1d(ji) ) 217 wfx_snw_sum_1d(ji) = wfx_snw_sum_1d(ji) * (1._wp + zdum) 218 wfx_sum_1d(ji) = wfx_sum_1d(ji) * (1._wp + zdum) 214 ! melt pond mass flux (<0) 215 IF( zdv_mlt > 0._wp ) THEN 216 zfac = actual_mlt * a_i_1d(ji) * rhow * r1_rdtice 217 wfx_pnd_1d(ji) = wfx_pnd_1d(ji) - zfac 218 ! 219 ! adjust ice/snow melting flux to balance melt pond flux (>0) 220 zdum = zfac / ( wfx_snw_sum_1d(ji) + wfx_sum_1d(ji) ) 221 wfx_snw_sum_1d(ji) = wfx_snw_sum_1d(ji) * (1._wp + zdum) 222 wfx_sum_1d(ji) = wfx_sum_1d(ji) * (1._wp + zdum) 223 ENDIF 219 224 ! 220 225 ! Make sure pond volume or lid thickness has not gone negative … … 243 248 write(numout,*)'icethd_pnd: a_i_1d(ji), v_ip_1d(ji), t_su_1d(ji), zfr_mlt, zdv_mlt = ',a_i_1d(ji), ' ', v_ip_1d(ji), ' ', t_su_1d(ji), ' ', zfr_mlt, ' ', zdv_mlt 244 249 write(numout,*)'icethd_pnd: meltt = ', -( dh_i_sum(ji)*rhoi + dh_s_mlt(ji)*rhos ) / rhoi 250 write(numout,*)'icethd_pnd: lh_ip_1d(ji), actual_mlt, actual_frz, t_su_1d(ji) = ',lh_ip_1d(ji), ' ', actual_mlt, ' ', actual_frz, ' ', t_su_1d(ji) 245 251 END IF 246 252
Note: See TracChangeset
for help on using the changeset viewer.