stilt.transport.hysplit.Met.check_receptors#

Met.check_receptors(receptors, n_hours)[source]#

Return what would stop runs of receptors before HYSPLIT starts, found without running.

The file check that files_for() makes for each run, made for every receptor at once: the met’s directory exists and holds an ARL file, and every file a run needs is there. With the crop on, a receptor outside subgrid_bounds is listed too, since HYSPLIT cannot start a particle outside the files. A met with download has no files to look for before a run, so only its crop is checked. This looks for files, not inside them, except that it opens the first file the receptors need to count its time periods, which HYSPLIT needs to be at least two, and reads the spacing of the met steps from the file of a run’s end, as files_for() does. check() opens each file at a run, and a run that passes this one can still fail as MET_COVERAGE when a file is damaged or cut short.

Parameters:
  • receptors (DataFrame) – One row per release point, with receptor (the id), time, longitude, and latitude columns.

  • n_hours (int) – The length of the runs, negative for backward.

Returns:

One row for each thing found, with check (met_directory, met_files, met_periods, or met_crop), receptor (NA when the finding is about the met), and message columns. Empty when nothing would stop a run.

Return type:

DataFrame