gctl_optimization/example/data/plot_movie.sh
2025-04-08 08:37:45 +08:00

27 lines
866 B
Bash
Executable File

#!/usr/bin/env bash
# 1. Create files needed in the loop
cat << 'EOF' > pre.sh
gmt begin pre
gmt set FONT_ANNOT_PRIMARY=15p,Times-Roman,black
gmt set FONT_LABEL=15p,Times-Roman,black
gmt set MAP_GRID_CROSS_SIZE_PRIMARY=5p
gmt set MAP_FRAME_PEN=thinnest,black
gmt set MAP_TICK_LENGTH_PRIMARY=4p/2p
gmt grd2cpt gauss_dist.nc -Clapaz -R0/100/0/100 -Z -D
gmt grdimage gauss_dist.nc -R0/100/0/100 -Bxag+l"x (m)" -Byag+l"y (m)" -JX15c/15c -X4.5c -Y1.5c
gmt end
EOF
# 2. Set up the main frame script
cat << 'EOF' > main.sh
gmt begin
# Plot smooth blue curve and dark red dots at all steps so far
gmt convert trace.txt -qi0:${MOVIE_FRAME} > data.txt
gmt plot data.txt -W0.05p,white -R0/100/0/100 -JX15c/15c -X4.5c -Y1.5c
gmt plot data.txt -Sc0.05i -Gred
gmt end
EOF
# 3. Run the movie
gmt movie main.sh -Sbpre.sh -Cxga -Ttrace.txt -Vi -D24 -Zs -Nlgd_anim -Fmp4