# climafeis
CLI Python application for scraping daily climate data from [Canal CLIMA](https://clima.feis.unesp.br) [UNESP Ilha Solteira](https://www.feis.unesp.br/) using [requests](https://requests.readthedocs.io/en/latest/) and [BeautifulSoup 4](https://www.crummy.com/software/BeautifulSoup/).
### Installation
1. Make sure Python 3.8 or higher and pip are installed
1. Run `pip install climafeis`
### Development
1. Check Python's version `python -V`
1. Install Python 3.8 or higher and pip, if they aren't already installed:
- Windows `winget install Python.Python.3.X` (replace X with the desired minor version)
- Ubuntu based distros `apt install python3 python3-pip`
- Arch based distros `pacman -S python python-pip`
- Fedora `dnf install python3 python3-pip`
1. [Install poetry](https://python-poetry.org/docs/#installation)
1. Clone this repo `git clone https://github.com/joaofauvel/climafeis.git && cd climafeis`
1. Install requirements `poetry install`
### Output headers
| Header | Description |
| ---------- | ----------------------------------------------------- |
| Date | Observation date (dd-mm-yyyy) |
| Tmean | Mean temperature (ºC) |
| Tmax | Max temperature (ºC) |
| Tmin | Min temperature (ºC) |
| RHmean | Mean relative humidity (%) |
| RHmax | Max relative humidity (%) |
| RHmin | Min relative humidity (%) |
| Pmean | Mean pressure (kPa) |
| Rn | Net radiation (MJ/m^2*day) |
| Rl | Liquid radiation (MJ/m^2*day) |
| G | Soil heat flux (MJ/m^2*day) |
| PAR | (μmoles/m^2) |
| ETcat | Evapotranspiration Class A Tank (mm/day) |
| ET0pm | Reference evapotranspiration Penman–Monteith (mm/day) |
| ET0cat | Reference evapotranspiration Class A Tank (mm/day) |
| U2max | Max windspeed at 2 meters (m/s) |
| U2mean | Mean windspeed at 2 meters (m/s) |
| U2dir | Wind direction at 2 meters (º) |
| Rain | Rainfall (mm) |
| Insolation | Solar insolation (h/day) |
[Reference](https://www.fao.org/3/x0490e/x0490e06.htm)
### Usage
Daily data from ILHA_SOLTEIRA station from 30/05/2020 (dd/MM/YYYY) to 03/05/2020
`climafeis ILHA_SOLTEIRA 30/05/2020 03/06/2020`
Daily data from MARINOPOLIS station from 30/05/2020 to today
`climafeis MARINOPOLIS 30/05/2020`
Daily data from ILHA_SOLTEIRA station from 30/05/2020 to today, supplying username and password
`climafeis ILHA_SOLTEIRA 30/05/2020 -U user -P password`
---
usage: climafeis [-h] [-U USER] [-P PW] [-o OUT] [-l LOG] [-v] station start [end]
Scrape daily climate date from Canal CLIMA (https://clima.feis.unesp.br)
positional arguments:
station station name: ILHA_SOLTEIRA, MARINOPOLIS, JUNQUEIROPOLIS, PARANAPUA, IRAPURU,
POPULINA, SANTA_ADELIA_PIONEIROS, SANTA_ADELIA, BONANCA, ITAPURA, DRACENA
start start date dd/MM/YYYY (30/05/2020)
end end date dd/MM/YYYY (03/05/2020). Default: today
options:
-h, --help show this help message and exit
-U USER, --user USER override Canal CLIMA user set in the environment variable $USER_CLIMAFEIS
-P PW, --pw PW override Canal CLIMA password set in the environment variable $PASSWD_CLIMAFEIS
-o OUT, --output OUT output file. Default: <station>.csv
-l LOG, --log LOG output log file. Default: stdout
-v, --verbose