{"id":13587640,"url":"https://github.com/pfranchini/weather-satellites","last_synced_at":"2025-04-07T22:31:25.807Z","repository":{"id":121219382,"uuid":"161954263","full_name":"pfranchini/weather-satellites","owner":"pfranchini","description":"Weather satellites (NOAA, METEOR) scripts","archived":false,"fork":false,"pushed_at":"2024-01-10T23:35:35.000Z","size":78,"stargazers_count":41,"open_issues_count":0,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-02-13T21:53:47.303Z","etag":null,"topics":["meteor","noaa","rtl-sdr","weather","weather-satellites","wxtoimg"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pfranchini.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-12-16T00:14:01.000Z","updated_at":"2024-02-13T21:53:51.345Z","dependencies_parsed_at":"2023-12-27T18:41:29.235Z","dependency_job_id":"82dfd164-1d40-407b-9a0a-3227d44154e8","html_url":"https://github.com/pfranchini/weather-satellites","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfranchini%2Fweather-satellites","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfranchini%2Fweather-satellites/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfranchini%2Fweather-satellites/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfranchini%2Fweather-satellites/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pfranchini","download_url":"https://codeload.github.com/pfranchini/weather-satellites/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247740788,"owners_count":20988270,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["meteor","noaa","rtl-sdr","weather","weather-satellites","wxtoimg"],"created_at":"2024-08-01T15:06:17.885Z","updated_at":"2025-04-07T22:31:25.528Z","avatar_url":"https://github.com/pfranchini.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Weather satellites code for Linux\n\nAutomatic scheduling and processing for polar weather satellites passages (NOAA, METEOR) in bash scripts using third party software.\n\n- Works for APT of NOAA 15, 18, 19\n- Works for LRPT of METEORs\n- Added METEOR-M2 3\n- (First working attempts for LRPT METEOR M2-2 (added TLE name/frequency/demod options) - satellite not available)\n\n- List the passages for the current day above a minimum elevation using Predict\n- Submit jobs on the linux 'at' queue for each passage\n- Each NOOA's job records the audio of the passages (rtl_fm), resamples it (sox) and produces, if possible several VISIBLE and IR pictures with a map overlay (wxtoimg, wxmap)\n- Each METEOR's job records the raw data of the passages (rtl_fm), demodulates it (demod), decodes (decode) it and produces a composite VISIBLE and IR pictures\n- NOAA's passages with audio file too small are not processed (something wrong happened during the recording)\n- NOAA's images that trigger some warnings of wxtoimg are moved into a deleted/ folder (usually the S/N was too low)\n- NOAA's visible images are produced only if the visible channel is active, otherwise only the combined IR is produced\n- METEOR's IR image is produced together with the composite one if both channels are active\n- METEOR's images with low brightness are moved into the deleted/ folder (usually was a bad acquisition or late evening)\n- A recording in progress prevents any other recording scheduled, so there is not a check of eventual overlaps\n- A METEOR passage will stop any other running acquisition (that will be normally processed)\n- Each time the scheduler starts cleans the 'at' queue and all the running 'rlt_fm' jobs that might be stuck in the system\n- Single config file (but still some other hardcoded parameters for the recordings) with minimal sets of checks of it\n- Rectify implemented for METEOR's images\n- Included script to produce an animation from Mercator projections\n- Tested on Fedora and on Raspberry Pi\n\nPaolo Franchini 2022 - pfranchini@gmail.com\n\nSetup:\n=====\n\nVarious prerequisites:\n---------------------\nCreate a directory for the scripts and for the output images in your home directory:\n```\nmkdir ~/Satellite\n```\nInstall the followings as superuser. For Fedora-like\n```\nyum install gcc ncurses-devel rtl-sdr sox at bc git make cmake\nyum install ImageMagick\nyum install fpc\nyum install libjpeg*\n(yum install gqrx)\n(yum install ffmpeg)\n```\nor for Ubuntu-like distos (e.g. Raspberry Pi OS):\n```\napt install gcc libncurses5-dev rtl-sdr sox at bc git make cmake\napt install imagemagick\napt install fpc\napt install libjpeg-dev\n(apt install gqrx-sdr)\n(apt install ffmpeg)\n```\n\nScripts:\n-------\n```\ngit clone https://github.com/pfranchini/weather-satellites.git ~/Satellite/code\n```\n\nPredict:\n-------\n```\ngit clone https://github.com/kd2bd/predict/ ~/Satellite/predict\ncd ~/Satellite/predict\nsudo ./configure\n(echo \"alias predict='~/Satellite/predict/predict -q ~/Satellite/code/\u003clocation\u003e.qth -t ~/Satellite/code/weather.tle'\" \u003e\u003e ~/.bashrc)\n```\n\nAPT decoder:\n-----------\n```\ncd ~/Satellite\nwget https://wxtoimgrestored.xyz/downloads-src/wxtoimg-linux64-2.10.11-1.tar.gz\nmkdir ~/Satellite/wxtoimg\ntar xvf wxtoimg-linux64-2.10.11-1.tar.gz -C ~/Satellite/wxtoimg/\nln -s ~/Satellite/wxtoimg/usr/local/bin/wxtoimg ~/Satellite/wxtoimg/wxtoimg\n```\nor for Raspberry Pi\n```\nwget https://wxtoimgrestored.xyz/beta/wxtoimg-armhf-2.11.2-beta.deb\nsudo apt install ./wxtoimg-armhf-2.11.2-beta.deb\n```\nRegister WXtoImg as in https://wxtoimgrestored.xyz/downloads\n\nUpdate TLE/Keplers:\n```\nwget -O ~/Satellite/wxtoimg/usr/local/lib/wx/tle/weather.txt http://celestrak.org/NORAD/elements/weather.txt\n```\nor\n```\nsudo wget -O /usr/local/lib/wx/tle/weather.txt http://celestrak.org/NORAD/elements/weather.txt\n```\n\n\n\nLRPT demodulator:\n----------------\n```\ngit clone https://github.com/dbdexter-dev/meteor_demod ~/Satellite/meteor_demod\ncd ~/Satellite/meteor_demod\nmake\nsudo make install\n```\n\nLRPT decoder:\n------------\n```\ngit clone https://github.com/artlav/meteor_decoder ~/Satellite/meteor_decoder\ncd ~/Satellite/meteor_decoder\nsource build_medet.sh\n```\n\nRectify:\n-------\n```\ncd ~/Satellite/\nwget http://www.5b4az.org/pkg/lrpt/rectify-jpg-0.3.tar.bz2\ntar xvf rectify-jpg-0.3.tar.bz2\ncd rectify-jpeg-0.3\ngcc rectify-jpg.c -lm -ljpeg -o rectify-jpg\n```\n\n\nUsage:\n=====\n```\ncd ~/Satellite/code\n```\ncreate your own location file `.qth` and edit `config.cfg` with all the paths and other options.\nNow you can manually run the script\n```\n./schedule.sh\n```\nor as a cronjob to be run every day early morning, i.e. (the `cd` is mandatory):\n```\n01 00 * * * cd ~/Satellite/code; ~/Satellite/code/schedule.sh\n```\n\nLogs in: `recordings.log`, `errors.log`, `jobs.log`.\n\nOutput images (png and jpg files) as speficied in `config.cfg`.\n\nMore:\n====\nIn order to reprocess a bunch of existing audio files\n```\n./apt_reprocess.sh \u003cdirectory_path_where_noaa_audios_are\u003e  \n./lrpt_reprocess.sh \u003cdirectory_path_where_meteor_audios_are\u003e  \n```\nit would preserve the original time stamp of the wave file.\n\nAnimation (beta version):\n========================\nIn order to create a MP4 video using Mercator projections for a cropped IR passage (the coordinates are hard coded)\n```\n./video.sh \u003clist_of_files.wav\u003e\n```\ne.g.\n```\n./video.sh noaa/20200711-*.wav noaa/20200712-*.wav\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfranchini%2Fweather-satellites","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpfranchini%2Fweather-satellites","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfranchini%2Fweather-satellites/lists"}