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

Ignore:
Timestamp:
2017-06-06T09:39:43+02:00 (7 years ago)
Author:
vancop
Message:

Melt pond interfaces practically operational

File:
1 edited

Legend:

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

    r8125 r8142  
    509509      ! MV MP 2016 
    510510      REAL(wp), POINTER, DIMENSION(:) ::   vprdg            ! pond volume of ridging ice 
     511      REAL(wp), POINTER, DIMENSION(:) ::   aprdg1           ! pond area of ridging ice 
     512      REAL(wp), POINTER, DIMENSION(:) ::   aprdg2           ! pond area of ridging ice 
    511513      ! END MV MP 2016 
    512514      REAL(wp), POINTER, DIMENSION(:) ::   dhr   , dhr2     ! hrmax - hrmin  &  hrmax^2 - hrmin^2 
     
    525527      ! MV MP 2016 
    526528      REAL(wp), POINTER, DIMENSION(:) ::   vprft            ! pond volume of rafting ice 
     529      REAL(wp), POINTER, DIMENSION(:) ::   aprft1           ! pond area of rafted ice 
     530      REAL(wp), POINTER, DIMENSION(:) ::   aprft2           ! pond area of new rafted ice 
    527531      ! END MV MP 2016 
    528532      REAL(wp), POINTER, DIMENSION(:) ::   esrft , smrft    ! snow energy & salinity of rafting ice 
     
    539543      ! MV MP 2016 
    540544      !CALL wrk_alloc( jpij,        afrac, ardg1, ardg2, vsrdg, esrdg, dhr, dhr2 ) 
    541       CALL wrk_alloc( jpij,        afrac, ardg1, ardg2, vsrdg, esrdg, vprdg, dhr, dhr2 ) 
     545      CALL wrk_alloc( jpij,        afrac, ardg1, ardg2, vsrdg, esrdg, vprdg, aprdg1, aprdg2, dhr, dhr2 ) 
    542546      ! END MV MP 2016 
    543547      CALL wrk_alloc( jpij,        vrdg1, vrdg2, vsw  , srdg1, srdg2, smsw, oirdg1, oirdg2 ) 
    544548      ! MV MP 2016 
    545549      !CALL wrk_alloc( jpij,        afrft, arft1, arft2, virft, vsrft, esrft, smrft, oirft1, oirft2 ) 
    546       CALL wrk_alloc( jpij,        afrft, arft1, arft2, virft, vsrft, esrft, vprft, smrft, oirft1, oirft2 ) 
     550      CALL wrk_alloc(  jpij,        afrft, arft1, arft2, virft, vsrft, esrft, aprft1, aprft2) 
     551      CALL wrk_alloc ( jpij,        vprft, smrft, oirft1, oirft2 ) 
    547552      ! END MV MP 2016 
    548553      CALL wrk_alloc( jpij,nlay_i, eirft, erdg1, erdg2, ersw ) 
     
    598603 
    599604            !-------------------------------------------------------------------------- 
    600             ! 3.4) Subtract area, volume, and energy from ridging  
     605            ! 3.4) Substract area, volume, and energy from ridging  
    601606            !     / rafting category n1. 
    602607            !-------------------------------------------------------------------------- 
     
    609614            !MV MP 2016 
    610615            IF ( nn_pnd_scheme > 0 ) THEN 
    611                vprdg(ij) = v_ip(ji,jj, jl1) * afrac(ij) 
     616               aprdg1(ij) = a_ip(ji,jj, jl1) * afrac(ij) 
     617               aprdg2(ij) = a_ip(ji,jj, jl1) * afrac(ij) * krdg(ji,jj,jl1) 
     618               vprdg(ij)  = v_ip(ji,jj, jl1) * afrac(ij) 
    612619            ENDIF 
    613620            ! END MV MP 2016 
     
    621628            !MV MP 2016 
    622629            IF ( nn_pnd_scheme > 0 ) THEN 
    623                vprft(ij) = v_ip(ji,jj,jl1) * afrft(ij) 
     630               aprft1(ij) = a_ip (ji,jj,  jl1) * afrft(ij) 
     631               aprft2(ij) = a_ip (ji,jj,  jl1) * afrft(ij) * kraft 
     632               vprft(ij)  = v_ip(ji,jj,jl1)    * afrft(ij) 
    624633            ENDIF 
    625634            ! END MV MP 2016 
     
    690699            IF ( nn_pnd_scheme > 0 ) THEN 
    691700               v_ip (ji,jj,jl1) = v_ip (ji,jj,jl1) - vprdg (ij) - vprft (ij) 
     701               a_ip (ji,jj,jl1) = a_ip (ji,jj,jl1) - aprdg1(ij) - aprft1(ij) 
    692702            ENDIF 
    693703            ! END MV MP 2016 
     
    758768               ! MV MP 2016 
    759769               IF ( nn_pnd_scheme > 0 ) THEN 
    760                   v_ip (ji,jj,jl2) = v_ip (ji,jj,jl2)  + ( vprdg (ij) * rn_fpondrdg * fvol(ij)  +  & 
    761                   &                                        vprft (ij) * rn_fpondrft * zswitch(ij) ) 
     770                  v_ip (ji,jj,jl2) = v_ip (ji,jj,jl2)  + ( vprdg (ij) * rn_fpondrdg * fvol(ij)  +   & 
     771                                                       &   vprft (ij) * rn_fpondrft * zswitch(ij) ) 
     772                  a_ip (ji,jj,jl2) = a_ip(ji,jj,jl2)   + ( aprdg2(ij) * rn_fpondrdg * farea +       &  
     773                                                       &   aprft2(ij) * rn_fpondrft * zswitch(ji) ) 
    762774               ENDIF 
    763775               ! END MV MP 2016 
     
    782794      ! MV MP 2016 
    783795      !CALL wrk_dealloc( jpij,        afrac, ardg1, ardg2, vsrdg, esrdg, dhr, dhr2 ) 
    784       CALL wrk_dealloc( jpij,        afrac, ardg1, ardg2, vsrdg, esrdg, vprdg, dhr, dhr2 ) 
     796      CALL wrk_dealloc( jpij,        afrac, ardg1, ardg2, vsrdg, esrdg, vprdg, aprdg1, aprdg2,  dhr, dhr2 ) 
    785797      ! END MV MP 2016 
    786798      CALL wrk_dealloc( jpij,        vrdg1, vrdg2, vsw  , srdg1, srdg2, smsw, oirdg1, oirdg2 ) 
    787799      ! MV MP 2016 
    788800      !CALL wrk_dealloc( jpij,        afrft, arft1, arft2, virft, vsrft, esrft, smrft, oirft1, oirft2 ) 
    789       CALL wrk_dealloc( jpij,        afrft, arft1, arft2, virft, vsrft, esrft, vprft, smrft, oirft1, oirft2 ) 
     801      CALL wrk_dealloc( jpij,        afrft, arft1, arft2, virft, vsrft, esrft, aprft1, aprft2, vprft ) 
     802      CALL wrk_dealloc( jpij,        smrft, oirft1, oirft2 ) 
    790803      CALL wrk_dealloc( jpij,nlay_i, eirft, erdg1, erdg2, ersw ) 
    791804      ! 
Note: See TracChangeset for help on using the changeset viewer.