New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 821 – NEMO

Changeset 821


Ignore:
Timestamp:
2008-03-06T12:22:15+01:00 (16 years ago)
Author:
rblod
Message:

Change name of modules and subroutines for LIM2 with suffix _2, add albedo_2 and flxblk_2, see ticket #71

Location:
branches/dev_002_LIM/NEMO/LIM_SRC
Files:
2 added
23 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_002_LIM/NEMO/LIM_SRC/dom_ice.F90

    r719 r821  
    1 MODULE dom_ice 
     1MODULE dom_ice_2 
     2#if defined key_lim2 
    23   !!====================================================================== 
    34   !!                   ***  MODULE  dom_ice  *** 
    4    !! LIM Sea Ice :   Domain  variables 
     5   !! LIM 2.0 Sea Ice :   Domain  variables 
    56   !!====================================================================== 
    67   !! History :   2.0  !  03-08  (C. Ethe)  Free form and module 
     
    1213   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    1314   !!---------------------------------------------------------------------- 
    14    USE par_ice 
     15   USE par_ice_2 
    1516 
    1617   IMPLICIT NONE 
     
    3334 
    3435   !!====================================================================== 
    35 END MODULE dom_ice 
     36#endif 
     37END MODULE dom_ice_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/ice.F90

    r719 r821  
    1 MODULE ice 
     1MODULE ice_2 
    22   !!====================================================================== 
    33   !!                        ***  MODULE ice  *** 
    44   !! Sea Ice physics:  diagnostics variables of ice defined in memory 
    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   !!---------------------------------------------------------------------- 
    1010   !! History : 
     
    1616   !!---------------------------------------------------------------------- 
    1717   !! * Modules used 
    18    USE par_ice          ! LIM sea-ice parameters 
     18   USE par_ice_2          ! LIM sea-ice parameters 
    1919 
    2020   IMPLICIT NONE 
     
    123123#else 
    124124   !!---------------------------------------------------------------------- 
    125    !!   Default option         Empty module            NO LIM sea-ice model 
     125   !!   Default option         Empty module        NO LIM 2.0 sea-ice model 
    126126   !!---------------------------------------------------------------------- 
    127127#endif 
    128128 
    129129   !!====================================================================== 
    130 END MODULE ice 
     130END MODULE ice_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/iceini.F90

    r719 r821  
    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 in_out_manager 
    2020   USE ice_oce         ! ice variables 
     
    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       
     
    3131   PRIVATE 
    3232 
    33    PUBLIC   ice_init                 ! called by opa.F90 
     33   PUBLIC   ice_init_2               ! called by opa.F90 
    3434 
    3535   LOGICAL , PUBLIC               ::   ln_limdyn = .TRUE.   !: flag for ice dynamics (T) or not (F) 
     
    4646CONTAINS 
    4747 
    48    SUBROUTINE ice_init 
     48   SUBROUTINE ice_init_2 
    4949      !!---------------------------------------------------------------------- 
    50       !!                  ***  ROUTINE ice_init  *** 
     50      !!                  ***  ROUTINE ice_init_2  *** 
    5151      !! 
    5252      !! ** purpose :    
     
    5959      CALL ctlopn(numnam_ice,namelist_icename,'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
    6060                     1,numout,.FALSE.,1)       
    61       CALL ice_run                    !  read in namelist some run parameters 
     61      CALL ice_run_2                    !  read in namelist some run parameters 
    6262                  
    6363      ! Louvain la Neuve Ice model 
     
    7070      ENDIF 
    7171 
    72       CALL lim_msh                    ! ice mesh initialization 
     72      CALL lim_msh_2                  ! ice mesh initialization 
    7373      
    7474      ! Initial sea-ice state 
    7575      IF( .NOT.ln_rstart ) THEN 
    76          CALL lim_istate              ! start from rest: sea-ice deduced from sst 
     76         CALL lim_istate_2            ! start from rest: sea-ice deduced from sst 
    7777      ELSE 
    78          CALL lim_rst_read            ! start from a restart file 
     78         CALL lim_rst_read_2          ! start from a restart file 
    7979      ENDIF 
    8080       
     
    8585# endif 
    8686      ! 
    87    END SUBROUTINE ice_init 
     87   END SUBROUTINE ice_init_2 
    8888 
    8989 
    90    SUBROUTINE ice_run 
     90   SUBROUTINE ice_run_2 
    9191      !!------------------------------------------------------------------- 
    92       !!                  ***  ROUTINE ice_run *** 
     92      !!                  ***  ROUTINE ice_run_2 *** 
    9393      !!                  
    9494      !! ** Purpose :   Definition some run parameter for ice model 
     
    118118      ENDIF 
    119119      ! 
    120    END SUBROUTINE ice_run 
     120   END SUBROUTINE ice_run_2 
    121121 
    122122#else 
    123123   !!---------------------------------------------------------------------- 
    124    !!   Default option :        Empty module           NO LIM sea-ice model 
     124   !!   Default option :        Empty module       NO LIM 2.0 sea-ice model 
    125125   !!---------------------------------------------------------------------- 
    126126CONTAINS 
    127    SUBROUTINE ice_init        ! Empty routine 
    128    END SUBROUTINE ice_init 
     127   SUBROUTINE ice_init_2      ! Empty routine 
     128   END SUBROUTINE ice_init_2 
    129129#endif 
    130130 
    131131   !!====================================================================== 
    132 END MODULE iceini 
     132END MODULE iceini_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/icestp.F90

    r719 r821  
    1 MODULE icestp 
     1MODULE icestp_2 
    22   !!====================================================================== 
    3    !!                       ***  MODULE icestp   *** 
     3   !!                       ***  MODULE icestp_2   *** 
    44   !!   Sea-Ice model : LIM Sea ice model time-stepping 
    55   !!====================================================================== 
     
    88   !!   2.0  !  02-09  (G. Madec, C. Ethe)  F90: Free form and module 
    99   !!---------------------------------------------------------------------- 
    10 #if defined key_ice_lim 
    11    !!---------------------------------------------------------------------- 
    12    !!   'key_ice_lim' :                                   Lim sea-ice model 
    13    !!---------------------------------------------------------------------- 
    14    !!---------------------------------------------------------------------- 
    15    !!   ice_stp       : sea-ice model time-stepping 
     10#if defined key_lim2 
     11   !!---------------------------------------------------------------------- 
     12   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
     13   !!---------------------------------------------------------------------- 
     14   !!---------------------------------------------------------------------- 
     15   !!   ice_stp_2       : sea-ice model time-stepping 
    1616   !!---------------------------------------------------------------------- 
    1717   USE dom_oce 
     
    2020   USE ice_oce         ! ice variables 
    2121   USE flx_oce         ! forcings variables 
    22    USE dom_ice 
     22   USE dom_ice_2 
    2323   USE cpl_oce 
    2424   USE daymod 
    2525   USE phycst          ! Define parameters for the routines 
    2626   USE taumod 
    27    USE ice 
     27   USE ice_2 
    2828   USE ocesbc 
    2929   USE lbclnk 
    30    USE limdyn 
    31    USE limtrp 
    32    USE limthd 
    33    USE limflx 
    34    USE limdia 
    35    USE limwri 
    36    USE limrst 
    37    USE limdmp          ! Ice damping 
     30   USE limdyn_2 
     31   USE limtrp_2 
     32   USE limthd_2 
     33   USE limflx_2 
     34   USE limdia_2 
     35   USE limwri_2 
     36   USE limrst_2 
     37   USE limdmp_2        ! Ice damping 
    3838   USE prtctl          ! Print control 
    3939 
     
    4141   PRIVATE 
    4242 
    43    PUBLIC   ice_stp    ! called by step.F90 
     43   PUBLIC   ice_stp_2  ! called by step.F90 
    4444 
    4545   !! * Substitutions 
     
    5454CONTAINS 
    5555 
    56    SUBROUTINE ice_stp ( kt ) 
     56   SUBROUTINE ice_stp_2 ( kt ) 
    5757      !!--------------------------------------------------------------------- 
    58       !!                  ***  ROUTINE ice_stp  *** 
     58      !!                  ***  ROUTINE ice_stp_2  *** 
    5959      !!                    
    6060      !! ** Purpose :   Louvain la Neuve Sea Ice Model time stepping  
     
    196196 
    197197         !                                                           !-----------------------! 
    198          CALL lim_rst_opn( kt )                                   ! Open Ice restart file ! 
     198         CALL lim_rst_opn_2( kt )                                    ! Open Ice restart file ! 
    199199         !                                                           !-----------------------! 
    200200 
    201201         !                                                           !--------------! 
    202          CALL lim_dyn( kt )                                          ! Ice dynamics !   ( rheology/dynamics ) 
     202         CALL lim_dyn_2( kt )                                        ! Ice dynamics !   ( rheology/dynamics ) 
    203203         !                                                           !--------------! 
    204204         IF(ln_ctl) THEN 
     
    209209 
    210210         !                                                           !---------------! 
    211          CALL lim_trp( kt )                                          ! Ice transport !  ( Advection/diffusion ) 
     211         CALL lim_trp_2( kt )                                        ! Ice transport !  ( Advection/diffusion ) 
    212212         !                                                           !---------------! 
    213213         IF(ln_ctl) THEN 
     
    220220         !                                                           !-------------! 
    221221#if defined key_agrif 
    222             IF( Agrif_Root() )   CALL lim_dmp(kt) 
     222            IF( Agrif_Root() )   CALL lim_dmp_2(kt) 
    223223#else 
    224             CALL lim_dmp(kt)                                          
     224            CALL lim_dmp_2(kt)                                          
    225225#endif 
    226226         ENDIF 
    227227         !                                                           !--------------------! 
    228          CALL lim_thd( kt )                                          ! Ice thermodynamics ! 
     228         CALL lim_thd_2( kt )                                        ! Ice thermodynamics ! 
    229229         !                                                           !--------------------! 
    230230         IF(ln_ctl) THEN 
     
    236236         ! Mass and heat fluxes from ice to ocean 
    237237         !                                                           !------------------------------! 
    238          CALL lim_flx                                                ! Ice/Ocean Mass & Heat fluxes ! 
     238         CALL lim_flx_2                                              ! Ice/Ocean Mass & Heat fluxes ! 
    239239         !                                                           !------------------------------! 
    240240 
    241241         IF( MOD( kt + nfice -1, ninfo ) == 0 .OR. ntmoy == 1 )  THEN        !-----------------! 
    242             CALL lim_dia( kt )                                    ! Ice Diagnostics ! 
    243          ENDIF                                                       !-----------------! 
    244  
    245          !                                                           !-------------! 
    246          CALL lim_wri( kt )                                          ! Ice outputs ! 
     242            CALL lim_dia_2( kt )                                             ! Ice Diagnostics ! 
     243         ENDIF                                                               !-----------------! 
     244 
     245         !                                                           !-------------! 
     246         CALL lim_wri_2( kt )                                        ! Ice outputs ! 
    247247         !                                                           !-------------! 
    248248 
    249249         !                                                           !------------------------! 
    250          IF( lrst_ice ) CALL lim_rst_write( kt )                  ! Write Ice restart file ! 
     250         IF( lrst_ice ) CALL lim_rst_write_2( kt )                   ! Write Ice restart file ! 
    251251         !                                                           !------------------------! 
    252252 
     
    271271      ENDIF 
    272272      ! 
    273    END SUBROUTINE ice_stp 
     273   END SUBROUTINE ice_stp_2 
    274274 
    275275#else 
    276276   !!---------------------------------------------------------------------- 
    277    !!   Default option           Dummy module          NO LIM sea-ice model 
     277   !!   Default option           Dummy module      NO LIM 2.0 sea-ice model 
    278278   !!---------------------------------------------------------------------- 
    279279CONTAINS 
    280    SUBROUTINE ice_stp ( kt )     ! Dummy routine 
    281       WRITE(*,*) 'ice_stp: You should not have seen this print! error?', kt 
    282    END SUBROUTINE ice_stp 
     280   SUBROUTINE ice_stp_2 ( kt )     ! Dummy routine 
     281      WRITE(*,*) 'ice_stp_2: You should not have seen this print! error?', kt 
     282   END SUBROUTINE ice_stp_2 
    283283#endif 
    284284 
    285285   !!====================================================================== 
    286 END MODULE icestp 
     286END MODULE icestp_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/limadv.F90

    r719 r821  
    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_002_LIM/NEMO/LIM_SRC/limdia.F90

    r719 r821  
    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 daymod          ! 
    22    USE dom_ice         ! 
    23    USE ice             ! 
    24    USE limistate       ! 
     22   USE dom_ice_2       ! 
     23   USE ice_2           ! 
     24   USE limistate_2     ! 
    2525   USE in_out_manager  ! I/O manager 
    2626 
     
    2828   PRIVATE 
    2929 
    30    PUBLIC               lim_dia            ! called by ice_step 
     30   PUBLIC               lim_dia_2          ! called by ice_step 
    3131   INTEGER, PUBLIC ::   ntmoy   = 1 ,   &  !: instantaneous values of ice evolution or averaging ntmoy 
    3232      &                 ninfo   = 1        !: frequency of ouputs on file ice_evolu in case of averaging 
     
    6464CONTAINS 
    6565 
    66    SUBROUTINE lim_dia( kt ) 
     66   SUBROUTINE lim_dia_2( kt ) 
    6767      !!-------------------------------------------------------------------- 
    68       !!                  ***  ROUTINE lim_dia  *** 
     68      !!                  ***  ROUTINE lim_dia_2  *** 
    6969      !!    
    7070      !! ** Purpose : Computation and outputs on file ice.evolu  
     
    8282      !!------------------------------------------------------------------- 
    8383 
    84       IF( kt == nit000 )   CALL lim_dia_init   ! initialisation of ice_evolu file       
     84      IF( kt == nit000 )   CALL lim_dia_init_2  ! initialisation of ice_evolu file       
    8585 
    8686      ! computation of key variables at each time step    
     
    162162       ENDIF 
    163163       ! 
    164     END SUBROUTINE lim_dia 
     164    END SUBROUTINE lim_dia_2 
    165165  
    166166 
    167     SUBROUTINE lim_dia_init 
     167    SUBROUTINE lim_dia_init_2 
    168168       !!------------------------------------------------------------------- 
    169        !!                  ***  ROUTINE lim_dia_init  *** 
     169       !!                  ***  ROUTINE lim_dia_init_2  *** 
    170170       !!              
    171171       !! ** Purpose : Preparation of the file ice_evolu for the output of 
     
    190190       IF(lwp) THEN 
    191191          WRITE(numout,*) 
    192           WRITE(numout,*) 'lim_dia_init : ice parameters for ice diagnostics ' 
    193           WRITE(numout,*) '~~~~~~~~~~~~' 
     192          WRITE(numout,*) 'lim_dia_init_2 : ice parameters for ice diagnostics ' 
     193          WRITE(numout,*) '~~~~~~~~~~~~~~' 
    194194          WRITE(numout,*) '   format of the output values                                 fmtinf = ', fmtinf 
    195195          WRITE(numout,*) '   number of variables written in one line                     nfrinf = ', nfrinf  
     
    2742741111   FORMAT( 3(F7.1,1X,F7.3,1X),I3,A )   
    275275      ! 
    276     END SUBROUTINE lim_dia_init 
     276    END SUBROUTINE lim_dia_init_2 
    277277 
    278278#else 
    279279   !!---------------------------------------------------------------------- 
    280    !!   Default option :                               NO LIM sea-ice model 
     280   !!   Default option :                           NO LIM 2.0 sea-ice model 
    281281   !!---------------------------------------------------------------------- 
    282282CONTAINS 
    283    SUBROUTINE lim_dia         ! Empty routine 
    284    END SUBROUTINE lim_dia 
     283   SUBROUTINE lim_dia_2         ! Empty routine 
     284   END SUBROUTINE lim_dia_2 
    285285#endif 
    286286 
    287287   !!====================================================================== 
    288 END MODULE limdia 
     288END MODULE limdia_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/limdmp.F90

    r719 r821  
    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_002_LIM/NEMO/LIM_SRC/limdyn.F90

    r719 r821  
    1 MODULE limdyn 
     1MODULE limdyn_2 
    22   !!====================================================================== 
    3    !!                     ***  MODULE  limdyn  *** 
     3   !!                     ***  MODULE  limdyn_2  *** 
    44   !!   Sea-Ice dynamics :   
    55   !!====================================================================== 
    6 #if defined key_ice_lim 
    7    !!---------------------------------------------------------------------- 
    8    !!   'key_ice_lim' :                                   LIM sea-ice model 
    9    !!---------------------------------------------------------------------- 
    10    !!    lim_dyn      : computes ice velocities 
    11    !!    lim_dyn_init : initialization and namelist read 
     6#if defined key_lim2 
     7   !!---------------------------------------------------------------------- 
     8   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
     9   !!---------------------------------------------------------------------- 
     10   !!    lim_dyn_2      : computes ice velocities 
     11   !!    lim_dyn_init_2 : initialization and namelist read 
    1212   !!---------------------------------------------------------------------- 
    1313   !! * Modules used 
    1414   USE phycst 
    1515   USE in_out_manager  ! I/O manager 
    16    USE dom_ice 
     16   USE dom_ice_2 
    1717   USE dom_oce         ! ocean space and time domain 
    18    USE ice 
     18   USE ice_2 
    1919   USE ice_oce 
    20    USE iceini 
    21    USE limistate 
    22    USE limrhg          ! ice rheology 
     20   USE iceini_2 
     21   USE limistate_2 
     22   USE limrhg_2        ! ice rheology 
    2323   USE lbclnk 
    2424   USE lib_mpp 
     
    2929 
    3030   !! * Accessibility 
    31    PUBLIC lim_dyn  ! routine called by ice_step 
     31   PUBLIC lim_dyn_2  ! routine called by ice_step 
    3232 
    3333   !! * Module variables 
     
    4242CONTAINS 
    4343 
    44    SUBROUTINE lim_dyn( kt ) 
     44   SUBROUTINE lim_dyn_2( kt ) 
    4545      !!------------------------------------------------------------------- 
    46       !!               ***  ROUTINE lim_dyn  *** 
     46      !!               ***  ROUTINE lim_dyn_2  *** 
    4747      !!                
    4848      !! ** Purpose :   compute ice velocity and ocean-ice stress 
     
    7474      !!--------------------------------------------------------------------- 
    7575 
    76       IF( kt == nit000  )   CALL lim_dyn_init   ! Initialization (first time-step only) 
     76      IF( kt == nit000  )   CALL lim_dyn_init_2   ! Initialization (first time-step only) 
    7777       
    7878      IF ( ln_limdyn ) THEN 
     
    9797               CALL prt_ctl_info('lim_dyn  :    i_j1 = ', ivar1=i_j1, clinfo2=' ij_jpj = ', ivar2=i_jpj) 
    9898            ENDIF 
    99             CALL lim_rhg( i_j1, i_jpj ) 
     99            CALL lim_rhg_2( i_j1, i_jpj ) 
    100100 
    101101         ELSE                                 ! optimization of the computational area 
     
    119119               IF(ln_ctl)   WRITE(numout,*) 'lim_dyn : NH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
    120120     
    121                CALL lim_rhg( i_j1, i_jpj ) 
     121               CALL lim_rhg_2( i_j1, i_jpj ) 
    122122     
    123123               ! Southern hemisphere 
     
    130130               IF(ln_ctl)   WRITE(numout,*) 'lim_dyn : SH i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
    131131     
    132                CALL lim_rhg( i_j1, i_jpj ) 
     132               CALL lim_rhg_2( i_j1, i_jpj ) 
    133133     
    134134            ELSE                                 ! local domain extends over one hemisphere only 
     
    149149               IF(ln_ctl)   WRITE(numout,*) 'lim_dyn : one hemisphere: i_j1 = ', i_j1, ' ij_jpj = ', i_jpj 
    150150     
    151                CALL lim_rhg( i_j1, i_jpj ) 
     151               CALL lim_rhg_2( i_j1, i_jpj ) 
    152152 
    153153            ENDIF 
     
    250250      ENDIF 
    251251 
    252    END SUBROUTINE lim_dyn 
    253  
    254  
    255    SUBROUTINE lim_dyn_init 
     252   END SUBROUTINE lim_dyn_2 
     253 
     254 
     255   SUBROUTINE lim_dyn_init_2 
    256256      !!------------------------------------------------------------------- 
    257       !!                  ***  ROUTINE lim_dyn_init  *** 
     257      !!                  ***  ROUTINE lim_dyn_init_2  *** 
    258258      !! 
    259259      !! ** Purpose : Physical constants and parameters linked to the ice 
     
    281281      IF(lwp) THEN 
    282282         WRITE(numout,*) 
    283          WRITE(numout,*) 'lim_dyn_init : ice parameters for ice dynamics ' 
    284          WRITE(numout,*) '~~~~~~~~~~~~' 
     283         WRITE(numout,*) 'lim_dyn_init_2: ice parameters for ice dynamics ' 
     284         WRITE(numout,*) '~~~~~~~~~~~~~~' 
    285285         WRITE(numout,*) '       tolerance parameter                              epsd   = ', epsd 
    286286         WRITE(numout,*) '       coefficient for semi-implicit coriolis           alpha  = ', alpha 
     
    313313      ahiv(:,:) = ahi0 * vmask(:,:,1) 
    314314 
    315    END SUBROUTINE lim_dyn_init 
     315   END SUBROUTINE lim_dyn_init_2 
    316316 
    317317#else 
    318318   !!---------------------------------------------------------------------- 
    319    !!   Default option          Empty module           NO LIM sea-ice model 
     319   !!   Default option          Empty module       NO LIM 2.0 sea-ice model 
    320320   !!---------------------------------------------------------------------- 
    321321CONTAINS 
    322    SUBROUTINE lim_dyn         ! Empty routine 
    323    END SUBROUTINE lim_dyn 
     322   SUBROUTINE lim_dyn_2         ! Empty routine 
     323   END SUBROUTINE lim_dyn_2 
    324324#endif  
    325325 
    326326   !!====================================================================== 
    327 END MODULE limdyn 
     327END MODULE limdyn_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/limflx.F90

    r719 r821  
    1 MODULE limflx 
     1MODULE limflx_2 
    22   !!====================================================================== 
    3    !!                       ***  MODULE limflx   *** 
     3   !!                       ***  MODULE limflx_2   *** 
    44   !!           computation of the flux at the sea ice/ocean interface 
    55   !!====================================================================== 
    6 #if defined key_ice_lim 
    7    !!---------------------------------------------------------------------- 
    8    !!   'key_ice_lim'                                     LIM sea-ice model 
    9    !!---------------------------------------------------------------------- 
    10    !!   lim_flx  : flux at the ice / ocean interface 
     6#if defined key_lim2 
     7   !!---------------------------------------------------------------------- 
     8   !!   'key_lim2'                                    LIM 2.0 sea-ice model 
     9   !!---------------------------------------------------------------------- 
     10   !!   lim_flx_2  : flux at the ice / ocean interface 
    1111   !!---------------------------------------------------------------------- 
    1212   !! * Modules used 
     
    1616   USE ice_oce          ! sea-ice variable 
    1717   USE flx_oce          ! sea-ice/ocean forcings variables 
    18    USE ice              ! LIM sea-ice variables 
    19    USE flxblk           ! bulk formulea 
     18   USE ice_2             ! LIM sea-ice variables 
     19   USE flxblk_2           ! bulk formulea 
    2020   USE lbclnk           ! ocean lateral boundary condition 
    2121   USE in_out_manager   ! I/O manager 
    22    USE albedo           ! albedo parameters 
     22   USE albedo_2         ! albedo parameters 
    2323   USE prtctl           ! Print control 
    2424 
     
    2727 
    2828   !! * Routine accessibility 
    29    PUBLIC lim_flx       ! called by lim_step 
     29   PUBLIC lim_flx_2     ! called by lim_step_2 
    3030 
    3131   !! * Module variables 
     
    4444CONTAINS 
    4545 
    46    SUBROUTINE lim_flx 
     46   SUBROUTINE lim_flx_2 
    4747      !!------------------------------------------------------------------- 
    48       !!                ***  ROUTINE lim_flx *** 
     48      !!                ***  ROUTINE lim_flx_2 *** 
    4949      !!   
    5050      !! ** Purpose : Computes the mass and heat fluxes to the ocean 
     
    193193      !  2) Computation of snow/ice and ocean albedo   ! 
    194194      !------------------------------------------------! 
    195       CALL flx_blk_albedo( zalb, zalcn, zalbp, zaldum ) 
     195      CALL flx_blk_albedo_2( zalb, zalcn, zalbp, zaldum ) 
    196196 
    197197      alb_ice(:,:) =  0.5 * zalbp(:,:) + 0.5 * zalb (:,:)   ! Ice albedo                        
     
    205205      ENDIF  
    206206    
    207     END SUBROUTINE lim_flx 
     207    END SUBROUTINE lim_flx_2 
    208208 
    209209#else 
    210210   !!---------------------------------------------------------------------- 
    211    !!   Default option :        Dummy module           NO LIM sea-ice model 
     211   !!   Default option :        Dummy module       NO LIM 2.0 sea-ice model 
    212212   !!---------------------------------------------------------------------- 
    213213CONTAINS 
    214    SUBROUTINE lim_flx         ! Dummy routine 
    215    END SUBROUTINE lim_flx 
     214   SUBROUTINE lim_flx_2       ! Dummy routine 
     215   END SUBROUTINE lim_flx_2 
    216216#endif  
    217217 
    218218   !!====================================================================== 
    219 END MODULE limflx 
     219END MODULE limflx_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/limhdf.F90

    r719 r821  
    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'  i                                 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_002_LIM/NEMO/LIM_SRC/limistate.F90

    r719 r821  
    1 MODULE limistate 
     1MODULE limistate_2 
    22   !!====================================================================== 
    3    !!                     ***  MODULE  limistate  *** 
     3   !!                     ***  MODULE  limistate_2  *** 
    44   !!              Initialisation of diagnostics ice variables 
    55   !!====================================================================== 
     
    88   !!                  !  06-07  (S. Masson)  IOM to read the restart 
    99   !!-------------------------------------------------------------------- 
    10 #if defined key_ice_lim 
    11    !!---------------------------------------------------------------------- 
    12    !!   'key_ice_lim' :                                   LIM sea-ice model 
    13    !!---------------------------------------------------------------------- 
    14    !!---------------------------------------------------------------------- 
    15    !!   lim_istate      :  Initialisation of diagnostics ice variables 
    16    !!   lim_istate_init :  initialization of ice state and namelist read 
     10#if defined key_lim2 
     11   !!---------------------------------------------------------------------- 
     12   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
     13   !!---------------------------------------------------------------------- 
     14   !!---------------------------------------------------------------------- 
     15   !!   lim_istate_2      :  Initialisation of diagnostics ice variables 
     16   !!   lim_istate_init_2 :  initialization of ice state and namelist read 
    1717   !!---------------------------------------------------------------------- 
    1818   USE phycst 
     
    2020   USE oce             ! dynamics and tracers variables      !!gm used??? 
    2121   USE dom_oce                                                     !!gm used??? 
    22    USE par_ice         ! ice parameters 
     22   USE par_ice_2       ! ice parameters 
    2323   USE ice_oce         ! ice variables 
    24    USE dom_ice 
    25    USE ice             ! ??? 
     24   USE dom_ice_2 
    2625   USE lbclnk 
    27    USE ice 
     26   USE ice_2 
    2827   USE iom 
    2928   USE in_out_manager 
     
    3231   PRIVATE 
    3332 
    34    PUBLIC lim_istate      ! routine called by lim_init.F90 
     33   PUBLIC lim_istate_2      ! routine called by lim_init_2.F90 
    3534 
    3635   REAL(wp) ::           &  !!! ** init namelist (namiceini) ** 
     
    5453CONTAINS 
    5554 
    56    SUBROUTINE lim_istate 
    57       !!------------------------------------------------------------------- 
    58       !!                    ***  ROUTINE lim_istate  *** 
     55   SUBROUTINE lim_istate_2 
     56      !!------------------------------------------------------------------- 
     57      !!                    ***  ROUTINE lim_istate_2  *** 
    5958      !! 
    6059      !! ** Purpose :   defined the sea-ice initial state 
     
    6867      !-------------------------------------------------------------------- 
    6968 
    70        CALL lim_istate_init     !  reading the initials parameters of the ice 
     69       CALL lim_istate_init_2   !  reading the initials parameters of the ice 
    7170 
    7271      !-- Initialisation of sst,sss,u,v do i=1,jpi 
     
    200199      CALL lbc_lnk( sss_io , 'T', 1. ) 
    201200      ! 
    202    END SUBROUTINE lim_istate 
     201   END SUBROUTINE lim_istate_2 
    203202 
    204203    
    205    SUBROUTINE lim_istate_init 
    206       !!------------------------------------------------------------------- 
    207       !!                   ***  ROUTINE lim_istate_init  *** 
     204   SUBROUTINE lim_istate_init_2 
     205      !!------------------------------------------------------------------- 
     206      !!                   ***  ROUTINE lim_istate_init_2  *** 
    208207      !!         
    209208      !! ** Purpose :   Definition of initial state of the ice  
     
    273272      ENDIF 
    274273      ! 
    275    END SUBROUTINE lim_istate_init 
     274   END SUBROUTINE lim_istate_init_2 
    276275 
    277276#else 
    278277   !!---------------------------------------------------------------------- 
    279    !!   Default option :         Empty module          NO LIM sea-ice model 
     278   !!   Default option :         Empty module      NO LIM 2.0 sea-ice model 
    280279   !!---------------------------------------------------------------------- 
    281280CONTAINS 
    282    SUBROUTINE lim_istate          ! Empty routine 
    283    END SUBROUTINE lim_istate 
     281   SUBROUTINE lim_istate_2        ! Empty routine 
     282   END SUBROUTINE lim_istate_2 
    284283#endif 
    285284 
    286285   !!====================================================================== 
    287 END MODULE limistate 
     286END MODULE limistate_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/limmsh.F90

    r719 r821  
    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_002_LIM/NEMO/LIM_SRC/limrhg.F90

    r719 r821  
    1 MODULE limrhg 
     1MODULE limrhg_2 
    22   !!====================================================================== 
    3    !!                     ***  MODULE  limrhg  *** 
     3   !!                     ***  MODULE  limrhg_2  *** 
    44   !!   Ice rheology :  performs sea ice rheology 
    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_rhg   : computes ice velocities 
     10   !!   lim_rhg_2   : computes ice velocities 
    1111   !!---------------------------------------------------------------------- 
    1212   !! * Modules used 
     
    1414   USE par_oce 
    1515   USE ice_oce         ! ice variables 
    16    USE dom_ice 
    17    USE ice 
     16   USE dom_ice_2 
     17   USE ice_2 
    1818   USE lbclnk 
    1919   USE lib_mpp 
     
    2525 
    2626   !! * Routine accessibility 
    27    PUBLIC lim_rhg  ! routine called by lim_dyn 
     27   PUBLIC lim_rhg_2  ! routine called by lim_dyn_2 
    2828 
    2929   !! * Module variables 
     
    3939CONTAINS 
    4040 
    41    SUBROUTINE lim_rhg( k_j1, k_jpj ) 
     41   SUBROUTINE lim_rhg_2( k_j1, k_jpj ) 
    4242      !!------------------------------------------------------------------- 
    43       !!                 ***  SUBROUTINR lim_rhg  *** 
     43      !!                 ***  SUBROUTINR lim_rhg_2  *** 
    4444      !! 
    4545      !! ** purpose :   determines the velocity field of sea ice by using 
     
    650650      ENDIF 
    651651 
    652    END SUBROUTINE lim_rhg 
     652   END SUBROUTINE lim_rhg_2 
    653653 
    654654#else 
    655655   !!---------------------------------------------------------------------- 
    656    !!   Default option          Dummy module           NO LIM sea-ice model 
     656   !!   Default option          Dummy module       NO 2.0 LIM sea-ice model 
    657657   !!---------------------------------------------------------------------- 
    658658CONTAINS 
    659    SUBROUTINE lim_rhg( k1 , k2 )         ! Dummy routine 
    660       WRITE(*,*) 'lim_rhg: You should not have seen this print! error?', k1, k2 
    661    END SUBROUTINE lim_rhg 
     659   SUBROUTINE lim_rhg_2( k1 , k2 )       ! Dummy routine 
     660      WRITE(*,*) 'lim_rhg_2: You should not have seen this print! error?', k1, k2 
     661   END SUBROUTINE lim_rhg_2 
    662662#endif 
    663663 
    664664   !!============================================================================== 
    665 END MODULE limrhg 
     665END MODULE limrhg_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/limrst.F90

    r783 r821  
    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 dom_oce 
    2020   USE ice_oce         ! ice variables 
     
    2727   PRIVATE 
    2828 
    29    PUBLIC   lim_rst_opn     ! routine called by ??? module 
    30    PUBLIC   lim_rst_write   ! routine called by ??? module 
    31    PUBLIC   lim_rst_read    ! routine called by ??? module 
     29   PUBLIC   lim_rst_opn_2     ! routine called by ??? module 
     30   PUBLIC   lim_rst_write_2   ! routine called by ??? module 
     31   PUBLIC   lim_rst_read_2    ! routine called by ??? module 
    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    SUBROUTINE lim_rst_write( kt ) 
    87       !!---------------------------------------------------------------------- 
    88       !!                    ***  lim_rst_write  *** 
     84   END SUBROUTINE lim_rst_opn_2 
     85 
     86   SUBROUTINE lim_rst_write_2( kt ) 
     87      !!---------------------------------------------------------------------- 
     88      !!                    ***  lim_rst_write_2  *** 
    8989      !! 
    9090      !! ** purpose  :   output of sea-ice variable in a netcdf file 
     
    9999      IF( iter == nitrst ) THEN 
    100100         IF(lwp) WRITE(numout,*) 
    101          IF(lwp) WRITE(numout,*) 'lim_rst_write : write ice restart file  kt =', kt 
     101         IF(lwp) WRITE(numout,*) 'lim_rst_write_2 : write ice restart file  kt =', kt 
    102102         IF(lwp) WRITE(numout,*) '~~~~~~~'          
    103103      ENDIF 
     
    166166      ENDIF 
    167167      ! 
    168    END SUBROUTINE lim_rst_write 
    169  
    170  
    171    SUBROUTINE lim_rst_read 
    172       !!---------------------------------------------------------------------- 
    173       !!                    ***  lim_rst_read  *** 
     168   END SUBROUTINE lim_rst_write_2 
     169 
     170 
     171   SUBROUTINE lim_rst_read_2 
     172      !!---------------------------------------------------------------------- 
     173      !!                    ***  lim_rst_read_2  *** 
    174174      !! 
    175175      !! ** purpose  :   read of sea-ice variable restart in a netcdf file 
     
    181181      IF(lwp) THEN 
    182182         WRITE(numout,*) 
    183          WRITE(numout,*) 'lim_rst_read : read ice NetCDF restart file' 
     183         WRITE(numout,*) 'lim_rst_read_2 : read ice NetCDF restart file' 
    184184         WRITE(numout,*) '~~~~~~~~' 
    185185      ENDIF 
     
    257257      CALL iom_close( numrir ) 
    258258      ! 
    259    END SUBROUTINE lim_rst_read 
     259   END SUBROUTINE lim_rst_read_2 
    260260 
    261261#else 
    262262   !!---------------------------------------------------------------------- 
    263    !!   Default option :       Empty module            NO LIM sea-ice model 
     263   !!   Default option :       Empty module        NO LIM 2.0 sea-ice model 
    264264   !!---------------------------------------------------------------------- 
    265265#endif 
    266266 
    267267   !!====================================================================== 
    268 END MODULE limrst 
     268END MODULE limrst_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/limtab.F90

    r719 r821  
    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_002_LIM/NEMO/LIM_SRC/limthd.F90

    r719 r821  
    1 MODULE limthd 
     1MODULE limthd_2 
    22   !!====================================================================== 
    3    !!                  ***  MODULE limthd   *** 
     3   !!                  ***  MODULE limthd_2   *** 
    44   !!              LIM thermo ice model : ice thermodynamic 
    55   !!====================================================================== 
    6 #if defined key_ice_lim 
    7    !!---------------------------------------------------------------------- 
    8    !!   'key_ice_lim' :                                   LIM sea-ice model 
    9    !!---------------------------------------------------------------------- 
    10    !!   lim_thd      : thermodynamic of sea ice 
    11    !!   lim_thd_init : initialisation of sea-ice thermodynamic 
     6#if defined key_lim2 
     7   !!---------------------------------------------------------------------- 
     8   !!   'key_lim2' :                                  LIM 2.0 sea-ice model 
     9   !!---------------------------------------------------------------------- 
     10   !!   lim_thd_2      : thermodynamic of sea ice 
     11   !!   lim_thd_init_2 : initialisation of sea-ice thermodynamic 
    1212   !!---------------------------------------------------------------------- 
    1313   !! * Modules used 
     
    1616   USE lbclnk 
    1717   USE in_out_manager  ! I/O manager 
    18    USE ice             ! LIM sea-ice variables 
     18   USE ice_2           ! LIM sea-ice variables 
    1919   USE ice_oce         ! sea-ice/ocean variables 
    2020   USE flx_oce         ! sea-ice/ocean forcings variables  
    21    USE thd_ice         ! LIM thermodynamic sea-ice variables 
    22    USE dom_ice         ! LIM sea-ice domain 
    23    USE iceini 
    24    USE limthd_zdf 
    25    USE limthd_lac 
    26    USE limtab 
     21   USE thd_ice_2       ! LIM thermodynamic sea-ice variables 
     22   USE dom_ice_2       ! LIM sea-ice domain 
     23   USE iceini_2 
     24   USE limthd_zdf_2 
     25   USE limthd_lac_2 
     26   USE limtab_2 
    2727   USE prtctl          ! Print control 
    2828       
     
    3131 
    3232   !! * Routine accessibility 
    33    PUBLIC lim_thd       ! called by lim_step 
     33   PUBLIC lim_thd_2       ! called by lim_step_2 
    3434 
    3535   !! * Module variables 
     
    5252CONTAINS 
    5353 
    54    SUBROUTINE lim_thd( kt ) 
     54   SUBROUTINE lim_thd_2( kt ) 
    5555      !!------------------------------------------------------------------- 
    56       !!                ***  ROUTINE lim_thd  ***        
     56      !!                ***  ROUTINE lim_thd_2  ***        
    5757      !!   
    5858      !! ** Purpose : This routine manages the ice thermodynamic. 
     
    9999      !!------------------------------------------------------------------- 
    100100 
    101       IF( kt == nit000  )   CALL lim_thd_init  ! Initialization (first time-step only) 
     101      IF( kt == nit000  )   CALL lim_thd_init_2  ! Initialization (first time-step only) 
    102102    
    103103      !-------------------------------------------! 
     
    248248          
    249249         !  put the variable in a 1-D array for thermodynamics process 
    250          CALL tab_2d_1d( nbpb, frld_1d    (1:nbpb)     , frld       , jpi, jpj, npb(1:nbpb) ) 
    251          CALL tab_2d_1d( nbpb, h_ice_1d   (1:nbpb)     , hicif      , jpi, jpj, npb(1:nbpb) ) 
    252          CALL tab_2d_1d( nbpb, h_snow_1d  (1:nbpb)     , hsnif      , jpi, jpj, npb(1:nbpb) ) 
    253          CALL tab_2d_1d( nbpb, sist_1d    (1:nbpb)     , sist       , jpi, jpj, npb(1:nbpb) ) 
    254          CALL tab_2d_1d( nbpb, tbif_1d    (1:nbpb , 1 ), tbif(:,:,1), jpi, jpj, npb(1:nbpb) ) 
    255          CALL tab_2d_1d( nbpb, tbif_1d    (1:nbpb , 2 ), tbif(:,:,2), jpi, jpj, npb(1:nbpb) ) 
    256          CALL tab_2d_1d( nbpb, tbif_1d    (1:nbpb , 3 ), tbif(:,:,3), jpi, jpj, npb(1:nbpb) ) 
    257          CALL tab_2d_1d( nbpb, qsr_ice_1d (1:nbpb)     , qsr_ice    , jpi, jpj, npb(1:nbpb) ) 
    258          CALL tab_2d_1d( nbpb, fr1_i0_1d  (1:nbpb)     , fr1_i0     , jpi, jpj, npb(1:nbpb) ) 
    259          CALL tab_2d_1d( nbpb, fr2_i0_1d  (1:nbpb)     , fr2_i0     , jpi, jpj, npb(1:nbpb) ) 
    260          CALL tab_2d_1d( nbpb, qnsr_ice_1d(1:nbpb)     , qnsr_ice   , jpi, jpj, npb(1:nbpb) ) 
     250         CALL tab_2d_1d_2( nbpb, frld_1d    (1:nbpb)     , frld       , jpi, jpj, npb(1:nbpb) ) 
     251         CALL tab_2d_1d_2( nbpb, h_ice_1d   (1:nbpb)     , hicif      , jpi, jpj, npb(1:nbpb) ) 
     252         CALL tab_2d_1d_2( nbpb, h_snow_1d  (1:nbpb)     , hsnif      , jpi, jpj, npb(1:nbpb) ) 
     253         CALL tab_2d_1d_2( nbpb, sist_1d    (1:nbpb)     , sist       , jpi, jpj, npb(1:nbpb) ) 
     254         CALL tab_2d_1d_2( nbpb, tbif_1d    (1:nbpb , 1 ), tbif(:,:,1), jpi, jpj, npb(1:nbpb) ) 
     255         CALL tab_2d_1d_2( nbpb, tbif_1d    (1:nbpb , 2 ), tbif(:,:,2), jpi, jpj, npb(1:nbpb) ) 
     256         CALL tab_2d_1d_2( nbpb, tbif_1d    (1:nbpb , 3 ), tbif(:,:,3), jpi, jpj, npb(1:nbpb) ) 
     257         CALL tab_2d_1d_2( nbpb, qsr_ice_1d (1:nbpb)     , qsr_ice    , jpi, jpj, npb(1:nbpb) ) 
     258         CALL tab_2d_1d_2( nbpb, fr1_i0_1d  (1:nbpb)     , fr1_i0     , jpi, jpj, npb(1:nbpb) ) 
     259         CALL tab_2d_1d_2( nbpb, fr2_i0_1d  (1:nbpb)     , fr2_i0     , jpi, jpj, npb(1:nbpb) ) 
     260         CALL tab_2d_1d_2( nbpb, qnsr_ice_1d(1:nbpb)     , qnsr_ice   , jpi, jpj, npb(1:nbpb) ) 
    261261#if ! defined key_coupled 
    262          CALL tab_2d_1d( nbpb, qla_ice_1d (1:nbpb)     , qla_ice    , jpi, jpj, npb(1:nbpb) ) 
    263          CALL tab_2d_1d( nbpb, dqla_ice_1d(1:nbpb)     , dqla_ice   , jpi, jpj, npb(1:nbpb) ) 
     262         CALL tab_2d_1d_2( nbpb, qla_ice_1d (1:nbpb)     , qla_ice    , jpi, jpj, npb(1:nbpb) ) 
     263         CALL tab_2d_1d_2( nbpb, dqla_ice_1d(1:nbpb)     , dqla_ice   , jpi, jpj, npb(1:nbpb) ) 
    264264#endif 
    265          CALL tab_2d_1d( nbpb, dqns_ice_1d(1:nbpb)     , dqns_ice   , jpi, jpj, npb(1:nbpb) ) 
    266          CALL tab_2d_1d( nbpb, tfu_1d     (1:nbpb)     , tfu        , jpi, jpj, npb(1:nbpb) ) 
    267          CALL tab_2d_1d( nbpb, sprecip_1d (1:nbpb)     , sprecip    , jpi, jpj, npb(1:nbpb) )  
    268          CALL tab_2d_1d( nbpb, fbif_1d    (1:nbpb)     , fbif       , jpi, jpj, npb(1:nbpb) ) 
    269          CALL tab_2d_1d( nbpb, thcm_1d    (1:nbpb)     , thcm       , jpi, jpj, npb(1:nbpb) ) 
    270          CALL tab_2d_1d( nbpb, qldif_1d   (1:nbpb)     , qldif      , jpi, jpj, npb(1:nbpb) ) 
    271          CALL tab_2d_1d( nbpb, qstbif_1d  (1:nbpb)     , qstoif     , jpi, jpj, npb(1:nbpb) ) 
    272          CALL tab_2d_1d( nbpb, rdmicif_1d (1:nbpb)     , rdmicif    , jpi, jpj, npb(1:nbpb) ) 
    273          CALL tab_2d_1d( nbpb, dmgwi_1d   (1:nbpb)     , dmgwi      , jpi, jpj, npb(1:nbpb) ) 
    274          CALL tab_2d_1d( nbpb, qlbbq_1d   (1:nbpb)     , zqlbsbq    , jpi, jpj, npb(1:nbpb) ) 
     265         CALL tab_2d_1d_2( nbpb, dqns_ice_1d(1:nbpb)     , dqns_ice   , jpi, jpj, npb(1:nbpb) ) 
     266         CALL tab_2d_1d_2( nbpb, tfu_1d     (1:nbpb)     , tfu        , jpi, jpj, npb(1:nbpb) ) 
     267         CALL tab_2d_1d_2( nbpb, sprecip_1d (1:nbpb)     , sprecip    , jpi, jpj, npb(1:nbpb) )  
     268         CALL tab_2d_1d_2( nbpb, fbif_1d    (1:nbpb)     , fbif       , jpi, jpj, npb(1:nbpb) ) 
     269         CALL tab_2d_1d_2( nbpb, thcm_1d    (1:nbpb)     , thcm       , jpi, jpj, npb(1:nbpb) ) 
     270         CALL tab_2d_1d_2( nbpb, qldif_1d   (1:nbpb)     , qldif      , jpi, jpj, npb(1:nbpb) ) 
     271         CALL tab_2d_1d_2( nbpb, qstbif_1d  (1:nbpb)     , qstoif     , jpi, jpj, npb(1:nbpb) ) 
     272         CALL tab_2d_1d_2( nbpb, rdmicif_1d (1:nbpb)     , rdmicif    , jpi, jpj, npb(1:nbpb) ) 
     273         CALL tab_2d_1d_2( nbpb, dmgwi_1d   (1:nbpb)     , dmgwi      , jpi, jpj, npb(1:nbpb) ) 
     274         CALL tab_2d_1d_2( nbpb, qlbbq_1d   (1:nbpb)     , zqlbsbq    , jpi, jpj, npb(1:nbpb) ) 
    275275  
    276          CALL lim_thd_zdf( 1, nbpb )       !  compute ice growth 
     276         CALL lim_thd_zdf_2( 1, nbpb )       !  compute ice growth 
    277277          
    278278         !  back to the geographic grid. 
    279          CALL tab_1d_2d( nbpb, frld       , npb, frld_1d   (1:nbpb)     , jpi, jpj ) 
    280          CALL tab_1d_2d( nbpb, hicif      , npb, h_ice_1d  (1:nbpb)     , jpi, jpj ) 
    281          CALL tab_1d_2d( nbpb, hsnif      , npb, h_snow_1d (1:nbpb)     , jpi, jpj ) 
    282          CALL tab_1d_2d( nbpb, sist       , npb, sist_1d   (1:nbpb)     , jpi, jpj ) 
    283          CALL tab_1d_2d( nbpb, tbif(:,:,1), npb, tbif_1d   (1:nbpb , 1 ), jpi, jpj )    
    284          CALL tab_1d_2d( nbpb, tbif(:,:,2), npb, tbif_1d   (1:nbpb , 2 ), jpi, jpj )    
    285          CALL tab_1d_2d( nbpb, tbif(:,:,3), npb, tbif_1d   (1:nbpb , 3 ), jpi, jpj )    
    286          CALL tab_1d_2d( nbpb, fscmbq     , npb, fscbq_1d  (1:nbpb)     , jpi, jpj ) 
    287          CALL tab_1d_2d( nbpb, ffltbif    , npb, fltbif_1d (1:nbpb)     , jpi, jpj ) 
    288          CALL tab_1d_2d( nbpb, fstric     , npb, fstbif_1d (1:nbpb)     , jpi, jpj ) 
    289          CALL tab_1d_2d( nbpb, qldif      , npb, qldif_1d  (1:nbpb)     , jpi, jpj ) 
    290          CALL tab_1d_2d( nbpb, qfvbq      , npb, qfvbq_1d  (1:nbpb)     , jpi, jpj ) 
    291          CALL tab_1d_2d( nbpb, qstoif     , npb, qstbif_1d (1:nbpb)     , jpi, jpj ) 
    292          CALL tab_1d_2d( nbpb, rdmicif    , npb, rdmicif_1d(1:nbpb)     , jpi, jpj ) 
    293          CALL tab_1d_2d( nbpb, dmgwi      , npb, dmgwi_1d  (1:nbpb)     , jpi, jpj ) 
    294          CALL tab_1d_2d( nbpb, rdmsnif    , npb, rdmsnif_1d(1:nbpb)     , jpi, jpj ) 
    295          CALL tab_1d_2d( nbpb, rdvosif    , npb, dvsbq_1d  (1:nbpb)     , jpi, jpj ) 
    296          CALL tab_1d_2d( nbpb, rdvobif    , npb, dvbbq_1d  (1:nbpb)     , jpi, jpj ) 
    297          CALL tab_1d_2d( nbpb, fdvolif    , npb, dvlbq_1d  (1:nbpb)     , jpi, jpj ) 
    298          CALL tab_1d_2d( nbpb, rdvonif    , npb, dvnbq_1d  (1:nbpb)     , jpi, jpj )  
     279         CALL tab_1d_2d_2( nbpb, frld       , npb, frld_1d   (1:nbpb)     , jpi, jpj ) 
     280         CALL tab_1d_2d_2( nbpb, hicif      , npb, h_ice_1d  (1:nbpb)     , jpi, jpj ) 
     281         CALL tab_1d_2d_2( nbpb, hsnif      , npb, h_snow_1d (1:nbpb)     , jpi, jpj ) 
     282         CALL tab_1d_2d_2( nbpb, sist       , npb, sist_1d   (1:nbpb)     , jpi, jpj ) 
     283         CALL tab_1d_2d_2( nbpb, tbif(:,:,1), npb, tbif_1d   (1:nbpb , 1 ), jpi, jpj )    
     284         CALL tab_1d_2d_2( nbpb, tbif(:,:,2), npb, tbif_1d   (1:nbpb , 2 ), jpi, jpj )    
     285         CALL tab_1d_2d_2( nbpb, tbif(:,:,3), npb, tbif_1d   (1:nbpb , 3 ), jpi, jpj )    
     286         CALL tab_1d_2d_2( nbpb, fscmbq     , npb, fscbq_1d  (1:nbpb)     , jpi, jpj ) 
     287         CALL tab_1d_2d_2( nbpb, ffltbif    , npb, fltbif_1d (1:nbpb)     , jpi, jpj ) 
     288         CALL tab_1d_2d_2( nbpb, fstric     , npb, fstbif_1d (1:nbpb)     , jpi, jpj ) 
     289         CALL tab_1d_2d_2( nbpb, qldif      , npb, qldif_1d  (1:nbpb)     , jpi, jpj ) 
     290         CALL tab_1d_2d_2( nbpb, qfvbq      , npb, qfvbq_1d  (1:nbpb)     , jpi, jpj ) 
     291         CALL tab_1d_2d_2( nbpb, qstoif     , npb, qstbif_1d (1:nbpb)     , jpi, jpj ) 
     292         CALL tab_1d_2d_2( nbpb, rdmicif    , npb, rdmicif_1d(1:nbpb)     , jpi, jpj ) 
     293         CALL tab_1d_2d_2( nbpb, dmgwi      , npb, dmgwi_1d  (1:nbpb)     , jpi, jpj ) 
     294         CALL tab_1d_2d_2( nbpb, rdmsnif    , npb, rdmsnif_1d(1:nbpb)     , jpi, jpj ) 
     295         CALL tab_1d_2d_2( nbpb, rdvosif    , npb, dvsbq_1d  (1:nbpb)     , jpi, jpj ) 
     296         CALL tab_1d_2d_2( nbpb, rdvobif    , npb, dvbbq_1d  (1:nbpb)     , jpi, jpj ) 
     297         CALL tab_1d_2d_2( nbpb, fdvolif    , npb, dvlbq_1d  (1:nbpb)     , jpi, jpj ) 
     298         CALL tab_1d_2d_2( nbpb, rdvonif    , npb, dvnbq_1d  (1:nbpb)     , jpi, jpj )  
    299299 
    300300  
     
    351351          
    352352         !...Put the variable in a 1-D array for lateral accretion 
    353          CALL tab_2d_1d( nbpac, frld_1d   (1:nbpac)     , frld       , jpi, jpj, npac(1:nbpac) ) 
    354          CALL tab_2d_1d( nbpac, h_snow_1d (1:nbpac)     , hsnif      , jpi, jpj, npac(1:nbpac) ) 
    355          CALL tab_2d_1d( nbpac, h_ice_1d  (1:nbpac)     , hicif      , jpi, jpj, npac(1:nbpac) ) 
    356          CALL tab_2d_1d( nbpac, tbif_1d   (1:nbpac , 1 ), tbif(:,:,1), jpi, jpj, npac(1:nbpac) )    
    357          CALL tab_2d_1d( nbpac, tbif_1d   (1:nbpac , 2 ), tbif(:,:,2), jpi, jpj, npac(1:nbpac) )    
    358          CALL tab_2d_1d( nbpac, tbif_1d   (1:nbpac , 3 ), tbif(:,:,3), jpi, jpj, npac(1:nbpac) )    
    359          CALL tab_2d_1d( nbpac, qldif_1d  (1:nbpac)     , qldif      , jpi, jpj, npac(1:nbpac) ) 
    360          CALL tab_2d_1d( nbpac, qcmif_1d  (1:nbpac)     , qcmif      , jpi, jpj, npac(1:nbpac) ) 
    361          CALL tab_2d_1d( nbpac, qstbif_1d (1:nbpac)     , qstoif     , jpi, jpj, npac(1:nbpac) ) 
    362          CALL tab_2d_1d( nbpac, rdmicif_1d(1:nbpac)     , rdmicif    , jpi, jpj, npac(1:nbpac) ) 
    363          CALL tab_2d_1d( nbpac, dvlbq_1d  (1:nbpac)     , fdvolif    , jpi, jpj, npac(1:nbpac) ) 
    364          CALL tab_2d_1d( nbpac, tfu_1d    (1:nbpac)     , tfu        , jpi, jpj, npac(1:nbpac) ) 
     353         CALL tab_2d_1d_2( nbpac, frld_1d   (1:nbpac)     , frld       , jpi, jpj, npac(1:nbpac) ) 
     354         CALL tab_2d_1d_2( nbpac, h_snow_1d (1:nbpac)     , hsnif      , jpi, jpj, npac(1:nbpac) ) 
     355         CALL tab_2d_1d_2( nbpac, h_ice_1d  (1:nbpac)     , hicif      , jpi, jpj, npac(1:nbpac) ) 
     356         CALL tab_2d_1d_2( nbpac, tbif_1d   (1:nbpac , 1 ), tbif(:,:,1), jpi, jpj, npac(1:nbpac) )    
     357         CALL tab_2d_1d_2( nbpac, tbif_1d   (1:nbpac , 2 ), tbif(:,:,2), jpi, jpj, npac(1:nbpac) )    
     358         CALL tab_2d_1d_2( nbpac, tbif_1d   (1:nbpac , 3 ), tbif(:,:,3), jpi, jpj, npac(1:nbpac) )    
     359         CALL tab_2d_1d_2( nbpac, qldif_1d  (1:nbpac)     , qldif      , jpi, jpj, npac(1:nbpac) ) 
     360         CALL tab_2d_1d_2( nbpac, qcmif_1d  (1:nbpac)     , qcmif      , jpi, jpj, npac(1:nbpac) ) 
     361         CALL tab_2d_1d_2( nbpac, qstbif_1d (1:nbpac)     , qstoif     , jpi, jpj, npac(1:nbpac) ) 
     362         CALL tab_2d_1d_2( nbpac, rdmicif_1d(1:nbpac)     , rdmicif    , jpi, jpj, npac(1:nbpac) ) 
     363         CALL tab_2d_1d_2( nbpac, dvlbq_1d  (1:nbpac)     , fdvolif    , jpi, jpj, npac(1:nbpac) ) 
     364         CALL tab_2d_1d_2( nbpac, tfu_1d    (1:nbpac)     , tfu        , jpi, jpj, npac(1:nbpac) ) 
    365365         
    366366         !  call lateral accretion routine. 
    367          CALL lim_thd_lac( 1 , nbpac ) 
     367         CALL lim_thd_lac_2( 1 , nbpac ) 
    368368          
    369369         !   back to the geographic grid 
    370          CALL tab_1d_2d( nbpac, frld       , npac(1:nbpac), frld_1d   (1:nbpac)     , jpi, jpj ) 
    371          CALL tab_1d_2d( nbpac, hsnif      , npac(1:nbpac), h_snow_1d (1:nbpac)     , jpi, jpj ) 
    372          CALL tab_1d_2d( nbpac, hicif      , npac(1:nbpac), h_ice_1d  (1:nbpac)     , jpi, jpj ) 
    373          CALL tab_1d_2d( nbpac, tbif(:,:,1), npac(1:nbpac), tbif_1d   (1:nbpac , 1 ), jpi, jpj ) 
    374          CALL tab_1d_2d( nbpac, tbif(:,:,2), npac(1:nbpac), tbif_1d   (1:nbpac , 2 ), jpi, jpj ) 
    375          CALL tab_1d_2d( nbpac, tbif(:,:,3), npac(1:nbpac), tbif_1d   (1:nbpac , 3 ), jpi, jpj ) 
    376          CALL tab_1d_2d( nbpac, qstoif     , npac(1:nbpac), qstbif_1d (1:nbpac)     , jpi, jpj ) 
    377          CALL tab_1d_2d( nbpac, rdmicif    , npac(1:nbpac), rdmicif_1d(1:nbpac)     , jpi, jpj ) 
    378          CALL tab_1d_2d( nbpac, fdvolif    , npac(1:nbpac), dvlbq_1d  (1:nbpac)     , jpi, jpj ) 
     370         CALL tab_1d_2d_2( nbpac, frld       , npac(1:nbpac), frld_1d   (1:nbpac)     , jpi, jpj ) 
     371         CALL tab_1d_2d_2( nbpac, hsnif      , npac(1:nbpac), h_snow_1d (1:nbpac)     , jpi, jpj ) 
     372         CALL tab_1d_2d_2( nbpac, hicif      , npac(1:nbpac), h_ice_1d  (1:nbpac)     , jpi, jpj ) 
     373         CALL tab_1d_2d_2( nbpac, tbif(:,:,1), npac(1:nbpac), tbif_1d   (1:nbpac , 1 ), jpi, jpj ) 
     374         CALL tab_1d_2d_2( nbpac, tbif(:,:,2), npac(1:nbpac), tbif_1d   (1:nbpac , 2 ), jpi, jpj ) 
     375         CALL tab_1d_2d_2( nbpac, tbif(:,:,3), npac(1:nbpac), tbif_1d   (1:nbpac , 3 ), jpi, jpj ) 
     376         CALL tab_1d_2d_2( nbpac, qstoif     , npac(1:nbpac), qstbif_1d (1:nbpac)     , jpi, jpj ) 
     377         CALL tab_1d_2d_2( nbpac, rdmicif    , npac(1:nbpac), rdmicif_1d(1:nbpac)     , jpi, jpj ) 
     378         CALL tab_1d_2d_2( nbpac, fdvolif    , npac(1:nbpac), dvlbq_1d  (1:nbpac)     , jpi, jpj ) 
    379379         
    380380      ENDIF 
     
    405405      ENDIF 
    406406 
    407     END SUBROUTINE lim_thd 
    408  
    409  
    410     SUBROUTINE lim_thd_init 
     407    END SUBROUTINE lim_thd_2 
     408 
     409 
     410    SUBROUTINE lim_thd_init_2 
    411411      !!------------------------------------------------------------------- 
    412       !!                   ***  ROUTINE lim_thd_init ***  
     412      !!                   ***  ROUTINE lim_thd_init_2 ***  
    413413      !!                  
    414414      !! ** Purpose :   Physical constants and parameters linked to the ice  
     
    435435      IF(lwp) THEN 
    436436         WRITE(numout,*) 
    437          WRITE(numout,*)'lim_thd_init : ice parameters for ice thermodynamic computation ' 
    438          WRITE(numout,*)'~~~~~~~~~~~~' 
     437         WRITE(numout,*)'lim_thd_init_2: ice parameters for ice thermodynamic computation ' 
     438         WRITE(numout,*)'~~~~~~~~~~~~~~' 
    439439         WRITE(numout,*)'       maximum melting at the bottom                           hmelt        = ', hmelt 
    440440         WRITE(numout,*)'       ice thick. for lateral accretion in NH (SH)             hiccrit(1/2) = ', hiccrit 
     
    466466      ENDIF 
    467467  
    468    END SUBROUTINE lim_thd_init 
     468   END SUBROUTINE lim_thd_init_2 
    469469 
    470470#else 
    471471   !!---------------------------------------------------------------------- 
    472    !!   Default option          Dummy module           NO LIM sea-ice model 
     472   !!   Default option          Dummy module       NO LIM 2.0 sea-ice model 
    473473   !!---------------------------------------------------------------------- 
    474474CONTAINS 
    475    SUBROUTINE lim_thd         ! Dummy routine 
    476    END SUBROUTINE lim_thd 
     475   SUBROUTINE lim_thd_2         ! Dummy routine 
     476   END SUBROUTINE lim_thd_2 
    477477#endif 
    478478 
    479479   !!====================================================================== 
    480 END MODULE limthd 
     480END MODULE limthd_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/limthd_lac.F90

    r719 r821  
    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_002_LIM/NEMO/LIM_SRC/limthd_zdf.F90

    r719 r821  
    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   !!====================================================================== 
    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_thd_zdf  : vertical accr./abl. and lateral ablation of sea ice 
     10   !!   lim_thd_zdf_2 : vertical accr./abl. and lateral ablation of sea ice 
    1111   !!---------------------------------------------------------------------- 
    1212   !! * Modules used 
     
    1414   USE phycst           ! ??? 
    1515   USE ice_oce          ! ice variables 
    16    USE thd_ice 
    17    USE iceini 
    18    USE limistate 
     16   USE thd_ice_2 
     17   USE iceini_2 
     18   USE limistate_2 
    1919   USE in_out_manager 
    2020       
     
    2323 
    2424   !! * Routine accessibility 
    25    PUBLIC lim_thd_zdf        ! called by lim_thd 
     25   PUBLIC lim_thd_zdf_2      ! called by lim_thd_2 
    2626 
    2727   !! * Module variables 
     
    3838CONTAINS 
    3939 
    40    SUBROUTINE lim_thd_zdf( kideb , kiut ) 
     40   SUBROUTINE lim_thd_zdf_2( kideb , kiut ) 
    4141      !!------------------------------------------------------------------ 
    42       !!                ***  ROUTINE lim_thd_zdf  *** 
     42      !!                ***  ROUTINE lim_thd_zdf_2  *** 
    4343      !!               
    4444      !! ** Purpose : This routine determines the time evolution of snow  
     
    802802       END DO 
    803803        
    804     END SUBROUTINE lim_thd_zdf 
     804    END SUBROUTINE lim_thd_zdf_2 
    805805#else 
    806806   !!====================================================================== 
    807    !!                       ***  MODULE limthd_zdf   *** 
     807   !!                       ***  MODULE limthd_zdf_2   *** 
    808808   !!                              no sea ice model   
    809809   !!====================================================================== 
    810810CONTAINS 
    811    SUBROUTINE lim_thd_zdf          ! Empty routine 
    812    END SUBROUTINE lim_thd_zdf 
     811   SUBROUTINE lim_thd_zdf_2          ! Empty routine 
     812   END SUBROUTINE lim_thd_zdf_2 
    813813#endif 
    814  END MODULE limthd_zdf 
     814 END MODULE limthd_zdf_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/limtrp.F90

    r719 r821  
    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 ice_step_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(:,:) 
     
    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_002_LIM/NEMO/LIM_SRC/limwri.F90

    r719 r821  
    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'  i                                 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 ioipsl 
     
    2323   USE ice_oce         ! ice variables 
    2424   USE flx_oce 
    25    USE dom_ice 
    26    USE ice 
     25   USE dom_ice_2 
     26   USE ice_2 
    2727   USE lbclnk 
    2828 
     
    3030   PRIVATE 
    3131 
    32    PUBLIC   lim_wri        ! routine called by lim_step.F90 
     32   PUBLIC   lim_wri_2        ! routine called by lim_step_2.F90 
    3333 
    3434   INTEGER, PARAMETER                       ::   jpnoumax = 40   ! maximum number of variable for ice output 
     
    6161   !!   'key_dimgout'                                    Direct Access file 
    6262   !!---------------------------------------------------------------------- 
    63 # include "limwri_dimg.h90" 
     63# include "limwri_dimg_2.h90" 
    6464#else 
    6565   !!---------------------------------------------------------------------- 
     
    6767   !!---------------------------------------------------------------------- 
    6868 
    69    SUBROUTINE lim_wri( kt ) 
    70       !!------------------------------------------------------------------- 
    71       !!                    ***   ROUTINE lim_wri  *** 
     69   SUBROUTINE lim_wri_2( kt ) 
     70      !!------------------------------------------------------------------- 
     71      !!                    ***   ROUTINE lim_wri_2  *** 
    7272      !!                 
    7373      !! ** Purpose :   write the sea-ice output file in NetCDF 
     
    9292      IF ( kt == nit000 ) THEN                !   Initialisation   ! 
    9393         !                                       !--------------------! 
    94          CALL lim_wri_init  
     94         CALL lim_wri_init_2  
    9595                            
    9696         zsto     = rdt_ice 
     
    123123      IF(lwp) THEN 
    124124         WRITE(numout,*) 
    125          WRITE(numout,*) 'lim_wri : write ice outputs in NetCDF files at time : ', nyear, nmonth, nday, kt + nfice - 1 
    126          WRITE(numout,*) '~~~~~~~ ' 
     125         WRITE(numout,*) 'lim_wri_2 : write ice outputs in NetCDF files at time : ', nyear, nmonth, nday, kt + nfice - 1 
     126         WRITE(numout,*) '~~~~~~~~~ ' 
    127127      ENDIF 
    128128 
     
    189189      ENDIF 
    190190      ! 
    191    END SUBROUTINE lim_wri 
     191   END SUBROUTINE lim_wri_2 
    192192    
    193193#endif 
    194194    
    195    SUBROUTINE lim_wri_init 
    196       !!------------------------------------------------------------------- 
    197       !!                    ***   ROUTINE lim_wri_init  *** 
     195   SUBROUTINE lim_wri_init_2 
     196      !!------------------------------------------------------------------- 
     197      !!                    ***   ROUTINE lim_wri_init_2  *** 
    198198      !!                 
    199199      !! ** Purpose :   intialisation of LIM sea-ice output 
     
    267267      IF(lwp) THEN 
    268268         WRITE(numout,*) 
    269          WRITE(numout,*) 'lim_wri_init : Ice parameters for outputs' 
    270          WRITE(numout,*) '~~~~~~~~~~~~' 
     269         WRITE(numout,*) 'lim_wri_init_2 : Ice parameters for outputs' 
     270         WRITE(numout,*) '~~~~~~~~~~~~~~' 
    271271         WRITE(numout,*) '    number of fields to be stored         noumef = ', noumef 
    272272         WRITE(numout,*) '           title                            name     unit      Saving (1/0) ',   & 
     
    278278      ENDIF 
    279279      !     
    280    END SUBROUTINE lim_wri_init 
     280   END SUBROUTINE lim_wri_init_2 
    281281 
    282282#else 
    283283   !!---------------------------------------------------------------------- 
    284    !!   Default option :         Empty module          NO LIM sea-ice model 
     284   !!   Default option :         Empty module      NO LIM 2.0 sea-ice model 
    285285   !!---------------------------------------------------------------------- 
    286286CONTAINS 
    287    SUBROUTINE lim_wri          ! Empty routine 
    288    END SUBROUTINE lim_wri 
     287   SUBROUTINE lim_wri_2          ! Empty routine 
     288   END SUBROUTINE lim_wri_2 
    289289#endif 
    290290 
    291291   !!====================================================================== 
    292 END MODULE limwri 
     292END MODULE limwri_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/limwri_dimg.h90

    r719 r821  
    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+nfice-1-nit000+1, nwrite == 0 ) ! 
    204204 
    205      END SUBROUTINE lim_wri 
     205     END SUBROUTINE lim_wri_2 
  • branches/dev_002_LIM/NEMO/LIM_SRC/par_ice.F90

    r719 r821  
    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_002_LIM/NEMO/LIM_SRC/thd_ice.F90

    r719 r821  
    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 
Note: See TracChangeset for help on using the changeset viewer.