stilt.transport.hysplit.Met.fetch#

Met.fetch(windows)[source]#

Get the met files that cover every one of windows, downloading any a download lacks.

Each window is asked for as files_for() is when a run needs it, so the files are the ones those runs would use. Windows that overlap are asked for together, one request to the archive for a stretch of runs; when that fails, each of its windows is asked for on its own, so a failure names only the windows it belongs to. A met without download is only checked: its files are looked for, never made. Only a file that is not there is a failure to report. Any other error stops the fetch and is raised, whether a retry may get past it (a busy archive, a connection that failed) or not (a denied request, a full disk), so that stilt fetch can exit with 3 or 4.

Parameters:

windows (Iterable[tuple[Any, Any]]) – The times to cover, each as run_window() returns it.

Returns:

file and message columns: a row for each file, with message empty, then a row for each window whose files could not be had, with file empty and the reason in message.

Return type:

DataFrame