An error occurred while loading the file. Please try again.
-
Clement Remi authoreda684d56b
import numpy as np
from projects.projected_swe.abstract_weight_computer import AbstractWeightComputer
from projects.projected_swe.non_stationary_weight_computer import NllhWeightComputer
class KnuttiWeightComputer(AbstractWeightComputer):
def __init__(self, *args, sigma_D, **kwargs):
super().__init__(*args, **kwargs)
self.sigma_D = sigma_D
def compute_nllh_local(self, ensemble_fit, gcm_rcm_couple, massif_name, reference_study):
mean_maxima_reference = reference_study.massif_name_to_annual_maxima[massif_name].mean()
studies = ensemble_fit.gcm_rcm_couple_to_visualizer[gcm_rcm_couple].studies
study = studies.altitude_to_study[reference_study.altitude]
mean_maxima_couple = study.massif_name_to_annual_maxima[massif_name].mean()
ratio = (mean_maxima_couple - mean_maxima_reference) / self.sigma_D
proba = np.exp(-np.power(ratio, 2))
return -np.log(proba)
class MixedWeightComputer(NllhWeightComputer, KnuttiWeightComputer):
pass