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.
Changeset 508 for trunk/NEMO/LIM_SRC/iceini.F90 – NEMO

Ignore:
Timestamp:
2006-10-03T17:58:55+02:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_update_071:RB: add iom for restart and reorganization of restart

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/LIM_SRC/iceini.F90

    r391 r508  
    44   !!   Sea-ice model : LIM Sea ice model Initialization 
    55   !!====================================================================== 
     6   !! History :   1.0  !  02-08  (G. Madec)  F90: Free form and modules 
     7   !!             2.0  !  03-08  (C. Ethe)  add ice_run 
     8   !!---------------------------------------------------------------------- 
    69#if defined key_ice_lim 
    710   !!---------------------------------------------------------------------- 
    811   !!   'key_ice_lim' :                                   LIM sea-ice model 
    912   !!---------------------------------------------------------------------- 
     13   !!---------------------------------------------------------------------- 
    1014   !!   ice_init       : sea-ice model initialization 
     15   !!   ice_run        : Definition some run parameter for ice model 
    1116   !!---------------------------------------------------------------------- 
    1217   USE dom_oce 
     
    1924   USE limmsh 
    2025   USE limistate 
    21    USE limrst 
     26   USE limrst    
    2227   USE ini1d           ! initialization of the 1D configuration 
    23  
     28       
    2429   IMPLICIT NONE 
    2530   PRIVATE 
    2631 
    27    !! * Routine accessibility 
    28    PUBLIC ice_init                 ! called by opa.F90 
     32   PUBLIC   ice_init                 ! called by opa.F90 
    2933 
    30    !! * Share Module variables 
    31    LOGICAL , PUBLIC  ::   & !!! ** init namelist (namicerun) ** 
    32       ln_limdyn   = .TRUE.   !: flag for ice dynamics (T) or not (F) 
    33    INTEGER , PUBLIC  ::   &  !: 
    34       nstart ,            &  !: iteration number of the begining of the run  
    35       nlast  ,            &  !: iteration number of the end of the run  
    36       nitrun ,            &  !: number of iteration 
    37       numit                  !: iteration number 
    38    REAL(wp), PUBLIC  ::   &  !: 
    39       hsndif = 0.e0 ,     &  !: computation of temp. in snow (0) or not (9999) 
    40       hicdif = 0.e0 ,     &  !: computation of temp. in ice (0) or not (9999) 
    41       tpstot                 !: time of the run in seconds 
    42    REAL(wp), PUBLIC, DIMENSION(2)  ::  &  !: 
    43       acrit  = (/ 1.e-06 , 1.e-06 /)    !: minimum fraction for leads in  
    44       !                                   !  north and south hemisphere 
     34   LOGICAL , PUBLIC               ::   ln_limdyn = .TRUE.   !: flag for ice dynamics (T) or not (F) 
     35   REAL(wp), PUBLIC               ::   hsndif = 0.e0        !: computation of temp. in snow (0) or not (9999) 
     36   REAL(wp), PUBLIC               ::   hicdif = 0.e0        !: computation of temp. in ice (0) or not (9999) 
     37   REAL(wp), PUBLIC, DIMENSION(2) ::   acrit  = (/ 1.e-06 , 1.e-06 /)    !: minimum fraction for leads in  
     38      !                                                                  !  north and south hemisphere 
    4539   !!---------------------------------------------------------------------- 
    4640   !!   LIM 2.0,  UCL-LOCEAN-IPSL (2005)  
     
    5650      !! 
    5751      !! ** purpose :    
    58       !! 
    59       !! History : 
    60       !!   8.5  !  02-08  (G. Madec)  F90: Free form and modules 
    6152      !!---------------------------------------------------------------------- 
    62        CHARACTER(len=80) :: namelist_icename 
    63         
     53      CHARACTER(len=80) :: namelist_icename 
     54      !!---------------------------------------------------------------------- 
     55      ! 
    6456      ! Open the namelist file  
    6557      namelist_icename = 'namelist_ice' 
    66             
    6758      CALL ctlopn(numnam_ice,namelist_icename,'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
    6859                     1,numout,.FALSE.,1)       
    69  
    7060      CALL ice_run                    !  read in namelist some run parameters 
    7161                  
     
    8373      ! Initial sea-ice state 
    8474      IF( .NOT.ln_rstart ) THEN 
    85          numit = 0 
    8675         CALL lim_istate              ! start from rest: sea-ice deduced from sst 
    8776      ELSE 
    88          CALL lim_rst_read( numit )   ! start from a restart file 
     77         CALL lim_rst_read            ! start from a restart file 
    8978      ENDIF 
    9079       
     
    9483      alb_ice(:,:) = albege(:,:)      ! sea-ice albedo 
    9584# endif 
    96        
    97       nstart = numit  + nfice       
    98       nitrun = nitend - nit000 + 1  
    99       nlast  = numit  + nitrun  
    100  
    101       IF( nstock == 0  )  nstock = nlast + 1 
    102  
     85      ! 
    10386   END SUBROUTINE ice_init 
    10487 
     
    11497      !! 
    11598      !! ** input   :   Namelist namicerun 
    116       !! 
    117       !! history : 
    118       !!   2.0  !  03-08 (C. Ethe)  Original code 
    11999      !!------------------------------------------------------------------- 
    120  
    121100      NAMELIST/namicerun/ ln_limdyn, acrit, hsndif, hicdif 
    122101      !!------------------------------------------------------------------- 
    123  
    124       !                                           ! Read Namelist namicerun  
    125       REWIND ( numnam_ice ) 
     102      !                     
     103      REWIND ( numnam_ice )                       ! Read Namelist namicerun  
    126104      READ   ( numnam_ice , namicerun ) 
    127105 
    128       IF( lk_cfg_1d  )  ln_limdyn = .FALSE.       ! No ice transport in 1D configuration 
     106      IF( lk_cfg_1d  )   ln_limdyn = .FALSE.      ! No ice transport in 1D configuration 
    129107 
    130108      IF(lwp) THEN 
     
    137115         WRITE(numout,*) '   computation of temp. in ice  (=0) or not (=9999) hicdif = ', hicdif 
    138116      ENDIF 
     117      ! 
    139118   END SUBROUTINE ice_run 
    140119 
Note: See TracChangeset for help on using the changeset viewer.