CopertHotStrategy¶
Note
It is recommended to use the CopertStrategy with the config argument only_hot: yes
instead of this Strategy.
The CopertHotStrategy
implements emission calculation with the
EEA Tier 1 methodology for hot exhaust emissions
using COPERT emission factors.
This Strategy uses speed-dependent emission factors with flexible speeds dependent on the level of service. When developing YETI we had access to speed data that depended on the level of service, so we chose to get the speed used for the COPERT emission factor calculation from there. If your speed data has a different format, you can add your own Strategy to work with your speed data.
Data requirements¶
What data the CopertHotStrategy
requires depends on the mode
set in the configuration file for the run.
Data requirements for mode berlin_format
¶
link data
Just like the link data required for the other Strategies. Look here.
Make sure that the combination of AreaCat, RoadCat and MaxSpeed_kmh matches a traffic situation in the los speeds data.
traffic data
Just like the traffic data required for the other Strategies. Look here.
fleet composition data
Just like the fleet composition data required for the other Strategies. Look here.
los speeds data
This dataset contains speed data for vehicle categories and traffic situations. It is used to find out the
speed of a vehicle for a particular level of service.
- VehCat: A vehicle category. Valid categories are
pass. car
LCV
coach
urban bus
motorcycle
HGV
- TrafficSituation: Each value in this column is a String describing a particular
traffic situation in the format
{area type}/{road type}/{max speed}/{level of service}
. Acceptable area types areURB
andRUR
. For level of service choose one of these valuesFreeflow
,Heavy
,Satur.
, orSt+Go
. Possible road types are as follows. Please note that the possible road types are hard coded. If you are using different road definitions, the easiest would be to map them to the definitions used by YETI and work with the YETI definitions.
# possible road types
MW-Nat.
MW-City
Trunk-Nat.
Trunk-City
Distr
Local
Access
# Example traffic situations
URB/MW-City/70/Freeflow # Freeflow is the first level of service (LOS 1)
URB/MW-City/70/Heavy # Heavy is the second level of service (LOS 2)
URB/MW-City/70/Satur. # Satur. is the third level of service (LOS 3)
URB/MW-City/70/St+Go # St+Go is the fourth level of service (LOS 4)
- Speed_kmh: The speed for a vehicle of category VehCat driving in the corresponding TrafficSituation. Unit: km/h
The los speeds data should contain values for all vehicle categies and for traffic situation strings describing all street links and all los types.
Example:
VehCat | TrafficSituation | Speed_kmh |
---|---|---|
pass. car | URB/MW-City/70/Freeflow | 70 |
pass. car | URB/MW-City/70/Heavy | 55 |
pass. car | URB/MW-City/70/Satur | 40 |
pass. car | URB/MW-City/70/St+Go | 30 |
emission factor data
This dataset contains the necessary attributes to calculate speed dependent emission factors
to be used in the calculation of hot exhaust emissions according to
EEA methodology.
Note that this dataset needs to contain values for the pollutants you are using, otherwise you will encounter errors in the emission calculation.
Example:
Fuel | VehCat | VehSegment | EuroStandard | Technology | Pollutant | Mode | Slope | Load | MinSpeed_kmh | MaxSpeed_kmh | Alpha | Beta | Gamma | Delta | Epsilon | Zita | Hta | Thita | ReductionPerc |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Petrol | Passenger Cars | Small | Euro 4 | GDI | CO | 5 | 130 | 0.651 | 16.6 | 0.468 | -0.48 | 10.1869 | 7.57 | 3 | -0.79 | 0.3 | |||
Petrol | Passenger Cars | Small | Euro 4 | GDI | NOx | 5 | 130 | 0.896 | 86.5 | 0.167 | -0.74 | 6.32147 | 1761 | -0.55 | 0 |
mapping data
This file is used to map vehicle names to their emission factor attributes in the emission factor data.
The values in the columns VehCat
, Fuel
, VehSegment
, EuroStandard
, and Technology
need to match
the values in the columns of the emission factor data exactly.
The vehicle names in the column VehName
need to match the the vehicle names in fleet composition data >> VehName
exactly. More precisely, each vehicle in fleet composition data >> VehName
needs one corresponding row
in the mapping data.
Example:
Say we want to construct a mapping between the following two files:
fleet composition data
VehName | VehCat | VehPercOfCat | NumberOfAxles |
---|---|---|---|
PC petrol <1.4L Euro-1 | P | 0.2 | |
LCV diesel M+N1-I Euro-2 | L | 0.003 |
emission factor data
Fuel | VehCat | VehSegment | EuroStandard | Technology | Pollutant | Mode | Slope | Load | MinSpeed_kmh | MaxSpeed_kmh | Alpha | Beta | Gamma | Delta | Epsilon | Zita | Hta | Thita | ReductionPerc |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Petrol | Passenger Cars | Small | Euro 4 | GDI | CO | 5 | 130 | 0.651 | 16.6 | 0.468 | -0.48 | 10.1869 | 7.57 | 3 | -0.79 | 0.3 | |||
Diesel | Light Commercial Vehicles | M+N1-I | Euro 2 | NOx | 5 | 100 | 0.896 | 86.5 | 0.167 | -0.74 | 6.32147 | 1761 | -0.55 | 0 |
Our mapping file would look like this:
mapping data
VehCat | Fuel | VehSegment | EuroStandard | Technology | VehName |
---|---|---|---|---|---|
Passenger Cars | Petrol | Small | Euro 4 | GDI | PC petrol <1.4L Euro-1 |
Light Commercial Vehicles | Diesel | M+N1-I | Euro 2 | LCV diesel M+N1-I Euro-2 |
nh3 mapping data
[OPTIONAL]
Like the mapping data described above, but without the column Technology
. Also this file is used
to construct a mapping between the fleet composition data and the nh3 emission factor data.
nh3 emission factor data
[OPTIONAL]
This file contains Tier 2 emission factor values for the pollutant NH3.
Example:
VehCat | Fuel | VehSegment | EuroStandard | EF |
---|---|---|---|---|
Passenger Cars | Petrol | Small | Euro 4 | 0.8 |
Light Commercial Vehicles | Diesel | M+N1-I | Euro 2 | 4.95 |
Data requirements for mode yeti_format
¶
yeti_format link data
Just like the yeti_format link data required for the other Strategies. See here.
Make sure that the combination of AreaType, RoadType and MaxSpeed matches a traffic situation in the los speeds data.
yeti_format vehicle data
Just like the yeti_format vehicle data required for the other Strategies. See here.
yeti_format traffic data
Just like the yeti_format traffic data required for the other Strategies. See here.
yeti_format los speeds data
This dataset contains data about the speeds associated with the levels of service for the links and vehicle categories
used.
- LinkID: The ID of a street link. Needs to match the link IDs in
yeti_format link data >> LinkID
. - VehicleCategory: One of the following vehicle categories:
VehicleCategory.PC
VehicleCategory.LCV
VehicleCategory.HDV
VehicleCategory.COACH
VehicleCategory.UBUS
VehicleCategory.MOPED
VehicleCategory.MC
- LOSxSpeed: The average speed of vehicles belonging to the given vehicle category at the given link
for the x level of service. Currently implemented levels of service:
1
(Freeflow),2
(Heavy),3
(Satur.), and4
(St+Go).
Example:
LinkID | VehicleCategory | LOS1Speed | LOS2Speed | LOS3Speed | LOS4Speed |
---|---|---|---|---|---|
123_87 | VehicleCategory.PC | 44.9160 | 36.996669 | 30.752666 | 12.756747 |
123_87 | VehicleCategory.LCV | 44.9160 | 36.996669 | 30.752666 | 12.756747 |
123_87 | VehicleCategory.HDV | 39.8291 | 30.092407 | 28.670288 | 11.770976 |
yeti_format emission factor data
This dataset contains emission factor attributes used in the emission factor calculation with the copert methodology for all vehicles in the fleet.
It can contain the optional column EF giving you the option to use fixed emission factors that are independent of speed. Values in EF will be used as the emission factor for the given vehicle and pollutant and will take precedence over the emission factor calculation with the copert methodology. If you want to use fixed emission factors for some vehicles and speed-depend emission factors for other vehicles, you can leave the EF blank for the vehicles that you want to use speed-dependent copert emission factors for.
Note that this dataset needs to contain values for the pollutants you are using, otherwise you will encounter errors in the emission calculation.
- VehicleName: The name of a vehicle class. Needs to match the vehicle names in
yeti_format vehicle data >> VehicleName
exactly. - Pollutant: One of the following pollutants:
PollutantType.NOx
PollutantType.CO
PollutantType.NH3
PollutantType.VOC
PollutantType.PM_Exhaust
- Mode: The mode, as used by the copert methodology.
- Load: The load, as used by the copert methodology. Note that the load is only used to filter the yeti_format emission factor data. Only rows with load 0 or blank will be considered for the emission factor calculation.
- Slope: The slope, as used by the copert methodology. Note that the slope is only used to filter the yeti_format emission factor data. Only rows with slope 0 or blank will be considered for the emission factor calculation.
- EF: [OPTIONAL] A fixed emission factor to be used for the given vehicle name and pollutant. If not blank the EF takes precedence over the emission calculation with the copert methodology.
- The other columns contain the attributes used in the copert emission factor calculation.
Example:
VehicleName | Pollutant | Mode | Slope | Load | MinSpeed_kmh | MaxSpeed_kmh | Alpha | Beta | Gamma | Delta | Epsilon | Zita | Hta | Thita | ReductionPerc | EF |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PC petrol <1.4L Euro-1 | CO | 0 | 0 | 5 | 130 | 0.651 | 16.6 | 0.468 | -0.48 | 10.1869 | 7.57 | 3 | -0.79 | 0.3 | ||
LCV diesel M+N1-I Euro-2 | NOx | 5 | 100 | 0.896 | 86.5 | 0.167 | -0.74 | 6.32147 | 1761 | -0.55 | 0 | 3 |
Supported pollutants¶
CopertHotStrategy supports these pollutants:
PollutantType.NOx
PollutantType.CO
PollutantType.NH3
PollutantType.VOC
PollutantType.PM_Exhaust
Set the pollutants for a run in your config file. For example:
pollutants: [PollutantType.CO, PollutantType.NOx]
Make sure to include emission factors for the pollutants you are using in the emission factor data.
What to put in the config.yaml¶
If you want to use the CopertHotStrategy
for your calculations, you need to set
the following options in your config.yaml
.
Don’t forget to add the parameters specified here: Configuring YETI
If using mode berlin_format
:¶
strategy: code.copert_hot_strategy.CopertHotStrategy.CopertHotStrategy
load_berlin_format_data_function: code.copert_hot_strategy.load_berlin_format_data.load_copert_hot_berlin_format_data
load_yeti_format_data_function: code.copert_hot_strategy.load_yeti_format_data.load_copert_hot_yeti_format_data
validation_function: code.script_helpers.validate_files.validate_copert_berlin_format_files
berlin_format_link_data: path/to/link_data.csv
berlin_format_fleet_composition: path/to/fleet_composition_data.csv
berlin_format_emission_factors: path/to/emission_factor_data.csv
berlin_format_los_speeds: path/to/los_speeds_data.csv
berlin_format_traffic_data: path/to/traffic_data.csv
berlin_format_vehicle_mapping: path/to/vehicle_mapping_data.csv
use_nh3_tier2_ef: yes or no
# if you set use_nh3_tier2_ef to yes, also add these lines:
berlin_format_nh3_emission_factors: path/to/nh3_emission_factor_data.csv
berlin_format_nh3_mapping: path/to/nh3_mapping_data.csv
You may have data on Tier 2 emission factors for NH3. If you set use_nh3_tier2_ef: yes
in the config file,
YETI will read them from the specified files and use them in the emission calculation for pollutant PollutantType.NH3
.
If using mode yeti_format
:¶
strategy: code.copert_hot_strategy.CopertHotStrategy.CopertHotStrategy
load_yeti_format_data_function: code.copert_hot_strategy.load_yeti_format_data.load_copert_hot_yeti_format_data
validation_function: code.script_helpers.validate_files.validate_copert_yeti_format_files
yeti_format_emission_factors: path/to/yeti_format_ef_data.csv
yeti_format_los_speeds: path/to/yeti_format_los_speed_data.csv
yeti_format_vehicle_data: path/to/yeti_format_vehicle_data.csv
yeti_format_link_data: path/to/yeti_format_link_data.csv
yeti_format_traffic_data: path/to/yeti_format_traffic_data.csv