File size: 2,141 Bytes
807a08b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
model:
  name: ClimODE
  default_checkpoint: ./data/checkpoints/model_bak.pth
  pretrained_checkpoint: ./weight/ClimODE_global.pt
  input_channels: 5
  input_height: 32
  input_width: 64
  solver: euler
  atol: 0.005
  rtol: 0.005
  use_attention: true
  use_uncertainty: true
  use_positional_encoder: false
  learning_rate: 0.0005
  weight_decay: 0.00001
  epochs: 10
  checkpoint_dir: ./data/checkpoints

data:
  data_dir: ./data
  # ERA5Dataset receives this root and resolves data/<year>.h5 itself.
  raw_data_dir: ./data/data
  static_dir: ./data/static
  output_dir: ./result/output
  time_step_hours: 6
  input_steps: 1
  output_steps: 1
  # ClimODE min-max normalization; ERA5Dataset's mean/std transform stays disabled.
  normalize: true
  # ClimODE uses the following order throughout the model and metrics.
  variables: [z, t, t2m, u10, v10]
  variable_sources:
    z: geopotential_500
    t: temperature_850
    t2m: 2m_temperature
    u10: 10m_u_component_of_wind
    v10: 10m_v_component_of_wind
  train_years: [2014, 2015]
  val_years: [2016]
  test_years: [2017]
  raw_height: 721
  raw_width: 1440
  model_height: 32
  model_width: 64
  regrid_method: bilinear
  stats_dir: ./data/static
  static_file: ./data/static/constants.h5
  dataloader:
    batch_size: 8
    num_workers: 0
    pin_memory: false
    drop_last: false
  sequence_length: 8

velocity:
  cache_dir: ./data/checkpoints/velocity
  optimizer: Adam
  learning_rate: 2.0
  epochs: 200
  smoothing_alpha: 1.0e-7
  kernel_sigma: 1.0

training:
  epochs: 10
  finetune_epochs: 5
  finetune_learning_rate: 0.00005
  mode: scratch
  seed: 42
  ddp_backend: nccl
  max_batches: null
  log_file: ./result/train.jsonl

fake_data:
  # The default is intentionally small in time but preserves the real ERA5 grid.
  timesteps: 12
  years: [2014, 2015, 2016, 2017]
  height: 721
  width: 1440
  seed: 42
  dtype: float32

runtime:
  device: cuda
  module: sghpc-mpi-gcc/26.3
  conda_env: develop_base

output:
  checkpoint_name: model_bak.pth
  metrics_file: ./result/metrics.json
  prediction_file: ./result/output/predictions.npy
  figure_dir: ./result/output/figures