- Timestamp:
- 2020-02-24T18:04:40+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_dh.F90
r12439 r12449 99 99 REAL(wp), DIMENSION(jpij,nlay_i) :: zh_i ! ice layer thickness 100 100 REAL(wp), DIMENSION(jpij,nlay_i) :: zdeltah 101 REAL(wp), DIMENSION(jpij,nlay_i) :: zdeltah_pnd ! Change in thickness due to melting into ponds 101 102 INTEGER , DIMENSION(jpij,nlay_i) :: icount ! number of layers vanished by melting 102 103 … … 281 282 zdeltah (ji,jk) = MAX( zdeltah(ji,jk) , - zh_s(ji,jk) ) ! bound melting 282 283 zdh_s_mel(ji) = zdh_s_mel(ji) + zdeltah(ji,jk) 284 zdeltah_pnd(ji,jk) = zdeltah (ji,jk) * a_pnd_avail_1d(ji) 283 285 284 286 hfx_snw_1d(ji) = hfx_snw_1d(ji) - zdeltah(ji,jk) * a_i_1d(ji) * e_s_1d (ji,jk) * r1_rdtice ! heat used to melt snow(W.m-2, >0) 285 wfx_snw_sum_1d(ji) = wfx_snw_sum_1d(ji) - rhos * a_i_1d(ji) * zdeltah(ji,jk) * r1_rdtice ! snow melting only = water into the ocean (then without snow precip)287 wfx_snw_sum_1d(ji) = wfx_snw_sum_1d(ji) - rhos * a_i_1d(ji) * (zdeltah(ji,jk) - zdeltah_pnd(ji,jk)) * r1_rdtice ! snow melting only = water into the ocean (then without snow precip) 286 288 287 289 ! updates available heat + thickness 288 290 dh_s_mlt(ji) = dh_s_mlt(ji) + zdeltah(ji,jk) 289 dh_s_pnd(ji) = dh_s_pnd(ji) + zdeltah (ji,jk) * a_pnd_avail_1d(ji)! Cumulate surface melt on areas contributing to melt ponds291 dh_s_pnd(ji) = dh_s_pnd(ji) + zdeltah_pnd(ji,jk) ! Cumulate surface melt on areas contributing to melt ponds 290 292 zq_top (ji) = MAX( 0._wp , zq_top(ji) + zdeltah(ji,jk) * e_s_1d(ji,jk) ) 291 293 h_s_1d (ji) = MAX( 0._wp , h_s_1d(ji) + zdeltah(ji,jk) ) 292 h_i_1d (ji) = MAX( 0._wp , h_i_1d(ji) - zdeltah(ji,jk) * a_pnd_avail_1d(ji) * rhos * r1_rhoi ) ! Snow melt trapped in ponds contrbutes to ice thickness293 294 zh_s (ji,jk) = MAX( 0._wp , zh_s(ji,jk) + zdeltah(ji,jk) ) 295 296 ! Snow melt trapped in ponds contrbutes to ice thickness and snow to ice conversion 297 h_i_1d (ji) = MAX( 0._wp , h_i_1d(ji) - zdeltah_pnd(ji,jk) * rhos * r1_rhoi ) 298 wfx_sni_1d(ji) = wfx_sni_1d(ji) - a_i_1d(ji) * zdeltah_pnd(ji,jk) * rhos * r1_rdtice 299 wfx_snw_sni_1d(ji) = wfx_snw_sni_1d(ji) + a_i_1d(ji) * zdeltah_pnd(ji,jk) * rhos * r1_rdtice 294 300 ! 295 301 ENDIF … … 400 406 zdE = zEi - zEw ! Specific enthalpy difference < 0 401 407 402 zfmdt = - zq_top(ji) / zdE ! Mass flux to the ocean [kg/m2, >0] 403 404 zdeltah(ji,jk) = - zfmdt * r1_rhoi ! Melt of layer jk [m, <0] 408 zfmdt = - zq_top(ji) / zdE ! Mass flux to the ocean or meltponds [kg/m2, >0] 409 410 zdeltah(ji,jk) = - zfmdt * r1_rhoi * (1._wp - a_pnd_avail_1d(ji)) ! Melt of layer jk [m, <0] into the ocean 411 zdeltah_pnd(ji,jk) = - zfmdt * r1_rhoi * a_pnd_avail_1d(ji) ! Melt of layer jk [m, <0] into meltponds 405 412 406 413 zdeltah(ji,jk) = MIN( 0._wp , MAX( zdeltah(ji,jk) , - zh_i(ji,jk) ) ) ! Melt of layer jk cannot exceed the layer thickness [m, <0] … … 408 415 zq_top(ji) = MAX( 0._wp , zq_top(ji) - zdeltah(ji,jk) * rhoi * zdE ) ! update available heat 409 416 410 dh_i_sum(ji) = dh_i_sum(ji) + zdeltah(ji,jk) * (1._wp - a_pnd_avail_1d(ji))! Cumulate surface melt on areas not contributing to melt ponds411 dh_i_pnd(ji) = dh_i_pnd(ji) + zdeltah (ji,jk) * a_pnd_avail_1d(ji)! Cumulate surface melt on areas contributing to melt ponds417 dh_i_sum(ji) = dh_i_sum(ji) + zdeltah(ji,jk) ! Cumulate surface melt on areas not contributing to melt ponds 418 dh_i_pnd(ji) = dh_i_pnd(ji) + zdeltah_pnd(ji,jk) ! Cumulate surface melt on areas contributing to melt ponds 412 419 413 420 zfmdt = - rhoi * zdeltah(ji,jk) ! Recompute mass flux [kg/m2, >0]
Note: See TracChangeset
for help on using the changeset viewer.