Skip to main content
MAMS (Model Archive Management System) is an archiver system for ModMS NetCDF data. It provides long-term storage and query capabilities for archived model data across distributed servers.

Overview

  • Purpose: Archive ModMS NetCDF data to distributed storage servers
  • Main Server: mams.devops.arabiaweather.com (148.251.6.197)
  • Archive Servers: Multiple archive servers (e.g., 138.201.49.117 - Mams.04)
  • Code: Uses the same codebase as the ModMS server, providing identical query capabilities
  • Registry: Uses registry.json to track data locations and date ranges
  • Deployment: Docker Swarm stacks with multiple services

Access

Web Interface: http://mams.devops.arabiaweather.com:8081/web/ Credentials:
  • Username: modms
  • Password: CLandSky

System Components

  • Deployment - Docker Swarm deployment configuration
  • Connector - Connector service for distributed queries
  • Registry - Registry system and archive process
  • Nginx - Nginx service for file serving
  • API Examples - Example requests and workflows

Query Capabilities

Since MAMS uses the same code as the ModMS server, it provides identical query capabilities:
The MAMS API supports the same query syntax as the main ModMS server. See the ModMS Query Guide for query details.
Important: When specifying model runs in MAMS queries, you must use timestamp format (MODEL@timestamp) instead of model-run format (MODEL@model-run).
  • ModMS: GFS@2218.ISO200HPA.UGRD (model-run format) or GFS@1766577600.ISO200HPA.UGRD (timestamp format)
  • MAMS: GFS@1766577600.ISO200HPA.UGRD (timestamp format only)

Query Routing

When a query comes in to the main MAMS server:
  1. The ModMS service checks the registry.json file
  2. It determines which server has the requested model and date range
  3. If data is on the main server, it serves it directly
  4. If data is on an archive server, it connects to that server’s connector (port 8082)
  5. The connector serves the data and returns it to the main server
  6. The main server returns the results to the client
This routing is transparent to clients - they always query the main server, which handles the complexity of distributed data access.