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 4161 for branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90 – NEMO

Ignore:
Timestamp:
2013-11-07T11:01:27+01:00 (10 years ago)
Author:
cetlod
Message:

dev_LOCEAN_2013 : merge in the 3rd dev branch dev_r4028_CNRS_LIM3, see ticket #1169

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r4153 r4161  
    4242   USE sbcfwb           ! surface boundary condition: freshwater budget 
    4343   USE closea           ! closed sea 
    44    USE bdy_par          ! for lk_bdy 
    45    USE bdyice_lim2      ! unstructured open boundary data  (bdy_ice_lim_2 routine) 
    4644   USE icbstp           ! Icebergs! 
    4745 
     
    8684      NAMELIST/namsbc/ nn_fsbc   , ln_ana    , ln_flx,  ln_blk_clio, ln_blk_core, ln_cpl,   & 
    8785         &             ln_blk_mfs, ln_apr_dyn, nn_ice,  nn_ice_embd, ln_dm2dc   , ln_rnf,   & 
    88          &             ln_ssr    , nn_fwb    , ln_cdgw , ln_wave , ln_sdw 
     86         &             ln_ssr    , nn_fwb    , ln_cdgw , ln_wave , ln_sdw, cn_iceflx 
    8987      INTEGER  ::   ios 
    9088      !!---------------------------------------------------------------------- 
     
    126124         WRITE(numout,*) '              MFS  bulk  formulation                     ln_blk_mfs  = ', ln_blk_mfs 
    127125         WRITE(numout,*) '              coupled    formulation (T if key_sbc_cpl)  ln_cpl      = ', ln_cpl 
     126         WRITE(numout,*) '              Flux handling over ice categories          cn_iceflx   = ', TRIM (cn_iceflx) 
    128127         WRITE(numout,*) '           Misc. options of sbc : ' 
    129128         WRITE(numout,*) '              Patm gradient added in ocean & ice Eqs.    ln_apr_dyn  = ', ln_apr_dyn 
     
    137136      ENDIF 
    138137 
     138      !   Flux handling over ice categories  
     139      SELECT CASE ( TRIM (cn_iceflx)) 
     140      CASE ('ave') 
     141         ln_iceflx_ave    = .TRUE. 
     142         ln_iceflx_linear = .FALSE. 
     143      CASE ('linear') 
     144         ln_iceflx_ave    = .FALSE. 
     145         ln_iceflx_linear = .TRUE. 
     146      CASE default 
     147         ln_iceflx_ave    = .FALSE. 
     148         ln_iceflx_linear = .FALSE. 
     149      END SELECT 
     150      IF(lwp) WRITE(numout,*) '              Fluxes averaged over all ice categories         ln_iceflx_ave    = ', ln_iceflx_ave 
     151      IF(lwp) WRITE(numout,*) '              Fluxes distributed linearly over ice categories ln_iceflx_linear = ', ln_iceflx_linear 
     152      ! 
    139153      !                              ! allocate sbc arrays 
    140154      IF( sbc_oce_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'sbc_init : unable to allocate sbc_oce arrays' ) 
     
    175189      IF( ( nn_ice == 3 .OR. nn_ice == 4 ) .AND. nn_ice_embd == 0 )   & 
    176190         &   CALL ctl_stop( 'LIM3 and CICE sea-ice models require nn_ice_embd = 1 or 2' ) 
     191 
     192      IF( ln_iceflx_ave .AND. ln_iceflx_linear ) & 
     193         &   CALL ctl_stop( ' ln_iceflx_ave and ln_iceflx_linear options are not compatible' ) 
     194 
     195      IF( ( nn_ice ==3 .AND. lk_cpl) .AND. .NOT. ( ln_iceflx_ave .OR. ln_iceflx_linear ) ) & 
     196         &   CALL ctl_stop( ' With lim3 coupled, either ln_iceflx_ave or ln_iceflx_linear must be set to .TRUE.' ) 
    177197       
    178198      IF( ln_dm2dc )   nday_qsr = -1   ! initialisation flag 
     
    307327      CASE(  1 )   ;         CALL sbc_ice_if   ( kt )                ! Ice-cover climatology ("Ice-if" model) 
    308328      CASE(  2 )   ;         CALL sbc_ice_lim_2( kt, nsbc )          ! LIM-2 ice model 
    309               IF( lk_bdy )   CALL bdy_ice_lim_2( kt )                ! BDY boundary condition 
    310329      CASE(  3 )   ;         CALL sbc_ice_lim  ( kt, nsbc )          ! LIM-3 ice model 
    311       CASE(  4 )   ;         CALL sbc_ice_cice ( kt, nsbc )          ! CICE ice model 
     330      !is it useful? 
     331      !CASE(  4 )   ;         CALL sbc_ice_cice ( kt, nsbc )          ! CICE ice model 
    312332      END SELECT                                               
    313333 
Note: See TracChangeset for help on using the changeset viewer.