Changeset 9750 for NEMO/trunk/src/ICE/icethd_dh.F90
- Timestamp:
- 2018-06-06T14:49:34+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/ICE/icethd_dh.F90
r9604 r9750 333 333 zfmdt = - zdeltah(ji,jk) * rhoic ! Mass flux x time step > 0 334 334 335 dh_i_ surf(ji) = dh_i_surf(ji) + zdeltah(ji,jk) ! Cumulate surface melt335 dh_i_itm(ji) = dh_i_itm(ji) + zdeltah(ji,jk) ! Cumulate internal melting 336 336 337 337 zfmdt = - rhoic * zdeltah(ji,jk) ! Recompute mass flux [kg/m2, >0] … … 357 357 zq_su(ji) = MAX( 0._wp , zq_su(ji) - zdeltah(ji,jk) * rhoic * zdE ) ! update available heat 358 358 359 dh_i_su rf(ji) = dh_i_surf(ji) + zdeltah(ji,jk)! Cumulate surface melt359 dh_i_sum(ji) = dh_i_sum(ji) + zdeltah(ji,jk) ! Cumulate surface melt 360 360 361 361 zfmdt = - rhoic * zdeltah(ji,jk) ! Recompute mass flux [kg/m2, >0] … … 404 404 ! update ice thickness 405 405 DO ji = 1, npti 406 h_i_1d(ji) = MAX( 0._wp , h_i_1d(ji) + dh_i_su rf(ji) + dh_i_sub(ji) )406 h_i_1d(ji) = MAX( 0._wp , h_i_1d(ji) + dh_i_sum(ji) + dh_i_itm(ji) + dh_i_sub(ji) ) 407 407 END DO 408 408 … … 422 422 ! If salinity varies in time, an iterative procedure is required, because 423 423 ! the involved quantities are inter-dependent. 424 ! Basal growth (dh_i_bo tt) depends upon new ice specific enthalpy (zEi),425 ! which depends on forming ice salinity (s_i_new), which depends on dh/dt (dh_i_bo tt)424 ! Basal growth (dh_i_bog) depends upon new ice specific enthalpy (zEi), 425 ! which depends on forming ice salinity (s_i_new), which depends on dh/dt (dh_i_bog) 426 426 ! -> need for an iterative procedure, which converges quickly 427 427 … … 437 437 !--- zswi12 if 2.0e-8 < dh/dt < 3.6e-7 438 438 !--- zswi2 if dh/dt > 3.6e-7 439 zgrr = MIN( 1.0e-3, MAX ( dh_i_bo tt(ji) * r1_rdtice , epsi10 ) )439 zgrr = MIN( 1.0e-3, MAX ( dh_i_bog(ji) * r1_rdtice , epsi10 ) ) 440 440 zswi2 = MAX( 0._wp , SIGN( 1._wp , zgrr - 3.6e-7 ) ) 441 441 zswi12 = MAX( 0._wp , SIGN( 1._wp , zgrr - 2.0e-8 ) ) * ( 1.0 - zswi2 ) … … 457 457 zdE = zEi - zEw ! Specific enthalpy difference (J/kg, <0) 458 458 459 dh_i_bo tt(ji)= rdt_ice * MAX( 0._wp , zf_tt(ji) / ( zdE * rhoic ) )459 dh_i_bog(ji) = rdt_ice * MAX( 0._wp , zf_tt(ji) / ( zdE * rhoic ) ) 460 460 461 461 END DO 462 462 ! Contribution to Energy and Salt Fluxes 463 zfmdt = - rhoic * dh_i_bo tt(ji)! Mass flux x time step (kg/m2, < 0)463 zfmdt = - rhoic * dh_i_bog(ji) ! Mass flux x time step (kg/m2, < 0) 464 464 465 465 hfx_thd_1d(ji) = hfx_thd_1d(ji) + zfmdt * a_i_1d(ji) * zEw * r1_rdtice ! Heat flux to the ocean [W.m-2], >0 466 466 hfx_bog_1d(ji) = hfx_bog_1d(ji) - zfmdt * a_i_1d(ji) * zdE * r1_rdtice ! Heat flux used in this process [W.m-2], <0 467 467 468 sfx_bog_1d(ji) = sfx_bog_1d(ji) - rhoic * a_i_1d(ji) * dh_i_bo tt(ji) * s_i_new(ji) * r1_rdtice! Salt flux, <0469 470 wfx_bog_1d(ji) = wfx_bog_1d(ji) - rhoic * a_i_1d(ji) * dh_i_bo tt(ji) * r1_rdtice! Mass flux, <0468 sfx_bog_1d(ji) = sfx_bog_1d(ji) - rhoic * a_i_1d(ji) * dh_i_bog(ji) * s_i_new(ji) * r1_rdtice ! Salt flux, <0 469 470 wfx_bog_1d(ji) = wfx_bog_1d(ji) - rhoic * a_i_1d(ji) * dh_i_bog(ji) * r1_rdtice ! Mass flux, <0 471 471 472 472 ! update heat content (J.m-2) and layer thickness 473 eh_i_old(ji,nlay_i+1) = eh_i_old(ji,nlay_i+1) + dh_i_bo tt(ji) * (-zEi * rhoic)474 h_i_old (ji,nlay_i+1) = h_i_old (ji,nlay_i+1) + dh_i_bo tt(ji)473 eh_i_old(ji,nlay_i+1) = eh_i_old(ji,nlay_i+1) + dh_i_bog(ji) * (-zEi * rhoic) 474 h_i_old (ji,nlay_i+1) = h_i_old (ji,nlay_i+1) + dh_i_bog(ji) 475 475 476 476 ENDIF … … 495 495 ! this should normally not happen, but sometimes, heat diffusion leads to this 496 496 497 dh_i_ bott (ji) = dh_i_bott(ji) + zdeltah(ji,jk)497 dh_i_itm (ji) = dh_i_itm(ji) + zdeltah(ji,jk) 498 498 499 499 zfmdt = - zdeltah(ji,jk) * rhoic ! Mass flux x time step > 0 … … 523 523 zq_bo(ji) = MAX( 0._wp , zq_bo(ji) - zdeltah(ji,jk) * rhoic * zdE ) ! update available heat. MAX is necessary for roundup errors 524 524 525 dh_i_bo tt(ji) = dh_i_bott(ji) + zdeltah(ji,jk) ! Update basal melt525 dh_i_bom(ji) = dh_i_bom(ji) + zdeltah(ji,jk) ! Update basal melt 526 526 527 527 zfmdt = - zdeltah(ji,jk) * rhoic ! Mass flux x time step > 0 … … 549 549 ! -------------------------- 550 550 DO ji = 1, npti 551 h_i_1d(ji) = MAX( 0._wp , h_i_1d(ji) + dh_i_bo tt(ji) )551 h_i_1d(ji) = MAX( 0._wp , h_i_1d(ji) + dh_i_bog(ji) + dh_i_bom(ji) ) 552 552 END DO 553 553
Note: See TracChangeset
for help on using the changeset viewer.