text:
!############################################################################################
!
! Copyright 2020 Bharat Mahajan
!
! Licensed under the Apache License, Version 2.0 (the "License");
! you may not use this file except in compliance with the License.
! You may obtain a copy of the License at
!
!    http://www.apache.org/licenses/LICENSE-2.0
!
! Unless required by applicable law or agreed to in writing, software
! distributed under the License is distributed on an "AS IS" BASIS,
! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
! See the License for the specific language governing permissions and
! limitations under the License.
!
!> \brief       FLINT Base Module
!! \details     It includes the abstract intefaces for every solver in FLINT in addition to
!!              the intefaces for the differential equation and event functions provided by
!!              the user. FLINT error codes are defined here as well.
!! \author      Bharat Mahajan
!! \date        Created: 01/25/2019
!
!############################################################################################

module FLINT_base

    ! All the basic definitions
    use FLINTUtils

    implicit none

    public

    !> Default number of maximum steps that intgerator is allowed to take
    integer, parameter :: INT_MAXSTEPS = 1024

    !> Supported Error Codes
    enum, bind(C)
        enumerator :: FLINT_SUCCESS                 = 0   !< Successfully completed
        enumerator :: FLINT_EVENT_TERM              = 1   !< Termination event occured
        enumerator :: FLINT_STIFF_PROBLEM           = 2   !< Stiff problem
        enumerator :: FLINT_ERROR                   = 3   !< Some unknown error
        enumerator :: FLINT_ERROR_PARAMS            = 4   !< Wrong user-provided parameters
        enumerator :: FLINT_ERROR_MAXSTEPS          = 5   !< Termination due to maximum steps reached
        enumerator :: FLINT_ERROR_MEMALLOC          = 6   !< Memory allocation error
        enumerator :: FLINT_ERROR_MEMDEALLOC        = 7   !< Memory deallocation error
        enumerator :: FLINT_ERROR_DIMENSION         = 8   !< Wrong dimensions of the differential equations specified
        enumerator :: FLINT_ERROR_STEPSZ_TOOSMALL   = 9   !< Step size reduced to very small value
        enumerator :: FLINT_ERROR_INTPSTATES        = 10  !< Wrong interpolation states specified
        enumerator :: FLINT_ERROR_INTP_ARRAY        = 11  !< Array provided for interpolation is wrong
        enumerator :: FLINT_ERROR_INTP_OFF          = 12  !< Interpolation is not enabled
        enumerator :: FLINT_ERROR_INIT_REQD         = 13  !< FLINT Init is required
        enumerator :: FLINT_ERROR_EVENTPARAMS       = 14  !< Event related parameters are wrong or missing
        enumerator :: FLINT_ERROR_EVENTROOT         = 15  !< Event root find is failed
        enumerator :: FLINT_ERROR_CONSTSTEPSZ       = 16  !< Wrong value of StepSz for constant step size option
    end enum

    !> Error message strings for the supported error codes
    character(len=*), parameter, dimension(0:16) :: FLINT_ErrorStrings = [character(len=64) :: &
                            'Successfully Completed',                           &
                            'Termination Event Occurred',                       &
                            'Problem appears to be stiff',                      &
                            'Unknown error',                                    &
                            'Incorrect user-provided parameters',               &
                            'Maximum integration steps reached',                &
                            'Memory allocation error',                          &
                            'Memory deallocation error',                        &
                            'Incorrect dimensions',                             &
                            'Step size reduced to very small value',            &
                            'Incorrect interpolation states',                   &
                            'Incorrect interpolation array provided',           &
                            'Interpolation is not enabled',                     &
                            'Init is not completed',                            &
                            'Incorrect event-related parameters ',              &
                            'Event root-finding failed',                        &
                            'Incorrect step size for the non-adaptive option'   &
                            ]

    !> Supported FLINT Event Actions
    enum, bind(C)
        !> Continue the integration
        enumerator :: FLINT_EVENTACTION_CONTINUE    = 0

        !> Terminate the integration
        enumerator :: FLINT_EVENTACTION_TERMINATE   = 1

        !> Change the solution
        enumerator :: FLINT_EVENTACTION_CHANGESOLY  = 2

        !> Restart the integration
        enumerator :: FLINT_EVENTACTION_RESTARTINT  = 4

        !> Mask the event for future detection. It can be combined with
        !! any of the other event actions.
        enumerator :: FLINT_EVENTACTION_MASK        = 128
    end enum

    !> Supported FLINT Event Options
    enum, bind(C)
        !> Locate the event as closely as possible using root-finding
        enumerator :: FLINT_EVENTOPTION_ROOTFINDING   = 0

        !> Return the solution in EventStates at the beginning of the integrator's step
        !! (with natural or event step size) just after which the event function
        !! changed sign.
        enumerator :: FLINT_EVENTOPTION_STEPBEGIN  = 1

        !> Return the solution in EventStates at the end of the integrator's step
        !! (with natural or event step size) just before which the event function
        !! changed sign.
        enumerator :: FLINT_EVENTOPTION_STEPEND    = 2
    end enum

    !> Abstract base class that must be inherited by all the numerical integrator classes
    type, abstract, public :: FLINT_class

        !> Status of the last operation completed
        integer(kind(FLINT_SUCCESS)), public :: status = FLINT_SUCCESS

        !> Pointer to the user-supplied Differential Equation object
        class(DiffEqSys), pointer, public :: pDiffEqSys => null()

        !> Tolerance related constants: rtol and atol
        !! Dimension can be either 1 or n (dimension of the initial
        !! condition vector). These are used to compute the scale factor (SC) needed
        !! for error computations using the following formula:
        !! \f[ SC_i = atol_i + rtol_i |Y_{i}| \quad i=1..n,\f]
        !! where \f$|Y|\f$ is the absolute value of the current solution vector.
        logical :: IsScalarTol = .TRUE.
        real(WP), dimension(:), allocatable  :: RTol
        real(WP), dimension(:), allocatable  :: ATol

        integer :: TotalSteps = 0           !< Total number of integrator steps
        integer :: AcceptedSteps = 0        !< Number of accepted integrator steps
        integer :: RejectedSteps = 0        !< Number of rejected integrator steps

        integer :: FCalls = 0 !< Total number of Diff Eq. function calls made

        integer :: MaxSteps = INT_MAXSTEPS !< Maximum number of steps integrator is allowed to take

        logical :: InterpOn = .FALSE. !< True for dense output
        integer, dimension(:), allocatable :: InterpStates !< States between 1 and n for dense output

        real(WP), dimension(:), allocatable :: Xint     !< Array of the natural integrator steps

        !> Array to store interpolation coefficients at integrator steps
        real(WP), dimension(:,:,:), allocatable :: Bip

        !> Minimum step size of the integrator. It is always a positive number.
        !! Default value is used if user do not specifify it.
        real(WP) :: MinStepSize

        !> Maximum step-size of the integrator. It is always a positive number.
        !! Default value is the difference between the initial and final value of the
        !! independent variable.
        real(WP) :: MaxStepSize

        real(WP) :: InitialStepSize     !< Initial step size

        real(WP), dimension(5) :: StepSzParams  !< Step size method-specific tuning parameters

        logical :: EventsOn = .FALSE. !< Events checking off by default

        !> This specifies the maximum time after which the event function must be called
        !! for each event detection. A 0 value in EventStepSz means that event will be checked
        !! after the integrator takes a natural step always. Otherwise, events will be checked
        !! after the interval specified by EventStepSz if that interval size is smaller than the
        !! length of the current step size. In case it is bigger, then event will be checked at
        !! the integrator's natural step boundary. Setting is for each event spearately.
        real(WP), dimension(:), allocatable :: EventStepSz

        !> Event options for each event separately. Must be initialized
        !! by the Init Function. Specifies what event related info to return to the user.
        integer, dimension(:), allocatable :: EventOptions

        !> Event tolerance value for each event in case of root-finding is used for event loation
        real(WP), dimension(:), allocatable  :: ETol

        real(WP) :: X0 !< Initial value of the independent variable
        real(WP) :: Xf !< Final value of the independent variable
        real(WP) :: h0 !< Initial step-size that was accepted
        real(WP) :: hf !< The accepted step-size that was used at the last step
        real(WP), dimension(:), allocatable :: Y0 !< Initial condition
        real(WP), dimension(:), allocatable :: Yf !< Final solution

    contains

        !> Init is called once and only to specify new differential equaions, events,
        !! and a few integrator options
        procedure (Init), deferred :: Init

        !> Integrate the solution from the initial to final value of the independent variable
        procedure (Integrate), deferred :: Integrate

        !> If interpolation is enabled, then it outputs the solution at the user-specified grid points
        procedure (Interpolate), deferred :: Interpolate

        !> Current FLINT object query function
        procedure (Info), deferred :: Info

    end type FLINT_class

    !> User must extend DiffEqSys and provide the DiffEq and Events function
    !! + n must be set to the number of the differential equations.
    !! + m must be set equal to the number of events, if events are used.
    !! + 'TBD' p must be set to the number of the parameters for sensitivity analysis
    type, abstract, public :: DiffEqSys
        integer :: n = 1
        integer :: m = 1
        integer :: p = 0
    contains
        procedure(DEFunc), deferred :: F
        procedure(EventFunc), deferred :: G
    end type DiffEqSys

    abstract interface

        !> Interface of the user-supplied Differential Equation function. It must
        !! return a vector of double precision values with dimension same as that of
        !! the input vector Y.
        function DEFunc(me, X, Y, params)

            import :: WP, DiffEqSys
            implicit none
            intrinsic :: size

            class(DiffEqSys), intent(in) :: me      !< Differential Equation object
            real(WP), intent(in) :: X   !< Independent variable value
            real(WP), intent(in), dimension(:) :: Y !< Initial condition

            !> 'TBD' Optional array of double-precision parameters for sensitivity analysis
            real(WP), dimension(:), intent(in), optional :: params

            real(WP), dimension(size(Y)) :: DEFunc !< First derivatives

        end function DEFunc

        !> Interface for a user-supplied procedure for computing events values during
        !! the integration. It is also called after an event is detected in order for
        !! the user to specify the event actions to be taken by the event handler. Note
        !! that if multiple events are triggered at the same location then only the event
        !! with the lowest index will be reported.
        subroutine EventFunc(me, X, Y, EvalEvents, Value, Direction, LocEvent, LocEventAction)

            import :: WP, DiffEqSys, FLINT_EVENTACTION_CONTINUE
            implicit none

            class(DiffEqSys), intent(in) :: me  !< Object of class type DiffEqSys

            !> The current independent variable value. When an event is detected, it contains
            !! the location of that event.
            real(WP), intent(in) :: X

            !> Current solution value. User can modify this value from inside the
            !! event function, however it will only take effect if an event is located
            !! and the LocEvent contains the index of the located event. In that case, user
            !! user also must set the appropriate action in EventAction.
            real(WP), dimension(:), intent(inout) :: Y

            !> Size is m.
            !! User should evaluate only those event functions for which the corresponding
            !! index entry is 1 in EvalEvents.
            integer, dimension(:), intent(in) :: EvalEvents

            !> Size is m.
            !! If Value(i) changes sign, then the event "i" may trigger based on Direction(i).
            !! If Value(i) changes from/to NaN, then the sign change is ignored.
            real(WP), dimension(:), intent(out) :: Value

            !> Size must be same as Value.
            !! + Direction=1: only sign changes from -ve to +ve are detected
            !! + Direction=-1: only sign changes from +ve to -ve are detected
            !! + Direction=0: all sign changes are detected
            integer, dimension(:), intent(out) :: Direction

            !> FLINT will only call EventFunc with this parameter after an event is located.
            !! In that case, it will contain the index between 1 and m of the
            !! located event. User must check whether this parameter is "present" before
            !! using it.
            integer, intent(in), optional :: LocEvent

            !> This parameter will be only present if an event has been located and
            !! LocEvent contains a valid index of the located event. In that case,
            !! user can specify a one of following actions that the event handler
            !! will take:
            !! + FLINT_EVENTACTION_CONTINUE: Continue the integration (default)
            !! + FLINT_EVENTACTION_TERMINATE: Terminate the integration at the current value of X
            !! + FLINT_EVENTACTION_CHANGESOLY: Change the solution value Y for the given X and use
            !! this value as the initial condition for computing the next step. The new
            !! value must be returned in "Y" by the user. EventStates will still contain the
            !! old value of Y that triggered the event.
            !! +  FLINT_EVENTACTION_RESTARTINT: Restart the integration from the current value of X
            integer(kind(FLINT_EVENTACTION_CONTINUE)), intent(out), optional :: LocEventAction

        end subroutine EventFunc
    end interface

    abstract interface

        !> Interface for the Initializaition method. It must be called before Integration.
        subroutine Init(me, DE, MaxSteps, Method, ATOl, RTol, InterpOn, InterpStates, &
            MinStepSize, MaxStepSize, StepSzParams, EventsOn, EventStepSz, EventOptions, EventTol)

            import :: FLINT_class, DiffEqSys, WP

            class(FLINT_class), intent(inout) :: me !< Object

            class(DiffEqSys), target :: DE      !< Differential Equation system object

            !> Must specify max no. of steps
            !! The implementation can use this number to decide how and how much to
            !! allocate internal storage for storing integrator natural steps
            !! as well as the interpolation coefficients for delayed interpolation.
            integer, intent(in) :: MaxSteps

            !> Type of Intergrator to use. Implemented methods are:
            !! + ERK_DOP853 (default)
            !! + ERK_DOP54
            !! + ERK_VERNER98R
            !! + ERK_VERNER65E
            integer, intent(in), optional :: Method

            !> Absolute tolerance, size must be either 1 or n
            real(WP), dimension(:), intent(in), optional :: ATol

            !> Relative tolerance, size must be either 1 or n
            real(WP), dimension(:), intent(in), optional :: RTol

            !> If true, then the interpolation coefficients along with integrator natural
            !! steps are computed and stored internally. User can use Interpolate method
            !! to compute solutions at any value of the indepedent variable without
            !! doing the actual integrating again. Note that if InterpOn is true, then
            !! IntStepsOn option of Integrate must be either omitted or set to false.
            logical, intent(in), optional :: InterpOn

            !> Specify the interpolation states for which the interpolation coefficients
            !! will be computed and stored, e.g. [1,3,4,6,n].
            integer, dimension(:), intent(in), optional :: InterpStates

            !> User can specify minimum and maximum step sizes allowed.
            !! Note that these are positive quantities. Sign will be handled bu FLINT.
            real(WP), intent(in), optional :: MinStepSize, MaxStepSize

            !> Step-size computation specific parameters. User can specify these for a
            !! soecific step-size computation method, otherwise defaults are used.
            !! For Hairer's DOP853 code:
            !! + StepSzParams(1): Safety-factor
            !! + StepSzParams(2): Minimum safety-factor
            !! + StepSzParams(3): Maximum safety-factor
            !! + StepSzParams(4): Lund Stabilization parameter beta
            !! + StepSzParams(1): Lund Stabilization parameter
            real(WP), dimension(5), intent(in), optional :: StepSzParams

            logical, intent(in), optional :: EventsOn !< Set true for events detection

            !> If events detection is enabled, then user can specify the maximum interval
            !! after which events must be checked. If there are even number of sign changes between
            !! X and X+EventStepSz, that event cannot be detected. If EventStepSz is not specified,
            !! then events are always checked at the integrator's natural steps. Note that these
            !! are positive quantities and FLINT will take care of the appropriate sign
            !! based on the direction of integration.
            real(WP), dimension(:), intent(in), optional :: EventStepSz

            !> Event Options that control the event information returned by FLINT
            !! Default is FLINT_EVENTOPTION_ROOTFINDING.
            integer(kind(FLINT_EVENTOPTION_ROOTFINDING)), dimension(:), &
                                intent(in), optional :: EventOptions

            !> Event tolerance values used for root-finding if enabled, size must be m
            real(WP), dimension(:), intent(in), optional :: EventTol

        end subroutine Init

        !> Interface for the main Integrate method. It must be called after initialization and
        !! can be called multiple times with different IC and options without calling the init
        !! routine first every time.
        subroutine Integrate(me, X0, Y0, Xf, Yf, StepSz, UseConstStepSz, IntStepsOn, Xint, Yint, &
                                EventMask, EventStates, StiffTest, params)

            import :: FLINT_class, WP

            class(FLINT_class), intent(inout) :: me !< Object of the class type FLINT

            real(WP), intent(in) :: X0              !< Initial value of the independent variable
            real(WP), dimension(me%pDiffEqSys%n), intent(in) :: Y0 !< Initial conditions
            real(WP), intent(inout) :: Xf           !< Final value of the independent variable
            real(WP), dimension(me%pDiffEqSys%n), intent(out) :: Yf !< Final Solution

            !> User can specify the initial step-size to use. If it is 0, then FLINT will
            !! compute the initial step-size internally. After the completion of the integration,
            !! the last accepted step size will be returned back. Note that user must provide
            !! the correct sign of the desired step size.
            real(WP), intent(inout) :: StepSz

            !> If true, then FLINT will not use adaptive step size algorithm, rather it will use
            !! the initial step size value given in StepSz as the integrator's natural step. StepSz
            !! must take into account the sign of the step otherwise FLINT will return an error.
            !! By default, this option is set to False.
            logical, intent(in), optional :: UseConstStepSz

            !> If true, then FLINT will return the solution at the integrator's natural step size.
            logical, intent(in), optional :: IntStepsOn

            !> If IntStepsOn=true, user must provide this parameter. FLINT will allocate the
            !! memory and return the integrator's natural steps taken in Xint array.
            !! FLINT will not explicitly deallocate this memory.
            real(WP), allocatable, dimension(:), intent(out), optional :: Xint

            !> If IntStepsOn=true, user must provide this parameter. FLINT will allocate the
            !! memory and return the solution at the integrator's natural steps in Yint. The
            !! first column is the initial condition Y0 and the final column is Yf. FLINT will
            !! not explicitly deallocate this memory. In case of an event action changing the
            !! solution at the location of the event, the new solution will be returned in Yint.
            real(WP), allocatable, dimension(:,:), intent(out), optional :: Yint

            !> If EventMask(i)=false, then the event "i" will not be detected.
            !! If all the events are masked, then the event detection will be turned off.
            logical, dimension(me%pDiffEqSys%m), intent(in), optional :: EventMask

            !> Solutions at the event locations for each of the unmasked event. If events
            !! are enabled, then user must specify this parameter. FLINT will internally
            !! allocate the storage and it will not explicitly deallocate this memory.
            !! EventStates(1:(n+2),i) = [Xevent, Yevent, EventID], where EventID is the
            !! index of the triggered event (between 1 and m) to which Xevent and Yevent
            !! corresponds. In case of an event action changing the solution at the
            !! location of the event, EventStates will still return the orginal state.
            real(WP), allocatable, dimension(:,:), intent(out), optional :: EventStates

            !> FLINT will use Hairer's DOP853 alogorithm to test for stiffness
            !! of the differential equations if StffTest == 1 or StffTest == 2.
            !! Test is disabled by default or if Stifftest == 0.
            !! + StiffTest == 1: If DiffEq are detected to be stiff then -1 is returned
            !!  in StiffTest and the integration halts at the current step with appropriate
            !! status code.
            !! + StiffTest == 2: If DiffEq are detected to be stiff then -1 is returned
            !!  in StiffTest but the integration continues.
            integer, intent(inout), optional :: StiffTest

            !> Parameters for sensitivity analysis. Not implemented yet.
            real(WP), dimension(:), intent(in), optional :: params
        end subroutine Integrate

        !> Method for delayed interpolation. It must be called after at least one invocation
        !! of the Init and Integrate method with the InterpOn option enabled. It can be called by the
        !! user any number of times with different points at which the solution is sought.
        !! FLINT computes the interpolation coefficients during integration and stores them
        !! internally at each natural step of the integrator. During interpolation, these
        !! coefficients are used to compute the solutions quickly. This is much less
        !! computationally intensive than using the Integrate method.
        subroutine Interpolate(me, Xarr, Yarr, SaveInterpCoeffs)

            import :: FLINT_class, WP

            class(FLINT_class), intent(inout) :: me !< Object of class type FLINT

            !> Xarr is provided by the user with values of the independent variable at
            !! which the solution is sought. Xarr must be in ascending order and the min
            !! and max values must not be smaller and larger than X0 and Xf, respectively.
            real(WP), dimension(1:), intent(in) :: Xarr

            !> Yarr provides the solution at each point specified in Xarr.
            real(WP), dimension(size(me%InterpStates),size(Xarr)), intent(out) :: Yarr

            !> If SaveInterpCoeffs=False, then the internal memory which stores interpolation
            !! coefficients is freed. After that, Interpolate function can not be called again
            !! without calling Integrate first. By default, SaveInterpCoeffs=False. In order
            !! to be able to call Interpolate again, user must set it to Trueat for every
            !! call to Interpolate.
            logical, intent(in), optional :: SaveInterpCoeffs

        end subroutine Interpolate

        !> Query method to get the current state information of FLINT. Can be called
        !! after each Integration to get the integration stats.
        subroutine Info(me, LastStatus, StatusMsg, nSteps, nAccept, nReject, nFCalls, &
                                InterpReady, h0, X0, Y0, hf, Xf, Yf)

            import :: FLINT_class, WP

            class(FLINT_class), intent(inout) :: me !< Object of class type FLINT

            !> The status code of the last operation completed
            integer(kind(FLINT_SUCCESS)), intent(out) :: LastStatus

            !> Status message corresponding to the status code in LastStatus
            character(len=:), allocatable, intent(out), optional :: StatusMsg

            integer, intent(out), optional :: nSteps !< Total number of steps taken
            integer, intent(out), optional :: nAccept !< Number of Accepted steps
            integer, intent(out), optional :: nReject !< Number of rejected steps
            integer, intent(out), optional :: nFCalls !< Function calls made not including event calls
            logical, intent(out), optional :: InterpReady !< Whether Interpolation is enabled

            real(WP), intent(out), optional :: h0 !< The initial accepted step-size
            real(WP), intent(out), optional :: X0 !< The initial value of the independent variable
            real(WP), dimension(:), intent(out), optional :: Y0 !< Initial condition
            real(WP), intent(out), optional :: hf !< Final accepted step-size
            real(WP), intent(out), optional :: Xf !< The final value of the independent variable
            real(WP), dimension(:), intent(out), optional :: Yf !< Final solution

        end subroutine Info

    end interface

    contains

end module FLINT_base

max_stars_repo_name: jacobwilliams/FLINT

max_issues_repo_name: jacobwilliams/FLINT

max_forks_repo_name: jacobwilliams/FLINT


text:
      LOGICAL FUNCTION SB02CX( REIG, IEIG )
C
C     SLICOT RELEASE 5.7.
C
C     Copyright (c) 2002-2020 NICONET e.V.
C
C     PURPOSE
C
C     To select the purely imaginary eigenvalues in computing the
C     H-infinity norm of a system.
C
C     ARGUMENTS
C
C     Input/Output Parameters
C
C     REIG    (input) DOUBLE PRECISION
C             The real part of the current eigenvalue considered.
C
C     IEIG    (input) DOUBLE PRECISION
C             The imaginary part of the current eigenvalue considered.
C
C     METHOD
C
C     The function value SB02CX is set to .TRUE. for a purely imaginary
C     eigenvalue and to .FALSE., otherwise.
C
C     REFERENCES
C
C     None.
C
C     NUMERICAL ASPECTS
C
C     None.
C
C     CONTRIBUTOR
C
C     P. Hr. Petkov, Technical University of Sofia, May, 1999.
C
C     REVISIONS
C
C     P. Hr. Petkov, Technical University of Sofia, Oct. 2000.
C
C     KEYWORDS
C
C     H-infinity norm, robust control.
C
C     ******************************************************************
C
C     .. Parameters ..
      DOUBLE PRECISION  HUNDRD
      PARAMETER         ( HUNDRD = 100.0D+0 )
C     ..
C     .. Scalar Arguments ..
      DOUBLE PRECISION  IEIG, REIG
C     ..
C     .. Local Scalars ..
      DOUBLE PRECISION  EPS, TOL
C     ..
C     .. External Functions ..
      DOUBLE PRECISION  DLAMCH
      EXTERNAL          DLAMCH
C     ..
C     .. Intrinsic Functions ..
      INTRINSIC         ABS
C     ..
C     .. Executable Statements ..
C
C     Get the machine precision.
C
      EPS = DLAMCH( 'Epsilon' )
C
C     Set the tolerance in the determination of the purely
C     imaginary eigenvalues.
C
      TOL = HUNDRD*EPS
      SB02CX = ABS( REIG ).LT.TOL
C
      RETURN
C *** Last line of SB02CX ***
      END

ext: f

max_stars_repo_name: bnavigator/SLICOT-Reference

max_issues_repo_name: RJHKnight/slicotr

max_forks_repo_name: RJHKnight/slicotr


text:
Debats du Senat (hansard)
1ere Session, 36 e Legislature,
Volume 137, Numero 125
Le jeudi 25 mars 1999
L'honorable Gildas L. Molgat, President
Projet de loi de 1999 sur les services gouvernementaux
L'etude en comite plenier
Rapport du comite plenier
La promotion de produits provenant de groupes minoritaires
Le cinquantieme anniversaire de l'entree dans la confederation
Les instituts canadiens de recherche en sante
Le Cinquantieme anniversaire de l'entree dans la Confederation
Un monde sans armes nucleaires
Le budget des depenses pour 1999-2000
Presentation et impression du rapport provisoire du comite senatorial permanent des finances nationales
La Cour supreme du Canada
Articles concernant des remarques d'un juge de la Cour supreme-Avis d'interpellation
Protection de la conscience des travailleurs de la sante-Presentation d'une petition
La possibilite de deploiement de forces terrestres en ex-Yougoslavie-La position du gouvernement
Les modifications apportees a la Loi sur l'assurance-emploi-Demande de details complementaires
L'incendie a bord d'un avion Aurora en Nouvelle-Ecosse-la position du gouvernement
Reponses differees a des questions orales
Projet de loi de credits no 1 pour 1999-2000
Projet de loi modificatif-Troisieme lecture
Projet de loi de 1999 sur les services gouvernementaux
L'examen en comite plenier
Rejet de la motion d'amendement
Rapport du comite plenier
Rejet de la motion d'amendement a la majorite
Projet de loi sur les services publicitaires fournis par des editeurs etrangers
Les travaux du Senat
Regie interne, budgets et administration
Adoption du trente-deuxieme rapport du comite
Privileges, Reglement et procedure
Etude du neuvieme rapport du comite-Suite du debat
Projet de loi modificatif-Etude du rapport du comite-Suite du debat
La revue des politiques sur les armes nucleaires
La recente decision de la Cour supreme du Canada-Interpellation-Suspension du debat
Le jugement recent de la Cour supreme du Canada-Interpellation-Suite du debat
Le role du Conseil de la magistrature
Les commentaires dans les medias-Interpellation-Suite du debat
Le cinquantieme anniversaire de l'entree dans la Confederation-Interpellation
Autorisation au comite special de reporter la date de presentation de son rapport final
Adoption de la motion d'amendement
Le jeudi 25 mars 1999
La seance est ouverte a 9 heures, le President etant au fauteuil.
L'etude en comite plenier
L'honorable Sharon Carstairs (leader adjoint du gouvernement) :
L'honorable John Lynch-Staunton (chef de l'opposition) :
Je ne crois pas que le Reglement le permette.
L'honorable B. Alasdair Graham (leader du gouvernement) :
C'est une procedure acceptable, honorables senateurs.
Certains temoins ont accepte de comparaitre devant nous.
Les honorables senateurs sont-ils prets a les entendre?
Honorables senateurs, je pense que je devrais presenter les temoins au Senat.
Ils peuvent rester a leur place pour prendre la parole.
Merci, senateur Kinsella, pour cet important rappel.
Monsieur le ministre, voudriez-vous commencer?
L'honorable Marcel Masse , president du Conseil du Tresor et ministre responsable de l'infrastructure:
Nous en avons encore eu la preuve hier.
Pour le gouvernement, il y a urgence d'intervenir a ce moment-ci.
L'impact produit par cette situation sur les fermiers de l'Ouest est tres serieux.
Ils ne peuvent plus acheminer leur grain vers les marches etrangers.
Honorables senateurs, je suis maintenant pret a repondre a vos questions.
Ces projets de loi semblent etre plus la regle que l'exception.
Qu'y a-t-il qui cloche?
N'y a-t-il pas moyen de corriger le probleme?
Dans le cas des cols bleus, nous avons une entente de principe.
Le droit de greve est un droit fondamental.
L'employeur a l'avantage.
Il y a la un desequilibre qui pese trop d'un seul cote.
Vous disiez qu'on a eu recours a des injonctions.
Je pense ici aux manutentionnaires du grain de la cote Ouest.
Jusqu'ou etes-vous alle pour obtenir des injonctions dans ce but?
Il y a une facon de passer outre a ceux qui pesent le grain.
Une injonction n'aurait pas ete utile dans ce cas-la.
Nous n'avons pas eu beaucoup de succes avec les injonctions.
C'est interessant, car normalement, les travailleurs font pression en refusant d'offrir leurs services.
C'est le probleme.
Cela compense a notre avis l'augmentation des couts que cela entraine pour le gouvernement.
Si c'est le cas, pourquoi donc doit-on adopter cette loi a toute vitesse?
Il semble que le vote doive avoir lieu la semaine prochaine, est-ce exact?
Le vote aura probablement lieu la semaine prochaine.
Toutefois, nous ne sommes pas certains que l'entente sera ratifiee.
Cela ne se fera pas tout de suite.
Entre-temps, les greves tournantes continuent.
Elles continuent a creer des problemes pour l'economie.
Le syndicat a indique que la ratification aurait lieu dans une semaine.
N'accorde-t-on pas le droit de greve trop genereusement?
Comme vous l'avez dit, je me contenterai de commenter vos propos.
Le droit de greve est un element essentiel de la negociation collective.
Le droit de vote n'est clairement pas absolu.
Nous pensons que c'est ce qui s'est produit dans le cas present.
Songeons, entre autres, aux perturbations a l'aeroport Dorval et au transport du grain.
Nous en avons eus.
Je n'ai aucun souvenir de dispositions de ce genre.
Il n'y a aucun precedent.
C'est une premiere.
Ces fonctionnaires ont ete declares comme fournissant des services essentiels.
Il pourrait donc y avoir une greve.
Dans ce cas-ci, nous ne supprimons pas le droit de greve.
En theorie, l'objectif consistait a declarer qu'ils fournissaient tous des services essentiels.
Ce groupe n'a pas le droit de greve.
Alors, dans ce cas-ci, nous empechons l'exercice d'un droit de greve.
Ce n'est pas de cela que je parlais, monsieur le ministre.
J'ai l'impression qu'elles n'ont aucun rapport avec ce que je dis.
Je crois que l'on cree un mauvais precedent.
Elles etaient compatibles avec une longue liste de conventions.
Elles n'etaient pas facultatives dans le cas des cols bleus.
Bien sur, je vous crois sur parole, monsieur le ministre.
Les exemples sont nombreux.
Il n'y a aucune intervention d'une tierce partie.
Dans notre cas, l'arbitrage est effectivement le processus habituellement suivi.
Nous sommes constamment en negociation avec nos partenaires, les representants des employes.
Je vous remercie de votre reponse, monsieur le ministre.
C'est de cela que vous avez surtout parle dans votre reponse au senateur Murray.
Ceux-ci sont vises par une partie distincte du projet de loi.
Ma premiere question a trait au principe.
Pour une raison d'ordre technique.
Nous ne pouvons laisser ces employes se mettre en greve.
Ils sont tous designes comme employes essentiels, parce qu'ils sont tous necessaires.
Soyons tres precis a ce sujet.
Il y en a 4 500.
Sur ces 4 500 agents, combien sont deja designes comme essentiels?
Tous le sont, sauf 500 ou 600.
Cela fait donc 4 000 agents de correction qui sont designes comme essentiels.
Autrement dit, ils ne peuvent pas quitter le travail, faire la greve, et cetera.
Dans quel document sont-ils ainsi designes?
Quel document definit ce qui est essentiel?
N'oubliez pas que le senateur Lawson a aussi une question a poser.
Pourquoi cette limite de temps?
Je crois que le ministre doit nous quitter a 10 heures.
Que voulez-vous dire, le ministre doit nous quitter?
Nous avons accepte que les fonctionnaires restent.
C'est juste, et les fonctionnaires resteront.
Certains d'entre nous ne sont pas au courant de l'entente.
Le ministre doit nous quitter a10 heures, et nous l'acceptons.
Combien de temps peuvent-ils rester?
Nous ne voulons pas les retenir trop longtemps non plus.
Ils ont d'autres responsabilites.
Ils resteront raisonnablement longtemps.
Si cela leur convient, cela est satisfaisant pour nous.
Tous les 4 500 employes sont, en principe, designes.
A l'heure actuelle, 4 000 sont designes comme services essentiels.
On doit leur adresser une lettre dans un certain delai, entre autres choses.
A l'heure actuelle, ces500 employes ne sont pas designes.
Je reviendrai sur cette question avec les interesses plus tard.
Je voudrais maintenant poser au ministre une question sur la politique.
D'abord, je voudrais permettre au senateur Lawson de poser quelques questions.
Quand avez-vous decouvert qu'ils n'etaient pas designes comme essentiels?
Les problemes avec les designations existent toujours.
Toutefois, il n'a pas accepte d'exempter les autres 500 ou 600.
Nous avons du utiliser la loi de retour au travail pour ces 500 ou 600.
Vous dramatisez tous les incidents, qu'il s'agisse des greves tournantes ou du reste.
Les negociations sont divisees en deux parties: avant le reglement et apres le reglement.
Hier a ete la pire journee des greves tournantes.
Quand l'entente provisoire est-elle intervenue?
L'entente a ete conclue avant-hier.
En d'autres mots, nous n'avons pas d'entente.
Nous sommes presque toujours parvenus a un reglement.
Vous parlez des futures negociations dans tous les ministeres du gouvernement.
C'est une chose quand il n'y a pas de reglement.
Comment osez-vous agir de la sorte et utiliser cette mesure legislative?
Ne le presentez pas au Senat.
Dans certaines circonstances, je l'appuierais.
Toutefois, je ne peux l'appuyer lorsqu'un reglement a ete negocie entre les parties.
Monsieur le president, il y a au moins20 questions.
Le syndicat pense manifestement comme nous.
Nous avons un accord qui a ete paraphe il y a deux jours.
Le syndicat connaissait la reaction de ses membres.
Les evenements d'hier lui ont donne raison.
La situation est claire.
Nous ne revons pas en couleurs.
Nous connaissons les faits, et le syndicat aussi.
Nous savons que nous devons mettre fin a ces greves des maintenant.
Privez tous les travailleurs de leur droit a la negociation collective.
Ayez au moins l'honnetete de le dire franchement.
Vous voulez vous assurer qu'il n'y aura pas d'incidents.
C'est ce que vous etes en train de faire, petit a petit.
Si nous ne pouvons pas l'ameliorer par la negociation.
La reponse a votre question est oui.
Nous le leur avons dit.
Nous l'avons dit publiquement.
Il n'en est pas fait mention dans le projet de loi.
D'apres le projet de loi, vous pouvez faire tout ce que vous voulez.
Je pense qu'il devrait y avoir quelques garanties.
Honorables senateurs, je sais que le ministre doit partir.
En votre nom, je le remercie d'etre venu nous rencontrer ce matin.
Nous avons d'autres temoins a entendre.
Monsieur le president, j'ai quelques questions a poser aux collaborateurs du ministre.
En particulier, comment cela s'applique-t-il aux agents des services correctionnels vises?
C'est, en gros, la marche a suivre.
D'ou vient le pouvoir de faire pareille designation?
Il decoule de la loi.
Publie-t-on une liste des employes designes?
Je ne sais pas si elle a ete publiee.
Je ne suis pas sur qu'elle a ete publiee.
Je ne le crois pas.
Elle sera soumise a la CRTFP, qui rendra une decision.
D'autres problemes se posent, je crois, du fait que d'autres emplois sont crees.
Quand le processus a-t-il ete enclenche?
De quelle nature est le processus administratif dont vous parlez?
Quand dites-vous que le processus de designation a commence?
Il y a deux ans, trois ans, ou la semaine derniere?
On me dit que le processus a ete amorce au debut de 1997.
Donc, il y a environ deux ans.
Je ne sais pas.
Participiez-vous aux negociations a la table 4?
Participiez-vous a ces negociations?
Quelle a ete la recommandation de la commission de conciliation?
La comparaison est donc de 7 p. 100 contre 10,5 p. 100.
Cela signifie-t-il un ecart de3 p. 100 sur la feuille de paye?
Cela represente effectivement un ecart de3 p. 100 sur la feuille de paye.
Ma question de principe se rapporte a la question que posait le senateur Murray.
Comment reagiriez-vous a cette proposition?
J'aimerais apporter un eclaircissement.
C'est une difference appreciable.
Monsieur le president, j'interrogerai le temoin plus tard au sujet des droits nationaux.
D'autres senateurs ont peut-etre des questions a poser.
Et c'est cela qui s'est produit.
Faut-il expedier une lettre a chaque employe?
Je suppose qu'il doit aussi ecrire a leur unite de negociation.
Oui, l'employeur a une liste des personnes a aviser.
Quand on parle de designation, la fonction publique est comme une cible mobile.
Son organisation et ses structures changent constamment.
C'est exact, les postes sont designes.
C'est une partie du probleme, en effet.
Qui sont ces gens, M. Jolicoeur?
Vous parlez de la table 4?
Je parle des 500 dont les postes n'ont pas ete designes.
Ce sont des gardiens de prison.
Ce sont tous des gardiens de prison?
Comment se fait-il que ces postes aient ete changes?
L'element fondamental de la fonction publique, c'est le poste.
C'est une possibilite.
C'est ce que j'ai cru comprendre.
A l'heure actuelle, ils sont repartis un peu partout au pays.
Tous les postes de gardien de prison doivent etre designes.
Je peux voir les problemes que cela pourra entrainer.
Il faudra surement modifier vos procedures administratives.
Je dis cela uniquement parce que les representants du syndicat attendent.
Un delai a-t-il ete fixe?
Devons-nous nous arreter a midi?
Ne pouvons-nous poursuivre ce processus au cours de l'apres-midi, au besoin?
Je ne veux pas dire pour autant que nous soyons soumis a un delai fixe.
C'est aussi ridicule que cela?
A ce que je comprends, c'est actuellement le cas.
Il y a combien de temps que cette situation dure?
Il n'y a pas eu une mesure, mais une serie de mesures.
Je suppose que cela va continuer encore quelque temps.
J'aimerais avoir une appreciation generale de la politique salariale du gouvernement.
C'est la ou il y a eu la plus grande difference.
Avec qui la negociation se fait-elle?
Ce n'est pas un processus de negociation dans leur cas.
Les augmentations sont determinees par le gouvernement.
Cela a suscite des augmentations supplementaires.
Quelle sera l'augmentation de la masse salariale pour les deux annees dont on parle?
Quelle est cette periode de quatre ans?
Elle commencait en 1997, suite au gel qui avait ete impose.
Oui, pour les cadres.
Les syndicats vont invoquer cet argument.
C'est deja depasse dans certains cas en deux ans.
Ils vont etre rapides a mettre en perspective l'augmentation de certains cadres en particulier.
On vous a donne l'augmentation moyenne generale des cadres.
Qu'entendez-vous par cadre?
Cette hausse de 7,96 p. 100 inclut les positions de niveau EX-1.
Il y a sous-ministre et sous-ministre adjoint, si cela existe toujours.
Combien sont-ils dans cette categorie de gestion?
Entre 3 000 et 3 500.
Est-ce plus ou moins exact?
Puis-je demander a l'honorable senateur de repeter sa question?
Je n'ai pas bien compris.
La partie 2 n'entre en vigueur qu'apres la prise d'un decret.
J'ai parcouru tout cela.
Ce projet de loi n'a pas preseance sur ces dispositions?
Monsieur le president, je voudrais formuler deux observations.
Tout d'abord, nous ne sommes pas tellement en retard.
Cela dit, je ne pense pas que nous nous ecarterons beaucoup de notre horaire.
Ce nombre passe a sept.
A votre avis, pourquoi cela ne s'appliquerait qu'aux cols bleus?
Nous l'avons fait pour les avocats, a Toronto.
Il y a ici un choix de politique a faire.
Il faudra etudier cette question dans les annees a venir.
Honorables senateurs, je crois que nos temoins ont termine.
Nous les remercions d'avoir comparu et d'etre restes pour repondre aux questions.
On me dit, monsieur Bean, que vous avez une declaration a faire.
M. Daryl T. Bean , president national, Alliance de la fonction publique du Canada:
J'aurais bien voulu que ce soit dans des circonstances differentes.
Je tiens a assurer aux honorables senateurs qu'il n'en est rien.
Le president du Conseil du Tresor sait que ce n'est pas vrai.
Cela n'est pas tout.
Il y a d'autres exemples concernant les syndiques de la fonction publique federale.
J'ai bien dit une decision prise sciemment et de plein gre.
Je voudrais bien specifier, les termes sont justes, que ce sont 728 postes non designes.
Pourquoi le gouvernement a-t-il agi ainsi?
Dans l'ensemble de la liste de paie du gouvernement, c'est relativement peu.
Pourquoi legiferer sur les conditions de travail?
Une fois de plus, le projet de loi C-76 le prouve.
Ils avaient le droit de faire la greve et ils ont exerce ce droit.
Il n'est pas nul.
Si necessaire, nous allons certainement invoquer aussi celle-ci.
Bienvenue, M. Bean, et merci pour un expose tres vigoureux.
Hier encore, nous attendions ces 30 pages de tables de remuneration.
Si cela se faisait, nous accelererions le vote.
La conge de Paques cree un probleme.
Nous pourrions accelerer le processus si la loi etait suspendue.
Vous recommanderez a vos membres d'approuver l'accord de principe.
Il voulait egalement associer la Saskatchewan au Canada atlantique.
Nous sommes finalement parvenus a corriger la situation.
Je parle des situations que je connais.
Je sais qu'il y a eu des perturbations a l'aeroport de Halifax.
Cette revelation est venue apres l'annonce d'une entente negociee.
Je peux comprendre l'argument du ministre.
J'aimerais avoir vos commentaires ou ceux de Mme Turmel a ce sujet.
C'est pourquoi nous avons mene une greve tournante.
Nous en avons assez des accords fixes par la loi.
Pourquoi l'employeur voudrait-il encore vous parler?
Oui, il fallait causer un minimum d'inconvenients.
Je n'exprime ici que la pointe de l'iceberg.
Certains d'entre vous peuvent trouver mes propos offensants, je m'en excuse.
Mais je ne fais qu'exprimer un tant soit peu la frustration qui regne.
Ils sont restes a la table de negociations pendant pres de deux ans.
Je pense que si vous etiez a leur place, vous seriez aussi mecontents.
Le differend que vous avez est un differend avec le gouvernement du Canada.
Il y a seulement 70 peseurs de grain parmi vos 14 500 membres.
Pourquoi viseriez-vous ce groupe?
Pourquoi les avez-vous cibles en particulier?
Tout d'abord, j'ignore tout a fait d'ou vous tenez cette declaration.
Elle n'est certainement pas de moi.
Nous avons effectivement, a certains moments, cible le grain et ralenti les expeditions de grain.
Je ne vais pas m'en excuser.
Vous vous souviendrez que la discussion a eu lieu en grande partie avec les fonctionnaires.
La decision ne m'appartient pas.
Quel est le nombre juste?
Il y a 728 employes qui ne sont pas designes.
Nous avons la liste des employes et leurs postes.
Je veux expliquer brievement le processus de designation au gouvernement federal.
Cela se produit, bien sur, parce qu'il y a des postes vacants.
Par la suite, il s'est passe trois choses.
Troisiemement, de nouveaux postes ont ete crees qui n'etaient pas prevus dans l'entente.
C'est compatible avec ce que les fonctionnaires nous ont dit.
Le ministre a parle d'echappatoire.
Les fonctionnaires ont decrit une chose que j'appellerais plutot une erreur administrative.
Vous dites que cela en fait 728 postes en tout.
Une telle facon d'agir a quelque chose de reprehensible.
C'est ce qui explique cette disposition.
Soumettez-vous cette cause a la Commission des relations de travail dans la fonction publique?
Est-ce que c'etait votre initiative ou celle du gouvernement?
Les deux parties avaient des plaintes, mais pour des motifs differents.
Il n'est pas necessaire de les designer?
Est-ce votre position?
Nous disons cela depuis des annees.
Si un poste est vacant, il est evident qu'il ne peut etre essentiel.
Il y a des lacunes dans le systeme.
Il n'y a aucune doute sur ce que cela signifie.
Le service sera assure par les agents de correction.
N'etes-vous pas de cet avis?
Je vous repondrai qu'il n'est pas essentiel que tous les agents soient designes.
Ce peut etre la meme chose pour les agents de correction.
Ils peuvent maintenir le service.
Je conviens avec vous que quelque chose ne va pas dans le processus.
Dans le groupe initial, il y a une centaine de postes vacants.
Cela repond a mes preoccupations.
Monsieur le president, j'ajouterais une chose.
Nous parlions tout a l'heure de 1989.
En realite, nos membres prennent leurs responsabilites tres au serieux.
Ils se rendent sur place.
Cela m'amene a ma question principale.
Je suis certes d'accord avec votre premiere recapitulation.
Le ministre a dit qu'hier avait ete la pire journee jusqu'a present.
Je ne crois pas que nous ayons jamais depasse les 4 000.
Je vous en felicite.
La Chambre s'est alors levee et a applaudi ce reglement, et a juste titre.
Pourquoi sommes-nous donc ici en train de debattre ce projet de loi?
J'ai suggere qu'il soit suspendu.
Cela ne fait aucun doute.
C'est honteux, d'autant plus qu'il existe un accord.
Disons que cela ne facilite pas le processus.
Je ne vais pas me repeter.
On ne facilite nullement le processus quand on prevoit des amendes excessives.
Il devra payer l'amende.
Ce sera impossible avec ce projet de loi.
On a compare la negociation collective a un mariage.
Nous avons conclu des ententes de principe pour environ 100 000 employes.
J'accepte le resultat des votes.
Nous avons conclu une entente de principe pour les agents de correction.
Etes-vous au courant d'un precedent?
L'OIT nous a donne raison dans tous les cas.
Dans un cas, elle a meme envoye une mission au Canada.
C'est assez inhabituel.
Il ne fait aucun doute que l'OIT condamnera ce projet de loi.
Il est vrai qu'il n'y a aucune tierce partie pour superviser le processus.
C'est certainement ce qu'on nous a laisse entendre.
L'ennui, c'est que nous n'avons rien d'officiel a cet egard.
Sinon, le gouvernement possede ce pouvoir, meme s'il s'agit d'un pouvoir extraordinaire.
J'ai deja vecu ce genre de situation auparavant.
C'est possible de faire cela.
Nous allons etudier cette possibilite.
La date d'expiration serait juin 1999.
C'est dans quelques mois a peine.
L'ecart entre les parties n'est pas si grand.
Nous avons un moyen a notre disposition, soit une lettre du ministre.
De plus, le contrat arrive a echeance dans quelques mois.
Je pense que c'est cela le risque.
Je dirais plutot que c'est un fardeau minimal.
Je voudrais revenir aux preoccupations exprimees au sujet des manifestations qui accompagnent les greves tournantes.
Il est date du 12 mars 1999 et se lit comme ceci:
[...] L'appui de la table 1 a ete extraordinaire!
Cela les fait jubiler, je suppose.
Edmonton (Alberta) - Canada Place a encore ete la cible d'activites de piquetage reussies.
Les deux silos a grain sont fermes pour toute la duree de la greve.
Une mauvaise loi sera adoptee et le ressentiment entre l'employeur et les employes continuera.
Il ne fait pas de doute que ces informations sont assez exactes.
C'etait le 12 mars, comme vous l'avez dit, si je ne m'abuse.
Oui, nous avons provoque des retards chez les gens qui voulaient entrer dans des immeubles.
Nous avons manifestement eu recours a ce moyen.
Tres peu des arguments invoques par le gouvernement justifient l'adoption de cette loi.
Voila pour celui-la.
Oui, nous avons fait du piquetage a Revenu Canada.
J'espere sincerement que vous pouvez comprendre leur frustration et leur colere.
Il m'est impossible de controler tous les membres.
Je vous demande de vous mettre a la place des travailleurs les moins bien remuneres.
Je comprends pourquoi vous soulevez la question et je respecte la question.
Je vais poser un tout autre genre de question.
C'est chez les cols bleus que le contraste est le plus evident.
La difference varie entre 20 et 40 p. 100.
Ce n'est pas un probleme exclusivement canadien.
Oui, il y a un fort mouvement vers le secteur prive.
Que se passe-t-il en realite?
Les gens savent que quand ils vont prendre leur retraite, ils toucheront une pension decente.
Je vous remercie tous les deux d'avoir comparu ce matin.
Je remercie les honorables senateurs.
Je leur sais gre de la maniere directe qu'ils ont d'aborder la question.
Que l'on fasse venir les autres temoins.
Je demande au ministre s'il peut faire part de mes observations au ministre Masse.
Ce serait utile d'avoir un tel document.
Je ne crois pas que nous puissions negocier ici.
Je m'en charge.
Mme Viviane Mathieu , agent correctionnel:
J'ai travaille dans les etablissements Leclerc, Montee Saint-Francois et Donnacona.
J'espere que vous serez indulgents avec moi.
Les 4 700 agents correctionnels du Canada ont vecu les memes choses.
M. Andre Belanger , president, Syndicat des employes du solliciteur general - AFPC:
Dans notre langage, nous appelons cela le super maximum.
En tant qu'agent de correction, nous representons l'un des maillons du systeme judiciaire.
Cependant, au quotidien, nous devons travailler avec eux.
Nous devons vivre dans un tel climat quotidiennement.
Nous subissons constamment la pression des detenus.
Nous sommes confrontes a des situations critiques regulierement.
Les possibilites qu'ils soient seropositifs sont enormes.
C'est ce qu'on vit au quotidien.
Nous devons faire des interventions cliniques aupres d'eux.
Nous devons nous appliquer a les faire respecter.
Nous adherons unanimement au rapport majoritaire du bureau de conciliation.
Nous vous implorons de bien vouloir amender le projet de loi.
Nos conditions de travail influencent regulierement nos familles, notre voisinage et notre entourage.
Au fil des annees, nos proches ont dit: Assez, c'est assez!
Il faut que nos conditions de travail changent.
Il faut faire la comparaison avec les membres de la GRC.
Nous sommes un corps policier et nous voulons etre respectes comme tel.
Je remercie les temoins pour leur presentation tres claire.
Ce matin, nous avons parle de 728 de vos collegues qui ne sont pas designes.
Je travaille au Centre regional de la reception.
Sept agents sur un total de 160 seront en greve legale a cet etablissement.
On ne voulait pas faire la greve.
On occupe des fonctions importantes et meme essentielles au sein de la societe canadienne.
La societe canadienne peut compter sur nous.
On l'a d'ailleurs demontre.
Dans votre etablissement, quel travail font ces sept employes non designes?
Ce sont des agents de correction 2, comme moi.
Il y aura possiblement des agents de correction 1.
On remplit a peu pres tous les memes fonctions, a quelques differences pres.
Nous sommes tous aptes a combler tous les postes.
Cela ne cree pas vraiment de probleme a l'interne.
La securite n'est mise en danger d'aucune facon.
On ne le permettrait pas.
Quelle formation faut-il pour devenir candidat a de tels postes?
Lorsque j'ai ete embauche au Service correctionnel, en 1974, on exigeait une cinquieme secondaire.
Par contre, la nature du travail est differente aujourd'hui.
Une des qualites de base pour exercer notre metier consiste en un bon jugement.
Le milieu carceral etant en evolution constante, les techniques d'entrevue se sont raffinees.
On a fait beaucoup de demandes pour recevoir plus de formation.
Ma question concernait plus precisement la formation apres l'embauche.
Cet entrainement dure six a huit semaines, selon l'experience.
Par la suite, en etablissement, il peut y avoir des mises a jour.
On a parle longuement a la table de negociations de la formation.
Souvent, les mises a jour ne sont pas encadrees.
On devrait lire: Tous vos membres auraient du etre designes.
C'est le processus.
C'est la position qui est designee et non l'individu.
De quoi s'agit-il?
Est-ce que ces 728 personnes seront designees?
C'est extremement complexe.
Cette entente a ete signee il y a quelques jours.
C'est ce que l'on comprend.
Il nous enleve le droit de greve.
C'est comme cela partout au Canada.
On ne comprend pas.
Les membres trouvent que c'est extremement injuste.
Il y a eu un manque d'information de la part du Conseil du Tresor.
Cela fait 3 ans que ce processus dure.
Les gens du Conseil du Tresor devraient venir nous expliquer cette contradiction.
Une fois le conflit regle, cela pourrait causer des problemes entre collegues.
Est-ce que l'apprehension du gouvernement est bien fondee?
Cela fait deja un bout de temps qu'il y a des lignes de piquetage.
Ils sont peut-etre encore plus difficiles.
On a le sens du devoir et un sens civique important.
On administre et on gere les lois au quotidien.
C'est vrai qu'il y a deja eu des retards, mais ils etaient minimes.
Nos gens le savent.
Nous ne comprenons pas l'attitude du gouvernement.
Nous trouvons une telle loi injuste et injustifiee.
Je doute que le gouvernement accepte.
Nous leur ferons cette suggestion.
Nos membres vont decider.
Ceux-ci decideront s'ils veulent les accepter.
Connaissant mes agents, je crois qu'ils vont les accepter.
Nous pouvons maintenant commencer l'etude article par article du projet de loi.
Nous avons entendu tous nos temoins.
Pourrions-nous marquer une pause avant?
Je m'en remets aux honorables senateurs.
Cela nous permettrait peut-etre d'accelerer le processus.
Nous devrions donc attendre qu'il prenne cet engagement.
Il sera peut-etre plus facile alors d'obtenir la reponse.
Je propose de commencer l'etude article par article tout de suite.
Nous pouvons faire le debat de troisieme lecture plus tard.
Nous pourrions vouloir amender des dispositions du projet de loi en comite.
Pourquoi ne pas attendre d'etre revenus de la pause du diner?
Ne pourriez-vous pas proposer des amendements a l'etape de la troisieme lecture?
C'est ce que j'ai suggere.
Nous pouvons faire l'etude article par article tout de suite.
Il se sera peut-etre passe des choses dans l'intervalle.
Nous pourrions alors expedier le debat de troisieme lecture.
Nous sommes la depuis 9 heures ce matin.
Tres franchement, ce n'est pas ma recommandation, honorables senateurs.
On a toujours attendu la troisieme lecture pour faire cela.
Cela ne serait pas une mauvaise chose.
Cela vous convient-il?
L'honorable Eymard G. Corbin (Son Honneur le President suppleant) :
Honorables senateurs, le Senat reprend sa seance.
Rapport du comite plenier
L'honorable Peter A. Stollery :
Son Honneur le President suppleant :
Honorables senateurs, le comite plenier demande la permission de sieger plus tard aujourd'hui.
Son Honneur le President suppleant :
(Le Senat s'ajourne a loisir.)
Le Senat reprend sa seance a 14 heures, le President etant au fauteuil.
La promotion de produits provenant de groupes minoritaires
L'honorable Donald H. Oliver :
L'exemple de AT&T est instructif a cet egard.
Les conseils d'administration des grandes entreprises informatiques comptent rarement des Americains d'ascendance africaine.
Honorables senateurs, ce modele s'appliquerait facilement au Canada.
Il prouve aux minorites qu'il est possible de toujours gagner en faisant des affaires.
Le cinquantieme anniversaire de l'entree dans la confederation
Le monde avait alors change et Terre-Neuve ne faisait pas exception.
Nous celebrons 50 annees remarquables d'appartenance a la nation canadienne.
Notre musique et nos chansons sont jouees au carillon de la tour de la Paix.
Les instituts canadiens de recherche en sante
L'honorable Wilbert J. Keon :
Plus tard ce soir-la, j'ai assiste a un diner pour celebrer l'occasion.
Il y avait la les principaux scientifiques et professionnels de la sante du pays.
Le Cinquantieme anniversaire de l'entree dans la Confederation
Ils interpreteront aussi des airs traditionnels de Terre-Neuve.
Un monde sans armes nucleaires
Il ne pourrait y avoir de solution medicale en cas de guerre nucleaire.
Les armes nucleaires sont des armes de destruction de masse.
Le jeudi 25 mars 1999
Le comite senatorial permanent des affaires juridiques et constitutionnelles a l'honneur de presenter son
Son Honneur le President :
Il precise: deux senateurs s'etant abstenus.
Ce n'est donc pas un rapport en bonne et due forme.
L'honorable John Lynch-Staunton (chef de l'opposition) :
Qu'on le retourne, alors.
L'honorable Noel A. Kinsella (chef adjoint suppleant de l'opposition) :
Nous ne pouvons l'examiner.
Son Honneur le President :
Je m'en remets au Senat.
Quand lirons-nous ce projet de loi une troisieme fois?
A la prochaine seance.
Son Honneur le President :
Plait-il aux honorables senateurs d'adopter la motion?
Votre honneur, j'aimerais qu'on m'explique.
Je croyais que vous veniez de nous dire que le rapport etait irrecevable.
Je ne comprends pas.
Son Honneur le President :
Cependant, c'est au Senat de decider ce qu'il y a lieu de faire.
Vous avez vous-meme decide qu'il etait irrecevable.
Son Honneur le President :
C'est aux senateurs de decide si nous voulons faire appliquer les regles.
Plait-il aux honorables senateurs d'adopter la motion?
(La motion est adoptee, avec dissidence.)
Le budget des depenses pour 1999-2000
Presentation et impression du rapport provisoire du comite senatorial permanent des finances nationales
Son Honneur le President :
La permission est-elle accordee, honorables senateurs?
Puis-je demander la permission d'etudier le rapport maintenant?
Son Honneur le President :
La permission est-elle accordee, honorables senateurs?
Voila essentiellement les questions que nous avons etudiees.
L'honorable Anne C. Cools :
Honorables senateurs, je tiens a insister sur ce qu'a dit le senateur Stratton.
C'est un rapport provisoire.
Le comite poursuivra son etude assez detaillee du Budget principal des depenses.
Son Honneur le President :
Honorables senateurs, vous plait-il d'adopter le rapport?
(La motion est adoptee, et le rapport est adopte.)
La Cour supreme du Canada
Articles concernant des remarques d'un juge de la Cour supreme-Avis d'interpellation
L'honorable Anne C. Cools :
e ) les commentaires publics concernant l'activisme judiciaire au Canada;
f ) la question des declarations publiques des juges;
g ) le principe et le concept de l'independance judiciaire des juges canadiens;
h ) le role du Parlement en ces matieres.
Protection de la conscience des travailleurs de la sante-Presentation d'une petition
L'honorable Raymond J. Perrault :
Cette petition porte sur la protection de la conscience dans les actes medicaux.
Honorables senateurs, ma question s'adresse au leader du gouvernement au Senat.
Il y a eu des articles dans les medias a ce sujet.
L'honorable B. Alasdair Graham (leader du gouvernement) :
Que je sache, le moratoire n'a pas ete leve.
Entre-temps, je vais me renseigner moi-meme sur la levee du moratoire.
L'honorable J. Michael Forrestall :
Honorables senateurs, nous sommes en situation de guerre depuis 24 heures.
L'honorable B. Alasdair Graham (leader du gouvernement) :
La possibilite de deploiement de forces terrestres en ex-Yougoslavie-La position du gouvernement
L'honorable J. Michael Forrestall :
Honorables senateurs, comme d'habitude, nous devons nous informer aupres des medias.
Quelles troupes terrestres des Forces canadiennes sont envoyees au Kosovo?
Nous preparons-nous a une guerre terrestre avec la Serbie?
L'honorable B. Alasdair Graham (leader du gouvernement) :
L'honorable B. Alasdair Graham (leader du gouvernement) :
Je compte le faire des notre retour.
Le president Milosevic est responsable de la situation actuelle.
Cet accord prevoit l'autonomie du Kosovo a l'interieur des frontieres de la Yougoslavie.
Il agit de concert avec d'autres pays.
A cet egard, une coalition appropriee avait ete formee pour faire une difference au Kosovo.
Honorables senateurs, les circonstances changent.
Le secretaire general de l'ONU a lui-meme approuve cette intervention.
Il s'agit d'un tres grave probleme humanitaire.
Nous devrions appuyer nos troupes.
Evidemment, je les appuie; la n'est pas la question.
L'honorable John Lynch-Staunton (chef de l'opposition) :
Honorables senateurs, le ministre a dit que nous essayons de resoudre un probleme humanitaire.
Il y a d'autres pays vises.
Le Canada est l'un des 18 pays membres de l'OTAN.
La decision a ete sanctionnee par le secretaire general des Nations Unies.
A mon avis, l'intervention est justifiee.
Il aurait peut-etre fallu intervenir il y a longtemps.
Quels resultats l'OTAN espere-t-elle obtenir en effectuant ces bombardements?
Apparemment, nous faisons cela pour demanteler certaines installations militaires.
N'est-ce pas la l'objectif que nous voulons atteindre?
Dans un monde parfait, on aurait des reponses parfaites.
Je ne parle pas d'un monde parfait; je parle des Balkans.
Le bombardement ramenera-t-il M. Milosevic a la raison?
Le ramenera-t-il a la table?
Je ne sais pas.
Le bombardement va se poursuivre, quelles qu'en soient les consequences.
L'honorable Noel A. Kinsella (chef adjoint suppleant de l'opposition) :
L'honorable B. Alasdair Graham (leader du gouvernement) :
Honorables senateurs, la question a ete debattue au Parlement lors d'une occasion precedente.
Les modifications apportees a la Loi sur l'assurance-emploi-Demande de details complementaires
L'honorable Donald H. Oliver :
Dans sa reponse, le gouvernement a dit:
Pendant combien de temps ces fonds sont-ils empruntes?
Sont-ils retournes et combien reste-t-il a remettre?
L'honorable B. Alasdair Graham (leader du gouvernement) :
L'incendie a bord d'un avion Aurora en Nouvelle-Ecosse-la position du gouvernement
L'honorable J. Michael Forrestall :
L'honorable B. Alasdair Graham (leader du gouvernement) :
L'honorable senateur est-il certain qu'il s'agissait bien d'un avion Aurora?
L'avion a survole Yarmouth et a reussi a rentrer a Greenwood.
J'essaierai de vous donner une reponse plus tard aujourd'hui.
L'honorable Jean-Claude Rivest :
Plusieurs centaines de millions de dollars sont disponibles.
L'honorable B. Alasdair Graham (leader du gouvernement) :
Honorables senateurs, je suis content que le senateur Rivest souleve cette question.
Le ministre Pierre Pettigrew s'etait offert comme mediateur afin de trouver une solution.
Honorables senateurs, je voudrais poser une question supplementaire la-dessus.
Qu'y a-t-il de mal la-dedans?
L'honorable B. Alasdair Graham (leader du gouvernement) :
Je vais me renseigner davantage.
L'honorable B. Alasdair Graham (leader du gouvernement) :
Je dois poursuivre la-dessus.
L'honorable Gerry St. Germain :
Honorables senateurs, ma question s'adresse au leader du gouvernement au Senat.
Nous appuyons totalement nos troupes.
L'honorable B. Alasdair Graham (leader du gouvernement) :
L'honorable Consiglio Di Nino :
L'honorable B. Alasdair Graham (leader du gouvernement) :
Honorables senateurs, je l'ignore.
J'ai une autre question sur le meme sujet.
On m'a informe que l'avion s'est pose en toute securite.
Il y avait seulement de la fumee.
Onze hommes prenaient place a bord de l'appareil et aucun n'a ete blesse.
Si j'ai d'autres renseignements, je vous les communiquerai plus tard.
Dieu merci, il n'est rien arrive cette fois-ci.
D'ou croyez-vous que vient la fumee?
Reponses differees a des questions orales
L'honorable Sharon Carstairs (leader adjoint du gouvernement) :
Honorables senateurs, j'ai la reponse differee a deux questions.
(Reponse a la question soulevee par l'honorableTerry Stratton le 9 mars 1999)
Deja, le plan a porte ses fruits.
L'an dernier, par exemple, le gouvernement a revise ses estimations historiques du PIB.
Le discours a ete affiche par erreur et Revenu Canada regrette ce malentendu.
Le disccours prepare pour le senateur Carstairs a ete retire du site Web.
Projet de loi de credits no 1 pour 1999-2000
(La motion est adoptee et le projet de loi, lu une troisieme fois, est adopte.)
Projet de loi modificatif-Troisieme lecture
L'honorable Jerahmiel S. Grafstein propose:
(La motion est adoptee et le projet de loi, lu une troisieme fois, est adopte.)
Projet de loi de 1999 sur les services gouvernementaux
L'examen en comite plenier
L'honorable Sharon Carstairs (leader adjoint du gouvernement) :
Son Honneur le President :
La lettre est signee par Alain Jolicoeur.
Nous pourrions peut-etre tous en avoir une copie maintenant.
Je n'en ai recu qu'une.
Voulez-vous avoir la votre maintenant, senateur Lynch-Staunton?
Non, je l'aurai en meme temps que les autres.
L'etude du titre est-elle reportee?
L'etude de l'article 1, le titre abrege, est-elle reportee?
L'article 2 est-il adopte?
L'article 2 est-il adopte?
L'article 5 est-il adopte?
L'article 6 est-il adopte?
L'article 7 est-il adopte?
Monsieur le president, je veux parler de cet article.
Le Parlement est toujours tres hesitant a adopter des mesures legislatives de ce genre.
Nous le savons tous.
En principe, c'est assez deplaisant.
Le precedent que nous creons aujourd'hui est mauvais.
Ce sera toujours un argument irrefutable.
Ce probleme pourrait etre reconnu.
Je m'en remets a la presidence a ce sujet.
Avec votre permission, je suggere que les noms soient joints au compte rendu.
Oui, je suis tout a fait d'accord.
(Le texte du document figure a l'annexe, p. 2994.)
Nous venons tout juste de le recevoir.
Je parlais des doleances generales qui ont ete faites.
Je ne fais qu'une remarque generale.
Je fais une remarque precise.
C'est probablement vrai pour un certain nombre de provinces.
Il y a eu des inconvenients malheureux, on en convient.
C'est une question de jugement.
L'article 7 est-il adopte?
Tous ceux qui sont en faveur de l'article 7?
Demandez-leur de se lever.
Non, je ne pense pas qu'on se leve en comite plenier.
Je pense que le greffier fera le decompte.
Que ceux qui sont en faveur de l'article 7 veuillent bien se lever.
Nous ferons le decompte.
Nous ne consignons pas les noms.
Ceux qui sont en faveur de l'article 7, 30; ceux qui sontcontre, 26.
Je declare l'article 7 adopte.
L'article 8 est-il adopte?
L'article 9 est-il adopte?
L'article 10 est-il adopte?
L'article 12 est-il adopte?
L'article 13 est-il adopte?
L'article 14 est-il adopte?
L'article 15 est-il adopte?
L'article 16 est-il adopte?
L'article 17 est-il adopte?
Article 18 est-il adopte?
Article 19 est-il adopte?
Article 20 est-il adopte?
Rejet de la motion d'amendement
L'honorable Noel A. Kinsella (chef adjoint suppleant de l'opposition) :
a ) par substitution, aux lignes 8 a 19, de ce qui suit:
b ) par substitution, aux lignes 25 et 26, de ce qui suit:
(2) Les conditions d'emploi fixees au titre du paragraphe (1) constituent une nouvelle; et
Puis-je avoir copie de l'amendement, senateur Kinsella?
J'ai la motion d'amendement.
Je ne pense pas qu'il soit necessaire de la distribuer.
J'aimerais commenter la motion d'amendement.
Je profite de cet amendement pour faire une observation.
Je mets la motion aux voix.
Que tous les senateurs qui sont pour la motion d'amendement veuillent bien se lever.
Que tous les senateurs qui sont contre la motion d'amendement veuillent bien se lever.
Vous pouvez reprendre vos sieges.
Le resultat du vote sur la motion est: 26 pour et 35 contre.
Je declare la motion rejetee.
Y avait-il des abstentions?
J'ai oublie de le demander.
Je declare la motion rejetee.
L'article 20 est-il adopte?
L'article 21 est-il adopte?
L'article 22 est adopte.
L'article 23 est-il adopte?
L'article 24 est-il adopte?
L'article 25 est-il adopte?
L'article 26 est-il adopte?
L'article 27 est-il adopte?
L'annexe 1 est-elle adoptee?
L'annexe 2 est-elle adoptee?
L'article 1, le titre abrege, est-il adopte?
Le titre est-il adopte?
Dois-je faire rapport du projet de loi sans propositions d'amendement?
Son Honneur le President :
Honorables senateurs, le Senat reprend sa seance.
Rapport du comite plenier
L'honorable Peter A. Stollery :
Son Honneur le President :
Honorables senateurs, quand lirons-nous ce projet de loi une troisieme fois?
L'honorable B. Alasdair Graham (leader du gouvernement) :
Son Honneur le President :
Son Honneur le President :
Vous plait-il, honorables senateurs, d'adopter la motion?
L'honorable Edward M. Lawson :
Honorables senateurs, je voudrais proposer un amendement.
Je propose cet amendement plus par deception que par colere.
Ce projet de loi n'est pas necessaire.
Pourquoi risquer de creer un dangereux precedent lorsque c'est inutile?
Qu'on donne une chance a la negociation collective.
Rejet de la motion d'amendement a la majorite
L'honorable Edward M. Lawson :
Son Honneur le President :
Vous plait-il, honorables senateurs, d'adopter la motion d'amendement?
Son Honneur le President :
Que les senateurs qui sont en faveur de la motion veuillent bien dire oui.
Son Honneur le President :
Que les senateurs qui sont contre veuillent bien dire non.
Son Honneur le President :
A mon avis, les non l'emportent.
Et deux honorables senateurs s'etant leves:
Son Honneur le President :
Y a-t-il entente sur la duree de la sonnerie?
(La motion d'amendement du senateur Lawson, mise aux voix, est rejetee.)
Son Honneur le President :
Je declare la motion d'amendement rejetee.
Le vote porte maintenant sur la motion principale.
Quelqu'un veut-il prendre la parole au sujet de la motion principale?
L'honorable B. Alasdair Graham (leader du gouvernement) :
En fait, depuis que l'entente est intervenue, mardi soir, les greves se sont intensifiees.
Il y avait aussi d'imposants piquets de greve a plusieurs etablissements correctionnels.
Le deuxieme point que je veux faire valoir concerne la position des agents de correction.
Cela fait partie integrante du processus normal de negociation collective.
Le gouvernement privilegie un accord negocie, et cela se reflete dans la loi.
Honorables senateurs, cette mesure legislative visait au depart a regler une situation tres difficile.
L'honorable Edward M. Lawson :
La n'est pas la question, cependant.
A bon entendeur salut!
Le senateur Lynch-Staunton :
Je voudrais apporter une correction.
Nous avons entendu des temoignages contradictoires a ce sujet.
Il y a une contradiction.
Si le document etait signe, pourquoi le gouvernement le renie-t-il maintenant?
Je crois savoir qu'il s'agit d'une erreur administrative.
Il ne s'agit pas d'une erreur administrative.
C'est ce que j'ai compris, honorables senateurs.
Je devrai obtenir plus de precisions a ce sujet.
C'est ce dont parle le senateur Lawson.
Cette situation est sans precedent.
Nous avons cette lettre d'accord, qui definit les bases de l'entente.
Le senateur Graham a pris la parole, puis le senateur Lawson a parle.
Je voudrais poser une question au senateur Graham.
Le senateur Lynch-Staunton n'a pose ses questions qu'apres.
Je voudrais quand meme interroger le senateur Graham.
L'honorable Marcel Prud'homme :
Honorables senateurs, j'aimerais faire une intervention a l'etape de la troisieme lecture.
Je ne me sens pas oblige de faire de longs discours sur tous les sujets.
C'est cela, le Senat.
Je vais donc vous eviter un tres long discours sur ces questions de droit.
Je veux porter au compte rendu que je suis en tout point de son avis.
C'est cette civilite qui fait la beaute du Senat.
Certaines des interventions que j'ai entendues aujourd'hui m'ont fait grande impression.
Je repete que je partage sans reserve les vues du senateur Lawson.
Je vois deja ce qui va se passer.
Mon collegue dit que je serais peut-etre seul.
Un jour, je pourrais le forcer lui aussi a sieger seul.
Cependant, je n'irai pas jusque la dans l'utilisation du Reglement.
Merci a nouveau, senateur Lawson, de nous avoir fait part de votre grande experience.
L'honorable John G. Bryden :
Nous avons tous deux participe a des negociations a de nombreuses reprises.
Pour ma part, j'ai parfois represente l'organisation de mon collegue.
Cependant, il y a des faits interessants dans ce cas-ci.
Il n'y a aucune garantie que les gens agiront toujours de bonne foi.
Mon honorable ami a-t-il raison, honorables senateurs?
L'honorable Gerry St. Germain :
Honorables senateurs, j'ai une question a l'intention du senateur Bryden.
C'est du moins ce que j'ai compris.
Honorables senateurs, il y a un element de confiance dans tout ceci.
Nous n'aurions pas sape le droit de greve ou le droit de negocier.
Puis-je avoir vos observations a cet egard, honorable senateur?
Voici mes observations, honorables senateurs.
Je ne connais pas assez bien le contexte et les details.
L'honorable Leonard J. Gustafson :
La greve des manutentionnaires cerealiers tombe a un tres mauvais moment pour les agriculteurs.
Nous avons eu un hiver tres difficile.
Les activites des silos etaient arretes et, dans bien des endroits, elles le sont toujours.
Je crois comprendre qu'il y a sept navires qui attendent d'etre charges.
Cela entrainera des frais de stationnement pour les agriculteurs.
C'est sur ces reflexions que j'appuie mes decisions au Senat, aujourd'hui.
Puis-je repondre au senateur Bryden?
Son Honneur le President :
Je suis desole, senateur Lawson, mais vous avez deja parle.
Plait-il aux honorables senateurs d'adopter la motion?
Son Honneur le President :
Devrai-je dire avec dissidence?
Son Honneur le President informe le Senat qu'il a recu la communication suivante:
Le secretaire du Gouverneur general, Judith A. LaRocque
Projet de loi sur les services publicitaires fournis par des editeurs etrangers
L'honorable Noel A. Kinsella (chef adjoint suppleant de l'opposition) :
J'aimerais dire une ou deux choses.
Son Honneur le President :
Vous plait-il, honorables senateurs, d'adopter la motion?
Les travaux du Senat
Son Honneur le President :
Sauf dans les cas prevus ailleurs au Reglement, sont sujettes a debat les motions:
Autrement dit, le renvoi d'un projet de loi n'est pas sujet a debat.
J'apporte cette precision qui pourrait eclairer nos debats ulterieurs.
Regie interne, budgets et administration
Adoption du trente-deuxieme rapport du comite
L'honorable Noel A. Kinsella (chef adjoint suppleant de l'opposition) :
Honorables senateurs, j'aimerais obtenir certaines explications sur le contenu de ce rapport.
Privileges, Reglement et procedure
Etude du neuvieme rapport du comite-Suite du debat
L'honorable Marcel Prud'homme :
Je ne compte pas faire de discours aujourd'hui.
J'espere que les chefs des deux cotes finiront par s'entendre.
Dans mon cas, cela fait presque six ans que cela dure.
Je suis dispose a discuter de la question avec le senateur Robertson.
(Sur la motion du senateur Kinsella, au nom du senateur Robertson, le debat est ajourne.)
Projet de loi modificatif-Etude du rapport du comite-Suite du debat
L'honorable Consiglio Di Nino :
L'honorable Sharon Carstairs (leader adjoint du gouvernement) :
(Sur la motion du senateur Carstairs, le debat est reporte.)
La revue des politiques sur les armes nucleaires
L'honorable Sharon Carstairs (leader adjoint du gouvernement) :
(Sur la motion du senateur Di Nino, le debat est ajourne.)
La recente decision de la Cour supreme du Canada-Interpellation-Suspension du debat
f ) les nombreux commentaires et debats publics sur cette question, dans tout le pays;
L'honorable Jerahmiel S. Grafstein :
Les juges et les senateurs sont nommes par des ministres.
Cependant, des considerations differentes se rapportent aux juges et aux senateurs.
Les deux categories ont des pouvoirs legislatifs differents.
Une fois qu'ils jouissent de cette independance, ils exercent des fonctions publiques entierement differentes.
Telle etait la vision des peres de la Confederation.
Son Honneur le President :
(Le Senat s'ajourne a loisir.)
Qu'il plaise a Votre Honneur.
A ces projets de loi, je prie humblement Votre Honneur de donner la sanction royale.
La Chambre des communes se retire.
Il plait a l'honorable suppleant de Son Excellence le Gouverneur general de se retirer.
Le jugement recent de la Cour supreme du Canada-Interpellation-Suite du debat
f ) les nombreux commentaires et debats publics sur cette question, dans tout le pays;
L'honorable Jerahmiel S. Grafstein :
Honorables senateurs, je reprends la ou je me suis interrompu.
Je m'egare, honorables senateurs.
En ce sens, le Parlement continue d'avoir la suprematie.
Dans un article datant de quelques annees et intitule: Judicial Free Speech:
Justifiable Limits, le professeur Russell dit ceci:
La liberte repose sur la jouissance de droits dans le respect des lois.
Telle est la fonction des juges.
Pour ce faire, les juges doivent etre le plus possible independants et impartiaux.
L'independance et l'impartialite des juges ne peuvent etre absolues.
Je cite a nouveau Peter Russell:
Le 11 janvier 1943, il ecrivait des paroles revelatrices dans son journal intime:
Les juges doivent etre independants en donnant une impression d'impartialite absolue.
Ils doivent se tenir a l'ecart de l'arene politique.
Il s'agit manifestement la d'une question qui a souleve beaucoup de passion.
Il y est question de la liberte d'expression judiciaire.
Les juges de la Cour supreme McCLachlin, Sopinka et Wilson en sont des exemples recents.
Il s'agit de la question de l'utilisation de la liberte d'expression.
Le professeur Friedland ajoute:
Voir A. Wayne MacKay, Judicial Free Speech and Accountability:
Should Judges Be Seen but Not Heard?
Dans un discours du juge Sopinka intitule: Must a Judge be a Monk?
Ce document a ete adresse a l'Association du Barreau canadien le 3 mars 1989.
A la page 8, le juge Sopinka dit:
C'etait l'hypothese sur laquelle il se basait pour intervenir ainsi.
Il ne peut parler en tant que juge.
Au chapitre 9 de The Court in Country intitule: The Charter:
L'auteur ajoute ceci au sujet de cette situation:
Carrement, deux modeles tres differents de democratie s'opposent.
Son Honneur le President :
Ai-je la permission de poursuivre, Votre Honneur?
Son Honneur le President :
L'honorable Marcel Prud'homme :
S'agit-il d'un long oui?
J'ai besoin de plusieurs minutes.
Son Honneur le President :
Son Honneur le President :
Je vous remercie, senateur Prud'homme et les autres.
J'etais alors un des conseillers benevoles du ministre.
En 1994, la Conference canadienne des juges a dit ceci:
Toutefois, meme cela ne suffirait pas a satisfaire a des criteres objectifs d'impartialite.
Le temps est peut-etre venu de donner suite a cette idee.
J'aurais une question a lui poser.
Je me rends compte qu'au Royaume Uni, le texte legislatif prime.
Le senateur Stewart souleve un point important.
Cependant, ils ont un systeme vraiment mixte.
(Sur la motion du senateur Kinsella, au nom du senateur Nolin, le debat est ajourne.)
Autorisation au comite de permettre la diffusion de ses deliberations
Permission ayant ete accordee de revenir aux avis de motion:
Son Honneur le President :
Honorables senateurs, la permission est-elle accordee?
Le role du Conseil de la magistrature
Les commentaires dans les medias-Interpellation-Suite du debat
L'honorable Anne C. Cools , ayant donne avis lejeudi 18 mars 1999:
Qu'elle attirera l'attention du Senat:
d ) sur la question des declarations publiques des juges dans les medias;
Dans sa lettre, il dit ceci:
Honorables senateurs, le juge en chef McEachern est un excellent juge et un excellent homme.
Il est inadmissible que les juges prennent position sur la place publique.
... l'avenir du Canada aurait ete mieux assure.
A propos du role de la Cour supreme dans cette decision, M. Trudeau a declare:
M. Trudeau nous a expose une critique grave et solennelle de la cour en disant:
Il demande la confiance du public pour le juge en chef Antonio Lamer.
Mais le vrai probleme lui echappe.
Honorables senateurs, permettez-moi maintenant de traiter de l'etat du pouvoir judiciaire au Canada.
Depuis une dizaine d'annees, l'activisme judiciaire fait rage et domine.
Ils ne peuvent pas non plus plaider la confiance dans l'integrite personnelle des juges.
Le probleme reside dans l'etat du judiciaire au Canada.
Je crois que les juges doivent respecter les memes principes.
Je reviendrai sur cette question.
Un eclaircissement s'impose.
La Charte n'impose rien de tel.
C'est du vandalisme constitutionnel.
Il presente le juge en chef Lamer comme le defenseur de l'interet public.
Voila ce qui est au coeur de la controverse.
L'accuse dans l'affaire R. c. Ewanchuk a-t-il obtenu justice?
L'activisme, l'ideologie, le feminisme ideologique ont-ils un role a jouer?
Dans l'affirmative, quel est ce role et qui peut repondre a ces questions?
La lettre du juge en chef McEachern le prouve bien.
Le Parlement seul defend les interets representatifs de la population.
Le paragraphe 99(1) prescrit ce qui suit:
Son Honneur le President :
L'honorable Sharon Carstairs (leader adjoint du gouvernement) :
Honorables senateurs, je crois qu'il y a consentement a ne pas voir l'heure.
Son Honneur le President :
Veuillez continuer, senateur Cools.
Pour terminer, je vais faire valoir mon point sur le caractere politique de cette controverse.
La guerre sous toutes ses formes est de la politique, habituellement de la mauvaise politique.
(Sur la motion du senateur Carstairs, au nom du senateur Sparrow, le debat est ajourne.)
Le cinquantieme anniversaire de l'entree dans la Confederation-Interpellation
L'accord devait entrer en vigueur le 31 mars 1949.
Tout Terre-Neuvien de plus de 50 ans...est
Voici ce qu'il a ecrit:
Honorables senateurs, les temps changent.
Le nombre de personnes vivant d'aide d'urgence a augmente jusqu'en 1939.
L'insatisfaction de la population envers la commission augmentait sans cesse.
Je ne tenais pas particulierement a aller a Terre-Neuve.
Plusieurs bases canadiennes ont aussi ete construites.
En 1942, Terre-Neuve a enregistre un excedent budgetaire.
Le gouvernement a commence a ameliorer les services.
Honorables senateurs, vous connaissez le resultat.
La Confederation l'a emporte.
Newfoundlanders Rant and Roar Over Confederation, 1946-48.
Voici ce que le fils a ecrit:
Il etait considere comme un nouveau Messie, notamment dans les villages isoles.
Qu'est-ce que Joey Smallwood avait a offrir aux Terre-Neuviens?
A quoi a-t-il employe ses talents d'orateur?
Lorsqu'il a parle des avantages de la Confederation, il a promis des allocations familiales.
Il a promis des pensions pour les gens a la retraite.
Je cite de nouveau Rand Dyck.
M. Smallwood lui a fait cette reponse:
J'aime bien M. Cashin.
Son Honneur le President :
Autorisation au comite special de reporter la date de presentation de son rapport final
L'honorable Sharon Carstairs (leader adjoint du gouvernement) :
Adoption de la motion d'amendement
L'honorable Sharon Carstairs (leader adjoint du gouvernement) :
J'aurai ainsi l'occasion d'interroger le senateur Forrestall.
Son Honneur le President :
Vous plait-il, honorables senateurs, d'adopter l'amendement?
Son Honneur le President :
Nous revenons a la motion principale telle qu'amendee.
Vous plait-il, honorables senateurs, d'adopter la motion telle qu'amendee?
(La motion amendee est adoptee.)
Permission ayant ete accordee de revenir aux avis de motion du gouvernement:
L'honorable Sharon Carstairs (leader adjoint du gouvernement) :
Son Honneur le President :
La permission est-elle accordee, honorables senateurs?
(Le Senat s'ajourne au mardi 13 avril 1999, a 14 heures.)
Jean Despecier (Aggasis, C.-B.)
Morgan Andreassen (New Westminster, C.-B.)
Carol Goldie - Etablissement de Matsqui
Shawn Dinger (Chilliwack, C.-B.)
Ernie Dombrowski - Etablissement de Matsqui
Roseline Hussey - Etablissement de Matsqui
Brenda Scott - Etablissement de Matsqui
Randy Rast - Etablissement de Matsqui
Allan Serdar - Etablissement de Matsqui
Ovid Mac - Etablissement de Matsqui
Cheryl Sharp (Abbotsford, C.-B.)
Robert Lambert - Etablissement de Matsqui
Andrew Vukusic - Etablissement de Matsqui
Blair Davis - Etablissement de Matsqui
Randy Diangra - Etablissement de Matsqui
Dan Fyse - Etablissement de Matsqui
Mike Hickman - Etablissement de Kent
Andrew Marshall - Etablissement de Matsqui
Rick Lindman - Etablissement de Matsqui
George Pool - Etablissement de Matsqui
Brian Krueger - Etablissement de Matsqui
Norm Thibault - Etablissement de Matsqui
Wally Van Vugt - Etablissement de Matsqui
David Zeswick - Etablissement de Kent
Bab Sanger - Etablissement de Kent
Paul Greenhall - Etablissement de Kent
Mol Army (Elbow Lake, C.-B.)


!***********************************/
!	Name:基礎変数から保存変数へ変換するプログラム
!	Alias:Primitive2Conserve
!	Description:定義通りに計算するだけ
!	Type:Geom,CellCenter
!	Input:Geom,CC
!	Output:CC%PrimitiveVariable
!	Note:1~3次元すべてに対応済み
!	Author:Akitaka Toyota
!	Date:2017.10.26
!	Update:2017.11.06
!	Other:
!***********************************/
subroutine Primitive2Conserve(Geom,CC)
    use StructVar_Mod
    use LoopVar_Mod
    use ConstantVar_Mod, Gamma => SpecificOfHeatRatio
    implicit none
    type(Geometry), intent(in) :: Geom
    type(CellCenter),intent(inout) :: CC

    nullify(iVar,iCX,iCY,iCZ)
    iVar => iVariable
    iCX => iCenterX
    iCY => iCenterY
    iCZ => iCenterZ
    iDim = Geom%Dimension

        if(iDim <= 2) iCZ => iOne
        if(iDim == 1) iCY => iOne

    do iCenterZ=0, Geom%CellNumber(3)+1
        do iCenterY=0, Geom%CellNumber(2)+1
            do iCenterX=0, Geom%CellNumber(1)+1
                CC%ConservedQuantity(1,iCX,iCY,iCZ) = CC%PrimitiveVariable(1,iCX,iCY,iCZ)

                do iVariable = 2, iDim+1
                    CC%ConservedQuantity(iVar,iCX,iCY,iCZ) = &
                        &   CC%PrimitiveVariable(iVar,iCX,iCY,iCZ)*CC%PrimitiveVariable(1,iCX,iCY,iCZ)
                end do

                CC%ConservedQuantity(iDim+2,iCX,iCY,iCZ) = &
                    &   InverseGmin1 * (CC%PrimitiveVariable(iDim+2,iCX,iCY,iCZ) + 0.5d0 * CC%PrimitiveVariable(1,iCX,iCY,iCZ) &
                    &   * dot_product(CC%PrimitiveVariable(2:iDim+1,iCX,iCY,iCZ),CC%PrimitiveVariable(2:iDim+1,iCX,iCY,iCZ)))

                !if(CC%PrimitiveVariable(1,iCX,iCY,iCZ) <= 0.0d0) call ErrorMessage(1)
                do iVariable=1,iDim+2
                if(CC%PrimitiveVariable(iVariable,iCX,iCY,iCZ) <= 0.0d0)then
                    write(6,*) CC%ConservedQuantity(1,iCX,iCY,iCZ),iCX,iCY,iCZ
                    write(6,*) CC%PrimitiveVariable(1,iCX,iCY,iCZ)
                    write(6,*) lbound(CC%ConservedQuantity)
                    write(6,*) ubound(CC%ConservedQuantity)
                   stop
               end if
               end do
               ! if(CC%PrimitiveVariable(iDim+2,iCX,iCY,iCZ) <= 0.0d0) call ErrorMessage(2)
            end do
            if(iDim == 1) exit
        end do
        if(iDim <= 2) exit
    end do

return
end subroutine Primitive2Conserve