From 71ff668cc3cff93ff2c150350b8b43aca85b37bf Mon Sep 17 00:00:00 2001 From: Martin Scheidt Date: Tue, 19 Apr 2022 19:52:40 +0200 Subject: [PATCH 1/4] moved #History from README.md to CHANGELOG.md --- CHANGELOG.md | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 109 ----------------------------------- 2 files changed, 157 insertions(+), 109 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..1cd6001 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,157 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +Categories: Added, Changed, Deprecated, Removed, Fixed, and Security. + +## [Unreleased] + +## Version [0.8] + +### Changed + +Refactor the modular structure: +* Divide TrainRun into TrainRunCalc with the main functions and Import for importing data from yaml files +* Extract the modules Export and AdditionalOutput from TrainRunCalc +* Divide the module Operationsmodes and add its functions to TrainRunCalc and EnergySaving +* Add the remaining functions of the module types to EnergySaving +* Divide the module MovingPhases into Behavior and DrivingDynamics +* Rename the module Preparation to Characteristics + + +## Version [0.7] + + +### Changed + +Refactor all mutable structs as a Dictionaries: +* Refactor the mutable struct EnergySavingModification from types.jl as a Dictionary in OperationsModes.jl +* Refactor the mutable struct CharacteristicSection from types.jl as a Dictionary in Preparation.jl +* Refactor the mutable struct BehaviorSection from types.jl as a Dictionary in MovingPhases.jl +* Refactor the mutable struct DataPoint from types.jl as a Dictionary in MovingPhases.jl +* Remove behavior section "cruisingAfterCoasting" +* Rename some variables + + +## Version [0.6.2] + +### Added + +Add function addStandstill! for creating the BehaviorSection standstill: +* Add function addStandstill! to MovinPhases.jl +* Use function addStandstill! in OperationModes.jl +* Rename the BehaviorSection standStill to standstill + +### Fixed + +* Fix: Rename addStartingPhase! to addBreakFreePhase! + + +## Version [0.6.1] + +### Added + +Add an attribute to DataPoint to record the corresponding driving behavior +* Add the attribute behavior to Datapoint in types.jl +* Attach the corresponding behavior to data points in MovingPhases.jl +* Attach the behavior "standStill" to the last data point of the driving course in OperationModes.jl + +### Changed + +* Rework Output.jl for outputting the data points' behavior + + +## Version [0.6] + +### Changed + +Refactor some of the mutable structs from types.jl as Dictionaries +* Remove the mutable structs Train, Path, PathSection, Settings and MovingSection +* Create Dictionaries for train, path an settings in Input.jl +* Create a Dictionary for the whole moving section in Preperation.jl and a function for copying the moving section in OperationModes.jl +* Change the type of existing Dictionary keys from String to Symbol + +## Version [0.5.3] + +### Changed + +Rename variables in every .jl an .yaml file + +## Version [0.5.2] + +Merge fixing branches + +## Version [0.5.1] + +### Changed + +Rename the real world path file + +## Version [0.5] + +### Changed + +Refactor modules for diminishing run and tractive effort velocity pairs +* Add the seperate moving phase "diminishing run" for steep ascents where a train runs with maximum tractive effort while the driving resistances are even higher +* Refactor tractiveEffortArray to tractiveEffortVelocityPairs +* Rename file path and folder path to directory + + +## Version [0.4.1] + +### Changed + +Rename waypoints +* rename "waypoints" to "dataPoints" and "Waypoint" to "DataPoint" + + +## Version [0.4] + + +### Changed + +Refactor and fix modules EnergySaving, OperationModes and MovingPhases +* add the general used level of accuracy from v0.3 to EnergySaving and OperationModes +* fix OperationModes and MovingPhases for steep ascents where a train runs with maximum tractive effort while the driving resistances are even higher + + +## Version [0.3] + + +### Changed + +Refactor module MovingPhases +* extract repeatedly occuring code lines and create smaller functions (e.g. the function moveAStep) +* integrate a new approach for calculating the waypoints near intersections (e.g. including an editable level of accuracy) + + +## Version [0.2] + +### Changed + +Modules and variables were renamed. + + +## Version [0.1] + +Proof of concept and master thesis submission. + + +[Unreleased]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.8...master +[0.8]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.7...v0.8 +[0.7]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.6.2...v0.7 +[0.6.2]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.6.1...v0.6.2 +[0.6.1]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.6...v0.6.1 +[0.6]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.5.3...v0.6 +[0.5.3]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.5.2...v0.5.3 +[0.5.2]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.5.1...v0.5.2 +[0.5.1]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.5...v0.5.1 +[0.5]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.4.1...v0.5 +[0.4.1]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.4...v0.4.1 +[0.4]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.3...v0.4 +[0.3]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.2...v0.3 +[0.2]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.1...v0.2 +[0.1]: https://github.com/railtoolkit/TrainRun.jl/releases/tag/v0.1 \ No newline at end of file diff --git a/README.md b/README.md index d918556..3f5cd90 100644 --- a/README.md +++ b/README.md @@ -28,115 +28,6 @@ settings_directory = "data/settings.yaml" train_run = calculateDrivingDynamics(train, running_path, settings) ``` ------------- - -# History - -## Version 0.8 - -Refactor the modular structure - -- Divide TrainRun into TrainRunCalc with the main functions and Import for importing data from yaml files -- Extract the modules Export and AdditionalOutput from TrainRunCalc -- Divide the module Operationsmodes and add its functions to TrainRunCalc and EnergySaving -- Add the remaining functions of the module types to EnergySaving -- Divide the module MovingPhases into Behavior and DrivingDynamics -- Rename the module Preparation to Characteristics - - -## Version 0.7 - -Refactor all mutable structs as a Dictionaries - -- Refactor the mutable struct EnergySavingModification from types.jl as a Dictionary in OperationsModes.jl -- Refactor the mutable struct CharacteristicSection from types.jl as a Dictionary in Preparation.jl -- Refactor the mutable struct BehaviorSection from types.jl as a Dictionary in MovingPhases.jl -- Refactor the mutable struct DataPoint from types.jl as a Dictionary in MovingPhases.jl -- Remove behavior section "cruisingAfterCoasting" -- Rename some variables - - -## Version 0.6.2 - -Add function addStandstill! for creating the BehaviorSection standstill - -- Add function addStandstill! to MovinPhases.jl -- Use function addStandstill! in OperationModes.jl -- Rename the BehaviorSection standStill to standstill -- Fix: Rename addStartingPhase! to addBreakFreePhase! - - -## Version 0.6.1 - -Add an attribute to DataPoint to record the corresponding driving behavior - -- Add the attribute behavior to Datapoint in types.jl -- Attach the corresponding behavior to data points in MovingPhases.jl -- Attach the behavior "standStill" to the last data point of the driving course in OperationModes.jl -- Rework Output.jl for outputting the data points' behavior - - -## Version 0.6 - -Refactor some of the mutable structs from types.jl as Dictionaries - -- Remove the mutable structs Train, Path, PathSection, Settings and MovingSection -- Create Dictionaries for train, path an settings in Input.jl -- Create a Dictionary for the whole moving section in Preperation.jl and a function for copying the moving section in OperationModes.jl -- Change the type of existing Dictionary keys from String to Symbol - -## Version 0.5.3 - -Rename variables in every .jl an .yaml file - -## Version 0.5.2 - -Merge fixing branches - -## Version 0.5.1 - -Rename the real world path file - -## Version 0.5 - -Refactor modules for diminishing run and tractive effort velocity pairs - -- Add the seperate moving phase "diminishing run" for steep ascents where a train runs with maximum tractive effort while the driving resistances are even higher -- Refactor tractiveEffortArray to tractiveEffortVelocityPairs -- Rename file path and folder path to directory - - -## Version 0.4.1 - -Rename waypoints - -- rename "waypoints" to "dataPoints" and "Waypoint" to "DataPoint" - - -## Version 0.4 - -Refactor and fix modules EnergySaving, OperationModes and MovingPhases - -- add the general used level of accuracy from v0.3 to EnergySaving and OperationModes -- fix OperationModes and MovingPhases for steep ascents where a train runs with maximum tractive effort while the driving resistances are even higher - - -## Version 0.3 - -Refactor module MovingPhases - -- extract repeatedly occuring code lines and create smaller functions (e.g. the function moveAStep) -- integrate a new approach for calculating the waypoints near intersections (e.g. including an editable level of accuracy) - - -## Version 0.2 - -Modules and variables were renamed. - - -## Version 0.1 - -Proof of concept and master thesis submission. ------------ From 91d59b9182bb5edc4e8befdf36bf38cee97f92f8 Mon Sep 17 00:00:00 2001 From: Martin Scheidt Date: Tue, 19 Apr 2022 20:12:40 +0200 Subject: [PATCH 2/4] Providing more meta information for potential collaborators --- CHANGELOG.md | 16 +++++----- CITATION.cff | 40 +++++++++++++++++++++++++ CODE_OF_CONDUCT.md | 74 ++++++++++++++++++++++++++++++++++++++++++++++ CONTRIBUTING.md | 11 +++++++ README.md | 8 +++++ TODO.md | 0 6 files changed, 142 insertions(+), 7 deletions(-) create mode 100644 CITATION.cff create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md delete mode 100644 TODO.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cd6001..529f8aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,8 @@ Categories: Added, Changed, Deprecated, Removed, Fixed, and Security. ## [Unreleased] -## Version [0.8] + +## Version [0.8] 2022-01-20 ### Changed @@ -22,8 +23,7 @@ Refactor the modular structure: * Rename the module Preparation to Characteristics -## Version [0.7] - +## Version [0.7] 2022-01-14 ### Changed @@ -36,7 +36,7 @@ Refactor all mutable structs as a Dictionaries: * Rename some variables -## Version [0.6.2] +## Version [0.6.2] 2021-12-17 ### Added @@ -74,22 +74,26 @@ Refactor some of the mutable structs from types.jl as Dictionaries * Create a Dictionary for the whole moving section in Preperation.jl and a function for copying the moving section in OperationModes.jl * Change the type of existing Dictionary keys from String to Symbol + ## Version [0.5.3] ### Changed Rename variables in every .jl an .yaml file + ## Version [0.5.2] Merge fixing branches + ## Version [0.5.1] ### Changed Rename the real world path file + ## Version [0.5] ### Changed @@ -110,7 +114,6 @@ Rename waypoints ## Version [0.4] - ### Changed Refactor and fix modules EnergySaving, OperationModes and MovingPhases @@ -120,7 +123,6 @@ Refactor and fix modules EnergySaving, OperationModes and MovingPhases ## Version [0.3] - ### Changed Refactor module MovingPhases @@ -135,7 +137,7 @@ Refactor module MovingPhases Modules and variables were renamed. -## Version [0.1] +## Version [0.1] 2021-02-19 Proof of concept and master thesis submission. diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000..f2822e0 --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,40 @@ +# YAML 1.2 +# This CITATION.cff file was generated with cffinit. +# Visit https://bit.ly/cffinit to generate yours today! +--- +cff-version: 1.2.0 +title: TrainRun.jl +message: 'If you use this software, please cite it using these metadata.' +type: software +authors: + - given-names: Max + family-names: Kannenberg + affiliation: TU Braunschweig + - given-names: Martin + family-names: Scheidt + email: m.scheidt@tu-bs.de + orcid: 'https://orcid.org/0000-0002-9384-8945' + affiliation: TU Braunschweig +identifiers: + - type: doi + value: 10.5281/zenodo.6448563 + description: 'Collection of archived snapshots of all versions of the library' + - type: doi + value: 10.5281/zenodo.6448564 + description: Current version +url: 'https://www.railtoolkit.org/projects/TrainRun.jl/' +repository: 'https://github.com/railtoolkit/TrainRun.jl' +abstract: >- + TrainRun.jl is a step towards open science and open data in railway engineering. + Its modular design offers the possibility to serve as a basis for future + optimization and development. TrainRun.jl is suitable for qualitative + calculations to compare different trains, and it is publicly available, and we + invite others to collaborate. +keywords: + - railway + - running time + - driving dynamics + - julia language +license: ISC +version: v0.8 +date-released: 2022-01-20 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..561c180 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at [INSERT EMAIL ADDRESS]. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..4743fbf --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,11 @@ +# Contributing + +When contributing to this repository, please first discuss the change you wish to make via issue, +email, or any other method with the owners of this repository before making a change. + +Please note we have a code of conduct, please follow it in all your interactions with the project. + +# Pull Request Process + + * add your changes to the CHANGELOG.md under [Unreleased] + * TODO! \ No newline at end of file diff --git a/README.md b/README.md index 3f5cd90..407f742 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,13 @@ # TrainRun +[![License: ISC](https://img.shields.io/badge/license-ISC-green.svg)](https://opensource.org/licenses/ISC) + +------------ + +# About + +TrainRun.jl is a step towards open science and open data in railway engineering. Its modular design offers the possibility to serve as a basis for future optimization and development. TrainRun.jl is suitable for qualitative calculations to compare different trains, and it is publicly available, and we invite others to collaborate. + ------------ # Installation diff --git a/TODO.md b/TODO.md deleted file mode 100644 index e69de29..0000000 From cfacdc217077eeb4a77343e7c3e271c17e3e0b7d Mon Sep 17 00:00:00 2001 From: Martin Scheidt Date: Tue, 19 Apr 2022 20:26:29 +0200 Subject: [PATCH 3/4] added DOI --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 407f742..f03917a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # TrainRun -[![License: ISC](https://img.shields.io/badge/license-ISC-green.svg)](https://opensource.org/licenses/ISC) +[![License: ISC](https://img.shields.io/badge/license-ISC-green.svg)](https://opensource.org/licenses/ISC) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6448563.svg)](https://doi.org/10.5281/zenodo.6448563) ------------ From b669ea01d81b0e0e55a20466070acec9af386bb3 Mon Sep 17 00:00:00 2001 From: Martin Scheidt Date: Tue, 19 Apr 2022 20:26:48 +0200 Subject: [PATCH 4/4] added pages in reference --- src/DrivingDynamics.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DrivingDynamics.jl b/src/DrivingDynamics.jl index 54da2c4..617d8e6 100644 --- a/src/DrivingDynamics.jl +++ b/src/DrivingDynamics.jl @@ -14,7 +14,7 @@ module DrivingDynamics ## author = {Brünger, Olaf and Dahlhaus, Elias}, ## year = {2014}, ## title = {Running Time Estimation}, -## pages = {?--?}, +## pages = {65--90}, ## booktitle = {Railway Timetabling \& Operations.}, ## editora = {Hansen, Ingo A.}, ## editorb = {Pachl, Jörn},