Recent Releases of Emissions Modeling Framework
Emissions Modeling Framework - Version 4.4 - 05/08/2025
EMF
- Enable login via single sign-on (SSO)
Emissions - Emission Observation and Modeling
- Java
Published by cseppan 27 days ago

Emissions Modeling Framework - Version 4.3 [patch] - 02/2025
CoST
Control Measure Database updates
CMDB_2025-02-27.zip
Emissions - Emission Observation and Modeling
- Java
Published by cseppan 3 months ago

Emissions Modeling Framework - Version 4.3 [patch] - 11/13/2024
EMF
- Remove the Spring framework from the EMF server
Emissions - Emission Observation and Modeling
- Java
Published by cseppan 7 months ago

Emissions Modeling Framework - Version 4.3 - 04/04/2024
EMF
- Fix errors when running QA steps due to generated datasets having stored table names longer than 63 characters
- Fix errors when downloading exported datasets containing non-ASCII characters
CoST
- Add 2019 through 2022 to the Cost Year menu in the Control Measure Manager
- Correct the implementation of Equation Type 13 so that O&M costs are calculated using total emissions instead of the emissions reduction
Upgrading from v4.2.1
Download the necessary update files
Control measure database updates
New server WAR file
New client JAR files
emf-client.jar
epa-commons-0.7.jar
Database updates
Before starting, shut down the Tomcat server.
Update stored procedures:
\i cost_equations_v2.sql
EMF server updates
Copy the new emf.war into the Tomcat webapps directory.
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v4.3 - 04/04/2024' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Copy the new epa-commons.jar file into the EMF/lib client directory.
Finishing up
Once all updates are complete, start the Tomcat server.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan about 1 year ago

Emissions Modeling Framework - Version 4.2.1 - 12/20/2023
EMF
- Restrict the sector selection lists shown in the case setup interface to only the sectors listed on the case summary
- Grow the Name Contains search field when the Data Manager window is made bigger
Upgrading from v4.2
Download the necessary update files
New client JAR files
EMF server updates
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v4.2.1 - 12/20/2023' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan over 1 year ago

Emissions Modeling Framework - Version 4.2 [patch 2] - 06/14/2023
EMF
- Update library dependencies for EMF server
Emissions - Emission Observation and Modeling
- Java
Published by cseppan almost 2 years ago

Emissions Modeling Framework - Version 4.2 [patch] - 05/01/2023
EMF
- Fix errors when purging and importing control measure database files
Emissions - Emission Observation and Modeling
- Java
Published by cseppan about 2 years ago

Emissions Modeling Framework - Version 4.2 - 03/06/2023
EMF
- Include input and parameter names as comments when building case run scripts
- Add option to copy inputs and parameters when copying a job within a case
- Hide "Compare Dataset Fields" from list of QA programs when creating a new QA step
- Add new QA program "Compare Multiple Datasets"
- Use Apache Ivy for dependency management, update to newer library versions
Upgrading from v4.1
Download the necessary update files
New server WAR file
New client JAR files
emf-client.jar
emf_v4.2_libs.zip
Control measure database updates
Database updates
Before starting, shut down the Tomcat server.
Add new QA program:
INSERT INTO emf.qa_programs (name, run_classname)
VALUES ('Compare Multiple Datasets',
'gov.epa.emissions.framework.services.qa.comparedatasets.SQLCompareMultipleDatasetsProgramQueryRunner');
EMF server updates
Copy the new emf.war into the Tomcat webapps directory.
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v4.2 - 03/06/2023' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Replace the contents of the EMF/lib client directory with the jar files in the emf_v4.2_libs.zip archive.
Finishing up
Once all updates are complete, start the Tomcat server.
Reload CMDB
If you have custom control measures in your CMDB, first export these measures, so you can reload them after the main update.
Load the updated control measure database from the CMDB_2022-05-25.-.DEV.zip set of files. Purge all existing measures during the import step.
After loading the default CMDB, re-import any custom control measures.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan about 2 years ago

Emissions Modeling Framework - Version 4.1 - 06/27/2022
EMF
- Strengthen password requirements including increasing the minimum length to 12 characters and requiring the password to include numbers or symbols
- Automatically disable accounts after 5 failed login attempts
- Add options for administrators to disable accounts, see failed login attempts, and see when passwords were last updated
Upgrading from v4.0
Download the necessary update files
New server WAR file
New client JAR files
emf-client.jar
epa-commons.jar
Database updates
Before starting, shut down the Tomcat server.
Add fields to the users table:
ALTER TABLE emf.users ADD COLUMN last_reset_date TIMESTAMP;
ALTER TABLE emf.users ADD COLUMN failed_login_attempts INT DEFAULT 0;
EMF server updates
Copy the new emf.war into the Tomcat webapps directory.
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v4.1 - 06/27/2022' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Copy the new epa-commons.jar file into the EMF/lib client directory.
Finishing up
Once all updates are complete, start the Tomcat server.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan almost 3 years ago

Emissions Modeling Framework - Version 4.0 - 02/28/2022
EMF
- Completed updates to core EMF for better accessibility
- Added matching by region code and facility ID to temporal allocation functionality
CoST
- Updated control strategy dataset types to handle longer data fields
- Added equation type 21 for use by non-EGU SO2 control measures
Upgrading from v3.10.1
Download the necessary update files
Control measure database updates
Cost_Schema_Upgrade.v4_0.sql
cost_equations_v2.sql
populate_least_cost_strategy_worksheet.sql
run_max_emis_red_strategy.sql
run_multi_pollutant_max_emis_red_strategy.sql
Temporal allocation updates
create_daily_temporal_allocation_xref.sql
create_monthly_temporal_allocation_xref.sql
New server WAR file
New client JAR files
emf-client.jar
analysis-engine.jar
epa-commons.jar
log4j-1.2.17-rhel.jar
Database updates
Before starting, shut down the Tomcat server.
Update dataset type and add new cost equation:
\i Cost_Schema_Upgrade.v4_0.sql
Update stored procedures:
\i cost_equations_v2.sql
\i populate_least_cost_strategy_worksheet.sql
\i run_max_emis_red_strategy.sql
\i run_multi_pollutant_max_emis_red_strategy.sql
\i create_daily_temporal_allocation_xref.sql
\i create_monthly_temporal_allocation_xref.sql
EMF server updates
Copy the new emf.war into the Tomcat webapps directory.
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v4.0 - 02/28/2022' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Copy the new analysis-engine.jar, epa-commons.jar, and log4j-1.2.17-rhel.jar files into the EMF/lib client directory.
Finishing up
Once all updates are complete, start the Tomcat server.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan over 3 years ago

Emissions Modeling Framework - Version 3.10.1 - 11/04/2021
EMF
- Fix bug that prevents editing a case job
Upgrading from v3.10
Download the necessary update files
New client JAR file
EMF server updates
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v3.10.1 - 11/04/2021' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan over 3 years ago

Emissions Modeling Framework - Version 3.10 - 10/29/2021
EMF
- Enhancements to keyboard navigation and screen reader compatibility
- Improve user interface focus after refreshes are performed
- Add feedback when an action can't be performed due to no item being selected
- Fixes to incorrect tooltips and added button shortcuts
- Added ability to type in more letters to the Show Datasets of Type menu in the Dataset Manager
Upgrading from v3.9.1
Download the necessary update files
New client JAR files
emf-client.jar
epa-commons.jar
Control measure database updates
EMF server updates
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v3.10 - 10/29/2021' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Copy the new epa-commons.jar file into the EMF/lib client directory.
Reload CMDB
If you have custom control measures in your CMDB, first export these measures, so you can reload them after the main update.
Load the updated control measure database from the CMDB_2021-09-02.zip set of files. Purge all existing measures during the import step.
After loading the default CMDB, re-import any custom control measures.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan over 3 years ago

Emissions Modeling Framework - Version 3.9.1 - 06/07/2021
EMF
- Temporarily remove accessibility updates to the data viewer and editor tables that cause issues with the column headers scrolling in Java 8
Upgrading from v3.9
Download the necessary update files
New client JAR files
EMF server updates
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v3.9.1 - 06/07/2021' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan almost 4 years ago

Emissions Modeling Framework - Version 3.9 - 05/30/2021
CoST
- Update design capacity checks in cost equations to check that values are greater than 0.1 MW/hr rather than just greater than 0
- Ensure all design capacity checks in cost equations use consistent units
- Add design capacity check to equation type 2a to be consistent with other equation type 2 variants
- Fix errors running control strategies by truncating SCC descriptions when creating result datasets
EMF
- Fix issues with window focus when closing windows
- Enhancements to keyboard navigation and screen reader compatibility
- Change default sizes of windows to better fit contents
- Enable the User's Guide option in the Help menu
- Add shortcut Ctrl+Shift-S to open the Status window
- Automatically open the Dataset Manager window when starting the EMF Client
- Check for spaces in filenames when trying to upload or import files
Upgrading from v3.8
Download the necessary update files
Control measure database updates
cost_equations_v2.sql
populate_least_cost_strategy_worksheet.sql
run_max_emis_red_strategy.sql
run_multi_pollutant_max_emis_red_strategy.sql
New server WAR file
New client JAR files
emf-client.jar
analysis-engine.jar
epa-commons.jar
Database updates
Before starting, shut down the Tomcat server.
Update stored procedures:
\i cost_equations_v2.sql
\i populate_least_cost_strategy_worksheet.sql
\i run_max_emis_red_strategy.sql
\i run_multi_pollutant_max_emis_red_strategy.sql
EMF server updates
Copy the new emf.war into the Tomcat webapps directory.
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v3.9 - 05/30/2021' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Copy the new analysis-engine.jar and epa-commons.jar files into the EMF/lib client directory.
Finishing up
Once all updates are complete, start the Tomcat server.
Reload CMDB
If you have custom control measures in your CMDB, first export these measures, so you can reload them after the main update.
Load the updated control measure database from the CMDB_2021-03-11.zip set of files. Purge all existing measures during the import step.
After loading the default CMDB, re-import any custom control measures.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan about 4 years ago

Emissions Modeling Framework - Version 3.8 - 03/08/2021
CoST
- Log inventory sources with >= 100% control and non-zero emissions in the Strategy Messages dataset
- Update calculation of projected inventory percent reduction for add-on controls
- Update check for existing control at >= 100% when considering replacements in PFYI strategy
- Add equation type 2c based on existing type 2 with design capacity in HP
EMF
- Enhancements to keyboard-only navigation
- Label error messages that were previously only indicated by color
Upgrading from v3.7
Download the necessary update files
Control measure database updates
Cost_Schema_Upgrade_v3_8.sql
CMDB_2021-02-25.zip
cost_equations_v2.sql
create_projected_future_year_inventory.sql
populate_project_future_year_inventory_strategy_messages.sql
populate_strategy_messages.sql
run_project_future_year_inventory.sql
New server WAR file
New client JAR files
emf-client.jar
analysis-engine.jar
epa-commons.jar
Database updates
Before starting, shut down the Tomcat server.
Add Equation Type 2c and its parameters:
\i Cost_Schema_Upgrade_v3_8.sql
Update stored procedures:
\i cost_equations_v2.sql
\i create_projected_future_year_inventory.sql
\i populate_project_future_year_inventory_strategy_messages.sql
\i populate_strategy_messages.sql
\i run_project_future_year_inventory.sql
EMF server updates
Copy the new emf.war into the Tomcat webapps directory.
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v3.8 - 03/08/2021' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Copy the new analysis-engine.jar and epa-commons.jar files into the EMF/lib client directory.
Finishing up
Once all updates are complete, start the Tomcat server.
Reload CMDB
If you have custom control measures in your CMDB, first export these measures, so you can reload them after the main update.
Load the updated control measure database from the CMDB_2021-02-25.zip set of files. Purge all existing measures during the import step.
After loading the default CMDB, re-import any custom control measures.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan about 4 years ago

Emissions Modeling Framework - Version 3.7 - 08/17/2020
CoST
- Add search options when selecting control programs for Project Future Year Inventory control strategies, and in the Control Program Manager
- Add .csv suffix when exporting various control strategy result datasets
- Fix issue saving edited control measure equation changes
- Fix end condition for least cost narrowing algorithm
- Add option to include dataset_id column when exporting flexible format datasets from control strategies
- Update naming for combined strategy detailed results file to use control strategy name
EMF
- Update case job cancelling for jobs that are started locally (not via SSH)
Upgrading from v3.6
Download the necessary update files
Control measure database updates
Cost_Schema_Upgrade_v3_7.sql
narrow_in_on_least_cost_target.sql
New server WAR file
New client JAR files
emf-client.jar
epa-commons.jar
Database updates
Before starting, shut down the Tomcat server.
Add EXPORT_SUFFIX keyword for control strategy result types:
\i Cost_Schema_Upgrade_v3_7.sql
Update stored procedures:
\i narrow_in_on_least_cost_target.sql
EMF server updates
Copy the new emf.war into the Tomcat webapps directory.
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v3.7 - 08/17/2020' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Copy the new epa-commons.jar file into the EMF/lib client directory.
Finishing up
Once all updates are complete, start the Tomcat server.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan almost 5 years ago

Emissions Modeling Framework - Version 3.6 - 05/15/2020
CoST
- Fix a memory issue when creating controlled inventories from Least Cost control strategies
- Clarify the description of replacement control measure handling on the Control Strategy Constraints tab
- Update control strategies to not apply controls to inventory sources with existing control efficiencies over 100%
- Update cost equation type 2b to only apply to sources whose design capacity is less than 1500 HP
- Fix description for cost equation type 1
- Add option to export multiple Strategy Detailed Results in a single file
- Add quick search to the Control Strategy Manager window
EMF
- Add quick search to the Dataset Type Manager window
Upgrading from v3.5
Download the necessary update files
Control measure database updates
cost_equations_v2.sql
populate_least_cost_strategy_worksheet.sql
run_max_emis_red_strategy.sql
run_multi_pollutant_max_emis_red_strategy.sql
New server WAR file
New client JAR files
emf-client.jar
epa-commons.jar
Database updates
Before starting, shut down the Tomcat server.
Update stored procedures:
\i cost_equations_v2.sql
\i populate_least_cost_strategy_worksheet.sql
\i run_max_emis_red_strategy.sql
\i run_multi_pollutant_max_emis_red_strategy.sql
Update equation description:
UPDATE emf.equation_types SET equation =
'Scaling Factor = (Model Plant boiler capacity / MW) ^ (Scaling Factor Exponent)
Capital Cost = Capital Cost Multiplier x Design Capacity x Scaling Factor x 1,000
Fixed O&M = Fixed O&M Cost Multiplier x Design Capacity x Scaling Factor x 1,000
Variable O&M = Variable O&M Cost Multiplier x Design Capacity x Capacity Factor x 8,760'
WHERE name = 'Type 1';
EMF server updates
Copy the new emf.war into the Tomcat webapps directory.
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v3.6 - 05/15/2020' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Copy the new epa-commons.jar file into the EMF/lib client directory.
Finishing up
Once all updates are complete, start the Tomcat server.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan about 5 years ago

Emissions Modeling Framework - Version 3.5 - 10/23/2019
CoST
- Update reference year cost-per-ton storage to use double precision
- Update implicit price deflators, used for cost year conversions, using values from August 2019
- Simplify cost equation type 8 (used for non-EGU PM2.5 controls) and add a new equation type 20 (used for ICI boilers)
- Revisions to the control measure database
- Add additional columns to the Control Strategy Detailed Result Extended dataset type, to contain inventory data used in cost equation calculations
- Fix errors running control strategies on inventories with no sector set
Upgrading from v3.4
Download the necessary update files
Control measure database updates
Cost_Schema_Upgrade_v3_5.sql
CMDB_2019-10-09.zip
apply_cap_measures_on_hap_pollutants.sql
cost_equations_v2.sql
populate_least_cost_strategy_detailed_result.sql
populate_least_cost_strategy_worksheet.sql
run_max_emis_red_strategy.sql
run_multi_pollutant_max_emis_red_strategy.sql
update_gdplev_values.sql
New server WAR file
New client JAR file
Database updates
Before starting, shut down the Tomcat server.
Update database schema, add equation types, add columns to strategy detail result dataset type:
Update reference year cost-per-ton data type:
\i Cost_Schema_Upgrade_v3_5.sql
Load updated implicit price deflators:
\i update_gdplev_values.sql
Update stored procedures:
\i apply_cap_measures_on_hap_pollutants.sql
\i cost_equations_v2.sql
\i populate_least_cost_strategy_detailed_result.sql
\i populate_least_cost_strategy_worksheet.sql
\i run_max_emis_red_strategy.sql
\i run_multi_pollutant_max_emis_red_strategy.sql
EMF server updates
Copy the new emf.war into the Tomcat webapps directory.
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v3.5 - 10/23/2019' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Finishing up
Once all updates are complete, start the Tomcat server.
Reload CMDB
If you have custom control measures in your CMDB, first export these measures, so you can reload them after the main update.
Load the updated control measure database from the CMDB_2019-10-09.zip set of files. Purge all existing measures during the import step.
After loading the default CMDB, re-import any custom control measures.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan over 5 years ago

Emissions Modeling Framework - Version 3.4 - 10/10/2019
EMF
- New option to export a specific version of a module type
- Updates to support dataset matching when importing modules via the case manager
- Support for exporting and importing composite modules
- New search option in module manager
- Allow modules with optional, unset input datasets to be finalized
Upgrading from v3.3
Download the necessary update files
New server WAR file
New client JAR files
emf-client.jar
epa-commons.jar
Database updates
Before starting, shut down the Tomcat server.
Update case table:
ALTER TABLE cases.output_queue ADD COLUMN target_version integer;
EMF server updates
Copy the new emf.war into the Tomcat webapps directory.
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v3.4 - 10/10/2019' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Copy the new epa-commons.jar file into the EMF/lib client directory.
Finishing up
Once all updates are complete, start the Tomcat server.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan over 5 years ago

Emissions Modeling Framework - Version 3.3 - 03/25/2019
EMF
- Now requires Java 8 or higher
- Updated to work with Java 9 and higher, which supports HiDPI displays on Windows
- New version of the EMF Client Installer available to work with Java 9 and higher
CoST
- Removed out-of-date control strategy types (Annotate Inventory and Apply Measures In Series)
- Removed fixed 3% interest rate calculations from control strategies
- Relabeled columns in control strategy summaries and worksheets to match FF10 inventory terminology
- Allow control strategies to be run even if the input inventories don't have sectors set
Module system
- Reduced the maximum length allowed for module dataset and parameter names to avoid truncation when running the module
- Allow required module datasets to be unset
- Added option for admin users to delete module history records
- Reworked how the module history is fetched to speed up viewing and editing modules
- Added option to use module parameters in dataset placeholder names
- Updates to work with Postgres 10
Upgrading from v3.2
Download the necessary update files
Control strategy updates
populate_least_cost_strategy_detailed_result.sql
populate_least_cost_strategy_worksheet.sql
populate_project_future_year_inventory_strategy_messages.sql
populate_strategy_messages.sql
run_max_emis_red_strategy.sql
run_multi_pollutant_max_emis_red_strategy.sql
validate_project_future_year_inventory_control_programs.sql
New server WAR file
New client JAR files
emf-client.jar
epa-commons.jar
Database updates
Before starting, shut down the Tomcat server.
Fix control technology name:
UPDATE emf.control_technologies
SET name = 'Excess O2 Control'
WHERE name = 'Excess O3 Control';
Mark control measures as obsolete:
UPDATE emf.control_measures
SET cm_class_id = (SELECT id FROM emf.control_measure_classes WHERE name = 'Obsolete')
WHERE abbreviation LIKE 'SICIRIB%';
Remove 3pct columns from Strategy Detail Results dataset type:
DELETE FROM emf.fileformat_columns
WHERE file_format_id = (SELECT id FROM emf.file_formats WHERE name = 'Control Strategy Detailed Result Extended')
AND name IN ('annual_cost_3pct', 'eff_ann_cost_per_ton_3pct', 'annualized_capital_cost_3pct');
Use CSV exporter for Strategy Messages dataset type:
UPDATE emf.dataset_types
SET exporter_classname = 'gov.epa.emissions.commons.io.csv.CSVExporter'
WHERE name = 'Strategy Messages (CSV)';
Update stored procedures:
\i populate_least_cost_strategy_detailed_result.sql
\i populate_least_cost_strategy_worksheet.sql
\i populate_project_future_year_inventory_strategy_messages.sql
\i populate_strategy_messages.sql
\i run_max_emis_red_strategy.sql
\i run_multi_pollutant_max_emis_red_strategy.sql
\i validate_project_future_year_inventory_control_programs.sql
EMF server updates
Copy the new emf.war into the Tomcat webapps directory.
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v3.3 - 03/25/2019' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Copy the new epa-commons.jar file into the EMF/lib client directory.
Finishing up
Once all updates are complete, start the Tomcat server.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan about 6 years ago

Emissions Modeling Framework - Version 3.2 - 08/16/2018
EMF
- Added ability for admin users to edit dataset type column defintions for Flexible File Format-based dataset types
- Improved error messages displayed when importing datasets
- Added new option to export and import non-composite modules
- When exporting modules, added option to export all the input datasets associated with the selected modules
- Removed dataset types that can't be imported from the Import Window dataset type pull-down menu
- Added a message explaining why a new dataset version can't be created if there are no existing final versions of the dataset
CoST
- Created a new Control Strategy Detailed Result dataset type that uses column names consistent with the Flat File 2010 inventory formats
- Added the term "effective" to emission reduction and annual cost per ton column names in the new strategy detailed result dataset type
- Updated all control strategy types to output the new detailed result dataset type
- Created QA step templates for the new detailed result dataset type based on the old dataset type
- Added check to prevent users from trying to create controlled/projected inventories with old strategy detailed results datasets
Upgrading from v3.1
Download the necessary update files
Dataset type updates
control_strategy_detailed_result_extended.csv
Cost_Schema_Upgrade_v3_2.sql
Control strategy updates
apply_cap_measures_on_hap_pollutants.sql
create_strategy_detailed_result_table_indexes.sql
populate_least_cost_strategy_detailed_result.sql
populate_strategy_messages.sql
run_apply_measures_in_series_strategy.sql
run_max_emis_red_strategy.sql
run_multi_pollutant_max_emis_red_strategy.sql
run_project_future_year_inventory.sql
New server WAR file
New client JAR files
emf-client.jar
epa-commons.jar
Create the new Control Strategy Detailed Result Extended dataset type
Using the Dataset Type manager, create a new dataset type named "Control Strategy Detailed Result Extended". Set the type to be derived from the Flexible File Format. For the file format Definition File, use the control_strategy_detailed_result_extended.csv file you downloaded.
Database updates
Before starting, shut down the Tomcat server.
Add keywords and QA step templates for the dataset type:
\i Cost_Schema_Upgrade_v3_2.sql
Update stored procedures:
\i apply_cap_measures_on_hap_pollutants.sql
\i create_strategy_detailed_result_table_indexes.sql
\i populate_least_cost_strategy_detailed_result.sql
\i populate_strategy_messages.sql
\i run_apply_measures_in_series_strategy.sql
\i run_max_emis_red_strategy.sql
\i run_multi_pollutant_max_emis_red_strategy.sql
\i run_project_future_year_inventory.sql
EMF server updates
Copy the new emf.war into the Tomcat webapps directory.
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v3.2 - 08/16/2018' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Copy the new epa-commons.jar file into the EMF/lib client directory.
Finishing up
Once all updates are complete, start the Tomcat server.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan almost 7 years ago

Emissions Modeling Framework - Version 3.1 - 05/17/2018
EMF
- Added a new dataset type named "Facility Closure Extended" for use with Project Future Year Inventory control strategies. This dataset type works like the existing "Plant Closure (CSV)" type but uses current inventory terminology.
- Added support for dataset type keywords when exporting and importing module types and associated dataset types
- Fixed an error when trying to upload a file whose name contains a percent sign
- Fixed the Module Manager window refresh so that module information is reloaded correctly
- Fixed errors when module types are imported, caused by blank dataset type creation and last modified dates
- Fixed errors when deleting modules
CoST
- Updated the implicit price deflator values used in cost year conversions for 2014 through 2017
- Added 2017 as an available cost year
- Relabeled the combustion efficiency column in the control measure SCC window for clarity
- Added formatting to numbers in the CMDB export files
- Added formatting to the cost equation parameters in the At-A-Glance report and the control measure view/edit window
- Updated cost equation descriptions
Upgrading from v3.0
Create the new facility closure dataset type
First, download the dataset type definition file: facility_closure_extended.csv
Using the Dataset Type manager, create a new dataset type named "Facility Closure Extended". Set the type to be derived from the Flexible File Format. For the file format Definition File, use the facility_closure_extended.csv file you downloaded.
Database updates
Before starting, shut down the Tomcat server.
Update implicit price deflator values:
Update stored procedures:
\i clean_project_future_year_inventory_control_programs.sql
\i populate_project_future_year_inventory_strategy_messages.sql
\i run_project_future_year_inventory.sql
\i validate_project_future_year_inventory_control_programs.sql
Update cost equation descriptions:
UPDATE emf.equation_types
SET equation = REPLACE(equation, ' x Combustion Efficiency', '')
WHERE equation LIKE '% x Combustion Efficiency%';
EMF server updates
Copy the new emf.war into the Tomcat webapps directory.
Update the EMF version in the database:
UPDATE emf.properties SET value = 'v3.1 - 05/17/2018' WHERE name = 'EMF-version';
Client updates
Copy the new emf-client.jar file into the EMF client directory.
Copy the new epa-commons.jar file into the EMF/lib client directory.
Finishing up
Once all updates are complete, start the Tomcat server.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan about 7 years ago

Emissions Modeling Framework - Version 3.0 - 02/14/2018
EMF
- Updated EMF server to require Apache Tomcat 8 or later
- Fixed labeling for columns FUG_WIDTH_XDIM and FUG_LENGTH_YDIM in the Flat File 2010 Point dataset type
- Fixed the Dataset Type Manager window to correctly disable non-admin buttons after a refresh
- Added support for new Module Tool (disabled by default)
CoST
- Removed unused source groups
- Purged obsolete point sector control measures from the CMDB
- Removed all existing incremental cost-per-ton values from the CMDB; removed unused control-measure-specific capital recovery factors and discount rates
- Relabeled control strategy "discount rate" to "interest rate"
- Removed unused fields from the Control Measure At-A-Glance report
- Updated control strategy cost columns to use double precision values
- Added formatting to control efficiency values shown in view/edit windows and At-A-Glance reports
- Added columns to the control strategy detailed results dataset to report raw emissions reduction (based on uncontrolled inventory emissions) and associated annual cost-per-ton
- Updated labels on control strategy constraints tab to reflect that values are for effective reductions and cost-per-ton, not raw
- 3/6/2018 Deleted old control measure property records from CMDB
- 3/6/2018 Updated cost equation descriptions
Upgrading from v2.15
Before starting, shut down the Tomcat server. If you are not running Tomcat 8 or later, you will need to upgrade your installation. After upgrading Tomcat, make sure that the directory pointed to by the DOWNLOAD_EXPORT_FOLDER property in the emf.properties table exists.
Database updates
In version 3.0, two columns in the Flat File 2010 Point dataset type were renamed for clarity. The following SQL query updates the dataset type definition:
update emf.fileformat_columns
set name = 'FUG_WIDTH_XDIM'
where file_format_id in (select file_format from emf.dataset_types where name = 'Flat File 2010 Point')
and name = 'FUG_WIDTH_YDIM';
update emf.fileformat_columns
set name = 'FUG_LENGTH_YDIM'
where file_format_id in (select file_format from emf.dataset_types where name = 'Flat File 2010 Point')
and name = 'FUG_LENGTH_XDIM';
To update existing Flat File 2010 Point datasets, run the query from the file linked below. Note, this is only needed if you are using existing FF10 point datasets with the module system.
\i update_ff10_point_fug_columns.sql
CMDB updates
ALTER TABLE emf.control_strategies ALTER COLUMN total_cost TYPE double precision;
ALTER TABLE emf.strategy_results ALTER COLUMN total_cost TYPE double precision;
Load updated stored procedures
\i apply_cap_measures_on_hap_pollutants.sql
\i cost_equations_v2.sql
\i get_remaining_emis_expression.sql
\i populate_least_cost_strategy_detailed_result.sql
\i populate_least_cost_strategy_worksheet.sql
\i run_max_emis_red_strategy.sql
\i run_multi_pollutant_max_emis_red_strategy_finalize.sql
\i run_multi_pollutant_max_emis_red_strategy.sql
Load updated cost equation descriptions
\i update_equation_text.sql
EMF server updates
Copy new emf.war into Tomcat webapps directory
Update version in database
UPDATE emf.properties SET value = 'v3.0 - 02/14/2018' WHERE name = 'EMF-version';
Client updates
Copy new emf-client.jar into EMF client directory
Copy remaining JAR files (epa-commons.jar, jgraphx.jar, rsyntaxtextarea-3.0.0-SNAPSHOT.jar) into EMF/lib client directory
Enable module system (optional)
Create database schema
\i Upstream_CreateSchema.setup
\i Upstream_CreateModuleTypesTables.setup
\i Upstream_CreateModulesTables.setup
\i Upstream_CreateModuleHistoryTables.setup
\i Upstream_CreateModuleTagsTable.setup
\i Upstream_CreateModuleParameterTypesTable.setup
\i Upstream_CreateCompositeModuleTypesTables.setup
\i Upstream_CreateCompositeModulesTables.setup
\i Upstream_CreateCompositeModuleHistoryTables.setup
\i Upstream_InsertModuleParameterTypes.setup
\i Upstream_InsertModuleKeywords.setup
Update UI setting
UPDATE emf.properties SET value = 'true' WHERE name = 'SHOW_MODULES_MENU';
Finishing up
Once all updates are complete, start the Tomcat server.
Reload CMDB
If you have custom control measures in your CMDB, first export these measures, so you can reload them after the main update.
Load the updated control measure database from the cmdb_20180308_*.csv set of files. Purge all existing measures during the import step.
After loading the default CMDB, re-import any custom control measures.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan over 7 years ago

Emissions Modeling Framework - Version 2.15 - 08/24/2017
CoST
- Fixed bug trying to finalize control strategies that use control measures to be purged
- Updated Control Measure Manager cost year menu to cover 2000 to 2016
- Fixed control measure reference search to be case-insensitive
- Fixed At-A-Glance report to handle various numbers of control efficiency records correctly
- Control Measure Database updates:
- Purged obsolete onroad and nonroad control measures, and old temporary measures
- Converted control measures using pollutants PM2_5 and PM10 to PM25-PRI and PM10-PRI
- Removed control efficiency records with old effective dates
- Removed special characters from control measure source group names and property values
- Updated control efficiencies and equipment life values for some NOx measures
- 8/28/2017 Updated control measures using equation types 1, 12, and 13
- 9/7/2017 For several PM measures, removed control efficiency records with effective dates of 1/1/2020 and updated control efficiency values
Upgrading from v2.14
Before starting, shut down the Tomcat server.
CMDB updates
Load updated stored procedures
\i populate_least_cost_strategy_worksheet.sql
\i populate_strategy_messages.sql
\i run_max_emis_red_strategy.sql
\i run_multi_pollutant_max_emis_red_strategy.sql
\i run_multi_pollutant_max_emis_red_strategy_finalize.sql
EMF server updates
Copy new emf.war into Tomcat webapps directory
Update version in database
UPDATE emf.properties SET value = 'v2.15 - 08/24/2017' WHERE name = 'EMF-version';
Client updates
Copy new emf-client.jar into EMF client directory
Finishing up
Once all updates are complete, start the Tomcat server.
Reload CMDB
If you have custom control measures in your CMDB, first export these measures, so you can reload them after the main update.
Load the updated control measure database from the cmdb_20170917_*.csv set of files. Purge all existing measures during the import step.
After loading the default CMDB, re-import any custom control measures.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan over 7 years ago

Emissions Modeling Framework - Version 2.14 - 06/27/1017
CoST
- Updated the lists of pollutants in the Control Measure Manager window to only show pollutants actually controlled by measures in the system, instead of all defined pollutants
- Added checks for null cost equation parameters for Equation Type 2 and its variants
- Fixed a bug in the calculations for Equation Type 13 caused by an order of operations error
- Removed special characters (curly quotes, long dashes, and symbols) from control measure names, descriptions, and references
EMF
- Added logging for commands run from the RemoteCommand execute method
- Stopped renaming of database tables when a dataset's name is changed
- Fixed a bug when creating a new flexible format dataset type with spaces in the column names; spaces are automatically converted to underscores in the database table definition
Upgrading from v2.13
Before starting, shut down the Tomcat server.
CMDB updates
Load updated cost equations
\i cost_equations_v2.sql
EMF server updates
Copy new emf.war file into Tomcat webapps directory
Update version in database
UPDATE emf.properties SET value = 'v2.14 - 06/27/2017' WHERE name = 'EMF-version';
Client updates
Copy new emf-client.jar into EMF client directory
Copy new epa-commons.jar into EMF/lib client directory
Finishing up
Once all updates are complete, start the Tomcat server.
Reload CMDB
Note that the CMDB changes are purely cosmetic, removing special characters from control measure names, descriptions, and references. Reloading the CMDB won't change any strategy results.
If you have custom control measures in your CMDB, first export these measures, so you can reload them after the main update.
Load the updated control measure database from the cmdb_20170627_*.csv set of files. Purge all existing measures during the import step.
After loading the default CMDB, re-import any custom control measures.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan almost 8 years ago

Emissions Modeling Framework - Version 2.13 - 03/20/2017
EMF
- Improved the display of file format information when viewing or editing a dataset type
- Enhanced the case comparison report to include dataset version differences
- Added the ability to upload local files to the server via the EMF client
- Automatic clean-up of uploaded files after 12 hours
CoST
- Changed the control strategy cost year to use a pull-down menu of available years instead of a text field
- Updated cost year conversion factors (implicit price deflators) for 2013 through 2016
- Updated NOx non-EGU control measures based on SRA recommendations
- Miscellaneous CMDB clean-up and fixes
Upgrading from v2.12
Before starting, shut down the Tomcat server.
File upload handling
Create the file upload directory inside the ImportExportTempDir. The following query will show the currently set directory:
SELECT value FROM emf.properties WHERE name = 'ImportExportTempDir';
For example, if the value is /data/tmp/:
mkdir /data/tmp/upload
Ensure this directory is writeable by the Tomcat user.
Create max upload file size property (value in MB):
INSERT INTO emf.properties (name, value) VALUES ('MAX_FILE_UPLOAD_SIZE', '100');
CMDB updates
Load updated gdplev values
\i update_gdplev_values.sql
EMF server updates
Copy new emf.war file into Tomcat webapps directory
Update version in database
UPDATE emf.properties SET value = 'v2.13 - 03/20/2017' WHERE name = 'EMF-version';
Client updates
Copy new emf-client.jar into EMF client directory
Copy new epa-commons.jar into EMF/lib client directory
Copy commons-fileupload-1.3.2.jar into EMF/lib client directory
Finishing up
Once all updates are complete, start the Tomcat server.
Reload CMDB
If you have custom control measures in your CMDB, first export these measures, so you can reload them after the main update.
Load the updated control measure database from the cmdb_20170320_*.csv set of files. Purge all existing measures during the import step.
After loading the default CMDB, re-import any custom control measures.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan about 8 years ago

Emissions Modeling Framework - Version 2.12 - 09/22/2016
Bug fixes
- Updated the uniqueness checks when importing control measure efficiency records to take into account the minimum and maximum capacity columns
- Updated the labels used for the maximum cost per ton and maximum annualized cost control strategy constraints to reflect that the constraints are specified in dollars matching the cost year of the control strategy, not a fixed reference year
Enhancements
- Consolidated database connections via the Tomcat-managed connection pool
- Expanded control measure cost equation Type 2 to support new NOx non-EGU control measures
- Updated NOx non-EGU control measures with new cost data, SCC assignments, and cost equations
- Changed the final cost-per-ton calculations in CoST to use the net emissions reduction instead of gross; this change impacts costs when replacement controls are applied
Upgrading from v2.11.1
Before starting, shut down the Tomcat server.
-
Apply schema upgrade statements from Cost_Schema_Upgrade.setup (all statements labeled as 08/04/2016). The package db_updates.v2.12.zip includes a version of Cost_Schema_Upgrade.setup with just the updates needed.
\i Cost_Schema_Upgrade.setup -
Load updated functions.
\i cost_equations_v2.sql -
Copy new emf.war file into Tomcat webapps directory
-
Copy new emf-client.jar into EMF client directory
-
Update version in database
UPDATE emf.properties SET value = 'v2.12 - 09/22/2016' WHERE name = 'EMF-version';
Once all updates are complete, start the Tomcat server.
To load the updated ptnonipm control measures, use the Import option from the Control Measures Manager window. Select the suite of nox_nonegu_20160713_*.csv files. Purge the existing ptnonipm control measures during the import.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan over 8 years ago

Emissions Modeling Framework - Version 2.11.1 - 06/15/2016
Bug fixes
- Fix checks for design capacity columns in inventories when applying new generating capacity thresholds; allows control strategies using nonpoint inventories to run
Upgrading from v2.11
Before starting, shut down the Tomcat server.
-
Load updated functions
\i populate_least_cost_strategy_worksheet.sql
\i run_annotate_inventory.sql
\i run_apply_measures_in_series_strategy.sql
\i run_max_emis_red_strategy.sql
\i run_multi_pollutant_max_emis_red_strategy.sql
\i run_project_future_year_inventory.sql -
Copy new emf-client.jar into EMF client directory
-
Update version in database
UPDATE emf.properties SET value = 'v2.11.1 - 06/15/2016' WHERE name = 'EMF-version';
Once all updates are complete, start the Tomcat server.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan almost 9 years ago

Emissions Modeling Framework - Version 2.11 - 06/06/2016
Bug fixes
- Fixed a bug when editing cases where changes after an initial save weren't saved to the database
- Fixed a bug that caused multi-pollutant control strategies to fail in some circumstances
- Fixed issues in the control measure import interface where the import button wasn't enabled after errors
Enhancements
- The control measure database has been updated based on IPM v5.15 for the ptipm sector. Updates include revised control efficiency and cost equation parameters, removal of obsolete control measures, addition of new measures, and fixes to cost equation calculations. These updates make use of several new features included in EMF v2.11:
- Include the control measure's equation type in the Control Measure Manager details display
- Allow control measures to be targeted to sources based on generating capacity
- Use SCC-specific combustion efficiency percentages when calculating generating capacity from design capacity
Upgrading from v2.10
Before starting, shut down the Tomcat server.
-
Add new control measure fields to database
ALTER TABLE emf.control_measure_efficiencyrecords ADD COLUMN min_capacity double precision;
ALTER TABLE emf.control_measure_efficiencyrecords ADD COLUMN max_capacity double precision;
ALTER TABLE emf.control_measure_sccs ADD COLUMN combustion_efficiency real; -
Load updated functions
\i convert_design_capacity_to_mw.sql
\i cost_equations_old_approach.sql
\i cost_equations_v2.sql
\i get_convert_design_capacity_expression.sql
\i populate_least_cost_strategy_worksheet.sql
\i run_annotate_inventory.sql
\i run_apply_measures_in_series_strategy.sql
\i run_max_emis_red_strategy.sql
\i run_multi_pollutant_max_emis_red_strategy.sql
\i run_project_future_year_inventory.sql -
Copy new emf.war file into Tomcat webapps directory
-
Copy new epa-commons.jar into EMF client lib directory
-
Copy new emf-client.jar into EMF client directory
-
Update version in database
UPDATE emf.properties SET value = 'v2.11 - 06/06/2016' WHERE name = 'EMF-version';
Once all updates are complete, start the Tomcat server.
To load the updated ptipm control measures, use the Import option from the Control Measures Manager window. Select the suite of ptipm_20160329_*.csv files. Purge the existing ptipm control measures during the import.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan almost 9 years ago

Emissions Modeling Framework - Version 2.10 - 01/28/2016
Bug fixes
- Cost-per-ton values displayed in the Control Measure Manager window when Show Details is checked are now correctly adjusted for the selected Cost Year.
- Fixed an intermittent problem when running a Least Cost Curve control strategy that caused calculations at different increments to apply maximum controls instead of the specified percent reduction.
- Allow cancelled control strategies to be re-run.
Enhancements
- Conversions of dollar amounts between different years are now done using annual GDP implicit price deflator values. Previously, the EMF used chained GDP values for converting between cost years.
- Added support for cost years 2007 through 2014.
- Updated the default cost year to 2013; previously the default year was 2006.
Upgrading from v2.9.1
The zip archive db_updates.v2.10.zip contains the SQL files referred to in the list of updates below.
-
Update reference.gdplev schema
ALTER TABLE reference.gdplev ADD COLUMN deflator_gdp double precision; -
Load updated gdplev values
\i update_gdplev_values.sql -
Update stored reference year cost per ton values
\i update_eff_rec_ref_yr_cpt_to_new_gdplev.sql -
Update aggregated efficiency records
\i update_agg_eff_records.sql -
Load updated functions
\i cost_equations_v2.sql
\i cost_equations_old_approach.sql
\i populate_least_cost_strategy_worksheet.sql
\i run_annotate_inventory.sql
\i run_apply_measures_in_series_strategy.sql
\i run_max_emis_red_strategy.sql
\i run_multi_pollutant_max_emis_red_strategy.sql
\i run_multi_pollutant_max_emis_red_strategy_finalize.sql
\i run_project_future_year_inventory.sql
\i get_least_cost_worksheet_emis_reduction.sql
\i narrow_in_on_least_cost_target.sql -
Copy new emf.war file into Tomcat webapps directory
-
Copy new emf-client.jar into EMF client directory
-
Update version in database
UPDATE emf.properties SET value = 'v2.10 - 01/28/2016' WHERE name = 'EMF-version';
Emissions - Emission Observation and Modeling
- Java
Published by cseppan over 9 years ago

Emissions Modeling Framework - Version 2.9.1 - 09/09/2015
EMF
- Prevent datasets that are being used as a temporal profile or cross-reference input in a temporal allocation run from being deleted.
- Allow the project associated with a dataset, control strategy, or temporal allocation to be set back to none.
CoST
- Fixed a bug when matching inventory sources that could cause newer sources to be excluded from least cost analyses.
- Create the server export folder if needed when exporting control measures for automatic download.
- When deleting control strategies and associated datasets (control strategy results, generated inventories), fully delete the selected datasets. Previously, the datasets would be marked as deleted but not purged.
- Fixed the calculation of per-source percent reductions when creating projected inventories. This bug affected sources that had additive controls applied in the Project Future Year Inventory strategy.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan over 9 years ago

Emissions Modeling Framework - Version 2.9 - 07/20/2015
EMF
- This release adds a new feature that will allow a user to Archive or Restore a dataset or QA Step result. The archive process will still keep around the meta data on the dataset or QA Step, but the underlying data will be archived and removed from the database. The Restore process will allow the user to bring back the underlying data for the dataset or QA Step.
CoST
- The Control Measure Manager search box will now match control measures by name or abbreviation.
- When editing control programs, the list of available dataset types is now limited to those types used by control programs: Allowable Packet, Allowable Packet Extended, Control Packet, Control Packet Extended, Plant Closure (CSV), Projection Packet, and Projection Packet Extended.
Emissions - Emission Observation and Modeling
- Java
Published by cseppan over 9 years ago
