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

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

changes in style - part6 - more clarity (still not finished)

File:
1 edited

Legend:

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

    r8514 r8531  
    3030   PRIVATE 
    3131 
    32    PUBLIC ice_forcing_tau  ! routine called by icestp.F90 
    33    PUBLIC ice_forcing_flx  ! routine called by icestp.F90 
     32   PUBLIC ice_forcing_tau   ! called by icestp.F90 
     33   PUBLIC ice_forcing_flx   ! called by icestp.F90 
     34   PUBLIC ice_forcing_init  ! called by icestp.F90 
    3435 
    3536   !! * Substitutions 
     
    257258   END SUBROUTINE ice_flx_dist 
    258259 
     260   SUBROUTINE ice_forcing_init 
     261      !!------------------------------------------------------------------- 
     262      !!                  ***  ROUTINE ice_forcing_init  *** 
     263      !! 
     264      !! ** Purpose : Physical constants and parameters linked to the ice 
     265      !!      dynamics 
     266      !! 
     267      !! ** Method  :  Read the namforcing namelist and check the ice-dynamic 
     268      !!       parameter values called at the first timestep (nit000) 
     269      !! 
     270      !! ** input   :   Namelist namforcing 
     271      !!------------------------------------------------------------------- 
     272      INTEGER ::   ios, ioptio   ! Local integer output status for namelist read 
     273      !! 
     274      NAMELIST/namforcing/ rn_cio, rn_blow_s, nn_iceflx 
     275      !!------------------------------------------------------------------- 
     276      ! 
     277      REWIND( numnam_ice_ref )         ! Namelist namforcing in reference namelist : Ice dynamics 
     278      READ  ( numnam_ice_ref, namforcing, IOSTAT = ios, ERR = 901) 
     279901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namforcing in reference namelist', lwp ) 
     280      ! 
     281      REWIND( numnam_ice_cfg )         ! Namelist namforcing in configuration namelist : Ice dynamics 
     282      READ  ( numnam_ice_cfg, namforcing, IOSTAT = ios, ERR = 902 ) 
     283902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namforcing in configuration namelist', lwp ) 
     284      IF(lwm) WRITE ( numoni, namforcing ) 
     285      ! 
     286      IF(lwp) THEN                     ! control print 
     287         WRITE(numout,*) 
     288         WRITE(numout,*) 'ice_forcing_init: ice parameters for ice dynamics ' 
     289         WRITE(numout,*) '~~~~~~~~~~~~~~~' 
     290         WRITE(numout,*) '   Namelist namforcing:' 
     291         WRITE(numout,*) '      drag coefficient for oceanic stress              rn_cio    = ', rn_cio 
     292         WRITE(numout,*) '      coefficient for ice-lead partition of snowfall   rn_blow_s = ', rn_blow_s 
     293         WRITE(numout,*) '      Multicategory heat flux formulation              nn_iceflx = ', nn_iceflx 
     294      ENDIF 
     295      ! 
     296      IF(lwp) WRITE(numout,*) 
     297      SELECT CASE( nn_iceflx )         ! ESIM Multi-category heat flux formulation 
     298      CASE( -1  ) 
     299         IF(lwp) WRITE(numout,*) '   ESIM: use per-category fluxes (nn_iceflx = -1) ' 
     300         IF( ln_cpl )   CALL ctl_stop( 'ice_thd_init : the chosen nn_iceflx for ESIM in coupled mode must be 0 or 2' ) 
     301      CASE(  0  ) 
     302         IF(lwp) WRITE(numout,*) '   ESIM: use average per-category fluxes (nn_iceflx = 0) ' 
     303      CASE(  1  ) 
     304         IF(lwp) WRITE(numout,*) '   ESIM: use average then redistribute per-category fluxes (nn_iceflx = 1) ' 
     305         IF( ln_cpl )   CALL ctl_stop( 'ice_thd_init : the chosen nn_iceflx for ESIM in coupled mode must be 0 or 2' ) 
     306      CASE(  2  ) 
     307         IF(lwp) WRITE(numout,*) '   ESIM: Redistribute a single flux over categories (nn_iceflx = 2) ' 
     308         IF( .NOT. ln_cpl )   CALL ctl_stop( 'ice_thd_init : the chosen nn_iceflx for ESIM in forced mode cannot be 2' ) 
     309      CASE DEFAULT 
     310         CALL ctl_stop( 'ice_thd_init: ESIM option, nn_iceflx, should be between -1 and 2' ) 
     311      END SELECT 
     312      ! 
     313   END SUBROUTINE ice_forcing_init 
     314 
    259315#else 
    260316   !!---------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.