New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 12686 for NEMO/branches/UKMO/NEMO_4.0.1_fix_cpl/src/ICE – NEMO

Ignore:
Timestamp:
2020-04-06T11:56:20+02:00 (4 years ago)
Author:
dancopsey
Message:
  • We don't need maximum outflow when reducing pond width or depth.
    • Move code changes in sbccpl to avoid conflicts.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.1_fix_cpl/src/ICE/icethd_pnd.F90

    r12605 r12686  
    133133      REAL(wp), PARAMETER ::   zpnd_aspect = 0.8_wp   ! pond aspect ratio 
    134134      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) 
    136135      REAL(wp), PARAMETER ::   pnd_lid_max = 0.015_wp ! pond lid thickness above which the ponds disappear from the albedo calculation 
    137136      REAL(wp), PARAMETER ::   pnd_lid_min = 0.005_wp ! pond lid thickness below which the full pond area is used in the albedo calculation 
     
    149148      REAL(wp) ::   lh_ip_end        ! Lid thickness at end of timestep (temporary variable) 
    150149      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 
    153151      REAL(wp) ::   dh_i_pndleak     ! Grid box mean change in water depth due to leaking back to the ocean 
    154152      REAL(wp) ::   h_gravity_head   ! Height above sea level of the top of the melt pond 
     
    168166      z1_Tp          = 1._wp / zTp  
    169167      z1_rhoi        = 1._wp / rhoi 
    170       max_h_diff_ts  = max_h_diff_s * rdt_ice 
    171168 
    172169      ! Define time-independent field for use in refreezing 
     
    266263               ! If pond area exceeds zfr_mlt * a_i_1d(ji) then reduce the pond volume 
    267264               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 
    272266                   a_ip_frac_1d(ji) = h_ip_1d(ji) / zpnd_aspect 
    273267                   a_ip_1d(ji) = a_ip_frac_1d(ji) * a_i_1d(ji) 
     
    277271               ! If pond depth exceeds half the ice thickness then reduce the pond volume 
    278272               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) 
    283274                   a_ip_frac_1d(ji) = h_ip_1d(ji) / zpnd_aspect 
    284275                   a_ip_1d(ji) = a_ip_frac_1d(ji) * a_i_1d(ji) 
     
    309300                   dh_ip_over = MIN(dh_ip_over, 0._wp)      ! Make sure it is negative 
    310301 
    311                    v_ip_old = v_ip_1d(ji)   ! Save original volume before leak for future use 
    312                    dh_ip_over = MAX(dh_ip_over,max_h_diff_ts)                       ! Apply a limit 
    313302                   h_ip_1d(ji) = MAX(0._wp, h_ip_1d(ji) + dh_ip_over) 
    314303                   a_ip_frac_1d(ji) = h_ip_1d(ji) / zpnd_aspect 
Note: See TracChangeset for help on using the changeset viewer.