rollout_metrics_noisy_model
===========================

.. py:module:: rollout_metrics_noisy_model


Attributes
----------

.. autoapisummary::

   rollout_metrics_noisy_model.logger
   rollout_metrics_noisy_model.description


Classes
-------

.. autoapisummary::

   rollout_metrics_noisy_model.Objective


Functions
---------

.. autoapisummary::

   rollout_metrics_noisy_model.compute_spread_skill_metric
   rollout_metrics_noisy_model.compute_metrics
   rollout_metrics_noisy_model.calculate_ensemble_metrics
   rollout_metrics_noisy_model.predict


Module Contents
---------------

.. py:data:: logger

.. py:function:: compute_spread_skill_metric(all_files, ensemble_size)

.. py:function:: compute_metrics(metrics, y_pred, y, date_time, forecast_step, utc_datetime)

   Compute metrics and update metrics_results.


.. py:function:: calculate_ensemble_metrics(ensemble_preds, true_values)

   Calculate RMSE and STD per channel

   :param ensemble_preds: (n_members, batch, channels, 1, height, width)
   :param true_values: (1, batch, channels, 1, height, width)


.. py:function:: predict(rank, world_size, conf, backend=None, p=None, trial=None, num_samples=10)

.. py:class:: Objective(config, metric='val_loss', device='cpu')

   Bases: :py:obj:`echo.src.base_objective.BaseObjective`


   Optuna objective class for hyperparameter optimization.

   .. attribute:: config

      Configuration dictionary containing training parameters.

      :type: dict

   .. attribute:: metric

      Metric to optimize, defaults to "val_loss".

      :type: str

   .. attribute:: device

      Device for training, defaults to "cpu".

      :type: str


   .. py:method:: train(trial, conf)

      Train the model using the given trial configuration.

      :param trial: Optuna trial object.
      :type trial: optuna.trial.Trial
      :param conf: Configuration dictionary for the current trial.
      :type conf: dict

      :returns: The result of the training process.
      :rtype: Any



.. py:data:: description
   :value: 'Rollout AI-NWP forecasts'


