1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| #!/bin/csh
echo "entree temps max en sec (<1000)"
set max_iter = $<
echo "entree le pas de temps en sec"
set pas_iter = $<
set iter=0
while ($iter<$max_iter)
echo $iter
#output file
set ps=energy.ps
#time step to plot
set ts=iter
#set energy amplitude:
set maxamp=5e-31
#image size (in cm)
set xsize=25
set ysize=5
#domain bounday (km)
set xmin=0
set xmax=100
set ymin=0
set ymax=20
#do you need to plot the mesh (0) or not (1)
set addmesh=0
#---------------------------------------------
gmtset PAPER_MEDIA = A4
set j="-JX${xsize}c/${ysize}c"
set R="-R${xmin}/${xmax}/${ymin}/${ymax}"
set list=`\ls fieldt000.*`
set info=`echo 0.0 0.1 0.1 1.`
set list=`\ls fieldt*.*"$ts"`
if (-e tmp.tmp) \rm tmp.tmp
foreach f($list)
awk '{print $1/1000.,$2/1000,$3/'$maxamp'}' $f>> tmp.tmp
end
surface tmp.tmp -Gtmp.grd -I0.1/0.1 -T0.6 $R
gmtset D_FORMAT = "%.3g"
makecpt -Chot -Z -I -T$info[1]/$info[2]/$info[3] > cptf
set tt=`awk '{if (NR==4) printf("t=%3.1fs\n",$1*10*'$ts')}' input.spec `
gmtset LABEL_FONT_SIZE = 14p
gmtset ANOT_FONT_SIZE = 12p
grdimage tmp.grd -BEWSa10:"$tt"::,"km":/10:,"km": $j -Y5c -X4c $R -Ccptf -K > $ps
if ( $addmesh == 0 ) then
awk '{if (NF==2) {print $1/1000,$2/1000}else{print $0}}' mesh.gnu > toto.gnu
psxy -W0.1p/155/155/155 $R $j -m toto.gnu -O -K >> $ps
endif
set fs=`awk '{if (NR==17) print $1}' input.spec`
awk '{if (NR>2) {print ($1+250)/1000,($2+250)/1000,10,0,0,2,NR-2}}' $fs > toto.gnu
pstext $R $j -G255/0/0 -O -K toto.gnu >> $ps
awk '{if (NR>2) {print $1/1000,$2/1000}}' $fs > toto.gnu
psxy $R $j -Sd0.2 toto.gnu -O -K >> $ps
awk '{if (NR==10) print $1/1000,$2/1000}' input.spec > toto.gnu
psxy $R $j -Sa0.3 toto.gnu -O >> $ps
gv $ps
set iter=`expr $iter + $pas_iter`
end |
Partager