Changeset 881


Ignore:
Timestamp:
2008-04-08T11:45:52+02:00 (13 years ago)
Author:
ctlod
Message:

dev_001_SBC: Step I: change cpp ket name key_ice_lim into key_lim2 & change names inside modules with extension _2, see ticket: #110

Location:
branches/dev_001_SBC/NEMO
Files:
39 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_001_SBC/NEMO/C1D_SRC/diawri1d.F90

    r714 r881  
    193193            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    194194 
    195 #if ! defined key_dynspg_rl && defined key_ice_lim 
     195#if ! defined key_dynspg_rl && defined key_lim2 
    196196         ! sowaflup = sowaflep + sorunoff + sowafldp + a term associated to 
    197197         !    internal damping to Levitus that can be diagnosed from others 
     
    237237#endif 
    238238 
    239 #if ( defined key_coupled && ! defined key_ice_lim )  
     239#if ( defined key_coupled && ! defined key_lim2 )  
    240240         CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping"         , "W/m2"   ,   &  ! qrp 
    241241            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    259259#endif 
    260260 
    261 #if defined key_ice_lim && defined key_coupled 
     261#if defined key_lim2 && defined key_coupled 
    262262         CALL histdef( nid_T,"soicetem" , "Ice Surface Temperature"            , "K"      ,   &  ! tn_ice 
    263263            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    364364      CALL histwrite( nid_T, "sosstsst", it, tn(:,:,1)     , ndim_hT, ndex_hT )   ! sea surface temperature 
    365365      CALL histwrite( nid_T, "sosaline", it, sn(:,:,1)     , ndim_hT, ndex_hT )   ! sea surface salinity 
    366 #if ! defined key_dynspg_rl && defined key_ice_lim 
     366#if ! defined key_dynspg_rl && defined key_lim2 
    367367      CALL histwrite( nid_T, "iowaflup", it, fsalt(:,:)    , ndim_hT, ndex_hT )   ! ice=>ocean water flux 
    368368      CALL histwrite( nid_T, "sowaflep", it, fmass(:,:)    , ndim_hT, ndex_hT )   ! atmos=>ocean water flux 
     
    396396      CALL histwrite( nid_T, "sosafldp", it, zw2d          , ndim_hT, ndex_hT )   ! salt flux damping 
    397397#endif 
    398 #if ( defined key_coupled && ! defined key_ice_lim )  
     398#if ( defined key_coupled && ! defined key_lim2 )  
    399399      CALL histwrite( nid_T, "sohefldp", it, qrp           , ndim_hT, ndex_hT )   ! heat flux damping 
    400400      CALL histwrite( nid_T, "sowafldp", it, erp           , ndim_hT, ndex_hT )   ! freshwater flux damping 
     
    411411      CALL histwrite( nid_T, "sohtc300", it, htc3          , ndim_hT, ndex_hT )   ! first 300m heaat content 
    412412#endif 
    413 #if defined key_ice_lim &&  defined key_coupled  
     413#if defined key_lim2 &&  defined key_coupled  
    414414      CALL histwrite( nid_T, "soicetem", it, tn_ice        , ndim_hT, ndex_hT )   ! surf. ice temperature 
    415415      CALL histwrite( nid_T, "soicealb", it, alb_ice       , ndim_hT, ndex_hT )   ! ice albedo 
  • branches/dev_001_SBC/NEMO/C1D_SRC/icestp1d.F90

    r714 r881  
    66   !! History :   9.0  !  04-10  (C. Ethe)  from icestp, 1D configuration 
    77   !!---------------------------------------------------------------------- 
    8 #if defined key_cfg_1d && defined key_ice_lim 
     8#if defined key_cfg_1d && defined key_lim2 
    99   !!---------------------------------------------------------------------- 
    1010   !!   'key_cfg_1d'  .AND.                                1D Configuration 
    11    !!   'key_ice_lim'                                     Lim sea-ice model 
     11   !!   'key_lim2'                                        Lim sea-ice model 
    1212   !!---------------------------------------------------------------------- 
    1313   !!---------------------------------------------------------------------- 
     
    1818   USE in_out_manager  ! I/O manager 
    1919   USE ice_oce         ! ice variables 
    20    USE dom_ice         ! LIM sea-ice domain 
     20   USE dom_ice_2       ! LIM sea-ice domain 
    2121   USE sbc_oce         ! surface boundary condition: ocean 
    2222   USE sbc_ice         ! surface boundary condition: ice 
    2323   USE daymod          ! calendar 
    2424   USE phycst          ! Define parameters for the routines 
    25    USE ice             ! ice variables 
     25   USE ice_2           ! ice variables 
    2626   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    27    USE limthd 
    28    USE limwri 
    29    USE limrst 
     27   USE limthd_2 
     28   USE limwri_2 
     29   USE limrst_2 
    3030 
    3131   USE tradmp          ! damping salinity trend 
  • branches/dev_001_SBC/NEMO/LIM_SRC/dom_ice.F90

    r699 r881  
    1 MODULE dom_ice 
     1MODULE dom_ice_2 
    22   !!====================================================================== 
    33   !!                   ***  MODULE  dom_ice  *** 
    4    !! LIM Sea Ice :   Domain  variables 
     4   !! LIM 2.0 Sea Ice :   Domain  variables 
    55   !!====================================================================== 
    66   !! History :   2.0  !  03-08  (C. Ethe)  Free form and module 
    77   !!---------------------------------------------------------------------- 
    8  
     8#if defined key_lim2 
    99   !!---------------------------------------------------------------------- 
    1010   !!   LIM 2.0, UCL-LOCEAN-IPSL (2005) 
     
    1212   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    1313   !!---------------------------------------------------------------------- 
    14    USE par_ice 
     14   USE par_ice_2 
    1515 
    1616   IMPLICIT NONE 
     
    3333 
    3434   !!====================================================================== 
    35 END MODULE dom_ice 
     35#endif 
     36END MODULE dom_ice_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/ice.F90

    r717 r881  
    1 MODULE ice 
     1MODULE ice_2 
    22   !!====================================================================== 
    33   !!                        ***  MODULE ice  *** 
     
    66   !! History :  2.0  !  03-08  (C. Ethe)  F90: Free form and module 
    77   !!---------------------------------------------------------------------- 
    8 #if defined key_ice_lim 
     8#if defined key_lim2 
    99   !!---------------------------------------------------------------------- 
    10    !!   'key_ice_lim' :                                   LIM sea-ice model 
     10   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
    1111   !!---------------------------------------------------------------------- 
    12    USE par_ice          ! LIM sea-ice parameters 
     12   !!  LIM 2.0, UCL-LOCEAN-IPSL (2006) 
     13   !! $Id$ 
     14   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     15   !!---------------------------------------------------------------------- 
     16   USE par_ice_2          ! LIM sea-ice parameters 
    1317 
    1418   IMPLICIT NONE 
     
    99103#else 
    100104   !!---------------------------------------------------------------------- 
    101    !!   Default option         Empty module            NO LIM sea-ice model 
     105   !!   Default option         Empty module        NO LIM 2.0 sea-ice model 
    102106   !!---------------------------------------------------------------------- 
    103107#endif 
    104108 
    105    !!---------------------------------------------------------------------- 
    106    !!  LIM 2.0, UCL-LOCEAN-IPSL (2006) 
    107    !! $Id$ 
    108    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    109109   !!====================================================================== 
    110 END MODULE ice 
     110END MODULE ice_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/iceini.F90

    r717 r881  
    1 MODULE iceini 
     1MODULE iceini_2 
    22   !!====================================================================== 
    33   !!                       ***  MODULE iceini   *** 
    4    !!   Sea-ice model : LIM Sea ice model Initialization 
     4   !!   Sea-ice model : LIM 2.0 Sea ice model Initialization 
    55   !!====================================================================== 
    66   !! History :   1.0  !  02-08  (G. Madec)  F90: Free form and modules 
    77   !!             2.0  !  03-08  (C. Ethe)  add ice_run 
    88   !!---------------------------------------------------------------------- 
    9 #if defined key_ice_lim 
     9#if defined key_lim2 
    1010   !!---------------------------------------------------------------------- 
    11    !!   'key_ice_lim' :                                   LIM sea-ice model 
     11   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
    1212   !!---------------------------------------------------------------------- 
    1313   !!---------------------------------------------------------------------- 
    14    !!   ice_init       : sea-ice model initialization 
    15    !!   ice_run        : Definition some run parameter for ice model 
     14   !!   ice_init_2       : sea-ice model initialization 
     15   !!   ice_run_2        : Definition some run parameter for ice model 
    1616   !!---------------------------------------------------------------------- 
    1717   USE dom_oce 
    18    USE dom_ice 
     18   USE dom_ice_2 
    1919   USE ice_oce         ! ice variables 
    2020   USE sbc_oce         ! surface boundary condition: ocean 
     
    2222   USE phycst          ! Define parameters for the routines 
    2323   USE ocfzpt 
    24    USE ice 
    25    USE limmsh 
    26    USE limistate 
    27    USE limrst    
     24   USE ice_2 
     25   USE limmsh_2 
     26   USE limistate_2 
     27   USE limrst_2    
    2828   USE ini1d           ! initialization of the 1D configuration 
    2929   USE in_out_manager 
     
    3232   PRIVATE 
    3333 
    34    PUBLIC   ice_init                 ! called by opa.F90 
     34   PUBLIC   ice_init_2               ! called by opa.F90 
    3535 
    3636   LOGICAL , PUBLIC               ::   ln_limdyn = .TRUE.   !: flag for ice dynamics (T) or not (F) 
     
    4747CONTAINS 
    4848 
    49    SUBROUTINE ice_init 
     49   SUBROUTINE ice_init_2 
    5050      !!---------------------------------------------------------------------- 
    51       !!                  ***  ROUTINE ice_init  *** 
     51      !!                  ***  ROUTINE ice_init_2  *** 
    5252      !! 
    5353      !! ** purpose :    
     
    6060      CALL ctlopn(numnam_ice,namelist_icename,'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
    6161                     1,numout,.FALSE.,1)       
    62       CALL ice_run                    !  read in namelist some run parameters 
     62      CALL ice_run_2                    !  read in namelist some run parameters 
    6363                  
    6464      ! Louvain la Neuve Ice model 
     
    6666      rdt_ice = nn_fsbc * rdttra(1) 
    6767 
    68       CALL lim_msh                    ! ice mesh initialization 
     68      CALL lim_msh_2                  ! ice mesh initialization 
    6969      
    7070      ! Initial sea-ice state 
    7171      IF( .NOT.ln_rstart ) THEN 
    72          CALL lim_istate              ! start from rest: sea-ice deduced from sst 
     72         CALL lim_istate_2            ! start from rest: sea-ice deduced from sst 
    7373      ELSE 
    74          CALL lim_rst_read            ! start from a restart file 
     74         CALL lim_rst_read_2          ! start from a restart file 
    7575      ENDIF 
    7676       
     
    8181# endif 
    8282      ! 
    83    END SUBROUTINE ice_init 
     83   END SUBROUTINE ice_init_2 
    8484 
    8585 
    86    SUBROUTINE ice_run 
     86   SUBROUTINE ice_run_2 
    8787      !!------------------------------------------------------------------- 
    88       !!                  ***  ROUTINE ice_run *** 
     88      !!                  ***  ROUTINE ice_run_2 *** 
    8989      !!                  
    9090      !! ** Purpose :   Definition some run parameter for ice model 
     
    114114      ENDIF 
    115115      ! 
    116    END SUBROUTINE ice_run 
     116   END SUBROUTINE ice_run_2 
    117117 
    118118#else 
    119119   !!---------------------------------------------------------------------- 
    120    !!   Default option :        Empty module           NO LIM sea-ice model 
     120   !!   Default option :        Empty module       NO LIM 2.0 sea-ice model 
    121121   !!---------------------------------------------------------------------- 
    122122CONTAINS 
    123    SUBROUTINE ice_init        ! Empty routine 
    124    END SUBROUTINE ice_init 
     123   SUBROUTINE ice_init_2      ! Empty routine 
     124   END SUBROUTINE ice_init_2 
    125125#endif 
    126126 
    127127   !!====================================================================== 
    128 END MODULE iceini 
     128END MODULE iceini_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limadv.F90

    r699 r881  
    1 MODULE limadv  
     1MODULE limadv_2  
    22   !!====================================================================== 
    3    !!                       ***  MODULE limadv   *** 
    4    !! LIM sea-ice model : sea-ice advection 
     3   !!                       ***  MODULE limadv_2   *** 
     4   !! LIM 2.0 sea-ice model : sea-ice advection 
    55   !!====================================================================== 
    6 #if defined key_ice_lim 
    7    !!---------------------------------------------------------------------- 
    8    !!   'key_ice_lim'                                     LIM sea-ice model 
    9    !!---------------------------------------------------------------------- 
    10    !!   lim_adv_x  : advection of sea ice on x axis 
    11    !!   lim_adv_y  : advection of sea ice on y axis 
     6#if defined key_lim2 
     7   !!---------------------------------------------------------------------- 
     8   !!   'key_lim2'                                    LIM 2.0 sea-ice model 
     9   !!---------------------------------------------------------------------- 
     10   !!   lim_adv_x_2  : advection of sea ice on x axis 
     11   !!   lim_adv_y_2  : advection of sea ice on y axis 
    1212   !!---------------------------------------------------------------------- 
    1313   !! * Modules used 
    1414   USE dom_oce 
    15    USE dom_ice 
     15   USE dom_ice_2 
    1616   USE ice_oce         ! ice variables 
    1717   USE in_out_manager  ! I/O manager 
     
    2323 
    2424   !! * Routine accessibility 
    25    PUBLIC lim_adv_x    ! called by lim_trp 
    26    PUBLIC lim_adv_y    ! called by lim_trp 
     25   PUBLIC lim_adv_x_2    ! called by lim_trp 
     26   PUBLIC lim_adv_y_2    ! called by lim_trp 
    2727 
    2828   !! * Module variables 
     
    3939CONTAINS 
    4040 
    41    SUBROUTINE lim_adv_x( pdf, put , pcrh, psm , ps0 ,   & 
    42       &                  psx, psxx, psy , psyy, psxy ) 
     41   SUBROUTINE lim_adv_x_2( pdf, put , pcrh, psm , ps0 ,   & 
     42      &                    psx, psxx, psy , psyy, psxy ) 
    4343      !!--------------------------------------------------------------------- 
    44       !!                **  routine lim_adv_x  ** 
     44      !!                **  routine lim_adv_x_2  ** 
    4545      !!   
    4646      !! ** purpose :   Computes and adds the advection trend to sea-ice 
     
    232232      ENDIF 
    233233 
    234    END SUBROUTINE lim_adv_x 
    235  
    236  
    237    SUBROUTINE lim_adv_y( pdf, pvt , pcrh, psm , ps0 ,   & 
    238       &                  psx, psxx, psy , psyy, psxy ) 
     234   END SUBROUTINE lim_adv_x_2 
     235 
     236 
     237   SUBROUTINE lim_adv_y_2( pdf, pvt , pcrh, psm , ps0 ,   & 
     238      &                    psx, psxx, psy , psyy, psxy ) 
    239239      !!--------------------------------------------------------------------- 
    240       !!                **  routine lim_adv_y  ** 
     240      !!                **  routine lim_adv_y_2  ** 
    241241      !!             
    242242      !! ** purpose :   Computes and adds the advection trend to sea-ice  
     
    432432      ENDIF 
    433433 
    434    END SUBROUTINE lim_adv_y 
     434   END SUBROUTINE lim_adv_y_2 
    435435 
    436436#else 
    437437   !!---------------------------------------------------------------------- 
    438    !!   Default option            Dummy module         NO LIM sea-ice model 
     438   !!   Default option            Dummy module     NO LIM 2.0 sea-ice model 
    439439   !!---------------------------------------------------------------------- 
    440440CONTAINS 
    441    SUBROUTINE lim_adv_x         ! Empty routine 
    442    END SUBROUTINE lim_adv_x 
    443    SUBROUTINE lim_adv_y           ! Empty routine 
    444    END SUBROUTINE lim_adv_y 
     441   SUBROUTINE lim_adv_x_2         ! Empty routine 
     442   END SUBROUTINE lim_adv_x_2 
     443   SUBROUTINE lim_adv_y_2         ! Empty routine 
     444   END SUBROUTINE lim_adv_y_2 
    445445 
    446446#endif 
    447447 
    448 END MODULE limadv 
     448END MODULE limadv_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limdia.F90

    r717 r881  
    1 MODULE limdia 
     1MODULE limdia_2 
    22   !!====================================================================== 
    3    !!                       ***  MODULE limdia   *** 
     3   !!                       ***  MODULE limdia_2   *** 
    44   !!                      diagnostics of ice model  
    55   !!====================================================================== 
     
    88   !!             9.0  !  06-08  (S. Masson)  change frequency output control 
    99   !!------------------------------------------------------------------- 
    10 #if defined key_ice_lim 
    11    !!---------------------------------------------------------------------- 
    12    !!   'key_ice_lim' :                                   LIM sea-ice model 
    13    !!---------------------------------------------------------------------- 
    14    !!---------------------------------------------------------------------- 
    15    !!   lim_dia      : computation of the time evolution of keys var. 
    16    !!   lim_dia_init : initialization and namelist read 
     10#if defined key_lim2 
     11   !!---------------------------------------------------------------------- 
     12   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
     13   !!---------------------------------------------------------------------- 
     14   !!---------------------------------------------------------------------- 
     15   !!   lim_dia_2      : computation of the time evolution of keys var. 
     16   !!   lim_dia_init_2 : initialization and namelist read 
    1717   !!---------------------------------------------------------------------- 
    1818   USE phycst          !  
    19    USE par_ice         ! ice parameters 
     19   USE par_ice_2       ! ice parameters 
    2020   USE ice_oce         ! ice variables 
    2121   USE sbc_oce         ! surface boundary condition variables 
    2222   USE daymod          ! 
    23    USE dom_ice         ! 
    24    USE ice             ! 
    25    USE limistate       ! 
     23   USE dom_ice_2       ! 
     24   USE ice_2           ! 
     25   USE limistate_2     ! 
    2626   USE in_out_manager  ! I/O manager 
    2727 
     
    2929   PRIVATE 
    3030 
    31    PUBLIC               lim_dia            ! called by ice_step 
     31   PUBLIC               lim_dia_2          ! called by sbc_ice_lim_2 
    3232   INTEGER, PUBLIC ::   ntmoy   = 1 ,   &  !: instantaneous values of ice evolution or averaging ntmoy 
    3333      &                 ninfo   = 1        !: frequency of ouputs on file ice_evolu in case of averaging 
     
    6565CONTAINS 
    6666 
    67    SUBROUTINE lim_dia( kt ) 
     67   SUBROUTINE lim_dia_2( kt ) 
    6868      !!-------------------------------------------------------------------- 
    69       !!                  ***  ROUTINE lim_dia  *** 
     69      !!                  ***  ROUTINE lim_dia_2  *** 
    7070      !!    
    7171      !! ** Purpose : Computation and outputs on file ice.evolu  
     
    8383      !!------------------------------------------------------------------- 
    8484 
    85       IF( kt == nit000 )   CALL lim_dia_init   ! initialisation of ice_evolu file       
     85      IF( kt == nit000 )   CALL lim_dia_init_2  ! initialisation of ice_evolu file       
    8686 
    8787      ! computation of key variables at each time step    
     
    163163       ENDIF 
    164164       ! 
    165     END SUBROUTINE lim_dia 
     165    END SUBROUTINE lim_dia_2 
    166166  
    167167 
    168     SUBROUTINE lim_dia_init 
     168    SUBROUTINE lim_dia_init_2 
    169169       !!------------------------------------------------------------------- 
    170        !!                  ***  ROUTINE lim_dia_init  *** 
     170       !!                  ***  ROUTINE lim_dia_init_2  *** 
    171171       !!              
    172172       !! ** Purpose : Preparation of the file ice_evolu for the output of 
     
    191191       IF(lwp) THEN 
    192192          WRITE(numout,*) 
    193           WRITE(numout,*) 'lim_dia_init : ice parameters for ice diagnostics ' 
    194           WRITE(numout,*) '~~~~~~~~~~~~' 
     193          WRITE(numout,*) 'lim_dia_init_2 : ice parameters for ice diagnostics ' 
     194          WRITE(numout,*) '~~~~~~~~~~~~~~' 
    195195          WRITE(numout,*) '   format of the output values                                 fmtinf = ', fmtinf 
    196196          WRITE(numout,*) '   number of variables written in one line                     nfrinf = ', nfrinf  
     
    2752751111   FORMAT( 3(F7.1,1X,F7.3,1X),I3,A )   
    276276      ! 
    277     END SUBROUTINE lim_dia_init 
     277    END SUBROUTINE lim_dia_init_2 
    278278 
    279279#else 
    280280   !!---------------------------------------------------------------------- 
    281    !!   Default option :                               NO LIM sea-ice model 
     281   !!   Default option :                           NO LIM 2.0 sea-ice model 
    282282   !!---------------------------------------------------------------------- 
    283283CONTAINS 
    284    SUBROUTINE lim_dia         ! Empty routine 
    285    END SUBROUTINE lim_dia 
     284   SUBROUTINE lim_dia_2         ! Empty routine 
     285   END SUBROUTINE lim_dia_2 
    286286#endif 
    287287 
    288288   !!====================================================================== 
    289 END MODULE limdia 
     289END MODULE limdia_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limdmp.F90

    r699 r881  
    1 MODULE limdmp 
     1MODULE limdmp_2 
    22   !!====================================================================== 
    3    !!                       ***  MODULE limdmp   *** 
     3   !!                       ***  MODULE limdmp_2   *** 
    44   !!  Ice model : restoring Ice thickness and Fraction leads 
    55   !!====================================================================== 
    66   !! History :   2.0  !  04-04 (S. Theetten) Original code 
    77   !!---------------------------------------------------------------------- 
    8 #if defined key_ice_lim   &&   defined key_tradmp 
     8#if defined key_lim2   &&   defined key_tradmp 
    99   !!---------------------------------------------------------------------- 
    10    !!   'key_ice_lim'  AND                                LIM sea-ice model 
     10   !!   'key_lim2'  AND                               LIM 2.0 sea-ice model 
    1111   !!   'key_tradmp'                                                Damping 
    1212   !!---------------------------------------------------------------------- 
    1313   !!---------------------------------------------------------------------- 
    14    !!   lim_dmp      : ice model damping 
     14   !!   lim_dmp_2      : ice model damping 
    1515   !!---------------------------------------------------------------------- 
    1616   USE in_out_manager  ! I/O manager 
    1717   USE phycst          ! physical constants 
    18    USE ice 
     18   USE ice_2 
    1919   USE ice_oce 
    2020   USE tradmp 
     
    2727   PRIVATE 
    2828 
    29    PUBLIC   lim_dmp     ! called by ice_step 
     29   PUBLIC   lim_dmp_2     ! called by ice_step_2 
    3030    
    3131   INTEGER                        ::   nice1, nice2,  &  ! first and second record used 
     
    4646CONTAINS 
    4747 
    48    SUBROUTINE lim_dmp(kt) 
     48   SUBROUTINE lim_dmp_2(kt) 
    4949      !!------------------------------------------------------------------- 
    50       !!                   ***  ROUTINE lim_dmp *** 
     50      !!                   ***  ROUTINE lim_dmp_2 *** 
    5151      !! 
    5252      !! ** purpose : ice model damping : restoring ice thickness and  
     
    6060      !!--------------------------------------------------------------------- 
    6161      ! 
    62       CALL dta_lim( kt ) 
     62      CALL dta_lim_2( kt ) 
    6363 
    6464      DO jj = 2, jpjm1 
     
    6969      END DO 
    7070      ! 
    71    END SUBROUTINE lim_dmp 
     71   END SUBROUTINE lim_dmp_2 
    7272 
    7373 
    74    SUBROUTINE dta_lim( kt )  
     74   SUBROUTINE dta_lim_2( kt )  
    7575      !!---------------------------------------------------------------------- 
    76       !!                   ***  ROUTINE dta_lim  *** 
     76      !!                   ***  ROUTINE dta_lim_2  *** 
    7777      !! 
    7878      !! ** Purpose :   Reads monthly ice thickness and fraction lead  data 
     
    167167      IF( kt == nitend )   CALL iom_close( inumice_dmp ) 
    168168      ! 
    169    END SUBROUTINE dta_lim 
     169   END SUBROUTINE dta_lim_2 
    170170 
    171171#else 
     
    174174   !!---------------------------------------------------------------------- 
    175175CONTAINS 
    176    SUBROUTINE lim_dmp( kt )        ! Dummy routine 
    177       WRITE(*,*) 'lim_dmp: You should not see this print! error? ', kt 
    178    END SUBROUTINE lim_dmp 
     176   SUBROUTINE lim_dmp_2( kt )        ! Dummy routine 
     177      WRITE(*,*) 'lim_dmp_2: You should not see this print! error? ', kt 
     178   END SUBROUTINE lim_dmp_2 
    179179#endif 
    180180 
    181181   !!====================================================================== 
    182 END MODULE limdmp 
     182END MODULE limdmp_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limdyn.F90

    r879 r881  
    1 MODULE limdyn 
     1MODULE limdyn_2 
    22   !!====================================================================== 
    3    !!                     ***  MODULE  limdyn  *** 
     3   !!                     ***  MODULE  limdyn_2  *** 
    44   !!   Sea-Ice dynamics :   
    55   !!====================================================================== 
     
    99   !!             2.0  !  06-07  (G. Madec)  Surface module 
    1010   !!--------------------------------------------------------------------- 
    11 #if defined key_ice_lim 
    12    !!---------------------------------------------------------------------- 
    13    !!   'key_ice_lim' :                                   LIM sea-ice model 
    14    !!---------------------------------------------------------------------- 
    15    !!    lim_dyn      : computes ice velocities 
    16    !!    lim_dyn_init : initialization and namelist read 
     11#if defined key_lim2 
     12   !!---------------------------------------------------------------------- 
     13   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
     14   !!---------------------------------------------------------------------- 
     15   !!    lim_dyn_2      : computes ice velocities 
     16   !!    lim_dyn_init_2 : initialization and namelist read 
    1717   !!---------------------------------------------------------------------- 
    1818   USE dom_oce        ! ocean space and time domain 
    1919   USE sbc_oce        ! 
    2020   USE phycst         ! 
    21    USE ice            ! 
     21   USE ice_2          ! 
    2222   USE ice_oce        ! 
    23    USE dom_ice        ! 
    24    USE iceini         ! 
    25    USE limistate      ! 
    26    USE limrhg         ! ice rheology 
     23   USE dom_ice_2      ! 
     24   USE iceini_2       ! 
     25   USE limistate_2    ! 
     26   USE limrhg_2       ! ice rheology 
    2727 
    2828   USE lbclnk         ! 
     
    3434   PRIVATE 
    3535 
    36    PUBLIC   lim_dyn   ! routine called by ice_step 
     36   PUBLIC   lim_dyn_2 ! routine called by sbc_ice_lim 
    3737 
    3838   REAL(wp)  ::  rone    = 1.e0   ! constant value 
     
    4747CONTAINS 
    4848 
    49    SUBROUTINE lim_dyn( kt ) 
    50       !!------------------------------------------------------------------- 
    51       !!               ***  ROUTINE lim_dyn  *** 
     49   SUBROUTINE lim_dyn_2( kt ) 
     50      !!------------------------------------------------------------------- 
     51      !!               ***  ROUTINE lim_dyn_2  *** 
    5252      !!                
    5353      !! ** Purpose :   compute ice velocity and ocean-ice friction velocity 
     
    7070      !!--------------------------------------------------------------------- 
    7171 
    72       IF( kt == nit000 )   CALL lim_dyn_init   ! Initialization (first time-step only) 
     72      IF( kt == nit000 )   CALL lim_dyn_init_2   ! Initialization (first time-step only) 
    7373       
    7474      IF( ln_limdyn ) THEN 
     
    8888            i_jpj = jpj 
    8989            IF(ln_ctl)   CALL prt_ctl_info( 'lim_dyn  :    i_j1 = ', ivar1=i_j1, clinfo2=' ij_jpj = ', ivar2=i_jpj ) 
    90             CALL lim_rhg( i_j1, i_jpj ) 
     90            CALL lim_rhg_2( i_j1, i_jpj ) 
    9191            ! 
    9292         ELSE                                 ! optimization of the computational area 
     
    109109               IF(ln_ctl)   WRITE(numout,*) 'lim_dyn : NH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
    110110               !  
    111                CALL lim_rhg( i_j1, i_jpj ) 
     111               CALL lim_rhg_2( i_j1, i_jpj ) 
    112112               !  
    113113               ! Southern hemisphere 
     
    120120               IF(ln_ctl)   WRITE(numout,*) 'lim_dyn : SH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
    121121               !  
    122                CALL lim_rhg( i_j1, i_jpj ) 
     122               CALL lim_rhg_2( i_j1, i_jpj ) 
    123123               !  
    124124            ELSE                                 ! local domain extends over one hemisphere only 
     
    139139               IF(ln_ctl)   WRITE(numout,*) 'lim_dyn : one hemisphere: i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
    140140               !  
    141                CALL lim_rhg( i_j1, i_jpj ) 
     141               CALL lim_rhg_2( i_j1, i_jpj ) 
    142142               ! 
    143143            ENDIF 
     
    182182      IF(ln_ctl)   CALL prt_ctl(tab2d_1=ust2s , clinfo1=' lim_dyn  : ust2s :') 
    183183 
    184    END SUBROUTINE lim_dyn 
    185  
    186  
    187    SUBROUTINE lim_dyn_init 
    188       !!------------------------------------------------------------------- 
    189       !!                  ***  ROUTINE lim_dyn_init  *** 
     184   END SUBROUTINE lim_dyn_2 
     185 
     186 
     187   SUBROUTINE lim_dyn_init_2 
     188      !!------------------------------------------------------------------- 
     189      !!                  ***  ROUTINE lim_dyn_init_2  *** 
    190190      !! 
    191191      !! ** Purpose :   Physical constants and parameters linked to the ice 
     
    207207      IF(lwp) THEN                                ! Control print 
    208208         WRITE(numout,*) 
    209          WRITE(numout,*) 'lim_dyn_init : ice parameters for ice dynamics ' 
    210          WRITE(numout,*) '~~~~~~~~~~~~' 
     209         WRITE(numout,*) 'lim_dyn_init_2: ice parameters for ice dynamics ' 
     210         WRITE(numout,*) '~~~~~~~~~~~~~~' 
    211211         WRITE(numout,*) '       tolerance parameter                              epsd   = ', epsd 
    212212         WRITE(numout,*) '       coefficient for semi-implicit coriolis           alpha  = ', alpha 
     
    236236      ahiv(:,:) = ahi0 * vmask(:,:,1) 
    237237      ! 
    238    END SUBROUTINE lim_dyn_init 
     238   END SUBROUTINE lim_dyn_init_2 
    239239 
    240240#else 
    241241   !!---------------------------------------------------------------------- 
    242    !!   Default option          Empty module           NO LIM sea-ice model 
     242   !!   Default option          Empty module       NO LIM 2.0 sea-ice model 
    243243   !!---------------------------------------------------------------------- 
    244244CONTAINS 
    245    SUBROUTINE lim_dyn         ! Empty routine 
    246    END SUBROUTINE lim_dyn 
     245   SUBROUTINE lim_dyn_2         ! Empty routine 
     246   END SUBROUTINE lim_dyn_2 
    247247#endif  
    248248 
    249249   !!====================================================================== 
    250 END MODULE limdyn 
     250END MODULE limdyn_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limhdf.F90

    r701 r881  
    1 MODULE limhdf 
     1MODULE limhdf_2 
    22   !!====================================================================== 
    3    !!                    ***  MODULE limhdf   *** 
    4    !! LIM ice model : horizontal diffusion of sea-ice quantities 
     3   !!                    ***  MODULE limhdf_2   *** 
     4   !! LIM 2.0 ice model : horizontal diffusion of sea-ice quantities 
    55   !!====================================================================== 
    6 #if defined key_ice_lim 
     6#if defined key_lim2 
    77   !!---------------------------------------------------------------------- 
    8    !!   'key_ice_lim'                                     LIM sea-ice model 
     8   !!   'key_lim2'                                    LIM 2.0 sea-ice model 
    99   !!---------------------------------------------------------------------- 
    10    !!   lim_hdf  : diffusion trend on sea-ice variable 
     10   !!   lim_hdf_2  : diffusion trend on sea-ice variable 
    1111   !!---------------------------------------------------------------------- 
    1212   !! * Modules used 
     
    1414   USE ice_oce         ! ice variables 
    1515   USE in_out_manager 
    16    USE ice 
     16   USE ice_2 
    1717   USE lbclnk 
    1818   USE lib_mpp 
     
    2323 
    2424   !! * Routine accessibility 
    25    PUBLIC lim_hdf    ! called by lim_tra 
     25   PUBLIC lim_hdf_2    ! called by lim_tra_2 
    2626 
    2727   !! * Module variables 
     
    4040CONTAINS 
    4141 
    42    SUBROUTINE lim_hdf( ptab ) 
     42   SUBROUTINE lim_hdf_2( ptab ) 
    4343      !!------------------------------------------------------------------- 
    44       !!                  ***  ROUTINE lim_hdf  *** 
     44      !!                  ***  ROUTINE lim_hdf_2  *** 
    4545      !! 
    4646      !! ** purpose :   Compute and add the diffusive trend on sea-ice 
     
    171171      ENDIF 
    172172 
    173    END SUBROUTINE lim_hdf 
     173   END SUBROUTINE lim_hdf_2 
    174174 
    175175#else 
    176176   !!---------------------------------------------------------------------- 
    177    !!   Default option          Dummy module           NO LIM sea-ice model 
     177   !!   Default option          Dummy module       NO LIM 2.0 sea-ice model 
    178178   !!---------------------------------------------------------------------- 
    179179CONTAINS 
    180    SUBROUTINE lim_hdf         ! Empty routine 
    181    END SUBROUTINE lim_hdf 
     180   SUBROUTINE lim_hdf_2       ! Empty routine 
     181   END SUBROUTINE lim_hdf_2 
    182182#endif 
    183183 
    184184   !!====================================================================== 
    185 END MODULE limhdf 
     185END MODULE limhdf_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limistate.F90

    r717 r881  
    1 MODULE limistate 
     1MODULE limistate_2 
    22   !!====================================================================== 
    3    !!                     ***  MODULE  limistate  *** 
     3   !!                     ***  MODULE  limistate_2  *** 
    44   !!              Initialisation of diagnostics ice variables 
    55   !!====================================================================== 
     
    1010   !!                  !  07-10  (G. Madec)  surface module 
    1111   !!-------------------------------------------------------------------- 
    12 #if defined key_ice_lim 
    13    !!---------------------------------------------------------------------- 
    14    !!   'key_ice_lim' :                                   LIM sea-ice model 
    15    !!---------------------------------------------------------------------- 
    16    !!---------------------------------------------------------------------- 
    17    !!   lim_istate      :  Initialisation of diagnostics ice variables 
    18    !!   lim_istate_init :  initialization of ice state and namelist read 
     12#if defined key_lim2 
     13   !!---------------------------------------------------------------------- 
     14   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
     15   !!---------------------------------------------------------------------- 
     16   !!---------------------------------------------------------------------- 
     17   !!   lim_istate_2      :  Initialisation of diagnostics ice variables 
     18   !!   lim_istate_init_2 :  initialization of ice state and namelist read 
    1919   !!---------------------------------------------------------------------- 
    2020   USE phycst 
    2121   USE ocfzpt 
    22    USE par_ice         ! ice parameters 
     22   USE par_ice_2       ! ice parameters 
    2323   USE ice_oce         ! ice variables 
    24    USE dom_ice 
     24   USE dom_ice_2 
    2525   USE lbclnk 
    2626   USE oce 
    27    USE ice 
     27   USE ice_2 
    2828   USE iom 
    2929   USE in_out_manager 
     
    3232   PRIVATE 
    3333 
    34    PUBLIC   lim_istate   ! routine called by lim_init.F90 
    35  
    36    REAL(wp) ::           & !!! ** init namelist (namiceini) ** 
     34   PUBLIC lim_istate_2      ! routine called by lim_init_2.F90 
     35 
     36   REAL(wp) ::           &  !!! ** init namelist (namiceini) ** 
    3737      ttest  = 2.0  ,    &  ! threshold water temperature for initial sea ice 
    3838      hninn  = 0.5  ,    &  ! initial snow thickness in the north 
     
    5454CONTAINS 
    5555 
    56    SUBROUTINE lim_istate 
    57       !!------------------------------------------------------------------- 
    58       !!                    ***  ROUTINE lim_istate  *** 
     56   SUBROUTINE lim_istate_2 
     57      !!------------------------------------------------------------------- 
     58      !!                    ***  ROUTINE lim_istate_2  *** 
    5959      !! 
    6060      !! ** Purpose :   defined the sea-ice initial state 
     
    6868      !-------------------------------------------------------------------- 
    6969  
    70       CALL lim_istate_init     !  reading the initials parameters of the ice 
     70      CALL lim_istate_init_2     !  reading the initials parameters of the ice 
    7171 
    7272      IF( .NOT. ln_limini ) THEN   
     
    153153      CALL lbc_lnk( qstoif , 'T', 1. ) 
    154154 
    155    END SUBROUTINE lim_istate 
     155   END SUBROUTINE lim_istate_2 
    156156 
    157157    
    158    SUBROUTINE lim_istate_init 
    159       !!------------------------------------------------------------------- 
    160       !!                   ***  ROUTINE lim_istate_init  *** 
     158   SUBROUTINE lim_istate_init_2 
     159      !!------------------------------------------------------------------- 
     160      !!                   ***  ROUTINE lim_istate_init_2  *** 
    161161      !!         
    162162      !! ** Purpose :   Definition of initial state of the ice  
     
    179179      IF(lwp) THEN 
    180180         WRITE(numout,*) 
    181          WRITE(numout,*) 'lim_istate_init : ice parameters inititialisation ' 
    182          WRITE(numout,*) '~~~~~~~~~~~~~~~' 
     181         WRITE(numout,*) 'lim_istate_init_2 : ice parameters inititialisation ' 
     182         WRITE(numout,*) '~~~~~~~~~~~~~~~~~' 
    183183         WRITE(numout,*) '         threshold water temp. for initial sea-ice    ttest      = ', ttest 
    184184         WRITE(numout,*) '         initial snow thickness in the north          hninn      = ', hninn 
     
    214214      ENDIF 
    215215      !      
    216    END SUBROUTINE lim_istate_init 
     216   END SUBROUTINE lim_istate_init_2 
    217217 
    218218#else 
    219219   !!---------------------------------------------------------------------- 
    220    !!   Default option :         Empty module          NO LIM sea-ice model 
     220   !!   Default option :         Empty module      NO LIM 2.0 sea-ice model 
    221221   !!---------------------------------------------------------------------- 
    222222CONTAINS 
    223    SUBROUTINE lim_istate          ! Empty routine 
    224    END SUBROUTINE lim_istate 
     223   SUBROUTINE lim_istate_2        ! Empty routine 
     224   END SUBROUTINE lim_istate_2 
    225225#endif 
    226226 
    227227   !!====================================================================== 
    228 END MODULE limistate 
     228END MODULE limistate_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limmsh.F90

    r699 r881  
    1 MODULE limmsh 
     1MODULE limmsh_2 
    22   !!====================================================================== 
    3    !!                     ***  MODULE  limmsh  *** 
    4    !! LIM ice model :   definition of the ice mesh parameters 
     3   !!                     ***  MODULE  limmsh_2  *** 
     4   !! LIM 2.0 ice model :   definition of the ice mesh parameters 
    55   !!====================================================================== 
    6 #if defined key_ice_lim 
    7    !!---------------------------------------------------------------------- 
    8    !!   'key_ice_lim'                                     LIM sea-ice model 
    9    !!---------------------------------------------------------------------- 
    10    !!   lim_msh   : definition of the ice mesh 
     6#if defined key_lim2 
     7   !!---------------------------------------------------------------------- 
     8   !!   'key_lim2'                                     LIM 2.0sea-ice model 
     9   !!---------------------------------------------------------------------- 
     10   !!   lim_msh_2   : definition of the ice mesh 
    1111   !!---------------------------------------------------------------------- 
    1212   !! * Modules used 
    1313   USE phycst 
    1414   USE dom_oce 
    15    USE dom_ice 
     15   USE dom_ice_2 
    1616   USE lbclnk 
    1717   USE in_out_manager 
     
    2121 
    2222   !! * Accessibility 
    23    PUBLIC lim_msh      ! routine called by ice_ini.F90 
     23   PUBLIC lim_msh_2      ! routine called by ice_ini_2.F90 
    2424 
    2525   !!---------------------------------------------------------------------- 
     
    3131CONTAINS 
    3232 
    33    SUBROUTINE lim_msh 
     33   SUBROUTINE lim_msh_2 
    3434      !!------------------------------------------------------------------- 
    35       !!                  ***  ROUTINE lim_msh  *** 
     35      !!                  ***  ROUTINE lim_msh_2  *** 
    3636      !!               
    3737      !! ** Purpose : Definition of the charact. of the numerical grid 
     
    6262      IF(lwp) THEN 
    6363         WRITE(numout,*) 
    64          WRITE(numout,*) 'lim_msh : LIM sea-ice model, mesh initialization' 
    65          WRITE(numout,*) '~~~~~~~' 
     64         WRITE(numout,*) 'lim_msh_2 : LIM 2.0 sea-ice model, mesh initialization' 
     65         WRITE(numout,*) '~~~~~~~~~' 
    6666      ENDIF 
    6767       
     
    245245      area(:,:) = e1t(:,:) * e2t(:,:) 
    246246       
    247    END SUBROUTINE lim_msh 
     247   END SUBROUTINE lim_msh_2 
    248248 
    249249#else 
     
    252252   !!---------------------------------------------------------------------- 
    253253CONTAINS 
    254    SUBROUTINE lim_msh           ! Dummy routine 
    255    END SUBROUTINE lim_msh 
     254   SUBROUTINE lim_msh_2           ! Dummy routine 
     255   END SUBROUTINE lim_msh_2 
    256256#endif 
    257257 
    258258   !!====================================================================== 
    259 END MODULE limmsh 
     259END MODULE limmsh_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limrhg.F90

    r879 r881  
    1 MODULE limrhg 
     1MODULE limrhg_2 
    22   !!====================================================================== 
    3    !!                     ***  MODULE  limrhg  *** 
     3   !!                     ***  MODULE  limrhg_2  *** 
    44   !!   Ice rheology :  performs sea ice rheology 
    55   !!====================================================================== 
     
    1010   !!            " "  !  09-09  (G. Madec)  Huge verctor optimisation 
    1111   !!---------------------------------------------------------------------- 
    12 #if defined key_ice_lim 
    13    !!---------------------------------------------------------------------- 
    14    !!   'key_ice_lim'                                     LIM sea-ice model 
    15    !!---------------------------------------------------------------------- 
    16    !!---------------------------------------------------------------------- 
    17    !!   lim_rhg   : computes ice velocities 
     12#if defined key_lim2 
     13   !!---------------------------------------------------------------------- 
     14   !!   'key_lim2'                                    LIM 2.0 sea-ice model 
     15   !!---------------------------------------------------------------------- 
     16   !!---------------------------------------------------------------------- 
     17   !!   lim_rhg_2   : computes ice velocities 
    1818   !!---------------------------------------------------------------------- 
    1919   USE par_oce        ! ocean parameter 
    2020   USE ice_oce        ! ice variables 
    2121   USE sbc_ice        ! surface boundary condition: ice variables 
    22    USE dom_ice        ! domaine: ice variables 
     22   USE dom_ice_2      ! domaine: ice variables 
    2323   USE phycst         ! physical constant 
    24    USE ice            ! ice variables 
     24   USE ice_2          ! ice variables 
    2525   USE lbclnk         ! lateral boundary condition 
    2626   USE lib_mpp        ! MPP library 
     
    3131   PRIVATE 
    3232 
    33    PUBLIC   lim_rhg  ! routine called by lim_dyn 
     33   PUBLIC   lim_rhg_2 ! routine called by lim_dyn 
    3434 
    3535   REAL(wp) ::   rzero   = 0.e0   ! constant value: zero 
     
    4646CONTAINS 
    4747 
    48    SUBROUTINE lim_rhg( k_j1, k_jpj ) 
     48   SUBROUTINE lim_rhg_2( k_j1, k_jpj ) 
    4949      !!------------------------------------------------------------------- 
    50       !!                 ***  SUBROUTINR lim_rhg  *** 
     50      !!                 ***  SUBROUTINR lim_rhg_2  *** 
    5151      !! 
    5252      !! ** purpose :   determines the velocity field of sea ice by using 
     
    567567      ENDIF 
    568568 
    569    END SUBROUTINE lim_rhg 
     569   END SUBROUTINE lim_rhg_2 
    570570 
    571571#else 
    572572   !!---------------------------------------------------------------------- 
    573    !!   Default option          Dummy module           NO LIM sea-ice model 
     573   !!   Default option          Dummy module       NO 2.0 LIM sea-ice model 
    574574   !!---------------------------------------------------------------------- 
    575575CONTAINS 
    576    SUBROUTINE lim_rhg( k1 , k2 )         ! Dummy routine 
    577       WRITE(*,*) 'lim_rhg: You should not have seen this print! error?', k1, k2 
    578    END SUBROUTINE lim_rhg 
     576   SUBROUTINE lim_rhg_2( k1 , k2 )       ! Dummy routine 
     577      WRITE(*,*) 'lim_rhg_2: You should not have seen this print! error?', k1, k2 
     578   END SUBROUTINE lim_rhg_2 
    579579#endif 
    580580 
    581581   !!============================================================================== 
    582 END MODULE limrhg 
     582END MODULE limrhg_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limrst.F90

    r811 r881  
    1 MODULE limrst 
     1MODULE limrst_2 
    22   !!====================================================================== 
    3    !!                     ***  MODULE  limrst  *** 
     3   !!                     ***  MODULE  limrst_2  *** 
    44   !! Ice restart :  write the ice restart file 
    55   !!====================================================================== 
     
    77   !!                 !  06-07  (S. Masson)  use IOM for restart read/write 
    88   !!---------------------------------------------------------------------- 
    9 #if defined key_ice_lim 
    10    !!---------------------------------------------------------------------- 
    11    !!   'key_ice_lim' :                                   LIM sea-ice model 
    12    !!---------------------------------------------------------------------- 
    13    !!---------------------------------------------------------------------- 
    14    !!   lim_rst_opn   : open ice restart file 
    15    !!   lim_rst_write : write of the ice restart file  
    16    !!   lim_rst_read  : read  the ice restart file  
    17    !!---------------------------------------------------------------------- 
    18    USE ice 
     9#if defined key_lim2 
     10   !!---------------------------------------------------------------------- 
     11   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
     12   !!---------------------------------------------------------------------- 
     13   !!---------------------------------------------------------------------- 
     14   !!   lim_rst_opn_2   : open ice restart file 
     15   !!   lim_rst_write_2 : write of the ice restart file  
     16   !!   lim_rst_read_2  : read  the ice restart file  
     17   !!---------------------------------------------------------------------- 
     18   USE ice_2 
    1919   USE sbc_oce 
    2020   USE sbc_ice 
     
    2727   PRIVATE 
    2828 
    29    PUBLIC   lim_rst_opn     ! routine called by ??? module 
    30    PUBLIC   lim_rst_write   ! routine called by lim_step.F90 
    31    PUBLIC   lim_rst_read    ! routine called by lim_init.F90 
     29   PUBLIC   lim_rst_opn_2     ! routine called by sbcice_lim_2.F90 
     30   PUBLIC   lim_rst_write_2   ! routine called by sbcice_lim_2.F90 
     31   PUBLIC   lim_rst_read_2    ! routine called by iceini_2.F90 
    3232 
    3333   LOGICAL, PUBLIC ::   lrst_ice         !: logical to control the ice restart write  
     
    4242CONTAINS 
    4343 
    44    SUBROUTINE lim_rst_opn( kt ) 
    45       !!---------------------------------------------------------------------- 
    46       !!                    ***  lim_rst_opn  *** 
     44   SUBROUTINE lim_rst_opn_2( kt ) 
     45      !!---------------------------------------------------------------------- 
     46      !!                    ***  lim_rst_opn_2  *** 
    4747      !! 
    4848      !! ** purpose  :   output of sea-ice variable in a netcdf file 
     
    8282      ENDIF 
    8383      ! 
    84    END SUBROUTINE lim_rst_opn 
    85  
    86  
    87    SUBROUTINE lim_rst_write( kt ) 
    88       !!---------------------------------------------------------------------- 
    89       !!                    ***  lim_rst_write  *** 
     84   END SUBROUTINE lim_rst_opn_2 
     85 
     86 
     87   SUBROUTINE lim_rst_write_2( kt ) 
     88      !!---------------------------------------------------------------------- 
     89      !!                    ***  lim_rst_write_2  *** 
    9090      !! 
    9191      !! ** purpose  :   output of sea-ice variable in a netcdf file 
     
    100100      IF( iter == nitrst ) THEN 
    101101         IF(lwp) WRITE(numout,*) 
    102          IF(lwp) WRITE(numout,*) 'lim_rst_write : write ice restart file  kt =', kt 
    103          IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~' 
    104       ENDIF 
    105  
    106       ! Write in numriw (if iter  == nitrst) 
     102         IF(lwp) WRITE(numout,*) 'lim_rst_write_2 : write ice restart file  kt =', kt 
     103         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~' 
     104      ENDIF 
     105 
     106      ! Write in numriw (if iter == nitrst) 
    107107      ! ------------------  
    108108      !                                                                     ! calendar control 
     
    164164      ENDIF 
    165165      ! 
    166    END SUBROUTINE lim_rst_write 
    167  
    168  
    169    SUBROUTINE lim_rst_read 
    170       !!---------------------------------------------------------------------- 
    171       !!                    ***  lim_rst_read  *** 
     166   END SUBROUTINE lim_rst_write_2 
     167 
     168 
     169   SUBROUTINE lim_rst_read_2 
     170      !!---------------------------------------------------------------------- 
     171      !!                    ***  lim_rst_read_2  *** 
    172172      !! 
    173173      !! ** purpose  :   read of sea-ice variable restart in a netcdf file 
     
    178178      IF(lwp) THEN 
    179179         WRITE(numout,*) 
    180          WRITE(numout,*) 'lim_rst_read : read ice NetCDF restart file' 
    181          WRITE(numout,*) '~~~~~~~~~~~~' 
     180         WRITE(numout,*) 'lim_rst_read_2 : read ice NetCDF restart file' 
     181         WRITE(numout,*) '~~~~~~~~~~~~~~' 
    182182      ENDIF 
    183183 
     
    247247      CALL iom_close( numrir ) 
    248248      ! 
    249    END SUBROUTINE lim_rst_read 
     249   END SUBROUTINE lim_rst_read_2 
    250250 
    251251#else 
    252252   !!---------------------------------------------------------------------- 
    253    !!   Default option :       Empty module            NO LIM sea-ice model 
     253   !!   Default option :       Empty module        NO LIM 2.0 sea-ice model 
    254254   !!---------------------------------------------------------------------- 
    255255#endif 
    256256 
    257257   !!====================================================================== 
    258 END MODULE limrst 
     258END MODULE limrst_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limsbc.F90

    r878 r881  
    1 MODULE limsbc 
     1MODULE limsbc_2 
    22   !!====================================================================== 
    3    !!                       ***  MODULE limsbc   *** 
     3   !!                       ***  MODULE limsbc_2   *** 
    44   !!           computation of the flux at the sea ice/ocean interface 
    55   !!====================================================================== 
     
    88   !!           06-07 (G. Madec) surface module 
    99   !!---------------------------------------------------------------------- 
    10 #if defined key_ice_lim 
    11    !!---------------------------------------------------------------------- 
    12    !!   'key_ice_lim'                                     LIM sea-ice model 
    13    !!---------------------------------------------------------------------- 
    14    !!---------------------------------------------------------------------- 
    15    !!   lim_sbc  : flux at the ice / ocean interface 
     10#if defined key_lim2 
     11   !!---------------------------------------------------------------------- 
     12   !!   'key_lim2'                                    LIM 2.0 sea-ice model 
     13   !!---------------------------------------------------------------------- 
     14   !!---------------------------------------------------------------------- 
     15   !!   lim_sbc_2  : flux at the ice / ocean interface 
    1616   !!---------------------------------------------------------------------- 
    1717   USE par_oce          ! ocean parameters 
     
    2222   USE ocfzpt           ! surface ocean freezing point 
    2323   USE ice_oce          ! sea-ice variable 
    24    USE ice              ! LIM sea-ice variables 
    25    USE iceini           ! ??? 
     24   USE ice_2            ! LIM sea-ice variables 
     25   USE iceini_2         ! ??? 
    2626   USE dynspg_oce       ! choice of the surface pressure gradient scheme  
    2727 
     
    3434   PRIVATE 
    3535 
    36    PUBLIC lim_sbc       ! called by lim_step 
     36   PUBLIC lim_sbc_2     ! called by sbc_ice_lim_2 
    3737 
    3838   REAL(wp)  ::   epsi16 = 1.e-16  ! constant values 
     
    4444   !!---------------------------------------------------------------------- 
    4545   !!   LIM 2.0,  UCL-LOCEAN-IPSL (2006)  
    46    !! $Header: $ 
     46   !! $ Id: $ 
    4747   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    4848   !!---------------------------------------------------------------------- 
     
    5050CONTAINS 
    5151 
    52    SUBROUTINE lim_sbc( kt ) 
     52   SUBROUTINE lim_sbc_2( kt ) 
    5353      !!------------------------------------------------------------------- 
    54       !!                ***  ROUTINE lim_sbc *** 
     54      !!                ***  ROUTINE lim_sbc_2 *** 
    5555      !!   
    5656      !! ** Purpose : Update surface ocean boundary condition over areas 
     
    9696      IF( kt == nit000 ) THEN 
    9797         IF(lwp) WRITE(numout,*) 
    98          IF(lwp) WRITE(numout,*) 'lim_sbc : LIM sea-ice - surface boundary condition' 
    99          IF(lwp) WRITE(numout,*) '~~~~~~~   ' 
     98         IF(lwp) WRITE(numout,*) 'lim_sbc_2 : LIM 2.0 sea-ice - surface boundary condition' 
     99         IF(lwp) WRITE(numout,*) '~~~~~~~~~   ' 
    100100      ENDIF 
    101101 
     
    241241      ENDIF  
    242242    
    243     END SUBROUTINE lim_sbc 
     243    END SUBROUTINE lim_sbc_2 
    244244 
    245245#else 
    246246   !!---------------------------------------------------------------------- 
    247    !!   Default option :        Dummy module           NO LIM sea-ice model 
     247   !!   Default option :        Dummy module       NO LIM 2.0 sea-ice model 
    248248   !!---------------------------------------------------------------------- 
    249249CONTAINS 
    250    SUBROUTINE lim_sbc         ! Dummy routine 
    251    END SUBROUTINE lim_sbc 
     250   SUBROUTINE lim_sbc_2         ! Dummy routine 
     251   END SUBROUTINE lim_sbc_2 
    252252#endif  
    253253 
    254254   !!====================================================================== 
    255 END MODULE limsbc 
     255END MODULE limsbc_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limtab.F90

    r699 r881  
    1 MODULE limtab 
     1MODULE limtab_2 
    22   !!====================================================================== 
    3    !!                       ***  MODULE limtab   *** 
     3   !!                       ***  MODULE limtab_2   *** 
    44   !!              transform 1D (2D) array to a 2D (1D) table 
    55   !!====================================================================== 
    6 #if defined key_ice_lim 
     6#if defined key_lim2 
    77   !!---------------------------------------------------------------------- 
    88   !!   tab_2d_1d  : 2-D to 1-D 
     
    1616 
    1717   !! * Routine accessibility 
    18    PUBLIC tab_2d_1d  ! called by lim_ther 
    19    PUBLIC tab_1d_2d  ! called by lim_ther 
     18   PUBLIC tab_2d_1d_2  ! called by lim_ther 
     19   PUBLIC tab_1d_2d_2  ! called by lim_ther 
    2020 
    2121   !!---------------------------------------------------------------------- 
     
    2626CONTAINS 
    2727 
    28    SUBROUTINE tab_2d_1d ( ndim1d, tab1d, tab2d, ndim2d_x, ndim2d_y, tab_ind ) 
     28   SUBROUTINE tab_2d_1d_2 ( ndim1d, tab1d, tab2d, ndim2d_x, ndim2d_y, tab_ind ) 
    2929 
    3030      INTEGER, INTENT(in) :: & 
     
    4949      END DO  
    5050 
    51    END SUBROUTINE tab_2d_1d 
     51   END SUBROUTINE tab_2d_1d_2 
    5252 
    5353 
    54    SUBROUTINE tab_1d_2d ( ndim1d, tab2d, tab_ind, tab1d, ndim2d_x, ndim2d_y ) 
     54   SUBROUTINE tab_1d_2d_2 ( ndim1d, tab2d, tab_ind, tab1d, ndim2d_x, ndim2d_y ) 
    5555 
    5656      INTEGER, INTENT ( in) :: & 
     
    7575      END DO 
    7676 
    77    END SUBROUTINE tab_1d_2d 
     77   END SUBROUTINE tab_1d_2d_2 
    7878 
    7979#endif 
    80 END MODULE limtab 
     80END MODULE limtab_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limthd.F90

    r879 r881  
    1 MODULE limthd 
     1MODULE limthd_2 
    22   !!====================================================================== 
    3    !!                  ***  MODULE limthd   *** 
     3   !!                  ***  MODULE limthd_2   *** 
    44   !!              LIM thermo ice model : ice thermodynamic 
    55   !!====================================================================== 
     
    88   !!            2.0  !  03-08 (C. Ethe)  add lim_thd_init 
    99   !!--------------------------------------------------------------------- 
    10 #if defined key_ice_lim 
    11    !!---------------------------------------------------------------------- 
    12    !!   'key_ice_lim' :                                   LIM sea-ice model 
    13    !!---------------------------------------------------------------------- 
    14    !!   lim_thd      : thermodynamic of sea ice 
    15    !!   lim_thd_init : initialisation of sea-ice thermodynamic 
     10#if defined key_lim2 
     11   !!---------------------------------------------------------------------- 
     12   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
     13   !!---------------------------------------------------------------------- 
     14   !!   lim_thd_2      : thermodynamic of sea ice 
     15   !!   lim_thd_init_2 : initialisation of sea-ice thermodynamic 
    1616   !!---------------------------------------------------------------------- 
    1717   USE phycst          ! physical constants 
     
    1919   USE lbclnk 
    2020   USE in_out_manager  ! I/O manager 
    21    USE ice             ! LIM sea-ice variables 
     21   USE ice_2           ! LIM sea-ice variables 
    2222   USE ice_oce         ! sea-ice/ocean variables 
    2323   USE sbc_oce         !  
    2424   USE sbc_ice         !  
    25    USE thd_ice         ! LIM thermodynamic sea-ice variables 
    26    USE dom_ice         ! LIM sea-ice domain 
    27    USE iceini 
    28    USE limthd_zdf 
    29    USE limthd_lac 
    30    USE limtab 
     25   USE thd_ice_2       ! LIM thermodynamic sea-ice variables 
     26   USE dom_ice_2       ! LIM sea-ice domain 
     27   USE iceini_2 
     28   USE limthd_zdf_2 
     29   USE limthd_lac_2 
     30   USE limtab_2 
    3131   USE prtctl          ! Print control 
    3232       
     
    3434   PRIVATE 
    3535 
    36    PUBLIC   lim_thd    ! called by lim_step 
     36   PUBLIC   lim_thd_2  ! called by lim_step 
    3737 
    3838   REAL(wp)  ::   epsi20 = 1.e-20   ,  &  ! constant values 
     
    5353CONTAINS 
    5454 
    55    SUBROUTINE lim_thd( kt ) 
     55   SUBROUTINE lim_thd_2( kt ) 
    5656      !!------------------------------------------------------------------- 
    57       !!                ***  ROUTINE lim_thd  ***        
     57      !!                ***  ROUTINE lim_thd_2  ***        
    5858      !!   
    5959      !! ** Purpose : This routine manages the ice thermodynamic. 
     
    9393      !!------------------------------------------------------------------- 
    9494 
    95       IF( kt == nit000 )   CALL lim_thd_init  ! Initialization (first time-step only) 
     95      IF( kt == nit000 )   CALL lim_thd_init_2  ! Initialization (first time-step only) 
    9696    
    9797      !-------------------------------------------! 
     
    245245          
    246246         !  put the variable in a 1-D array for thermodynamics process 
    247          CALL tab_2d_1d( nbpb, frld_1d    (1:nbpb)     , frld       , jpi, jpj, npb(1:nbpb) ) 
    248          CALL tab_2d_1d( nbpb, h_ice_1d   (1:nbpb)     , hicif      , jpi, jpj, npb(1:nbpb) ) 
    249          CALL tab_2d_1d( nbpb, h_snow_1d  (1:nbpb)     , hsnif      , jpi, jpj, npb(1:nbpb) ) 
    250          CALL tab_2d_1d( nbpb, sist_1d    (1:nbpb)     , sist       , jpi, jpj, npb(1:nbpb) ) 
    251          CALL tab_2d_1d( nbpb, tbif_1d    (1:nbpb , 1 ), tbif(:,:,1), jpi, jpj, npb(1:nbpb) ) 
    252          CALL tab_2d_1d( nbpb, tbif_1d    (1:nbpb , 2 ), tbif(:,:,2), jpi, jpj, npb(1:nbpb) ) 
    253          CALL tab_2d_1d( nbpb, tbif_1d    (1:nbpb , 3 ), tbif(:,:,3), jpi, jpj, npb(1:nbpb) ) 
    254          CALL tab_2d_1d( nbpb, qsr_ice_1d (1:nbpb)     , qsr_ice    , jpi, jpj, npb(1:nbpb) ) 
    255          CALL tab_2d_1d( nbpb, fr1_i0_1d  (1:nbpb)     , fr1_i0     , jpi, jpj, npb(1:nbpb) ) 
    256          CALL tab_2d_1d( nbpb, fr2_i0_1d  (1:nbpb)     , fr2_i0     , jpi, jpj, npb(1:nbpb) ) 
    257          CALL tab_2d_1d( nbpb, qns_ice_1d (1:nbpb)     , qns_ice    , jpi, jpj, npb(1:nbpb) ) 
     247         CALL tab_2d_1d_2( nbpb, frld_1d    (1:nbpb)     , frld       , jpi, jpj, npb(1:nbpb) ) 
     248         CALL tab_2d_1d_2( nbpb, h_ice_1d   (1:nbpb)     , hicif      , jpi, jpj, npb(1:nbpb) ) 
     249         CALL tab_2d_1d_2( nbpb, h_snow_1d  (1:nbpb)     , hsnif      , jpi, jpj, npb(1:nbpb) ) 
     250         CALL tab_2d_1d_2( nbpb, sist_1d    (1:nbpb)     , sist       , jpi, jpj, npb(1:nbpb) ) 
     251         CALL tab_2d_1d_2( nbpb, tbif_1d    (1:nbpb , 1 ), tbif(:,:,1), jpi, jpj, npb(1:nbpb) ) 
     252         CALL tab_2d_1d_2( nbpb, tbif_1d    (1:nbpb , 2 ), tbif(:,:,2), jpi, jpj, npb(1:nbpb) ) 
     253         CALL tab_2d_1d_2( nbpb, tbif_1d    (1:nbpb , 3 ), tbif(:,:,3), jpi, jpj, npb(1:nbpb) ) 
     254         CALL tab_2d_1d_2( nbpb, qsr_ice_1d (1:nbpb)     , qsr_ice    , jpi, jpj, npb(1:nbpb) ) 
     255         CALL tab_2d_1d_2( nbpb, fr1_i0_1d  (1:nbpb)     , fr1_i0     , jpi, jpj, npb(1:nbpb) ) 
     256         CALL tab_2d_1d_2( nbpb, fr2_i0_1d  (1:nbpb)     , fr2_i0     , jpi, jpj, npb(1:nbpb) ) 
     257         CALL tab_2d_1d_2( nbpb, qns_ice_1d (1:nbpb)     , qns_ice    , jpi, jpj, npb(1:nbpb) ) 
    258258#if ! defined key_coupled 
    259          CALL tab_2d_1d( nbpb, qla_ice_1d (1:nbpb)     , qla_ice    , jpi, jpj, npb(1:nbpb) ) 
    260          CALL tab_2d_1d( nbpb, dqla_ice_1d(1:nbpb)     , dqla_ice   , jpi, jpj, npb(1:nbpb) ) 
     259         CALL tab_2d_1d_2( nbpb, qla_ice_1d (1:nbpb)     , qla_ice    , jpi, jpj, npb(1:nbpb) ) 
     260         CALL tab_2d_1d_2( nbpb, dqla_ice_1d(1:nbpb)     , dqla_ice   , jpi, jpj, npb(1:nbpb) ) 
    261261#endif 
    262          CALL tab_2d_1d( nbpb, dqns_ice_1d(1:nbpb)     , dqns_ice   , jpi, jpj, npb(1:nbpb) ) 
    263          CALL tab_2d_1d( nbpb, tfu_1d     (1:nbpb)     , tfu        , jpi, jpj, npb(1:nbpb) ) 
    264          CALL tab_2d_1d( nbpb, sprecip_1d (1:nbpb)     , sprecip    , jpi, jpj, npb(1:nbpb) )  
    265          CALL tab_2d_1d( nbpb, fbif_1d    (1:nbpb)     , fbif       , jpi, jpj, npb(1:nbpb) ) 
    266          CALL tab_2d_1d( nbpb, thcm_1d    (1:nbpb)     , thcm       , jpi, jpj, npb(1:nbpb) ) 
    267          CALL tab_2d_1d( nbpb, qldif_1d   (1:nbpb)     , qldif      , jpi, jpj, npb(1:nbpb) ) 
    268          CALL tab_2d_1d( nbpb, qstbif_1d  (1:nbpb)     , qstoif     , jpi, jpj, npb(1:nbpb) ) 
    269          CALL tab_2d_1d( nbpb, rdmicif_1d (1:nbpb)     , rdmicif    , jpi, jpj, npb(1:nbpb) ) 
    270          CALL tab_2d_1d( nbpb, dmgwi_1d   (1:nbpb)     , dmgwi      , jpi, jpj, npb(1:nbpb) ) 
    271          CALL tab_2d_1d( nbpb, qlbbq_1d   (1:nbpb)     , zqlbsbq    , jpi, jpj, npb(1:nbpb) ) 
     262         CALL tab_2d_1d_2( nbpb, dqns_ice_1d(1:nbpb)     , dqns_ice   , jpi, jpj, npb(1:nbpb) ) 
     263         CALL tab_2d_1d_2( nbpb, tfu_1d     (1:nbpb)     , tfu        , jpi, jpj, npb(1:nbpb) ) 
     264         CALL tab_2d_1d_2( nbpb, sprecip_1d (1:nbpb)     , sprecip    , jpi, jpj, npb(1:nbpb) )  
     265         CALL tab_2d_1d_2( nbpb, fbif_1d    (1:nbpb)     , fbif       , jpi, jpj, npb(1:nbpb) ) 
     266         CALL tab_2d_1d_2( nbpb, thcm_1d    (1:nbpb)     , thcm       , jpi, jpj, npb(1:nbpb) ) 
     267         CALL tab_2d_1d_2( nbpb, qldif_1d   (1:nbpb)     , qldif      , jpi, jpj, npb(1:nbpb) ) 
     268         CALL tab_2d_1d_2( nbpb, qstbif_1d  (1:nbpb)     , qstoif     , jpi, jpj, npb(1:nbpb) ) 
     269         CALL tab_2d_1d_2( nbpb, rdmicif_1d (1:nbpb)     , rdmicif    , jpi, jpj, npb(1:nbpb) ) 
     270         CALL tab_2d_1d_2( nbpb, dmgwi_1d   (1:nbpb)     , dmgwi      , jpi, jpj, npb(1:nbpb) ) 
     271         CALL tab_2d_1d_2( nbpb, qlbbq_1d   (1:nbpb)     , zqlbsbq    , jpi, jpj, npb(1:nbpb) ) 
    272272  
    273          CALL lim_thd_zdf( 1, nbpb )       !  compute ice growth 
     273         CALL lim_thd_zdf_2( 1, nbpb )       !  compute ice growth 
    274274          
    275275         !  back to the geographic grid. 
    276          CALL tab_1d_2d( nbpb, frld       , npb, frld_1d   (1:nbpb)     , jpi, jpj ) 
    277          CALL tab_1d_2d( nbpb, hicif      , npb, h_ice_1d  (1:nbpb)     , jpi, jpj ) 
    278          CALL tab_1d_2d( nbpb, hsnif      , npb, h_snow_1d (1:nbpb)     , jpi, jpj ) 
    279          CALL tab_1d_2d( nbpb, sist       , npb, sist_1d   (1:nbpb)     , jpi, jpj ) 
    280          CALL tab_1d_2d( nbpb, tbif(:,:,1), npb, tbif_1d   (1:nbpb , 1 ), jpi, jpj )    
    281          CALL tab_1d_2d( nbpb, tbif(:,:,2), npb, tbif_1d   (1:nbpb , 2 ), jpi, jpj )    
    282          CALL tab_1d_2d( nbpb, tbif(:,:,3), npb, tbif_1d   (1:nbpb , 3 ), jpi, jpj )    
    283          CALL tab_1d_2d( nbpb, fscmbq     , npb, fscbq_1d  (1:nbpb)     , jpi, jpj ) 
    284          CALL tab_1d_2d( nbpb, ffltbif    , npb, fltbif_1d (1:nbpb)     , jpi, jpj ) 
    285          CALL tab_1d_2d( nbpb, fstric     , npb, fstbif_1d (1:nbpb)     , jpi, jpj ) 
    286          CALL tab_1d_2d( nbpb, qldif      , npb, qldif_1d  (1:nbpb)     , jpi, jpj ) 
    287          CALL tab_1d_2d( nbpb, qfvbq      , npb, qfvbq_1d  (1:nbpb)     , jpi, jpj ) 
    288          CALL tab_1d_2d( nbpb, qstoif     , npb, qstbif_1d (1:nbpb)     , jpi, jpj ) 
    289          CALL tab_1d_2d( nbpb, rdmicif    , npb, rdmicif_1d(1:nbpb)     , jpi, jpj ) 
    290          CALL tab_1d_2d( nbpb, dmgwi      , npb, dmgwi_1d  (1:nbpb)     , jpi, jpj ) 
    291          CALL tab_1d_2d( nbpb, rdmsnif    , npb, rdmsnif_1d(1:nbpb)     , jpi, jpj ) 
    292          CALL tab_1d_2d( nbpb, rdvosif    , npb, dvsbq_1d  (1:nbpb)     , jpi, jpj ) 
    293          CALL tab_1d_2d( nbpb, rdvobif    , npb, dvbbq_1d  (1:nbpb)     , jpi, jpj ) 
    294          CALL tab_1d_2d( nbpb, fdvolif    , npb, dvlbq_1d  (1:nbpb)     , jpi, jpj ) 
    295          CALL tab_1d_2d( nbpb, rdvonif    , npb, dvnbq_1d  (1:nbpb)     , jpi, jpj )  
     276         CALL tab_1d_2d_2( nbpb, frld       , npb, frld_1d   (1:nbpb)     , jpi, jpj ) 
     277         CALL tab_1d_2d_2( nbpb, hicif      , npb, h_ice_1d  (1:nbpb)     , jpi, jpj ) 
     278         CALL tab_1d_2d_2( nbpb, hsnif      , npb, h_snow_1d (1:nbpb)     , jpi, jpj ) 
     279         CALL tab_1d_2d_2( nbpb, sist       , npb, sist_1d   (1:nbpb)     , jpi, jpj ) 
     280         CALL tab_1d_2d_2( nbpb, tbif(:,:,1), npb, tbif_1d   (1:nbpb , 1 ), jpi, jpj )    
     281         CALL tab_1d_2d_2( nbpb, tbif(:,:,2), npb, tbif_1d   (1:nbpb , 2 ), jpi, jpj )    
     282         CALL tab_1d_2d_2( nbpb, tbif(:,:,3), npb, tbif_1d   (1:nbpb , 3 ), jpi, jpj )    
     283         CALL tab_1d_2d_2( nbpb, fscmbq     , npb, fscbq_1d  (1:nbpb)     , jpi, jpj ) 
     284         CALL tab_1d_2d_2( nbpb, ffltbif    , npb, fltbif_1d (1:nbpb)     , jpi, jpj ) 
     285         CALL tab_1d_2d_2( nbpb, fstric     , npb, fstbif_1d (1:nbpb)     , jpi, jpj ) 
     286         CALL tab_1d_2d_2( nbpb, qldif      , npb, qldif_1d  (1:nbpb)     , jpi, jpj ) 
     287         CALL tab_1d_2d_2( nbpb, qfvbq      , npb, qfvbq_1d  (1:nbpb)     , jpi, jpj ) 
     288         CALL tab_1d_2d_2( nbpb, qstoif     , npb, qstbif_1d (1:nbpb)     , jpi, jpj ) 
     289         CALL tab_1d_2d_2( nbpb, rdmicif    , npb, rdmicif_1d(1:nbpb)     , jpi, jpj ) 
     290         CALL tab_1d_2d_2( nbpb, dmgwi      , npb, dmgwi_1d  (1:nbpb)     , jpi, jpj ) 
     291         CALL tab_1d_2d_2( nbpb, rdmsnif    , npb, rdmsnif_1d(1:nbpb)     , jpi, jpj ) 
     292         CALL tab_1d_2d_2( nbpb, rdvosif    , npb, dvsbq_1d  (1:nbpb)     , jpi, jpj ) 
     293         CALL tab_1d_2d_2( nbpb, rdvobif    , npb, dvbbq_1d  (1:nbpb)     , jpi, jpj ) 
     294         CALL tab_1d_2d_2( nbpb, fdvolif    , npb, dvlbq_1d  (1:nbpb)     , jpi, jpj ) 
     295         CALL tab_1d_2d_2( nbpb, rdvonif    , npb, dvnbq_1d  (1:nbpb)     , jpi, jpj )  
    296296 
    297297  
     
    348348          
    349349         !...Put the variable in a 1-D array for lateral accretion 
    350          CALL tab_2d_1d( nbpac, frld_1d   (1:nbpac)     , frld       , jpi, jpj, npac(1:nbpac) ) 
    351          CALL tab_2d_1d( nbpac, h_snow_1d (1:nbpac)     , hsnif      , jpi, jpj, npac(1:nbpac) ) 
    352          CALL tab_2d_1d( nbpac, h_ice_1d  (1:nbpac)     , hicif      , jpi, jpj, npac(1:nbpac) ) 
    353          CALL tab_2d_1d( nbpac, tbif_1d   (1:nbpac , 1 ), tbif(:,:,1), jpi, jpj, npac(1:nbpac) )    
    354          CALL tab_2d_1d( nbpac, tbif_1d   (1:nbpac , 2 ), tbif(:,:,2), jpi, jpj, npac(1:nbpac) )    
    355          CALL tab_2d_1d( nbpac, tbif_1d   (1:nbpac , 3 ), tbif(:,:,3), jpi, jpj, npac(1:nbpac) )    
    356          CALL tab_2d_1d( nbpac, qldif_1d  (1:nbpac)     , qldif      , jpi, jpj, npac(1:nbpac) ) 
    357          CALL tab_2d_1d( nbpac, qcmif_1d  (1:nbpac)     , qcmif      , jpi, jpj, npac(1:nbpac) ) 
    358          CALL tab_2d_1d( nbpac, qstbif_1d (1:nbpac)     , qstoif     , jpi, jpj, npac(1:nbpac) ) 
    359          CALL tab_2d_1d( nbpac, rdmicif_1d(1:nbpac)     , rdmicif    , jpi, jpj, npac(1:nbpac) ) 
    360          CALL tab_2d_1d( nbpac, dvlbq_1d  (1:nbpac)     , fdvolif    , jpi, jpj, npac(1:nbpac) ) 
    361          CALL tab_2d_1d( nbpac, tfu_1d    (1:nbpac)     , tfu        , jpi, jpj, npac(1:nbpac) ) 
     350         CALL tab_2d_1d_2( nbpac, frld_1d   (1:nbpac)     , frld       , jpi, jpj, npac(1:nbpac) ) 
     351         CALL tab_2d_1d_2( nbpac, h_snow_1d (1:nbpac)     , hsnif      , jpi, jpj, npac(1:nbpac) ) 
     352         CALL tab_2d_1d_2( nbpac, h_ice_1d  (1:nbpac)     , hicif      , jpi, jpj, npac(1:nbpac) ) 
     353         CALL tab_2d_1d_2( nbpac, tbif_1d   (1:nbpac , 1 ), tbif(:,:,1), jpi, jpj, npac(1:nbpac) )    
     354         CALL tab_2d_1d_2( nbpac, tbif_1d   (1:nbpac , 2 ), tbif(:,:,2), jpi, jpj, npac(1:nbpac) )    
     355         CALL tab_2d_1d_2( nbpac, tbif_1d   (1:nbpac , 3 ), tbif(:,:,3), jpi, jpj, npac(1:nbpac) )    
     356         CALL tab_2d_1d_2( nbpac, qldif_1d  (1:nbpac)     , qldif      , jpi, jpj, npac(1:nbpac) ) 
     357         CALL tab_2d_1d_2( nbpac, qcmif_1d  (1:nbpac)     , qcmif      , jpi, jpj, npac(1:nbpac) ) 
     358         CALL tab_2d_1d_2( nbpac, qstbif_1d (1:nbpac)     , qstoif     , jpi, jpj, npac(1:nbpac) ) 
     359         CALL tab_2d_1d_2( nbpac, rdmicif_1d(1:nbpac)     , rdmicif    , jpi, jpj, npac(1:nbpac) ) 
     360         CALL tab_2d_1d_2( nbpac, dvlbq_1d  (1:nbpac)     , fdvolif    , jpi, jpj, npac(1:nbpac) ) 
     361         CALL tab_2d_1d_2( nbpac, tfu_1d    (1:nbpac)     , tfu        , jpi, jpj, npac(1:nbpac) ) 
    362362         
    363363         !  call lateral accretion routine. 
    364          CALL lim_thd_lac( 1 , nbpac ) 
     364         CALL lim_thd_lac_2( 1 , nbpac ) 
    365365          
    366366         !   back to the geographic grid 
    367          CALL tab_1d_2d( nbpac, frld       , npac(1:nbpac), frld_1d   (1:nbpac)     , jpi, jpj ) 
    368          CALL tab_1d_2d( nbpac, hsnif      , npac(1:nbpac), h_snow_1d (1:nbpac)     , jpi, jpj ) 
    369          CALL tab_1d_2d( nbpac, hicif      , npac(1:nbpac), h_ice_1d  (1:nbpac)     , jpi, jpj ) 
    370          CALL tab_1d_2d( nbpac, tbif(:,:,1), npac(1:nbpac), tbif_1d   (1:nbpac , 1 ), jpi, jpj ) 
    371          CALL tab_1d_2d( nbpac, tbif(:,:,2), npac(1:nbpac), tbif_1d   (1:nbpac , 2 ), jpi, jpj ) 
    372          CALL tab_1d_2d( nbpac, tbif(:,:,3), npac(1:nbpac), tbif_1d   (1:nbpac , 3 ), jpi, jpj ) 
    373          CALL tab_1d_2d( nbpac, qstoif     , npac(1:nbpac), qstbif_1d (1:nbpac)     , jpi, jpj ) 
    374          CALL tab_1d_2d( nbpac, rdmicif    , npac(1:nbpac), rdmicif_1d(1:nbpac)     , jpi, jpj ) 
    375          CALL tab_1d_2d( nbpac, fdvolif    , npac(1:nbpac), dvlbq_1d  (1:nbpac)     , jpi, jpj ) 
     367         CALL tab_1d_2d_2( nbpac, frld       , npac(1:nbpac), frld_1d   (1:nbpac)     , jpi, jpj ) 
     368         CALL tab_1d_2d_2( nbpac, hsnif      , npac(1:nbpac), h_snow_1d (1:nbpac)     , jpi, jpj ) 
     369         CALL tab_1d_2d_2( nbpac, hicif      , npac(1:nbpac), h_ice_1d  (1:nbpac)     , jpi, jpj ) 
     370         CALL tab_1d_2d_2( nbpac, tbif(:,:,1), npac(1:nbpac), tbif_1d   (1:nbpac , 1 ), jpi, jpj ) 
     371         CALL tab_1d_2d_2( nbpac, tbif(:,:,2), npac(1:nbpac), tbif_1d   (1:nbpac , 2 ), jpi, jpj ) 
     372         CALL tab_1d_2d_2( nbpac, tbif(:,:,3), npac(1:nbpac), tbif_1d   (1:nbpac , 3 ), jpi, jpj ) 
     373         CALL tab_1d_2d_2( nbpac, qstoif     , npac(1:nbpac), qstbif_1d (1:nbpac)     , jpi, jpj ) 
     374         CALL tab_1d_2d_2( nbpac, rdmicif    , npac(1:nbpac), rdmicif_1d(1:nbpac)     , jpi, jpj ) 
     375         CALL tab_1d_2d_2( nbpac, fdvolif    , npac(1:nbpac), dvlbq_1d  (1:nbpac)     , jpi, jpj ) 
    376376         
    377377      ENDIF 
     
    391391      IF(ln_ctl) THEN 
    392392         CALL prt_ctl_info(' lim_thd  end  ') 
    393          CALL prt_ctl(tab2d_1=hicif      , clinfo1=' hicif   : ', tab2d_2=hsnif      , clinfo2=' hsnif  : ') 
    394          CALL prt_ctl(tab2d_1=frld       , clinfo1=' frld    : ', tab2d_2=hicifp     , clinfo2=' hicifp : ') 
    395          CALL prt_ctl(tab2d_1=phicif     , clinfo1=' phicif  : ', tab2d_2=pfrld      , clinfo2=' pfrld  : ') 
    396          CALL prt_ctl(tab2d_1=sist       , clinfo1=' sist    : ', tab2d_2=tbif(:,:,1), clinfo2=' tbif 1 : ') 
    397          CALL prt_ctl(tab2d_1=tbif(:,:,2), clinfo1=' tbif 2  : ', tab2d_2=tbif(:,:,3), clinfo2=' tbif 3 : ') 
    398          CALL prt_ctl(tab2d_1=fdtcn      , clinfo1=' fdtcn   : ', tab2d_2=qdtcn      , clinfo2=' qdtcn  : ') 
    399          CALL prt_ctl(tab2d_1=qstoif     , clinfo1=' qstoif  : ', tab2d_2=fsbbq      , clinfo2=' fsbbq  : ') 
     393         CALL prt_ctl(tab2d_1=hicif , clinfo1=' lim_thd: hicif   : ', tab2d_2=hsnif , clinfo2=' hsnif  : ') 
     394         CALL prt_ctl(tab2d_1=frld  , clinfo1=' lim_thd: frld    : ', tab2d_2=hicifp, clinfo2=' hicifp : ') 
     395         CALL prt_ctl(tab2d_1=phicif, clinfo1=' lim_thd: phicif  : ', tab2d_2=pfrld , clinfo2=' pfrld  : ') 
     396         CALL prt_ctl(tab2d_1=sist  , clinfo1=' lim_thd: sist    : ') 
     397         CALL prt_ctl(tab2d_1=tbif(:,:,1), clinfo1=' lim_thd: tbif 1  : ') 
     398         CALL prt_ctl(tab2d_1=tbif(:,:,2), clinfo1=' lim_thd: tbif 2  : ') 
     399         CALL prt_ctl(tab2d_1=tbif(:,:,3), clinfo1=' lim_thd: tbif 3  : ') 
     400         CALL prt_ctl(tab2d_1=fdtcn , clinfo1=' lim_thd: fdtcn   : ', tab2d_2=qdtcn , clinfo2=' qdtcn  : ') 
     401         CALL prt_ctl(tab2d_1=qstoif, clinfo1=' lim_thd: qstoif  : ', tab2d_2=fsbbq , clinfo2=' fsbbq  : ') 
    400402      ENDIF 
    401403       ! 
    402    END SUBROUTINE lim_thd 
    403  
    404  
    405    SUBROUTINE lim_thd_init 
     404    END SUBROUTINE lim_thd_2 
     405 
     406 
     407    SUBROUTINE lim_thd_init_2 
    406408      !!------------------------------------------------------------------- 
    407       !!                   ***  ROUTINE lim_thd_init ***  
     409      !!                   ***  ROUTINE lim_thd_init_2 ***  
    408410      !!                  
    409411      !! ** Purpose :   Physical constants and parameters linked to the ice  
     
    427429      IF(lwp) THEN 
    428430         WRITE(numout,*) 
    429          WRITE(numout,*)'lim_thd_init : ice parameters for ice thermodynamic computation ' 
    430          WRITE(numout,*)'~~~~~~~~~~~~' 
     431         WRITE(numout,*)'lim_thd_init_2: ice parameters for ice thermodynamic computation ' 
     432         WRITE(numout,*)'~~~~~~~~~~~~~~' 
    431433         WRITE(numout,*)'       maximum melting at the bottom                           hmelt        = ', hmelt 
    432434         WRITE(numout,*)'       ice thick. for lateral accretion in NH (SH)             hiccrit(1/2) = ', hiccrit 
     
    458460      ENDIF 
    459461  
    460    END SUBROUTINE lim_thd_init 
     462   END SUBROUTINE lim_thd_init_2 
    461463 
    462464#else 
    463465   !!---------------------------------------------------------------------- 
    464    !!   Default option          Dummy module           NO LIM sea-ice model 
     466   !!   Default option          Dummy module       NO LIM 2.0 sea-ice model 
    465467   !!---------------------------------------------------------------------- 
    466468CONTAINS 
    467    SUBROUTINE lim_thd         ! Dummy routine 
    468    END SUBROUTINE lim_thd 
     469   SUBROUTINE lim_thd_2         ! Dummy routine 
     470   END SUBROUTINE lim_thd_2 
    469471#endif 
    470472 
    471473   !!====================================================================== 
    472 END MODULE limthd 
     474END MODULE limthd_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limthd_lac.F90

    r699 r881  
    1 MODULE limthd_lac 
    2 #if defined key_ice_lim 
    3    !!====================================================================== 
    4    !!                       ***  MODULE limthd_lac   *** 
     1MODULE limthd_lac_2 
     2#if defined key_lim2 
     3   !!====================================================================== 
     4   !!                       ***  MODULE limthd_lac_2   *** 
    55   !!                lateral thermodynamic growth of the ice  
    66   !!====================================================================== 
    77 
    88   !!---------------------------------------------------------------------- 
    9    !!   lim_lat_acr    : lateral accretion of ice 
     9   !!   lim_lat_acr_2    : lateral accretion of ice 
    1010   !! * Modules used 
    1111   USE par_oce          ! ocean parameters 
    1212   USE phycst 
    13    USE ice_oce         ! ice variables 
    14    USE thd_ice 
    15    USE iceini 
    16    USE limistate  
     13   USE ice_oce          ! ice variables 
     14   USE thd_ice_2 
     15   USE iceini_2 
     16   USE limistate_2  
    1717      
    1818   IMPLICIT NONE 
     
    2020 
    2121   !! * Routine accessibility 
    22    PUBLIC lim_thd_lac     ! called by lim_thd 
     22   PUBLIC lim_thd_lac_2   ! called by lim_thd_2 
    2323 
    2424   !! * Module variables 
     
    3535CONTAINS 
    3636     
    37    SUBROUTINE lim_thd_lac( kideb, kiut ) 
     37   SUBROUTINE lim_thd_lac_2( kideb, kiut ) 
    3838      !!------------------------------------------------------------------- 
    39       !!               ***   ROUTINE lim_thd_lac  *** 
     39      !!               ***   ROUTINE lim_thd_lac_2  *** 
    4040      !!   
    4141      !! ** Purpose : Computation of the evolution of the ice thickness and  
     
    220220      END DO 
    221221       
    222    END SUBROUTINE lim_thd_lac 
     222   END SUBROUTINE lim_thd_lac_2 
    223223#else 
    224224   !!====================================================================== 
    225    !!                       ***  MODULE limthd_lac   *** 
     225   !!                       ***  MODULE limthd_lac_2   *** 
    226226   !!                           no sea ice model 
    227227   !!====================================================================== 
    228228CONTAINS 
    229    SUBROUTINE lim_thd_lac           ! Empty routine 
    230    END SUBROUTINE lim_thd_lac 
     229   SUBROUTINE lim_thd_lac_2           ! Empty routine 
     230   END SUBROUTINE lim_thd_lac_2 
    231231#endif 
    232 END MODULE limthd_lac 
     232END MODULE limthd_lac_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limthd_zdf.F90

    r717 r881  
    1 MODULE limthd_zdf 
     1MODULE limthd_zdf_2 
    22   !!====================================================================== 
    3    !!                       ***  MODULE limthd_zdf *** 
     3   !!                       ***  MODULE limthd_zdf_2 *** 
    44   !!                thermodynamic growth and decay of the ice  
    55   !!====================================================================== 
     
    77   !!            2.0  !  02-08 (C. Ethe, G. Madec) F90 
    88   !!---------------------------------------------------------------------- 
    9 #if defined key_ice_lim 
    10    !!---------------------------------------------------------------------- 
    11    !!   'key_ice_lim'                                     LIM sea-ice model 
    12    !!---------------------------------------------------------------------- 
    13    !!---------------------------------------------------------------------- 
    14    !!   lim_thd_zdf  : vertical accr./abl. and lateral ablation of sea ice 
     9#if defined key_lim2 
     10   !!---------------------------------------------------------------------- 
     11   !!   'key_lim2'                                    LIM 2.0 sea-ice model 
     12   !!---------------------------------------------------------------------- 
     13   !!---------------------------------------------------------------------- 
     14   !!   lim_thd_zdf_2 : vertical accr./abl. and lateral ablation of sea ice 
    1515   !!---------------------------------------------------------------------- 
    1616   USE par_oce          ! ocean parameters 
    1717   USE phycst           ! ??? 
    1818   USE ice_oce          ! ice variables 
    19    USE thd_ice 
    20    USE iceini 
    21    USE limistate 
     19   USE thd_ice_2 
     20   USE iceini_2 
     21   USE limistate_2 
    2222   USE in_out_manager 
    2323       
     
    2525   PRIVATE 
    2626 
    27    PUBLIC   lim_thd_zdf        ! called by lim_thd 
     27   PUBLIC   lim_thd_zdf_2        ! called by lim_thd_2 
    2828 
    2929   REAL(wp) ::   epsi20 = 1.e-20  ,  &  ! constant values 
     
    3939CONTAINS 
    4040 
    41    SUBROUTINE lim_thd_zdf( kideb , kiut ) 
     41   SUBROUTINE lim_thd_zdf_2( kideb , kiut ) 
    4242      !!------------------------------------------------------------------ 
    43       !!                ***  ROUTINE lim_thd_zdf  *** 
     43      !!                ***  ROUTINE lim_thd_zdf_2  *** 
    4444      !!               
    4545      !! ** Purpose : This routine determines the time evolution of snow  
     
    773773       END DO 
    774774       !  
    775     END SUBROUTINE lim_thd_zdf 
     775    END SUBROUTINE lim_thd_zdf_2 
    776776 
    777777#else 
     
    780780   !!---------------------------------------------------------------------- 
    781781CONTAINS 
    782    SUBROUTINE lim_thd_zdf          ! Empty routine 
    783    END SUBROUTINE lim_thd_zdf 
     782   SUBROUTINE lim_thd_zdf_2          ! Empty routine 
     783   END SUBROUTINE lim_thd_zdf_2 
    784784#endif 
    785785 
    786786   !!====================================================================== 
    787 END MODULE limthd_zdf 
     787END MODULE limthd_zdf_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limtrp.F90

    r717 r881  
    1 MODULE limtrp 
     1MODULE limtrp_2 
    22   !!====================================================================== 
    3    !!                       ***  MODULE limtrp   *** 
    4    !! LIM transport ice model : sea-ice advection/diffusion 
     3   !!                       ***  MODULE limtrp_2   *** 
     4   !! LIM 2.0 transport ice model : sea-ice advection/diffusion 
    55   !!====================================================================== 
    6 #if defined key_ice_lim 
    7    !!---------------------------------------------------------------------- 
    8    !!   'key_ice_lim' :                                   LIM sea-ice model 
    9    !!---------------------------------------------------------------------- 
    10    !!   lim_trp      : advection/diffusion process of sea ice 
    11    !!   lim_trp_init : initialization and namelist read 
     6#if defined key_lim2 
     7   !!---------------------------------------------------------------------- 
     8   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
     9   !!---------------------------------------------------------------------- 
     10   !!   lim_trp_2      : advection/diffusion process of sea ice 
     11   !!   lim_trp_init_2 : initialization and namelist read 
    1212   !!---------------------------------------------------------------------- 
    1313   !! * Modules used 
     
    1717   USE in_out_manager  ! I/O manager 
    1818   USE ice_oce         ! ice variables 
    19    USE dom_ice 
    20    USE ice 
    21    USE iceini 
    22    USE limistate 
    23    USE limadv 
    24    USE limhdf 
     19   USE dom_ice_2 
     20   USE ice_2 
     21   USE iceini_2 
     22   USE limistate_2 
     23   USE limadv_2 
     24   USE limhdf_2 
    2525   USE lbclnk 
    2626   USE lib_mpp 
     
    3030 
    3131   !! * Routine accessibility 
    32    PUBLIC lim_trp       ! called by ice_step 
     32   PUBLIC lim_trp_2     ! called by sbc_ice_lim_2 
    3333 
    3434   !! * Shared module variables 
     
    5454CONTAINS 
    5555 
    56    SUBROUTINE lim_trp( kt ) 
     56   SUBROUTINE lim_trp_2( kt ) 
    5757      !!------------------------------------------------------------------- 
    58       !!                   ***  ROUTINE lim_trp *** 
     58      !!                   ***  ROUTINE lim_trp_2 *** 
    5959      !!                     
    6060      !! ** purpose : advection/diffusion process of sea ice 
     
    9797      !--------------------------------------------------------------------- 
    9898 
    99       IF( kt == nit000  )   CALL lim_trp_init      ! Initialization (first time-step only) 
     99      IF( kt == nit000  )   CALL lim_trp_init_2      ! Initialization (first time-step only) 
    100100 
    101101      zsm(:,:) = area(:,:) 
     
    128128         IF (lk_mpp ) CALL mpp_max(zcfl) 
    129129 
    130          IF ( zcfl > 0.5 .AND. lwp )   WRITE(numout,*) 'lim_trp : violation of cfl criterion the ',nday,'th day, cfl = ',zcfl 
     130         IF ( zcfl > 0.5 .AND. lwp )   WRITE(numout,*) 'lim_trp_2 : violation of cfl criterion the ',nday,'th day, cfl = ',zcfl 
    131131 
    132132         ! content of properties 
     
    149149         IF ( MOD( nday , 2 ) == 0) THEN 
    150150            DO jk = 1,initad 
    151                CALL lim_adv_x( zusnit, zui_u, rone , zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) 
    152                CALL lim_adv_y( zusnit, zvi_v, rzero, zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) 
    153                CALL lim_adv_x( zusnit, zui_u, rone , zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn  ) 
    154                CALL lim_adv_y( zusnit, zvi_v, rzero, zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn  ) 
    155                CALL lim_adv_x( zusnit, zui_u, rone , zsm, zs0a  , sxa  , sxxa  , sya  , syya  , sxya   ) 
    156                CALL lim_adv_y( zusnit, zvi_v, rzero, zsm, zs0a  , sxa  , sxxa  , sya  , syya  , sxya   ) 
    157                CALL lim_adv_x( zusnit, zui_u, rone , zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0  ) 
    158                CALL lim_adv_y( zusnit, zvi_v, rzero, zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0  ) 
    159                CALL lim_adv_x( zusnit, zui_u, rone , zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1  ) 
    160                CALL lim_adv_y( zusnit, zvi_v, rzero, zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1  ) 
    161                CALL lim_adv_x( zusnit, zui_u, rone , zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2  ) 
    162                CALL lim_adv_y( zusnit, zvi_v, rzero, zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2  ) 
    163                CALL lim_adv_x( zusnit, zui_u, rone , zsm, zs0st , sxst , sxxst , syst , syyst , sxyst  ) 
    164                CALL lim_adv_y( zusnit, zvi_v, rzero, zsm, zs0st , sxst , sxxst , syst , syyst , sxyst  ) 
     151               CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) 
     152               CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) 
     153               CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn  ) 
     154               CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn  ) 
     155               CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0a  , sxa  , sxxa  , sya  , syya  , sxya   ) 
     156               CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0a  , sxa  , sxxa  , sya  , syya  , sxya   ) 
     157               CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0  ) 
     158               CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0  ) 
     159               CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1  ) 
     160               CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1  ) 
     161               CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2  ) 
     162               CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2  ) 
     163               CALL lim_adv_x_2( zusnit, zui_u, rone , zsm, zs0st , sxst , sxxst , syst , syyst , sxyst  ) 
     164               CALL lim_adv_y_2( zusnit, zvi_v, rzero, zsm, zs0st , sxst , sxxst , syst , syyst , sxyst  ) 
    165165            END DO 
    166166         ELSE 
    167167            DO jk = 1, initad 
    168                CALL lim_adv_y( zusnit, zvi_v, rone , zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) 
    169                CALL lim_adv_x( zusnit, zui_u, rzero, zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) 
    170                CALL lim_adv_y( zusnit, zvi_v, rone , zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn  ) 
    171                CALL lim_adv_x( zusnit, zui_u, rzero, zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn  ) 
    172                CALL lim_adv_y( zusnit, zvi_v, rone , zsm, zs0a  , sxa  , sxxa  , sya  , syya  , sxya   ) 
    173                CALL lim_adv_x( zusnit, zui_u, rzero, zsm, zs0a  , sxa  , sxxa  , sya  , syya  , sxya   ) 
    174                CALL lim_adv_y( zusnit, zvi_v, rone , zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0  ) 
    175                CALL lim_adv_x( zusnit, zui_u, rzero, zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0  ) 
    176                CALL lim_adv_y( zusnit, zvi_v, rone , zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1  ) 
    177                CALL lim_adv_x( zusnit, zui_u, rzero, zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1  ) 
    178                CALL lim_adv_y( zusnit, zvi_v, rone , zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2  ) 
    179                CALL lim_adv_x( zusnit, zui_u, rzero, zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2  ) 
    180                CALL lim_adv_y( zusnit, zvi_v, rone , zsm, zs0st , sxst , sxxst , syst , syyst , sxyst  ) 
    181                CALL lim_adv_x( zusnit, zui_u, rzero, zsm, zs0st , sxst , sxxst , syst , syyst , sxyst  ) 
     168               CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) 
     169               CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0ice, sxice, sxxice, syice, syyice, sxyice ) 
     170               CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn  ) 
     171               CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0sn , sxsn , sxxsn , sysn , syysn , sxysn  ) 
     172               CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0a  , sxa  , sxxa  , sya  , syya  , sxya   ) 
     173               CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0a  , sxa  , sxxa  , sya  , syya  , sxya   ) 
     174               CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0  ) 
     175               CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0c0 , sxc0 , sxxc0 , syc0 , syyc0 , sxyc0  ) 
     176               CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1  ) 
     177               CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0c1 , sxc1 , sxxc1 , syc1 , syyc1 , sxyc1  ) 
     178               CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2  ) 
     179               CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0c2 , sxc2 , sxxc2 , syc2 , syyc2 , sxyc2  ) 
     180               CALL lim_adv_y_2( zusnit, zvi_v, rone , zsm, zs0st , sxst , sxxst , syst , syyst , sxyst  ) 
     181               CALL lim_adv_x_2( zusnit, zui_u, rzero, zsm, zs0st , sxst , sxxst , syst , syyst , sxyst  ) 
    182182            END DO 
    183183         ENDIF 
     
    211211         ! diffusion 
    212212         ! --------- 
    213          CALL lim_hdf( zs0ice ) 
    214          CALL lim_hdf( zs0sn  ) 
    215          CALL lim_hdf( zs0a   ) 
    216          CALL lim_hdf( zs0c0  ) 
    217          CALL lim_hdf( zs0c1  ) 
    218          CALL lim_hdf( zs0c2  ) 
    219          CALL lim_hdf( zs0st  ) 
     213         CALL lim_hdf_2( zs0ice ) 
     214         CALL lim_hdf_2( zs0sn  ) 
     215         CALL lim_hdf_2( zs0a   ) 
     216         CALL lim_hdf_2( zs0c0  ) 
     217         CALL lim_hdf_2( zs0c1  ) 
     218         CALL lim_hdf_2( zs0c2  ) 
     219         CALL lim_hdf_2( zs0st  ) 
    220220 
    221221         zs0ice(:,:) = MAX( rzero, zs0ice(:,:) * area(:,:) )    !!bug:  est-ce utile 
     
    278278      ENDIF 
    279279       
    280    END SUBROUTINE lim_trp 
    281  
    282  
    283    SUBROUTINE lim_trp_init 
     280   END SUBROUTINE lim_trp_2 
     281 
     282 
     283   SUBROUTINE lim_trp_init_2 
    284284      !!------------------------------------------------------------------- 
    285       !!                  ***  ROUTINE lim_trp_init  *** 
     285      !!                  ***  ROUTINE lim_trp_init_2  *** 
    286286      !! 
    287287      !! ** Purpose :   initialization of ice advection parameters 
     
    303303      IF(lwp) THEN 
    304304         WRITE(numout,*) 
    305          WRITE(numout,*) 'lim_trp_init : Ice parameters for advection ' 
    306          WRITE(numout,*) '~~~~~~~~~~~~' 
     305         WRITE(numout,*) 'lim_trp_init_2 : Ice parameters for advection ' 
     306         WRITE(numout,*) '~~~~~~~~~~~~~~' 
    307307         WRITE(numout,*) '   boundary conditions (0. no-slip, 1. free-slip) bound  = ', bound 
    308308      ENDIF 
    309309             
    310    END SUBROUTINE lim_trp_init 
     310   END SUBROUTINE lim_trp_init_2 
    311311 
    312312#else 
     
    315315   !!---------------------------------------------------------------------- 
    316316CONTAINS 
    317    SUBROUTINE lim_trp        ! Empty routine 
    318    END SUBROUTINE lim_trp 
     317   SUBROUTINE lim_trp_2        ! Empty routine 
     318   END SUBROUTINE lim_trp_2 
    319319#endif 
    320320 
    321321   !!====================================================================== 
    322 END MODULE limtrp 
     322END MODULE limtrp_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limwri.F90

    r879 r881  
    1 MODULE limwri 
     1MODULE limwri_2 
    22   !!====================================================================== 
    3    !!                     ***  MODULE  limwri  *** 
     3   !!                     ***  MODULE  limwri_2  *** 
    44   !!         Ice diagnostics :  write ice output files 
    55   !!====================================================================== 
     
    77   !!            2.0  ! 04-10  (C. Ethe )  1D configuration 
    88   !!------------------------------------------------------------------- 
    9 #if defined key_ice_lim 
    10    !!---------------------------------------------------------------------- 
    11    !!   'key_ice_lim'                                     LIM sea-ice model 
    12    !!---------------------------------------------------------------------- 
    13    !!---------------------------------------------------------------------- 
    14    !!   lim_wri      : write of the diagnostics variables in ouput file  
    15    !!   lim_wri_init : initialization and namelist read 
     9#if defined key_lim2 
     10   !!---------------------------------------------------------------------- 
     11   !!   'key_lim2'                                    LIM 2.0 sea-ice model 
     12   !!---------------------------------------------------------------------- 
     13   !!---------------------------------------------------------------------- 
     14   !!   lim_wri_2      : write of the diagnostics variables in ouput file  
     15   !!   lim_wri_init_2 : initialization and namelist read 
    1616   !!---------------------------------------------------------------------- 
    1717   USE phycst 
     
    2121   USE sbc_oce 
    2222   USE sbc_ice 
    23    USE dom_ice 
    24    USE ice 
     23   USE dom_ice_2 
     24   USE ice_2 
    2525 
    2626   USE lbclnk 
     
    3232   PRIVATE 
    3333 
    34    PUBLIC   lim_wri        ! routine called by sbcice_lim module 
     34   PUBLIC   lim_wri_2      ! routine called by sbc_ice_lim_2 
    3535 
    3636   INTEGER, PARAMETER                       ::   jpnoumax = 40   ! maximum number of variable for ice output 
     
    5555   !!---------------------------------------------------------------------- 
    5656   !!  LIM 2.0, UCL-LOCEAN-IPSL (2006) 
    57    !! $Header: $ 
     57   !! $ Id: $ 
    5858   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    5959   !!---------------------------------------------------------------------- 
     
    6565   !!   'key_dimgout'                                    Direct Access file 
    6666   !!---------------------------------------------------------------------- 
    67 # include "limwri_dimg.h90" 
     67# include "limwri_dimg_2.h90" 
    6868#else 
    6969   !!---------------------------------------------------------------------- 
     
    7171   !!---------------------------------------------------------------------- 
    7272 
    73    SUBROUTINE lim_wri( kt ) 
    74       !!------------------------------------------------------------------- 
    75       !!                    ***   ROUTINE lim_wri  *** 
     73   SUBROUTINE lim_wri_2( kt ) 
     74      !!------------------------------------------------------------------- 
     75      !!                    ***   ROUTINE lim_wri_2  *** 
    7676      !!                 
    7777      !! ** Purpose :   write the sea-ice output file in NetCDF 
     
    9696      IF( kt == nit000 ) THEN                    !   Initialisation   ! 
    9797         !                                       !--------------------! 
    98          CALL lim_wri_init  
     98         CALL lim_wri_init_2  
    9999                            
    100100         zsto     = rdt_ice 
     
    183183      IF( ( nn_fsbc * niter + nit000 - 1 ) >= nitend )   CALL histclo( nice )  
    184184      ! 
    185    END SUBROUTINE lim_wri 
     185   END SUBROUTINE lim_wri_2 
    186186    
    187187#endif 
    188188    
    189    SUBROUTINE lim_wri_init 
    190       !!------------------------------------------------------------------- 
    191       !!                    ***   ROUTINE lim_wri_init  *** 
     189   SUBROUTINE lim_wri_init_2 
     190      !!------------------------------------------------------------------- 
     191      !!                    ***   ROUTINE lim_wri_init_2  *** 
    192192      !!                 
    193193      !! ** Purpose :   intialisation of LIM sea-ice output 
     
    255255      IF(lwp) THEN 
    256256         WRITE(numout,*) 
    257          WRITE(numout,*) 'lim_wri_init : Ice parameters for outputs' 
    258          WRITE(numout,*) '~~~~~~~~~~~~' 
     257         WRITE(numout,*) 'lim_wri_init_2 : Ice parameters for outputs' 
     258         WRITE(numout,*) '~~~~~~~~~~~~~~' 
    259259         WRITE(numout,*) '    number of fields to be stored         noumef = ', noumef 
    260260         WRITE(numout,*) '           title                            name     unit      Saving (1/0) ',   & 
     
    266266      ENDIF 
    267267      !     
    268    END SUBROUTINE lim_wri_init 
     268   END SUBROUTINE lim_wri_init_2 
    269269 
    270270#else 
    271271   !!---------------------------------------------------------------------- 
    272    !!   Default option :         Empty module          NO LIM sea-ice model 
     272   !!   Default option :         Empty module      NO LIM 2.0 sea-ice model 
    273273   !!---------------------------------------------------------------------- 
    274274CONTAINS 
    275    SUBROUTINE lim_wri          ! Empty routine 
    276    END SUBROUTINE lim_wri 
     275   SUBROUTINE lim_wri_2          ! Empty routine 
     276   END SUBROUTINE lim_wri_2 
    277277#endif 
    278278 
    279279   !!====================================================================== 
    280 END MODULE limwri 
     280END MODULE limwri_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/limwri_dimg.h90

    r879 r881  
    1     SUBROUTINE lim_wri(kt) 
     1    SUBROUTINE lim_wri_2(kt) 
    22   !!---------------------------------------------------------------------- 
    33   !!  LIM 2.0, UCL-LOCEAN-IPSL (2005) 
     
    5252    IF ( kt == nit000 ) THEN  
    5353 
    54        CALL lim_wri_init  
     54       CALL lim_wri_init_2  
    5555 
    5656       nwf = 0  
     
    5858 
    5959       IF (lwp ) THEN 
    60           WRITE(numout,*) 'lim_wri : Write ice outputs in dimg' 
     60          WRITE(numout,*) 'lim_wri_2 : Write ice outputs in dimg' 
    6161          WRITE(numout,*) '~~~~~~~~' 
    6262          WRITE(numout,*) '   According to namelist_ice, following fields saved:' 
     
    203203       END IF     !  MOD(kt+nn_fsbc-1-nit000+1, nwrite == 0 ) ! 
    204204 
    205      END SUBROUTINE lim_wri 
     205     END SUBROUTINE lim_wri_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/par_ice.F90

    r699 r881  
    1 MODULE par_ice 
     1MODULE par_ice_2 
     2#if defined key_lim2 
    23   !!====================================================================== 
    3    !!                       ***  MODULE par_ice   *** 
     4   !!                       ***  MODULE par_ice_2   *** 
    45   !! Sea-Ice model : definition of the parameters 
    56   !!====================================================================== 
     
    2425 
    2526   !!====================================================================== 
    26 END MODULE par_ice 
     27#endif 
     28END MODULE par_ice_2 
  • branches/dev_001_SBC/NEMO/LIM_SRC/thd_ice.F90

    r717 r881  
    1 MODULE thd_ice 
     1MODULE thd_ice_2 
     2#if defined key_lim2 
    23   !!====================================================================== 
    3    !!                       ***  MODULE thd_ice  *** 
    4    !! LIM sea-ice :   Ice thermodynamics in 1D 
     4   !!                       ***  MODULE thd_ice_2  *** 
     5   !! LIM 2.0 sea-ice :   Ice thermodynamics in 1D 
    56   !!===================================================================== 
    67   !! History : 
     
    1213   !!---------------------------------------------------------------------- 
    1314   !! * Modules used 
    14    USE par_ice 
     15   USE par_ice_2 
    1516 
    1617   IMPLICIT NONE 
     
    8283 
    8384   !!====================================================================== 
    84 END MODULE thd_ice 
     85#endif 
     86END MODULE thd_ice_2 
  • branches/dev_001_SBC/NEMO/NST_SRC/agrif_user.F90

    r811 r881  
    6565      USE sol_oce 
    6666      USE in_out_manager 
    67 #if defined key_ice_lim 
     67#if defined key_lim2 
    6868      USE ice_oce 
    6969#endif 
  • branches/dev_001_SBC/NEMO/OPA_SRC/DIA/diawri.F90

    r748 r881  
    244244            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
    245245#endif 
    246 !!$#if ! defined key_dynspg_rl && defined key_ice_lim 
     246!!$#if ! defined key_dynspg_rl && defined key_lim2 
    247247!!$         ! sowaflup = sowaflep + sorunoff + sowafldp + a term associated to 
    248248!!$         !    internal damping to Levitus that can be diagnosed from others 
     
    282282 
    283283 
    284 #if ( defined key_coupled && ! defined key_ice_lim )  
     284#if ( defined key_coupled && ! defined key_lim2 )  
    285285         CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping"         , "W/m2"   ,   &  ! qrp 
    286286            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    308308#endif 
    309309 
    310 #if defined key_ice_lim && defined key_coupled 
     310#if defined key_lim2 && defined key_coupled 
    311311         CALL histdef( nid_T,"soicetem" , "Ice Surface Temperature"            , "K"      ,   &  ! tn_ice 
    312312            &          jpi, jpj, nh_T, 1  , 1, 1  , -99 , 32, clop, zsto, zout ) 
     
    414414      CALL histwrite( nid_T, "sossheig", it, sshn          , ndim_hT, ndex_hT )   ! sea surface height 
    415415#endif 
    416 !!$#if ! defined key_dynspg_rl && defined key_ice_lim 
     416!!$#if ! defined key_dynspg_rl && defined key_lim2 
    417417!!$      CALL histwrite( nid_T, "iowaflup", it, fsalt(:,:)    , ndim_hT, ndex_hT )   ! ice=>ocean water flux 
    418418!!$      CALL histwrite( nid_T, "sowaflep", it, fmass(:,:)    , ndim_hT, ndex_hT )   ! atmos=>ocean water flux 
     
    434434      CALL histwrite( nid_T, "sosafldp", it, zw2d          , ndim_hT, ndex_hT )   ! salt flux damping 
    435435#endif 
    436 #if ( defined key_coupled && ! defined key_ice_lim )  
     436#if ( defined key_coupled && ! defined key_lim2 )  
    437437      CALL histwrite( nid_T, "sohefldp", it, qrp           , ndim_hT, ndex_hT )   ! heat flux damping 
    438438      CALL histwrite( nid_T, "sowafldp", it, erp           , ndim_hT, ndex_hT )   ! freshwater flux damping 
     
    452452      CALL histwrite( nid_T, "sohtc300", it, htc3          , ndim_hT, ndex_hT )   ! first 300m heaat content 
    453453#endif 
    454 #if defined key_ice_lim &&  defined key_coupled  
     454#if defined key_lim2 &&  defined key_coupled  
    455455      CALL histwrite( nid_T, "soicetem", it, tn_ice        , ndim_hT, ndex_hT )   ! surf. ice temperature 
    456456      CALL histwrite( nid_T, "soicealb", it, alb_ice       , ndim_hT, ndex_hT )   ! ice albedo 
  • branches/dev_001_SBC/NEMO/OPA_SRC/DIA/diawri_dimg.h90

    r717 r881  
    186186       !        fsel(:,:,15) = fsel(:,:,15) + fbt(:,:) 
    187187       fsel(:,:,16) = fsel(:,:,16) + emps(:,:) 
    188 #if defined key_ice_lim 
     188#if defined key_lim2 
    189189       fsel(:,:,17) = fsel(:,:,17) + fsalt(:,:) 
    190190#endif 
     
    276276          !         fsel(:,:,15) =  fbt(:,:) 
    277277          fsel(:,:,16) =  emps(:,:) * tmask(:,:,1) 
    278 #if defined key_ice_lim 
     278#if defined key_lim2 
    279279          fsel(:,:,17) =  fsalt(:,:) * tmask(:,:,1) 
    280280#endif 
  • branches/dev_001_SBC/NEMO/OPA_SRC/SBC/albedo.F90

    r703 r881  
    5050CONTAINS 
    5151 
    52 #if defined key_ice_lim 
    53    !!---------------------------------------------------------------------- 
    54    !!   'key_ice_lim'                                         LIM ice model 
     52#if defined key_lim2 
     53   !!---------------------------------------------------------------------- 
     54   !!   'key_lim2'                                        LIM 2.0 ice model 
    5555   !!---------------------------------------------------------------------- 
    5656 
     
    6868      !! References :   Shine and Hendersson-Sellers 1985, JGR, 90(D1), 2243-2250. 
    6969      !!---------------------------------------------------------------------- 
    70       USE ice             ! ??? 
     70      USE ice_2             ! ??? 
    7171      !! 
    7272      REAL(wp), INTENT(out), DIMENSION(jpi,jpj) ::   palb     ! albedo of ice under overcast sky 
  • branches/dev_001_SBC/NEMO/OPA_SRC/SBC/cpl_oasis3.F90

    r708 r881  
    5151 
    5252   USE oce, only: tn, un, vn 
    53    USE ice, only: frld, hicif, hsnif 
     53   USE ice_2, only: frld, hicif, hsnif 
    5454 
    5555   IMPLICIT NONE 
  • branches/dev_001_SBC/NEMO/OPA_SRC/SBC/sbc_ice.F90

    r702 r881  
    66   !! History :  9.0  !  06-08  (G. Modec)  Surface module 
    77   !!---------------------------------------------------------------------- 
    8 #if defined key_ice_lim 
     8#if defined key_lim2 
    99   !!---------------------------------------------------------------------- 
    10    !!   'key_ice_lim' :                                   Lim sea-ice model 
     10   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
    1111   !!---------------------------------------------------------------------- 
    1212   USE par_oce          ! ocean parameters 
  • branches/dev_001_SBC/NEMO/OPA_SRC/SBC/sbcblk_clio.F90

    r879 r881  
    3030   USE albedo 
    3131   USE prtctl          ! Print control 
    32 #if defined key_lim3 
    33    USE par_ice 
    34 #elif defined key_lim2 
     32#if defined key_lim2 
     33   USE par_ice_2 
    3534   USE ice_2 
    3635#endif 
  • branches/dev_001_SBC/NEMO/OPA_SRC/SBC/sbccpl.F90

    r702 r881  
    2727   USE cpl_oasis4      ! OASIS4 coupling (to ECHAM5) 
    2828   USE geo2ocean, ONLY : repere, repcmo 
    29    USE ice, only       : frld       ! : leads fraction = 1-a/totalarea 
     29   USE ice_2, only     : frld       ! : leads fraction = 1-a/totalarea 
    3030 
    3131   USE sbc_oce         ! Surface boundary condition: ocean fields 
     
    6464                       fr2_i0       ! : 2nd part of the fraction of sol.rad. which penetrate inside the ice cover 
    6565 
    66    USE ice, only    : hicif ,     & ! : ice thickness 
     66   USE ice_2, only  : hicif ,     & ! : ice thickness 
    6767                      frld  ,     & ! : leads fraction = 1-a/totalarea 
    6868                      hsnif  ,    & ! : snow thickness 
  • branches/dev_001_SBC/NEMO/OPA_SRC/SBC/sbcice_lim.F90

    r880 r881  
    1 MODULE sbcice_lim 
     1MODULE sbcice_lim_2 
    22   !!====================================================================== 
    3    !!                       ***  MODULE  sbcice  *** 
     3   !!                       ***  MODULE  sbcice_lim_2  *** 
    44   !! Surface module :  update surface ocean boundary condition over ice 
    55   !!                   covered area using LIM sea-ice model 
    6    !! Sea-Ice model  :  LIM Sea ice model time-stepping 
     6   !! Sea-Ice model  :  LIM 2.0 Sea ice model time-stepping 
    77   !!====================================================================== 
    8    !! History :  9.0   !  06-06  (G. Madec)  from icestp.F90 
     8   !! History :  9.0   !  06-06  (G. Madec)  from icestp_2.F90 
    99   !!---------------------------------------------------------------------- 
    10 #if defined key_ice_lim 
     10#if defined key_lim2 
    1111   !!---------------------------------------------------------------------- 
    12    !!   'key_ice_lim' :                                   Lim sea-ice model 
     12   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
    1313   !!---------------------------------------------------------------------- 
    1414   !!---------------------------------------------------------------------- 
    15    !!   sbc_ice_lim    : sea-ice model time-stepping and 
     15   !!   sbc_ice_lim_2  : sea-ice model time-stepping and 
    1616   !!                    update ocean sbc over ice-covered area 
    1717   !!---------------------------------------------------------------------- 
    1818   USE oce             ! ocean dynamics and tracers 
    1919   USE dom_oce         ! ocean space and time domain 
    20    USE ice 
    21    USE iceini 
     20   USE ice_2 
     21   USE iceini_2 
    2222   USE ice_oce         ! ice variables 
    23    USE dom_ice 
     23   USE dom_ice_2 
    2424   USE cpl_oce 
    2525 
     
    3333   USE phycst          ! Define parameters for the routines 
    3434   USE eosbn2          ! equation of state 
    35    USE limdyn 
    36    USE limtrp 
    37    USE limdmp 
    38    USE limthd 
    39    USE limsbc          ! sea surface boundary condition 
    40    USE limdia 
    41    USE limwri 
    42    USE limrst 
     35   USE limdyn_2 
     36   USE limtrp_2 
     37   USE limdmp_2 
     38   USE limthd_2 
     39   USE limsbc_2        ! sea surface boundary condition 
     40   USE limdia_2 
     41   USE limwri_2 
     42   USE limrst_2 
    4343 
    4444   USE lbclnk 
     
    5050   PRIVATE 
    5151 
    52    PUBLIC sbc_ice_lim ! routine called by step.F90 
     52   PUBLIC sbc_ice_lim_2 ! routine called by sbcmod.F90 
    5353    
    5454   !! * Substitutions 
     
    5757   !!---------------------------------------------------------------------- 
    5858   !!   OPA 9.0 , LOCEAN-IPSL (2006)  
    59    !! $Header: / 
     59   !! $ Id: $ 
    6060   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    6161   !!---------------------------------------------------------------------- 
     
    6363CONTAINS 
    6464 
    65    SUBROUTINE sbc_ice_lim( kt, kblk ) 
     65   SUBROUTINE sbc_ice_lim_2( kt, kblk ) 
    6666      !!--------------------------------------------------------------------- 
    67       !!                  ***  ROUTINE ice_stp  *** 
     67      !!                  ***  ROUTINE sbc_ice_lim_2  *** 
    6868      !!                    
    6969      !! ** Purpose :   update the ocean surface boundary condition via the  
     
    9595      IF( kt == nit000 ) THEN 
    9696         IF(lwp) WRITE(numout,*) 
    97          IF(lwp) WRITE(numout,*) 'sbc_ice_lim : update ocean surface boudary condition'  
    98          IF(lwp) WRITE(numout,*) '~~~~~~~~~~~   via Louvain la Neuve Ice Model (LIM) time stepping' 
     97         IF(lwp) WRITE(numout,*) 'sbc_ice_lim_2 : update ocean surface boudary condition'  
     98         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~   via Louvain la Neuve Ice Model (LIM) time stepping' 
    9999 
    100          CALL ice_init 
     100         CALL ice_init_2 
    101101 
    102102      ENDIF 
     
    161161         !  Ice model step  ! 
    162162         ! ---------------- ! 
    163          ;                              CALL lim_rst_opn  ( kt )      ! Open Ice restart file 
    164          ;                              CALL lim_dyn      ( kt )      ! Ice dynamics    ( rheology/dynamics ) 
    165          ;                              CALL lim_trp      ( kt )      ! Ice transport   ( Advection/diffusion ) 
    166          IF( ln_limdmp )                CALL lim_dmp      ( kt )      ! Ice damping  
    167          ;                              CALL lim_thd      ( kt )      ! Ice thermodynamics  
    168          ;                              CALL lim_sbc      ( kt )      ! Ice/Ocean Mass & Heat fluxes  
     163         ;                              CALL lim_rst_opn_2  ( kt )      ! Open Ice restart file 
     164         ;                              CALL lim_dyn_2      ( kt )      ! Ice dynamics    ( rheology/dynamics ) 
     165         ;                              CALL lim_trp_2      ( kt )      ! Ice transport   ( Advection/diffusion ) 
     166         IF( ln_limdmp )                CALL lim_dmp_2      ( kt )      ! Ice damping  
     167         ;                              CALL lim_thd_2      ( kt )      ! Ice thermodynamics  
     168         ;                              CALL lim_sbc_2      ( kt )      ! Ice/Ocean Mass & Heat fluxes  
    169169         IF( MOD( kt+nn_fsbc-1, ninfo ) == 0 .OR.   & 
    170             &  ntmoy == 1 )             CALL lim_dia      ( kt )      ! Ice Diagnostics  
    171          ;                              CALL lim_wri      ( kt )      ! Ice outputs  
    172          IF( lrst_ice )                 CALL lim_rst_write( kt )      ! Ice restart file  
     170            &  ntmoy == 1 )             CALL lim_dia_2      ( kt )      ! Ice Diagnostics  
     171         ;                              CALL lim_wri_2      ( kt )      ! Ice outputs  
     172         IF( lrst_ice )                 CALL lim_rst_write_2( kt )      ! Ice restart file  
    173173         ! 
    174174      ENDIF 
    175175      ! 
    176    END SUBROUTINE sbc_ice_lim 
     176   END SUBROUTINE sbc_ice_lim_2 
    177177 
    178178#else 
    179179   !!---------------------------------------------------------------------- 
    180    !!   Default option           Dummy module          NO LIM sea-ice model 
     180   !!   Default option           Dummy module      NO LIM 2.0 sea-ice model 
    181181   !!---------------------------------------------------------------------- 
    182182CONTAINS 
    183    SUBROUTINE sbc_ice_lim ( kt, kblk )     ! Dummy routine 
    184       WRITE(*,*) 'sbc_ice_lim: You should not have seen this print! error?', kt, kblk 
    185    END SUBROUTINE sbc_ice_lim 
     183   SUBROUTINE sbc_ice_lim_2 ( kt, kblk )     ! Dummy routine 
     184      WRITE(*,*) 'sbc_ice_lim_2: You should not have seen this print! error?', kt, kblk 
     185   END SUBROUTINE sbc_ice_lim_2 
    186186#endif 
    187187 
    188188   !!====================================================================== 
    189 END MODULE sbcice_lim 
     189END MODULE sbcice_lim_2 
  • branches/dev_001_SBC/NEMO/OPA_SRC/SBC/sbcmod.F90

    r879 r881  
    2626   USE sbcblk_core     ! surface boundary condition: bulk formulation : CORE 
    2727   USE sbcice_if       ! surface boundary condition: ice-if sea-ice model 
    28    USE sbcice_lim      ! surface boundary condition: LIM sea-ice model 
     28   USE sbcice_lim_2    ! surface boundary condition: LIM 2.0 sea-ice model 
    2929   USE sbccpl          ! surface boundary condition: coupled florulation 
    3030   USE sbcssr          ! surface boundary condition: sea surface restoring 
     
    228228      CASE(  1 )   ;         CALL sbc_ice_if ( kt )                  ! Ice-cover climatology ("Ice-if" model) 
    229229         !                                                           ! (update heat and freshwater fluxes) 
    230       CASE(  2 )   ;         CALL sbc_ice_lim( kt, nsbc )            ! LIM ice model 
     230      CASE(  2 )   ;         CALL sbc_ice_lim_2( kt, nsbc )          ! LIM 2.0 ice model 
    231231      END SELECT                                                     ! (update all fluxes using bulk + LIM) 
    232232 
  • branches/dev_001_SBC/NEMO/OPA_SRC/TRA/traadv_cen2.F90

    r811 r881  
    161161                  rnfmsk(ji,jj) * rnfmsk_z(jk),      &  ! near runoff mouths (& closed sea outflows) 
    162162                  upsmsk(ji,jj)                      &  ! some of some straits 
    163 #if defined key_ice_lim 
     163#if defined key_lim2 
    164164                  !                                     ! below ice covered area (if tn < "freezing"+0.1 ) 
    165165                  , MAX(  0., SIGN( 1., fzptn(ji,jj) + 0.1 - tn(ji,jj,jk) )  ) * tmask(ji,jj,jk)   & 
  • branches/dev_001_SBC/NEMO/OPA_SRC/cpl_oce.F90

    r699 r881  
    218218      qsrc           !: solar radiation (w m-2) 
    219219 
    220 #  if defined key_ice_lim 
     220#  if defined key_lim2 
    221221   REAL(wp), DIMENSION(jpi,jpj) ::   &  !: 
    222222      watm        ,    &  !: 
  • branches/dev_001_SBC/NEMO/OPA_SRC/ice_oce.F90

    r717 r881  
    1111   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    1212   !!---------------------------------------------------------------------- 
    13 #if defined key_ice_lim 
     13#if defined key_lim2 
    1414   !!---------------------------------------------------------------------- 
    15    !!   'key_ice_lim'   :                                     LIM ice model 
     15   !!   'key_lim2'   :                                    LIM 2.0 ice model 
    1616   !!---------------------------------------------------------------------- 
    1717   !! * Modules used 
     
    4646#else 
    4747   !!---------------------------------------------------------------------- 
    48    !!   Default option                                 NO LIM sea-ice model 
     48   !!   Default option                             NO LIM 2.0 sea-ice model 
    4949   !!---------------------------------------------------------------------- 
    5050   LOGICAL, PUBLIC, PARAMETER ::   lk_ice_lim = .FALSE.  !: No LIM ice model 
  • branches/dev_001_SBC/NEMO/OPA_SRC/restart.F90

    r811 r881  
    193193      !!---------------------------------------------------------------------- 
    194194      REAL(wp) ::   zcoef, zkt, zrdt, zrdttra1, zndastp 
    195 #if defined key_ice_lim 
     195#if defined key_lim2 
    196196      INTEGER  ::   ji, jj 
    197197#endif 
  • branches/dev_001_SBC/NEMO/TOP_SRC/TRP/trcadv_cen2.F90

    r760 r881  
    164164               zind(ji,jj,jk) =  MAX ( upsrnfh(ji,jj) * upsrnfz(jk),     &  ! changing advection scheme near runoff 
    165165                  &                    upsadv(ji,jj)                     &  ! in the vicinity of some straits 
    166 #if defined key_ice_lim 
     166#if defined key_lim2 
    167167                  &                  , tmask(ji,jj,jk)                   &  ! half upstream tracer fluxes 
    168168                  &                  * MAX( 0., SIGN( 1., fzptn(ji,jj)   &  ! if tn < ("freezing"+0.1 ) 
Note: See TracChangeset for help on using the changeset viewer.