goentsoe

package module
v0.0.0-...-6c18cff Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2021 License: MIT Imports: 10 Imported by: 0

README

go-entsoe

Documentation

Index

Constants

View Source
const (
	ParameterDocumentType                                             = "documentType"
	ParameterDocStatus                                                = "docStatus"
	ParameterProcessType                                              = "processType"
	ParameterBusinessType                                             = "businessType"
	ParameterPsrType                                                  = "psrType"
	ParameterTypeMarketAgreementType                                  = "type_MarketAgreement.type"
	ParameterContractMarketAgreementType                              = "contract_MarketAgreement.Type"
	ParameterAuctionType                                              = "auction.Type"
	ParameterAuctionCategory                                          = "auction.Category"
	ParameterClassificationSequenceAttributeInstanceComponentPosition = "classificationSequence_AttributeInstanceComponent.Position"
	ParameterOutBiddingZoneDomain                                     = "outBiddingZone_Domain"
	ParameterBiddingZoneDomain                                        = "biddingZone_Domain"
	ParameterControlAreaDomain                                        = "controlArea_Domain"
	ParameterInDomain                                                 = "in_Domain"
	ParameterOutDomain                                                = "out_Domain"
	ParameterAcquiringDomain                                          = "acquiring_Domain"
	ParameterConnectingDomain                                         = "connecting_Domain"
	ParameterRegisteredResource                                       = "RegisteredResource"
	ParameterTimeInterval                                             = "TimeInterval"
	ParameterPeriodStart                                              = "periodStart"
	ParameterPeriodEnd                                                = "periodEnd"
	ParameterTimeIntervalUpdate                                       = "TimeIntervalUpdate"
	ParameterPeriodStartUpdate                                        = "PeriodStartUpdate"
	ParameterPeriodEndUpdate                                          = "PeriodEndUpdate"
)

Variables

This section is empty.

Functions

func GetSortedTimes

func GetSortedTimes(res map[time.Time]int) []time.Time

Types

type AcknowledgementMarketDocument

type AcknowledgementMarketDocument struct {
	XMLName                     xml.Name `xml:"Acknowledgement_MarketDocument"`
	Text                        string   `xml:",chardata"`
	Xmlns                       string   `xml:"xmlns,attr"`
	MRID                        string   `xml:"mRID"`            // 71a6d596-0e01-4, 66ff98cd...
	CreatedDateTime             string   `xml:"createdDateTime"` // 2020-09-12T00:13:14Z, 202...
	SenderMarketParticipantMRID struct {
		Text         string `xml:",chardata"` // 10X1001A1001A450, 10X1001...
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"sender_MarketParticipant.mRID"`
	SenderMarketParticipantMarketRoleType string `xml:"sender_MarketParticipant.marketRole.type"` // A32, A32, A32, A32, A32, ...
	ReceiverMarketParticipantMRID         struct {
		Text         string `xml:",chardata"` // 10X1001A1001A450, 10X1001...
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"receiver_MarketParticipant.mRID"`
	ReceiverMarketParticipantMarketRoleType string `xml:"receiver_MarketParticipant.marketRole.type"` // A39, A39, A39, A39, A39, ...
	ReceivedMarketDocumentCreatedDateTime   string `xml:"received_MarketDocument.createdDateTime"`    // 2020-09-12T00:13:14Z, 202...
	Reason                                  struct {
		Chardata string `xml:",chardata"`
		Code     string `xml:"code"` // 999, 999, 999, 999, 999, ...
		Text     string `xml:"text"` // No matching data found fo...
	} `xml:"Reason"`
}

type AuctionCategory

type AuctionCategory string
const (
	AuctionCategoryBase    AuctionCategory = "A01"
	AuctionCategoryPeak    AuctionCategory = "A02"
	AuctionCategoryOffPeak AuctionCategory = "A03"
	AuctionCategoryHourly  AuctionCategory = "A04"
)

type AuctionType

type AuctionType string
const (
	AuctionTypeImplicit AuctionType = "A01"
	AuctionTypeExplicit AuctionType = "A02"
)

type BalancingMarketDocument

type BalancingMarketDocument struct {
	XMLName                     xml.Name `xml:"Balancing_MarketDocument"`
	Text                        string   `xml:",chardata"`
	Xmlns                       string   `xml:"xmlns,attr"`
	MRID                        string   `xml:"mRID"`                // 623e96582b1a4f98af7032228...
	RevisionNumber              string   `xml:"revisionNumber"`      // 1, 1, 1, 1, 1, 1, 1, 1, 1...
	Type                        string   `xml:"type"`                // A86, A85, A86, A86, A87, ...
	ProcessProcessType          string   `xml:"process.processType"` // A16, A16, A16, A16, A16, ...
	SenderMarketParticipantMRID struct {
		Text         string `xml:",chardata"` // 10X1001A1001A450, 10X1001...
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"sender_MarketParticipant.mRID"`
	SenderMarketParticipantMarketRoleType string `xml:"sender_MarketParticipant.marketRole.type"` // A32, A32, A32, A32, A32, ...
	ReceiverMarketParticipantMRID         struct {
		Text         string `xml:",chardata"` // 10X1001A1001A450, 10X1001...
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"receiver_MarketParticipant.mRID"`
	ReceiverMarketParticipantMarketRoleType string `xml:"receiver_MarketParticipant.marketRole.type"` // A33, A33, A33, A33, A33, ...
	CreatedDateTime                         string `xml:"createdDateTime"`                            // 2020-09-12T00:13:39Z, 202...
	AreaDomainMRID                          struct {
		Text         string `xml:",chardata"` // 10YCZ-CEPS-----N, 10YAT-A...
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"area_Domain.mRID"`
	PeriodTimeInterval struct {
		Text  string `xml:",chardata"`
		Start string `xml:"start"` // 2019-12-19T00:00Z, 2015-1...
		End   string `xml:"end"`   // 2019-12-19T00:10Z, 2016-1...
	} `xml:"period.timeInterval"`
	TimeSeries []struct {
		Text                    string `xml:",chardata"`
		MRID                    string `xml:"mRID"`                       // 1, 1, 2, 3, 4, 5, 6, 7, 8...
		BusinessType            string `xml:"businessType"`               // B33, A19, A19, A19, A19, ...
		FlowDirectionDirection  string `xml:"flowDirection.direction"`    // A02, A01, A02, A01, A01, ...
		QuantityMeasureUnitName string `xml:"quantity_Measure_Unit.name"` // MAW, MWH, MWH, MWH, MWH, ...
		CurveType               string `xml:"curveType"`                  // A01, A01, A01, A01, A01, ...
		Period                  struct {
			Text         string `xml:",chardata"`
			TimeInterval struct {
				Text  string `xml:",chardata"`
				Start string `xml:"start"` // 2019-12-19T00:00Z, 2015-1...
				End   string `xml:"end"`   // 2019-12-19T00:10Z, 2016-0...
			} `xml:"timeInterval"`
			Resolution string `xml:"resolution"` // PT1M, PT60M, PT60M, PT60M...
			Point      []struct {
				Text                   string `xml:",chardata"`
				Position               string `xml:"position"`                 // 1, 2, 3, 4, 5, 6, 7, 8, 9...
				Quantity               string `xml:"quantity"`                 // 78.39, 75.53, 59.41, 61.2...
				ImbalancePriceAmount   string `xml:"imbalance_Price.amount"`   // -514, -562, -548, -314, -...
				ImbalancePriceCategory string `xml:"imbalance_Price.category"` // A04, A04, A04, A04, A04, ...
				FinancialPrice         []struct {
					Text      string `xml:",chardata"`
					Amount    string `xml:"amount"`    // 464071702, 39706489, 4416...
					Direction string `xml:"direction"` // A01, A02, A01, A02, A01, ...
				} `xml:"Financial_Price"`
				SecondaryQuantity      string `xml:"secondaryQuantity"`        // 0, 0, 0, 18, 0, 0, 0, 27,...
				ProcurementPriceAmount string `xml:"procurement_Price.amount"` // 605, 672, 755, 781, 686, ...
				ActivationPriceAmount  string `xml:"activation_Price.amount"`  // 0, 0, 0, 0, 0, 0, 0, 0, 0...
			} `xml:"Point"`
		} `xml:"Period"`
		CurrencyUnitName                       string `xml:"currency_Unit.name"`                       // CZK, CZK, CZK, CZK, CZK, ...
		PriceMeasureUnitName                   string `xml:"price_Measure_Unit.name"`                  // MWH, MWH, MWH, MWH, MWH, ...
		StandardMarketProductMarketProductType string `xml:"standard_MarketProduct.marketProductType"` // A01, A01
		TypeMarketAgreementType                string `xml:"type_MarketAgreement.type"`                // A01, A01, A01, A01
		MktPSRTypePsrType                      string `xml:"mktPSRType.psrType"`                       // A04, A04, A04, A04, A04, ...
	} `xml:"TimeSeries"`
	ControlAreaDomainMRID struct {
		Text         string `xml:",chardata"` // 10YCZ-CEPS-----N, 10YCZ-C...
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"controlArea_Domain.mRID"`
	DocStatus struct {
		Text  string `xml:",chardata"`
		Value string `xml:"value"` // A01, A02, A01
	} `xml:"docStatus"`
}

type BusinessType

type BusinessType string
const (
	BusinessTypeGeneralCapacityInformation           BusinessType = "A25"
	BusinessTypeAlreadyAllocatedCapacity             BusinessType = "A29"
	BusinessTypeRequestedCapacity                    BusinessType = "A43"
	BusinessTypeSystemOperatorRedispatching          BusinessType = "A46"
	BusinessTypePlannedMaintenance                   BusinessType = "A53"
	BusinessTypeUnplannedOutage                      BusinessType = "A54"
	BusinessTypeInternalRedispatch                   BusinessType = "A85"
	BusinessTypeFrequencyContainmentReserve          BusinessType = "A95"
	BusinessTypeAutomaticFrequencyRestorationReserve BusinessType = "A96"
	BusinessTypeManualFrequencyRestorationReserve    BusinessType = "A97"
	BusinessTypeReplacementReserve                   BusinessType = "A98"
	BusinessTypeInterconnectorNetworkEvolution       BusinessType = "B01"
	BusinessTypeInterconnectorNetworkDismantling     BusinessType = "B02"
	BusinessTypeCounterTrade                         BusinessType = "B03"
	BusinessTypeCongestionCosts                      BusinessType = "B04"
	BusinessTypeCapacityAllocated                    BusinessType = "B05"
	BusinessTypeAuctionRevenue                       BusinessType = "B07"
	BusinessTypeTotalNominatedCapacity               BusinessType = "B08"
	BusinessTypeNetPosition                          BusinessType = "B09"
	BusinessTypeCongestionIncome                     BusinessType = "B10"
	BusinessTypeProductionUnit                       BusinessType = "B11"
	BusinessTypeAreaControlError                     BusinessType = "B33"
	BusinessTypeProcuredCapacity                     BusinessType = "B95"
	BusinessTypeSharedBalancingReserveCapacity       BusinessType = "C22"
	BusinessTypeShareOfReserveCapacity               BusinessType = "C23"
	BusinessTypeActualReserveCapacity                BusinessType = "C24"
)

type ContractMarketAgreementType

type ContractMarketAgreementType string
const (
	ContractMarketAgreementTypeDaily    ContractMarketAgreementType = "A01"
	ContractMarketAgreementTypeWeekly   ContractMarketAgreementType = "A02"
	ContractMarketAgreementTypeMonthly  ContractMarketAgreementType = "A03"
	ContractMarketAgreementTypeYearly   ContractMarketAgreementType = "A04"
	ContractMarketAgreementTypeTotal    ContractMarketAgreementType = "A05"
	ContractMarketAgreementTypeLongTerm ContractMarketAgreementType = "A06"
	ContractMarketAgreementTypeIntraday ContractMarketAgreementType = "A07"
	ContractMarketAgreementTypeHourly   ContractMarketAgreementType = "A13"
)

type CriticalNetworkElementMarketDocument

type CriticalNetworkElementMarketDocument struct {
	XMLName                                 xml.Name `xml:"CriticalNetworkElement_MarketDocument"`
	Text                                    string   `xml:",chardata"`
	Xmlns                                   string   `xml:"xmlns,attr"`
	MRID                                    string   `xml:"mRID"`                                       // 38e3d7b3f58d4fca84249c230...
	RevisionNumber                          string   `xml:"revisionNumber"`                             // 1
	Type                                    string   `xml:"type"`                                       // B11
	ProcessProcessType                      string   `xml:"process.processType"`                        // A01
	SenderMarketParticipantMRID             string   `xml:"sender_MarketParticipant.mRID"`              // 10X1001A1001A450
	SenderMarketParticipantMarketRoleType   string   `xml:"sender_MarketParticipant.marketRole.type"`   // A32
	ReceiverMarketParticipantMRID           string   `xml:"receiver_MarketParticipant.mRID"`            // 10X1001A1001A450
	ReceiverMarketParticipantMarketRoleType string   `xml:"receiver_MarketParticipant.marketRole.type"` // A33
	CreatedDateTime                         string   `xml:"createdDateTime"`                            // 2020-09-12T00:13:23Z
	TimePeriodTimeInterval                  struct {
		Text  string `xml:",chardata"`
		Start string `xml:"start"` // 2015-12-31T23:00Z
		End   string `xml:"end"`   // 2016-01-02T23:00Z
	} `xml:"time_Period.timeInterval"`
	DomainMRID string `xml:"domain.mRID"` // 10YDOM-REGION-1V
	TimeSeries []struct {
		Text         string `xml:",chardata"`
		MRID         string `xml:"mRID"`         // 1, 2
		BusinessType string `xml:"businessType"` // B39, B39
		CurveType    string `xml:"curveType"`    // A01, A01
		Period       struct {
			Text         string `xml:",chardata"`
			TimeInterval struct {
				Text  string `xml:",chardata"`
				Start string `xml:"start"` // 2015-12-31T23:00Z, 2016-0...
				End   string `xml:"end"`   // 2016-01-01T23:00Z, 2016-0...
			} `xml:"timeInterval"`
			Resolution string `xml:"resolution"` // PT60M, PT60M
			Point      []struct {
				Text                 string `xml:",chardata"`
				Position             string `xml:"position"` // 1, 2, 3, 4, 5, 6, 7, 8, 9...
				ConstraintTimeSeries []struct {
					Text                        string `xml:",chardata"`
					MRID                        string `xml:"mRID"`                           // 14648370000, 12144770000,...
					BusinessType                string `xml:"businessType"`                   // B09, B09, B09, B09, B09, ...
					QuantityMeasurementUnitName string `xml:"quantity_Measurement_Unit.name"` // MAW, MAW, MAW, MAW, MAW, ...
					PTDFMeasurementUnitName     string `xml:"pTDF_Measurement_Unit.name"`     // MAW, MAW, MAW, MAW, MAW, ...
					MonitoredRegisteredResource struct {
						Text                                                string `xml:",chardata"`
						FlowBasedStudyDomainMRID                            string `xml:"flowBasedStudy_Domain.mRID"`                              // 10YDOM-REGION-1V, 10YDOM-...
						FlowBasedStudyDomainFlowBasedMarginQuantityQuantity string `xml:"flowBasedStudy_Domain.flowBasedMargin_Quantity.quantity"` // 756, 760, 417, 537, 1116,...
						PTDFDomain                                          []struct {
							Text                 string `xml:",chardata"`
							MRID                 string `xml:"mRID"`                   // 10YBE----------2, 10Y1001...
							PTDFQuantityQuantity string `xml:"pTDF_Quantity.quantity"` // 0.00767, 0.07408, 0.03358...
						} `xml:"PTDF_Domain"`
					} `xml:"Monitored_RegisteredResource"`
				} `xml:"Constraint_TimeSeries"`
			} `xml:"Point"`
		} `xml:"Period"`
	} `xml:"TimeSeries"`
}

type DocStatus

type DocStatus string
const (
	DocStatusIntermediate DocStatus = "A01"
	DocStatusFinal        DocStatus = "A02"
	DocStatusActive       DocStatus = "A05"
	DocStatusCancelled    DocStatus = "A09"
	DocStatusEstimated    DocStatus = "X01"
)

type DocumentType

type DocumentType string
const (
	DocumentTypeFinalisedSchedule                        DocumentType = "A09"
	DocumentTypeAggregatedEnergyDataReport               DocumentType = "A11"
	DocumentTypeAcquiringSystemOperatorReserveSchedule   DocumentType = "A15"
	DocumentTypeBidDocument                              DocumentType = "A24"
	DocumentTypeAllocationResultDocument                 DocumentType = "A25"
	DocumentTypeCapacityDocument                         DocumentType = "A26"
	DocumentTypeAgreedCapacity                           DocumentType = "A31"
	DocumentTypeReserveAllocationResultDocument          DocumentType = "A38"
	DocumentTypePriceDocument                            DocumentType = "A44"
	DocumentTypeEstimatedNetTransferCapacity             DocumentType = "A61"
	DocumentTypeRedispatchNotice                         DocumentType = "A63"
	DocumentTypeSystemTotalLoad                          DocumentType = "A65"
	DocumentTypeInstalledGenerationPerType               DocumentType = "A68"
	DocumentTypeWindAndSolarForecast                     DocumentType = "A69"
	DocumentTypeLoadForecastMargin                       DocumentType = "A70"
	DocumentTypeGenerationForecast                       DocumentType = "A71"
	DocumentTypeReservoirFillingInformation              DocumentType = "A72"
	DocumentTypeActualGeneration                         DocumentType = "A73"
	DocumentTypeWindAndSolarGeneration                   DocumentType = "A74"
	DocumentTypeActualGenerationPerType                  DocumentType = "A75"
	DocumentTypeLoadUnavailability                       DocumentType = "A76"
	DocumentTypeProductionUnavailability                 DocumentType = "A77"
	DocumentTypeTransmissionUnavailability               DocumentType = "A78"
	DocumentTypeOffshoreGridInfrastructureUnavailability DocumentType = "A79"
	DocumentTypeGenerationUnavailability                 DocumentType = "A80"
	DocumentTypeContractedReserves                       DocumentType = "A81"
	DocumentTypeAcceptedOffers                           DocumentType = "A82"
	DocumentTypeActivatedBalancingQuantities             DocumentType = "A83"
	DocumentTypeActivatedBalancingPrices                 DocumentType = "A84"
	DocumentTypeImbalancePrices                          DocumentType = "A85"
	DocumentTypeImbalanceVolume                          DocumentType = "A86"
	DocumentTypeFinancialSituation                       DocumentType = "A87"
	DocumentTypeCrossBorderBalancing                     DocumentType = "A88"
	DocumentTypeContractedReservePrices                  DocumentType = "A89"
	DocumentTypeInterconnectionNetworkExpansion          DocumentType = "A90"
	DocumentTypeCounterTradeNotice                       DocumentType = "A91"
	DocumentTypeCongestionCosts                          DocumentType = "A92"
	DocumentTypeDcLinkCapacity                           DocumentType = "A93"
	DocumentTypeNonEuAllocations                         DocumentType = "A94"
	DocumentTypeConfigurationDocument                    DocumentType = "A95"
	DocumentTypeFlowBasedAllocations                     DocumentType = "B11"
)

type DomainType

type DomainType = string
const (
	DomainAL           DomainType = "10YAL-KESH-----5"
	DomainAT           DomainType = "10YAT-APG------L"
	DomainBA           DomainType = "10YBA-JPCC-----D"
	DomainBE           DomainType = "10YBE----------2"
	DomainBG           DomainType = "10YCA-BULGARIA-R"
	DomainBY           DomainType = "10Y1001A1001A51S"
	DomainCH           DomainType = "10YCH-SWISSGRIDZ"
	DomainCZ           DomainType = "10YCZ-CEPS-----N"
	DomainDE           DomainType = "10Y1001A1001A83F"
	DomainDE50Hertz    DomainType = "10YDE-VE-------2"
	DomainDEAmprion    DomainType = "10YDE-RWENET---I"
	DomainDETenneT     DomainType = "10YDE-EON------1"
	DomainDETransnetBW DomainType = "10YDE-ENBW-----N"
	DomainDK           DomainType = "10Y1001A1001A65H"
	DomainEE           DomainType = "10Y1001A1001A39I"
	DomainES           DomainType = "10YES-REE------0"
	DomainFI           DomainType = "10YFI-1--------U"
	DomainFR           DomainType = "10YFR-RTE------C"
	DomainGB           DomainType = "10YGB----------A"
	DomainGBNIR        DomainType = "10Y1001A1001A016"
	DomainGR           DomainType = "10YGR-HTSO-----Y"
	DomainHR           DomainType = "10YHR-HEP------M"
	DomainHU           DomainType = "10YHU-MAVIR----U"
	DomainIE           DomainType = "10YIE-1001A00010"
	DomainIT           DomainType = "10YIT-GRTN-----B"
	DomainLT           DomainType = "10YLT-1001A0008Q"
	DomainLU           DomainType = "10YLU-CEGEDEL-NQ"
	DomainLV           DomainType = "10YLV-1001A00074"
	DomainME           DomainType = "10YCS-CG-TSO---S"
	DomainMK           DomainType = "10YMK-MEPSO----8"
	DomainMT           DomainType = "10Y1001A1001A93C"
	DomainNL           DomainType = "10YNL----------L"
	DomainNO           DomainType = "10YNO-0--------C"
	DomainPL           DomainType = "10YPL-AREA-----S"
	DomainPT           DomainType = "10YPT-REN------W"
	DomainRO           DomainType = "10YRO-TEL------P"
	DomainRS           DomainType = "10YCS-SERBIATSOV"
	DomainRU           DomainType = "10Y1001A1001A49F"
	DomainRUKGD        DomainType = "10Y1001A1001A50U"
	DomainSE           DomainType = "10YSE-1--------K"
	DomainSI           DomainType = "10YSI-ELES-----O"
	DomainSK           DomainType = "10YSK-SEPS-----K"
	DomainTR           DomainType = "10YTR-TEIAS----W"
	DomainUA           DomainType = "10YUA-WEPS-----0"
	DomainDEATLU       DomainType = "10Y1001A1001A63L"
)

type EntsoeClient

type EntsoeClient struct {
	// contains filtered or unexported fields
}

func NewEntsoeClient

func NewEntsoeClient(apiKey string) *EntsoeClient

func NewEntsoeClientFromEnv

func NewEntsoeClientFromEnv() *EntsoeClient

func (*EntsoeClient) ConvertGlMarketDocument2Map

func (c *EntsoeClient) ConvertGlMarketDocument2Map(r *GLMarketDocument) map[time.Time]int

func (*EntsoeClient) GetActualGenerationOutputPerGenerationUnit

func (c *EntsoeClient) GetActualGenerationOutputPerGenerationUnit(
	processType ProcessType,
	inDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
	psrType *PsrType,
) (*GLMarketDocument, error)

4.4.7. Actual Generation Output per Generation Unit [16.1.A] TODO: registeredResource missing

func (*EntsoeClient) GetActualTotalLoad

func (c *EntsoeClient) GetActualTotalLoad(
	domain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*GLMarketDocument, error)

4.1.1. Actual Total Load [6.1.A]

func (*EntsoeClient) GetAggregatedFillingRateOfWaterReservoirsAndHydroStoragePlants

func (c *EntsoeClient) GetAggregatedFillingRateOfWaterReservoirsAndHydroStoragePlants(
	processType ProcessType,
	inDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*GLMarketDocument, error)

4.4.9. Aggregated Filling Rate of Water Reservoirs and Hydro Storage Plants [16.1.D]

func (*EntsoeClient) GetAggregatedGenerationPerType

func (c *EntsoeClient) GetAggregatedGenerationPerType(
	processType ProcessType,
	psrType PsrType,
	inDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*GLMarketDocument, error)

4.4.8. Aggregated Generation per Type [16.1.B&C]

func (*EntsoeClient) GetCapacityAllocatedOutsideEu

func (c *EntsoeClient) GetCapacityAllocatedOutsideEu(
	auctionType AuctionType,
	contractMarketAgreementType ContractMarketAgreementType,
	inDomain DomainType,
	outDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
	auctionCategory *AuctionCategory,
	classificationSequenceAttributeInstanceComponentPosition *int,
) (*PublicationMarketDocument, error)

4.2.16. Capacity Allocated Outside EU [12.1.H]

func (*EntsoeClient) GetCostsOfCongestionManagement

func (c *EntsoeClient) GetCostsOfCongestionManagement(
	domain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
	business *BusinessType,
) (*TransmissionNetworkMarketDocument, error)

4.3.3. Costs of Congestion Management [13.1.C]

func (*EntsoeClient) GetCountertrading

func (c *EntsoeClient) GetCountertrading(
	inDomain DomainType,
	outDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*TransmissionNetworkMarketDocument, error)

4.3.2. Countertrading [13.1.B]

func (*EntsoeClient) GetDayAheadAggregatedGeneration

func (c *EntsoeClient) GetDayAheadAggregatedGeneration(
	processType ProcessType,
	inDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*GLMarketDocument, error)

4.4.3. Day-ahead Aggregated Generation [14.1.C]

func (*EntsoeClient) GetDayAheadCommercialSchedules

func (c *EntsoeClient) GetDayAheadCommercialSchedules(
	inDomain DomainType,
	outDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
	contractType *ContractMarketAgreementType,
) (*PublicationMarketDocument, error)

4.2.14. Day-ahead Commercial Schedules [12.1.F]

func (*EntsoeClient) GetDayAheadPrices

func (c *EntsoeClient) GetDayAheadPrices(
	domain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*PublicationMarketDocument, error)

4.2.10. Day Ahead Prices [12.1.D]

func (*EntsoeClient) GetDayAheadTotalLoadForecast

func (c *EntsoeClient) GetDayAheadTotalLoadForecast(
	domain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*GLMarketDocument, error)

4.1.2. Day-Ahead Total Load Forecast [6.1.B]

func (*EntsoeClient) GetExpansionAndDismantlingProjects

func (c *EntsoeClient) GetExpansionAndDismantlingProjects(
	inDomain DomainType,
	outDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
	business *BusinessType,
	docStatus *DocStatus,
) (*TransmissionNetworkMarketDocument, error)

4.2.1. Expansion and Dismantling Projects [9.1]

func (*EntsoeClient) GetExplicitAllocationInformation

func (c *EntsoeClient) GetExplicitAllocationInformation(
	businessType BusinessType,
	contractMarketAgreementType ContractMarketAgreementType,
	inDomain DomainType,
	outDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
	auctionCategory *AuctionCategory,
	classificationSequenceAttributeInstanceComponentPosition *int,
) (*PublicationMarketDocument, error)

4.2.6. Explicit Allocation Information (Capacity) [12.1.A] 4.2.7. Explicit Allocation Information (Revenue only) [12.1.A]

func (*EntsoeClient) GetFlowBasedParameters

func (c *EntsoeClient) GetFlowBasedParameters(
	processType ProcessType,
	domain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*CriticalNetworkElementMarketDocument, error)

4.2.4. Flow-based Parameters [11.1.B]

func (*EntsoeClient) GetForecastedCapacity

func (c *EntsoeClient) GetForecastedCapacity(
	contractMarketAgreement ContractMarketAgreementType,
	inDomain DomainType,
	outDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*PublicationMarketDocument, error)

4.2.2. Forecasted Capacity [11.1.A]

func (*EntsoeClient) GetGenerationForecastsForWindAndSolar

func (c *EntsoeClient) GetGenerationForecastsForWindAndSolar(
	processType ProcessType,
	inDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
	psrType *PsrType,
) (*GLMarketDocument, error)

4.4.4. Day-ahead Generation Forecasts for Wind and Solar [14.1.D] 4.4.5. Current Generation Forecasts for Wind and Solar [14.1.D] 4.4.6. Intraday Generation Forecasts for Wind and Solar [14.1.D]

func (*EntsoeClient) GetImplicitAuction

func (c *EntsoeClient) GetImplicitAuction(
	businessType BusinessType,
	contractMarketAgreementType ContractMarketAgreementType,
	domain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*PublicationMarketDocument, error)

4.2.11. Implicit Auction — Net Positions [12.1.E] 4.2.12. Implicit Auction — Congestion Income [12.1.E]

func (*EntsoeClient) GetInstalledGenerationCapacityAggregated

func (c *EntsoeClient) GetInstalledGenerationCapacityAggregated(
	processType ProcessType,
	inDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
	psrType *PsrType,
) (*GLMarketDocument, error)

4.4.1. Installed Generation Capacity Aggregated [14.1.A]

func (*EntsoeClient) GetInstalledGenerationCapacityPerUnit

func (c *EntsoeClient) GetInstalledGenerationCapacityPerUnit(
	processType ProcessType,
	inDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
	psrType *PsrType,
) (*GLMarketDocument, error)

4.4.2. Installed Generation Capacity per Unit [14.1.B] TODO: is document type correct?

func (*EntsoeClient) GetIntradayTransferLimits

func (c *EntsoeClient) GetIntradayTransferLimits(
	inDomain DomainType,
	outDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*PublicationMarketDocument, error)

4.2.5. Intraday Transfer Limits [11.3]

func (*EntsoeClient) GetMonthAheadTotalLoadForecast

func (c *EntsoeClient) GetMonthAheadTotalLoadForecast(
	domain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*GLMarketDocument, error)

4.1.4. Month-Ahead Total Load Forecast [6.1.D]

func (*EntsoeClient) GetOfferedCapacity

func (c *EntsoeClient) GetOfferedCapacity(
	auctionType AuctionType,
	contractMarketAgreement ContractMarketAgreementType,
	inDomain DomainType,
	outDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
	auctionCategory *AuctionCategory,
	classificationSequenceAttributeInstanceComponentPosition *int,
) (*PublicationMarketDocument, error)

4.2.3. Offered Capacity [11.1.A]

func (*EntsoeClient) GetPhysicalFlows

func (c *EntsoeClient) GetPhysicalFlows(
	inDomain DomainType,
	outDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*PublicationMarketDocument, error)

4.2.15. Physical Flows [12.1.G]

func (*EntsoeClient) GetRedispatching

func (c *EntsoeClient) GetRedispatching(
	inDomain DomainType,
	outDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
	business *BusinessType,
) (*TransmissionNetworkMarketDocument, error)

4.3.1. Redispatching [13.1.A]

func (*EntsoeClient) GetTotalCapacityAlreadyAllocated

func (c *EntsoeClient) GetTotalCapacityAlreadyAllocated(
	businessType BusinessType,
	contractMarketAgreementType ContractMarketAgreementType,
	inDomain DomainType,
	outDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
	auctionCategory *AuctionCategory,
) (*PublicationMarketDocument, error)

4.2.9. Total Capacity Already Allocated [12.1.C]

func (*EntsoeClient) GetTotalCapacityNominated

func (c *EntsoeClient) GetTotalCapacityNominated(
	businessType BusinessType,
	inDomain DomainType,
	outDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*PublicationMarketDocument, error)

4.2.8. Total Capacity Nominated [12.1.B]

func (*EntsoeClient) GetTotalCommercialSchedules

func (c *EntsoeClient) GetTotalCommercialSchedules(
	inDomain DomainType,
	outDomain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
	contractType *ContractMarketAgreementType,
) (*PublicationMarketDocument, error)

4.2.13. Total Commercial Schedules [12.1.F]

func (*EntsoeClient) GetWeekAheadTotalLoadForecast

func (c *EntsoeClient) GetWeekAheadTotalLoadForecast(
	domain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*GLMarketDocument, error)

4.1.3. Week-Ahead Total Load Forecast [6.1.C]

func (*EntsoeClient) GetYearAheadForecastMargin

func (c *EntsoeClient) GetYearAheadForecastMargin(
	domain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*GLMarketDocument, error)

4.1.6. Year-Ahead Forecast Margin [8.1]

func (*EntsoeClient) GetYearAheadTotalLoadForecast

func (c *EntsoeClient) GetYearAheadTotalLoadForecast(
	domain DomainType,
	periodStart time.Time,
	periodEnd time.Time,
) (*GLMarketDocument, error)

4.1.5. Year-Ahead Total Load Forecast [6.1.E]

func (*EntsoeClient) PopulateMap

func (c *EntsoeClient) PopulateMap(r *GLMarketDocument, skipMode bool, res map[time.Time]int)

type GLMarketDocument

type GLMarketDocument struct {
	XMLName                     xml.Name `xml:"GL_MarketDocument"`
	Text                        string   `xml:",chardata"`
	Xmlns                       string   `xml:"xmlns,attr"`
	MRID                        string   `xml:"mRID"`                // ed7acd8a6d784b7ab2a703950...
	RevisionNumber              string   `xml:"revisionNumber"`      // 1, 1, 1, 1, 1, 1, 1, 1, 1...
	Type                        string   `xml:"type"`                // A65, A65, A65, A65, A65, ...
	ProcessProcessType          string   `xml:"process.processType"` // A16, A01, A31, A32, A33, ...
	SenderMarketParticipantMRID struct {
		Text         string `xml:",chardata"` // 10X1001A1001A450, 10X1001...
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"sender_MarketParticipant.mRID"`
	SenderMarketParticipantMarketRoleType string `xml:"sender_MarketParticipant.marketRole.type"` // A32, A32, A32, A32, A32, ...
	ReceiverMarketParticipantMRID         struct {
		Text         string `xml:",chardata"` // 10X1001A1001A450, 10X1001...
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"receiver_MarketParticipant.mRID"`
	ReceiverMarketParticipantMarketRoleType string `xml:"receiver_MarketParticipant.marketRole.type"` // A33, A33, A33, A33, A33, ...
	CreatedDateTime                         string `xml:"createdDateTime"`                            // 2020-09-12T00:13:12Z, 202...
	TimePeriodTimeInterval                  struct {
		Text  string `xml:",chardata"`
		Start string `xml:"start"` // 2015-12-31T23:00Z, 2015-1...
		End   string `xml:"end"`   // 2016-12-31T23:00Z, 2016-1...
	} `xml:"time_Period.timeInterval"`
	TimeSeries []struct {
		Text                     string `xml:",chardata"`
		MRID                     string `xml:"mRID"`              // 1, 2, 3, 4, 5, 6, 7, 8, 9...
		BusinessType             string `xml:"businessType"`      // A04, A04, A04, A04, A04, ...
		ObjectAggregation        string `xml:"objectAggregation"` // A01, A01, A01, A01, A01, ...
		OutBiddingZoneDomainMRID struct {
			Text         string `xml:",chardata"` // 10YCZ-CEPS-----N, 10YCZ-C...
			CodingScheme string `xml:"codingScheme,attr"`
		} `xml:"outBiddingZone_Domain.mRID"`
		QuantityMeasureUnitName string `xml:"quantity_Measure_Unit.name"` // MAW, MAW, MAW, MAW, MAW, ...
		CurveType               string `xml:"curveType"`                  // A01, A01, A01, A01, A01, ...
		Period                  struct {
			Text         string `xml:",chardata"`
			TimeInterval struct {
				Text  string `xml:",chardata"`
				Start string `xml:"start"` // 2015-12-31T23:00Z, 2016-0...
				End   string `xml:"end"`   // 2016-01-23T11:00Z, 2016-0...
			} `xml:"timeInterval"`
			Resolution string `xml:"resolution"` // PT60M, PT60M, PT60M, PT60...
			Point      []struct {
				Text     string `xml:",chardata"`
				Position string `xml:"position"` // 1, 2, 3, 4, 5, 6, 7, 8, 9...
				Quantity string `xml:"quantity"` // 5872, 5784, 5690, 5604, 5...
			} `xml:"Point"`
		} `xml:"Period"`
		InBiddingZoneDomainMRID struct {
			Text         string `xml:",chardata"` // 10YCZ-CEPS-----N, 10YCZ-C...
			CodingScheme string `xml:"codingScheme,attr"`
		} `xml:"inBiddingZone_Domain.mRID"`
		MktPSRType struct {
			Text                                        string `xml:",chardata"`
			PsrType                                     string `xml:"psrType"` // B16, B02, B02, B02, B02, ...
			VoltagePowerSystemResourcesHighVoltageLimit struct {
				Text string `xml:",chardata"` // 400, 400, 400, 400, 110, ...
				Unit string `xml:"unit,attr"`
			} `xml:"voltage_PowerSystemResources.highVoltageLimit"`
			PowerSystemResources struct {
				Text string `xml:",chardata"`
				MRID struct {
					Text         string `xml:",chardata"` // 27W-GU-ECHVG1--C, 27W-GU-...
					CodingScheme string `xml:"codingScheme,attr"`
				} `xml:"mRID"`
				Name string `xml:"name"` // ECHV_G1____, ECHV_G2____,...
			} `xml:"PowerSystemResources"`
		} `xml:"MktPSRType"`
		RegisteredResourceMRID struct {
			Text         string `xml:",chardata"` // 27W-PU-EPC1----Y, 27W-PU-...
			CodingScheme string `xml:"codingScheme,attr"`
		} `xml:"registeredResource.mRID"`
		RegisteredResourceName string `xml:"registeredResource.name"` // EPC1_______, EME3_______,...
	} `xml:"TimeSeries"`
}

type Parameter

type Parameter string

type ProcessType

type ProcessType string
const (
	ProcessTypeDayAhead                             ProcessType = "A01"
	ProcessTypeIntraDayIncremental                  ProcessType = "A02"
	ProcessTypeRealised                             ProcessType = "A16"
	ProcessTypeIntradayTotal                        ProcessType = "A18"
	ProcessTypeWeekAhead                            ProcessType = "A31"
	ProcessTypeMonthAhead                           ProcessType = "A32"
	ProcessTypeYearAhead                            ProcessType = "A33"
	ProcessTypeSynchronisationProcess               ProcessType = "A39"
	ProcessTypeIntradayProcess                      ProcessType = "A40"
	ProcessTypeReplacementReserve                   ProcessType = "A46"
	ProcessTypeManualFrequencyRestorationReserve    ProcessType = "A47"
	ProcessTypeAutomaticFrequencyRestorationReserve ProcessType = "A51"
	ProcessTypeFrequencyContainmentReserve          ProcessType = "A52"
	ProcessTypeFrequencyRestorationReserve          ProcessType = "A56"
)

type PsrType

type PsrType string
const (
	PsrTypeMixed                      PsrType = "A03"
	PsrTypeGeneration                 PsrType = "A04"
	PsrTypeLoad                       PsrType = "A05"
	PsrTypeBiomass                    PsrType = "B01"
	PsrTypeFossilBrownCoalLignite     PsrType = "B02"
	PsrTypeFossilCoalDerivedGas       PsrType = "B03"
	PsrTypeFossilGas                  PsrType = "B04"
	PsrTypeFossilHardCoal             PsrType = "B05"
	PsrTypeFossilOil                  PsrType = "B06"
	PsrTypeFossilOilShale             PsrType = "B07"
	PsrTypeFossilPeat                 PsrType = "B08"
	PsrTypeGeothermal                 PsrType = "B09"
	PsrTypeHydroPumpedStorage         PsrType = "B10"
	PsrTypeHydroRunOfRiverAndPoundage PsrType = "B11"
	PsrTypeHydroWaterReservoir        PsrType = "B12"
	PsrTypeMarine                     PsrType = "B13"
	PsrTypeNuclear                    PsrType = "B14"
	PsrTypeOtherRenewable             PsrType = "B15"
	PsrTypeSolar                      PsrType = "B16"
	PsrTypeWaste                      PsrType = "B17"
	PsrTypeWindOffshore               PsrType = "B18"
	PsrTypeWindOnshore                PsrType = "B19"
	PsrTypeOther                      PsrType = "B20"
	PsrTypeACLink                     PsrType = "B21"
	PsrTypeDCLink                     PsrType = "B22"
	PsrTypeSubstation                 PsrType = "B23"
	PsrTypeTransformer                PsrType = "B24"
)

type PublicationMarketDocument

type PublicationMarketDocument struct {
	XMLName                     xml.Name `xml:"Publication_MarketDocument"`
	Text                        string   `xml:",chardata"`
	Xmlns                       string   `xml:"xmlns,attr"`
	MRID                        string   `xml:"mRID"`           // abbbeef260884cb9b43858124...
	RevisionNumber              string   `xml:"revisionNumber"` // 1, 1, 1, 1, 1, 1, 1, 1, 1...
	Type                        string   `xml:"type"`           // A44, A25, A25, A09, A11, ...
	SenderMarketParticipantMRID struct {
		Text         string `xml:",chardata"` // 10X1001A1001A450, 10X1001...
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"sender_MarketParticipant.mRID"`
	SenderMarketParticipantMarketRoleType string `xml:"sender_MarketParticipant.marketRole.type"` // A32, A32, A32, A32, A32, ...
	ReceiverMarketParticipantMRID         struct {
		Text         string `xml:",chardata"` // 10X1001A1001A450, 10X1001...
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"receiver_MarketParticipant.mRID"`
	ReceiverMarketParticipantMarketRoleType string `xml:"receiver_MarketParticipant.marketRole.type"` // A33, A33, A33, A33, A33, ...
	CreatedDateTime                         string `xml:"createdDateTime"`                            // 2020-09-12T00:13:15Z, 202...
	PeriodTimeInterval                      struct {
		Text  string `xml:",chardata"`
		Start string `xml:"start"` // 2015-12-31T23:00Z, 2015-1...
		End   string `xml:"end"`   // 2016-12-31T23:00Z, 2016-1...
	} `xml:"period.timeInterval"`
	TimeSeries []struct {
		Text         string `xml:",chardata"`
		MRID         string `xml:"mRID"`         // 1, 2, 3, 4, 5, 6, 7, 8, 9...
		BusinessType string `xml:"businessType"` // A62, A62, A62, A62, A62, ...
		InDomainMRID struct {
			Text         string `xml:",chardata"` // 10YCZ-CEPS-----N, 10YCZ-C...
			CodingScheme string `xml:"codingScheme,attr"`
		} `xml:"in_Domain.mRID"`
		OutDomainMRID struct {
			Text         string `xml:",chardata"` // 10YCZ-CEPS-----N, 10YCZ-C...
			CodingScheme string `xml:"codingScheme,attr"`
		} `xml:"out_Domain.mRID"`
		CurrencyUnitName     string `xml:"currency_Unit.name"`      // EUR, EUR, EUR, EUR, EUR, ...
		PriceMeasureUnitName string `xml:"price_Measure_Unit.name"` // MWH, MWH, MWH, MWH, MWH, ...
		CurveType            string `xml:"curveType"`               // A01, A01, A01, A01, A01, ...
		Period               struct {
			Text         string `xml:",chardata"`
			TimeInterval struct {
				Text  string `xml:",chardata"`
				Start string `xml:"start"` // 2015-12-31T23:00Z, 2016-0...
				End   string `xml:"end"`   // 2016-01-01T23:00Z, 2016-0...
			} `xml:"timeInterval"`
			Resolution string `xml:"resolution"` // PT60M, PT60M, PT60M, PT60...
			Point      []struct {
				Text        string `xml:",chardata"`
				Position    string `xml:"position"`     // 1, 2, 3, 4, 5, 6, 7, 8, 9...
				PriceAmount string `xml:"price.amount"` // 16.50, 15.50, 14.00, 10.0...
				Quantity    string `xml:"quantity"`     // 226, 87, 104, 189, 217, 8...
			} `xml:"Point"`
		} `xml:"Period"`
		AuctionType                                              string `xml:"auction.type"`                                               // A01, A01, A01, A01, A01, ...
		ContractMarketAgreementType                              string `xml:"contract_MarketAgreement.type"`                              // A01, A01, A01, A01, A01, ...
		QuantityMeasureUnitName                                  string `xml:"quantity_Measure_Unit.name"`                                 // MAW, MAW, MAW, MAW, MAW, ...
		AuctionMRID                                              string `xml:"auction.mRID"`                                               // CP_A_Hourly_SK-UA, CP_A_D...
		AuctionCategory                                          string `xml:"auction.category"`                                           // A04, A04, A01, A01, A01, ...
		ClassificationSequenceAttributeInstanceComponentPosition string `xml:"classificationSequence_AttributeInstanceComponent.position"` // 1, 1
	} `xml:"TimeSeries"`
}

type TransmissionNetworkMarketDocument

type TransmissionNetworkMarketDocument struct {
	XMLName                     xml.Name `xml:"TransmissionNetwork_MarketDocument"`
	Text                        string   `xml:",chardata"`
	Xmlns                       string   `xml:"xmlns,attr"`
	MRID                        string   `xml:"mRID"`                // 54d07a10e4184f75b405430ca...
	RevisionNumber              string   `xml:"revisionNumber"`      // 1
	Type                        string   `xml:"type"`                // A92
	ProcessProcessType          string   `xml:"process.processType"` // A16
	CreatedDateTime             string   `xml:"createdDateTime"`     // 2020-09-12T00:13:33Z
	SenderMarketParticipantMRID struct {
		Text         string `xml:",chardata"` // 10X1001A1001A450
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"sender_MarketParticipant.mRID"`
	SenderMarketParticipantMarketRoleType string `xml:"sender_MarketParticipant.marketRole.type"` // A32
	ReceiverMarketParticipantMRID         struct {
		Text         string `xml:",chardata"` // 10X1001A1001A450
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"receiver_MarketParticipant.mRID"`
	ReceiverMarketParticipantMarketRoleType string `xml:"receiver_MarketParticipant.marketRole.type"` // A33
	PeriodTimeInterval                      struct {
		Text  string `xml:",chardata"`
		Start string `xml:"start"` // 2016-01-01T00:00Z
		End   string `xml:"end"`   // 2017-01-01T00:00Z
	} `xml:"period.timeInterval"`
	TimeSeries []struct {
		Text         string `xml:",chardata"`
		MRID         string `xml:"mRID"`         // 1, 2, 3, 4, 5, 6, 7, 8, 9...
		BusinessType string `xml:"businessType"` // B03, B03, B03, B03, B03, ...
		InDomainMRID struct {
			Text         string `xml:",chardata"` // 10YCZ-CEPS-----N, 10YCZ-C...
			CodingScheme string `xml:"codingScheme,attr"`
		} `xml:"in_Domain.mRID"`
		OutDomainMRID struct {
			Text         string `xml:",chardata"` // 10YCZ-CEPS-----N, 10YCZ-C...
			CodingScheme string `xml:"codingScheme,attr"`
		} `xml:"out_Domain.mRID"`
		CurveType string `xml:"curveType"` // A01, A01, A01, A01, A01, ...
		Period    struct {
			Text         string `xml:",chardata"`
			TimeInterval struct {
				Text  string `xml:",chardata"`
				Start string `xml:"start"` // 2016-01-01T00:00Z, 2016-0...
				End   string `xml:"end"`   // 2016-02-01T00:00Z, 2016-0...
			} `xml:"timeInterval"`
			Resolution string `xml:"resolution"` // P1M, P1M, P1M, P1M, P1M, ...
			Point      struct {
				Text     string `xml:",chardata"`
				Position string `xml:"position"` // 1, 1, 1, 1, 1, 1, 1, 1, 1...
			} `xml:"Point"`
		} `xml:"Period"`
	} `xml:"TimeSeries"`
}

type UnavailabilityMarketDocument

type UnavailabilityMarketDocument struct {
	XMLName                     xml.Name `xml:"Unavailability_MarketDocument"`
	Text                        string   `xml:",chardata"`
	Xmlns                       string   `xml:"xmlns,attr"`
	MRID                        string   `xml:"mRID"`                // kjfQMlmtlZVC32VliNsNQg, -...
	RevisionNumber              string   `xml:"revisionNumber"`      // 2, 1, 3, 3, 3, 3, 3, 2, 2...
	Type                        string   `xml:"type"`                // A79, A79, A79, A79, A79, ...
	ProcessProcessType          string   `xml:"process.processType"` // A26, A26, A26, A26, A26, ...
	CreatedDateTime             string   `xml:"createdDateTime"`     // 2016-05-13T06:19:51Z, 201...
	SenderMarketParticipantMRID struct {
		Text         string `xml:",chardata"` // 10X1001A1001A450, 10X1001...
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"sender_MarketParticipant.mRID"`
	SenderMarketParticipantMarketRoleType string `xml:"sender_MarketParticipant.marketRole.type"` // A32, A32, A32, A32, A32, ...
	ReceiverMarketParticipantMRID         struct {
		Text         string `xml:",chardata"` // 10X1001A1001A450, 10X1001...
		CodingScheme string `xml:"codingScheme,attr"`
	} `xml:"receiver_MarketParticipant.mRID"`
	ReceiverMarketParticipantMarketRoleType string `xml:"receiver_MarketParticipant.marketRole.type"` // A33, A33, A33, A33, A33, ...
	UnavailabilityTimePeriodTimeInterval    struct {
		Text  string `xml:",chardata"`
		Start string `xml:"start"` // 2015-11-23T17:50Z, 2015-1...
		End   string `xml:"end"`   // 2016-05-12T19:51Z, 2016-0...
	} `xml:"unavailability_Time_Period.timeInterval"`
	TimeSeries struct {
		Text                  string `xml:",chardata"`
		MRID                  string `xml:"mRID"`         // 1, 1, 1, 1, 1, 1, 1, 1, 1...
		BusinessType          string `xml:"businessType"` // A54, A54, A54, A54, A54, ...
		BiddingZoneDomainMRID struct {
			Text         string `xml:",chardata"` // 10YDE-EON------1, 10YDE-E...
			CodingScheme string `xml:"codingScheme,attr"`
		} `xml:"biddingZone_Domain.mRID"`
		StartDateAndOrTimeDate                                          string `xml:"start_DateAndOrTime.date"`   // 2015-11-23, 2015-12-29, 2...
		StartDateAndOrTimeTime                                          string `xml:"start_DateAndOrTime.time"`   // 17:50:00Z, 19:43:00Z, 07:...
		EndDateAndOrTimeDate                                            string `xml:"end_DateAndOrTime.date"`     // 2016-05-12, 2016-01-05, 2...
		EndDateAndOrTimeTime                                            string `xml:"end_DateAndOrTime.time"`     // 19:51:00Z, 19:43:00Z, 16:...
		QuantityMeasureUnitName                                         string `xml:"quantity_Measure_Unit.name"` // MAW, MAW, MAW, MAW, MAW, ...
		CurveType                                                       string `xml:"curveType"`                  // A03, A03, A03, A03, A03, ...
		ProductionRegisteredResourcePSRTypePowerSystemResourcesNominalP struct {
			Text string `xml:",chardata"` // 113, 156, 864, 144, 144, ...
			Unit string `xml:"unit,attr"`
		} `xml:"production_RegisteredResource.pSRType.powerSystemResources.nominalP"`
		AssetRegisteredResource struct {
			Text string `xml:",chardata"`
			MRID struct {
				Text         string `xml:",chardata"` // 11TD2L000000267O, 11TD2L0...
				CodingScheme string `xml:"codingScheme,attr"`
			} `xml:"mRID"`
			Name                string `xml:"name"`                  // L-155-RIFF-EMDB-AC114, L-...
			AssetPSRTypePsrType string `xml:"asset_PSRType.psrType"` // B21, B21, B23, B21, B21, ...
			LocationName        string `xml:"location.name"`         // Riffgat-Emden/Borssum, Bo...
		} `xml:"Asset_RegisteredResource"`
		WindPowerFeedinPeriod struct {
			Text         string `xml:",chardata"`
			TimeInterval struct {
				Text  string `xml:",chardata"`
				Start string `xml:"start"` // 2015-11-23T17:50Z, 2015-1...
				End   string `xml:"end"`   // 2016-05-12T19:51Z, 2016-0...
			} `xml:"timeInterval"`
			Resolution string `xml:"resolution"` // PT1M, PT1M, PT1M, PT1M, P...
			Point      struct {
				Text     string `xml:",chardata"`
				Position string `xml:"position"` // 1, 1, 1, 1, 1, 1, 1, 1, 1...
				Quantity string `xml:"quantity"` // 0, 80, 545, 142, 141, 141...
			} `xml:"Point"`
		} `xml:"WindPowerFeedin_Period"`
	} `xml:"TimeSeries"`
	Reason struct {
		Text string `xml:",chardata"`
		Code string `xml:"code"` // B18, B18, B18, B18, B18, ...
	} `xml:"Reason"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL