define structure map /global
define logical map%task /global
define character map%default*12 map%name*256 /global
let map%default "detailed"
!
! Optimized data reading
define structure map%red /global
define logical   map%red%force /global
define structure map%red%uv map%red%beam map%red%primary map%red%dirty /global
define structure map%red%cct map%red%clean map%red%residual /global
define character map%red%uv%n*256 map%red%beam%n*256 map%red%primary%n*256 map%red%dirty%n*256 /global
define character map%red%cct%n*256 map%red%clean%n*256 map%red%residual%n*256 /global
! long below => nanosecond dates
define long map%red%uv%t map%red%beam%t map%red%primary%t map%red%dirty%t /global
define long map%red%cct%t map%red%clean%t map%red%residual%t /global
let map%red%force yes  ! Force always re-reading by default
let map%red%uv%n ""
let map%red%beam%n ""
let map%red%primary%n ""
let map%red%dirty%n ""
let map%red%cct%n ""
let map%red%clean%n ""
let map%red%residual%n ""
let map%red%uv%t -1
let map%red%beam%t -1
let map%red%primary%t -1
let map%red%dirty%t -1
let map%red%cct%t -1
let map%red%clean%t -1
let map%red%residual%t -1
!
! Antenna diameters
define structure diam /global
define double diam%int diam%sd /global
!
let diam%int 15 ! PdBI
let diam%sd  30 ! 30m
!
! Plot
!
define structure plot /global
define character plot%kind*32 /global
let plot%kind "view"
!
! uvextract
!
define structure uvextract /global
define character uvextract%name*256 /global
define integer uvextract%first uvextract%last /global
let uvextract%name ""
let uvextract%first 0
let uvextract%last 0
!
! uvshift
!
define structure uvshift /global
define character uvshift%name*256 uvshift%ra*16 uvshift%dec*16 /global
define logical uvshift%relative /global
define double uvshift%offset[2] uvshift%angle /global
let uvshift%name ""
let uvshift%relative no
let uvshift%offset 0 0
let uvshift%ra ""
let uvshift%dec ""
let uvshift%angle 0
!
! uvshort
!
define structure uvshort /global
define character uvshort%action*16 /global
!
let uvshort%action "all"
!
define structure uvshort%grid /global
define integer uvshort%grid%xcol uvshort%grid%ycol uvshort%grid%wcol uvshort%grid%mcol[2] /global
define double uvshort%grid%postol uvshort%grid%minwei /global
!
let uvshort%grid%xcol 1
let uvshort%grid%ycol 2
let uvshort%grid%wcol 3
let uvshort%grid%mcol 4 0
let uvshort%grid%postol 1 ! arcsec
let uvshort%grid%minwei 0.01
!
define structure uvshort%diam uvshort%beam /global
define double uvshort%diam%int uvshort%diam%sd /global
define double uvshort%beam%int uvshort%beam%sd /global
define double uvshort%uvtrunc /global
define double uvshort%jyperk /global
define character uvshort%unit*12 /global
!
let uvshort%unit "*"
let uvshort%jyperk 0
!
define structure uvshort%wei_fac uvshort%dat_fac /global
define double uvshort%wei_fac%user /global
define double uvshort%dat_fac%user uvshort%dat_fac%def /global
!
let uvshort%wei_fac%user 1
let uvshort%dat_fac%user 1
let uvshort%dat_fac%def  1
!
! Support
define structure gosupport /global
define character gosupport%kind*16 /global
define logical gosupport%oneperplane /global
define double gosupport%center[2] gosupport%major gosupport%minor gosupport%pa /global
!
let gosupport%oneperplane no
let gosupport%kind "cursor"
!
! Clean
define structure myclean /global
define character myclean%plot*16 /global
define double myclean%flux[2] myclean%ratio /global
define logical myclean%support myclean%version myclean%show myclean%restore myclean%mask /global
!
let myclean%support no
let myclean%version no
let myclean%show yes
let myclean%mask no
let myclean%restore no
let myclean%plot "residual"
let myclean%flux  0
let myclean%ratio 0
!
! Mosaics
define structure mos /global
define double mos%build mos%hppb /global
define logical mos%keep /global
!
let mos%keep no
let mos%hppb  0
let mos%build 0.2
!
! uvmap
!
! Recommended and Used Field("), Size(Pixel) and Cell(")
define structure reco /global
define double reco%field[2] reco%cell[2] /global
define integer reco%size[2] /global
define structure used /global
define double used%field[2] used%cell[2] /global
define integer used%size[2] /global
 !
 ! UV merge
 !
 define structure uvmerge /global
 define character uvmerge%in1*256 uvmerge%in2*256 uvmerge%out*256 /global
 define double uvmerge%wei_fac uvmerge%dat_fac /global
 !
 let uvmerge%in1 " "
 let uvmerge%in2 " "
 let uvmerge%out " "
 let uvmerge%wei_fac 1
 let uvmerge%dat_fac 1
 !
 ! UV stat
 !
 define structure uvstat /global
 define character uvstat%mode*8 /global
 define logical uvstat%beams /global
 let uvstat%beams no
 let uvstat%mode "weight"
 !
 ! UV list
 !
 define structure uvlist /global
 define integer uvlist%step uvlist%chan /global
 !
 let uvlist%chan 1
 let uvlist%step 1
 !
 ! UV clip
 !
 define structure uvclip /global
 define real uvclip%val /global
 define logical uvclip%all /global
 !
 ! UV circle
 !
 define structure uvcirc /global
 define character uvcirc%in*256 uvcirc%out*256 /global
 define real uvcirc%min uvcirc%max uvcirc%step /global
 !
 let uvcirc%in   " "
 let uvcirc%out  " "
 let uvcirc%min    0
 let uvcirc%max    0
 let uvcirc%step 7.5
!
! This is for Old Mapping
define character weight_mode*8 /global
define character map_ra*16 map_dec*16 /global
define double map_field[2] uv_cell[2] uv_taper[3] taper_expo map_cell[2] /global
define integer map_size[2]  convolution map_beam_step /global
define logical uv_shift /global
define double map_angle /global
!
let uv_taper 0
let map_size 0                  ! Use "automatic" determination
let map_cell 0                  ! Use "automatic" determination
let uv_cell 7.5 1.0             ! Default 7.5 m for uniform weighting
let uv_taper 0 0 0              !
let convolution 5               ! Convolution kernel used for gridding (default: spheroidals)
let map_angle 0                 !
let map_beam_step 0             ! Number of channels for same beam. Default: one beam for all.
!                               ! if < 0, computed from map_precis (internal) SIC variable.
let weight_mode "natural"       !
