Skip to content

Commit

Permalink
Don't allow picket fence obs to be calibrated.
Browse files Browse the repository at this point in the history
hyperdrive detects picket fences, but despite claiming that it'll only
use the first "fence", it actually just crashes. Rather than attempting
to calibrate these observations, just abort instead.

Information has been added to the online documentation.
  • Loading branch information
cjordan committed Oct 20, 2022
1 parent 9f1beee commit 5cc5c40
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 1 deletion.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ Versioning](https://semver.org/spec/v2.0.0.html).
`solutions-apply`.

### Fixed
- Picket fence observations were previously detected, but not still handled
correctly. Until they are fixed, hyperdrive will not attempt to do anything
with a picket fence observation. A doc page has been added for picket fences.
- `solutions-apply` would incorrectly apply solutions when flagged tiles were
present. Thorough testing suggests that this is no longer the case and cannot
happen again.
Expand Down
1 change: 1 addition & 0 deletions mdbook/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
- [Dead dipoles](defs/mwa/dead_dipoles.md)
- [mwaf flag files](defs/mwa/mwaf.md)
- [Raw data corrections](defs/mwa/corrections.md)
- [Picket fence obs](defs/mwa/picket_fence.md)
- [mwalib](defs/mwa/mwalib.md)
- [Sky-model source lists](defs/source_lists.md)
- [Flux-density types](defs/fd_types.md)
Expand Down
25 changes: 25 additions & 0 deletions mdbook/src/defs/mwa/picket_fence.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Picket fence observations

A "picket fence" observation contains more than one "spectral window" (or
"SPW"). That is, not all the frequency channels in an observation are
continuous; there's at least one gap somewhere.

`hyperdrive` does not currently support picket fence observations, but it will
eventually support them properly. *However*, it is possible to calibrate a
single SPW of a picket fence obs. with `hyperdrive`; e.g. MWA observation
[1329828184](https://ws.mwatelescope.org/observation/obs/?obs_id=1329828184) has
12 SPWs. If all 24 raw data files are given to `hyperdrive`, it will refuse to
interact with the data. But, if you supply one of the SPWs, e.g. coarse channels
62 and 63, `hyperdrive` will calibrate and provide solutions for the provided
channels, i.e.

```shell
hyperdrive di-calibrate \
-d *ch{062,063}*.fits *.metafits \
-s srclist_pumav3_EoR0aegean_EoR1pietro+ForA_phase1+2_TGSSgalactic.txt \
-n 100 \
-o hyp_sols.fits
```

For this example, the output contains solutions for 256 channels, and only one
channel did not converge.
5 changes: 4 additions & 1 deletion src/cli/di_calibrate/params.rs
Original file line number Diff line number Diff line change
Expand Up @@ -813,7 +813,10 @@ impl DiCalParams {
if f.chanblocks.is_empty() {
return Err(DiCalArgsError::NoChannels);
}
warn!("\"Picket fence\" data detected. Only the first contiguous band will be used as this is not well supported right now.");
// TODO: Allow picket fence.
eprintln!("\"Picket fence\" data detected. hyperdrive does not support this right now -- exiting.");
eprintln!("See for more info: https://MWATelescope.github.io/mwa_hyperdrive/defs/mwa/picket_fence.html");
std::process::exit(1);
}
}
let fences = Vec1::try_from_vec(fences).map_err(|_| DiCalArgsError::NoChannels)?;
Expand Down

0 comments on commit 5cc5c40

Please sign in to comment.