Changeset 12686
- Timestamp:
- 2020-04-06T11:56:20+02:00 (3 years ago)
- Location:
- NEMO/branches/UKMO/NEMO_4.0.1_fix_cpl/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.1_fix_cpl/src/ICE/icethd_pnd.F90
r12605 r12686 133 133 REAL(wp), PARAMETER :: zpnd_aspect = 0.8_wp ! pond aspect ratio 134 134 REAL(wp), PARAMETER :: zTp = -2._wp ! reference temperature 135 REAL(wp), PARAMETER :: max_h_diff_s = -1.0E-6 ! Maximum meltpond depth change due to leaking or overflow (m s-1)136 135 REAL(wp), PARAMETER :: pnd_lid_max = 0.015_wp ! pond lid thickness above which the ponds disappear from the albedo calculation 137 136 REAL(wp), PARAMETER :: pnd_lid_min = 0.005_wp ! pond lid thickness below which the full pond area is used in the albedo calculation … … 149 148 REAL(wp) :: lh_ip_end ! Lid thickness at end of timestep (temporary variable) 150 149 REAL(wp) :: zdh_frz ! Amount of melt pond that freezes (m) 151 REAL(wp) :: v_ip_old ! Pond volume before leaking back to the ocean 152 REAL(wp) :: dh_ip_over ! Pond thickness change due to overflow or leaking 150 REAL(wp) :: dh_ip_over ! Pond thickness change due to leaking 153 151 REAL(wp) :: dh_i_pndleak ! Grid box mean change in water depth due to leaking back to the ocean 154 152 REAL(wp) :: h_gravity_head ! Height above sea level of the top of the melt pond … … 168 166 z1_Tp = 1._wp / zTp 169 167 z1_rhoi = 1._wp / rhoi 170 max_h_diff_ts = max_h_diff_s * rdt_ice171 168 172 169 ! Define time-independent field for use in refreezing … … 266 263 ! If pond area exceeds zfr_mlt * a_i_1d(ji) then reduce the pond volume 267 264 IF ( a_ip_1d(ji) > zfr_mlt * a_i_1d(ji) ) THEN 268 v_ip_old = v_ip_1d(ji) ! Save original volume before leak for future use 269 dh_ip_over = zpnd_aspect * zfr_mlt - h_ip_1d(ji) ! This will be a negative number 270 dh_ip_over = MAX(dh_ip_over,max_h_diff_ts) ! Apply a limit 271 h_ip_1d(ji) = MAX(0._wp, h_ip_1d(ji) + dh_ip_over) 265 h_ip_1d(ji) = zpnd_aspect * zfr_mlt 272 266 a_ip_frac_1d(ji) = h_ip_1d(ji) / zpnd_aspect 273 267 a_ip_1d(ji) = a_ip_frac_1d(ji) * a_i_1d(ji) … … 277 271 ! If pond depth exceeds half the ice thickness then reduce the pond volume 278 272 IF ( h_ip_1d(ji) > 0.5_wp * h_i_1d(ji) ) THEN 279 v_ip_old = v_ip_1d(ji) ! Save original volume before leak for future use 280 dh_ip_over = 0.5_wp * h_i_1d(ji) - h_ip_1d(ji) ! This will be a negative number 281 dh_ip_over = MAX(dh_ip_over,max_h_diff_ts) ! Apply a limit 282 h_ip_1d(ji) = MAX(0._wp, h_ip_1d(ji) + dh_ip_over) 273 h_ip_1d(ji) = 0.5_wp * h_i_1d(ji) 283 274 a_ip_frac_1d(ji) = h_ip_1d(ji) / zpnd_aspect 284 275 a_ip_1d(ji) = a_ip_frac_1d(ji) * a_i_1d(ji) … … 309 300 dh_ip_over = MIN(dh_ip_over, 0._wp) ! Make sure it is negative 310 301 311 v_ip_old = v_ip_1d(ji) ! Save original volume before leak for future use312 dh_ip_over = MAX(dh_ip_over,max_h_diff_ts) ! Apply a limit313 302 h_ip_1d(ji) = MAX(0._wp, h_ip_1d(ji) + dh_ip_over) 314 303 a_ip_frac_1d(ji) = h_ip_1d(ji) / zpnd_aspect -
NEMO/branches/UKMO/NEMO_4.0.1_fix_cpl/src/OCE/SBC/sbccpl.F90
r12566 r12686 263 263 NAMELIST/namsbc_cpl/ sn_snd_temp , sn_snd_alb , sn_snd_thick, sn_snd_crt , sn_snd_co2 , & 264 264 & sn_snd_ttilyr, sn_snd_cond , sn_snd_mpnd , sn_snd_sstfrz, sn_snd_thick1, & 265 & ln_scale_ice_fluxes, & 265 266 & sn_snd_ifrac , sn_snd_crtw , sn_snd_wlev , sn_rcv_hsig , sn_rcv_phioc, & 266 267 & sn_rcv_w10m , sn_rcv_taumod, sn_rcv_tau , sn_rcv_dqnsdt, sn_rcv_qsr , & … … 269 270 & sn_rcv_iceflx, sn_rcv_co2 , nn_cplmodel , ln_usecplmask, sn_rcv_mslp , & 270 271 & sn_rcv_icb , sn_rcv_isf , sn_rcv_wfreq , sn_rcv_tauw, nn_cats_cpl , & 271 & sn_rcv_ts_ice , ln_scale_ice_fluxes272 & sn_rcv_ts_ice 272 273 273 274 !!--------------------------------------------------------------------- … … 292 293 ENDIF 293 294 IF( lwp .AND. ln_cpl ) THEN ! control print 295 WRITE(numout,*)' ln_scale_ice_fluxes = ', ln_scale_ice_fluxes 294 296 WRITE(numout,*)' received fields (mutiple ice categogies)' 295 297 WRITE(numout,*)' 10m wind module = ', TRIM(sn_rcv_w10m%cldes ), ' (', TRIM(sn_rcv_w10m%clcat ), ')' … … 343 345 WRITE(numout,*)' ln_usecplmask = ', ln_usecplmask 344 346 WRITE(numout,*)' nn_cats_cpl = ', nn_cats_cpl 345 WRITE(numout,*)' ln_scale_ice_fluxes = ', ln_scale_ice_fluxes346 347 ENDIF 347 348
Note: See TracChangeset
for help on using the changeset viewer.