# Macros: # ============================================================================== ACTIVATION = @gelu BASE_SHAPE_MULTIPLE = None CORRECTOR_MODULE = @CustomCoordsCorrector CORRECTOR_SCALE = 0.01 DATA_FILTER_ATTENUATION = 0.0 DYCORE_FILTER_ORDER = 3 DYCORE_GRID = @GridWithWavenumbers() DYCORE_INTEGRATOR = @imex_rk_sil3 DYCORE_TAU = '120 minutes' GLOBAL_OUT_SCALE = 0.01 LATENT_SIZE = 384 LAYER_SIZE = 384 N_CNN_FEATURES = 32 N_INNER_DYCORE_STEPS = 8 N_SIGMA_LAYERS = 32 N_TO_CLIP = 1 NUM_BLOCKS = 5 NUM_SUBSTEPS = 2 PARAMETERIZATION_FILTER = @ml/SequentialStepFilter POSITIONAL_LATENT_SIZE = 32 REVERSE_EINSUM_ARG_ORDER = None STABILITY_TAU = '4 minutes' SURFACE_MODEL_LATENT_SIZE = 8 SURFACE_MODEL_LAYER_SIZE = 8 SURFACE_MODEL_OUTPUT_SIZE = 8 # Parameters for decode/ColumnTower: # ============================================================================== decode/ColumnTower.checkpoint_tower = False decode/ColumnTower.column_net_factory = @decode/MlpUniform decode/ColumnTower.name = 'decode_tower' # Parameters for encode/ColumnTower: # ============================================================================== encode/ColumnTower.checkpoint_tower = False encode/ColumnTower.column_net_factory = @encode/MlpUniform encode/ColumnTower.name = 'encode_tower' # Parameters for process/ColumnTower: # ============================================================================== process/ColumnTower.checkpoint_tower = False process/ColumnTower.column_net_factory = @process/MlpUniform process/ColumnTower.name = 'process_tower' # Parameters for surface_model_decode/ColumnTower: # ============================================================================== surface_model_decode/ColumnTower.checkpoint_tower = False surface_model_decode/ColumnTower.column_net_factory = \ @surface_model_decode/MlpUniform surface_model_decode/ColumnTower.name = 'surface_model_decode_tower' # Parameters for surface_model_encode/ColumnTower: # ============================================================================== surface_model_encode/ColumnTower.checkpoint_tower = False surface_model_encode/ColumnTower.column_net_factory = \ @surface_model_encode/MlpUniform surface_model_encode/ColumnTower.name = 'surface_model_encode_tower' # Parameters for surface_model_process/ColumnTower: # ============================================================================== surface_model_process/ColumnTower.checkpoint_tower = False surface_model_process/ColumnTower.column_net_factory = \ @surface_model_process/MlpUniform surface_model_process/ColumnTower.name = 'surface_model_process_tower' # Parameters for advance/CombinedFeatures: # ============================================================================== advance/CombinedFeatures.feature_module_names_to_exclude = () advance/CombinedFeatures.feature_modules = \ (@EmbeddingSurfaceFeatures, @EmbeddingVolumeFeatures, @PressureFeatures, @RadiationFeatures, @LatitudeFeatures, @advance/VelocityAndPrognostics, @MemoryVelocityAndValues, @with_grads/FloatDataFeatures, @without_grads/FloatDataFeatures, @LearnedPositionalFeatures) advance/CombinedFeatures.features_to_exclude = () advance/CombinedFeatures.features_transform_module = @advance/SequentialTransform advance/CombinedFeatures.name = None # Parameters for decoder_model/CombinedFeatures: # ============================================================================== decoder_model/CombinedFeatures.feature_module_names_to_exclude = () decoder_model/CombinedFeatures.feature_modules = \ (@RadiationFeatures, @LatitudeFeatures, @model/VelocityAndPrognostics, @with_grads/FloatDataFeatures, @without_grads/FloatDataFeatures, @LearnedPositionalFeatures) decoder_model/CombinedFeatures.features_to_exclude = () decoder_model/CombinedFeatures.features_transform_module = \ @decoder_model/SequentialTransform decoder_model/CombinedFeatures.name = None # Parameters for embedding_model/CombinedFeatures: # ============================================================================== embedding_model/CombinedFeatures.feature_module_names_to_exclude = () embedding_model/CombinedFeatures.feature_modules = \ (@embedding_model/VelocityAndPrognostics, @PressureFeatures) embedding_model/CombinedFeatures.features_to_exclude = () embedding_model/CombinedFeatures.features_transform_module = \ @embedding_model/ShiftAndNormalize embedding_model/CombinedFeatures.name = None # Parameters for encoder_data/CombinedFeatures: # ============================================================================== encoder_data/CombinedFeatures.feature_module_names_to_exclude = () encoder_data/CombinedFeatures.feature_modules = \ (@RadiationFeatures, @LatitudeFeatures, @encoder_data/VelocityAndPrognostics, @with_grads/FloatDataFeatures, @without_grads/FloatDataFeatures, @LearnedPositionalFeatures) encoder_data/CombinedFeatures.features_to_exclude = () encoder_data/CombinedFeatures.features_transform_module = \ @encoder_data/SequentialTransform encoder_data/CombinedFeatures.name = None # Parameters for sea_model/CombinedFeatures: # ============================================================================== sea_model/CombinedFeatures.feature_module_names_to_exclude = () sea_model/CombinedFeatures.feature_modules = (@sea_model/ForcingFeatures,) sea_model/CombinedFeatures.features_to_exclude = () sea_model/CombinedFeatures.features_transform_module = @sea_model/ShiftAndNormalize sea_model/CombinedFeatures.name = None # Parameters for coordinate_system_from_dataset: # ============================================================================== coordinate_system_from_dataset.spherical_harmonics_impl = \ @RealSphericalHarmonicsWithZeroImag coordinate_system_from_dataset.truncation = 'LINEAR' # Parameters for CoordinateSystem: # ============================================================================== CoordinateSystem.horizontal = @GridTL255() CoordinateSystem.vertical = @SigmaCoordinatesEquidistant() # Parameters for custom_corrds/CoordinateSystem: # ============================================================================== custom_corrds/CoordinateSystem.horizontal = %DYCORE_GRID custom_corrds/CoordinateSystem.vertical = @SigmaCoordinatesEquidistant() # Parameters for CustomCoordsCorrector: # ============================================================================== CustomCoordsCorrector.corrector_module = @DycoreWithPhysicsCorrector CustomCoordsCorrector.custom_coords = @custom_corrds/CoordinateSystem() CustomCoordsCorrector.name = None # Parameters for data_to_xarray_with_renaming: # ============================================================================== data_to_xarray_with_renaming.additional_coords = None data_to_xarray_with_renaming.attrs = None data_to_xarray_with_renaming.renaming_dict = \ {'geopotential': 'z', 'latitude': 'lat', 'longitude': 'lon', 'temperature': 't', 'u_component_of_wind': 'u', 'v_component_of_wind': 'v'} data_to_xarray_with_renaming.sample_ids = None data_to_xarray_with_renaming.to_xarray_fn = @primitive_eq_to_xarray # Parameters for divergence/DataExponentialFilter: # ============================================================================== divergence/DataExponentialFilter.attenuation = 14.0 divergence/DataExponentialFilter.cutoff = 0.62 divergence/DataExponentialFilter.name = None divergence/DataExponentialFilter.order = 2 # Parameters for lsp/DataExponentialFilter: # ============================================================================== lsp/DataExponentialFilter.attenuation = 8 lsp/DataExponentialFilter.cutoff = 0.82 lsp/DataExponentialFilter.name = None lsp/DataExponentialFilter.order = 1 # Parameters for orography/DataExponentialFilter: # ============================================================================== orography/DataExponentialFilter.attenuation = %DATA_FILTER_ATTENUATION orography/DataExponentialFilter.cutoff = 0 orography/DataExponentialFilter.name = None orography/DataExponentialFilter.order = 1 # Parameters for q/DataExponentialFilter: # ============================================================================== q/DataExponentialFilter.attenuation = 17 q/DataExponentialFilter.cutoff = 0.62 q/DataExponentialFilter.name = None q/DataExponentialFilter.order = 2 # Parameters for temperature_variation/DataExponentialFilter: # ============================================================================== temperature_variation/DataExponentialFilter.attenuation = 13.0 temperature_variation/DataExponentialFilter.cutoff = 0.45 temperature_variation/DataExponentialFilter.name = None temperature_variation/DataExponentialFilter.order = 3 # Parameters for vorticity/DataExponentialFilter: # ============================================================================== vorticity/DataExponentialFilter.attenuation = 14 vorticity/DataExponentialFilter.cutoff = 0.62 vorticity/DataExponentialFilter.name = None vorticity/DataExponentialFilter.order = 2 # Parameters for DataNoFilter: # ============================================================================== DataNoFilter.name = None # Parameters for DimensionalLearnedPrimitiveToWeatherbenchDecoder: # ============================================================================== DimensionalLearnedPrimitiveToWeatherbenchDecoder.correction_transform_module = \ @decoder/SequentialTransform DimensionalLearnedPrimitiveToWeatherbenchDecoder.inputs_to_units_mapping = \ {'sim_time': 'dimensionless', 't': 'kelvin', 'tracers': {'specific_cloud_ice_water_content': 'dimensionless', 'specific_cloud_liquid_water_content': 'dimensionless', 'specific_humidity': 'dimensionless'}, 'u': 'meter / second', 'v': 'meter / second', 'z': 'm**2 s**-2'} DimensionalLearnedPrimitiveToWeatherbenchDecoder.modal_to_nodal_data_features_module = \ @NullFeatures DimensionalLearnedPrimitiveToWeatherbenchDecoder.modal_to_nodal_model_features_module = \ @decoder_model/CombinedFeatures DimensionalLearnedPrimitiveToWeatherbenchDecoder.name = None DimensionalLearnedPrimitiveToWeatherbenchDecoder.nodal_mapping_module = \ @NodalMapping DimensionalLearnedPrimitiveToWeatherbenchDecoder.orography_module = \ @LearnedOrography DimensionalLearnedPrimitiveToWeatherbenchDecoder.prediction_mask = \ {'sim_time': False, 't': True, 'tracers': {'specific_cloud_ice_water_content': True, 'specific_cloud_liquid_water_content': True, 'specific_humidity': True}, 'u': True, 'v': True, 'z': True} DimensionalLearnedPrimitiveToWeatherbenchDecoder.time_axis = 0 # Parameters for DimensionalLearnedWeatherbenchToPrimitiveWithMemoryEncoder: # ============================================================================== DimensionalLearnedWeatherbenchToPrimitiveWithMemoryEncoder.correction_transform_module = \ @encode/SequentialTransform DimensionalLearnedWeatherbenchToPrimitiveWithMemoryEncoder.inputs_to_units_mapping = \ {'sim_time': 'dimensionless', 't': 'kelvin', 'tracers': {'specific_cloud_ice_water_content': 'dimensionless', 'specific_cloud_liquid_water_content': 'dimensionless', 'specific_humidity': 'dimensionless'}, 'u': 'meter / second', 'v': 'meter / second', 'z': 'm**2 s**-2'} DimensionalLearnedWeatherbenchToPrimitiveWithMemoryEncoder.modal_to_nodal_data_features_module = \ @encoder_data/CombinedFeatures DimensionalLearnedWeatherbenchToPrimitiveWithMemoryEncoder.modal_to_nodal_model_features_module = \ @NullFeatures DimensionalLearnedWeatherbenchToPrimitiveWithMemoryEncoder.name = None DimensionalLearnedWeatherbenchToPrimitiveWithMemoryEncoder.nodal_mapping_module = \ @NodalMapping DimensionalLearnedWeatherbenchToPrimitiveWithMemoryEncoder.orography_module = \ @LearnedOrography DimensionalLearnedWeatherbenchToPrimitiveWithMemoryEncoder.prediction_mask = \ {'divergence': True, 'log_surface_pressure': True, 'sim_time': False, 'temperature_variation': True, 'tracers': {'specific_cloud_ice_water_content': True, 'specific_cloud_liquid_water_content': True, 'specific_humidity': True}, 'vorticity': True} DimensionalLearnedWeatherbenchToPrimitiveWithMemoryEncoder.time_axis = 0 DimensionalLearnedWeatherbenchToPrimitiveWithMemoryEncoder.transform_module = \ @EncoderCombinedTransform # Parameters for DivCurlNeuralParameterization: # ============================================================================== DivCurlNeuralParameterization.filter_module = %PARAMETERIZATION_FILTER DivCurlNeuralParameterization.modal_to_nodal_features_module = \ @advance/CombinedFeatures DivCurlNeuralParameterization.name = None DivCurlNeuralParameterization.nodal_mapping_module = @NodalMapping DivCurlNeuralParameterization.prediction_mask = \ {'divergence': True, 'log_surface_pressure': False, 'sim_time': False, 'temperature_variation': True, 'tracers': {'specific_cloud_ice_water_content': True, 'specific_cloud_liquid_water_content': True, 'specific_humidity': True}, 'vorticity': True} DivCurlNeuralParameterization.tendency_transform_module = \ @div_curl_tendency_outputs/SequentialTransform # Parameters for DycoreWithPhysicsCorrector: # ============================================================================== DycoreWithPhysicsCorrector.checkpoint_explicit_terms = True DycoreWithPhysicsCorrector.dycore_equation_module = \ @MoistPrimitiveEquationsWithCloudMoisture DycoreWithPhysicsCorrector.dycore_substeps = %N_INNER_DYCORE_STEPS DycoreWithPhysicsCorrector.filter_module = @dycore/SequentialStepFilter DycoreWithPhysicsCorrector.name = None DycoreWithPhysicsCorrector.time_integrator = %DYCORE_INTEGRATOR # Parameters for DynamicDataForcing: # ============================================================================== DynamicDataForcing.check_sim_time_errors = False DynamicDataForcing.data_time_step = '6 hours' DynamicDataForcing.dt_tolerance = '1 year' DynamicDataForcing.inputs_to_units_mapping = \ {'sea_ice_cover': 'dimensionless', 'sea_surface_temperature': 'kelvin', 'sim_time': 'dimensionless'} DynamicDataForcing.name = None DynamicDataForcing.time_axis = 0 # Parameters for advance/EmbeddingSurfaceFeatures: # ============================================================================== advance/EmbeddingSurfaceFeatures.embedding_module = @NodalLandSeaIceEmbedding advance/EmbeddingSurfaceFeatures.feature_name = 'surface_embedding' advance/EmbeddingSurfaceFeatures.name = None advance/EmbeddingSurfaceFeatures.output_size = %SURFACE_MODEL_OUTPUT_SIZE # Parameters for advance/EmbeddingVolumeFeatures: # ============================================================================== advance/EmbeddingVolumeFeatures.embedding_module = @ModalToNodalEmbedding advance/EmbeddingVolumeFeatures.feature_name = 'CNN1D' advance/EmbeddingVolumeFeatures.name = None advance/EmbeddingVolumeFeatures.output_size = %N_CNN_FEATURES # Parameters for EncoderCombinedTransform: # ============================================================================== EncoderCombinedTransform.name = None EncoderCombinedTransform.transforms = \ (@InputClipTransform, @EncoderFilterTransform) # Parameters for EncoderFilterTransform: # ============================================================================== EncoderFilterTransform.filter_modules = (@PerVariableDataFilter,) EncoderFilterTransform.name = None # Parameters for EpdTower: # ============================================================================== EpdTower.decode_tower_factory = @decode/ColumnTower EpdTower.encode_tower_factory = @encode/ColumnTower EpdTower.final_activation = None EpdTower.latent_size = %LATENT_SIZE EpdTower.name = None EpdTower.num_process_blocks = %NUM_BLOCKS EpdTower.post_encode_activation = None EpdTower.pre_decode_activation = None EpdTower.process_tower_factory = @process/ColumnTower # Parameters for surface_model/EpdTower: # ============================================================================== surface_model/EpdTower.decode_tower_factory = @surface_model_decode/ColumnTower surface_model/EpdTower.encode_tower_factory = @surface_model_encode/ColumnTower surface_model/EpdTower.final_activation = None surface_model/EpdTower.latent_size = %SURFACE_MODEL_LATENT_SIZE surface_model/EpdTower.name = None surface_model/EpdTower.num_process_blocks = 1 surface_model/EpdTower.post_encode_activation = None surface_model/EpdTower.pre_decode_activation = None surface_model/EpdTower.process_tower_factory = @surface_model_process/ColumnTower # Parameters for dycore/ExponentialFilter: # ============================================================================== dycore/ExponentialFilter.cutoff = 0 dycore/ExponentialFilter.name = None dycore/ExponentialFilter.order = %DYCORE_FILTER_ORDER dycore/ExponentialFilter.tau = %DYCORE_TAU # Parameters for stability/ExponentialFilter: # ============================================================================== stability/ExponentialFilter.cutoff = 0.4 stability/ExponentialFilter.name = None stability/ExponentialFilter.order = 6 stability/ExponentialFilter.tau = %STABILITY_TAU # Parameters for FilteredCustomOrography: # ============================================================================== FilteredCustomOrography.filter_modules = (@orography/DataExponentialFilter,) FilteredCustomOrography.name = None FilteredCustomOrography.orography_data_path = None FilteredCustomOrography.renaming_dict = {'latitude': 'lat', 'longitude': 'lon'} # Parameters for with_grads/FloatDataFeatures: # ============================================================================== with_grads/FloatDataFeatures.compute_gradients_module = @ToModalDiffOperators with_grads/FloatDataFeatures.covariate_data_path = None with_grads/FloatDataFeatures.covariate_keys = ('geopotential_at_surface',) with_grads/FloatDataFeatures.name = None with_grads/FloatDataFeatures.renaming_dict = \ {'latitude': 'lat', 'longitude': 'lon'} # Parameters for without_grads/FloatDataFeatures: # ============================================================================== without_grads/FloatDataFeatures.covariate_data_path = None without_grads/FloatDataFeatures.covariate_keys = ('land_sea_mask',) without_grads/FloatDataFeatures.name = None without_grads/FloatDataFeatures.renaming_dict = \ {'latitude': 'lat', 'longitude': 'lon'} # Parameters for sea_model/ForcingFeatures: # ============================================================================== sea_model/ForcingFeatures.forcing_to_include = ('sea_surface_temperature',) sea_model/ForcingFeatures.name = None # Parameters for gelu: # ============================================================================== gelu.approximate = True # Parameters for GET_ATMOSPHERIC_SCALE: # ============================================================================== # None. # Parameters for get_model_specs: # ============================================================================== get_model_specs.custom_coords = @CoordinateSystem() get_model_specs.model_time_step = '1 hour' get_model_specs.reference_datetime_str = None get_model_specs.reference_temperature = \ [215.58614815, 211.47405876, 205.87815406, 206.40755302, 210.43452345, 214.5683887, 218.75303863, 223.23145107, 227.9710687, 232.85381503, 237.53588735, 242.05068293, 246.29986585, 250.14294113, 253.74839535, 256.98024283, 259.94441031, 262.7041158, 265.21752838, 267.62333985, 269.94462121, 272.10056439, 274.12518288, 275.99833711, 277.72759392, 279.3292128, 280.79178708, 282.13507065, 283.41832023, 284.7682506, 286.33945487, 288.06707666] # Parameters for get_physics_specs: # ============================================================================== get_physics_specs.construct_fn = @primitive_eq_specs_constructor # Parameters for GridTL255: # ============================================================================== GridTL255.spherical_harmonics_impl = @RealSphericalHarmonicsWithZeroImag # Parameters for DYCORE_GRID/GridWithWavenumbers: # ============================================================================== DYCORE_GRID/GridWithWavenumbers.dealiasing = 'quadratic' DYCORE_GRID/GridWithWavenumbers.latitude_spacing = 'gauss' DYCORE_GRID/GridWithWavenumbers.longitude_offset = 0.0 DYCORE_GRID/GridWithWavenumbers.longitude_wavenumbers = 254 DYCORE_GRID/GridWithWavenumbers.radius = None DYCORE_GRID/GridWithWavenumbers.spherical_harmonics_impl = \ @RealSphericalHarmonicsWithZeroImag # Parameters for advance/IdentityTransform: # ============================================================================== advance/IdentityTransform.name = None # Parameters for sea_model/IdentityTransform: # ============================================================================== sea_model/IdentityTransform.name = None # Parameters for imex_rk_sil3: # ============================================================================== # None. # Parameters for InputClipTransform: # ============================================================================== InputClipTransform.name = None InputClipTransform.wavenumbers_to_clip = %N_TO_CLIP # Parameters for advance/InverseLevelScale: # ============================================================================== advance/InverseLevelScale.keys_to_scale = \ ['specific_humidity', 'specific_humidity_del2', 'specific_humidity_dlat', 'specific_humidity_dlon'] advance/InverseLevelScale.name = None advance/InverseLevelScale.scales = \ [8.822e-05, 7.126e-05, 0.0001047, 0.0001858, 0.0007601, 0.002642, 0.007242, 0.01568, 0.02907, 0.04654, 0.07084, 0.09971, 0.1355, 0.1762, 0.2243, 0.2822, 0.3459, 0.4172, 0.471, 0.5286, 0.5932, 0.6682, 0.7546, 0.8532, 0.9553, 1.058, 1.164, 1.278, 1.401, 1.553, 1.709, 1.791] # Parameters for decoder_model/InverseLevelScale: # ============================================================================== decoder_model/InverseLevelScale.keys_to_scale = \ ['specific_humidity', 'specific_humidity_del2', 'specific_humidity_dlat', 'specific_humidity_dlon'] decoder_model/InverseLevelScale.name = None decoder_model/InverseLevelScale.scales = \ [8.822e-05, 7.126e-05, 0.0001047, 0.0001858, 0.0007601, 0.002642, 0.007242, 0.01568, 0.02907, 0.04654, 0.07084, 0.09971, 0.1355, 0.1762, 0.2243, 0.2822, 0.3459, 0.4172, 0.471, 0.5286, 0.5932, 0.6682, 0.7546, 0.8532, 0.9553, 1.058, 1.164, 1.278, 1.401, 1.553, 1.709, 1.791] # Parameters for encoder_data/InverseLevelScale: # ============================================================================== encoder_data/InverseLevelScale.keys_to_scale = \ ['specific_humidity', 'specific_humidity_del2', 'specific_humidity_dlat', 'specific_humidity_dlon'] encoder_data/InverseLevelScale.name = None encoder_data/InverseLevelScale.scales = \ [3.823e-05, 5.985e-05, 7.103e-05, 8.198e-05, 8.836e-05, 9.113e-05, 7.745e-05, 7.234e-05, 8.308e-05, 9.885e-05, 0.0001443, 0.0002999, 0.001019, 0.002773, 0.006194, 0.01195, 0.02037, 0.04634, 0.08648, 0.1406, 0.2104, 0.3017, 0.4097, 0.4949, 0.5891, 0.716, 0.8645, 0.9418, 1.019, 1.098, 1.178, 1.262, 1.35, 1.454, 1.581, 1.677, 1.713] # Parameters for decoder/InverseShiftAndNormalize: # ============================================================================== decoder/InverseShiftAndNormalize.global_scale = %CORRECTOR_SCALE decoder/InverseShiftAndNormalize.name = None decoder/InverseShiftAndNormalize.scales = \ {'sim_time': 0.0, 't': 27.99, 'tracers': {'specific_cloud_ice_water_content': 8.255e-06, 'specific_cloud_liquid_water_content': 2.182e-05, 'specific_humidity': 0.003493}, 'u': 0.01935, 'v': 0.01038, 'z': 0.1496} decoder/InverseShiftAndNormalize.shifts = \ {'sim_time': 0.0, 't': 0.0, 'tracers': {'specific_cloud_ice_water_content': 0.0, 'specific_cloud_liquid_water_content': 0.0, 'specific_humidity': 0.0}, 'u': 0.0, 'v': 0.0, 'z': 0.0} # Parameters for div_curl_tendency_outputs/InverseShiftAndNormalize: # ============================================================================== div_curl_tendency_outputs/InverseShiftAndNormalize.global_scale = %GLOBAL_OUT_SCALE div_curl_tendency_outputs/InverseShiftAndNormalize.name = None div_curl_tendency_outputs/InverseShiftAndNormalize.scales = \ {'log_surface_pressure': 0.05021, 'sim_time': 0.0, 'temperature_variation': 33.94, 'tracers': {'specific_cloud_ice_water_content': 4.85e-05, 'specific_cloud_liquid_water_content': 9.693e-05, 'specific_humidity': 0.006182}, 'u': 0.05863, 'v': 0.0516} div_curl_tendency_outputs/InverseShiftAndNormalize.shifts = \ {'log_surface_pressure': 0.0, 'sim_time': 0.0, 'temperature_variation': 0.0, 'tracers': {'specific_cloud_ice_water_content': 0.0, 'specific_cloud_liquid_water_content': 0.0, 'specific_humidity': 0.0}, 'u': 0.0, 'v': 0.0} # Parameters for encoder/InverseShiftAndNormalize: # ============================================================================== encoder/InverseShiftAndNormalize.global_scale = %CORRECTOR_SCALE encoder/InverseShiftAndNormalize.name = None encoder/InverseShiftAndNormalize.scales = \ {'divergence': 0.1078, 'log_surface_pressure': 0.1134, 'sim_time': 0.0, 'temperature_variation': 15.04, 'tracers': {'specific_cloud_ice_water_content': 9.812e-06, 'specific_cloud_liquid_water_content': 2.039e-05, 'specific_humidity': 0.003305}, 'vorticity': 0.2831} encoder/InverseShiftAndNormalize.shifts = \ {'divergence': 0.0, 'log_surface_pressure': 0.0, 'sim_time': 0.0, 'temperature_variation': 0.0, 'tracers': {'specific_cloud_ice_water_content': 0.0, 'specific_cloud_liquid_water_content': 0.0, 'specific_humidity': 0.0}, 'vorticity': 0.0} # Parameters for advance/LatitudeFeatures: # ============================================================================== advance/LatitudeFeatures.name = None # Parameters for decoder_model/LatitudeFeatures: # ============================================================================== decoder_model/LatitudeFeatures.name = None # Parameters for encoder_data/LatitudeFeatures: # ============================================================================== encoder_data/LatitudeFeatures.name = None # Parameters for LearnedOrography: # ============================================================================== LearnedOrography.base_orography_module = @FilteredCustomOrography LearnedOrography.correction_scale = 2e-06 LearnedOrography.name = None # Parameters for advance/LearnedPositionalFeatures: # ============================================================================== advance/LearnedPositionalFeatures.latent_size = %POSITIONAL_LATENT_SIZE advance/LearnedPositionalFeatures.name = None advance/LearnedPositionalFeatures.scale = 1.0 # Parameters for decoder_model/LearnedPositionalFeatures: # ============================================================================== decoder_model/LearnedPositionalFeatures.latent_size = %POSITIONAL_LATENT_SIZE decoder_model/LearnedPositionalFeatures.name = None decoder_model/LearnedPositionalFeatures.scale = 1.0 # Parameters for encoder_data/LearnedPositionalFeatures: # ============================================================================== encoder_data/LearnedPositionalFeatures.latent_size = %POSITIONAL_LATENT_SIZE encoder_data/LearnedPositionalFeatures.name = None encoder_data/LearnedPositionalFeatures.scale = 1.0 # Parameters for decoder/LevelScale: # ============================================================================== decoder/LevelScale.keys_to_scale = ['specific_humidity'] decoder/LevelScale.name = None decoder/LevelScale.scales = \ [3.823e-05, 5.985e-05, 7.103e-05, 8.198e-05, 8.836e-05, 9.113e-05, 7.745e-05, 7.234e-05, 8.308e-05, 9.885e-05, 0.0001443, 0.0002999, 0.001019, 0.002773, 0.006194, 0.01195, 0.02037, 0.04634, 0.08648, 0.1406, 0.2104, 0.3017, 0.4097, 0.4949, 0.5891, 0.716, 0.8645, 0.9418, 1.019, 1.098, 1.178, 1.262, 1.35, 1.454, 1.581, 1.677, 1.713] # Parameters for div_curl_tendency_outputs/LevelScale: # ============================================================================== div_curl_tendency_outputs/LevelScale.keys_to_scale = ['specific_humidity'] div_curl_tendency_outputs/LevelScale.name = None div_curl_tendency_outputs/LevelScale.scales = \ [0.0001303, 0.0002029, 0.0002682, 0.0004815, 0.001437, 0.004719, 0.01328, 0.03024, 0.05782, 0.09671, 0.1485, 0.2107, 0.2892, 0.3723, 0.4705, 0.5785, 0.6885, 0.8155, 0.9028, 0.9944, 1.103, 1.197, 1.31, 1.431, 1.526, 1.58, 1.61, 1.624, 1.634, 1.649, 1.729, 1.824] # Parameters for encode/LevelScale: # ============================================================================== encode/LevelScale.keys_to_scale = ['specific_humidity'] encode/LevelScale.name = None encode/LevelScale.scales = \ [8.822e-05, 7.126e-05, 0.0001047, 0.0001858, 0.0007601, 0.002642, 0.007242, 0.01568, 0.02907, 0.04654, 0.07084, 0.09971, 0.1355, 0.1762, 0.2243, 0.2822, 0.3459, 0.4172, 0.471, 0.5286, 0.5932, 0.6682, 0.7546, 0.8532, 0.9553, 1.058, 1.164, 1.278, 1.401, 1.553, 1.709, 1.791] # Parameters for advance/MemoryVelocityAndValues: # ============================================================================== advance/MemoryVelocityAndValues.fields_to_include = None advance/MemoryVelocityAndValues.name = None # Parameters for decode/MlpUniform: # ============================================================================== decode/MlpUniform.activate_final = False decode/MlpUniform.activation = %ACTIVATION decode/MlpUniform.b_init = None decode/MlpUniform.b_init_final = None decode/MlpUniform.name = None decode/MlpUniform.num_hidden_layers = 0 decode/MlpUniform.num_hidden_units = %LAYER_SIZE decode/MlpUniform.w_init = None decode/MlpUniform.w_init_final = None decode/MlpUniform.with_bias = False # Parameters for encode/MlpUniform: # ============================================================================== encode/MlpUniform.activate_final = False encode/MlpUniform.activation = %ACTIVATION encode/MlpUniform.b_init = None encode/MlpUniform.b_init_final = None encode/MlpUniform.name = None encode/MlpUniform.num_hidden_layers = 0 encode/MlpUniform.num_hidden_units = 0 encode/MlpUniform.w_init = None encode/MlpUniform.w_init_final = None encode/MlpUniform.with_bias = True # Parameters for process/MlpUniform: # ============================================================================== process/MlpUniform.activate_final = False process/MlpUniform.activation = %ACTIVATION process/MlpUniform.b_init = None process/MlpUniform.b_init_final = None process/MlpUniform.name = None process/MlpUniform.num_hidden_layers = 3 process/MlpUniform.num_hidden_units = %LAYER_SIZE process/MlpUniform.w_init = None process/MlpUniform.w_init_final = None process/MlpUniform.with_bias = True # Parameters for surface_model_decode/MlpUniform: # ============================================================================== surface_model_decode/MlpUniform.activate_final = False surface_model_decode/MlpUniform.activation = %ACTIVATION surface_model_decode/MlpUniform.b_init = None surface_model_decode/MlpUniform.b_init_final = None surface_model_decode/MlpUniform.name = None surface_model_decode/MlpUniform.num_hidden_layers = 1 surface_model_decode/MlpUniform.num_hidden_units = %SURFACE_MODEL_LAYER_SIZE surface_model_decode/MlpUniform.w_init = None surface_model_decode/MlpUniform.w_init_final = None surface_model_decode/MlpUniform.with_bias = False # Parameters for surface_model_encode/MlpUniform: # ============================================================================== surface_model_encode/MlpUniform.activate_final = False surface_model_encode/MlpUniform.activation = %ACTIVATION surface_model_encode/MlpUniform.b_init = None surface_model_encode/MlpUniform.b_init_final = None surface_model_encode/MlpUniform.name = None surface_model_encode/MlpUniform.num_hidden_layers = 0 surface_model_encode/MlpUniform.num_hidden_units = 0 surface_model_encode/MlpUniform.w_init = None surface_model_encode/MlpUniform.w_init_final = None surface_model_encode/MlpUniform.with_bias = True # Parameters for surface_model_process/MlpUniform: # ============================================================================== surface_model_process/MlpUniform.activate_final = False surface_model_process/MlpUniform.activation = %ACTIVATION surface_model_process/MlpUniform.b_init = None surface_model_process/MlpUniform.b_init_final = None surface_model_process/MlpUniform.name = None surface_model_process/MlpUniform.num_hidden_layers = 3 surface_model_process/MlpUniform.num_hidden_units = %SURFACE_MODEL_LAYER_SIZE surface_model_process/MlpUniform.w_init = None surface_model_process/MlpUniform.w_init_final = None surface_model_process/MlpUniform.with_bias = True # Parameters for advance/ModalToNodalEmbedding: # ============================================================================== advance/ModalToNodalEmbedding.modal_to_nodal_features_module = \ @embedding_model/CombinedFeatures advance/ModalToNodalEmbedding.name = None advance/ModalToNodalEmbedding.nodal_mapping_module = @NodalVolumeMapping advance/ModalToNodalEmbedding.output_transform_module = @IdentityTransform # Parameters for sea_model/ModalToNodalEmbedding: # ============================================================================== sea_model/ModalToNodalEmbedding.modal_to_nodal_features_module = \ @sea_model/CombinedFeatures sea_model/ModalToNodalEmbedding.name = None sea_model/ModalToNodalEmbedding.nodal_mapping_module = @sea_model/NodalMapping sea_model/ModalToNodalEmbedding.output_transform_module = @IdentityTransform # Parameters for MoistPrimitiveEquationsWithCloudMoisture: # ============================================================================== MoistPrimitiveEquationsWithCloudMoisture.include_vertical_advection = True MoistPrimitiveEquationsWithCloudMoisture.name = None MoistPrimitiveEquationsWithCloudMoisture.orography_module = @LearnedOrography # Parameters for advance/NodalLandSeaIceEmbedding: # ============================================================================== advance/NodalLandSeaIceEmbedding.land_embedding = None advance/NodalLandSeaIceEmbedding.name = None advance/NodalLandSeaIceEmbedding.sea_embedding = @sea_model/ModalToNodalEmbedding advance/NodalLandSeaIceEmbedding.sea_ice_embedding = None advance/NodalLandSeaIceEmbedding.static_vars_ds_path = None # Parameters for NodalMapping: # ============================================================================== NodalMapping.name = None NodalMapping.tower_factory = @EpdTower # Parameters for sea_model/NodalMapping: # ============================================================================== sea_model/NodalMapping.name = None sea_model/NodalMapping.tower_factory = @surface_model/EpdTower # Parameters for NodalVolumeMapping: # ============================================================================== NodalVolumeMapping.name = None NodalVolumeMapping.tower_factory = @VerticalConvTower # Parameters for NullFeatures: # ============================================================================== NullFeatures.name = None # Parameters for PerVariableDataFilter: # ============================================================================== PerVariableDataFilter.name = None PerVariableDataFilter.per_variable_filters = \ {'divergence': @divergence/DataExponentialFilter, 'log_surface_pressure': @lsp/DataExponentialFilter, 'sim_time': @DataNoFilter, 'temperature_variation': @temperature_variation/DataExponentialFilter, 'tracers': {'specific_cloud_ice_water_content': @q/DataExponentialFilter, 'specific_cloud_liquid_water_content': @q/DataExponentialFilter, 'specific_humidity': @q/DataExponentialFilter}, 'vorticity': @vorticity/DataExponentialFilter} # Parameters for advance/PressureFeatures: # ============================================================================== advance/PressureFeatures.name = None # Parameters for embedding_model/PressureFeatures: # ============================================================================== embedding_model/PressureFeatures.name = None # Parameters for primitive_eq_specs_constructor: # ============================================================================== primitive_eq_specs_constructor.scale = @GET_ATMOSPHERIC_SCALE() # Parameters for primitive_eq_to_xarray: # ============================================================================== # None. # Parameters for PrimitiveToWeatherbenchDecoder: # ============================================================================== # None. # Parameters for advance/RadiationFeatures: # ============================================================================== advance/RadiationFeatures.name = None # Parameters for decoder_model/RadiationFeatures: # ============================================================================== decoder_model/RadiationFeatures.name = None # Parameters for encoder_data/RadiationFeatures: # ============================================================================== encoder_data/RadiationFeatures.name = None # Parameters for RealSphericalHarmonicsWithZeroImag: # ============================================================================== RealSphericalHarmonicsWithZeroImag.base_shape_multiple = %BASE_SHAPE_MULTIPLE RealSphericalHarmonicsWithZeroImag.reverse_einsum_arg_order = \ %REVERSE_EINSUM_ARG_ORDER RealSphericalHarmonicsWithZeroImag.stacked_fourier_transforms = None RealSphericalHarmonicsWithZeroImag.transform_precision = 'tensorfloat32' # Parameters for orography/RealSphericalHarmonicsWithZeroImag: # ============================================================================== orography/RealSphericalHarmonicsWithZeroImag.base_shape_multiple = \ %BASE_SHAPE_MULTIPLE orography/RealSphericalHarmonicsWithZeroImag.reverse_einsum_arg_order = \ %REVERSE_EINSUM_ARG_ORDER orography/RealSphericalHarmonicsWithZeroImag.stacked_fourier_transforms = None orography/RealSphericalHarmonicsWithZeroImag.transform_precision = 'tensorfloat32' # Parameters for dycore/SequentialStepFilter: # ============================================================================== dycore/SequentialStepFilter.filter_modules = \ (@dycore/ExponentialFilter, @stability/ExponentialFilter) dycore/SequentialStepFilter.name = None # Parameters for ml/SequentialStepFilter: # ============================================================================== ml/SequentialStepFilter.filter_modules = (@stability/ExponentialFilter,) ml/SequentialStepFilter.name = None # Parameters for advance/SequentialTransform: # ============================================================================== advance/SequentialTransform.name = None advance/SequentialTransform.transform_modules = \ (@advance/ShiftAndNormalize, @advance/InverseLevelScale, @advance/TruncateSigmaLevels, @SoftClip) # Parameters for decoder/SequentialTransform: # ============================================================================== decoder/SequentialTransform.name = None decoder/SequentialTransform.transform_modules = \ (@decoder/InverseShiftAndNormalize, @decoder/LevelScale) # Parameters for decoder_model/SequentialTransform: # ============================================================================== decoder_model/SequentialTransform.name = None decoder_model/SequentialTransform.transform_modules = \ (@decoder_model/ShiftAndNormalize, @decoder_model/InverseLevelScale, @decoder_model/TruncateSigmaLevels) # Parameters for div_curl_tendency_outputs/SequentialTransform: # ============================================================================== div_curl_tendency_outputs/SequentialTransform.name = None div_curl_tendency_outputs/SequentialTransform.transform_modules = \ (@div_curl_tendency_outputs/InverseShiftAndNormalize, @div_curl_tendency_outputs/LevelScale) # Parameters for encode/SequentialTransform: # ============================================================================== encode/SequentialTransform.name = None encode/SequentialTransform.transform_modules = \ (@encoder/InverseShiftAndNormalize, @encode/LevelScale) # Parameters for encoder_data/SequentialTransform: # ============================================================================== encoder_data/SequentialTransform.name = None encoder_data/SequentialTransform.transform_modules = \ (@encoder_data/ShiftAndNormalize, @encoder_data/InverseLevelScale) # Parameters for advance/ShiftAndNormalize: # ============================================================================== advance/ShiftAndNormalize.features_to_exclude = () advance/ShiftAndNormalize.global_scale = None advance/ShiftAndNormalize.name = None advance/ShiftAndNormalize.scales = \ {'CNN1D_0': 0.1, 'CNN1D_1': 0.1, 'CNN1D_10': 0.1, 'CNN1D_11': 0.1, 'CNN1D_12': 0.1, 'CNN1D_13': 0.1, 'CNN1D_14': 0.1, 'CNN1D_15': 0.1, 'CNN1D_16': 0.1, 'CNN1D_17': 0.1, 'CNN1D_18': 0.1, 'CNN1D_19': 0.1, 'CNN1D_2': 0.1, 'CNN1D_20': 0.1, 'CNN1D_21': 0.1, 'CNN1D_22': 0.1, 'CNN1D_23': 0.1, 'CNN1D_24': 0.1, 'CNN1D_25': 0.1, 'CNN1D_26': 0.1, 'CNN1D_27': 0.1, 'CNN1D_28': 0.1, 'CNN1D_29': 0.1, 'CNN1D_3': 0.1, 'CNN1D_30': 0.1, 'CNN1D_31': 0.1, 'CNN1D_32': 0.1, 'CNN1D_33': 0.1, 'CNN1D_34': 0.1, 'CNN1D_35': 0.1, 'CNN1D_36': 0.1, 'CNN1D_37': 0.1, 'CNN1D_38': 0.1, 'CNN1D_39': 0.1, 'CNN1D_4': 0.1, 'CNN1D_40': 0.1, 'CNN1D_41': 0.1, 'CNN1D_42': 0.1, 'CNN1D_43': 0.1, 'CNN1D_44': 0.1, 'CNN1D_45': 0.1, 'CNN1D_46': 0.1, 'CNN1D_47': 0.1, 'CNN1D_48': 0.1, 'CNN1D_49': 0.1, 'CNN1D_5': 0.1, 'CNN1D_50': 0.1, 'CNN1D_51': 0.1, 'CNN1D_52': 0.1, 'CNN1D_53': 0.1, 'CNN1D_54': 0.1, 'CNN1D_55': 0.1, 'CNN1D_56': 0.1, 'CNN1D_57': 0.1, 'CNN1D_58': 0.1, 'CNN1D_59': 0.1, 'CNN1D_6': 0.1, 'CNN1D_60': 0.1, 'CNN1D_61': 0.1, 'CNN1D_62': 0.1, 'CNN1D_63': 0.1, 'CNN1D_7': 0.1, 'CNN1D_8': 0.1, 'CNN1D_9': 0.1, 'cos_latitude': 0.3068, 'divergence': 0.1078, 'divergence_del2': 1825.0, 'divergence_dlat': 8.5, 'divergence_dlon': 8.842, 'geopotential_at_surface': 0.009579, 'geopotential_at_surface_del2': 28.66, 'geopotential_at_surface_dlat': 0.1882, 'geopotential_at_surface_dlon': 0.1564, 'land_sea_mask': 0.456, 'learned_positional_features': 1.0, 'log_surface_pressure': 0.1134, 'log_surface_pressure_del2': 264.6, 'log_surface_pressure_dlat': 1.656, 'log_surface_pressure_dlon': 1.645, 'memory_divergence': 0.1078, 'memory_log_surface_pressure': 0.1134, 'memory_specific_cloud_ice_water_content': 9.812e-06, 'memory_specific_cloud_liquid_water_content': 2.039e-05, 'memory_specific_humidity': 0.003305, 'memory_temperature_variation': 15.04, 'memory_u': 0.01489, 'memory_v': 0.01022, 'memory_vorticity': 0.2831, 'pressure': 1.644, 'radiation': 0.2862, 'sea_surface_temperature': 11.93, 'sin_latitude': 0.7064, 'specific_cloud_ice_water_content': 9.812e-06, 'specific_cloud_ice_water_content_del2': 0.08441, 'specific_cloud_ice_water_content_dlat': 0.0004684, 'specific_cloud_ice_water_content_dlon': 0.0004646, 'specific_cloud_liquid_water_content': 2.039e-05, 'specific_cloud_liquid_water_content_del2': 0.1802, 'specific_cloud_liquid_water_content_dlat': 0.0009877, 'specific_cloud_liquid_water_content_dlon': 0.0009565, 'specific_humidity': 0.003305, 'specific_humidity_del2': 4.442, 'specific_humidity_dlat': 0.0319, 'specific_humidity_dlon': 0.02678, 'surface_embedding': 1.0, 'temperature_variation': 15.04, 'temperature_variation_del2': 10460.0, 'temperature_variation_dlat': 82.59, 'temperature_variation_dlon': 77.07, 'u': 0.01489, 'u_del2': 18.46, 'u_dlat': 0.2197, 'u_dlon': 0.1677, 'v': 0.01022, 'v_del2': 17.2, 'v_dlat': 0.169, 'v_dlon': 0.2083, 'vorticity': 0.2831, 'vorticity_del2': 2831.0, 'vorticity_dlat': 14.96, 'vorticity_dlon': 14.91} advance/ShiftAndNormalize.shifts = \ {'CNN1D_0': 0.0, 'CNN1D_1': 0.0, 'CNN1D_10': 0.0, 'CNN1D_11': 0.0, 'CNN1D_12': 0.0, 'CNN1D_13': 0.0, 'CNN1D_14': 0.0, 'CNN1D_15': 0.0, 'CNN1D_16': 0.0, 'CNN1D_17': 0.0, 'CNN1D_18': 0.0, 'CNN1D_19': 0.0, 'CNN1D_2': 0.0, 'CNN1D_20': 0.0, 'CNN1D_21': 0.0, 'CNN1D_22': 0.0, 'CNN1D_23': 0.0, 'CNN1D_24': 0.0, 'CNN1D_25': 0.0, 'CNN1D_26': 0.0, 'CNN1D_27': 0.0, 'CNN1D_28': 0.0, 'CNN1D_29': 0.0, 'CNN1D_3': 0.0, 'CNN1D_30': 0.0, 'CNN1D_31': 0.0, 'CNN1D_32': 0.0, 'CNN1D_33': 0.0, 'CNN1D_34': 0.0, 'CNN1D_35': 0.0, 'CNN1D_36': 0.0, 'CNN1D_37': 0.0, 'CNN1D_38': 0.0, 'CNN1D_39': 0.0, 'CNN1D_4': 0.0, 'CNN1D_40': 0.0, 'CNN1D_41': 0.0, 'CNN1D_42': 0.0, 'CNN1D_43': 0.0, 'CNN1D_44': 0.0, 'CNN1D_45': 0.0, 'CNN1D_46': 0.0, 'CNN1D_47': 0.0, 'CNN1D_48': 0.0, 'CNN1D_49': 0.0, 'CNN1D_5': 0.0, 'CNN1D_50': 0.0, 'CNN1D_51': 0.0, 'CNN1D_52': 0.0, 'CNN1D_53': 0.0, 'CNN1D_54': 0.0, 'CNN1D_55': 0.0, 'CNN1D_56': 0.0, 'CNN1D_57': 0.0, 'CNN1D_58': 0.0, 'CNN1D_59': 0.0, 'CNN1D_6': 0.0, 'CNN1D_60': 0.0, 'CNN1D_61': 0.0, 'CNN1D_62': 0.0, 'CNN1D_63': 0.0, 'CNN1D_7': 0.0, 'CNN1D_8': 0.0, 'CNN1D_9': 0.0, 'cos_latitude': 0.638, 'divergence': -0.0, 'divergence_del2': -0.015, 'divergence_dlat': -0.001, 'divergence_dlon': 0.0, 'geopotential_at_surface': 0.004, 'geopotential_at_surface_del2': -0.048, 'geopotential_at_surface_dlat': -0.01, 'geopotential_at_surface_dlon': -0.0, 'land_sea_mask': 0.335, 'learned_positional_features': 0.0, 'log_surface_pressure': 1.715, 'log_surface_pressure_del2': 0.59, 'log_surface_pressure_dlat': 0.126, 'log_surface_pressure_dlon': 0.0, 'memory_divergence': -0.0, 'memory_log_surface_pressure': 1.715, 'memory_specific_cloud_ice_water_content': 0.0, 'memory_specific_cloud_liquid_water_content': 0.0, 'memory_specific_humidity': 0.0, 'memory_temperature_variation': -4.98, 'memory_u': 0.007, 'memory_v': -0.0, 'memory_vorticity': -0.002, 'pressure': 2.796, 'radiation': 0.213, 'sea_surface_temperature': 285.14, 'sin_latitude': -0.0, 'specific_cloud_ice_water_content': 0.0, 'specific_cloud_ice_water_content_del2': 0.0, 'specific_cloud_ice_water_content_dlat': 0.0, 'specific_cloud_ice_water_content_dlon': -0.0, 'specific_cloud_liquid_water_content': 0.0, 'specific_cloud_liquid_water_content_del2': -0.0, 'specific_cloud_liquid_water_content_dlat': 0.0, 'specific_cloud_liquid_water_content_dlon': -0.0, 'specific_humidity': 0.0, 'specific_humidity_del2': 0.0, 'specific_humidity_dlat': 0.0, 'specific_humidity_dlon': 0.0, 'surface_embedding': 0.0, 'temperature_variation': -4.98, 'temperature_variation_del2': 43.608, 'temperature_variation_dlat': 4.843, 'temperature_variation_dlon': 0.0, 'u': 0.007, 'u_del2': 0.242, 'u_dlat': 0.002, 'u_dlon': 0.0, 'v': -0.0, 'v_del2': -0.0, 'v_dlat': -0.0, 'v_dlon': 0.0, 'vorticity': -0.002, 'vorticity_del2': -0.365, 'vorticity_dlat': 0.041, 'vorticity_dlon': 0.0} # Parameters for decoder_model/ShiftAndNormalize: # ============================================================================== decoder_model/ShiftAndNormalize.features_to_exclude = () decoder_model/ShiftAndNormalize.global_scale = None decoder_model/ShiftAndNormalize.name = None decoder_model/ShiftAndNormalize.scales = \ {'CNN1D_0': 0.1, 'CNN1D_1': 0.1, 'CNN1D_10': 0.1, 'CNN1D_11': 0.1, 'CNN1D_12': 0.1, 'CNN1D_13': 0.1, 'CNN1D_14': 0.1, 'CNN1D_15': 0.1, 'CNN1D_16': 0.1, 'CNN1D_17': 0.1, 'CNN1D_18': 0.1, 'CNN1D_19': 0.1, 'CNN1D_2': 0.1, 'CNN1D_20': 0.1, 'CNN1D_21': 0.1, 'CNN1D_22': 0.1, 'CNN1D_23': 0.1, 'CNN1D_24': 0.1, 'CNN1D_25': 0.1, 'CNN1D_26': 0.1, 'CNN1D_27': 0.1, 'CNN1D_28': 0.1, 'CNN1D_29': 0.1, 'CNN1D_3': 0.1, 'CNN1D_30': 0.1, 'CNN1D_31': 0.1, 'CNN1D_32': 0.1, 'CNN1D_33': 0.1, 'CNN1D_34': 0.1, 'CNN1D_35': 0.1, 'CNN1D_36': 0.1, 'CNN1D_37': 0.1, 'CNN1D_38': 0.1, 'CNN1D_39': 0.1, 'CNN1D_4': 0.1, 'CNN1D_40': 0.1, 'CNN1D_41': 0.1, 'CNN1D_42': 0.1, 'CNN1D_43': 0.1, 'CNN1D_44': 0.1, 'CNN1D_45': 0.1, 'CNN1D_46': 0.1, 'CNN1D_47': 0.1, 'CNN1D_48': 0.1, 'CNN1D_49': 0.1, 'CNN1D_5': 0.1, 'CNN1D_50': 0.1, 'CNN1D_51': 0.1, 'CNN1D_52': 0.1, 'CNN1D_53': 0.1, 'CNN1D_54': 0.1, 'CNN1D_55': 0.1, 'CNN1D_56': 0.1, 'CNN1D_57': 0.1, 'CNN1D_58': 0.1, 'CNN1D_59': 0.1, 'CNN1D_6': 0.1, 'CNN1D_60': 0.1, 'CNN1D_61': 0.1, 'CNN1D_62': 0.1, 'CNN1D_63': 0.1, 'CNN1D_7': 0.1, 'CNN1D_8': 0.1, 'CNN1D_9': 0.1, 'cos_latitude': 0.3068, 'divergence': 0.1078, 'divergence_del2': 1825.0, 'divergence_dlat': 8.5, 'divergence_dlon': 8.842, 'geopotential_at_surface': 0.009579, 'geopotential_at_surface_del2': 28.66, 'geopotential_at_surface_dlat': 0.1882, 'geopotential_at_surface_dlon': 0.1564, 'land_sea_mask': 0.456, 'learned_positional_features': 1.0, 'log_surface_pressure': 0.1134, 'log_surface_pressure_del2': 264.6, 'log_surface_pressure_dlat': 1.656, 'log_surface_pressure_dlon': 1.645, 'memory_divergence': 0.1078, 'memory_log_surface_pressure': 0.1134, 'memory_specific_cloud_ice_water_content': 9.812e-06, 'memory_specific_cloud_liquid_water_content': 2.039e-05, 'memory_specific_humidity': 0.003305, 'memory_temperature_variation': 15.04, 'memory_u': 0.01489, 'memory_v': 0.01022, 'memory_vorticity': 0.2831, 'pressure': 1.644, 'radiation': 0.2862, 'sea_surface_temperature': 11.93, 'sin_latitude': 0.7064, 'specific_cloud_ice_water_content': 9.812e-06, 'specific_cloud_ice_water_content_del2': 0.08441, 'specific_cloud_ice_water_content_dlat': 0.0004684, 'specific_cloud_ice_water_content_dlon': 0.0004646, 'specific_cloud_liquid_water_content': 2.039e-05, 'specific_cloud_liquid_water_content_del2': 0.1802, 'specific_cloud_liquid_water_content_dlat': 0.0009877, 'specific_cloud_liquid_water_content_dlon': 0.0009565, 'specific_humidity': 0.003305, 'specific_humidity_del2': 4.442, 'specific_humidity_dlat': 0.0319, 'specific_humidity_dlon': 0.02678, 'surface_embedding': 1.0, 'temperature_variation': 15.04, 'temperature_variation_del2': 10460.0, 'temperature_variation_dlat': 82.59, 'temperature_variation_dlon': 77.07, 'u': 0.01489, 'u_del2': 18.46, 'u_dlat': 0.2197, 'u_dlon': 0.1677, 'v': 0.01022, 'v_del2': 17.2, 'v_dlat': 0.169, 'v_dlon': 0.2083, 'vorticity': 0.2831, 'vorticity_del2': 2831.0, 'vorticity_dlat': 14.96, 'vorticity_dlon': 14.91} decoder_model/ShiftAndNormalize.shifts = \ {'CNN1D_0': 0.0, 'CNN1D_1': 0.0, 'CNN1D_10': 0.0, 'CNN1D_11': 0.0, 'CNN1D_12': 0.0, 'CNN1D_13': 0.0, 'CNN1D_14': 0.0, 'CNN1D_15': 0.0, 'CNN1D_16': 0.0, 'CNN1D_17': 0.0, 'CNN1D_18': 0.0, 'CNN1D_19': 0.0, 'CNN1D_2': 0.0, 'CNN1D_20': 0.0, 'CNN1D_21': 0.0, 'CNN1D_22': 0.0, 'CNN1D_23': 0.0, 'CNN1D_24': 0.0, 'CNN1D_25': 0.0, 'CNN1D_26': 0.0, 'CNN1D_27': 0.0, 'CNN1D_28': 0.0, 'CNN1D_29': 0.0, 'CNN1D_3': 0.0, 'CNN1D_30': 0.0, 'CNN1D_31': 0.0, 'CNN1D_32': 0.0, 'CNN1D_33': 0.0, 'CNN1D_34': 0.0, 'CNN1D_35': 0.0, 'CNN1D_36': 0.0, 'CNN1D_37': 0.0, 'CNN1D_38': 0.0, 'CNN1D_39': 0.0, 'CNN1D_4': 0.0, 'CNN1D_40': 0.0, 'CNN1D_41': 0.0, 'CNN1D_42': 0.0, 'CNN1D_43': 0.0, 'CNN1D_44': 0.0, 'CNN1D_45': 0.0, 'CNN1D_46': 0.0, 'CNN1D_47': 0.0, 'CNN1D_48': 0.0, 'CNN1D_49': 0.0, 'CNN1D_5': 0.0, 'CNN1D_50': 0.0, 'CNN1D_51': 0.0, 'CNN1D_52': 0.0, 'CNN1D_53': 0.0, 'CNN1D_54': 0.0, 'CNN1D_55': 0.0, 'CNN1D_56': 0.0, 'CNN1D_57': 0.0, 'CNN1D_58': 0.0, 'CNN1D_59': 0.0, 'CNN1D_6': 0.0, 'CNN1D_60': 0.0, 'CNN1D_61': 0.0, 'CNN1D_62': 0.0, 'CNN1D_63': 0.0, 'CNN1D_7': 0.0, 'CNN1D_8': 0.0, 'CNN1D_9': 0.0, 'cos_latitude': 0.638, 'divergence': -0.0, 'divergence_del2': -0.015, 'divergence_dlat': -0.001, 'divergence_dlon': 0.0, 'geopotential_at_surface': 0.004, 'geopotential_at_surface_del2': -0.048, 'geopotential_at_surface_dlat': -0.01, 'geopotential_at_surface_dlon': -0.0, 'land_sea_mask': 0.335, 'learned_positional_features': 0.0, 'log_surface_pressure': 1.715, 'log_surface_pressure_del2': 0.59, 'log_surface_pressure_dlat': 0.126, 'log_surface_pressure_dlon': 0.0, 'memory_divergence': -0.0, 'memory_log_surface_pressure': 1.715, 'memory_specific_cloud_ice_water_content': 0.0, 'memory_specific_cloud_liquid_water_content': 0.0, 'memory_specific_humidity': 0.0, 'memory_temperature_variation': -4.98, 'memory_u': 0.007, 'memory_v': -0.0, 'memory_vorticity': -0.002, 'pressure': 2.796, 'radiation': 0.213, 'sea_surface_temperature': 285.14, 'sin_latitude': -0.0, 'specific_cloud_ice_water_content': 0.0, 'specific_cloud_ice_water_content_del2': 0.0, 'specific_cloud_ice_water_content_dlat': 0.0, 'specific_cloud_ice_water_content_dlon': -0.0, 'specific_cloud_liquid_water_content': 0.0, 'specific_cloud_liquid_water_content_del2': -0.0, 'specific_cloud_liquid_water_content_dlat': 0.0, 'specific_cloud_liquid_water_content_dlon': -0.0, 'specific_humidity': 0.0, 'specific_humidity_del2': 0.0, 'specific_humidity_dlat': 0.0, 'specific_humidity_dlon': 0.0, 'surface_embedding': 0.0, 'temperature_variation': -4.98, 'temperature_variation_del2': 43.608, 'temperature_variation_dlat': 4.843, 'temperature_variation_dlon': 0.0, 'u': 0.007, 'u_del2': 0.242, 'u_dlat': 0.002, 'u_dlon': 0.0, 'v': -0.0, 'v_del2': -0.0, 'v_dlat': -0.0, 'v_dlon': 0.0, 'vorticity': -0.002, 'vorticity_del2': -0.365, 'vorticity_dlat': 0.041, 'vorticity_dlon': 0.0} # Parameters for embedding_model/ShiftAndNormalize: # ============================================================================== embedding_model/ShiftAndNormalize.features_to_exclude = () embedding_model/ShiftAndNormalize.global_scale = None embedding_model/ShiftAndNormalize.name = None embedding_model/ShiftAndNormalize.scales = \ {'CNN1D_0': 0.1, 'CNN1D_1': 0.1, 'CNN1D_10': 0.1, 'CNN1D_11': 0.1, 'CNN1D_12': 0.1, 'CNN1D_13': 0.1, 'CNN1D_14': 0.1, 'CNN1D_15': 0.1, 'CNN1D_16': 0.1, 'CNN1D_17': 0.1, 'CNN1D_18': 0.1, 'CNN1D_19': 0.1, 'CNN1D_2': 0.1, 'CNN1D_20': 0.1, 'CNN1D_21': 0.1, 'CNN1D_22': 0.1, 'CNN1D_23': 0.1, 'CNN1D_24': 0.1, 'CNN1D_25': 0.1, 'CNN1D_26': 0.1, 'CNN1D_27': 0.1, 'CNN1D_28': 0.1, 'CNN1D_29': 0.1, 'CNN1D_3': 0.1, 'CNN1D_30': 0.1, 'CNN1D_31': 0.1, 'CNN1D_32': 0.1, 'CNN1D_33': 0.1, 'CNN1D_34': 0.1, 'CNN1D_35': 0.1, 'CNN1D_36': 0.1, 'CNN1D_37': 0.1, 'CNN1D_38': 0.1, 'CNN1D_39': 0.1, 'CNN1D_4': 0.1, 'CNN1D_40': 0.1, 'CNN1D_41': 0.1, 'CNN1D_42': 0.1, 'CNN1D_43': 0.1, 'CNN1D_44': 0.1, 'CNN1D_45': 0.1, 'CNN1D_46': 0.1, 'CNN1D_47': 0.1, 'CNN1D_48': 0.1, 'CNN1D_49': 0.1, 'CNN1D_5': 0.1, 'CNN1D_50': 0.1, 'CNN1D_51': 0.1, 'CNN1D_52': 0.1, 'CNN1D_53': 0.1, 'CNN1D_54': 0.1, 'CNN1D_55': 0.1, 'CNN1D_56': 0.1, 'CNN1D_57': 0.1, 'CNN1D_58': 0.1, 'CNN1D_59': 0.1, 'CNN1D_6': 0.1, 'CNN1D_60': 0.1, 'CNN1D_61': 0.1, 'CNN1D_62': 0.1, 'CNN1D_63': 0.1, 'CNN1D_7': 0.1, 'CNN1D_8': 0.1, 'CNN1D_9': 0.1, 'cos_latitude': 0.3068, 'divergence': 0.1078, 'divergence_del2': 1825.0, 'divergence_dlat': 8.5, 'divergence_dlon': 8.842, 'geopotential_at_surface': 0.009579, 'geopotential_at_surface_del2': 28.66, 'geopotential_at_surface_dlat': 0.1882, 'geopotential_at_surface_dlon': 0.1564, 'land_sea_mask': 0.456, 'learned_positional_features': 1.0, 'log_surface_pressure': 0.1134, 'log_surface_pressure_del2': 264.6, 'log_surface_pressure_dlat': 1.656, 'log_surface_pressure_dlon': 1.645, 'memory_divergence': 0.1078, 'memory_log_surface_pressure': 0.1134, 'memory_specific_cloud_ice_water_content': 9.812e-06, 'memory_specific_cloud_liquid_water_content': 2.039e-05, 'memory_specific_humidity': 0.003305, 'memory_temperature_variation': 15.04, 'memory_u': 0.01489, 'memory_v': 0.01022, 'memory_vorticity': 0.2831, 'pressure': 1.644, 'radiation': 0.2862, 'sea_surface_temperature': 11.93, 'sin_latitude': 0.7064, 'specific_cloud_ice_water_content': 9.812e-06, 'specific_cloud_ice_water_content_del2': 0.08441, 'specific_cloud_ice_water_content_dlat': 0.0004684, 'specific_cloud_ice_water_content_dlon': 0.0004646, 'specific_cloud_liquid_water_content': 2.039e-05, 'specific_cloud_liquid_water_content_del2': 0.1802, 'specific_cloud_liquid_water_content_dlat': 0.0009877, 'specific_cloud_liquid_water_content_dlon': 0.0009565, 'specific_humidity': 0.003305, 'specific_humidity_del2': 4.442, 'specific_humidity_dlat': 0.0319, 'specific_humidity_dlon': 0.02678, 'surface_embedding': 1.0, 'temperature_variation': 15.04, 'temperature_variation_del2': 10460.0, 'temperature_variation_dlat': 82.59, 'temperature_variation_dlon': 77.07, 'u': 0.01489, 'u_del2': 18.46, 'u_dlat': 0.2197, 'u_dlon': 0.1677, 'v': 0.01022, 'v_del2': 17.2, 'v_dlat': 0.169, 'v_dlon': 0.2083, 'vorticity': 0.2831, 'vorticity_del2': 2831.0, 'vorticity_dlat': 14.96, 'vorticity_dlon': 14.91} embedding_model/ShiftAndNormalize.shifts = \ {'CNN1D_0': 0.0, 'CNN1D_1': 0.0, 'CNN1D_10': 0.0, 'CNN1D_11': 0.0, 'CNN1D_12': 0.0, 'CNN1D_13': 0.0, 'CNN1D_14': 0.0, 'CNN1D_15': 0.0, 'CNN1D_16': 0.0, 'CNN1D_17': 0.0, 'CNN1D_18': 0.0, 'CNN1D_19': 0.0, 'CNN1D_2': 0.0, 'CNN1D_20': 0.0, 'CNN1D_21': 0.0, 'CNN1D_22': 0.0, 'CNN1D_23': 0.0, 'CNN1D_24': 0.0, 'CNN1D_25': 0.0, 'CNN1D_26': 0.0, 'CNN1D_27': 0.0, 'CNN1D_28': 0.0, 'CNN1D_29': 0.0, 'CNN1D_3': 0.0, 'CNN1D_30': 0.0, 'CNN1D_31': 0.0, 'CNN1D_32': 0.0, 'CNN1D_33': 0.0, 'CNN1D_34': 0.0, 'CNN1D_35': 0.0, 'CNN1D_36': 0.0, 'CNN1D_37': 0.0, 'CNN1D_38': 0.0, 'CNN1D_39': 0.0, 'CNN1D_4': 0.0, 'CNN1D_40': 0.0, 'CNN1D_41': 0.0, 'CNN1D_42': 0.0, 'CNN1D_43': 0.0, 'CNN1D_44': 0.0, 'CNN1D_45': 0.0, 'CNN1D_46': 0.0, 'CNN1D_47': 0.0, 'CNN1D_48': 0.0, 'CNN1D_49': 0.0, 'CNN1D_5': 0.0, 'CNN1D_50': 0.0, 'CNN1D_51': 0.0, 'CNN1D_52': 0.0, 'CNN1D_53': 0.0, 'CNN1D_54': 0.0, 'CNN1D_55': 0.0, 'CNN1D_56': 0.0, 'CNN1D_57': 0.0, 'CNN1D_58': 0.0, 'CNN1D_59': 0.0, 'CNN1D_6': 0.0, 'CNN1D_60': 0.0, 'CNN1D_61': 0.0, 'CNN1D_62': 0.0, 'CNN1D_63': 0.0, 'CNN1D_7': 0.0, 'CNN1D_8': 0.0, 'CNN1D_9': 0.0, 'cos_latitude': 0.638, 'divergence': -0.0, 'divergence_del2': -0.015, 'divergence_dlat': -0.001, 'divergence_dlon': 0.0, 'geopotential_at_surface': 0.004, 'geopotential_at_surface_del2': -0.048, 'geopotential_at_surface_dlat': -0.01, 'geopotential_at_surface_dlon': -0.0, 'land_sea_mask': 0.335, 'learned_positional_features': 0.0, 'log_surface_pressure': 1.715, 'log_surface_pressure_del2': 0.59, 'log_surface_pressure_dlat': 0.126, 'log_surface_pressure_dlon': 0.0, 'memory_divergence': -0.0, 'memory_log_surface_pressure': 1.715, 'memory_specific_cloud_ice_water_content': 0.0, 'memory_specific_cloud_liquid_water_content': 0.0, 'memory_specific_humidity': 0.0, 'memory_temperature_variation': -4.98, 'memory_u': 0.007, 'memory_v': -0.0, 'memory_vorticity': -0.002, 'pressure': 2.796, 'radiation': 0.213, 'sea_surface_temperature': 285.14, 'sin_latitude': -0.0, 'specific_cloud_ice_water_content': 0.0, 'specific_cloud_ice_water_content_del2': 0.0, 'specific_cloud_ice_water_content_dlat': 0.0, 'specific_cloud_ice_water_content_dlon': -0.0, 'specific_cloud_liquid_water_content': 0.0, 'specific_cloud_liquid_water_content_del2': -0.0, 'specific_cloud_liquid_water_content_dlat': 0.0, 'specific_cloud_liquid_water_content_dlon': -0.0, 'specific_humidity': 0.0, 'specific_humidity_del2': 0.0, 'specific_humidity_dlat': 0.0, 'specific_humidity_dlon': 0.0, 'surface_embedding': 0.0, 'temperature_variation': -4.98, 'temperature_variation_del2': 43.608, 'temperature_variation_dlat': 4.843, 'temperature_variation_dlon': 0.0, 'u': 0.007, 'u_del2': 0.242, 'u_dlat': 0.002, 'u_dlon': 0.0, 'v': -0.0, 'v_del2': -0.0, 'v_dlat': -0.0, 'v_dlon': 0.0, 'vorticity': -0.002, 'vorticity_del2': -0.365, 'vorticity_dlat': 0.041, 'vorticity_dlon': 0.0} # Parameters for encoder_data/ShiftAndNormalize: # ============================================================================== encoder_data/ShiftAndNormalize.features_to_exclude = () encoder_data/ShiftAndNormalize.global_scale = None encoder_data/ShiftAndNormalize.name = None encoder_data/ShiftAndNormalize.scales = \ {'cos_latitude': 0.3068, 'geopotential_at_surface': 0.009579, 'geopotential_at_surface_del2': 28.66, 'geopotential_at_surface_dlat': 0.1882, 'geopotential_at_surface_dlon': 0.1564, 'land_sea_mask': 0.456, 'learned_positional_features': 1.0, 'radiation': 0.2862, 'sin_latitude': 0.7064, 'specific_cloud_ice_water_content': 8.255e-06, 'specific_cloud_ice_water_content_del2': 0.09943, 'specific_cloud_ice_water_content_dlat': 0.0005741, 'specific_cloud_ice_water_content_dlon': 0.0004452, 'specific_cloud_liquid_water_content': 2.182e-05, 'specific_cloud_liquid_water_content_del2': 0.2881, 'specific_cloud_liquid_water_content_dlat': 0.001674, 'specific_cloud_liquid_water_content_dlon': 0.001224, 'specific_humidity': 0.003493, 'specific_humidity_del2': 5.716, 'specific_humidity_dlat': 0.0396, 'specific_humidity_dlon': 0.02857, 't': 27.99, 't_del2': 9788.0, 't_dlat': 71.14, 't_dlon': 62.14, 'u': 0.01935, 'u_del2': 27.4, 'u_dlat': 0.1876, 'u_dlon': 0.1712, 'v': 0.01038, 'v_del2': 27.11, 'v_dlat': 0.1326, 'v_dlon': 0.1998, 'z': 0.1496, 'z_del2': 0.6108, 'z_dlat': 0.01606, 'z_dlon': 0.009139} encoder_data/ShiftAndNormalize.shifts = \ {'cos_latitude': 0.638, 'geopotential_at_surface': 0.004, 'geopotential_at_surface_del2': -0.048, 'geopotential_at_surface_dlat': -0.01, 'geopotential_at_surface_dlon': -0.0, 'land_sea_mask': 0.335, 'learned_positional_features': 0.0, 'radiation': 0.213, 'sin_latitude': -0.0, 'specific_cloud_ice_water_content': 0.0, 'specific_cloud_ice_water_content_del2': -0.0, 'specific_cloud_ice_water_content_dlat': 0.0, 'specific_cloud_ice_water_content_dlon': 0.0, 'specific_cloud_liquid_water_content': 0.0, 'specific_cloud_liquid_water_content_del2': -0.0, 'specific_cloud_liquid_water_content_dlat': 0.0, 'specific_cloud_liquid_water_content_dlon': 0.0, 'specific_humidity': 0.0, 'specific_humidity_del2': 0.0, 'specific_humidity_dlat': 0.0, 'specific_humidity_dlon': 0.0, 't': 247.045, 't_del2': 37.572, 't_dlat': 1.755, 't_dlon': -0.0, 'u': 0.007, 'u_del2': 0.056, 'u_dlat': 0.0, 'u_dlon': 0.0, 'v': 0.0, 'v_del2': 0.008, 'v_dlat': 0.0, 'v_dlon': -0.0, 'z': 0.145, 'z_del2': 0.011, 'z_dlat': 0.001, 'z_dlon': 0.0} # Parameters for sea_model/ShiftAndNormalize: # ============================================================================== sea_model/ShiftAndNormalize.features_to_exclude = () sea_model/ShiftAndNormalize.global_scale = None sea_model/ShiftAndNormalize.name = None sea_model/ShiftAndNormalize.scales = \ {'CNN1D_0': 0.1, 'CNN1D_1': 0.1, 'CNN1D_10': 0.1, 'CNN1D_11': 0.1, 'CNN1D_12': 0.1, 'CNN1D_13': 0.1, 'CNN1D_14': 0.1, 'CNN1D_15': 0.1, 'CNN1D_16': 0.1, 'CNN1D_17': 0.1, 'CNN1D_18': 0.1, 'CNN1D_19': 0.1, 'CNN1D_2': 0.1, 'CNN1D_20': 0.1, 'CNN1D_21': 0.1, 'CNN1D_22': 0.1, 'CNN1D_23': 0.1, 'CNN1D_24': 0.1, 'CNN1D_25': 0.1, 'CNN1D_26': 0.1, 'CNN1D_27': 0.1, 'CNN1D_28': 0.1, 'CNN1D_29': 0.1, 'CNN1D_3': 0.1, 'CNN1D_30': 0.1, 'CNN1D_31': 0.1, 'CNN1D_32': 0.1, 'CNN1D_33': 0.1, 'CNN1D_34': 0.1, 'CNN1D_35': 0.1, 'CNN1D_36': 0.1, 'CNN1D_37': 0.1, 'CNN1D_38': 0.1, 'CNN1D_39': 0.1, 'CNN1D_4': 0.1, 'CNN1D_40': 0.1, 'CNN1D_41': 0.1, 'CNN1D_42': 0.1, 'CNN1D_43': 0.1, 'CNN1D_44': 0.1, 'CNN1D_45': 0.1, 'CNN1D_46': 0.1, 'CNN1D_47': 0.1, 'CNN1D_48': 0.1, 'CNN1D_49': 0.1, 'CNN1D_5': 0.1, 'CNN1D_50': 0.1, 'CNN1D_51': 0.1, 'CNN1D_52': 0.1, 'CNN1D_53': 0.1, 'CNN1D_54': 0.1, 'CNN1D_55': 0.1, 'CNN1D_56': 0.1, 'CNN1D_57': 0.1, 'CNN1D_58': 0.1, 'CNN1D_59': 0.1, 'CNN1D_6': 0.1, 'CNN1D_60': 0.1, 'CNN1D_61': 0.1, 'CNN1D_62': 0.1, 'CNN1D_63': 0.1, 'CNN1D_7': 0.1, 'CNN1D_8': 0.1, 'CNN1D_9': 0.1, 'cos_latitude': 0.3068, 'divergence': 0.1078, 'divergence_del2': 1825.0, 'divergence_dlat': 8.5, 'divergence_dlon': 8.842, 'geopotential_at_surface': 0.009579, 'geopotential_at_surface_del2': 28.66, 'geopotential_at_surface_dlat': 0.1882, 'geopotential_at_surface_dlon': 0.1564, 'land_sea_mask': 0.456, 'learned_positional_features': 1.0, 'log_surface_pressure': 0.1134, 'log_surface_pressure_del2': 264.6, 'log_surface_pressure_dlat': 1.656, 'log_surface_pressure_dlon': 1.645, 'memory_divergence': 0.1078, 'memory_log_surface_pressure': 0.1134, 'memory_specific_cloud_ice_water_content': 9.812e-06, 'memory_specific_cloud_liquid_water_content': 2.039e-05, 'memory_specific_humidity': 0.003305, 'memory_temperature_variation': 15.04, 'memory_u': 0.01489, 'memory_v': 0.01022, 'memory_vorticity': 0.2831, 'pressure': 1.644, 'radiation': 0.2862, 'sea_surface_temperature': 11.93, 'sin_latitude': 0.7064, 'specific_cloud_ice_water_content': 9.812e-06, 'specific_cloud_ice_water_content_del2': 0.08441, 'specific_cloud_ice_water_content_dlat': 0.0004684, 'specific_cloud_ice_water_content_dlon': 0.0004646, 'specific_cloud_liquid_water_content': 2.039e-05, 'specific_cloud_liquid_water_content_del2': 0.1802, 'specific_cloud_liquid_water_content_dlat': 0.0009877, 'specific_cloud_liquid_water_content_dlon': 0.0009565, 'specific_humidity': 0.003305, 'specific_humidity_del2': 4.442, 'specific_humidity_dlat': 0.0319, 'specific_humidity_dlon': 0.02678, 'surface_embedding': 1.0, 'temperature_variation': 15.04, 'temperature_variation_del2': 10460.0, 'temperature_variation_dlat': 82.59, 'temperature_variation_dlon': 77.07, 'u': 0.01489, 'u_del2': 18.46, 'u_dlat': 0.2197, 'u_dlon': 0.1677, 'v': 0.01022, 'v_del2': 17.2, 'v_dlat': 0.169, 'v_dlon': 0.2083, 'vorticity': 0.2831, 'vorticity_del2': 2831.0, 'vorticity_dlat': 14.96, 'vorticity_dlon': 14.91} sea_model/ShiftAndNormalize.shifts = \ {'CNN1D_0': 0.0, 'CNN1D_1': 0.0, 'CNN1D_10': 0.0, 'CNN1D_11': 0.0, 'CNN1D_12': 0.0, 'CNN1D_13': 0.0, 'CNN1D_14': 0.0, 'CNN1D_15': 0.0, 'CNN1D_16': 0.0, 'CNN1D_17': 0.0, 'CNN1D_18': 0.0, 'CNN1D_19': 0.0, 'CNN1D_2': 0.0, 'CNN1D_20': 0.0, 'CNN1D_21': 0.0, 'CNN1D_22': 0.0, 'CNN1D_23': 0.0, 'CNN1D_24': 0.0, 'CNN1D_25': 0.0, 'CNN1D_26': 0.0, 'CNN1D_27': 0.0, 'CNN1D_28': 0.0, 'CNN1D_29': 0.0, 'CNN1D_3': 0.0, 'CNN1D_30': 0.0, 'CNN1D_31': 0.0, 'CNN1D_32': 0.0, 'CNN1D_33': 0.0, 'CNN1D_34': 0.0, 'CNN1D_35': 0.0, 'CNN1D_36': 0.0, 'CNN1D_37': 0.0, 'CNN1D_38': 0.0, 'CNN1D_39': 0.0, 'CNN1D_4': 0.0, 'CNN1D_40': 0.0, 'CNN1D_41': 0.0, 'CNN1D_42': 0.0, 'CNN1D_43': 0.0, 'CNN1D_44': 0.0, 'CNN1D_45': 0.0, 'CNN1D_46': 0.0, 'CNN1D_47': 0.0, 'CNN1D_48': 0.0, 'CNN1D_49': 0.0, 'CNN1D_5': 0.0, 'CNN1D_50': 0.0, 'CNN1D_51': 0.0, 'CNN1D_52': 0.0, 'CNN1D_53': 0.0, 'CNN1D_54': 0.0, 'CNN1D_55': 0.0, 'CNN1D_56': 0.0, 'CNN1D_57': 0.0, 'CNN1D_58': 0.0, 'CNN1D_59': 0.0, 'CNN1D_6': 0.0, 'CNN1D_60': 0.0, 'CNN1D_61': 0.0, 'CNN1D_62': 0.0, 'CNN1D_63': 0.0, 'CNN1D_7': 0.0, 'CNN1D_8': 0.0, 'CNN1D_9': 0.0, 'cos_latitude': 0.638, 'divergence': -0.0, 'divergence_del2': -0.015, 'divergence_dlat': -0.001, 'divergence_dlon': 0.0, 'geopotential_at_surface': 0.004, 'geopotential_at_surface_del2': -0.048, 'geopotential_at_surface_dlat': -0.01, 'geopotential_at_surface_dlon': -0.0, 'land_sea_mask': 0.335, 'learned_positional_features': 0.0, 'log_surface_pressure': 1.715, 'log_surface_pressure_del2': 0.59, 'log_surface_pressure_dlat': 0.126, 'log_surface_pressure_dlon': 0.0, 'memory_divergence': -0.0, 'memory_log_surface_pressure': 1.715, 'memory_specific_cloud_ice_water_content': 0.0, 'memory_specific_cloud_liquid_water_content': 0.0, 'memory_specific_humidity': 0.0, 'memory_temperature_variation': -4.98, 'memory_u': 0.007, 'memory_v': -0.0, 'memory_vorticity': -0.002, 'pressure': 2.796, 'radiation': 0.213, 'sea_surface_temperature': 285.14, 'sin_latitude': -0.0, 'specific_cloud_ice_water_content': 0.0, 'specific_cloud_ice_water_content_del2': 0.0, 'specific_cloud_ice_water_content_dlat': 0.0, 'specific_cloud_ice_water_content_dlon': -0.0, 'specific_cloud_liquid_water_content': 0.0, 'specific_cloud_liquid_water_content_del2': -0.0, 'specific_cloud_liquid_water_content_dlat': 0.0, 'specific_cloud_liquid_water_content_dlon': -0.0, 'specific_humidity': 0.0, 'specific_humidity_del2': 0.0, 'specific_humidity_dlat': 0.0, 'specific_humidity_dlon': 0.0, 'surface_embedding': 0.0, 'temperature_variation': -4.98, 'temperature_variation_del2': 43.608, 'temperature_variation_dlat': 4.843, 'temperature_variation_dlon': 0.0, 'u': 0.007, 'u_del2': 0.242, 'u_dlat': 0.002, 'u_dlon': 0.0, 'v': -0.0, 'v_del2': -0.0, 'v_dlat': -0.0, 'v_dlon': 0.0, 'vorticity': -0.002, 'vorticity_del2': -0.365, 'vorticity_dlat': 0.041, 'vorticity_dlon': 0.0} # Parameters for SigmaCoordinatesEquidistant: # ============================================================================== SigmaCoordinatesEquidistant.layers = %N_SIGMA_LAYERS # Parameters for custom_corrds/SigmaCoordinatesEquidistant: # ============================================================================== custom_corrds/SigmaCoordinatesEquidistant.layers = %N_SIGMA_LAYERS # Parameters for advance/SoftClip: # ============================================================================== advance/SoftClip.hinge_softness = 1.0 advance/SoftClip.max_value = 16 advance/SoftClip.name = None # Parameters for StochasticModularStepModel: # ============================================================================== StochasticModularStepModel.advance_module = @StochasticPhysicsParameterizationStep StochasticModularStepModel.decoder_module = \ @DimensionalLearnedPrimitiveToWeatherbenchDecoder StochasticModularStepModel.encoder_module = \ @DimensionalLearnedWeatherbenchToPrimitiveWithMemoryEncoder StochasticModularStepModel.forcing_module = @DynamicDataForcing StochasticModularStepModel.name = None # Parameters for StochasticPhysicsParameterizationStep: # ============================================================================== StochasticPhysicsParameterizationStep.checkpoint_substep = False StochasticPhysicsParameterizationStep.corrector_module = %CORRECTOR_MODULE StochasticPhysicsParameterizationStep.name = None StochasticPhysicsParameterizationStep.num_substeps = %NUM_SUBSTEPS StochasticPhysicsParameterizationStep.physics_parameterization_module = \ @DivCurlNeuralParameterization StochasticPhysicsParameterizationStep.randomness_module = @ZerosRandomField # Parameters for advance/ToModalDiffOperators: # ============================================================================== advance/ToModalDiffOperators.name = None # Parameters for encoder_data/ToModalDiffOperators: # ============================================================================== encoder_data/ToModalDiffOperators.name = None # Parameters for with_grads/ToModalDiffOperators: # ============================================================================== with_grads/ToModalDiffOperators.name = None # Parameters for trajectory_from_step: # ============================================================================== trajectory_from_step.checkpoint_multistep = False trajectory_from_step.checkpoint_post_process = True trajectory_from_step.checkpoint_step = True # Parameters for advance/TruncateSigmaLevels: # ============================================================================== advance/TruncateSigmaLevels.name = None advance/TruncateSigmaLevels.sigma_ranges = \ {'divergence': (0.0, 1), 'geopotential': (0.0, 1), 'specific_cloud_ice_water_content': (0.0, 1), 'specific_cloud_liquid_water_content': (0.0, 1), 'specific_humidity': (0.0, 1), 't': (0.0, 1), 'temperature_variation': (0.0, 1), 'u': (0.0, 1), 'u_component_of_wind': (0.0, 1), 'v': (0.0, 1), 'v_component_of_wind': (0.0, 1), 'vorticity': (0.0, 1), 'z': (0.0, 1)} # Parameters for decoder_model/TruncateSigmaLevels: # ============================================================================== decoder_model/TruncateSigmaLevels.name = None decoder_model/TruncateSigmaLevels.sigma_ranges = \ {'divergence': (0.0, 1), 'geopotential': (0.0, 1), 'specific_cloud_ice_water_content': (0.0, 1), 'specific_cloud_liquid_water_content': (0.0, 1), 'specific_humidity': (0.0, 1), 't': (0.0, 1), 'temperature_variation': (0.0, 1), 'u': (0.0, 1), 'u_component_of_wind': (0.0, 1), 'v': (0.0, 1), 'v_component_of_wind': (0.0, 1), 'vorticity': (0.0, 1), 'z': (0.0, 1)} # Parameters for advance/VelocityAndPrognostics: # ============================================================================== advance/VelocityAndPrognostics.compute_gradients_module = @ToModalDiffOperators advance/VelocityAndPrognostics.fields_to_include = \ ['divergence', 'vorticity', 'u', 'v', 'temperature_variation', 'log_surface_pressure', 'specific_humidity', 'specific_cloud_liquid_water_content', 'specific_cloud_ice_water_content'] advance/VelocityAndPrognostics.name = None # Parameters for embedding_model/VelocityAndPrognostics: # ============================================================================== embedding_model/VelocityAndPrognostics.fields_to_include = \ ['divergence', 'vorticity', 'u', 'v', 'temperature_variation', 'specific_humidity', 'specific_cloud_liquid_water_content', 'specific_cloud_ice_water_content'] embedding_model/VelocityAndPrognostics.name = None # Parameters for encoder_data/VelocityAndPrognostics: # ============================================================================== encoder_data/VelocityAndPrognostics.compute_gradients_module = \ @ToModalDiffOperators encoder_data/VelocityAndPrognostics.fields_to_include = \ ['u', 'v', 't', 'z', 'specific_humidity', 'specific_cloud_liquid_water_content', 'specific_cloud_ice_water_content'] encoder_data/VelocityAndPrognostics.name = None # Parameters for model/VelocityAndPrognostics: # ============================================================================== model/VelocityAndPrognostics.fields_to_include = None model/VelocityAndPrognostics.name = None # Parameters for VerticalConvTower: # ============================================================================== VerticalConvTower.activate_final = False VerticalConvTower.activation = %ACTIVATION VerticalConvTower.channels = [64, 64, 64, 64] VerticalConvTower.checkpoint_tower = True VerticalConvTower.kernel_shape = 5 VerticalConvTower.name = None VerticalConvTower.with_bias = True # Parameters for WhirlModel: # ============================================================================== WhirlModel.from_xarray_fn = @xarray_to_state_and_dynamic_covariate_data WhirlModel.model_cls = @StochasticModularStepModel WhirlModel.to_xarray_fn = @data_to_xarray_with_renaming # Parameters for xarray_to_data_with_renaming: # ============================================================================== xarray_to_data_with_renaming.renaming_dict = \ {'geopotential': 'z', 'latitude': 'lat', 'longitude': 'lon', 'temperature': 't', 'u_component_of_wind': 'u', 'v_component_of_wind': 'v'} xarray_to_data_with_renaming.xarray_to_data_fn = @xarray_to_weatherbench_data # Parameters for xarray_to_dynamic_covariate_data: # ============================================================================== xarray_to_dynamic_covariate_data.covariates_to_include = \ ('sea_ice_cover', 'sea_surface_temperature') # Parameters for xarray_to_state_and_dynamic_covariate_data: # ============================================================================== xarray_to_state_and_dynamic_covariate_data.values = 'values' xarray_to_state_and_dynamic_covariate_data.xarray_to_dynamic_covariate_data_fn = \ @xarray_to_dynamic_covariate_data xarray_to_state_and_dynamic_covariate_data.xarray_to_state_data_fn = \ @xarray_to_data_with_renaming # Parameters for xarray_to_weatherbench_data: # ============================================================================== xarray_to_weatherbench_data.diagnostics_to_include = () xarray_to_weatherbench_data.tracers_to_include = \ ('specific_humidity', 'specific_cloud_liquid_water_content', 'specific_cloud_ice_water_content') # Parameters for ZerosRandomField: # ============================================================================== ZerosRandomField.prefer_nodal = True