- Timestamp:
- 2018-07-11T10:24:17+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2018/dev_r9838_ENHANCE04_MLF/src/ICE/icethd.F90
r9750 r9923 120 120 DO jj = 2, jpjm1 121 121 DO ji = fs_2, fs_jpim1 122 zfric(ji,jj) = r1_r au0 * SQRT( 0.5_wp * &122 zfric(ji,jj) = r1_rho0 * SQRT( 0.5_wp * & 123 123 & ( utau(ji,jj) * utau(ji,jj) + utau(ji-1,jj) * utau(ji-1,jj) & 124 124 & + vtau(ji,jj) * vtau(ji,jj) + vtau(ji,jj-1) * vtau(ji,jj-1) ) ) * tmask(ji,jj,1) … … 150 150 ! --- Energy needed to bring ocean surface layer until its freezing (<0, J.m-2) --- ! 151 151 ! includes supercooling potential energy (>0) or "above-freezing" energy (<0) 152 zqfr = tmask(ji,jj,1) * r au0 *rcp * e3t_m(ji,jj) * ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) )152 zqfr = tmask(ji,jj,1) * rho0_rcp * e3t_m(ji,jj) * ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ) 153 153 154 154 ! --- Above-freezing sensible heat content (J/m2 grid) 155 zqfr_neg = tmask(ji,jj,1) * r au0 *rcp * e3t_m(ji,jj) * MIN( ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ), 0._wp )155 zqfr_neg = tmask(ji,jj,1) * rho0_rcp * e3t_m(ji,jj) * MIN( ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ), 0._wp ) 156 156 157 157 ! --- Sensible ocean-to-ice heat flux (W/m2) 158 158 zfric_u = MAX( SQRT( zfric(ji,jj) ), zfric_umin ) 159 fhtur(ji,jj) = rswitch * r au0 *rcp * zch * zfric_u * ( ( sst_m(ji,jj) + rt0 ) - t_bo(ji,jj) ) ! W.m-2160 161 fhtur(ji,jj) = rswitch * MIN( fhtur(ji,jj), - zqfr_neg * r1_ rdtice / MAX( at_i(ji,jj), epsi10 ) )159 fhtur(ji,jj) = rswitch * rho0_rcp * zch * zfric_u * ( ( sst_m(ji,jj) + rt0 ) - t_bo(ji,jj) ) ! W.m-2 160 161 fhtur(ji,jj) = rswitch * MIN( fhtur(ji,jj), - zqfr_neg * r1_Dt_ice / MAX( at_i(ji,jj), epsi10 ) ) 162 162 ! upper bound for fhtur: the heat retrieved from the ocean must be smaller than the heat necessary to reach 163 163 ! the freezing point, so that we do not have SST < T_freeze … … 169 169 ! If there is ice and leads are warming, then transfer energy from the lead budget and use it for bottom melting 170 170 IF( zqld > 0._wp ) THEN 171 fhld (ji,jj) = rswitch * zqld * r1_ rdtice / MAX( at_i(ji,jj), epsi10 ) ! divided by at_i since this is (re)multiplied by a_i in icethd_dh.F90171 fhld (ji,jj) = rswitch * zqld * r1_Dt_ice / MAX( at_i(ji,jj), epsi10 ) ! divided by at_i since this is (re)multiplied by a_i in icethd_dh.F90 172 172 qlead(ji,jj) = 0._wp 173 173 ELSE … … 197 197 ! Third step in iceupdate.F90 : heat from ice-ocean mass exchange (zf_mass) + solar 198 198 hfx_out(:,:) = ( 1._wp - at_i_b(:,:) ) * qns_oce(:,:) + qemp_oce(:,:) & ! Non solar heat flux received by the ocean 199 & - qlead(:,:) * r1_ rdtice & ! heat flux taken from the ocean where there is open water ice formation199 & - qlead(:,:) * r1_Dt_ice & ! heat flux taken from the ocean where there is open water ice formation 200 200 & - at_i (:,:) * fhtur(:,:) & ! heat flux taken by turbulence 201 201 & - at_i (:,:) * fhld(:,:) ! heat flux taken during bottom growth/melt
Note: See TracChangeset
for help on using the changeset viewer.