Linux

Crometeo WRF meteogrami i skew-t dijagrami

23.12.2014.

Prognostički dio Meteoadriatic portala dobio je mogućnost izrade meteograma i skew-t dijagrama za proizvoljne lokacije bilo gdje u domeni Crometeo WRF-ARW modela rezolucije 4 kilometra. Meteograme možete kreirati na ovom, a termodinamičke skew-t dijagrame na ovom linku. Klikanjem na google maps karti (naravno uz mogućnost zumiranja na preciznu proizvoljnu lokaciju) postavit ćete lokaciju za izradu meteograma odnosno skew-t dijagrama i poslati zahtjev serveru koji će kreirati produkt i vratiti ga vašem web browseru.

Ostavili smo mogućnost kreiranja produkata i automatski pomoću skripti, kako bi takve meteograme ili skew-t dijagrame mogli downloadati na vaš web. Ovdje vam dajemo primjer jedne takve jednostavne skripte kojom možete zahtijevati od servera izradu produkta i zatim downloadati izrađenu grafiku. Slijede osnovne upute.

Read more »

Kako spriječiti linux skriptu u predugom izvršavanju?

18.12.2014.

Istraživanjem mogućnosti kako spriječiti linux skriptu u predugom izvršavanju, u slučaju neočekivanih problema tijekom izvršavanja, naišao sam na vrlo jednostavno rješenje pa evo prilike da ga podijelimo s ostatkom svijeta :)

Dakle rješenje je krajnje jednostavno, sve što je potrebno je pokrenuti skriptu pomoću timeout naredbe:

timeout 10s /putanja/do/skripte

Ako skripta ne završi izvršavanje kao u gornjem primjeru u 10 sekundi, bit će prekinuta. Pure and simple :)

Editiranje nginx vhost.conf datoteke

30.09.2014.

Ako koristite nginx kao web server i često manualno mijenjate konfiguraciju hostanih domena, ova mala skripta će vam olakšati posao. Umjesto otvaranja konfiguracijske datoteke u editoru, spremanja iste i konačno ponovnog učitavanja iste u nginx server, možete sve komande smjestiti u svojevrsnu skriptu koja će veći dio posla odraditi umjesto vas. Naravno, editiranje same konfiguracijske datoteke je još uvijek vaš posao.

Read more »

Time-lapse na linuxu

13.05.2014.

Slikali ste seriju fotografija za time-lapse i sad vam treba program koji će to spojiti u video? Naravno, koristite linux. Problem smo riješili tako da smo napisali bash skriptu koja automatski odrađuje sve od početka do kraja i sad ju želimo podijeliti s vama. O snimanju time-lapse fotografija nećemo, niti o instalaciji potrebnih alata za ovu skriptu (imagemagick, mplayer/mencoder …). Ukoliko vam je potrebna pomoć oko tih detalja, google is your friend! Skriptu jednostavno kopirajte u /usr/local/bin pod nazivom maketimelapse.sh i napravite ju executabilnom (chmod +x /usr/local/bin/maketimelapse.sh).

Read more »

Rekurzivno pronaći i premjestiti određenu vrstu datoteke

10.05.2014.

Kratke one-linere u bashu naprosto ne možete ne obožavati! Evo primjera kako ćete pronaći sve datoteke određene ekstenzije, rekurzivno po direktorijima, i svaku pronađenu datoteku premjestiti na određeno mjesto.

Primjer, imate po direktorijskom stablu velik broj datoteka s ekstenzijom .tif.  Vaš je cilj premjestiti sve te datoteke na drugi medij. Evo bash one-linera kojim ćete to uraditi na najjednostavniji mogući način:

find /putanja/do/vršnog/izvorišnog/direktorija/ -name ‘*.tif’ -exec mv {} /putanja/do/odredišnog/direktorija/ \;

Enjoy!

Izračun smjera vjetra iz u i v komponenti u bash-u

03.05.2014.

U zadnjem projektu naišli smo na potrebu izračuna smjera vjetra (u stupnjevima) iz poznatih u i v komponenti. To je uobičajen zadatak u programiranju i skriptiranju meteo softvera, međutim ovaj put je potreba bila da se izračun uradi u bash-u. Za floating point računanje u bashu tipično koristimo bc, međutim kako taj alat nema trigonometrijsku funkciju atan2 (arcus tangens), bilo je nužno pronaći alternativno rješenje.

Kako rješenje koje smo izradili ne bi ostalo samo za nas i palo u zaborav, odlučili smo ga objaviti na blogu, u nadi da će možda nekome pomoći. Evo primjera:

#!/bin/bash

u=5
v=-1
wd_rad=`awk “BEGIN {print atan2($u,$v);}”`
wd_deg=$(echo “(57.3*$wd_rad+180)” | bc -l | xargs printf “%1.0f”)
echo $wd_deg

Dalo bi se wd_deg izračunati i u jednoj liniji koristeći isključivo awk, no na ovaj način je primjer čitljiviji, a usput demonstrira i upotrebu alata bc za floating point račune u bashu.

Works like a charm :)