model: start_epoch: 0 max_epoch: 1 train_lr: 2.5E-4 finetune_lr: 1E-7 patch_size: [2, 4, 4] embed_dim: 1536 num_groups: 32 num_heads: 8 window_size: 7 short_num_steps: 20 medium_num_steps: 40 long_num_steps: 60 finetune_step: 1 step_change_freq: 200 input_steps: 2 num_blocks: 8 checkpoint_dir : "./data/checkpoints" patience: 50 # 整个数据读取流程 datapipe: name: "ERA5" task: "weather_forecasting" # dataset设定 dataset: type: "hdf5" data_dir: './data/' # "$ONESCIENCE_DATASETS_DIR/ERA5/newh5/" train_time: [2000,2001] val_time: [2022] test_time: [2023] img_size: [2, 721, 1440] verbose: true cache: false # 气象变量 channels: ['10m_u_component_of_wind', '10m_v_component_of_wind', '2m_temperature', 'mean_sea_level_pressure', 'total_precipitation', 'geopotential_50', 'geopotential_100', 'geopotential_150', 'geopotential_200', 'geopotential_250', 'geopotential_300', 'geopotential_400', 'geopotential_500', 'geopotential_600', 'geopotential_700', 'geopotential_850', 'geopotential_925', 'geopotential_1000', 'relative_humidity_50', 'relative_humidity_100', 'relative_humidity_150', 'relative_humidity_200', 'relative_humidity_250', 'relative_humidity_300', 'relative_humidity_400', 'relative_humidity_500', 'relative_humidity_600', 'relative_humidity_700', 'relative_humidity_850','relative_humidity_925', 'relative_humidity_1000', 'u_component_of_wind_50', 'u_component_of_wind_100', 'u_component_of_wind_150', 'u_component_of_wind_200', 'u_component_of_wind_250', 'u_component_of_wind_300', 'u_component_of_wind_400', 'u_component_of_wind_500', 'u_component_of_wind_600','u_component_of_wind_700', 'u_component_of_wind_850', 'u_component_of_wind_925', 'u_component_of_wind_1000', 'v_component_of_wind_50', 'v_component_of_wind_100', 'v_component_of_wind_150', 'v_component_of_wind_200', 'v_component_of_wind_250', 'v_component_of_wind_300', 'v_component_of_wind_400', 'v_component_of_wind_500', 'v_component_of_wind_600','v_component_of_wind_700', 'v_component_of_wind_850', 'v_component_of_wind_925', 'v_component_of_wind_1000', 'temperature_50', 'temperature_100', 'temperature_150', 'temperature_200', 'temperature_250', 'temperature_300', 'temperature_400', 'temperature_500', 'temperature_600', 'temperature_700', 'temperature_850', 'temperature_925', 'temperature_1000' ] variables: - "u10" # 10m U wind component - "v10" # 10m V wind component - "t2m" # 2m temperature - "msl" # Mean sea level pressure - "z500" # Geopotential at 500 hPa - "t850" # Temperature at 850 hPa # 时间配置 time_range: ["2000-01-01", "2020-12-31"] time_steps: 1 time_res: 6 # 空间配置 spatial_resolution: [0.25, 0.25] # 采样配置 num_samples: -1 # -1 表示使用全部数据 shuffle: true random_seed: 42 # 领域特定配置 extra: levels: [500, 850, 1000] lat_range: [-90, 90] lon_range: [0, 360] # 数据转换配置 transforms: - type: "Normalize" params: mean: [0.0, 0.0, 288.0, 101325.0, 50000.0, 270.0] std: [5.0, 5.0, 15.0, 1000.0, 5000.0, 10.0] keys: ["input", "target"] - type: "ToTensor" params: keys: null # null表示转换所有numpy数组 # 其他配置 # DataLoader配置 dataloader: mask_dtype: "float32" batch_size: 1 num_workers: 1 pin_memory: true drop_last: true shuffle: false # 使用sampler时设为false prefetch_factor: 2 persistent_workers: true # 分布式配置 distributed: enabled: true sampler: "DistributedSampler" rank: 0 world_size: 4 shuffle: true seed: 42 drop_last: true