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.
iceini_2.F90 in branches/dev_1784_EVP/NEMO/LIM_SRC_2 – NEMO

source: branches/dev_1784_EVP/NEMO/LIM_SRC_2/iceini_2.F90 @ 2293

Last change on this file since 2293 was 2095, checked in by cbricaud, 14 years ago

add correction from reviewer

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 5.0 KB
Line 
1MODULE iceini_2
2   !!======================================================================
3   !!                       ***  MODULE iceini   ***
4   !!   Sea-ice model : LIM 2.0 Sea ice model Initialization
5   !!======================================================================
6   !! History :   1.0  !  02-08  (G. Madec)  F90: Free form and modules
7   !!             2.0  !  03-08  (C. Ethe)  add ice_run
8   !!             3.3  !  09-05  (G.Garric, C. Bricaud) addition of the lim2_evp case
9   !!----------------------------------------------------------------------
10#if defined key_lim2
11   !!----------------------------------------------------------------------
12   !!   'key_lim2' :                                  LIM 2.0 sea-ice model
13   !!----------------------------------------------------------------------
14   !!   ice_init_2       : sea-ice model initialization
15   !!   ice_run_2        : Definition some run parameter for ice model
16   !!----------------------------------------------------------------------
17   USE dom_oce          ! ocean domain
18   USE dom_ice_2        ! LIM2: ice domain
19   USE sbc_oce          ! surface boundary condition: ocean
20   USE sbc_ice          ! surface boundary condition: ice
21   USE phycst           ! Define parameters for the routines
22   USE ice_2            ! LIM2: ice variable
23   USE limmsh_2         ! LIM2: mesh
24   USE limistate_2      ! LIM2: initial state
25   USE limrst_2         ! LIM2: restart
26   USE in_out_manager   ! I/O manager
27     
28   IMPLICIT NONE
29   PRIVATE
30
31   PUBLIC   ice_init_2   ! called by sbcice_lim_2.F90
32
33   INTEGER, PUBLIC ::   numit   !: iteration number
34
35   !!----------------------------------------------------------------------
36   !! NEMO/LIM2 3.3, UCL-LOCEAN-IPSL (2010)
37   !! $Id$
38   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
39   !!----------------------------------------------------------------------
40CONTAINS
41
42   SUBROUTINE ice_init_2
43      !!----------------------------------------------------------------------
44      !!                  ***  ROUTINE ice_init_2  ***
45      !!
46      !! ** purpose :   initialisation of LIM-2 domain and variables
47      !!----------------------------------------------------------------------
48      !
49      !                               ! Open the namelist file
50      CALL ctl_opn( numnam_ice, 'namelist_ice', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp )     
51      CALL ice_run_2                  !  read in namelist some run parameters
52                 
53      rdt_ice = nn_fsbc * rdttra(1)   ! sea-ice time step
54      numit   = nit000 - 1             
55
56      CALL lim_msh_2                  ! ice mesh initialization
57     
58      !                               ! ice initialisation (start from rest or from a restart)
59      IF( .NOT.ln_rstart ) THEN   ;   CALL lim_istate_2     
60      ELSE                        ;   CALL lim_rst_read_2
61      ENDIF
62     
63      tn_ice(:,:,1) = sist(:,:)       ! initialisation of ice temperature   
64      fr_i  (:,:) = 1.0 - frld(:,:)   ! initialisation of sea-ice fraction   
65      !
66   END SUBROUTINE ice_init_2
67
68
69   SUBROUTINE ice_run_2
70      !!-------------------------------------------------------------------
71      !!                  ***  ROUTINE ice_run_2 ***
72      !!                 
73      !! ** Purpose :   Definition some run parameter for ice model
74      !!
75      !! ** Method  :   Read the namicerun namelist and check the parameter
76      !!              values called at the first timestep (nit000)
77      !!
78      !! ** input   :   Namelist namicerun
79      !!-------------------------------------------------------------------
80      NAMELIST/namicerun/ cn_icerst_in, cn_icerst_out, ln_limdyn, ln_limdmp, acrit, hsndif, hicdif
81      !!-------------------------------------------------------------------
82      !                   
83      REWIND( numnam_ice )                   ! Read namicerun namelist
84      READ  ( numnam_ice , namicerun )
85      !
86      IF(lwp) THEN                           ! control print
87         WRITE(numout,*)
88         WRITE(numout,*) 'ice_run : ice share parameters for dynamics/advection/thermo of sea-ice'
89         WRITE(numout,*) ' ~~~~~~'
90         WRITE(numout,*) '   switch for ice dynamics (1) or not (0)      ln_limdyn   = ', ln_limdyn
91         WRITE(numout,*) '   Ice damping                                 ln_limdmp   = ', ln_limdmp
92         WRITE(numout,*) '   minimum fraction for leads in the NH (SH)  acrit(1/2)   = ', acrit(:)
93         WRITE(numout,*) '   computation of temp. in snow (=0) or not (=9999) hsndif = ', hsndif
94         WRITE(numout,*) '   computation of temp. in ice  (=0) or not (=9999) hicdif = ', hicdif
95      ENDIF
96      !
97   END SUBROUTINE ice_run_2
98
99#else
100   !!----------------------------------------------------------------------
101   !!   Default option :        Empty module       NO LIM 2.0 sea-ice model
102   !!----------------------------------------------------------------------
103CONTAINS
104   SUBROUTINE ice_init_2      ! Empty routine
105   END SUBROUTINE ice_init_2
106#endif
107
108   !!======================================================================
109END MODULE iceini_2
Note: See TracBrowser for help on using the repository browser.