Skip to content

Commit

Permalink
Jp/genx inputs (#15)
Browse files Browse the repository at this point in the history
* add fields

* add electrolyzer and flexible demand structs

* typo

* update IS dependency

* add colocated resources, retireable and retofittable techs

* add reserves to SupplyTechnology

* fix SupplyTechnology

* update storage structs

* update TransportTechnology

* update Demand Requirements

* additional inputs for TransportTechnology

* updating naming convention, data types, and adding CurtailableDemandSideTechnology struct

* add co2 to SupplyTechnology

* typo

* export retrofit and retire structs

* add name field to retrofits and retirements

* export get_technology

* add requirements

* make parametric an optional field for schema

* add policy requirements

* change requirements to subset of Service

* add utility functions for requirements

* change Requirements to IS System Component

* add pricecap field

* update exports

* empty function for blobs

* change slack to pricecap

* add dependencies for database pipeline

* initialize empty functions and added transmission to db pipeline

* fixed empty transmission line vector

* add power_systems_type back to structs

* fix imports

* add pre existing generation units

* added storage to portfolio

* add existing capacity to StorageTechnology

* formatting

* add parsers for blobs

* add demand timeseries

* add system to portfolio

* change json to json3 in parsers

* add dates and timeseries

* change supply curve parser to produce tuple of XY_COORDS

* remove empty functions

* update investment cost to supply curve

* add supplemental attributes

* add zone struct

* add Region abstract type

* generalize supplemental_attribute functions

* updaet include

* change retrofits and retirements to supplemental attributes

* name change

* add existing capacity supplemental attribute

* typos

* updating data types and exports for zones

* remove Revise

* update retirements and retrofits to match structure of existingcapacity

* add aggregated versions of retirements and retrofits

* cahnge dictionary to vector in existingcapacity

* merged electrolyzers with DemandsideTechnology

* update field names

* update includes

* update names and remove unecessary fields

* formatter

* make Zone optional for SupplyTechnology

* remove region

* add defaults for storage

* remove region from DemandRequirement

* renaming file name to fix typo (#14)

* remove extra show

---------

Co-authored-by: Sourabh Dalvi <[email protected]>
Co-authored-by: Rodrigo Henríquez-Auba <[email protected]>
  • Loading branch information
3 people authored Sep 18, 2024
1 parent 368ddf2 commit 220b59c
Show file tree
Hide file tree
Showing 23 changed files with 1,915 additions and 145 deletions.
3 changes: 3 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,17 @@ authors = ["Jose Daniel Lara"]
version = "0.1.0"

[deps]
DBInterface = "a10d1c49-ce27-4219-8d33-6db1a4562965"
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
InfrastructureSystems = "2cd47ed4-ca9b-11e9-27f2-ab636a7671f1"
JSON3 = "0f8b85d8-7281-11e9-16c2-39a750bddbf1"
JSONSchema = "7d188eb4-7ad8-530c-ae41-71a32a6d4692"
PowerSystems = "bcd98974-b02a-5e2f-9ee0-a103f5c450dd"
PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
SQLite = "0aa819cd-b072-5ff4-a722-6bc24af294d9"
TimeSeries = "9e3dc215-6440-5c97-bce1-76c03772f85e"

[compat]
DocStringExtensions = "~0.9"
Expand Down
34 changes: 34 additions & 0 deletions src/PowerSystemsInvestmentsPortfolios.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,29 +11,58 @@ import InfrastructureSystems:
get_time_series_array,
get_time_series_timestamps,
get_time_series_values,
supports_time_series,
InfrastructureSystemsInternal,
CompressionSettings,
CompressionTypes,
MultiLogger,
LogEventTracker,
StructField,
CostCurve,
LinearCurve,
InfrastructureSystemsComponent

import PowerSystems
import PowerSystems: StorageCost, ThermalGenerationCost

import JSONSchema
import JSON3
import PrettyTables
import SQLite
import DataFrames
import DBInterface
import TimeSeries
import Dates

# Temporary, imports not working properly for some reason?
using DataFrames
using PowerSystems
using Dates
using TimeSeries

export Portfolio
export Technology
export Requirements
export SupplyTechnology
export TransportTechnology
export StorageTechnology
export DemandRequirement
export DemandsideTechnology
export FlexibleDemandTechnology
export Electrolyzers
export CurtailableDemandSideTechnology
export RetireableCapacity
export RetrofitCapacity
export ExistingCapacity
export CarbonCaps
export MinimumCapacityRequirements
export Region
export Zone

export get_technologies
export get_technology
export get_requirements
export get_ext
export add_technology!
export add_technologies!
export read_json_data
Expand All @@ -43,6 +72,9 @@ export db_to_dataframes
export map_prime_mover
export dataframe_to_structs
export db_to_portfolio_parser
export add_supplemental_attribute!
export remove_supplemental_attribute!
export get_supplemental_attribute

const PSY = PowerSystems
const IS = InfrastructureSystems
Expand All @@ -59,6 +91,8 @@ export PrimeMovers
export StorageTech

include("models/technologies.jl")
include("models/regions.jl")
include("models/requirements.jl")
include("models/generated/includes.jl")
include("portfolio.jl")
include("serialization.jl")
Expand Down
Loading

0 comments on commit 220b59c

Please sign in to comment.