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/nemo_v3_3_beta/NEMOGCM/NEMO/LIM_SRC_2 – NEMO

source: branches/nemo_v3_3_beta/NEMOGCM/NEMO/LIM_SRC_2/iceini_2.F90 @ 2319

Last change on this file since 2319 was 2319, checked in by cbricaud, 13 years ago

put new EVP rheology lost during the merge

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