TSYS-AIOS-GIS-Tools-Weather-Analysis Container
This container is part of the TSYS-AIOS-GIS project and provides advanced weather data analysis capabilities with Jupyter notebooks and specialized meteorological tools.
Overview
The TSYS-AIOS-GIS-Tools-Weather-Analysis container extends the base weather container with advanced analysis tools, Jupyter notebooks for interactive analysis, and specialized meteorological libraries. This container is designed for in-depth weather data analysis and balloon path prediction work.
Tools Included
Extends from Base Container
- All tools from TSYS-AIOS-GIS-Tools-Weather-Base container
- Weather data processing libraries, APIs, bulk download tools
Advanced Analysis Tools
- Jupyter Notebook: Interactive environment for weather analysis
- Node.js/npm: JavaScript runtime and package manager
- IPyKernel: IPython kernel for Jupyter
- GNU Octave: Numerical computations (similar to MATLAB)
Visualization & Forecasting Libraries
- Cartopy: Geospatial processing and visualization
- Geoviews: Geospatial data visualization
- Folium: Interactive maps with weather data overlays
- Plotly: Interactive weather visualizations
- Forecast R package: Time series forecasting
Additional R packages
- Lubridate: Time series manipulation
- Ggplot2/Tidyr/Dplyr: Data analysis and visualization
- RColorBrewer: Color palettes for weather maps
Usage
Building the Weather Analysis Container
# From this directory
cd /home/localuser/AIWorkspace/TSYS-AIOS-GIS/Docker/TSYS-AIOS-GIS-Tools-Weather-Analysis
# Use the wrapper script to automatically detect and set user IDs
./docker-compose-wrapper.sh build
# Or run commands in the analysis container with automatic user mapping
./docker-compose-wrapper.sh run tsys-weather-analysis [command]
# Example: Start Jupyter notebook server
./docker-compose-wrapper.sh run tsys-weather-analysis jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root --notebook-dir=/workspace --no-browser
# Example: Start Octave for numerical computations
./docker-compose-wrapper.sh run tsys-weather-analysis octave
# Example: Start an interactive bash session
./docker-compose-wrapper.sh run tsys-weather-analysis bash
Using with docker-compose directly
# Set environment variables and run docker-compose directly
LOCAL_USER_ID=$(id -u) LOCAL_GROUP_ID=$(id -g) docker-compose up --build
# Or export variables first
export LOCAL_USER_ID=$(id -u)
export LOCAL_GROUP_ID=$(id -g)
docker-compose up
Using the wrapper script
# Build and start the analysis container with automatic user mapping
./docker-compose-wrapper.sh up --build
# Start without rebuilding (Jupyter will be available on port 8889)
./docker-compose-wrapper.sh up
# View container status
./docker-compose-wrapper.sh ps
# Stop containers
./docker-compose-wrapper.sh down
Jupyter Notebook Access
When running the container with docker-compose up, Jupyter notebook will be available at:
The notebook server is preconfigured to:
- Use the workspace directory as the notebook directory
- Allow access without authentication (in container only)
- Accept connections from any IP address
User ID Mapping (For File Permissions)
The container automatically detects and uses the host user's UID and GID to ensure proper file permissions. This means:
- Files created inside the container will have the correct ownership on the host
- No more root-owned files after container operations
- Works across different environments (development, production servers)
The container detects the user ID from the mounted workspace volume. If needed, you can override the default values by setting environment variables:
# Set specific user ID and group ID before running docker-compose
export LOCAL_USER_ID=1000
export LOCAL_GROUP_ID=1000
docker-compose up
Or run with inline environment variables:
LOCAL_USER_ID=1000 LOCAL_GROUP_ID=1000 docker-compose up
The container runs as a non-root user named TSYS-Tools with the detected host user's UID/GID.
Weather Analysis Workflows
This container is optimized for:
- Interactive weather data analysis using Jupyter notebooks
- Balloon path prediction using weather data
- Advanced meteorological calculations
- Time series forecasting
- Weather data visualization
- Climate analysis workflows