Skip to main content
alternate text

–(( Project has moved to https://code.europa.eu/jrc-ldv/jrshift since version 1.1.3 ))–

versions:

Latest version in GitHub release date Supported Python versions of latest release in PyPi

documentation:

https://gearshift-calculation-tool.readthedocs.io/en/latest/ GitHub page documentation

sources:

https://github.com/JRCSTU/gearshift_calculation_tool pip installation Code Style

keywords:

automotive, car, cars, driving, engine, emissions, fuel-consumption, gears, gearshifts, rpm, simulation, simulator, standard, vehicle, vehicles, WLTP

short name:

JR-Shift

live-demo:

JupyterLab for Gerashift Calculation Tool (stable)

Copyright and License:

© Copyright (c) 2021 European Union.

Licensed under the EUPL, Version 1.2 or – as soon they will be approved by the European Commission – subsequent versions of the EUPL (the “Licence”); You may not use this work except in compliance with the Licence. You may obtain a copy of the Licence at: EUPL 1.2

Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an “AS IS” basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licence for the specific language governing permissions and limitations under the Licence.

A python-3.6+ package to generate the gear-shifts of Light-duty vehicles

Introduction

The aim of the JR-Shift is obtain the Required Engine Speeds, the Available Powers, the Required Vehicle Speeds and the Gears for the whole WLTC based on the vehicle characteristics. The model should allow accurate calculation of final trace and the operating conditions of the engine.

Overview

The calculator accepts as input an excel file that contains the vehicle’s technical data, along with parameters for modifying the execution WLTC cycle, and it then spits-out the gear-shifts of the vehicle and the others parameters used during the obtaining of these. It does not calculate any CO2 emissions.

Installation

Prerequisites

Python-3.6+ is required and Python-3.7 recommended. It requires numpy/scipy and pandas libraries with native backends.

Download

Download the sources,

  • either with git, by giving this command to the terminal:

    git clone https://github.com/JRCSTU/gearshift_calculation_tool --depth=1

Install

From within the project directory, run one of these commands to install it:

  • for standard python, installing with pip is enough (but might):

    pip install -e .[path_to_gearshift_calculation_tool_folder]

Project files and folders

The files and folders of the project are listed below:

+--gearshift/                                       # main folder that contains the whole gearshift project
|   +--cli/                                         # folder that contains all cli scripts
|   +--core/                                        # folder that contains core packages
|       +--load/                                    # (package) python-code of the load
|           +--speed_phases/                        # folder that contains speed phases in ftr format
|           +--excel.py                             # (script) load from the excel file parameters
|       +--model/                                   # (package) python-code of the model
|           +--calculateShiftpointsNdvFullPC/       # (package) python-code of the calculate shift points, Ndv and  FullPC
|           +--scaleTrace/                          # (package) python-code of the calculate scale trace
|       +--write/                                   # (package) python-code of the write
|           +--excel.py                             # (script) write to the excel file output parameters
|   +--demos/                                       # folder that contains demo files
|   +--docs/                                        # folder that contains documentation
+-- AUTHORS.rst
+--setup.py                                         # (script) The entry point for `setuptools`, installing, testing, etc
+--README.rst
+--LICENSE.txt

Quick-Start

Cmd-line usage

The command-line usage below requires the Python environment to be installed, and provides for executing an experiment directly from the OS’s shell (i.e. cmd in windows or bash in POSIX), and in a single command. To have precise control over the inputs and outputs

$ gearshift --help                                                  ## to get generic help for cmd-line syntax
$ gearshift demo                                                    ## to get demo input file
$ gearshift run "path_input_file" -O "path_to_save_output_file"     ## to run gearshift tool

Usage

In this example we will use gearshift model in order to predict the gears.

Setup

Import dispatcher(dsp) from gearshift tool that contains functions and simulation model to process vehicle data and Import also schedula for selecting and executing functions. for more information on how to use schedula

from gearshift.core import dsp
import schedula as sh

Load data

  • Load vehicle data for a specific vehicle from excel template

    vehData = 'gs_input_demo.xlsx'
  • Define the input dictionary for the dispacher.

    input = dict(input_file_name=vehData)

Dispatcher

  • Dispatcher will select and execute the proper functions for the given inputs and the requested outputs

    core = dsp(input, outputs=['sol'], shrink=True)
  • Plot workflow of the core model from the dispatcher

    core.plot()

    This will automatically open an internet browser and show the work flow of the core model as below. You can click all the rectangular boxes to see in detail sub models like load, model, write and plot.

    alternate text

    The load module

    alternate text
  • Load outputs of dispatcher Select the chosen dictionary key (sol) from the given dictionary.

    solution = sh.selector(['sol'], sh.selector(['sol'], core))
  • Select each output case

    # Select first case
    solution['sol'][0]
    
    # Select second case case
    solution['sol'][1]
    
    # Select gears output for different cases
    gears = {}
    for sol in solution['sol']:
        gears[f'gears_{sol["Case"]}'] = sol['GearsOutput']

Metadata

Release files for wltp-gearshift 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wltp-gearshift 1.4.0
File Size Uploaded Provenance
wltp-gearshift-1.4.0.tar.gz 302.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for wltp-gearshift 1.4.0
File Interpreter ABI Platform
wltp_gearshift-1.4.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 604.4 kB

Release files / wltp-gearshift-1.4.0.tar.gz

Download URL wltp-gearshift-1.4.0.tar.gz
Size 302.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3ca741fc5e194affe6852f7d4672c4f68bfcf5520ea191dec2a0116cb6cb93bc
BLAKE2b-256 checksum
How to use checksums
c310f055510611947c2f5b450ad1cf68e6f3181765b64bff95483c48367d1d7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.7.10

Release files / wltp_gearshift-1.4.0-py2.py3-none-any.whl

Download URL wltp_gearshift-1.4.0-py2.py3-none-any.whl
Size 302.2 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
f313517f9b7b0108a8c114184045b88cf212c7aa247abe7d8f64ae5c2b17f2fe
BLAKE2b-256 checksum
How to use checksums
173d1d84369e67f809cbb8667ce2a14d02c8826d1c82747b9a5bdc2f1bb36b31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.7.10

Security for wltp-gearshift 1.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page