Changeset 12832


Ignore:
Timestamp:
2020-04-29T17:15:15+02:00 (7 months ago)
Author:
clem
Message:

forgotten files from previous commit

Location:
NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/cfgs/SHARED/namelist_ice_ref

    r12743 r12832  
    178178&namthd_pnd     !   Melt ponds 
    179179!------------------------------------------------------------------------------ 
    180    ln_pnd           = .false.         !  activate melt ponds or not 
    181      ln_pnd_H12     = .false.         !  activate evolutive melt ponds (from Flocco et al 2007,2010 & Holland et al 2012) 
    182        ln_pnd_lids  = .true.          !  ponds with frozen lids 
    183        ln_pnd_flush = .true.          !  ponds flushing trhu the ice   
    184        rn_apnd_min  =   0.15          !  minimum ice fraction that contributes to melt pond. range: 0.0 -- 0.15 ?? 
    185        rn_apnd_max  =   0.85          !  maximum ice fraction that contributes to melt pond. range: 0.7 -- 0.85 ?? 
    186      ln_pnd_CST     = .false.         !  activate constant  melt ponds 
    187        rn_apnd      =   0.2           !     prescribed pond fraction, at Tsu=0 degC 
    188        rn_hpnd      =   0.05          !     prescribed pond depth,    at Tsu=0 degC 
    189      ln_pnd_alb     = .false.         !  melt ponds affect albedo or not 
     180   ln_pnd            = .false.        !  activate melt ponds or not 
     181      ln_pnd_LEV     = .false.        !  level ice melt ponds (from Flocco et al 2007,2010 & Holland et al 2012) 
     182         rn_apnd_min =   0.15         !     minimum ice fraction that contributes to melt pond. range: 0.0 -- 0.15 ?? 
     183         rn_apnd_max =   0.85         !     maximum ice fraction that contributes to melt pond. range: 0.7 -- 0.85 ?? 
     184      ln_pnd_CST     = .false.        !  constant  melt ponds 
     185         rn_apnd     =   0.2          !     prescribed pond fraction, at Tsu=0 degC 
     186         rn_hpnd     =   0.05         !     prescribed pond depth,    at Tsu=0 degC 
     187      ln_pnd_lids    = .true.         !  frozen lids on top of the ponds (only for ln_pnd_LEV) 
     188      ln_pnd_alb     = .true.         !  effect of melt ponds on ice albedo 
    190189/ 
    191190!------------------------------------------------------------------------------ 
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/doc/namelists/namthd_pnd

    r12720 r12832  
    22&namthd_pnd     !   Melt ponds 
    33!------------------------------------------------------------------------------ 
    4    ln_pnd           = .false.         !  activate melt ponds or not 
    5      ln_pnd_H12     = .false.         !  activate evolutive melt ponds (from Flocco et al 2007,2010 & Holland et al 2012) 
    6        ln_pnd_lids  = .true.          !  ponds with frozen lids 
    7        ln_pnd_flush = .true.          !  ponds flushing trhu the ice   
    8        rn_apnd_min  =   0.15          !  minimum ice fraction that contributes to melt pond. range: 0.0 -- 0.15 ?? 
    9        rn_apnd_max  =   0.85          !  maximum ice fraction that contributes to melt pond. range: 0.7 -- 0.85 ?? 
    10      ln_pnd_CST     = .false.         !  activate constant  melt ponds 
    11        rn_apnd      =   0.2           !     prescribed pond fraction, at Tsu=0 degC 
    12        rn_hpnd      =   0.05          !     prescribed pond depth,    at Tsu=0 degC 
    13      ln_pnd_alb     = .false.         !  melt ponds affect albedo or not 
     4   ln_pnd            = .false.        !  activate melt ponds or not 
     5      ln_pnd_LEV     = .false.        !  level ice melt ponds (from Flocco et al 2007,2010 & Holland et al 2012) 
     6         rn_apnd_min =   0.15         !     minimum ice fraction that contributes to melt pond. range: 0.0 -- 0.15 ?? 
     7         rn_apnd_max =   0.85         !     maximum ice fraction that contributes to melt pond. range: 0.7 -- 0.85 ?? 
     8      ln_pnd_CST     = .false.        !  constant  melt ponds 
     9         rn_apnd     =   0.2          !     prescribed pond fraction, at Tsu=0 degC 
     10         rn_hpnd     =   0.05         !     prescribed pond depth,    at Tsu=0 degC 
     11      ln_pnd_lids    = .true.         !  frozen lids on top of the ponds (only for ln_pnd_LEV) 
     12      ln_pnd_alb     = .true.         !  effect of melt ponds on ice albedo 
    1413/ 
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/src/ICE/ice.F90

    r12741 r12832  
    195195   !                                     !!** ice-ponds namelist (namthd_pnd) 
    196196   LOGICAL , PUBLIC ::   ln_pnd           !: Melt ponds (T) or not (F) 
    197    LOGICAL , PUBLIC ::   ln_pnd_H12       !: Melt ponds scheme from Holland et al (2012), Flocco et al (2007, 2010) 
    198    LOGICAL,  PUBLIC ::   ln_pnd_lids      !: Allow ponds to have frozen lids 
    199    LOGICAL,  PUBLIC ::   ln_pnd_flush     !: Allow ponds to flush thru the ice 
     197   LOGICAL , PUBLIC ::   ln_pnd_LEV       !: Melt ponds scheme from Holland et al (2012), Flocco et al (2007, 2010) 
    200198   REAL(wp), PUBLIC ::   rn_apnd_min      !: Minimum ice fraction that contributes to melt ponds 
    201199   REAL(wp), PUBLIC ::   rn_apnd_max      !: Maximum ice fraction that contributes to melt ponds 
     
    203201   REAL(wp), PUBLIC ::   rn_apnd          !: prescribed pond fraction (0<rn_apnd<1) 
    204202   REAL(wp), PUBLIC ::   rn_hpnd          !: prescribed pond depth    (0<rn_hpnd<1) 
     203   LOGICAL,  PUBLIC ::   ln_pnd_lids      !: Allow ponds to have frozen lids 
    205204   LOGICAL , PUBLIC ::   ln_pnd_alb       !: melt ponds affect albedo 
    206205 
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/src/ICE/icealb.F90

    r12785 r12832  
    107107      REAL(wp) ::   zalb_snw, zafrac_snw      ! snow-covered sea ice albedo & relative snow fraction 
    108108      REAL(wp) ::   zalb_cs, zalb_os          ! albedo of ice under clear/overcast sky 
     109      REAL(wp) ::   zhs_min = 0.1_wp          ! minimum snow thickness to fully shade melt ponds and ice  
     110      REAL(wp) ::   z1_hsmin 
    109111      !!--------------------------------------------------------------------- 
    110112      ! 
     
    120122         DO jj = 1, jpj 
    121123            DO ji = 1, jpi 
     124               ! 
    122125               !---------------------------------------------! 
    123126               !--- Specific snow, ice and pond fractions ---! 
    124127               !---------------------------------------------!                
    125                IF( ph_snw(ji,jj,jl) == 0._wp ) THEN   !--- no snow : we prevent melt ponds and snow at the same time (for now) 
    126                   zafrac_snw = 0._wp 
    127                   IF( ld_pnd_alb ) THEN 
    128                      zafrac_pnd = pafrac_pnd(ji,jj,jl) 
    129                   ELSE 
    130                      zafrac_pnd = 0._wp 
    131                   ENDIF 
    132                   zafrac_ice = 1._wp - zafrac_pnd 
     128               IF( ph_snw(ji,jj,jl) < zhs_min ) THEN   !--- thin snow partially shades melt ponds and ice 
     129                  IF( ld_pnd_alb ) THEN   ;   zafrac_pnd = pafrac_pnd(ji,jj,jl) 
     130                  ELSE                    ;   zafrac_pnd = 0._wp   ;   ENDIF 
     131                  zafrac_snw = MAX( 0._wp, ( ph_snw(ji,jj,jl) * z1_hsmin ) * ( 1._wp - zafrac_pnd ) ) ! max for roundoff errors 
     132                  zafrac_ice = MAX( 0._wp, 1._wp - zafrac_pnd - zafrac_snw )                          ! max for roundoff errors 
    133133               ELSE 
    134                   zafrac_snw = 1._wp                  !--- snow : fully "shades" melt ponds and ice 
     134                  zafrac_snw = 1._wp                   !--- thick snow fully shades melt ponds and ice 
    135135                  zafrac_pnd = 0._wp 
    136136                  zafrac_ice = 0._wp 
     
    144144                  zalb_ice = rn_alb_idry 
    145145               ELSE 
    146                   IF( ph_snw(ji,jj,jl) == 0._wp .AND. pt_su(ji,jj,jl) >= rt0 ) THEN  ;   zalb_ice = rn_alb_imlt 
    147                   ELSE                                                               ;   zalb_ice = rn_alb_idry   ;   ENDIF 
     146                  IF( ph_snw(ji,jj,jl) == 0._wp .AND. pt_su(ji,jj,jl) >= rt0 ) THEN   ;   zalb_ice = rn_alb_imlt 
     147                  ELSE                                                                ;   zalb_ice = rn_alb_idry   ;   ENDIF 
    148148               ENDIF 
    149149               !                       !--- Bare ice albedo (for hi < 150cm) 
     
    161161               ENDIF 
    162162               !                       !--- Ponded ice albedo 
    163                IF( ld_pnd_alb ) THEN 
    164                   zalb_pnd = rn_alb_dpnd - ( rn_alb_dpnd - zalb_ice ) * EXP( - ph_pnd(ji,jj,jl) * z1_href_pnd )  
    165                ELSE 
    166                   zalb_pnd = rn_alb_dpnd 
    167                ENDIF 
     163               zalb_pnd = rn_alb_dpnd - ( rn_alb_dpnd - zalb_ice ) * EXP( - ph_pnd(ji,jj,jl) * z1_href_pnd )  
     164               ! 
    168165               !                       !--- Surface albedo is weighted mean of snow, ponds and bare ice contributions 
    169166               zalb_os = ( zafrac_snw * zalb_snw + zafrac_pnd * zalb_pnd + zafrac_ice * zalb_ice ) * tmask(ji,jj,1) 
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/src/ICE/icedyn_adv_pra.F90

    r12816 r12832  
    160160               z0ei(:,:,jk,jl) = pe_i(:,:,jk,jl) * e1e2t(:,:) ! Ice  heat content 
    161161            END DO 
    162             IF ( ln_pnd_H12 ) THEN 
     162            IF ( ln_pnd_LEV ) THEN 
    163163               z0ap(:,:,jl) = pa_ip(:,:,jl) * e1e2t(:,:)      ! Melt pond fraction 
    164164               z0vp(:,:,jl) = pv_ip(:,:,jl) * e1e2t(:,:)      ! Melt pond volume 
     
    196196            END DO 
    197197            ! 
    198             IF ( ln_pnd_H12 ) THEN 
     198            IF ( ln_pnd_LEV ) THEN 
    199199               CALL adv_x( zdt , zudy , 1._wp , zarea , z0ap , sxap , sxxap , syap , syyap , sxyap )    !--- melt pond fraction 
    200200               CALL adv_y( zdt , zvdx , 0._wp , zarea , z0ap , sxap , sxxap , syap , syyap , sxyap )  
     
    231231                  &                                 sxxe(:,:,jk,:), sye(:,:,jk,:), syye(:,:,jk,:), sxye(:,:,jk,:) ) 
    232232            END DO 
    233             IF ( ln_pnd_H12 ) THEN 
     233            IF ( ln_pnd_LEV ) THEN 
    234234               CALL adv_y( zdt , zvdx , 1._wp , zarea , z0ap , sxap , sxxap , syap , syyap , sxyap )    !--- melt pond fraction 
    235235               CALL adv_x( zdt , zudy , 0._wp , zarea , z0ap , sxap , sxxap , syap , syyap , sxyap ) 
     
    257257               pe_i(:,:,jk,jl) = z0ei(:,:,jk,jl) * r1_e1e2t(:,:) * tmask(:,:,1) 
    258258            END DO 
    259             IF ( ln_pnd_H12 ) THEN 
     259            IF ( ln_pnd_LEV ) THEN 
    260260               pa_ip(:,:,jl) = z0ap(:,:,jl) * r1_e1e2t(:,:) * tmask(:,:,1) 
    261261               pv_ip(:,:,jl) = z0vp(:,:,jl) * r1_e1e2t(:,:) * tmask(:,:,1) 
     
    668668                  !                               ! -- check h_ip -- ! 
    669669                  ! if h_ip is larger than the surrounding 9 pts => reduce h_ip and increase a_ip 
    670                   IF( ln_pnd_H12 .AND. pv_ip(ji,jj,jl) > 0._wp ) THEN 
     670                  IF( ln_pnd_LEV .AND. pv_ip(ji,jj,jl) > 0._wp ) THEN 
    671671                     zhip = pv_ip(ji,jj,jl) / MAX( epsi20, pa_ip(ji,jj,jl) ) 
    672672                     IF( zhip > phip_max(ji,jj,jl) .AND. pa_ip(ji,jj,jl) < 0.15 ) THEN 
     
    869869            END DO 
    870870            ! 
    871             IF( ln_pnd_H12 ) THEN                                    ! melt pond fraction 
     871            IF( ln_pnd_LEV ) THEN                                    ! melt pond fraction 
    872872               IF( iom_varid( numror, 'sxap', ldstop = .FALSE. ) > 0 ) THEN 
    873873                  CALL iom_get( numrir, jpdom_autoglo, 'sxap' , sxap  ) 
     
    911911            sxc0  = 0._wp   ;   syc0  = 0._wp   ;   sxxc0  = 0._wp   ;   syyc0  = 0._wp   ;   sxyc0  = 0._wp      ! snow layers heat content 
    912912            sxe   = 0._wp   ;   sye   = 0._wp   ;   sxxe   = 0._wp   ;   syye   = 0._wp   ;   sxye   = 0._wp      ! ice layers heat content 
    913             IF( ln_pnd_H12 ) THEN 
     913            IF( ln_pnd_LEV ) THEN 
    914914               sxap = 0._wp ;   syap = 0._wp    ;   sxxap = 0._wp    ;   syyap = 0._wp    ;   sxyap = 0._wp       ! melt pond fraction 
    915915               sxvp = 0._wp ;   syvp = 0._wp    ;   sxxvp = 0._wp    ;   syyvp = 0._wp    ;   sxyvp = 0._wp       ! melt pond volume 
     
    979979         END DO 
    980980         ! 
    981          IF( ln_pnd_H12 ) THEN                                       ! melt pond fraction 
     981         IF( ln_pnd_LEV ) THEN                                       ! melt pond fraction 
    982982            CALL iom_rstput( iter, nitrst, numriw, 'sxap' , sxap  ) 
    983983            CALL iom_rstput( iter, nitrst, numriw, 'syap' , syap  ) 
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/src/ICE/icedyn_adv_umx.F90

    r12744 r12832  
    325325         ! 
    326326         !== melt ponds ==! 
    327          IF ( ln_pnd_H12 ) THEN 
     327         IF ( ln_pnd_LEV ) THEN 
    328328            ! concentration 
    329329            zamsk = 1._wp 
     
    15581558                  !                               ! -- check h_ip -- ! 
    15591559                  ! if h_ip is larger than the surrounding 9 pts => reduce h_ip and increase a_ip 
    1560                   IF( ln_pnd_H12 .AND. pv_ip(ji,jj,jl) > 0._wp ) THEN 
     1560                  IF( ln_pnd_LEV .AND. pv_ip(ji,jj,jl) > 0._wp ) THEN 
    15611561                     zhip = pv_ip(ji,jj,jl) / MAX( epsi20, pa_ip(ji,jj,jl) ) 
    15621562                     IF( zhip > phip_max(ji,jj,jl) .AND. pa_ip(ji,jj,jl) < 0.15 ) THEN 
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/src/ICE/icedyn_rdgrft.F90

    r12744 r12832  
    565565               oirft2(ji) = oa_i_2d(ji,jl1)   * afrft * hi_hrft  
    566566 
    567                IF ( ln_pnd_H12 ) THEN 
     567               IF ( ln_pnd_LEV ) THEN 
    568568                  aprdg1     = a_ip_2d(ji,jl1) * afrdg 
    569569                  aprdg2(ji) = a_ip_2d(ji,jl1) * afrdg * hi_hrdg(ji,jl1) 
     
    602602               sv_i_2d(ji,jl1) = sv_i_2d(ji,jl1) - sirdg1    - sirft(ji) 
    603603               oa_i_2d(ji,jl1) = oa_i_2d(ji,jl1) - oirdg1    - oirft1 
    604                IF ( ln_pnd_H12 ) THEN 
     604               IF ( ln_pnd_LEV ) THEN 
    605605                  a_ip_2d(ji,jl1) = a_ip_2d(ji,jl1) - aprdg1    - aprft1 
    606606                  v_ip_2d(ji,jl1) = v_ip_2d(ji,jl1) - vprdg(ji) - vprft(ji) 
     
    699699                  v_s_2d (ji,jl2) = v_s_2d (ji,jl2) + ( vsrdg (ji) * rn_fsnwrdg * fvol(ji)  +  & 
    700700                     &                                  vsrft (ji) * rn_fsnwrft * zswitch(ji) ) 
    701                   IF ( ln_pnd_H12 ) THEN 
     701                  IF ( ln_pnd_LEV ) THEN 
    702702                     v_ip_2d (ji,jl2) = v_ip_2d(ji,jl2) + (   vprdg (ji) * rn_fpndrdg * fvol   (ji)   & 
    703703                        &                                   + vprft (ji) * rn_fpndrft * zswitch(ji)   ) 
     
    705705                        &                                   + aprft2(ji) * rn_fpndrft * zswitch(ji)   ) 
    706706                     IF ( ln_pnd_lids ) THEN 
    707                         v_il_2d (ji,jl2) = v_il_2d(ji,jl2) + (   vlrdg (ji) * rn_fpndrdg * fvol   (ji)  & 
    708                            &                                   + vlrft (ji) * rn_fpndrft * zswitch(ji)  ) 
     707                        v_il_2d (ji,jl2) = v_il_2d(ji,jl2) + (   vlrdg(ji) * rn_fpndrdg * fvol   (ji) & 
     708                           &                                   + vlrft(ji) * rn_fpndrft * zswitch(ji) ) 
    709709                     ENDIF 
    710710                  ENDIF 
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/src/ICE/iceitd.F90

    r12744 r12832  
    304304            IF ( a_i_1d(ji) > epsi10 .AND. h_i_1d(ji) < rn_himin ) THEN 
    305305               a_i_1d(ji) = a_i_1d(ji) * h_i_1d(ji) / rn_himin  
    306                IF( ln_pnd_H12 )   a_ip_1d(ji) = a_ip_1d(ji) * h_i_1d(ji) / rn_himin 
     306               IF( ln_pnd_LEV )   a_ip_1d(ji) = a_ip_1d(ji) * h_i_1d(ji) / rn_himin 
    307307               h_i_1d(ji) = rn_himin 
    308308            ENDIF 
     
    475475               zaTsfn(ji,jl2)  = zaTsfn(ji,jl2) + ztrans 
    476476               !   
    477                IF ( ln_pnd_H12 ) THEN 
     477               IF ( ln_pnd_LEV ) THEN 
    478478                  ztrans          = a_ip_2d(ji,jl1) * zworka(ji)     ! Pond fraction 
    479479                  a_ip_2d(ji,jl1) = a_ip_2d(ji,jl1) - ztrans 
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/src/ICE/icevar.F90

    r12744 r12832  
    680680      WHERE( pe_i (1:npti,:,:) < 0._wp .AND. pe_i (1:npti,:,:) > -epsi06 )   pe_i (1:npti,:,:) = 0._wp   !  e_i must be >= 0 
    681681      WHERE( pe_s (1:npti,:,:) < 0._wp .AND. pe_s (1:npti,:,:) > -epsi06 )   pe_s (1:npti,:,:) = 0._wp   !  e_s must be >= 0 
    682       IF( ln_pnd_H12 ) THEN 
     682      IF( ln_pnd_LEV ) THEN 
    683683         WHERE( pa_ip(1:npti,:) < 0._wp .AND. pa_ip(1:npti,:) > -epsi10 )    pa_ip(1:npti,:)   = 0._wp   ! a_ip must be >= 0 
    684684         WHERE( pv_ip(1:npti,:) < 0._wp .AND. pv_ip(1:npti,:) > -epsi10 )    pv_ip(1:npti,:)   = 0._wp   ! v_ip must be >= 0 
Note: See TracChangeset for help on using the changeset viewer.