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

source: trunk/NEMO/LIM_SRC_2/iceini_2.F90 @ 1649

Last change on this file since 1649 was 1581, checked in by smasson, 15 years ago

ctlopn cleanup, see ticket:515 and ticket:237

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