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 881 for branches/dev_001_SBC/NEMO/LIM_SRC/limtrp.F90 – NEMO

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

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_001_SBC/NEMO/LIM_SRC/limtrp.F90

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