SOW_ EMM to AIMMS migration_final_revised.pdf
PDF 399 KB Posted
- Solicitation number
- 89303020REI000050
- Issued by
-
Department of Energy Headquarters
View the file
Other files
| File | Type | Posted |
|---|---|---|
| EMM AIMMS conversion SOW Appendix 1.pdf | ||
| Sol_89303020REI000050.pdf |
On GovTribe
Work with this file
- Download the original file
- Contacts named in this file
- Similar government files
- Ask GovTribe AI about this file
Text version
STATEMENT OF WORK
Phase III- Technical support to assist migrating the EIA National Energy Modeling System (NEMS)
Electricity Market Module (EMM) to AIMMS
1.0 BACKGROUND
The U.S. Energy Information Administration (EIA) is the statistical and analytical agency within the U.S.
Department of Energy (DOE). EIA collects, analyzes, and disseminates independent and impartial energy information to promote sound policymaking, efficient markets, and public understanding of energy and its interaction with the economy and the environment. EIA is the nation's premier source of energy information and, by law, its data, analyses, and forecasts are independent of approval by any other officer or employee of the U.S. Government. To accomplish its mission, EIA conducts a comprehensive data collection program covering the full spectrum of energy sources, end uses, and energy flows. EIA also prepares informative energy analyses, monthly short-term forecasts of energy market trends, and long-term U.S. and international energy outlooks. EIA disseminates its data, analyses, and other products primarily through its website, eia.gov.
EIA’s National Energy Modeling System (NEMS) was developed to provide 20- to 25-year projections and analyses of energy-related activities. The NEMS uses a central database to store and pass inputs and outputs between the various components. The NEMS Electricity Market Module (EMM) provides a major link in the NEMS framework. In each model year, the EMM receives electricity demand from the NEMS demand modules, fuel prices from the NEMS fuel supply modules, expectations from the NEMS system module, and macroeconomic parameters from the NEMS macroeconomic module. The EMM estimates the actions taken by electricity producers (electric utilities and non-utilities) to meet demand in the most economical manner. The EMM then outputs electricity prices to the demand modules, fuel consumption to the fuel supply modules, emissions to the integrating module, and capital requirements to the macroeconomic module. The model iterates until a solution is reached for each simulation year.
The EMM consists of four submodules, two of which (Electricity Capacity Planning-ECP and Electricity Fuel Dispatch-EFD) are linear programs (LPs) written in Fortran. The LP structures are generated in Fortran using Optimization Modeling Library (OML), a proprietary, legacy program which poses some risks for continued long term support. EIA seeks to develop a version of the EMM which can run using AIMMS, a modern, integrated software platform for optimization modeling. Such platforms are intended for staff use without traditional programming expertise and offer potential means to raise productivity in model development and maintenance.
Over the last three fiscal years, EIA has undertaken a multi-part effort dedicated to demonstrate the viability of converting the EMM to run in AIMMS. Phase I of the conversion effort targeted the transfer of LP model structures to AIMMS, with the data and coefficient processing remaining in Fortran. Steps of Phase I included changes to the EMM code for the AIMMS interface, as well as creation of an AIMMS project to solve the LP which could be invoked from EMM. The result of the phase I conversion is a version of EMM that can generate the EFD and ECP LPs in AIMMS, invoke AIMMS to solve the LPs, and return the solutions to EMM.
In Phase II of the conversion process, EIA undertook an in-house effort to demonstrate the feasibility of using an EIA developed AIMMS conversion process to duplicate the EMM LP coefficients, bounds, and RHS calculations in AIMMS. Focusing initially on the less complex EFD submodule, EIA identified subroutines to be converted and a list of data elements needed for AIMMS LP solution and automated an error-prone part of the conversion process to define and convert elements into AIMMS. After eighteen months, EIA staff succeeded in converting approximately 25% of the EFD subroutine code into AIMMS. In the last year, after gaining experience in EFD, staff have focused on the more complex ECP model, and converted about 10% of ECP subroutine code to AIMMS.
In Phase III, EIA would like to take the next step and evaluate the potential to expedite the conversion process through the use of contractor support. At the end of Phase III, EIA should be able to better assess the effort required to convert the EMM LP formulation logic in Fortran with OML to AIMMS. EIA will also gain an understanding of the technical resources available for AIMMS support services.
2.0 OBJECTIVE
EIA wishes to migrate the current EMM database and code to AIMMS which will facilitate ease of model development and improved sustainability. EIA would like to proceed with conversion in a phased process and run the proposed AIMMS version of the model alongside the existing version in parallel as the transition takes place. Software modernization is desirable to improve transparency, productivity, and programming flexibility.
3.0 SCOPE
The Contractor shall provide the personnel, materials, equipment, and services necessary to perform the work that achieves EIA’s requirements as described in this Statement of Objectives (SOO).
4.0 GENERAL WORK REQUIREMENT
The transition to representing the EFD and ECP submodules in AIMMS is already underway.
Conversion of Fortran EMM to AIMMS involves a five-step process:
• Phase I: (completed) duplicating LP coefficient matrix generation in AIMMS (completed in
FY2017)
• Phase II: (completed) demonstrate feasibility of using AIMMS conversion aid tools to organize/pass key data arrays and coefficients to a predefined AIMMS model. Using AIMMS conversion aid tools, replicate selected EMM LP coefficient calculation logic in both the ECP and EFD AIMMS models (completed in March 2018)
• Phase III: integrate Contractor support of LP coefficient calculation conversion into predefined AIMMS EFD and ECP models in accordance with the established Fortran to AIMMS conversion process to expedite the migration effort (targeted to begin January 2020)
• Phase IV: (optional) Convert/test/run remaining EMM subroutines from Fortran to AIMMS during the AEO production cycle
- IV.1 complete EFD conversion
- IV.2 complete ECP conversion
• Phase V: switch-over to AIMMS version of EMM
The completion of Phases I and II was a necessary precondition to securing technical support for the final steps of the project, beginning with Phase III. During Phase I, a hybrid implementation was tested with some aspects remaining in Fortran and the optimization elements implemented in AIMMS.
In Phase III under this SOO, EIA is seeking to integrate technical support into an ongoing effort for continued transition of the EFD and ECP submodules in AIMMS using an internally developed conversion process and tool written for the Fortran and AIMMS interface under review of EMM subject matter experts. In addition, the Contractor’s efforts must be designed to ensure continued compatibility of both the existing and the evolving new approach as other modeling updates to the EMM are implemented. As the transition to the new approach is expected to occur over a few Annual Energy Outlook (AEO) cycles, maintaining the two systems in parallel through each AEO cycle is required.
The work to be performed shall also include developing the necessary LP data processing in AIMMS, implementing necessary code changes to complete the LPs, deriving the coefficients in AIMMS rather than transferring them directly from the EMM Fortran code, maintaining the AIMMS functionality as routine coding updates are made to the Fortran/OML version, and documenting programming logic and variables and maintenance procedures in an explanatory report.
5.0 TASKS: Phase III- Technical support to assist migrating the EMM to AIMMS
Task 5.1: Initial training in the use of the EIA AIMMS conversion procedures: As the first step, the contractor(s) will undergo an initial training session in using the procedures for EMM- AIMMS conversion for a sample EMM subroutine of limited scope and difficulty.1 The goals of the initial session are:
1) To familiarize the Contractor with the EIA conversion process and
2) Provide an opportunity for the Contractor to comment on and propose suggested changes to the EIA conversion tool and the conversion process.
Task 5.1 deliverables: Contractor memorandum on suggested changes to the EIA conversion process.
Task 5.2 Review of in-depth conversion tool training session
For this sub-task, the Contractor will work with full internal support on a representative EMM subroutine of moderate difficulty, to gain exposure to the functionality of the conversion tool. Initially, the Contractor will participate in an EIA-run tutorial on the EMM subroutines to be converted. The goals of the tutorial are to:
1) Establish a working process for Contractor-EIA staff interaction in addressing questions about the operation of the EMM using the following resources:
a. EIA subject matter experts on EFD/ECP modules
b. EMM documentation
c. “library” of solution steps for application to similar coding issues
2) Enable the Contractor(s) to demonstrate how their knowledge of AIMMS enhances the effectiveness of the procedures in converting EMM LP code into an AIMMS model
Task 5.2 deliverables: AIMMS project files for representative subroutine; comparison/validation of AIMMS results with NEMS-EMM results
Task 5.3 Proof-of-concept- demonstrating feasibility of Contractor use of EIA conversion process
1 See Appendix 1 of this Statement of Objectives for sample AIMMS conversion pertaining to the EMM
The proof-of-concept testing will be evaluated for executable portions of at least three randomly selected EMM (i.e., one from EFD and two from ECP) subroutines. Over the course of conversion for these subroutines successful implementation will require that the equivalent AIMMS coefficient calculation code:
1) Be generated within established guidelines time limits and
2) Be validated using the built-in LP coefficient-comparison process.
Task 5.3 deliverables: AIMMS project files containing converted selected subroutines; work performance indicators for EIA; comparison/validation of AIMMS results with NEMS-EMM results
6.0 OPTION YEAR 1: Converting Fortran EFD (Electricity Fuel Dispatch) LP into AIMMS
At the discretion of EIA, the Contractor shall collaborate with the EIA team in a gradual conversion process, involving gradual migration, of the data processing layers, mainly LP coefficient calculation logic, from EMM Fortran to AIMMS. To facilitate the gradual migration of the data processing layers from EMM Fortran to AIMMS, the Contractor will begin with the remaining unconverted subroutines of the EFD module.
The first option year technical support requirements consists of three tasks:
6.1 Review of EFD structure and function and EIA conversion support resources
The Contractor shall familiarize themselves with Fortran EFD, AIMMS EFD and standardized steps defined by EIA for the EMM AIMMS coefficient and LP solution reader conversion process. The
Contractor will participate in an EIA-run tutorial on the remaining EMM subroutines.
Task 6.1 deliverables: Work plan for EFD conversion process based on lessons learned from Phase III and appropriate division of labor between EIA and Contractor resources within the planned maximum hourly commitments for EIA subject matter experts.
6.2 Conversion of remaining EFD subroutines from Fortran to AIMMS
The Contractor shall convert LP coefficient calculation and solution handling logic found in Fortran EFD subroutines using standardized steps provided by EIA for the EMM AIMMS conversion, (a list of EFD subroutines remaining to be converted will be provided at the time of option exercise.) The final data arrays and logic now used to calculate LP coefficients and row and column submatrices in Fortran will be replicated in AIMMS. AIMMS code to generate the coefficients in a predefined AIMMS model directly, as functions of the existing data arrays passed from the Fortran program, will be created.
At the same time, the coefficient matrices calculated by the FORTRAN EMM models as generated by the
Phase I bulk capture/transfer process will be available in both the AIMMS EFD and ECP models as a comparison. Phase III will then involve gradual replication of the LP coefficient calculation code currently implemented in the Fortran code that constitutes the vast majority of the EMM Fortran code.
Task 6.2 deliverables: AIMMS project files added for remaining subroutines
6.3 Testing/benchmarking of EFD results in AIMMS vs. original NEMS/EFD results
The Contractor shall run a NEMS EMM stand-alone test following each subroutine conversion to make sure that the LP matrix and solution still match the original. The Contractor shall repeat these tests until there are no subroutines left in the EFD to convert to AIMMS.
Task 6.3 deliverables: comparison/validation of AIMMS results with NEMS-EMM results
6.4 Preserving integrity of existing modeling system- EFD
The Contractor will assist EIA in maintaining compatibility between the Fortran/AIMMS LP and the Fortran/OML LP models as other routine modeling updates and maintenance occur over the next AEO cycle, or until the Fortran/AIMMS versions are approved for use in place of the Fortran/OML versions for production work.
7.0 OPTION YEARS 2-3: Converting Fortran ECP (Electricity Capacity Planning) LP into AIMMS
The second and third option years technical support requirements consists of three tasks:
7.1: Conversion of remaining ECP subroutines from Fortran to AIMMS
For ECP subroutines in Fortran, the Contractor shall convert LP coefficient calculation and solution handling logic using standardized steps provided by EIA for the EMM AIMMS conversion, (a list of ECP subroutines remaining to be converted will be provided at the time of option exercise.) The final data arrays and logic now used to calculate LP coefficients and row and column submatrices in Fortran will be replicated in AIMMS. AIMMS code to generate the coefficients in a predefined AIMMS model directly will be created, as functions of the existing data arrays passed from the Fortran program.
Task 7.1 deliverables: AIMMS project files added for remaining ECP subroutines
7.2: Testing/benchmarking of ECP results in AIMMS vs. original NEMS/ECP results
The Contractor shall run a NEMS EMM stand-alone test following each subroutine conversion to make sure that the LP matrix and solution still match the original. The Contractor shall repeat these tests until there are no subroutines left in the ECP to convert to AIMMS.
Task 7.2 deliverables: comparison/validation of AIMMS results with NEMS-EMM results
7.3: Preserving integrity of existing modeling system- ECP: The Contractor will assist EIA in maintaining compatibility between the Fortran/AIMMS LP and the Fortran/OML LP models as other routine modeling updates and maintenance occur over the next AEO cycle, or until the Fortran/AIMMS versions are approved for use in place of the Fortran/OML versions for production work.
8.0 DELIVERABLES
8.1 Monthly Status Report
The Contractor shall prepare and distribute a Monthly Status Report (MSR) no later than by the 1st business day of the month following the reporting period. The MSR shall include:
Work and deliverables completed during the period;
• Status of ongoing activities;
• Activities planned for the following period;
• Problems or issues projected or identified;
• Alternatives and/or recommended solution(s) for identified or projected problems or issues
• Known or projected resource (staff and funding) and schedule impacts, including list of all active staff supporting the Contract
• Status of project funds including monthly and total expenditures and funds remaining;
• Summary of tasks performed
8.2 Final Contract Report
The Contractor shall provide a final report to the COR at the conclusion of the Period of Performance.
This report shall summarize objectives achieved, significant issues, problems, and recommendations to improve the process in the future within 10 days of expiration.
The analysis and coding will be delivered to meet the milestones as described in this section.
SOW
Task #
Deliverable Format Due Date Distribution/ copies
Remarks
5.1 Contractor
memorandum on suggested changes to the EIA conversion process.
Word document Two weeks from date of award
Technical SME N/A
5.2 efd.ams and ecp.ams (AIMMS project files for representative subroutines covered during hand-on training sessions along with comparison/ validation results
AIMMS project file (.ams) containing converted EFD and ECP LP elements (coefficients, bounds, and RHSs) calculation code
Within 45 days of completion of Task 5.1
Technical SME Executable AIMMS EFD and
ECP project files (efd.ams for
EFD and ecp.ams for ECP) containing AIMMS code demonstrated to provide equivalent results consistent with those resulting from
Fortran code version of EFD subroutine
5.3 Efd.ams and ecp.ams
(AIMMS project files) containing converted selected subroutines to convert; work performance/progres s indicators for EIA:
comparison/ validation of converted LP element calculation code in AIMMS using a complete NEMS- AIMMS test case with cdiff (%) values less than ±1% plus an executive summary of what has been converted
AIMMS project file (.ams) containing converted EFD and ECP LP elements (coefficients, bounds, and RHSs) calculation code Zip (.zip) file containing various files in a NEMS AIMMS test run .docx file for documentation
Within 120 days of completion of Task 5.1
Technical SME Executable AIMMS project files (efd.ams for EFD and ecp.ams for ECP) containing converted EFD and ECP LP elements calculation code with a complete NEMS-
AIMMS test run with cdiff (%) values less than ±1%
6.1 Work plan for EFD
conversion process based on lessons learned from Phase III including details for appropriate division of labor between EIA and contractor resources
Word document (with optional Microsoft Project)
Within 14 days of award of Option Year 1
Technical SME N/A
6.2 efd.ams: AIMMS project file with converted remaining subroutines in EFD efd.ams containing converted EFD LP element calculation code
Within 10 months of award of Option Year 1
Technical SME Executable AIMMS project files (efd.ams for EFD and ecp.ams for ECP) containing converted EFD and ECP LP elements calculation code
6.3 Comparison/validatio
n of AIMMS results with NEMS-EMM results - cdiff (%) values less than ±1% plus an executive summary of what has been converted efd.ams containing converted EFD LP element calculation code with a complete NEMS-AIMMS test run with cdiff (%) values less than ±1%
Within 10 months of award of Option Year 1
Technical SME NEMS-AIMMS test run with cdiff (%) values less than ±1%
6.4 EFD Maintenance:
updated efd.ams and necessary nems files check-ins such as uaimms.f, efd_row_col.f90, and efd.zip whenever there is a change made to the uefd LP calculation code.
All necessary file types to check in to NEMS version control system
Option Year 1 on a need basis but no more than once or twice a week
Technical SME N/A
7.1 ecp.ams containing converted remaining ECP subroutines
Ecp.ams (*.ams) Within 10 months of award of Option Year 2/Within 10 months of award of Option Year 3
Technical SME Executable AIMMS project files (efd.ams for EFD and ecp.ams for ECP) containing converted EFD and ECP LP elements calculation code
7.2 Comparison/validatio
n of AIMMS results with NEMS-EMM results - cdiff (%) values less than ±1% plus an executive summary of what has been converted
Ecp.ams (*.ams) plus word doc (*.docx) for an executive summary
Within 10 months of award of Option Year 2/Within 10 months of award of Option Year 3
Technical SME NEMS-AIMMS test run with cdiff (%) values less than ±1%
7.3 ECP Maintenance
updated ecp.ams and necessary nems file check-ins uaimms.f, ecp_row_col.f90, and ecp.zip whenever there is a change made to the uecp LP calculation code.
All necessary file types to check in to NEMS version control system
Option Year 1 on a need basis but no more than once or twice a week
Technical SME N/A
8.1 Monthly Status
Report
MS Word 1st business day of each month
Technical SME, COR
N/A
8.2 Final Contract Report MS Word Within 10 days
of Contract expiration
COR Must summarize objectives achieved, significant issues, problems, and recommendations to improve the process in the future within 10 days of expiration.
8.3 Notice Regarding Late Delivery
The Contractor shall notify the COR, as soon as it becomes apparent to the Contractor, that a scheduled delivery will be late. The Contractor shall include in the notification the rationale for late delivery, the expected date for the delivery and the projected impact of the late delivery. The COR will review the new schedule and provide guidance to the Contractor.
9.0 PERIOD AND PLACE OF PERFORMANCE
Due to the interactive nature of the effort, work under the majority of the tasks (with exception to project management/any administrative support) shall be performed primarily in EIA offices during business hours (8:30 AM-5:00 PM), with the exception of Federal Holidays, located at:
DOE HQ Forrestal Building 1000 Independence Ave, SW
Washington, DC 20585
The period of performance for this Contract will be for 6 months from the date of award, with 3 twelve month option periods.
10.0 NON-PERSONAL SERVICES
EIA has determined that use of the Contract to satisfy this requirement is in the best interest of the government, and this contract is not being used to procure personal services prohibited by the Federal Acquisition Regulation (FAR) Part 37.104 titled “Personal services contract”. The Contractor shall not perform any inherently governmental actions under this contract. No Contractor employee shall be directly supervised by the Government. If the Contractor believes any Government communication has been given that would create a personal services relationship between the Government and any Contractor employee, the Contractor shall promptly notify the Contracting Officer of this communication or action.
No Contractor employee shall state orally or in writing at any time that he or she is acting on behalf of the Government. In all communications with third parties in connection with this contract, the Contractor employee(s) shall identify themselves as Contractor employees and specify the name of the company for which they work. Nothing in this article shall limit the Government’s rights in any way under the other provisions of the contract, including those related to the Government’s right to inspect and accept the services to be performed under this contract.
11.0 SPECIAL QUALIFICATIONS
The Contractor must be thoroughly familiar with the AIMMS LP modeling platform. In addition, the Contractor must also have demonstrated experience and expertise in developing and implementing inputs for computer-based energy models such as NEMS, preferably including experience with Fortran.
The Contractor shall have available and assigned to work on this task one Senior Staff member with knowledge, experience, and thorough familiarity with each of these areas.
File details come from the government source that posted it. Updated .