ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/JSOC/proj/workflow/scripts/makeIcmovie
Revision: 1.3
Committed: Thu Feb 16 20:32:38 2012 UTC (11 years, 7 months ago) by phil
Branch: MAIN
CVS Tags: Ver_6-2, Ver_6-3, Ver_6-4, Ver_8-0, Ver_7-1, Ver_7-0
Changes since 1.2: +15 -15 lines
Log Message:
Many changes

File Contents

# Content
1 #! /bin/csh -f
2
3 # optional arg is start_time
4 # set echo
5
6 # make movie of last days days at cadence cadence
7 # choices if cadence must be multiple of 15m.
8
9 if ($#argv > 0) then
10 set want = $1
11 set want_t = `time_convert time=$want`
12 @ wantimg = $want_t / 900
13 @ endtime_t = $wantimg * 900
14 else
15 set now = `date -u +%Y.%m.%d_%H:%M:%S`
16 set now_t = `time_convert time=$now`
17 @ nowimg = $now_t / 900
18 @ nowimg_t = $nowimg * 900
19 @ endtime_t = $nowimg_t - 3600
20 endif
21
22 set Type = jpg
23 set Size = 1k
24 set minFileSize = 50000
25
26 set BASE = /home/jsoc/hmi/images
27 set WORKBASE = /home/jsoc/hmi/movies
28
29 #foreach Quant (Ic_flat M)
30 foreach Quant (Ic_flat M M_color)
31
32 set THISWORK = $Quant'_movies'.$$
33 set WORK = $WORKBASE/$THISWORK
34 mkdir $WORK
35 mkdir $WORK/frames
36
37 # First make 2 days at 15 minutes
38
39 @ imgtime_t = $endtime_t - 172800
40 @ cadence = 15 * 60
41
42 set i = 0
43 while ($imgtime_t <= $endtime_t)
44 set imgtime = `time_convert s=$imgtime_t zone=TAI`
45 set yyyymmdd = `echo $imgtime | sed -e 's/_.*//' -e 's/\./Q/' -e 's/\./X/'`
46 set YEAR = `echo $yyyymmdd | sed -e 's/Q.*//'`
47 set MON = `echo $yyyymmdd | sed -e 's/^.*Q//' -e 's/X.*//'`
48 set DAY = `echo $yyyymmdd | sed -e 's/^.*X//'`
49 set yyyymmdd = $YEAR$MON$DAY
50 set hhmmss = `echo $imgtime | sed -e 's/_/Q/' -e 's/.*Q//' -e 's/://g' -e 's/_TAI//'`
51 set I = `printf "%04d" $i`
52 set filename = $yyyymmdd'_'$hhmmss'_'$Quant'_'$Size'.'$Type
53 set Imgpath = $BASE/$YEAR/$MON/$DAY
54 set targpath = $WORK/frames
55 set Image = $Imgpath/$filename
56 if (-e $Image) then
57 set FileSize=`stat --format="%s" $Image`
58 if ($FileSize < $minFileSize) then
59 echo Blank image detected for $Image
60 else
61 ln -s $Image $targpath/$I.$Type
62 @ i = $i + 1
63 endif
64 else
65 echo no frame found for $Image
66 endif
67 @ imgtime_t = $imgtime_t + $cadence
68 end
69
70 # set HERE = $cwd
71 set HERE = /home/jsoc/hmi/movies/
72 ls -ld $WORK/frames
73 cd $WORK/frames
74
75 echo Movie making place is $cwd
76
77 #set echo
78
79 set MOVIE = $WORK/$Quant'_2d'.mpg
80 ffmpeg -qscale 5 -r 20 -b 9600 -i %04d.$Type $MOVIE
81 if ($status == 0) then
82 cp $MOVIE $Imgpath
83 mv $MOVIE /home/jsoc/hmi/movies/latest
84 endif
85
86 set MOVIE = $WORK/$Quant'_2d'.mp4
87 ffmpeg -qscale 5 -r 20 -b 9600 -i %04d.$Type $MOVIE
88 if ($status == 0) then
89 cp $MOVIE $Imgpath
90 mv $MOVIE /home/jsoc/hmi/movies/latest
91 endif
92
93 set echo
94 cd $WORKBASE
95 rm -rf $THISWORK
96
97 # set 14dMOVIES = .14dmovies
98 # set D14dMOVIES = /tmp/14dmovies
99 set D14dMOVIES = .14dmovies
100 if (!(-e $D14dMOVIES)) mkdir $D14dMOVIES
101
102 # on even hour endtime, make longer movie also
103 @ nowtime_t = $endtime_t / 3600
104 @ nowhour_t = $nowtime_t * 3600
105 if ($nowhour_t == $endtime_t) then
106 set THISWORK = $Quant'_movies'.$$
107 set WORK = $WORKBASE/$THISWORK
108 mkdir $WORK
109 mkdir $WORK/frames
110 cd $WORK/frames
111 @ fourteen = 86400 * 14
112 @ nowtime_t = $endtime_t - $fourteen
113 set nowtime = `time_convert zone=TAI s=$nowtime_t`
114 set endtime = `time_convert zone=TAI s=$endtime_t`
115 # /home/jsoc/pipeline/scripts/makeAnyMovie $nowtime $endtime 15 $Quant 1k $HERE/$14dMOVIES/$Quant"_14d.mp4"
116 /home/jsoc/pipeline/scripts/makeAnyMovie $nowtime $endtime 15 $Quant 1k $HERE/$D14dMOVIES/$Quant"_14d.mp4"
117 cd $WORKBASE
118 rm -rf $THISWORK
119 endif
120
121 end
122
123 cd $HERE
124 ls -l $D14dMOVIES/
125 mv $D14dMOVIES/Ic_flat_14d.mp4 $D14dMOVIES/M_14d.mp4 /home/jsoc/hmi/movies/latest/
126 mv $D14dMOVIES/M_color_14d.mp4 /home/jsoc/hmi/movies/latest/
127 rm -rf $D14dMOVIES
128