caracal-pipeline / caracal

Containerized Automated Radio Astronomy Calibration (CARACal) pipeline
GNU General Public License v2.0
28 stars 6 forks source link

TODO: 7-17 Nov 2017 #121

Closed SpheMakh closed 5 years ago

SpheMakh commented 6 years ago

A list of things to do this week

Add to MSUtils

Add to Politsiyakat

Add to PyPi

Add to MeerKATHI

bennahugo commented 6 years ago

okay politsiyakat and rfimasker is in. Still need to integrate them into meerkathi. Need to get sunblocker and the updated msutils onto pypi next. @SpheMakh I'm striking through as I go along

bennahugo commented 6 years ago

@gigjozsa @paoloserra After this we will lock master and only allow changes via pull requests. This is needed to run changes through automated assurance testing (using IC5264)

paoloserra commented 6 years ago

What tests are you thinking of? Remember that with IC5264 we are still above thermal noise (also in spectral line). We don't know how much of the excess noise is due to our pipeline and how much to limitations in the data.

bennahugo commented 6 years ago

@paoloserra noise doesn't matter in this case. I just need the pipeline to run through end to end to ensure changes don't break functionality.

gigjozsa commented 6 years ago

We (at least Paolo and I) can approve pull requests, right?

SpheMakh commented 6 years ago

Everyone in the meerkathi-admins team can approve pull requests. But I couldn't add @paoloserra to the team since he is not part of the ska-sa github repository. Maybe @gigjozsa (or @o-smirnov ) can add him?

o-smirnov commented 6 years ago

I upgraded @paoloserra to admin status for this repo.

SpheMakh commented 6 years ago

On adding spectral weights to the ms. We got a tool to do this using the spec. sensitivity values, but we'll have to rely on H5TOMS to create the WEIGHT_SPECTRUM and SIGMA_SPECTRUM columns. In the interim, I'm using CASA's initweights task.

o-smirnov commented 6 years ago

Can't you create your own columns from scratch?

SpheMakh commented 6 years ago

I tried a bit, but creating MS dminfo is a bit involved. It would be better if a column with the same type, and shape already existed in the MS.

o-smirnov commented 6 years ago

If only you spent your nights studying the DDFacet code, you'd know there is a simple solution to this:

            desc = self.ms.getcoldesc("DATA")
            desc["name"] = col_name
            desc['comment'] = desc['comment'].replace(" ", "_")  # got this from Cyril, not sure why
            # if a different type is specified, insert that
            if dtype:
                desc['valueType'] = dtype
            self.ms.addcols(desc)
SpheMakh commented 6 years ago

I create the coldesc using "pyrap.table.makearrcoldesc" its the dmiinfo that I couldn't get. But I see in the last line that its not being parsed, probably will be auto-generated if not given.

o-smirnov commented 6 years ago

I think the idea above is to just get that info from the DATA column, and only change the data type.

SpheMakh commented 6 years ago

The data types for the coldmi (data management info) are all ints, and there are a bunch of Keywords are don't really understand.

{'NAME': 'TiledDATA',
 'SEQNR': 17,
 'SPEC': {'ActualMaxCacheSize': 0,
  'DEFAULTTILESHAPE': array([  4,  40, 819], dtype=int32),
  'HYPERCUBES': {'*1': {'BucketSize': 1036640,
    'CellShape': array([   4, 1705], dtype=int32),
    'CubeShape': array([     4,   1705, 376320], dtype=int32),
    'ID': {},
    'TileShape': array([   4, 1705,   19], dtype=int32)}},
  'IndexSize': 1,
  'MAXIMUMCACHESIZE': 0,
  'SEQNR': 17},
 'TYPE': 'TiledShapeStMan'}
o-smirnov commented 6 years ago

That's the tiling information, but why try to understand it? The whole idea of the recipe above is that you grab it from the DATA column and not worry about it. The only thing you have to change is desc['valueType'] = float.

SpheMakh commented 6 years ago

Yup, that's what I'm trying.

SpheMakh commented 6 years ago

Cool, it works when I don't give dminfo.

SpheMakh commented 6 years ago

So we can now create an populate WEIGHT/SIGMA_SPECTRUM columns. We''ll continue discussion about estimating the weights on the MSUtils repo

SpheMakh commented 6 years ago

As discussed with @o-smirnov and @bennahugo. The best way to estimate expected thermal noise, is to simulate noise using the spec. SEFD values into a NOISE column in the MS, then image that column. This way you account for:

I'll extend the addnoise function in MSUtils to use a frequency dependent SEFD . Which will be straight forward with the noise estimation tools in MSUtils.ClassESW

paoloserra commented 6 years ago

Can we keep the simpler approach (i.e., no imaging) for natural noise estimates?

o-smirnov commented 6 years ago

We should have both approaches available.

gigjozsa commented 6 years ago

I vouch for that. We need to know how far we are from thermal as calculated in a simple formula.

SpheMakh commented 6 years ago

Yup, we will have both approaches. The expected, natural weighting, estimate should also be a product of this function.

SpheMakh commented 6 years ago

Changes to MSUtils are in. Now I need to:

bennahugo commented 6 years ago

Politsiyakat along with the changes to aoflagging and delaycal are almost in as well

gigjozsa commented 6 years ago

Concerning report: In the future the obsreport should also contain: For continuum date

For line data: 2 big PV-cuts through centre of the cube

gigjozsa commented 6 years ago

@SpheMakh Can this be closed?

bennahugo commented 6 years ago

No changes not implemented yet

gigjozsa commented 6 years ago

Can this be renamed?

KshitijT commented 5 years ago

I am closing this issue, since the name is utterly opaque, issue refers to a TODO list and not a particular feature. If anyone wants to keep it alive (if stuff here needs to be implemented (@gigjozsa ?) ) or for historical reasons and/or nostalgia, please reopen it. :)