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

source: trunk/NEMOGCM/NEMO/LIM_SRC_2/iceini_2.F90 @ 2528

Last change on this file since 2528 was 2528, checked in by rblod, 13 years ago

Update NEMOGCM from branch nemo_v3_3_beta

  • 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   !!----------------------------------------------------------------------
35   !! NEMO/LIM2 3.3 , UCL - NEMO Consortium (2010)
36   !! $Id$
37   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
38   !!----------------------------------------------------------------------
39CONTAINS
40
41   SUBROUTINE ice_init_2
42      !!----------------------------------------------------------------------
43      !!                  ***  ROUTINE ice_init_2  ***
44      !!
45      !! ** purpose :   initialisation of LIM-2 domain and variables 
46      !!----------------------------------------------------------------------
47      !
48      !                                ! Open the namelist file
49      CALL ctl_opn( numnam_ice, 'namelist_ice', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
50      !   
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      !                                ! Initial sea-ice state
59      IF( .NOT.ln_rstart ) THEN   ;   CALL lim_istate_2     ! start from rest: sea-ice deduced from sst
60      ELSE                        ;   CALL lim_rst_read_2   ! start from a restart file
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 Namelist namicerun
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.