powerplantmatching icon indicating copy to clipboard operation
powerplantmatching copied to clipboard

Global Energy Monitor: Location versus Unit/Phase ID

Open leostimpfle opened this issue 10 months ago • 4 comments

How does powerplantmatching decide if the pojectID refers to a plant's GEM location ID or GEM unit/phase ID?

For example, for the Staudinger power plant there are two units: The coal-fired unit has a list of GEM unit/phase IDs ('G100000109620', 'G100000109621', 'G100000109623', 'G100000109622') while the gas-fired unit is linked to the plant's GEM location ID ('L100000101908'). What is the underlying methodology for this matching?

import powerplantmatching as pm
df = pm.powerplants(from_url=True)

plant_name = 'Staudinger'
df.loc[df['Name']==plant_name, 'projectID']

leostimpfle avatar Jan 13 '25 15:01 leostimpfle

Hey @leostimpfle,

Those columns are hardcoded into data.py. Have a look in there (just search for GEM location ID etc) and you will find where it has been renamed. Only the global gas power plant tracker uses GEM location ID.

projectID also has no effect on matching process. Only the other columns. As far as I know at least

lkstrp avatar Jan 29 '25 16:01 lkstrp

Thanks for the explanation @lkstrp ! I might be missing something but wouldn't using GEM unit/phase ID across all trackers make more sense? Unles there is a specific reason for this choice, I might check if changing GGPT in data.py accordingly will break anything.

leostimpfle avatar Feb 06 '25 11:02 leostimpfle

Sorry for the delay. Have you checked if the change breaks anything?

I agree that GEM unit/phase ID should refer to projectID and not GEM location ID. I can only see a reason for using GEM location ID for the matching process, but then a new matching column would be needed, or it would have to be integrated into name for example.

lkstrp avatar Apr 10 '25 14:04 lkstrp

Yes!

fneum avatar Aug 21 '25 06:08 fneum