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 8321 for branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90 – NEMO

Ignore:
Timestamp:
2017-07-11T20:33:18+02:00 (7 years ago)
Author:
clem
Message:

STEP3 (1): clean separation between sea-ice and ocean

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90

    r8316 r8321  
    2323   USE dom_oce        ! ocean space and time domain variables 
    2424   USE ice            ! sea-ice variables 
    25    USE sbc_oce , ONLY : sst_m, e3t_m, utau, vtau, ssu_m, ssv_m, frq_m, qns_tot, qsr_tot, sprecip 
    26    USE sbc_ice , ONLY : qsr_oce, qns_oce, qemp_oce, qsr_ice, qns_ice, dqns_ice, evap_ice, qprec_ice, qevap_ice, fr1_i0, fr2_i0 
     25   USE sbc_oce , ONLY : sst_m, e3t_m, utau, vtau, ssu_m, ssv_m, frq_m, qns_tot, qsr_tot, sprecip, ln_cpl 
     26   USE sbc_ice , ONLY : qsr_oce, qns_oce, qemp_oce, qsr_ice, qns_ice, dqns_ice, evap_ice, qprec_ice, qevap_ice, & 
     27      &                 fr1_i0, fr2_i0, nn_limflx 
    2728   USE thd_ice        ! thermodynamic sea-ice variables 
    2829   USE limthd_dif     ! vertical diffusion 
     
    4950 
    5051   PUBLIC   lim_thd         ! called by limstp module 
    51    PUBLIC   lim_thd_init    ! called by sbc_lim_init 
     52   PUBLIC   lim_thd_init    ! called by ice_init 
    5253 
    5354   !! * Substitutions 
     
    594595         &                ln_limdH, rn_betas,                                                             & 
    595596         &                ln_limdA, rn_beta, rn_dmin,                                                     & 
    596          &                ln_limdO, rn_hnewice, ln_frazil, rn_maxfrazb, rn_vfrazb, rn_Cfrazb, rn_himin 
     597         &                ln_limdO, rn_hnewice, ln_frazil, rn_maxfrazb, rn_vfrazb, rn_Cfrazb, rn_himin,   & 
     598         &                nn_limflx 
    597599      !!------------------------------------------------------------------- 
    598600      ! 
     
    632634         WRITE(numout,*)'      minimum ice thickness                                   rn_himin     = ', rn_himin  
    633635         WRITE(numout,*)'      check heat conservation in the ice/snow                 con_i        = ', con_i 
     636         WRITE(numout,*)'   -- icestp --' 
     637         WRITE(numout,*)'      Multicategory heat flux formulation                     nn_limflx    = ', nn_limflx 
    634638      ENDIF 
    635639      ! 
    636640      IF ( rn_hnewice < rn_himin )   CALL ctl_stop( 'STOP', 'lim_thd_init : rn_hnewice should be >= rn_himin' ) 
     641      ! 
     642      IF(lwp) WRITE(numout,*) 
     643      SELECT CASE( nn_limflx )         ! LIM3 Multi-category heat flux formulation 
     644      CASE ( -1 ) 
     645         IF(lwp) WRITE(numout,*) '   LIM3: use per-category fluxes (nn_limflx = -1) ' 
     646         IF( ln_cpl )   CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in coupled mode must be 0 or 2' ) 
     647      CASE ( 0  ) 
     648         IF(lwp) WRITE(numout,*) '   LIM3: use average per-category fluxes (nn_limflx = 0) ' 
     649      CASE ( 1  ) 
     650         IF(lwp) WRITE(numout,*) '   LIM3: use average then redistribute per-category fluxes (nn_limflx = 1) ' 
     651         IF( ln_cpl )   CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in coupled mode must be 0 or 2' ) 
     652      CASE ( 2  ) 
     653         IF(lwp) WRITE(numout,*) '   LIM3: Redistribute a single flux over categories (nn_limflx = 2) ' 
     654         IF( .NOT. ln_cpl )   CALL ctl_stop( 'sbc_init : the chosen nn_limflx for LIM3 in forced mode cannot be 2' ) 
     655      CASE DEFAULT 
     656         CALL ctl_stop( 'sbcmod: LIM3 option, nn_limflx, should be between -1 and 2' ) 
     657      END SELECT 
    637658      ! 
    638659   END SUBROUTINE lim_thd_init 
Note: See TracChangeset for help on using the changeset viewer.