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 14251 for NEMO – NEMO

Changeset 14251 for NEMO


Ignore:
Timestamp:
2020-12-24T08:42:55+01:00 (3 years ago)
Author:
vancop
Message:

Fix pond lids in topo ponds for christmas

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/SI3-05_MeltPonds_topo/src/ICE/icethd_pnd.F90

    r13902 r14251  
    4444   REAL(wp), PARAMETER :: &   ! shared parameters for topographic melt ponds 
    4545      zhi_min = 0.1_wp        , & ! minimum ice thickness with ponds (m)  
    46       zTd     = 0.15_wp       , & ! temperature difference for freeze-up (C) 
     46      zTd     = 273.0_wp      , & ! temperature difference for freeze-up (C) 
    4747      zvp_min = 1.e-4_wp          ! minimum pond volume (m) 
    4848 
     
    531531         zv_mlt          ! total amount of meltwater produced 
    532532 
    533       REAL(wp), DIMENSION(jpi,jpj) ::   zvolp, &     !! total melt pond water available before redistribution and drainage 
     533      REAL(wp), DIMENSION(jpi,jpj) ::   zvolp_ini, & !! total melt pond water available before redistribution and drainage 
     534                                        zvolp    , & !! total melt pond water volume 
    534535                                        zvolp_res    !! remaining melt pond water available after drainage 
    535536                                         
     
    624625         END DO ! jj 
    625626      END DO ! ji 
     627 
     628      zvolp_ini(:,:) = zvolp(:,:) 
    626629                   
    627630      !-------------------------------------------------------------- 
     
    639642            DO ji = 1, jpi 
    640643 
    641             IF ( at_i(ji,jj) > 0.01 .AND. hm_i(ji,jj) > zhi_min .AND. vt_ip(ji,jj) > zvp_min * at_i(ji,jj) ) THEN 
     644            IF ( at_i(ji,jj) > 0.01 .AND. hm_i(ji,jj) > zhi_min .AND. zvolp_ini(ji,jj) > zvp_min * at_i(ji,jj) ) THEN 
    642645                   
    643646               !-------------------------- 
     
    690693 
    691694                        ! differential growth of base of surface floating ice layer 
    692                         zdTice = MAX( - t_su(ji,jj,jl) - zTd , 0._wp ) ! > 0    
     695                        ! zdTice = MAX( - t_su(ji,jj,jl) - zTd , 0._wp ) ! > 0  ! line valid for temp in C  
     696                        zdTice = MAX( - ( t_su(ji,jj,jl) - zTd ) , 0._wp ) ! > 0    
    693697                        zomega = rcnd_i * zdTice / zrhoi_L 
    694698                        zdHui  = SQRT( 2._wp * zomega * rdt_ice + ( v_il(ji,jj,jl) / a_i(ji,jj,jl) )**2 ) & 
     
    726730                     !!! we have the category-dependent flux, let us use it ? 
    727731                     zfsurf = qns_ice(ji,jj,jl) + qsr_ice(ji,jj,jl)                      
    728                      zdHui  = MAX ( -zfsurf * rdt_ice/zrhoi_L , 0._wp ) 
     732                     zdHui  = MAX ( -zfsurf * rdt_ice / zrhoi_L , 0._wp ) 
    729733                     zdvice = MIN ( zdHui * a_ip(ji,jj,jl) , v_ip(ji,jj,jl) ) 
     734 
    730735                     IF ( zdvice > epsi10 ) THEN 
     736 
    731737                        v_il (ji,jj,jl)  = v_il(ji,jj,jl)   + zdvice 
    732738                        v_ip(ji,jj,jl)   = v_ip(ji,jj,jl)   - zdvice 
    733                          
    734739                        diag_dvpn_lid(ji,jj) = diag_dvpn_lid(ji,jj) - zdvice      ! diag 
     740 
    735741!                       zvolp(ji,jj)     = zvolp(ji,jj)     - zdvice 
    736742!                       zfpond(ji,jj)    = zfpond(ji,jj)    - zdvice 
     743 
    737744                        h_ip(ji,jj,jl)   = v_ip(ji,jj,jl) / a_ip(ji,jj,jl) ! MV - in principle, this is useless as h_ip is computed in icevar 
    738745                     ENDIF 
Note: See TracChangeset for help on using the changeset viewer.