Summary
In our environment, nemosis.dynamic_data_compiler() can still fetch monthly MMS tables such as DISPATCHPRICE and DISPATCHLOAD for older months (for example 2020-01), but it fails from 2024-08 onward with NoDataToReturn.
The failure affects at least:
DISPATCHPRICE
DISPATCHLOAD
What works
These succeed in a fresh empty cache:
dynamic_data_compiler(
start_time="2020/01/15 00:00:00",
end_time="2020/01/16 00:00:00",
table_name="DISPATCHPRICE",
raw_data_location="/tmp/test-cache",
select_columns=["SETTLEMENTDATE"],
)
dynamic_data_compiler(
start_time="2020/01/15 00:00:00",
end_time="2020/01/16 00:00:00",
table_name="DISPATCHLOAD",
raw_data_location="/tmp/test-cache",
select_columns=["SETTLEMENTDATE"],
)
What fails
These fail with NoDataToReturn:
dynamic_data_compiler(
start_time="2024/08/15 00:00:00",
end_time="2024/08/16 00:00:00",
table_name="DISPATCHPRICE",
raw_data_location="/tmp/test-cache",
select_columns=["SETTLEMENTDATE"],
)
dynamic_data_compiler(
start_time="2024/08/15 00:00:00",
end_time="2024/08/16 00:00:00",
table_name="DISPATCHLOAD",
raw_data_location="/tmp/test-cache",
select_columns=["SETTLEMENTDATE"],
)
Recent months such as 2026-04 and 2026-05 also fail the same way.
Observed behavior
The post-2024-07 filename logic produces monthly stubs like:
- PUBLIC_ARCHIVE#DISPATCHPRICE#FILE01#202408010000
- PUBLIC_ARCHIVE#DISPATCHLOAD#FILE01#202408010000
nemosis then attempts URLs of the form:
In our tests, representative older PUBLIC_DVD_* URLs return HTTP 200, while representative post-2024-07 PUBLIC_ARCHIVE#... URLs return HTTP 400.
Expected behavior
Either:
- the post-2024-07 monthly filename / URL contract should be updated so these months download correctly, or
- the docs should clarify the new monthly archive location / naming convention if AEMO changed it.
Additional data point from downstream testing:
We verified that the manual local-cache workaround is viable even for the post-2024-07 monthly naming era.
Using synthetic cache files named exactly as NEMOSIS expects, e.g.
PUBLIC_ARCHIVE#DISPATCHPRICE#FILE01#202408010000.CSV
PUBLIC_ARCHIVE#DISPATCHLOAD#FILE01#202408010000.CSV
plain nemosis.dynamic_data_compiler() successfully returned rows from the local cache for a 2024-08 window.
Observed results:
DISPATCHPRICE: 1440 rows
DISPATCHLOAD: 143712 rows
So FILE01 local monthly cache ingestion works.
One nuance: in default mode, NEMOSIS still probes FILE02 after reading FILE01 for these PUBLIC_ARCHIVE#... monthly stubs. That extra probe is not needed for the local-cache recovery path, but it does not prevent FILE01 data from being returned when present.
This suggests:
- the post-2024-07 monthly archive fetch path is broken upstream for at least some MMS tables, but
- manual monthly cache files with the expected
PUBLIC_ARCHIVE#...#FILE01#YYYYMM010000.CSV naming still work as a recovery path.
Why this matters
This breaks automated historical cache population for any workflows that rely on post-2024-07 monthly MMS tables, including AEMO replay / preprocessing pipelines built on DISPATCHPRICE and DISPATCHLOAD.
Environment
- Python: 3.12 host repro, also validated in project runtime
- nemosis: installed from pip in our environment
- Failing tables: DISPATCHPRICE, DISPATCHLOAD
- Boundary observed: works for 2020-01, fails from 2024-08 onward
Summary
In our environment,
nemosis.dynamic_data_compiler()can still fetch monthly MMS tables such asDISPATCHPRICEandDISPATCHLOADfor older months (for example 2020-01), but it fails from 2024-08 onward withNoDataToReturn.The failure affects at least:
DISPATCHPRICEDISPATCHLOADWhat works
These succeed in a fresh empty cache:
What fails
These fail with NoDataToReturn:
Recent months such as 2026-04 and 2026-05 also fail the same way.
Observed behavior
The post-2024-07 filename logic produces monthly stubs like:
nemosis then attempts URLs of the form:
In our tests, representative older PUBLIC_DVD_* URLs return HTTP 200, while representative post-2024-07 PUBLIC_ARCHIVE#... URLs return HTTP 400.
Expected behavior
Either:
Additional data point from downstream testing:
We verified that the manual local-cache workaround is viable even for the post-2024-07 monthly naming era.
Using synthetic cache files named exactly as NEMOSIS expects, e.g.
PUBLIC_ARCHIVE#DISPATCHPRICE#FILE01#202408010000.CSVPUBLIC_ARCHIVE#DISPATCHLOAD#FILE01#202408010000.CSVplain
nemosis.dynamic_data_compiler()successfully returned rows from the local cache for a 2024-08 window.Observed results:
DISPATCHPRICE: 1440 rowsDISPATCHLOAD: 143712 rowsSo
FILE01local monthly cache ingestion works.One nuance: in default mode, NEMOSIS still probes
FILE02after readingFILE01for thesePUBLIC_ARCHIVE#...monthly stubs. That extra probe is not needed for the local-cache recovery path, but it does not preventFILE01data from being returned when present.This suggests:
PUBLIC_ARCHIVE#...#FILE01#YYYYMM010000.CSVnaming still work as a recovery path.Why this matters
This breaks automated historical cache population for any workflows that rely on post-2024-07 monthly MMS tables, including AEMO replay / preprocessing pipelines built on DISPATCHPRICE and DISPATCHLOAD.
Environment