The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

aemo 0.4.3

Bug-fix release. Most queries for data more than about two days old failed, the download cache never worked, aemo_bids() failed for every date and aemo_mlf() outside July. Live tests that would have shown this were being skipped.

Queries older than two days work again

NEMweb now keeps the five-minute files in its Current directory for only about two days; the package assumed 30. Any aemo_price(), aemo_demand(), aemo_dispatch_units() or other NEMweb query for a day between two and 30 days ago therefore looked only in Current, found nothing, and stopped with “No NEMweb files matched the requested range”. Older days fell through to the Archive, which failed too (see below). Each day is now read from an Archive rollup when one exists and from Current otherwise, whatever NEMweb’s retention.

Bids

Marginal loss factors

aemo_mlf() read the newest monthly MMSDM TRANSMISSIONLOSSFACTOR file. Only the June file holds the full determination for the year ahead; the other months carry a few revisions, so outside July the function found too few rows and reported MMSDM as unreachable. Each requested year is now built from its June file and the revisions after it, keeping the latest version of each factor. year = NULL returns the current financial year (previously documented as all years).

The duid filter did nothing, because MMSDM publishes MLFs by connection point and the table has no duid column. DUIDs are now mapped to connection points through aemo_units(), which adds a duid column. The help page also described a bundled fallback table that the function deliberately does not have; it no longer does.

HTTPS

NEMweb now redirects http:// to https://; the package requests https://nemweb.com.au directly.

The cache works

aemo_sha256_file() returned openssl’s "hash" object rather than a plain string, so the integrity check against the stored digest always failed: every cached file was reported as corrupt, deleted and downloaded again. It now returns a plain string. It also closes the file connection it opens, and aemo_parse_csv() no longer opens a text connection per CSV line without closing it.

Tests

The integration tests checked reachability against http://nemweb.com.au, which now redirects to aemo.com.au and returns 403, so they were always skipped; their fixed 2021-2024 dates had also aged out of NEMweb. They now probe the reports directory and use dates relative to today.

aemo 0.4.2

Maintenance release fixing a network-dependent test that could fail the package check whenever the NEMweb archive was unreachable.

aemo_fcas_enablement() validated its service argument only after fetching dispatch data, so an unknown service name surfaced the underlying fetch error (for example “NEMweb returned HTTP 403”) rather than the intended “No matching FCAS service columns” message. On check machines that could not reach NEMweb this broke the bad-service-name test in test-dispatch.R, producing an intermittent R CMD check ERROR on the flavours where the archive happened to be unreachable.

The service argument is now validated before any network request, so a bad name fails fast and offline. No change for valid calls.

aemo 0.4.1

Maintenance release fixing a test-suite issue reported by CRAN on 2026-05-27. The aemo_units() integration test made a live MMSDM request without a skip_on_cran() guard, so it raised an error on CRAN check machines whenever the NEMweb archive was unreachable. The test is now guarded like the other network-dependent tests and split into a gated live check and an offline-abort check that verifies the no-fallback behaviour. No user-facing code changes.

aemo 0.4.0

First release under new maintainership. Reclaims the archived aemo package name (Imanuel Costigan, 2014-2020, v0.1.0 to v0.3.0, archived 2021-12-29). The prior package shipped three functions covering regional prices and demand only; this release is an independent rewrite covering the full NEMweb and MMSDM data surface and shares only the package name.

Version starts at 0.4.0 to sit strictly above the last archived version (0.3.0).

Data functions

Price and demand

Dispatch and flow

Bids and forecasts

Gas

Reference and settlement

Reproducibility

Low-level access and configuration

Conventions

Data source

Data is published by AEMO at http://nemweb.com.au under the AEMO Copyright Permissions Notice https://www.aemo.com.au/privacy-and-legal-notices/copyright-permissions. Downloads are cached to tools::R_user_dir("aemo", "cache") on first use, with SHA-256 content verification on reuse.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.