let frec &1 ! if exist(jypkflux) then delete /variable jypkflux endif define double jypkflux[nant] /global if .not.exist(scanflux) then def logical invalid_list /global def character scanlist*80 /global def integer scanflux[2] /global for i 1 to 20 !! n_cals def double in_fl_'i' cal_fl_'i' rdi_fl_'i' /global def logical fix_fl_'i' /global next endif if .not.exist(caltype) then def character caltype*1 /global let caltype "P" endif ! ! it is much safer to redefine the scan list at each call. let scanflux 'first_scan' 'last_scan' let scanlist 'first_scan'" "'last_scan' let invalid_list .false. ! gui\panel "Flux list" pr:clic/x_flux.hlp ! if (frec.eq.2).and.(do_external) then set phase external else set phase internal endif say "Receiver: "'frec'" Frequency "'frghz[frec]'" GHz" ! if nant.eq.5 then let jypkflux 'jypk[1,frec]' 'jypk[2,frec]' 'jypk[3,frec]' 'jypk[4,frec]' - 'jypk[5,frec]' /Prompt "Efficiencies:" /choice else if nant.eq.4 then let jypkflux 'jypk[1,frec]' 'jypk[2,frec]' 'jypk[3,frec]' 'jypk[4,frec]' - /Prompt "Efficiencies:" /choice else if nant.eq.3 then let jypkflux 'jypk[1,frec]' 'jypk[2,frec]' 'jypk[3,frec]' - /Prompt "Efficiencies:" /choice else if nant.eq.2 then let jypkflux 'jypk[1,frec]' 'jypk[2,frec]' /Prompt "Efficiencies:" /choice endif ! let scanlist 'scanlist' /prompt "Scan list ?" ! for i 1 to n_cals if cal_source[i].eq."MWC349" then say "Source MWC349, Model Flux "'fhii[2,frec]'" Jy" else if cal_source[i].eq."CRL618" then say "Source CRL618, Model Flux "'fhii[1,frec]'" Jy" else say "Calibrator "'cal_source[i]' endif let in_fl_'i' '0.001*nint(1000*in_flux[i,frec])' - /prompt "Input Flux?" let fix_fl_'i' 'fix_flux[i,frec]' /prompt "Fixed flux?" let cal_fl_'i' '0.001*nint(1000*cal_flux[i,frec])' - /prompt "Solved Flux:" /choice let rdi_fl_'i' '0.001*nint(1000*rdi_flux[i,frec])' - /prompt "Flux in File:" /choice next ! GUI\BUTTON "@ x_flux_solve" "Solve" GUI\BUTTON "@ x_flux_get" "Get result" GUI\BUTTON "@ x_flux_store" "Store" GUI\BUTTON "@ x_flux_plot" "Plot" if .not.do_self_all then GUI\BUTTON "@ x_calib" "Calibrate" else GUI\BUTTON "@ x_scal" "Self Cal." endif ! GUI\GO