Ignore:
Timestamp:
2017-06-02T08:53:53+02:00 (4 years ago)
Author:
vancop
Message:

Melt pond podifications

File:
1 edited

Legend:

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

    r8106 r8125  
    8383      !!------------------------------------------------------------------- 
    8484      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    85       NAMELIST/namicemp/  ln_pnd, nn_pnd_scheme, nn_pnd_cpl, rn_apnd, rn_hpnd 
     85      NAMELIST/namicemp/  ln_pnd, ln_pnd_rad, ln_pnd_fw, nn_pnd_scheme, rn_apnd, rn_hpnd 
    8686      !!------------------------------------------------------------------- 
    8787 
     
    9595      IF(lwm) WRITE ( numoni, namicemp ) 
    9696       
    97       ! Shortcut for radiatively active melt ponds 
    98       ln_pnd_rad = ln_pnd .AND. ( ( nn_pnd_cpl == 1 ) .OR. ( nn_pnd_cpl == 2 ) ) 
    99  
    10097      IF(lwp) THEN                        ! control print 
    10198         WRITE(numout,*) 
    10299         WRITE(numout,*) 'lim_mp_init : ice parameters for melt ponds' 
    103100         WRITE(numout,*) '~~~~~~~~~~~~' 
    104          WRITE(numout,*)'    Activate melt ponds                                         ln_pnd        = ', ln_pnd 
    105          WRITE(numout,*)'    Type of melt pond scheme =0 presc, =1 empirical = 2 topo    nn_pnd_scheme = ', nn_pnd_scheme 
    106          WRITE(numout,*)'    Type of melt pond coupling =0 pass., =1 full, =2 rad, 3=fw  nn_pnd_cpl    = ', nn_pnd_cpl 
    107          WRITE(numout,*)'    Prescribed pond fraction                                    rn_apnd       = ', rn_apnd 
    108          WRITE(numout,*)'    Prescribed pond depth                                       rn_hpnd       = ', rn_hpnd 
    109          WRITE(numout,*)'    Melt ponds radiatively active                               ln_pnd_rad    = ', ln_pnd_rad 
     101         WRITE(numout,*) '   Active melt ponds                                           ln_pnd        = ', ln_pnd 
     102         WRITE(numout,*) '   Active melt ponds radiative coupling                        ln_pnd_rad    = ', ln_pnd_rad 
     103         WRITE(numout,*) '   Active melt ponds freshwater coupling                       ln_pnd_fw     = ', ln_pnd_fw 
     104         WRITE(numout,*) '   Type of melt pond scheme =0 presc, =1 empirical = 2 topo    nn_pnd_scheme = ', nn_pnd_scheme 
     105         WRITE(numout,*) '   Prescribed pond fraction                                    rn_apnd       = ', rn_apnd 
     106         WRITE(numout,*) '   Prescribed pond depth                                       rn_hpnd       = ', rn_hpnd 
    110107      ENDIF 
    111108 
     
    113110         WRITE(numout,*) 
    114111         WRITE(numout,*) ' Melt ponds are not activated ' 
    115          WRITE(numout,*) ' nn_pnd_scheme, nn_pnd_cpl, rn_apnd and rn_hpnd are set to zero ' 
     112         WRITE(numout,*) ' ln_pnd_rad and ln_pnd_fw set to .FALSE. ' 
     113         WRITE(numout,*) ' nn_pnd_scheme, rn_apnd, rn_hpnd set to zero ' 
     114         ln_pnd_rad    = .FALSE. 
     115         ln_pnd_fw     = .FALSE. 
    116116         nn_pnd_scheme = 0 
    117          nn_pnd_cpl    = 0 
    118117         rn_apnd       = 0._wp 
    119118         rn_hpnd       = 0._wp 
     119 
     120         IF(lwp) THEN                     ! control print 
     121            WRITE(numout,*) '    Active melt ponds radiative coupling                        ln_pnd_rad    = ', ln_pnd_rad 
     122            WRITE(numout,*) '    Active melt ponds freshwater coupling                       ln_pnd_fw     = ', ln_pnd_fw 
     123            WRITE(numout,*) '    Type of melt pond scheme =0 presc, =1 empirical = 2 topo    nn_pnd_scheme = ', nn_pnd_scheme 
     124            WRITE(numout,*) '    Prescribed pond fraction                                    rn_apnd       = ', rn_apnd 
     125            WRITE(numout,*) '    Prescribed pond depth                                       rn_hpnd       = ', rn_hpnd 
     126         ENDIF 
     127      ENDIF 
     128 
     129      IF ( ln_pnd .AND. ( nn_pnd_scheme == 2 ) .AND. ( jpl == 1 ) ) THEN 
     130         WRITE(numout,*) ' Topographic melt ponds are incompatible with jpl = 1 ' 
     131         WRITE(numout,*) ' Run aborted ' 
     132         CALL ctl_stop( 'STOP', 'lim_mp_init: uncompatible options, reset namelist_ice_ref ' ) 
    120133      ENDIF 
    121134 
     
    314327               h_ip(ji,jj,jl)      = 0._wp 
    315328 
    316                IF ( ( nn_pnd_cpl == 1 ) .OR. ( nn_pnd_cpl == 3 ) ) & !--- Give freshwater to the ocean 
     329               IF ( ln_pnd_fw ) & !--- Give freshwater to the ocean 
    317330                  wfx_pnd(ji,jj)   = wfx_pnd(ji,jj) + v_ip(ji,jj,jl)  
    318331 
     
    332345               !--- Dump meltwater due to refreezing ( of course this is wrong 
    333346               !--- but this parameterization is too simple ) 
    334                IF ( ( nn_pnd_cpl == 1 ) .OR. ( nn_pnd_cpl == 3 ) ) THEN 
    335  
     347               IF ( ln_pnd_fw ) & 
    336348                  wfx_pnd(ji,jj)   = wfx_pnd(ji,jj) + rhofw * ( v_ip(ji,jj,jl) - zvpold ) * r1_rdtice 
    337  
    338                ENDIF 
    339349 
    340350               a_ip_frac(ji,jj,jl) = MIN( 1._wp , SQRT( v_ip(ji,jj,jl) * z1_zpnd_aspect / a_i(ji,jj,jl) ) ) 
     
    359369       !--- Remove retained meltwater from surface fluxes  
    360370 
    361        IF ( ( nn_pnd_cpl .EQ. 1 ) .OR. ( nn_pnd_cpl .EQ. 3 ) ) THEN 
     371       IF ( ln_pnd_fw ) THEN 
    362372 
    363373           wfx_snw(:,:) = wfx_snw(:,:) *  ( 1. - zrmin - ( zrmax - zrmin ) * at_i(:,:) ) 
Note: See TracChangeset for help on using the changeset viewer.