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 8061 for branches/2016/dev_r6859_LIM3_meltponds/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90 – NEMO

Ignore:
Timestamp:
2017-05-24T10:02:23+02:00 (7 years ago)
Author:
vancop
Message:

Quick commit on empirical melt ponds

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6859_LIM3_meltponds/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90

    r7319 r8061  
    7979      ! With melt ponds, we have to diffuse them 
    8080      ! We hard code the number of variables to diffuse 
    81       ! since we can't put an IF ( ln_limMP ) for a declaration 
     81      ! since we can't put an IF ( nn_pnd_scheme ) for a declaration 
    8282      ! ideally, the ihdf_vars should probably be passed as an argument and 
    83       ! defined somewhere depending on ln_limMP 
     83      ! defined somewhere depending on nn_pnd_scheme 
    8484      ! END MV MP 2016 
    8585      INTEGER , PARAMETER                    ::   ihdf_vars  = 8 ! Number of variables in which we apply horizontal diffusion 
     
    217217               CALL lim_adv_umx( kt, zdt, zudy, zvdx, zcu_box, zcv_box, e_s(:,:,1,jl) )    ! Snow heat content 
    218218               ! MV MP 2016 
    219                IF ( ln_limMP ) THEN 
     219               IF ( nn_pnd_scheme > 0 ) THEN 
    220220                  CALL lim_adv_umx( kt, zdt, zudy, zvdx, zcu_box, zcv_box, a_ip(:,:,jl) )  ! Melt pond fraction 
    221221                  CALL lim_adv_umx( kt, zdt, zudy, zvdx, zcu_box, zcv_box, v_ip(:,:,jl) )  ! Melt pond volume 
     
    265265            END DO 
    266266            ! MV MP 2016 
    267             IF ( ln_limMP ) THEN 
     267            IF ( nn_pnd_scheme > 0 ) THEN 
    268268               z0ap  (:,:,jl)  = a_ip (:,:,jl) * e12t(:,:) ! Melt pond fraction 
    269269               z0vp  (:,:,jl)  = v_ip (:,:,jl) * e12t(:,:) ! Melt pond volume 
     
    365365                  END DO 
    366366                  ! MV MP 2016 
    367                   IF ( ln_limMP ) THEN 
     367                  IF ( nn_pnd_scheme > 0 ) THEN 
    368368                     CALL lim_adv_y( zusnit, v_ice, 1._wp, zarea, z0ap  (:,:,jl), sxap (:,:,jl),   &   !--- melt pond fraction --- 
    369369                     &                                         sxxap (:,:,jl), syap (:,:,jl), syyap (:,:,jl), sxyap (:,:,jl)  ) 
     
    395395            END DO 
    396396            ! MV MP 2016 
    397             IF ( ln_limMP ) THEN 
     397            IF ( nn_pnd_scheme > 0 ) THEN 
    398398               a_ip  (:,:,jl)   = z0ap (:,:,jl) * r1_e12t(:,:) 
    399399               v_ip  (:,:,jl)   = z0vp (:,:,jl) * r1_e12t(:,:) 
     
    442442            zhdfptab(:,:,jm)= e_s  (:,:,1,jl); jm = jm + 1 
    443443            ! MV MP 2016 
    444             IF ( ln_limMP ) THEN 
     444            IF ( nn_pnd_scheme > 0 ) THEN 
    445445               zhdfptab(:,:,jm)= a_ip  (:,:,  jl); jm = jm + 1 
    446446               zhdfptab(:,:,jm)= v_ip  (:,:,  jl); jm = jm + 1 
     
    481481            e_s  (:,:,1,jl) = zhdfptab(:,:,jm); jm = jm + 1 
    482482            ! MV MP 2016 
    483             IF ( ln_limMP ) THEN 
     483            IF ( nn_pnd_scheme > 0 ) THEN 
    484484               a_ip (:,:,  jl) = zhdfptab(:,:,jm); jm = jm + 1 
    485485               v_ip (:,:,  jl) = zhdfptab(:,:,jm); jm = jm + 1 
     
    539539 
    540540                        ! MV MP 2016 
    541                         IF ( ln_limMP ) THEN 
     541                        IF ( nn_pnd_scheme > 0 ) THEN 
    542542                           a_ip (ji,jj,jl)        = rswitch * a_ip (ji,jj,jl) 
    543543                           v_ip (ji,jj,jl)        = rswitch * v_ip (ji,jj,jl) 
     
    563563               a_i (ji,jj,jpl) = v_i(ji,jj,jpl) / MAX( ht_i(ji,jj,jpl) , epsi20 ) * rswitch 
    564564               ! MV MP 2016 
    565                IF ( ln_limMP ) THEN 
     565               IF ( nn_pnd_scheme > 0 ) THEN 
    566566                  ! correct pond fraction to avoid a_ip > a_i 
    567567                  a_ip(ji,jj,jpl) = a_ip(ji,jj,jpl) * a_i(ji,jj,jpl) / MAX( za_old , epsi20 ) * rswitch 
     
    598598 
    599599      ! MV MP 2016 (remove once we get rid of a_i_frac and ht_i) 
    600       IF ( ln_limMP ) THEN 
     600      IF ( nn_pnd_scheme > 0 ) THEN 
    601601          at_ip(:,:) = SUM( a_ip(:,:,:), dim = 3 ) 
    602602          vt_ip(:,:) = SUM( v_ip(:,:,:), dim = 3 ) 
Note: See TracChangeset for help on using the changeset viewer.