C+ C NAME: C IPSConstraints C PURPOSE: C Set up data processing constraints for IPS tomography program C CATEGORY: C Tomography C CALLING SEQUENCE: subroutine IPSConstraints(bForecast,I__VD,NitTotal,bBound,BINXmin,NitBad,iEorW,XElow,XEhigh,XRlim) C INPUTS: C bForeCast logical Forecast mode or regular mode (set by IPSProcessing) C I__VD integer TOM__V: set constraints for V data C TOM__G: set constraints for G data C NitTotal integer # iterations (set by IPSProcessing) C OUTPUTS: C bBound logical ? (never used this) C BINXmin real minimum # of line-of-segments in a bin at the source surface C needed to make a valid update C NitBad integer iteration at which to throw away 'bad' sources C iEorW integer use all data (0), east data only (1) or west data only (2) C XElow real minimum elongation to be used C XEhigh real maximum elongation to be used C XRlim real maximum difference for RA with solar direction C CALLS: C AskYN, AskI4, AskR4, AskWhat C INCLUDE: include 't3d_param.h' C PROCEDURE: C Lots of user prompts C MODIFICATION HISTORY: C NOV-1999, Paul Hick (UCSD/CASS; pphick@ucsd.edu) C- logical bForecast integer I__VD integer NitTotal logical bBound real BINXmin integer NitBad integer iEorW real XElow real XEhigh real XRlim character cSay*14 /'IPSConstraints'/ integer Flt2Str character cStr*80 character cVD cVD = char(I__VD) call Say(' ',' ',cVD,'.#.#constraints#.') if (.not. bForecast) call AskYN('Limit the '//cVD//' deconvolution to map boundaries$no',bBound) call AskR4('# '//cVD//'-points per bin that constitute a deconvolution',BINXmin) if (NitTotal .gt. 9) NitBad = NitTotal/2 call AskI4('Iteration at which to limit '//cVD//'-source deviations, -1=none',NitBad) !Get E or W or EW; Set the elongation angles call AskWhat('All '//cVD//' data, East data, West data$0',iEorW) if (iEorW .eq. 2) iEorW = -1 call AskR4('Minimum elongation for '//cVD//' data$0$180$',XElow) call AskR4('Maximum elongation for '//cVD//' data$'//cStr(:Flt2Str(XElow,1,cStr))//'$180$',XEhigh) call AskR4('Maximum RA relative to Sun for '//cVD//' data$0$180$',XRlim) return end