{"id":31949752,"url":"https://github.com/srrathi/ice-spice","last_synced_at":"2026-05-06T06:34:10.414Z","repository":{"id":67711887,"uuid":"590759731","full_name":"srrathi/ice-spice","owner":"srrathi","description":"Backend API to fetch baltic sea ice data stored in a SQL database using golang ","archived":false,"fork":false,"pushed_at":"2024-05-05T12:14:00.000Z","size":8919,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-05-05T13:25:06.032Z","etag":null,"topics":["gofiber","golang","gorm-orm","nodejs","postgresql","puppeteer","render"],"latest_commit_sha":null,"homepage":"https://ice-spice.onrender.com/","language":"HTML","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/srrathi.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,"publiccode":null,"codemeta":null}},"created_at":"2023-01-19T06:11:31.000Z","updated_at":"2024-05-05T13:25:07.873Z","dependencies_parsed_at":"2024-05-05T13:35:22.456Z","dependency_job_id":null,"html_url":"https://github.com/srrathi/ice-spice","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/srrathi/ice-spice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srrathi%2Fice-spice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srrathi%2Fice-spice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srrathi%2Fice-spice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srrathi%2Fice-spice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/srrathi","download_url":"https://codeload.github.com/srrathi/ice-spice/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srrathi%2Fice-spice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018635,"owners_count":26086576,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["gofiber","golang","gorm-orm","nodejs","postgresql","puppeteer","render"],"created_at":"2025-10-14T12:35:15.459Z","updated_at":"2025-10-14T12:35:17.576Z","avatar_url":"https://github.com/srrathi.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ICE SPICE - API to fetch Baltic Sea Ice data\n![Ice-spice](public/logo.png?raw=true)\n\nSIMPLE REST API to fetch Baltic Sea Ice Data recorded by different metrological stations in Finland\n\n## Table of Contents\n\n- [API's Schema](#apis-schema)\n- [Generated Station Code](#generated-station-code)\n- [Usage and Examples](#usage-and-examples)\n- [Description of Data](#description-of-data)\n- [Data Source](#data-source)\n- [Technologies Used](#technologies-used)\n- [Contribution](#contribution)\n- [Contact](#contact)\n\n# API's Schema\n\nCurrently the application supports below end points and no auth is required for them as of now.\n\n1. Endpoint 1\n\n- Request URL - https://ice-spice.onrender.com/api/station_data?stationCode=STATION_CODE\n- Request Method - `GET`\n- Request Query Param - `stationCode`\n- Query Param Value - value for `stationCode` query param can be obtained from the below table where station code for each metrological station is given.\n\nIt gives all the ice data and the analysis calculated on it by that metrological station whose station code is added in the params. It can be used to fetch all the data recorded by particular metrological station over the past years.\n\n2. Endpoint 2 \n\n- Request URL - https://ice-spice.onrender.com/api/analysis_data?stationCode=STATION_CODE\n- Request Method - `GET`\n- Request Query Param - `stationCode`\n- Query Param Value - value for `stationCode` query param can be obtained from the below table where station code for each metrological station is given.\n\nIt can be used to fetch only the analysis data obtained by particular metrological station over the past years of the ice data recorded by it.\n\n# Generated Station Code\nStation code generated for different metrological stations of Finland is given below.\n\nSTATION NAME | GENERATED STATION CODE\n--- | ---\nRöyttä – Etukari  |  STROET\nEtukari – Ristinmatala  |  STETRI\nAjos – Ristinmatala  |  STAJRI\nRistinmatala – Kemi 2  |  STRIKE2\nKemi 2 – Kemi 1  |  STKE2KE1\nKemi 1, Seegebiet im SW  |  STKE1SEIMSW\nKemi 2 – Ulkokrunni – Virpiniemi  |  STKE2ULVI\nOulu, Hafen – Kattilankalla  |  STOUHAKA\nKattilankalla – Oulu 1  |  STKAOU1\nOulu 1, Seegebiet im SW  |  STOU1SEIMSW\nOffene See N-lich Breite Marjaniemi  |  STOFSEN-BRMA\nRaahe, Hafen – Heikinkari  |  STRAHAHE\nHeikinkari – Raahe Leuchtturm  |  STHERALE\nRaahe Leuchtturm – Nahkiainen  |  STRALENA\nBreitengrad Marjaniemi – Ulkokalla, See  |  STBRMAULSE\nRahja, Hafen – Välimatala  |  STRAHAVA\nVälimatala bis Linie Ulkokalla – Ykskivi  |  STVABILIULYK\nBreitengrad Ulkokalla – Pietarsaari, See  |  STBRULPISE\nYkspihlaja – Repskär  |  STYKRE\nRepskär – Kokkola Leuchtturm  |  STREKOLE\nKokkola Leuchtturm, See außerhalb  |  STKOLESEAU\nPietarsaari – Kallan  |  STPIKA\nKallan, Seegebiet außerhalb  |  STKASEAU\nBreite Pietarsaari – Nordvalen im NE  |  STBRPINOIMNE\nNordvalen, Seegebiet im ENE  |  STNOSEIMEN\nNordvalen – Norrskär, See im W  |  STNONOSEIMW\nVaskiluoto – Ensten  |  STVAEN\nEnsten – Vaasa Leuchtturm  |  STENVALE\nVaasa Leuchtturm – Norrskär  |  STVALENO\nNorrskär, Seegebiet im SW  |  STNOSEIMSW\nKaskinen – Sälgrund  |  STKASA\nSälgrund, Seegebiet außerhalb  |  STSASEAU\nOffene See N-lich Breite Yttergrund  |  STOFSEN-BRYT\nPori – Linie Pori Leuchtturm – Säppi  |  STPOLIPOLESA\nLinie Pori Lt. – Säppi – See im W  |  STLIPOLTSASEIMW\nHohe See Länge Yttergrund u. Rauma  |  STHOSELAYTU.RA\nRauma, Hafen – Kylmäpihlaja  |  STRAHAKY\nKylmäpihlaja – Rauma Leuchtturm  |  STKYRALE\nRauma Leuchtturm, See im W  |  STRALESEIMW\nBreitengrad Rauma, offene See im S  |  STBRRAOFSEIMS\nUusikaupunki, Hafen – Kirsta  |  STUUHAKI\nKirsta – Isokari  |  STKIIS\nIsokari – Sandbäck  |  STISSA\nSandbäck, Seegebiet außerhalb  |  STSASEAU2\nSälskär, See im N  |  STSASEIMN\nMärket, See im N  |  STMASEIMN\nMärket, See im W  |  STMASEIMW\nMärket, See im S  |  STMASEIMS\nMaarianhamina – Marhällan  |  STMAMA\nSee außerhalb Nyhamn u. Marhällan  |  STSEAUNYUMA\nÅlandsee, mittlerer Teil  |  STALMITE\nLågskär, See im S  |  STLASEIMS\nNaantali und Turku – Rajakari  |  STNAUNTURA\nRajakari – Lövskär  |  STRALO\nLövskär – Korra  |  STLOKO\nKorra – Isokari  |  STKOIS\nLövskär – Berghamn  |  STLOBE\nBerghamn – Stora Sottunga  |  STBESTSO\nStora Sottunga – Ledskär  |  STSTSOLE\nRödhamn, Seegebiet  |  STROSE\nLövskär – Grisselborg  |  STLOGR\nGrisselborg – Norparskär  |  STGRNO\nVidskär, Seegebiet  |  STVISE\nUtö – Suomen Leijona  |  STUTSULE\nSuomen Leijona, See im S  |  STSULESEIMS\nHanko, Hafen – Hanko 1  |  STHAHAHA1\nHanko 1, See im S  |  STHA1SEIMS\nHanko – Vitgrund  |  STHAVI\nVitgrund – Utö  |  STVIUT\nKoverhar – Hästö Busö  |  STKOHÄBU\nHästö Busö – Ajax  |  STHABUAJ\nAjax, See im S  |  STAJSEIMS\nInkoo u. Kantvik – Porkkala See  |  STINUKAPOSE\nPorkkala, Seegebiet  |  STPOSE\nPorkkala Leuchtturm, See im S  |  STPOLESEIMS\nHelsinki, Hafen – Harmaja  |  STHEHAHA\nHarmaja – Helsinki Leuchtturm  |  STHAHELE\nHelsinki Lt. – Porkkala Lt., See im S  |  STHELTPOLTSEIMS\nHelsinki – Porkkala – Rönnskär, Fahrw.  |  STHEPOROFA\nVuosaari Hafen – Eestiluoto  |  STVUHAEE\nEestiluoto – Helsinki Leuchtturm  |  STEEHELE\nPorvoo, Hafen – Varlax  |  STPOHAVA\nVarlax – Porvoo Leuchtturm  |  STVAPOLE\nPorvoo Leuchtturm – Kalbådagrund  |  STPOLEKA\nKalbådagrund – Helsinki Lt.  |  STKAHELT\nValko, Hafen – Täktarn  |  STVAHATA\nBoistö – Glosholm, Schärenfahrwasser  |  STBOGLSC\nGlosholm–Helsinki, Schärenfahrwasser  |  STGLSC\nKotka – Viikari  |  STKOVI\nViikari – Orrengrund  |  STVIOR\nOrrengrund – Tiiskeri  |  STORTI\nTiiskeri – Kalbådagrund  |  STTIKA\nHamina – Suurmusta  |  STHASU\nSuurmusta – Merikari  |  STSUME\nMerikari – Kaunissaari  |  STMEKA\n\n# Usage and Examples\nBelow are the example usage of API's\n\n1. Endpoint 1\n- Request URL - https://ice-spice.onrender.com/api/station_data?stationCode=STTIKA\n- Request Method - `GET`\n\nOutput\n```JSON\n{\n    \"data\": {\n        \"analysis-data-station\": [\n            {\n                \"analysis-basis\": \"1.quartile\",\n                \"beginning\": \"29.Dec\",\n                \"end\": \"19.Feb\",\n                \"ice_days\": 9,\n                \"fl_total\": 4.6,\n                \"vol_sum\": 20.8,\n                \"country\": \"FINLAND\",\n                \"country_code\": \"FI\",\n                \"station_name\": \"Station: Tiiskeri – Kalbådagrund\",\n                \"station_code\": \"STTIKA\"\n            },\n            ...\n        ],\n        \"stations-data\": [\n            {\n                \"beginning\": \"29.Dec.2002\",\n                \"end\": \"09.May.2003\",\n                \"season_length\": 132,\n                \"ice_days\": 126,\n                \"fl_total\": 114.6,\n                \"vol_sum\": 3986.5,\n                \"max_thickness2\": 50,\n                \"country\": \"FINLAND\",\n                \"country_code\": \"FI\",\n                \"station_name\": \"Station: Tiiskeri – Kalbådagrund\",\n                \"station_code\": \"STTIKA\",\n                \"restricted_days\": [\n                    126,\n                    126,\n                    126,\n                    126,\n                    126,\n                    108,\n                    0,\n                    0,\n                    0\n                ]\n            }\n            ...\n        ]\n    },\n    \"message\": \"metro station data fetched successfully\"\n}\n```\n\n2. Endpoint 2\n- Request URL - https://ice-spice.onrender.com/api/analysis_data?stationCode=STTIKA\n- Request Method - `GET`\n\nOutput\n```JSON\n{\n    \"data\": {\n        \"analysis-data-station\": [\n            {\n                \"analysis-basis\": \"1.quartile\",\n                \"beginning\": \"29.Dec\",\n                \"end\": \"19.Feb\",\n                \"ice_days\": 9,\n                \"fl_total\": 4.6,\n                \"vol_sum\": 20.8,\n                \"country\": \"FINLAND\",\n                \"country_code\": \"FI\",\n                \"station_name\": \"Station: Tiiskeri – Kalbådagrund\",\n                \"station_code\": \"STTIKA\"\n            },\n            ...\n        ]\n    },\n    \"message\": \"metro station analysis data fetched successfully\"\n}\n```\n\n# Description of Data\n- The yearly statistics of a single station are contained in the response of the first API. \n- In each data object in `stations-data` array in response. It contains the `beginning` and the `end` of the ice season at that station (so first and last day with ice).\n- `season_length` is the length of the season, just the days between first and last ice occurence.\n- `ice_days` gives the number of days with ice, the maximum possible value is the length of the season, but mostly there are less days with ice, as the season mostly is not continuos. \n- `fl_total` is the area sum, that is the sum of all concentrations. \n- `vol_sum` is the volume sum, the total sum of concentration times thickness.\n- `max_thickness` is the maximum ice thichness from measurements.\n- `max_thickness2` is the maximum ice thichness from coded ice reports according to the Baltic sea ice code.\n- `restricted_days` give the days with restrictions acc to the baltic sea ice code. Starting with minimum restriction=1 up, then minimum=2, etc.\n- `analysis-data-station` gives the summary of all the data of a station. Although the statistic is based on checked data, errors still can occur. And although many stations are continuosly, not all start the same year and some are discontinued. Also some stations were not measured in time in between (for example due to illness or death of the ice observer).\n- For more information visit [here.](https://www.bsis-ice.de/statistik/StatistikInfo.html)\n\n# Data Source\nThe data is scraped from website of [Baltic Sea Ice Services](https://www.bsis-ice.de/technical_informations.shtml). They have listed baltic sea ice data for various countries on their website. It can be viewed [here.](https://www.bsis-ice.de/statistik/Stationindex.html) I've scraped data for Finland and stored it in PostgreSQL database for querying through API.\n\n# Technologies Used\n![Go](https://img.shields.io/badge/go-%2300ADD8.svg?style=for-the-badge\u0026logo=go\u0026logoColor=white)![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white)![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge\u0026logo=node.js\u0026logoColor=white)\n\n# Contribution\nFeel free to raise issues and pull requests for contribution.\n\n# Contact\n[![srrathi github](https://img.shields.io/badge/GitHub-100000?style=for-the-badge\u0026logo=github\u0026logoColor=white)](https://github.com/srrathi)\n[![Sitaram Rathi Linkedin](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/sitaram-rathi-519152197/)\n[![Sitaram Rathi email](https://img.shields.io/badge/Gmail-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white)](mailto:srrathi2000@gmail.com)\n[![Sitaram Rathi twitter](https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge\u0026logo=twitter\u0026logoColor=white)](https://twitter.com/SitaramRathi5)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrrathi%2Fice-spice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrrathi%2Fice-spice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrrathi%2Fice-spice/lists"}