← Back to the map

Methodology & sources

How the Green Hydrogen Cost Atlas turns a click on the map into a levelized cost of hydrogen (LCOH), and where every number comes from.

What this is — and isn't. This tool is a global pre-feasibility screening model. It uses long-term satellite/reanalysis climatology, generic technology curves and transparent cost assumptions to compare locations and to show which cost components dominate. Its onshore hybrid study uses five years of synchronized hourly weather, but it is not a substitute for on-site resource measurement or project-specific engineering. Treat absolute values as ±25–30% and relative comparisons between sites as considerably better than that.

1. Plant architecture modeled

An off-grid, dedicated ("islanded") plant: a solar PV park, wind farm, or co-located mix whose only customer is a co-located electrolyzer. There is no grid connection, no battery, and no sale of surplus power — energy above the electrolyzer's rating is curtailed. This is the canonical configuration for large export-scale green hydrogen studies (IEA, IRENA, HyChain analyses).

2. Input data

DatasetUsed forNotes
NASA POWER climatology (2001–2020) Solar irradiance (GHI), wind speed at 50 m, air temperature Satellite CERES/SYN1deg solar data on a 1° grid plus MERRA-2 meteorology on a 0.5°×0.625° grid; valid over land and ocean. The atlas grid is prebuilt from regional requests; clicked-point monthly and annual means are fetched live.
NASA POWER hourly (2016–2020) Synchronized onshore solar + wind design study Up to 43,848 UTC observations including leap days. GHI, 50 m wind and temperature are joined by the same timestamp. Hours missing GHI or wind remain explicit gaps; the simulator assumes no renewable supply, turns off and cools during them. Missing temperature uses 15 °C for the PV conversion only. Coverage is reported. Data are fetched only for a selected onshore point, then optimized in a background browser worker.
Natural Earth 50 m land polygons Onshore/offshore classification; shortest distance to shore Bundled with the app; distance computed to the nearest coastline segment (local equirectangular approximation).
ETOPO1 via OpenTopoData Water depth at offshore points → fixed-bottom vs floating 1-arc-minute global relief. If the service is unreachable the app falls back to a distance-to-shore heuristic and says so.
Map layers versus point results. The bundled global cost and least-cost-technology layers are precomputed standalone screening estimates using the original constant-efficiency baseline. Their underlying calculation grid is 1°; browser overlays are rendered at 4096-pixel width in Web Mercator and interpolated within land and ocean separately so coastlines align without implying additional source-data precision. Solar and wind layers show the underlying climatological resources. A map click snaps to the nearest 1° atlas coordinate: the displayed coordinate, marker, land/offshore classification, resource requests, and shareable URL all use that same model cell. The click then launches the higher-detail five-year hourly onshore study; the map layer itself is not an hourly hybrid-cost surface. After an assumption changes, “Recalculate layer” recomputes all 52,345 source cells from the bundled resource grid and renders a new 4096-pixel-wide global Mercator overlay. The recalculation applies the load curve when load or dynamic mode is selected, but duration curves cannot represent startup or thermal chronology. The result remains available while the user pans or zooms anywhere covered by the default atlas. A global redraw evaluates about four times as many cells as the former 2° surface and intentionally takes longer. The smoother image improves alignment and readability, but does not claim finer precision than the 1° calculation grid.
The fast standalone estimates and global recalculation use a 20-year climatology, while the onshore design study preserves chronology across five complete weather years. Neither dataset captures microscale effects — ridgeline speed-ups, coastal thermal winds, or horizon shading. The underlying solar grid is 1° and meteorology grid is 0.5°×0.625°. For the fast standalone screening model, wind capacity factors derived from a mean speed and an assumed Weibull distribution are a major uncertainty.

3. Solar PV energy model

Annual plane-of-array irradiance is estimated from horizontal irradiance (GHI) with a transposition factor for the mounting system, plus a bifacial gain:

GTI = GHI × transposition (1.22 tracker / 1.10 fixed) × (1 + bifacial gain)

Energy yield applies system losses and a temperature derate computed from the site's actual air temperature (generation-weighted cell temperature ≈ annual mean ambient + 3 °C daytime bias + 25 °C irradiance rise):

Yield [kWh/kWp·yr] = GTI × 365 × (1 − system losses) × (1 − γ·(T_cell − 25°C)) CF = Yield / 8760

Lifetime degradation (default 0.5%/yr) enters as a discounted average energy factor. Inverter clipping (DC/AC ratio) is not modeled separately — it is inside the system-loss term. The output duration curve used for electrolyzer coupling is a calibrated parametric curve g(x) = 1 − (x/x₀)ᵖ, x₀ = 0.45 whose mean equals the computed CF — i.e. generation occurs in ~45% of hours (daylight), peaking at rated power. The hybrid study instead converts each hourly GHI and temperature observation to PV output, applying the same mounting, bifacial, system-loss, temperature, and degradation assumptions.

4. Wind energy model

NASA POWER's 50 m wind speed is extrapolated to hub height with the power law v(h) = v₅₀·(h/50)^α (α = 0.14 onshore, 0.11 offshore). Speeds are assumed Weibull-distributed with shape k (2.0 onshore — the Rayleigh assumption standard when only the mean is known — 2.2 offshore) and scale c = v̄/Γ(1+1/k).

The speed distribution is pushed through a generic turbine power curve parameterized by specific power (W of rated capacity per m² of rotor): cut-in 3 m/s, cut-out 25 m/s, rated speed from P/A = ½·ρ·Cp_eff·v³ with Cp_eff = 0.42, cubic power rise between. Wake, electrical and availability losses (default 13% onshore / 12% offshore) scale the result. Sampling 400 Weibull quantiles yields the standalone screening duration curve. The hybrid study bypasses the Weibull assumption: each observed hourly 50 m speed is extrapolated to hub height and passed directly through the same turbine power curve.

5. Electrolyzer coupling — the sizing ratio

The central design decision of an islanded hydrogen plant is the sizing ratio r — generator capacity per unit of electrolyzer capacity. Oversizing (r > 1) fills the electrolyzer's duty cycle (more kg per $ of electrolyzer) but curtails generation peaks (fewer kWh per $ of generator). From the generation duration curve g(x):

electrolyzer load(x) = min( r · g(x) · (1 − cable loss), 1 ), zero below minimum load electrolyzer CF = ∫₀¹ load(x) dx curtailed share = 1 − CF_ely / (r · CF_gen)

Defaults are r = 1.6 for solar and 1.15 for wind; the Optimize climatology ratio button sweeps r from 0.6 to 3.0 and adopts the LCOH-minimizing value for the clicked site. Minimum-load defaults (5% PEM, 15% alkaline) are screening assumptions, not equipment guarantees. Below this threshold the standalone model produces no hydrogen. In load or dynamic mode, each productive duration-curve sample uses the load-dependent system consumption described below. Constant mode retains the original fixed-consumption baseline. Because these curves discard chronology, standalone and offshore screening do not simulate startup, standby, thermal memory or cycling wear.

Variable-power electrolyzer response

The Power-response model control in Assumptions provides three comparisons. All use the same rated system energy consumption, minimum-load limit and renewable supply. The default is the dynamic scenario; PEM and alkaline have independently editable coefficients and response times.

ModeHourly calculationPurpose
Constant efficiencyFixed kWh/kg above minimum load; immediate operation and shutdown. Original baseline for comparison.
Load-dependent efficiencySystem kWh/kg depends on accepted load; no startup or thermal memory. Separates the effect of operating-load distribution.
Load + startup + thermal responseLoad curve plus off, starting, producing and warm-standby states. Includes sequence-dependent response in the hourly onshore study.
Illustrative response assumptions. The cited research supports modeling load-dependent system consumption and operational memory. It does not calibrate this atlas's generic curves or its startup, standby and thermal defaults. Those values are transparent scenario choices, suitable for sensitivity analysis; equipment-specific system measurements are needed for calibration. The same illustrative gain and auxiliary coefficients are used initially for PEM and alkaline, without implying that their actual curves are identical. There is no blanket percentage penalty for fluctuating power.

For productive operation at accepted fractional load q, the warm system-specific electricity consumption (SEC) is:

SEC_warm(q) = SEC_rated × [1 − g × (1 − q) + a × (1/q − 1)] SEC(q, θ) = SEC_warm(q) × [1 + c × (1 − θ)]

g is the part-load gain coefficient, a the low-load auxiliary coefficient, and c the cold-consumption penalty, all entered as percentages and converted to fractions. The thermal multiplier applies only in dynamic mode. Rated SEC remains 55 kWh/kg for PEM and 53 kWh/kg for alkaline by default. These anchors include the rectifier and balance of plant: the load curve redistributes their effect with load, so production auxiliaries are not added again. At q = 1 and reference warmth the curve returns exactly the rated SEC.

Electrical boundary: to preserve the atlas's existing capacity convention, the normalized 1 kW intake covers electrolysis and optional downstream compression together. Load q is accepted power at that shared intake divided by its rating. Production at that load is q / [SEC(q, θ) + compression SEC] kg/h per kW of intake. Thus compression is paid for from the same electricity budget, not from an additional supply. This convention approximates a package-level response; a manufacturer curve specified against stack DC power would first need conversion to the same boundary.

For reproducibility, constant mode also retains the original compressor sizing of 1 / rated SEC kg/h per kW of intake. Load and dynamic modes size the compressor from simulated peak hydrogen flow. Their LCOH comparison therefore includes this sizing refinement as well as the change in electrolyzer response.

StateElectricity and hydrogenTransition
OffNo electricity consumed; no hydrogen; passive cooling. Starts when renewable power meets both the minimum-load and startup-power requirements.
StartingConsumes configured startup power; produces no hydrogen; warms up. Becomes productive after the cold or warm startup delay. Insufficient supply aborts startup.
ProducingConsumes accepted power up to rating; hydrogen follows the SEC curve; warms up. Below minimum load, enters standby when its power demand can be supplied, otherwise turns off.
Warm standbyConsumes configured standby power; produces no hydrogen; maintains warmth. Restarts when supply returns, or turns off when the duration limit or power requirement is exceeded.

With the default Normalized response option, warmth θ is a normalized state: 0 means ambient and 1 means reference operating temperature. It is not a prediction in degrees Celsius or a full heat balance. A start initiated at θ ≥ 0.5 uses the warm-start delay; a colder start uses the cold-start delay. The model starts cold. First-order heating and cooling use exponential updates:

powered: θ_after = 1 − (1 − θ_before) × exp(−Δt / τ_heat) off: θ_after = θ_before × exp(−Δt / τ_cool) τ_heat = warmup time / q during production; warmup time during startup or standby

Warm standby can only draw from current renewable output. With no battery or grid, a zero-power solar night cannot keep the plant warm using free energy. Startup and standby consumption are included in plant electricity use and effective kWh/kg, but never produce hydrogen. Cold and warm start counts record initiated attempts, including attempts interrupted before production.

Startup and thermal response are integrated within each weather interval while its renewable power is held constant. This accounts for a startup occupying only part of an hour, but does not reconstruct subhourly solar or wind fluctuations. No fast electrical ramp-rate limit, pressure controller, gas-purity transient or detailed thermal-control system is represented.

Research motivating these mechanisms includes Virah-Sawmy et al. (2024), whose fixed-efficiency/hourly baseline overestimated production by 5–24% relative to their variable-efficiency/five-minute cases at six Australian sites; this range is specific to their curves and baseline. Crespi et al. (2023) show why a PEM system curve must include auxiliaries, while Rauls et al. (2024) demonstrate temperature and control effects during renewable-powered PEM operation. Zhang et al. (2021) demonstrate variable-wind operation of an alkaline pilot, motivating a separate technology configuration without transferring that pilot's operating limits to all alkaline systems.

One onshore optimum, used consistently. Once the hourly study is available, the lower solar-only and wind-only detail cards use the same synchronized 2016–2020 profiles, cost assumptions and pure-resource boundary solutions as the comparison above. Their “Show hourly sizing curve” buttons plot those same hourly calculations and do not run the standalone climatology optimizer. The climatology sizing model remains a clearly labeled fallback for offshore points or when hourly data are unavailable.

Editable equipment reference designs

The PEM and alkaline reference buttons in Assumptions select an equipment load table and an equipment heat balance. These are assumed designs, not named vendor products or fits to published experiments. Users can replace each value with data for their chosen equipment. Applying a preset replaces performance settings for that technology; costs, financing, cycling sensitivity and the other technology's values are retained. Settings are saved in the browser and included in study exports. Reset all restores the simplified default model.

Load at shared intakePEM system kWh/kgAlkaline system kWh/kg
5%83100
10%6576
25%5555
50%53.551.8
75%5452.2
100%5553

All entries are editable assumed warm-system values. Interpolation between points is linear; below 5% the first value is held, but the minimum-load limit still applies. The 100% point is the rated SEC shared by all modes. Normal production BoP consumption is already included. Convert supplier data to this model's shared-intake boundary before entering it; stack-only DC data are not interchangeable with whole-system AC data. Constant mode ignores the remaining table points. Duration-curve screening uses the selected curve at reference temperature without thermal memory.

The optional thermal model uses a single equipment temperature and heat balance:

C dT/dt = Q_process + P_heating − UA(T − T_ambient) − Q_cooling Q_process = retained fraction × (P_electrolysis_system − 39.4 × hydrogen kg/h) SEC(q,T) = SEC_warm(q) × [1 + temperature coefficient × max(0, T_reference − T)]

The 39.4 kWh/kg term is hydrogen's higher heating value. Retained heat represents only the portion of excess system energy entering the modeled thermal mass; the remainder dissipates outside it. Downstream compressor heat is excluded. Heating is the smaller of heater capacity and the already budgeted startup or standby draw; it is a subset of that electricity, not an additional charge. There is no dedicated production heater. Cooling removes heat toward the temperature target up to its configured thermal capacity; normal cooling auxiliaries remain inside system SEC.

PEM / alkaline reference assumptions are respectively 70 / 80 °C operating temperature, 1.5 / 3.5 kWh/K thermal capacity per MW, 120 / 180 W/K ambient loss per MW, 100 / 200 kW heating per MW, and 400 kW thermal cooling per MW for either technology. Both initially retain 80% of excess process energy and apply a 0.2%/°C cold SEC penalty. These numerical choices are assumptions. The lumped-model approach is informed by Ulleberg (2003); that reference does not validate these preset values.

Initial equipment temperature equals ambient. Valid weather temperatures drive losses; missing temperatures use the editable fallback (15 °C by default). Explicit timestamp gaps receive no power and cool using the preceding ambient value. A warm start means the equipment is at least halfway from current ambient to the reference temperature. The configured startup delay determines when production begins; there is no temperature or gas-purity interlock. Thermal updates are exact for constant heat flows; temperature-dependent SEC is evaluated at intervals of at most five minutes during production transients. This numerical resolution does not create subhourly weather data.

Diagnostics include the temperature range, startup/standby heater energy (already counted in electricity consumption), cooling heat, and approximate operating hours above target. Undersized cooling may exceed the target; temperature is not artificially clipped and no protective shutdown is assumed. Such a case needs revised equipment assumptions. Both thermal choices omit separate fluid loops, feed and gas enthalpy, pressure, and detailed controllers; neither is a validated plant model.

Hourly solar + wind optimization

For onshore points, shared plant intake capacity is normalized to 1 kW and the model jointly searches PV capacity rₛ and wind capacity rᵥ, each expressed as kW of generation per kW of electrolyzer. The hourly profiles remain in timestamp order, preserving daytime, weather and seasonal co-variation. They are never independently sorted into duration curves before being combined.

PV(t) = clip[GHI(t)/1000 × transposition × bifacial gain × system losses × temperature factor, 0, 1] Wind(t) = turbine_curve[WS₅₀(t) × hub-height correction] × wind-loss factor available(t) = rₛ × PV(t) × lifetime-PV-degradation factor + rᵥ × Wind(t) productive load q(t) = min[available(t), 1], when the selected operating mode permits production

Solar, wind and hybrids use the same response simulator and financial assumptions. Renewable electricity is allocated to production (including optional compression), startup, warm standby or curtailment. Surplus above the intake rating is curtailed. Power below minimum production load can support standby in dynamic mode; otherwise it is also curtailed.

H₂ in interval = ∫productive q(t) / [SEC(q(t), θ(t)) + compression SEC] dt annual H₂ = total simulated H₂ × 8,760 / elapsed weather hours annual consumed electricity = (productive + startup + standby energy) × 8,760 / elapsed weather hours effective system kWh/kg = total consumed electricity / total H₂

The five-year simulation is converted to a representative mean annual output using a standardized 8,760-hour year, including the elapsed duration of leap days and missing-data gaps in the denominator. Missing resource hours are conservatively treated as no supply with passive cooling; they are not interpolated or silently removed to join unrelated operating hours. This can underestimate production when coverage is incomplete, so the results report weather coverage. A missing ambient temperature observation uses 15 °C for PV conversion and the editable ambient fallback for the equipment heat balance. The simplified normalized thermal state does not use ambient degrees.

Comparison results report annual hydrogen, effective kWh/kg, starts, standby consumption, curtailment and LCOH. The numerator of LCOH separately annualizes PV, wind, electrolysis, stack replacement, water, compression and buffer-storage costs. Replacement timing follows productive operating hours, with optional start-equivalent wear as described below. Solar and wind energy shares describe available renewable generation before curtailment; consumed or curtailed hybrid electricity is not assigned back to one technology.

Weather period versus project life: 2016–2020 supplies five years of hourly operating chronology; the default 25-year project life is the financial horizon used to annualize capital and replacement costs. The model assumes the five-year weather sample is representative of operations over that horizon; it does not currently download or simulate 25 distinct weather years.

Capacity search and recommendation rule

6. Financial method

All costs are annualized with the capital recovery factor at a single real WACC (default 7%):

CRF(w, N) = w·(1+w)ᴺ / ((1+w)ᴺ − 1) LCOH = Σ annualized costs [$/kW_ely·yr] ÷ hydrogen output [kg/kW_ely·yr]

Cycling degradation as a sensitivity

Cycling sensitivity: hours per start defaults to zero, so cycling does not shorten stack life unless explicitly enabled. A nonzero coefficient adds the same equivalent operating-hour charge for every cold or warm start attempt in the chronological dynamic simulation:

annual replacement wear = productive hours/year + (cold + warm starts/year) × equivalent hours/start

This changes the replacement-cost schedule only. It does not simulate increasing SEC with age or apply an extra hydrogen-yield penalty. Kuhnert et al. (2024) found that shutdown strategy affected PEM cell degradation in accelerated stress tests, but explicitly distinguish qualitative mechanisms from a quantitative plant-lifetime model. No universal hours-per-start coefficient can be inferred from that experiment. The sensitivity is therefore a user-selected scenario, not an empirical lifetime forecast; duration-curve screening cannot compute it because it contains no start chronology.

7. Offshore transmission

For offshore points the export system is sized to the electrolyzer intake (excess wind output is curtailed at the platform, so the cable never needs to carry the full oversized farm rating). The model prices both options at the site's cable distance and picks the cheaper:

HVAC: $240/kW substations + $4.5/kW·km losses 0.5% + 0.03%/km HVDC: $430/kW converter pair + $1.8/kW·km losses 1.4% + 0.0035%/km

The crossover lands near 70–90 km, matching industry practice. Cable losses reduce delivered energy. Foundations: fixed-bottom to 60 m depth (ETOPO1), floating beyond — floating adds platform/mooring CAPEX, extra installation cost and higher O&M. The cable route is drawn as a straight line to the nearest shore point; real routing, seabed conditions and landfall constraints are site-specific.

8. Every default, with its source

The tables below are generated from the same file the model reads (assumptions.js) — the documentation cannot drift from the calculation. All values are editable in the app's Assumptions tab. Costs in 2024 US$; rates are real. The new electrolyzer response coefficients and timing defaults are explicitly labeled illustrative scenario assumptions; supporting papers establish mechanisms rather than a universal default parameter set.

9. Known limitations

10. References

← Back to the map