Conversation
patrickbrown4
left a comment
There was a problem hiding this comment.
Thanks! Sorry about all the minor formatting stuff; just trying to avoid conflicts since a few other open PRs touch these same files. Happy to discuss the transmission FOM stuff if helpful.
There was a problem hiding this comment.
Can you add an inputs/employment/README.md file describing the sources (with links) and explicit units for each of the files in this folder?
There was a problem hiding this comment.
We should also add a section on the employment calculations to the docs.
| $routes(r,rr,trtype,t)], | ||
| CAPTRAN_ENERGY(r,rr,trtype,t) | ||
| * pvf_onm(t) | ||
| * employment_factor_inter_transmission("fom") } |
There was a problem hiding this comment.
Sorry I missed this earlier but it seems like there should be a / 2 here
| * employment_factor_inter_transmission("fom") } | |
| * CAPTRAN_ENERGY is defined in both directions so needs to be divided by 2 | |
| * employment_factor_inter_transmission("fom") / 2 } |
There was a problem hiding this comment.
Actually it looks like we're high by a factor of 2 in the objective function too (so it makes sense why it's not included here):
Line 180 in 13224b8
Let's do the fix for that in a separate PR though
There was a problem hiding this comment.
Thinking about it more, I'm not sure I understand how a transmission employment factor in terms of [job-years/MW] would work, so maybe best to discuss. The alternative would be to keep it in [job-years/$] and use equations similar to the transmission FOM calculation (with interface-dependent costs) in the objective function:
Lines 178 to 188 in 13224b8
There was a problem hiding this comment.
I updated this term using trans_fom_frac and created an issue for CAPTRAN_ENERGY terms in objective function #127 so we remember to fix it in a separate PR.
| $offempty | ||
|
|
||
| * Employment factors of transmission deployment and flow | ||
| parameter employment_factor_inter_transmission(jtype) "--job-years/MW or job-years/$M-- employment factors of transmission lines by job type (construction or o&m jobs)" |
There was a problem hiding this comment.
Sorry, I think we discused this but am forgetting the details. How does it work to have job-years/MW for transmission FOM? I would think that 1000 MW on a 100-mile path would have more O&M requirements than 1000 MW on a 1-mile path, but if the units are [job-years/MW], they'd come out the same.
Also can you specify the units used for each jtype as noted above?
Co-authored-by: Patrick Brown <25125211+patrickbrown4@users.noreply.github.com>
Co-authored-by: Patrick Brown <25125211+patrickbrown4@users.noreply.github.com>
Co-authored-by: Patrick Brown <25125211+patrickbrown4@users.noreply.github.com>
Co-authored-by: Patrick Brown <25125211+patrickbrown4@users.noreply.github.com>
Co-authored-by: Patrick Brown <25125211+patrickbrown4@users.noreply.github.com>
Co-authored-by: Patrick Brown <25125211+patrickbrown4@users.noreply.github.com>
Summary
This PR adds some updates to MGA, cplex settings for national MGA runs, and employment outputs using employment factors from JEDI and literature.
Technical details
Implementation notes
inputs/employmentfolder.b_inputs.gms: Read in employment factors input (from JEDI, Mayfield et al. (2023), Rutovitz et al, (2024), or Ram et al. (2020)).d_mga.gms: Add option to run MGA max/min for all capacity, generation, and employment (sum of construction, FOM, and VOM jobs-years for power plants and transmission lines).e_report.gms: Add employment outputs.cplex.op3andcplex.op4. Default setting iscplex.op3. Users can switch tocplex.op4if runs still hang withcplex.op3settings:cplex.op3andcplex.op4are specifically for MGA runs which have difficulties withcplex.optandcplex.op2. They differ from cplex.opt and cplex.op2 in that they set predual = -1, which does not send dual to optimizer to reduce time; sets barcrossalg = 1, which only performs primal crossover; and sets baralg = 3 (cplex.op3).Switches added/removed/changed
GSw_EmploymentFactor: Employment factor by technologies, options includingjedi, and recent literature includingmayfield,rutovitz, andram. Default isjedi.GSw_gopt_mga: cplex opt file for MGA run. Default is 3 (cplex.op3).GSw_MGA_Objective: Addgenerationandemploymentoptions.GSw_MGA_SubObjective: Addgentechoption to maximize/minimize all capacity.Issues resolved
Known incompatibilities
Relevant sources or documentation
Charge code for review
GDOP.12495.25.01.01
Validation, testing, and comparison report(s)
Comparison reports pending.
Checklist for author
Details to double-check
hourlize/resource.pywas rerun to regenerate the existing/prescribed VRE capacity dataGeneral information to guide review
Did you use LLM tools (chatbot or copilot) in the preparation of this PR? If so, describe how
Tag points of contact here if you would like additional review of the relevant parts of the model