Open in Colab:

Release Information

These are the release notes for CASA 6.3. Changes compared to the CASA 6.2 release are listed below.


CASA 6.3 focused on fixing a large number of bugs. In addition, the following main items were implemented:

  • Mac OS 11: CASA 6.3 is supported on Mac OS 11 with x86 processors

  • phaseshift: A new task phaseshift supports shifting of the phase center by arbitrary amounts, superseding the task fixvis.

  • tsdimaging: A timerange parameter was added to task tsdimaging

  • smoothcal: The smoothcal task can now smooth calibration tables produced by the accor task.

  • tclean: Interactive tclean now works in parallel mode.

  • tclean: The savemodel step in tclean has been improved.

  • can now specify most of the startup options.

Release Notes

Installation and operation

  • Mac OS 11: CASA 6.3 is compatible with certain versions of Mac OS 11 after the following implementations:

    • support for Mac OS 11 on x86 processors with Python 3.8 and 3.6

    • Fixed Casaviewer crashes on Macos 11. Updated matplotlib version to 3.3.3 to prevent plotant crashes on Macos 11. The combination of the patches makes it possible to run Mac OS 10.15 disk images on Macos 11.

  • The following adjustments were made to

    • Most of the casa command line options can instead be set within New to are: log2term, nologger, nologfile, nogui, colors, pipeline, agg, iplog, and user_site. When used on the casa command line, that setting takes precedence over the equivalent parameter in

    • Three of the new parameters are now stored in the ctsys tool for later use: nogui, agg, and pipeline. Two tasks were previously re-parsing the casa command line for those values. These tasks now get those values from the ctsys tool: plotms: nogui; plotant: nogui, agg, pipeline. The behavior of these tasks is unchanged by these changes.

    • Messages printed during casa startup are now logged as well as printed. The printed (and logged) paths to and are now consistent with each other (either both relative or both absolute paths depending on the details of how casa was invoked at the time).

Data import/export

  • importasdm/exportasdm: The useversion and showversion parameters of the importasdm and exportasdm tasks have been deprecated. importasdm has been able to import different SDM versions for years and exportasdm has produced the most recent version of the SDM for many releases, so these parameters have been ignored (useversion) or produced irrelevant text (showversion) for years. Related parameters in the sdm tool are also deprecated and will be removed in a future release.

  • importasdm: importasdm fills a new, non-standard column named SDM_CORR_BIT to the SPECTRAL_WINDOW table. SDM_CORR_BIT contains the string representation of the correlationBit field from the appropriate of the SpectralWindow table of the ASDM (“BITS_2x2”, “BITS_3x3”, “BITS_4x4”). It has a value of an empty string when that field is not present for that row in the SpectralWindow table.


  • phaseshift: A new task phaseshift supports shifting of the phase center by arbitrary amounts. The phaseshift task supersedes the task fixvis, which is less accurate. The new phase center can be specified in a coordinate frame different from the input MS. However, time dependent coordinate systems such as AZ-EL and ephemeris sources are not supported. If a different frame is specified, the PHASE_DIR column in the FIELD table will be updated to the corresponding coordinates of the native frame of the MS (normally J2000). The parameters/syntax for phaseshift have changed slightly from fixvis. Please see the phaseshift API task description for usage details. Note for ALMA users: ALMA users are recommended to continue using fixvis for correcting the position of a calibrator prior to standard calibration.

  • smoothcal: Calibration tables produced by the accor task can now be smoothed using the smoothcal task.

  • To support reprocessing of ALMA data, a return value has been added to the fixsyscaltimes script to indicate whether or not a fix has been applied.


  • tclean/savemodel: In tclean in CASA 6.2 and earlier, there were situations in which model visibilities were either not being saved to the MeasurementSet even when the savemodel parameter was turned on, or saved too many times. It was also not easy to detect what had happened. For CASA 6.3, it has been ensured that when requested, the savemodel step is correctly triggered. This has been done by identifying usage paths where the iteration control was earlier failing to correctly detect when it needed to save the model and re-routing the model saving step to the end of the tclean run.

  • tclean: the logs produced by tclean now include image names and channel names (where appropriate) during minor cycle iterations. They also include the names of outlier fields for multifield imaging. The absolute channels being processed by each individual MPI process can be determined by the log lines: MPIServer-M Processing channels in range [A, B].

  • Interactive tclean: Interactive tclean now works in parallel/mpicasa.


  • The ALMA spectral window (spw) classification algorithm was updated to to allow spws with bandwidths of < 2 GHz to be classified as FDM windows, whereas previously they were classified as TDM windows.

Bug fixes

  • tclean: Running tclean using a list of MeasurementSets which exhibit very large Doppler frequency changes between them (i.e., large TOPO offsets in channels) was found to result in crashes due to memory limits being crossed. A fix was implemented to switch to a different mode when such situations might occur (specifically, if the weight density grid is larger than 10% of the cube grid in memory usage). This different mode uses less memory but results in a longer runtime as tclean must make multiple passes through all MSs.

  • tclean: A bug in the tclean task for cube imaging has been fixed. Setting the pblimit parameter to a negative number is meant to indicate that a pb-based T/F mask in the output images should not be made, but this behavior had been mistakenly disabled in casa 6.2. This behavior now works again.

  • tclean: If the shifted channel frequencies contain ‘NaN’ caused by an incorrect radial velocity provided in the MS data (e.g., for ephemeris data), this will be caught and the error message will be printed.

  • tclean: A bug was fixed when the automask and n-sigma threshold stopping are used together.

  • importvla: In previous CASA 6 releases (6.1 and 6.2), importvla failed for some historical VLA data. This bug has been fixed.

  • mstransform: A bug was fixed whereby mstransform with createmms=True, separationaxis=’spw’, chanaverage=True, and a list of bins in chanbin, could produce an output MMS with mismatched channel bins.

  • plotms: A bug in plotms has been fixed that previously caused a) channel averaging for a caltable in plotms to be very slow when no antenna selection is set, and b) crashes when using channel averaging and avgantenna=True in the same plotms call for a caltable.

  • fringefit: A workaround for a bug in the fringefit task, which affected fringe-fitting of scans where an antenna drops out in the middle of a scan, has been applied.

  • gencal: Tsys ingestion, as performed in the gencal task, has been made robust to NaNs which can appear in the Tsys values delivered with VLBI datasets. Previously, NaNs were propagating through and causing downstream calibration operations to fail.

  • applycal: Previously the apply modes ‘flagonly’, ‘flagonlystrict’, and ‘trial’ would generate a CORRECTED_DATA column in the MS despite no calibration being done on the data. These modes no longer create a CORRECTED_DATA column if none exists in the MS.

  • plotbandpass: Two issues were fixed in plotbandpass:

    • avoid using offset value, e.g., 0.40+2.18e2 instead of 258.0, for axis tick labels.

    • always show grid lines.

  • flagdata: A significant slow down in flagdata command present in 6.2 (up to 3-4x, specially in summary mode) has now been fixed, bringing CASA 6.3 flagdata command to a performance comparable with CASA 6.1.

  • PSF fitting: The PSF fitting code has been improved so that when the fitting code fails another attempt will be made, where the initial position angles is changed. This will be attempted up to 10 times.

  • simalma: the task simalma had several bug fixed:

    • simalma failed to return properly in CASA 6 due to import dependency problems. This has now been fixed and the task produces the expected output.

    • An extraneous primary beam scaling before combining interferometric and single dish data has been removed from simalma.

    • The subparameter defaults of the task simanalyze were updated to match the documentation.

  • Splatalogue: Defects have been fixed that prevented using the Splatalogue offline database with spectral profile tool in the CASA viewer.

  • To increase the consistency of task parameter behavior across CASA (and with CASA5) some enum parameters in cvel, cvel2, exportasdm, imreframe, mstransform, sdbaseline, sdsmooth and tsdimaging tasks were modified to allow for upper and lower case versions.

  • Defects were resolved which prevented restarting the CASA casaviewer and casaplotms in the situation where one of these GUIs had crashed.

  • Viewer: A bug was resolved that led to a crash with “Zoom Out to Full Image” button in the casaviewer.

  • When rerefant exhausts all refants an additional message is added to the log that says “refant list exhausted, flagging all solutions”.

  • The error “symbol lookup error: /lib64/ undefined symbol: FT_Done_MM_Var” was resolved by removing operating system libraries the CASA linux distribution. This change will enable subsequent support for casaviewer, casaplotms, and casaplotserver on RH8.

  • Task call echo output to the terminal is suppressed when no parenthesis are used. Now task calls with and without parentheses behave the same way.

Known Issues

Summary Most Important Issues

  • The GUI-based application plotcal has not been migrated into the CASA 6 series. Instead, all of the plotcal functionality is now available in plotms.

  • There are generic problems putting multiple MSs into tclean that have mismatches in their shape

  • The task clean is no longer being actively maintained; instead, tclean is now the recommended task for imaging.

  • Wideband and widefield imaging in tclean are only partially validated - please use at own risk and read wideband and widefield documentation.

  • In tclean, uvtaper does not work with natural weighting.

  • When imaging large mosaics with mosweight in tclean, an error “too many open files” may occur that may require to increase the limit for open files.

  • stawt may fail when the correlator integration time changes within an MS and statwt is run with timebin set to an integer value.

  • CASA is not using LD_LIBRARY_PATH anymore but CASALD_LIBRARY_PATH to avoid confusion.

  • cvel is calculating the velocity incorrectly for ephemeris objects. We recommend to use mstransform or its offspring cvel2, although the latter should be used with care as it is not fully commissioned yet.

  • When running CASA with the pipeline option ‘casa –pipeline’, plotcal may not show all plots and comes up with an error message. Use CASA without ‘–pipeline’ when performing interactive data reduction.

  • fixvis uses the small angle approximation and may be incorrect for large phase shifts. Use the new task phaseshift instead, or use tclean for phase center shifts during imaging when applicable.

  • With parallel calibration on MMS files, fixvis does not write out the the new MMS specified in outputvis correctly, hence fixvis solutions are not applied when writing to a new MMS.

  • In fringefit, calibration tables created with CASA 5.5 and before cannot be used with CASA 5.6 and later.

  • In tclean, defining image cubes in optical velocity in some cases is known not to work.

  • In tclean, using the mosaic gridder with the default nchan=-1 is in some cases known to produce errors.

  • Ionospheric TEC corrections are currently validated in CASA only for VLA data.

  • ephemeris objects are not correctly supported by virtual model columns.

  • In tclean, the combination of specmode=’cube’ and gridder=”awproject” has not been commissioned for use and may result in errors.

  • The “T+dT” style timerange selection is being interpreted with omission of the sub-second value, which can affect data and image analysis that depends on sub-second precision.


Several issues have been encountered for CASA 6:

  • inp/go syntax does not reset hidden parameters to default between consecutive calls. The most notable issue occurs with the selectdata parameters; once set at selectdata=True, any associated subparameters that are changed from default (e.g., spw, or field) will remain even after re-setting to selectdata=False. Generally this should not matter as hidden parameters are not used. However, known exceptions exist in tclean, sdintimaging, apparentsens, setjy, listvis, sdcal, and sdfit where the value of hidden selection parameters does in fact matter. We are currently investigating the extent of this problem. As a workaround, users can call default to manually reset all their parameters.

  • inp/go does not work for the following tasks: msuvbin, browsetable, imview, msview, deconvolve, uvcontsub3, testconcat. Please invoke the arguments directly when running these tasks in CASA 6.


  • For Mac OSX, the default behavior when downloading multiple versions of CASA is to call it “CASA” (i.e., including a space). However, CASA is unable to find the viewer when a space exists in the application name. The workaround is to rename the application excluding the space.

  • If you use a version of RHEL6 with a kernel version that is older than 2.6 you may encounter an error like:

E0324 17:24:18.576966686   27444]     check for SO_REUSEPORT:
{"created":"@1585038258.576951288","description":"OS Error","errno":92,"file":
not available","syscall":"setsockopt(SO_REUSEPORT)"}
  • NFS mounted disks

    • It is not recommended that you run CASA (e.g. have your data) on disks that are NFS mounted. It can be done, but in some cases the files will be NFS locked and this can crash CASA or its tasks. In this case, you have to restart CASA.

    • If you receive messages like xvfb timeout you may try to clean out your /tmp folder, then restart CASA.

  • Python:

    • Environment variables set for personal use may be incompatible with CASA 6, given that the CASA comes with a Python version that may be different from the one installed for regular use. It is still unclear which specific errors can occur, but one workaround solution for these types of errors is to unset PYTHONSTARTUP before starting casa. We are looking into possible solutions for CASA 6.3.

    • Files in the current directory with the same name as ipython files will cause errors like this error that occurs when a file exists in the current directory: ```python

AttributeError                            Traceback (most recent call last)
/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc in enable_matplotlib(self, gui)
   2945                 gui, backend = pt.find_gui_and_backend(self.pylab_gui_select)
-> 2947         pt.activate_matplotlib(backend)
   2948         pt.configure_inline_support(self, backend)

/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in activate_matplotlib(backend)
    292     matplotlib.rcParams['backend'] = backend
--> 294     import matplotlib.pyplot
    295     matplotlib.pyplot.switch_backend(backend)

/lib/python2.7/site-packages/matplotlib/ in <module>()
     21 from matplotlib.cbook import dedent, silent_list, is_string_like, is_numlike
     22 from matplotlib import docstring
---> 23 from matplotlib.figure import Figure, figaspect
     24 from matplotlib.backend_bases import FigureCanvasBase
     25 from matplotlib.image import imread as _imread

/lib/python2.7/site-packages/matplotlib/ in <module>()
     16 import artist
     17 from artist import Artist, allow_rasterization
---> 18 from axes import Axes, SubplotBase, subplot_class_factory
     19 from cbook import flatten, allequal, Stack, iterable, is_string_like
     20 import _image

/lib/python2.7/site-packages/matplotlib/ in <module>()
   8453 #This is provided for backward compatibility
-> 8454 Subplot = subplot_class_factory()
   8456 docstring.interpd.update(Axes=martist.kwdoc(Axes))
  • Matplotlib plots

    • Interactive matplotlib backends may not work in monolithic CASA 6 if the correct TCL/TK libraries are not installed in the operating system. Necessary libraries include tcl tcl-devel tk tk-devel agg agg-devel version 8.5 (newer will not work). Beginning in CASA 6.4, these libraries are included in the monolithic tarball, eliminating this issue.


  • Starting CASA 6: For “execfile” calls within a script which itself is run via “execfile”, it is necessary to add globals() as the second argument to those “execfile” calls in order for the nested script to know about the global variables of the calling script. For example, within a script ‘’, calls to another script ‘’ should be written as follows: execfile(‘’, globals()).

  • There are cases where two scripts call on each other (i.e., where script “a” uses script “b” and vice versa). In casa 6, the only way to execute these scripts is by running the first script twice:



  • In some circumstances when an MS data selection is specified, chanbin is not equal to the default value of spw, and the WEIGHT_SPECTRUM or SIGMA_SPECTRUM columns don’t exist, the statwt task may need to be run twice in order to complete successfully due to a known issue with initializing the WEIGHT_SPECTRUM and/or SIGMA_SPECTRUM columns in the code. In these circumstances, an exception will be raised with instructions to restart the task. If you are using the tool method, first close the ms tool, then reopen it using the same data set, apply the same selection, and then run ms.statwt().


  • SPW combination (combinespws=True) requires that all the SPWs selected have the same number of channels.

  • Some inconsistencies are present in CASA in the SIGMA/WEIGHT columns (and their _SPECTRUM variants) when splitting on datacolumn=’data’, such as:

    • For an MS with WEIGHT_SPECTRUM but no SIGMA_SPECTRUM (as obtained from initweights), SIGMA_SPECTRUM is created and initialized to SIGMA. While split/mstransform correctly initializes the output WEIGHT to 1/SIGMA^2, it does not initialize the output WEIGHT_SPECTRUM to 1/SIGMA_SPECTRUM^2 (instead it copies the original WEIGHT_SPECTRUM).

    • For an MS with both WEIGHT_SPECTRUM and SIGMA_SPECTRUM, the output WEIGHT_SPECTRUM is again a copy of the input instead of being initialized to 1/SIGMA_SPECTRUM^2.

    Future work in CASA is planned to address such inconsistencies.


  • cvel is calculating the velocity incorrectly for ephemeris objects. We recommend to use mstransform or its offspring cvel2, although the latter should be used with care as it is not fully commissioned yet.

  • cvel fails on MMS files used for parallel processing. We recommend to use mstransform or its offspring cvel2, although the latter should be used with care as it is not fully commissioned yet.


  • Currently, bandpass will not find good solutions if any correlation (including cross-correlation) in the data is completely flagged. As an interim solution one may split the unflagged data in a separate file and then perform bandpass


  • Polarization position angle calibration poltype=’X’ or ‘Xf’ will be sensitive to any unmodelled position shift in the specified calibrator linear polarization model relative to the centroid location of total intensity (typically the phase center). Excess phase due to the position shift will introduce a bias in the cross-hand phase calibration (which is the same as position angle calibration in the circular feed basis). For this reason, it is best to use truly point-like (in all polarizations) calibrators, if possible, or accurate resolved models.


  • Sometimes setjy does not properly overwrite a current model in the header of the ms (virtual scratch column). It is recommended to use delmod if a model exists and shall be overwritten.

    • virtual model columns in the MS do not correctly support ephemeris objects, although they will run without generating errors or warnings. If any of your calibrators exhibit significant celestial motion on the timescale of your observation (e.g. , any solar system object), you must set ‘usescratch=True’ in calls to setjy().


  • fitorder should be kept low (<= 1) unless the line band is relatively narrow compared to the fit bands. If the image rms markedly rises in the middle line channels after uvcontsub, fitorder should probably be lowered.

  • fitorder > 0 does not work with solint > ‘int’

cal library

  • The CASA cal library (docallib=True in applycal, gaincal, bandpass, etc.) may exhibit problems when calibration is unavailable for a subset of MS spectral windows. Use of spwmap to (transparently, harmless) supply nominal calibration for these spectral windows may help avoid this problem. For antenna position corrections, try spwmap=[0] to relieve a variety of this problem.

VLA Switched Power

  • In CASA v4.2.2 and higher, the weight calibration for EVLA switched power/Tsys corrections is still being investigated. Visibility corrections are ok. Since switched power calibration is not used by the EVLA pipeline (except for requantizer gain corrections, for which this problem is irrelevant), and since calwt=F remains the general recommendation, users should rely on statwt to generate appropriate data weights.


  • For task fringefit, calibration tables created with CASA 5.5 and before cannot be applied with CASA 5.6 and later. Attempting to do so will fail with an error about non-confirming array sizes. Additionally, plotcal in CASA 5.6 and up will not plot calibration tables generated by CASA 5.5 or earlier; older versions of plotcal will also not plot CASA 5.6 fringefit tables correctly.


  • fixvis uses the small angle approximation and may be incorrect for large phase shifts. This may result in sources shifting position if large phase shifts are being applied (shifts up to a few beam sizes have been reported). Please use the new task phaseshift instead, or use tclean for phase center shifts during imaging when applicable.

  • With parallel calibration on multi-MS (MMS) files, fixvis does not write out the outputvis correctly, hence fixvis solutions are not applied when writing to a new MMS. The recommended work-around solution is to over-write the input MMS by leaving the outputvis parameter empty. This will change the input MMS, so if you are concerned about that, we recommend to make a copy before running fixvis in parallel mode. Writing output MS files in serial mode is not affected by this bug.


  • Ionospheric TEC corrections in CASA are currently validated only for the VLA. TEC corrections for other observatories are experimental and should be done at your own discretion.

  • Do not use CASA 6.1.0 for tec_map corrections.


  • To supply JPL-Horizons ephemeris data, a query function, which construct an email query request, can be used but it is only available to CASA 5.8. Constructing a query request manually via email as described in the fixplanets task section should still work for CASA 6.3 as long as the data file is saved in MIME format. An alternative function to query for ephemeris data via JPL-Horizons web interface and CASA readable format directly is planned for the future releases.


  • In tclean, the uvtaper parameter does not work with natural weighting in CASA 5.8/6.2 and later. As a workaround solution, please approach the desired outcome by using uvtaper with briggs weighting and robust=+2, or use CASA 5.6.

  • Generic problems putting multiple MSs into tclean that have mismatches in their shape: Recently, generic problems have been found with putting multiple MSs into tclean when there are mismatches in shape across the data set. For example, certain data columns may cause a segment fault if they are present in only some of the input data sets. And for mosaics, please specify the phasecenter explicitly, otherwise tclean will select the first pointing from the first MS. Other mismatches in shape across multiple input MSs may cause similar problem in tclean. The CASA team is in the process of coherently addressing these issues for CASA 5.8/6.2. Please contact the Helpdesk if you experience related issues that you cannot otherwise solve.

  • The gridder=’awproject’ has not been fully commisisoned for use with specmode=’cube’ in tclean. The following message appears: The gridder=’awproject’ has not been fully tested for ‘cube’ imaging (parallel=True or False). Formal commissioning of this mode is expected in a subsequent release, where ‘awproject’ will be aligned with recent framework changes. Until then, please report errors/crashes if seen.

  • In tclean, if gridder=’awproject’ is run with psterm=True, the output Primary Beam currently still includes the Prolate Spheroidal function. In order to do a primary beam correction, a separate PB needs to be made with psterm=False. See the CASA pages on AWproject for more information.

  • For widefield imaging in tclean, the following features still need to implemented and commissioned (for usepointing=True, with full heterogenous pointing support):

    • gridder=’mosaic’ : Enable accurate pointing corrections for baselines with antennas pointing in different directions

  • In tclean, the gridders ‘mosaic’ and ‘awproject’ include aperture illumination functions in the gridding convolution functions used for the PSF generation. Although this strictly follows the math, it has several undesirable features especially in the situation where data are not uniform across all axes across which they are being combined (i.e. if the mosaic pattern is not relatively flat, if the center of the image has no mosaic pointing, if different pointings have drastically different uv-coverages or frequency coverages). All such variations cause the PSFs to be position-dependent and could relate to potential instabilities during deconvolution, either requiring many major cycles to converge or diverging. For spectral-cube imaging, the effects are lower because PSFs are normalized to peak 1 no matter what their raw peak values are. For multi-term imaging, the ratios between the spectral PSF central values matter and the effect/error is enhanved. When all these uv-coverage variations are avoided (in careful simulations), both algorithms perform as expected for joint wideband mosaics (both with conjbeams=True or False). For CASA 6.3, the guidelines are:

    • For the standard gridder, full-field, single pointing imaging (spectral cube as well as multi-term) will be accurate as long as the image phase center matches the PB pointing center.

    • For multi-term wideband joint mosaics, we recommend the use of gridder=’awproject’ with conjbeams=True as that is the only combination that has demonstrated accurate wideband pb-correction (at niter=0) especially in the presence of position-dependent uv-coverage. All other options will need monitoring and several major cycles to ensure convergence. The image should ideally be centered on a PB center.

  • In tclean, the mosweight parameter for multi-field imaging has a new default value of mosweight=True as of CASA 5.4. The new default setting of mosweight=True in tclean optimizes noise characteristics for Briggs/uniform weighting, but one should be aware that it has the following disadvantages:

    • it may potentially cause memory issues for large VLA mosaics

    • the major and minor axis of the synthesized beam may be up to ~10% larger than with mosweight=False

    • Please change to mosweight=False to get around these issues.

  • When imaging mosaics with a large number of fields and many MSs in tclean, an error can occur that specifies too many open files. This can happen for both manual and pipeline imaging when using the mosweight=True parameter. The reason is that in CASA 5.5, a trade-off was made to reduce memory demands in tclean when using mosweight, by placing the weights on disk using multiple files. Unfortunately, this memory fix may cause open file problems for data sets consisting of many MSs and fields. The problem has been characterized based on the number of MSs and fields: with respect to earlier CASA releases, the imager code now uses #MSs x #fields x 2 additional files. In CASA 6.2 and 6.3, the number of open files required for the default perchanweightdensity=True case has been dramatically reduced, though perchanweightdensity=False imaging runs are more limited. While the CASA team is working on a permanent solution for future CASA versions, the recommended work-around solution is to manually increase the limit for the number of open files, e.g.: ulimit -Sn 8000 or ulimit -Sn 16000. In some cases, increasing the hard-limit on number of open files may be necessary, which requires admin/root permissions. As a rule of thumb, each MS requires ~54 simultaneously open files. With a 16k limit and a maximum of 150 fields per MS, for a use case with perchanweightdensity=False, mosweight=True tclean will encounter too many open files with ~46 MSs or more, while with perchanweightdensity=True, mosweight=True tclean will encounter too many open files with ~300 MSs or more.

  • There are small, systematic offsets known to occur when using tclean. Our initial tests show that the offset in dec is of the order ~50 milli-arcsec, while the offset in RA is a function of declination, but also amounting to ~50mas. This issue is currectly being investigated.

  • Currently the parameter type of niter is defined as an integer, therefore the integer value larger than 2147483647 will not be set properly as it causes an overflow.

  • Using deconvolver=’mtmfs’, nterms=1 and specmode=cube does not yet work in parallel imaging mode. Use specmode=’mfs’ instead.

  • In tclean, defining image cubes in optical velocity in some cases is known not to work. This problem is under investigation.

  • The awproject gridder in tclean does not support the virtual model scheme.

  • Interactive tclean only works when a region or mask is selected in the CASA Viewer. There is a known bug that when a region is first selected, and then de-selected to produce an empty mask (filled with zeros), the CASA Viewer that runs interactive tclean will still allow you to proceed, and tclean will detect an empty mask and stop. Please always mark a region/mask to continue interactive tclean (if the entire image should be cleaned, draw a box around the entire image), and do not forget to double-click inside the green contours to select the region.

  • When using interactive tclean, hand-edited cyclethresholds do not change back to the auto-calculated values in the GUI until two major cycles later. However, the logger contains the most accurate information about what was used, and the expected behaviour (of hand-edited cyclethresholds applying to only the current minor cycles) is seen and has been tested. Therefore, iteration control and imaging will proceed as expected. This known issue affects CASA versions 5.6 and 5.7/6.1

  • For imaging of cubes using the mosaic gridder, a seg-fault can be triggered if the default nchan=-1 is used and channel selection is set with spw. This can result in either a seg-fault, or image planes with NaN values. It is not yet clear what is the root cause of this issue. The problem was found in VLA data, but it is not clear whether it can affect data from other telescopes. We expect this problem to be fixed in CASA 6.3. As a work-around solution, we recommend to set the nchan parameter to anything different than -1.

  • In the makemask task, region files using the minus sign ( - ) to create cutouts are known not to work.

  • The combined imaging of different large MSs where differences in the topo-centric frequencies are large compared to the channel width can fail in tclean as a result of memory issues, in particular when imaging in parallel mode. A potential workaround solution is to use the task concat to first combined the MSs before running tclean, although further testing is needed to ensure that this solution is valid for all cases. This issue will be fixed in a next CASA release.


  • Position-velocity (PV) images are not supported by imregrid, because their coordinate systems are nonstandard, lacking a direction coordinate and having a linear coordinate.

  • When converting from between coordinate system that require rotation (e.g., from celestial to galactic coordinates), CASA is known to introduce deviations in position from other software packages that can be several tenths of an arcsec. This could be because the rotation of the rectangular grid in a non-cartesian coordinate system is imperfect, possibly due to internal inconsistencies in the conversion matrices. The conversion between one frame and another in general becomes less accurate as distance from the output image’s reference pixel increases. The imregid task and Measures tool suffer from this Known Issue (see imregrid task page).


  • The sub-second value of the observation start time is being omitted. This bug is known to affect the following two cases: 1). date observation field in the logger output of summary mode (mode=’summary’); 2). return value of the get mode (mode=’get’) with hdkey=’date-obs’. Although the issue is minor in most of the case, it affects the image analysis that depends on sub-second precision.


  • The CASA viewer does not yet support the entire region shapes and parameters at this stage.

  • For equatorial cubes, i.e. data cubes that include dec=0 (exact), the viewer only gives spectra for sources at dec > 0. No spectra are produced for any points with dec <0.

  • Viewer may not properly open saved region files.

  • With the new region panel being used now, It may be advisable to rename the $HOME/.casa/viewer/rc file that stores previous configurations of the viewer.

  • Viewer - labels are not shown - this can be caused by a conflict between an installed version of PGPLOT and the version of PGPLOT that comes with the non-root version of CASA. If you do have PGPLOT installed in a standard location (e.g. /usr/lib), you may try moving it aside and see if it resolves the problems. If you do encounter this problem, please report it to the CASA team.

  • Some X11 settings can make the viewer unstable. We identified that the line Load “glx” in /etc/X11/xorg.conf is such a setting. If you don’t need this line for aother applications, it would be better to have it removed.

  • The viewer can only load MeasurementSets (MS) for which all spectral windows have the same channel width. If this is not the case, an ArrayColumn error will appear. To get around this, use SPLIT`` to place the spectral windows of interest in a separate MS, or try the table browser tool.

  • When exiting CASA after using the viewer, a message similar to the following may appear: proc vtool_1EziEss1P2tH0PxJbGHzzQ is being killed. This is a cosmetic issue and can be ignored.

  • For some OSs and window managers, parts of the display may be eclipsing interactive elements. We recommend to change the window manager styles for these cases.

  • When multiple animators are open, it can happen that it is not possible to make them active, when the ‘Images’ animator is inactive. Active the ‘Images’ animator first to enable the other animators.

  • MeasurementSet with sizes of tens of Gb may not visualize the full data set properly on all machines, which can give the appearance that part of the data is flagged.

  • The line tool in the MAC viewer plots unreadable hex numbers.


  • In plotms, PDF and PS exports have been reported not to work with some older sub-versions of RH7 (e.g., RH 7.6). While the problem has not been completely characterized, upgrading to a newer RH version (e.g., RH 7.9) has shown to solve this issue.

  • In RedHat 7 we found that in some circumstances the vertical tab of the viewer appears on the right hand side instead of the left hand side. This eclipses the scrollbar and makes it difficult to use. To fix, add the following to the top of ~/.config/Trolltech.conf

  • When plotting pointing axes in plotms on RHEL6, the tick-values of minutes and seconds on the axes are not multiples of 5

  • For concatenated data sets, plotms can create an output error if certain data columns were present in some of the concat input MSs, but missing in others (making concat inset zero values). A practical workaround is to either handle the MSs separately, or delete those columns using the tb.removecols tool (but in case of the latter one has to take care that the columns are not crucial).


  • When running uvmodelfit, the output componentlist does not contain the uncertainty in flux that the task calculates (and displays at the end of the fitting process).


  • The use of the “centerbox” parameter when specifying a region in imstat has a known issue that under very specific circumstances, less pixels are taken into account for the statistics than what is expected. This only occurs when all of the following are true: (1) values are specified in pixels; (2) the width of the box is an even number of pixels (e.g, 4pix, 16pix, or 100pix); and (3) the box is located away from the image center in Right Ascension (progressively more pixels are dropped when moving away from the image center, but only in RA). The issue is a combination of machine rounding errors (when the boundary of the centerbox is exactly at the center of a pixel), and the fact that centerbox has to converts pixel coordinates to sky coordinates to allow all possible combinations of regions. Note that the “box” parameter is not affected by this, because it can be more strict in only using flat pixel coordinates. As a simple work-around solution, we recommend to always give the width of the centerbox in “odd” number of pixels. Please note that because centerbox places the center of a box in the middle of a pixel and CASA only includes full pixels, the width of a centerbox always has an odd number of pixels anyway. For example, centerbox=[[1000pix,4000pix],[4pix,4pix]] for an 8000x8000 pixel image should give npts=25, but due to the above issue will result in npts <25. Instead, centerbox=[[1000pix,4000pix],[5pix,5pix]] will always give npts=25.


  • The table tool’s statistics function tb.statistics currently ignores the useflags parameter, so statistics are calculated for all values in the specified column, and flagged values cannot be avoided.

simobserve / simanalyze

  • CASA simulations do not yet fully support all spectral types of components (i.e., ability to include spectral lines or spectral indices)

  • When cleaning with a simulated MS, it should be considered best practice to declare the phasecenter parameter using the ‘J2000’ notation to account for possible rounding errors that can create an offset in the image.

  • corruption of simulated MS by an atmospheric phase screen is only available from the toolkit. simobserve and sm: Under some circumstances, running sm.setnoise and sm.corrupt, or simobserve with thermal noise, twice using the same project name, the noise can be applied a second time, doubling the noise level. Be sure to use different project names for creating different simulations with noise. See for the latest simulation information

single dish

  • Difficulty in allocating memory to import/processing of Band 9 (fast-mapped, double-circle) data. Use high-performance machines as workaround.

  • Please avoid using spectral window and channel selection by frequency range. It may occasionally fail. So far, this has only been reported on Mac OS but it may happen on Linux, too.

  • sdcal crashes if ‘en_US’ is not available in the OS locale. This is known to happen on Ubuntu 20.04 with the so-called “minimal” install option. The underline cause is that task sdcal expects the presence of ‘en_US’ in the OS locales, but the Ubuntu OS is only shipped with ‘en_US.utf8’ by default, not ‘en_US’. This issue can be resolved by running the command sudo locale-gen ‘en_US’ or by modifying /etc/locale.alias. However, considering this could break other light-weight OS environments, users can also create and use their own locale as follows:

# No fr_FR locale available on Ubuntu 20.04
$ locale -a | grep fr_FR

# So this fails to format numbers the French way
$ env LANG=fr_FR printf "%'d\n" 1234567890

# Create our own customized fr_FR locale
# Original fr_FR.src copied from /usr/share/i18n/locales/fr_FR
$ localedef -i fr_FR.src ./my_locales/fr_FR

# Now use it:
$ env LOCPATH=$PWD/my_locales LANG=fr_FR locale title
My locale: French-like space-separated, Japanese-like ten-thousand grouped numbers
$ env LOCPATH=$PWD/my_locales LANG=fr_FR printf "%'d\n" 1234567890
12 3456 7890
$ env LANG=en_US.utf8 printf "%'d\n" 1234567890


  • Frequencies and frequency increments in the weight image generated by sdimaging could be slightly different from those in the science image. The difference in frequency resolution (CDELT3 in .fits) could be 0.1% at maximum, which is negligible in most cases. If the difference matters, please use tsdimaging instead although it takes more time to process than sdimaging.

  • sdimaging task may fail when more than several MSes are chosen as inputs (infiles) to create single output image. It is because the file descriptor opened by the task exceeds the limit defined by OSes. You can relax the limit of the number of open file descriptors by the command, e.g., ulimit -n 4096 . Note the typical number of file descriptors opened by the task is 35/MS.


  • For task sdintimaging, gridder=’awproject’ is not yet available. It will be enabled in a subsequent release.


  • The task intermittently seg faults on Mac OS.


  • “T+dT” style timerange selection is being interpreted with insufficient precision. Although the documenatation says that timerange selection supports YYYY/MM/DD/HH:MM:SS.FF string, the FF part (subsec part) is being omitted. This issue affects data that depends on sub-second precision.


CASA supports multiple computer operating systems as well as multiple versions of Python. Further differences exist between the monolithic CASA distribution (which includes all packages and a relocatable copy of Python) and modular CASA (in which the user supplies their own Python environment).

Note that CASA is only verified and validated against the operational configuration of NRAO instruments (currently RHEL7/Python 3.6).

Refer to the following version compatibility matrix for current and future planned support.

Full Monolithic Distribution

Python 2.7

Python 3.6

Python 3.7

Python 3.8



6.1, 6.2







Ubuntu 18.04



Ubuntu 20.04



Mac OS 10.14




Mac OS 10.15




Mac OS 11 x86



Mac OS 11 ARM



Modular CASA

Python 2.7

Python 3.6

Python 3.7

Python 3.8


6.0, 6.1, 6.2











Ubuntu 18.04




Ubuntu 20.04




Mac OS 10.14



Mac OS 10.15



Mac OS 11 x86



Mac OS 11 ARM



casaplotms became available for all Linux/Python 3.x combinations beginning in 6.1

casaviewer became initially available in 6.2 and fully supported in 6.3


A full installation of CASA including custom python environment is available as a Linux (.tar) or Mac (.dmg) file from our Downloads page (

The CASA 6.x series is also available as modular packages, giving users the flexibility to build CASA tools and tasks in their own Python environment. This includes the casatools, casatasks, and casampi modules, allowing for core data processing capabilities in parallel.

Monolithic Distribution

On Linux:

  1. Download the .tar file and place it in a work directory (e.g. ~/casa)

  2. From a Linux terminal window, expand the file:

    $ tar -xvf casa-xyz.tar.xz
  3. Start CASA

    $ ./casa-xyz/bin/casa
  4. The one caveat is that CASA on Linux currently will not run if the Security-Enhanced Linux option of the linux operating system is set to enforcing. For the non-root install to work, SElinux must be set to disabled or permissive (in /etc/selinux/config) or you must run (as root):

    setsebool -P allow_execheap=1

    Otherwise, you will encounter errors like:

    error while loading shared libraries: /opt/casa/casa-20.0.5653-001/lib/ cannot restore segment prot after reloc: Permission denied

On Macintosh:

  1. Download the .dmg disk image file

  2. Double click on the disk image file (if your browser does not automatically open it).

  3. Drag the CASA application to the Applications folder of your hard disk.

  4. Eject the CASA disk image.

  5. Double click the CASA application to run it for the first time. If the OS does not allow you to install apps from non-Apple sources, please Change the settings in “System Preferences-> Security & Privacy -> General” and “Allow applications downloaded from: Mac App store and identified developers”.

  6. Optional: Create symbolic links to the CASA version and its executables (Administrator privileges are required), which will allow you to run casa, casaviewer, casaplotms, etc. from any terminal command line. To do so, run


WARNING: By default, python 3.6 (and earlier versions of python 3) include the current working directory in the python path at startup. Any script in that directory with the same name as a standard python module or a CASA module will be detected and used by python instead of the code that is delivered with CASA. Protections have been included for files called “” and “”, but other scripts may cause problems with the CASA startup. For example, do not include a file named in the working directory.

WARNING: The GUI-based application plotcal has not been migrated into the CASA 6 series. Its functionality is now in plotms.

Modular Packages

Pip wheels for casatools and casatasks are available as Python 3 modules. This allows simple installation and import into standard Python 3.6 environments. The casatools wheel is necessarily a binary wheel so there may be some compatibility issues for some time as we work toward making wheels available for important Python configurations.

The following prerequisites must be present on the host machine before installing CASA:

  1. Python 3.6

  2. libgfortran3 (yum or apt-get install). Only for Linux.

  3. (casampi only) openmpi - see below

A la carte installation of desired modules (from a Linux terminal window):

$: python3 -m venv venv
$: source venv/bin/activate
(venv) $: pip install --upgrade pip wheel
(venv) $: pip install casatools==
(venv) $: pip install casatasks==
(venv) $: pip install casaplotms==1.2.8
(venv) $: pip install casaviewer==1.2.14
(venv) $: pip install almatasks==1.2.3
(venv) $: pip install casampi==0.4.2
(venv) $: pip install casashell==
(venv) $: pip install casadata==2021.8.16
(venv) $: pip install casampi==0.4.2
(venv) $: pip install casaplotserver==1.1.3

Note: Users are advised to use a Python venv and specific module version numbers as shown above. Giving an invalid number (like 6.3.0.x) to the pip install command is an effective way to list all available version numbers.

Start CASA and sanity check:

(casa6) $ python

Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[[GCC 8.3.0] on linux]
Type "help", "copyright", "credits" or "license" for more information.
>>> import casatasks
>>> help(casatasks)

To exit the python venv, type deactivate from the terminal. However, the rest of this documentation assumes the venv is active (to reactivate, type source casa6/bin/activate)

The use of python3 venv is a simple built-in method of containerizing the pip install such that multiple versions of CASA 6.x can be kept on a single machine in different environments. In addition, CASA is built and tested using standard (python 3.6) libraries which can be replicated with a fresh venv, keeping the libraries needed for CASA isolated from other libraries which may already be installed on your machine.

With the pip installation, CASA may be used in a standard Pythonic manner. Examples can be found in this Jupyter Notebook.

WARNING: The pip-wheel version is intended for manual data processing, and is not yet officially endorsed by ALMA or VLA. Currently, pipelines are included in -and tested only for- all-inclusive monolithic CASA distributions.

Parallel Processing Setup

The casampi package provides the task-level MPI parallelization infrastructure of CASA. The casatasks module detects when casampi is available and enables the parallel processing capabilities of CASA. Advanced users may also access the casampi package directly to build new or custom parallelization schemes.

Ensure that openmpi is installed on the host machine (RHEL: yum install openmpi-devel, Ubuntu: apt-get install libopenmpi-dev) before installing casampi

NRAO systems only: contact the helpdesk to install casa-toolset-3, then run the command following command: export PATH=/opt/casa/03/bin:$PATH

To test for correct modular MPI installation, run the following commands (from Linux terminal):

(casa6) $ echo "from casampi.MPIEnvironment import MPIEnvironment; print('working?', MPIEnvironment.is_mpi_enabled)" >

(casa6) $ mpirun -q -n 2 python

observe two instances of “working? True”