1 |
#! /bin/csh -f |
2 |
# create limb darkening removed Ic record and create image set for Ic_noLD and M for range of time |
3 |
# specified by first two arguments. |
4 |
|
5 |
# set echo |
6 |
# modified to only make new movie if NRT data. |
7 |
|
8 |
set wantlow = $1 |
9 |
set wanthigh = $2 |
10 |
|
11 |
echo Make images for $wantlow to $wanthigh |
12 |
|
13 |
# from here make script that can make _nrt images in standard place |
14 |
|
15 |
set CADENCE = 15 |
16 |
|
17 |
setenv RGBDEF /home/phil/jsoc/proj/workflow/scripts/rgb.txt |
18 |
#set RENDER_IMAGE = /home/phil/jsoc/proj/workflow/bin/render_image |
19 |
set RENDER_IMAGE = /home/jsoc/cvs/Development/JSOC/bin/linux_x86_64/render_image |
20 |
#set HMI_LIMBDARK = /home/phil/jsoc/proj/workflow/bin/hmi_limbdark |
21 |
set HMI_LIMBDARK = /home/jsoc/cvs/Development/JSOC/bin/linux_x86_64/hmi_limbdark |
22 |
|
23 |
set obslist = (Ic Ic_flat M M_color) |
24 |
set minlist = (20000 0.3 -1500 -1500) |
25 |
set maxlist = (75000 1.2 1500 1500) |
26 |
set scalinglist = (minmaxgiven minmaxgiven mag minmaxgiven) |
27 |
set colorlist = (/home/phil/apps/heat.sao /home/phil/apps/heat.sao grey /home/priya/Colormaps/For_Todd/mag.lut) |
28 |
set namelist = (Continuum Continuum Magnetogram Magnetogram) |
29 |
set flaglist = ("" "" -c -c) |
30 |
|
31 |
set finalimagetime = NONE |
32 |
|
33 |
set isNRT = 1 |
34 |
|
35 |
set end_movie_t = 0 |
36 |
|
37 |
set wantlow_t = `time_convert time=$wantlow` |
38 |
set wanthigh_t = `time_convert time=$wanthigh` |
39 |
|
40 |
@ daylow = $wantlow_t / 86400 |
41 |
@ dayhigh = $wanthigh_t / 86400 |
42 |
|
43 |
set day = $daylow |
44 |
while ($day <= $dayhigh) |
45 |
@ day_t = 86400 * $day |
46 |
@ nextday_t = $day_t + 86400 |
47 |
@ last_t = $nextday_t - 45 |
48 |
if ($last_t > $wanthigh_t) set last_t = $wanthigh_t |
49 |
set first_t = $day_t |
50 |
if ($first_t < $wantlow_t) set first_t = $wantlow_t |
51 |
@ cadence = $CADENCE * 60 |
52 |
@ first_mod_t = $first_t - 45 |
53 |
@ imglow_t = $first_mod_t / $cadence |
54 |
@ imglow_t = $imglow_t + 1 |
55 |
@ first_t = $imglow_t * $cadence |
56 |
set first = `time_convert s=$first_t zone=TAI` |
57 |
@ last_mod_t = $last_t + $cadence |
58 |
@ imghigh_t = $last_mod_t / $cadence |
59 |
@ n_images = $imghigh_t - $imglow_t |
60 |
if ($n_images < 0) set n_images = 0 |
61 |
if ($n_images == 0) then |
62 |
@ day = $day + 1 |
63 |
continue |
64 |
endif |
65 |
set end_movie_t = $last_t |
66 |
@ n_minutes = $n_images * $CADENCE |
67 |
set QRY = '['$first'/'$n_minutes'm@'$CADENCE'm]' |
68 |
set yyyymmdd = `echo $first | sed -e 's/_.*//' -e 's/\./Q/' -e 's/\./X/'` |
69 |
set YEAR = `echo $yyyymmdd | sed -e 's/Q.*//'` |
70 |
set MON = `echo $yyyymmdd | sed -e 's/^.*Q//' -e 's/X.*//'` |
71 |
set DAY = `echo $yyyymmdd | sed -e 's/^.*X//'` |
72 |
|
73 |
set IMGROOT = /home/jsoc/hmi/images |
74 |
set IMGPATH = $IMGROOT/$YEAR |
75 |
if (!(-e $IMGPATH)) mkdir $IMGPATH |
76 |
set IMGPATH = $IMGPATH/$MON |
77 |
if (!(-e $IMGPATH)) mkdir $IMGPATH |
78 |
set IMGPATH = $IMGPATH/$DAY |
79 |
if (!(-e $IMGPATH)) mkdir $IMGPATH |
80 |
|
81 |
cd $IMGPATH |
82 |
|
83 |
set img = 1 |
84 |
while ($img <= $#obslist) |
85 |
set obs = $obslist[$img] |
86 |
if ($obs == Ic_flat) then |
87 |
set n_source = `show_info -cq $inseries"$QRY"` # use inseries from Ic pass through this loop |
88 |
set n_dest = `show_info -cq 'hmi.Ic_noLimbDark_45s'"$QRY"` |
89 |
if ($n_source > 0 && $n_dest < $n_source) then |
90 |
$HMI_LIMBDARK in=$inseries"$QRY" out=hmi.Ic_noLimbDark_45s -nf |
91 |
endif |
92 |
set inseries = hmi.Ic_noLimbDark_45s |
93 |
else |
94 |
if ($obs == M_color ) then |
95 |
set in_final = hmi.M_45s |
96 |
set in_nrt = hmi.M_45s_nrt |
97 |
else |
98 |
set in_final = hmi.$obs'_45s' |
99 |
set in_nrt = hmi.$obs'_45s_nrt' |
100 |
endif |
101 |
set n_final = `show_info -cq $in_final"$QRY"` |
102 |
set n_nrt = `show_info -cq $in_nrt"$QRY"` |
103 |
set inseries = $in_nrt |
104 |
if ($n_final >= $n_nrt) then |
105 |
# if ($n_final > 0) then |
106 |
set inseries = $in_final |
107 |
set msg = "" |
108 |
set isNRT = 0 |
109 |
else |
110 |
set inseries = $in_nrt |
111 |
set msg = "Quick-Look " |
112 |
endif |
113 |
endif |
114 |
echo Use $inseries for "$QRY" |
115 |
|
116 |
set echo |
117 |
$RENDER_IMAGE $flaglist[$img] in=$inseries"$QRY" \ |
118 |
pallette=$colorlist[$img] \ |
119 |
min=$minlist[$img] \ |
120 |
max=$maxlist[$img] \ |
121 |
scaling=$scalinglist[$img] \ |
122 |
scale=4,8,16,1 \ |
123 |
outid=time \ |
124 |
type=jpg \ |
125 |
outname=$obs \ |
126 |
out='| ppmlabel -color white -size {%0.75:5} -x 15 -y {%98} -text "SDO/HMI '"$msg$namelist[$img]"': {ID}" | pnmtojpeg -quality=95' |
127 |
|
128 |
set finalimagetime = `show_info -q $inseries"$QRY" n=-1 key=T_REC` |
129 |
unset echo |
130 |
@ img = $img + 1 |
131 |
end |
132 |
|
133 |
@ day = $day + 1 |
134 |
end |
135 |
|
136 |
set exitstatus = 0 |
137 |
|
138 |
set echo |
139 |
if ($finalimagetime != NONE) then |
140 |
set hhmmss = `echo $finalimagetime | sed -e 's/_TAI//' -e 's/.*_//' -e 's/://g'` |
141 |
set yyyymmdd = `echo $finalimagetime | sed -e 's/_.*//' -e 's/\./Q/' -e 's/\./X/'` |
142 |
set YEAR = `echo $yyyymmdd | sed -e 's/Q.*//'` |
143 |
set MON = `echo $yyyymmdd | sed -e 's/^.*Q//' -e 's/X.*//'` |
144 |
set DAY = `echo $yyyymmdd | sed -e 's/^.*X//'` |
145 |
set yyyymmdd = $YEAR$MON$DAY |
146 |
set LATESTLIST = $IMGROOT/image_times |
147 |
set prevd = 0 |
148 |
set prevt = 0 |
149 |
if (-e $LATESTLIST) then |
150 |
set prevM = `grep Time $LATESTLIST` |
151 |
set prevdt = $prevM[2] |
152 |
set prevd = `echo $prevdt | sed -e 's/_.*//'` |
153 |
set prevt = `echo $prevdt | sed -e 's/.*_//'` |
154 |
endif |
155 |
if ($yyyymmdd > $prevd || ( $yyyymmdd == $prevd && $hhmmss > $prevt) ) then |
156 |
set imagepath = http://jsoc.stanford.edu/data/hmi/images/$YEAR/$MON/$DAY |
157 |
set latest = $yyyymmdd'_'$hhmmss |
158 |
echo "Time " $latest > $LATESTLIST |
159 |
set img = 1 |
160 |
while ($img <= $#obslist) |
161 |
set obs = $obslist[$img] |
162 |
echo "$obs " $imagepath/$latest"_"$obs >> $LATESTLIST |
163 |
@ img = $img + 1 |
164 |
end |
165 |
endif |
166 |
endif |
167 |
|
168 |
unset echo |
169 |
|
170 |
if ($end_movie_t > 0 && $isNRT ) then |
171 |
set end_movie = `time_convert s=$end_movie_t zone=TAI` |
172 |
/home/jsoc/pipeline/scripts/makeIcmovie $end_movie |
173 |
set exitstatus = $? |
174 |
endif |
175 |
|
176 |
exit $exitstatus |