Changeset 11081 for NEMO/branches/UKMO/NEMO_4.0_mirror/src/ICE/icethd.F90
- Timestamp:
- 2019-06-06T16:11:54+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0_mirror/src/ICE/icethd.F90
r10888 r11081 102 102 ENDIF 103 103 104 CALL ice_var_glo2eqv105 106 104 !---------------------------------------------! 107 105 ! computation of friction velocity at T points … … 162 160 qlead(ji,jj) = MIN( 0._wp , zqld - ( qsb_ice_bot(ji,jj) * at_i(ji,jj) * rdt_ice ) - zqfr ) 163 161 164 ! If there is ice and leads are warming, then transfer energy from the lead budget and use it for bottom melting 165 IF( zqld > 0._wp ) THEN 162 ! If there is ice and leads are warming => transfer energy from the lead budget and use it for bottom melting 163 ! If the grid cell is fully covered by ice (no leads) => transfer energy from the lead budget to the ice bottom budget 164 IF( ( zqld >= 0._wp .AND. at_i(ji,jj) > 0._wp ) .OR. at_i(ji,jj) >= (1._wp - epsi10) ) THEN 166 165 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.F90 167 166 qlead(ji,jj) = 0._wp … … 178 177 ! In case we bypass open-water ice formation 179 178 IF( .NOT. ln_icedO ) qlead(:,:) = 0._wp 180 ! In case we bypass growing/melting from top and bottom : we suppose ice is impermeable => ocean is isolated from atmosphere179 ! In case we bypass growing/melting from top and bottom 181 180 IF( .NOT. ln_icedH ) THEN 182 qt_atm_oi (:,:) = ( 1._wp - at_i_b(:,:) ) * ( qns_oce(:,:) + qsr_oce(:,:) ) + qemp_oce(:,:)183 181 qsb_ice_bot(:,:) = 0._wp 184 182 fhld (:,:) = 0._wp … … 221 219 dh_i_sub (1:npti) = 0._wp ; dh_i_bog(1:npti) = 0._wp 222 220 dh_snowice(1:npti) = 0._wp ; dh_s_mlt(1:npti) = 0._wp 223 ! 224 IF( ln_icedH ) THEN ! --- growing/melting --- ! 225 CALL ice_thd_zdf ! Ice/Snow Temperature profile 226 CALL ice_thd_dh ! Ice/Snow thickness 227 CALL ice_thd_pnd ! Melt ponds formation 228 CALL ice_thd_ent( e_i_1d(1:npti,:) ) ! Ice enthalpy remapping 221 ! 222 CALL ice_thd_zdf ! --- Ice-Snow temperature --- ! 223 ! 224 IF( ln_icedH ) THEN ! --- Growing/Melting --- ! 225 CALL ice_thd_dh ! Ice-Snow thickness 226 CALL ice_thd_pnd ! Melt ponds formation 227 CALL ice_thd_ent( e_i_1d(1:npti,:) ) ! Ice enthalpy remapping 229 228 ENDIF 230 !231 229 CALL ice_thd_sal( ln_icedS ) ! --- Ice salinity --- ! 232 230 ! 233 CALL ice_thd_temp ! --- temperature update --- !231 CALL ice_thd_temp ! --- Temperature update --- ! 234 232 ! 235 233 IF( ln_icedH .AND. ln_virtual_itd ) & 236 & CALL ice_thd_mono ! --- extra lateral melting if virtual_itd --- !237 ! 238 IF( ln_icedA ) CALL ice_thd_da ! --- lateral melting --- !234 & CALL ice_thd_mono ! --- Extra lateral melting if virtual_itd --- ! 235 ! 236 IF( ln_icedA ) CALL ice_thd_da ! --- Lateral melting --- ! 239 237 ! 240 238 CALL ice_thd_1d2d( jl, 2 ) ! --- Change units of e_i, e_s from J/m3 to J/m2 --- ! 241 239 ! ! --- & Move to 2D arrays --- ! 242 !243 240 ENDIF 244 241 ! 245 242 END DO 246 243 ! 247 244 IF( ln_icediachk ) CALL ice_cons_hsm(1, 'icethd', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) 248 !249 CALL ice_var_zapsmall ! --- remove very small ice concentration (<1e-10) --- !250 ! ! & make sure at_i=SUM(a_i) & ato_i=1 where at_i=0251 245 ! 252 IF( jpl > 1 ) CALL ice_itd_rem( kt )! --- Transport ice between thickness categories --- !253 ! 254 IF( ln_icedO ) CALL ice_thd_do ! --- frazil ice growingin leads --- !246 IF( jpl > 1 ) CALL ice_itd_rem( kt ) ! --- Transport ice between thickness categories --- ! 247 ! 248 IF( ln_icedO ) CALL ice_thd_do ! --- Frazil ice growth in leads --- ! 255 249 ! 256 250 ! controls
Note: See TracChangeset
for help on using the changeset viewer.