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 8313 for branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC – NEMO

Ignore:
Timestamp:
2017-07-10T20:24:21+02:00 (7 years ago)
Author:
clem
Message:

STEP2 (2): remove obsolete features

Location:
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/ASM/asmbkg.F90

    r8306 r8313  
    146146            CALL iom_rstput( kt, nitdin_r, inum, 'sshn'   , sshn              ) 
    147147#if defined key_lim3 
    148             IF( nn_ice == 2  .OR.  nn_ice == 3 ) THEN 
    149                IF( ALLOCATED(frld) ) THEN 
    150                   CALL iom_rstput( kt, nitdin_r, inum, 'iceconc', 1._wp - frld(:,:)   ) 
     148            IF( nn_ice == 3 ) THEN 
     149               IF( ALLOCATED(at_i) ) THEN 
     150                  CALL iom_rstput( kt, nitdin_r, inum, 'iceconc', at_i(:,:)   ) 
    151151               ELSE 
    152                   CALL ctl_warn('Ice concentration not written to background as ice variable frld not allocated on this timestep') 
     152                  CALL ctl_warn('Ice concentration not written to background as ice variable at_i not allocated on this timestep') 
    153153               ENDIF 
    154154            ENDIF 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90

    r8306 r8313  
    3636   USE lib_mpp          ! MPP library 
    3737#if defined key_lim3 
    38    USE ice,   ONLY: htm_i, at_i, pfrld, phicif 
     38   USE ice,   ONLY: htm_i, at_i, at_i_b 
    3939#endif 
    4040   USE sbc_oce          ! Surface boundary condition variables. 
     
    837837            zohicif(:,:) = htm_i(:,:) 
    838838            ! 
    839             at_i(:,:) = 1. - MIN( MAX( 1.-at_i(:,:) - seaice_bkginc(:,:) * zincwgt, 0.0_wp), 1.0_wp) 
    840             pfrld     =      MIN( MAX( pfrld(:,:)  - seaice_bkginc(:,:) * zincwgt, 0.0_wp), 1.0_wp) 
     839            at_i  (:,:) = 1. - MIN( MAX( 1.-at_i  (:,:) - seaice_bkginc(:,:) * zincwgt, 0.0_wp), 1.0_wp) 
     840            at_i_b(:,:) = 1. - MIN( MAX( 1.-at_i_b(:,:) - seaice_bkginc(:,:) * zincwgt, 0.0_wp), 1.0_wp) 
    841841            fr_i(:,:) = at_i(:,:)        ! adjust ice fraction 
    842842            ! 
     
    852852            ! nudge ice depth 
    853853            htm_i (:,:) = htm_i (:,:) + zhicifinc(:,:) 
    854             phicif(:,:) = phicif(:,:) + zhicifinc(:,:)        
    855854            ! 
    856855            ! seaice salinity balancing (to add) 
     
    889888            ! Initialize the now fields the background + increment 
    890889            at_i(:,:) = 1. - MIN( MAX( 1.-at_i(:,:) - seaice_bkginc(:,:), 0.0_wp), 1.0_wp) 
    891             pfrld(:,:) = 1.-at_i(:,:)  
     890            at_i_b(:,:) = at_i(:,:)  
    892891            fr_i(:,:) = at_i(:,:)        ! adjust ice fraction 
    893892            ! 
     
    903902            ! nudge ice depth 
    904903            htm_i (:,:) = htm_i (:,:) + zhicifinc(:,:) 
    905             phicif(:,:) = phicif(:,:)        
    906904            ! 
    907905            ! seaice salinity balancing (to add) 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg.F90

    r7753 r8313  
    8989      IF(      ln_apr_dyn                                                &   ! atmos. pressure 
    9090         .OR.  ( .NOT.ln_dynspg_ts .AND. (ln_tide_pot .AND. ln_tide) )   &   ! tide potential (no time slitting) 
    91          .OR.  nn_ice_embd == 2  ) THEN                                      ! embedded sea-ice 
     91         .OR.  ln_ice_embd ) THEN                                            ! embedded sea-ice 
    9292         ! 
    9393         DO jj = 2, jpjm1 
     
    123123         ENDIF 
    124124         ! 
    125          IF( nn_ice_embd == 2 ) THEN          !== embedded sea ice: Pressure gradient due to snow-ice mass ==! 
     125         IF( ln_ice_embd ) THEN          !== embedded sea ice: Pressure gradient due to snow-ice mass ==! 
    126126            CALL wrk_alloc( jpi,jpj,   zpice ) 
    127127            !                                             
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90

    r8306 r8313  
    539539#if defined  key_lim3 
    540540      USE ice, ONLY : &            ! LIM3 Ice model variables 
    541          & frld 
     541         & at_i 
    542542#endif 
    543543      IMPLICIT NONE 
     
    564564         & zgphi2                  ! Model latitudes for prof variable 2 
    565565#if ! defined key_lim3 
    566       REAL(wp), POINTER, DIMENSION(:,:) :: frld 
     566      REAL(wp), POINTER, DIMENSION(:,:) :: at_i 
    567567#endif 
    568568      LOGICAL :: llnightav        ! Logical for calculating night-time average 
     
    579579      CALL wrk_alloc( jpi, jpj, zgphi2 ) 
    580580#if ! defined key_lim3 
    581       CALL wrk_alloc(jpi,jpj,frld)  
     581      CALL wrk_alloc(jpi,jpj,at_i)  
    582582#endif 
    583583 
     
    591591 
    592592      !----------------------------------------------------------------------- 
    593       ! No LIM => frld == 0.0_wp 
     593      ! No LIM => at_i == 0.0_wp 
    594594      !----------------------------------------------------------------------- 
    595595#if ! defined key_lim3 
    596       frld(:,:) = 0.0_wp 
     596      at_i(:,:) = 0.0_wp 
    597597#endif 
    598598      !----------------------------------------------------------------------- 
     
    674674                  CYCLE 
    675675               ELSE 
    676                   zsurfvar(:,:) = 1._wp - frld(:,:) 
     676                  zsurfvar(:,:) = at_i(:,:) 
    677677               ENDIF 
    678678 
     
    699699      CALL wrk_dealloc( jpi, jpj, zgphi2 ) 
    700700#if ! defined key_lim3 
    701       CALL wrk_dealloc(jpi,jpj,frld) 
     701      CALL wrk_dealloc(jpi,jpj,at_i) 
    702702#endif 
    703703 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90

    r7788 r8313  
    4747   LOGICAL , PUBLIC ::   ln_apr_dyn     !: Atmospheric pressure forcing used on dynamics (ocean & ice) 
    4848   INTEGER , PUBLIC ::   nn_ice         !: flag for ice in the surface boundary condition (=0/1/2/3) 
    49    INTEGER , PUBLIC ::   nn_ice_embd    !: flag for levitating/embedding sea-ice in the ocean 
    50    !                                             !: =0 levitating ice (no mass exchange, concentration/dilution effect) 
    51    !                                             !: =1 levitating ice with mass and salt exchange but no presure effect 
    52    !                                             !: =2 embedded sea-ice (full salt and mass exchanges and pressure) 
     49   LOGICAL , PUBLIC ::   ln_ice_embd    !: flag for levitating/embedding sea-ice in the ocean 
     50   !                                             !: =F levitating ice with mass and salt exchange but no presure effect 
     51   !                                             !: =T embedded sea-ice (full salt and mass exchanges and pressure) 
    5352   INTEGER , PUBLIC ::   nn_components  !: flag for sbc module (including sea-ice) coupling mode (see component definition below)  
    5453   INTEGER , PUBLIC ::   nn_limflx      !: LIM3 Multi-category heat flux formulation 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk.F90

    r8306 r8313  
    4040   USE lib_fortran    ! to use key_nosignedzero 
    4141#if defined key_lim3 
    42    USE ice     , ONLY :   u_ice, v_ice, jpl, pfrld, a_i_b, at_i_b 
     42   USE ice     , ONLY :   u_ice, v_ice, jpl, a_i_b, at_i_b 
    4343   USE limthd_dh      ! for CALL lim_thd_snwblow 
    4444#endif 
     
    789789      ! --- evaporation minus precipitation --- ! 
    790790      zsnw(:,:) = 0._wp 
    791       CALL lim_thd_snwblow( pfrld, zsnw )  ! snow distribution over ice after wind blowing 
    792       emp_oce(:,:) = pfrld(:,:) * zevap(:,:) - ( tprecip(:,:) - sprecip(:,:) ) - sprecip(:,:) * (1._wp - zsnw ) 
     791      CALL lim_thd_snwblow( (1.-at_i_b(:,:)), zsnw )  ! snow distribution over ice after wind blowing 
     792      emp_oce(:,:) = ( 1._wp - at_i_b(:,:) ) * zevap(:,:) - ( tprecip(:,:) - sprecip(:,:) ) - sprecip(:,:) * (1._wp - zsnw ) 
    793793      emp_ice(:,:) = SUM( a_i_b(:,:,:) * evap_ice(:,:,:), dim=3 ) - sprecip(:,:) * zsnw 
    794794      emp_tot(:,:) = emp_oce(:,:) + emp_ice(:,:) 
    795795 
    796796      ! --- heat flux associated with emp --- ! 
    797       qemp_oce(:,:) = - pfrld(:,:) * zevap(:,:) * sst_m(:,:) * rcp                               & ! evap at sst 
     797      qemp_oce(:,:) = - ( 1._wp - at_i_b(:,:) ) * zevap(:,:) * sst_m(:,:) * rcp                  & ! evap at sst 
    798798         &          + ( tprecip(:,:) - sprecip(:,:) ) * ( sf(jp_tair)%fnow(:,:,1) - rt0 ) * rcp  & ! liquid precip at Tair 
    799799         &          +   sprecip(:,:) * ( 1._wp - zsnw ) *                                        & ! solid precip at min(Tair,Tsnow) 
     
    803803 
    804804      ! --- total solar and non solar fluxes --- ! 
    805       qns_tot(:,:) = pfrld(:,:) * qns_oce(:,:) + SUM( a_i_b(:,:,:) * qns_ice(:,:,:), dim=3 ) + qemp_ice(:,:) + qemp_oce(:,:) 
    806       qsr_tot(:,:) = pfrld(:,:) * qsr_oce(:,:) + SUM( a_i_b(:,:,:) * qsr_ice(:,:,:), dim=3 ) 
     805      qns_tot(:,:) = ( 1._wp - at_i_b(:,:) ) * qns_oce(:,:) + SUM( a_i_b(:,:,:) * qns_ice(:,:,:), dim=3 )  & 
     806         &           + qemp_ice(:,:) + qemp_oce(:,:) 
     807      qsr_tot(:,:) = ( 1._wp - at_i_b(:,:) ) * qsr_oce(:,:) + SUM( a_i_b(:,:,:) * qsr_ice(:,:,:), dim=3 ) 
    807808 
    808809      ! --- heat content of precip over ice in J/m3 (to be used in 1D-thermo) --- ! 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r8306 r8313  
    15571557      !! 
    15581558      !! ** Details 
    1559       !!             qns_tot = pfrld * qns_oce + ( 1 - pfrld ) * qns_ice   => provided 
     1559      !!             qns_tot = (1-a) * qns_oce + a * qns_ice               => provided 
    15601560      !!                     + qemp_oce + qemp_ice                         => recalculated and added up to qns 
    15611561      !! 
    1562       !!             qsr_tot = pfrld * qsr_oce + ( 1 - pfrld ) * qsr_ice   => provided 
     1562      !!             qsr_tot = (1-a) * qsr_oce + a * qsr_ice               => provided 
    15631563      !! 
    15641564      !!             emp_tot = emp_oce + emp_ice                           => calving is provided and added to emp_tot (and emp_oce). 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    r7646 r8313  
    230230      CALL lbc_lnk ( fr_iv , 'V', 1. ) 
    231231 
    232       !                                      ! embedded sea ice 
    233       IF( nn_ice_embd /= 0 ) THEN            ! mass exchanges between ice and ocean (case 1 or 2) set the snow+ice mass 
    234          CALL cice2nemo(vsno(:,:,:),ztmp1,'T', 1. ) 
    235          CALL cice2nemo(vice(:,:,:),ztmp2,'T', 1. ) 
    236          snwice_mass  (:,:) = ( rhosn * ztmp1(:,:) + rhoic * ztmp2(:,:)  ) 
    237          snwice_mass_b(:,:) = snwice_mass(:,:) 
    238       ELSE 
    239          snwice_mass  (:,:) = 0.0_wp         ! no mass exchanges 
    240          snwice_mass_b(:,:) = 0.0_wp         ! no mass exchanges 
    241       ENDIF 
     232      ! set the snow+ice mass 
     233      CALL cice2nemo(vsno(:,:,:),ztmp1,'T', 1. ) 
     234      CALL cice2nemo(vice(:,:,:),ztmp2,'T', 1. ) 
     235      snwice_mass  (:,:) = ( rhosn * ztmp1(:,:) + rhoic * ztmp2(:,:)  ) 
     236      snwice_mass_b(:,:) = snwice_mass(:,:) 
     237 
    242238      IF( .NOT.ln_rstart ) THEN 
    243          IF( nn_ice_embd == 2 ) THEN            ! full embedment (case 2) deplete the initial ssh below sea-ice area 
     239         IF( ln_ice_embd ) THEN            ! embedded sea-ice: deplete the initial ssh below sea-ice area 
    244240            sshn(:,:) = sshn(:,:) - snwice_mass(:,:) * r1_rau0 
    245241            sshb(:,:) = sshb(:,:) - snwice_mass(:,:) * r1_rau0 
     
    473469      CALL nemo2cice(ztmp,vocn,'F', -1. ) 
    474470 
    475       IF( nn_ice_embd == 2 ) THEN             !== embedded sea ice: compute representative ice top surface ==! 
     471      IF( ln_ice_embd ) THEN             !== embedded sea ice: compute representative ice top surface ==! 
    476472          ! 
    477473          ! average interpolation coeff as used in dynspg = (1/nn_fsbc) * {SUM[n/nn_fsbc], n=0,nn_fsbc-1} 
     
    676672      CALL lbc_lnk ( fr_iv , 'V', 1. ) 
    677673 
    678       !                                      ! embedded sea ice 
    679       IF( nn_ice_embd /= 0 ) THEN            ! mass exchanges between ice and ocean (case 1 or 2) set the snow+ice mass 
    680          CALL cice2nemo(vsno(:,:,:),ztmp1,'T', 1. ) 
    681          CALL cice2nemo(vice(:,:,:),ztmp2,'T', 1. ) 
    682          snwice_mass  (:,:) = ( rhosn * ztmp1(:,:) + rhoic * ztmp2(:,:)  ) 
    683          snwice_mass_b(:,:) = snwice_mass(:,:) 
    684          snwice_fmass (:,:) = ( snwice_mass(:,:) - snwice_mass_b(:,:) ) / dt 
    685       ENDIF 
     674      ! set the snow+ice mass 
     675      CALL cice2nemo(vsno(:,:,:),ztmp1,'T', 1. ) 
     676      CALL cice2nemo(vice(:,:,:),ztmp2,'T', 1. ) 
     677      snwice_mass  (:,:) = ( rhosn * ztmp1(:,:) + rhoic * ztmp2(:,:)  ) 
     678      snwice_mass_b(:,:) = snwice_mass(:,:) 
     679      snwice_fmass (:,:) = ( snwice_mass(:,:) - snwice_mass_b(:,:) ) / dt 
    686680 
    687681! Release work space 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90

    r8312 r8313  
    196196                                      CALL sbc_lim_bef                         
    197197                                      CALL lim_var_glo2eqv     ! ht_i and ht_s for ice albedo calculation 
    198                                       CALL lim_var_agg(1)      ! at_i for coupling (via pfrld)  
    199          ! 
    200          pfrld(:,:)   = 1._wp - at_i(:,:) 
    201          phicif(:,:)  = vt_i(:,:) 
     198                                      CALL lim_var_agg(1)      ! at_i for coupling  
    202199 
    203200         !------------------------------------------------------! 
     
    221218               alb_ice(:,:,:) = ( 1. - cldf_ice ) * zalb_cs(:,:,:) + cldf_ice * zalb_os(:,:,:) 
    222219                                      CALL blk_ice_flx( t_su, alb_ice ) 
    223                IF( ln_mixcpl      )   CALL sbc_cpl_ice_flx( p_frld=pfrld, palbi=alb_ice, psst=sst_m, pist=t_su ) 
     220               IF( ln_mixcpl      )   CALL sbc_cpl_ice_flx( p_frld=(1.-at_i_b), palbi=alb_ice, psst=sst_m, pist=t_su ) 
    224221               IF( nn_limflx /= 2 )   CALL ice_lim_flx( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_limflx ) 
    225222            CASE ( jp_purecpl ) 
    226223               ! albedo depends on cloud fraction because of non-linear spectral effects 
    227224               alb_ice(:,:,:) = ( 1. - cldf_ice ) * zalb_cs(:,:,:) + cldf_ice * zalb_os(:,:,:) 
    228                                       CALL sbc_cpl_ice_flx( p_frld=pfrld, palbi=alb_ice, psst=sst_m, pist=t_su ) 
     225                                      CALL sbc_cpl_ice_flx( p_frld=(1.-at_i_b), palbi=alb_ice, psst=sst_m, pist=t_su ) 
    229226               IF( nn_limflx == 2 )   CALL ice_lim_flx( t_su, alb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_limflx ) 
    230227         END SELECT 
     
    374371      !!------------------------------------------------------------------- 
    375372      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    376       NAMELIST/namicerun/ jpl, nlay_i, nlay_s, rn_amax_n, rn_amax_s, cn_icerst_in, cn_icerst_indir,   & 
     373      NAMELIST/namicerun/ jpl, nlay_i, nlay_s, nn_monocat, rn_amax_n, rn_amax_s, cn_icerst_in, cn_icerst_indir,   & 
    377374         &                cn_icerst_out, cn_icerst_outdir, ln_limthd, ln_limdyn, nn_limdyn, rn_uice, rn_vice   
    378375      NAMELIST/namicediag/ ln_limdiachk, ln_limdiahsb, ln_limctl, iiceprt, jiceprt   
     
    401398         WRITE(numout,*) 'lim_run_init : ice share parameters for dynamics/advection/thermo of sea-ice' 
    402399         WRITE(numout,*) ' ~~~~~~' 
    403          WRITE(numout,*) '   number of ice  categories                               = ', jpl 
    404          WRITE(numout,*) '   number of ice  layers                                   = ', nlay_i 
    405          WRITE(numout,*) '   number of snow layers                                   = ', nlay_s 
    406          WRITE(numout,*) '   maximum ice concentration for NH                        = ', rn_amax_n  
    407          WRITE(numout,*) '   maximum ice concentration for SH                        = ', rn_amax_s 
    408          WRITE(numout,*) '   Ice thermodynamics (T) or not (F)            ln_limthd  = ', ln_limthd 
    409          WRITE(numout,*) '   Ice dynamics       (T) or not (F)            ln_limdyn  = ', ln_limdyn 
    410          WRITE(numout,*) '     (ln_limdyn=T) Ice dynamics switch          nn_limdyn  = ', nn_limdyn 
     400         WRITE(numout,*) '   number of ice  categories                              jpl    = ', jpl 
     401         WRITE(numout,*) '   number of ice  layers                                  nlay_i = ', nlay_i 
     402         WRITE(numout,*) '   number of snow layers                                  nlay_s = ', nlay_s 
     403         WRITE(numout,*) '   virtual ITD mono-category param (1-4) or not (0)   nn_monocat = ', nn_monocat 
     404         WRITE(numout,*) '   maximum ice concentration for NH                              = ', rn_amax_n  
     405         WRITE(numout,*) '   maximum ice concentration for SH                              = ', rn_amax_s 
     406         WRITE(numout,*) '   Ice thermodynamics (T) or not (F)                  ln_limthd  = ', ln_limthd 
     407         WRITE(numout,*) '   Ice dynamics       (T) or not (F)                  ln_limdyn  = ', ln_limdyn 
     408         WRITE(numout,*) '     (ln_limdyn=T) Ice dynamics switch                nn_limdyn  = ', nn_limdyn 
    411409         WRITE(numout,*) '       2: total' 
    412410         WRITE(numout,*) '       1: advection only (no diffusion, no ridging/rafting)' 
    413411         WRITE(numout,*) '       0: advection only (as 1 + prescribed velocity, bypass rheology)' 
    414          WRITE(numout,*) '     (ln_limdyn=T) prescribed u-vel (case nn_limdyn=0)     = ', rn_uice 
    415          WRITE(numout,*) '     (ln_limdyn=T) prescribed v-vel (case nn_limdyn=0)     = ', rn_vice 
     412         WRITE(numout,*) '     (ln_limdyn=T) prescribed u-vel (case nn_limdyn=0)           = ', rn_uice 
     413         WRITE(numout,*) '     (ln_limdyn=T) prescribed v-vel (case nn_limdyn=0)           = ', rn_vice 
    416414         WRITE(numout,*) 
    417415         WRITE(numout,*) '...and ice diagnostics' 
     
    424422      ENDIF 
    425423      ! 
     424      IF ( ( jpl > 1 ) .AND. ( nn_monocat == 1 ) ) THEN 
     425         nn_monocat = 0 
     426         IF(lwp) WRITE(numout,*) 
     427         IF(lwp) WRITE(numout,*) '   nn_monocat forced to 0 as jpl>1, i.e. multi-category case is chosen' 
     428      ENDIF 
     429      IF ( ( jpl == 1 ) .AND. ( nn_monocat == 0 ) ) THEN 
     430         CALL ctl_stop( 'STOP', 'lim_run_init : if jpl=1 then nn_monocat should be between 1 and 4' ) 
     431      ENDIF 
     432      ! 
    426433      ! sea-ice timestep and inverse 
    427434      rdt_ice   = REAL(nn_fsbc) * rdt   
     
    449456      !!------------------------------------------------------------------- 
    450457      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    451       NAMELIST/namiceitd/ nn_catbnd, rn_himean 
     458      NAMELIST/namiceitd/ rn_himean 
    452459      ! 
    453460      INTEGER  ::   jl                   ! dummy loop index 
     
    469476         WRITE(numout,*) 'lim_itd_init : Initialization of ice cat distribution ' 
    470477         WRITE(numout,*) '~~~~~~~~~~~~' 
    471          WRITE(numout,*) '   shape of ice categories distribution                          nn_catbnd = ', nn_catbnd 
    472          WRITE(numout,*) '   mean ice thickness in the domain (only active if nn_catbnd=2) rn_himean = ', rn_himean 
     478         WRITE(numout,*) '   mean ice thickness in the domain            rn_himean = ', rn_himean 
    473479      ENDIF 
    474480      ! 
     
    479485      hi_max(:) = 0._wp 
    480486      ! 
    481       SELECT CASE ( nn_catbnd  )    ! type of ice categories distribution 
    482       ! 
    483       CASE (1)                            !==  tanh function (CICE)  ==! 
    484          zc1 =  3._wp / REAL( jpl, wp ) 
    485          zc2 = 10._wp * zc1 
    486          zc3 =  3._wp 
    487          DO jl = 1, jpl 
    488             zx1 = REAL( jl-1, wp ) / REAL( jpl, wp ) 
    489             hi_max(jl) = hi_max(jl-1) + zc1 + zc2 * (1._wp + TANH( zc3 * (zx1 - 1._wp ) ) ) 
    490          END DO 
    491          ! 
    492       CASE (2)                            !==  h^(-alpha) function  ==! 
    493          zalpha = 0.05_wp 
    494          zhmax  = 3._wp * rn_himean 
    495          DO jl = 1, jpl 
    496             znum = jpl * ( zhmax+1 )**zalpha 
    497             zden = REAL( jpl-jl , wp ) * ( zhmax + 1._wp )**zalpha + REAL( jl , wp ) 
    498             hi_max(jl) = ( znum / zden )**(1./zalpha) - 1 
    499          END DO 
    500          ! 
    501       END SELECT 
     487      !==  h^(-alpha) function  ==! 
     488      zalpha = 0.05_wp 
     489      zhmax  = 3._wp * rn_himean 
     490      DO jl = 1, jpl 
     491         znum = jpl * ( zhmax+1 )**zalpha 
     492         zden = REAL( jpl-jl , wp ) * ( zhmax + 1._wp )**zalpha + REAL( jl , wp ) 
     493         hi_max(jl) = ( znum / zden )**(1./zalpha) - 1 
     494      END DO 
     495      ! 
    502496      ! 
    503497      DO jl = 1, jpl                ! mean thickness by category 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r8306 r8313  
    9090         &             ln_usr   , ln_flx   , ln_blk       ,                          & 
    9191         &             ln_cpl   , ln_mixcpl, nn_components, nn_limflx,               & 
    92          &             nn_ice   , nn_ice_embd,                                       & 
     92         &             nn_ice   , ln_ice_embd,                                       & 
    9393         &             ln_traqsr, ln_dm2dc ,                                         & 
    9494         &             ln_rnf   , nn_fwb   , ln_ssr   , ln_isf    , ln_apr_dyn ,     & 
     
    139139         WRITE(numout,*) '         Multicategory heat flux formulation (LIM3) nn_limflx     = ', nn_limflx 
    140140         WRITE(numout,*) '      Sea-ice : ' 
    141          WRITE(numout,*) '         ice management in the sbc (=0/1/2/3)       nn_ice        = ', nn_ice 
    142          WRITE(numout,*) '         ice-ocean embedded/levitating (=0/1/2)     nn_ice_embd   = ', nn_ice_embd 
     141         WRITE(numout,*) '         ice management in the sbc (=0/1/3/4)       nn_ice        = ', nn_ice 
     142         WRITE(numout,*) '         ice embedded into ocean                    ln_ice_embd   = ', ln_ice_embd 
    143143         WRITE(numout,*) '      Misc. options of sbc : ' 
    144144         WRITE(numout,*) '         Light penetration in temperature Eq.       ln_traqsr     = ', ln_traqsr 
     
    199199      CASE( 1 )                        !- Ice-cover climatology ("Ice-if" model)   
    200200      CASE( 3 )                        !- LIM3 ice model 
    201          IF( nn_ice_embd == 0            )   CALL ctl_stop( 'sbc_init : LIM3 sea-ice models require nn_ice_embd = 1 or 2' ) 
    202201      CASE( 4 )                        !- CICE ice model 
    203202         IF( .NOT.( ln_blk .OR. ln_cpl ) )   CALL ctl_stop( 'sbc_init : CICE sea-ice model requires ln_blk or ln_cpl = T' ) 
    204          IF( nn_ice_embd == 0            )   CALL ctl_stop( 'sbc_init : CICE sea-ice models require nn_ice_embd = 1 or 2' ) 
    205203         IF( lk_agrif                    )   CALL ctl_stop( 'sbc_init : CICE sea-ice model not currently available with AGRIF' )  
    206204      CASE DEFAULT                     !- not supported 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90

    r7753 r8313  
    4848   LOGICAL , PUBLIC ::   ln_qsr_2bd   !: 2 band         light absorption flag 
    4949   LOGICAL , PUBLIC ::   ln_qsr_bio   !: bio-model      light absorption flag 
    50    LOGICAL , PUBLIC ::   ln_qsr_ice   !: light penetration for ice-model LIM3 (clem) 
     50   LOGICAL , PUBLIC ::   ln_qsr_ice   !: light penetration for ice-model 
    5151   INTEGER , PUBLIC ::   nn_chldta    !: use Chlorophyll data (=1) or not (=0) 
    5252   REAL(wp), PUBLIC ::   rn_abs       !: fraction absorbed in the very near surface (RGB & 2 bands) 
Note: See TracChangeset for help on using the changeset viewer.