;+ ; NAME: ; forecast_cfg ; PURPOSE: ; Configuration routine for the IPS forecast web site ; CATEGORY: ; pro/tool ; CALLING SEQUENCE: FUNCTION forecast_cfg, kind , $ filter = filter , $ root = root , $ html = html , $ local2ut = local2ut , $ maxelo_fisheye = maxelo_fisheye, $ degrees = degrees , $ round_time = round_time , $ mmsec = mmsec , $ disk_dtime = disk_dtime , $ scale_skymap = scale_skymap , $ crformat = CRformat , $ roi_offset = roi_offset , $ insitu_delt = insitu_delt , $ insitu_tstep = insitu_tstep , $ insitu_trange = insitu_trange , $ remote_volsize = remote_volsize, $ remote_ngrid = remote_ngrid , $ remote_fovsize = remote_fovsize, $ remote_location = remote_location,$ remote_color_v = remote_color_v, $ remote_range_v = remote_range_v, $ remote_opacity_v= remote_opacity_v,$ remote_opacity_power_v=remote_opacity_power_v,$ remote_color_n = remote_color_n, $ remote_range_n = remote_range_n, $ remote_opacity_n= remote_opacity_n,$ remote_opacity_power_n=remote_opacity_power_n,$ aftcast = aftcast , $ forecast = forecast , $ movie_delay = movie_delay , $ movie_skip = movie_skip , $ movie_time = movie_time , $ movie_nday = movie_nday , $ movie_ut_extra = movie_ut_extra, $ movie_trange = movie_trange , $ movie_dtime = movie_dtime ; OPTIONAL INPUT PARAMETERS: ; Set only one keyword at at time: ; ; /root return directory where all data are stored ; (=$NAGOYA) ; /html return root directory for IPS forecast web site ; (=$SMEI/html) ; /local2ut return offset between local time and UT ; Usually 7 (taking daylight savings time into account) ; /maxelo_fisheye return max elongation for fish-eye plots ; units (radians or degrees depend on setting /degrees) ; /round_time return time unit for round-off of times ; /mmsec NOT set: return value of TimeUnit ; /mmsec set : returns # milli-seconds in time unit ; /disk_dtime return time-offset used for disk maps ; as a time difference structure ; /crformat return format string for displaying Carrington times ; /remote_volsize return limits of volume for remote views (AU) ; /insitu_delt return smoothing applied to s/c time series (days) ; /aftcast_dtime return aftcast time offset in days ; /forecast_dtime return forecast time offset in days ; OUTPUTS: ; INCLUDE: @compile_opt.pro ; On error, return to caller ; CALLS: ; InitVar, BadValue, ToDegrees, TimeSet, IsTime, CarringtonT, TimeOp ; NewcombSun, vu_prefix ; PROCEDURE: ; MODIFICATION HISTORY: ; SEP-2002, Paul Hick (UCSD/CASS) ; OCT-2002, Paul Hick (UCSD/CASS; pphick@ucsd.edu) ; Automatic detection of offset local time with UT on Unix system ; by spawning shell command data +%z (should return e.g. '-0700') ;- InitVar, root , /key InitVar, html , /key InitVar, local2ut , /key InitVar, maxelo_fisheye , /key InitVar, round_time , /key InitVar, seconds , /key InitVar, disk_dtime , /key InitVar, scale_skymap , /key InitVar, CRformat , /key InitVar, roi_offset , /key InitVar, insitu_delt , /key InitVar, insitu_tstep , /key InitVar, insitu_trange , /key InitVar, remote_volsize , /key InitVar, remote_ngrid , /key InitVar, remote_fovsize , /key InitVar, remote_location , /key InitVar, remote_color_v , /key InitVar, remote_range_v , /key InitVar, remote_opacity_v , /key InitVar, remote_opacity_power_v , /key InitVar, remote_color_n , /key InitVar, remote_range_n , /key InitVar, remote_opacity_n , /key InitVar, remote_opacity_power_n , /key InitVar, aftcast_dtime , /key InitVar, forecast_dtime , /key InitVar, movie_delay , /key InitVar, movie_skip , /key InitVar, movie_time , /key InitVar, movie_nday , /key InitVar, movie_ut_extra , /key InitVar, movie_trange , /key InitVar, movie_dtime , /key root_dir = getenv('NAGOYA') html_dir = filepath(root=getenv('HOME'), 'html') CASE IsTime(kind) OF 0: loc = BadValue(0.0) 1: loc = (big_eph( kind, $ body = jpl_body(/earth,/string) , $ /to_ecliptic , $ /to_sphere , $ degrees=degrees , $ /onebody , $ /silent ))[0] ENDCASE loc = [loc, 30.0/ToDegrees(degrees=degrees), 3.0] CASE 1 OF root : RETURN, root_dir html : RETURN, html_dir local2ut : BEGIN ; Not sure whether this works on every Unix system CASE !version.os_family OF 'unix': BEGIN spawn, 'date +%z', local2ut ; Should return '-0700' or '-0800' local2ut = -fix(local2ut)/100 END ELSE: local2ut = 7 ENDCASE RETURN, local2ut ; Assumes daylight saving is in effect END maxelo_fisheye : RETURN, 70.0/ToDegrees(degrees=degrees) ; Max elong fisheye plots round_time : RETURN, TimeUnit(/hour, mmsec=mmsec); Roundoff time unit disk_dtime : RETURN, -4.0 ; Time offset solar disk map scale_skymap : RETURN, 1.2 ; Scale factor for sky maps CRformat : RETURN, '(F9.4)' ; Format for displaying Carrington rot roi_offset : RETURN, -0.125d0 ; Offset roi read from data files insitu_delt : RETURN, 0.75 ; Averaging window applied to s/c data insitu_tstep : RETURN, 0.25 ; Time series step size in days insitu_trange : RETURN, [-15.0,15.0] ; Range of time series in days remote_volsize : RETURN, [0,3] ; Restriction of remote views to 3 AU remote_ngrid : RETURN, 91 remote_location : RETURN, loc remote_fovsize : RETURN, 30.0/ToDegrees(degrees=degrees) remote_color_v : RETURN, [0,100] remote_range_v : RETURN, [200.0,1000.0] remote_opacity_v : RETURN, ([[0.0,0.07],[0.0,0.07]])[*,kind eq 'fast'] remote_opacity_power_v : RETURN, 1.75 remote_color_n : RETURN, [125,225] remote_range_n : RETURN, ([[4.0,8.00],[4.0,8.00]])[*,kind eq 'fast'] ;[5.0,15.0] remote_opacity_n : RETURN, ([[0.0,0.07],[0.0,0.07]])[*,kind eq 'fast'] remote_opacity_power_n : RETURN, 1.75 aftcast_dtime : RETURN, -4.0d0 forecast_dtime : RETURN, 1.0d0 movie_delay : RETURN, ([30,90])[kind eq 'fast'] movie_skip : RETURN, 1 movie_time : RETURN, TimeSet(/diff, day=[-6,1]) movie_nday : RETURN, [-15.0, 4.0] movie_ut_extra : RETURN, [-15.0, 0.0] movie_trange : RETURN, [-15.0,15.0] movie_dtime: BEGIN path = filepath(root=root_dir, subdir=kind,'final') InitVar, filter, vu_prefix(/silent)+'*.*' dtime = vu_select(files, /nohdr, path=path, filter=filter, count=count, rounds=3600) CASE count GE 2 OF 0: dtime = BadValue(0.0) 1: dtime = TimeOp(/subtract,dtime[count-1],dtime[count-2],TimeUnit(/hour)) ENDCASE RETURN, dtime END ENDCASE END