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

source: branches/devmercator2010/NEMO/LIM_SRC_2/iceini_2.F90 @ 2076

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

add change dev_1784_EVP

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 4.9 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) 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
19   USE dom_ice_2
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
24   USE limmsh_2
25   USE limistate_2
26   USE limrst_2   
27   USE in_out_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   !!----------------------------------------------------------------------
38   !!   LIM 2.0,  UCL-LOCEAN-IPSL (2005)
39   !! $Id$
40   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
41   !!----------------------------------------------------------------------
42
43CONTAINS
44
45   SUBROUTINE ice_init_2
46      !!----------------------------------------------------------------------
47      !!                  ***  ROUTINE ice_init_2  ***
48      !!
49      !! ** purpose :   
50      !!----------------------------------------------------------------------
51      !
52      ! Open the namelist file
53      CALL ctl_opn( numnam_ice, 'namelist_ice', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp )     
54      CALL ice_run_2                    !  read in namelist some run parameters
55                 
56      ! Louvain la Neuve Ice model
57      rdt_ice = nn_fsbc * rdttra(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      numit = nit000 - 1              !initialisation ice time-step
72
73      !
74   END SUBROUTINE ice_init_2
75
76
77   SUBROUTINE ice_run_2
78      !!-------------------------------------------------------------------
79      !!                  ***  ROUTINE ice_run_2 ***
80      !!                 
81      !! ** Purpose :   Definition some run parameter for ice model
82      !!
83      !! ** Method  :   Read the namicerun namelist and check the parameter
84      !!       values called at the first timestep (nit000)
85      !!
86      !! ** input   :   Namelist namicerun
87      !!-------------------------------------------------------------------
88      NAMELIST/namicerun/ cn_icerst_in, cn_icerst_out, ln_limdyn, ln_limdmp, acrit, hsndif, hicdif
89      !!-------------------------------------------------------------------
90      !                   
91      REWIND ( numnam_ice )                       ! Read Namelist namicerun
92      READ   ( numnam_ice , namicerun )
93
94      IF(lwp) THEN
95         WRITE(numout,*)
96         WRITE(numout,*) 'ice_run : ice share parameters for dynamics/advection/thermo of sea-ice'
97         WRITE(numout,*) ' ~~~~~~'
98         WRITE(numout,*) '   switch for ice dynamics (1) or not (0)      ln_limdyn   = ', ln_limdyn
99         WRITE(numout,*) '   Ice damping                                 ln_limdmp   = ', ln_limdmp
100         WRITE(numout,*) '   minimum fraction for leads in the NH (SH)  acrit(1/2)   = ', acrit(:)
101         WRITE(numout,*) '   computation of temp. in snow (=0) or not (=9999) hsndif = ', hsndif
102         WRITE(numout,*) '   computation of temp. in ice  (=0) or not (=9999) hicdif = ', hicdif
103      ENDIF
104      !
105   END SUBROUTINE ice_run_2
106
107#else
108   !!----------------------------------------------------------------------
109   !!   Default option :        Empty module       NO LIM 2.0 sea-ice model
110   !!----------------------------------------------------------------------
111CONTAINS
112   SUBROUTINE ice_init_2      ! Empty routine
113   END SUBROUTINE ice_init_2
114#endif
115
116   !!======================================================================
117END MODULE iceini_2
Note: See TracBrowser for help on using the repository browser.