Automating Weather Forecast Text Generation Using Fine-Tuned Vision-Language Models

uk_metoffice · Government · 2024 · source Agentic: no · promotional bias: med · source-backed · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Government weather forecasting

The UK Met Office wanted to automate the last-mile drafting of the Shipping Forecast: turning large numerical weather-prediction outputs into concise maritime forecast text that follows strict operational language.

Constraints:

Architecture

The Met Office/AWS prototype converts numerical weather prediction outputs into Shipping Forecast text through two foundation-model paths: a text-intermediary LLM approach and a vision-language approach over rendered forecast frames. Weather data is reduced from full atmospheric/ocean model output into the Northwest European shelf variables needed for the forecast, staged for training/inference, fine-tuned with Amazon Nova models through SageMaker/Bedrock tooling, and evaluated against meteorologist-written bulletins with strict word-level metrics.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  numerical-weather-model-output["numerical-weather-model-output"]
  shipping-forecast-cropper["shipping-forecast-cropper"]
  text-intermediary-pipeline["text-intermediary-pipeline"]
  vision-frame-pipeline["vision-frame-pipeline"]
  nova-pro-llm-path["nova-pro-llm-path"]
  claude-comparison-path["claude-comparison-path"]
  nova-lite-vlm-finetune["nova-lite-vlm-finetune"]
  sagemaker-training-job["sagemaker-training-job"]
  meteorologist-bulletin-evaluator["meteorologist-bulletin-evaluator"]
  numerical-weather-model-output --> shipping-forecast-cropper
  shipping-forecast-cropper --> text-intermediary-pipeline
  shipping-forecast-cropper --> vision-frame-pipeline
  text-intermediary-pipeline --> nova-pro-llm-path
  text-intermediary-pipeline --> claude-comparison-path
  vision-frame-pipeline --> nova-lite-vlm-finetune
  nova-lite-vlm-finetune --> sagemaker-training-job
  nova-pro-llm-path --> meteorologist-bulletin-evaluator
  claude-comparison-path --> meteorologist-bulletin-evaluator
  nova-lite-vlm-finetune --> meteorologist-bulletin-evaluator
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
numerical-weather-model-output provides atmospheric and ocean forecast data for each forecast run shipping-forecast-cropper
shipping-forecast-cropper reduces full weather-model output to the variables and Northwest European shelf region needed for Shipping Forecast generation text-intermediary-pipeline, vision-frame-pipeline
text-intermediary-pipeline turns weather model data into structured textual inputs for LLM prompting nova-pro-llm-path, claude-comparison-path
vision-frame-pipeline represents forecast hours as visual frames for a vision-language model nova-lite-vlm-finetune
nova-pro-llm-path runs Nova Pro LLM experiments over processed weather inputs meteorologist-bulletin-evaluator
claude-comparison-path provides Claude 3.7 Sonnet baseline comparisons for forecast text generation meteorologist-bulletin-evaluator
nova-lite-vlm-finetune fine-tunes Nova Lite vision-language models for weather-frame-to-text generation sagemaker-training-job, meteorologist-bulletin-evaluator
sagemaker-training-job runs short GPU fine-tuning experiments for Nova models nova-lite-vlm-finetune
meteorologist-bulletin-evaluator compares generated forecast text with expert bulletins using strict word-level scoring nova-pro-llm-path, claude-comparison-path, nova-lite-vlm-finetune

Data flow

Numerical weather model output is cropped to the Shipping Forecast variables and region, transformed into either textual summaries or 24-hour visual frames, passed to Nova/Claude model experiments, fine-tuned through SageMaker jobs where appropriate, and evaluated by comparing generated bulletins against expert meteorologist bulletins with word-based F1 rather than embedding-similarity metrics.

3 supporting quotes
“we're able to crop this down to just the particular variables that we need and particular area that we are considering”transcript, stated
“We used two LLMs. First one was Claude Sonnet 3.7 and we compare the output with Nova Pro 1 model”transcript, stated
“we are literally comparing to what the expert meteorologist issued in their bulletins and counting those words on that basis.”transcript, stated

Why this architecture

The task is narrow, structured, and safety-sensitive: a Shipping Forecast is short, highly formatted, and semantically brittle because words like north and south have opposite operational meaning. The architecture therefore reduces the meteorological data to task-specific inputs, tests both text and vision representations, uses fine-tuning for a domain-specific format, and evaluates with strict word-level metrics rather than broad semantic similarity.

3 supporting quotes
“the shipping forecast where extreme precision is required.”transcript, stated
“if you had an expected outcome of north and the generated word was south, then actually this would result in a BERT score of 82%”transcript, stated
“which is a little bit misleading. And really to drill down into why these types of approaches are so misleading”transcript, stated

Models used: Amazon Nova Pro 1.0 · Amazon Nova Lite · Claude 3.7 Sonnet

Scale

Alternatives considered (roads not taken)

Use embedding/BERT-style semantic scoring for forecasts

Rejected because: Embedding similarity can reward opposite weather directions, making it misleading for operational forecasts.

“if you had an expected outcome of north and the generated word was south, then actually this would result in a BERT score of 82%”transcript, stated

Rely only on text-intermediary LLM prompting

Rejected because: The team also explored a vision-language path to learn from rendered spatial-temporal weather frames.

“One is large language model, a foundation, and another one is vision language model.”transcript, stated

Use SageMaker HyperPod for short experiments

Rejected because: The team wanted quick dirty runs, so three-hour experiments used SageMaker training jobs instead of a cluster.

“we wanted to make like quick dirty runs like super fast, so we use SageMaker training jobs.”transcript, stated

Use full raw forecast data without cropping

Rejected because: The team cropped the forecast to only the variables and area required for the Shipping Forecast to reduce the data burden.

“we're able to crop this down to just the particular variables that we need and particular area that we are considering”transcript, stated

Patterns

structured-output-contract (output-control)

The target forecast text was treated as a tightly constrained product rather than free-form generation, with model outputs expected to match established maritime forecast wording.

“text sentences with a very specific length and format following a very specific and strict set of rules”transcript, stated

fine-tuning-adaptation (model-operations)

The VLM approach converted gridded weather attributes into short videos and fine-tuned Amazon Nova Lite on forecast examples, while the team compared LoRA and full fine-tuning behavior.

“full rank fine-tuning is outperforming the use of the adaptor in these experiments by about 6.2%”transcript, stated

eval-driven-development (evaluation)

The team chose word-based F1 over semantic metrics because the operational task requires exact directional and terminology matches, then used that metric to compare model and fine-tuning variants.

“we used word based F1 scoring”transcript, stated

batch-offline-processing (architecture)

The proposed architecture emphasizes batch-style processing of large historical weather datasets and forecast runs before calling foundation models.

“really good to process large volume of historic data”transcript, stated

Tradeoffs

How to represent weather data to a language model.

Chose A text-intermediary LLM path for one approach, and a video-based VLM path for another. over Relying on a single representation for all experiments..

Rationale: The text path gave models summarized domain features, while the VLM path tested whether spatial-temporal patterns could be learned more directly from rendered weather data.

“large language model implementation, we interpreted these through a text intermediary”transcript, stated

How aggressively to adapt the foundation model.

Chose Full fine-tuning for higher task performance in the experiments. over LoRA-only adaptation..

Rationale: Full fine-tuning scored better on this narrow task, but the team also called out the risk of losing broader model capabilities and the latency/cost implications of alternatives.

“with full model fine-tuning, you can risk catastrophically forgetting the other capabilities”transcript, stated

How to make the production architecture resilient.

Chose A decoupled processing architecture with SQS and dead-letter handling. over A tightly coupled preprocessing-to-inference chain..

Rationale: The workflow needs to identify failed forecast records and support investigation instead of silently losing work.

“We are decoupling this architecture using Amazon SQS”transcript, stated

Gotchas (what bit them)

Optimizing for generic model-training loss did not align with the operational forecast-quality metric.

Root cause: The task rewards exact meteorological wording, so perplexity and embedded probability can prefer outputs that score worse under word-level F1.

Resolution: The team compared early stopping with overfitting behavior and kept the evaluation focus on word-based F1 against expert bulletins.

“overfitting is enhancing the memorization of precise word patterns”transcript, stated

Semantic similarity metrics can hide dangerous directional errors.

Root cause: Embedding-level metrics may score opposite weather directions as similar even when the operational meaning is wrong.

Resolution: The team rejected BERTScore-style evaluation for this use case and used strict word matching instead.

“this would result in a BERT score of 82% despite this having the complete opposite geographical meaning”transcript, stated

Evaluation

Generated forecasts were compared word-by-word to expert meteorologist bulletins using precision, recall, and F1. The team explicitly discussed why embedding-level scores were too weak for maritime forecast wording.

Metrics: Word-based F1 score · Precision and recall from true positives, false positives, and false negatives · Average word F1 comparison between Nova Pro and Claude 3.7 Sonnet · Accuracy ranges for the four-week Nova prototype

“Nova Pro scoring an average word F1 score of 62% to Claude 3.7 Sonnet of 57%”transcript, stated

Outcomes

A single numerical weather forecast run can generate upward of 45 GB of atmospheric model data plus ocean data, and the Met Office ingests about 215 billion observations daily, so the proposed architecture emphasizes batch preparation, decoupling, and managed model deployment.

“between 52 and 62% accuracy in less than five minutes”transcript, stated
“we're ingesting about 215 billion observations every day”transcript, stated