-
Notifications
You must be signed in to change notification settings - Fork 175
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Pull request #343: Movers/feature/plcoe v7
Merge in JGCRI/gcam-core from movers/feature/plcoe_v7 to master Squashed commit of the following: commit 0fe169c4020a331a19fad43847f639cbd89d2f3b Author: Pralit Patel <pralit.patel@pnnl.gov> Date: Wed Jan 8 14:15:30 2025 -0500 Bump version number for public release commit 13253bf8faa2bc2174ad278fc600e46e8663e322 Merge: 72fda79 bdcab96 Author: Pralit Patel <pralit.patel@pnnl.gov> Date: Tue Dec 24 10:02:34 2024 -0500 Merge remote-tracking branch 'origin/master' into movers/feature/plcoe_v7 commit 72fda79 Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Fri Nov 1 14:20:34 2024 -0400 Minor C++ updates in response to PR review comments. commit 6a6152f Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Thu Oct 10 17:15:30 2024 -0400 Improve comments in C++ code based on pull request review comments. commit 21021d9 Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Wed Oct 9 17:19:24 2024 -0400 Re-incorporate option for using previous backup-capacity approach to VRE integration. Includes C++ code changes and gcamdata changes (using a switch in constants.R). commit d13a2e4 Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Tue Jun 11 00:25:27 2024 -0400 Minor C++ code cleanup. commit 7ffc87d Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Fri Mar 29 18:24:48 2024 -0400 Change subsector shareweight interpolation rules for wind and solar. commit 90602c5 Merge: 5d47ed4 a607cc4 Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Fri Mar 22 15:41:28 2024 -0400 Merge branch 'plcoe_v7' of https://github.com/mmowers/gcam-core into plcoe_v7 commit 5d47ed4 Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Fri Mar 22 15:41:12 2024 -0400 Bugfix for gcam-usa related to PLCOE setup. commit a607cc4 Author: Matt Mowers <matt.mowers@gmail.com> Date: Mon Mar 18 00:44:36 2024 -0400 Update comments for new PLCOE and value factor approach commit fb86da1 Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Mon Feb 26 18:14:56 2024 -0500 Fix error related to L2233.Elec_tables_globaltech[cost_SWInterp_Fltr] in module_water_L2233.electricity_water. commit 8509286 Merge: 912f1b0 5c98b79 Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Fri Feb 16 01:23:05 2024 -0500 Merge GCAM v6 PLCOE with GCAM v7. Code compiles; gcamdata produces all XMLs; GCAM runs and sovles cleanly; results have not yet been vetted. commit 5c98b79 Author: Matt Mowers <matt.mowers@gmail.com> Date: Fri Mar 17 00:15:27 2023 -0400 Fix electricity technology value factor calculation commit 9fd62d0 Author: Matt Mowers <matt.mowers@gmail.com> Date: Fri Mar 10 13:33:45 2023 -0500 Separate offshore wind from onshore wind trial market commit 986ec4a Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Mon Mar 6 10:35:35 2023 -0500 Removing errant declaration of boost::noncopyable. commit c7b30e7 Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Wed Mar 1 16:17:36 2023 -0500 Removing extra qualification ValueFactorCalculator::getValueFactor commit a3dd830 Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Tue Feb 14 16:29:55 2023 -0500 Update to use parsed-in values for value factor equation, rather than hard-coded values. commit 2850cb2 Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Fri Feb 3 17:48:33 2023 -0500 Initial implementation of value factor in GCAM. Data changes only in this commit (code changes were in a previous commit). Model runs and solves normally, but results have not been explored / vetted. commit a8ae1aa Author: Matthew Binsted <matthew.binsted@pnnl.gov> Date: Fri Feb 3 17:45:18 2023 -0500 Initial implementation of value factor in GCAM. Code changes only in this commit; data changes to follow in a separate commit. Model runs and solves normally, but results have not been explored / vetted. commit 82e33fe Author: Matt Mowers <matt.mowers@gmail.com> Date: Fri Dec 16 11:58:39 2022 -0500 Add technology value factor intercept and slope variables for clarity ... and 1 more commit
- Loading branch information
Showing
39 changed files
with
1,620 additions
and
509 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
/* | ||
* LEGAL NOTICE | ||
* This computer software was prepared by Battelle Memorial Institute, | ||
* hereinafter the Contractor, under Contract No. DE-AC05-76RL0 1830 | ||
* with the Department of Energy (DOE). NEITHER THE GOVERNMENT NOR THE | ||
* CONTRACTOR MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY | ||
* LIABILITY FOR THE USE OF THIS SOFTWARE. This notice including this | ||
* sentence must appear on any copies of this computer software. | ||
* | ||
* EXPORT CONTROL | ||
* User agrees that the Software will not be shipped, transferred or | ||
* exported into any country or used in any manner prohibited by the | ||
* United States Export Administration Act or any other applicable | ||
* export laws, restrictions or regulations (collectively the "Export Laws"). | ||
* Export of the Software may require some form of license or other | ||
* authority from the U.S. Government, and failure to obtain such | ||
* export control license may result in criminal liability under | ||
* U.S. laws. In addition, if the Software is identified as export controlled | ||
* items under the Export Laws, User represents and warrants that User | ||
* is not a citizen, or otherwise located within, an embargoed nation | ||
* (including without limitation Iran, Syria, Sudan, Cuba, and North Korea) | ||
* and that User is not otherwise prohibited | ||
* under the Export Laws from receiving the Software. | ||
* | ||
* Copyright 2011 Battelle Memorial Institute. All Rights Reserved. | ||
* Distributed as open-source under the terms of the Educational Community | ||
* License version 2.0 (ECL 2.0). http://www.opensource.org/licenses/ecl2.php | ||
* | ||
* For further details, see: http://www.globalchange.umd.edu/models/gcam/ | ||
* | ||
*/ | ||
|
||
|
||
#ifndef _VALUE_FACTOR_CALCULATOR_H_ | ||
#define _VALUE_FACTOR_CALCULATOR_H_ | ||
#if defined(_MSC_VER) | ||
#pragma once | ||
#endif | ||
|
||
/*! | ||
* \file value_factor_calculator.h | ||
* \ingroup Objects | ||
* \brief The ValueFactorCalculator class header file. | ||
* \author Matthew Binsted, Matt Mowers | ||
*/ | ||
|
||
#include <string> | ||
#include "sectors/include/ibackup_calculator.h" | ||
|
||
|
||
// Forward declaration | ||
class IInfo; | ||
|
||
/*! | ||
* \ingroup Objects | ||
* \brief Interface which defines methods for calculating value factor | ||
* of a technology depending on its market share. | ||
* \details Defines an interface to an object which determines the value | ||
* factor for a technology. The value factor may use trial values of | ||
* market share. Value factors are specific to electricity sector | ||
* technologies. | ||
* \author Matthew Binsted, Matt Mowers | ||
*/ | ||
class ValueFactorCalculator : public IBackupCalculator { | ||
public: | ||
ValueFactorCalculator(); | ||
virtual ValueFactorCalculator* clone() const; | ||
static const std::string& getXMLNameStatic(); | ||
virtual const std::string& getXMLName() const; | ||
virtual bool isSameType(const std::string& aType) const; | ||
virtual const std::string& getName() const; | ||
virtual void toDebugXML(const int aPeriod, std::ostream& aOut, Tabs* aTabs) const; | ||
virtual void initCalc(const IInfo* aTechInfo); | ||
|
||
virtual double getMarginalBackupCapacity(const std::string& aSector, | ||
const std::string& aElectricSector, | ||
const std::string& aResource, | ||
const std::string& aRegion, | ||
const double aTechCapacityFactor, | ||
const double aReserveMargin, | ||
const double aAverageGridCapacityFactor, | ||
const int aPeriod) const; | ||
|
||
virtual double getAverageBackupCapacity(const std::string& aSector, | ||
const std::string& aElectricSector, | ||
const std::string& aResource, | ||
const std::string& aRegion, | ||
const double aTechCapacityFactor, | ||
const double aReserveMargin, | ||
const double aAverageGridCapacityFactor, | ||
const int aPeriod) const; | ||
|
||
virtual double getValueFactor(const std::string& aSector, | ||
const std::string& aElectricSector, | ||
const std::string& aRegion, | ||
const int aPeriod) const; | ||
|
||
protected: | ||
|
||
// Define data such that introspection utilities can process the data from this | ||
// subclass together with the data members of the parent classes. | ||
DEFINE_DATA_WITH_PARENT( | ||
IBackupCalculator, | ||
|
||
//! Y-inercept of linear function which equates intermittent technology share to value factor | ||
DEFINE_VARIABLE( SIMPLE, "value-factor-intercept", mValueFactorIntercept, double ), | ||
|
||
//! Slope of linear function which equates intermittent technology share to value factor | ||
DEFINE_VARIABLE( SIMPLE, "value-factor-slope", mValueFactorSlope, double ) | ||
|
||
) | ||
}; | ||
|
||
#endif // _VALUE_FACTOR_CALCULATOR_H_ |
Oops, something went wrong.