The MIRIAD MacPort Homepage
This is the homepage of the MacPorts
package of
the MIRIAD
radio astronomy suite, which makes it easy to install and update MIRIAD on
your Mac OS X computer.
This is not a website about MIRIAD itself and we’re not going to
discuss what MIRIAD is or why you might want to install it. If you have
questions along those lines, see:
- the MIRIAD
wiki
- the CARMA MIRIAD site
- the CARMA bugzilla (which
tracks MIRIAD bugs amongst others)
- the
homepage for the ATNF version of MIRIAD (which differs somewhat from
the software we’re discussing)
The version of MIRIAD distributed through MacPorts was last
updated on 2014 November 5.
See below for information on what’s changed since the
last snapshot.
MacPorts is a system to ease the
installation and management of Unix-oriented software on Apple computers.
Since MIRIAD is
hard to build as it is and OS X is somewhat different than most Unix-like
operating systems, we think that installing MIRIAD through MacPorts will be an
appealing choice for the many astronomers with Apple hardware.
MacPorts works by providing some general tools for managing software
installations as well as a database of recipes for compiling many, many pieces
of software. The “MacPorts package of MIRIAD” is one of these recipes. It
links to a recent snapshot of the MIRIAD source code, the other pieces of
software which need to be present in order to compile MIRIAD, and so on. We
update the snapshot and the recipe periodically so that MacPorts users can
easily track recent MIRIAD development.
The key advantage to using MacPorts to compile something like MIRIAD is
that it provides a relatively controlled environment for building the
software. Most build problems are due to little differences between the
software installed on one person’s computer and another’s, so eliminating
those differences goes a long way to eliminating build problems.
A secondary goal of the MacPorts distribution of MIRIAD is to provide
frequently-updated, versioned packages of the MIRIAD source code. It’s easier
to track down bugs and reproduce results when the code you’re using comes in
discrete, uniquely-named releases. The MacPorts packages of MIRIAD have unique
version numbers (via the inclusion of their release date in the version
number) so that it’s easy to specify exactly which code you’re using. The
source code bundles distributed on this page will compile on all systems, so
you don’t have to be an OS X user to take advantage of this.
Installation can take a long time but is as straightforward as we can make
it. The steps are:
- Make sure you will be able to leave your computer running for several
hours. The initial install does not need much attention but will take a while
to compile everything. (Updates are faster.)
- Install the MacPorts system on your computer
using these instructions. If
you need help with this step, there’s a lot of information available online;
see the MacPorts help
links at the bottom of their installation page
or the generic MacPorts
support page.
- Open a terminal and run
sudo port sync
to fetch the most up-to-date data from the MacPorts server.
- Which telescope will you be reducing data from?
- If you’re using CARMA, note
down that your “variant string” is +carma.
- If you’re using the Allen
Telescope Array, note down that your “variant string”
is +ata.
- If you’re using the
Westerbork
Synthesis Radio Telescope, note down that your “variant string”
is +wsrt.
- If you’re using
the Submillimeter Array,
note down that your “variant string” is +sma.
- For anything else: contact the port
maintainer and ask for a “variant” to be created for your
telescope. In the meantime, you can probably use an empty
“variant string” and get started OK.
- Install the software on which MIRIAD depends. Execute the following
magic command in your terminal, replacing “VARIANTS” with the “variant
string” you determined above, and putting the whole command on one line:
sudo port -u install `port info --depends miriad VARIANTS
|perl -ne 'print "$1 " while /port:([^,]+)/g'`
For example, for an ATA user,
sudo port -u install `port info --depends miriad +ata
|perl -ne 'print "$1 " while /port:([^,]+)/g'`
Your computer will begin to work for a long time. (If the command fails
instantly, triple–check that you entered it in correctly.) You might take
this opportunity to read the MacPorts
Guide for some overall documentation of the MacPorts system, how it
works, and how to keep it running smoothly on your machine.
- Eventually, your computer should finish without printing any obvious
error messages. If something seems to have failed, the problem is outside
of the MIRIAD MacPort and we can’t offer you any specific advice. Consult
your local system administrator or ask the port
maintainer nicely.
- Install MIRIAD itself. In your terminal, run
sudo port -vku install miriad VARIANTS
replacing “VARIANTS” as before.
- It will take something like half an hour to compile MIRIAD. Once again,
consider reading the MacPorts
Guide while this is happening. Your computer should finish with a
message about “Activating miriad”, some notes on setting up your shell,
and no obvious error messages. If something seems to have
failed, contact the port maintainer with
the exact text of the output that’s worrying you.
For general help with the MacPorts system,
see the MacPorts support
page, which we hope you will find useful. That page, however, has no
MIRIAD-specific information.
Once you have MIRIAD installed in this way, you can update your
installation with the following steps:
- Open a terminal.
- Run
sudo port sync
- Run
sudo port -vunk upgrade miriad
If nothing happens, you already have the most recent version of MIRIAD
that’s been uploaded to MacPorts.
If you get an error, you might try opening a terminal and running:
sudo port selfupdate
sudo port -u upgrade outdated
It is also good to run these commands once in a while even if you don’t get
any errors with MIRIAD. They may, however, take a long time to run. More
information on keeping your MacPorts installation running smoothly are beyond
the scope of these instructions. Once again,
consult the MacPorts
support page.
The MacPort version of MIRIAD is updated approximately every few months.
Updates will be released more rapidly for key bugfixes to the tasks or build
system — contact the port maintainer to request an
update. The source code bundles are produced by a make dist
using the autotools in a pristine checkout of the MIRIAD source code. The
“last updated version” mentioned at the top of this webpage may be either
ahead of or behind what your MacPorts system says is available, depending on
the timing of updates to their site and this one.
Note that the ATNF guides describe ATNF MIRIAD. This is not
identical to CARMA MIRIAD, but there is a substantial overlap. All
manuals are formatted as PDFs.
Releases of MIRIAD itself are infrequent, so we name our releases with the
date they were produced as well as the MIRIAD version number. Note that you
don’t need to download the source code here to install MIRIAD with
MacPorts — the MacPorts system takes care of that step for you.
miriad 4.3.8.20141105
(source code)
- This version should be buildable on OS X version 10.10 (Yosemite).
- Changes from previous version: add support up to GCC 4.9 for
compiling; add uvdump; update some ATNF tasks; buffer size
increases; updates to CARMA flux calibrator and antenna position tables.
- SHA1 sum: d5f4712e0ad816693b3de572e7fd67dd0bb08481
- git mirror commit id: bea5050cbfb9986bd366a8a0169bf1e151b05ded
miriad 4.3.8.20140718
(source code)
- Changes from previous version: provide uvdump
and uvsfit; provide new configurable MAXPNT constant;
updates to ATNF tasks; support 3+1D cubes in imgen; 64-bit fixes;
buffer size increases; updates to CARMA flux calibrator and antenna position
tables.
- SHA1 sum: f5983330e6a1fd9a0af2c4dfd7a4e4bb53650567
- git mirror commit id: 3243a01c12b0a41e4f4d24c3711ee8e8a1298ff1
miriad 4.3.7.20131227
(source code)
miriad 4.3.7.20131222
(source code)
- Changes from previous version: fix a 64-bit crash
in imdiff; new planettb task for using ALMA planetary
flux tables; new imbench benchmarking tool; increase buffer sizes
in uvimage; updates to CARMA flux calibrator and antenna position
tables.
- SHA1 sum: 7c1ebc13b75096b4ce27db0108313521ec766461
- git mirror commit id: b36acde8cb6c569501b14a8d76f0bfd1f1749b33
miriad 4.3.7.20130915
(source code)
- Changes from previous version: fix uvmodel crash on some
platforms; updates to CARMA flux calibrator tables.
- SHA1 sum: ea882fd993e808af98932e75f4990b97ea9f0669
- git mirror commit id: c4a3bd1667c71a912f7598c35959fb52ebe118cd
miriad 4.3.7.20130827
(source code)
- Changes from previous version: provide RPFITS library and tasks
atlod, fakeotf, mopfix, and wblod;
provide new task psrbl; safety in gpplt with
options=absent; updates to CARMA flux calibrator and antenna
position tables.
- SHA1 sum: 27b81b1831826987127d20b125938ff8712187cb
- git mirror commit id: fd079b2fb8055125c5eb160e78e7c9eb9ad9c91f
miriad 4.3.7.20130726
(source code)
- This is the school13 release.
- Changes from previous version: update wcslib to 4.18; improvements
in coordinate handling in regrid; add option to log results of
closure computation; support FITS files larger than 200 GB; new
task mirmax to report hardcoded buffer sizes; various other
improvements from ATNF MIRIAD; documentation improvements; updates to
CARMA flux calibrator and antenna position tables.
- SHA1 sum: 7a6e7eb291cf2ac515bd6327972db704f4c0aaf0
- git mirror commit id: 5c22c5ca9a28ed5fd30bfe7dcf98f3fc3de9ed05
miriad 4.3.4.20130606
(source code)
- This is the school13 prerelease.
- Changes from previous version: spaces are removed source names on
FITS import; add ability to get raw values without distance scaling
from clstat; source selection bugfix in uvedit; fix
multiple purposes per source in listobs; documentation
improvements; buffer size increases; updates to CARMA flux calibrator and
antenna position tables.
- SHA1 sum: 4e4a5b932ebd979a1b4d18a160e1a75389f9519b
- git mirror commit id: 79a24996d64d9dd5ef0e232ce7f7c44d732278e6
miriad 4.3.4.20130224
(source code)
- Changes from previous version: 64-bit fixes, including important ones
for image loading; absent option for gpplt; new edge tapering support
in varmaps; several options and keywords for sinbad;
date option for julian; buffer size increases; updates to
CARMA flux calibrator and antenna position tables.
- SHA1 sum: 259c62ccbf6608132a71f66f32fb1a5f44d3634c
- git mirror commit id: 58fa97b83875a8b30b7191593006743c79ab219e
miriad 4.3.4.20120913
(source code)
- Changes from previous version: Important bugfixes and improvements to
uvbflag. More 64-bit and buffer-size work. Updates to pgflag.
Miscellaneous bugfixes and documentation improvements.
- SHA1 sum: db5e4035982d99a06ef7a6d59b0fa823e6a93d55
- git mirror commit id: 3cb2e4d70b2bc4e5cb41b4f824b3bbe43a2600a9
miriad 4.3.4.20120618
(source code)
- This is the school12 release.
- Changes from previous version: Documentation work. Removal of debug printouts.
Updated leap second tables. Updated info for marstb. Import a few ATNF updates.
- SHA1 sum: 8f5a66ce03ed421ac51591b27022f878121145ab
- git mirror commit id: 1ec284af6129e96785574ad95d4e49489d8793e6
miriad 4.3.2.20120608
(source code)
- Changes from previous version: Lots of work aiming to
support 64-bit Macs better. Work on support CARMA bfmask u-v
variable and proper behavior when selecting windows more
generally. Continuing work on making the new wcslib coordinate
routines more robust and correct. Lots of bug fixes and buffer size
increases.
- SHA1 sum: d09c30e630d3f18685d35a5775fbb506691b0a56
- git mirror commit id: 032e9fcbba5788e02a730a3939871f98ca35a774
miriad 4.2.3.20120407
(source code)
- Changes from previous version: provide new xyauto
task for CARMA polarization calibration; other stuff that I'm too busy
to document right now.
- SHA1 sum: d71b56f291d94621d4bbf83fac3bf9d1f36c2c99
- git mirror commit id: 12089f29e21af87d8911f7ff36580b5bfff0c5a2
miriad 4.2.3.20120309
(source code)
- Changes from previous version: New online
blanking task uvbflag (beta status). Additional useful output
from sfind. New task mafia for finding image mask
regions. Better FITS interoperation for optical-velocity spectral axes
(important for CASA interop). Support for some moons in planets.
Stabilize data format by removing configurability of MAXIANT.
Work on reducing shared library links for more portable binaries.
Continued work on 64-bit support in Fortran components.
Continued work on use of wcslib for coordinate operations.
- SHA1 sum: ca68e34a53bf4dca823f80e557b908450d898134
- git mirror commit id: 64a91b8696ec30bae29f511463acee01e4bfd3f6
miriad 4.2.3.20111010
(source code)
- Changes from previous version: Rename KAT-7 telescope from
KAT7 for compatibility with FITS files. Use per-antenna elevations in
UV selection. Add options=replace to blcal. Add
options=allants to listobs. Add
options=on,off to sinbad. Bugfix 333 GHz reference
frequency for Mars in smaflux. Increase buffer sizes in
smagpplt. Visual tweaks in closure. Add
xydelay, xyphase keywords to uvcal. Add
soft keyword to varmaps. Various buffer size
increases and documentation improvements.
- SHA1 sum: ee1f8639760e890b1b35a9c33d15b79d076e7c7f
- git mirror commit id: 79544ff182f52cc22d41c41e2e37b350eafa897d
miriad 4.2.2.20110722
(source code)
- Changes from previous version: start using wcslib
internally for coordinate manipulations. Start providing most ATNF
MIRIAD tasks (except ones interacting with RPFITS files), including
ATNF version of mfcal and uvplt as at_mfcal
and at_uvplt. Add: blflag, rmclean,
varmaps, varmerge. Update manuals. Synchronize with
ATNF MIRIAD, possibly losing CARMA modifications: cgdisp,
clean, csflag, fits, imbin,
imfit, imom, imwcs, invert,
linmos, mossdi, offpol, regrid,
vblank, velcolor, zapchan, and subrouting
libraries. Bugfix in sfind. New options to:
immedian, uvflux, uvsplit. Support
-e flag in tasks. Add per-antenna filtering when selecting on
elevation, dazim, and delev. Handle CARMA
delaylx and delayry variables in
uvdecor. Increase buffer sizes in uvflag.
- SHA1 sum: 1a7c4d50fa746e2112be46febab377fa2b1a7fb7
- git mirror commit id: 0c5a43f17f6043aa6380673575722e587baac3de
miriad 4.1.7.20110426
(source code)
- Changes from previous version: incorporate wcslib
source code to prepare for using it to replace in-house coordinate
routines. Allow gpscal, mselfcal, selfcal,
uvmodel, wsrtuvmodel to work on much larger
datasets. Correctness and documentation fixes in sfind. New
tasks: imstack, varmaps. Support FITS files larger
than 2 GB. Update CARMA tables. Updates to ATNF user cookbook (!).
Minor updates to atlod, avmaths, bootflux,
corset, cotra, csflag, gpcopy,
gplist, imcmp, listobs, maxdim,
moment, odnh3, pgflag, smauvspec,
smavarplt, uvcal2, uvputhd,
uvsort, uvspec, uvwide,
velmodel. Code churn in pcsub, regrid,
sinbad. Buffer size increases in miscellaneous tasks.
- Build system updates (not relevant to MacPort users):
firmly require autoconf 2.62 and automake
1.11. Support --enable-silent-rules option to
configure. Miscellaneous robustness improvements.
- SHA1 sum: 5a0bbea5a1ace1ca141e26261fd9e1e56379c300
- git mirror commit id:
a941bb0a86e24d6a15d67c02735d6b61032cf674
miriad 4.1.3.20100706
(source code)
- Changes from previous version: merge libmir_uvio and
libmir_linpack into the main libmir library. Include
install/mir.test in tarball to allow simple, manual tests of the
installation. MAXCHAN for CARMA now 8192. Distribute and install the full
suite of files in the $MIRCAT directory. Provide a mechanism for
custom compilers to be used to build the software. Added information about
KAT7 array to internal tables. uvflag got phase keyword
for phase-based flagging. gpbuddy got antpos keyword.
Improvements to UV import in fits. Code churn in cgdisp.
Many changes to blflag. Minor changes to: atcal,
atlod, calboot, smauvspec.
- SHA1 sum: 5aa26e678efbdb0c893517cf0a9d1f4d20eb66bd
- git mirror commit id: 5479bfc001f20fcdb2f6586962ac7027f0ddd231
miriad 4.1.3.20100512
(source code)
- Changes from previous version: update version number to
match that in VERSION file. Add more dependencies to MacPort
specification. Significant changes to fits and
mfboot. Minor updates, mostly buffer size increases, to
atlod, bpsel, gpaver, gpcal,
listobs, marstb, prthd, smauvspec,
uvcal, uvlist, uvspec, and uvwide.
- SHA1 sum: 0d92e6e5dfdb8c65ab04e1f898b9c38c3f6c9290
- git mirror commit id: 966cfa47bd1e444f40a44d048755c40dfc2b298f
miriad 4.1.1.20100302
(source code)
- Changes from previous version: changes to build system
for more reliable MacPorts operation.
- SHA1 sum: 5adcad3cb4072bcdbd4dae7770574ef6429aeea4
- git mirror commit id: 35912e388084e7fc3cb87f5b33962072a0e49d3e
miriad 4.1.1.20100222
(source code)
- Changes from previous version: Fix writing of datasets
longer than 8 GB. Work on allowing compilation with C++
compilers. Significant changes to atlod, convol,
linecal, and mfcal. Added new tasks pgflag
and uvrtab. Minor changes to atuvplt, bee,
cgcurs, cgdisp, csflag, doc,
ellint, imrm, impol, invert,
itemize, mselfcal, sfind, uvfix62,
uvgen, and velplot.
- SHA1 sum: ae269af96afcdb10b95faaeeefc8d58d7bbbd840
- git mirror commit id: c9b6a380b6261c39359937a99593e79cf6a9d02f
miriad 4.1.1.20091018
(source code)
- Changes from previous version: most importantly, a bugfix for
intermittent sfind crashes.
- SHA1 sum: 345422e25fef4f8343d7b7f2b42d5e2c33b3bd88
- git mirror commit id: be886815af0864d83000deb90b7287db0969d252
miriad 4.1.1.20090925
(source code)
- Changes from previous version: This is the first MacPorts
version.
- SHA1 sum: 2408ffbe11398baf22c566727f84ab58135054f0
- git mirror commit id:
3691dc0b4ee102ef585e80cd183f00749a5b60f3
For more information or troubleshooting help, contact the port maintainer,
Peter Williams, at pwilliams@cfa.harvard.edu.
The MIRIAD MacPort allows you flexibility in choosing the compiler used to
compile MIRIAD. Unless you know of a specific reason to avoid the default
compiler, you should use it. If you want to use a specific version of the
MacPorts–distributed copies of gcc, there
are +gccXY variants in the MacPort that will build MIRIAD using GCC
version X.Y. Use the command port info miriad to get a
listing of which of these variants are supported.
It is also possible to use a compiler other than the MacPorts-provided
version of GCC to compile MIRIAD. This setup is neither recommended nor
supported because of the subtle bugs that very often result from nonstandard
compiler configurations. If you are not able to install MIRIAD on a Mac
successfully without the use of the MacPort, you should probably not attempt
to use a nonstandard compiler configuration. However, the use of a custom
compiler can provide certain advantages:
- Faster code if the compiler has a better optimizer than GCC.
- A quicker first-time build of MIRIAD because the MacPort version of GCC
doesn’t need to be built. Note that this is a one-time-only gain since once
the GCC is built it can be reused with recompilation.
You can choose which compiler will be used to build MIRIAD by installing
the gcc_select MacPort, specifying a compiler with
the gcc_select command, and building the MIRIAD MacPort while
specifying the +gcc_select variant.
To build MIRIAD with a custom compiler, then, you need to define your
compiler’s setup in the gcc_select system and then select it. This is
done by creating a file in /opt/local/etc/select/gcc named something
like custom of the form:
/path/to/cc
/path/to/cpp
/path/to/c++
/path/to/c++
-
-
/path/to/fc
Each line in the file specifies the path to a standard compiler executable.
Most notably, the last line specifies the Fortran compiler to use. (The two
lines with dashes point to the Java compiler and the code coverage tool,
typically gcj and gcov. These are not used when compiling MIRIAD.) If you
mix and match executables from different compiler versions, your build will
almost assuredly fail. Then, “select” your new compiler by running a
command such as
gcc_select custom
This support should be sufficient for you to attempt building the MIRIAD
MacPort with any compiler you want, but be prepared for a lot of frustration
and wasted time unless you know exactly what you’re doing.