Date: Thu, 3 Jan 2008 15:55:11 +0100 (CET) From: Jakub Velimsky Subject: Domaci ukol z GMT 1) Napocitat Fortranem sfericke harmoniky do stupne Y_33 na rovnomerne siti delek a sirek (staci s krokem 5 nebo 10 stupnu, tedy 36x18 nebo 72x36). 2) V GMT pro kazdou harmoniku a zvlast pro realnou a imaginarni slozku: a) programem xyz2grd prevest z ASCII formatu do formatu grd http://gmt.soest.hawaii.edu/gmt/doc/html/xyz2grd.html http://gmt.soest.hawaii.edu/gmt/doc/html/GMT_Docs/node123.html b) programem grd2cpt preskalovat nekterou ze zakladnich palet http://gmt.soest.hawaii.edu/gmt/doc/html/GMT_Docs/node123.html a vytvorit si tak vlastni paletu http://gmt.soest.hawaii.edu/gmt/doc/html/grd2cpt.html c) programem grdimage nakreslit harmoniku v techto globalni projekcich (linearni zemepisna sirka/delka; Hammer; Mollweide) http://gmt.soest.hawaii.edu/gmt/doc/html/GMT_Docs/node102.html http://gmt.soest.hawaii.edu/gmt/doc/html/GMT_Docs/node103.html d) ke kazde harmonice pridat prislusnou barevnou skalu prikazem psscale http://gmt.soest.hawaii.edu/gmt/doc/html/psscale.html Skalu patricne popsat (anotace os) e) Pomoci prikazu pstext umistit do obrazku oznaceni harmoniky (ve tvaru Re Y_jm nebo Im Y_jm) http://gmt.soest.hawaii.edu/gmt/doc/html/pstext.html f) Bonus: pres barevny obrazek jeste nakreslit izocary prikazem grdcontour http://gmt.soest.hawaii.edu/gmt/doc/html/grdcontour.html To vse pokud mozno kulturne, elegantne a esteticky s vhodnou volbou rozmeru, velikosti fontu, apod. http://gmt.soest.hawaii.edu/gmt/doc/html/gmtdefaults.html http://gmt.soest.hawaii.edu/gmt/doc/html/gmtset.html Doporucuji usnadnit si praci automatizaci a pouzivanim shelovych promennych. Naznak reseni: #!/bin/bash # nastaveni nekterych parametru gmtset PAPER_MEDIA a4+ LABEL_FONT_SIZE 10 ANOT_FONT_SIZE 10 \ HEADER_FONT_SIZE 10 proj="-JX12c/6c" range="-R-180/180/-90/90" resolution="-I5/5" for j in `seq 1 3`; do # smycka pres j od 1 do 3 for m in `seq 0 $j`; do # smycka pres m od 0 do j for c in "Re Im"; do # smycka pres realnou a imag. cast # automaticky vytvorena jmena souboru, zadna manualni prace harmfile="harmonika_$j$m$c.dat" grdfile="harmonika_$j$m$c.grd" cptfile="harmonika_$j$m$c.cpt" psfile="harmonika_$j$m$c.ps" # muj_program si precte na stand. vstupu read (*,*), kterou harmoniku # ma spocitat a zapise ji do stand. vystupu write (*,*) sirka,delka,hodnota echo "$j $m $c" | ./muj_progam > $harmfile # potom probehne vlastni kresleni xyz2grd $harmfile $range $resolution -G$grdfile grd2cpt ... > $cptfile grdimage $grdfile $proj $range ... -K > $psfile psscale ... -O -K >> $psfile echo "... $c Y@-jm@- " | pstext ... -O >> $psfile done done done # nakonec po sobe uklidime ten bordel rm -f *.dat *.cpt *.grd