!------------------------------------------------------------------------ ! P_LMV.MAP ! ! Procedure to plot multiple contour maps of spectral line images ! overlaid on the bitmap. Similar to P_LMV.GRAPHIC, but with some ! specificities due to MAPPING program ! ! S.Guilloteau 10-Jan-1994 !------------------------------------------------------------------------ on error return ! clear plot def real x2 dx y2 def double xmark ratio def integer m n n1 n2 imark nmap nadd def character cmark*12 def logical do_clean do_dirty do_coverage let do_clean beam_type.eq."CLEAN" let do_dirty beam_type.eq."DIRTY" let do_coverage extra.eq."COVERAGE" ! @ p_level.greg &1 @ p_scale.greg &1 @ p_header.greg &1 rgdata &1 /variable if size.eq.0 then limits /rgdata else if (size.gt.0) then limits size|2 -size|2 -size|2 size|2 seconds endif if (aspect.eq.0) then let ratio abs((user_xmax-user_xmin)|(user_ymax-user_ymin)) else let ratio aspect endif let x2 box_xmax let y2 box_ymax if first.eq.0 then let n1 1 else let n1 first endif if last.eq.0 then let n2 &1%dim[3] else let n2 last endif let nmap n2-n1+1 let nadd 0 if (do_clean.or.do_dirty) then let nadd nadd+1 endif if (do_coverage) then let nadd nadd+1 endif if ratio.gt.1.d0 then ! M > N let m int(sqrt((nmap+nadd)*ratio+1)) let n nint(m|ratio) if (m*n.lt.(nmap+nadd)) then let m = m+1 if (m*n.lt.(nmap+nadd)) then let n n+1 endif endif else let n int(sqrt((nmap+nadd)|ratio+1)) let m nint(n*ratio) if (m*n.lt.(nmap+nadd)) then let n = n+1 if (m*n.lt.(nmap+nadd)) then let m m+1 endif endif endif set expand min(6.0|(m+n),1.) let dx (x2-box_xmin)|n|ratio let dx min((y2-box_ymin)|m,dx) let k n1-1 /new integer ! delete /variable mbox nbox ubox define integer mbox nbox /global let mbox m let nbox n define real ubox[5,nbox,mbox] /global for j 1 to m for i 1 to n gtvl\change directory