diff --git a/.gitignore b/.gitignore index 427ab5f..dc47cf7 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ website/_build/ website/demo_notebooks website/evaluation website/figures -website/downstream_test +website/online_testing website/README.md .DS_Store @@ -85,6 +85,7 @@ target/ # Jupyter Notebook .ipynb_checkpoints +hu_notebooks/ # IPython profile_default/ diff --git a/README.md b/README.md index b3da7b3..0292435 100644 --- a/README.md +++ b/README.md @@ -26,10 +26,10 @@ We implement a range of deterministic and stochastic regression baselines to hig * [Multi-Layer Perceptron (MLP) Example](https://leap-stc.github.io/ClimSim/demo_notebooks/mlp_example.html) * [Convolutional Neural Network (CNN) Example](https://leap-stc.github.io/ClimSim/demo_notebooks/cnn_example.html) * [Water Conservation Example](https://leap-stc.github.io/ClimSim/demo_notebooks/water_conservation.html) - - ## Online Testing -* [Online Testing](https://github.com/leap-stc/ClimSim/tree/online_testing/downstream_test) +## Online Testing + +* [Online Testing](https://github.com/leap-stc/ClimSim/online_testing.html) ## Project Structure diff --git a/climsim_utils/data_utils.py b/climsim_utils/data_utils.py index d09c342..65e2666 100644 --- a/climsim_utils/data_utils.py +++ b/climsim_utils/data_utils.py @@ -15,6 +15,33 @@ MLBackendType = Literal["tensorflow", "pytorch"] +def eliq(T): + """ + Function taking temperature (in K) and outputting liquid saturation + pressure (in hPa) using a polynomial fit + """ + a_liq = np.array([-0.976195544e-15,-0.952447341e-13,0.640689451e-10, + 0.206739458e-7,0.302950461e-5,0.264847430e-3, + 0.142986287e-1,0.443987641,6.11239921]); + c_liq = -80 + T0 = 273.16 + return 100*np.polyval(a_liq,np.maximum(c_liq,T-T0)) + +def eice(T): + """ + Function taking temperature (in K) and outputting ice saturation + pressure (in hPa) using a polynomial fit + """ + a_ice = np.array([0.252751365e-14,0.146898966e-11,0.385852041e-9, + 0.602588177e-7,0.615021634e-5,0.420895665e-3, + 0.188439774e-1,0.503160820,6.11147274]); + c_ice = np.array([273.15,185,-100,0.00763685,0.000151069,7.48215e-07]) + T0 = 273.16 + return (T>c_ice[0])*eliq(T)+\ + (T<=c_ice[0])*(T>c_ice[1])*100*np.polyval(a_ice,T-T0)+\ + (T<=c_ice[1])*100*(c_ice[3]+np.maximum(c_ice[2],T-T0)*\ + (c_ice[4]+np.maximum(c_ice[2],T-T0)*c_ice[5])) + class data_utils: def __init__(self, grid_info, @@ -22,8 +49,17 @@ def __init__(self, input_max, input_min, output_scale, - ml_backend: MLBackendType = "tensorflow"): + ml_backend: MLBackendType = "tensorflow", + normalize = True, + input_abbrev = 'mli', + output_abbrev = 'mlo', + save_h5=False, + save_npy=True): + self.input_abbrev = input_abbrev + self.output_abbrev = output_abbrev self.data_path = None + self.save_h5 = save_h5 + self.save_npy = save_npy self.input_vars = [] self.target_vars = [] self.input_feature_len = None @@ -43,7 +79,7 @@ def __init__(self, self.input_max = input_max self.input_min = input_min self.output_scale = output_scale - self.normalize = True + self.normalize = normalize self.lats, self.lats_indices = np.unique(self.grid_info['lat'].values, return_index=True) self.lons, self.lons_indices = np.unique(self.grid_info['lon'].values, return_index=True) self.sort_lat_key = np.argsort(self.grid_info['lat'].values[np.sort(self.lats_indices)]) @@ -118,6 +154,7 @@ def find_keys(dictionary, value): self.test_filelist = None self.full_vars = False + self.full_vars_v5 = False # physical constants from E3SM_ROOT/share/util/shr_const_mod.F90 self.grav = 9.80616 # acceleration of gravity ~ m/s^2 @@ -176,7 +213,138 @@ def find_keys(dictionary, value): 'pbuf_ozone', # outside of the upper troposphere lower stratosphere (UTLS, corresponding to indices 5-21), variance in minimal for these last 3 'pbuf_CH4', 'pbuf_N2O'] + + self.v2_rh_inputs = ['state_t', + 'state_rh', + 'state_q0002', + 'state_q0003', + 'state_u', + 'state_v', + 'pbuf_ozone', # outside of the upper troposphere lower stratosphere (UTLS, corresponding to indices 5-21), variance in minimal for these last 3 + 'pbuf_CH4', + 'pbuf_N2O', + 'state_ps', + 'pbuf_SOLIN', + 'pbuf_LHFLX', + 'pbuf_SHFLX', + 'pbuf_TAUX', + 'pbuf_TAUY', + 'pbuf_COSZRS', + 'cam_in_ALDIF', + 'cam_in_ALDIR', + 'cam_in_ASDIF', + 'cam_in_ASDIR', + 'cam_in_LWUP', + 'cam_in_ICEFRAC', + 'cam_in_LANDFRAC', + 'cam_in_OCNFRAC', + 'cam_in_SNOWHICE', + 'cam_in_SNOWHLAND'] + + self.v4_inputs = ['state_t', + 'state_rh', + 'state_q0002', + 'state_q0003', + 'state_u', + 'state_v', + 'state_t_dyn', + 'state_q0_dyn', + 'state_u_dyn', + 'tm_state_t_dyn', + 'tm_state_q0_dyn', + 'tm_state_u_dyn', + 'state_t_prvphy', + 'state_q0001_prvphy', + 'state_q0002_prvphy', + 'state_q0003_prvphy', + 'state_u_prvphy', + 'tm_state_t_prvphy', + 'tm_state_q0001_prvphy', + 'tm_state_q0002_prvphy', + 'tm_state_q0003_prvphy', + 'tm_state_u_prvphy', + 'pbuf_ozone', # outside of the upper troposphere lower stratosphere (UTLS, corresponding to indices 5-21), variance in minimal for these last 3 + 'pbuf_CH4', + 'pbuf_N2O', + 'state_ps', + # 'pbuf_SOLIN_pm', + 'pbuf_SOLIN', + 'pbuf_LHFLX', + 'pbuf_SHFLX', + 'pbuf_TAUX', + 'pbuf_TAUY', + # 'pbuf_COSZRS_pm', + 'pbuf_COSZRS', + 'cam_in_ALDIF', + 'cam_in_ALDIR', + 'cam_in_ASDIF', + 'cam_in_ASDIR', + 'cam_in_LWUP', + 'cam_in_ICEFRAC', + 'cam_in_LANDFRAC', + 'cam_in_OCNFRAC', + 'cam_in_SNOWHICE', + 'cam_in_SNOWHLAND', + 'tm_state_ps', + 'tm_pbuf_SOLIN', + 'tm_pbuf_LHFLX', + 'tm_pbuf_SHFLX', + 'tm_pbuf_COSZRS', + 'clat', + 'slat', + 'icol',] + self.v5_inputs = ['state_t', + 'state_rh', + 'state_qn', + 'liq_partition', + 'state_u', + 'state_v', + 'state_t_dyn', + 'state_q0_dyn', + 'state_u_dyn', + 'tm_state_t_dyn', + 'tm_state_q0_dyn', + 'tm_state_u_dyn', + 'state_t_prvphy', + 'state_q0001_prvphy', + 'state_qn_prvphy', + 'state_u_prvphy', + 'tm_state_t_prvphy', + 'tm_state_q0001_prvphy', + 'tm_state_qn_prvphy', + 'tm_state_u_prvphy', + 'pbuf_ozone', # outside of the upper troposphere lower stratosphere (UTLS, corresponding to indices 5-21), variance in minimal for these last 3 + 'pbuf_CH4', + 'pbuf_N2O', + 'state_ps', + # 'pbuf_SOLIN_pm', + 'pbuf_SOLIN', + 'pbuf_LHFLX', + 'pbuf_SHFLX', + 'pbuf_TAUX', + 'pbuf_TAUY', + # 'pbuf_COSZRS_pm', + 'pbuf_COSZRS', + 'cam_in_ALDIF', + 'cam_in_ALDIR', + 'cam_in_ASDIF', + 'cam_in_ASDIR', + 'cam_in_LWUP', + 'cam_in_ICEFRAC', + 'cam_in_LANDFRAC', + 'cam_in_OCNFRAC', + 'cam_in_SNOWHICE', + 'cam_in_SNOWHLAND', + 'tm_state_ps', + 'tm_pbuf_SOLIN', + 'tm_pbuf_LHFLX', + 'tm_pbuf_SHFLX', + 'tm_pbuf_COSZRS', + 'clat', + 'slat', + 'icol',] + self.v2_outputs = ['ptend_t', 'ptend_q0001', 'ptend_q0002', @@ -191,49 +359,111 @@ def find_keys(dictionary, value): 'cam_out_SOLL', 'cam_out_SOLSD', 'cam_out_SOLLD'] + + self.v4_outputs = ['ptend_t', + 'ptend_q0001', + 'ptend_q0002', + 'ptend_q0003', + 'ptend_u', + 'ptend_v', + 'cam_out_NETSW', + 'cam_out_FLWDS', + 'cam_out_PRECSC', + 'cam_out_PRECC', + 'cam_out_SOLS', + 'cam_out_SOLL', + 'cam_out_SOLSD', + 'cam_out_SOLLD'] + + self.v5_outputs = ['ptend_t', + 'ptend_q0001', + 'ptend_qn', + 'ptend_u', + 'ptend_v', + 'cam_out_NETSW', + 'cam_out_FLWDS', + 'cam_out_PRECSC', + 'cam_out_PRECC', + 'cam_out_SOLS', + 'cam_out_SOLL', + 'cam_out_SOLSD', + 'cam_out_SOLLD'] self.var_lens = {#inputs - 'state_t':self.num_levels, - 'state_q0001':self.num_levels, - 'state_q0002':self.num_levels, - 'state_q0003':self.num_levels, - 'state_u':self.num_levels, - 'state_v':self.num_levels, - 'state_ps':1, - 'pbuf_SOLIN':1, - 'pbuf_LHFLX':1, - 'pbuf_SHFLX':1, - 'pbuf_TAUX':1, - 'pbuf_TAUY':1, - 'pbuf_COSZRS':1, - 'cam_in_ALDIF':1, - 'cam_in_ALDIR':1, - 'cam_in_ASDIF':1, - 'cam_in_ASDIR':1, - 'cam_in_LWUP':1, - 'cam_in_ICEFRAC':1, - 'cam_in_LANDFRAC':1, - 'cam_in_OCNFRAC':1, - 'cam_in_SNOWHICE':1, - 'cam_in_SNOWHLAND':1, - 'pbuf_ozone':self.num_levels, - 'pbuf_CH4':self.num_levels, - 'pbuf_N2O':self.num_levels, - #outputs - 'ptend_t':self.num_levels, - 'ptend_q0001':self.num_levels, - 'ptend_q0002':self.num_levels, - 'ptend_q0003':self.num_levels, - 'ptend_u':self.num_levels, - 'ptend_v':self.num_levels, - 'cam_out_NETSW':1, - 'cam_out_FLWDS':1, - 'cam_out_PRECSC':1, - 'cam_out_PRECC':1, - 'cam_out_SOLS':1, - 'cam_out_SOLL':1, - 'cam_out_SOLSD':1, - 'cam_out_SOLLD':1 + 'state_t':self.num_levels, + 'state_rh':self.num_levels, + 'state_q0001':self.num_levels, + 'state_q0002':self.num_levels, + 'state_q0003':self.num_levels, + 'state_qn':self.num_levels, + 'liq_partition':self.num_levels, + 'state_u':self.num_levels, + 'state_v':self.num_levels, + 'state_t_dyn':self.num_levels, + 'state_q0_dyn':self.num_levels, + 'state_u_dyn':self.num_levels, + 'state_v_dyn':self.num_levels, + 'state_t_prvphy':self.num_levels, + 'state_q0001_prvphy':self.num_levels, + 'state_q0002_prvphy':self.num_levels, + 'state_q0003_prvphy':self.num_levels, + 'state_qn_prvphy':self.num_levels, + 'state_u_prvphy':self.num_levels, + 'tm_state_t_dyn':self.num_levels, + 'tm_state_q0_dyn':self.num_levels, + 'tm_state_u_dyn':self.num_levels, + 'tm_state_t_prvphy':self.num_levels, + 'tm_state_q0001_prvphy':self.num_levels, + 'tm_state_q0002_prvphy':self.num_levels, + 'tm_state_q0003_prvphy':self.num_levels, + 'tm_state_qn_prvphy':self.num_levels, + 'tm_state_u_prvphy':self.num_levels, + 'state_ps':1, + 'pbuf_SOLIN':1, + 'pbuf_LHFLX':1, + 'pbuf_SHFLX':1, + 'pbuf_TAUX':1, + 'pbuf_TAUY':1, + 'pbuf_COSZRS':1, + 'tm_state_ps':1, + 'tm_pbuf_SOLIN':1, + 'tm_pbuf_LHFLX':1, + 'tm_pbuf_SHFLX':1, + 'tm_pbuf_COSZRS':1, + 'cam_in_ALDIF':1, + 'cam_in_ALDIR':1, + 'cam_in_ASDIF':1, + 'cam_in_ASDIR':1, + 'cam_in_LWUP':1, + 'cam_in_ICEFRAC':1, + 'cam_in_LANDFRAC':1, + 'cam_in_OCNFRAC':1, + 'cam_in_SNOWHICE':1, + 'cam_in_SNOWHLAND':1, + 'pbuf_ozone':self.num_levels, + 'pbuf_CH4':self.num_levels, + 'pbuf_N2O':self.num_levels, + 'clat':1, + 'slat':1, + 'icol':1, + #outputs + 'ptend_t':self.num_levels, + 'ptend_q0001':self.num_levels, + 'ptend_q0002':self.num_levels, + 'ptend_q0003':self.num_levels, + 'ptend_qn':self.num_levels, + 'ptend_u':self.num_levels, + 'ptend_v':self.num_levels, + 'cam_out_NETSW':1, + 'cam_out_FLWDS':1, + 'cam_out_PRECSC':1, + 'cam_out_PRECC':1, + 'cam_out_SOLS':1, + 'cam_out_SOLL':1, + 'cam_out_SOLSD':1, + 'cam_out_SOLLD':1, + 'pbuf_SOLIN_pm':1, + 'pbuf_COSZRS_pm':1, } self.var_short_names = {'ptend_t':'$dT/dt$', @@ -251,6 +481,7 @@ def find_keys(dictionary, value): 'ptend_q0001':self.lv, 'ptend_q0002':self.lv, 'ptend_q0003':self.lv, + 'ptend_qn':self.lv, 'ptend_wind': None, 'cam_out_NETSW':1., 'cam_out_FLWDS':1., @@ -348,12 +579,95 @@ def set_to_v2_vars(self): self.target_feature_len = 368 self.full_vars = True + def set_to_v2_rh_vars(self): + ''' + This function sets the inputs and outputs to the V2 subset. + It also indicates the index of the surface pressure variable. + ''' + self.input_vars = self.v2_rh_inputs + self.target_vars = self.v2_outputs + self.ps_index = 360 + self.input_feature_len = 557 + self.target_feature_len = 368 + self.full_vars = True + + def set_to_v4_vars(self): + ''' + This function sets the inputs and outputs to the V4 subset. + It also indicates the index of the surface pressure variable. + ''' + self.input_vars = self.v4_inputs + self.target_vars = self.v4_outputs + self.ps_index = 1500 + self.input_feature_len = 1525 + self.target_feature_len = 368 + self.full_vars = True + + def set_to_v5_vars(self): + ''' + This function sets the inputs and outputs to the V5 subset. + It also indicates the index of the surface pressure variable. + ''' + self.input_vars = self.v5_inputs + self.target_vars = self.v5_outputs + self.ps_index = 1380 + self.input_feature_len = 1405 + self.target_feature_len = 308 + self.full_vars = False + self.full_vars_v5 = True + def get_xrdata(self, file, file_vars = None): ''' This function reads in a file and returns an xarray dataset with the variables specified. file_vars must be a list of strings. ''' ds = xr.open_dataset(file, engine = 'netcdf4') + if file_vars is not None: + # if "state_rh" is in file_vars but not in ds, then add it to ds + if 'state_rh' in file_vars and 'state_rh' not in ds: + tair = ds['state_t'] + T0 = 273.16 # Freezing temperature in standard conditions + T00 = 253.16 # Temperature below which we use e_ice + omega = (tair - T00) / (T0 - T00) + omega = np.maximum( 0, np.minimum( 1, omega )) + esat = omega * eliq(tair) + (1-omega) * eice(tair) + Rd = 287 # Specific gas constant for dry air + Rv = 461 # Specific gas constant for water vapor + qvs = (Rd*esat)/(Rv*ds['state_pmid']) + state_rh = ds['state_q0001']/qvs + ds['state_rh'] = state_rh + + # if "icol" is in file_vars but not in ds, then add it to ds + if 'icol' in file_vars and 'icol' not in ds: + lat = ds['lat'] + icol = lat.copy() + icol[:] = np.arange(1,385) + ds['icol'] = icol + + # if "liq_partition" is in file_vars but not in ds, then add it to ds + if 'liq_partition' in file_vars and 'liq_partition' not in ds: + tair = ds['state_t'] + T0 = 273.16 # Freezing temperature in standard conditions + T00 = 253.16 # Temperature below which we use e_ice + liq_partition = (tair - T00) / (T0 - T00) + liq_partition = np.maximum( 0, np.minimum( 1, liq_partition )) + ds['liq_partition'] = liq_partition + + # if "state_qn" is in file_vars but not in ds, then add it to ds + if 'state_qn' in file_vars and 'state_qn' not in ds: + state_qn = ds['state_q0002'] + ds['state_q0003'] + ds['state_qn'] = state_qn + + # if "state_qn_prvphy" is in file_vars but not in ds, then add it to ds + if 'state_qn_prvphy' in file_vars and 'state_qn_prvphy' not in ds: + state_qn_prvphy = ds['state_q0002_prvphy'] + ds['state_q0003_prvphy'] + ds['state_qn_prvphy'] = state_qn_prvphy + + # if "tm_state_qn_prvphy" is in file_vars but not in ds, then add it to ds + if 'tm_state_qn_prvphy' in file_vars and 'tm_state_qn_prvphy' not in ds: + tm_state_qn_prvphy = ds['tm_state_q0002_prvphy'] + ds['tm_state_q0003_prvphy'] + ds['tm_state_qn_prvphy'] = tm_state_qn_prvphy + if file_vars is not None: ds = ds[file_vars] ds = ds.merge(self.grid_info[['lat','lon']]) @@ -372,15 +686,26 @@ def get_target(self, input_file): ''' This function reads in a file and returns an xarray dataset with the target variables for the emulator. ''' - # read inputs - ds_input = self.get_input(input_file) - ds_target = self.get_xrdata(input_file.replace('.mli.','.mlo.')) + tmp_input_vars = self.input_vars + if 'state_q0001' not in input_file: + tmp_input_vars = tmp_input_vars + ['state_q0001'] + if ('state_q0002' not in input_file) and (self.full_vars or self.full_vars_v5): + tmp_input_vars = tmp_input_vars + ['state_q0002'] + if ('state_q0003' not in input_file) and (self.full_vars or self.full_vars_v5): + tmp_input_vars = tmp_input_vars + ['state_q0003'] + ds_input = self.get_xrdata(input_file, tmp_input_vars) + + ds_target = self.get_xrdata(input_file.replace(f'.{self.input_abbrev}.',f'.{self.output_abbrev}.')) # each timestep is 20 minutes which corresponds to 1200 seconds ds_target['ptend_t'] = (ds_target['state_t'] - ds_input['state_t'])/1200 # T tendency [K/s] - ds_target['ptend_q0001'] = (ds_target['state_q0001'] - ds_input['state_q0001'])/1200 # Q tendency [kg/kg/s] + ds_target['ptend_q0001'] = (ds_target['state_q0001'] - ds_input['state_q0001'])/1200 # Q1 tendency [kg/kg/s] if self.full_vars: - ds_target['ptend_q0002'] = (ds_target['state_q0002'] - ds_input['state_q0002'])/1200 # Q tendency [kg/kg/s] - ds_target['ptend_q0003'] = (ds_target['state_q0003'] - ds_input['state_q0003'])/1200 # Q tendency [kg/kg/s] + ds_target['ptend_q0002'] = (ds_target['state_q0002'] - ds_input['state_q0002'])/1200 # Q2 tendency [kg/kg/s] + ds_target['ptend_q0003'] = (ds_target['state_q0003'] - ds_input['state_q0003'])/1200 # Q3 tendency [kg/kg/s] + ds_target['ptend_u'] = (ds_target['state_u'] - ds_input['state_u'])/1200 # U tendency [m/s/s] + ds_target['ptend_v'] = (ds_target['state_v'] - ds_input['state_v'])/1200 # V tendency [m/s/s] + elif self.full_vars_v5: + ds_target['ptend_qn'] = (ds_target['state_q0002'] - ds_input['state_q0002'] + ds_target['state_q0003'] - ds_input['state_q0003'])/1200 # Qn=Q2+Q3 tendency [kg/kg/s] ds_target['ptend_u'] = (ds_target['state_u'] - ds_input['state_u'])/1200 # U tendency [m/s/s] ds_target['ptend_v'] = (ds_target['state_v'] - ds_input['state_v'])/1200 # V tendency [m/s/s] ds_target = ds_target[self.target_vars] @@ -414,7 +739,7 @@ def set_stride_sample(self, data_split, stride_sample): elif data_split == 'test': self.test_stride_sample = stride_sample - def set_filelist(self, data_split): + def set_filelist(self, data_split, start_idx = 0, end_idx = -1): ''' This function sets the filelists corresponding to data splits for train, val, scoring, and test. ''' @@ -425,25 +750,25 @@ def set_filelist(self, data_split): assert self.train_stride_sample is not None, 'stride_sample for train is not set.' for regexp in self.train_regexps: filelist = filelist + glob.glob(self.data_path + "*/" + regexp) - self.train_filelist = sorted(filelist)[::self.train_stride_sample] + self.train_filelist = sorted(filelist)[start_idx:end_idx:self.train_stride_sample] elif data_split == 'val': assert self.val_regexps is not None, 'regexps for val is not set.' assert self.val_stride_sample is not None, 'stride_sample for val is not set.' for regexp in self.val_regexps: filelist = filelist + glob.glob(self.data_path + "*/" + regexp) - self.val_filelist = sorted(filelist)[::self.val_stride_sample] + self.val_filelist = sorted(filelist)[start_idx:end_idx:self.val_stride_sample] elif data_split == 'scoring': assert self.scoring_regexps is not None, 'regexps for scoring is not set.' assert self.scoring_stride_sample is not None, 'stride_sample for scoring is not set.' for regexp in self.scoring_regexps: filelist = filelist + glob.glob(self.data_path + "*/" + regexp) - self.scoring_filelist = sorted(filelist)[::self.scoring_stride_sample] + self.scoring_filelist = sorted(filelist)[start_idx:end_idx:self.scoring_stride_sample] elif data_split == 'test': assert self.test_regexps is not None, 'regexps for test is not set.' assert self.test_stride_sample is not None, 'stride_sample for test is not set.' for regexp in self.test_regexps: filelist = filelist + glob.glob(self.data_path + "*/" + regexp) - self.test_filelist = sorted(filelist)[::self.test_stride_sample] + self.test_filelist = sorted(filelist)[start_idx:end_idx:self.test_stride_sample] def get_filelist(self, data_split): ''' @@ -469,8 +794,6 @@ def load_ncdata_with_generator(self, data_split): This can be used as a dataloader during training or it can be used to create entire datasets. When used as a dataloader for training, I/O can slow down training considerably. This function also normalizes the data. - mli corresponds to input - mlo corresponds to target ''' filelist = self.get_filelist(data_split) def gen(): @@ -490,10 +813,10 @@ def gen(): # stack # ds = ds.stack({'batch':{'sample','ncol'}}) ds_input = ds_input.stack({'batch':{'ncol'}}) - ds_input = ds_input.to_stacked_array('mlvar', sample_dims=['batch'], name='mli') + ds_input = ds_input.to_stacked_array('mlvar', sample_dims=['batch'], name=self.input_abbrev) # dso = dso.stack({'batch':{'sample','ncol'}}) ds_target = ds_target.stack({'batch':{'ncol'}}) - ds_target = ds_target.to_stacked_array('mlvar', sample_dims=['batch'], name='mlo') + ds_target = ds_target.to_stacked_array('mlvar', sample_dims=['batch'], name=self.output_abbrev) yield (ds_input.values, ds_target.values) if self.ml_backend == "tensorflow": @@ -563,16 +886,44 @@ def save_as_npy(self, save_path = '', save_latlontime_dict = False): ''' - This function saves the training data as a .npy file. + This function saves the training data as a .npy file (also with option to save .h5). ''' data_loader = self.load_ncdata_with_generator(data_split) npy_iterator = list(data_loader.as_numpy_iterator()) npy_input = np.concatenate([npy_iterator[x][0] for x in range(len(npy_iterator))]) + if self.normalize: + # replace inf and nan with 0 + npy_input[np.isinf(npy_input)] = 0 + npy_input[np.isnan(npy_input)] = 0 + + # if save_path not exist, create it + if not os.path.exists(save_path): + os.makedirs(save_path) + # add "/" to the end of save_path if it does not exist + if save_path[-1] != '/': + save_path = save_path + '/' + + npy_input = np.float32(npy_input) + if self.save_npy: + with open(save_path + data_split + '_input.npy', 'wb') as f: + np.save(f, npy_input) + if self.save_h5: + h5_path = save_path + data_split + '_input.h5' + with h5py.File(h5_path, 'w') as hdf: + hdf.create_dataset('data', data=npy_input, dtype=npy_input.dtype) + del npy_input + npy_target = np.concatenate([npy_iterator[x][1] for x in range(len(npy_iterator))]) - with open(save_path + data_split + '_input.npy', 'wb') as f: - np.save(f, np.float32(npy_input)) - with open(save_path + data_split + '_target.npy', 'wb') as f: - np.save(f, np.float32(npy_target)) + npy_target = np.float32(npy_target) + + if self.save_npy: + with open(save_path + data_split + '_target.npy', 'wb') as f: + np.save(f, npy_target) + if self.save_h5: + h5_path = save_path + data_split + '_target.h5' + with h5py.File(h5_path, 'w') as hdf: + hdf.create_dataset('data', data=npy_target, dtype=npy_target.dtype) + if data_split == 'train': data_files = self.train_filelist elif data_split == 'val': @@ -582,7 +933,7 @@ def save_as_npy(self, elif data_split == 'test': data_files = self.test_filelist if save_latlontime_dict: - dates = [re.sub('^.*mli\.', '', x) for x in data_files] + dates = [re.sub(f'^.*{self.input_abbrev}\.', '', x) for x in data_files] dates = [re.sub('\.nc$', '', x) for x in dates] repeat_dates = [] for date in dates: @@ -599,6 +950,43 @@ def reshape_npy(self, var_arr, var_arr_dim): ''' var_arr = var_arr.reshape((int(var_arr.shape[0]/self.num_latlon), self.num_latlon, var_arr_dim)) return var_arr + + def save_norm(self, save_path = '', write=False): + ''' + This function calculates and saves the norms for input and target variables. i.e., for input, x = (x - inp_sub)/inpdiv, for target, y = y*out_scale. + ''' + # calculate norms for input first + input_sub = [] + input_div = [] + fmt = '%.6e' + for var in self.input_vars: + var_lev = self.var_lens[var] + if var_lev == 1: + input_sub.append(self.input_mean[var].values) + input_div.append(self.input_max[var].values - self.input_min[var].values) + else: + for i in range(var_lev): + input_sub.append(self.input_mean[var].values[i]) + input_div.append(self.input_max[var].values[i] - self.input_min[var].values[i]) + input_sub = np.array(input_sub) + input_div = np.array(input_div) + if write: + np.savetxt(save_path + '/inp_sub.txt', input_sub.reshape(1, -1), fmt=fmt, delimiter=',') + np.savetxt(save_path + '/inp_div.txt', input_div.reshape(1, -1), fmt=fmt, delimiter=',') + # calculate norms for target + out_scale = [] + for var in self.target_vars: + var_lev = self.var_lens[var] + if var_lev == 1: + out_scale.append(self.output_scale[var].values) + else: + for i in range(var_lev): + out_scale.append(self.output_scale[var].values[i]) + out_scale = np.array(out_scale) + if write: + np.savetxt(save_path + '/out_scale.txt', out_scale.reshape(1, -1), fmt=fmt, delimiter=',') + return input_sub, input_div, out_scale + @staticmethod def ls(dir_path = ''): diff --git a/online_testing/README.md b/online_testing/README.md new file mode 100644 index 0000000..d88d0ff --- /dev/null +++ b/online_testing/README.md @@ -0,0 +1,101 @@ +# Hybrid E3SM-MMF-NN-Emulator Simulation and Online Evaluation + +## Table of Contents + +1. [Problem overview](#1-problem-overview) +2. [Data preparation](#2-data-preparation) + 1. [Data download](#21-data-download) + 2. [Combine raw data into a few single files](#22-combine-raw-data-into-a-few-single-files) +3. [Model training](#3-model-training) + 1. [General requirement](#31-general-requirement) + 2. [Training scripts of our baseline online models](#32-training-scripts-of-our-baseline-online-models) +4. [Model post-processing: create wrapper for the trained model to include any normalization and de-normalization](#4-model-post-processing-create-wrapper-for-the-trained-model-to-include-any-normalization-and-de-normalization) +5. [Run hybrid E3SM MMF-NN-Emulator simulation](#5-run-hybrid-e3sm-mmf-nn-emulator-simulation) +6. [Evaluation of hybrid simulation](#6-evaluation-of-hybrid-simulation) + +## 1. Problem overview +The ultimate goal of training a ML model emulator (of the cloud-resolving model embedded in the E3SM-MMF climate simulator) using the ClimSim dataset is to couple it to the host E3SM climate simulator and evaluate the performance of such hybrid ML-physics simulation, e.g., whether the hybrid simulation can reproduce the statistics of the pure physics simulation. Here we use "online" to denote this task of performing and evaluating hybrid simulation, in contrast to the "offline" task in which we focus on training a ML model. Here we describe the entire workflow of training these baseline models, running and evaluating the hybrid simulation. We provided a few baseline models that we trained and optimized on the online task. These pretrained models include the MLP models and U-Net models from [Stable Machine-Learning Parameterization](https://arxiv.org/abs/2407.00124) paper. + +Refer to the [ClimSim-Online paper](https://arxiv.org/abs/2306.08754) for more details on the online task overview and the [Stable Machine-Learning Parameterization](https://arxiv.org/abs/2407.00124) paper for more details on the example baseline models we provide. + +--- + +## 2. Data preparation + +### 2.1 Data download + +We take the low-resolution dataset as example. Dowload either the [Low-Resolution Real Geography](https://huggingface.co/datasets/LEAP/ClimSim_low-res) or [Low-Resolution Real Geography Expanded](https://huggingface.co/datasets/LEAP/ClimSim_low-res-expanded) dataset from Hugging Face. The expanded version includes additional input features such as large-scale forcings and convection memory (previous steps state tendencies) that we used in our pretrained U-Net models (refer to [this paper](https://arxiv.org/abs/2407.00124) for more details). + +Please don't use the current preprocessed [Subsampled Low-Resolution Data](https://huggingface.co/datasets/LEAP/subsampled_low_res) which does not include cloud and wind tendencies in target variables. For online testing, we need the ML model to predict not only temperature and moisture tendencies but also these cloud and wind tendencies. + +If you would like to work on the [High-Resolution Dataset]((https://huggingface.co/datasets/LEAP/ClimSim_high-res)) and also want to expand the input feature, you can follow [this notebook](./online_testing/data_preparation/adding_input_feature.ipynb) which illustrates how we created the expanded input features from the original low-resolution dataset. + +### 2.2 Combine raw data into a few single files + +The raw data contains a large number of individual data files outputted at each E3SM model time step. We need to aggregate these individual files into a few files containing data array for efficient training. + +Take our MLP baseline model (from the [Stable Machine-Learning Parameterization](https://arxiv.org/abs/2407.00124) paper) for example. Run the [create_dataset_example_v2rh.ipynb](./data_preparation/create_dataset/create_dataset_example_v2rh.ipynb) notebook to prepare the input/output files for the MLP_v2rh model. + +If you want to reproduce the U-Net models from [Stable Machine-Learning Parameterization](https://arxiv.org/abs/2407.00124) paper, run the [create_dataset_example_v4.ipynb](./data_preparation/create_dataset/create_dataset_example_v4.ipynb) notebook to prepare the input/output files for the Unet_v4 model. Or run the [create_dataset_example_v5.ipynb](./data_preparation/create_dataset/create_dataset_example_v5.ipynb) notebook to prepare the input/output files for the Unet_v5 model. 'v4' is the unconstrained U-Net, while 'v5' is the constrained U-Net, please refer to original paper for more details. + +--- + +## 3. Model training + +### 3.1 General requirement + +To be able to couple your trained NN model to E3SM seeminglessly, you need to be aware of the following requirements before training your NN model: + +- Your NN model must be saved in TorchScript format. Converting a pytorch model into TorchScript is straightforward. Our training scripts include the code to save the model in TorchScript format. You can also refer to the [Official Torchscript Documentation](https://pytorch.org/docs/stable/jit.html) for more details. +- Your NN model's forward method should take an input tensor with shape (batch_size, num_input_features) and return an output tensor with shape (batch_size, num_output_features). The output feature dimension should have a length of ```num_output_features = 368``` and contain the following variables in the same order as: ```'ptend_t', 'ptend_q0001', 'ptend_q0002', 'ptend_q0003', 'ptend_u', 'ptend_v', 'cam_out_NETSW', 'cam_out_FLWDS', 'cam_out_PRECSC', 'cam_out_PRECC', 'cam_out_SOLS', 'cam_out_SOLL', 'cam_out_SOLSD', 'cam_out_SOLLD'```. The ptend variables are vertical profiles of tendencies of atmospheric states and have a length of 60. + +### 3.2 Training scripts of our baseline online models + +We provide the training scripts under the ```online_testing/baseline_models/``` directory. Under the folder of each baseline model, we provide the slurm scripts under the ```slurm``` folder to run the training job. + +For example, to train the MLP model (with a huber loss and a 'step' lr scheduler), you can run the following command: +```bash +cd online_testing/baseline_models/MLP_v2rh/training/slurm/ +sbatch v2rh_mlp_nonaggressive_cliprh_huber_step_3l_lr1em3.sbatch +``` + +The training will read in the default configuration arguments listed in ```training/conf/config_single.yaml```. You need to change a few path argument in the config_single.yaml to the paths on your machine, or you can also overwrite those paths in the slurm job scripts. By default, the training slurm scripts requested to use 4 GPUs. You can change the number of GPUs in the slurm scripts. + +The training requires to use the [modulus library](https://docs.nvidia.com/deeplearning/modulus/getting-started/index.html). We used the modulus container image for the training environment. You could download the latest version by following the instructions on [modulus website](https://docs.nvidia.com/deeplearning/modulus/getting-started/index.html). For reproducibility information, we used version ```nvcr.io/nvidia/modulus/modulus:24.01```. If you don't want to use a container, you could also use + +```bash +pip install nvidia-modulus +``` +to install on any system but we recommend the container for best results. + +--- + +## 4 Model post-processing: create wrapper for the trained model to include any normalization and de-normalization + +The E3SM MMF-NN-Emulator code expects the NN model to take un-normalized input features and output un-normalized output features. Notebooks provided in ```./model_postprocessing``` directory show how to create a wrapper for our pretrained MLP and U-Net models to include pre/post-processing such as normalization and de-normalization inside the forward method of the TorchScript model. + +For example, the [v5_nn_wrapper.ipynb](./model_postprocessing/v5_nn_wrapper.ipynb) notebook shows how to create a wrapper for the U-Net model to read raw input features, calculate additional needed input features, normalize the input, clip input values, pass them to the U-Net model, de-normalize the output features, and apply the temperature-based liquid-ice cloud partitioning. + +--- + +## 5. Run hybrid E3SM MMF-NN-Emulator simulations + +Please follow the instructions in the [ClimSim-Online repository](https://github.com/leap-stc/climsim-online/tree/main) to set up the container environment and run the hybrid simulation. + +Please check the [NVlabs/E3SM MMF-NN-Emulator repository](https://github.com/zyhu-hu/E3SM_nvlab/tree/cleaner_workflow_tomerge/climsim_scripts) to learn about the configurations and namelist variables of the E3SM MMF-NN-Emulator version. + +--- + +## 6. Evaluation of hybrid simulations + +The notebooks in the ```./evaluation``` directory show how to reproduce the plots in the [Stable Machine-Learning Parameterization](https://arxiv.org/abs/2407.00124) paper. Data required by these evaluation/visualization notebooks can be downloaded at [Stable Machine-Learning Parameterization: Zenodo Data](https://zenodo.org/records/12797811). + +--- + +## Author +- Zeyuan Hu, Harvard University + +## References + +- [ClimSim-Online: A Large Multi-scale Dataset and Framework for Hybrid ML-physics Climate Emulation](https://arxiv.org/abs/2306.08754) +- [Stable Machine-Learning Parameterization of Subgrid Processes with Real Geography and Full-physics Emulation](https://arxiv.org/abs/2407.00124) \ No newline at end of file diff --git a/online_testing/baseline_models/MLP_v2rh/training/climsim_datapip.py b/online_testing/baseline_models/MLP_v2rh/training/climsim_datapip.py new file mode 100644 index 0000000..7ba1605 --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/climsim_datapip.py @@ -0,0 +1,142 @@ +# #import xarray as xr +# from torch.utils.data import Dataset +# import numpy as np +# import torch + +#import xarray as xr +from torch.utils.data import Dataset +import numpy as np +import torch + +class climsim_dataset(Dataset): + def __init__(self, + input_paths, + target_paths, + input_sub, + input_div, + out_scale, + qinput_prune, + output_prune, + strato_lev, + qc_lbd, + qi_lbd, + decouple_cloud=False, + aggressive_pruning=False, + strato_lev_qc=30, + strato_lev_qinput=None, + strato_lev_tinput=None, + strato_lev_out = 12, + input_clip=False, + input_clip_rhonly=False,): + """ + Args: + input_paths (str): Path to the .npy file containing the inputs. + target_paths (str): Path to the .npy file containing the targets. + input_sub (np.ndarray): Input data mean. + input_div (np.ndarray): Input data standard deviation. + out_scale (np.ndarray): Output data standard deviation. + qinput_prune (bool): Whether to prune the input data. + output_prune (bool): Whether to prune the output data. + strato_lev (int): Number of levels in the stratosphere. + qc_lbd (np.ndarray): Coefficients for the exponential transformation of qc. + qi_lbd (np.ndarray): Coefficients for the exponential transformation of qi. + """ + self.inputs = np.load(input_paths) + self.targets = np.load(target_paths) + self.input_paths = input_paths + self.target_paths = target_paths + self.input_sub = input_sub + self.input_div = input_div + self.out_scale = out_scale + self.qinput_prune = qinput_prune + self.output_prune = output_prune + self.strato_lev = strato_lev + self.qc_lbd = qc_lbd + self.qi_lbd = qi_lbd + self.decouple_cloud = decouple_cloud + self.aggressive_pruning = aggressive_pruning + self.strato_lev_qc = strato_lev_qc + self.strato_lev_out = strato_lev_out + self.input_clip = input_clip + if strato_lev_qinput <0: + self.strato_lev_qinput = strato_lev + else: + self.strato_lev_qinput = strato_lev_qinput + self.strato_lev_tinput = strato_lev_tinput + self.input_clip_rhonly = input_clip_rhonly + + if self.strato_lev_qinput 0: + x[0:self.strato_lev_tinput] = 0 + + if self.input_clip: + if self.input_clip_rhonly: + x[60:120] = np.clip(x[60:120], 0, 1.2) + else: + x[60:120] = np.clip(x[60:120], 0, 1.2) # for RH, clip to (0,1.2) + x[360:720] = np.clip(x[360:720], -0.5, 0.5) # for dyn forcing, clip to (-0.5,0.5) + x[720:1320] = np.clip(x[720:1320], -3, 3) # for phy tendencies clip to (-3,3) + + + if self.output_prune: + y[60:60+self.strato_lev_out] = 0 + y[120:120+self.strato_lev_out] = 0 + y[180:180+self.strato_lev_out] = 0 + y[240:240+self.strato_lev_out] = 0 + y[300:300+self.strato_lev_out] = 0 + return torch.tensor(x, dtype=torch.float32), torch.tensor(y, dtype=torch.float32) \ No newline at end of file diff --git a/online_testing/baseline_models/MLP_v2rh/training/climsim_datapip_h5.py b/online_testing/baseline_models/MLP_v2rh/training/climsim_datapip_h5.py new file mode 100644 index 0000000..a760292 --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/climsim_datapip_h5.py @@ -0,0 +1,177 @@ +# #import xarray as xr +# from torch.utils.data import Dataset +# import numpy as np +# import torch + +#import xarray as xr +from torch.utils.data import Dataset +import numpy as np +import torch +import glob +import h5py + +class climsim_dataset_h5(Dataset): + def __init__(self, + parent_path, + input_sub, + input_div, + out_scale, + qinput_prune, + output_prune, + strato_lev, + qc_lbd, + qi_lbd, + decouple_cloud=False, + aggressive_pruning=False, + strato_lev_qc=30, + strato_lev_qinput=None, + strato_lev_tinput=None, + strato_lev_out = 12, + input_clip=False, + input_clip_rhonly=False,): + """ + Args: + parent_path (str): Path to the .zarr file containing the inputs and targets. + input_sub (np.ndarray): Input data mean. + input_div (np.ndarray): Input data standard deviation. + out_scale (np.ndarray): Output data standard deviation. + qinput_prune (bool): Whether to prune the input data. + output_prune (bool): Whether to prune the output data. + strato_lev (int): Number of levels in the stratosphere. + qc_lbd (np.ndarray): Coefficients for the exponential transformation of qc. + qi_lbd (np.ndarray): Coefficients for the exponential transformation of qi. + """ + self.parent_path = parent_path + self.input_paths = glob.glob(f'{parent_path}/**/train_input.h5', recursive=True) + print('input paths:', self.input_paths) + if not self.input_paths: + raise FileNotFoundError("No 'train_input.h5' files found under the specified parent path.") + self.target_paths = [path.replace('train_input.h5', 'train_target.h5') for path in self.input_paths] + + # Initialize lists to hold the samples count per file + self.samples_per_file = [] + for input_path in self.input_paths: + with h5py.File(input_path, 'r') as file: # Open the file to read the number of samples + # Assuming dataset is named 'data', adjust if different + self.samples_per_file.append(file['data'].shape[0]) + + self.cumulative_samples = np.cumsum([0] + self.samples_per_file) + self.total_samples = self.cumulative_samples[-1] + + self.input_files = {} + self.target_files = {} + for input_path, target_path in zip(self.input_paths, self.target_paths): + self.input_files[input_path] = h5py.File(input_path, 'r') + self.target_files[target_path] = h5py.File(target_path, 'r') + + # for input_path, target_path in zip(self.input_paths, self.target_paths): + # # Lazily open zarr files and keep the reference + # self.input_zarrs[input_path] = zarr.open(input_path, mode='r') + # self.target_zarrs[target_path] = zarr.open(target_path, mode='r') + + self.input_sub = input_sub + self.input_div = input_div + self.out_scale = out_scale + self.qinput_prune = qinput_prune + self.output_prune = output_prune + self.strato_lev = strato_lev + self.qc_lbd = qc_lbd + self.qi_lbd = qi_lbd + self.decouple_cloud = decouple_cloud + self.aggressive_pruning = aggressive_pruning + self.strato_lev_qc = strato_lev_qc + self.strato_lev_out = strato_lev_out + self.input_clip = input_clip + if strato_lev_qinput <0: + self.strato_lev_qinput = strato_lev + else: + self.strato_lev_qinput = strato_lev_qinput + self.strato_lev_tinput = strato_lev_tinput + self.input_clip_rhonly = input_clip_rhonly + + if self.strato_lev_qinput = self.total_samples: + raise IndexError("Index out of bounds") + # Find which file the index falls into + # file_idx = np.searchsorted(self.cumulative_samples, idx+1) - 1 + # local_idx = idx - self.cumulative_samples[file_idx] + + # x = zarr.open(self.input_paths[file_idx], mode='r')[local_idx] + # y = zarr.open(self.target_paths[file_idx], mode='r')[local_idx] + file_idx, local_idx = self._find_file_and_index(idx) + + + # x = self.input_zarrs[self.input_paths[file_idx]][local_idx] + # y = self.target_zarrs[self.target_paths[file_idx]][local_idx] + # Open the HDF5 files and read the data for the given index + input_file = self.input_files[self.input_paths[file_idx]] + target_file = self.target_files[self.target_paths[file_idx]] + x = input_file['data'][local_idx] + y = target_file['data'][local_idx] + + # with h5py.File(self.input_paths[file_idx], 'r') as input_file: + # x = input_file['data'][local_idx] # Adjust 'data' if your dataset has a different name + + # with h5py.File(self.target_paths[file_idx], 'r') as target_file: + # y = target_file['data'][local_idx] # Adjust 'data' if your dataset has a different name + + # x = np.load(self.input_paths,mmap_mode='r')[idx] + # y = np.load(self.target_paths,mmap_mode='r')[idx] + x[120:180] = 1 - np.exp(-x[120:180] * self.qc_lbd) + x[180:240] = 1 - np.exp(-x[180:240] * self.qi_lbd) + # Avoid division by zero in input_div and set corresponding x to 0 + # input_div_nonzero = self.input_div != 0 + # x = np.where(input_div_nonzero, (x - self.input_sub) / self.input_div, 0) + x = (x - self.input_sub) / self.input_div + #make all inf and nan values 0 + x[np.isnan(x)] = 0 + x[np.isinf(x)] = 0 + + y = y * self.out_scale + if self.decouple_cloud: + x[120:240] = 0 + x[60*14:60*16] =0 + x[60*19:60*21] =0 + elif self.aggressive_pruning: + # for profiles, only keep stratosphere temperature. prune all other profiles in stratosphere + x[60:60+self.strato_lev_qinput] = 0 # prune RH + x[120:120+self.strato_lev_qc] = 0 + x[180:180+self.strato_lev_qinput] = 0 + x[240:240+self.strato_lev] = 0 # prune u + x[300:300+self.strato_lev] = 0 # prune v + x[555] = 0 #SNOWHICE + elif self.qinput_prune: + # x[:,60:60+self.strato_lev] = 0 + x[120:120+self.strato_lev] = 0 + x[180:180+self.strato_lev] = 0 + + if self.strato_lev_tinput >0: + x[0:self.strato_lev_tinput] = 0 + + if self.input_clip: + if self.input_clip_rhonly: + x[60:120] = np.clip(x[60:120], 0, 1.2) + else: + x[60:120] = np.clip(x[60:120], 0, 1.2) # for RH, clip to (0,1.2) + + + + if self.output_prune: + y[60:60+self.strato_lev_out] = 0 + y[120:120+self.strato_lev_out] = 0 + y[180:180+self.strato_lev_out] = 0 + y[240:240+self.strato_lev_out] = 0 + y[300:300+self.strato_lev_out] = 0 + return torch.tensor(x, dtype=torch.float32), torch.tensor(y, dtype=torch.float32) \ No newline at end of file diff --git a/online_testing/baseline_models/MLP_v2rh/training/climsim_utils b/online_testing/baseline_models/MLP_v2rh/training/climsim_utils new file mode 120000 index 0000000..fc1bfa4 --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/climsim_utils @@ -0,0 +1 @@ +../../../../climsim_utils \ No newline at end of file diff --git a/online_testing/baseline_models/MLP_v2rh/training/conf/config_single.yaml b/online_testing/baseline_models/MLP_v2rh/training/conf/config_single.yaml new file mode 100644 index 0000000..e6534f5 --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/conf/config_single.yaml @@ -0,0 +1,142 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES. +# SPDX-FileCopyrightText: All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# defaults: +# - override hydra/sweeper: optuna +# - override hydra/sweeper/sampler: tpe +# - override hydra/launcher: joblib + +# defaults: +# - _self_ +# - optuna_config: optuna_sweep.yaml + +# hydra: +# sweeper: +# sampler: +# seed: 123 +# direction: minimize +# study_name: simple_objective +# storage: null +# n_trials: 8 +# n_jobs: 2 +# params: +# batch_size: choice(512, 1024, 2048) +# learning_rate: choice(0.1, 0.01, 0.001, 0.0001) +# # launcher: +# # n_jobs: 2 + +climsim_path: '/global/u2/z/zeyuanhu/nvidia_codes/Climsim_private/' +data_path: '/pscratch/sd/z/zeyuanhu/hugging/E3SM-MMF_ne4/preprocessing/v4/' +save_path: '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/' +input_mean: 'inputs/input_mean_v4_pervar.nc' +input_max: 'inputs/input_max_v4_pervar.nc' +input_min: 'inputs/input_min_v4_pervar.nc' +output_scale: 'outputs/output_scale_std_lowerthred.nc' +qc_lbd: 'inputs/qc_exp_lambda_large.txt' +qi_lbd: 'inputs/qi_exp_lambda_large.txt' + +train_input: 'train_input.npy' +train_target: 'train_target.npy' +val_input: 'val_input.npy' +val_target: 'val_target.npy' +variable_subsets: 'v4' +qinput_log: False +restart_path: '' +classifier_ckpt_path: '' +expname: 'unet_test' + +qinput_prune: True +qoutput_prune: True +output_prune: True +aggressive_pruning: False +strato_lev: 15 +strato_lev_out: 12 +strato_lev_qc: 30 +strato_lev_qinput: -1 +strato_lev_tinput: -1 +input_clip: False +input_clip_rhonly: False +batch_size: 1024 +epochs: 1 +learning_rate: 0.0001 +optimizer: 'adam' +loss: 'mse' +dt_weight: 1.0 +dq1_weight: 1.0 +dq2_weight: 1.0 +dq3_weight: 1.0 +du_weight: 1.0 +dv_weight: 1.0 +d2d_weight: 1.0 +dice_weight: 1.0 +q_mask_threshold: 0.0 +mse_weight: 1.0 +bce_weight: 1.0 +do_energy_loss: False +energy_loss_weight: 1.0 + +dice_flip: False +unet_num_blocks: 4 +unet_attn_resolutions: [8] +unet_model_channels: 128 +mlp_hidden_dims: [256, 256, 256, 256, 256, 256, 256, 256, 256] +mlp_layers: 9 +loc_embedding: False +skip_conv: False +prev_2d: False +lazy_load: False +save_top_ckpts: 5 +top_ckpt_mode: 'min' +dropout: 0.0 +decouple_cloud: False +clip_grad: False +drop_extreme_samples: False +drop_extreme_threshold: 500.0 + +# setup the scheduler with 1. step 2. cosine 3. reducedonplateau +scheduler_name: 'step' +scheduler: + step: + step_size: 2 + gamma: 0.3162278 + plateau: + patience: 2 + factor: 0.1 + cosine: + T_max: 2 + eta_min: 0.00001 + +scheduler_warmup: + enable: False + warmup_steps: 20 + warmup_strategy: 'cos' + init_lr: 1e-7 + +load_nonjoint_model: + enable: False + restart_path: '' + +early_stop_step: -1 + +logger: 'wandb' +wandb: + project: "MLP_test" + +mlflow: + project: "MLP_test" + +num_workers: 8 \ No newline at end of file diff --git a/online_testing/baseline_models/MLP_v2rh/training/ddp_export.sh b/online_testing/baseline_models/MLP_v2rh/training/ddp_export.sh new file mode 100644 index 0000000..ac782e7 --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/ddp_export.sh @@ -0,0 +1,4 @@ +export RANK=$SLURM_PROCID +export LOCAL_RANK=$SLURM_LOCALID +export WORLD_SIZE=$SLURM_NTASKS +export MASTER_PORT=29500 # default from torch launcher \ No newline at end of file diff --git a/online_testing/baseline_models/MLP_v2rh/training/layers.py b/online_testing/baseline_models/MLP_v2rh/training/layers.py new file mode 100644 index 0000000..bd0f3a3 --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/layers.py @@ -0,0 +1,797 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES. +# SPDX-FileCopyrightText: All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +Model architecture layers similar to those used in the paper "Elucidating the Design Space of +Diffusion-Based Generative Models, but customed for the 1d convolution problem in Climsim". +""" + +from typing import Any, Dict, List, Optional + +import numpy as np +import torch +from torch.nn.functional import silu + +from modulus.models.diffusion import weight_init + +class Linear(torch.nn.Module): + """ + A fully connected (dense) layer implementation. The layer's weights and biases can + be initialized using custom initialization strategies like "kaiming_normal", + and can be further scaled by factors `init_weight` and `init_bias`. + + Parameters + ---------- + in_features : int + Size of each input sample. + out_features : int + Size of each output sample. + bias : bool, optional + The biases of the layer. If set to `None`, the layer will not learn an additive + bias. By default True. + init_mode : str, optional (default="kaiming_normal") + The mode/type of initialization to use for weights and biases. Supported modes + are: + - "xavier_uniform": Xavier (Glorot) uniform initialization. + - "xavier_normal": Xavier (Glorot) normal initialization. + - "kaiming_uniform": Kaiming (He) uniform initialization. + - "kaiming_normal": Kaiming (He) normal initialization. + By default "kaiming_normal". + init_weight : float, optional + A scaling factor to multiply with the initialized weights. By default 1. + init_bias : float, optional + A scaling factor to multiply with the initialized biases. By default 0. + """ + + def __init__( + self, + in_features: int, + out_features: int, + bias: bool = True, + init_mode: str = "kaiming_normal", + init_weight: int = 1, + init_bias: int = 0, + ): + super().__init__() + self.in_features = in_features + self.out_features = out_features + init_kwargs = dict(mode=init_mode, fan_in=in_features, fan_out=out_features) + self.weight = torch.nn.Parameter( + weight_init([out_features, in_features], **init_kwargs) * init_weight + ) + self.bias = ( + torch.nn.Parameter(weight_init([out_features], **init_kwargs) * init_bias) + if bias + else None + ) + + def forward(self, x): + x = x @ self.weight.to(dtype=x.dtype, device=x.device).t() + if self.bias is not None: + x = x.add_(self.bias.to(dtype=x.dtype, device=x.device)) + return x + + +class Conv1d(torch.nn.Module): + """ + A custom 1D convolutional layer implementation with support for up-sampling, + down-sampling, and custom weight and bias initializations. The layer's weights + and biases canbe initialized using custom initialization strategies like + "kaiming_normal", and can be further scaled by factors `init_weight` and + `init_bias`. + + Parameters + ---------- + in_channels : int + Number of channels in the input image. + out_channels : int + Number of channels produced by the convolution. + kernel : int + Size of the convolving kernel. + bias : bool, optional + The biases of the layer. If set to `None`, the layer will not learn an + additive bias. By default True. + up : bool, optional + Whether to perform up-sampling. By default False. + down : bool, optional + Whether to perform down-sampling. By default False. + resample_filter : List[int], optional + Filter to be used for resampling. By default [1, 1]. + fused_resample : bool, optional + If True, performs fused up-sampling and convolution or fused down-sampling + and convolution. By default False. + init_mode : str, optional (default="kaiming_normal") + init_mode : str, optional (default="kaiming_normal") + The mode/type of initialization to use for weights and biases. Supported modes + are: + - "xavier_uniform": Xavier (Glorot) uniform initialization. + - "xavier_normal": Xavier (Glorot) normal initialization. + - "kaiming_uniform": Kaiming (He) uniform initialization. + - "kaiming_normal": Kaiming (He) normal initialization. + By default "kaiming_normal". + init_weight : float, optional + A scaling factor to multiply with the initialized weights. By default 1.0. + init_bias : float, optional + A scaling factor to multiply with the initialized biases. By default 0.0. + """ + def __init__( + self, + in_channels: int, + out_channels: int, + kernel: int, + bias: bool = True, + up: bool = False, + down: bool = False, + resample_filter: Optional[List[int]] = None, + fused_resample: bool = False, + init_mode: str = "kaiming_normal", + init_weight: float = 1.0, + init_bias: float = 0.0, + ): + if up and down: + raise ValueError("Both 'up' and 'down' cannot be true at the same time.") + + super().__init__() + self.in_channels = in_channels + self.out_channels = out_channels + self.kernel = kernel + resample_filter = resample_filter if resample_filter is not None else [1, 1] + self.up = up + self.down = down + self.fused_resample = fused_resample + init_kwargs = dict( + mode=init_mode, + fan_in=in_channels * kernel, + fan_out=out_channels * kernel, + ) + self.weight = ( + torch.nn.Parameter( + weight_init([out_channels, in_channels, kernel], **init_kwargs) + * init_weight + ) + if kernel + else None + ) + self.bias = ( + torch.nn.Parameter(weight_init([out_channels], **init_kwargs) * init_bias) + if kernel and bias + else None + ) + # f = torch.as_tensor(resample_filter, dtype=torch.float32) + # f = f.unsqueeze(0).unsqueeze(1) / f.sum() + f = torch.tensor(resample_filter, dtype=torch.float32).unsqueeze(0).unsqueeze(1) / sum(resample_filter) + self.register_buffer("resample_filter", f if up or down else None) + + def forward(self, x): + w = self.weight.to(dtype=x.dtype, device=x.device) if self.weight is not None else None + b = self.bias.to(dtype=x.dtype, device=x.device) if self.bias is not None else None + + # f = self.resample_filter if self.resample_filter is not None else torch.tensor([], dtype=x.dtype, device=x.device) + # w_pad = w.shape[-1] // 2 if w is not None else 0 + # f_pad = (f.size(-1) - 1) // 2 if f.numel() > 0 else 0 # Check for empty tensor + + # Directly use self.resample_filter without creating an empty tensor + f = self.resample_filter + + w_pad = w.shape[-1] // 2 if w is not None else 0 + # Adjust f_pad calculation based on whether f is None or not + f_pad = (f.size(-1) - 1) // 2 if f is not None else 0 # Use f directly + # Adjust convolution operations based on the existence of f + if f is not None: + + if self.fused_resample and self.up and w is not None: + x = torch.nn.functional.conv_transpose1d( + x, + f.repeat(self.in_channels, 1, 1) * 2, + groups=self.in_channels, + stride=2, + padding=max(f_pad - w_pad, 0), + ) + x = torch.nn.functional.conv1d(x, w, padding=max(w_pad - f_pad, 0)) + elif self.fused_resample and self.down and w is not None: + x = torch.nn.functional.conv1d(x, w, padding=w_pad + f_pad) + x = torch.nn.functional.conv1d( + x, + f.repeat(self.out_channels, 1, 1), + groups=self.out_channels, + stride=2, + ) + else: + if self.up: + x = torch.nn.functional.conv_transpose1d( + x, + f.repeat(self.in_channels, 1, 1) * 2, + groups=self.in_channels, + stride=2, + padding=f_pad, + ) + if self.down: + x = torch.nn.functional.conv1d( + x, + f.repeat(self.in_channels, 1, 1), + groups=self.in_channels, + stride=2, + padding=f_pad, + ) + if w is not None: + x = torch.nn.functional.conv1d(x, w, padding=w_pad) + + else: + if w is not None: + x = torch.nn.functional.conv1d(x, w, padding=w_pad) + if b is not None: + x = x.add_(b.reshape(1, -1, 1)) + return x + +class GroupNorm(torch.nn.Module): + """ + A custom Group Normalization layer implementation. + + Group Normalization (GN) divides the channels of the input tensor into groups and + normalizes the features within each group independently. It does not require the + batch size as in Batch Normalization, making itsuitable for batch sizes of any size + or even for batch-free scenarios. + + Parameters + ---------- + num_channels : int + Number of channels in the input tensor. + num_groups : int, optional + Desired number of groups to divide the input channels, by default 32. + This might be adjusted based on the `min_channels_per_group`. + min_channels_per_group : int, optional + Minimum channels required per group. This ensures that no group has fewer + channels than this number. By default 4. + eps : float, optional + A small number added to the variance to prevent division by zero, by default + 1e-5. + + Notes + ----- + If `num_channels` is not divisible by `num_groups`, the actual number of groups + might be adjusted to satisfy the `min_channels_per_group` condition. + """ + + def __init__( + self, + num_channels: int, + num_groups: int = 32, + min_channels_per_group: int = 4, + eps: float = 1e-5, + ): + super().__init__() + self.num_groups = min(num_groups, num_channels // min_channels_per_group) + self.eps = eps + self.weight = torch.nn.Parameter(torch.ones(num_channels)) + self.bias = torch.nn.Parameter(torch.zeros(num_channels)) + + def forward(self, x): + x = torch.nn.functional.group_norm( + x, + num_groups=self.num_groups, + weight=self.weight.to(dtype=x.dtype, device=x.device), + bias=self.bias.to(dtype=x.dtype, device=x.device), + eps=self.eps, + ) + return x + +class AttentionOp(torch.autograd.Function): + """ + Attention weight computation, i.e., softmax(Q^T * K). + Performs all computation using FP32, but uses the original datatype for + inputs/outputs/gradients to conserve memory. + """ + + @staticmethod + def forward(ctx, q, k): + w = ( + torch.einsum( + "ncq,nck->nqk", + q.to(dtype=torch.float32, device=q.device), + (k / (k.shape[1]**0.5)).to(dtype=torch.float32, device=k.device), + ) + .softmax(dim=2) + .to(dtype=q.dtype, device=q.device) + ) + ctx.save_for_backward(q, k, w) + return w + + @staticmethod + def backward(ctx, dw): + q, k, w = ctx.saved_tensors + db = torch._softmax_backward_data( + grad_output=dw.to(dtype=torch.float32, device=dw.device), + output=w.to(dtype=torch.float32, device=w.device), + dim=2, + input_dtype=torch.float32, + ) + dq = torch.einsum("nck,nqk->ncq", k.to(dtype=torch.float32, device=k.device), db).to( + dtype=q.dtype, device=q.device + ) / (k.shape[1]**0.5) + dk = torch.einsum("ncq,nqk->nck", q.to(dtype=torch.float32, device=q.device), db).to( + dtype=k.dtype, device=k.device + ) / (k.shape[1]**0.5) + return dq, dk + +class ScriptableAttentionOp(torch.nn.Module): + def __init__(self): + super(ScriptableAttentionOp, self).__init__() + + def forward(self, q, k): + scale_factor = k.shape[1] ** 0.5 + k_scaled = k / scale_factor + w = torch.einsum("ncq,nck->nqk", q.float(), k_scaled.float()).softmax(dim=2) + return w.to(dtype=q.dtype) + +class UNetBlock(torch.nn.Module): + """ + Unified U-Net block with optional up/downsampling and self-attention. Represents + the union of all features employed by the DDPM++, NCSN++, and ADM architectures. + + Parameters: + ----------- + in_channels : int + Number of input channels. + out_channels : int + Number of output channels. + emb_channels : int + Number of embedding channels. + up : bool, optional + If True, applies upsampling in the forward pass. By default False. + down : bool, optional + If True, applies downsampling in the forward pass. By default False. + attention : bool, optional + If True, enables the self-attention mechanism in the block. By default False. + num_heads : int, optional + Number of attention heads. If None, defaults to `out_channels // 64`. + channels_per_head : int, optional + Number of channels per attention head. By default 64. + dropout : float, optional + Dropout probability. By default 0.0. + skip_scale : float, optional + Scale factor applied to skip connections. By default 1.0. + eps : float, optional + Epsilon value used for normalization layers. By default 1e-5. + resample_filter : List[int], optional + Filter for resampling layers. By default [1, 1]. + resample_proj : bool, optional + If True, resampling projection is enabled. By default False. + adaptive_scale : bool, optional + If True, uses adaptive scaling in the forward pass. By default True. + init : dict, optional + Initialization parameters for convolutional and linear layers. + init_zero : dict, optional + Initialization parameters with zero weights for certain layers. By default + {'init_weight': 0}. + init_attn : dict, optional + Initialization parameters specific to attention mechanism layers. + Defaults to 'init' if not provided. + """ + + def __init__( + self, + in_channels: int, + out_channels: int, + emb_channels: int = 0, + up: bool = False, + down: bool = False, + attention: bool = False, + num_heads: int = None, + channels_per_head: int = 64, + dropout: float = 0.0, + skip_scale: float = 1.0, + eps: float = 1e-5, + resample_filter: List[int] = [1,1], + resample_proj: bool = False, + adaptive_scale: bool = False, + init: Dict[str, Any] = dict(), + init_zero: Dict[str, Any] = dict(init_weight=0), + init_attn: Any = None, + ): + super().__init__() + + self.in_channels = in_channels + self.out_channels = out_channels + self.emb_channels = emb_channels + self.num_heads = ( + 0 + if not attention + else num_heads + if num_heads is not None + else out_channels // channels_per_head + ) + self.dropout = dropout + self.skip_scale = skip_scale + self.adaptive_scale = adaptive_scale + + self.norm0 = GroupNorm(num_channels=in_channels, eps=eps) + self.conv0 = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=3, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + # self.affine = Linear( + # in_features=emb_channels, + # out_features=out_channels * (2 if adaptive_scale else 1), + # **init, + # ) + self.norm1 = GroupNorm(num_channels=out_channels, eps=eps) + self.conv1 = Conv1d( + in_channels=out_channels, out_channels=out_channels, kernel=3, **init_zero + ) + + self.skip = None + if out_channels != in_channels or up or down: + kernel = 1 if resample_proj or out_channels != in_channels else 0 + self.skip = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=kernel, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + + if self.num_heads: + self.norm2 = GroupNorm(num_channels=out_channels, eps=eps) + self.qkv = Conv1d( + in_channels=out_channels, + out_channels=out_channels * 3, + kernel=1, + **(init_attn if init_attn is not None else init), + ) + self.proj = Conv1d( + in_channels=out_channels, + out_channels=out_channels, + kernel=1, + **init_zero, + ) + + def forward(self, x): + orig = x + x = self.conv0(silu(self.norm0(x))) + + # params = self.affine(emb).unsqueeze(2).to(x.dtype) + # if self.adaptive_scale: + # scale, shift = params.chunk(chunks=2, dim=1) + # x = silu(torch.addcmul(shift, self.norm1(x), scale + 1)) + # else: + # x = silu(self.norm1(x.add_(params))) + + x = self.norm1(x) + x = self.conv1( + torch.nn.functional.dropout(x, p=self.dropout, training=self.training) + ) + x = x.add_(self.skip(orig) if self.skip is not None else orig) + x = x * self.skip_scale + + if self.num_heads: + q, k, v = ( + self.qkv(self.norm2(x)) + .reshape( + x.shape[0] * self.num_heads, x.shape[1] // self.num_heads, 3, -1 + ) + .unbind(2) + ) + w = AttentionOp.apply(q, k) + a = torch.einsum("nqk,nck->ncq", w, v) + x = self.proj(a.reshape(*x.shape)).add_(x) + # batch_size, channels, length = x.size() + # x = self.proj(a.reshape(batch_size, channels, length)).add_(x) + x = x * self.skip_scale + return x + +class UNetBlock_noatten(torch.nn.Module): + """ + Unified U-Net block with optional up/downsampling and self-attention. Represents + the union of all features employed by the DDPM++, NCSN++, and ADM architectures. + + Parameters: + ----------- + in_channels : int + Number of input channels. + out_channels : int + Number of output channels. + emb_channels : int + Number of embedding channels. + up : bool, optional + If True, applies upsampling in the forward pass. By default False. + down : bool, optional + If True, applies downsampling in the forward pass. By default False. + attention : bool, optional + If True, enables the self-attention mechanism in the block. By default False. + num_heads : int, optional + Number of attention heads. If None, defaults to `out_channels // 64`. + channels_per_head : int, optional + Number of channels per attention head. By default 64. + dropout : float, optional + Dropout probability. By default 0.0. + skip_scale : float, optional + Scale factor applied to skip connections. By default 1.0. + eps : float, optional + Epsilon value used for normalization layers. By default 1e-5. + resample_filter : List[int], optional + Filter for resampling layers. By default [1, 1]. + resample_proj : bool, optional + If True, resampling projection is enabled. By default False. + adaptive_scale : bool, optional + If True, uses adaptive scaling in the forward pass. By default True. + init : dict, optional + Initialization parameters for convolutional and linear layers. + init_zero : dict, optional + Initialization parameters with zero weights for certain layers. By default + {'init_weight': 0}. + init_attn : dict, optional + Initialization parameters specific to attention mechanism layers. + Defaults to 'init' if not provided. + """ + + def __init__( + self, + in_channels: int, + out_channels: int, + emb_channels: int = 0, + up: bool = False, + down: bool = False, + attention: bool = False, + num_heads: int = None, + channels_per_head: int = 64, + dropout: float = 0.0, + skip_scale: float = 1.0, + eps: float = 1e-5, + resample_filter: List[int] = [1,1], + resample_proj: bool = False, + adaptive_scale: bool = False, + init: Dict[str, Any] = dict(), + init_zero: Dict[str, Any] = dict(init_weight=0), + init_attn: Any = None, + ): + super().__init__() + + self.in_channels = in_channels + self.out_channels = out_channels + self.emb_channels = emb_channels + self.num_heads = ( + 0 + if not attention + else num_heads + if num_heads is not None + else out_channels // channels_per_head + ) + self.dropout = dropout + self.skip_scale = skip_scale + self.adaptive_scale = adaptive_scale + + self.norm0 = GroupNorm(num_channels=in_channels, eps=eps) + self.conv0 = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=3, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + # self.affine = Linear( + # in_features=emb_channels, + # out_features=out_channels * (2 if adaptive_scale else 1), + # **init, + # ) + self.norm1 = GroupNorm(num_channels=out_channels, eps=eps) + self.conv1 = Conv1d( + in_channels=out_channels, out_channels=out_channels, kernel=3, **init_zero + ) + + self.skip = None + if out_channels != in_channels or up or down: + kernel = 1 if resample_proj or out_channels != in_channels else 0 + self.skip = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=kernel, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + + + def forward(self, x): + orig = x + x = self.conv0(silu(self.norm0(x))) + + # params = self.affine(emb).unsqueeze(2).to(x.dtype) + # if self.adaptive_scale: + # scale, shift = params.chunk(chunks=2, dim=1) + # x = silu(torch.addcmul(shift, self.norm1(x), scale + 1)) + # else: + # x = silu(self.norm1(x.add_(params))) + + x = self.norm1(x) + x = self.conv1( + torch.nn.functional.dropout(x, p=self.dropout, training=self.training) + ) + x = x.add_(self.skip(orig) if self.skip is not None else orig) + x = x * self.skip_scale + return x + +class UNetBlock_atten(torch.nn.Module): + """ + Unified U-Net block with optional up/downsampling and self-attention. Represents + the union of all features employed by the DDPM++, NCSN++, and ADM architectures. + + Parameters: + ----------- + in_channels : int + Number of input channels. + out_channels : int + Number of output channels. + emb_channels : int + Number of embedding channels. + up : bool, optional + If True, applies upsampling in the forward pass. By default False. + down : bool, optional + If True, applies downsampling in the forward pass. By default False. + attention : bool, optional + If True, enables the self-attention mechanism in the block. By default False. + num_heads : int, optional + Number of attention heads. If None, defaults to `out_channels // 64`. + channels_per_head : int, optional + Number of channels per attention head. By default 64. + dropout : float, optional + Dropout probability. By default 0.0. + skip_scale : float, optional + Scale factor applied to skip connections. By default 1.0. + eps : float, optional + Epsilon value used for normalization layers. By default 1e-5. + resample_filter : List[int], optional + Filter for resampling layers. By default [1, 1]. + resample_proj : bool, optional + If True, resampling projection is enabled. By default False. + adaptive_scale : bool, optional + If True, uses adaptive scaling in the forward pass. By default True. + init : dict, optional + Initialization parameters for convolutional and linear layers. + init_zero : dict, optional + Initialization parameters with zero weights for certain layers. By default + {'init_weight': 0}. + init_attn : dict, optional + Initialization parameters specific to attention mechanism layers. + Defaults to 'init' if not provided. + """ + + def __init__( + self, + in_channels: int, + out_channels: int, + emb_channels: int = 0, + up: bool = False, + down: bool = False, + num_heads: int = 1, + channels_per_head: int = 64, + dropout: float = 0.0, + skip_scale: float = 1.0, + eps: float = 1e-5, + resample_filter: List[int] = [1,1], + resample_proj: bool = False, + adaptive_scale: bool = False, + init: Dict[str, Any] = dict(), + init_zero: Dict[str, Any] = dict(init_weight=0), + init_attn: Any = None, + attention: bool = True, + ): + super().__init__() + + self.in_channels = in_channels + self.out_channels = out_channels + self.emb_channels = emb_channels + self.num_heads = ( + num_heads + if num_heads is not None + else out_channels // channels_per_head + ) + self.dropout = dropout + self.skip_scale = skip_scale + self.adaptive_scale = adaptive_scale + + self.norm0 = GroupNorm(num_channels=in_channels, eps=eps) + self.conv0 = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=3, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + # self.affine = Linear( + # in_features=emb_channels, + # out_features=out_channels * (2 if adaptive_scale else 1), + # **init, + # ) + self.norm1 = GroupNorm(num_channels=out_channels, eps=eps) + self.conv1 = Conv1d( + in_channels=out_channels, out_channels=out_channels, kernel=3, **init_zero + ) + + self.skip = None + if out_channels != in_channels or up or down: + kernel = 1 if resample_proj or out_channels != in_channels else 0 + self.skip = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=kernel, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + + if self.num_heads: + self.norm2 = GroupNorm(num_channels=out_channels, eps=eps) + self.qkv = Conv1d( + in_channels=out_channels, + out_channels=out_channels * 3, + kernel=1, + **(init_attn if init_attn is not None else init), + ) + self.proj = Conv1d( + in_channels=out_channels, + out_channels=out_channels, + kernel=1, + **init_zero, + ) + + self.attentionop = ScriptableAttentionOp() + + def forward(self, x): + orig = x + x = self.conv0(silu(self.norm0(x))) + + # params = self.affine(emb).unsqueeze(2).to(x.dtype) + # if self.adaptive_scale: + # scale, shift = params.chunk(chunks=2, dim=1) + # x = silu(torch.addcmul(shift, self.norm1(x), scale + 1)) + # else: + # x = silu(self.norm1(x.add_(params))) + + x = self.norm1(x) + x = self.conv1( + torch.nn.functional.dropout(x, p=self.dropout, training=self.training) + ) + x = x.add_(self.skip(orig) if self.skip is not None else orig) + x = x * self.skip_scale + + if self.num_heads: + q, k, v = ( + self.qkv(self.norm2(x)) + .reshape( + x.shape[0] * self.num_heads, x.shape[1] // self.num_heads, 3, -1 + ) + .unbind(2) + ) + w = self.attentionop(q, k) + a = torch.einsum("nqk,nck->ncq", w, v) + # x = self.proj(a.reshape(*x.shape)).add_(x) + batch_size, channels, length = x.size() + x = self.proj(a.reshape(batch_size, channels, length)).add_(x) + x = x * self.skip_scale + return x \ No newline at end of file diff --git a/online_testing/baseline_models/MLP_v2rh/training/loss_energy.py b/online_testing/baseline_models/MLP_v2rh/training/loss_energy.py new file mode 100644 index 0000000..738cb2d --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/loss_energy.py @@ -0,0 +1,63 @@ +import torch + +''' +a loss function that compares the column integrated mse tendencies between the model and the truth +''' + +def loss_energy(pred, truth, ps, hyai, hybi, out_scale): + """ + Compute the energy loss. + + Parameters: + - pred (torch.Tensor): Predictions from the model. Shape: (batch_size, 368). + - truth (torch.Tensor): Ground truth. Shape: (batch_size, 368). + - ps (torch.Tensor): Surface pressure. Shape: (batch_size). with original unit of Pa. + - hyai (torch.Tensor): Coefficients for calculating pressure at layer interfaces for mass. Shape: (61). + - hybi (torch.Tensor): Coefficients for calculating pressure at layer interfaces for mass. Shape: (61). + - out_scale (float): Output scaling factor. shape: (368). + """ + #code for reference + # state_ps = np.reshape(state_ps, (-1, self.num_latlon)) + # pressure_grid_p1 = np.array(self.grid_info['P0']*self.grid_info['hyai'])[:,np.newaxis,np.newaxis] + # pressure_grid_p2 = self.grid_info['hybi'].values[:, np.newaxis, np.newaxis] * state_ps[np.newaxis, :, :] + # self.pressure_grid_train = pressure_grid_p1 + pressure_grid_p2 + # self.dp_train = self.pressure_grid_train[1:61,:,:] - self.pressure_grid_train[0:60,:,:] + + # convert out_scale to torch tensor if not + if not torch.is_tensor(out_scale): + out_scale = torch.tensor(out_scale, dtype=torch.float32) + # convert hybi and hyai to torch tensor if not + if not torch.is_tensor(hybi): + hybi = torch.tensor(hybi, dtype=torch.float32) + if not torch.is_tensor(hyai): + hyai = torch.tensor(hyai, dtype=torch.float32) + + L_V = 2.501e6 # Latent heat of vaporization + # L_I = 3.337e5 # Latent heat of freezing + # L_F = L_I + # L_S = L_V + L_I # Sublimation + C_P = 1.00464e3 # Specific heat capacity of air at constant pressure + + dt_pred = pred[:,0:60]/out_scale[0:60] + dt_truth = truth[:,0:60]/out_scale[0:60] + dq_pred = pred[:,60:120]/out_scale[60:120] + dq_truth = truth[:,60:120]/out_scale[60:120] + + # calculate the pressure difference, make ps (batch_size, 1) + ps = ps.reshape(-1,1) + pressure_grid_p1 = 1e5 * hyai.reshape(1,-1) # (1, 61) + pressure_grid_p2 = hybi.reshape(1,-1) * ps # (batch_size, 61) + pressure_grid = pressure_grid_p1 + pressure_grid_p2 # (batch_size, 61) + dp = pressure_grid[:,1:] - pressure_grid[:,:-1] # (batch_size, 60) + + # calculate the integrated tendency + dt_integrated_pred = torch.sum(dt_pred * dp, dim=1) # (batch_size) + dt_integrated_truth = torch.sum(dt_truth * dp, dim=1) # (batch_size) + dq_integrated_pred = torch.sum(dq_pred * dp, dim=1) # (batch_size) + dq_integrated_truth = torch.sum(dq_truth * dp, dim=1) # (batch_size) + + # energy loss, note moist static energy is the sum of dry static energy and latent heat, h = cp*T + gz + Lq + energy_loss = torch.mean((C_P * dt_integrated_pred + L_V * dq_integrated_pred - C_P * dt_integrated_truth - L_V * dq_integrated_truth)**2) + + return energy_loss + diff --git a/online_testing/baseline_models/MLP_v2rh/training/mlp.py b/online_testing/baseline_models/MLP_v2rh/training/mlp.py new file mode 100644 index 0000000..60be463 --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/mlp.py @@ -0,0 +1,68 @@ +import numpy as np +import torch +import torch.optim as optim +import torch.nn as nn +from dataclasses import dataclass +import modulus + +""" +Contains the code for the MLP and its training. +""" + +device = 'cuda' if torch.cuda.is_available() else 'cpu' + +@dataclass +class MLPMetaData(modulus.ModelMetaData): + name: str = "MLP" + # Optimization + jit: bool = True + cuda_graphs: bool = True + amp_cpu: bool = True + amp_gpu: bool = True + + +class MLP(modulus.Module): + """ + MLP Estimator + """ + def __init__(self, in_dims, out_dims, hidden_dims, layers, dropout=0., output_prune=False, strato_lev_out=15): + super().__init__(meta=MLPMetaData()) + # check if hidden_dims is a list of hidden_dims + if isinstance(hidden_dims, list): + # print('input is list') + assert len(hidden_dims) == layers, "Length of hidden_dims should be equal to layers" + else: + hidden_dims = [hidden_dims] * layers + + self.output_prune = output_prune + self.strato_lev_out = strato_lev_out + + self.linears = [] + for i in range(layers): + self.linears += [torch.nn.Sequential( + torch.nn.Linear(in_dims if i == 0 else hidden_dims[i-1], hidden_dims[i]), + # torch.nn.LayerNorm(hidden_dims), + torch.nn.Dropout(p=dropout)) + ] + # self.add_module('linear%d' % i, self.linears[-1]) + self.linears = torch.nn.ModuleList(self.linears) + self.final_linear = torch.nn.Linear(hidden_dims[-1], out_dims) + + def forward(self, x): + # x = torch.flatten(x, start_dim=1) + for linear in self.linears: + x = torch.nn.functional.relu(linear(x)) + x = self.final_linear(x) + + if self.output_prune: + x = x.clone() + x[:, 60:60+self.strato_lev_out] = x[:, 60:60+self.strato_lev_out].clone().zero_() + x[:, 120:120+self.strato_lev_out] = x[:, 120:120+self.strato_lev_out].clone().zero_() + x[:, 180:180+self.strato_lev_out] = x[:, 180:180+self.strato_lev_out].clone().zero_() + x[:, 240:240+self.strato_lev_out] = x[:, 240:240+self.strato_lev_out].clone().zero_() + + # do relu for the last 8 elements + # x[:,-8:] = torch.nn.functional.relu(x[:,-8:]) + x = x.clone() + x[:,-8:] = torch.nn.functional.relu(x[:,-8:].clone()) + return x \ No newline at end of file diff --git a/online_testing/baseline_models/MLP_v2rh/training/slurm/v2rh_mlp_nonaggressive_cliprh_huber_rop_3l_lr1em3.sbatch b/online_testing/baseline_models/MLP_v2rh/training/slurm/v2rh_mlp_nonaggressive_cliprh_huber_rop_3l_lr1em3.sbatch new file mode 100644 index 0000000..444734b --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/slurm/v2rh_mlp_nonaggressive_cliprh_huber_rop_3l_lr1em3.sbatch @@ -0,0 +1,45 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q regular +#SBATCH -t 24:00:00 +#SBATCH --ntasks-per-node 4 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 4 +#SBATCH -n 4 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_mlp_h5loader.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v2_rh_full/'\ + expname='v2rh_mlp_nonaggressive_cliprh_huber_rop_3l_lr1em3' \ + variable_subsets='v2_rh' \ + mlp_hidden_dims=[384,1024,640] \ + mlp_layers=3 \ + batch_size=1024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=12 \ + strato_lev_qinput=22 \ + input_clip_rhonly=True \ + aggressive_pruning=False \ + epochs=13 \ + restart_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/v2rh_mlp_nonaggressive_cliprh_huber_step_3l_lr1em3/ckpt/ckpt_epoch_7_metric_0.0866_save.mdlus' \ + loss='huber' \ + dropout=0.0 \ + save_top_ckpts=15 \ + learning_rate=0.001 \ + logger='wandb' \ + wandb.project='v4plus_unet' \ + scheduler_name='plateau' \ + scheduler.plateau.patience=2 \ + scheduler.plateau.factor=0.3162 " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/MLP_v2rh/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" diff --git a/online_testing/baseline_models/MLP_v2rh/training/slurm/v2rh_mlp_nonaggressive_cliprh_huber_rop_3l_lr1em3_r2.sbatch b/online_testing/baseline_models/MLP_v2rh/training/slurm/v2rh_mlp_nonaggressive_cliprh_huber_rop_3l_lr1em3_r2.sbatch new file mode 100644 index 0000000..b1361b2 --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/slurm/v2rh_mlp_nonaggressive_cliprh_huber_rop_3l_lr1em3_r2.sbatch @@ -0,0 +1,45 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q regular +#SBATCH -t 24:00:00 +#SBATCH --ntasks-per-node 4 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 4 +#SBATCH -n 4 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_mlp_h5loader.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v2_rh_full/'\ + expname='v2rh_mlp_nonaggressive_cliprh_huber_rop_3l_lr1em3_r2' \ + variable_subsets='v2_rh' \ + mlp_hidden_dims=[384,1024,640] \ + mlp_layers=3 \ + batch_size=1024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=12 \ + strato_lev_qinput=22 \ + input_clip_rhonly=True \ + aggressive_pruning=False \ + epochs=12 \ + restart_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/v2rh_mlp_nonaggressive_cliprh_huber_rop_3l_lr1em3/model.mdlus' \ + loss='huber' \ + dropout=0.0 \ + save_top_ckpts=15 \ + learning_rate=0.0001 \ + logger='wandb' \ + wandb.project='v4plus_unet' \ + scheduler_name='plateau' \ + scheduler.plateau.patience=0 \ + scheduler.plateau.factor=0.5 " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/MLP_v2rh/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" diff --git a/online_testing/baseline_models/MLP_v2rh/training/slurm/v2rh_mlp_nonaggressive_cliprh_huber_step_3l_lr1em3.sbatch b/online_testing/baseline_models/MLP_v2rh/training/slurm/v2rh_mlp_nonaggressive_cliprh_huber_step_3l_lr1em3.sbatch new file mode 100644 index 0000000..868b421 --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/slurm/v2rh_mlp_nonaggressive_cliprh_huber_step_3l_lr1em3.sbatch @@ -0,0 +1,44 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q regular +#SBATCH -t 24:00:00 +#SBATCH --ntasks-per-node 4 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 4 +#SBATCH -n 4 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_mlp_h5loader.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v2_rh_full/'\ + expname='v2rh_mlp_nonaggressive_cliprh_huber_step_3l_lr1em3' \ + variable_subsets='v2_rh' \ + mlp_hidden_dims=[384,1024,640] \ + mlp_layers=3 \ + batch_size=1024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=12 \ + strato_lev_qinput=22 \ + input_clip_rhonly=True \ + aggressive_pruning=False \ + epochs=28 \ + loss='huber' \ + dropout=0.0 \ + save_top_ckpts=15 \ + learning_rate=0.001 \ + logger='wandb' \ + wandb.project='v4plus_unet' \ + scheduler_name='step' \ + scheduler.step.step_size=7 \ + scheduler.step.gamma=0.3162 " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/MLP_v2rh/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" diff --git a/online_testing/baseline_models/MLP_v2rh/training/slurm/v2rh_mlp_nonaggressive_cliprh_mae_step_3l_lr1em3.sbatch b/online_testing/baseline_models/MLP_v2rh/training/slurm/v2rh_mlp_nonaggressive_cliprh_mae_step_3l_lr1em3.sbatch new file mode 100644 index 0000000..a189b13 --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/slurm/v2rh_mlp_nonaggressive_cliprh_mae_step_3l_lr1em3.sbatch @@ -0,0 +1,44 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q regular +#SBATCH -t 24:00:00 +#SBATCH --ntasks-per-node 4 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 4 +#SBATCH -n 4 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_mlp_h5loader.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v2_rh_full/'\ + expname='v2rh_mlp_nonaggressive_cliprh_mae_step_3l_lr1em3' \ + variable_subsets='v2_rh' \ + mlp_hidden_dims=[384,1024,640] \ + mlp_layers=3 \ + batch_size=1024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=12 \ + strato_lev_qinput=22 \ + input_clip_rhonly=True \ + aggressive_pruning=False \ + epochs=28 \ + loss='mae' \ + dropout=0.0 \ + save_top_ckpts=15 \ + learning_rate=0.001 \ + logger='wandb' \ + wandb.project='v4plus_unet' \ + scheduler_name='step' \ + scheduler.step.step_size=7 \ + scheduler.step.gamma=0.3162 " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/MLP_v2rh/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" diff --git a/online_testing/baseline_models/MLP_v2rh/training/torch_warmup_lr.py b/online_testing/baseline_models/MLP_v2rh/training/torch_warmup_lr.py new file mode 100644 index 0000000..a5e3650 --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/torch_warmup_lr.py @@ -0,0 +1,91 @@ +from torch.optim.lr_scheduler import _LRScheduler +from torch.optim.lr_scheduler import ReduceLROnPlateau +import numpy as np +import math + +''' +Originally from https://github.com/lehduong/torch-warmup-lr/blob/master/torch_warmup_lr/wrappers.py +''' + +class WarmupLR(_LRScheduler): + def __init__(self, scheduler, init_lr=1e-3, num_warmup=1, warmup_strategy='linear'): + if warmup_strategy not in ['linear', 'cos', 'constant']: + raise ValueError("Expect warmup_strategy to be one of ['linear', 'cos', 'constant'] but got {}".format(warmup_strategy)) + self._scheduler = scheduler + self._init_lr = init_lr + self._num_warmup = num_warmup + self._step_count = 0 + # Define the strategy to warm up learning rate + self._warmup_strategy = warmup_strategy + if warmup_strategy == 'cos': + self._warmup_func = self._warmup_cos + elif warmup_strategy == 'linear': + self._warmup_func = self._warmup_linear + else: + self._warmup_func = self._warmup_const + # save initial learning rate of each param group + # only useful when each param groups having different learning rate + self._format_param() + + def __getattr__(self, name): + return getattr(self._scheduler, name) + + def state_dict(self): + """Returns the state of the scheduler as a :class:`dict`. + + It contains an entry for every variable in self.__dict__ which + is not the optimizer. + """ + wrapper_state_dict = {key: value for key, value in self.__dict__.items() if (key != 'optimizer' and key !='_scheduler')} + wrapped_state_dict = {key: value for key, value in self._scheduler.__dict__.items() if key != 'optimizer'} + return {'wrapped': wrapped_state_dict, 'wrapper': wrapper_state_dict} + + def load_state_dict(self, state_dict): + """Loads the schedulers state. + Arguments: + state_dict (dict): scheduler state. Should be an object returned + from a call to :meth:`state_dict`. + """ + self.__dict__.update(state_dict['wrapper']) + self._scheduler.__dict__.update(state_dict['wrapped']) + + + def _format_param(self): + # learning rate of each param group will increase + # from the min_lr to initial_lr + for group in self._scheduler.optimizer.param_groups: + group['warmup_max_lr'] = group['lr'] + group['warmup_initial_lr'] = min(self._init_lr, group['lr']) + + def _warmup_cos(self, start, end, pct): + cos_out = math.cos(math.pi * pct) + 1 + return end + (start - end)/2.0*cos_out + + def _warmup_const(self, start, end, pct): + return start if pct < 0.9999 else end + + def _warmup_linear(self, start, end, pct): + return (end - start) * pct + start + + def get_lr(self): + lrs = [] + step_num = self._step_count + # warm up learning rate + if step_num <= self._num_warmup: + for group in self._scheduler.optimizer.param_groups: + computed_lr = self._warmup_func(group['warmup_initial_lr'], + group['warmup_max_lr'], + step_num/self._num_warmup) + lrs.append(computed_lr) + else: + lrs = self._scheduler.get_lr() + return lrs + + def step(self, *args): + if self._step_count <= self._num_warmup: + values = self.get_lr() + for param_group, lr in zip(self._scheduler.optimizer.param_groups, values): + param_group['lr'] = lr + self._step_count += 1 + else: + self._scheduler.step(*args) \ No newline at end of file diff --git a/online_testing/baseline_models/MLP_v2rh/training/train_mlp_h5loader.py b/online_testing/baseline_models/MLP_v2rh/training/train_mlp_h5loader.py new file mode 100644 index 0000000..b57120d --- /dev/null +++ b/online_testing/baseline_models/MLP_v2rh/training/train_mlp_h5loader.py @@ -0,0 +1,557 @@ +import torch +from torch.utils.data import Dataset, DataLoader +import numpy as np +import torch.optim as optim +import torch.nn as nn +from tqdm import tqdm +from dataclasses import dataclass +import modulus +from modulus.metrics.general.mse import mse +from loss_energy import loss_energy +from modulus.utils import StaticCaptureTraining, StaticCaptureEvaluateNoGrad +from omegaconf import DictConfig +from modulus.launch.logging import ( + PythonLogger, + LaunchLogger, + initialize_wandb, + RankZeroLoggingWrapper, + initialize_mlflow, +) +from climsim_utils.data_utils import * +from climsim_datapip import climsim_dataset +from climsim_datapip_h5 import climsim_dataset_h5 +from mlp import MLP +import mlp as mlp + +import hydra +from collections.abc import Iterable +from torch.nn.parallel import DistributedDataParallel +from modulus.distributed import DistributedManager +from torch.utils.data.distributed import DistributedSampler +import gc + +@hydra.main(version_base="1.2", config_path="conf", config_name="config") +def main(cfg: DictConfig) -> float: + + DistributedManager.initialize() + dist = DistributedManager() + + grid_path = cfg.climsim_path+'/grid_info/ClimSim_low-res_grid-info.nc' + norm_path = cfg.climsim_path+'/preprocessing/normalizations/' + grid_info = xr.open_dataset(grid_path) + input_mean = xr.open_dataset(norm_path + cfg.input_mean) + input_max = xr.open_dataset(norm_path + cfg.input_max) + input_min = xr.open_dataset(norm_path + cfg.input_min) + output_scale = xr.open_dataset(norm_path + cfg.output_scale) + # qc_lbd = xr.open_dataset(norm_path + cfg.qc_lbd) + # qi_lbd = xr.open_dataset(norm_path + cfg.qi_lbd) + + lbd_qc = np.loadtxt(norm_path + cfg.qc_lbd, delimiter=',') + lbd_qi = np.loadtxt(norm_path + cfg.qi_lbd, delimiter=',') + + data = data_utils(grid_info = grid_info, + input_mean = input_mean, + input_max = input_max, + input_min = input_min, + output_scale = output_scale) + + # set variables to subset + if cfg.variable_subsets == 'v1': + data.set_to_v1_vars() + elif cfg.variable_subsets == 'v1_dyn': + data.set_to_v1_dyn_vars() + elif cfg.variable_subsets == 'v2': + data.set_to_v2_vars() + elif cfg.variable_subsets == 'v2_dyn': + data.set_to_v2_dyn_vars() + elif cfg.variable_subsets == 'v2_rh': + data.set_to_v2_rh_vars() + elif cfg.variable_subsets == 'v3': + data.set_to_v3_vars() + elif cfg.variable_subsets == 'v4': + data.set_to_v4_vars() + else: + raise ValueError('Unknown variable subset') + + input_size = data.input_feature_len + output_size = data.target_feature_len + + input_sub, input_div, out_scale = data.save_norm(write=False) + + + # Create dataset instances + # check if cfg.data_path + cfg.train_input exist + # if os.path.exists(cfg.data_path + cfg.train_input): + # train_input_path = cfg.data_path + cfg.train_input + # train_target_path = cfg.data_path + cfg.train_target + # else: + # #make train_input_path a list of all paths of cfg.data_path +'/*/'+cfg.train_input + # train_input_path = [f for f in glob.glob(cfg.data_path +'/*/'+cfg.train_input)] + # train_target_path = [f for f in glob.glob(cfg.data_path +'/*/'+cfg.train_target)] + + # print(train_input_path) + + val_input_path = cfg.data_path + cfg.val_input + val_target_path = cfg.data_path + cfg.val_target + if not os.path.exists(cfg.data_path + cfg.val_input): + raise ValueError('Validation input path does not exist') + + #choose dataset class based on cfg.lazy_load + # if cfg.lazy_load: + # if isinstance(train_input_path, list): + # dataset_class = climsim_dataset_lazy_list + # else: + # dataset_class = climsim_dataset_lazy + # else: + # dataset_class = climsim_dataset + + #train_dataset = dataset_class(train_input_path, train_target_path, input_sub, input_div, out_scale, cfg.qinput_prune, cfg.output_prune, cfg.strato_lev, lbd_qc, lbd_qi) + val_dataset = climsim_dataset(val_input_path, val_target_path, input_sub, input_div, out_scale, cfg.qinput_prune, cfg.output_prune, \ + cfg.strato_lev, lbd_qc, lbd_qi, cfg.decouple_cloud, cfg.aggressive_pruning, \ + cfg.strato_lev_qc, cfg.strato_lev_qinput, cfg.strato_lev_tinput, cfg.strato_lev_out, cfg.input_clip, cfg.input_clip_rhonly) + + #train_sampler = DistributedSampler(train_dataset) if dist.distributed else None + val_sampler = DistributedSampler(val_dataset, shuffle=False) if dist.distributed else None + val_loader = DataLoader(val_dataset, + batch_size=cfg.batch_size, + shuffle=False, + sampler=val_sampler, + num_workers=cfg.num_workers) + + train_dataset = climsim_dataset_h5(cfg.data_path, \ + input_sub, input_div, out_scale, cfg.qinput_prune, cfg.output_prune, \ + cfg.strato_lev, lbd_qc, lbd_qi, cfg.decouple_cloud, cfg.aggressive_pruning, \ + cfg.strato_lev_qc, cfg.strato_lev_qinput, cfg.strato_lev_tinput, cfg.strato_lev_out, cfg.input_clip, cfg.input_clip_rhonly) + + train_sampler = DistributedSampler(train_dataset) if dist.distributed else None + + train_loader = DataLoader(train_dataset, + batch_size=cfg.batch_size, + shuffle=False if dist.distributed else True, + sampler=train_sampler, + drop_last=True, + pin_memory=torch.cuda.is_available(), + num_workers=cfg.num_workers) + # Create dataloaders + # train_loader = DataLoader(train_dataset, batch_size=cfg.batch_size, shuffle=True) + #val_loader = DataLoader(val_dataset, batch_size=cfg.batch_size, shuffle=False) + + # train_loader = DataLoader(train_dataset, + # batch_size=cfg.batch_size, + # shuffle=False, + # sampler=train_sampler, + # drop_last=True, + # pin_memory=torch.cuda.is_available(), + # num_workers=cfg.num_workers) + + + + # create model + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + #print('debug: output_size', output_size, output_size//60, output_size%60) + + tmp_output_prune = cfg.output_prune + tmp_strato_lev = cfg.strato_lev_out + tmp_mlp_hidden_dims = cfg.mlp_hidden_dims + if isinstance(tmp_mlp_hidden_dims, Iterable) and not isinstance(tmp_mlp_hidden_dims, list): + print('Input is iterable but not a list. Converting to list...') + tmp_mlp_hidden_dims = list(tmp_mlp_hidden_dims) + else: + print('Input is already a list or not iterable') + + print(f"Type of tmp_mlp_hidden_dims: {type(tmp_mlp_hidden_dims)}") + if isinstance(tmp_mlp_hidden_dims, list): + print('input is list') + else: + print('input is not list') + tmp_mlp_layers = cfg.mlp_layers + print('MLP init arguments: ', input_size, output_size, tmp_mlp_hidden_dims, tmp_mlp_layers, tmp_output_prune, tmp_strato_lev) + model = MLP( + in_dims = input_size, + out_dims = output_size, + hidden_dims = tmp_mlp_hidden_dims, + layers = tmp_mlp_layers, + output_prune = tmp_output_prune, + strato_lev_out = tmp_strato_lev, + ).to(dist.device) + + if len(cfg.restart_path) > 0: + print("Restarting from checkpoint: " + cfg.restart_path) + if dist.distributed: + model_restart = modulus.Module.from_checkpoint(cfg.restart_path).to(dist.device) + if dist.rank == 0: + model.load_state_dict(model_restart.state_dict()) + torch.distributed.barrier() + else: + torch.distributed.barrier() + model.load_state_dict(model_restart.state_dict()) + else: + model_restart = modulus.Module.from_checkpoint(cfg.restart_path).to(dist.device) + model.load_state_dict(model_restart.state_dict()) + + # Set up DistributedDataParallel if using more than a single process. + # The `distributed` property of DistributedManager can be used to + # check this. + if dist.distributed: + ddps = torch.cuda.Stream() + with torch.cuda.stream(ddps): + model = DistributedDataParallel( + model, + device_ids=[dist.local_rank], # Set the device_id to be + # the local rank of this process on + # this node + output_device=dist.device, + broadcast_buffers=dist.broadcast_buffers, + find_unused_parameters=dist.find_unused_parameters, + ) + torch.cuda.current_stream().wait_stream(ddps) + + # create optimizer + if cfg.optimizer == 'adam': + optimizer = optim.Adam(model.parameters(), lr=cfg.learning_rate) + else: + raise ValueError('Optimizer not implemented') + + # create scheduler + if cfg.scheduler_name == 'step': + scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=cfg.scheduler.step.step_size, gamma=cfg.scheduler.step.gamma) + elif cfg.scheduler_name == 'plateau': + scheduler = optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=cfg.scheduler.plateau.factor, patience=cfg.scheduler.plateau.patience, verbose=True) + elif cfg.scheduler_name == 'cosine': + scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=cfg.scheduler.cosine.T_max, eta_min=cfg.scheduler.cosine.eta_min) + else: + raise ValueError('Scheduler not implemented') + + # create loss function + if cfg.loss == 'mse': + loss_fn = mse + criterion = nn.MSELoss() + elif cfg.loss == 'mae': + loss_fn = nn.L1Loss() + criterion = nn.L1Loss() + elif cfg.loss == 'huber': + loss_fn = nn.SmoothL1Loss() + criterion = nn.SmoothL1Loss() + else: + raise ValueError('Loss function not implemented') + + def loss_weighted(pred, target): + if cfg.variable_subsets in ['v1','v1_dyn']: + raise ValueError('Weighted loss not implemented for v1/v1_dyn') + # dt_weight = 1.0 + # dq1_weight = 1.0 + # dq2_weight = 1.0 + # dq3_weight = 1.0 + # du_weight = 1.0 + # dv_weight = 1.0 + # d2d_weight = 1.0 + + # pred should be of shape (batch_size, 368) + # target should be of shape (batch_size, 368) + # 0-60: dt, 60-120 dq1, 120-180 dq2, 180-240 dq3, 240-300 du, 300-360 dv, 360-368 d2d + #only do the calculation if any of the weights are not 1.0 + if cfg.dt_weight == 1.0 and cfg.dq1_weight == 1.0 and cfg.dq2_weight == 1.0 and cfg.dq3_weight == 1.0 and cfg.du_weight == 1.0 and cfg.dv_weight == 1.0 and cfg.d2d_weight == 1.0: + return criterion(pred, target) + pred[:,0:60] = pred[:,0:60] * cfg.dt_weight + pred[:,60:120] = pred[:,60:120] * cfg.dq1_weight + pred[:,120:180] = pred[:,120:180] * cfg.dq2_weight + pred[:,180:240] = pred[:,180:240] * cfg.dq3_weight + pred[:,240:300] = pred[:,240:300] * cfg.du_weight + pred[:,300:360] = pred[:,300:360] * cfg.dv_weight + pred[:,360:368] = pred[:,360:368] * cfg.d2d_weight + target[:,0:60] = target[:,0:60] * cfg.dt_weight + target[:,60:120] = target[:,60:120] * cfg.dq1_weight + target[:,120:180] = target[:,120:180] * cfg.dq2_weight + target[:,180:240] = target[:,180:240] * cfg.dq3_weight + target[:,240:300] = target[:,240:300] * cfg.du_weight + target[:,300:360] = target[:,300:360] * cfg.dv_weight + target[:,360:368] = target[:,360:368] * cfg.d2d_weight + return criterion(pred, target) + + # Initialize the console logger + logger = PythonLogger("main") # General python logger + + if cfg.logger == 'wandb': + # Initialize the MLFlow logger + initialize_wandb( + project=cfg.wandb.project, + name=cfg.expname, + entity="zeyuan_hu", + mode="online", + ) + LaunchLogger.initialize(use_wandb=True) + else: + # Initialize the MLFlow logger + initialize_mlflow( + experiment_name=cfg.mlflow.project, + experiment_desc="Modulus launch development", + run_name=cfg.expname, + run_desc="Modulus Training", + user_name="Modulus User", + mode="offline", + ) + LaunchLogger.initialize(use_mlflow=True) + + if cfg.save_top_ckpts<=0: + logger.info("Checkpoints should be set >0, setting to 1") + num_top_ckpts = 1 + else: + num_top_ckpts = cfg.save_top_ckpts + + if cfg.top_ckpt_mode == 'min': + top_checkpoints = [(float('inf'), None)] * num_top_ckpts + elif cfg.top_ckpt_mode == 'max': + top_checkpoints = [(-float('inf'), None)] * num_top_ckpts + else: + raise ValueError('Unknown top_ckpt_mode') + + if dist.rank == 0: + save_path = os.path.join(cfg.save_path, cfg.expname) #cfg.save_path + cfg.expname + save_path_ckpt = os.path.join(save_path, 'ckpt') + if not os.path.exists(save_path): + os.makedirs(save_path) + if not os.path.exists(save_path_ckpt): + os.makedirs(save_path_ckpt) + + if dist.world_size > 1: + torch.distributed.barrier() + + + hyai = data.grid_info['hyai'].values + hybi = data.grid_info['hybi'].values + hyai = torch.tensor(hyai, dtype=torch.float32).to(device) + hybi = torch.tensor(hybi, dtype=torch.float32).to(device) + # input_sub, input_div, out_scale = data.save_norm(write=False) + input_sub_device = torch.tensor(input_sub, dtype=torch.float32).to(device) + input_div_device = torch.tensor(input_div, dtype=torch.float32).to(device) + out_scale_device = torch.tensor(out_scale, dtype=torch.float32).to(device) + + @StaticCaptureTraining( + model=model, + optim=optimizer, + # cuda_graph_warmup=11, + ) + def training_step(model, data_input, target): + output = model(data_input) + loss = loss_weighted(output, target) + return loss + @StaticCaptureEvaluateNoGrad(model=model, use_graphs=False) + def eval_step_forward(my_model, invar): + return my_model(invar) + #training block + logger.info("Starting Training!") + # Basic training block with tqdm for progress tracking + for epoch in range(cfg.epochs): + if dist.distributed: + train_sampler.set_epoch(epoch) + # idx_train_loader = epoch % len(train_input_path) + # if epoch >0: + # #free the memory of previously defined train_dataset and train_loader + # del train_dataset.inputs + # del train_dataset.targets + # del train_dataset + # del train_loader + # torch.cuda.empty_cache() + # gc.collect() + # logger.info(f"Training epoch {epoch+1}/{cfg.epochs} with train_input_path: {train_input_path[idx_train_loader]}") + # train_dataset = climsim_dataset(train_input_path[idx_train_loader], train_target_path[idx_train_loader], \ + # input_sub, input_div, out_scale, cfg.qinput_prune, cfg.output_prune, \ + # cfg.strato_lev, lbd_qc, lbd_qi, cfg.decouple_cloud, cfg.aggressive_pruning, \ + # cfg.strato_lev_qc, cfg.strato_lev_qinput, cfg.strato_lev_tinput, cfg.input_clip, cfg.input_clip_rhonly) + + # train_sampler = DistributedSampler(train_dataset) if dist.distributed else None + # if dist.distributed: + # train_sampler.set_epoch(epoch) + # train_loader = DataLoader(train_dataset, + # batch_size=cfg.batch_size, + # shuffle=False, + # sampler=train_sampler, + # drop_last=True, + # pin_memory=torch.cuda.is_available(), + # num_workers=cfg.num_workers) + # wrap the epoch in launch logger to control frequency of output for console logs + with LaunchLogger("train", epoch=epoch, mini_batch_log_freq=10) as launchlog: + # model.train() + # Wrap train_loader with tqdm for a progress bar + train_loop = tqdm(train_loader, desc=f'Epoch {epoch+1}') + current_step = 0 + for data_input, target in train_loop: + if cfg.early_stop_step > 0 and current_step > cfg.early_stop_step: + break + # if cfg.output_prune: # this is currently done in the dataset class + # # the following code only works for the v2/v3 output cases! + # target[:,60:60+cfg.strato_lev] = 0 + # target[:,120:120+cfg.strato_lev] = 0 + # target[:,180:180+cfg.strato_lev] = 0 + data_input, target = data_input.to(device), target.to(device) + # optimizer.zero_grad() + # output = model(data_input) + # if cfg.do_energy_loss: + # ps_raw = data_input[:,1500]*input_div[1500]+input_sub[1500] + # loss_energy_train = loss_energy(output, target, ps_raw, hyai, hybi, out_scale_device)*cfg.energy_loss_weight + # loss_orig = loss_weighted(output, target) + # loss = loss_orig + loss_energy_train + # else: + # loss = loss_weighted(output, target) + # loss.backward() + loss = training_step(model, data_input, target) + # max_grad = max(p.grad.abs().max() for p in model.parameters() if p.grad is not None) + # # Initialize a list to store the L2 norms of each parameter's gradient + # l2_norms = [] + + # for p in model.parameters(): + # if p.grad is not None: + # # Calculate the L2 norm for each parameter's gradient and add it to the list + # l2_norms.append(torch.norm(p.grad, p=2)) + + # # Calculate the mean of the L2 norms + # mean_l2_norm = torch.mean(torch.stack(l2_norms)) + + #optimizer.step() + # del data_input, target, output + #loss = training_step(data_input, target) + # scheduler.step() + #launchlog.log_minibatch({"loss_train": loss.detach().cpu().numpy()}) + #if dist.rank == 0: + if cfg.do_energy_loss: + launchlog.log_minibatch({"loss_train": loss.detach().cpu().numpy(), "loss_energy_train": loss_energy_train.detach().cpu().numpy(), "lr": optimizer.param_groups[0]["lr"], "loss_orig": loss_orig.detach().cpu().numpy()}) + else: + launchlog.log_minibatch({"loss_train": loss.detach().cpu().numpy(), "lr": optimizer.param_groups[0]["lr"]}) + # Update the progress bar description with the current loss + train_loop.set_description(f'Epoch {epoch+1}') + train_loop.set_postfix(loss=loss.item()) + current_step += 1 + #launchlog.log_epoch({"Learning Rate": optimizer.param_groups[0]["lr"]}) + + # model.eval() + val_loss = 0.0 + if cfg.do_energy_loss: + val_energy_loss = 0.0 + val_orig = 0.0 + num_samples_processed = 0 + val_loop = tqdm(val_loader, desc=f'Epoch {epoch+1}/1 [Validation]') + current_step = 0 + for data_input, target in val_loop: + if cfg.early_stop_step > 0 and current_step > cfg.early_stop_step: + break + # if cfg.output_prune: + # # the following code only works for the v2/v3 output cases! + # target[:,60:60+cfg.strato_lev] = 0 + # target[:,120:120+cfg.strato_lev] = 0 + # target[:,180:180+cfg.strato_lev] = 0 + # Move data to the device + data_input, target = data_input.to(device), target.to(device) + + output = eval_step_forward(model, data_input) + if cfg.do_energy_loss: + ps_raw = data_input[:,1500]*input_div[1500]+input_sub[1500] + loss_energy_train = loss_energy(output, target, ps_raw, hyai, hybi, out_scale_device)*cfg.energy_loss_weight + loss_orig = loss_weighted(output, target) + loss = loss_orig + loss_energy_train + else: + loss = loss_weighted(output, target) + val_loss += loss.item() * data_input.size(0) + num_samples_processed += data_input.size(0) + + # Calculate and update the current average loss + current_val_loss_avg = val_loss / num_samples_processed + val_loop.set_postfix(loss=current_val_loss_avg) + current_step += 1 + if cfg.do_energy_loss: + val_energy_loss += loss_energy_train.item() * data_input.size(0) + val_orig += loss_orig.item() * data_input.size(0) + current_val_loss_avg_energy = val_energy_loss / num_samples_processed + current_val_loss_avg_orig = val_orig / num_samples_processed + del data_input, target, output + + + # if dist.rank == 0: + #all reduce the loss + if dist.world_size > 1: + current_val_loss_avg = torch.tensor(current_val_loss_avg, device=dist.device) + torch.distributed.all_reduce(current_val_loss_avg) + current_val_loss_avg = current_val_loss_avg.item() / dist.world_size + + if dist.rank == 0: + if cfg.do_energy_loss: + launchlog.log_epoch({"loss_valid": current_val_loss_avg, "loss_energy_valid": current_val_loss_avg_energy, "loss_orig_valid": current_val_loss_avg_orig}) + else: + launchlog.log_epoch({"loss_valid": current_val_loss_avg}) + + current_metric = current_val_loss_avg + # Save the top checkpoints + if cfg.top_ckpt_mode == 'min': + is_better = current_metric < max(top_checkpoints, key=lambda x: x[0])[0] + elif cfg.top_ckpt_mode == 'max': + is_better = current_metric > min(top_checkpoints, key=lambda x: x[0])[0] + + #print('debug: is_better', is_better, current_metric, top_checkpoints) + if len(top_checkpoints) == 0 or is_better: + ckpt_path = os.path.join(save_path_ckpt, f'ckpt_epoch_{epoch+1}_metric_{current_metric:.4f}.mdlus') + if dist.distributed: + model.module.save(ckpt_path) + else: + model.save(ckpt_path) + top_checkpoints.append((current_metric, ckpt_path)) + # Sort and keep top 5 based on max/min goal at the beginning + if cfg.top_ckpt_mode == 'min': + top_checkpoints.sort(key=lambda x: x[0], reverse=False) + elif cfg.top_ckpt_mode == 'max': + top_checkpoints.sort(key=lambda x: x[0], reverse=True) + # delete the worst checkpoint + if len(top_checkpoints) > num_top_ckpts: + worst_ckpt = top_checkpoints.pop() + print(f"Removing worst checkpoint: {worst_ckpt[1]}") + if worst_ckpt[1] is not None: + os.remove(worst_ckpt[1]) + + if cfg.scheduler_name == 'plateau': + scheduler.step(current_val_loss_avg) + else: + scheduler.step() + + if dist.world_size > 1: + torch.distributed.barrier() + + if dist.rank == 0: + logger.info("Start recovering the model from the top checkpoint to do torchscript conversion") + #recover the model weight to the top checkpoint + model = modulus.Module.from_checkpoint(top_checkpoints[0][1]).to(device) + + # Save the model + save_file = os.path.join(save_path, 'model.mdlus') + model.save(save_file) + # convert the model to torchscript + mlp.device = "cpu" + device = torch.device("cpu") + model_inf = modulus.Module.from_checkpoint(save_file).to(device) + scripted_model = torch.jit.script(model_inf) + scripted_model = scripted_model.eval() + save_file_torch = os.path.join(save_path, 'model.pt') + scripted_model.save(save_file_torch) + # save input and output normalizations + data.save_norm(save_path, True) + logger.info("saved input/output normalizations and model to: " + save_path) + + mdlus_directory = os.path.join(save_path, 'ckpt') + for filename in os.listdir(mdlus_directory): + print(filename) + if filename.endswith(".mdlus"): + full_path = os.path.join(mdlus_directory, filename) + print(full_path) + model = modulus.Module.from_checkpoint(full_path).to("cpu") + scripted_model = torch.jit.script(model) + scripted_model = scripted_model.eval() + + # Save the TorchScript model + save_path_torch = os.path.join(mdlus_directory, filename.replace('.mdlus', '.pt')) + scripted_model.save(save_path_torch) + print('save path for ckpt torchscript:', save_path_torch) + + + logger.info("Training complete!") + + return current_val_loss_avg + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v4/training/climsim_datapip.py b/online_testing/baseline_models/Unet_v4/training/climsim_datapip.py new file mode 100644 index 0000000..7ba1605 --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/climsim_datapip.py @@ -0,0 +1,142 @@ +# #import xarray as xr +# from torch.utils.data import Dataset +# import numpy as np +# import torch + +#import xarray as xr +from torch.utils.data import Dataset +import numpy as np +import torch + +class climsim_dataset(Dataset): + def __init__(self, + input_paths, + target_paths, + input_sub, + input_div, + out_scale, + qinput_prune, + output_prune, + strato_lev, + qc_lbd, + qi_lbd, + decouple_cloud=False, + aggressive_pruning=False, + strato_lev_qc=30, + strato_lev_qinput=None, + strato_lev_tinput=None, + strato_lev_out = 12, + input_clip=False, + input_clip_rhonly=False,): + """ + Args: + input_paths (str): Path to the .npy file containing the inputs. + target_paths (str): Path to the .npy file containing the targets. + input_sub (np.ndarray): Input data mean. + input_div (np.ndarray): Input data standard deviation. + out_scale (np.ndarray): Output data standard deviation. + qinput_prune (bool): Whether to prune the input data. + output_prune (bool): Whether to prune the output data. + strato_lev (int): Number of levels in the stratosphere. + qc_lbd (np.ndarray): Coefficients for the exponential transformation of qc. + qi_lbd (np.ndarray): Coefficients for the exponential transformation of qi. + """ + self.inputs = np.load(input_paths) + self.targets = np.load(target_paths) + self.input_paths = input_paths + self.target_paths = target_paths + self.input_sub = input_sub + self.input_div = input_div + self.out_scale = out_scale + self.qinput_prune = qinput_prune + self.output_prune = output_prune + self.strato_lev = strato_lev + self.qc_lbd = qc_lbd + self.qi_lbd = qi_lbd + self.decouple_cloud = decouple_cloud + self.aggressive_pruning = aggressive_pruning + self.strato_lev_qc = strato_lev_qc + self.strato_lev_out = strato_lev_out + self.input_clip = input_clip + if strato_lev_qinput <0: + self.strato_lev_qinput = strato_lev + else: + self.strato_lev_qinput = strato_lev_qinput + self.strato_lev_tinput = strato_lev_tinput + self.input_clip_rhonly = input_clip_rhonly + + if self.strato_lev_qinput 0: + x[0:self.strato_lev_tinput] = 0 + + if self.input_clip: + if self.input_clip_rhonly: + x[60:120] = np.clip(x[60:120], 0, 1.2) + else: + x[60:120] = np.clip(x[60:120], 0, 1.2) # for RH, clip to (0,1.2) + x[360:720] = np.clip(x[360:720], -0.5, 0.5) # for dyn forcing, clip to (-0.5,0.5) + x[720:1320] = np.clip(x[720:1320], -3, 3) # for phy tendencies clip to (-3,3) + + + if self.output_prune: + y[60:60+self.strato_lev_out] = 0 + y[120:120+self.strato_lev_out] = 0 + y[180:180+self.strato_lev_out] = 0 + y[240:240+self.strato_lev_out] = 0 + y[300:300+self.strato_lev_out] = 0 + return torch.tensor(x, dtype=torch.float32), torch.tensor(y, dtype=torch.float32) \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v4/training/climsim_datapip_h5.py b/online_testing/baseline_models/Unet_v4/training/climsim_datapip_h5.py new file mode 100644 index 0000000..82eacc9 --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/climsim_datapip_h5.py @@ -0,0 +1,194 @@ +# #import xarray as xr +# from torch.utils.data import Dataset +# import numpy as np +# import torch + +#import xarray as xr +from torch.utils.data import Dataset +import numpy as np +import torch +import glob +import h5py + +class climsim_dataset_h5(Dataset): + def __init__(self, + parent_path, + input_sub, + input_div, + out_scale, + qinput_prune, + output_prune, + strato_lev, + qc_lbd, + qi_lbd, + decouple_cloud=False, + aggressive_pruning=False, + strato_lev_qc=30, + strato_lev_qinput=None, + strato_lev_tinput=None, + strato_lev_out = 12, + input_clip=False, + input_clip_rhonly=False,): + """ + Args: + parent_path (str): Path to the .zarr file containing the inputs and targets. + input_sub (np.ndarray): Input data mean. + input_div (np.ndarray): Input data standard deviation. + out_scale (np.ndarray): Output data standard deviation. + qinput_prune (bool): Whether to prune the input data. + output_prune (bool): Whether to prune the output data. + strato_lev (int): Number of levels in the stratosphere. + qc_lbd (np.ndarray): Coefficients for the exponential transformation of qc. + qi_lbd (np.ndarray): Coefficients for the exponential transformation of qi. + """ + self.parent_path = parent_path + self.input_paths = glob.glob(f'{parent_path}/**/train_input.h5', recursive=True) + print('input paths:', self.input_paths) + if not self.input_paths: + raise FileNotFoundError("No 'train_input.h5' files found under the specified parent path.") + self.target_paths = [path.replace('train_input.h5', 'train_target.h5') for path in self.input_paths] + + # Initialize lists to hold the samples count per file + self.samples_per_file = [] + for input_path in self.input_paths: + with h5py.File(input_path, 'r') as file: # Open the file to read the number of samples + # Assuming dataset is named 'data', adjust if different + self.samples_per_file.append(file['data'].shape[0]) + + self.cumulative_samples = np.cumsum([0] + self.samples_per_file) + self.total_samples = self.cumulative_samples[-1] + + self.input_files = {} + self.target_files = {} + for input_path, target_path in zip(self.input_paths, self.target_paths): + self.input_files[input_path] = h5py.File(input_path, 'r') + self.target_files[target_path] = h5py.File(target_path, 'r') + + # for input_path, target_path in zip(self.input_paths, self.target_paths): + # # Lazily open zarr files and keep the reference + # self.input_zarrs[input_path] = zarr.open(input_path, mode='r') + # self.target_zarrs[target_path] = zarr.open(target_path, mode='r') + + self.input_sub = input_sub + self.input_div = input_div + self.out_scale = out_scale + self.qinput_prune = qinput_prune + self.output_prune = output_prune + self.strato_lev = strato_lev + self.qc_lbd = qc_lbd + self.qi_lbd = qi_lbd + self.decouple_cloud = decouple_cloud + self.aggressive_pruning = aggressive_pruning + self.strato_lev_qc = strato_lev_qc + self.strato_lev_out = strato_lev_out + self.input_clip = input_clip + if strato_lev_qinput <0: + self.strato_lev_qinput = strato_lev + else: + self.strato_lev_qinput = strato_lev_qinput + self.strato_lev_tinput = strato_lev_tinput + self.input_clip_rhonly = input_clip_rhonly + + if self.strato_lev_qinput = self.total_samples: + raise IndexError("Index out of bounds") + # Find which file the index falls into + # file_idx = np.searchsorted(self.cumulative_samples, idx+1) - 1 + # local_idx = idx - self.cumulative_samples[file_idx] + + # x = zarr.open(self.input_paths[file_idx], mode='r')[local_idx] + # y = zarr.open(self.target_paths[file_idx], mode='r')[local_idx] + file_idx, local_idx = self._find_file_and_index(idx) + + + # x = self.input_zarrs[self.input_paths[file_idx]][local_idx] + # y = self.target_zarrs[self.target_paths[file_idx]][local_idx] + # Open the HDF5 files and read the data for the given index + input_file = self.input_files[self.input_paths[file_idx]] + target_file = self.target_files[self.target_paths[file_idx]] + x = input_file['data'][local_idx] + y = target_file['data'][local_idx] + + # with h5py.File(self.input_paths[file_idx], 'r') as input_file: + # x = input_file['data'][local_idx] # Adjust 'data' if your dataset has a different name + + # with h5py.File(self.target_paths[file_idx], 'r') as target_file: + # y = target_file['data'][local_idx] # Adjust 'data' if your dataset has a different name + + # x = np.load(self.input_paths,mmap_mode='r')[idx] + # y = np.load(self.target_paths,mmap_mode='r')[idx] + x[120:180] = 1 - np.exp(-x[120:180] * self.qc_lbd) + x[180:240] = 1 - np.exp(-x[180:240] * self.qi_lbd) + # Avoid division by zero in input_div and set corresponding x to 0 + # input_div_nonzero = self.input_div != 0 + # x = np.where(input_div_nonzero, (x - self.input_sub) / self.input_div, 0) + x = (x - self.input_sub) / self.input_div + #make all inf and nan values 0 + x[np.isnan(x)] = 0 + x[np.isinf(x)] = 0 + + y = y * self.out_scale + if self.decouple_cloud: + x[120:240] = 0 + x[60*14:60*16] =0 + x[60*19:60*21] =0 + elif self.aggressive_pruning: + # for profiles, only keep stratosphere temperature. prune all other profiles in stratosphere + x[60:60+self.strato_lev_qinput] = 0 # prune RH + x[120:120+self.strato_lev_qc] = 0 + x[180:180+self.strato_lev_qinput] = 0 + x[240:240+self.strato_lev] = 0 # prune u + x[300:300+self.strato_lev] = 0 # prune v + x[360:360+self.strato_lev] = 0 + x[420:420+self.strato_lev] = 0 + x[480:480+self.strato_lev] = 0 + x[540:540+self.strato_lev] = 0 + x[600:600+self.strato_lev] = 0 + x[660:660+self.strato_lev] = 0 + x[720:720+self.strato_lev] = 0 + x[780:780+self.strato_lev_qinput] = 0 + x[840:840+self.strato_lev_qc] = 0 # prune qc_phy + x[900:900+self.strato_lev_qinput] = 0 + x[960:960+self.strato_lev] = 0 + x[1020:1020+self.strato_lev] = 0 + x[1080:1080+self.strato_lev_qinput] = 0 + x[1140:1140+self.strato_lev_qc] = 0 # prune qc_phy in previous time step + x[1200:1200+self.strato_lev_qinput] = 0 + x[1260:1260+self.strato_lev] = 0 + x[1515] = 0 #SNOWHICE + elif self.qinput_prune: + # x[:,60:60+self.strato_lev] = 0 + x[120:120+self.strato_lev] = 0 + x[180:180+self.strato_lev] = 0 + + if self.strato_lev_tinput >0: + x[0:self.strato_lev_tinput] = 0 + + if self.input_clip: + if self.input_clip_rhonly: + x[60:120] = np.clip(x[60:120], 0, 1.2) + else: + x[60:120] = np.clip(x[60:120], 0, 1.2) # for RH, clip to (0,1.2) + x[360:720] = np.clip(x[360:720], -0.5, 0.5) # for dyn forcing, clip to (-0.5,0.5) + x[720:1320] = np.clip(x[720:1320], -3, 3) # for phy tendencies clip to (-3,3) + + + if self.output_prune: + y[60:60+self.strato_lev_out] = 0 + y[120:120+self.strato_lev_out] = 0 + y[180:180+self.strato_lev_out] = 0 + y[240:240+self.strato_lev_out] = 0 + y[300:300+self.strato_lev_out] = 0 + return torch.tensor(x, dtype=torch.float32), torch.tensor(y, dtype=torch.float32) \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v4/training/climsim_unet.py b/online_testing/baseline_models/Unet_v4/training/climsim_unet.py new file mode 100644 index 0000000..8229fda --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/climsim_unet.py @@ -0,0 +1,398 @@ +import numpy as np +import torch +import torch.optim as optim +import torch.nn as nn +from dataclasses import dataclass +import modulus +import nvtx +from layers import ( + Conv1d, + GroupNorm, + Linear, + UNetBlock, + UNetBlock_noatten, + UNetBlock_atten, + ScriptableAttentionOp, +) +from torch.nn.functional import silu +from typing import List + +""" +Contains the code for the Unet and its training. +""" + +device = 'cuda' if torch.cuda.is_available() else 'cpu' + +@dataclass +class ClimsimUnetMetaData(modulus.ModelMetaData): + name: str = "ClimsimUnet" + # Optimization + jit: bool = True + cuda_graphs: bool = True + amp_cpu: bool = True + amp_gpu: bool = True + +class ClimsimUnet(modulus.Module): + def __init__( + self, + num_vars_profile: int, + num_vars_scalar: int, + num_vars_profile_out: int, + num_vars_scalar_out: int, + seq_resolution: int = 64, + label_dim: int = 0, + augment_dim: int = 0, + model_channels: int = 128, + channel_mult: List[int] = [1, 2, 2, 2], + channel_mult_emb: int = 4, + num_blocks: int = 4, + attn_resolutions: List[int] = [16], + dropout: float = 0.10, + label_dropout: float = 0.0, + embedding_type: str = "positional", + channel_mult_noise: int = 1, + encoder_type: str = "standard", + decoder_type: str = "standard", + resample_filter: List[int] = [1, 1], + n_model_levels: int = 60, + # qinput_prune=False, + output_prune=False, + strato_lev=12, + loc_embedding: bool = False, + skip_conv: bool = False, + prev_2d: bool = False + ): + + super().__init__(meta=ClimsimUnetMetaData()) + # check if hidden_dims is a list of hidden_dims + self.num_vars_profile = num_vars_profile + self.num_vars_scalar = num_vars_scalar + self.num_vars_profile_out = num_vars_profile_out + self.num_vars_scalar_out = num_vars_scalar_out + self.model_channels = model_channels + + self.in_channels = num_vars_profile + num_vars_scalar + 7 # +(8-1)=7 for the location embedding + self.out_channels = num_vars_profile_out + num_vars_scalar_out + # print('1: out_channels', self.out_channels) + + # valid_encoder_types = ["standard", "skip", "residual"] + valid_encoder_types = ["standard"] + if encoder_type not in valid_encoder_types: + raise ValueError( + f"Invalid encoder_type: {encoder_type}. Must be one of {valid_encoder_types}." + ) + + # valid_decoder_types = ["standard", "skip"] + valid_decoder_types = ["standard"] + if decoder_type not in valid_decoder_types: + raise ValueError( + f"Invalid decoder_type: {decoder_type}. Must be one of {valid_decoder_types}." + ) + + self.label_dropout = label_dropout + self.embedding_type = embedding_type + + self.seq_resolution = seq_resolution + self.label_dim = label_dim + self.augment_dim = augment_dim + self.model_channels = model_channels + self.channel_mult = channel_mult + self.channel_mult_emb = channel_mult_emb + self.num_blocks = num_blocks + self.attn_resolutions = attn_resolutions + self.dropout = dropout + self.channel_mult_noise = channel_mult_noise + self.encoder_type = encoder_type + self.decoder_type = decoder_type + self.resample_filter = resample_filter + self.n_model_levels = n_model_levels + self.input_padding = (seq_resolution-n_model_levels,0) + # self.qinput_prune=qinput_prune + self.output_prune=output_prune + self.strato_lev=strato_lev + self.loc_embedding = loc_embedding + self.skip_conv = skip_conv + self.prev_2d = prev_2d + + # emb_channels = model_channels * channel_mult_emb + # self.emb_channels = emb_channels + # noise_channels = model_channels * channel_mult_noise + init = dict(init_mode="xavier_uniform") + init_zero = dict(init_mode="xavier_uniform", init_weight=1e-5) + init_attn = dict(init_mode="xavier_uniform", init_weight=0.2**0.5) + block_kwargs = dict( + # emb_channels=emb_channels, + num_heads=1, + dropout=dropout, + skip_scale=0.5**0.5, + eps=1e-6, + resample_filter=resample_filter, + resample_proj=True, + adaptive_scale=False, + init=init, + init_zero=init_zero, + init_attn=init_attn, + ) + + + # Encoder. + self.enc = torch.nn.ModuleDict() + cout = self.in_channels + caux = self.in_channels + for level, mult in enumerate(channel_mult): + res = seq_resolution >> level + if level == 0: + cin = cout + cout = model_channels + # comment out the first conv layer that supposed to be the input embedding + # because we will have the input embedding manusally for profile vars and scalar vars + self.enc[f"{res}_conv"] = Conv1d( + in_channels=cin, out_channels=cout, kernel=3, **init + ) + else: + self.enc[f"{res}_down"] = UNetBlock_noatten( + in_channels=cout, out_channels=cout, down=True, **block_kwargs + ) + if encoder_type == "skip": + self.enc[f"{res}_aux_down"] = Conv1d( + in_channels=caux, + out_channels=caux, + kernel=0, + down=True, + resample_filter=resample_filter, + ) + self.enc[f"{res}_aux_skip"] = Conv1d( + in_channels=caux, out_channels=cout, kernel=1, **init + ) + if encoder_type == "residual": + self.enc[f"{res}_aux_residual"] = Conv1d( + in_channels=caux, + out_channels=cout, + kernel=3, + down=True, + resample_filter=resample_filter, + fused_resample=True, + **init, + ) + caux = cout + for idx in range(num_blocks): + cin = cout + cout = model_channels * mult + attn = res in attn_resolutions + if attn: + self.enc[f"{res}_block{idx}"] = UNetBlock_atten( + in_channels=cin, + out_channels=cout, + emb_channels=0, + up=False, + down=False, + channels_per_head=64, + **block_kwargs + ) + else: + self.enc[f"{res}_block{idx}"] = UNetBlock_noatten( + in_channels=cin, + out_channels=cout, + attention=attn, + emb_channels=0, + up=False, + down=False, + channels_per_head=64, + **block_kwargs + ) + skips = [ + block.out_channels for name, block in self.enc.items() if "aux" not in name + ] + + self.skip_conv_layer = [] #torch.nn.ModuleList() + # for each skip connection, add a 1x1 conv layer initialized as identity connection, with an option to train the weight + for idx, skip in enumerate(skips): + conv = Conv1d(in_channels=skip, out_channels=skip, kernel=1) + torch.nn.init.dirac_(conv.weight) + torch.nn.init.zeros_(conv.bias) + if not self.skip_conv: + conv.weight.requires_grad = False + conv.bias.requires_grad = False + self.skip_conv_layer.append(conv) + self.skip_conv_layer = torch.nn.ModuleList(self.skip_conv_layer) + # XX doulbe check if the above is correct + + # Decoder. + self.dec = torch.nn.ModuleDict() + self.dec_aux_norm = torch.nn.ModuleDict() + self.dec_aux_conv = torch.nn.ModuleDict() + for level, mult in reversed(list(enumerate(channel_mult))): + res = seq_resolution >> level + if level == len(channel_mult) - 1: + self.dec[f"{res}_in0"] = UNetBlock_atten( + in_channels=cout, out_channels=cout, attention=True, **block_kwargs + ) + self.dec[f"{res}_in1"] = UNetBlock_noatten( + in_channels=cout, out_channels=cout, **block_kwargs + ) + else: + self.dec[f"{res}_up"] = UNetBlock_noatten( + in_channels=cout, out_channels=cout, up=True, **block_kwargs + ) + for idx in range(num_blocks + 1): + cin = cout + skips.pop() + cout = model_channels * mult + attn = idx == num_blocks and res in attn_resolutions + if attn: + self.dec[f"{res}_block{idx}"] = UNetBlock_atten( + in_channels=cin, out_channels=cout, attention=attn, **block_kwargs + ) + else: + self.dec[f"{res}_block{idx}"] = UNetBlock_noatten( + in_channels=cin, out_channels=cout, attention=attn, **block_kwargs + ) + if decoder_type == "skip" or level == 0: + # if decoder_type == "skip" and level < len(channel_mult) - 1: + # self.dec[f"{res}_aux_up"] = Conv1d( + # in_channels=out_channels, + # out_channels=out_channels, + # kernel=0, + # up=True, + # resample_filter=resample_filter, + # ) + self.dec_aux_norm[f"{res}_aux_norm"] = GroupNorm( + num_channels=cout, eps=1e-6 + ) + ## comment out the last conv layer that supposed to recover the output channels + ## we will manually recover the output channels + self.dec_aux_conv[f"{res}_aux_conv"] = Conv1d( + in_channels=cout, out_channels=self.out_channels, kernel=3, **init_zero + ) + + # create a 385x8 trainable weight embedding for the input + self.emb_loc = torch.nn.Parameter(torch.randn(385, 8), requires_grad=True) + + def forward(self, x): + ''' + x: (batch, num_vars_profile*levels+num_vars_scalar) + # x_profile: (batch, num_vars_profile, levels) + # x_scalar: (batch, num_vars_scalar) + ''' + + # if self.qinput_prune: + # x = x.clone() # Clone the tensor to ensure you're not modifying the original tensor in-place + # x[:, 60:60+self.strato_lev] = x[:, 60:60+self.strato_lev].clone().zero_() # Set stratosphere q1 to 0 + # x[:, 120:120+self.strato_lev] = x[:, 120:120+self.strato_lev].clone().zero_() # Set stratosphere q2 to 0 + # x[:, 180:180+self.strato_lev] = x[:, 180:180+self.strato_lev].clone().zero_() # Set stratosphere q3 to 0 + + if not self.prev_2d: + x = x.clone() + x[:,-8:-3] = x[:,-8:-3].clone().zero_() + + # split x into x_profile and x_scalar + x_profile = x[:,:self.num_vars_profile*self.n_model_levels] + x_scalar = x[:,self.num_vars_profile*self.n_model_levels:-1] + x_loc = x[:,-1] # location index + + # right now x_loc is only 1-384, use 0 to represent not using position embedding + if not self.loc_embedding: + x_loc[:] = 0.0*x_loc[:] + #convert x_loc to embedding, first use one-hot encoding to convert x_loc to (batch, 385) + # convert x_loc to one-hot encoding + x_loc = torch.nn.functional.one_hot(x_loc.to(torch.int64), num_classes=385) + # convert x_loc from int to float + x_loc = x_loc.to(torch.float32) + # convert x_loc to embedding + x_loc = torch.matmul(x_loc, self.emb_loc) # (batch, 8) + + # print(x_profile.shape, x_scalar.shape, x_loc.shape) + + # reshape x_profile to (batch, num_vars_profile, levels) + x_profile = x_profile.reshape(-1, self.num_vars_profile, self.n_model_levels) + # broadcast x_scalar to (batch, num_vars_scalar, levels) + x_scalar = x_scalar.unsqueeze(2).expand(-1, -1, self.n_model_levels) + + #concatenate x_profile, x_scalar, x_loc to (batch, num_vars_profile+num_vars_scalar+8, levels) + x = torch.cat((x_profile, x_scalar, x_loc.unsqueeze(2).expand(-1, -1, self.n_model_levels)), dim=1) + # print('2:', x.shape) + # x = torch.cat((x_profile, x_scalar), dim=1) + + x = torch.nn.functional.pad(x, self.input_padding, "constant", 0.0) + # print('3:', x.shape) + # pass the concatenated tensor through the Unet + + # Encoder. + skips = [] + aux = x + for name, block in self.enc.items(): + if "aux_down" in name: + aux = block(aux) + elif "aux_skip" in name: + x = skips[-1] = x + block(aux) + elif "aux_residual" in name: + x = skips[-1] = aux = (x + block(aux)) / 2**0.5 + else: + # x = block(x, emb) if isinstance(block, UNetBlock) else block(x) + x = block(x) + skips.append(x) + + new_skips = [] + # for x_tmp, conv_tmp in zip(skips, self.skip_conv_layer): + # x_tmp = conv_tmp(x_tmp) + # new_skips.append(x_tmp) + for idx, conv_tmp in enumerate(self.skip_conv_layer): + x_tmp = conv_tmp(skips[idx]) + new_skips.append(x_tmp) + + aux = None + tmp = None + for name, block in self.dec.items(): +# print(name) + # if "aux" not in name: + if x.shape[1] != block.in_channels: + # skip_ind = len(skips) - 1 + # skip_conv = self.skip_conv_layer[skip_ind] + x = torch.cat([x, new_skips.pop()], dim=1) + # x = block(x, emb) + x = block(x) + # else: + # # if "aux_up" in name: + # # aux = block(aux) + # if "aux_conv" in name: + # tmp = block(silu(tmp)) + # aux = tmp if aux is None else tmp + aux + # elif "aux_norm" in name: + # tmp = block(x) + for name, block in self.dec_aux_norm.items(): + tmp = block(x) + for name, block in self.dec_aux_conv.items(): + tmp = block(silu(tmp)) + aux = tmp if aux is None else tmp + aux + + # here x should be (batch, output_channels, seq_resolution) + # remember that self.input_padding = (seq_resolution-n_model_levels,0) + x = aux + # print('7:', x.shape) + if self.input_padding[1]==0: + y_profile = x[:,:self.num_vars_profile_out,self.input_padding[0]:] + y_scalar = x[:,self.num_vars_profile_out:,self.input_padding[0]:] + else: + y_profile = x[:,:self.num_vars_profile_out,self.input_padding[0]:-self.input_padding[1]] + y_scalar = x[:,self.num_vars_profile_out:,self.input_padding[0]:-self.input_padding[1]] + #take relu on y_scalar + y_scalar = torch.nn.functional.relu(y_scalar) + #reshape y_profile to (batch, num_vars_profile_out*levels) + y_profile = y_profile.reshape(-1, self.num_vars_profile_out*self.n_model_levels) + + #average y_scalar for the lev dimension to (batch, num_vars_scalar_out) + y_scalar = y_scalar.mean(dim=2) + # print('7.5:', y_profile.shape, y_scalar.shape) + + #concatenate y_profile and y_scalar to (batch, num_vars_profile_out*levels+num_vars_scalar_out) + y = torch.cat((y_profile, y_scalar), dim=1) + + if self.output_prune: + y = y.clone() + y[:, 60:60+self.strato_lev] = y[:, 60:60+self.strato_lev].clone().zero_() + y[:, 120:120+self.strato_lev] = y[:, 120:120+self.strato_lev].clone().zero_() + y[:, 180:180+self.strato_lev] = y[:, 180:180+self.strato_lev].clone().zero_() + y[:, 240:240+self.strato_lev] = y[:, 240:240+self.strato_lev].clone().zero_() + y[:, 300:300+self.strato_lev] = y[:, 300:300+self.strato_lev].clone().zero_() + + return y + \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v4/training/climsim_utils b/online_testing/baseline_models/Unet_v4/training/climsim_utils new file mode 120000 index 0000000..fc1bfa4 --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/climsim_utils @@ -0,0 +1 @@ +../../../../climsim_utils \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v4/training/conf/config_single.yaml b/online_testing/baseline_models/Unet_v4/training/conf/config_single.yaml new file mode 100644 index 0000000..9146d65 --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/conf/config_single.yaml @@ -0,0 +1,140 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES. +# SPDX-FileCopyrightText: All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# defaults: +# - override hydra/sweeper: optuna +# - override hydra/sweeper/sampler: tpe +# - override hydra/launcher: joblib + +# defaults: +# - _self_ +# - optuna_config: optuna_sweep.yaml + +# hydra: +# sweeper: +# sampler: +# seed: 123 +# direction: minimize +# study_name: simple_objective +# storage: null +# n_trials: 8 +# n_jobs: 2 +# params: +# batch_size: choice(512, 1024, 2048) +# learning_rate: choice(0.1, 0.01, 0.001, 0.0001) +# # launcher: +# # n_jobs: 2 + +climsim_path: '/global/u2/z/zeyuanhu/nvidia_codes/Climsim_private/' +data_path: '/pscratch/sd/z/zeyuanhu/hugging/E3SM-MMF_ne4/preprocessing/v4/' +save_path: '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/' +input_mean: 'inputs/input_mean_v4_pervar.nc' +input_max: 'inputs/input_max_v4_pervar.nc' +input_min: 'inputs/input_min_v4_pervar.nc' +output_scale: 'outputs/output_scale_std_lowerthred.nc' +qc_lbd: 'inputs/qc_exp_lambda_large.txt' +qi_lbd: 'inputs/qi_exp_lambda_large.txt' + +train_input: 'train_input.npy' +train_target: 'train_target.npy' +val_input: 'val_input.npy' +val_target: 'val_target.npy' +variable_subsets: 'v4' +qinput_log: False +restart_path: '' +classifier_ckpt_path: '' +expname: 'unet_test' + +qinput_prune: True +qoutput_prune: True +output_prune: True +aggressive_pruning: False +strato_lev: 15 +strato_lev_out: 12 +strato_lev_qc: 30 +strato_lev_qinput: -1 +strato_lev_tinput: -1 +input_clip: False +input_clip_rhonly: False +batch_size: 1024 +epochs: 1 +learning_rate: 0.0001 +optimizer: 'adam' +loss: 'mse' +dt_weight: 1.0 +dq1_weight: 1.0 +dq2_weight: 1.0 +dq3_weight: 1.0 +du_weight: 1.0 +dv_weight: 1.0 +d2d_weight: 1.0 +dice_weight: 1.0 +q_mask_threshold: 0.0 +mse_weight: 1.0 +bce_weight: 1.0 +do_energy_loss: False +energy_loss_weight: 1.0 + +dice_flip: False +unet_num_blocks: 4 +unet_attn_resolutions: [8] +unet_model_channels: 128 +loc_embedding: False +skip_conv: False +prev_2d: False +lazy_load: False +save_top_ckpts: 5 +top_ckpt_mode: 'min' +dropout: 0.0 +decouple_cloud: False +clip_grad: False +drop_extreme_samples: False +drop_extreme_threshold: 500.0 + +# setup the scheduler with 1. step 2. cosine 3. reducedonplateau +scheduler_name: 'step' +scheduler: + step: + step_size: 2 + gamma: 0.3162278 + plateau: + patience: 2 + factor: 0.1 + cosine: + T_max: 2 + eta_min: 0.00001 + +scheduler_warmup: + enable: False + warmup_steps: 20 + warmup_strategy: 'cos' + init_lr: 1e-7 + +load_nonjoint_model: + enable: False + restart_path: '' + +early_stop_step: -1 + +logger: 'wandb' +wandb: + project: "MLP_test" + +mlflow: + project: "MLP_test" + +num_workers: 8 \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v4/training/ddp_export.sh b/online_testing/baseline_models/Unet_v4/training/ddp_export.sh new file mode 100644 index 0000000..ac782e7 --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/ddp_export.sh @@ -0,0 +1,4 @@ +export RANK=$SLURM_PROCID +export LOCAL_RANK=$SLURM_LOCALID +export WORLD_SIZE=$SLURM_NTASKS +export MASTER_PORT=29500 # default from torch launcher \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v4/training/layers.py b/online_testing/baseline_models/Unet_v4/training/layers.py new file mode 100644 index 0000000..bd0f3a3 --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/layers.py @@ -0,0 +1,797 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES. +# SPDX-FileCopyrightText: All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +Model architecture layers similar to those used in the paper "Elucidating the Design Space of +Diffusion-Based Generative Models, but customed for the 1d convolution problem in Climsim". +""" + +from typing import Any, Dict, List, Optional + +import numpy as np +import torch +from torch.nn.functional import silu + +from modulus.models.diffusion import weight_init + +class Linear(torch.nn.Module): + """ + A fully connected (dense) layer implementation. The layer's weights and biases can + be initialized using custom initialization strategies like "kaiming_normal", + and can be further scaled by factors `init_weight` and `init_bias`. + + Parameters + ---------- + in_features : int + Size of each input sample. + out_features : int + Size of each output sample. + bias : bool, optional + The biases of the layer. If set to `None`, the layer will not learn an additive + bias. By default True. + init_mode : str, optional (default="kaiming_normal") + The mode/type of initialization to use for weights and biases. Supported modes + are: + - "xavier_uniform": Xavier (Glorot) uniform initialization. + - "xavier_normal": Xavier (Glorot) normal initialization. + - "kaiming_uniform": Kaiming (He) uniform initialization. + - "kaiming_normal": Kaiming (He) normal initialization. + By default "kaiming_normal". + init_weight : float, optional + A scaling factor to multiply with the initialized weights. By default 1. + init_bias : float, optional + A scaling factor to multiply with the initialized biases. By default 0. + """ + + def __init__( + self, + in_features: int, + out_features: int, + bias: bool = True, + init_mode: str = "kaiming_normal", + init_weight: int = 1, + init_bias: int = 0, + ): + super().__init__() + self.in_features = in_features + self.out_features = out_features + init_kwargs = dict(mode=init_mode, fan_in=in_features, fan_out=out_features) + self.weight = torch.nn.Parameter( + weight_init([out_features, in_features], **init_kwargs) * init_weight + ) + self.bias = ( + torch.nn.Parameter(weight_init([out_features], **init_kwargs) * init_bias) + if bias + else None + ) + + def forward(self, x): + x = x @ self.weight.to(dtype=x.dtype, device=x.device).t() + if self.bias is not None: + x = x.add_(self.bias.to(dtype=x.dtype, device=x.device)) + return x + + +class Conv1d(torch.nn.Module): + """ + A custom 1D convolutional layer implementation with support for up-sampling, + down-sampling, and custom weight and bias initializations. The layer's weights + and biases canbe initialized using custom initialization strategies like + "kaiming_normal", and can be further scaled by factors `init_weight` and + `init_bias`. + + Parameters + ---------- + in_channels : int + Number of channels in the input image. + out_channels : int + Number of channels produced by the convolution. + kernel : int + Size of the convolving kernel. + bias : bool, optional + The biases of the layer. If set to `None`, the layer will not learn an + additive bias. By default True. + up : bool, optional + Whether to perform up-sampling. By default False. + down : bool, optional + Whether to perform down-sampling. By default False. + resample_filter : List[int], optional + Filter to be used for resampling. By default [1, 1]. + fused_resample : bool, optional + If True, performs fused up-sampling and convolution or fused down-sampling + and convolution. By default False. + init_mode : str, optional (default="kaiming_normal") + init_mode : str, optional (default="kaiming_normal") + The mode/type of initialization to use for weights and biases. Supported modes + are: + - "xavier_uniform": Xavier (Glorot) uniform initialization. + - "xavier_normal": Xavier (Glorot) normal initialization. + - "kaiming_uniform": Kaiming (He) uniform initialization. + - "kaiming_normal": Kaiming (He) normal initialization. + By default "kaiming_normal". + init_weight : float, optional + A scaling factor to multiply with the initialized weights. By default 1.0. + init_bias : float, optional + A scaling factor to multiply with the initialized biases. By default 0.0. + """ + def __init__( + self, + in_channels: int, + out_channels: int, + kernel: int, + bias: bool = True, + up: bool = False, + down: bool = False, + resample_filter: Optional[List[int]] = None, + fused_resample: bool = False, + init_mode: str = "kaiming_normal", + init_weight: float = 1.0, + init_bias: float = 0.0, + ): + if up and down: + raise ValueError("Both 'up' and 'down' cannot be true at the same time.") + + super().__init__() + self.in_channels = in_channels + self.out_channels = out_channels + self.kernel = kernel + resample_filter = resample_filter if resample_filter is not None else [1, 1] + self.up = up + self.down = down + self.fused_resample = fused_resample + init_kwargs = dict( + mode=init_mode, + fan_in=in_channels * kernel, + fan_out=out_channels * kernel, + ) + self.weight = ( + torch.nn.Parameter( + weight_init([out_channels, in_channels, kernel], **init_kwargs) + * init_weight + ) + if kernel + else None + ) + self.bias = ( + torch.nn.Parameter(weight_init([out_channels], **init_kwargs) * init_bias) + if kernel and bias + else None + ) + # f = torch.as_tensor(resample_filter, dtype=torch.float32) + # f = f.unsqueeze(0).unsqueeze(1) / f.sum() + f = torch.tensor(resample_filter, dtype=torch.float32).unsqueeze(0).unsqueeze(1) / sum(resample_filter) + self.register_buffer("resample_filter", f if up or down else None) + + def forward(self, x): + w = self.weight.to(dtype=x.dtype, device=x.device) if self.weight is not None else None + b = self.bias.to(dtype=x.dtype, device=x.device) if self.bias is not None else None + + # f = self.resample_filter if self.resample_filter is not None else torch.tensor([], dtype=x.dtype, device=x.device) + # w_pad = w.shape[-1] // 2 if w is not None else 0 + # f_pad = (f.size(-1) - 1) // 2 if f.numel() > 0 else 0 # Check for empty tensor + + # Directly use self.resample_filter without creating an empty tensor + f = self.resample_filter + + w_pad = w.shape[-1] // 2 if w is not None else 0 + # Adjust f_pad calculation based on whether f is None or not + f_pad = (f.size(-1) - 1) // 2 if f is not None else 0 # Use f directly + # Adjust convolution operations based on the existence of f + if f is not None: + + if self.fused_resample and self.up and w is not None: + x = torch.nn.functional.conv_transpose1d( + x, + f.repeat(self.in_channels, 1, 1) * 2, + groups=self.in_channels, + stride=2, + padding=max(f_pad - w_pad, 0), + ) + x = torch.nn.functional.conv1d(x, w, padding=max(w_pad - f_pad, 0)) + elif self.fused_resample and self.down and w is not None: + x = torch.nn.functional.conv1d(x, w, padding=w_pad + f_pad) + x = torch.nn.functional.conv1d( + x, + f.repeat(self.out_channels, 1, 1), + groups=self.out_channels, + stride=2, + ) + else: + if self.up: + x = torch.nn.functional.conv_transpose1d( + x, + f.repeat(self.in_channels, 1, 1) * 2, + groups=self.in_channels, + stride=2, + padding=f_pad, + ) + if self.down: + x = torch.nn.functional.conv1d( + x, + f.repeat(self.in_channels, 1, 1), + groups=self.in_channels, + stride=2, + padding=f_pad, + ) + if w is not None: + x = torch.nn.functional.conv1d(x, w, padding=w_pad) + + else: + if w is not None: + x = torch.nn.functional.conv1d(x, w, padding=w_pad) + if b is not None: + x = x.add_(b.reshape(1, -1, 1)) + return x + +class GroupNorm(torch.nn.Module): + """ + A custom Group Normalization layer implementation. + + Group Normalization (GN) divides the channels of the input tensor into groups and + normalizes the features within each group independently. It does not require the + batch size as in Batch Normalization, making itsuitable for batch sizes of any size + or even for batch-free scenarios. + + Parameters + ---------- + num_channels : int + Number of channels in the input tensor. + num_groups : int, optional + Desired number of groups to divide the input channels, by default 32. + This might be adjusted based on the `min_channels_per_group`. + min_channels_per_group : int, optional + Minimum channels required per group. This ensures that no group has fewer + channels than this number. By default 4. + eps : float, optional + A small number added to the variance to prevent division by zero, by default + 1e-5. + + Notes + ----- + If `num_channels` is not divisible by `num_groups`, the actual number of groups + might be adjusted to satisfy the `min_channels_per_group` condition. + """ + + def __init__( + self, + num_channels: int, + num_groups: int = 32, + min_channels_per_group: int = 4, + eps: float = 1e-5, + ): + super().__init__() + self.num_groups = min(num_groups, num_channels // min_channels_per_group) + self.eps = eps + self.weight = torch.nn.Parameter(torch.ones(num_channels)) + self.bias = torch.nn.Parameter(torch.zeros(num_channels)) + + def forward(self, x): + x = torch.nn.functional.group_norm( + x, + num_groups=self.num_groups, + weight=self.weight.to(dtype=x.dtype, device=x.device), + bias=self.bias.to(dtype=x.dtype, device=x.device), + eps=self.eps, + ) + return x + +class AttentionOp(torch.autograd.Function): + """ + Attention weight computation, i.e., softmax(Q^T * K). + Performs all computation using FP32, but uses the original datatype for + inputs/outputs/gradients to conserve memory. + """ + + @staticmethod + def forward(ctx, q, k): + w = ( + torch.einsum( + "ncq,nck->nqk", + q.to(dtype=torch.float32, device=q.device), + (k / (k.shape[1]**0.5)).to(dtype=torch.float32, device=k.device), + ) + .softmax(dim=2) + .to(dtype=q.dtype, device=q.device) + ) + ctx.save_for_backward(q, k, w) + return w + + @staticmethod + def backward(ctx, dw): + q, k, w = ctx.saved_tensors + db = torch._softmax_backward_data( + grad_output=dw.to(dtype=torch.float32, device=dw.device), + output=w.to(dtype=torch.float32, device=w.device), + dim=2, + input_dtype=torch.float32, + ) + dq = torch.einsum("nck,nqk->ncq", k.to(dtype=torch.float32, device=k.device), db).to( + dtype=q.dtype, device=q.device + ) / (k.shape[1]**0.5) + dk = torch.einsum("ncq,nqk->nck", q.to(dtype=torch.float32, device=q.device), db).to( + dtype=k.dtype, device=k.device + ) / (k.shape[1]**0.5) + return dq, dk + +class ScriptableAttentionOp(torch.nn.Module): + def __init__(self): + super(ScriptableAttentionOp, self).__init__() + + def forward(self, q, k): + scale_factor = k.shape[1] ** 0.5 + k_scaled = k / scale_factor + w = torch.einsum("ncq,nck->nqk", q.float(), k_scaled.float()).softmax(dim=2) + return w.to(dtype=q.dtype) + +class UNetBlock(torch.nn.Module): + """ + Unified U-Net block with optional up/downsampling and self-attention. Represents + the union of all features employed by the DDPM++, NCSN++, and ADM architectures. + + Parameters: + ----------- + in_channels : int + Number of input channels. + out_channels : int + Number of output channels. + emb_channels : int + Number of embedding channels. + up : bool, optional + If True, applies upsampling in the forward pass. By default False. + down : bool, optional + If True, applies downsampling in the forward pass. By default False. + attention : bool, optional + If True, enables the self-attention mechanism in the block. By default False. + num_heads : int, optional + Number of attention heads. If None, defaults to `out_channels // 64`. + channels_per_head : int, optional + Number of channels per attention head. By default 64. + dropout : float, optional + Dropout probability. By default 0.0. + skip_scale : float, optional + Scale factor applied to skip connections. By default 1.0. + eps : float, optional + Epsilon value used for normalization layers. By default 1e-5. + resample_filter : List[int], optional + Filter for resampling layers. By default [1, 1]. + resample_proj : bool, optional + If True, resampling projection is enabled. By default False. + adaptive_scale : bool, optional + If True, uses adaptive scaling in the forward pass. By default True. + init : dict, optional + Initialization parameters for convolutional and linear layers. + init_zero : dict, optional + Initialization parameters with zero weights for certain layers. By default + {'init_weight': 0}. + init_attn : dict, optional + Initialization parameters specific to attention mechanism layers. + Defaults to 'init' if not provided. + """ + + def __init__( + self, + in_channels: int, + out_channels: int, + emb_channels: int = 0, + up: bool = False, + down: bool = False, + attention: bool = False, + num_heads: int = None, + channels_per_head: int = 64, + dropout: float = 0.0, + skip_scale: float = 1.0, + eps: float = 1e-5, + resample_filter: List[int] = [1,1], + resample_proj: bool = False, + adaptive_scale: bool = False, + init: Dict[str, Any] = dict(), + init_zero: Dict[str, Any] = dict(init_weight=0), + init_attn: Any = None, + ): + super().__init__() + + self.in_channels = in_channels + self.out_channels = out_channels + self.emb_channels = emb_channels + self.num_heads = ( + 0 + if not attention + else num_heads + if num_heads is not None + else out_channels // channels_per_head + ) + self.dropout = dropout + self.skip_scale = skip_scale + self.adaptive_scale = adaptive_scale + + self.norm0 = GroupNorm(num_channels=in_channels, eps=eps) + self.conv0 = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=3, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + # self.affine = Linear( + # in_features=emb_channels, + # out_features=out_channels * (2 if adaptive_scale else 1), + # **init, + # ) + self.norm1 = GroupNorm(num_channels=out_channels, eps=eps) + self.conv1 = Conv1d( + in_channels=out_channels, out_channels=out_channels, kernel=3, **init_zero + ) + + self.skip = None + if out_channels != in_channels or up or down: + kernel = 1 if resample_proj or out_channels != in_channels else 0 + self.skip = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=kernel, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + + if self.num_heads: + self.norm2 = GroupNorm(num_channels=out_channels, eps=eps) + self.qkv = Conv1d( + in_channels=out_channels, + out_channels=out_channels * 3, + kernel=1, + **(init_attn if init_attn is not None else init), + ) + self.proj = Conv1d( + in_channels=out_channels, + out_channels=out_channels, + kernel=1, + **init_zero, + ) + + def forward(self, x): + orig = x + x = self.conv0(silu(self.norm0(x))) + + # params = self.affine(emb).unsqueeze(2).to(x.dtype) + # if self.adaptive_scale: + # scale, shift = params.chunk(chunks=2, dim=1) + # x = silu(torch.addcmul(shift, self.norm1(x), scale + 1)) + # else: + # x = silu(self.norm1(x.add_(params))) + + x = self.norm1(x) + x = self.conv1( + torch.nn.functional.dropout(x, p=self.dropout, training=self.training) + ) + x = x.add_(self.skip(orig) if self.skip is not None else orig) + x = x * self.skip_scale + + if self.num_heads: + q, k, v = ( + self.qkv(self.norm2(x)) + .reshape( + x.shape[0] * self.num_heads, x.shape[1] // self.num_heads, 3, -1 + ) + .unbind(2) + ) + w = AttentionOp.apply(q, k) + a = torch.einsum("nqk,nck->ncq", w, v) + x = self.proj(a.reshape(*x.shape)).add_(x) + # batch_size, channels, length = x.size() + # x = self.proj(a.reshape(batch_size, channels, length)).add_(x) + x = x * self.skip_scale + return x + +class UNetBlock_noatten(torch.nn.Module): + """ + Unified U-Net block with optional up/downsampling and self-attention. Represents + the union of all features employed by the DDPM++, NCSN++, and ADM architectures. + + Parameters: + ----------- + in_channels : int + Number of input channels. + out_channels : int + Number of output channels. + emb_channels : int + Number of embedding channels. + up : bool, optional + If True, applies upsampling in the forward pass. By default False. + down : bool, optional + If True, applies downsampling in the forward pass. By default False. + attention : bool, optional + If True, enables the self-attention mechanism in the block. By default False. + num_heads : int, optional + Number of attention heads. If None, defaults to `out_channels // 64`. + channels_per_head : int, optional + Number of channels per attention head. By default 64. + dropout : float, optional + Dropout probability. By default 0.0. + skip_scale : float, optional + Scale factor applied to skip connections. By default 1.0. + eps : float, optional + Epsilon value used for normalization layers. By default 1e-5. + resample_filter : List[int], optional + Filter for resampling layers. By default [1, 1]. + resample_proj : bool, optional + If True, resampling projection is enabled. By default False. + adaptive_scale : bool, optional + If True, uses adaptive scaling in the forward pass. By default True. + init : dict, optional + Initialization parameters for convolutional and linear layers. + init_zero : dict, optional + Initialization parameters with zero weights for certain layers. By default + {'init_weight': 0}. + init_attn : dict, optional + Initialization parameters specific to attention mechanism layers. + Defaults to 'init' if not provided. + """ + + def __init__( + self, + in_channels: int, + out_channels: int, + emb_channels: int = 0, + up: bool = False, + down: bool = False, + attention: bool = False, + num_heads: int = None, + channels_per_head: int = 64, + dropout: float = 0.0, + skip_scale: float = 1.0, + eps: float = 1e-5, + resample_filter: List[int] = [1,1], + resample_proj: bool = False, + adaptive_scale: bool = False, + init: Dict[str, Any] = dict(), + init_zero: Dict[str, Any] = dict(init_weight=0), + init_attn: Any = None, + ): + super().__init__() + + self.in_channels = in_channels + self.out_channels = out_channels + self.emb_channels = emb_channels + self.num_heads = ( + 0 + if not attention + else num_heads + if num_heads is not None + else out_channels // channels_per_head + ) + self.dropout = dropout + self.skip_scale = skip_scale + self.adaptive_scale = adaptive_scale + + self.norm0 = GroupNorm(num_channels=in_channels, eps=eps) + self.conv0 = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=3, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + # self.affine = Linear( + # in_features=emb_channels, + # out_features=out_channels * (2 if adaptive_scale else 1), + # **init, + # ) + self.norm1 = GroupNorm(num_channels=out_channels, eps=eps) + self.conv1 = Conv1d( + in_channels=out_channels, out_channels=out_channels, kernel=3, **init_zero + ) + + self.skip = None + if out_channels != in_channels or up or down: + kernel = 1 if resample_proj or out_channels != in_channels else 0 + self.skip = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=kernel, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + + + def forward(self, x): + orig = x + x = self.conv0(silu(self.norm0(x))) + + # params = self.affine(emb).unsqueeze(2).to(x.dtype) + # if self.adaptive_scale: + # scale, shift = params.chunk(chunks=2, dim=1) + # x = silu(torch.addcmul(shift, self.norm1(x), scale + 1)) + # else: + # x = silu(self.norm1(x.add_(params))) + + x = self.norm1(x) + x = self.conv1( + torch.nn.functional.dropout(x, p=self.dropout, training=self.training) + ) + x = x.add_(self.skip(orig) if self.skip is not None else orig) + x = x * self.skip_scale + return x + +class UNetBlock_atten(torch.nn.Module): + """ + Unified U-Net block with optional up/downsampling and self-attention. Represents + the union of all features employed by the DDPM++, NCSN++, and ADM architectures. + + Parameters: + ----------- + in_channels : int + Number of input channels. + out_channels : int + Number of output channels. + emb_channels : int + Number of embedding channels. + up : bool, optional + If True, applies upsampling in the forward pass. By default False. + down : bool, optional + If True, applies downsampling in the forward pass. By default False. + attention : bool, optional + If True, enables the self-attention mechanism in the block. By default False. + num_heads : int, optional + Number of attention heads. If None, defaults to `out_channels // 64`. + channels_per_head : int, optional + Number of channels per attention head. By default 64. + dropout : float, optional + Dropout probability. By default 0.0. + skip_scale : float, optional + Scale factor applied to skip connections. By default 1.0. + eps : float, optional + Epsilon value used for normalization layers. By default 1e-5. + resample_filter : List[int], optional + Filter for resampling layers. By default [1, 1]. + resample_proj : bool, optional + If True, resampling projection is enabled. By default False. + adaptive_scale : bool, optional + If True, uses adaptive scaling in the forward pass. By default True. + init : dict, optional + Initialization parameters for convolutional and linear layers. + init_zero : dict, optional + Initialization parameters with zero weights for certain layers. By default + {'init_weight': 0}. + init_attn : dict, optional + Initialization parameters specific to attention mechanism layers. + Defaults to 'init' if not provided. + """ + + def __init__( + self, + in_channels: int, + out_channels: int, + emb_channels: int = 0, + up: bool = False, + down: bool = False, + num_heads: int = 1, + channels_per_head: int = 64, + dropout: float = 0.0, + skip_scale: float = 1.0, + eps: float = 1e-5, + resample_filter: List[int] = [1,1], + resample_proj: bool = False, + adaptive_scale: bool = False, + init: Dict[str, Any] = dict(), + init_zero: Dict[str, Any] = dict(init_weight=0), + init_attn: Any = None, + attention: bool = True, + ): + super().__init__() + + self.in_channels = in_channels + self.out_channels = out_channels + self.emb_channels = emb_channels + self.num_heads = ( + num_heads + if num_heads is not None + else out_channels // channels_per_head + ) + self.dropout = dropout + self.skip_scale = skip_scale + self.adaptive_scale = adaptive_scale + + self.norm0 = GroupNorm(num_channels=in_channels, eps=eps) + self.conv0 = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=3, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + # self.affine = Linear( + # in_features=emb_channels, + # out_features=out_channels * (2 if adaptive_scale else 1), + # **init, + # ) + self.norm1 = GroupNorm(num_channels=out_channels, eps=eps) + self.conv1 = Conv1d( + in_channels=out_channels, out_channels=out_channels, kernel=3, **init_zero + ) + + self.skip = None + if out_channels != in_channels or up or down: + kernel = 1 if resample_proj or out_channels != in_channels else 0 + self.skip = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=kernel, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + + if self.num_heads: + self.norm2 = GroupNorm(num_channels=out_channels, eps=eps) + self.qkv = Conv1d( + in_channels=out_channels, + out_channels=out_channels * 3, + kernel=1, + **(init_attn if init_attn is not None else init), + ) + self.proj = Conv1d( + in_channels=out_channels, + out_channels=out_channels, + kernel=1, + **init_zero, + ) + + self.attentionop = ScriptableAttentionOp() + + def forward(self, x): + orig = x + x = self.conv0(silu(self.norm0(x))) + + # params = self.affine(emb).unsqueeze(2).to(x.dtype) + # if self.adaptive_scale: + # scale, shift = params.chunk(chunks=2, dim=1) + # x = silu(torch.addcmul(shift, self.norm1(x), scale + 1)) + # else: + # x = silu(self.norm1(x.add_(params))) + + x = self.norm1(x) + x = self.conv1( + torch.nn.functional.dropout(x, p=self.dropout, training=self.training) + ) + x = x.add_(self.skip(orig) if self.skip is not None else orig) + x = x * self.skip_scale + + if self.num_heads: + q, k, v = ( + self.qkv(self.norm2(x)) + .reshape( + x.shape[0] * self.num_heads, x.shape[1] // self.num_heads, 3, -1 + ) + .unbind(2) + ) + w = self.attentionop(q, k) + a = torch.einsum("nqk,nck->ncq", w, v) + # x = self.proj(a.reshape(*x.shape)).add_(x) + batch_size, channels, length = x.size() + x = self.proj(a.reshape(batch_size, channels, length)).add_(x) + x = x * self.skip_scale + return x \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v4/training/loss_energy.py b/online_testing/baseline_models/Unet_v4/training/loss_energy.py new file mode 100644 index 0000000..738cb2d --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/loss_energy.py @@ -0,0 +1,63 @@ +import torch + +''' +a loss function that compares the column integrated mse tendencies between the model and the truth +''' + +def loss_energy(pred, truth, ps, hyai, hybi, out_scale): + """ + Compute the energy loss. + + Parameters: + - pred (torch.Tensor): Predictions from the model. Shape: (batch_size, 368). + - truth (torch.Tensor): Ground truth. Shape: (batch_size, 368). + - ps (torch.Tensor): Surface pressure. Shape: (batch_size). with original unit of Pa. + - hyai (torch.Tensor): Coefficients for calculating pressure at layer interfaces for mass. Shape: (61). + - hybi (torch.Tensor): Coefficients for calculating pressure at layer interfaces for mass. Shape: (61). + - out_scale (float): Output scaling factor. shape: (368). + """ + #code for reference + # state_ps = np.reshape(state_ps, (-1, self.num_latlon)) + # pressure_grid_p1 = np.array(self.grid_info['P0']*self.grid_info['hyai'])[:,np.newaxis,np.newaxis] + # pressure_grid_p2 = self.grid_info['hybi'].values[:, np.newaxis, np.newaxis] * state_ps[np.newaxis, :, :] + # self.pressure_grid_train = pressure_grid_p1 + pressure_grid_p2 + # self.dp_train = self.pressure_grid_train[1:61,:,:] - self.pressure_grid_train[0:60,:,:] + + # convert out_scale to torch tensor if not + if not torch.is_tensor(out_scale): + out_scale = torch.tensor(out_scale, dtype=torch.float32) + # convert hybi and hyai to torch tensor if not + if not torch.is_tensor(hybi): + hybi = torch.tensor(hybi, dtype=torch.float32) + if not torch.is_tensor(hyai): + hyai = torch.tensor(hyai, dtype=torch.float32) + + L_V = 2.501e6 # Latent heat of vaporization + # L_I = 3.337e5 # Latent heat of freezing + # L_F = L_I + # L_S = L_V + L_I # Sublimation + C_P = 1.00464e3 # Specific heat capacity of air at constant pressure + + dt_pred = pred[:,0:60]/out_scale[0:60] + dt_truth = truth[:,0:60]/out_scale[0:60] + dq_pred = pred[:,60:120]/out_scale[60:120] + dq_truth = truth[:,60:120]/out_scale[60:120] + + # calculate the pressure difference, make ps (batch_size, 1) + ps = ps.reshape(-1,1) + pressure_grid_p1 = 1e5 * hyai.reshape(1,-1) # (1, 61) + pressure_grid_p2 = hybi.reshape(1,-1) * ps # (batch_size, 61) + pressure_grid = pressure_grid_p1 + pressure_grid_p2 # (batch_size, 61) + dp = pressure_grid[:,1:] - pressure_grid[:,:-1] # (batch_size, 60) + + # calculate the integrated tendency + dt_integrated_pred = torch.sum(dt_pred * dp, dim=1) # (batch_size) + dt_integrated_truth = torch.sum(dt_truth * dp, dim=1) # (batch_size) + dq_integrated_pred = torch.sum(dq_pred * dp, dim=1) # (batch_size) + dq_integrated_truth = torch.sum(dq_truth * dp, dim=1) # (batch_size) + + # energy loss, note moist static energy is the sum of dry static energy and latent heat, h = cp*T + gz + Lq + energy_loss = torch.mean((C_P * dt_integrated_pred + L_V * dq_integrated_pred - C_P * dt_integrated_truth - L_V * dq_integrated_truth)**2) + + return energy_loss + diff --git a/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_huber.sbatch b/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_huber.sbatch new file mode 100644 index 0000000..986e077 --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_huber.sbatch @@ -0,0 +1,44 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q regular +#SBATCH -t 24:00:00 +#SBATCH --ntasks-per-node 4 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 4 +#SBATCH -n 4 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_unet_h5loader.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v4_full/'\ + expname='v4plus_unet_nonaggressive_cliprh_huber' \ + batch_size=1024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=12 \ + strato_lev_qinput=22 \ + input_clip_rhonly=True \ + aggressive_pruning=False \ + epochs=16 \ + loss='huber' \ + dropout=0.0 \ + save_top_ckpts=15 \ + learning_rate=0.0001 \ + logger='wandb' \ + wandb.project='v4plus_unet' \ + scheduler_name='step' \ + scheduler.step.step_size=3 \ + scheduler.step.gamma=0.5 \ + unet_num_blocks=2 \ + unet_attn_resolutions=[0] \ + unet_model_channels=128 " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/Unet_v4/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" diff --git a/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_huber_rop2.sbatch b/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_huber_rop2.sbatch new file mode 100644 index 0000000..c3d2b06 --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_huber_rop2.sbatch @@ -0,0 +1,44 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q regular +#SBATCH -t 24:00:00 +#SBATCH --ntasks-per-node 4 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 4 +#SBATCH -n 4 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_unet_h5loader.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v4_full/'\ + expname='v4plus_unet_nonaggressive_cliprh_huber_rop2' \ + batch_size=1024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=12 \ + strato_lev_qinput=22 \ + input_clip_rhonly=True \ + aggressive_pruning=False \ + epochs=20 \ + loss='huber' \ + dropout=0.0 \ + save_top_ckpts=15 \ + learning_rate=0.0001 \ + logger='wandb' \ + wandb.project='v4plus_unet' \ + scheduler_name='plateau' \ + scheduler.plateau.patience=2 \ + scheduler.plateau.factor=0.3162 \ + unet_num_blocks=2 \ + unet_attn_resolutions=[0] \ + unet_model_channels=128 " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/Unet_v4/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" diff --git a/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_huber_rop2_r2.sbatch b/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_huber_rop2_r2.sbatch new file mode 100644 index 0000000..a65edc8 --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_huber_rop2_r2.sbatch @@ -0,0 +1,45 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q regular +#SBATCH -t 24:00:00 +#SBATCH --ntasks-per-node 4 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 4 +#SBATCH -n 4 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_unet_h5loader.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v4_full/'\ + expname='v4plus_unet_nonaggressive_cliprh_huber_rop2_r2' \ + batch_size=1024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=12 \ + strato_lev_qinput=22 \ + input_clip_rhonly=True \ + aggressive_pruning=False \ + epochs=8 \ + restart_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/v4plus_unet_nonaggressive_cliprh_huber_rop2/model.mdlus' \ + loss='huber' \ + dropout=0.0 \ + save_top_ckpts=15 \ + learning_rate=0.00005 \ + logger='wandb' \ + wandb.project='v4plus_unet' \ + scheduler_name='plateau' \ + scheduler.plateau.patience=0 \ + scheduler.plateau.factor=0.5 \ + unet_num_blocks=2 \ + unet_attn_resolutions=[0] \ + unet_model_channels=128 " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/Unet_v4/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" diff --git a/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_huber_rop2_r3.sbatch b/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_huber_rop2_r3.sbatch new file mode 100644 index 0000000..c4701cf --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_huber_rop2_r3.sbatch @@ -0,0 +1,45 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q regular +#SBATCH -t 24:00:00 +#SBATCH --ntasks-per-node 4 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 4 +#SBATCH -n 4 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_unet_h5loader.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v4_full/'\ + expname='v4plus_unet_nonaggressive_cliprh_huber_rop2_r3' \ + batch_size=1024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=12 \ + strato_lev_qinput=22 \ + input_clip_rhonly=True \ + aggressive_pruning=False \ + epochs=8 \ + restart_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/v4plus_unet_nonaggressive_cliprh_huber_rop2_r2/model.mdlus' \ + loss='huber' \ + dropout=0.0 \ + save_top_ckpts=15 \ + learning_rate=0.000005 \ + logger='wandb' \ + wandb.project='v4plus_unet' \ + scheduler_name='plateau' \ + scheduler.plateau.patience=0 \ + scheduler.plateau.factor=0.5 \ + unet_num_blocks=2 \ + unet_attn_resolutions=[0] \ + unet_model_channels=128 " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/Unet_v4/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" diff --git a/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_mae.sbatch b/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_mae.sbatch new file mode 100644 index 0000000..ec89caf --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/slurm/v4plus_unet_nonaggressive_cliprh_mae.sbatch @@ -0,0 +1,44 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q regular +#SBATCH -t 24:00:00 +#SBATCH --ntasks-per-node 4 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 4 +#SBATCH -n 4 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_unet_h5loader.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v4_full/'\ + expname='v4plus_unet_nonaggressive_cliprh_mae' \ + batch_size=1024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=12 \ + strato_lev_qinput=22 \ + input_clip_rhonly=True \ + aggressive_pruning=False \ + epochs=16 \ + loss='mae' \ + dropout=0.0 \ + save_top_ckpts=15 \ + learning_rate=0.0001 \ + logger='wandb' \ + wandb.project='v4plus_unet' \ + scheduler_name='step' \ + scheduler.step.step_size=3 \ + scheduler.step.gamma=0.5 \ + unet_num_blocks=2 \ + unet_attn_resolutions=[0] \ + unet_model_channels=128 " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/Unet_v4/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" diff --git a/online_testing/baseline_models/Unet_v4/training/torch_warmup_lr.py b/online_testing/baseline_models/Unet_v4/training/torch_warmup_lr.py new file mode 100644 index 0000000..a5e3650 --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/torch_warmup_lr.py @@ -0,0 +1,91 @@ +from torch.optim.lr_scheduler import _LRScheduler +from torch.optim.lr_scheduler import ReduceLROnPlateau +import numpy as np +import math + +''' +Originally from https://github.com/lehduong/torch-warmup-lr/blob/master/torch_warmup_lr/wrappers.py +''' + +class WarmupLR(_LRScheduler): + def __init__(self, scheduler, init_lr=1e-3, num_warmup=1, warmup_strategy='linear'): + if warmup_strategy not in ['linear', 'cos', 'constant']: + raise ValueError("Expect warmup_strategy to be one of ['linear', 'cos', 'constant'] but got {}".format(warmup_strategy)) + self._scheduler = scheduler + self._init_lr = init_lr + self._num_warmup = num_warmup + self._step_count = 0 + # Define the strategy to warm up learning rate + self._warmup_strategy = warmup_strategy + if warmup_strategy == 'cos': + self._warmup_func = self._warmup_cos + elif warmup_strategy == 'linear': + self._warmup_func = self._warmup_linear + else: + self._warmup_func = self._warmup_const + # save initial learning rate of each param group + # only useful when each param groups having different learning rate + self._format_param() + + def __getattr__(self, name): + return getattr(self._scheduler, name) + + def state_dict(self): + """Returns the state of the scheduler as a :class:`dict`. + + It contains an entry for every variable in self.__dict__ which + is not the optimizer. + """ + wrapper_state_dict = {key: value for key, value in self.__dict__.items() if (key != 'optimizer' and key !='_scheduler')} + wrapped_state_dict = {key: value for key, value in self._scheduler.__dict__.items() if key != 'optimizer'} + return {'wrapped': wrapped_state_dict, 'wrapper': wrapper_state_dict} + + def load_state_dict(self, state_dict): + """Loads the schedulers state. + Arguments: + state_dict (dict): scheduler state. Should be an object returned + from a call to :meth:`state_dict`. + """ + self.__dict__.update(state_dict['wrapper']) + self._scheduler.__dict__.update(state_dict['wrapped']) + + + def _format_param(self): + # learning rate of each param group will increase + # from the min_lr to initial_lr + for group in self._scheduler.optimizer.param_groups: + group['warmup_max_lr'] = group['lr'] + group['warmup_initial_lr'] = min(self._init_lr, group['lr']) + + def _warmup_cos(self, start, end, pct): + cos_out = math.cos(math.pi * pct) + 1 + return end + (start - end)/2.0*cos_out + + def _warmup_const(self, start, end, pct): + return start if pct < 0.9999 else end + + def _warmup_linear(self, start, end, pct): + return (end - start) * pct + start + + def get_lr(self): + lrs = [] + step_num = self._step_count + # warm up learning rate + if step_num <= self._num_warmup: + for group in self._scheduler.optimizer.param_groups: + computed_lr = self._warmup_func(group['warmup_initial_lr'], + group['warmup_max_lr'], + step_num/self._num_warmup) + lrs.append(computed_lr) + else: + lrs = self._scheduler.get_lr() + return lrs + + def step(self, *args): + if self._step_count <= self._num_warmup: + values = self.get_lr() + for param_group, lr in zip(self._scheduler.optimizer.param_groups, values): + param_group['lr'] = lr + self._step_count += 1 + else: + self._scheduler.step(*args) \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v4/training/train_unet_h5loader.py b/online_testing/baseline_models/Unet_v4/training/train_unet_h5loader.py new file mode 100644 index 0000000..7e08efd --- /dev/null +++ b/online_testing/baseline_models/Unet_v4/training/train_unet_h5loader.py @@ -0,0 +1,559 @@ +import torch +from torch.utils.data import Dataset, DataLoader +import numpy as np +import torch.optim as optim +import torch.nn as nn +from tqdm import tqdm +from dataclasses import dataclass +import modulus +from modulus.metrics.general.mse import mse +from loss_energy import loss_energy +from modulus.utils import StaticCaptureTraining, StaticCaptureEvaluateNoGrad +from omegaconf import DictConfig +from modulus.launch.logging import ( + PythonLogger, + LaunchLogger, + initialize_wandb, + RankZeroLoggingWrapper, + initialize_mlflow, +) +from climsim_utils.data_utils import * +from climsim_datapip_lazyload import climsim_dataset_lazy +from climsim_datapip_lazyload_list import climsim_dataset_lazy_list +from climsim_datapip import climsim_dataset +from climsim_datapip_zarr import climsim_dataset_zarr +from climsim_datapip_h5 import climsim_dataset_h5 +from climsim_unet import ClimsimUnet +import climsim_unet as climsim_unet +import hydra +from torch.nn.parallel import DistributedDataParallel +from modulus.distributed import DistributedManager +from torch.utils.data.distributed import DistributedSampler +import gc + +@hydra.main(version_base="1.2", config_path="conf", config_name="config") +def main(cfg: DictConfig) -> float: + + DistributedManager.initialize() + dist = DistributedManager() + + grid_path = cfg.climsim_path+'/grid_info/ClimSim_low-res_grid-info.nc' + norm_path = cfg.climsim_path+'/preprocessing/normalizations/' + grid_info = xr.open_dataset(grid_path) + input_mean = xr.open_dataset(norm_path + cfg.input_mean) + input_max = xr.open_dataset(norm_path + cfg.input_max) + input_min = xr.open_dataset(norm_path + cfg.input_min) + output_scale = xr.open_dataset(norm_path + cfg.output_scale) + # qc_lbd = xr.open_dataset(norm_path + cfg.qc_lbd) + # qi_lbd = xr.open_dataset(norm_path + cfg.qi_lbd) + + lbd_qc = np.loadtxt(norm_path + cfg.qc_lbd, delimiter=',') + lbd_qi = np.loadtxt(norm_path + cfg.qi_lbd, delimiter=',') + + data = data_utils(grid_info = grid_info, + input_mean = input_mean, + input_max = input_max, + input_min = input_min, + output_scale = output_scale) + + # set variables to subset + if cfg.variable_subsets == 'v1': + data.set_to_v1_vars() + elif cfg.variable_subsets == 'v1_dyn': + data.set_to_v1_dyn_vars() + elif cfg.variable_subsets == 'v2': + data.set_to_v2_vars() + elif cfg.variable_subsets == 'v2_dyn': + data.set_to_v2_dyn_vars() + elif cfg.variable_subsets == 'v3': + data.set_to_v3_vars() + elif cfg.variable_subsets == 'v4': + data.set_to_v4_vars() + else: + raise ValueError('Unknown variable subset') + + input_size = data.input_feature_len + output_size = data.target_feature_len + + input_sub, input_div, out_scale = data.save_norm(write=False) + + + # Create dataset instances + # check if cfg.data_path + cfg.train_input exist + # if os.path.exists(cfg.data_path + cfg.train_input): + # train_input_path = cfg.data_path + cfg.train_input + # train_target_path = cfg.data_path + cfg.train_target + # else: + # #make train_input_path a list of all paths of cfg.data_path +'/*/'+cfg.train_input + # train_input_path = [f for f in glob.glob(cfg.data_path +'/*/'+cfg.train_input)] + # train_target_path = [f for f in glob.glob(cfg.data_path +'/*/'+cfg.train_target)] + + # print(train_input_path) + + val_input_path = cfg.data_path + cfg.val_input + val_target_path = cfg.data_path + cfg.val_target + if not os.path.exists(cfg.data_path + cfg.val_input): + raise ValueError('Validation input path does not exist') + + #choose dataset class based on cfg.lazy_load + # if cfg.lazy_load: + # if isinstance(train_input_path, list): + # dataset_class = climsim_dataset_lazy_list + # else: + # dataset_class = climsim_dataset_lazy + # else: + # dataset_class = climsim_dataset + + #train_dataset = dataset_class(train_input_path, train_target_path, input_sub, input_div, out_scale, cfg.qinput_prune, cfg.output_prune, cfg.strato_lev, lbd_qc, lbd_qi) + val_dataset = climsim_dataset(val_input_path, val_target_path, input_sub, input_div, out_scale, cfg.qinput_prune, cfg.output_prune, \ + cfg.strato_lev, lbd_qc, lbd_qi, cfg.decouple_cloud, cfg.aggressive_pruning, \ + cfg.strato_lev_qc, cfg.strato_lev_qinput, cfg.strato_lev_tinput, cfg.strato_lev_out, cfg.input_clip, cfg.input_clip_rhonly) + + #train_sampler = DistributedSampler(train_dataset) if dist.distributed else None + val_sampler = DistributedSampler(val_dataset, shuffle=False) if dist.distributed else None + val_loader = DataLoader(val_dataset, + batch_size=cfg.batch_size, + shuffle=False, + sampler=val_sampler, + num_workers=cfg.num_workers) + + train_dataset = climsim_dataset_h5(cfg.data_path, \ + input_sub, input_div, out_scale, cfg.qinput_prune, cfg.output_prune, \ + cfg.strato_lev, lbd_qc, lbd_qi, cfg.decouple_cloud, cfg.aggressive_pruning, \ + cfg.strato_lev_qc, cfg.strato_lev_qinput, cfg.strato_lev_tinput, cfg.strato_lev_out, cfg.input_clip, cfg.input_clip_rhonly) + + train_sampler = DistributedSampler(train_dataset) if dist.distributed else None + + train_loader = DataLoader(train_dataset, + batch_size=cfg.batch_size, + shuffle=False if dist.distributed else True, + sampler=train_sampler, + drop_last=True, + pin_memory=torch.cuda.is_available(), + num_workers=cfg.num_workers) + # Create dataloaders + # train_loader = DataLoader(train_dataset, batch_size=cfg.batch_size, shuffle=True) + #val_loader = DataLoader(val_dataset, batch_size=cfg.batch_size, shuffle=False) + + # train_loader = DataLoader(train_dataset, + # batch_size=cfg.batch_size, + # shuffle=False, + # sampler=train_sampler, + # drop_last=True, + # pin_memory=torch.cuda.is_available(), + # num_workers=cfg.num_workers) + + + + # create model + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + #print('debug: output_size', output_size, output_size//60, output_size%60) + + tmp_unet_model_channels = int(cfg.unet_model_channels) + tmp_unet_attn_resolutions = [i for i in cfg.unet_attn_resolutions] + tmp_unet_num_blocks = int(cfg.unet_num_blocks) + tmp_output_prune = cfg.output_prune + tmp_strato_lev = cfg.strato_lev_out + tmp_loc_embedding = cfg.loc_embedding + tmp_skip_conv = cfg.skip_conv + tmp_prev_2d = cfg.prev_2d + tmp_dropout = cfg.dropout + + model = ClimsimUnet( + num_vars_profile = input_size//60, + num_vars_scalar = input_size%60, + num_vars_profile_out = output_size//60, + num_vars_scalar_out = output_size%60, + seq_resolution = 64, + model_channels = tmp_unet_model_channels, + channel_mult = [1, 2, 2, 2], + num_blocks = tmp_unet_num_blocks, + attn_resolutions = tmp_unet_attn_resolutions, + dropout = tmp_dropout, + output_prune=tmp_output_prune, + strato_lev=tmp_strato_lev, + loc_embedding=tmp_loc_embedding, + skip_conv=tmp_skip_conv, + prev_2d=tmp_prev_2d + ).to(dist.device) + + if len(cfg.restart_path) > 0: + print("Restarting from checkpoint: " + cfg.restart_path) + if dist.distributed: + model_restart = modulus.Module.from_checkpoint(cfg.restart_path).to(dist.device) + if dist.rank == 0: + model.load_state_dict(model_restart.state_dict()) + torch.distributed.barrier() + else: + torch.distributed.barrier() + model.load_state_dict(model_restart.state_dict()) + else: + model_restart = modulus.Module.from_checkpoint(cfg.restart_path).to(dist.device) + model.load_state_dict(model_restart.state_dict()) + + # Set up DistributedDataParallel if using more than a single process. + # The `distributed` property of DistributedManager can be used to + # check this. + if dist.distributed: + ddps = torch.cuda.Stream() + with torch.cuda.stream(ddps): + model = DistributedDataParallel( + model, + device_ids=[dist.local_rank], # Set the device_id to be + # the local rank of this process on + # this node + output_device=dist.device, + broadcast_buffers=dist.broadcast_buffers, + find_unused_parameters=dist.find_unused_parameters, + ) + torch.cuda.current_stream().wait_stream(ddps) + + # create optimizer + if cfg.optimizer == 'adam': + optimizer = optim.Adam(model.parameters(), lr=cfg.learning_rate) + else: + raise ValueError('Optimizer not implemented') + + # create scheduler + if cfg.scheduler_name == 'step': + scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=cfg.scheduler.step.step_size, gamma=cfg.scheduler.step.gamma) + elif cfg.scheduler_name == 'plateau': + scheduler = optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=cfg.scheduler.plateau.factor, patience=cfg.scheduler.plateau.patience, verbose=True) + elif cfg.scheduler_name == 'cosine': + scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=cfg.scheduler.cosine.T_max, eta_min=cfg.scheduler.cosine.eta_min) + else: + raise ValueError('Scheduler not implemented') + + # create loss function + if cfg.loss == 'mse': + loss_fn = mse + criterion = nn.MSELoss() + elif cfg.loss == 'mae': + loss_fn = nn.L1Loss() + criterion = nn.L1Loss() + elif cfg.loss == 'huber': + loss_fn = nn.SmoothL1Loss() + criterion = nn.SmoothL1Loss() + else: + raise ValueError('Loss function not implemented') + + def loss_weighted(pred, target): + if cfg.variable_subsets in ['v1','v1_dyn']: + raise ValueError('Weighted loss not implemented for v1/v1_dyn') + # dt_weight = 1.0 + # dq1_weight = 1.0 + # dq2_weight = 1.0 + # dq3_weight = 1.0 + # du_weight = 1.0 + # dv_weight = 1.0 + # d2d_weight = 1.0 + + # pred should be of shape (batch_size, 368) + # target should be of shape (batch_size, 368) + # 0-60: dt, 60-120 dq1, 120-180 dq2, 180-240 dq3, 240-300 du, 300-360 dv, 360-368 d2d + #only do the calculation if any of the weights are not 1.0 + if cfg.dt_weight == 1.0 and cfg.dq1_weight == 1.0 and cfg.dq2_weight == 1.0 and cfg.dq3_weight == 1.0 and cfg.du_weight == 1.0 and cfg.dv_weight == 1.0 and cfg.d2d_weight == 1.0: + return criterion(pred, target) + pred[:,0:60] = pred[:,0:60] * cfg.dt_weight + pred[:,60:120] = pred[:,60:120] * cfg.dq1_weight + pred[:,120:180] = pred[:,120:180] * cfg.dq2_weight + pred[:,180:240] = pred[:,180:240] * cfg.dq3_weight + pred[:,240:300] = pred[:,240:300] * cfg.du_weight + pred[:,300:360] = pred[:,300:360] * cfg.dv_weight + pred[:,360:368] = pred[:,360:368] * cfg.d2d_weight + target[:,0:60] = target[:,0:60] * cfg.dt_weight + target[:,60:120] = target[:,60:120] * cfg.dq1_weight + target[:,120:180] = target[:,120:180] * cfg.dq2_weight + target[:,180:240] = target[:,180:240] * cfg.dq3_weight + target[:,240:300] = target[:,240:300] * cfg.du_weight + target[:,300:360] = target[:,300:360] * cfg.dv_weight + target[:,360:368] = target[:,360:368] * cfg.d2d_weight + return criterion(pred, target) + + # Initialize the console logger + logger = PythonLogger("main") # General python logger + + if cfg.logger == 'wandb': + # Initialize the MLFlow logger + initialize_wandb( + project=cfg.wandb.project, + name=cfg.expname, + entity="zeyuan_hu", + mode="online", + ) + LaunchLogger.initialize(use_wandb=True) + else: + # Initialize the MLFlow logger + initialize_mlflow( + experiment_name=cfg.mlflow.project, + experiment_desc="Modulus launch development", + run_name=cfg.expname, + run_desc="Modulus Training", + user_name="Modulus User", + mode="offline", + ) + LaunchLogger.initialize(use_mlflow=True) + + if cfg.save_top_ckpts<=0: + logger.info("Checkpoints should be set >0, setting to 1") + num_top_ckpts = 1 + else: + num_top_ckpts = cfg.save_top_ckpts + + if cfg.top_ckpt_mode == 'min': + top_checkpoints = [(float('inf'), None)] * num_top_ckpts + elif cfg.top_ckpt_mode == 'max': + top_checkpoints = [(-float('inf'), None)] * num_top_ckpts + else: + raise ValueError('Unknown top_ckpt_mode') + + if dist.rank == 0: + save_path = os.path.join(cfg.save_path, cfg.expname) #cfg.save_path + cfg.expname + save_path_ckpt = os.path.join(save_path, 'ckpt') + if not os.path.exists(save_path): + os.makedirs(save_path) + if not os.path.exists(save_path_ckpt): + os.makedirs(save_path_ckpt) + + if dist.world_size > 1: + torch.distributed.barrier() + + + hyai = data.grid_info['hyai'].values + hybi = data.grid_info['hybi'].values + hyai = torch.tensor(hyai, dtype=torch.float32).to(device) + hybi = torch.tensor(hybi, dtype=torch.float32).to(device) + # input_sub, input_div, out_scale = data.save_norm(write=False) + input_sub_device = torch.tensor(input_sub, dtype=torch.float32).to(device) + input_div_device = torch.tensor(input_div, dtype=torch.float32).to(device) + out_scale_device = torch.tensor(out_scale, dtype=torch.float32).to(device) + + @StaticCaptureTraining( + model=model, + optim=optimizer, + # cuda_graph_warmup=11, + ) + def training_step(model, data_input, target): + output = model(data_input) + loss = loss_weighted(output, target) + return loss + @StaticCaptureEvaluateNoGrad(model=model, use_graphs=False) + def eval_step_forward(my_model, invar): + return my_model(invar) + #training block + logger.info("Starting Training!") + # Basic training block with tqdm for progress tracking + for epoch in range(cfg.epochs): + if dist.distributed: + train_sampler.set_epoch(epoch) + # idx_train_loader = epoch % len(train_input_path) + # if epoch >0: + # #free the memory of previously defined train_dataset and train_loader + # del train_dataset.inputs + # del train_dataset.targets + # del train_dataset + # del train_loader + # torch.cuda.empty_cache() + # gc.collect() + # logger.info(f"Training epoch {epoch+1}/{cfg.epochs} with train_input_path: {train_input_path[idx_train_loader]}") + # train_dataset = climsim_dataset(train_input_path[idx_train_loader], train_target_path[idx_train_loader], \ + # input_sub, input_div, out_scale, cfg.qinput_prune, cfg.output_prune, \ + # cfg.strato_lev, lbd_qc, lbd_qi, cfg.decouple_cloud, cfg.aggressive_pruning, \ + # cfg.strato_lev_qc, cfg.strato_lev_qinput, cfg.strato_lev_tinput, cfg.input_clip, cfg.input_clip_rhonly) + + # train_sampler = DistributedSampler(train_dataset) if dist.distributed else None + # if dist.distributed: + # train_sampler.set_epoch(epoch) + # train_loader = DataLoader(train_dataset, + # batch_size=cfg.batch_size, + # shuffle=False, + # sampler=train_sampler, + # drop_last=True, + # pin_memory=torch.cuda.is_available(), + # num_workers=cfg.num_workers) + # wrap the epoch in launch logger to control frequency of output for console logs + with LaunchLogger("train", epoch=epoch, mini_batch_log_freq=10) as launchlog: + # model.train() + # Wrap train_loader with tqdm for a progress bar + train_loop = tqdm(train_loader, desc=f'Epoch {epoch+1}') + current_step = 0 + for data_input, target in train_loop: + if cfg.early_stop_step > 0 and current_step > cfg.early_stop_step: + break + # if cfg.output_prune: # this is currently done in the dataset class + # # the following code only works for the v2/v3 output cases! + # target[:,60:60+cfg.strato_lev] = 0 + # target[:,120:120+cfg.strato_lev] = 0 + # target[:,180:180+cfg.strato_lev] = 0 + data_input, target = data_input.to(device), target.to(device) + # optimizer.zero_grad() + # output = model(data_input) + # if cfg.do_energy_loss: + # ps_raw = data_input[:,1500]*input_div[1500]+input_sub[1500] + # loss_energy_train = loss_energy(output, target, ps_raw, hyai, hybi, out_scale_device)*cfg.energy_loss_weight + # loss_orig = loss_weighted(output, target) + # loss = loss_orig + loss_energy_train + # else: + # loss = loss_weighted(output, target) + # loss.backward() + loss = training_step(model, data_input, target) + # max_grad = max(p.grad.abs().max() for p in model.parameters() if p.grad is not None) + # # Initialize a list to store the L2 norms of each parameter's gradient + # l2_norms = [] + + # for p in model.parameters(): + # if p.grad is not None: + # # Calculate the L2 norm for each parameter's gradient and add it to the list + # l2_norms.append(torch.norm(p.grad, p=2)) + + # # Calculate the mean of the L2 norms + # mean_l2_norm = torch.mean(torch.stack(l2_norms)) + + #optimizer.step() + # del data_input, target, output + #loss = training_step(data_input, target) + # scheduler.step() + #launchlog.log_minibatch({"loss_train": loss.detach().cpu().numpy()}) + #if dist.rank == 0: + if cfg.do_energy_loss: + launchlog.log_minibatch({"loss_train": loss.detach().cpu().numpy(), "loss_energy_train": loss_energy_train.detach().cpu().numpy(), "lr": optimizer.param_groups[0]["lr"], "loss_orig": loss_orig.detach().cpu().numpy()}) + else: + launchlog.log_minibatch({"loss_train": loss.detach().cpu().numpy(), "lr": optimizer.param_groups[0]["lr"]}) + # Update the progress bar description with the current loss + train_loop.set_description(f'Epoch {epoch+1}') + train_loop.set_postfix(loss=loss.item()) + current_step += 1 + #launchlog.log_epoch({"Learning Rate": optimizer.param_groups[0]["lr"]}) + + # model.eval() + val_loss = 0.0 + if cfg.do_energy_loss: + val_energy_loss = 0.0 + val_orig = 0.0 + num_samples_processed = 0 + val_loop = tqdm(val_loader, desc=f'Epoch {epoch+1}/1 [Validation]') + current_step = 0 + for data_input, target in val_loop: + if cfg.early_stop_step > 0 and current_step > cfg.early_stop_step: + break + # if cfg.output_prune: + # # the following code only works for the v2/v3 output cases! + # target[:,60:60+cfg.strato_lev] = 0 + # target[:,120:120+cfg.strato_lev] = 0 + # target[:,180:180+cfg.strato_lev] = 0 + # Move data to the device + data_input, target = data_input.to(device), target.to(device) + + output = eval_step_forward(model, data_input) + if cfg.do_energy_loss: + ps_raw = data_input[:,1500]*input_div[1500]+input_sub[1500] + loss_energy_train = loss_energy(output, target, ps_raw, hyai, hybi, out_scale_device)*cfg.energy_loss_weight + loss_orig = loss_weighted(output, target) + loss = loss_orig + loss_energy_train + else: + loss = loss_weighted(output, target) + val_loss += loss.item() * data_input.size(0) + num_samples_processed += data_input.size(0) + + # Calculate and update the current average loss + current_val_loss_avg = val_loss / num_samples_processed + val_loop.set_postfix(loss=current_val_loss_avg) + current_step += 1 + if cfg.do_energy_loss: + val_energy_loss += loss_energy_train.item() * data_input.size(0) + val_orig += loss_orig.item() * data_input.size(0) + current_val_loss_avg_energy = val_energy_loss / num_samples_processed + current_val_loss_avg_orig = val_orig / num_samples_processed + del data_input, target, output + + + # if dist.rank == 0: + #all reduce the loss + if dist.world_size > 1: + current_val_loss_avg = torch.tensor(current_val_loss_avg, device=dist.device) + torch.distributed.all_reduce(current_val_loss_avg) + current_val_loss_avg = current_val_loss_avg.item() / dist.world_size + + if dist.rank == 0: + if cfg.do_energy_loss: + launchlog.log_epoch({"loss_valid": current_val_loss_avg, "loss_energy_valid": current_val_loss_avg_energy, "loss_orig_valid": current_val_loss_avg_orig}) + else: + launchlog.log_epoch({"loss_valid": current_val_loss_avg}) + + current_metric = current_val_loss_avg + # Save the top checkpoints + if cfg.top_ckpt_mode == 'min': + is_better = current_metric < max(top_checkpoints, key=lambda x: x[0])[0] + elif cfg.top_ckpt_mode == 'max': + is_better = current_metric > min(top_checkpoints, key=lambda x: x[0])[0] + + #print('debug: is_better', is_better, current_metric, top_checkpoints) + if len(top_checkpoints) == 0 or is_better: + ckpt_path = os.path.join(save_path_ckpt, f'ckpt_epoch_{epoch+1}_metric_{current_metric:.4f}.mdlus') + if dist.distributed: + model.module.save(ckpt_path) + else: + model.save(ckpt_path) + top_checkpoints.append((current_metric, ckpt_path)) + # Sort and keep top 5 based on max/min goal at the beginning + if cfg.top_ckpt_mode == 'min': + top_checkpoints.sort(key=lambda x: x[0], reverse=False) + elif cfg.top_ckpt_mode == 'max': + top_checkpoints.sort(key=lambda x: x[0], reverse=True) + # delete the worst checkpoint + if len(top_checkpoints) > num_top_ckpts: + worst_ckpt = top_checkpoints.pop() + print(f"Removing worst checkpoint: {worst_ckpt[1]}") + if worst_ckpt[1] is not None: + os.remove(worst_ckpt[1]) + + if cfg.scheduler_name == 'plateau': + scheduler.step(current_val_loss_avg) + else: + scheduler.step() + + if dist.world_size > 1: + torch.distributed.barrier() + + if dist.rank == 0: + logger.info("Start recovering the model from the top checkpoint to do torchscript conversion") + #recover the model weight to the top checkpoint + model = modulus.Module.from_checkpoint(top_checkpoints[0][1]).to(device) + + # Save the model + save_file = os.path.join(save_path, 'model.mdlus') + model.save(save_file) + # convert the model to torchscript + climsim_unet.device = "cpu" + device = torch.device("cpu") + model_inf = modulus.Module.from_checkpoint(save_file).to(device) + scripted_model = torch.jit.script(model_inf) + scripted_model = scripted_model.eval() + save_file_torch = os.path.join(save_path, 'model.pt') + scripted_model.save(save_file_torch) + # save input and output normalizations + data.save_norm(save_path, True) + logger.info("saved input/output normalizations and model to: " + save_path) + + mdlus_directory = os.path.join(save_path, 'ckpt') + for filename in os.listdir(mdlus_directory): + print(filename) + if filename.endswith(".mdlus"): + full_path = os.path.join(mdlus_directory, filename) + print(full_path) + model = modulus.Module.from_checkpoint(full_path).to("cpu") + scripted_model = torch.jit.script(model) + scripted_model = scripted_model.eval() + + # Save the TorchScript model + save_path_torch = os.path.join(mdlus_directory, filename.replace('.mdlus', '.pt')) + scripted_model.save(save_path_torch) + print('save path for ckpt torchscript:', save_path_torch) + + + logger.info("Training complete!") + + return current_val_loss_avg + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v5/training/climsim_datapip.py b/online_testing/baseline_models/Unet_v5/training/climsim_datapip.py new file mode 100644 index 0000000..270bb10 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/climsim_datapip.py @@ -0,0 +1,163 @@ +# #import xarray as xr +# from torch.utils.data import Dataset +# import numpy as np +# import torch + +#import xarray as xr +from torch.utils.data import Dataset +import numpy as np +import torch + +class climsim_dataset(Dataset): + def __init__(self, + input_paths, + target_paths, + input_sub, + input_div, + out_scale, + qinput_prune, + output_prune, + strato_lev, + strato_lev_out, + qn_lbd, + decouple_cloud=False, + aggressive_pruning=False, + # strato_lev_qc=30, + strato_lev_qinput=None, + strato_lev_tinput=None, + input_clip=False, + input_clip_rhonly=False, + qn_tscaled=False, + qn_logtransform=False): + """ + Args: + input_paths (str): Path to the .npy file containing the inputs. + target_paths (str): Path to the .npy file containing the targets. + input_sub (np.ndarray): Input data mean. + input_div (np.ndarray): Input data standard deviation. + out_scale (np.ndarray): Output data standard deviation. + qinput_prune (bool): Whether to prune the input data. + output_prune (bool): Whether to prune the output data. + strato_lev (int): Number of levels in the stratosphere. + qc_lbd (np.ndarray): Coefficients for the exponential transformation of qc. + qi_lbd (np.ndarray): Coefficients for the exponential transformation of qi. + """ + self.inputs = np.load(input_paths) + self.targets = np.load(target_paths) + self.input_paths = input_paths + self.target_paths = target_paths + self.input_sub = input_sub + self.input_div = input_div + self.out_scale = out_scale + self.qinput_prune = qinput_prune + self.output_prune = output_prune + self.strato_lev = strato_lev + self.strato_lev_out = strato_lev_out + self.qn_lbd = qn_lbd + self.decouple_cloud = decouple_cloud + self.aggressive_pruning = aggressive_pruning + self.input_clip = input_clip + if strato_lev_qinput <0: + self.strato_lev_qinput = strato_lev + else: + self.strato_lev_qinput = strato_lev_qinput + self.strato_lev_tinput = strato_lev_tinput + self.input_clip_rhonly = input_clip_rhonly + self.qn_tscaled = qn_tscaled + self.qn_logtransform = qn_logtransform + + if self.strato_lev_qinput t_max, y_max, y) + return y_max/y + + def __len__(self): + return len(self.inputs) + + def __getitem__(self, idx): + x = self.inputs[idx] + y = self.targets[idx] + + if self.qn_tscaled: + # use temperature to generate weights for scaling qn + qn_scale_weight = self.t_scaled_weight(x[0:60]) + + if not self.qn_logtransform: + x[120:180] = 1 - np.exp(-x[120:180] * self.qn_lbd) + x = (x - self.input_sub) / self.input_div + + x[np.isnan(x)] = 0 + x[np.isinf(x)] = 0 + + y = y * self.out_scale + if self.decouple_cloud: + x[120:180] = 0 + x[60*14:60*15] =0 + x[60*18:60*19] =0 + + if self.aggressive_pruning: + # for profiles, only keep stratosphere temperature. prune all other profiles in stratosphere + x[60:60+self.strato_lev_qinput] = 0 # prune RH + x[120:120+self.strato_lev_qinput] = 0 + # x[180:180+self.strato_lev] = 0 # should be liq_partition + x[240:240+self.strato_lev] = 0 # prune u + x[300:300+self.strato_lev] = 0 # prune v + x[360:360+self.strato_lev] = 0 + x[420:420+self.strato_lev] = 0 + x[480:480+self.strato_lev] = 0 + x[540:540+self.strato_lev] = 0 + x[600:600+self.strato_lev] = 0 + x[660:660+self.strato_lev] = 0 + x[720:720+self.strato_lev] = 0 + x[780:780+self.strato_lev_qinput] = 0 # prune qv_phy + x[840:840+self.strato_lev_qinput] = 0 # prune qn_phy + x[900:900+self.strato_lev] = 0 + x[960:960+self.strato_lev] = 0 + x[1020:1020+self.strato_lev_qinput] = 0 # prune qv_phy + x[1080:1080+self.strato_lev_qinput] = 0 # prune qn_phy in previous time step + x[1140:1140+self.strato_lev] = 0 + x[1395] = 0 #SNOWHICE + elif self.qinput_prune: + #raise NotImplementedError('should use aggressive_pruning! instead of qinput_prune!') + # x[:,60:60+self.strato_lev] = 0 + x[120:120+self.strato_lev] = 0 + # x[180:180+self.strato_lev] = 0 + + if self.strato_lev_tinput >0: + x[0:self.strato_lev_tinput] = 0 + + if self.input_clip: + if self.input_clip_rhonly: + x[60:120] = np.clip(x[60:120], 0, 1.2) + else: + x[60:120] = np.clip(x[60:120], 0, 1.2) # for RH, clip to (0,1.2) + x[360:720] = np.clip(x[360:720], -0.5, 0.5) # for dyn forcing, clip to (-0.5,0.5) + x[720:1200] = np.clip(x[720:1200], -3, 3) # for phy tendencies clip to (-3,3) + + + if self.output_prune: + y[60:60+self.strato_lev_out] = 0 + y[120:120+self.strato_lev_out] = 0 + y[180:180+self.strato_lev_out] = 0 + y[240:240+self.strato_lev_out] = 0 + + if self.qn_tscaled: + return torch.tensor(x, dtype=torch.float32), torch.tensor(y, dtype=torch.float32), torch.tensor(qn_scale_weight, dtype=torch.float32) + else: + return torch.tensor(x, dtype=torch.float32), torch.tensor(y, dtype=torch.float32) \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v5/training/climsim_datapip_classifier_h5.py b/online_testing/baseline_models/Unet_v5/training/climsim_datapip_classifier_h5.py new file mode 100644 index 0000000..cd6b84e --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/climsim_datapip_classifier_h5.py @@ -0,0 +1,186 @@ +# #import xarray as xr +# from torch.utils.data import Dataset +# import numpy as np +# import torch + +#import xarray as xr +from torch.utils.data import Dataset +import numpy as np +import torch +import glob +import h5py + +class climsim_dataset_classifier_h5(Dataset): + def __init__(self, + parent_path, + input_sub, + input_div, + out_scale, + qinput_prune, + output_prune, + strato_lev, + strato_lev_out, + qn_lbd, + decouple_cloud=False, + aggressive_pruning=False, + # strato_lev_qc=30, + strato_lev_qinput=None, + strato_lev_tinput=None, + input_clip=False, + input_clip_rhonly=False, + threshold_class1=1e-9, + threshold_class2=1e-11, + qn_logtransform=False): + """ + Args: + input_paths (str): Path to the .npy file containing the inputs. + target_paths (str): Path to the .npy file containing the targets. + input_sub (np.ndarray): Input data mean. + input_div (np.ndarray): Input data standard deviation. + out_scale (np.ndarray): Output data standard deviation. + qinput_prune (bool): Whether to prune the input data. + qoutput_prune (bool): Whether to prune the output data. + strato_lev (int): Number of levels in the stratosphere. + qc_lbd (np.ndarray): Coefficients for the exponential transformation of qc. + qi_lbd (np.ndarray): Coefficients for the exponential transformation of qi. + """ + self.parent_path = parent_path + self.input_paths = glob.glob(f'{parent_path}/**/train_input.h5', recursive=True) + print('input paths:', self.input_paths) + if not self.input_paths: + raise FileNotFoundError("No 'train_input.h5' files found under the specified parent path.") + self.target_paths = [path.replace('train_input.h5', 'train_target.h5') for path in self.input_paths] + + # Initialize lists to hold the samples count per file + self.samples_per_file = [] + for input_path in self.input_paths: + with h5py.File(input_path, 'r') as file: # Open the file to read the number of samples + # Assuming dataset is named 'data', adjust if different + self.samples_per_file.append(file['data'].shape[0]) + + self.cumulative_samples = np.cumsum([0] + self.samples_per_file) + self.total_samples = self.cumulative_samples[-1] + + self.input_files = {} + self.target_files = {} + for input_path, target_path in zip(self.input_paths, self.target_paths): + self.input_files[input_path] = h5py.File(input_path, 'r') + self.target_files[target_path] = h5py.File(target_path, 'r') + + + + self.input_sub = input_sub + self.input_div = input_div + self.out_scale = out_scale + self.qinput_prune = qinput_prune + self.output_prune = output_prune + self.strato_lev = strato_lev + self.strato_lev_out = strato_lev_out + self.qn_lbd = qn_lbd + self.decouple_cloud = decouple_cloud + self.aggressive_pruning = aggressive_pruning + # self.strato_lev_qc = strato_lev_qc + self.input_clip = input_clip + if strato_lev_qinput <0: + self.strato_lev_qinput = strato_lev + else: + self.strato_lev_qinput = strato_lev_qinput + self.strato_lev_tinput = strato_lev_tinput + self.input_clip_rhonly = input_clip_rhonly + + if self.strato_lev_qinput = self.total_samples: + raise IndexError("Index out of bounds") + file_idx, local_idx = self._find_file_and_index(idx) + input_file = self.input_files[self.input_paths[file_idx]] + target_file = self.target_files[self.target_paths[file_idx]] + x = input_file['data'][local_idx] + y = target_file['data'][local_idx, 120:180] + + + # x = self.inputs[idx] + # y = self.targets[idx,120:240] + xq_nextstep = x[120:180] + y*1200 + # mask == 0 means dQ/dt is zero; mask == 1 means Q=0 after the time steppingk mask == 2 means other cases + + mask = np.where(xq_nextstep <=self.threshold_class1, 1, 2) + mask = np.where(np.absolute(y) <=self.threshold_class2, 0, mask) + + # if self.qn_logtransform: + # x[120:180] = np.where(x[120:180]<1e-15, 1e-15, x[120:180]) + # x[120:180] = np.log10(x[120:180]) + # x[120:180] = np.clip(x[120:180], -15, -3) + # x[120:180] = (x[120:180] + 15) / 12 + # else: + # x[120:180] = 1 - np.exp(-x[120:180] * self.qn_lbd) + if not self.qn_logtransform: + x[120:180] = 1 - np.exp(-x[120:180] * self.qn_lbd) + + x = (x - self.input_sub) / self.input_div + #make all inf and nan values 0 + x[np.isnan(x)] = 0 + x[np.isinf(x)] = 0 + + if self.decouple_cloud: + x[120:180] = 0 + x[60*14:60*15] =0 + x[60*18:60*19] =0 + + if self.aggressive_pruning: + # for profiles, only keep stratosphere temperature. prune all other profiles in stratosphere + x[60:60+self.strato_lev_qinput] = 0 # prune RH + x[120:120+self.strato_lev_qinput] = 0 + # x[180:180+self.strato_lev] = 0 # should be liq_partition + x[240:240+self.strato_lev] = 0 # prune u + x[300:300+self.strato_lev] = 0 # prune v + x[360:360+self.strato_lev] = 0 + x[420:420+self.strato_lev] = 0 + x[480:480+self.strato_lev] = 0 + x[540:540+self.strato_lev] = 0 + x[600:600+self.strato_lev] = 0 + x[660:660+self.strato_lev] = 0 + x[720:720+self.strato_lev] = 0 + x[780:780+self.strato_lev_qinput] = 0 # prune qv_phy + x[840:840+self.strato_lev_qinput] = 0 # prune qn_phy + x[900:900+self.strato_lev] = 0 + x[960:960+self.strato_lev] = 0 + x[1020:1020+self.strato_lev_qinput] = 0 # prune qv_phy + x[1080:1080+self.strato_lev_qinput] = 0 # prune qn_phy in previous time step + x[1140:1140+self.strato_lev] = 0 + x[1395] = 0 #SNOWHICE + elif self.qinput_prune: + raise NotImplementedError('should use aggressive_pruning! instead of qinput_prune!') + x[:,60:60+self.strato_lev] = 0 + x[120:120+self.strato_lev] = 0 + # x[180:180+self.strato_lev] = 0 + + if self.strato_lev_tinput >0: + x[0:self.strato_lev_tinput] = 0 + + if self.input_clip: + if self.input_clip_rhonly: + x[60:120] = np.clip(x[60:120], 0, 1.2) + else: + x[60:120] = np.clip(x[60:120], 0, 1.2) # for RH, clip to (0,1.2) + x[360:720] = np.clip(x[360:720], -0.5, 0.5) # for dyn forcing, clip to (-0.5,0.5) + x[720:1200] = np.clip(x[720:1200], -3, 3) # for phy tendencies clip to (-3,3) + + + if self.output_prune: + mask[:self.strato_lev] = 0 + return torch.tensor(x, dtype=torch.float32), torch.tensor(mask, dtype=torch.long) \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v5/training/climsim_datapip_h5.py b/online_testing/baseline_models/Unet_v5/training/climsim_datapip_h5.py new file mode 100644 index 0000000..7c76035 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/climsim_datapip_h5.py @@ -0,0 +1,214 @@ +# #import xarray as xr +# from torch.utils.data import Dataset +# import numpy as np +# import torch + +#import xarray as xr +from torch.utils.data import Dataset +import numpy as np +import torch +import glob +import h5py + +class climsim_dataset_h5(Dataset): + def __init__(self, + parent_path, + input_sub, + input_div, + out_scale, + qinput_prune, + output_prune, + strato_lev, + strato_lev_out, + qn_lbd, + decouple_cloud=False, + aggressive_pruning=False, + # strato_lev_qc=30, + strato_lev_qinput=None, + strato_lev_tinput=None, + input_clip=False, + input_clip_rhonly=False, + qn_tscaled=False, + qn_logtransform=False): + """ + Args: + parent_path (str): Path to the .zarr file containing the inputs and targets. + input_sub (np.ndarray): Input data mean. + input_div (np.ndarray): Input data standard deviation. + out_scale (np.ndarray): Output data standard deviation. + qinput_prune (bool): Whether to prune the input data. + output_prune (bool): Whether to prune the output data. + strato_lev (int): Number of levels in the stratosphere. + qc_lbd (np.ndarray): Coefficients for the exponential transformation of qc. + qi_lbd (np.ndarray): Coefficients for the exponential transformation of qi. + """ + self.parent_path = parent_path + self.input_paths = glob.glob(f'{parent_path}/**/train_input.h5', recursive=True) + print('input paths:', self.input_paths) + if not self.input_paths: + raise FileNotFoundError("No 'train_input.h5' files found under the specified parent path.") + self.target_paths = [path.replace('train_input.h5', 'train_target.h5') for path in self.input_paths] + + # Initialize lists to hold the samples count per file + self.samples_per_file = [] + for input_path in self.input_paths: + with h5py.File(input_path, 'r') as file: # Open the file to read the number of samples + # Assuming dataset is named 'data', adjust if different + self.samples_per_file.append(file['data'].shape[0]) + + self.cumulative_samples = np.cumsum([0] + self.samples_per_file) + self.total_samples = self.cumulative_samples[-1] + + self.input_files = {} + self.target_files = {} + for input_path, target_path in zip(self.input_paths, self.target_paths): + self.input_files[input_path] = h5py.File(input_path, 'r') + self.target_files[target_path] = h5py.File(target_path, 'r') + + # for input_path, target_path in zip(self.input_paths, self.target_paths): + # # Lazily open zarr files and keep the reference + # self.input_zarrs[input_path] = zarr.open(input_path, mode='r') + # self.target_zarrs[target_path] = zarr.open(target_path, mode='r') + + self.input_sub = input_sub + self.input_div = input_div + self.out_scale = out_scale + self.qinput_prune = qinput_prune + self.output_prune = output_prune + self.strato_lev = strato_lev + self.strato_lev_out = strato_lev_out + self.qn_lbd = qn_lbd + self.decouple_cloud = decouple_cloud + self.aggressive_pruning = aggressive_pruning + # self.strato_lev_qc = strato_lev_qc + self.input_clip = input_clip + if strato_lev_qinput <0: + self.strato_lev_qinput = strato_lev + else: + self.strato_lev_qinput = strato_lev_qinput + self.strato_lev_tinput = strato_lev_tinput + self.input_clip_rhonly = input_clip_rhonly + self.qn_tscaled = qn_tscaled + self.qn_logtransform = qn_logtransform + + if self.strato_lev_qinput t_max, y_max, y) + return y_max/y + + def __getitem__(self, idx): + if idx < 0 or idx >= self.total_samples: + raise IndexError("Index out of bounds") + # Find which file the index falls into + # file_idx = np.searchsorted(self.cumulative_samples, idx+1) - 1 + # local_idx = idx - self.cumulative_samples[file_idx] + + # x = zarr.open(self.input_paths[file_idx], mode='r')[local_idx] + # y = zarr.open(self.target_paths[file_idx], mode='r')[local_idx] + file_idx, local_idx = self._find_file_and_index(idx) + + + # x = self.input_zarrs[self.input_paths[file_idx]][local_idx] + # y = self.target_zarrs[self.target_paths[file_idx]][local_idx] + # Open the HDF5 files and read the data for the given index + input_file = self.input_files[self.input_paths[file_idx]] + target_file = self.target_files[self.target_paths[file_idx]] + x = input_file['data'][local_idx] + y = target_file['data'][local_idx] + if self.qn_tscaled: + # use temperature to generate weights for scaling qn + qn_scale_weight = self.t_scaled_weight(x[0:60]) + + # x = np.load(self.input_paths,mmap_mode='r')[idx] + # y = np.load(self.target_paths,mmap_mode='r')[idx] + if not self.qn_logtransform: + x[120:180] = 1 - np.exp(-x[120:180] * self.qn_lbd) + # Avoid division by zero in input_div and set corresponding x to 0 + # input_div_nonzero = self.input_div != 0 + # x = np.where(input_div_nonzero, (x - self.input_sub) / self.input_div, 0) + x = (x - self.input_sub) / self.input_div + #make all inf and nan values 0 + x[np.isnan(x)] = 0 + x[np.isinf(x)] = 0 + + y = y * self.out_scale + if self.decouple_cloud: + x[120:180] = 0 + x[60*14:60*15] =0 + x[60*18:60*19] =0 + + if self.aggressive_pruning: + # for profiles, only keep stratosphere temperature. prune all other profiles in stratosphere + x[60:60+self.strato_lev_qinput] = 0 # prune RH + x[120:120+self.strato_lev_qinput] = 0 + # x[180:180+self.strato_lev] = 0 # should be liq_partition + x[240:240+self.strato_lev] = 0 # prune u + x[300:300+self.strato_lev] = 0 # prune v + x[360:360+self.strato_lev] = 0 + x[420:420+self.strato_lev] = 0 + x[480:480+self.strato_lev] = 0 + x[540:540+self.strato_lev] = 0 + x[600:600+self.strato_lev] = 0 + x[660:660+self.strato_lev] = 0 + x[720:720+self.strato_lev] = 0 + x[780:780+self.strato_lev_qinput] = 0 # prune qv_phy + x[840:840+self.strato_lev_qinput] = 0 # prune qn_phy + x[900:900+self.strato_lev] = 0 + x[960:960+self.strato_lev] = 0 + x[1020:1020+self.strato_lev_qinput] = 0 # prune qv_phy + x[1080:1080+self.strato_lev_qinput] = 0 # prune qn_phy in previous time step + x[1140:1140+self.strato_lev] = 0 + x[1395] = 0 #SNOWHICE + elif self.qinput_prune: + # raise NotImplementedError('should use aggressive_pruning! instead of qinput_prune!') + #x[:,60:60+self.strato_lev] = 0 + x[120:120+self.strato_lev] = 0 + # x[180:180+self.strato_lev] = 0 + + if self.strato_lev_tinput >0: + x[0:self.strato_lev_tinput] = 0 + + if self.input_clip: + if self.input_clip_rhonly: + x[60:120] = np.clip(x[60:120], 0, 1.2) + else: + x[60:120] = np.clip(x[60:120], 0, 1.2) # for RH, clip to (0,1.2) + x[360:720] = np.clip(x[360:720], -0.5, 0.5) # for dyn forcing, clip to (-0.5,0.5) + x[720:1200] = np.clip(x[720:1200], -3, 3) # for phy tendencies clip to (-3,3) + + + if self.output_prune: + y[60:60+self.strato_lev_out] = 0 + y[120:120+self.strato_lev_out] = 0 + y[180:180+self.strato_lev_out] = 0 + y[240:240+self.strato_lev_out] = 0 + + if self.qn_tscaled: + return torch.tensor(x, dtype=torch.float32), torch.tensor(y, dtype=torch.float32), torch.tensor(qn_scale_weight, dtype=torch.float32) + else: + return torch.tensor(x, dtype=torch.float32), torch.tensor(y, dtype=torch.float32) \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v5/training/climsim_unet.py b/online_testing/baseline_models/Unet_v5/training/climsim_unet.py new file mode 100644 index 0000000..d316223 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/climsim_unet.py @@ -0,0 +1,412 @@ +import numpy as np +import torch +import torch.optim as optim +import torch.nn as nn +from dataclasses import dataclass +import modulus +import nvtx +from layers import ( + Conv1d, + GroupNorm, + Linear, + UNetBlock, + UNetBlock_noatten, + UNetBlock_atten, + ScriptableAttentionOp, +) +from torch.nn.functional import silu +from typing import List + +""" +Contains the code for the Unet and its training. +""" + +device = 'cuda' if torch.cuda.is_available() else 'cpu' + +@dataclass +class ClimsimUnetMetaData(modulus.ModelMetaData): + name: str = "ClimsimUnet" + # Optimization + jit: bool = True + cuda_graphs: bool = True + amp_cpu: bool = True + amp_gpu: bool = True + +class ClimsimUnet(modulus.Module): + def __init__( + self, + num_vars_profile: int, + num_vars_scalar: int, + num_vars_profile_out: int, + num_vars_scalar_out: int, + seq_resolution: int = 64, + label_dim: int = 0, + augment_dim: int = 0, + model_channels: int = 128, + channel_mult: List[int] = [1, 2, 2, 2], + channel_mult_emb: int = 4, + num_blocks: int = 4, + attn_resolutions: List[int] = [16], + dropout: float = 0.10, + label_dropout: float = 0.0, + embedding_type: str = "positional", + channel_mult_noise: int = 1, + encoder_type: str = "standard", + decoder_type: str = "standard", + resample_filter: List[int] = [1, 1], + n_model_levels: int = 60, + # qinput_prune=False, + output_prune=False, + strato_lev_out=12, + loc_embedding: bool = False, + skip_conv: bool = False, + prev_2d: bool = False, + skip_phys_tend = False, + ): + + super().__init__(meta=ClimsimUnetMetaData()) + # check if hidden_dims is a list of hidden_dims + self.num_vars_profile = num_vars_profile + self.num_vars_scalar = num_vars_scalar + self.num_vars_profile_out = num_vars_profile_out + self.num_vars_scalar_out = num_vars_scalar_out + self.model_channels = model_channels + + self.in_channels = num_vars_profile + num_vars_scalar + 7 # +(8-1)=7 for the location embedding + self.out_channels = num_vars_profile_out + num_vars_scalar_out + # print('1: out_channels', self.out_channels) + + # valid_encoder_types = ["standard", "skip", "residual"] + valid_encoder_types = ["standard"] + if encoder_type not in valid_encoder_types: + raise ValueError( + f"Invalid encoder_type: {encoder_type}. Must be one of {valid_encoder_types}." + ) + + # valid_decoder_types = ["standard", "skip"] + valid_decoder_types = ["standard"] + if decoder_type not in valid_decoder_types: + raise ValueError( + f"Invalid decoder_type: {decoder_type}. Must be one of {valid_decoder_types}." + ) + + self.label_dropout = label_dropout + self.embedding_type = embedding_type + + self.seq_resolution = seq_resolution + self.label_dim = label_dim + self.augment_dim = augment_dim + self.model_channels = model_channels + self.channel_mult = channel_mult + self.channel_mult_emb = channel_mult_emb + self.num_blocks = num_blocks + self.attn_resolutions = attn_resolutions + self.dropout = dropout + self.channel_mult_noise = channel_mult_noise + self.encoder_type = encoder_type + self.decoder_type = decoder_type + self.resample_filter = resample_filter + self.n_model_levels = n_model_levels + self.input_padding = (seq_resolution-n_model_levels,0) + # self.qinput_prune=qinput_prune + self.output_prune=output_prune + self.strato_lev_out=strato_lev_out + self.loc_embedding = loc_embedding + self.skip_conv = skip_conv + self.prev_2d = prev_2d + self.skip_phys_tend = skip_phys_tend + + # emb_channels = model_channels * channel_mult_emb + # self.emb_channels = emb_channels + # noise_channels = model_channels * channel_mult_noise + init = dict(init_mode="xavier_uniform") + init_zero = dict(init_mode="xavier_uniform", init_weight=1e-5) + init_attn = dict(init_mode="xavier_uniform", init_weight=0.2**0.5) + block_kwargs = dict( + # emb_channels=emb_channels, + num_heads=1, + dropout=dropout, + skip_scale=0.5**0.5, + eps=1e-6, + resample_filter=resample_filter, + resample_proj=True, + adaptive_scale=False, + init=init, + init_zero=init_zero, + init_attn=init_attn, + ) + + + # Encoder. + self.enc = torch.nn.ModuleDict() + cout = self.in_channels + caux = self.in_channels + for level, mult in enumerate(channel_mult): + res = seq_resolution >> level + if level == 0: + cin = cout + cout = model_channels + # comment out the first conv layer that supposed to be the input embedding + # because we will have the input embedding manusally for profile vars and scalar vars + self.enc[f"{res}_conv"] = Conv1d( + in_channels=cin, out_channels=cout, kernel=3, **init + ) + else: + self.enc[f"{res}_down"] = UNetBlock_noatten( + in_channels=cout, out_channels=cout, down=True, **block_kwargs + ) + if encoder_type == "skip": + self.enc[f"{res}_aux_down"] = Conv1d( + in_channels=caux, + out_channels=caux, + kernel=0, + down=True, + resample_filter=resample_filter, + ) + self.enc[f"{res}_aux_skip"] = Conv1d( + in_channels=caux, out_channels=cout, kernel=1, **init + ) + if encoder_type == "residual": + self.enc[f"{res}_aux_residual"] = Conv1d( + in_channels=caux, + out_channels=cout, + kernel=3, + down=True, + resample_filter=resample_filter, + fused_resample=True, + **init, + ) + caux = cout + for idx in range(num_blocks): + cin = cout + cout = model_channels * mult + attn = res in attn_resolutions + if attn: + self.enc[f"{res}_block{idx}"] = UNetBlock_atten( + in_channels=cin, + out_channels=cout, + emb_channels=0, + up=False, + down=False, + channels_per_head=64, + **block_kwargs + ) + else: + self.enc[f"{res}_block{idx}"] = UNetBlock_noatten( + in_channels=cin, + out_channels=cout, + attention=attn, + emb_channels=0, + up=False, + down=False, + channels_per_head=64, + **block_kwargs + ) + skips = [ + block.out_channels for name, block in self.enc.items() if "aux" not in name + ] + + self.skip_conv_layer = [] #torch.nn.ModuleList() + # for each skip connection, add a 1x1 conv layer initialized as identity connection, with an option to train the weight + for idx, skip in enumerate(skips): + conv = Conv1d(in_channels=skip, out_channels=skip, kernel=1) + torch.nn.init.dirac_(conv.weight) + torch.nn.init.zeros_(conv.bias) + if not self.skip_conv: + conv.weight.requires_grad = False + conv.bias.requires_grad = False + self.skip_conv_layer.append(conv) + self.skip_conv_layer = torch.nn.ModuleList(self.skip_conv_layer) + # XX doulbe check if the above is correct + + # Decoder. + self.dec = torch.nn.ModuleDict() + self.dec_aux_norm = torch.nn.ModuleDict() + self.dec_aux_conv = torch.nn.ModuleDict() + for level, mult in reversed(list(enumerate(channel_mult))): + res = seq_resolution >> level + if level == len(channel_mult) - 1: + self.dec[f"{res}_in0"] = UNetBlock_atten( + in_channels=cout, out_channels=cout, attention=True, **block_kwargs + ) + self.dec[f"{res}_in1"] = UNetBlock_noatten( + in_channels=cout, out_channels=cout, **block_kwargs + ) + else: + self.dec[f"{res}_up"] = UNetBlock_noatten( + in_channels=cout, out_channels=cout, up=True, **block_kwargs + ) + for idx in range(num_blocks + 1): + cin = cout + skips.pop() + cout = model_channels * mult + attn = idx == num_blocks and res in attn_resolutions + if attn: + self.dec[f"{res}_block{idx}"] = UNetBlock_atten( + in_channels=cin, out_channels=cout, attention=attn, **block_kwargs + ) + else: + self.dec[f"{res}_block{idx}"] = UNetBlock_noatten( + in_channels=cin, out_channels=cout, attention=attn, **block_kwargs + ) + if decoder_type == "skip" or level == 0: + # if decoder_type == "skip" and level < len(channel_mult) - 1: + # self.dec[f"{res}_aux_up"] = Conv1d( + # in_channels=out_channels, + # out_channels=out_channels, + # kernel=0, + # up=True, + # resample_filter=resample_filter, + # ) + self.dec_aux_norm[f"{res}_aux_norm"] = GroupNorm( + num_channels=cout, eps=1e-6 + ) + ## comment out the last conv layer that supposed to recover the output channels + ## we will manually recover the output channels + self.dec_aux_conv[f"{res}_aux_conv"] = Conv1d( + in_channels=cout, out_channels=self.out_channels, kernel=3, **init_zero + ) + + # create a 385x8 trainable weight embedding for the input + self.emb_loc = torch.nn.Parameter(torch.randn(385, 8), requires_grad=True) + + def forward(self, x): + ''' + x: (batch, num_vars_profile*levels+num_vars_scalar) + # x_profile: (batch, num_vars_profile, levels) + # x_scalar: (batch, num_vars_scalar) + ''' + + # if self.qinput_prune: + # x = x.clone() # Clone the tensor to ensure you're not modifying the original tensor in-place + # x[:, 60:60+self.strato_lev_out] = x[:, 60:60+self.strato_lev_out].clone().zero_() # Set stratosphere q1 to 0 + # x[:, 120:120+self.strato_lev_out] = x[:, 120:120+self.strato_lev_out].clone().zero_() # Set stratosphere q2 to 0 + # x[:, 180:180+self.strato_lev_out] = x[:, 180:180+self.strato_lev_out].clone().zero_() # Set stratosphere q3 to 0 + + if not self.prev_2d: + x = x.clone() + x[:,-8:-3] = x[:,-8:-3].clone().zero_() + + # split x into x_profile and x_scalar + x_profile = x[:,:self.num_vars_profile*self.n_model_levels] + x_scalar = x[:,self.num_vars_profile*self.n_model_levels:-1] + x_loc = x[:,-1] # location index + + # right now x_loc is only 1-384, use 0 to represent not using position embedding + if not self.loc_embedding: + x_loc[:] = 0.0*x_loc[:] + #convert x_loc to embedding, first use one-hot encoding to convert x_loc to (batch, 385) + # convert x_loc to one-hot encoding + x_loc = torch.nn.functional.one_hot(x_loc.to(torch.int64), num_classes=385) + # convert x_loc from int to float + x_loc = x_loc.to(torch.float32) + # convert x_loc to embedding + x_loc = torch.matmul(x_loc, self.emb_loc) # (batch, 8) + + # print(x_profile.shape, x_scalar.shape, x_loc.shape) + + # reshape x_profile to (batch, num_vars_profile, levels) + x_profile = x_profile.reshape(-1, self.num_vars_profile, self.n_model_levels) + # broadcast x_scalar to (batch, num_vars_scalar, levels) + x_scalar = x_scalar.unsqueeze(2).expand(-1, -1, self.n_model_levels) + + # if self.skip_phys_tend: + # x_phys_tend_skip = x_profile[:,12:16,:].clone() + + + #concatenate x_profile, x_scalar, x_loc to (batch, num_vars_profile+num_vars_scalar+8, levels) + x = torch.cat((x_profile, x_scalar, x_loc.unsqueeze(2).expand(-1, -1, self.n_model_levels)), dim=1) + # print('2:', x.shape) + # x = torch.cat((x_profile, x_scalar), dim=1) + + x = torch.nn.functional.pad(x, self.input_padding, "constant", 0.0) + # print('3:', x.shape) + # pass the concatenated tensor through the Unet + + # Encoder. + skips = [] + aux = x + for name, block in self.enc.items(): + if "aux_down" in name: + aux = block(aux) + elif "aux_skip" in name: + x = skips[-1] = x + block(aux) + elif "aux_residual" in name: + x = skips[-1] = aux = (x + block(aux)) / 2**0.5 + else: + # x = block(x, emb) if isinstance(block, UNetBlock) else block(x) + x = block(x) + skips.append(x) + + new_skips = [] + # for x_tmp, conv_tmp in zip(skips, self.skip_conv_layer): + # x_tmp = conv_tmp(x_tmp) + # new_skips.append(x_tmp) + for idx, conv_tmp in enumerate(self.skip_conv_layer): + x_tmp = conv_tmp(skips[idx]) + new_skips.append(x_tmp) + + aux = None + tmp = None + for name, block in self.dec.items(): +# print(name) + # if "aux" not in name: + if x.shape[1] != block.in_channels: + # skip_ind = len(skips) - 1 + # skip_conv = self.skip_conv_layer[skip_ind] + x = torch.cat([x, new_skips.pop()], dim=1) + # x = block(x, emb) + x = block(x) + # else: + # # if "aux_up" in name: + # # aux = block(aux) + # if "aux_conv" in name: + # tmp = block(silu(tmp)) + # aux = tmp if aux is None else tmp + aux + # elif "aux_norm" in name: + # tmp = block(x) + for name, block in self.dec_aux_norm.items(): + tmp = block(x) + for name, block in self.dec_aux_conv.items(): + tmp = block(silu(tmp)) + aux = tmp if aux is None else tmp + aux + + # here x should be (batch, output_channels, seq_resolution) + # remember that self.input_padding = (seq_resolution-n_model_levels,0) + x = aux + # print('7:', x.shape) + if self.input_padding[1]==0: + y_profile = x[:,:self.num_vars_profile_out,self.input_padding[0]:] + y_scalar = x[:,self.num_vars_profile_out:,self.input_padding[0]:] + else: + y_profile = x[:,:self.num_vars_profile_out,self.input_padding[0]:-self.input_padding[1]] + y_scalar = x[:,self.num_vars_profile_out:,self.input_padding[0]:-self.input_padding[1]] + #take relu on y_scalar + y_scalar = torch.nn.functional.relu(y_scalar) + #reshape y_profile to (batch, num_vars_profile_out*levels) + y_profile = y_profile.reshape(-1, self.num_vars_profile_out*self.n_model_levels) + + #average y_scalar for the lev dimension to (batch, num_vars_scalar_out) + y_scalar = y_scalar.mean(dim=2) + # print('7.5:', y_profile.shape, y_scalar.shape) + + #concatenate y_profile and y_scalar to (batch, num_vars_profile_out*levels+num_vars_scalar_out) + y = torch.cat((y_profile, y_scalar), dim=1) + + # if self.skip_phys_tend: + # y = y.clone() + # y[:,0:60] = y[:,0:60].clone() + x_phys_tend_skip[:,0,:] + # y[:,60:120] = y[:,60:120].clone() + x_phys_tend_skip[:,1,:] + # y[:,120:180] = y[:,120:180].clone() + x_phys_tend_skip[:,2,:] + # y[:,180:240] = y[:,180:240].clone() + x_phys_tend_skip[:,3,:] + + # x_phys_tend_skip = x_profile[:,12:16,:].clone() + + if self.output_prune: + y = y.clone() + y[:, 60:60+self.strato_lev_out] = y[:, 60:60+self.strato_lev_out].clone().zero_() + y[:, 120:120+self.strato_lev_out] = y[:, 120:120+self.strato_lev_out].clone().zero_() + y[:, 180:180+self.strato_lev_out] = y[:, 180:180+self.strato_lev_out].clone().zero_() + y[:, 240:240+self.strato_lev_out] = y[:, 240:240+self.strato_lev_out].clone().zero_() + + return y + \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v5/training/climsim_unet_classifier.py b/online_testing/baseline_models/Unet_v5/training/climsim_unet_classifier.py new file mode 100644 index 0000000..7663619 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/climsim_unet_classifier.py @@ -0,0 +1,409 @@ +import numpy as np +import torch +import torch.optim as optim +import torch.nn as nn +from dataclasses import dataclass +import modulus +import nvtx +from layers import ( + Conv1d, + GroupNorm, + Linear, + UNetBlock, + UNetBlock_noatten, + UNetBlock_atten, + ScriptableAttentionOp, +) +from torch.nn.functional import silu +from typing import List + +""" +Contains the code for the Unet and its training. +""" + +device = 'cuda' if torch.cuda.is_available() else 'cpu' + +@dataclass +class ClimsimUnetMetaData_class(modulus.ModelMetaData): + name: str = "ClimsimUnet_class" + # Optimization + jit: bool = True + cuda_graphs: bool = True + amp_cpu: bool = False + amp_gpu: bool = False + +class ClimsimUnet_class(modulus.Module): + def __init__( + self, + num_vars_profile: int, + num_vars_scalar: int, + num_vars_profile_out: int, + num_vars_scalar_out: int, + seq_resolution: int = 64, + label_dim: int = 0, + augment_dim: int = 0, + model_channels: int = 128, + channel_mult: List[int] = [1, 2, 2, 2], + channel_mult_emb: int = 4, + num_blocks: int = 4, + attn_resolutions: List[int] = [16], + dropout: float = 0.10, + label_dropout: float = 0.0, + embedding_type: str = "positional", + channel_mult_noise: int = 1, + encoder_type: str = "standard", + decoder_type: str = "standard", + resample_filter: List[int] = [1, 1], + n_model_levels: int = 60, + # qinput_prune=False, + output_prune=False, + strato_lev_out=12, + loc_embedding: bool = False, + skip_conv: bool = False, + prev_2d: bool = False, + skip_phys_tend = False, + ): + + super().__init__(meta=ClimsimUnetMetaData_class()) + # check if hidden_dims is a list of hidden_dims + self.num_vars_profile = num_vars_profile + self.num_vars_scalar = num_vars_scalar + self.num_vars_profile_vars = num_vars_profile_out + self.num_vars_profile_out = num_vars_profile_out*3 + self.num_vars_scalar_out = num_vars_scalar_out + self.model_channels = model_channels + + self.in_channels = num_vars_profile + num_vars_scalar + 7 # +(8-1)=7 for the location embedding + self.out_channels = self.num_vars_profile_out + num_vars_scalar_out + + if num_vars_scalar_out>0: + raise ValueError('num_vars_scalar_out should be 0') + if num_vars_profile_out != 1: + raise ValueError('num_vars_profile_out should be 1') + # print('1: out_channels', self.out_channels) + + # valid_encoder_types = ["standard", "skip", "residual"] + valid_encoder_types = ["standard"] + if encoder_type not in valid_encoder_types: + raise ValueError( + f"Invalid encoder_type: {encoder_type}. Must be one of {valid_encoder_types}." + ) + + # valid_decoder_types = ["standard", "skip"] + valid_decoder_types = ["standard"] + if decoder_type not in valid_decoder_types: + raise ValueError( + f"Invalid decoder_type: {decoder_type}. Must be one of {valid_decoder_types}." + ) + + self.label_dropout = label_dropout + self.embedding_type = embedding_type + + self.seq_resolution = seq_resolution + self.label_dim = label_dim + self.augment_dim = augment_dim + self.model_channels = model_channels + self.channel_mult = channel_mult + self.channel_mult_emb = channel_mult_emb + self.num_blocks = num_blocks + self.attn_resolutions = attn_resolutions + self.dropout = dropout + self.channel_mult_noise = channel_mult_noise + self.encoder_type = encoder_type + self.decoder_type = decoder_type + self.resample_filter = resample_filter + self.n_model_levels = n_model_levels + self.input_padding = (seq_resolution-n_model_levels,0) + # self.qinput_prune=qinput_prune + self.output_prune=output_prune + self.strato_lev_out=strato_lev_out + self.loc_embedding = loc_embedding + self.skip_conv = skip_conv + self.prev_2d = prev_2d + self.skip_phys_tend = skip_phys_tend + + # emb_channels = model_channels * channel_mult_emb + # self.emb_channels = emb_channels + # noise_channels = model_channels * channel_mult_noise + init = dict(init_mode="xavier_uniform") + init_zero = dict(init_mode="xavier_uniform", init_weight=1e-5) + init_attn = dict(init_mode="xavier_uniform", init_weight=0.2**0.5) + block_kwargs = dict( + # emb_channels=emb_channels, + num_heads=1, + dropout=dropout, + skip_scale=0.5**0.5, + eps=1e-6, + resample_filter=resample_filter, + resample_proj=True, + adaptive_scale=False, + init=init, + init_zero=init_zero, + init_attn=init_attn, + ) + + + # Encoder. + self.enc = torch.nn.ModuleDict() + cout = self.in_channels + caux = self.in_channels + for level, mult in enumerate(channel_mult): + res = seq_resolution >> level + if level == 0: + cin = cout + cout = model_channels + # comment out the first conv layer that supposed to be the input embedding + # because we will have the input embedding manusally for profile vars and scalar vars + self.enc[f"{res}_conv"] = Conv1d( + in_channels=cin, out_channels=cout, kernel=3, **init + ) + else: + self.enc[f"{res}_down"] = UNetBlock_noatten( + in_channels=cout, out_channels=cout, down=True, **block_kwargs + ) + if encoder_type == "skip": + self.enc[f"{res}_aux_down"] = Conv1d( + in_channels=caux, + out_channels=caux, + kernel=0, + down=True, + resample_filter=resample_filter, + ) + self.enc[f"{res}_aux_skip"] = Conv1d( + in_channels=caux, out_channels=cout, kernel=1, **init + ) + if encoder_type == "residual": + self.enc[f"{res}_aux_residual"] = Conv1d( + in_channels=caux, + out_channels=cout, + kernel=3, + down=True, + resample_filter=resample_filter, + fused_resample=True, + **init, + ) + caux = cout + for idx in range(num_blocks): + cin = cout + cout = model_channels * mult + attn = res in attn_resolutions + if attn: + self.enc[f"{res}_block{idx}"] = UNetBlock_atten( + in_channels=cin, + out_channels=cout, + emb_channels=0, + up=False, + down=False, + channels_per_head=64, + **block_kwargs + ) + else: + self.enc[f"{res}_block{idx}"] = UNetBlock_noatten( + in_channels=cin, + out_channels=cout, + attention=attn, + emb_channels=0, + up=False, + down=False, + channels_per_head=64, + **block_kwargs + ) + skips = [ + block.out_channels for name, block in self.enc.items() if "aux" not in name + ] + + self.skip_conv_layer = [] #torch.nn.ModuleList() + # for each skip connection, add a 1x1 conv layer initialized as identity connection, with an option to train the weight + for idx, skip in enumerate(skips): + conv = Conv1d(in_channels=skip, out_channels=skip, kernel=1) + torch.nn.init.dirac_(conv.weight) + torch.nn.init.zeros_(conv.bias) + if not self.skip_conv: + conv.weight.requires_grad = False + conv.bias.requires_grad = False + self.skip_conv_layer.append(conv) + self.skip_conv_layer = torch.nn.ModuleList(self.skip_conv_layer) + # XX doulbe check if the above is correct + + # Decoder. + self.dec = torch.nn.ModuleDict() + self.dec_aux_norm = torch.nn.ModuleDict() + self.dec_aux_conv = torch.nn.ModuleDict() + for level, mult in reversed(list(enumerate(channel_mult))): + res = seq_resolution >> level + if level == len(channel_mult) - 1: + self.dec[f"{res}_in0"] = UNetBlock_atten( + in_channels=cout, out_channels=cout, attention=True, **block_kwargs + ) + self.dec[f"{res}_in1"] = UNetBlock_noatten( + in_channels=cout, out_channels=cout, **block_kwargs + ) + else: + self.dec[f"{res}_up"] = UNetBlock_noatten( + in_channels=cout, out_channels=cout, up=True, **block_kwargs + ) + for idx in range(num_blocks + 1): + cin = cout + skips.pop() + cout = model_channels * mult + attn = idx == num_blocks and res in attn_resolutions + if attn: + self.dec[f"{res}_block{idx}"] = UNetBlock_atten( + in_channels=cin, out_channels=cout, attention=attn, **block_kwargs + ) + else: + self.dec[f"{res}_block{idx}"] = UNetBlock_noatten( + in_channels=cin, out_channels=cout, attention=attn, **block_kwargs + ) + if decoder_type == "skip" or level == 0: + # if decoder_type == "skip" and level < len(channel_mult) - 1: + # self.dec[f"{res}_aux_up"] = Conv1d( + # in_channels=out_channels, + # out_channels=out_channels, + # kernel=0, + # up=True, + # resample_filter=resample_filter, + # ) + self.dec_aux_norm[f"{res}_aux_norm"] = GroupNorm( + num_channels=cout, eps=1e-6 + ) + ## comment out the last conv layer that supposed to recover the output channels + ## we will manually recover the output channels + self.dec_aux_conv[f"{res}_aux_conv"] = Conv1d( + in_channels=cout, out_channels=self.out_channels, kernel=3, **init_zero + ) + + # create a 385x8 trainable weight embedding for the input + self.emb_loc = torch.nn.Parameter(torch.randn(385, 8), requires_grad=True) + + def forward(self, x): + ''' + x: (batch, num_vars_profile*levels+num_vars_scalar) + # x_profile: (batch, num_vars_profile, levels) + # x_scalar: (batch, num_vars_scalar) + ''' + + # if self.qinput_prune: + # x = x.clone() # Clone the tensor to ensure you're not modifying the original tensor in-place + # x[:, 60:60+self.strato_lev] = x[:, 60:60+self.strato_lev].clone().zero_() # Set stratosphere q1 to 0 + # x[:, 120:120+self.strato_lev] = x[:, 120:120+self.strato_lev].clone().zero_() # Set stratosphere q2 to 0 + # x[:, 180:180+self.strato_lev] = x[:, 180:180+self.strato_lev].clone().zero_() # Set stratosphere q3 to 0 + + if not self.prev_2d: + x = x.clone() + x[:,-8:-3] = x[:,-8:-3].clone().zero_() + + # split x into x_profile and x_scalar + x_profile = x[:,:self.num_vars_profile*self.n_model_levels] + x_scalar = x[:,self.num_vars_profile*self.n_model_levels:-1] + x_loc = x[:,-1] # location index + + # right now x_loc is only 1-384, use 0 to represent not using position embedding + if not self.loc_embedding: + x_loc[:] = 0.0*x_loc[:] + #convert x_loc to embedding, first use one-hot encoding to convert x_loc to (batch, 385) + # convert x_loc to one-hot encoding + x_loc = torch.nn.functional.one_hot(x_loc.to(torch.int64), num_classes=385) + # convert x_loc from int to float + x_loc = x_loc.to(torch.float32) + # convert x_loc to embedding + x_loc = torch.matmul(x_loc, self.emb_loc) # (batch, 8) + + # print(x_profile.shape, x_scalar.shape, x_loc.shape) + + # reshape x_profile to (batch, num_vars_profile, levels) + x_profile = x_profile.reshape(-1, self.num_vars_profile, self.n_model_levels) + # broadcast x_scalar to (batch, num_vars_scalar, levels) + x_scalar = x_scalar.unsqueeze(2).expand(-1, -1, self.n_model_levels) + + #concatenate x_profile, x_scalar, x_loc to (batch, num_vars_profile+num_vars_scalar+8, levels) + x = torch.cat((x_profile, x_scalar, x_loc.unsqueeze(2).expand(-1, -1, self.n_model_levels)), dim=1) + # print('2:', x.shape) + # x = torch.cat((x_profile, x_scalar), dim=1) + + x = torch.nn.functional.pad(x, self.input_padding, "constant", 0.0) + # print('3:', x.shape) + # pass the concatenated tensor through the Unet + + # Encoder. + skips = [] + aux = x + for name, block in self.enc.items(): + if "aux_down" in name: + aux = block(aux) + elif "aux_skip" in name: + x = skips[-1] = x + block(aux) + elif "aux_residual" in name: + x = skips[-1] = aux = (x + block(aux)) / 2**0.5 + else: + # x = block(x, emb) if isinstance(block, UNetBlock) else block(x) + x = block(x) + skips.append(x) + + new_skips = [] + # for x_tmp, conv_tmp in zip(skips, self.skip_conv_layer): + # x_tmp = conv_tmp(x_tmp) + # new_skips.append(x_tmp) + for idx, conv_tmp in enumerate(self.skip_conv_layer): + x_tmp = conv_tmp(skips[idx]) + new_skips.append(x_tmp) + + aux = None + tmp = None + for name, block in self.dec.items(): +# print(name) + # if "aux" not in name: + if x.shape[1] != block.in_channels: + # skip_ind = len(skips) - 1 + # skip_conv = self.skip_conv_layer[skip_ind] + x = torch.cat([x, new_skips.pop()], dim=1) + # x = block(x, emb) + x = block(x) + # else: + # # if "aux_up" in name: + # # aux = block(aux) + # if "aux_conv" in name: + # tmp = block(silu(tmp)) + # aux = tmp if aux is None else tmp + aux + # elif "aux_norm" in name: + # tmp = block(x) + for name, block in self.dec_aux_norm.items(): + tmp = block(x) + for name, block in self.dec_aux_conv.items(): + tmp = block(silu(tmp)) + aux = tmp if aux is None else tmp + aux + + # here x should be (batch, output_channels, seq_resolution) + # remember that self.input_padding = (seq_resolution-n_model_levels,0) + x = aux + # print('7:', x.shape) + if self.input_padding[1]==0: + y_profile = x[:,:self.num_vars_profile_out,self.input_padding[0]:] + # y_scalar = x[:,self.num_vars_profile_out:,self.input_padding[0]:] + else: + y_profile = x[:,:self.num_vars_profile_out,self.input_padding[0]:-self.input_padding[1]] + # y_scalar = x[:,self.num_vars_profile_out:,self.input_padding[0]:-self.input_padding[1]] + + #here y_profile is (batch, num_vars_profile_out, levels) + # reshape y_profile to (batch, num_vars_profile_var, 3, levels) + # print('8:', y_profile.shape) + y_profile = y_profile.reshape(-1, self.num_vars_profile_out//3, 3, self.n_model_levels) + #move 3 to the last dim + # print('9:', y_profile.shape) + y_profile = y_profile.permute(0, 1, 3, 2) # here y_profile is (batch, num_vars_profile_var, levels, 3) + # print('10:', y_profile.shape) + #reshape y_profile to (batch, num_vars_profile_var*levels, 3) + y_profile = y_profile.reshape(-1, self.num_vars_profile_vars*self.n_model_levels, 3) + # softmax along the last dim + # y_profile = torch.nn.functional.softmax(y_profile, dim=2) + if self.output_prune: + y_profile = y_profile.clone() + # set y_profile[:,0:self.strato_lev,0] to very large: + y_profile[:,0:self.strato_lev_out,0] = y_profile[:,0:self.strato_lev_out,0].clone().fill_(1e2) + y_profile[:,0:self.strato_lev_out,1] = y_profile[:,0:self.strato_lev_out,0].clone().zero_() + y_profile[:,0:self.strato_lev_out,2] = y_profile[:,0:self.strato_lev_out,0].clone().zero_() + # y_profile[:,60:60+self.strato_lev_out,0] = y_profile[:,60:60+self.strato_lev_out,0].clone().fill_(1e6) + # y_profile[:,60:60+self.strato_lev_out,1] = y_profile[:,60:60+self.strato_lev_out,0].clone().zero_() + # y_profile[:,60:60+self.strato_lev_out,2] = y_profile[:,60:60+self.strato_lev_out,0].clone().zero_() + + return y_profile + \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v5/training/climsim_utils b/online_testing/baseline_models/Unet_v5/training/climsim_utils new file mode 120000 index 0000000..fc1bfa4 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/climsim_utils @@ -0,0 +1 @@ +../../../../climsim_utils \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v5/training/conf/config_single.yaml b/online_testing/baseline_models/Unet_v5/training/conf/config_single.yaml new file mode 100644 index 0000000..92615f6 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/conf/config_single.yaml @@ -0,0 +1,161 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES. +# SPDX-FileCopyrightText: All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# defaults: +# - override hydra/sweeper: optuna +# - override hydra/sweeper/sampler: tpe +# - override hydra/launcher: joblib + +# defaults: +# - _self_ +# - optuna_config: optuna_sweep.yaml + +# hydra: +# sweeper: +# sampler: +# seed: 123 +# direction: minimize +# study_name: simple_objective +# storage: null +# n_trials: 8 +# n_jobs: 2 +# params: +# batch_size: choice(512, 1024, 2048) +# learning_rate: choice(0.1, 0.01, 0.001, 0.0001) +# # launcher: +# # n_jobs: 2 + +climsim_path: '/global/u2/z/zeyuanhu/nvidia_codes/Climsim_private/' +data_path: '/pscratch/sd/z/zeyuanhu/hugging/E3SM-MMF_ne4/preprocessing/v5_full/' +save_path: '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/' +input_mean: 'inputs/input_mean_v5_pervar.nc' +input_max: 'inputs/input_max_v5_pervar.nc' +input_min: 'inputs/input_min_v5_pervar.nc' +output_scale: 'outputs/output_scale_std_lowerthred_v5.nc' +qc_lbd: 'inputs/qc_exp_lambda_large.txt' +qi_lbd: 'inputs/qi_exp_lambda_large.txt' +qn_lbd: 'inputs/qn_exp_lambda_large.txt' + +train_input: 'train_input.npy' +train_target: 'train_target.npy' +val_input: 'val_input.npy' +val_target: 'val_target.npy' +variable_subsets: 'v5' +qinput_log: False +restart_path: '' +classifier_ckpt_path: '' +expname: 'unet_test' + +threshold_class1: 1e-9 +threshold_class2: 1e-11 +qn_logtransform: False + +qinput_prune: True +output_prune: True +aggressive_pruning: False +strato_lev: 15 +strato_lev_out: 12 +strato_lev_qinput: -1 +strato_lev_tinput: -1 +input_clip: False +input_clip_rhonly: False +batch_size: 1024 +epochs: 1 +learning_rate: 0.0001 +optimizer: 'adam' +loss: 'mse' +dt_weight: 1.0 +dq1_weight: 1.0 +dq2_weight: 1.0 +dq3_weight: 1.0 +du_weight: 1.0 +dv_weight: 1.0 +d2d_weight: 1.0 +dice_weight: 1.0 +q_mask_threshold: 0.0 +mse_weight: 1.0 +bce_weight: 1.0 +bias_weight: 1.0 +bias_weight_qn: 1.0 +bias_weight_strato_lev: 15 +bias_weight_strato_weight_t: 0.15 +bias_weight_strato_lev_t: 25 +bias_weight_strato_weight_qv: 0.15 +bias_weight_strato_lev_qv: 25 +bias_weight_strato_weight_qn: 1.0 +bias_weight_strato_lev_qn: 25 +bias_weight_strato_weight_u: 0.5 +bias_weight_strato_lev_u: 25 +bias_weight_strato_weight_v: 0.3 +bias_weight_strato_lev_v: 20 + +do_energy_loss: False +energy_loss_weight: 1.0 +qn_tscaled_loss_weight: 1.0 + +dice_flip: False +unet_num_blocks: 4 +unet_attn_resolutions: [8] +channel_mult: [1, 2, 2, 2] +unet_model_channels: 128 +loc_embedding: False +skip_conv: False +prev_2d: False +skip_phys_tend: False +lazy_load: False +save_top_ckpts: 5 +top_ckpt_mode: 'min' +dropout: 0.0 +decouple_cloud: False +clip_grad: False +clip_grad_norm: 6.0 +drop_extreme_samples: False +drop_extreme_threshold: 500.0 + +# setup the scheduler with 1. step 2. cosine 3. reducedonplateau +scheduler_name: 'step' +scheduler: + step: + step_size: 2 + gamma: 0.3162278 + plateau: + patience: 2 + factor: 0.1 + cosine: + T_max: 2 + eta_min: 0.00001 + +scheduler_warmup: + enable: False + warmup_steps: 20 + warmup_strategy: 'cos' + init_lr: 1e-7 + +load_nonjoint_model: + enable: False + restart_path: '' + +early_stop_step: -1 +mini_batch_log_freq: 100 +logger: 'wandb' +wandb: + project: "v5_unet" + +mlflow: + project: "MLP_test" + +num_workers: 16 \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v5/training/ddp_export.sh b/online_testing/baseline_models/Unet_v5/training/ddp_export.sh new file mode 100644 index 0000000..ac782e7 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/ddp_export.sh @@ -0,0 +1,4 @@ +export RANK=$SLURM_PROCID +export LOCAL_RANK=$SLURM_LOCALID +export WORLD_SIZE=$SLURM_NTASKS +export MASTER_PORT=29500 # default from torch launcher \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v5/training/layers.py b/online_testing/baseline_models/Unet_v5/training/layers.py new file mode 100644 index 0000000..bd0f3a3 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/layers.py @@ -0,0 +1,797 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023 - 2024 NVIDIA CORPORATION & AFFILIATES. +# SPDX-FileCopyrightText: All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +Model architecture layers similar to those used in the paper "Elucidating the Design Space of +Diffusion-Based Generative Models, but customed for the 1d convolution problem in Climsim". +""" + +from typing import Any, Dict, List, Optional + +import numpy as np +import torch +from torch.nn.functional import silu + +from modulus.models.diffusion import weight_init + +class Linear(torch.nn.Module): + """ + A fully connected (dense) layer implementation. The layer's weights and biases can + be initialized using custom initialization strategies like "kaiming_normal", + and can be further scaled by factors `init_weight` and `init_bias`. + + Parameters + ---------- + in_features : int + Size of each input sample. + out_features : int + Size of each output sample. + bias : bool, optional + The biases of the layer. If set to `None`, the layer will not learn an additive + bias. By default True. + init_mode : str, optional (default="kaiming_normal") + The mode/type of initialization to use for weights and biases. Supported modes + are: + - "xavier_uniform": Xavier (Glorot) uniform initialization. + - "xavier_normal": Xavier (Glorot) normal initialization. + - "kaiming_uniform": Kaiming (He) uniform initialization. + - "kaiming_normal": Kaiming (He) normal initialization. + By default "kaiming_normal". + init_weight : float, optional + A scaling factor to multiply with the initialized weights. By default 1. + init_bias : float, optional + A scaling factor to multiply with the initialized biases. By default 0. + """ + + def __init__( + self, + in_features: int, + out_features: int, + bias: bool = True, + init_mode: str = "kaiming_normal", + init_weight: int = 1, + init_bias: int = 0, + ): + super().__init__() + self.in_features = in_features + self.out_features = out_features + init_kwargs = dict(mode=init_mode, fan_in=in_features, fan_out=out_features) + self.weight = torch.nn.Parameter( + weight_init([out_features, in_features], **init_kwargs) * init_weight + ) + self.bias = ( + torch.nn.Parameter(weight_init([out_features], **init_kwargs) * init_bias) + if bias + else None + ) + + def forward(self, x): + x = x @ self.weight.to(dtype=x.dtype, device=x.device).t() + if self.bias is not None: + x = x.add_(self.bias.to(dtype=x.dtype, device=x.device)) + return x + + +class Conv1d(torch.nn.Module): + """ + A custom 1D convolutional layer implementation with support for up-sampling, + down-sampling, and custom weight and bias initializations. The layer's weights + and biases canbe initialized using custom initialization strategies like + "kaiming_normal", and can be further scaled by factors `init_weight` and + `init_bias`. + + Parameters + ---------- + in_channels : int + Number of channels in the input image. + out_channels : int + Number of channels produced by the convolution. + kernel : int + Size of the convolving kernel. + bias : bool, optional + The biases of the layer. If set to `None`, the layer will not learn an + additive bias. By default True. + up : bool, optional + Whether to perform up-sampling. By default False. + down : bool, optional + Whether to perform down-sampling. By default False. + resample_filter : List[int], optional + Filter to be used for resampling. By default [1, 1]. + fused_resample : bool, optional + If True, performs fused up-sampling and convolution or fused down-sampling + and convolution. By default False. + init_mode : str, optional (default="kaiming_normal") + init_mode : str, optional (default="kaiming_normal") + The mode/type of initialization to use for weights and biases. Supported modes + are: + - "xavier_uniform": Xavier (Glorot) uniform initialization. + - "xavier_normal": Xavier (Glorot) normal initialization. + - "kaiming_uniform": Kaiming (He) uniform initialization. + - "kaiming_normal": Kaiming (He) normal initialization. + By default "kaiming_normal". + init_weight : float, optional + A scaling factor to multiply with the initialized weights. By default 1.0. + init_bias : float, optional + A scaling factor to multiply with the initialized biases. By default 0.0. + """ + def __init__( + self, + in_channels: int, + out_channels: int, + kernel: int, + bias: bool = True, + up: bool = False, + down: bool = False, + resample_filter: Optional[List[int]] = None, + fused_resample: bool = False, + init_mode: str = "kaiming_normal", + init_weight: float = 1.0, + init_bias: float = 0.0, + ): + if up and down: + raise ValueError("Both 'up' and 'down' cannot be true at the same time.") + + super().__init__() + self.in_channels = in_channels + self.out_channels = out_channels + self.kernel = kernel + resample_filter = resample_filter if resample_filter is not None else [1, 1] + self.up = up + self.down = down + self.fused_resample = fused_resample + init_kwargs = dict( + mode=init_mode, + fan_in=in_channels * kernel, + fan_out=out_channels * kernel, + ) + self.weight = ( + torch.nn.Parameter( + weight_init([out_channels, in_channels, kernel], **init_kwargs) + * init_weight + ) + if kernel + else None + ) + self.bias = ( + torch.nn.Parameter(weight_init([out_channels], **init_kwargs) * init_bias) + if kernel and bias + else None + ) + # f = torch.as_tensor(resample_filter, dtype=torch.float32) + # f = f.unsqueeze(0).unsqueeze(1) / f.sum() + f = torch.tensor(resample_filter, dtype=torch.float32).unsqueeze(0).unsqueeze(1) / sum(resample_filter) + self.register_buffer("resample_filter", f if up or down else None) + + def forward(self, x): + w = self.weight.to(dtype=x.dtype, device=x.device) if self.weight is not None else None + b = self.bias.to(dtype=x.dtype, device=x.device) if self.bias is not None else None + + # f = self.resample_filter if self.resample_filter is not None else torch.tensor([], dtype=x.dtype, device=x.device) + # w_pad = w.shape[-1] // 2 if w is not None else 0 + # f_pad = (f.size(-1) - 1) // 2 if f.numel() > 0 else 0 # Check for empty tensor + + # Directly use self.resample_filter without creating an empty tensor + f = self.resample_filter + + w_pad = w.shape[-1] // 2 if w is not None else 0 + # Adjust f_pad calculation based on whether f is None or not + f_pad = (f.size(-1) - 1) // 2 if f is not None else 0 # Use f directly + # Adjust convolution operations based on the existence of f + if f is not None: + + if self.fused_resample and self.up and w is not None: + x = torch.nn.functional.conv_transpose1d( + x, + f.repeat(self.in_channels, 1, 1) * 2, + groups=self.in_channels, + stride=2, + padding=max(f_pad - w_pad, 0), + ) + x = torch.nn.functional.conv1d(x, w, padding=max(w_pad - f_pad, 0)) + elif self.fused_resample and self.down and w is not None: + x = torch.nn.functional.conv1d(x, w, padding=w_pad + f_pad) + x = torch.nn.functional.conv1d( + x, + f.repeat(self.out_channels, 1, 1), + groups=self.out_channels, + stride=2, + ) + else: + if self.up: + x = torch.nn.functional.conv_transpose1d( + x, + f.repeat(self.in_channels, 1, 1) * 2, + groups=self.in_channels, + stride=2, + padding=f_pad, + ) + if self.down: + x = torch.nn.functional.conv1d( + x, + f.repeat(self.in_channels, 1, 1), + groups=self.in_channels, + stride=2, + padding=f_pad, + ) + if w is not None: + x = torch.nn.functional.conv1d(x, w, padding=w_pad) + + else: + if w is not None: + x = torch.nn.functional.conv1d(x, w, padding=w_pad) + if b is not None: + x = x.add_(b.reshape(1, -1, 1)) + return x + +class GroupNorm(torch.nn.Module): + """ + A custom Group Normalization layer implementation. + + Group Normalization (GN) divides the channels of the input tensor into groups and + normalizes the features within each group independently. It does not require the + batch size as in Batch Normalization, making itsuitable for batch sizes of any size + or even for batch-free scenarios. + + Parameters + ---------- + num_channels : int + Number of channels in the input tensor. + num_groups : int, optional + Desired number of groups to divide the input channels, by default 32. + This might be adjusted based on the `min_channels_per_group`. + min_channels_per_group : int, optional + Minimum channels required per group. This ensures that no group has fewer + channels than this number. By default 4. + eps : float, optional + A small number added to the variance to prevent division by zero, by default + 1e-5. + + Notes + ----- + If `num_channels` is not divisible by `num_groups`, the actual number of groups + might be adjusted to satisfy the `min_channels_per_group` condition. + """ + + def __init__( + self, + num_channels: int, + num_groups: int = 32, + min_channels_per_group: int = 4, + eps: float = 1e-5, + ): + super().__init__() + self.num_groups = min(num_groups, num_channels // min_channels_per_group) + self.eps = eps + self.weight = torch.nn.Parameter(torch.ones(num_channels)) + self.bias = torch.nn.Parameter(torch.zeros(num_channels)) + + def forward(self, x): + x = torch.nn.functional.group_norm( + x, + num_groups=self.num_groups, + weight=self.weight.to(dtype=x.dtype, device=x.device), + bias=self.bias.to(dtype=x.dtype, device=x.device), + eps=self.eps, + ) + return x + +class AttentionOp(torch.autograd.Function): + """ + Attention weight computation, i.e., softmax(Q^T * K). + Performs all computation using FP32, but uses the original datatype for + inputs/outputs/gradients to conserve memory. + """ + + @staticmethod + def forward(ctx, q, k): + w = ( + torch.einsum( + "ncq,nck->nqk", + q.to(dtype=torch.float32, device=q.device), + (k / (k.shape[1]**0.5)).to(dtype=torch.float32, device=k.device), + ) + .softmax(dim=2) + .to(dtype=q.dtype, device=q.device) + ) + ctx.save_for_backward(q, k, w) + return w + + @staticmethod + def backward(ctx, dw): + q, k, w = ctx.saved_tensors + db = torch._softmax_backward_data( + grad_output=dw.to(dtype=torch.float32, device=dw.device), + output=w.to(dtype=torch.float32, device=w.device), + dim=2, + input_dtype=torch.float32, + ) + dq = torch.einsum("nck,nqk->ncq", k.to(dtype=torch.float32, device=k.device), db).to( + dtype=q.dtype, device=q.device + ) / (k.shape[1]**0.5) + dk = torch.einsum("ncq,nqk->nck", q.to(dtype=torch.float32, device=q.device), db).to( + dtype=k.dtype, device=k.device + ) / (k.shape[1]**0.5) + return dq, dk + +class ScriptableAttentionOp(torch.nn.Module): + def __init__(self): + super(ScriptableAttentionOp, self).__init__() + + def forward(self, q, k): + scale_factor = k.shape[1] ** 0.5 + k_scaled = k / scale_factor + w = torch.einsum("ncq,nck->nqk", q.float(), k_scaled.float()).softmax(dim=2) + return w.to(dtype=q.dtype) + +class UNetBlock(torch.nn.Module): + """ + Unified U-Net block with optional up/downsampling and self-attention. Represents + the union of all features employed by the DDPM++, NCSN++, and ADM architectures. + + Parameters: + ----------- + in_channels : int + Number of input channels. + out_channels : int + Number of output channels. + emb_channels : int + Number of embedding channels. + up : bool, optional + If True, applies upsampling in the forward pass. By default False. + down : bool, optional + If True, applies downsampling in the forward pass. By default False. + attention : bool, optional + If True, enables the self-attention mechanism in the block. By default False. + num_heads : int, optional + Number of attention heads. If None, defaults to `out_channels // 64`. + channels_per_head : int, optional + Number of channels per attention head. By default 64. + dropout : float, optional + Dropout probability. By default 0.0. + skip_scale : float, optional + Scale factor applied to skip connections. By default 1.0. + eps : float, optional + Epsilon value used for normalization layers. By default 1e-5. + resample_filter : List[int], optional + Filter for resampling layers. By default [1, 1]. + resample_proj : bool, optional + If True, resampling projection is enabled. By default False. + adaptive_scale : bool, optional + If True, uses adaptive scaling in the forward pass. By default True. + init : dict, optional + Initialization parameters for convolutional and linear layers. + init_zero : dict, optional + Initialization parameters with zero weights for certain layers. By default + {'init_weight': 0}. + init_attn : dict, optional + Initialization parameters specific to attention mechanism layers. + Defaults to 'init' if not provided. + """ + + def __init__( + self, + in_channels: int, + out_channels: int, + emb_channels: int = 0, + up: bool = False, + down: bool = False, + attention: bool = False, + num_heads: int = None, + channels_per_head: int = 64, + dropout: float = 0.0, + skip_scale: float = 1.0, + eps: float = 1e-5, + resample_filter: List[int] = [1,1], + resample_proj: bool = False, + adaptive_scale: bool = False, + init: Dict[str, Any] = dict(), + init_zero: Dict[str, Any] = dict(init_weight=0), + init_attn: Any = None, + ): + super().__init__() + + self.in_channels = in_channels + self.out_channels = out_channels + self.emb_channels = emb_channels + self.num_heads = ( + 0 + if not attention + else num_heads + if num_heads is not None + else out_channels // channels_per_head + ) + self.dropout = dropout + self.skip_scale = skip_scale + self.adaptive_scale = adaptive_scale + + self.norm0 = GroupNorm(num_channels=in_channels, eps=eps) + self.conv0 = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=3, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + # self.affine = Linear( + # in_features=emb_channels, + # out_features=out_channels * (2 if adaptive_scale else 1), + # **init, + # ) + self.norm1 = GroupNorm(num_channels=out_channels, eps=eps) + self.conv1 = Conv1d( + in_channels=out_channels, out_channels=out_channels, kernel=3, **init_zero + ) + + self.skip = None + if out_channels != in_channels or up or down: + kernel = 1 if resample_proj or out_channels != in_channels else 0 + self.skip = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=kernel, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + + if self.num_heads: + self.norm2 = GroupNorm(num_channels=out_channels, eps=eps) + self.qkv = Conv1d( + in_channels=out_channels, + out_channels=out_channels * 3, + kernel=1, + **(init_attn if init_attn is not None else init), + ) + self.proj = Conv1d( + in_channels=out_channels, + out_channels=out_channels, + kernel=1, + **init_zero, + ) + + def forward(self, x): + orig = x + x = self.conv0(silu(self.norm0(x))) + + # params = self.affine(emb).unsqueeze(2).to(x.dtype) + # if self.adaptive_scale: + # scale, shift = params.chunk(chunks=2, dim=1) + # x = silu(torch.addcmul(shift, self.norm1(x), scale + 1)) + # else: + # x = silu(self.norm1(x.add_(params))) + + x = self.norm1(x) + x = self.conv1( + torch.nn.functional.dropout(x, p=self.dropout, training=self.training) + ) + x = x.add_(self.skip(orig) if self.skip is not None else orig) + x = x * self.skip_scale + + if self.num_heads: + q, k, v = ( + self.qkv(self.norm2(x)) + .reshape( + x.shape[0] * self.num_heads, x.shape[1] // self.num_heads, 3, -1 + ) + .unbind(2) + ) + w = AttentionOp.apply(q, k) + a = torch.einsum("nqk,nck->ncq", w, v) + x = self.proj(a.reshape(*x.shape)).add_(x) + # batch_size, channels, length = x.size() + # x = self.proj(a.reshape(batch_size, channels, length)).add_(x) + x = x * self.skip_scale + return x + +class UNetBlock_noatten(torch.nn.Module): + """ + Unified U-Net block with optional up/downsampling and self-attention. Represents + the union of all features employed by the DDPM++, NCSN++, and ADM architectures. + + Parameters: + ----------- + in_channels : int + Number of input channels. + out_channels : int + Number of output channels. + emb_channels : int + Number of embedding channels. + up : bool, optional + If True, applies upsampling in the forward pass. By default False. + down : bool, optional + If True, applies downsampling in the forward pass. By default False. + attention : bool, optional + If True, enables the self-attention mechanism in the block. By default False. + num_heads : int, optional + Number of attention heads. If None, defaults to `out_channels // 64`. + channels_per_head : int, optional + Number of channels per attention head. By default 64. + dropout : float, optional + Dropout probability. By default 0.0. + skip_scale : float, optional + Scale factor applied to skip connections. By default 1.0. + eps : float, optional + Epsilon value used for normalization layers. By default 1e-5. + resample_filter : List[int], optional + Filter for resampling layers. By default [1, 1]. + resample_proj : bool, optional + If True, resampling projection is enabled. By default False. + adaptive_scale : bool, optional + If True, uses adaptive scaling in the forward pass. By default True. + init : dict, optional + Initialization parameters for convolutional and linear layers. + init_zero : dict, optional + Initialization parameters with zero weights for certain layers. By default + {'init_weight': 0}. + init_attn : dict, optional + Initialization parameters specific to attention mechanism layers. + Defaults to 'init' if not provided. + """ + + def __init__( + self, + in_channels: int, + out_channels: int, + emb_channels: int = 0, + up: bool = False, + down: bool = False, + attention: bool = False, + num_heads: int = None, + channels_per_head: int = 64, + dropout: float = 0.0, + skip_scale: float = 1.0, + eps: float = 1e-5, + resample_filter: List[int] = [1,1], + resample_proj: bool = False, + adaptive_scale: bool = False, + init: Dict[str, Any] = dict(), + init_zero: Dict[str, Any] = dict(init_weight=0), + init_attn: Any = None, + ): + super().__init__() + + self.in_channels = in_channels + self.out_channels = out_channels + self.emb_channels = emb_channels + self.num_heads = ( + 0 + if not attention + else num_heads + if num_heads is not None + else out_channels // channels_per_head + ) + self.dropout = dropout + self.skip_scale = skip_scale + self.adaptive_scale = adaptive_scale + + self.norm0 = GroupNorm(num_channels=in_channels, eps=eps) + self.conv0 = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=3, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + # self.affine = Linear( + # in_features=emb_channels, + # out_features=out_channels * (2 if adaptive_scale else 1), + # **init, + # ) + self.norm1 = GroupNorm(num_channels=out_channels, eps=eps) + self.conv1 = Conv1d( + in_channels=out_channels, out_channels=out_channels, kernel=3, **init_zero + ) + + self.skip = None + if out_channels != in_channels or up or down: + kernel = 1 if resample_proj or out_channels != in_channels else 0 + self.skip = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=kernel, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + + + def forward(self, x): + orig = x + x = self.conv0(silu(self.norm0(x))) + + # params = self.affine(emb).unsqueeze(2).to(x.dtype) + # if self.adaptive_scale: + # scale, shift = params.chunk(chunks=2, dim=1) + # x = silu(torch.addcmul(shift, self.norm1(x), scale + 1)) + # else: + # x = silu(self.norm1(x.add_(params))) + + x = self.norm1(x) + x = self.conv1( + torch.nn.functional.dropout(x, p=self.dropout, training=self.training) + ) + x = x.add_(self.skip(orig) if self.skip is not None else orig) + x = x * self.skip_scale + return x + +class UNetBlock_atten(torch.nn.Module): + """ + Unified U-Net block with optional up/downsampling and self-attention. Represents + the union of all features employed by the DDPM++, NCSN++, and ADM architectures. + + Parameters: + ----------- + in_channels : int + Number of input channels. + out_channels : int + Number of output channels. + emb_channels : int + Number of embedding channels. + up : bool, optional + If True, applies upsampling in the forward pass. By default False. + down : bool, optional + If True, applies downsampling in the forward pass. By default False. + attention : bool, optional + If True, enables the self-attention mechanism in the block. By default False. + num_heads : int, optional + Number of attention heads. If None, defaults to `out_channels // 64`. + channels_per_head : int, optional + Number of channels per attention head. By default 64. + dropout : float, optional + Dropout probability. By default 0.0. + skip_scale : float, optional + Scale factor applied to skip connections. By default 1.0. + eps : float, optional + Epsilon value used for normalization layers. By default 1e-5. + resample_filter : List[int], optional + Filter for resampling layers. By default [1, 1]. + resample_proj : bool, optional + If True, resampling projection is enabled. By default False. + adaptive_scale : bool, optional + If True, uses adaptive scaling in the forward pass. By default True. + init : dict, optional + Initialization parameters for convolutional and linear layers. + init_zero : dict, optional + Initialization parameters with zero weights for certain layers. By default + {'init_weight': 0}. + init_attn : dict, optional + Initialization parameters specific to attention mechanism layers. + Defaults to 'init' if not provided. + """ + + def __init__( + self, + in_channels: int, + out_channels: int, + emb_channels: int = 0, + up: bool = False, + down: bool = False, + num_heads: int = 1, + channels_per_head: int = 64, + dropout: float = 0.0, + skip_scale: float = 1.0, + eps: float = 1e-5, + resample_filter: List[int] = [1,1], + resample_proj: bool = False, + adaptive_scale: bool = False, + init: Dict[str, Any] = dict(), + init_zero: Dict[str, Any] = dict(init_weight=0), + init_attn: Any = None, + attention: bool = True, + ): + super().__init__() + + self.in_channels = in_channels + self.out_channels = out_channels + self.emb_channels = emb_channels + self.num_heads = ( + num_heads + if num_heads is not None + else out_channels // channels_per_head + ) + self.dropout = dropout + self.skip_scale = skip_scale + self.adaptive_scale = adaptive_scale + + self.norm0 = GroupNorm(num_channels=in_channels, eps=eps) + self.conv0 = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=3, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + # self.affine = Linear( + # in_features=emb_channels, + # out_features=out_channels * (2 if adaptive_scale else 1), + # **init, + # ) + self.norm1 = GroupNorm(num_channels=out_channels, eps=eps) + self.conv1 = Conv1d( + in_channels=out_channels, out_channels=out_channels, kernel=3, **init_zero + ) + + self.skip = None + if out_channels != in_channels or up or down: + kernel = 1 if resample_proj or out_channels != in_channels else 0 + self.skip = Conv1d( + in_channels=in_channels, + out_channels=out_channels, + kernel=kernel, + up=up, + down=down, + resample_filter=resample_filter, + **init, + ) + + if self.num_heads: + self.norm2 = GroupNorm(num_channels=out_channels, eps=eps) + self.qkv = Conv1d( + in_channels=out_channels, + out_channels=out_channels * 3, + kernel=1, + **(init_attn if init_attn is not None else init), + ) + self.proj = Conv1d( + in_channels=out_channels, + out_channels=out_channels, + kernel=1, + **init_zero, + ) + + self.attentionop = ScriptableAttentionOp() + + def forward(self, x): + orig = x + x = self.conv0(silu(self.norm0(x))) + + # params = self.affine(emb).unsqueeze(2).to(x.dtype) + # if self.adaptive_scale: + # scale, shift = params.chunk(chunks=2, dim=1) + # x = silu(torch.addcmul(shift, self.norm1(x), scale + 1)) + # else: + # x = silu(self.norm1(x.add_(params))) + + x = self.norm1(x) + x = self.conv1( + torch.nn.functional.dropout(x, p=self.dropout, training=self.training) + ) + x = x.add_(self.skip(orig) if self.skip is not None else orig) + x = x * self.skip_scale + + if self.num_heads: + q, k, v = ( + self.qkv(self.norm2(x)) + .reshape( + x.shape[0] * self.num_heads, x.shape[1] // self.num_heads, 3, -1 + ) + .unbind(2) + ) + w = self.attentionop(q, k) + a = torch.einsum("nqk,nck->ncq", w, v) + # x = self.proj(a.reshape(*x.shape)).add_(x) + batch_size, channels, length = x.size() + x = self.proj(a.reshape(batch_size, channels, length)).add_(x) + x = x * self.skip_scale + return x \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v5/training/loss_energy.py b/online_testing/baseline_models/Unet_v5/training/loss_energy.py new file mode 100644 index 0000000..738cb2d --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/loss_energy.py @@ -0,0 +1,63 @@ +import torch + +''' +a loss function that compares the column integrated mse tendencies between the model and the truth +''' + +def loss_energy(pred, truth, ps, hyai, hybi, out_scale): + """ + Compute the energy loss. + + Parameters: + - pred (torch.Tensor): Predictions from the model. Shape: (batch_size, 368). + - truth (torch.Tensor): Ground truth. Shape: (batch_size, 368). + - ps (torch.Tensor): Surface pressure. Shape: (batch_size). with original unit of Pa. + - hyai (torch.Tensor): Coefficients for calculating pressure at layer interfaces for mass. Shape: (61). + - hybi (torch.Tensor): Coefficients for calculating pressure at layer interfaces for mass. Shape: (61). + - out_scale (float): Output scaling factor. shape: (368). + """ + #code for reference + # state_ps = np.reshape(state_ps, (-1, self.num_latlon)) + # pressure_grid_p1 = np.array(self.grid_info['P0']*self.grid_info['hyai'])[:,np.newaxis,np.newaxis] + # pressure_grid_p2 = self.grid_info['hybi'].values[:, np.newaxis, np.newaxis] * state_ps[np.newaxis, :, :] + # self.pressure_grid_train = pressure_grid_p1 + pressure_grid_p2 + # self.dp_train = self.pressure_grid_train[1:61,:,:] - self.pressure_grid_train[0:60,:,:] + + # convert out_scale to torch tensor if not + if not torch.is_tensor(out_scale): + out_scale = torch.tensor(out_scale, dtype=torch.float32) + # convert hybi and hyai to torch tensor if not + if not torch.is_tensor(hybi): + hybi = torch.tensor(hybi, dtype=torch.float32) + if not torch.is_tensor(hyai): + hyai = torch.tensor(hyai, dtype=torch.float32) + + L_V = 2.501e6 # Latent heat of vaporization + # L_I = 3.337e5 # Latent heat of freezing + # L_F = L_I + # L_S = L_V + L_I # Sublimation + C_P = 1.00464e3 # Specific heat capacity of air at constant pressure + + dt_pred = pred[:,0:60]/out_scale[0:60] + dt_truth = truth[:,0:60]/out_scale[0:60] + dq_pred = pred[:,60:120]/out_scale[60:120] + dq_truth = truth[:,60:120]/out_scale[60:120] + + # calculate the pressure difference, make ps (batch_size, 1) + ps = ps.reshape(-1,1) + pressure_grid_p1 = 1e5 * hyai.reshape(1,-1) # (1, 61) + pressure_grid_p2 = hybi.reshape(1,-1) * ps # (batch_size, 61) + pressure_grid = pressure_grid_p1 + pressure_grid_p2 # (batch_size, 61) + dp = pressure_grid[:,1:] - pressure_grid[:,:-1] # (batch_size, 60) + + # calculate the integrated tendency + dt_integrated_pred = torch.sum(dt_pred * dp, dim=1) # (batch_size) + dt_integrated_truth = torch.sum(dt_truth * dp, dim=1) # (batch_size) + dq_integrated_pred = torch.sum(dq_pred * dp, dim=1) # (batch_size) + dq_integrated_truth = torch.sum(dq_truth * dp, dim=1) # (batch_size) + + # energy loss, note moist static energy is the sum of dry static energy and latent heat, h = cp*T + gz + Lq + energy_loss = torch.mean((C_P * dt_integrated_pred + L_V * dq_integrated_pred - C_P * dt_integrated_truth - L_V * dq_integrated_truth)**2) + + return energy_loss + diff --git a/online_testing/baseline_models/Unet_v5/training/slurm/v5_classifier_lr3em4_qnlog_thred1013_smaller2_clip.sbatch b/online_testing/baseline_models/Unet_v5/training/slurm/v5_classifier_lr3em4_qnlog_thred1013_smaller2_clip.sbatch new file mode 100644 index 0000000..a272124 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/slurm/v5_classifier_lr3em4_qnlog_thred1013_smaller2_clip.sbatch @@ -0,0 +1,53 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q shared_interactive +#SBATCH -t 04:00:00 +#SBATCH --ntasks-per-node 2 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 2 +#SBATCH -n 2 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_unet_h5loader_classifier_gradout.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v5_full/'\ + expname='v5_classifier_lr3em4_qnlog_thred1013_smaller2_clip' \ + batch_size=2024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=15 \ + strato_lev_qinput=15 \ + input_clip_rhonly=True \ + aggressive_pruning=True \ + threshold_class1=1e-10 \ + threshold_class2=1e-13 \ + qn_logtransform=True \ + epochs=10 \ + dropout=0.1 \ + drop_extreme_samples=False \ + save_top_ckpts=15 \ + learning_rate=0.0003 \ + clip_grad=True \ + clip_grad_norm=1.0 \ + scheduler_warmup.enable=False \ + scheduler_warmup.init_lr=1e-7 \ + scheduler_warmup.warmup_steps=5 \ + logger='wandb' \ + wandb.project='v5_unet_class' \ + scheduler_name='step' \ + scheduler.step.step_size=3 \ + scheduler.step.gamma=0.316 \ + unet_num_blocks=1 \ + unet_attn_resolutions=[0] \ + unet_model_channels=32 " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/Unet_v5/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" + diff --git a/online_testing/baseline_models/Unet_v5/training/slurm/v5_unet_nonaggressive_cliprh_huber.sbatch b/online_testing/baseline_models/Unet_v5/training/slurm/v5_unet_nonaggressive_cliprh_huber.sbatch new file mode 100644 index 0000000..9425ab7 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/slurm/v5_unet_nonaggressive_cliprh_huber.sbatch @@ -0,0 +1,48 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q regular +#SBATCH -t 24:00:00 +#SBATCH --ntasks-per-node 4 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 4 +#SBATCH -n 4 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_unet_h5loader.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v5_full/'\ + expname='v5_unet_nonaggressive_cliprh_huber' \ + batch_size=1024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=12 \ + strato_lev_qinput=22 \ + input_clip_rhonly=True \ + aggressive_pruning=False \ + epochs=16 \ + loss='huber' \ + dropout=0.0 \ + drop_extreme_samples=False \ + save_top_ckpts=15 \ + learning_rate=0.0001 \ + scheduler_warmup.enable=False \ + scheduler_warmup.init_lr=1e-7 \ + scheduler_warmup.warmup_steps=5 \ + logger='wandb' \ + wandb.project='v5_unet' \ + scheduler_name='step' \ + scheduler.step.step_size=3 \ + scheduler.step.gamma=0.5 \ + unet_num_blocks=2 \ + unet_attn_resolutions=[0] " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/Unet_v5/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" + diff --git a/online_testing/baseline_models/Unet_v5/training/slurm/v5_unet_nonaggressive_cliprh_huber_rop2.sbatch b/online_testing/baseline_models/Unet_v5/training/slurm/v5_unet_nonaggressive_cliprh_huber_rop2.sbatch new file mode 100644 index 0000000..d9de2fc --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/slurm/v5_unet_nonaggressive_cliprh_huber_rop2.sbatch @@ -0,0 +1,48 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q regular +#SBATCH -t 24:00:00 +#SBATCH --ntasks-per-node 4 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 4 +#SBATCH -n 4 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_unet_h5loader.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v5_full/'\ + expname='v5_unet_nonaggressive_cliprh_huber_rop2' \ + batch_size=1024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=12 \ + strato_lev_qinput=22 \ + input_clip_rhonly=True \ + aggressive_pruning=False \ + epochs=20 \ + loss='huber' \ + dropout=0.0 \ + drop_extreme_samples=False \ + save_top_ckpts=15 \ + learning_rate=0.0001 \ + scheduler_warmup.enable=False \ + scheduler_warmup.init_lr=1e-7 \ + scheduler_warmup.warmup_steps=5 \ + logger='wandb' \ + wandb.project='v5_unet' \ + scheduler_name='plateau' \ + scheduler.plateau.patience=3 \ + scheduler.plateau.factor=0.3162 \ + unet_num_blocks=2 \ + unet_attn_resolutions=[0] " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/Unet_v5/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" + diff --git a/online_testing/baseline_models/Unet_v5/training/slurm/v5_unet_nonaggressive_cliprh_huber_rop2_r2.sbatch b/online_testing/baseline_models/Unet_v5/training/slurm/v5_unet_nonaggressive_cliprh_huber_rop2_r2.sbatch new file mode 100644 index 0000000..75b5d33 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/slurm/v5_unet_nonaggressive_cliprh_huber_rop2_r2.sbatch @@ -0,0 +1,49 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q regular +#SBATCH -t 24:00:00 +#SBATCH --ntasks-per-node 4 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 4 +#SBATCH -n 4 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_unet_h5loader.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v5_full/'\ + expname='v5_unet_nonaggressive_cliprh_huber_rop2_r2' \ + batch_size=1024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=12 \ + strato_lev_qinput=22 \ + input_clip_rhonly=True \ + aggressive_pruning=False \ + epochs=8 \ + restart_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/v5_unet_nonaggressive_cliprh_huber_rop2/model.mdlus' \ + loss='huber' \ + dropout=0.0 \ + drop_extreme_samples=False \ + save_top_ckpts=15 \ + learning_rate=0.00005 \ + scheduler_warmup.enable=False \ + scheduler_warmup.init_lr=1e-7 \ + scheduler_warmup.warmup_steps=5 \ + logger='wandb' \ + wandb.project='v5_unet' \ + scheduler_name='plateau' \ + scheduler.plateau.patience=0 \ + scheduler.plateau.factor=0.5 \ + unet_num_blocks=2 \ + unet_attn_resolutions=[0] " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/Unet_v5/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" + diff --git a/online_testing/baseline_models/Unet_v5/training/slurm/v5_unet_nonaggressive_cliprh_mae.sbatch b/online_testing/baseline_models/Unet_v5/training/slurm/v5_unet_nonaggressive_cliprh_mae.sbatch new file mode 100644 index 0000000..256f0cf --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/slurm/v5_unet_nonaggressive_cliprh_mae.sbatch @@ -0,0 +1,48 @@ +#!/bin/bash +#SBATCH -A m4331 +#SBATCH -C gpu +#SBATCH -q regular +#SBATCH -t 24:00:00 +#SBATCH --ntasks-per-node 4 +#SBATCH --cpus-per-task 32 +#SBATCH --gpus-per-node 4 +#SBATCH -n 4 +#SBATCH --image=nvcr.io/nvidia/modulus/modulus:24.01 +##SBATCH --mail-user=zeyuanh@nvidia.com +##SBATCH --mail-type=ALL +##SBATCH --output=out_%j.out +##SBATCH --error=eo_%j.err + +cmd="python train_unet_h5loader.py --config-name=config_single \ + data_path='/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v5_full/'\ + expname='v5_unet_nonaggressive_cliprh_mae' \ + batch_size=1024 \ + num_workers=32 \ + qinput_prune=True \ + output_prune=True \ + input_clip=True \ + strato_lev=15 \ + strato_lev_out=12 \ + strato_lev_qinput=22 \ + input_clip_rhonly=True \ + aggressive_pruning=False \ + epochs=16 \ + loss='mae' \ + dropout=0.0 \ + drop_extreme_samples=False \ + save_top_ckpts=15 \ + learning_rate=0.0001 \ + scheduler_warmup.enable=False \ + scheduler_warmup.init_lr=1e-7 \ + scheduler_warmup.warmup_steps=5 \ + logger='wandb' \ + wandb.project='v5_unet' \ + scheduler_name='step' \ + scheduler.step.step_size=3 \ + scheduler.step.gamma=0.5 \ + unet_num_blocks=2 \ + unet_attn_resolutions=[0] " + +cd /global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/downstream_test/baseline_models/Unet_v5/training +srun -n $SLURM_NTASKS shifter bash -c "source ddp_export.sh && $cmd" + diff --git a/online_testing/baseline_models/Unet_v5/training/torch_warmup_lr.py b/online_testing/baseline_models/Unet_v5/training/torch_warmup_lr.py new file mode 100644 index 0000000..a5e3650 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/torch_warmup_lr.py @@ -0,0 +1,91 @@ +from torch.optim.lr_scheduler import _LRScheduler +from torch.optim.lr_scheduler import ReduceLROnPlateau +import numpy as np +import math + +''' +Originally from https://github.com/lehduong/torch-warmup-lr/blob/master/torch_warmup_lr/wrappers.py +''' + +class WarmupLR(_LRScheduler): + def __init__(self, scheduler, init_lr=1e-3, num_warmup=1, warmup_strategy='linear'): + if warmup_strategy not in ['linear', 'cos', 'constant']: + raise ValueError("Expect warmup_strategy to be one of ['linear', 'cos', 'constant'] but got {}".format(warmup_strategy)) + self._scheduler = scheduler + self._init_lr = init_lr + self._num_warmup = num_warmup + self._step_count = 0 + # Define the strategy to warm up learning rate + self._warmup_strategy = warmup_strategy + if warmup_strategy == 'cos': + self._warmup_func = self._warmup_cos + elif warmup_strategy == 'linear': + self._warmup_func = self._warmup_linear + else: + self._warmup_func = self._warmup_const + # save initial learning rate of each param group + # only useful when each param groups having different learning rate + self._format_param() + + def __getattr__(self, name): + return getattr(self._scheduler, name) + + def state_dict(self): + """Returns the state of the scheduler as a :class:`dict`. + + It contains an entry for every variable in self.__dict__ which + is not the optimizer. + """ + wrapper_state_dict = {key: value for key, value in self.__dict__.items() if (key != 'optimizer' and key !='_scheduler')} + wrapped_state_dict = {key: value for key, value in self._scheduler.__dict__.items() if key != 'optimizer'} + return {'wrapped': wrapped_state_dict, 'wrapper': wrapper_state_dict} + + def load_state_dict(self, state_dict): + """Loads the schedulers state. + Arguments: + state_dict (dict): scheduler state. Should be an object returned + from a call to :meth:`state_dict`. + """ + self.__dict__.update(state_dict['wrapper']) + self._scheduler.__dict__.update(state_dict['wrapped']) + + + def _format_param(self): + # learning rate of each param group will increase + # from the min_lr to initial_lr + for group in self._scheduler.optimizer.param_groups: + group['warmup_max_lr'] = group['lr'] + group['warmup_initial_lr'] = min(self._init_lr, group['lr']) + + def _warmup_cos(self, start, end, pct): + cos_out = math.cos(math.pi * pct) + 1 + return end + (start - end)/2.0*cos_out + + def _warmup_const(self, start, end, pct): + return start if pct < 0.9999 else end + + def _warmup_linear(self, start, end, pct): + return (end - start) * pct + start + + def get_lr(self): + lrs = [] + step_num = self._step_count + # warm up learning rate + if step_num <= self._num_warmup: + for group in self._scheduler.optimizer.param_groups: + computed_lr = self._warmup_func(group['warmup_initial_lr'], + group['warmup_max_lr'], + step_num/self._num_warmup) + lrs.append(computed_lr) + else: + lrs = self._scheduler.get_lr() + return lrs + + def step(self, *args): + if self._step_count <= self._num_warmup: + values = self.get_lr() + for param_group, lr in zip(self._scheduler.optimizer.param_groups, values): + param_group['lr'] = lr + self._step_count += 1 + else: + self._scheduler.step(*args) \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v5/training/train_unet_h5loader.py b/online_testing/baseline_models/Unet_v5/training/train_unet_h5loader.py new file mode 100644 index 0000000..0b3beda --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/train_unet_h5loader.py @@ -0,0 +1,550 @@ +import torch +from torch.utils.data import Dataset, DataLoader +import numpy as np +import torch.optim as optim +import torch.nn as nn +from tqdm import tqdm +from dataclasses import dataclass +import modulus +from modulus.metrics.general.mse import mse +from loss_energy import loss_energy +from modulus.utils import StaticCaptureTraining, StaticCaptureEvaluateNoGrad +from omegaconf import DictConfig +from modulus.launch.logging import ( + PythonLogger, + LaunchLogger, + initialize_wandb, + RankZeroLoggingWrapper, + initialize_mlflow, +) +from climsim_utils.data_utils import * +from climsim_datapip import climsim_dataset +from climsim_datapip_h5 import climsim_dataset_h5 +from climsim_unet import ClimsimUnet +import climsim_unet as climsim_unet +import hydra +from torch.nn.parallel import DistributedDataParallel +from modulus.distributed import DistributedManager +from torch.utils.data.distributed import DistributedSampler +import gc + +@hydra.main(version_base="1.2", config_path="conf", config_name="config") +def main(cfg: DictConfig) -> float: + + DistributedManager.initialize() + dist = DistributedManager() + + grid_path = cfg.climsim_path+'/grid_info/ClimSim_low-res_grid-info.nc' + norm_path = cfg.climsim_path+'/preprocessing/normalizations/' + grid_info = xr.open_dataset(grid_path) + input_mean = xr.open_dataset(norm_path + cfg.input_mean) + input_max = xr.open_dataset(norm_path + cfg.input_max) + input_min = xr.open_dataset(norm_path + cfg.input_min) + output_scale = xr.open_dataset(norm_path + cfg.output_scale) + # qc_lbd = xr.open_dataset(norm_path + cfg.qc_lbd) + # qi_lbd = xr.open_dataset(norm_path + cfg.qi_lbd) + + # lbd_qc = np.loadtxt(norm_path + cfg.qc_lbd, delimiter=',') + # lbd_qi = np.loadtxt(norm_path + cfg.qi_lbd, delimiter=',') + + lbd_qn = np.loadtxt(norm_path + cfg.qn_lbd, delimiter=',') + + data = data_utils(grid_info = grid_info, + input_mean = input_mean, + input_max = input_max, + input_min = input_min, + output_scale = output_scale) + + # set variables to subset + if cfg.variable_subsets == 'v1': + data.set_to_v1_vars() + elif cfg.variable_subsets == 'v1_dyn': + data.set_to_v1_dyn_vars() + elif cfg.variable_subsets == 'v2': + data.set_to_v2_vars() + elif cfg.variable_subsets == 'v2_dyn': + data.set_to_v2_dyn_vars() + elif cfg.variable_subsets == 'v3': + data.set_to_v3_vars() + elif cfg.variable_subsets == 'v4': + data.set_to_v4_vars() + elif cfg.variable_subsets == 'v5': + data.set_to_v5_vars() + else: + raise ValueError('Unknown variable subset') + + input_size = data.input_feature_len + output_size = data.target_feature_len + + input_sub, input_div, out_scale = data.save_norm(write=False) + + + val_input_path = cfg.data_path + cfg.val_input + val_target_path = cfg.data_path + cfg.val_target + if not os.path.exists(cfg.data_path + cfg.val_input): + raise ValueError('Validation input path does not exist') + + #train_dataset = dataset_class(train_input_path, train_target_path, input_sub, input_div, out_scale, cfg.qinput_prune, cfg.output_prune, cfg.strato_lev, lbd_qc, lbd_qi) + val_dataset = climsim_dataset(input_paths = val_input_path, + target_paths = val_target_path, + input_sub = input_sub, + input_div = input_div, + out_scale = out_scale, + qinput_prune = cfg.qinput_prune, + output_prune = cfg.output_prune, + strato_lev = cfg.strato_lev, + strato_lev_out = cfg.strato_lev_out, + qn_lbd = lbd_qn, + decouple_cloud = cfg.decouple_cloud, + aggressive_pruning = cfg.aggressive_pruning, + strato_lev_qinput = cfg.strato_lev_qinput, + strato_lev_tinput = cfg.strato_lev_tinput, + input_clip = cfg.input_clip, + input_clip_rhonly = cfg.input_clip_rhonly) + #train_sampler = DistributedSampler(train_dataset) if dist.distributed else None + val_sampler = DistributedSampler(val_dataset, shuffle=False) if dist.distributed else None + val_loader = DataLoader(val_dataset, + batch_size=cfg.batch_size, + shuffle=False, + sampler=val_sampler, + num_workers=cfg.num_workers) + + # train_dataset = climsim_dataset_h5(cfg.data_path, \ + # input_sub, input_div, out_scale, cfg.qinput_prune, cfg.output_prune, \ + # cfg.strato_lev, lbd_qc, lbd_qi, cfg.decouple_cloud, cfg.aggressive_pruning, \ + # cfg.strato_lev_qc, cfg.strato_lev_qinput, cfg.strato_lev_tinput, cfg.input_clip, cfg.input_clip_rhonly) + train_dataset = climsim_dataset_h5(parent_path = cfg.data_path, + input_sub = input_sub, + input_div = input_div, + out_scale = out_scale, + qinput_prune = cfg.qinput_prune, + output_prune = cfg.output_prune, + strato_lev = cfg.strato_lev, + strato_lev_out = cfg.strato_lev_out, + qn_lbd = lbd_qn, + decouple_cloud = cfg.decouple_cloud, + aggressive_pruning = cfg.aggressive_pruning, + strato_lev_qinput = cfg.strato_lev_qinput, + strato_lev_tinput = cfg.strato_lev_tinput, + input_clip = cfg.input_clip, + input_clip_rhonly = cfg.input_clip_rhonly) + + train_sampler = DistributedSampler(train_dataset) if dist.distributed else None + + train_loader = DataLoader(train_dataset, + batch_size=cfg.batch_size, + shuffle=False if dist.distributed else True, + sampler=train_sampler, + drop_last=True, + pin_memory=torch.cuda.is_available(), + num_workers=cfg.num_workers) + + # create model + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + #print('debug: output_size', output_size, output_size//60, output_size%60) + + tmp_unet_model_channels = int(cfg.unet_model_channels) + tmp_unet_attn_resolutions = [i for i in cfg.unet_attn_resolutions] + tmp_unet_num_blocks = int(cfg.unet_num_blocks) + tmp_output_prune = cfg.output_prune + tmp_strato_lev_out = cfg.strato_lev_out + tmp_loc_embedding = cfg.loc_embedding + tmp_skip_conv = cfg.skip_conv + tmp_prev_2d = cfg.prev_2d + tmp_dropout = cfg.dropout + tmp_channel_mult = cfg.channel_mult + tmp_skip_phys_tend = cfg.skip_phys_tend + + model = ClimsimUnet( + num_vars_profile = input_size//60, + num_vars_scalar = input_size%60, + num_vars_profile_out = output_size//60, + num_vars_scalar_out = output_size%60, + seq_resolution = 64, + model_channels = tmp_unet_model_channels, + channel_mult = [1, 2, 2, 2], + num_blocks = tmp_unet_num_blocks, + attn_resolutions = tmp_unet_attn_resolutions, + dropout = tmp_dropout, + output_prune=tmp_output_prune, + strato_lev_out=tmp_strato_lev_out, + loc_embedding=tmp_loc_embedding, + skip_conv=tmp_skip_conv, + prev_2d=tmp_prev_2d, + skip_phys_tend=tmp_skip_phys_tend + ).to(dist.device) + + if len(cfg.restart_path) > 0: + print("Restarting from checkpoint: " + cfg.restart_path) + if dist.distributed: + model_restart = modulus.Module.from_checkpoint(cfg.restart_path).to(dist.device) + if dist.rank == 0: + model.load_state_dict(model_restart.state_dict()) + torch.distributed.barrier() + else: + torch.distributed.barrier() + model.load_state_dict(model_restart.state_dict()) + else: + model_restart = modulus.Module.from_checkpoint(cfg.restart_path).to(dist.device) + model.load_state_dict(model_restart.state_dict()) + + # Set up DistributedDataParallel if using more than a single process. + # The `distributed` property of DistributedManager can be used to + # check this. + if dist.distributed: + ddps = torch.cuda.Stream() + with torch.cuda.stream(ddps): + model = DistributedDataParallel( + model, + device_ids=[dist.local_rank], # Set the device_id to be + # the local rank of this process on + # this node + output_device=dist.device, + broadcast_buffers=dist.broadcast_buffers, + find_unused_parameters=dist.find_unused_parameters, + ) + torch.cuda.current_stream().wait_stream(ddps) + + # create optimizer + if cfg.optimizer == 'adam': + optimizer = optim.Adam(model.parameters(), lr=cfg.learning_rate) + else: + raise ValueError('Optimizer not implemented') + + # create scheduler + if cfg.scheduler_name == 'step': + scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=cfg.scheduler.step.step_size, gamma=cfg.scheduler.step.gamma) + elif cfg.scheduler_name == 'plateau': + scheduler = optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=cfg.scheduler.plateau.factor, patience=cfg.scheduler.plateau.patience, verbose=True) + elif cfg.scheduler_name == 'cosine': + scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=cfg.scheduler.cosine.T_max, eta_min=cfg.scheduler.cosine.eta_min) + else: + raise ValueError('Scheduler not implemented') + + # create loss function + if cfg.loss == 'mse': + loss_fn = mse + criterion = nn.MSELoss() + elif cfg.loss == 'mae': + loss_fn = nn.L1Loss() + criterion = nn.L1Loss() + elif cfg.loss == 'huber': + loss_fn = nn.SmoothL1Loss() + criterion = nn.SmoothL1Loss() + else: + raise ValueError('Loss function not implemented') + + def loss_weighted(pred, target): + if cfg.variable_subsets in ['v1','v1_dyn']: + raise ValueError('Weighted loss not implemented for v1/v1_dyn') + # dt_weight = 1.0 + # dq1_weight = 1.0 + # dq2_weight = 1.0 + # dq3_weight = 1.0 + # du_weight = 1.0 + # dv_weight = 1.0 + # d2d_weight = 1.0 + + # pred should be of shape (batch_size, 368) + # target should be of shape (batch_size, 368) + # 0-60: dt, 60-120 dq1, 120-180 dq2, 180-240 dq3, 240-300 du, 300-360 dv, 360-368 d2d + #only do the calculation if any of the weights are not 1.0 + if cfg.dt_weight == 1.0 and cfg.dq1_weight == 1.0 and cfg.dq2_weight == 1.0 and cfg.dq3_weight == 1.0 and cfg.du_weight == 1.0 and cfg.dv_weight == 1.0 and cfg.d2d_weight == 1.0: + return criterion(pred, target) + pred[:,0:60] = pred[:,0:60] * cfg.dt_weight + pred[:,60:120] = pred[:,60:120] * cfg.dq1_weight + pred[:,120:180] = pred[:,120:180] * cfg.dq2_weight + pred[:,180:240] = pred[:,180:240] * cfg.dq3_weight + pred[:,240:300] = pred[:,240:300] * cfg.du_weight + pred[:,300:360] = pred[:,300:360] * cfg.dv_weight + pred[:,360:368] = pred[:,360:368] * cfg.d2d_weight + target[:,0:60] = target[:,0:60] * cfg.dt_weight + target[:,60:120] = target[:,60:120] * cfg.dq1_weight + target[:,120:180] = target[:,120:180] * cfg.dq2_weight + target[:,180:240] = target[:,180:240] * cfg.dq3_weight + target[:,240:300] = target[:,240:300] * cfg.du_weight + target[:,300:360] = target[:,300:360] * cfg.dv_weight + target[:,360:368] = target[:,360:368] * cfg.d2d_weight + return criterion(pred, target) + + + # Initialize the console logger + logger = PythonLogger("main") # General python logger + logger0 = RankZeroLoggingWrapper(logger, dist) + + if cfg.logger == 'wandb': + # Initialize the MLFlow logger + initialize_wandb( + project=cfg.wandb.project, + name=cfg.expname, + entity="zeyuan_hu", + mode="online", + ) + LaunchLogger.initialize(use_wandb=True) + else: + # Initialize the MLFlow logger + initialize_mlflow( + experiment_name=cfg.mlflow.project, + experiment_desc="Modulus launch development", + run_name=cfg.expname, + run_desc="Modulus Training", + user_name="Modulus User", + mode="offline", + ) + LaunchLogger.initialize(use_mlflow=True) + + if cfg.save_top_ckpts<=0: + logger0.info("Checkpoints should be set >0, setting to 1") + num_top_ckpts = 1 + else: + num_top_ckpts = cfg.save_top_ckpts + + if cfg.top_ckpt_mode == 'min': + top_checkpoints = [(float('inf'), None)] * num_top_ckpts + elif cfg.top_ckpt_mode == 'max': + top_checkpoints = [(-float('inf'), None)] * num_top_ckpts + else: + raise ValueError('Unknown top_ckpt_mode') + + if dist.rank == 0: + save_path = os.path.join(cfg.save_path, cfg.expname) #cfg.save_path + cfg.expname + save_path_ckpt = os.path.join(save_path, 'ckpt') + if not os.path.exists(save_path): + os.makedirs(save_path) + if not os.path.exists(save_path_ckpt): + os.makedirs(save_path_ckpt) + + if dist.world_size > 1: + torch.distributed.barrier() + + + hyai = data.grid_info['hyai'].values + hybi = data.grid_info['hybi'].values + hyai = torch.tensor(hyai, dtype=torch.float32).to(device) + hybi = torch.tensor(hybi, dtype=torch.float32).to(device) + # input_sub, input_div, out_scale = data.save_norm(write=False) + input_sub_device = torch.tensor(input_sub, dtype=torch.float32).to(device) + input_div_device = torch.tensor(input_div, dtype=torch.float32).to(device) + out_scale_device = torch.tensor(out_scale, dtype=torch.float32).to(device) + + @StaticCaptureTraining( + model=model, + optim=optimizer, + # cuda_graph_warmup=11, + ) + def training_step(model, data_input, target): + # predvar = model(invar) + # loss = mse(predvar, outvar) + output = model(data_input) + if cfg.do_energy_loss: + ps_raw = data_input[:,1500]*input_div[1500]+input_sub[1500] + loss_energy_train = loss_energy(output, target, ps_raw, hyai, hybi, out_scale_device)*cfg.energy_loss_weight + loss_orig = loss_weighted(output, target) + loss = loss_orig + loss_energy_train + else: + loss = loss_weighted(output, target) + return loss + + @StaticCaptureEvaluateNoGrad(model=model, use_graphs=False) + def eval_step_forward(my_model, invar): + return my_model(invar) + + #training block + logger0.info("Starting Training!") + # Basic training block with tqdm for progress tracking + for epoch in range(cfg.epochs): + if dist.distributed: + train_sampler.set_epoch(epoch) + + with LaunchLogger("train", epoch=epoch, mini_batch_log_freq=10) as launchlog: + # model.train() + # Wrap train_loader with tqdm for a progress bar + train_loop = tqdm(train_loader, desc=f'Epoch {epoch+1}') + current_step = 0 + for data_input, target in train_loop: + if cfg.early_stop_step > 0 and current_step > cfg.early_stop_step: + break + # if cfg.output_prune: # this is currently done in the dataset class + # # the following code only works for the v2/v3 output cases! + # target[:,60:60+cfg.strato_lev] = 0 + # target[:,120:120+cfg.strato_lev] = 0 + # target[:,180:180+cfg.strato_lev] = 0 + data_input, target = data_input.to(device), target.to(device) + #optimizer.zero_grad() + # output = model(data_input) + # if cfg.do_energy_loss: + # ps_raw = data_input[:,1500]*input_div[1500]+input_sub[1500] + # loss_energy_train = loss_energy(output, target, ps_raw, hyai, hybi, out_scale_device)*cfg.energy_loss_weight + # loss_orig = loss_weighted(output, target) + # loss = loss_orig + loss_energy_train + # else: + # loss = loss_weighted(output, target) + # loss.backward() + loss = training_step(model, data_input, target) + + # max_grad = max(p.grad.abs().max() for p in model.parameters() if p.grad is not None) + # # Initialize a list to store the L2 norms of each parameter's gradient + # l2_norms = [] + + # for p in model.parameters(): + # if p.grad is not None: + # # Calculate the L2 norm for each parameter's gradient and add it to the list + # l2_norms.append(torch.norm(p.grad, p=2)) + + # # Calculate the mean of the L2 norms + # mean_l2_norm = torch.mean(torch.stack(l2_norms)) + + #optimizer.step() + + # del data_input, target, output + #loss = training_step(data_input, target) + # scheduler.step() + #launchlog.log_minibatch({"loss_train": loss.detach().cpu().numpy()}) + #if dist.rank == 0: + # if cfg.do_energy_loss: + # launchlog.log_minibatch({"loss_train": loss.detach().cpu().numpy(), "loss_energy_train": loss_energy_train.detach().cpu().numpy(), "lr": optimizer.param_groups[0]["lr"], "loss_orig": loss_orig.detach().cpu().numpy(), "max_grad": max_grad.item(), "mean_grad_l2": mean_l2_norm.item()}) + # else: + # launchlog.log_minibatch({"loss_train": loss.detach().cpu().numpy(), "lr": optimizer.param_groups[0]["lr"], "max_grad": max_grad.item(), "mean_grad_l2": mean_l2_norm.item()}) + if cfg.do_energy_loss: + launchlog.log_minibatch({"loss_train": loss.detach().cpu().numpy(), "loss_energy_train": loss_energy_train.detach().cpu().numpy(), "lr": optimizer.param_groups[0]["lr"], "loss_orig": loss_orig.detach().cpu().numpy()}) + else: + launchlog.log_minibatch({"loss_train": loss.detach().cpu().numpy(), "lr": optimizer.param_groups[0]["lr"]}) + # Update the progress bar description with the current loss + train_loop.set_description(f'Epoch {epoch+1}') + train_loop.set_postfix(loss=loss.item()) + current_step += 1 + #launchlog.log_epoch({"Learning Rate": optimizer.param_groups[0]["lr"]}) + + # model.eval() + val_loss = 0.0 + if cfg.do_energy_loss: + val_energy_loss = 0.0 + val_orig = 0.0 + num_samples_processed = 0 + val_loop = tqdm(val_loader, desc=f'Epoch {epoch+1}/1 [Validation]') + current_step = 0 + for data_input, target in val_loop: + if cfg.early_stop_step > 0 and current_step > cfg.early_stop_step: + break + # if cfg.output_prune: + # # the following code only works for the v2/v3 output cases! + # target[:,60:60+cfg.strato_lev] = 0 + # target[:,120:120+cfg.strato_lev] = 0 + # target[:,180:180+cfg.strato_lev] = 0 + # Move data to the device + data_input, target = data_input.to(device), target.to(device) + + output = eval_step_forward(model, data_input) + if cfg.do_energy_loss: + ps_raw = data_input[:,1500]*input_div[1500]+input_sub[1500] + loss_energy_train = loss_energy(output, target, ps_raw, hyai, hybi, out_scale_device)*cfg.energy_loss_weight + loss_orig = loss_weighted(output, target) + loss = loss_orig + loss_energy_train + else: + loss = loss_weighted(output, target) + val_loss += loss.item() * data_input.size(0) + num_samples_processed += data_input.size(0) + + # Calculate and update the current average loss + current_val_loss_avg = val_loss / num_samples_processed + val_loop.set_postfix(loss=current_val_loss_avg) + current_step += 1 + if cfg.do_energy_loss: + val_energy_loss += loss_energy_train.item() * data_input.size(0) + val_orig += loss_orig.item() * data_input.size(0) + current_val_loss_avg_energy = val_energy_loss / num_samples_processed + current_val_loss_avg_orig = val_orig / num_samples_processed + del data_input, target, output + + + # if dist.rank == 0: + #all reduce the loss + if dist.world_size > 1: + current_val_loss_avg = torch.tensor(current_val_loss_avg, device=dist.device) + torch.distributed.all_reduce(current_val_loss_avg) + current_val_loss_avg = current_val_loss_avg.item() / dist.world_size + + if dist.rank == 0: + if cfg.do_energy_loss: + launchlog.log_epoch({"loss_valid": current_val_loss_avg, "loss_energy_valid": current_val_loss_avg_energy, "loss_orig_valid": current_val_loss_avg_orig}) + else: + launchlog.log_epoch({"loss_valid": current_val_loss_avg}) + + current_metric = current_val_loss_avg + # Save the top checkpoints + if cfg.top_ckpt_mode == 'min': + is_better = current_metric < max(top_checkpoints, key=lambda x: x[0])[0] + elif cfg.top_ckpt_mode == 'max': + is_better = current_metric > min(top_checkpoints, key=lambda x: x[0])[0] + + #print('debug: is_better', is_better, current_metric, top_checkpoints) + if len(top_checkpoints) == 0 or is_better: + ckpt_path = os.path.join(save_path_ckpt, f'ckpt_epoch_{epoch+1}_metric_{current_metric:.4f}.mdlus') + if dist.distributed: + model.module.save(ckpt_path) + else: + model.save(ckpt_path) + # if dist.rank == 0: + # model.save(ckpt_path) + top_checkpoints.append((current_metric, ckpt_path)) + # Sort and keep top 5 based on max/min goal at the beginning + if cfg.top_ckpt_mode == 'min': + top_checkpoints.sort(key=lambda x: x[0], reverse=False) + elif cfg.top_ckpt_mode == 'max': + top_checkpoints.sort(key=lambda x: x[0], reverse=True) + # delete the worst checkpoint + if len(top_checkpoints) > num_top_ckpts: + worst_ckpt = top_checkpoints.pop() + print(f"Removing worst checkpoint: {worst_ckpt[1]}") + if worst_ckpt[1] is not None: + os.remove(worst_ckpt[1]) + + if cfg.scheduler_name == 'plateau': + scheduler.step(current_val_loss_avg) + else: + scheduler.step() + + if dist.world_size > 1: + torch.distributed.barrier() + + if dist.rank == 0: + logger0.info("Start recovering the model from the top checkpoint to do torchscript conversion") + #recover the model weight to the top checkpoint + model = modulus.Module.from_checkpoint(top_checkpoints[0][1]).to(device) + + # Save the model + save_file = os.path.join(save_path, 'model.mdlus') + model.save(save_file) + # convert the model to torchscript + climsim_unet.device = "cpu" + device = torch.device("cpu") + model_inf = modulus.Module.from_checkpoint(save_file).to(device) + scripted_model = torch.jit.script(model_inf) + scripted_model = scripted_model.eval() + save_file_torch = os.path.join(save_path, 'model.pt') + scripted_model.save(save_file_torch) + # save input and output normalizations + data.save_norm(save_path, True) + logger0.info("saved input/output normalizations and model to: " + save_path) + + mdlus_directory = os.path.join(save_path, 'ckpt') + for filename in os.listdir(mdlus_directory): + print(filename) + if filename.endswith(".mdlus"): + full_path = os.path.join(mdlus_directory, filename) + print(full_path) + model = modulus.Module.from_checkpoint(full_path).to("cpu") + scripted_model = torch.jit.script(model) + scripted_model = scripted_model.eval() + + # Save the TorchScript model + save_path_torch = os.path.join(mdlus_directory, filename.replace('.mdlus', '.pt')) + scripted_model.save(save_path_torch) + print('save path for ckpt torchscript:', save_path_torch) + + logger0.info("Training complete!") + + return current_val_loss_avg + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v5/training/train_unet_h5loader_classifier.py b/online_testing/baseline_models/Unet_v5/training/train_unet_h5loader_classifier.py new file mode 100644 index 0000000..da96fa7 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/train_unet_h5loader_classifier.py @@ -0,0 +1,561 @@ +import torch +from torch.utils.data import Dataset, DataLoader +import numpy as np +import torch.optim as optim +import torch.nn as nn +from tqdm import tqdm +from dataclasses import dataclass +import modulus +from modulus.metrics.general.mse import mse +from loss_energy import loss_energy +from modulus.utils import StaticCaptureTraining, StaticCaptureEvaluateNoGrad +from omegaconf import DictConfig +from modulus.launch.logging import ( + PythonLogger, + LaunchLogger, + initialize_wandb, + RankZeroLoggingWrapper, + initialize_mlflow, +) +from climsim_utils.data_utils import * + +from climsim_datapip_classifier_h5 import climsim_dataset_classifier_h5 +from climsim_datapip_classifier import climsim_dataset_classifier +from climsim_unet_classifier import ClimsimUnet_class +import climsim_unet_classifier as climsim_unet_classifier +import hydra +from torch.nn.parallel import DistributedDataParallel +from modulus.distributed import DistributedManager +from torch.utils.data.distributed import DistributedSampler +import gc +from typing import Any, Callable, Dict, NewType, Optional, Union +import functools +from contextlib import nullcontext + +class StaticCaptureTrainingWithClip(StaticCaptureTraining): + def __init__(self, *args, max_grad_norm=1.0, **kwargs): + super().__init__(*args, **kwargs) + self.max_grad_norm = max_grad_norm # Set the maximum gradient norm for clipping + + def __call__(self, fn: Callable) -> Callable: + self.function = fn + + @functools.wraps(fn) + def decorated(*args: Any, **kwds: Any) -> Any: + with torch.no_grad() if self.no_grad else nullcontext(): + if self.cuda_graphs_enabled: + self._cuda_graph_forward(*args, **kwds) + else: + self._zero_grads() + self.output = self._amp_forward(*args, **kwds) + + if not self.eval: + # Apply gradient clipping right before the optimizer step + # torch.nn.utils.clip_grad_norm_(self.model.parameters(), self.max_grad_norm) + # Update model parameters + self.scaler.step(self.optim) + self.scaler.update() + + return self.output + + return decorated + + +@hydra.main(version_base="1.2", config_path="conf", config_name="config") +def main(cfg: DictConfig) -> float: + + DistributedManager.initialize() + dist = DistributedManager() + + grid_path = cfg.climsim_path+'/grid_info/ClimSim_low-res_grid-info.nc' + norm_path = cfg.climsim_path+'/preprocessing/normalizations/' + grid_info = xr.open_dataset(grid_path) + input_mean = xr.open_dataset(norm_path + cfg.input_mean) + input_max = xr.open_dataset(norm_path + cfg.input_max) + input_min = xr.open_dataset(norm_path + cfg.input_min) + output_scale = xr.open_dataset(norm_path + cfg.output_scale) + # qc_lbd = xr.open_dataset(norm_path + cfg.qc_lbd) + # qi_lbd = xr.open_dataset(norm_path + cfg.qi_lbd) + + lbd_qn = np.loadtxt(norm_path + cfg.qn_lbd, delimiter=',') + + data = data_utils(grid_info = grid_info, + input_mean = input_mean, + input_max = input_max, + input_min = input_min, + output_scale = output_scale) + + # set variables to subset + if cfg.variable_subsets == 'v1': + data.set_to_v1_vars() + elif cfg.variable_subsets == 'v1_dyn': + data.set_to_v1_dyn_vars() + elif cfg.variable_subsets == 'v2': + data.set_to_v2_vars() + elif cfg.variable_subsets == 'v2_dyn': + data.set_to_v2_dyn_vars() + elif cfg.variable_subsets == 'v3': + data.set_to_v3_vars() + elif cfg.variable_subsets == 'v4': + data.set_to_v4_vars() + elif cfg.variable_subsets == 'v5': + data.set_to_v5_vars() + else: + raise ValueError('Unknown variable subset') + + input_size = data.input_feature_len + output_size = data.target_feature_len + + input_sub, input_div, out_scale = data.save_norm(write=False) + + # Create dataset instances + # check if cfg.data_path + cfg.train_input exist + if os.path.exists(cfg.data_path + cfg.train_input): + train_input_path = cfg.data_path + cfg.train_input + train_target_path = cfg.data_path + cfg.train_target + else: + #make train_input_path a list of all paths of cfg.data_path +'/*/'+cfg.train_input + train_input_path = [f for f in glob.glob(cfg.data_path +'/*/'+cfg.train_input)] + train_target_path = [f for f in glob.glob(cfg.data_path +'/*/'+cfg.train_target)] + + print(train_input_path) + + val_input_path = cfg.data_path + cfg.val_input + val_target_path = cfg.data_path + cfg.val_target + if not os.path.exists(cfg.data_path + cfg.val_input): + raise ValueError('Validation input path does not exist') + + val_dataset = climsim_dataset_classifier(input_paths = val_input_path, + target_paths = val_target_path, + input_sub = input_sub, + input_div = input_div, + out_scale = out_scale, + qinput_prune = cfg.qinput_prune, + output_prune = cfg.output_prune, + strato_lev = cfg.strato_lev, + strato_lev_out = cfg.strato_lev_out, + qn_lbd = lbd_qn, + decouple_cloud = cfg.decouple_cloud, + aggressive_pruning = cfg.aggressive_pruning, + strato_lev_qinput = cfg.strato_lev_qinput, + strato_lev_tinput = cfg.strato_lev_tinput, + input_clip = cfg.input_clip, + input_clip_rhonly = cfg.input_clip_rhonly, + threshold_class1 = cfg.threshold_class1, + threshold_class2 = cfg.threshold_class2, + qn_logtransform = cfg.qn_logtransform) + + #train_sampler = DistributedSampler(train_dataset) if dist.distributed else None + val_sampler = DistributedSampler(val_dataset, shuffle=False) if dist.distributed else None + val_loader = DataLoader(val_dataset, + batch_size=cfg.batch_size, + shuffle=False, + sampler=val_sampler, + num_workers=cfg.num_workers) + + train_dataset = climsim_dataset_classifier_h5(parent_path = cfg.data_path, + input_sub = input_sub, + input_div = input_div, + out_scale = out_scale, + qinput_prune = cfg.qinput_prune, + output_prune = cfg.output_prune, + strato_lev = cfg.strato_lev, + strato_lev_out = cfg.strato_lev_out, + qn_lbd = lbd_qn, + decouple_cloud = cfg.decouple_cloud, + aggressive_pruning = cfg.aggressive_pruning, + strato_lev_qinput = cfg.strato_lev_qinput, + strato_lev_tinput = cfg.strato_lev_tinput, + input_clip = cfg.input_clip, + input_clip_rhonly = cfg.input_clip_rhonly, + threshold_class1 = cfg.threshold_class1, + threshold_class2 = cfg.threshold_class2, + qn_logtransform = cfg.qn_logtransform) + + train_sampler = DistributedSampler(train_dataset) if dist.distributed else None + + train_loader = DataLoader(train_dataset, + batch_size=cfg.batch_size, + shuffle=False if dist.distributed else True, + sampler=train_sampler, + drop_last=True, + pin_memory=torch.cuda.is_available(), + num_workers=cfg.num_workers) + + # create model + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + #print('debug: output_size', output_size, output_size//60, output_size%60) + + tmp_unet_model_channels = int(cfg.unet_model_channels) + tmp_unet_attn_resolutions = [i for i in cfg.unet_attn_resolutions] + tmp_unet_num_blocks = int(cfg.unet_num_blocks) + tmp_output_prune = cfg.output_prune + tmp_strato_lev_out = cfg.strato_lev_out + tmp_loc_embedding = cfg.loc_embedding + tmp_skip_conv = cfg.skip_conv + tmp_prev_2d = cfg.prev_2d + tmp_dropout = cfg.dropout + tmp_skip_phys_tend = cfg.skip_phys_tend + + model = ClimsimUnet_class( + num_vars_profile = input_size//60, + num_vars_scalar = input_size%60, + num_vars_profile_out = 1, + num_vars_scalar_out = 0, + seq_resolution = 64, + model_channels = tmp_unet_model_channels, + channel_mult = [1, 2, 2, 2], + num_blocks = tmp_unet_num_blocks, + attn_resolutions = tmp_unet_attn_resolutions, + dropout = tmp_dropout, + output_prune=tmp_output_prune, + strato_lev_out=tmp_strato_lev_out, + loc_embedding=tmp_loc_embedding, + skip_conv=tmp_skip_conv, + prev_2d=tmp_prev_2d, + skip_phys_tend=tmp_skip_phys_tend + ).to(dist.device) + + if len(cfg.restart_path) > 0: + print("Restarting from checkpoint: " + cfg.restart_path) + if dist.distributed: + model_restart = modulus.Module.from_checkpoint(cfg.restart_path).to(dist.device) + if dist.rank == 0: + model.load_state_dict(model_restart.state_dict()) + torch.distributed.barrier() + else: + torch.distributed.barrier() + model.load_state_dict(model_restart.state_dict()) + else: + model_restart = modulus.Module.from_checkpoint(cfg.restart_path).to(dist.device) + model.load_state_dict(model_restart.state_dict()) + + # Set up DistributedDataParallel if using more than a single process. + # The `distributed` property of DistributedManager can be used to + # check this. + if dist.distributed: + ddps = torch.cuda.Stream() + with torch.cuda.stream(ddps): + model = DistributedDataParallel( + model, + device_ids=[dist.local_rank], # Set the device_id to be + # the local rank of this process on + # this node + output_device=dist.device, + broadcast_buffers=dist.broadcast_buffers, + find_unused_parameters=dist.find_unused_parameters, + ) + torch.cuda.current_stream().wait_stream(ddps) + + # create optimizer + if cfg.optimizer == 'adam': + optimizer = optim.Adam(model.parameters(), lr=cfg.learning_rate) + else: + raise ValueError('Optimizer not implemented') + + # create scheduler + if cfg.scheduler_name == 'step': + scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=cfg.scheduler.step.step_size, gamma=cfg.scheduler.step.gamma) + elif cfg.scheduler_name == 'plateau': + scheduler = optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=cfg.scheduler.plateau.factor, patience=cfg.scheduler.plateau.patience, verbose=True) + elif cfg.scheduler_name == 'cosine': + scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=cfg.scheduler.cosine.T_max, eta_min=cfg.scheduler.cosine.eta_min) + else: + raise ValueError('Scheduler not implemented') + + # create loss function + if cfg.loss == 'mse': + loss_fn = mse + criterion = nn.MSELoss() + else: + raise ValueError('Loss function not implemented') + + def loss_weighted(pred, target): + if cfg.variable_subsets in ['v1','v1_dyn']: + raise ValueError('Weighted loss not implemented for v1/v1_dyn') + # dt_weight = 1.0 + # dq1_weight = 1.0 + # dq2_weight = 1.0 + # dq3_weight = 1.0 + # du_weight = 1.0 + # dv_weight = 1.0 + # d2d_weight = 1.0 + + # pred should be of shape (batch_size, 368) + # target should be of shape (batch_size, 368) + # 0-60: dt, 60-120 dq1, 120-180 dq2, 180-240 dq3, 240-300 du, 300-360 dv, 360-368 d2d + #only do the calculation if any of the weights are not 1.0 + if cfg.dt_weight == 1.0 and cfg.dq1_weight == 1.0 and cfg.dq2_weight == 1.0 and cfg.dq3_weight == 1.0 and cfg.du_weight == 1.0 and cfg.dv_weight == 1.0 and cfg.d2d_weight == 1.0: + return criterion(pred, target) + pred[:,0:60] = pred[:,0:60] * cfg.dt_weight + pred[:,60:120] = pred[:,60:120] * cfg.dq1_weight + pred[:,120:180] = pred[:,120:180] * cfg.dq2_weight + pred[:,180:240] = pred[:,180:240] * cfg.dq3_weight + pred[:,240:300] = pred[:,240:300] * cfg.du_weight + pred[:,300:360] = pred[:,300:360] * cfg.dv_weight + pred[:,360:368] = pred[:,360:368] * cfg.d2d_weight + target[:,0:60] = target[:,0:60] * cfg.dt_weight + target[:,60:120] = target[:,60:120] * cfg.dq1_weight + target[:,120:180] = target[:,120:180] * cfg.dq2_weight + target[:,180:240] = target[:,180:240] * cfg.dq3_weight + target[:,240:300] = target[:,240:300] * cfg.du_weight + target[:,300:360] = target[:,300:360] * cfg.dv_weight + target[:,360:368] = target[:,360:368] * cfg.d2d_weight + return criterion(pred, target) + + def cross_entropy_loss(pred, target): + ''' + pred: (batch_size*level, 3) + target: (batch_size*level) + ''' + return nn.CrossEntropyLoss()(pred, target) + + + # Initialize the console logger + logger = PythonLogger("main") # General python logger + logger0 = RankZeroLoggingWrapper(logger, dist) + + if cfg.logger == 'wandb': + # Initialize the MLFlow logger + initialize_wandb( + project=cfg.wandb.project, + name=cfg.expname, + entity="zeyuan_hu", + mode="online", + ) + LaunchLogger.initialize(use_wandb=True) + else: + # Initialize the MLFlow logger + initialize_mlflow( + experiment_name=cfg.mlflow.project, + experiment_desc="Modulus launch development", + run_name=cfg.expname, + run_desc="Modulus Training", + user_name="Modulus User", + mode="offline", + ) + LaunchLogger.initialize(use_mlflow=True) + + if cfg.save_top_ckpts<=0: + logger0.info("Checkpoints should be set >0, setting to 1") + num_top_ckpts = 1 + else: + num_top_ckpts = cfg.save_top_ckpts + + if cfg.top_ckpt_mode == 'min': + top_checkpoints = [(float('inf'), None)] * num_top_ckpts + elif cfg.top_ckpt_mode == 'max': + top_checkpoints = [(-float('inf'), None)] * num_top_ckpts + else: + raise ValueError('Unknown top_ckpt_mode') + + if dist.rank == 0: + save_path = os.path.join(cfg.save_path, cfg.expname) #cfg.save_path + cfg.expname + save_path_ckpt = os.path.join(save_path, 'ckpt') + if not os.path.exists(save_path): + os.makedirs(save_path) + if not os.path.exists(save_path_ckpt): + os.makedirs(save_path_ckpt) + + if dist.world_size > 1: + torch.distributed.barrier() + + if not cfg.clip_grad: + @StaticCaptureTraining( + model=model, + optim=optimizer, + # cuda_graph_warmup=11, + ) + def training_step(model, data_input, target): + data_input, target = data_input.to(device), target.to(device) + #optimizer.zero_grad() + output = model(data_input) + target = target.reshape(-1) + output = output.reshape(-1, 3) + loss = cross_entropy_loss(output, target) + return loss + else: + raise NotImplementedError('clip_grad is not implemented') + @StaticCaptureTrainingWithClip( + model=model, + optim=optimizer, + max_grad_norm=cfg.clip_grad_norm # You can adjust this value as needed + ) + def training_step(model, data_input, target): + data_input, target = data_input.to(device), target.to(device) + output = model(data_input) + target = target.reshape(-1) + output = output.reshape(-1, 3) + loss = cross_entropy_loss(output, target) + return loss + + @StaticCaptureEvaluateNoGrad(model=model, use_graphs=False) + def eval_step_forward(my_model, invar): + return my_model(invar) + + #training block + logger0.info("Starting Training!") + # Basic training block with tqdm for progress tracking + for epoch in range(cfg.epochs): + if dist.distributed: + train_sampler.set_epoch(epoch) + # wrap the epoch in launch logger to control frequency of output for console logs + with LaunchLogger("train", epoch=epoch) as launchlog: + #model.train() + # Wrap train_loader with tqdm for a progress bar + train_loop = tqdm(train_loader, desc=f'Epoch {epoch+1}') + current_step = 0 + for data_input, target in train_loop: + if cfg.early_stop_step > 0 and current_step > cfg.early_stop_step: + break + # if cfg.qoutput_prune: # this is currently done in the dataset class + # # the following code only works for the v2/v3 output cases! + # target[:,60:60+cfg.strato_lev] = 0 + # target[:,120:120+cfg.strato_lev] = 0 + # target[:,180:180+cfg.strato_lev] = 0 + data_input, target = data_input.to(device), target.to(device) + if cfg.qn_logtransform: + data_input[:,120:180] = torch.where(data_input[:,120:180]<1e-15, 1e-15, data_input[:,120:180]) + data_input[:,120:180] = torch.log10(data_input[:,120:180]) + data_input[:,120:180] = torch.clip(data_input[:,120:180], -15, -3) + data_input[:,120:180] = (data_input[:,120:180] + 15) / 12 + #optimizer.zero_grad() + loss = training_step(model, data_input, target) + total_norm = torch.norm(torch.stack([torch.norm(p.grad.detach(), 2) for p in model.parameters() if p.grad is not None]), 2) + + launchlog.log_minibatch({"loss_train": loss.detach().cpu().numpy(), "lr": optimizer.param_groups[0]["lr"], "total_norm": total_norm.item()}) + # Update the progress bar description with the current loss + train_loop.set_description(f'Epoch {epoch+1}') + train_loop.set_postfix(loss=loss.item()) + current_step += 1 + #launchlog.log_epoch({"Learning Rate": optimizer.param_groups[0]["lr"]}) + + #model.eval() + val_loss = 0.0 + num_samples_processed = 0 + val_loop = tqdm(val_loader, desc=f'Epoch {epoch+1}/1 [Validation]') + current_step = 0 + for data_input, target in val_loop: + if cfg.early_stop_step > 0 and current_step > cfg.early_stop_step: + break + # if cfg.qoutput_prune: + # # the following code only works for the v2/v3 output cases! + # target[:,60:60+cfg.strato_lev] = 0 + # target[:,120:120+cfg.strato_lev] = 0 + # target[:,180:180+cfg.strato_lev] = 0 + # Move data to the device + data_input, target = data_input.to(device), target.to(device) + # if self.qn_logtransform: + # x[120:180] = np.where(x[120:180]<1e-15, 1e-15, x[120:180]) + # x[120:180] = np.log10(x[120:180]) + # x[120:180] = np.clip(x[120:180], -15, -3) + # x[120:180] = (x[120:180] + 15) / 12 + if cfg.qn_logtransform: + data_input[:,120:180] = torch.where(data_input[:,120:180]<1e-15, 1e-15, data_input[:,120:180]) + data_input[:,120:180] = torch.log10(data_input[:,120:180]) + data_input[:,120:180] = torch.clip(data_input[:,120:180], -15, -3) + data_input[:,120:180] = (data_input[:,120:180] + 15) / 12 + + output = eval_step_forward(model, data_input) + target = target.reshape(-1) + output = output.reshape(-1, 3) + + loss = cross_entropy_loss(output, target) + + # loss = loss_weighted(output, target) + val_loss += loss.item() * data_input.size(0) + num_samples_processed += data_input.size(0) + + del data_input, target, output + # Calculate and update the current average loss + current_val_loss_avg = val_loss / num_samples_processed + val_loop.set_postfix(loss=current_val_loss_avg) + current_step += 1 + + # if dist.rank == 0: + #all reduce the loss + if dist.world_size > 1: + current_val_loss_avg = torch.tensor(current_val_loss_avg, device=dist.device) + torch.distributed.all_reduce(current_val_loss_avg) + current_val_loss_avg = current_val_loss_avg.item() / dist.world_size + + if dist.rank == 0: + launchlog.log_epoch({"loss_valid": current_val_loss_avg}) + + current_metric = current_val_loss_avg + # Save the top checkpoints + if cfg.top_ckpt_mode == 'min': + is_better = current_metric < max(top_checkpoints, key=lambda x: x[0])[0] + elif cfg.top_ckpt_mode == 'max': + is_better = current_metric > min(top_checkpoints, key=lambda x: x[0])[0] + + #print('debug: is_better', is_better, current_metric, top_checkpoints) + if len(top_checkpoints) == 0 or is_better: + ckpt_path = os.path.join(save_path_ckpt, f'ckpt_epoch_{epoch+1}_metric_{current_metric:.4f}.mdlus') + if dist.distributed: + model.module.save(ckpt_path) + else: + model.save(ckpt_path) + top_checkpoints.append((current_metric, ckpt_path)) + # Sort and keep top 5 based on max/min goal at the beginning + if cfg.top_ckpt_mode == 'min': + top_checkpoints.sort(key=lambda x: x[0], reverse=False) + elif cfg.top_ckpt_mode == 'max': + top_checkpoints.sort(key=lambda x: x[0], reverse=True) + # delete the worst checkpoint + if len(top_checkpoints) > num_top_ckpts: + worst_ckpt = top_checkpoints.pop() + print(f"Removing worst checkpoint: {worst_ckpt[1]}") + if worst_ckpt[1] is not None: + os.remove(worst_ckpt[1]) + + if cfg.scheduler_name == 'plateau': + scheduler.step(current_val_loss_avg) + else: + scheduler.step() + + if dist.world_size > 1: + torch.distributed.barrier() + + if dist.rank == 0: + logger0.info("Start recovering the model from the top checkpoint to do torchscript conversion") + #recover the model weight to the top checkpoint + model = modulus.Module.from_checkpoint(top_checkpoints[0][1]).to(device) + + # Save the model + save_file = os.path.join(save_path, 'model.mdlus') + model.save(save_file) + # convert the model to torchscript + climsim_unet_classifier.device = "cpu" + device = torch.device("cpu") + model_inf = modulus.Module.from_checkpoint(save_file).to(device) + scripted_model = torch.jit.script(model_inf) + scripted_model = scripted_model.eval() + save_file_torch = os.path.join(save_path, 'model.pt') + scripted_model.save(save_file_torch) + # save input and output normalizations + data.save_norm(save_path, True) + logger0.info("saved input/output normalizations and model to: " + save_path) + + mdlus_directory = os.path.join(save_path, 'ckpt') + for filename in os.listdir(mdlus_directory): + print(filename) + if filename.endswith(".mdlus"): + full_path = os.path.join(mdlus_directory, filename) + print(full_path) + model = modulus.Module.from_checkpoint(full_path).to("cpu") + scripted_model = torch.jit.script(model) + scripted_model = scripted_model.eval() + + # Save the TorchScript model + save_path_torch = os.path.join(mdlus_directory, filename.replace('.mdlus', '.pt')) + scripted_model.save(save_path_torch) + print('save path for ckpt torchscript:', save_path_torch) + + + logger0.info("Training complete!") + + return current_val_loss_avg + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/online_testing/baseline_models/Unet_v5/training/train_unet_h5loader_classifier_gradout.py b/online_testing/baseline_models/Unet_v5/training/train_unet_h5loader_classifier_gradout.py new file mode 100644 index 0000000..9aaf652 --- /dev/null +++ b/online_testing/baseline_models/Unet_v5/training/train_unet_h5loader_classifier_gradout.py @@ -0,0 +1,535 @@ +import torch +from torch.utils.data import Dataset, DataLoader +import numpy as np +import torch.optim as optim +import torch.nn as nn +from tqdm import tqdm +from dataclasses import dataclass +import modulus +from modulus.metrics.general.mse import mse +from loss_energy import loss_energy +from modulus.utils import StaticCaptureTraining, StaticCaptureEvaluateNoGrad +from omegaconf import DictConfig +from modulus.launch.logging import ( + PythonLogger, + LaunchLogger, + initialize_wandb, + RankZeroLoggingWrapper, + initialize_mlflow, +) +from climsim_utils.data_utils import * + +from climsim_datapip_classifier_h5 import climsim_dataset_classifier_h5 +from climsim_datapip_classifier import climsim_dataset_classifier +from climsim_unet_classifier import ClimsimUnet_class +import climsim_unet_classifier as climsim_unet_classifier +import hydra +from torch.nn.parallel import DistributedDataParallel +from modulus.distributed import DistributedManager +from torch.utils.data.distributed import DistributedSampler +import gc +from torch.nn.utils import clip_grad_norm_ + +@hydra.main(version_base="1.2", config_path="conf", config_name="config") +def main(cfg: DictConfig) -> float: + + DistributedManager.initialize() + dist = DistributedManager() + + grid_path = cfg.climsim_path+'/grid_info/ClimSim_low-res_grid-info.nc' + norm_path = cfg.climsim_path+'/preprocessing/normalizations/' + grid_info = xr.open_dataset(grid_path) + input_mean = xr.open_dataset(norm_path + cfg.input_mean) + input_max = xr.open_dataset(norm_path + cfg.input_max) + input_min = xr.open_dataset(norm_path + cfg.input_min) + output_scale = xr.open_dataset(norm_path + cfg.output_scale) + # qc_lbd = xr.open_dataset(norm_path + cfg.qc_lbd) + # qi_lbd = xr.open_dataset(norm_path + cfg.qi_lbd) + + lbd_qn = np.loadtxt(norm_path + cfg.qn_lbd, delimiter=',') + + data = data_utils(grid_info = grid_info, + input_mean = input_mean, + input_max = input_max, + input_min = input_min, + output_scale = output_scale) + + # set variables to subset + if cfg.variable_subsets == 'v1': + data.set_to_v1_vars() + elif cfg.variable_subsets == 'v1_dyn': + data.set_to_v1_dyn_vars() + elif cfg.variable_subsets == 'v2': + data.set_to_v2_vars() + elif cfg.variable_subsets == 'v2_dyn': + data.set_to_v2_dyn_vars() + elif cfg.variable_subsets == 'v3': + data.set_to_v3_vars() + elif cfg.variable_subsets == 'v4': + data.set_to_v4_vars() + elif cfg.variable_subsets == 'v5': + data.set_to_v5_vars() + else: + raise ValueError('Unknown variable subset') + + input_size = data.input_feature_len + output_size = data.target_feature_len + + input_sub, input_div, out_scale = data.save_norm(write=False) + + # Create dataset instances + # check if cfg.data_path + cfg.train_input exist + if os.path.exists(cfg.data_path + cfg.train_input): + train_input_path = cfg.data_path + cfg.train_input + train_target_path = cfg.data_path + cfg.train_target + else: + #make train_input_path a list of all paths of cfg.data_path +'/*/'+cfg.train_input + train_input_path = [f for f in glob.glob(cfg.data_path +'/*/'+cfg.train_input)] + train_target_path = [f for f in glob.glob(cfg.data_path +'/*/'+cfg.train_target)] + + print(train_input_path) + + val_input_path = cfg.data_path + cfg.val_input + val_target_path = cfg.data_path + cfg.val_target + if not os.path.exists(cfg.data_path + cfg.val_input): + raise ValueError('Validation input path does not exist') + + val_dataset = climsim_dataset_classifier(input_paths = val_input_path, + target_paths = val_target_path, + input_sub = input_sub, + input_div = input_div, + out_scale = out_scale, + qinput_prune = cfg.qinput_prune, + output_prune = cfg.output_prune, + strato_lev = cfg.strato_lev, + strato_lev_out = cfg.strato_lev_out, + qn_lbd = lbd_qn, + decouple_cloud = cfg.decouple_cloud, + aggressive_pruning = cfg.aggressive_pruning, + strato_lev_qinput = cfg.strato_lev_qinput, + strato_lev_tinput = cfg.strato_lev_tinput, + input_clip = cfg.input_clip, + input_clip_rhonly = cfg.input_clip_rhonly, + threshold_class1 = cfg.threshold_class1, + threshold_class2=cfg.threshold_class2, + qn_logtransform=cfg.qn_logtransform) + + #train_sampler = DistributedSampler(train_dataset) if dist.distributed else None + val_sampler = DistributedSampler(val_dataset, shuffle=False) if dist.distributed else None + val_loader = DataLoader(val_dataset, + batch_size=cfg.batch_size, + shuffle=False, + sampler=val_sampler, + num_workers=cfg.num_workers) + + train_dataset = climsim_dataset_classifier_h5(parent_path = cfg.data_path, + input_sub = input_sub, + input_div = input_div, + out_scale = out_scale, + qinput_prune = cfg.qinput_prune, + output_prune = cfg.output_prune, + strato_lev = cfg.strato_lev, + strato_lev_out = cfg.strato_lev_out, + qn_lbd = lbd_qn, + decouple_cloud = cfg.decouple_cloud, + aggressive_pruning = cfg.aggressive_pruning, + strato_lev_qinput = cfg.strato_lev_qinput, + strato_lev_tinput = cfg.strato_lev_tinput, + input_clip = cfg.input_clip, + input_clip_rhonly = cfg.input_clip_rhonly, + threshold_class1 = cfg.threshold_class1, + threshold_class2 = cfg.threshold_class2, + qn_logtransform = cfg.qn_logtransform) + + train_sampler = DistributedSampler(train_dataset) if dist.distributed else None + + train_loader = DataLoader(train_dataset, + batch_size=cfg.batch_size, + shuffle=False if dist.distributed else True, + sampler=train_sampler, + drop_last=True, + pin_memory=torch.cuda.is_available(), + num_workers=cfg.num_workers) + + # create model + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + #print('debug: output_size', output_size, output_size//60, output_size%60) + + tmp_unet_model_channels = int(cfg.unet_model_channels) + tmp_unet_attn_resolutions = [i for i in cfg.unet_attn_resolutions] + tmp_unet_num_blocks = int(cfg.unet_num_blocks) + tmp_output_prune = cfg.output_prune + tmp_strato_lev_out = cfg.strato_lev_out + tmp_loc_embedding = cfg.loc_embedding + tmp_skip_conv = cfg.skip_conv + tmp_prev_2d = cfg.prev_2d + tmp_dropout = cfg.dropout + tmp_skip_phys_tend = cfg.skip_phys_tend + + model = ClimsimUnet_class( + num_vars_profile = input_size//60, + num_vars_scalar = input_size%60, + num_vars_profile_out = 1, + num_vars_scalar_out = 0, + seq_resolution = 64, + model_channels = tmp_unet_model_channels, + channel_mult = [1, 2, 2, 2], + num_blocks = tmp_unet_num_blocks, + attn_resolutions = tmp_unet_attn_resolutions, + dropout = tmp_dropout, + output_prune=tmp_output_prune, + strato_lev_out=tmp_strato_lev_out, + loc_embedding=tmp_loc_embedding, + skip_conv=tmp_skip_conv, + prev_2d=tmp_prev_2d, + skip_phys_tend=tmp_skip_phys_tend + ).to(dist.device) + + if len(cfg.restart_path) > 0: + print("Restarting from checkpoint: " + cfg.restart_path) + if dist.distributed: + model_restart = modulus.Module.from_checkpoint(cfg.restart_path).to(dist.device) + if dist.rank == 0: + model.load_state_dict(model_restart.state_dict()) + torch.distributed.barrier() + else: + torch.distributed.barrier() + model.load_state_dict(model_restart.state_dict()) + else: + model_restart = modulus.Module.from_checkpoint(cfg.restart_path).to(dist.device) + model.load_state_dict(model_restart.state_dict()) + + # Set up DistributedDataParallel if using more than a single process. + # The `distributed` property of DistributedManager can be used to + # check this. + if dist.distributed: + ddps = torch.cuda.Stream() + with torch.cuda.stream(ddps): + model = DistributedDataParallel( + model, + device_ids=[dist.local_rank], # Set the device_id to be + # the local rank of this process on + # this node + output_device=dist.device, + broadcast_buffers=dist.broadcast_buffers, + find_unused_parameters=dist.find_unused_parameters, + ) + torch.cuda.current_stream().wait_stream(ddps) + + # create optimizer + if cfg.optimizer == 'adam': + optimizer = optim.Adam(model.parameters(), lr=cfg.learning_rate) + else: + raise ValueError('Optimizer not implemented') + + # create scheduler + if cfg.scheduler_name == 'step': + scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=cfg.scheduler.step.step_size, gamma=cfg.scheduler.step.gamma) + elif cfg.scheduler_name == 'plateau': + scheduler = optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=cfg.scheduler.plateau.factor, patience=cfg.scheduler.plateau.patience, verbose=True) + elif cfg.scheduler_name == 'cosine': + scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=cfg.scheduler.cosine.T_max, eta_min=cfg.scheduler.cosine.eta_min) + else: + raise ValueError('Scheduler not implemented') + + # create loss function + if cfg.loss == 'mse': + loss_fn = mse + criterion = nn.MSELoss() + else: + raise ValueError('Loss function not implemented') + + def loss_weighted(pred, target): + if cfg.variable_subsets in ['v1','v1_dyn']: + raise ValueError('Weighted loss not implemented for v1/v1_dyn') + # dt_weight = 1.0 + # dq1_weight = 1.0 + # dq2_weight = 1.0 + # dq3_weight = 1.0 + # du_weight = 1.0 + # dv_weight = 1.0 + # d2d_weight = 1.0 + + # pred should be of shape (batch_size, 368) + # target should be of shape (batch_size, 368) + # 0-60: dt, 60-120 dq1, 120-180 dq2, 180-240 dq3, 240-300 du, 300-360 dv, 360-368 d2d + #only do the calculation if any of the weights are not 1.0 + if cfg.dt_weight == 1.0 and cfg.dq1_weight == 1.0 and cfg.dq2_weight == 1.0 and cfg.dq3_weight == 1.0 and cfg.du_weight == 1.0 and cfg.dv_weight == 1.0 and cfg.d2d_weight == 1.0: + return criterion(pred, target) + pred[:,0:60] = pred[:,0:60] * cfg.dt_weight + pred[:,60:120] = pred[:,60:120] * cfg.dq1_weight + pred[:,120:180] = pred[:,120:180] * cfg.dq2_weight + pred[:,180:240] = pred[:,180:240] * cfg.dq3_weight + pred[:,240:300] = pred[:,240:300] * cfg.du_weight + pred[:,300:360] = pred[:,300:360] * cfg.dv_weight + pred[:,360:368] = pred[:,360:368] * cfg.d2d_weight + target[:,0:60] = target[:,0:60] * cfg.dt_weight + target[:,60:120] = target[:,60:120] * cfg.dq1_weight + target[:,120:180] = target[:,120:180] * cfg.dq2_weight + target[:,180:240] = target[:,180:240] * cfg.dq3_weight + target[:,240:300] = target[:,240:300] * cfg.du_weight + target[:,300:360] = target[:,300:360] * cfg.dv_weight + target[:,360:368] = target[:,360:368] * cfg.d2d_weight + return criterion(pred, target) + + def cross_entropy_loss(pred, target): + ''' + pred: (batch_size*level, 3) + target: (batch_size*level) + ''' + return nn.CrossEntropyLoss()(pred, target) + + + # Initialize the console logger + logger = PythonLogger("main") # General python logger + logger0 = RankZeroLoggingWrapper(logger, dist) + + if cfg.logger == 'wandb': + # Initialize the MLFlow logger + initialize_wandb( + project=cfg.wandb.project, + name=cfg.expname, + entity="zeyuan_hu", + mode="online", + ) + LaunchLogger.initialize(use_wandb=True) + else: + # Initialize the MLFlow logger + initialize_mlflow( + experiment_name=cfg.mlflow.project, + experiment_desc="Modulus launch development", + run_name=cfg.expname, + run_desc="Modulus Training", + user_name="Modulus User", + mode="offline", + ) + LaunchLogger.initialize(use_mlflow=True) + + if cfg.save_top_ckpts<=0: + logger0.info("Checkpoints should be set >0, setting to 1") + num_top_ckpts = 1 + else: + num_top_ckpts = cfg.save_top_ckpts + + if cfg.top_ckpt_mode == 'min': + top_checkpoints = [(float('inf'), None)] * num_top_ckpts + elif cfg.top_ckpt_mode == 'max': + top_checkpoints = [(-float('inf'), None)] * num_top_ckpts + else: + raise ValueError('Unknown top_ckpt_mode') + + if dist.rank == 0: + save_path = os.path.join(cfg.save_path, cfg.expname) #cfg.save_path + cfg.expname + save_path_ckpt = os.path.join(save_path, 'ckpt') + if not os.path.exists(save_path): + os.makedirs(save_path) + if not os.path.exists(save_path_ckpt): + os.makedirs(save_path_ckpt) + + if dist.world_size > 1: + torch.distributed.barrier() + + @StaticCaptureTraining( + model=model, + optim=optimizer, + # cuda_graph_warmup=11, + ) + def training_step(model, data_input, target): + data_input, target = data_input.to(device), target.to(device) + #optimizer.zero_grad() + output = model(data_input) + target = target.reshape(-1) + output = output.reshape(-1, 3) + loss = cross_entropy_loss(output, target) + return loss + + @StaticCaptureEvaluateNoGrad(model=model, use_graphs=False) + def eval_step_forward(my_model, invar): + return my_model(invar) + + #training block + logger0.info("Starting Training!") + # Basic training block with tqdm for progress tracking + for epoch in range(cfg.epochs): + if dist.distributed: + train_sampler.set_epoch(epoch) + # wrap the epoch in launch logger to control frequency of output for console logs + with LaunchLogger("train", epoch=epoch, mini_batch_log_freq=5) as launchlog: + model.train() + # Wrap train_loader with tqdm for a progress bar + train_loop = tqdm(train_loader, desc=f'Epoch {epoch+1}') + current_step = 0 + for data_input, target in train_loop: + if cfg.early_stop_step > 0 and current_step > cfg.early_stop_step: + break + # if cfg.qoutput_prune: # this is currently done in the dataset class + # # the following code only works for the v2/v3 output cases! + # target[:,60:60+cfg.strato_lev] = 0 + # target[:,120:120+cfg.strato_lev] = 0 + # target[:,180:180+cfg.strato_lev] = 0 + data_input, target = data_input.to(device), target.to(device) + if cfg.qn_logtransform: + data_input[:,120:180] = torch.where(data_input[:,120:180]<1e-15, 1e-15, data_input[:,120:180]) + data_input[:,120:180] = torch.log10(data_input[:,120:180]) + data_input[:,120:180] = torch.clip(data_input[:,120:180], -15, -3) + data_input[:,120:180] = (data_input[:,120:180] + 15) / 12 + #optimizer.zero_grad() + # loss = training_step(model, data_input, target) + optimizer.zero_grad() + output = model(data_input) + target = target.reshape(-1) + output = output.reshape(-1, 3) + loss = cross_entropy_loss(output, target) + loss.backward() + + if cfg.clip_grad: + # num_params = sum(p.numel() for p in model.parameters() if p.grad is not None) + # approx_max_norm = cfg.clip_grad_mean_norm * torch.sqrt(torch.tensor(num_params)) + clip_grad_norm_(model.parameters(), max_norm=cfg.clip_grad_norm) + + max_grad = max(p.grad.abs().max() for p in model.parameters() if p.grad is not None) + # Initialize a list to store the L2 norms of each parameter's gradient + l2_norms = [] + + for p in model.parameters(): + if p.grad is not None: + # Calculate the L2 norm for each parameter's gradient and add it to the list + l2_norms.append(torch.norm(p.grad, p=2)) + + # Calculate the mean of the L2 norms + mean_l2_norm = torch.mean(torch.stack(l2_norms)) + + total_norm = torch.norm(torch.stack([torch.norm(p.grad.detach(), 2) for p in model.parameters() if p.grad is not None]), 2) + + optimizer.step() + + launchlog.log_minibatch({"loss_train": loss.detach().cpu().numpy(), "lr": optimizer.param_groups[0]["lr"], "max_grad": max_grad.item(), "mean_grad_l2": mean_l2_norm.item(), "total_norm": total_norm.item()}) + # Update the progress bar description with the current loss + train_loop.set_description(f'Epoch {epoch+1}') + train_loop.set_postfix(loss=loss.item()) + current_step += 1 + #launchlog.log_epoch({"Learning Rate": optimizer.param_groups[0]["lr"]}) + + model.eval() + val_loss = 0.0 + num_samples_processed = 0 + val_loop = tqdm(val_loader, desc=f'Epoch {epoch+1}/1 [Validation]') + current_step = 0 + for data_input, target in val_loop: + if cfg.early_stop_step > 0 and current_step > cfg.early_stop_step: + break + # if cfg.qoutput_prune: + # # the following code only works for the v2/v3 output cases! + # target[:,60:60+cfg.strato_lev] = 0 + # target[:,120:120+cfg.strato_lev] = 0 + # target[:,180:180+cfg.strato_lev] = 0 + # Move data to the device + data_input, target = data_input.to(device), target.to(device) + if cfg.qn_logtransform: + data_input[:,120:180] = torch.where(data_input[:,120:180]<1e-15, 1e-15, data_input[:,120:180]) + data_input[:,120:180] = torch.log10(data_input[:,120:180]) + data_input[:,120:180] = torch.clip(data_input[:,120:180], -15, -3) + data_input[:,120:180] = (data_input[:,120:180] + 15) / 12 + output = eval_step_forward(model, data_input) + target = target.reshape(-1) + output = output.reshape(-1, 3) + + loss = cross_entropy_loss(output, target) + + # loss = loss_weighted(output, target) + val_loss += loss.item() * data_input.size(0) + num_samples_processed += data_input.size(0) + + del data_input, target, output + # Calculate and update the current average loss + current_val_loss_avg = val_loss / num_samples_processed + val_loop.set_postfix(loss=current_val_loss_avg) + current_step += 1 + + # if dist.rank == 0: + #all reduce the loss + if dist.world_size > 1: + current_val_loss_avg = torch.tensor(current_val_loss_avg, device=dist.device) + torch.distributed.all_reduce(current_val_loss_avg) + current_val_loss_avg = current_val_loss_avg.item() / dist.world_size + + if dist.rank == 0: + launchlog.log_epoch({"loss_valid": current_val_loss_avg}) + + current_metric = current_val_loss_avg + # Save the top checkpoints + if cfg.top_ckpt_mode == 'min': + is_better = current_metric < max(top_checkpoints, key=lambda x: x[0])[0] + elif cfg.top_ckpt_mode == 'max': + is_better = current_metric > min(top_checkpoints, key=lambda x: x[0])[0] + + #print('debug: is_better', is_better, current_metric, top_checkpoints) + if len(top_checkpoints) == 0 or is_better: + ckpt_path = os.path.join(save_path_ckpt, f'ckpt_epoch_{epoch+1}_metric_{current_metric:.4f}.mdlus') + if dist.distributed: + model.module.save(ckpt_path) + else: + model.save(ckpt_path) + top_checkpoints.append((current_metric, ckpt_path)) + # Sort and keep top 5 based on max/min goal at the beginning + if cfg.top_ckpt_mode == 'min': + top_checkpoints.sort(key=lambda x: x[0], reverse=False) + elif cfg.top_ckpt_mode == 'max': + top_checkpoints.sort(key=lambda x: x[0], reverse=True) + # delete the worst checkpoint + if len(top_checkpoints) > num_top_ckpts: + worst_ckpt = top_checkpoints.pop() + print(f"Removing worst checkpoint: {worst_ckpt[1]}") + if worst_ckpt[1] is not None: + os.remove(worst_ckpt[1]) + + if cfg.scheduler_name == 'plateau': + scheduler.step(current_val_loss_avg) + else: + scheduler.step() + + if dist.world_size > 1: + torch.distributed.barrier() + + if dist.rank == 0: + logger0.info("Start recovering the model from the top checkpoint to do torchscript conversion") + #recover the model weight to the top checkpoint + model = modulus.Module.from_checkpoint(top_checkpoints[0][1]).to(device) + + # Save the model + save_file = os.path.join(save_path, 'model.mdlus') + model.save(save_file) + # convert the model to torchscript + climsim_unet_classifier.device = "cpu" + device = torch.device("cpu") + model_inf = modulus.Module.from_checkpoint(save_file).to(device) + scripted_model = torch.jit.script(model_inf) + scripted_model = scripted_model.eval() + save_file_torch = os.path.join(save_path, 'model.pt') + scripted_model.save(save_file_torch) + # save input and output normalizations + data.save_norm(save_path, True) + logger0.info("saved input/output normalizations and model to: " + save_path) + + mdlus_directory = os.path.join(save_path, 'ckpt') + for filename in os.listdir(mdlus_directory): + print(filename) + if filename.endswith(".mdlus"): + full_path = os.path.join(mdlus_directory, filename) + print(full_path) + model = modulus.Module.from_checkpoint(full_path).to("cpu") + scripted_model = torch.jit.script(model) + scripted_model = scripted_model.eval() + + # Save the TorchScript model + save_path_torch = os.path.join(mdlus_directory, filename.replace('.mdlus', '.pt')) + scripted_model.save(save_path_torch) + print('save path for ckpt torchscript:', save_path_torch) + + + logger0.info("Training complete!") + + return current_val_loss_avg + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/online_testing/data_preparation/create_dataset/create_dataset_example_v2rh.ipynb b/online_testing/data_preparation/create_dataset/create_dataset_example_v2rh.ipynb new file mode 100644 index 0000000..849c93a --- /dev/null +++ b/online_testing/data_preparation/create_dataset/create_dataset_example_v2rh.ipynb @@ -0,0 +1,323 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "d6941e5c-270c-481b-bbfb-e319f3edf05b", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-07-22 20:09:52.744061: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n", + "2024-07-22 20:09:52.744144: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n", + "2024-07-22 20:09:52.801154: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", + "2024-07-22 20:09:52.932548: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n", + "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2024-07-22 20:09:55.088675: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\n" + ] + } + ], + "source": [ + "from climsim_utils.data_utils import *" + ] + }, + { + "cell_type": "markdown", + "id": "4b82db83-7ae0-423b-b994-7df5d734b101", + "metadata": { + "tags": [] + }, + "source": [ + "### Instantiating class" + ] + }, + { + "cell_type": "markdown", + "id": "b542b197-e371-4346-94b4-bc5ecfcf0f82", + "metadata": {}, + "source": [ + "The example below will save training data in both .h5 and .npy format. Adjust if you only need one format. Also adjust input_abbrev to the input data files you will use. We expanded the original '.mli.' input files to include additional features such as previous steps' information, and '.mlexpand.' was just an arbitrary name we used for the expanded input files." + ] + }, + { + "cell_type": "markdown", + "id": "826cf98d-4871-4a02-ba6a-fe90df706d5b", + "metadata": { + "tags": [] + }, + "source": [ + "Currently the training script would assume the training set is in .h5 format while the validation set is in .npy form. It's fine to only keep save_h5=True in the block below for generating training data." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ea4baee2-c25e-4e14-bae4-038e67a40740", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "grid_path = '/global/u2/z/zeyuanhu/nvidia_codes/Climsim_private/grid_info/ClimSim_low-res_grid-info.nc'\n", + "norm_path = '/global/u2/z/zeyuanhu/nvidia_codes/Climsim_private/preprocessing/normalizations/'\n", + "\n", + "grid_info = xr.open_dataset(grid_path)\n", + "#no naming issue here. Here these normalization-related files are just placeholders since we set normalize=False in the data_utils.\n", + "input_mean = xr.open_dataset(norm_path + 'inputs/input_mean_v5_pervar.nc')\n", + "input_max = xr.open_dataset(norm_path + 'inputs/input_max_v5_pervar.nc')\n", + "input_min = xr.open_dataset(norm_path + 'inputs/input_min_v5_pervar.nc')\n", + "output_scale = xr.open_dataset(norm_path + 'outputs/output_scale_std_lowerthred_v5.nc')\n", + "\n", + "data = data_utils(grid_info = grid_info, \n", + " input_mean = input_mean, \n", + " input_max = input_max, \n", + " input_min = input_min, \n", + " output_scale = output_scale,\n", + " input_abbrev = 'mlexpand',\n", + " output_abbrev = 'mlo',\n", + " normalize=False,\n", + " save_h5=True,\n", + " save_npy=True\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "2f1cf9ea-41d1-4b72-bff1-9a900188e834", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# set data path\n", + "data.data_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/train/'\n", + "\n", + "# set inputs and outputs to V2 rh subset (rh means using RH to replace specific humidty in input feature)\n", + "data.set_to_v2_rh_vars()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "53a7a139-d2f7-4229-8360-9f7f0422703e", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['state_t',\n", + " 'state_rh',\n", + " 'state_q0002',\n", + " 'state_q0003',\n", + " 'state_u',\n", + " 'state_v',\n", + " 'pbuf_ozone',\n", + " 'pbuf_CH4',\n", + " 'pbuf_N2O',\n", + " 'state_ps',\n", + " 'pbuf_SOLIN',\n", + " 'pbuf_LHFLX',\n", + " 'pbuf_SHFLX',\n", + " 'pbuf_TAUX',\n", + " 'pbuf_TAUY',\n", + " 'pbuf_COSZRS',\n", + " 'cam_in_ALDIF',\n", + " 'cam_in_ALDIR',\n", + " 'cam_in_ASDIF',\n", + " 'cam_in_ASDIR',\n", + " 'cam_in_LWUP',\n", + " 'cam_in_ICEFRAC',\n", + " 'cam_in_LANDFRAC',\n", + " 'cam_in_OCNFRAC',\n", + " 'cam_in_SNOWHICE',\n", + " 'cam_in_SNOWHLAND']" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.input_vars" + ] + }, + { + "cell_type": "markdown", + "id": "ca3d01fa-eed6-493b-9e66-65b43796354b", + "metadata": {}, + "source": [ + "### Create training data" + ] + }, + { + "cell_type": "markdown", + "id": "ab985d2d-ce4b-4bfd-81cd-c67d9502a2fb", + "metadata": {}, + "source": [ + "Below is an example of creating the training data by integrating the 7 year climsim simulation data. A subsampling of 1000 is used as an example. In the actual work we did, we used a stride_sample=1. We could not fit the full 7-year data into the memory wihout subsampling. If that's also the case for you, try to only process a subset of data at one time by adjusting regexps in set_regexps method. We saved 14 separate input .h5 files. For each year, we saved two files by setting start_idx=0 or 1. We have a folder like v2_full, which includes 14 subfolders named '11', '12', '21', '22', ..., '71','72', and each subfolder contains a train_input.h5 and train_target.h5. How you split to save training data won't influence the training. The training script will read in all the samples and randomly select samples across all the samples to form each batch." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "e07c633a-cad8-4cce-9f40-7f4acff845a5", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:From /global/homes/z/zeyuanhu/.conda/envs/climsim/lib/python3.10/site-packages/climsim_utils/data_utils.py:792: calling DatasetV2.from_generator (from tensorflow.python.data.ops.dataset_ops) with output_types is deprecated and will be removed in a future version.\n", + "Instructions for updating:\n", + "Use output_signature instead\n", + "WARNING:tensorflow:From /global/homes/z/zeyuanhu/.conda/envs/climsim/lib/python3.10/site-packages/climsim_utils/data_utils.py:792: calling DatasetV2.from_generator (from tensorflow.python.data.ops.dataset_ops) with output_shapes is deprecated and will be removed in a future version.\n", + "Instructions for updating:\n", + "Use output_signature instead\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-06-16 17:38:52.707705: W tensorflow/core/common_runtime/gpu/gpu_device.cc:2256] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.\n", + "Skipping registering GPU devices...\n" + ] + } + ], + "source": [ + "# set regular expressions for selecting training data\n", + "data.set_regexps(data_split = 'train', \n", + " regexps = ['E3SM-MMF.mlexpand.000[1234567]-*-*-*.nc', # years 1 through 7\n", + " 'E3SM-MMF.mlexpand.0008-01-*-*.nc']) # first month of year 8\n", + "# set temporal subsampling\n", + "data.set_stride_sample(data_split = 'train', stride_sample = 1000)\n", + "# create list of files to extract data from\n", + "data.set_filelist(data_split = 'train', start_idx=0)\n", + "# save numpy files of training data\n", + "data.save_as_npy(data_split = 'train', save_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v2_example/')" + ] + }, + { + "cell_type": "markdown", + "id": "1cfc28f9-f333-4433-b9cc-8d0ecc3d7f07", + "metadata": { + "tags": [] + }, + "source": [ + "### Create validation data" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "97cafa5c-0117-45e5-9488-0e2923f498f8", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# set regular expressions for selecting validation data\n", + "data.set_regexps(data_split = 'val',\n", + " regexps = ['E3SM-MMF.mlexpand.0008-0[23456789]-*-*.nc', # months 2 through 9 of year 8\n", + " 'E3SM-MMF.mlexpand.0008-1[012]-*-*.nc', # months 10 through 12 of year 8\n", + " 'E3SM-MMF.mlexpand.0009-01-*-*.nc']) # first month of year 9\n", + "# set temporal subsampling\n", + "# data.set_stride_sample(data_split = 'val', stride_sample = 7)\n", + "data.set_stride_sample(data_split = 'val', stride_sample = 700)\n", + "# create list of files to extract data from\n", + "data.set_filelist(data_split = 'val')\n", + "# save numpy files of validation data\n", + "data.save_as_npy(data_split = 'val', save_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v2_example/')" + ] + }, + { + "cell_type": "markdown", + "id": "e9cd7827-3210-444e-be21-9126518c3cc6", + "metadata": {}, + "source": [ + "### Create test data" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "14c81c8b-486b-4fab-8167-24e55b4c7719", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "data.data_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/_test/'\n", + "\n", + "data.set_to_v4_vars()\n", + "\n", + "# set regular expressions for selecting validation data\n", + "data.set_regexps(data_split = 'test',\n", + " regexps = ['E3SM-MMF.mlexpand.0009-0[3456789]-*-*.nc', \n", + " 'E3SM-MMF.mlexpand.0009-1[012]-*-*.nc',\n", + " 'E3SM-MMF.mlexpand.0010-*-*-*.nc',\n", + " 'E3SM-MMF.mlexpand.0011-0[12]-*-*.nc'])\n", + "# set temporal subsampling\n", + "# data.set_stride_sample(data_split = 'test', stride_sample = 7)\n", + "data.set_stride_sample(data_split = 'test', stride_sample = 700)\n", + "# create list of files to extract data from\n", + "data.set_filelist(data_split = 'test')\n", + "# save numpy files of validation data\n", + "data.save_as_npy(data_split = 'test', save_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v2_example/')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "ad0d01b8-b20c-4dec-a967-981f6ecf514b", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "test_input.h5\ttest_target.npy train_target.h5 val_input.npy\n", + "test_input.npy\ttrain_input.h5\t train_target.npy val_target.h5\n", + "test_target.h5\ttrain_input.npy val_input.h5\t val_target.npy\n" + ] + } + ], + "source": [ + "!ls /global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v2_example/" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "climsim", + "language": "python", + "name": "climsim" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/data_preparation/create_dataset/create_dataset_example_v4.ipynb b/online_testing/data_preparation/create_dataset/create_dataset_example_v4.ipynb new file mode 100644 index 0000000..1db9073 --- /dev/null +++ b/online_testing/data_preparation/create_dataset/create_dataset_example_v4.ipynb @@ -0,0 +1,347 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "d6941e5c-270c-481b-bbfb-e319f3edf05b", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-06-24 09:51:16.406174: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n", + "2024-06-24 09:51:16.406284: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n", + "2024-06-24 09:51:16.466584: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", + "2024-06-24 09:51:16.601508: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n", + "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2024-06-24 09:51:18.928972: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\n" + ] + } + ], + "source": [ + "from climsim_utils.data_utils import *" + ] + }, + { + "cell_type": "markdown", + "id": "4b82db83-7ae0-423b-b994-7df5d734b101", + "metadata": { + "tags": [] + }, + "source": [ + "### Instantiating class" + ] + }, + { + "cell_type": "markdown", + "id": "b542b197-e371-4346-94b4-bc5ecfcf0f82", + "metadata": {}, + "source": [ + "The example below will save training data in both .h5 and .npy format. Adjust if you only need one format. Also adjust input_abbrev to the input data files you will use. We expanded the original '.mli.' input files to include additional features such as previous steps' information, and '.mlexpand.' was just an arbitrary name we used for the expanded input files." + ] + }, + { + "cell_type": "markdown", + "id": "826cf98d-4871-4a02-ba6a-fe90df706d5b", + "metadata": { + "tags": [] + }, + "source": [ + "Currently the training script would assume the training set is in .h5 format while the validation set is in .npy form. It's fine to only keep save_h5=True in the block below for generating training data." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ea4baee2-c25e-4e14-bae4-038e67a40740", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "grid_path = '/global/u2/z/zeyuanhu/nvidia_codes/Climsim_private/grid_info/ClimSim_low-res_grid-info.nc'\n", + "norm_path = '/global/u2/z/zeyuanhu/nvidia_codes/Climsim_private/preprocessing/normalizations/'\n", + "\n", + "grid_info = xr.open_dataset(grid_path)\n", + "#no naming issue here. the following v5 files are also used for v4 models in the training. here these normalization-related files are just placeholders since we set normalize=False in the data_utils.\n", + "input_mean = xr.open_dataset(norm_path + 'inputs/input_mean_v5_pervar.nc')\n", + "input_max = xr.open_dataset(norm_path + 'inputs/input_max_v5_pervar.nc')\n", + "input_min = xr.open_dataset(norm_path + 'inputs/input_min_v5_pervar.nc')\n", + "output_scale = xr.open_dataset(norm_path + 'outputs/output_scale_std_lowerthred_v5.nc')\n", + "\n", + "data = data_utils(grid_info = grid_info, \n", + " input_mean = input_mean, \n", + " input_max = input_max, \n", + " input_min = input_min, \n", + " output_scale = output_scale,\n", + " input_abbrev = 'mlexpand',\n", + " output_abbrev = 'mlo',\n", + " normalize=False,\n", + " save_h5=True,\n", + " save_npy=True\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "2f1cf9ea-41d1-4b72-bff1-9a900188e834", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# set data path\n", + "data.data_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/train/'\n", + "\n", + "# set inputs and outputs to V4 subset\n", + "data.set_to_v4_vars()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "53a7a139-d2f7-4229-8360-9f7f0422703e", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['state_t',\n", + " 'state_rh',\n", + " 'state_q0002',\n", + " 'state_q0003',\n", + " 'state_u',\n", + " 'state_v',\n", + " 'state_t_dyn',\n", + " 'state_q0_dyn',\n", + " 'state_u_dyn',\n", + " 'tm_state_t_dyn',\n", + " 'tm_state_q0_dyn',\n", + " 'tm_state_u_dyn',\n", + " 'state_t_prvphy',\n", + " 'state_q0001_prvphy',\n", + " 'state_q0002_prvphy',\n", + " 'state_q0003_prvphy',\n", + " 'state_u_prvphy',\n", + " 'tm_state_t_prvphy',\n", + " 'tm_state_q0001_prvphy',\n", + " 'tm_state_q0002_prvphy',\n", + " 'tm_state_q0003_prvphy',\n", + " 'tm_state_u_prvphy',\n", + " 'pbuf_ozone',\n", + " 'pbuf_CH4',\n", + " 'pbuf_N2O',\n", + " 'state_ps',\n", + " 'pbuf_SOLIN',\n", + " 'pbuf_LHFLX',\n", + " 'pbuf_SHFLX',\n", + " 'pbuf_TAUX',\n", + " 'pbuf_TAUY',\n", + " 'pbuf_COSZRS',\n", + " 'cam_in_ALDIF',\n", + " 'cam_in_ALDIR',\n", + " 'cam_in_ASDIF',\n", + " 'cam_in_ASDIR',\n", + " 'cam_in_LWUP',\n", + " 'cam_in_ICEFRAC',\n", + " 'cam_in_LANDFRAC',\n", + " 'cam_in_OCNFRAC',\n", + " 'cam_in_SNOWHICE',\n", + " 'cam_in_SNOWHLAND',\n", + " 'tm_state_ps',\n", + " 'tm_pbuf_SOLIN',\n", + " 'tm_pbuf_LHFLX',\n", + " 'tm_pbuf_SHFLX',\n", + " 'tm_pbuf_COSZRS',\n", + " 'clat',\n", + " 'slat',\n", + " 'icol']" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.input_vars" + ] + }, + { + "cell_type": "markdown", + "id": "ca3d01fa-eed6-493b-9e66-65b43796354b", + "metadata": {}, + "source": [ + "### Create training data" + ] + }, + { + "cell_type": "markdown", + "id": "ab985d2d-ce4b-4bfd-81cd-c67d9502a2fb", + "metadata": {}, + "source": [ + "Below is an example of creating the training data by integrating the 7 year climsim simulation data. A subsampling of 1000 is used as an example. In the actual work we did, we used a stride_sample=1. We could not fit the full 7-year data into the memory wihout subsampling. If that's also the case for you, try to only process a subset of data at one time by adjusting regexps in set_regexps method. We saved 14 separate input .h5 files. For each year, we saved two files by setting start_idx=0 or 1. For each year, we saved two files by setting start_idx=0 or 1. We have a folder like v4_full, which includes 14 subfolders named '11', '12', '21', '22', ..., '71','72', and each subfolder contains a train_input.h5 and train_target.h5. How you split to save training data won't influence the training. The training script will read in all the samples and randomly select samples across all the samples to form each batch." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "e07c633a-cad8-4cce-9f40-7f4acff845a5", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:From /global/homes/z/zeyuanhu/.conda/envs/climsim/lib/python3.10/site-packages/climsim_utils/data_utils.py:792: calling DatasetV2.from_generator (from tensorflow.python.data.ops.dataset_ops) with output_types is deprecated and will be removed in a future version.\n", + "Instructions for updating:\n", + "Use output_signature instead\n", + "WARNING:tensorflow:From /global/homes/z/zeyuanhu/.conda/envs/climsim/lib/python3.10/site-packages/climsim_utils/data_utils.py:792: calling DatasetV2.from_generator (from tensorflow.python.data.ops.dataset_ops) with output_shapes is deprecated and will be removed in a future version.\n", + "Instructions for updating:\n", + "Use output_signature instead\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-06-16 17:38:52.707705: W tensorflow/core/common_runtime/gpu/gpu_device.cc:2256] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.\n", + "Skipping registering GPU devices...\n" + ] + } + ], + "source": [ + "# set regular expressions for selecting training data\n", + "data.set_regexps(data_split = 'train', \n", + " regexps = ['E3SM-MMF.mlexpand.000[1234567]-*-*-*.nc', # years 1 through 7\n", + " 'E3SM-MMF.mlexpand.0008-01-*-*.nc']) # first month of year 8\n", + "# set temporal subsampling\n", + "data.set_stride_sample(data_split = 'train', stride_sample = 1000)\n", + "# create list of files to extract data from\n", + "data.set_filelist(data_split = 'train', start_idx=0)\n", + "# save numpy files of training data\n", + "data.save_as_npy(data_split = 'train', save_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v4_example/')" + ] + }, + { + "cell_type": "markdown", + "id": "1cfc28f9-f333-4433-b9cc-8d0ecc3d7f07", + "metadata": { + "tags": [] + }, + "source": [ + "### Create validation data" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "97cafa5c-0117-45e5-9488-0e2923f498f8", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# set regular expressions for selecting validation data\n", + "data.set_regexps(data_split = 'val',\n", + " regexps = ['E3SM-MMF.mlexpand.0008-0[23456789]-*-*.nc', # months 2 through 9 of year 8\n", + " 'E3SM-MMF.mlexpand.0008-1[012]-*-*.nc', # months 10 through 12 of year 8\n", + " 'E3SM-MMF.mlexpand.0009-01-*-*.nc']) # first month of year 9\n", + "# set temporal subsampling\n", + "# data.set_stride_sample(data_split = 'val', stride_sample = 7)\n", + "data.set_stride_sample(data_split = 'val', stride_sample = 700)\n", + "# create list of files to extract data from\n", + "data.set_filelist(data_split = 'val')\n", + "# save numpy files of validation data\n", + "data.save_as_npy(data_split = 'val', save_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v4_example/')" + ] + }, + { + "cell_type": "markdown", + "id": "e9cd7827-3210-444e-be21-9126518c3cc6", + "metadata": {}, + "source": [ + "### Create test data" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "14c81c8b-486b-4fab-8167-24e55b4c7719", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "data.data_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/_test/'\n", + "\n", + "data.set_to_v4_vars()\n", + "\n", + "# set regular expressions for selecting validation data\n", + "data.set_regexps(data_split = 'test',\n", + " regexps = ['E3SM-MMF.mlexpand.0009-0[3456789]-*-*.nc', \n", + " 'E3SM-MMF.mlexpand.0009-1[012]-*-*.nc',\n", + " 'E3SM-MMF.mlexpand.0010-*-*-*.nc',\n", + " 'E3SM-MMF.mlexpand.0011-0[12]-*-*.nc'])\n", + "# set temporal subsampling\n", + "# data.set_stride_sample(data_split = 'test', stride_sample = 7)\n", + "data.set_stride_sample(data_split = 'test', stride_sample = 700)\n", + "# create list of files to extract data from\n", + "data.set_filelist(data_split = 'test')\n", + "# save numpy files of validation data\n", + "data.save_as_npy(data_split = 'test', save_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v4_example/')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "ad0d01b8-b20c-4dec-a967-981f6ecf514b", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "test_input.h5\ttest_target.npy train_target.h5 val_input.npy\n", + "test_input.npy\ttrain_input.h5\t train_target.npy val_target.h5\n", + "test_target.h5\ttrain_input.npy val_input.h5\t val_target.npy\n" + ] + } + ], + "source": [ + "!ls /global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v4_example/" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "climsim", + "language": "python", + "name": "climsim" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/data_preparation/create_dataset/create_dataset_example_v5.ipynb b/online_testing/data_preparation/create_dataset/create_dataset_example_v5.ipynb new file mode 100644 index 0000000..790da1a --- /dev/null +++ b/online_testing/data_preparation/create_dataset/create_dataset_example_v5.ipynb @@ -0,0 +1,329 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "d6941e5c-270c-481b-bbfb-e319f3edf05b", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-06-24 09:51:18.574691: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n", + "2024-06-24 09:51:18.574721: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n", + "2024-06-24 09:51:18.576226: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", + "2024-06-24 09:51:18.583996: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n", + "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2024-06-24 09:51:19.787507: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\n" + ] + } + ], + "source": [ + "from climsim_utils.data_utils import *" + ] + }, + { + "cell_type": "markdown", + "id": "4b82db83-7ae0-423b-b994-7df5d734b101", + "metadata": { + "tags": [] + }, + "source": [ + "### Instantiating class" + ] + }, + { + "cell_type": "markdown", + "id": "b542b197-e371-4346-94b4-bc5ecfcf0f82", + "metadata": {}, + "source": [ + "The example below will save training data in both .h5 and .npy format. Adjust if you only need one format. Also adjust input_abbrev to the input data files you will use. We expanded the original '.mli.' input files to include additional features such as previous steps' information, and '.mlexpand.' was just an arbitrary name we used for the expanded input files." + ] + }, + { + "cell_type": "markdown", + "id": "c3aebd66-ae71-4db0-9c83-d6f5a56880a6", + "metadata": {}, + "source": [ + "Currently the training script would assume the training set is in .h5 format while the validation set is in .npy form. It's fine to only keep save_h5=True in the block below for generating training data." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "ea4baee2-c25e-4e14-bae4-038e67a40740", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "grid_path = '/global/u2/z/zeyuanhu/nvidia_codes/Climsim_private/grid_info/ClimSim_low-res_grid-info.nc'\n", + "norm_path = '/global/u2/z/zeyuanhu/nvidia_codes/Climsim_private/preprocessing/normalizations/'\n", + "\n", + "grid_info = xr.open_dataset(grid_path)\n", + "input_mean = xr.open_dataset(norm_path + 'inputs/input_mean_v5_pervar.nc')\n", + "input_max = xr.open_dataset(norm_path + 'inputs/input_max_v5_pervar.nc')\n", + "input_min = xr.open_dataset(norm_path + 'inputs/input_min_v5_pervar.nc')\n", + "output_scale = xr.open_dataset(norm_path + 'outputs/output_scale_std_lowerthred_v5.nc')\n", + "\n", + "data = data_utils(grid_info = grid_info, \n", + " input_mean = input_mean, \n", + " input_max = input_max, \n", + " input_min = input_min, \n", + " output_scale = output_scale,\n", + " input_abbrev = 'mlexpand',\n", + " output_abbrev = 'mlo',\n", + " normalize=False,\n", + " save_h5=True,\n", + " save_npy=True\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "2f1cf9ea-41d1-4b72-bff1-9a900188e834", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# set data path\n", + "data.data_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/train/'\n", + "\n", + "# set inputs and outputs to V5 subset\n", + "data.set_to_v5_vars()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "53a7a139-d2f7-4229-8360-9f7f0422703e", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['state_t',\n", + " 'state_rh',\n", + " 'state_qn',\n", + " 'liq_partition',\n", + " 'state_u',\n", + " 'state_v',\n", + " 'state_t_dyn',\n", + " 'state_q0_dyn',\n", + " 'state_u_dyn',\n", + " 'tm_state_t_dyn',\n", + " 'tm_state_q0_dyn',\n", + " 'tm_state_u_dyn',\n", + " 'state_t_prvphy',\n", + " 'state_q0001_prvphy',\n", + " 'state_qn_prvphy',\n", + " 'state_u_prvphy',\n", + " 'tm_state_t_prvphy',\n", + " 'tm_state_q0001_prvphy',\n", + " 'tm_state_qn_prvphy',\n", + " 'tm_state_u_prvphy',\n", + " 'pbuf_ozone',\n", + " 'pbuf_CH4',\n", + " 'pbuf_N2O',\n", + " 'state_ps',\n", + " 'pbuf_SOLIN',\n", + " 'pbuf_LHFLX',\n", + " 'pbuf_SHFLX',\n", + " 'pbuf_TAUX',\n", + " 'pbuf_TAUY',\n", + " 'pbuf_COSZRS',\n", + " 'cam_in_ALDIF',\n", + " 'cam_in_ALDIR',\n", + " 'cam_in_ASDIF',\n", + " 'cam_in_ASDIR',\n", + " 'cam_in_LWUP',\n", + " 'cam_in_ICEFRAC',\n", + " 'cam_in_LANDFRAC',\n", + " 'cam_in_OCNFRAC',\n", + " 'cam_in_SNOWHICE',\n", + " 'cam_in_SNOWHLAND',\n", + " 'tm_state_ps',\n", + " 'tm_pbuf_SOLIN',\n", + " 'tm_pbuf_LHFLX',\n", + " 'tm_pbuf_SHFLX',\n", + " 'tm_pbuf_COSZRS',\n", + " 'clat',\n", + " 'slat',\n", + " 'icol']" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.input_vars" + ] + }, + { + "cell_type": "markdown", + "id": "ca3d01fa-eed6-493b-9e66-65b43796354b", + "metadata": {}, + "source": [ + "### Create training data" + ] + }, + { + "cell_type": "markdown", + "id": "ab985d2d-ce4b-4bfd-81cd-c67d9502a2fb", + "metadata": {}, + "source": [ + "Below is an example of creating the training data by integrating the 7 year climsim simulation data. A subsampling of 1000 is used as an example. In the actual work we did, we used a stride_sample=1. We could not fit the full 7-year data into the memory wihout subsampling. If that's also the case for you, try to only process a subset of data at one time by adjusting regexps in set_regexps method. We saved 14 separate input .h5 files. For each year, we saved two files by setting start_idx=0 or 1. For each year, we saved two files by setting start_idx=0 or 1. We have a folder like v5_full, which includes 14 subfolders named '11', '12', '21', '22', ..., '71','72', and each subfolder contains a train_input.h5 and train_target.h5. How you split to save training data won't influence the training. The training script will read in all the samples and randomly select samples across all the samples to form each batch." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "e07c633a-cad8-4cce-9f40-7f4acff845a5", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# set regular expressions for selecting training data\n", + "data.set_regexps(data_split = 'train', \n", + " regexps = ['E3SM-MMF.mlexpand.000[1234567]-*-*-*.nc', # years 1 through 7\n", + " 'E3SM-MMF.mlexpand.0008-01-*-*.nc']) # first month of year 8\n", + "# set temporal subsampling\n", + "data.set_stride_sample(data_split = 'train', stride_sample = 1000)\n", + "# create list of files to extract data from\n", + "data.set_filelist(data_split = 'train', start_idx=0)\n", + "# save numpy files of training data\n", + "data.save_as_npy(data_split = 'train', save_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v5_example/')" + ] + }, + { + "cell_type": "markdown", + "id": "1cfc28f9-f333-4433-b9cc-8d0ecc3d7f07", + "metadata": { + "tags": [] + }, + "source": [ + "### Create validation data" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "97cafa5c-0117-45e5-9488-0e2923f498f8", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# set regular expressions for selecting validation data\n", + "data.set_regexps(data_split = 'val',\n", + " regexps = ['E3SM-MMF.mlexpand.0008-0[23456789]-*-*.nc', # months 2 through 9 of year 8\n", + " 'E3SM-MMF.mlexpand.0008-1[012]-*-*.nc', # months 10 through 12 of year 8\n", + " 'E3SM-MMF.mlexpand.0009-01-*-*.nc']) # first month of year 9\n", + "# set temporal subsampling\n", + "# data.set_stride_sample(data_split = 'val', stride_sample = 7)\n", + "data.set_stride_sample(data_split = 'val', stride_sample = 700)\n", + "# create list of files to extract data from\n", + "data.set_filelist(data_split = 'val')\n", + "# save numpy files of validation data\n", + "data.save_as_npy(data_split = 'val', save_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v5_example/')" + ] + }, + { + "cell_type": "markdown", + "id": "e9cd7827-3210-444e-be21-9126518c3cc6", + "metadata": {}, + "source": [ + "### Create test data" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "14c81c8b-486b-4fab-8167-24e55b4c7719", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "data.data_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/_test/'\n", + "\n", + "data.set_to_v5_vars()\n", + "\n", + "# set regular expressions for selecting validation data\n", + "data.set_regexps(data_split = 'test',\n", + " regexps = ['E3SM-MMF.mlexpand.0009-0[3456789]-*-*.nc', \n", + " 'E3SM-MMF.mlexpand.0009-1[012]-*-*.nc',\n", + " 'E3SM-MMF.mlexpand.0010-*-*-*.nc',\n", + " 'E3SM-MMF.mlexpand.0011-0[12]-*-*.nc'])\n", + "# set temporal subsampling\n", + "# data.set_stride_sample(data_split = 'test', stride_sample = 7)\n", + "data.set_stride_sample(data_split = 'test', stride_sample = 700)\n", + "# create list of files to extract data from\n", + "data.set_filelist(data_split = 'test')\n", + "# save numpy files of validation data\n", + "data.save_as_npy(data_split = 'test', save_path = '/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v5_example/')" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "ad0d01b8-b20c-4dec-a967-981f6ecf514b", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "test_input.h5\ttest_target.npy train_target.h5 val_input.npy\n", + "test_input.npy\ttrain_input.h5\t train_target.npy val_target.h5\n", + "test_target.h5\ttrain_input.npy val_input.h5\t val_target.npy\n" + ] + } + ], + "source": [ + "!ls /global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v5_example/" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ab33e94e-3c7f-4714-8e36-64413ebd35c5", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "climsim", + "language": "python", + "name": "climsim" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/data_preparation/expand_feature/adding_input_feature.ipynb b/online_testing/data_preparation/expand_feature/adding_input_feature.ipynb new file mode 100644 index 0000000..669d8db --- /dev/null +++ b/online_testing/data_preparation/expand_feature/adding_input_feature.ipynb @@ -0,0 +1,288 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "7a77947b-4028-4ee1-8e92-896d1a3104a2", + "metadata": { + "tags": [] + }, + "source": [ + "# expand each sample .nc file with additional featuers such as previous steps' information" + ] + }, + { + "cell_type": "markdown", + "id": "e7ae457a-c126-412c-aa69-abb2fef42b26", + "metadata": {}, + "source": [ + "## Load modules, determine available cpus, create list of input files" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "0d1b7773-9960-43bd-bcfa-3fdc12749475", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import os\n", + "import glob\n", + "import xarray as xr\n", + "import numpy as np\n", + "import multiprocessing as mp\n", + "from climsim_adding_input import process_one_file" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e5857b68-1a73-4834-aed6-833d3b3d2089", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of available CPUs: 256\n" + ] + } + ], + "source": [ + "# Get the number of available CPUs\n", + "num_cpus = os.cpu_count()\n", + "\n", + "print(f\"Number of available CPUs: {num_cpus}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "7f405739-e4cf-4ad7-b5ef-3c526bb530ac", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "210240" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "base_dir = \"/global/homes/z/zeyuanhu/hugging/E3SM-MMF_ne4/train\"\n", + "nc_files_in = sorted(glob.glob(os.path.join(base_dir, '**/E3SM-MMF.mli.*.nc'), recursive=True))\n", + "len(nc_files_in)" + ] + }, + { + "cell_type": "markdown", + "id": "e0351edf-c8fc-4220-8930-3b497974802b", + "metadata": {}, + "source": [ + "## Create new nc files that contains additional input features" + ] + }, + { + "cell_type": "markdown", + "id": "138dc7b8-cdbd-4fd8-be66-fce146a74706", + "metadata": {}, + "source": [ + "Below we will use multiprocessing to speed up the data processing work." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "845358ea-200a-4f4b-93f6-58c21d02cdb0", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ds0 = xr.open_dataset('../../grid_info/ClimSim_low-res_grid-info.nc')\n", + "lat = ds0['lat']\n", + "lon = ds0['lon']\n", + "\n", + "mp.set_start_method('spawn')\n", + "if __name__ == '__main__':\n", + " # Determine the number of processes based on system's capabilities or your preference\n", + " num_processes = mp.cpu_count() # You can adjust this to a fixed number if preferred\n", + "\n", + " # Adjust the range as necessary, starting from 2 since here we need timestep t=i-1 and i-2 in the data processing function\n", + " # args_for_processing = [(i, nc_files_in) for i in range(2, len(nc_files_in))]\n", + " args_for_processing = [(i, nc_files_in, lat, lon, 'mli', 'mlo', 'mlexpand') for i in range(2, 32)] # will create new input files with .mlexpand.\n", + "\n", + " with mp.Pool(num_processes) as pool:\n", + " # Use pool.map to process files in parallel\n", + " pool.map(process_one_file, args_for_processing)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "01ca2464-f92a-4374-99c7-3c95d2c6d903", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/global/homes/z/zeyuanhu/hugging/E3SM-MMF_ne4/train/0001-02/E3SM-MMF.mlexpand.0001-02-01-02400.nc\n", + "/global/homes/z/zeyuanhu/hugging/E3SM-MMF_ne4/train/0001-02/E3SM-MMF.mlexpand.0001-02-01-03600.nc\n", + "/global/homes/z/zeyuanhu/hugging/E3SM-MMF_ne4/train/0001-02/E3SM-MMF.mlexpand.0001-02-01-04800.nc\n", + "/global/homes/z/zeyuanhu/hugging/E3SM-MMF_ne4/train/0001-02/E3SM-MMF.mlexpand.0001-02-01-06000.nc\n", + "/global/homes/z/zeyuanhu/hugging/E3SM-MMF_ne4/train/0001-02/E3SM-MMF.mlexpand.0001-02-01-07200.nc\n" + ] + } + ], + "source": [ + "%ls /global/homes/z/zeyuanhu/hugging/E3SM-MMF_ne4/train/0001-02/*mlexpand*.nc | head -5" + ] + }, + { + "cell_type": "markdown", + "id": "471cb017-bdce-440e-8e5b-4c35e1aea428", + "metadata": {}, + "source": [ + "## What does the process_one_file function do" + ] + }, + { + "cell_type": "markdown", + "id": "f57e86f0-48c9-438a-b552-ef838b850d92", + "metadata": {}, + "source": [ + "We had to put the process_one_file function in a separate .py file to let the multiprocessing function to work without problem. We copied the process_one_file function in climsim_adding_input.py below for your convenience to check what is inside the process_one_file function." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "791903b4-3589-44f6-994d-5e6f405b1eb6", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "def process_one_file_copy(args):\n", + " \"\"\"\n", + " Process a single NetCDF file by updating its dataset with information from previous files.\n", + " \n", + " Args:\n", + " i: int\n", + " The index of the current file in the full file list.\n", + " nc_files_in: list of str\n", + " List of the full filenames.\n", + " lat: xarray.DataArray\n", + " DataArray of latitude.\n", + " lon: xarray.DataArray\n", + " DataArray of longitude.\n", + " input_abbrev: str\n", + " The input file name abbreviation, the default input data should be 'mli'.\n", + " output_abbrev: str\n", + " The output file name abbreviation, the default output data should be 'mlo'.\n", + " input_abbrev_new: str\n", + " The abbreviation for the new input file name.\n", + " \n", + " Returns:\n", + " None\n", + " \"\"\"\n", + " i, nc_files_in, lat, lon, input_abbrev, output_abbrev, input_abbrev_new = args\n", + " dsin = xr.open_dataset(nc_files_in[i])\n", + " dsin_prev = xr.open_dataset(nc_files_in[i-1])\n", + " dsin_prev2 = xr.open_dataset(nc_files_in[i-2])\n", + " dsout_prev = xr.open_dataset(nc_files_in[i-1].replace(input_abbrev, output_abbrev))\n", + " dsout_prev2 = xr.open_dataset(nc_files_in[i-2].replace(input_abbrev, output_abbrev))\n", + " dsin['tm_state_t'] = dsin_prev['state_t']\n", + " dsin['tm_state_q0001'] = dsin_prev['state_q0001']\n", + " dsin['tm_state_q0002'] = dsin_prev['state_q0002']\n", + " dsin['tm_state_q0003'] = dsin_prev['state_q0003']\n", + " dsin['tm_state_u'] = dsin_prev['state_u']\n", + " dsin['tm_state_v'] = dsin_prev['state_v']\n", + "\n", + " dsin['state_t_prvphy'] = (dsout_prev['state_t'] - dsin_prev['state_t'])/1200.\n", + " dsin['state_q0001_prvphy'] = (dsout_prev['state_q0001'] - dsin_prev['state_q0001'])/1200.\n", + " dsin['state_q0002_prvphy'] = (dsout_prev['state_q0002'] - dsin_prev['state_q0002'])/1200.\n", + " dsin['state_q0003_prvphy'] = (dsout_prev['state_q0003'] - dsin_prev['state_q0003'])/1200.\n", + " dsin['state_u_prvphy'] = (dsout_prev['state_u'] - dsin_prev['state_u'])/1200.\n", + "\n", + " dsin['tm_state_t_prvphy'] = (dsout_prev2['state_t'] - dsin_prev2['state_t'])/1200.\n", + " dsin['tm_state_q0001_prvphy'] = (dsout_prev2['state_q0001'] - dsin_prev2['state_q0001'])/1200.\n", + " dsin['tm_state_q0002_prvphy'] = (dsout_prev2['state_q0002'] - dsin_prev2['state_q0002'])/1200.\n", + " dsin['tm_state_q0003_prvphy'] = (dsout_prev2['state_q0003'] - dsin_prev2['state_q0003'])/1200.\n", + " dsin['tm_state_u_prvphy'] = (dsout_prev2['state_u'] - dsin_prev2['state_u'])/1200.\n", + "\n", + " dsin['state_t_dyn'] = (dsin['state_t'] - dsout_prev['state_t'])/1200.\n", + " dsin['state_q0_dyn'] = (dsin['state_q0001'] - dsout_prev['state_q0001'] + dsin['state_q0002'] - dsout_prev['state_q0002'] + dsin['state_q0003'] - dsout_prev['state_q0003'])/1200.\n", + " dsin['state_u_dyn'] = (dsin['state_u'] - dsout_prev['state_u'])/1200.\n", + "\n", + " dsin['tm_state_t_dyn'] = (dsin_prev['state_t'] - dsout_prev2['state_t'])/1200.\n", + " dsin['tm_state_q0_dyn'] = (dsin_prev['state_q0001'] - dsout_prev2['state_q0001'] + dsin_prev['state_q0002'] - dsout_prev2['state_q0002'] + dsin_prev['state_q0003'] - dsout_prev2['state_q0003'])/1200.\n", + " dsin['tm_state_u_dyn'] = (dsin_prev['state_u'] - dsout_prev2['state_u'])/1200.\n", + "\n", + " dsin['tm_state_ps'] = dsin_prev['state_ps']\n", + " dsin['tm_pbuf_SOLIN'] = dsin_prev['pbuf_SOLIN']\n", + " dsin['tm_pbuf_SHFLX'] = dsin_prev['pbuf_SHFLX']\n", + " dsin['tm_pbuf_LHFLX'] = dsin_prev['pbuf_LHFLX']\n", + " dsin['tm_pbuf_COSZRS'] = dsin_prev['pbuf_COSZRS']\n", + "\n", + " dsin['lat'] = lat\n", + " dsin['lon'] = lon\n", + " clat = lat.copy()\n", + " slat = lat.copy()\n", + " icol = lat.copy()\n", + " clat[:] = np.cos(lat*2.*np.pi/360.)\n", + " slat[:] = np.sin(lat*2.*np.pi/360.)\n", + " icol[:] = np.arange(1,385)\n", + " dsin['clat'] = clat\n", + " dsin['slat'] = slat\n", + " dsin['icol'] = icol\n", + "\n", + " new_file_path = nc_files_in[i].replace(input_abbrev, input_abbrev_new)\n", + " dsin.to_netcdf(new_file_path)\n", + "\n", + " return None" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dd1274e9-23b1-4c96-9977-9214bfbbe324", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "climsim", + "language": "python", + "name": "climsim" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/data_preparation/expand_feature/climsim_adding_input.py b/online_testing/data_preparation/expand_feature/climsim_adding_input.py new file mode 100644 index 0000000..37956e3 --- /dev/null +++ b/online_testing/data_preparation/expand_feature/climsim_adding_input.py @@ -0,0 +1,83 @@ +import os +import glob +import xarray as xr +import numpy as np + +def process_one_file(args): + """ + Process a single NetCDF file by updating its dataset with information from previous files. + + Args: + i: int + The index of the current file in the full file list. + nc_files_in: list of str + List of the full filenames. + lat: xarray.DataArray + DataArray of latitude. + lon: xarray.DataArray + DataArray of longitude. + input_abbrev: str + The input file name abbreviation, the default input data should be 'mli'. + output_abbrev: str + The output file name abbreviation, the default output data should be 'mlo'. + input_abbrev_new: str + The abbreviation for the new input file name. + + Returns: + None + """ + i, nc_files_in, lat, lon, input_abbrev, output_abbrev, input_abbrev_new = args + dsin = xr.open_dataset(nc_files_in[i]) + dsin_prev = xr.open_dataset(nc_files_in[i-1]) + dsin_prev2 = xr.open_dataset(nc_files_in[i-2]) + dsout_prev = xr.open_dataset(nc_files_in[i-1].replace(input_abbrev, output_abbrev)) + dsout_prev2 = xr.open_dataset(nc_files_in[i-2].replace(input_abbrev, output_abbrev)) + dsin['tm_state_t'] = dsin_prev['state_t'] + dsin['tm_state_q0001'] = dsin_prev['state_q0001'] + dsin['tm_state_q0002'] = dsin_prev['state_q0002'] + dsin['tm_state_q0003'] = dsin_prev['state_q0003'] + dsin['tm_state_u'] = dsin_prev['state_u'] + dsin['tm_state_v'] = dsin_prev['state_v'] + + dsin['state_t_prvphy'] = (dsout_prev['state_t'] - dsin_prev['state_t'])/1200. + dsin['state_q0001_prvphy'] = (dsout_prev['state_q0001'] - dsin_prev['state_q0001'])/1200. + dsin['state_q0002_prvphy'] = (dsout_prev['state_q0002'] - dsin_prev['state_q0002'])/1200. + dsin['state_q0003_prvphy'] = (dsout_prev['state_q0003'] - dsin_prev['state_q0003'])/1200. + dsin['state_u_prvphy'] = (dsout_prev['state_u'] - dsin_prev['state_u'])/1200. + + dsin['tm_state_t_prvphy'] = (dsout_prev2['state_t'] - dsin_prev2['state_t'])/1200. + dsin['tm_state_q0001_prvphy'] = (dsout_prev2['state_q0001'] - dsin_prev2['state_q0001'])/1200. + dsin['tm_state_q0002_prvphy'] = (dsout_prev2['state_q0002'] - dsin_prev2['state_q0002'])/1200. + dsin['tm_state_q0003_prvphy'] = (dsout_prev2['state_q0003'] - dsin_prev2['state_q0003'])/1200. + dsin['tm_state_u_prvphy'] = (dsout_prev2['state_u'] - dsin_prev2['state_u'])/1200. + + dsin['state_t_dyn'] = (dsin['state_t'] - dsout_prev['state_t'])/1200. + dsin['state_q0_dyn'] = (dsin['state_q0001'] - dsout_prev['state_q0001'] + dsin['state_q0002'] - dsout_prev['state_q0002'] + dsin['state_q0003'] - dsout_prev['state_q0003'])/1200. + dsin['state_u_dyn'] = (dsin['state_u'] - dsout_prev['state_u'])/1200. + + dsin['tm_state_t_dyn'] = (dsin_prev['state_t'] - dsout_prev2['state_t'])/1200. + dsin['tm_state_q0_dyn'] = (dsin_prev['state_q0001'] - dsout_prev2['state_q0001'] + dsin_prev['state_q0002'] - dsout_prev2['state_q0002'] + dsin_prev['state_q0003'] - dsout_prev2['state_q0003'])/1200. + dsin['tm_state_u_dyn'] = (dsin_prev['state_u'] - dsout_prev2['state_u'])/1200. + + dsin['tm_state_ps'] = dsin_prev['state_ps'] + dsin['tm_pbuf_SOLIN'] = dsin_prev['pbuf_SOLIN'] + dsin['tm_pbuf_SHFLX'] = dsin_prev['pbuf_SHFLX'] + dsin['tm_pbuf_LHFLX'] = dsin_prev['pbuf_LHFLX'] + dsin['tm_pbuf_COSZRS'] = dsin_prev['pbuf_COSZRS'] + + dsin['lat'] = lat + dsin['lon'] = lon + clat = lat.copy() + slat = lat.copy() + icol = lat.copy() + clat[:] = np.cos(lat*2.*np.pi/360.) + slat[:] = np.sin(lat*2.*np.pi/360.) + icol[:] = np.arange(1,385) + dsin['clat'] = clat + dsin['slat'] = slat + dsin['icol'] = icol + + new_file_path = nc_files_in[i].replace(input_abbrev, input_abbrev_new) + dsin.to_netcdf(new_file_path) + + return None \ No newline at end of file diff --git a/online_testing/data_preparation/normalization/cloud_exponential_transformation.ipynb b/online_testing/data_preparation/normalization/cloud_exponential_transformation.ipynb new file mode 100644 index 0000000..394d4d7 --- /dev/null +++ b/online_testing/data_preparation/normalization/cloud_exponential_transformation.ipynb @@ -0,0 +1,402 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "300e5dee-9ce2-49a8-bb45-3e15a4141ec0", + "metadata": {}, + "source": [ + "# Cloud exponential transformation" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "3c6e51a6-7d86-476f-91ee-9761388cb9a4", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/global/homes/z/zeyuanhu/.conda/envs/climsim/lib/python3.10/site-packages/IPython/core/magics/osm.py:417: UserWarning: This is now an optional IPython functionality, setting dhist requires you to install the `pickleshare` library.\n", + " self.shell.db['dhist'] = compress_dhist(dhist)[-100:]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/global/u2/z/zeyuanhu/nvidia_codes/Climsim_private\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-06-18 11:34:46.475622: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n", + "2024-06-18 11:34:46.475724: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n", + "2024-06-18 11:34:46.536857: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", + "2024-06-18 11:34:46.685209: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n", + "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2024-06-18 11:34:49.108652: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import xarray as xr\n", + "import matplotlib.pyplot as plt\n", + "import h5py\n", + "%cd /global/u2/z/zeyuanhu/nvidia_codes/Climsim_private\n", + "from climsim_utils.data_utils import *" + ] + }, + { + "cell_type": "markdown", + "id": "4a554403-1465-42f0-af38-bccd44f5919b", + "metadata": {}, + "source": [ + "## read the liquid cloud, ice cloud and/or total cloud" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "91a55faa-f51a-4643-b27d-6f7476c385d2", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# this example here will use read in the training data and read the input cloud liquid/ice.\n", + "# we saved the whole unnormalized training data into 14 folder named 11, 12,21,22,...,71,72\n", + "# the example below will use half of the training data. The data here basically subsamples the full 7-year training data with a stride of 2.\n", + "\n", + "cases = ['11', '21', '31', '41', '51', '61', '71']\n", + "\n", + "# Initialize an empty list to store data arrays\n", + "data_list_liquid = []\n", + "data_list_ice = []\n", + "\n", + "# Loop over each data file\n", + "for case in cases:\n", + " file_path = f'/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/preprocessing/v4_full/{case}/train_input.h5'\n", + " with h5py.File(file_path, 'r') as file:\n", + " data_list_liquid.append(file['data'][:, 120:180])\n", + " data_list_ice.append(file['data'][:, 180:240])\n", + "\n", + "# Concatenate all data arrays along the first dimension\n", + "xin_liquid = np.concatenate(data_list_liquid, axis=0)\n", + "xin_ice = np.concatenate(data_list_ice, axis=0)\n", + "xin_total = xin_liquid + xin_ice" + ] + }, + { + "cell_type": "markdown", + "id": "cac17a52-0b57-4c64-b2fe-883f456c264a", + "metadata": {}, + "source": [ + "## calculate and save exponential parameter" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "fbd985fc-00ab-4634-acfa-ac5fa56f6fb1", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_61631/1480905936.py:9: RuntimeWarning: Mean of empty slice.\n", + " lbd_qc[i] = 1./(datac[datac>1e-7].mean())\n", + "/global/homes/z/zeyuanhu/.conda/envs/climsim/lib/python3.10/site-packages/numpy/core/_methods.py:129: RuntimeWarning: invalid value encountered in divide\n", + " ret = ret.dtype.type(ret / rcount)\n", + "/tmp/ipykernel_61631/1480905936.py:10: RuntimeWarning: Mean of empty slice.\n", + " lbd_qi[i] = 1./(datai[datai>1e-7].mean())\n", + "/tmp/ipykernel_61631/1480905936.py:11: RuntimeWarning: Mean of empty slice.\n", + " lbd_qn[i] = 1./(datan[datan>1e-7].mean())\n" + ] + } + ], + "source": [ + "lbd_qc = np.zeros(60)\n", + "lbd_qi = np.zeros(60)\n", + "lbd_qn = np.zeros(60)\n", + "\n", + "for i in range(60):\n", + " datac = xin_liquid[:,i]\n", + " datai = xin_ice[:,i]\n", + " datan = xin_total[:,i]\n", + " lbd_qc[i] = 1./(datac[datac>1e-7].mean())\n", + " lbd_qi[i] = 1./(datai[datai>1e-7].mean())\n", + " lbd_qn[i] = 1./(datan[datan>1e-7].mean())" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "21db9c85-3041-4215-9665-d1e9e4bcf000", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "lbd_qc[np.isnan(lbd_qc)] = 1e7\n", + "lbd_qi[np.isnan(lbd_qi)] = 1e7\n", + "lbd_qn[np.isnan(lbd_qn)] = 1e7" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "37014a9f-a097-4759-a484-5667d95a2817", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "fmt = '%.6e'\n", + "climsim_path = '/global/u2/z/zeyuanhu/nvidia_codes/climsim_tests'\n", + "norm_path = climsim_path+'/normalization/'\n", + "np.savetxt(norm_path + '/qc_exp_lambda_large.txt', lbd_qc.reshape(1, -1), fmt=fmt, delimiter=',')\n", + "np.savetxt(norm_path + '/qi_exp_lambda_large.txt', lbd_qi.reshape(1, -1), fmt=fmt, delimiter=',')\n", + "np.savetxt(norm_path + '/qn_exp_lambda_large.txt', lbd_qn.reshape(1, -1), fmt=fmt, delimiter=',')" + ] + }, + { + "cell_type": "markdown", + "id": "fecbcbcf-8b60-492f-a7fb-bdce8d98ee7b", + "metadata": {}, + "source": [ + "Note that in preprocessing/normalizations/inputs/, there the qn_exp_lambda_large.txt was calculated like above, but qi_exp_lambda_large.txt and qc_exp_lambda_large.txt were calculated based on a 7-step-subsampled version of training data and will has slight difference to what is calculated in this notebook. If you want to exactly reproduce our Unet training, simply use the files under preprocessing/normalizations/inputs/" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a99c16d6-a9ea-440e-9afc-49ec178d5312", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8640c0ab-2938-423f-bbe7-070fdbf26bf5", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 7556905.1099813 ,\n", + " 3240294.53811436, 4409304.29170528, 5388911.78320826,\n", + " 1414189.69398583, 444847.03675674, 550036.71076073,\n", + " 452219.47765234, 243545.07231263, 163264.17204164,\n", + " 128850.88117789, 108392.13699281, 96868.6539061 ,\n", + " 90154.39383647, 83498.67423248, 76720.52614694,\n", + " 70937.79468155, 66821.0327278 , 63916.46591524,\n", + " 61597.41430156, 60417.96523765, 60359.64347926,\n", + " 60430.76970212, 59696.934318 , 58222.94889662,\n", + " 56637.11031175, 54844.45378425, 52735.80221775,\n", + " 50450.11987115, 47895.00010132, 45134.95219383,\n", + " 42075.52757738, 38557.91174999, 34843.47468245,\n", + " 31537.88963513, 29179.71520305, 28016.06440645,\n", + " 27844.86770893, 28377.06256804, 29532.22068928,\n", + " 31360.65252559, 34174.61235695, 38452.69084769,\n", + " 44777.29680978, 53238.52542881, 61797.74325549,\n", + " 66939.83519617, 70867.57480034, 94733.63482142])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lbd_qn" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "f2e6c571-160c-491f-8787-7bb64b86e95b", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 7556905.1099813 ,\n", + " 3240294.53811436, 4409304.29170528, 5388911.78320826,\n", + " 1414189.69398583, 444847.03675674, 550036.71076073,\n", + " 452219.47765234, 243545.07231263, 163264.17204164,\n", + " 128850.88117789, 108392.13699281, 96868.6539061 ,\n", + " 90154.39383647, 83498.67423248, 76720.52614694,\n", + " 70937.87706283, 66851.27198026, 64579.78345685,\n", + " 64987.05874437, 68963.77227883, 75498.91605962,\n", + " 82745.37660119, 89624.52634008, 96373.41157796,\n", + " 102381.42808207, 102890.33417304, 96849.77123401,\n", + " 92727.78368907, 91320.9721545 , 91240.30382044,\n", + " 91448.65004889, 91689.26513737, 91833.1829058 ,\n", + " 91941.15859653, 92144.1029509 , 92628.38565183,\n", + " 93511.1538428 , 94804.20080999, 96349.5878153 ,\n", + " 98174.89731264, 100348.81479455, 102750.86508174,\n", + " 105013.71207426, 106732.83687405, 107593.00387448,\n", + " 108022.91061398, 109634.8552567 , 112259.85403167])" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lbd_qi" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ad1ef83b-03a5-4924-99a3-bed8acba6f33", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 10000000. ,\n", + " 10000000. , 10000000. , 2410793.53754872,\n", + " 3462644.65436088, 1594172.20270602, 328086.13752288,\n", + " 154788.55435228, 118712.37335602, 104208.42410058,\n", + " 95801.11739569, 89619.52961093, 83709.51800851,\n", + " 78846.75613935, 74622.76219094, 70555.95112947,\n", + " 66436.67119096, 61797.61126943, 56926.03823691,\n", + " 51838.00818631, 46355.21691466, 40874.23574077,\n", + " 36196.39550842, 32935.40953052, 31290.83140741,\n", + " 30908.27330462, 31386.06558422, 32606.7350768 ,\n", + " 34631.09245739, 37847.88977875, 42878.24049123,\n", + " 50560.90175672, 61294.98389768, 72912.41450047,\n", + " 80998.32102651, 88376.7321416 , 135468.13760583])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lbd_qc" + ] + }, + { + "cell_type": "markdown", + "id": "72cd633c-c935-46ec-83b3-0749f021804f", + "metadata": {}, + "source": [ + "## More visualization on the exponential transformation" + ] + }, + { + "cell_type": "markdown", + "id": "c63c27af-304c-4753-bab0-3b8795474688", + "metadata": {}, + "source": [ + "We will transform cloud feature through qc’ = 1 - exp(-qc * 𝜆). 𝜆 is the exponential parameter, estimated as 1/(data[data>threshold].mean()). If input feature is indeed a exponential distribution, then this transformation will convert it to a uniform distribution between (0,1). In the calculation above, we have a threshold=1e-7 to select only the cloudy grids that has non-trivial amount of cloud mass. Below is a visualization of cloud feature distribution before and after transformation.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "d37919a5-3c4f-4995-9c81-c5e92322e0dd", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi4AAAGzCAYAAAAIWpzfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8SElEQVR4nO3deVyU9f7//+cgMKgsasqioriUe0KoqLlVJhmmnLLMPAc0NSvrVNbpq2VqK5basU+55CmlzVwqtdRU3E9FiwuVWh53rQS3BMVEhffvj35MjoAyiMsbH/fb7brpvOd9Xdf7NXPNzHOuZXAYY4wAAAAs4HWpBwAAAFBcBBcAAGANggsAALAGwQUAAFiD4AIAAKxBcAEAANYguAAAAGsQXAAAgDUILgAAwBoElzJg586dcjgcSk5OvqDrGTVqlBwOR7H6OhwOjRo1qlTWW5rL8lRERIT69u17SdZ9sZ7Xy1lycrIcDofWrFlTqstdtGiRIiMj5efnJ4fDocOHD5fq8q8EY8aMUd26dVWuXDlFRkZe6uGUmpUrV8rhcGjlypWXeigoAsHlMneh3rhxabz00kuaO3fupR7GecvfLgub0tPTC/T/9NNPdd1118nPz0+1atXSyJEjderUqUswcungwYO66667VL58eU2YMEHvvfeeKlaseEnGcrqFCxdesoDuqSVLlujJJ5/U9ddfr2nTpumll1661EPy2MSJE6/oLwU2877UA8D5q127tv744w/5+Phc0PUMHz5cQ4cOvaDrKOteeukl9ezZU/Hx8Zd6KKXiueeeU506ddzaKlWq5Hb7888/V3x8vDp16qTXX39dP/74o1544QXt27dPkyZNuoij/dN3332nI0eO6Pnnn1fnzp0v+vqLsnDhQk2YMMGK8LJ8+XJ5eXnp7bfflq+v76UeTolMnDhRVatWLbBHtUOHDvrjjz+sretKQHApAxwOh/z8/C74ery9veXtzSaDv3Tt2lUtWrQ4a58nnnhC1157rZYsWeLafgIDA/XSSy/pkUceUcOGDS/GUF327dsnqWDAOh/Z2dkXda/NqVOnlJeXd8k+XPft26fy5cuX2vqNMTp+/LjKly9fKss7H15eXhfl/RQlx6GiMqCocyHmzp2rpk2bys/PT02bNtWcOXPUt29fRUREuPoUdTy3sGUWdo5LTk6OHnvsMVWrVk0BAQHq3r27fvnll2KP/fjx4xo1apSuueYa+fn5KSwsTLfffru2bdt21vnWr1+vrl27KjAwUP7+/rrpppv09ddfu/Up6pyc/MMcO3fudLUZY/TCCy+oZs2aqlChgm644QZt3Lix2HWMHTtWbdu21VVXXaXy5csrOjpaH330kVsfh8Oh7OxsvfPOO67DKiU5f+bnn39Wz549VaVKFfn5+alFixb69NNPXfevWbNGDodD77zzToF5Fy9eLIfDofnz53u83qIcOXJEubm5hd63adMmbdq0Sffdd59b6H3wwQdljCnwGBXl2LFjGjRokK666ioFBgYqISFBv//+e4F+n3/+udq3b6+KFSsqICBAcXFxbs9jp06dlJiYKElq2bJlgedg9uzZio6OVvny5VW1alX9/e9/16+//uq2jr59+8rf31/btm3TrbfeqoCAAPXp00eSlJeXp/Hjx6tJkyby8/NTSEiIBg0aVOhYz1zmhAkTJMntsJv012tx7NixGj9+vOrVqyen06lNmzbpxIkTGjFihKKjoxUUFKSKFSuqffv2WrFihdvyT1/GlClTXMto2bKlvvvuO7e+6enp6tevn2rWrCmn06mwsDD16NHD9XpxOByaNm2asrOzXePMf584deqUnn/+edfyIyIi9NRTTyknJ8dtHREREerWrZsWL16sFi1aqHz58nrzzTdd70ezZs3Ss88+qxo1aiggIEA9e/ZUZmamcnJy9Oijjyo4OFj+/v7q169fgWVPmzZNN954o4KDg+V0OtW4ceMCe/YiIiK0ceNGrVq1ylVDp06dJBX9nujJtvHrr78qPj5e/v7+qlatmp544okiXyPwHF+fy6glS5bojjvuUOPGjZWUlKSDBw+63oxK04ABA/T+++/rnnvuUdu2bbV8+XLFxcUVa97c3Fx169ZNy5Yt0913361HHnlER44cUUpKijZs2KB69eoVOt/GjRvVvn17BQYG6sknn5SPj4/efPNNderUSatWrVJMTIzHdYwYMUIvvPCCbr31Vt16661at26dunTpohMnThRr/tdee03du3dXnz59dOLECc2YMUN33nmn5s+f73o83nvvPQ0YMECtWrXSfffdJ0lF1liUjRs36vrrr1eNGjU0dOhQVaxYUbNmzVJ8fLw+/vhj/e1vf1OLFi1Ut25dzZo1y/UhnW/mzJmqXLmyYmNjJUknT55UZmZmsdZdpUoVeXm5f9e54YYbdPToUfn6+io2Nlbjxo3T1Vdf7bp//fr1klRgr0z16tVVs2ZN1/3n8tBDD6lSpUoaNWqUNm/erEmTJmnXrl2uDxnpz8c3MTFRsbGxevnll3Xs2DFNmjRJ7dq10/r16xUREaGnn35aDRo00JQpU1yHufKfg+TkZPXr108tW7ZUUlKSMjIy9Nprr+nLL7/U+vXr3fbQnDp1SrGxsWrXrp3Gjh2rChUqSJIGDRrkWs4///lP7dixQ2+88YbWr1+vL7/8ssjDuYMGDdJvv/2mlJQUvffee4X2mTZtmo4fP6777rtPTqdTVapUUVZWlt566y317t1bAwcO1JEjR/T2228rNjZW3377bYGTZqdPn64jR45o0KBBcjgceuWVV3T77bdr+/btrrHdcccd2rhxox5++GFFRERo3759SklJ0e7duxUREaH33ntPU6ZM0bfffqu33npLktS2bVtJf74fvPPOO+rZs6cef/xxffPNN0pKStJPP/2kOXPmuI1l8+bN6t27twYNGqSBAweqQYMGrvuSkpJUvnx5DR06VFu3btXrr78uHx8feXl56ffff9eoUaP09ddfKzk5WXXq1NGIESNc806aNElNmjRR9+7d5e3trc8++0wPPvig8vLyNHjwYEnS+PHj9fDDD8vf319PP/20JCkkJKSIrc+zbSM3N1exsbGKiYnR2LFjtXTpUo0bN0716tXTAw88UOQ64AGDy9q0adOMJPPdd98V2WfHjh1Gkpk2bZqrLTIy0oSFhZnDhw+72pYsWWIkmdq1a7vaVqxYYSSZFStWnHOZI0eONKdvMmlpaUaSefDBB93mveeee4wkM3LkyLPWNnXqVCPJvPrqqwXuy8vLc/3/zGXFx8cbX19fs23bNlfbb7/9ZgICAkyHDh2KHG++/Md0x44dxhhj9u3bZ3x9fU1cXJzbep966ikjySQmJp61DmOMOXbsmNvtEydOmKZNm5obb7zRrb1ixYrFWp4xhT8HN910k2nWrJk5fvy4qy0vL8+0bdvWXH311a62YcOGGR8fH3Po0CFXW05OjqlUqZK59957XW35z39xpvzHyxhjZs6cafr27WveeecdM2fOHDN8+HBToUIFU7VqVbN7925XvzFjxhhJbm35WrZsaVq3bn3WxyD/uYqOjjYnTpxwtb/yyitGkpk3b54xxpgjR46YSpUqmYEDB7rNn56eboKCgtzaC3tNnThxwgQHB5umTZuaP/74w9U+f/58I8mMGDHC1ZaYmGgkmaFDh7qt67///a+RZD744AO39kWLFhXafqbBgwcXur3mbweBgYFm3759bvedOnXK5OTkuLX9/vvvJiQkxO15zl/GVVdd5bZNzJs3z0gyn332mWteSWbMmDFnHWtiYqKpWLGiW1v++8GAAQPc2p944gkjySxfvtzVVrt2bSPJLFq0yK1v/vbYtGlTt+e7d+/exuFwmK5du7r1b9Omjdv7mTEFX4vGGBMbG2vq1q3r1takSRPTsWPHAn3PfE8sybbx3HPPuS0zKirKREdHF1gXSoZDRWXQ3r17lZaWpsTERAUFBbnab775ZjVu3LjU1rNw4UJJ0j//+U+39kcffbRY83/88ceqWrWqHn744QL3FXXZdW5urpYsWaL4+HjVrVvX1R4WFqZ77rlHX3zxhbKysopZwZ+WLl2qEydO6OGHH3Zbb3HrkOR2bP73339XZmam2rdvr3Xr1nk0lrM5dOiQli9frrvuuktHjhzRgQMHdODAAR08eFCxsbHasmWLa9d1r169dPLkSX3yySeu+ZcsWaLDhw+rV69errbmzZsrJSWlWFNoaKhrvrvuukvTpk1TQkKC4uPj9fzzz2vx4sU6ePCgXnzxRVe/P/74Q5LkdDoL1OPn5+e6/1zuu+8+t70VDzzwgLy9vV3bYEpKig4fPqzevXu7HpcDBw6oXLlyiomJKXDo5Exr1qzRvn379OCDD7qd3xAXF6eGDRtqwYIFBeY589vz7NmzFRQUpJtvvtltDNHR0fL39z/nGM7ljjvuULVq1dzaypUr5zrPJC8vT4cOHdKpU6fUokWLQre9Xr16qXLlyq7b7du3lyRt375dklznraxcufKch7fOlP9cDBkyxK398ccfl6QCj2GdOnVce/7OlJCQ4PZ8x8TEyBije++9161fTEyM9uzZ43aF2umvxczMTB04cEAdO3bU9u3bi7138XQl2Tbuv/9+t9vt27d3PcY4f1YdKlq9erXGjBmjtWvXau/evZozZ45HV2eMGjVKzz77bIH2ChUqKDs7uxRHemnt2rVLktx22edr0KBBqX2Y7tq1S15eXgUOd5y+y/dstm3bpgYNGnh0wu/+/ft17NixQtfRqFEj5eXlac+ePWrSpEmxl1nU41WtWjW3N/mzmT9/vl544QWlpaW5HXMv7u/eFMfWrVtljNEzzzyjZ555ptA++/btU40aNdS8eXM1bNhQM2fOVP/+/SX9eZioatWquvHGG139K1euXGpX1rRr104xMTFaunSpqy3/Q+TM8xAkeXQy5pnPjb+/v8LCwlznXWzZskWS3Go7XWBg4FmXn78NFLZdNWzYUF988YVbm7e3d4HDrlu2bFFmZqaCg4MLXUf+ScEldebVW/neeecdjRs3Tj///LNOnjx51v61atVyu52/feeHFKfTqZdfflmPP/64QkJC1Lp1a3Xr1k0JCQluwbUw+e8H9evXd2sPDQ1VpUqVXI/xueopbJz5X8DCw8MLtOfl5SkzM1NXXXWVJOnLL7/UyJEjlZqaqmPHjrn1z8zMdPsyVxyebht+fn4FAmblypU9DoIomlXBJTs7W82bN9e9996r22+/3eP5n3jiiQJJ+KabblLLli1La4jWOdueDdtdrNr++9//qnv37urQoYMmTpyosLAw+fj4aNq0aZo+fXqprScvL0/Sn9txUd9UT//Q6NWrl1588UUdOHBAAQEB+vTTT9W7d2+3oHjixAkdOnSoWOuvVq2aypUrd9Y+4eHh2rx5s+t2WFiYpD/3Ap75obN37161atWqWOs+l/zH5r333iv0A7a0r4ZzOp0FzvfJy8tTcHCwPvjgg0LnOfPDzFOFhbz3339fffv2VXx8vP71r38pODhY5cqVU1JSUqEnuBf1/BljXP9/9NFHddttt2nu3LlavHixnnnmGSUlJWn58uWKioo65ziLG9bPFlqLGue5xr9t2zbddNNNatiwoV599VWFh4fL19dXCxcu1L///W/XdnIhnes1gvNnVXDp2rWrunbtWuT9OTk5evrpp/Xhhx/q8OHDatq0qV5++WXX2eL+/v7y9/d39f/++++1adMmTZ48+UIP/aKqXbu2pL++hZ7u9A8V6a9vXGf+cuiZ346KWk9eXp5rz0lR6yhKvXr19M033+jkyZPF/g2aatWqqUKFCoWu4+eff5aXl5frA/L02k4/ee7M2k5/vE4//LR///5ifUv6+OOP5efnp8WLF7sdEpk2bVqBvuezByZ/bD4+PsXaS9KrVy89++yz+vjjjxUSEqKsrCzdfffdbn2++uor3XDDDcVa/44dO9yuSCvM9u3b3T6g808OXbNmjVtI+e233/TLL7+4TlI+ly1btriN8+jRo9q7d69uvfVWSX+d5BwcHFyiPUj528DmzZsL7LXZvHmz6/6zqVevnpYuXarrr7++RJf1lmTb+Oijj1S3bl198sknbvOPHDnS42Wdrl69enr88cf1+OOPa8uWLYqMjNS4ceP0/vvvFzlP/vvBli1b1KhRI1d7RkaGDh8+XKzH8Hx99tlnysnJ0aeffuq216aww3TFfbxLY9tA6SpT57g89NBDSk1N1YwZM/TDDz/ozjvv1C233FLoB7gkvfXWW7rmmmtcx3nLirCwMEVGRuqdd95xO6abkpKiTZs2ufWtXbu2ypUrp9WrV7u1T5w48ZzryQ+R//d//+fWPn78+GKN84477tCBAwf0xhtvFLjv9G+ApytXrpy6dOmiefPmuV3OnJGRoenTp6tdu3auwwL5H2an15Z/OfLpOnfuLB8fH73++utu6y1uHeXKlZPD4XDbk7Nz585CfyG3YsWKJf55+eDgYHXq1Elvvvmm9u7dW+D+/fv3u91u1KiRmjVrppkzZ2rmzJkKCwtThw4d3PqU9ByXM9cl/XmOw9q1a3XLLbe42po0aaKGDRtqypQpbo/PpEmT5HA41LNnz2LVPmXKFLfDIJMmTdKpU6dc22BsbKzrt2FO73e28Z6uRYsWCg4O1uTJk90Oa33++ef66aefinWl3F133aXc3Fw9//zzBe47derUOZ/3/N+B8WT7yP92f/p2+8033yg1NbXYyzjdsWPHdPz4cbe2evXqKSAgoNDDfafLD5Fnvm5effVVSSr21Ybno7DHIzMzs9AvEcV9LZbGtoHSZdUel7PZvXu3pk2bpt27d6t69eqS/tylvmjRokJ/kvr48eP64IMPrPkl2KlTp2rRokUF2h955JFC+yclJSkuLk7t2rXTvffeq0OHDun1119XkyZNdPToUVe/oKAg3XnnnXr99dflcDhUr149zZ8/v1jH4yMjI9W7d29NnDhRmZmZatu2rZYtW6atW7cWq6aEhAS9++67GjJkiL799lu1b99e2dnZWrp0qR588EH16NGj0PleeOEFpaSkqF27dnrwwQfl7e2tN998Uzk5OXrllVdc/bp06aJatWqpf//++te//qVy5cpp6tSpqlatmnbv3u3ql/87C0lJSerWrZtuvfVWrV+/Xp9//rmqVq16zjri4uL06quv6pZbbtE999yjffv2acKECapfv75++OEHt77R0dFaunSpXn31VVWvXl116tTx6PLtCRMmqF27dmrWrJkGDhyounXrKiMjQ6mpqfrll1/0/fffu/Xv1auXRowYIT8/P/Xv37/A4Y2SnuPStm1bRUVFqUWLFgoKCtK6des0depUhYeH66mnnnLrO2bMGHXv3l1dunTR3XffrQ0bNuiNN97QgAED3L6Zn82JEyd000036a677tLmzZs1ceJEtWvXTt27d5f05zkskyZN0j/+8Q9dd911uvvuu13P84IFC3T99dcXGpDz+fj46OWXX1a/fv3UsWNH9e7d23XJa0REhB577LFzjrFjx44aNGiQkpKSlJaWpi5dusjHx0dbtmzR7Nmz9dprr501qEVHR0v682T32NhYlStXrsAesjN169ZNn3zyif72t78pLi5OO3bs0OTJk9W4cWO313lx/e9//3M9zo0bN5a3t7fmzJmjjIyMc46lefPmSkxM1JQpU3T48GF17NhR3377rd555x3Fx8cXe8/e+ejSpYt8fX112223adCgQTp69Kj+85//KDg4uEDYj46O1qRJk/TCCy+ofv36Cg4OLvQcqdLYNlDKLt0FTedHkpkzZ47rdv6laRUrVnSbvL29zV133VVg/unTpxtvb2+Tnp5+EUftufxLN4ua9uzZU+hls8YY8/HHH5tGjRoZp9NpGjdubD755BOTmJhY4PLB/fv3mzvuuMNUqFDBVK5c2QwaNMhs2LDhnJdDG2PMH3/8Yf75z3+aq666ylSsWNHcdtttZs+ePcW6HNqYPy9dfPrpp02dOnWMj4+PCQ0NNT179nS71LmwZa1bt87ExsYaf39/U6FCBXPDDTeYr776qsDy165da2JiYoyvr6+pVauWefXVVwtcDm2MMbm5uebZZ581YWFhpnz58qZTp05mw4YNpnbt2sW6fPntt982V199tXE6naZhw4Zm2rRphT5eP//8s+nQoYMpX778OS+1Lup53bZtm0lISDChoaHGx8fH1KhRw3Tr1s189NFHBZaxZcsW17byxRdfnLOO4nr66adNZGSkCQoKMj4+PqZWrVrmgQceKPL1NGfOHBMZGWmcTqepWbOmGT58uNvlrkXJf65WrVpl7rvvPlO5cmXj7+9v+vTpYw4ePFig/4oVK0xsbKwJCgoyfn5+pl69eqZv375m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2DCzdetWs3btWtOhQwcTFRXlUX3WBJdWrVqZwYMHu27n5uaa6tWrm6SkpEL733XXXSYuLs6tLSYmxgwaNMgYY0xeXp4JDQ01Y8aMcd1/+PBh43Q6zYcffmiMMWbTpk1Gkvnuu+9cfT7//HPjcDjMr7/+aowxZuLEiaZy5comJyfH1ef//b//Zxo0aFBmajxdYmLieQcXG+rMd+utt5p+/fqV6Rofe+wx065dO49rNObyr/PJJ580f//73820adNKHFwu1xrzg8v69etLVJctdW7atMl4e3ubn3/+uczWeKa0tDQjyaxevbpM1Tl79mzj7e1tcnNzXX0+/fRT43A4PArcVhwqOnHihNauXavOnTu72ry8vNS5c2elpqYWOk9qaqpbf0mKjY119d+xY4fS09Pd+gQFBSkmJsbVJzU1VZUqVVKLFi1cfTp37iwvLy998803rj4dOnSQr6+v23o2b96s33//vUzUWJpsqzMzM1NVqlQpszVu3bpVixYtUseOHT2q0YY6ly9frtmzZ2vChAke12ZLjZLUvXt3BQcHq127dvr000/LXJ2fffaZ6tatq/nz56tOnTqKiIjQgAEDdOjQoTJT45neeustXXPNNWrfvr1HNV7udUZHR8vLy0vTpk1Tbm6uMjMz9d5776lz587y8fEpdo1WBJcDBw4oNzfX9WcF8oWEhCg9Pb3QedLT08/aP//fc/UJDg52u9/b21tVqlRx61PYMk5fh+01liab6pw1a5a+++4719/hKi4bamzbtq38/Px09dVXq3379nruuec8qlG6vOs8ePCg+vbtq+Tk5PP6i72Xc43+/v4aN26cZs+erQULFqhdu3aKj48vUXi5nOvcvn27du3apdmzZ+vdd99VcnKy1q5dq549e5aZGk93/PhxffDBB+rfv78H1f3lcq6zTp06WrJkiZ566ik5nU5VqlRJv/zyi2bNmuVRjVYEF+BiW7Fihfr166f//Oc/atKkyaUeTqmbOXOm1q1bp+nTp2vBggUaO3bspR5SqRo4cKDuuecedejQ4VIP5YKpWrWqhgwZopiYGLVs2VKjR4/W3//+d40ZM+ZSD61U5eXlKScnR++++67at2+vTp066e2339aKFSu0efPmSz28UjdnzhwdOXJEiYmJl3oopS49PV0DBw5UYmKivvvuO61atUq+vr7q2bOnjAd/fciK4FK1alWVK1dOGRkZbu0ZGRkKDQ0tdJ7Q0NCz9s//91x99u3b53b/qVOndOjQIbc+hS3j9HXYXmNpsqHOVatW6bbbbtO///1vJSQkeFihHTWGh4ercePG6t27t0aPHq1Ro0YpNze3zNS5fPlyjR07Vt7e3vL29lb//v2VmZkpb29vTZ06tUzUWJiYmBht3bq1GJW5u5zrDAsLk7e3t6655hpXn0aNGkn684/6loUaT/fWW2+pW7duBfZuFNflXOeECRMUFBSkV155RVFRUerQoYPef/99LVu2zKNTE6wILr6+voqOjtayZctcbXl5eVq2bJnatGlT6Dxt2rRx6y9JKSkprv516tRRaGioW5+srCx98803rj5t2rTR4cOHtXbtWlef5cuXKy8vTzExMa4+q1evdrucNCUlRQ0aNFDlypXLRI2l6XKvc+XKlYqLi9PLL7+s++67r0zWeKa8vDydPHlSeXl5ZabO1NRUpaWluabnnntOAQEBSktL09/+9rcyUWNh0tLSFBYWVuz6bKjz+uuv16lTp7Rt2zZXn//973+SpNq1a5eJGvPt2LFDK1asKPFhosu9zmPHjsnLyz12lCtXzjXGYiv2abyX2IwZM4zT6TTJyclm06ZN5r777jOVKlUy6enpxhhj/vGPf5ihQ4e6+n/55ZfG29vbjB071vz0009m5MiRhV7eValSJTNv3jzzww8/mB49ehR6eVdUVJT55ptvzBdffGGuvvpqt8u7Dh8+bEJCQsw//vEPs2HDBjNjxgxToUKFEl8OfTnWaIwxGzduNOvXrze33Xab6dSpk1m/fn2Jr2a4XOtcvny5qVChghk2bJjbZYkHDx4sMzW+//77ZubMmWbTpk1m27ZtZubMmaZ69eqmT58+Htd4Odd5pvO5quhyrTE5OdlMnz7d/PTTT+ann34yL774ovHy8jJTp04tU3Xm5uaa6667znTo0MGsW7fOrFmzxsTExJibb765zNSYb/jw4aZ69erm1KlTHtdmQ53Lli0zDofDPPvss+Z///ufWbt2rYmNjTW1a9c2x44dK3Z91gQXY4x5/fXXTa1atYyvr69p1aqV+frrr133dezYscA177NmzTLXXHON8fX1NU2aNDELFixwuz8vL88888wzJiQkxDidTnPTTTeZzZs3u/U5ePCg6d27t/H39zeBgYGmX79+5siRI259vv/+e9OuXTvjdDpNjRo1zOjRo8tcjbVr1zaSCkxlqc7ExMRCa+zYsWOZqXHGjBnmuuuuM/7+/qZixYqmcePG5qWXXnJ78ykLdZ7pfILL5VpjcnKyadSokalQoYIJDAw0rVq1MrNnzy5xjZdrncYY8+uvv5rbb7/d+Pv7m5CQENO3b98SfaG4nGvMzc01NWvWNE899VSJ6rKlzg8//NBERUWZihUrmmrVqpnu3bubn376yaPaHMZ4cEYMAADAJWTFOS4AAAASwQUAAFiE4AIAAKxBcAEAANYguAAAAGsQXAAAgDUILgAAwBoEFwAAYA2CCwAAsAbBBQAAWIPgAgAArPH/AQ68XWyK+m6iAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGzCAYAAAD9pBdvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA1D0lEQVR4nO3de1xVVf7/8fcB4eANtFBARFEn05TEwWS8ZRZJaTp+J5OyETQzK7tJTmleyDRxMh2bxKwmL9NXR8qy6aEOXlC/jSONk8pMaTqZmlaCkgmGCQrr90c/Th4B5SCwgl7Px+M8HrLO2nt/9uJsz5u99zrHYYwxAgAAsMTLdgEAAODnjTACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowUscdPnxYDodDS5curdbtPPvss3I4HBXq63A49Oyzz1bJdqtyXZ4KDw/XyJEjrWy7pn6vdUV2draGDh2qq6++Wg6HQ/Pnz7dd0k/e+fPn9dRTTyksLExeXl4aMmSI7ZKqzNKlS+VwOHT48GHbpeD/I4zUYiUH1EcffWS7FFSBWbNm6b333rNdxhUreV2W9cjKyirV//3339cvf/lL+fn5qVWrVkpKStL58+ertKbx48dr/fr1mjRpkt58803ddtttWrduXY0H2RUrVtSaILR48WLNmTNHQ4cO1bJlyzR+/HjbJXmsrhxTPwf1bBeA6tW6dWt9//338vHxqdbtTJkyRRMnTqzWbdR1s2bN0tChQ+vMX6DPPfec2rRp49bWpEkTt5//9re/aciQIbrpppv08ssv6+OPP9bMmTN1/PhxvfLKK1VWy+bNm/XrX/9aEyZMcLUtWLBAKSkpNRpIVqxYoU8++URPPPFEjW2zsjZv3qzQ0FD94Q9/sF1KpZV3TI0YMUJ33323nE6nncJQCmGkjnM4HPLz86v27dSrV0/16vFywo9uv/12devW7ZJ9JkyYoOuvv14bNmxwvX78/f01a9YsPf744+rQoUOV1HL8+PFSQag6GGN09uxZ1a9f/4rXdfbsWfn6+srLy84J7Koes+LiYhUWFtbI/0eX4+3tLW9vb9tl4AJcpqnjyru34L333lPnzp3l5+enzp07a/Xq1Ro5cqTCw8NdfbZu3SqHw6GtW7dedp1l3TNSUFCg8ePHq1mzZmrcuLEGDx6sL7/8ssK1nz17Vs8++6zat28vPz8/hYSE6De/+Y0+//zzSy63e/du3X777fL391ejRo10yy236MMPP3TrU949LmVdSzbGaObMmWrZsqUaNGigfv36ac+ePRXejxdffFE9e/bU1Vdfrfr16ysqKkqrVq1y6+NwOJSfn69ly5a5LmlU5n6Uffv2aejQobrqqqvk5+enbt266f3333c9/9FHH8nhcGjZsmWlll2/fr0cDofWrFnj8XbLc/r0aRUVFZX53N69e7V371498MADbkH24YcfljGm1Bhd7OTJk5owYYIiIiLUqFEj+fv76/bbb9e///1vV5+S36cxRikpKW5jm5KSIklul5FKFBcXa/78+erUqZP8/PwUFBSksWPH6ttvv3WrITw8XHfccYfWr1+vbt26qX79+nr11VfLrPemm27S2rVr9cUXX7i2V3K8lRxrK1eu1JQpUxQaGqoGDRooLy+vQvt54TreeustPf/882rZsqX8/Px0yy236MCBA259P/vsM915550KDg6Wn5+fWrZsqbvvvlu5ubmu43vLli3as2ePq9aS/wfy8/P15JNPKiwsTE6nU9dee61efPFFXfwF8A6HQ4888oiWL1+uTp06yel0Ki0tzfU72bZtmx577DE1a9ZMTZo00dixY1VYWKhTp04pPj5eTZs2VdOmTfXUU0+VWveVHlPl3TOycOFCV60tWrTQuHHjdOrUqVK/x86dO2vv3r3q16+fGjRooNDQUL3wwgtl/t5RMfwp+zO0YcMG3XnnnbruuuuUnJysb775RqNGjVLLli2rdDv333+//vd//1fDhw9Xz549tXnzZg0cOLBCyxYVFemOO+5Qenq67r77bj3++OM6ffq0Nm7cqE8++UTt2rUrc7k9e/aoT58+8vf311NPPSUfHx+9+uqruummm/R///d/io6O9ng/pk2bppkzZ2rAgAEaMGCAdu3apf79+6uwsLBCy7/00ksaPHiw7r33XhUWFmrlypW66667tGbNGtd4vPnmm7r//vvVvXt3PfDAA5JU7j6WZ8+ePerVq5dCQ0M1ceJENWzYUG+99ZaGDBmid955R//zP/+jbt26qW3btnrrrbeUkJDgtnxqaqqaNm2q2NhYSdK5c+eUm5tboW1fddVVpf6C79evn7777jv5+voqNjZWc+fO1TXXXON6fvfu3ZJU6uxJixYt1LJlS9fz5Tl48KDee+893XXXXWrTpo2ys7P16quvqm/fvtq7d69atGihG2+8UW+++aZGjBihW2+9VfHx8ZJ+GNuvv/5aGzdu1Jtvvllq3WPHjtXSpUs1atQoPfbYYzp06JAWLFig3bt36x//+IfbZc/9+/frnnvu0dixYzVmzBhde+21ZdY7efJk5ebm6ssvv3Rd+mjUqJFbnxkzZsjX11cTJkxQQUGBfH19tXfv3svu54Vmz54tLy8vTZgwQbm5uXrhhRd077336p///KckqbCwULGxsSooKNCjjz6q4OBgffXVV1qzZo1OnTqlZs2a6c0339Tzzz+v7777TsnJyZKkjh07yhijwYMHa8uWLRo9erQiIyO1fv16/e53v9NXX31V6pLO5s2b9dZbb+mRRx5RYGCgwsPDlZmZKUmubU+fPl0ffvihXnvtNTVp0kTbt29Xq1atNGvWLK1bt05z5sxR586dXb87qXqOqWeffVbTp09XTEyMHnroIe3fv1+vvPKK/vWvf5X6nX/77be67bbb9Jvf/EbDhg3TqlWr9PTTTysiIkK33357udvAJRjUWkuWLDGSzL/+9a9y+xw6dMhIMkuWLHG1RUZGmpCQEHPq1ClX24YNG4wk07p1a1fbli1bjCSzZcuWy64zKSnJXPhyyszMNJLMww8/7Lbs8OHDjSSTlJR0yX1bvHixkWTmzZtX6rni4mLXvy9e15AhQ4yvr6/5/PPPXW1ff/21ady4sbnxxhvLrbdEyZgeOnTIGGPM8ePHja+vrxk4cKDbdp955hkjySQkJFxyP4wx5syZM24/FxYWms6dO5ubb77Zrb1hw4YVWp8xZf8ObrnlFhMREWHOnj3raisuLjY9e/Y011xzjatt0qRJxsfHx5w8edLVVlBQYJo0aWLuu+8+V1vJ778ij5LxMsaY1NRUM3LkSLNs2TKzevVqM2XKFNOgQQMTGBhojhw54uo3Z84cI8mtrcQNN9xgfvWrX11yDM6ePWuKiopKjYvT6TTPPfecW7skM27cOLe2cePGlfka+Pvf/24kmeXLl7u1p6WllWpv3bq1kWTS0tIuWWuJgQMHuh1jJUrGum3btqVeLxXdz5J1dOzY0RQUFLjaX3rpJSPJfPzxx8YYY3bv3m0kmbfffvuStfbt29d06tTJre29994zkszMmTPd2ocOHWocDoc5cOCAq02S8fLyMnv27HHrW3KMxcbGuh1TPXr0MA6Hwzz44IOutvPnz5uWLVuavn37uq3jSo+p8o7z/v37u431ggULjCSzePFit3GRZP785z+72goKCkxwcLC58847S20LFcNlmp+ZY8eOKTMzUwkJCQoICHC133rrrbruuuuqbDvr1q2TJD322GNu7RW9ce+dd95RYGCgHn300VLPlTeFuKioSBs2bNCQIUPUtm1bV3tISIiGDx+ubdu2KS8vr4J78INNmzapsLBQjz76qNt2PbkB8cL7B7799lvl5uaqT58+2rVrl0e1XMrJkye1efNmDRs2TKdPn1ZOTo5ycnL0zTffKDY2Vp999pm++uorSVJcXJzOnTund99917X8hg0bdOrUKcXFxbnaunTpoo0bN1boERwc7Fpu2LBhWrJkieLj4zVkyBDNmDFD69ev1zfffKPnn3/e1e/777+XpDJvIvTz83M9Xx6n0+k6G1NUVKRvvvlGjRo10rXXXntFY/v2228rICBAt956q2scc3JyFBUVpUaNGmnLli1u/du0aeM6m3SlEhISSt1v4ul+jho1Sr6+vq6f+/TpI+mHM0mSXMf9+vXrdebMGY/qW7dunby9vUsd108++aSMMfrb3/7m1t63b99y/18ZPXq02zEVHR0tY4xGjx7tavP29la3bt1ctZeo6mOq5Dh/4okn3M7wjRkzRv7+/lq7dq1b/0aNGum3v/2t62dfX1917969VJ2ouFp1meaDDz7QnDlztHPnTh07dkyrV6/2aOZByWm4izVo0ED5+flVWOlP1xdffCFJbqfLS1zpf+IXb8fLy6vUadHyTmFf7PPPP9e1117r0U2xJ06c0JkzZ8rcRseOHVVcXKyjR4+qU6dOFV5neePVrFkzNW3atELrWLNmjWbOnKnMzEwVFBS42iv6uSwVceDAARljNHXqVE2dOrXMPsePH1doaKi6dOmiDh06KDU11fUff2pqqgIDA3XzzTe7+jdt2lQxMTFVUl/v3r0VHR2tTZs2udpK3lAuHJMSFbkJtLi4WC+99JIWLlyoQ4cOud2bcvXVV1e61s8++0y5ublq3rx5mc8fP37c7eeLZwxdibLW5el+tmrVyu3nktdpyf0ubdq0UWJioubNm6fly5erT58+Gjx4sH7729+6/YFSli+++EItWrRQ48aN3do7duzoev5y+1NenSXbDgsLK9V+8b06VX1MldR98f8dvr6+atu2ban9atmyZaltNW3aVP/5z38qtX3UsjCSn5+vLl266L777tNvfvMbj5efMGGCHnzwQbe2W265RTfccENVlVinXOoMRG1XU/v297//XYMHD9aNN96ohQsXKiQkRD4+PlqyZIlWrFhRZdspLi6W9MNrvLy/0n/xi1+4/h0XF6fnn39eOTk5aty4sd5//33dc889buGvsLBQJ0+erND2mzVrdtnZCWFhYdq/f7/r55CQEEk/nK27+A3o2LFj6t69+yXXN2vWLE2dOlX33XefZsyY4bpv5YknnnCNR2UUFxerefPmWr58eZnPN2vWzO3nqpg5c6l1ebqf5f0ezAU3gc6dO1cjR47UX//6V23YsEGPPfaYkpOT9eGHH1bpvWOXGpvy6iyr/cLaa+qYupSKjDE8U6vCyO23337Jm4MKCgo0efJk/eUvf9GpU6fUuXNn/f73v9dNN90k6YdTaxfeMPbvf/9be/fu1aJFi6q79J+M1q1bS/rhr7+LXfhGIf34F9XFd5Nf/FdCedspLi52neEobxvladeunf75z3/q3LlzFf6MlGbNmqlBgwZlbmPfvn3y8vJyvelduG8XTl+8eN8uHK8LL/2cOHGi1F9rZXnnnXfk5+en9evXu12OWLJkSam+V3KmpKQ2Hx+fCp3NiIuL0/Tp0/XOO+8oKChIeXl5uvvuu936bN++Xf369avQ9g8dOuQ2E6ssBw8edHsjj4yMlPTDDJ8Lg8fXX3+tL7/80nXTYXlWrVqlfv366Y033nBrP3XqlAIDAy9bc3nj3a5dO23atEm9evWq0qBxqW1eypXuZ3kiIiIUERGhKVOmaPv27erVq5cWLVqkmTNnlrtM69attWnTJp0+fdrt7Mi+fftcz1e36jimSurev3+/23FeWFioQ4cOVdkZQpSvTt0z8sgjjygjI0MrV67Uf/7zH91111267bbbynzjlaQ//elPat++veua6s9BSEiIIiMjtWzZMreZEhs3btTevXvd+rZu3Vre3t764IMP3NoXLlx42e2UhMY//vGPbu0V/fTJO++8Uzk5OVqwYEGp58r768Pb21v9+/fXX//6V7cpe9nZ2VqxYoV69+4tf39/ST/eVX/hvpVMA7xQTEyMfHx89PLLL7ttt6L74e3tLYfD4XbG5fDhw2V+KmTDhg1LBb+Kat68uW666Sa9+uqrOnbsWKnnT5w44fZzx44dFRERodTUVKWmpiokJEQ33nijW5/K3jNy8bakH+412Llzp2677TZXW6dOndShQwe99tprbuPzyiuvyOFwaOjQoZfcZ29v71Kvhbffftt1b8zlNGzYUFLpsD1s2DAVFRVpxowZpZY5f/58pX9HJdus6AylEle6nxfLy8sr9Qm3ERER8vLyKvOS2YUGDBigoqKiUsflH/7wBzkcjhqZSVIdx1RMTIx8fX31xz/+0W2s33jjDeXm5lZ4FiAqr1adGbmUI0eOaMmSJTpy5IhrqtuECROUlpamJUuWaNasWW79z549q+XLl9eJTw1dvHix0tLSSrU//vjjZfZPTk7WwIED1bt3b9133306efKkXn75ZXXq1Enfffedq19AQIDuuusuvfzyy3I4HGrXrp3WrFlT6pp5WSIjI3XPPfdo4cKFys3NVc+ePZWenl7q8w7KEx8frz//+c9KTEzUjh071KdPH+Xn52vTpk16+OGH9etf/7rM5WbOnKmNGzeqd+/eevjhh1WvXj29+uqrKigocPscgP79+6tVq1YaPXq0fve738nb21uLFy9Ws2bNdOTIEVe/Zs2aacKECUpOTtYdd9yhAQMGaPfu3frb3/5Wob9KBw4cqHnz5um2227T8OHDdfz4caWkpOgXv/hFqevLUVFR2rRpk+bNm6cWLVqoTZs2Hk1FTklJUe/evRUREaExY8aobdu2ys7OVkZGhr788stSn0sRFxenadOmyc/PT6NHjy41Nbey94z07NlTXbt2Vbdu3RQQEKBdu3Zp8eLFCgsL0zPPPOPWd86cORo8eLD69++vu+++W5988okWLFig+++/33UfQnnuuOMOPffccxo1apR69uypjz/+WMuXL3f7y/ZSoqKiJP1wk3VsbKy8vb119913q2/fvho7dqySk5OVmZmp/v37y8fHR5999pnefvttvfTSS5cNSpfaZmpqqhITE3XDDTeoUaNGGjRoULXu58U2b96sRx55RHfddZfat2+v8+fP680335S3t7fuvPPOSy47aNAg9evXT5MnT9bhw4fVpUsXbdiwQX/961/1xBNPeDwdvTKq45hq1qyZJk2apOnTp+u2227T4MGDtX//fi1cuFA33HCD282qqCaWZvFcMUlm9erVrp/XrFljJJmGDRu6PerVq2eGDRtWavkVK1aYevXqmaysrBqsumqVTE8r73H06NEyp4AaY8w777xjOnbsaJxOp7nuuuvMu+++axISEkpNOzxx4oS58847TYMGDUzTpk3N2LFjzSeffHLZqb3GGPP999+bxx57zFx99dWmYcOGZtCgQebo0aMVmtprzA/T9yZPnmzatGljfHx8THBwsBk6dKjbtN2y1rVr1y4TGxtrGjVqZBo0aGD69etntm/fXmr9O3fuNNHR0cbX19e0atXKzJs3r9SUP2OMKSoqMtOnTzchISGmfv365qabbjKffPKJad26dYWm4r7xxhvmmmuuMU6n03To0MEsWbKkzPHat2+fufHGG039+vUvO224vN/r559/buLj401wcLDx8fExoaGh5o477jCrVq0qtY7PPvvM9VrZtm3bZfejoiZPnmwiIyNNQECA8fHxMa1atTIPPfRQucfa6tWrTWRkpHE6naZly5ZmypQpprCw8LLbOXv2rHnyySddv5devXqZjIwM07dv31JTQVXG1N7z58+bRx991DRr1sw4HI5Sv4/XXnvNREVFmfr165vGjRubiIgI89RTT5mvv/7a1ad169Zm4MCBFRwZY7777jszfPhw06RJE7ep9CXTcsuablvR/SxvHRe/Vg4ePGjuu+8+065dO+Pn52euuuoq069fP7Np0ya35cqa2muMMadPnzbjx483LVq0MD4+Puaaa64xc+bMcZuma0zZY25M+R9JUHJMnDhxwq09ISHBNGzY0K3tSo+pso5zY36YytuhQwfj4+NjgoKCzEMPPWS+/fbbCo1LWf9/ouIcxtTOO24cDofbbJrU1FTde++92rNnT6mbixo1auR2Gln64cZVf39/rV69uqZK/skbOXKktm7dyjdZAgBqVJ25TNO1a1cVFRXp+PHjl70H5NChQ9qyZYvbx2QDAAA7alUY+e6779zuOTh06JAyMzN11VVXqX379rr33nsVHx+vuXPnqmvXrjpx4oTS09N1/fXXu92AtHjxYoWEhPCxvQAA/ATUqjDy0UcfuU01TExMlPTDpxYuXbpUS5Ys0cyZM/Xkk0/qq6++UmBgoH71q1/pjjvucC1TXFyspUuXauTIkXxrIwAAPwG19p4RAABQN9SpzxkBAAC1D2EEAABYVSvuGSkuLtbXX3+txo0bV+mXiwEAgOpjjNHp06fVokWLUh+seKFaEUa+/vrrUl+kBQAAaoejR49e8ksYa0UYKflCpqNHj7q+WwQAAPy05eXlKSwszO2LFcvicRj54IMPNGfOHO3cuVPHjh1z+xTU8mzdulWJiYnas2ePwsLCNGXKFI0cObLC2yy5NOPv708YAQCglrncLRYe38Can5+vLl26KCUlpUL9Dx06pIEDB6pfv37KzMzUE088ofvvv1/r16/3dNMAAKAO8vjMyO233+7RJ5cuWrRIbdq00dy5cyX98NXl27Zt0x/+8AfFxsZ6unkAAFDHVPvU3oyMjFJfQx4bG6uMjIxylykoKFBeXp7bAwAA1E3VHkaysrIUFBTk1hYUFKS8vDx9//33ZS6TnJysgIAA14OZNAAA1F0/yQ89mzRpknJzc12Po0eP2i4JAABUk2qf2hscHKzs7Gy3tuzsbPn7+6t+/fplLuN0OuV0Oqu7NAAA8BNQ7WdGevToofT0dLe2jRs3qkePHtW9aQAAUAt4HEa+++47ZWZmKjMzU9IPU3czMzN15MgRST9cYomPj3f1f/DBB3Xw4EE99dRT2rdvnxYuXKi33npL48ePr5o9AAAAtZrHYeSjjz5S165d1bVrV0lSYmKiunbtqmnTpkmSjh075gomktSmTRutXbtWGzduVJcuXTR37lz96U9/YlovAACQJDmMMcZ2EZeTl5engIAA5ebm8gmsAADUEhV9//5JzqYBAAA/H4QRAABgFWEEAABYRRgBAABWVfuHnv3UhU9ca7sEjx2ePdB2CQAAVBnOjAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrKhVGUlJSFB4eLj8/P0VHR2vHjh2X7D9//nxde+21ql+/vsLCwjR+/HidPXu2UgUDAIC6xeMwkpqaqsTERCUlJWnXrl3q0qWLYmNjdfz48TL7r1ixQhMnTlRSUpI+/fRTvfHGG0pNTdUzzzxzxcUDAIDaz+MwMm/ePI0ZM0ajRo3Sddddp0WLFqlBgwZavHhxmf23b9+uXr16afjw4QoPD1f//v11zz33XPZsCgAA+HnwKIwUFhZq586diomJ+XEFXl6KiYlRRkZGmcv07NlTO3fudIWPgwcPat26dRowYEC52ykoKFBeXp7bAwAA1E31POmck5OjoqIiBQUFubUHBQVp3759ZS4zfPhw5eTkqHfv3jLG6Pz583rwwQcveZkmOTlZ06dP96Q0AABQS1X7bJqtW7dq1qxZWrhwoXbt2qV3331Xa9eu1YwZM8pdZtKkScrNzXU9jh49Wt1lAgAASzw6MxIYGChvb29lZ2e7tWdnZys4OLjMZaZOnaoRI0bo/vvvlyRFREQoPz9fDzzwgCZPniwvr9J5yOl0yul0elIaAACopTw6M+Lr66uoqCilp6e72oqLi5Wenq4ePXqUucyZM2dKBQ5vb29JkjHG03oBAEAd49GZEUlKTExUQkKCunXrpu7du2v+/PnKz8/XqFGjJEnx8fEKDQ1VcnKyJGnQoEGaN2+eunbtqujoaB04cEBTp07VoEGDXKEEAAD8fHkcRuLi4nTixAlNmzZNWVlZioyMVFpamuum1iNHjridCZkyZYocDoemTJmir776Ss2aNdOgQYP0/PPPV91eAACAWsthasG1kry8PAUEBCg3N1f+/v5Vuu7wiWurdH014fDsgbZLAADgsir6/s130wAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADA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63n8OSM28DkjAABUn1r1OSMAAABVjTACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwqlJhJCUlReHh4fLz81N0dLR27Nhxyf5vv/22OnToID8/P0VERGjdunWVKhYAANQ9HoeR1NRUJSYmKikpSbt27VKXLl0UGxur48ePl9l/+/btuueeezR69Gjt3r1bQ4YM0ZAhQ/TJJ59ccfEAAKD2cxhjjCcLREdH64YbbtCCBQskScXFxQoLC9Ojjz6qiRMnluofFxen/Px8rVmzxtX2q1/9SpGRkVq0aFGFtpmXl6eAgADl5ubK39/fk3IvK3zi2ipdHwAAtc3h2QOrZb0Vff+u58lKCwsLtXPnTk2aNMnV5uXlpZiYGGVkZJS5TEZGhhITE93aYmNj9d5775W7nYKCAhUUFLh+zs3NlfTDTlW14oIzVb5OAABqk+p4f71wvZc77+FRGMnJyVFRUZGCgoLc2oOCgrRv374yl8nKyiqzf1ZWVrnbSU5O1vTp00u1h4WFeVIuAACogID51bv+06dPKyAgoNznPQojNWXSpEluZ1OKi4t18uRJXX311XI4HFW2nby8PIWFheno0aNVfvkHP2Kcaw5jXTMY55rBONeM6hxnY4xOnz6tFi1aXLKfR2EkMDBQ3t7eys7OdmvPzs5WcHBwmcsEBwd71F+SnE6nnE6nW1uTJk08KdUj/v7+vNBrAONccxjrmsE41wzGuWZU1zhf6oxICY9m0/j6+ioqKkrp6emutuLiYqWnp6tHjx5lLtOjRw+3/pK0cePGcvsDAICfF48v0yQmJiohIUHdunVT9+7dNX/+fOXn52vUqFGSpPj4eIWGhio5OVmS9Pjjj6tv376aO3euBg4cqJUrV+qjjz7Sa6+9VrV7AgAAaiWPw0hcXJxOnDihadOmKSsrS5GRkUpLS3PdpHrkyBF5ef14wqVnz55asWKFpkyZomeeeUbXXHON3nvvPXXu3Lnq9qKSnE6nkpKSSl0SQtVinGsOY10zGOeawTjXjJ/COHv8OSMAAABVie+mAQAAVhFGAACAVYQRAABgFWEEAABYRRgBAABW1fkwkpKSovDwcPn5+Sk6Olo7duy4ZP+3335bHTp0kJ+fnyIiIrRu3boaqrR282ScX3/9dfXp00dNmzZV06ZNFRMTc9nfC37k6Wu6xMqVK+VwODRkyJDqLbCO8HScT506pXHjxikkJEROp1Pt27fn/48K8HSc58+fr2uvvVb169dXWFiYxo8fr7Nnz9ZQtbXTBx98oEGDBqlFixZyOByX/KLaElu3btUvf/lLOZ1O/eIXv9DSpUurt0hTh61cudL4+vqaxYsXmz179pgxY8aYJk2amOzs7DL7/+Mf/zDe3t7mhRdeMHv37jVTpkwxPj4+5uOPP67hymsXT8d5+PDhJiUlxezevdt8+umnZuTIkSYgIMB8+eWXNVx57ePpWJc4dOiQCQ0NNX369DG//vWva6bYWszTcS4oKDDdunUzAwYMMNu2bTOHDh0yW7duNZmZmTVcee3i6TgvX77cOJ1Os3z5cnPo0CGzfv16ExISYsaPH1/Dldcu69atM5MnTzbvvvuukWRWr159yf4HDx40DRo0MImJiWbv3r3m5ZdfNt7e3iYtLa3aaqzTYaR79+5m3Lhxrp+LiopMixYtTHJycpn9hw0bZgYOHOjWFh0dbcaOHVutddZ2no7zxc6fP28aN25sli1bVl0l1hmVGevz58+bnj17mj/96U8mISGBMFIBno7zK6+8Ytq2bWsKCwtrqsQ6wdNxHjdunLn55pvd2hITE02vXr2qtc66pCJh5KmnnjKdOnVya4uLizOxsbHVVledvUxTWFionTt3KiYmxtXm5eWlmJgYZWRklLlMRkaGW39Jio2NLbc/KjfOFztz5ozOnTunq666qrrKrBMqO9bPPfecmjdvrtGjR9dEmbVeZcb5/fffV48ePTRu3DgFBQWpc+fOmjVrloqKimqq7FqnMuPcs2dP7dy503Up5+DBg1q3bp0GDBhQIzX/XNh4L/T44+Bri5ycHBUVFbk+pr5EUFCQ9u3bV+YyWVlZZfbPysqqtjpru8qM88WefvpptWjRotSLH+4qM9bbtm3TG2+8oczMzBqosG6ozDgfPHhQmzdv1r333qt169bpwIEDevjhh3Xu3DklJSXVRNm1TmXGefjw4crJyVHv3r1ljNH58+f14IMP6plnnqmJkn82ynsvzMvL0/fff6/69etX+Tbr7JkR1A6zZ8/WypUrtXr1avn5+dkup045ffq0RowYoddff12BgYG2y6nTiouL1bx5c7322muKiopSXFycJk+erEWLFtkurU7ZunWrZs2apYULF2rXrl169913tXbtWs2YMcN2abhCdfbMSGBgoLy9vZWdne3Wnp2dreDg4DKXCQ4O9qg/KjfOJV588UXNnj1bmzZt0vXXX1+dZdYJno71559/rsOHD2vQoEGutuLiYklSvXr1tH//frVr1656i66FKvOaDgkJkY+Pj7y9vV1tHTt2VFZWlgoLC+Xr61utNddGlRnnqVOnasSIEbr//vslSREREcrPz9cDDzygyZMnu31JKyqvvPdCf3//ajkrItXhMyO+vr6KiopSenq6q624uFjp6enq0aNHmcv06NHDrb8kbdy4sdz+qNw4S9ILL7ygGTNmKC0tTd26dauJUms9T8e6Q4cO+vjjj5WZmel6DB48WP369VNmZqbCwsJqsvxaozKv6V69eunAgQOusCdJ//3vfxUSEkIQKUdlxvnMmTOlAkdJADR852uVsfJeWG23xv4ErFy50jidTrN06VKzd+9e88ADD5gmTZqYrKwsY4wxI0aMMBMnTnT1/8c//mHq1atnXnzxRfPpp5+apKQkpvZWgKfjPHv2bOPr62tWrVpljh075nqcPn3a1i7UGp6O9cWYTVMxno7zkSNHTOPGjc0jjzxi9u/fb9asWWOaN29uZs6caWsXagVPxzkpKck0btzY/OUvfzEHDx40GzZsMO3atTPDhg2ztQu1wunTp83u3bvN7t27jSQzb948s3v3bvPFF18YY4yZOHGiGTFihKt/ydTe3/3ud+bTTz81KSkpTO29Ui+//LJp1aqV8fX1Nd27dzcffvih67m+ffuahIQEt/5vvfWWad++vfH19TWdOnUya9eureGKaydPxrl169ZGUqlHUlJSzRdeC3n6mr4QYaTiPB3n7du3m+joaON0Ok3btm3N888/b86fP1/DVdc+nozzuXPnzLPPPmvatWtn/Pz8TFhYmHn44YfNt99+W/OF1yJbtmwp8//ckrFNSEgwffv2LbVMZGSk8fX1NW3btjVLliyp1hodxnBuCwAA2FNn7xkBAAC1A2EEAABYRRgBAABWEUYAAIBVhBEAAGAVYQQAAFhFGAEAAFYRRgAAgFWEEQAAYBVhBAAAWEUYAQAAVv0/WpHcs+z6HfsAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# take liquid cloud at level 50 for example\n", + "qc = xin_liquid[:,50]\n", + "qc_trans = 1 - np.exp(-qc * lbd_qc[50])\n", + "plt.hist(qc)\n", + "plt.title(f'Liquid cloud at lev=50 before transformation')\n", + "plt.show()\n", + "\n", + "plt.hist(qc_trans)\n", + "plt.title(f'Liquid cloud at lev=50 after transformation')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cf879306-d768-4bcd-a3ed-ec71f3e30836", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "climsim", + "language": "python", + "name": "climsim" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/data_preparation/normalization/input_scaling.ipynb b/online_testing/data_preparation/normalization/input_scaling.ipynb new file mode 100644 index 0000000..e069e1e --- /dev/null +++ b/online_testing/data_preparation/normalization/input_scaling.ipynb @@ -0,0 +1,574 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "76d6d067-612e-4293-8f34-a66fb3d8b18e", + "metadata": {}, + "source": [ + "# Input normalization" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "6f803c16-a034-43d3-ac2a-88cab743826f", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import os\n", + "import glob\n", + "import xarray as xr\n", + "import numpy as np\n", + "from IPython.display import display, Latex" + ] + }, + { + "cell_type": "markdown", + "id": "a1be16c8-f1f5-4c0e-85d8-844bb096450f", + "metadata": {}, + "source": [ + "Here we will built upon the input scaling files provided by the existing input_mean/max/min.nc. And we will use the output_scale_std_nopenalty.nc which calculates the st.d. of each level for each output variable (see the other output scaling notebook for details)." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ad1f8ff4-58ef-46aa-a46e-db1cc4e1e641", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "path = '/global/homes/z/zeyuanhu/nvidia_codes/Climsim_private/preprocessing/normalizations/'\n", + "\n", + "dsm = xr.open_dataset(path+'inputs/input_mean.nc')\n", + "dsa = xr.open_dataset(path+'inputs/input_max.nc')\n", + "dsi = xr.open_dataset(path+'inputs/input_min.nc')\n", + "dso = xr.open_dataset(path+'outputs/output_scale_std_nopenalty.nc')" + ] + }, + { + "cell_type": "markdown", + "id": "04968940-f5bf-4a79-b2a4-23e4f6ce5093", + "metadata": {}, + "source": [ + "Below is the list of input features that will be used in the v5 Unet, which only use and predict total cloud (liquid+ice) information. We will modify/expand the original input scaling files according to the normalization method listed below. For variables using (x-mean)/(max-min), we calculate mean,max,min per-level and save as usual. For variables with blank normalization, we simply set mean=0, max=1, min=0. For variables using x/std, we set mean=0, max=1/std, min=0. For variables using x/(max-min), we set mean = 0 and save max/min as usual. For cloud (liquid, ice, and total cloud) input, we have a separate exponential transformation, and we set mean=0, max=1, min=0." + ] + }, + { + "cell_type": "markdown", + "id": "8a1338c8-ad4d-44f4-bff3-2893f5bdee54", + "metadata": { + "tags": [] + }, + "source": [ + "| **Variable** | **Units** | **Description** | **Normalization** |\n", + "|--------------------------------|----------------|-----------------------------------------------|----------------------------|\n", + "| $T(z)$ | K | Temperature | (x-mean)/(max-min) |\n", + "| $RH(z)$ | | Relative humidity | |\n", + "| $liq\\_partition(z)$ | | Fraction of liquid cloud | |\n", + "| $q_n(z)$ | kg/kg | Total cloud (liquid + ice) mixing ratio | 1 - exp(-$\\lambda x$) |\n", + "| $u(z)$ | m/s | Zonal wind | (x-mean)/(max-min) |\n", + "| $v(z)$ | m/s | Meridional wind | (x-mean)/(max-min) |\n", + "| $dT_{adv}(z,t_0,t_{-1})$ | K/s | Large-scale forcing of temperature | x/(max-min) |\n", + "| $dq_{T,adv}(z,t_0,t_{-1})$ | kg/kg/s | Large-scale forcing of total water | x/(max-min) |\n", + "| $du_{adv}(z,t_0,t_{-1})$ | m/s\\textsuperscript{2} | Large-scale forcing of zonal wind | x/(max-min) |\n", + "| $dT(z,t_{-1},t_{-2})$ | K/s | Temperature tendency | x/std |\n", + "| $dq_v(z,t_{-1},t_{-2})$ | kg/kg/s | Water vapor tendency | x/std |\n", + "| $dq_n(z,t_{-1},t_{-2})$ | kg/kg/s | Total cloud tendency | x/std |\n", + "| $du(z,t_{-1},t_{-2})$ | m/s\\textsuperscript{2} | Zonal wind tendency | x/std |\n", + "| O3$(z)$ | mol/mol | Ozone volume mixing ratio | (x-mean)/(max-min) |\n", + "| CH4$(z)$ | mol/mol | Methane volume mixing ratio | (x-mean)/(max-min) |\n", + "| N2O$(z)$ | mol/mol | Nitrous volume mixing ratio | (x-mean)/(max-min) |\n", + "| PS | Pa | Surface pressure | (x-mean)/(max-min) |\n", + "| SOLIN | W/m\\textsuperscript{2} | Solar insolation | x/(max-min) |\n", + "| LHFLX | W/m\\textsuperscript{2} | Surface latent heat flux | x/(max-min) |\n", + "| SHFLX | W/m\\textsuperscript{2} | Surface sensible heat flux | x/(max-min) |\n", + "| TAUX | W/m\\textsuperscript{2} | Zonal surface stress | (x-mean)/(max-min) |\n", + "| TAUY | W/m\\textsuperscript{2} | Meridional surface stress | (x-mean)/(max-min) |\n", + "| COSZRS | | Cosine of solar zenith angle | (x-mean)/(max-min) |\n", + "| ALDIF | | Albedo for diffuse longwave radiation | (x-mean)/(max-min) |\n", + "| ALDIR | | Albedo for direct longwave radiation | (x-mean)/(max-min) |\n", + "| ASDIF | | Albedo for diffuse shortwave radiation | (x-mean)/(max-min) |\n", + "| ASDIR | | Albedo for direct shortwave radiation | (x-mean)/(max-min) |\n", + "| LWUP | W/m\\textsuperscript{2} | Upward longwave flux | (x-mean)/(max-min) |\n", + "| ICEFRAC | | Sea-ice area fraction | |\n", + "| LANDFRAC | | Land area fraction | |\n", + "| OCNFRAC | | Ocean area fraction | |\n", + "| SNOWHLAND | m | Snow depth over land | (x-mean)/(max-min) |\n", + "| cos(lat) | | Cosine of latitude | |\n", + "| sin(lat) | | Sine of latitude | |\n", + "| **Footnote** | | $^{a}$Footnote text here. | |\n" + ] + }, + { + "cell_type": "markdown", + "id": "e427abe8-b2e6-4a05-8a04-26ec65307e07", + "metadata": { + "tags": [] + }, + "source": [ + "## First retrieve the large-scale forcings from the expanded training data and calculate their mean/max/min" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "1f68154d-57a4-4b95-a200-8d9887186867", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "210236" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# get the whole input file list\n", + "base_dir = \"/global/homes/z/zeyuanhu/hugging/E3SM-MMF_ne4/train\"\n", + "nc_files_in = sorted(glob.glob(os.path.join(base_dir, '**/E3SM-MMF.ml2steploc.*.nc'), recursive=True))\n", + "len(nc_files_in)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "6ed6cac8-d6ed-4c85-b9ae-4a07b7019e62", + "metadata": {}, + "outputs": [], + "source": [ + "# we used stride of 5 to sample a total of 40k time steps in our actual work\n", + "# ntime = 40000\n", + "# stride = 5\n", + "\n", + "# below values are used here just as a quick example\n", + "ntime = 500\n", + "stride = 400 \n", + "\n", + "t_dyn_tmp = np.zeros((ntime,60,384))\n", + "u_dyn_tmp = np.zeros((ntime,60,384))\n", + "q0_dyn_tmp = np.zeros((ntime,60,384))\n", + "\n", + "for i in range(ntime):\n", + " ifile = stride*i\n", + " ds = xr.open_dataset(nc_files_in[ifile])\n", + " t_dyn_tmp[i,:,:] = ds['state_t_dyn']\n", + " u_dyn_tmp[i,:,:] = ds['state_u_dyn']\n", + " q0_dyn_tmp[i,:,:] = ds['state_q0_dyn']" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "c30e783a-3c60-4d15-9ce2-5248cfd89581", + "metadata": {}, + "outputs": [], + "source": [ + "t_dyn_mean = dsm['state_t'].copy()\n", + "t_dyn_min = dsa['state_t'].copy()\n", + "t_dyn_max = dsi['state_t'].copy()\n", + "# t_dyn_mean[:] = np.mean(t_dyn_tmp, axis=(0,2))\n", + "t_dyn_mean[:] = 0.0\n", + "t_dyn_min[:] = np.min(t_dyn_tmp, axis=(0,2))\n", + "t_dyn_max[:] = np.max(t_dyn_tmp, axis=(0,2))\n", + "dsm['state_t_dyn'] = t_dyn_mean\n", + "dsa['state_t_dyn'] = t_dyn_min\n", + "dsi['state_t_dyn'] = t_dyn_max\n", + "\n", + "\n", + "u_dyn_mean = dsm['state_t'].copy()\n", + "u_dyn_min = dsa['state_t'].copy()\n", + "u_dyn_max = dsi['state_t'].copy()\n", + "# u_dyn_mean[:] = np.mean(u_dyn_tmp, axis=(0,2))\n", + "u_dyn_mean[:] = 0.0\n", + "u_dyn_min[:] = np.min(u_dyn_tmp, axis=(0,2))\n", + "u_dyn_max[:] = np.max(u_dyn_tmp, axis=(0,2))\n", + "dsm['state_u_dyn'] = u_dyn_mean\n", + "dsa['state_u_dyn'] = u_dyn_min\n", + "dsi['state_u_dyn'] = u_dyn_max\n", + "\n", + "q0_dyn_mean = dsm['state_t'].copy()\n", + "q0_dyn_min = dsa['state_t'].copy()\n", + "q0_dyn_max = dsi['state_t'].copy()\n", + "# q0_dyn_mean[:] = np.mean(q0_dyn_tmp, axis=(0,2))\n", + "q0_dyn_mean[:] = 0.0\n", + "q0_dyn_min[:] = np.min(q0_dyn_tmp, axis=(0,2))\n", + "q0_dyn_max[:] = np.max(q0_dyn_tmp, axis=(0,2))\n", + "dsm['state_q0_dyn'] = q0_dyn_mean\n", + "dsa['state_q0_dyn'] = q0_dyn_min\n", + "dsi['state_q0_dyn'] = q0_dyn_max\n", + "\n", + "tm_state_t_dyn_m = dsm['state_t_dyn'].copy()\n", + "tm_state_t_dyn_a = dsa['state_t_dyn'].copy()\n", + "tm_state_t_dyn_i = dsi['state_t_dyn'].copy()\n", + "tm_state_t_dyn_m[:]= 0.0\n", + "dsm['tm_state_t_dyn'] = tm_state_t_dyn_m\n", + "dsa['tm_state_t_dyn'] = tm_state_t_dyn_a\n", + "dsi['tm_state_t_dyn'] = tm_state_t_dyn_i\n", + "\n", + "tm_state_q0_dyn_m = dsm['state_q0_dyn'].copy()\n", + "tm_state_q0_dyn_a = dsa['state_q0_dyn'].copy()\n", + "tm_state_q0_dyn_i = dsi['state_q0_dyn'].copy()\n", + "tm_state_q0_dyn_m[:]= 0.0\n", + "dsm['tm_state_q0_dyn'] = tm_state_q0_dyn_m\n", + "dsa['tm_state_q0_dyn'] = tm_state_q0_dyn_a\n", + "dsi['tm_state_q0_dyn'] = tm_state_q0_dyn_i\n", + "\n", + "tm_state_u_dyn_m = dsm['state_u_dyn'].copy()\n", + "tm_state_u_dyn_a = dsa['state_u_dyn'].copy()\n", + "tm_state_u_dyn_i = dsi['state_u_dyn'].copy()\n", + "tm_state_u_dyn_m[:]= 0.0\n", + "dsm['tm_state_u_dyn'] = tm_state_u_dyn_m\n", + "dsa['tm_state_u_dyn'] = tm_state_u_dyn_a\n", + "dsi['tm_state_u_dyn'] = tm_state_u_dyn_i" + ] + }, + { + "cell_type": "markdown", + "id": "0181bc00-b302-4ad3-b68d-9c51324f64d7", + "metadata": {}, + "source": [ + "## update the input max/min/mean of other variables based on the defined normalization method listed in the Table above." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "ebc4732d-76b0-4116-9896-233ada319ce3", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "dsm['state_q0002'][:] = 0.0\n", + "dsa['state_q0002'][:] = 1.0\n", + "dsi['state_q0002'][:] = 0.0\n", + "\n", + "dsm['state_q0003'][:] = 0.0\n", + "dsa['state_q0003'][:] = 1.0\n", + "dsi['state_q0003'][:] = 0.0\n", + "\n", + "state_rh_m = dsm['state_t'].copy()\n", + "state_rh_a = dsa['state_t'].copy()\n", + "state_rh_i = dsi['state_t'].copy()\n", + "state_rh_m[:]= 0.0\n", + "state_rh_a[:]= 1.0\n", + "state_rh_i[:]= 0.0\n", + "dsm['state_rh'] = state_rh_m\n", + "dsa['state_rh'] = state_rh_a\n", + "dsi['state_rh'] = state_rh_i\n", + "\n", + "state_qn_m = dsm['state_t'].copy()\n", + "state_qn_a = dsa['state_t'].copy()\n", + "state_qn_i = dsi['state_t'].copy()\n", + "state_qn_m[:]= 0.0\n", + "state_qn_a[:]= 1.0\n", + "state_qn_i[:]= 0.0\n", + "dsm['state_qn'] = state_qn_m\n", + "dsa['state_qn'] = state_qn_a\n", + "dsi['state_qn'] = state_qn_i" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "a05fd4e8-63fb-4e8e-8f13-e87e5c36f88a", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "state_t_prvphy_m = dsm['state_t'].copy()\n", + "state_t_prvphy_a = dsa['state_t'].copy()\n", + "state_t_prvphy_i = dsi['state_t'].copy()\n", + "state_t_prvphy_m[:]= 0.0\n", + "state_t_prvphy_a[:] = 1./dso['ptend_t'] #dso is 1/std, so this is std\n", + "state_t_prvphy_i[:]= 0.0\n", + "dsm['state_t_prvphy'] = state_t_prvphy_m\n", + "dsa['state_t_prvphy'] = state_t_prvphy_a\n", + "dsi['state_t_prvphy'] = state_t_prvphy_i\n", + "\n", + "state_q0001_prvphy_m = dsm['state_q0001'].copy()\n", + "state_q0001_prvphy_a = dsa['state_q0001'].copy()\n", + "state_q0001_prvphy_i = dsi['state_q0001'].copy()\n", + "state_q0001_prvphy_m[:]= 0.0\n", + "state_q0001_prvphy_a[:] = 1./dso['ptend_q0001'] #dso is 1/std, so this is std\n", + "state_q0001_prvphy_i[:]= 0.0\n", + "dsm['state_q0001_prvphy'] = state_q0001_prvphy_m\n", + "dsa['state_q0001_prvphy'] = state_q0001_prvphy_a\n", + "dsi['state_q0001_prvphy'] = state_q0001_prvphy_i\n", + "\n", + "state_qn_prvphy_m = dsm['state_q0001'].copy()\n", + "state_qn_prvphy_a = dsa['state_q0001'].copy()\n", + "state_qn_prvphy_i = dsi['state_q0001'].copy()\n", + "state_qn_prvphy_m[:]= 0.0\n", + "state_qn_prvphy_a[:] = 1./dso['ptend_qn'] #dso is 1/std, so this is std\n", + "state_qn_prvphy_i[:]= 0.0\n", + "dsm['state_qn_prvphy'] = state_qn_prvphy_m\n", + "dsa['state_qn_prvphy'] = state_qn_prvphy_a\n", + "dsi['state_qn_prvphy'] = state_qn_prvphy_i\n", + "\n", + "state_q0002_prvphy_m = dsm['state_q0002'].copy()\n", + "state_q0002_prvphy_a = dsa['state_q0002'].copy()\n", + "state_q0002_prvphy_i = dsi['state_q0002'].copy()\n", + "state_q0002_prvphy_m[:]= 0.0\n", + "state_q0002_prvphy_a[:] = 1./dso['ptend_q0002'] #dso is 1/std, so this is std\n", + "state_q0002_prvphy_i[:]= 0.0\n", + "dsm['state_q0002_prvphy'] = state_q0002_prvphy_m\n", + "dsa['state_q0002_prvphy'] = state_q0002_prvphy_a\n", + "dsi['state_q0002_prvphy'] = state_q0002_prvphy_i\n", + "\n", + "state_q0003_prvphy_m = dsm['state_q0003'].copy()\n", + "state_q0003_prvphy_a = dsa['state_q0003'].copy()\n", + "state_q0003_prvphy_i = dsi['state_q0003'].copy()\n", + "state_q0003_prvphy_m[:]= 0.0\n", + "state_q0003_prvphy_a[:] = 1./dso['ptend_q0003'] #dso is 1/std, so this is std\n", + "state_q0003_prvphy_i[:]= 0.0\n", + "dsm['state_q0003_prvphy'] = state_q0003_prvphy_m\n", + "dsa['state_q0003_prvphy'] = state_q0003_prvphy_a\n", + "dsi['state_q0003_prvphy'] = state_q0003_prvphy_i\n", + "\n", + "state_u_prvphy_m = dsm['state_u'].copy()\n", + "state_u_prvphy_a = dsa['state_u'].copy()\n", + "state_u_prvphy_i = dsi['state_u'].copy()\n", + "state_u_prvphy_m[:]= 0.0\n", + "state_u_prvphy_a[:] = 1./dso['ptend_u'] #dso is 1/std, so this is std\n", + "state_u_prvphy_i[:]= 0.0\n", + "dsm['state_u_prvphy'] = state_u_prvphy_m\n", + "dsa['state_u_prvphy'] = state_u_prvphy_a\n", + "dsi['state_u_prvphy'] = state_u_prvphy_i\n", + "\n", + "tm_state_t_prvphy_m = dsm['state_t_prvphy'].copy()\n", + "tm_state_t_prvphy_a = dsa['state_t_prvphy'].copy()\n", + "tm_state_t_prvphy_i = dsi['state_t_prvphy'].copy()\n", + "dsm['tm_state_t_prvphy'] = tm_state_t_prvphy_m\n", + "dsa['tm_state_t_prvphy'] = tm_state_t_prvphy_a\n", + "dsi['tm_state_t_prvphy'] = tm_state_t_prvphy_i\n", + "\n", + "tm_state_q0001_prvphy_m = dsm['state_q0001_prvphy'].copy()\n", + "tm_state_q0001_prvphy_a = dsa['state_q0001_prvphy'].copy()\n", + "tm_state_q0001_prvphy_i = dsi['state_q0001_prvphy'].copy()\n", + "dsm['tm_state_q0001_prvphy'] = tm_state_q0001_prvphy_m\n", + "dsa['tm_state_q0001_prvphy'] = tm_state_q0001_prvphy_a\n", + "dsi['tm_state_q0001_prvphy'] = tm_state_q0001_prvphy_i\n", + "\n", + "tm_state_qn_prvphy_m = dsm['state_qn_prvphy'].copy()\n", + "tm_state_qn_prvphy_a = dsa['state_qn_prvphy'].copy()\n", + "tm_state_qn_prvphy_i = dsi['state_qn_prvphy'].copy()\n", + "dsm['tm_state_qn_prvphy'] = tm_state_qn_prvphy_m\n", + "dsa['tm_state_qn_prvphy'] = tm_state_qn_prvphy_a\n", + "dsi['tm_state_qn_prvphy'] = tm_state_qn_prvphy_i\n", + "\n", + "tm_state_q0002_prvphy_m = dsm['state_q0002_prvphy'].copy()\n", + "tm_state_q0002_prvphy_a = dsa['state_q0002_prvphy'].copy()\n", + "tm_state_q0002_prvphy_i = dsi['state_q0002_prvphy'].copy()\n", + "dsm['tm_state_q0002_prvphy'] = tm_state_q0002_prvphy_m\n", + "dsa['tm_state_q0002_prvphy'] = tm_state_q0002_prvphy_a\n", + "dsi['tm_state_q0002_prvphy'] = tm_state_q0002_prvphy_i\n", + "\n", + "tm_state_q0003_prvphy_m = dsm['state_q0003_prvphy'].copy()\n", + "tm_state_q0003_prvphy_a = dsa['state_q0003_prvphy'].copy()\n", + "tm_state_q0003_prvphy_i = dsi['state_q0003_prvphy'].copy()\n", + "dsm['tm_state_q0003_prvphy'] = tm_state_q0003_prvphy_m\n", + "dsa['tm_state_q0003_prvphy'] = tm_state_q0003_prvphy_a\n", + "dsi['tm_state_q0003_prvphy'] = tm_state_q0003_prvphy_i\n", + "\n", + "tm_state_u_prvphy_m = dsm['state_u_prvphy'].copy()\n", + "tm_state_u_prvphy_a = dsa['state_u_prvphy'].copy()\n", + "tm_state_u_prvphy_i = dsi['state_u_prvphy'].copy()\n", + "dsm['tm_state_u_prvphy'] = tm_state_u_prvphy_m\n", + "dsa['tm_state_u_prvphy'] = tm_state_u_prvphy_a\n", + "dsi['tm_state_u_prvphy'] = tm_state_u_prvphy_i" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "ebb614a1-eb0b-47d5-aa5c-8433f37e8fd6", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# 'pbuf_SOLIN', #range (set 0 mean)\n", + "# 'pbuf_LHFLX', #range (set 0 mean)\n", + "# 'pbuf_SHFLX',#range (set 0 mean)\n", + "\n", + "\n", + "dsm['pbuf_SOLIN'] = 0.0\n", + "dsm['pbuf_LHFLX'] = 0.0\n", + "dsm['pbuf_SHFLX'] = 0.0\n", + "\n", + "# 'cam_in_ICEFRAC', #no change\n", + "# 'cam_in_LANDFRAC', #no change\n", + "# 'cam_in_OCNFRAC', #no change\n", + "\n", + "\n", + "dsm['cam_in_ICEFRAC'] = 0.0\n", + "dsa['cam_in_ICEFRAC'] = 1.0\n", + "dsi['cam_in_ICEFRAC'] = 0.0\n", + "\n", + "dsm['cam_in_LANDFRAC'] = 0.0\n", + "dsa['cam_in_LANDFRAC'] = 1.0\n", + "dsi['cam_in_LANDFRAC'] = 0.0\n", + "\n", + "dsm['cam_in_OCNFRAC'] = 0.0\n", + "dsa['cam_in_OCNFRAC'] = 1.0\n", + "dsi['cam_in_OCNFRAC'] = 0.0" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "717a6dc3-151f-4a69-8f78-da53212566ed", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# 'tm_state_ps',\n", + "# 'tm_pbuf_SOLIN',\n", + "# 'tm_pbuf_LHFLX',\n", + "# 'tm_pbuf_SHFLX',\n", + "# 'tm_pbuf_COSZRS', # no change\n", + "# 'clat', # no change\n", + "# 'slat',# no change\n", + "# 'icol',] # no change\n", + "\n", + "tm_state_ps_m = dsm['state_ps'].copy()\n", + "tm_state_ps_a = dsa['state_ps'].copy()\n", + "tm_state_ps_i = dsi['state_ps'].copy()\n", + "dsm['tm_state_ps'] = tm_state_ps_m\n", + "dsa['tm_state_ps'] = tm_state_ps_a\n", + "dsi['tm_state_ps'] = tm_state_ps_i\n", + "\n", + "tm_pbuf_SOLIN_m = dsm['pbuf_SOLIN'].copy()\n", + "tm_pbuf_SOLIN_a = dsa['pbuf_SOLIN'].copy()\n", + "tm_pbuf_SOLIN_i = dsi['pbuf_SOLIN'].copy()\n", + "dsm['tm_pbuf_SOLIN'] = tm_pbuf_SOLIN_m\n", + "dsa['tm_pbuf_SOLIN'] = tm_pbuf_SOLIN_a\n", + "dsi['tm_pbuf_SOLIN'] = tm_pbuf_SOLIN_i\n", + "\n", + "tm_pbuf_LHFLX_m = dsm['pbuf_LHFLX'].copy()\n", + "tm_pbuf_LHFLX_a = dsa['pbuf_LHFLX'].copy()\n", + "tm_pbuf_LHFLX_i = dsi['pbuf_LHFLX'].copy()\n", + "dsm['tm_pbuf_LHFLX'] = tm_pbuf_LHFLX_m\n", + "dsa['tm_pbuf_LHFLX'] = tm_pbuf_LHFLX_a\n", + "dsi['tm_pbuf_LHFLX'] = tm_pbuf_LHFLX_i\n", + "\n", + "tm_pbuf_SHFLX_m = dsm['pbuf_SHFLX'].copy()\n", + "tm_pbuf_SHFLX_a = dsa['pbuf_SHFLX'].copy()\n", + "tm_pbuf_SHFLX_i = dsi['pbuf_SHFLX'].copy()\n", + "dsm['tm_pbuf_SHFLX'] = tm_pbuf_SHFLX_m\n", + "dsa['tm_pbuf_SHFLX'] = tm_pbuf_SHFLX_a\n", + "dsi['tm_pbuf_SHFLX'] = tm_pbuf_SHFLX_i\n", + "\n", + "tm_pbuf_COSZRS_m = dsm['pbuf_COSZRS'].copy()\n", + "tm_pbuf_COSZRS_a = dsa['pbuf_COSZRS'].copy()\n", + "tm_pbuf_COSZRS_i = dsi['pbuf_COSZRS'].copy()\n", + "dsm['tm_pbuf_COSZRS'] = tm_pbuf_COSZRS_m\n", + "dsa['tm_pbuf_COSZRS'] = tm_pbuf_COSZRS_a\n", + "dsi['tm_pbuf_COSZRS'] = tm_pbuf_COSZRS_i\n", + "\n", + "dsm['clat'] = 0.0\n", + "dsa['clat'] = 1.0\n", + "dsi['clat'] = 0.0\n", + "\n", + "dsm['slat'] = 0.0\n", + "dsa['slat'] = 1.0\n", + "dsi['slat'] = 0.0\n", + "\n", + "dsm['icol'] = 0.0\n", + "dsa['icol'] = 1.0\n", + "dsi['icol'] = 0.0" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "e2594c9f-f766-4b4a-bc1a-10749bfc110b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "liq_partition_m = dsm['state_t'].copy()\n", + "liq_partition_a = dsa['state_t'].copy()\n", + "liq_partition_i = dsi['state_t'].copy()\n", + "liq_partition_m[:]= 0.0\n", + "liq_partition_a[:]= 1.0\n", + "liq_partition_i[:]= 0.0\n", + "dsm['liq_partition'] = liq_partition_m\n", + "dsa['liq_partition'] = liq_partition_a\n", + "dsi['liq_partition'] = liq_partition_i" + ] + }, + { + "cell_type": "markdown", + "id": "28245326-28df-462f-b68f-df0184378f80", + "metadata": {}, + "source": [ + "## saving the updated input scaling files" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "1781c377-4015-47aa-87e9-307bdcefb3d6", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# climsim_path = '/global/u2/z/zeyuanhu/nvidia_codes/Climsim_private/'\n", + "# norm_path = climsim_path+'/preprocessing/normalizations/'\n", + "# dsm.to_netcdf(norm_path + 'inputs/input_mean_v5_pervar.nc')\n", + "# dsa.to_netcdf(norm_path + 'inputs/input_max_v5_pervar.nc')\n", + "# dsi.to_netcdf(norm_path + 'inputs/input_min_v5_pervar.nc')\n", + "\n", + "#below are example paths\n", + "climsim_path = '/global/u2/z/zeyuanhu/nvidia_codes/climsim_tests'\n", + "norm_path = climsim_path+'/normalization/'\n", + "dsm.to_netcdf(norm_path + 'inputs/input_mean_v5_pervar.nc')\n", + "dsa.to_netcdf(norm_path + 'inputs/input_max_v5_pervar.nc')\n", + "dsi.to_netcdf(norm_path + 'inputs/input_min_v5_pervar.nc')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1b6e9fdf-4fb6-44b4-bce0-e2db1db20a3d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "climsim", + "language": "python", + "name": "climsim" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/data_preparation/normalization/output_scaling.ipynb b/online_testing/data_preparation/normalization/output_scaling.ipynb new file mode 100644 index 0000000..15b2d76 --- /dev/null +++ b/online_testing/data_preparation/normalization/output_scaling.ipynb @@ -0,0 +1,357 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "abadc119-db81-4c36-87e8-7b6da2b3194f", + "metadata": {}, + "source": [ + "# Output normalization" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "fdef1cba-b554-412b-a147-0cf64f642eb1", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import xarray as xr\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "markdown", + "id": "52a39b8a-266e-44cf-8086-3a472e779059", + "metadata": {}, + "source": [ + "## calculate the per-level standard deviation" + ] + }, + { + "cell_type": "markdown", + "id": "8b4512fd-53b7-4720-8035-deccb771d6ad", + "metadata": {}, + "source": [ + "In this notebook, we will calculate the standard deviation of each target feature in the train_target.npy file, which you can get from the huggingface. See the subsampled (every 7th time step) version of low-resolution real-geography dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "598e0f73-2058-472a-8ef3-68fdfe1191fe", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "climsim_path = '/global/u2/z/zeyuanhu/nvidia_codes/Climsim_private/'\n", + "grid_path = climsim_path+'/grid_info/ClimSim_low-res_grid-info.nc'\n", + "norm_path = climsim_path+'/preprocessing/normalizations/'\n", + "\n", + "grid_info = xr.open_dataset(grid_path)\n", + "output_scale = xr.open_dataset(norm_path + 'outputs/output_scale.nc')\n", + "xout = np.load('/pscratch/sd/z/zeyuanhu/hugging/E3SM-MMF_ne4/preprocessing/v2_adv_noinf/train_target.npy')\n", + "\n", + "# un-normalize targets to their original units\n", + "# the train_target.npy used above is following the offline part of the repo, where data is normalized before saving to .npy.\n", + "# you can skip the \"/out_scale\" part below if your saved data is un-normalized. \n", + "yt = xout[:,0:60]/output_scale['ptend_t'].values\n", + "yq1 = xout[:,60:120]/output_scale['ptend_q0001'].values\n", + "yq2 = xout[:,120:180]/output_scale['ptend_q0002'].values\n", + "yq3 = xout[:,180:240]/output_scale['ptend_q0003'].values\n", + "yqn = yq2+yq3\n", + "yu = xout[:,240:300]/output_scale['ptend_u'].values\n", + "yv = xout[:,300:360]/output_scale['ptend_v'].values" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "5211b5c0-9f86-43ac-bcd0-ed32b96f6a53", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# retrieve scalar targets in their original units\n", + "features = list(output_scale.data_vars.keys())\n", + "y2d = xout[:,360:368]\n", + "for i in range(8):\n", + " y2d[:,i] = y2d[:,i]/output_scale[features[6+i]].values" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "feffce68-ceea-4118-b1be-52511d8841dc", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# calculate per-level st.d.\n", + "yt_std = yt.std(axis=0)\n", + "yq1_std = yq1.std(axis=0)\n", + "yq2_std = yq2.std(axis=0)\n", + "yq3_std = yq3.std(axis=0)\n", + "yqn_std = yqn.std(axis=0)\n", + "yu_std = yu.std(axis=0)\n", + "yv_std = yv.std(axis=0)\n", + "y2d_std = y2d.std(axis=0)" + ] + }, + { + "cell_type": "markdown", + "id": "7e61a466-4ee4-4020-bf29-84641e8fb3ca", + "metadata": {}, + "source": [ + "## below are the visualization of the st.d. vertical distribution of each variable" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "93a56bcd-30cd-4536-89c5-d08e81686648", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "fig, axs = plt.subplots(1, 3, figsize=(15, 5))\n", + "\n", + "# First subplot\n", + "axs[0].plot(yt_std, label='dT/dt')\n", + "axs[0].axhline(0, color=\"black\")\n", + "axs[0].legend()\n", + "axs[0].set_title('std distribution')\n", + "axs[0].set_xlabel('level')\n", + "\n", + "# Second subplot\n", + "axs[1].plot(yq1_std, label='dq1/dt (vapor)')\n", + "axs[1].plot(yq2_std, label='dq2/dt (liquid)')\n", + "axs[1].plot(yq3_std, label='dq3/dt (ice)')\n", + "axs[1].plot(yqn_std, label='dqn/dt (ice+liquid)')\n", + "axs[1].axhline(0, color=\"black\")\n", + "axs[1].legend()\n", + "axs[1].set_title('std distribution')\n", + "axs[1].set_xlabel('level')\n", + "\n", + "# Third subplot\n", + "axs[2].plot(yu_std, label='du/dt')\n", + "axs[2].plot(yv_std, label='dv/dt')\n", + "axs[2].axhline(0, color=\"black\")\n", + "axs[2].legend()\n", + "axs[2].set_title('std distribution')\n", + "axs[2].set_xlabel('level')\n", + "\n", + "# Adjust layout\n", + "plt.tight_layout()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "id": "a8a6795d-98ca-4ed4-8db5-12c35633630b", + "metadata": {}, + "source": [ + "As you can see from the st.d. distribution above, for vapor, cloud, and u/v winds, their st.d. decrease dramatically in the upper atmosphere, and their st.d are exactly 0 in the upper 12 levels. In order to avoid normalizing y as y/std with std being very tiny value, we try to add a threshold: y' = y/max(std, threshold). Different variables have different threshold vaues. The larger the threshold is, the more upper levels are penalized in the total loss function. Below we saved two version of the output scaling file, one apply a threshold only that is only larger than std in the top 12 levels, the other apply a threshold that penalize more upper levels. " + ] + }, + { + "cell_type": "markdown", + "id": "860ad8c8-4681-486b-8175-042a835e1786", + "metadata": {}, + "source": [ + "### A tiny threshold version that only previous 0-std in the top 12 levels" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "feb4b7f5-02ef-4d0a-b490-6940a6ecd877", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "yt_std_thres = yt_std\n", + "yq1_std_thres = np.where(yq1_std<1e-12, 1e-12, yq1_std)\n", + "yq2_std_thres = np.where(yq2_std<1e-12, 1e-12, yq2_std)\n", + "yq3_std_thres = np.where(yq3_std<1e-12, 1e-12, yq3_std)\n", + "yqn_std_thres = np.where(yqn_std<1e-12, 1e-12, yqn_std)\n", + "yu_std_thres = np.where(yu_std<2e-7, 2e-7, yu_std)\n", + "yv_std_thres = np.where(yv_std<2e-7, 2e-7, yv_std)\n", + "\n", + "output_scale_std = output_scale.copy()\n", + "output_scale_std['ptend_t'][:] = 1./yt_std_thres\n", + "output_scale_std['ptend_q0001'][:] = 1./yq1_std_thres\n", + "output_scale_std['ptend_q0002'][:] = 1./yq2_std_thres\n", + "output_scale_std['ptend_q0003'][:] = 1./yq3_std_thres\n", + "output_scale_std['ptend_u'][:] = 1./yu_std_thres\n", + "output_scale_std['ptend_v'][:] = 1./yv_std_thres\n", + "for i in range(8):\n", + " output_scale_std[features[6+i]] = 1/y2d_std[i]\n", + "\n", + "ptend_qn_value = 1. / yqn_std_thres\n", + "output_scale_std['ptend_qn'] = xr.DataArray(ptend_qn_value, dims=['lev'], coords={'lev': output_scale_std['lev']})\n", + "climsim_path = '/global/u2/z/zeyuanhu/nvidia_codes/climsim_tests'\n", + "norm_path = climsim_path+'/normalization/'\n", + "output_scale_std.to_netcdf(norm_path + 'outputs/output_scale_std_nopenalty.nc')" + ] + }, + { + "cell_type": "markdown", + "id": "83f924ed-0fee-4136-9930-90de967607ba", + "metadata": { + "tags": [] + }, + "source": [ + "### Another threshold version that underweights a few more upper atmosphere levels" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "d9085eac-b81a-4738-9aa8-6882335f97df", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "yt_std_thres = yt_std \n", + "yq1_std_thres = np.where(yq1_std<3e-10, 3e-10, yq1_std)\n", + "yq2_std_thres = np.where(yq2_std<3e-10, 3e-10, yq2_std)\n", + "yq3_std_thres = np.where(yq3_std<3e-10, 3e-10, yq3_std)\n", + "yqn_std_thres = np.where(yqn_std<3e-10, 3e-10, yqn_std)\n", + "yu_std_thres = np.where(yu_std<1e-6, 1e-6, yu_std)\n", + "yv_std_thres = np.where(yv_std<1e-6, 1e-6, yv_std)\n", + "\n", + "output_scale_std = output_scale.copy()\n", + "output_scale_std['ptend_t'][:] = 1./yt_std_thres\n", + "output_scale_std['ptend_q0001'][:] = 1./yq1_std_thres\n", + "output_scale_std['ptend_q0002'][:] = 1./yq2_std_thres\n", + "output_scale_std['ptend_q0003'][:] = 1./yq3_std_thres\n", + "output_scale_std['ptend_u'][:] = 1./yu_std_thres\n", + "output_scale_std['ptend_v'][:] = 1./yv_std_thres\n", + "for i in range(8):\n", + " output_scale_std[features[6+i]] = 1/y2d_std[i]\n", + "\n", + "ptend_qn_value = 1. / yqn_std_thres\n", + "output_scale_std['ptend_qn'] = xr.DataArray(ptend_qn_value, dims=['lev'], coords={'lev': output_scale_std['lev']})\n", + "climsim_path = '/global/u2/z/zeyuanhu/nvidia_codes/climsim_tests'\n", + "norm_path = climsim_path+'/normalization/'\n", + "output_scale_std.to_netcdf(norm_path + 'outputs/output_scale_std_lowerthred_v5.nc')" + ] + }, + { + "cell_type": "markdown", + "id": "43215f55-3511-4943-9a29-d68a5ac6a1d7", + "metadata": {}, + "source": [ + "The horizonal grey line in each plot shows the threshold value in y' = y/max(std, threshold)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "ff68deb8-f883-487a-b690-d7d97a88bde5", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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qqpffvmF/v37Ex0djclkYuHChS6dz2Kx8Pzzz9OwYUP8/Pxo1KgRL7/8slPPSamatB6XjNZjkeqnvNfiiRMnOvVqNplMNG/e3KVzSsWgtbhktBaLuI4S6SIV3B133MHBgwd5++23iY6O5o033qBVq1b8+OOP7g6tSNdddx0HDhzg448/5vLLL+fDDz/kyiuv5MMPPyzxOfz8/Mo0pr+/aLKzWCxlOk9xPD09C71diTiR0ktPT6dNmzaOTZBc7bXXXmPmzJm888477N69m9dee43XX3+dt99+u1zmF/fRelx2tB6LVC3lvRYDtGrViri4OMdl7dq15Ta3uI/W4rKjtVjk4iiRLlIJREVF8fDDD7Nw4UIOHTpEzZo1mTx5suP+Cy2C9evX58CBAwUWob179xY7Z3h4OH5+foV+/awkxwOEhYVx77338sUXX3Ds2DFat27ttKP3heK+GFartUA1wr59+wAcO7XbP91OSkpyGlfY18ZKGlt4eDj+/v6FPid79uzBw8ODmJiYEp1LREqvb9++TJo0iYEDBxZ6f3Z2NmPGjKFOnToEBATQuXNnVq1addHz/fbbb9xyyy3069ePBg0acNttt9GrVy82bNhw0eeUykPrcfG0HotUP+W9FgOYzWYiIyMdl1q1al3S+aTy0FpcPK3FIq6jRLpIBWaxWEhOTna6LSIigujoaLKzsx23BQQEFBgHcNNNNxEbG8s333zjuC0jI4MPPvig2Lk9PT3p3bs3Cxcu5OjRo47bd+/ezbJly4o9/syZM06/BwYG0rhx4wJxQ8HF+2K98847juuGYfDOO+/g5eVFjx49ANuLJ09PT3755Ren4957770C5yppbJ6envTq1YtFixY5fU3u5MmTzJs3j65duxIcHHyRj0hELtXIkSNZt24dX375JX/++Se33347ffr0uegelVdffTUrV650vBn5448/WLt2LX379i3LsKWC0XpcOlqPReR8Zb0WA+zfv5/o6Gguu+wyBg8e7PT/R6matBaXjtZiEdcwuzsAEbmw1NRU6taty2233UabNm0IDAxkxYoVbNy4kalTpzrGtW/fnq+++orRo0fTsWNHAgMD6d+/P/fffz/vvPMOQ4YMYfPmzURFRfHZZ5/h7+9fovlffPFFli5dyrXXXsvDDz9MXl4eb7/9Nq1atSq2p1vLli3p1q0b7du3Jyws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kSM89NBDTmPuv/9+mjVrRocOHQgPDy9Q+W13xRVXcOWVVzJ//vwC9w0ePJg//viDgQMHOn0A0KZNG6ZNm8Zrr73G5Zdfzty5c5kyZUqB4/39/XnqqacYNGgQ11xzDYGBgXz11VeO+wcMGMCMGTN48803adWqFe+//z6zZ8+mW7duhcZ6vi+++IJevXpRv76KCWLzv50YHeJbqipOEZGqorg1eerUqcTExHDttdcyaNAgxowZ45Q0d/VaKyJSnaXnJ9L9vT3x8Cj/16om4+/NvaRIKSkphISEkJycTHBwsLvDuWQzVx3gtaV7aBEVzO64FHzMHmx7oRd+3hWzr6uIVE1ZWVkcOnSIhg0bFtiosCr79ttvee655wpthVEWinpey2o9+/HHH/n1119p3749t956KwsWLGDAgAHFHpeUlET79u1p3LgxJ0+eZNu2bSWes6jYq9vfUoMGDRg1ahSjRo0qduzp06eJiori+PHj1K5d22Ux/fDDD4wdO5YdO3aU6tsZRZkzZw6jRo0qdSubksjJyaFJkybMmzevwGalFUF5/00v2HqcJ776gy6X1eSLEVe5fD6R6q6yvr/UWlw4V6+11fm5FREB2BmbTL+31hIe5MPGZ8vm26SlWYvV2qWas1ekX980nJTMXE4kZbLu4Gm6N3fdG2wREbEJDAzktddec3cYl6Rv37707du31Mc9+OCDDBo0CE9Pz1JVscvFS0xMZNq0aS5NogP069eP/fv3c+LECWJiYlw6V1k4evQozzzzTIVMortDbJLttWG0NhoVESm18lprRUSqq/Rs214S7thoFJRIr/bsPdKjQnzp3jyCz34/wsrdCUqki4iUg169erk7BLeYPXs2Bw8e5PPPP2fSpEnFjs/OziY7O9vxe0pKiivDq7KaNm1K06ZNy2WuklTIVxSNGzemcePG7g6jwohLzm/too1GRURKrTzXWhGR6sje2sUdG42CeqRXe/H5Fem1g22JdLD1SVfHHxERcYX9+/fz9NNP8/nnn2M2l+zz/ClTphASEuK4VIYq5/Jy+PDhSpW0vljDhg1zSVsXKchekR4Voop0EREREalY7JuNumOjUVAivdqzV6RHhvjSpVFNfL08iEvOYk98qpsjExGRqsZisTBo0CBefPHFUlVrjR8/nuTkZMfl2LFjLoxSpHpzbDaqinQRERERqWDsFelq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KSn06tULb29vFi9eXKA6fNWqVdSoUYM2bdoAtrYtUVFRTnP/fR6w9RK3WCwUp127duzatav4B52vpPOHh4cTFxfn9DgPHTp0wfO2aNGCP//8k6ysLMdtv//+e6Fjd+zYQbt27Uocc1UVl3zhTehFRC6Zu9biUqzHULI1uW7dulx//fXMnTuXuXPncuONNxIREeG4//y2LmBbk44dO+a0jv19TfL29gYo0VorIlJd2du6eHqY8DG7J6WtRHo15dhoNPjCPTB9vTzxz2/7kpieUy5xiYiIVDeBgYEMHz6csWPH8tNPP7Fjxw6GDRuGh8e5l2nNmjWjT58+PPDAA6xfv57Nmzdz33334ed3LulpT6Knp6fz0UcfkZKSQnx8PPHx8Y435osXL3Z81dzu8ccf59VXX2XhwoXs2bOHhx9+uECCvkGDBqxfv57Dhw9z+vRprFZroY+ld+/erFu3rlSJgJLM3717dz777DPWrFnD9u3bGTp0KJ6eF24/MmjQIEwmE/fffz+7du1iyZIlvPnmmwXGHT58mBMnTtCzZ88Sx1tV2YssokNVkS4i1VdJ1mSwtXf58ssv+frrr53auuTl5fHjjz86rbU9e/akadOmDB06lD/++IM1a9bw7LPPOp0vIiICPz8/li5dysmTJ0lOTnbtAxURqYQcG416e7qta4YS6dWUI5EeUnTVUViA7ZPxxPRsl8ckIiJSXb3xxhtce+219O/fn549e9K1a1enfugAs2fPJjo6muuvv55bb72VESNGOFXAbdmyhfXr17N9+3YaN25MVFSU43Ls2DGg8ET6k08+yT333MPQoUPp0qULQUFBDBw40GnMmDFj8PT0pGXLloSHh3P06NFCH0ffvn0xm82sWLGixI+9JPOPHz+e66+/nn/84x/069ePAQMGFNmOJTAwkO+++47t27fTrl07nn32WV577bUC47744gt69epF/fr1SxxvVRWn1i4iIkDJ1uTbbruNM2fOkJGRwYABAxy3r169msDAQK688krHbR4eHixYsIDMzEw6derEfffdx+TJk53OZzabeeutt3j//feJjo52qmgXERGbtCz3bjQKYDL+3nBSipSSkkJISAjJyckEBwe7O5yLNnzORlbuSeCVgVcwqHO9C4675Z21/HE8mQ/uaU+vVto9XESkqqjM61lRsWdlZXHo0CEaNmxYqk0vK6sGDRowatQoRo0aVezYLVu20L17d06dOuXUN72svfvuuyxevJhly5Zd9DmGDRtGUlISCxcuLLvA/iYnJ4cmTZowb948rrnmGpfNc6nK62960H9+57cDZ/j3nW0Y2K6uy+YREWeVdT3WWly4xx57jLy8PN577z2XnL86P7ciIr/9dZpBH66nSUQgy0dfX2bnLc1arM1Gq6lzVUcXbu0C51ekq7WLiIhIZZaXl8fbb7/t0iQ6wAMPPEBSUhKpqakEBQW5dK5LcfToUZ555pkKnUQvT/HqkS4icskuv/xyunTp4u4wRESqJEdrFzdWpCuRXk2dTCnZm6WwAFui/YwS6SIiIpVap06d6NSpk8vnMZvNBXq/VkSNGzemcePG7g6jQjAMw1FkEaXWLiIiF23EiBHuDkFEpMpKz3F/axcl0quh7DyLIzFeXB/MmoGqSBcREamoDh8+7O4QXGLOnDnuDqFaScnMIzPXtkGseqSLiIiISEWUlm17vRrg4+m2GC5qs9F3332XBg0a4OvrS+fOndmwYUOR47/++muaN2+Or68vV1xxBUuWLHG63zAMXnjhBaKiovDz86Nnz57s37/faUxiYiKDBw8mODiY0NBQhg8fTlpamuP+rKwshg0bxhVXXIHZbHba8ON8q1at4sorr8THx4fGjRtXyzdqCSm2jUO9zR7U8C/6691q7SIiIiJStcWlZAJQw98LXy/3vTEREREREbmQ9ArQ2qXUifSvvvqK0aNHM2HCBLZs2UKbNm3o3bs3CQkJhY7/7bffuPvuuxk+fDhbt25lwIABDBgwgB07djjGvP7667z11lvMmjWL9evXExAQQO/evcnKynKMGTx4MDt37mT58uV8//33/PLLL05fm7JYLPj5+fHYY4/Rs2fPQmM5dOgQ/fr144YbbmDbtm2MGjWK++6775I2w6qM4vPbutQO9sFkMhU51p5IV2sXERERkarpXFsX9UcXERERkYrJnkh3Z2uXUifSp02bxv3338+9995Ly5YtmTVrFv7+/nz88ceFjp8xYwZ9+vRh7NixtGjRgpdffpkrr7ySd955B7BVo0+fPp3nnnuOW265hdatW/Ppp58SGxvLwoULAdi9ezdLly7lww8/pHPnznTt2pW3336bL7/8ktjYWAACAgKYOXMm999/P5GRkYXGMmvWLBo2bMjUqVNp0aIFI0eO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uWsuNgzl4x9TPr7y3DEfKxdXUS6uolxcM+Vi5eJzzMrFFsMwjF93TruIiIiIiIiIiIiIiOtSj3QRERERERERERERkRqokC4iIiIiIiIiIiIiUgMV0kVEREREREREREREaqBCuoiIiIiIiIiIiIhIDVRIFxERERERERERERGpgQrpIiIiIiIiIiIiIiI1UCFdRERERERERERERKQGKqSLiIiIiIiIiIiIiNRAhXQRqTXXXHMNjz32mNPG++1vf8uwYcOcNp6IiEhdp1wsIiJiLuViEdehQrqIiIiIiIiIiIiISA1USBcRERERERERERERqYEK6SLiFCUlJTz55JM0adKEBg0aEB8fz4oVKwDIy8vD19eXxYsXV3vN/Pnz8ff3p6ioCICjR49y5513EhQURKNGjRg6dCiHDx928jsRERGpn5SLRUREzKVcLFK/qZAuIk4xYcIE1q5dy5w5c9ixYwd33HEHN9xwAykpKQQEBHDTTTcxe/bsaq+ZNWsWw4YNw8/Pj7KyMgYNGoS/vz/fffcdq1evpmHDhtxwww2Ulpaa9K5ERETqD+ViERERcykXi9RvHmYHICKuLy0tjZkzZ5KWlkZUVBQATz75JEuWLGHmzJm89NJLjB49mnvuuYeioiL8/PzIy8tj4cKFzJ8/H4C5c+dit9v54IMPsFgsAMycOZOgoCBWrFjBwIEDTXt/IiIidZ1ysYiIiLmUi0XqPxXSRaTW7dy5k4qKCtq0aVNte0lJCSEhIQDceOONeHp68sUXXzBy5Eg+/fRTAgICSExMBGD79u0cOHAAf3//aj+juLiYgwcPOueNiIiI1FPKxSIiIuZSLhap/1RIF5FaV1BQgM1mY/PmzdhstmrPNWzYEAAvLy9uv/12Zs+ezciRI5k9ezYjRozAw8Oj8mf06NGDWbNm/eTnN27cuPbfhIiISD2mXCwiImIu5WKR+k+FdBGpdd26daOiooLMzEz69+9/0f1Gjx7N9ddfz+7du1m+fDkvvvhi5XPdu3dn7ty5hIWFERAQ4IywRUREXIZysYiIiLmUi0XqPy02KiK1rk2bNowePZoxY8bw2WefkZqayoYNG5g6dSoLFy6s3G/AgAFEREQwevRomjdvTnx8fOVzo0ePJjQ0lKFDh/Ldd9+RmprKihUr+P3vf8+xY8fMeFsiIiL1hnKxiIiIuZSLReo/FdJFxClmzpzJmDFjeOKJJ2jbti3Dhg1j48aNNGvWrHIfi8XCqFGj2L59O6NHj672ej8/P1atWkWzZs0YPnw47du35/7776e4uFjfxIuIiPwCysUiIiLmUi4Wqd8shmEYZgchIiIiIiIiIiIiIlJX6Yx0EREREREREREREZEaqJAuIiIiIiIiIiIiIlIDFdJFRERERERERERERGqgQrqIiIiIiIiIiIiISA1USBcRERERERERERERqYEK6SIiIiIiIiIiIiIiNVAhXURERERERERERESkBiqki4iIiIiIiIiIiIjUQIV0EREREREREREREZEaqJAuIiIiIiIiIiIiIlIDFdJFRERERERERERERGqgQrqIiIiIiIiIiIiISA3+HxFCiG9Xdtz9AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "fig, axs = plt.subplots(1, 3, figsize=(15, 5))\n", + "\n", + "# First subplot\n", + "axs[0].plot(yt_std, label='dT/dt')\n", + "axs[0].axhline(0, color=\"black\")\n", + "axs[0].legend()\n", + "axs[0].set_title('std distribution')\n", + "axs[0].set_xlabel('level')\n", + "\n", + "# Second subplot\n", + "axs[1].plot(yq1_std, label='dq1/dt (vapor)')\n", + "axs[1].plot(yq2_std, label='dq2/dt (liquid)')\n", + "axs[1].plot(yq3_std, label='dq3/dt (ice)')\n", + "axs[1].plot(yqn_std, label='dqn/dt (ice+liquid)')\n", + "axs[1].axhline(0, color=\"black\")\n", + "axs[1].axhline(3e-10, color=\"grey\")\n", + "axs[1].legend()\n", + "axs[1].set_ylim(0,1.5e-8)\n", + "axs[1].set_title('std distribution')\n", + "axs[1].set_xlabel('level')\n", + "\n", + "# Third subplot\n", + "axs[2].plot(yu_std, label='du/dt')\n", + "axs[2].plot(yv_std, label='dv/dt')\n", + "axs[2].axhline(0, color=\"black\")\n", + "axs[2].axhline(1e-6, color=\"grey\")\n", + "axs[2].legend()\n", + "axs[2].set_title('std distribution')\n", + "axs[2].set_xlabel('level')\n", + "\n", + "# Adjust layout\n", + "plt.tight_layout()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0e105687-edb2-440d-9deb-91782e15c1a0", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "climsim", + "language": "python", + "name": "climsim" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/evaluation/error-growth-of-zonal-mean-state-within-1month.ipynb b/online_testing/evaluation/error-growth-of-zonal-mean-state-within-1month.ipynb new file mode 100644 index 0000000..4023405 --- /dev/null +++ b/online_testing/evaluation/error-growth-of-zonal-mean-state-within-1month.ipynb @@ -0,0 +1,257 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "id": "55639e14-0b21-466d-bd5f-e7443034e165", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import xarray as xr\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import glob" + ] + }, + { + "cell_type": "markdown", + "id": "24cef6a6-db05-48c2-8515-215f553a5388", + "metadata": {}, + "source": [ + "# Zonal mean online error growth\n", + "\n", + "In this notebook, we show how we generate error growth plot, i.e., Figure H1 in \"Stable Machine-Learning Parameterization of Subgrid Processes with Real Geography and Full-physics Emulation\", Hu et al. 2024, arXiv preprint:2306.08754.\n", + "\n", + "## Set data path\n", + "\n", + "All the simulation output, saved model weights, and preprocessed data used in Hu et al. 2024 \"Stable Machine-Learning Parameterization of Subgrid Processes with Real Geography and Full-physics Emulation\" are provided in a hu_etal2024_data folder that you can download. Please change the following path to your downloaded hu_etal2024_data folder." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9574686e-2b11-4afd-9b29-be7c00a72f96", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "data_path = '/global/homes/z/zeyuanhu/scratch/hu_etal2024_data/'" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ae234c2c-2f67-4523-bf20-297374ed8347", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Open the dataset\n", + "ds_sp = xr.open_mfdataset(data_path+'first_month_hourly/mmf_ref/*.eam.h2.*.nc')\n", + "ds_nn = xr.open_mfdataset(data_path+'first_month_hourly/unet_v5/huber_rop/*.eam.h2.*.nc')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "ca7ce323-4da0-4eb2-af39-af7fb2b7c268", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ds_grid = xr.open_dataset(data_path+'data_grid/ne4pg2_scrip.nc')\n", + "grid_area = ds_grid['grid_area']\n", + "\n", + "def zonal_mean_area_weighted(data, grid_area, lat):\n", + " # Define latitude bins ranging from -90 to 90, each bin spans 10 degrees\n", + " bins = np.arange(-90, 91, 10) # Create edges for 10 degree bins\n", + "\n", + " # Get indices for each lat value indicating which bin it belongs to\n", + " bin_indices = np.digitize(lat.values, bins) - 1\n", + "\n", + " # Initialize a list to store the zonal mean for each latitude bin\n", + " data_zonal_mean = []\n", + "\n", + " # Iterate through each bin to calculate the weighted average\n", + " for i in range(len(bins)-1):\n", + " # Filter data and grid_area for current bin\n", + " mask = (bin_indices == i)\n", + " data_filtered = data[mask]\n", + " grid_area_filtered = grid_area[mask]\n", + "\n", + " # Check if there's any data in this bin\n", + " if data_filtered.size > 0:\n", + " # Compute area-weighted average for the current bin\n", + " weighted_mean = np.average(data_filtered, axis=0, weights=grid_area_filtered)\n", + " else:\n", + " # If no data in bin, append NaN or suitable value\n", + " weighted_mean = np.nan\n", + "\n", + " # Append the result to the list\n", + " data_zonal_mean.append(weighted_mean)\n", + "\n", + " # Convert list to numpy array\n", + " data_zonal_mean = np.array(data_zonal_mean)\n", + "\n", + " # The mid points of the bins are used as the representative latitudes\n", + " lats_mid = bins[:-1] + 5\n", + "\n", + " return data_zonal_mean, lats_mid\n", + "\n", + "ds2 = xr.open_dataset(data_path+'data_grid/E3SM_ML.GNUGPU.F2010-MMF1.ne4pg2_ne4pg2.eam.h0.0001-01.nc')\n", + "lat = ds2.lat\n", + "lon = ds2.lon\n", + "level = ds2.lev.values\n", + "\n", + "def zonal_mean(var):\n", + " var_re = var.reshape(-1,384,var.shape[-1])\n", + " var_re = np.transpose(var_re, (1,0,2))\n", + " var_zonal_mean, lats_sorted = zonal_mean_area_weighted(var_re, grid_area, lat)\n", + " return var_zonal_mean, lats_sorted\n" + ] + }, + { + "cell_type": "markdown", + "id": "800c0274-c9fd-4db2-a3ef-3496c032fa1e", + "metadata": {}, + "source": [ + "## calculate the zonal mean bias (NN - MMF) for moisture and liquid cloud" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "bda2d279-5f41-4d2a-8a2a-b77fd6ab2a41", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "var = 'Q'\n", + "var_sp = ds_sp[var]\n", + "var_nn = ds_nn[var]\n", + "var_sp_re = np.transpose(var_sp.values, (2,0,1))\n", + "var_sp_zonal_mean, lats_sorted = zonal_mean_area_weighted(var_sp_re, grid_area, lat)\n", + "var_nn_re = np.transpose(var_nn.values, (2,0,1))\n", + "var_nn_zonal_mean, lats_sorted = zonal_mean_area_weighted(var_nn_re, grid_area, lat)\n", + "\n", + "# average in tropics\n", + "\n", + "var_sp_trop = var_sp_zonal_mean[6:12].mean(axis=0)\n", + "var_nn_trop = var_nn_zonal_mean[6:12].mean(axis=0)\n", + "data_sp = xr.DataArray(var_sp_trop.T, dims=[\"level\", \"time\"],\n", + " coords={\"level\": level, \"time\": np.arange(len(ds_sp.time))/24.})\n", + "\n", + "data_nn = xr.DataArray(var_nn_trop.T, dims=[\"level\", \"time\"],\n", + " coords={\"level\": level, \"time\": np.arange(len(ds_nn.time))/24.})\n", + "\n", + "bias_q= (data_nn-data_sp)\n", + "\n", + "var = 'CLDLIQ'\n", + "var_sp = ds_sp[var]\n", + "var_nn = ds_nn[var]\n", + "var_sp_re = np.transpose(var_sp.values, (2,0,1))\n", + "var_sp_zonal_mean, lats_sorted = zonal_mean_area_weighted(var_sp_re, grid_area, lat)\n", + "var_nn_re = np.transpose(var_nn.values, (2,0,1))\n", + "var_nn_zonal_mean, lats_sorted = zonal_mean_area_weighted(var_nn_re, grid_area, lat)\n", + "\n", + "# average in tropics\n", + "\n", + "var_sp_trop = var_sp_zonal_mean[6:12].mean(axis=0)\n", + "var_nn_trop = var_nn_zonal_mean[6:12].mean(axis=0)\n", + "data_sp = xr.DataArray(var_sp_trop.T, dims=[\"level\", \"time\"],\n", + " coords={\"level\": level, \"time\": np.arange(len(ds_sp.time))/24.})\n", + "\n", + "data_nn = xr.DataArray(var_nn_trop.T, dims=[\"level\", \"time\"],\n", + " coords={\"level\": level, \"time\": np.arange(len(ds_nn.time))/24.})\n", + "\n", + "bias_qc= (data_nn-data_sp)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "65223cf3-866a-47e2-ad22-4cb0e4da6fc6", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ouTYoKR0Sdd1hIeHo1SpUsiZM2ey+XPmzMGaNWtQvnx5fPDBB+jevTt0Xcfw4cPRrl07q2UWLFgQhQoVwo4dO+yqQ3h4OC5evIgaNWogJCREXK5bt24IDAzEb7/9luzmCwA++eQTjB8/HjVr1sSHH34I4MnN87M3kI74+eef0aJFCwQGBqJ3794oXrw4Fi1ahFatWlldtnr16vj555/RoEED9O/fH+XLl8fXX3+NmjVr4u7du6muz9atWwEAlStXtmv54cOH48SJE6hTpw4+/vhjtG3bFqdOnUKbNm3w1VdfWSz7yy+/oHHjxti/fz+aNm2KQYMGoWXLloiLi0vWiEpJyZIl0aNHDxw/fhwLFy5Ueu+4cePg5eWFkSNHij9eqPL29kb79u2xadMmREVFmadHRUXhl19+Qfv27cUbf5MaNWrg5Zdfxvz58y2mr1+/Hjdv3rR5A51apsZNeHi4xXTT3wcOHMDDhw+TTbfWKDKpVKkSPv74YwBAxYoVERYWZn492+fs66+/Rs+ePVG2bFn06tULOXPmxJdffon3339faTvat2+PefPmoWnTpujevTvu3LmDjz76yNyIcpTRaMTmzZsBAOXKlTNPP3PmDK5fv47atWsja9asFu/JmjUrateujfPnz+PKlSsAAD8/P7i7uyMiIsJif6aFX375JVl9Y2NjsX//fpQqVQpFihSxWF7TNLz66qt4+PAhDh06lKw8d3d3TJgwAXFxcXZf+0w/MjzbaLJHt27dkJiYmOzaMG/ePOTKlUsMqYyNjUWjRo0wbtw4ZM2aFf3790erVq0QHh6O+vXrY9WqVSmu+9ixY6hVqxY2bdqEOnXqYODAgWjTpg2yZMli/vErR44cCAsLg5+fH/z8/CzO7wYNGihv79Nu376NmjVrmn9A7NmzJ3x9fQEA3377LRo0aIA//vgDzZs3R79+/VCwYEFMmDABr776KuLj4+1ah+l71Fp3lJiYGNSvXx9z5sxByZIl8fHHH6N06dJo164dfvrpJ7HMLVu24PHjx1a/v572+++/o27dugCA3377zeIHq27dumHEiBEAgI8++gihoaH44osvkv3g+zTVewMissK1D0iJrDtx4oQOQAynuXTpkp6YmGgxzWg06t26ddMB6L///rvV973xxhs6AP38+fMp1mHMmDE6AP0///lPisu+++67OgB90aJF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F8iVKxe6d++OTz/9VKkPWu7cuTF06FDzQPTpgbe3N3799VdMmTIFK1aswBdffIEsWbKgfv36GDFihF0/XPXq1Qt+fn7Yv38/du3aBV3XUbhwYYwYMQIDBgyw6IM5atQo3L17Fxs2bMBvv/2GpKQkhIWFoV69egCA77//Hnny5MGKFSswc+ZMlCpVCrNnz0ZgYKBygxIAevTogUqVKuHzzz/H7t27sX79evj5+aFw4cIYMGCAediplNSrVw8vv/wyli5dmuz4Zc+eHbt378bw4cOxbt06HDp0CGXLlsUPP/yA8+fPY/369eZ9cO3aNRw+fBjDhw+3exv8/PywdetWhIaGYuDAgTAajRg0aBCAJ8O+lClTBvPmzcNXX32FggULon///mjcuLHFep/m6L0BEf2PptvTA5vIRTp27IhffvkFly5dsjtlvzV3795FkSJF0KZNG3MGTSIiInLM3Llz8f777+P333+3+we1Dh06YOnSpfjnn39QpkwZfPvtt+jduzf279+P6tWrp1ldv//+e/To0cP8hNaE9wZEzsE+lJSuffrpp3j8+LHNVO/2+Pzzz5GUlJSsnxIRERGp69KlC8qWLWs1y3VERESyabt27cLy5ctRqlQplClTBsCT/pMBAQHJwmYdFRkZmSxT7bVr1/Dpp59aHZaE9wZEzsGQV0rXihQpgoULF6aY8jsluXLlwqJFi57bwNJEREQvMjc3N8ybNw+bNm3CgwcPLKKImjVrBh8fH1SqVAlZs2bFP//8g82bN8PNzc3iB2KVfvv2mDx5Mn755RfUrVsX+fLlw+XLl7FhwwY8ePAAY8aMSZYxmfcGRM7BkFciIiIicpoZM2Zg6dKlOHfuHB48eIAcOXKgdu3aGD58uHn4krSwefNmfP755/jzzz9x9+5deHt7o0KFCujduzfefffdNFsvUWbHBiURERERERE5hH0oiYiIiIiIyCEO96F8/PgxDhw4gKtXr+LWrVvIkiUL8ubNi/Lly6N48eLOrCMRERERERGlQ0oNysePH2P58uVYsGAB9u3bh8TERACAruvQNM28XEBAAN544w307NkT5cuXd26NXchoNOL69evInj27xfYSEREREZFtuq7jwYMHCAwMhMGQcQIlY2NjER8fn+Jynp6e8Pb2fg41Sl/s6kMZHx+PGTNmYPLkybh37x6yZMmCKlWqoGrV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1TSDZvsJZSYeNsShJ5T9+vXDG2+8gbfeegvfffedxbxz586hW7duuH//Pvr16+eUSqZXaZ0wwVUJGdJ6vfoL0BndVV7YXWcjoYtTaMJvZ2m93swmPe5P6dhnEM66HkvX3Yx+Tcno9XcVab/ZOt0ceY8KVx3L9JYjJiMnrXnRaQZDCuNQZuzvm9RwqEHZqlUrDB06FFOmTEGRIkWQNWtWAEC+fPlw+/Zt6LqOUaNGoVGjRk6tLBERERER0fOmGdygGdxszs+sHG5KT5o0CVu2bMHrr7+OLFmywM3NDUajEaGhodi0aRPGjh3rzHoSERERERG5hrtHyq9MyqEnlJcvX4anpydeffVVvPrqq86uExERERERUbqhublBc7PxhNLGvBedQ08oixYtihEjRji7LkREREREROmPwS3lVyblUIMyZ86cyJ07t7PrkmFouu6yhDmupGuaU17OYjoOz75Ul3dmOemNs7ZZpBud80prTlqvphutvlSXV305S1rXP11y1jmqeg65ar0C1WsBX859icdFU3u5shxnrVu1/LSW3upv0DSrL2eVo/qipxgMKTQoHetJOHPmTAQFBcHb2xvBwcE4cOCAuOycOXNQt25d5MyZEzlz5kRISEiy5bt06QJN0yxeoaGhDtXNXg5ted26dbF//35n14WIiIiIiCjd0dw8oLnbeLmp96FcsWIFBg4ciLCwMBw5cgQVK1ZE06ZNcePGDavL79y5E+3bt0d4eDj27t2LQoUKoUmTJrh27ZrFcqGhoYiIiDC/fvjhB4e22V4ONSgnTZqEv/76C+PGjUNiYqKz60RERERERJR+pEHI6+eff44ePXqga9euePnllzFr1ixkyZIF8+bNs7r80qVL0bt3b1SqVAmlS5fG999/D6PRiB07dlgs5+XlBX9/f/MrZ86cDm2yvRxKyjN16lSUL18eY8eOxXfffYeKFSsif/780J55NK5pGubOneuUihIREREREbmCs8ehjI+Px+HDhzF8+HDzNIPBgJCQEOzdu9euMh49eoSEhATkypXLYvrOnTuRL18+5MyZE40aNcKnn36apt0VHWpQLliwwPx/06NUa9igJCIiIiKiDC+lp5D/Py86OtpispeXF7y8vJItfuvWLSQlJSF//vwW0/Pnz49///3XrioNHToUgYGBCAkJMU8LDQ3Fm2++iaJFi+LcuXMY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nQCAatWqAQDGjBkDb29vHD58GCVLlrRYdvny5VbLeP/99819K19//XV8//33MBgM6NatW7Jl69ati02bNuHx48fYv38/1q9fj2+++QbNmzfH8ePHUaxYMeduIBERUQbHJ5RERJQunT59GitXroSXlxfeeOMNAMC5c+dQpkyZZI3JiIgInD9/3mo5BQsWRPPmzbFx40bs2bMHO3bsQNOmTVG4cGFx3T4+PmjQoAE+++wzjBgxAo8fP8a2bduct3FEREQvCDYoiYgo3fnjjz/QtGlTxMXFYdiwYShQoACAJ5lbz549i6ioKPOysbGx6NWrFxISEsTyPvjgAyQmJqJt27bQdd1qMp69e/ciNjY22XTTury9vVO7WURERC8cjkNJRETPnWkcyuLFi6NDhw4AniTLuXHjBg4cOIC///4bbm5uGD58OMaNGwdN0wAAX3/9Nfr27YuAgAC0adMGiYmJ2LZtG3RdR7Zs2fDnn3/C2tea0WhEsWLFcOnSJfj7++PKlStwd7fs9dG6dWuEh4ejXr16KFq0KLy9vXHkyBHs2LEDxYoVw9GjR+Hr65v2O4eIiCgDYYOSiIieO1OD8mk+Pj7IkSMHSpcujTp16qBz584oXry4xTK6rmP27Nn46quvcO7cOeTIkQPNmzfHpEmT0LZtW+zatctqgxIARo0ahU8//RTDhg3DpEmTks3fsmULli1bhv379+P69evQdR2FCxdG69atMWDAAOTJk8d5O4CIiOgFwQYlERFlCq+//jo2btyI06dPo0SJEq6uDhER0QuBfSiJiOiF988//2Djxo149dVX2ZgkIiJyIg4bQkREL6xly5bh1KlTWLRoEQAgLCzMxTUiIiJ6sbBBSUREL6zZs2fjt99+Q5EiRTB37lzUqlXL1VUiIiJ6obAPJRERERERETmEfSiJiIiIiIjIIWxQEhERERERkUPYoCQiIiIiIiKHsEFJREREREREDmGDkoiIiIiIiBzCBiURERERERE5hA1KIiIiIiIicggblEREREREROQQNiiJiIiIiIjIIWxQEhERERERkUPYoCQiIiIiIiKHsEFJREREREREDmGDkoiIiIiIiBzCBiURERERERE5hA1Kspuu66hSpQqaNGliMb1BgwbQNM3ucrZv3w5N07Bx40ZnV9GprG3Xzp07oWkaxowZ45pKOUlQUBCCgoJcXQ1K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idq1a2PlypXYtGmTfdrV/T+OHTuGe++9FyEhIfDz80OXLl2wb9++QtVB6mNh6++Snp6Op59+GlFRUTCZTGjcuDFWrVqlXFZOTg5effVVNG/eHH5+fggICMDtt9+Ob7/9tlB1KUhISAhat24N4MrbCFV9r3bmzBlMnz4dt956KypXrgyTyYTq1avjqaeewrlz5/ItPzU1FdOmTcPNN98Mf39/BAYGonbt2hg8eLCu8K169erh4Ycfxq5du8QwPcn06dPh6emJyZMnw2q16vpbZx599FHs3bsXu3fvdijft28f9uzZg0cffdTp31etWhV33nknPv30U+Tk5DhM++STT5CTk4MhQ4a4rb5Xs1qtCAsLy/d28+LFizAajTAYDNiwYYPDNFto4tXH7dpw3OrVq2Pp0qUAgBo1aoghuwBw9uxZDB48GBUrVoSvry9uvfVWbN68Od98qhDaq6+xXbt24c4770RAQACCgoJw77336gq39fHxUZZ37twZISEh+e49K1euxKVLlzBq1ChUrVrVXl61alWMHDkSycnJ+Prrr+3ltnDrxx9/HF5eXvnWExERgebNmxe5vg0bNkT9+vVx7tw5mM1me/mmTZtw/PhxPPjgg2jatKm9PCgoCJMnT0ZOTo79mF3NaDRi5syZyMjIwMyZMwtdv+Ik9aHMzMzExIkTUa1aNfj4+KBhw4b48MMPlffigvr5qc5XKYzbYrFg3rx5qF27tj30eO7cubrvM/Pnz8fhw4cxcOBAvPzyyzCZTPnmqV27Nr799lvcfPPNBS4vIyMD06dPx0033QQfHx+EhoaiR48e+OOPP/LN6yxE3RZaf+116a7tTklJwZo1a9CtWzcEBgY6TLv6OB08eBD33HMPgoODERISgv/973/259XWrVvRuXNnBAYG2t/uZWRk5FtXXl4e5s6di1q1ajnU+d9//3V6PqxZswY1atRAo0aNnG5LamoqOnToAKPRiLfeesth2ldffYUWLVrA19cX4eHhGDZsGFJSUsQ+sM2aNUPt2rWxZMkSp+skKmvYoKQCaZqG2NhY1KtXDyEhIeJ8AwYMwKeffor77rsPTzzxBNLT0zF69GiMGzdOOX+bNm0AwKHh58zixYsBAM8//7yYvMHX19ce4vXxxx/nm37y5EnceuutuHjxIoYMGYI777wTGzduRMeOHYvcUT43Nxddu3bF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b2889NBD+Omnn3DmzBkAV37R9vLyypdYRWX16tX2Y3r1pzBv5zp27AjA8e1/bGws2rVrh65du2Lnzp32fWx7W6l3iBCJn58f5s2b55CEY/DgwfD09NR1jbVv3x7333+/Q5lt3+u9Vn/++WfMnDkTL730ElavXo1q1aph3bp1+bI72t7CX30fs7GF7V39pr558+ZYunQpAgMD8cEHH6BXr16IiopCtWrV8Oijj+LPP//UVU+bHTt2YObMmXjxxRfx6aefokKFCvj6669x9913F7q+tjpfXd9r9ejRA+3bt8fq1auxY8eOAut18OBBHDx4UMeWFM2yZcsAAHPmzIGHh4e9vFGjRoW6hoq63mnTpjkkd6tSpYquN3VJSUkA4BA+XRRLly6Fl5cXXnrpJYfnRrNmzTB48GBcunTJfr9yhbu2Gyjc94ZatWo5JD4zGAz2bLDNmjVzeHvo5eWFfv36IS8vD//884+9/JNPPrHX+eokYpGRkU7rvGbNGoSFhaFdu3bK6Tt37kS7du2QkZGB2NhYdOnSJd/fp6enY+jQoahTp4693NPTEy+88IK4XkDfdx+isoINSiqQbfiE4OBgp/PdfvvtYpkqdX5oaCiA/P37ilPTpk3zZZuzPewvXbpUpGUHBwejRo0a+cqrVq3qsOzDhw8jJSUFPj4+mDlzJmbMmOHwWbduHQDg0KFDhV73448/Dk3ToGkarFYrkpKSsGzZMvzwww9o3bo1/v3330It56uvvkK3bt1QqVIleHp6wmAwwGg0wmw22xtFAFC/fn00btwYn3/+Odq3b49XX30Vu3fvLlI/xpCQEEycOBHnzp3D/Pnzdf3tuHHjUKlSJbz00ktISUkR57t2X8+YMUM87vfccw8qV65sD1n7+OOPUblyZXs23cIYMmQILBYLli5diqysLKxYsQL33HMPKlWqVODffv755/ZjevWnoOsQABo0aIBKlSrZG4vnz5/HgQMH0KlTJ3Ts2BF5eXn47bffAPx/g9LWCC2qunXr5vtBwdPT0579tLBuueWWfGWuXqvz58+HpmlIS0vD9u3bUa9ePdx2221uGRvvwQcfRFxcHL799luMHz8enTt3xoULF7BkyRK0atUK77//vn3ezZs35zv/VA2AkSNHQtM0XL58Gfv27UP37t1x11136b4uCuPll18GcCVbckFuuumm65ZlGLjSZ9nPz0/ZD1X1vHHneqV1FOd6nTGbzfj3339Ru3ZtZQPVdv3u3bvX5XW4c7sL872hcePG+UKoIyMjAcChT/C1065+FtnqrGoY3nbbbcr1ZmZm4ueff0aPHj0cfqiw+e2339CpUyf4+/vjjz/+UN6LnK23devW8PSUB1Eoie8+RMWNw4ZQgWxvoQp6M6L6JdJWpvqVPDMzEwAKNTRBWFgYvLy8kJycjKysLKdvKePi4gD8/8PnatcmBwBgv/G7Mibm1aS3BJ6eng4NrYsXLwIADhw4gAMHDojLUyUfKAyDwYDw8HAMHDgQWVlZGDZsGObOnYsPP/zQ6d8tWLDA3jDr2rUrqlataj/2r7/+OrKzsx22adOmTZgxYwZWr15t77daqVIljBw5Es8//7zyQV2Q0aNH4+2338aCBQvw1FNPFfrvAgICMHXqVIwePRpz5861f0m+lioBySOPPKL80uPl5YWBAwfi9ddfx5YtW7BhwwaMHTvW6ReFazVp0gTNmzfH4sWLER0djUuXLhVbMp6r2ZKPrFy5EmfOnMEff/wBTdPQqVMnNGrUCD4+PoiNjcVdd92FzZs3i19SXaG6xoAr54yea6w4rlV/f3+0atUK33zzDVq0aIHhw4fbx7MF/v8aTk1NtfePtLElw1Fd5z4+PujZsyd69uwJ4Mq9cv78+Zg6dSqefvpp9OnTBxEREdi8eXO+c3Dw4MHi2KK+vr5o3LgxlixZgvPnz2PChAno3r27ve/n1fVVMZvNTvu9A1e+/N5333346quv8MMPP+R7C1qSUlNT7REn1yooYqao6zUajcrhofSsNyIiAgCQkJBQ5DrZzj9p/bbn3dVJm/Ry13YDhfve4Owadzbt6v6JZrNZd53Xr1+Py5cvi/0n9+zZg/T0dHTt2hU1a9ZUzmPbz5UrV843TaqPjZ7vPkRlBd9QUoFsX7ZsDSGJKqmNrUz1Jcy2vMK8rfH09ETLli2Rl5cnJpmwsY2xaEv6U9rYHpR9+/ZVvoGyfa5NCOMKW+KXgkIE8/LyMHv2bERGRmL//v349NNPMW/ePMyYMQPTp0/Pl6kUuNLIf+utt5CQkIB//vkHb7/9NkJDQzF9+nSxQVcQX19fzJw5E+np6bqzTz7xxBOoVasW3nrrLfuPCtdS7WdnA7gPHToUVqsVAwYMgNVqtYdH6zF06FAcPXoUEyZMQFRUFO666y7dy3CF7Y1FbGwsNm/ejKCgIDRr1gwmkwlt2rRBbGwsjh49ioSEBLe9nSwrPD090bFjR2RkZGDXrl32clvomiqplK3s6vA2iY+PD6ZMmYL27dsjJyfHnoFzxowZ+c6/wmZ77Nq1K6xWq/3NckH1TUpKQnp6eqHq++KLL8LT09OejKW0CAoKwvnz55XTVM8bW/SJanxXZ6G/qvVarVblGyQ9ydtiYmJQpUoVxMXF6U5Udi3bc0Navy289uqGmN794a7tBgr/vaGoAgMDddd5zZo18PHxsSeuutbIkSMxdOhQfPXVV3jwwQeV+8+2n1UZ0KX62Oj57kNUVrBBSQVq0KABjEYjDh8+7HS+q7/oXFumGtjbtryCUnbb2LJJzp07VzkUCXDl19BXX30VAK7LmyBX1K9fH4GBgdi1a5eujKausIV/FvQlMTk5GampqWjTpk2+X1x37dpl/0VVxWAwoH79+hgxYgTWr18PAEUa+mTw4MFo0KABPvzww0IPKQNceaP4wgsvICsrq1AZFQvj5ptvRuvWrZGQkIBbb70V9evX172MBx98ED4+PkhISMCgQYNcenPriqv7UdqyQNrW3alTJ+zZs8c+BEZh+0/a/r6ob/NLA1vY3NXDfXTo0AEA8mVlBoCffvrJYZ7CcKUvsaQ461uvXj0MHToUf//9N5YvX+6O6rpFkyZNkJGRkW/4HkD9vLFFGqjeCKq6XThbr7QOVZkzth+hCupXB0D5w51NYGAgatasiWPHjim3z5bx9+pQUdvb6cLuD3dut+25XtD3hqKy1Vk1bMqWLVvylVmtVqxduxZdunRx6Cd6NaPRiA8//BDDhg3Dl19+iYceeihfo9LZenfs2KFshNro/e5DVBawQUkFCg4ORuPGjbFr1y6nDZPZs2c7/OqZmpqKF154AQaDAYMHD843//bt2wEU/gvaI488gtatW+OXX37BE088kS+UJjU1Fffffz+OHj2K/v37o1OnToVa7vXm6emJJ598EqdOncK4ceOUjcr9+/crf/nUw2Kx4I033gBwJcGJM5UrV4avry92796Ny5cv28tTUlKUadpPnjypHNvM9otwQYmTnPHw8MCLL76I3NzcfON9FuT+++/HLbfcgmXLlrktJfvHH3+Mr7/+GosWLXLp74ODg/HTTz/h66+/xtixY91Sp8K46aabEBERge+++w4HDx50uB46duwIi8Vi75NX2DeUtr4/0hvg0ubqt49Xsx2P4OBgh0iGAQMGICgoCG+99ZZDwoz4+Hi8/fbbqFixIu699157+YoVK7Bp0yblD1zbtm1DbGwsPD09C50YS6rv3r178f7778PLy8shOUjnzp1Rs2ZNfPbZZw5951JTU/Hiiy/C29u7UEPcAFfenlaoUAHTpk0T7/OHDh3S1be7qGyJd55//nmHHzGkhm9gYCDq1auXb3zjtLQ0TJo0Sfd6Z82a5dD1ICEhwX5PLaxx48ahXr16WLZsGSZPnuzQdcDmxIkT6NOnj0OyGZXBgwcjNzcXkyZNcjjn/vrrLyxZsgRBQUEO4dMtW7YEgHxvwVetWqWM9HHndtue67bnfHF56KGHAFyp89U/fCYlJSnrvHXrVpw7d67A4UIMBgM++OADPP744/jyyy/xv//9z6GR2Lt3b/j7+2PRokU4fvy4vTwvLw9Tp051uuzt27fD09MTbdu2LdQ2EpUF7ENJhXLvvfdi+vTp2LZtm3gTrFu3Lho2bIi+ffsCuJKlMj4+Hs8880y+bIrAlX4MISEhBTZ2bLy8vLBmzRr06tULCxcuxNq1a3H33XejcuXKSEhIwNq1a3HhwgXcc889bgkXLU4zZ87E7t278eabb+L7779H+/bt7dvx999/Y9++fdi6dauyf4bKrl27HBpf586dw6ZNm3D48GFER0djypQpTv/eaDTiqaeewoIFC9CkSRP07NkTZrMZP/74I2JiYhAVFeUw/969e3HfffehVatWuPnmmxEREYGEhAR88803MBqNRW449erVC+3atcPvv/+u6+8MBgNeeukl3HnnnThx4kSR6mBz8803F2rAcWcKe467W8eOHfH555/b/23TqlUr+Pn54fz586hXr56yv7FKp06dMH/+fAwfPhx9+/aFn58fYmJiijXjZlG0bNkSDRs2ROPGjVG1alVkZGTgr7/+wm+//QYvLy98/PHHDm8pQkJC8Pbbb+Phhx9G8+bN7Vlmv/jiC1y4cAFffPEFAgIC7PNv27YNb7zxBqpUqYL27dsjOjoaOTk5OHjwIH7++WdYrVa89NJLqFKlSqHq269fP3h6euKWW26xL+vw4cNYv349NE3DG2+84RCi7enpiY8++gjdunVD+/bt8cADDyAgIACrV6/GqVOnMH/+fKch3VeLiIjA2LFjMWfOHHEe2xt6KUJEMnv2bDG8b+LEiWKin8GDB+Ozzz7DunXr0KxZM9x11124ePEiPv/8c3Tt2hVr167N9zfPPvsshg8fjjZt2qB///6wWq348ccf7Y2rwujYsSMeffRRLF68GI0aNcK9996L7OxsfPHFF7j11luV65UEBATgp59+Qu/evTF37lwsXrzY3kf98uXL2LNnD/744w94enoWmHRp/Pjx+P7777F8+XIcPHgQnTt3xrlz5/DFF18gLy8PH374ocP52bt3b9SqVQtLlixBXFwcmjVrhoMHD2LTpk24++678cMPPxTbdjdu3Bg1a9a0R60Uly5duuDBBx/EZ599hkaNGqFPnz7Izs7Gl19+idatW+O7775zSMRne0bZ+js7YzAY8N5778FoNOK9996DpmlYsWIFPD09ERwcjFdffRXDhw/HLbfcggceeABBQUH44YcfYDKZEBUVlS8BIACkp6dj27ZtuPPOO8U3pERlUrEPTEI3hISEBM3T01N78skn802zjR+WmZmpjR8/XqtWrZrm7e2t1atXT3vzzTcdxsuyOXHihGYwGLQxY8borktubq720UcfaZ06ddLCwsI0Ly8vrXLlylqPHj20lStXKv/GlfHJ9I5DKY05pVqOpmlaXl6e9sEHH2i33XabFhgYqJlMJi06Olrr3r279t577zmMAya5esy+qz8+Pj5a/fr1teeee045pp6qvjk5OdqcOXO0OnXq2Ovy7LPPamlpafnmj4uL0yZOnKjdeuutWuXKlTVvb28tOjpau++++wo15pym5R+H8lp//PGHfXucjUOp0rVrV/vfujoOZUEKGoeyIAWNQ6l3rEWVhQsXagC0ihUr5rsObftIqquqbpqmaS+//LJWp04dzcvLK9880t9omvqcczYG4LXXmKYVfB1f68UXX9TuvPNOrUqVKpq3t7fm4+Oj1a1bVxs+fLj2zz//iH/3448/arfffrvm5+en+fv7ax06dFCOp3f69Gntrbfe0nr27KnVrl1b8/Pzs18L/fv31zZu3Fioetp88MEHWs+ePbXo6GjN19dXM5lMWvXq1bWBAwdq27ZtE/9u+/btWvfu3bXAwEDN19dXa9WqVb4xPG2uHofyWqmpqfbxBt05DqWzj20cROk+mZGRoY0fP16rUqWKZjKZtJtvvllbuHCh0/PknXfesZ+j0dHR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/PxQv379fPPZprNBSUREREREEg8vAzy85EajB9iHslT79NNPkZCQgFmzZgEAEhMTAQCRkZH55o2MjMTFixeRnZ0Nk8mExMREhIeH53vDavvbM2fOiOvNzs5Gdna2/f/MbEtEREREVP4Yjc6HBjFayu8bykJteSG6WRbbMg4dOoQRI0agTZs2GDx4MAAgMzMTAGAymfLN7+Pj4zBPZmZmoeZTmTt3LoKCguyfatWqubQNRERERERUdhn+GzbE2ae8KlSDsmHDhli5cqVLK4iLi8MTTzyBefPm6f7bpKQk9OjRA0FBQVi1apU9eY6vry8AOLw9tMnKynKYx9fXt1DzqUyaNAmpqan2T1xcnO5tICIiIiKiss3Wh9LZp7wq1JbXqVMH999/P2rWrInp06fj77//dvrG8cKFC1ixYgXuuece1K5dG2vWrFH2d3QmNTUVd911Fy5duoR169YhKirKPs0WrmoLfb1aYmIiQkND7W8lIyMjkZSUlK++tr+9ernXMplMCAwMdPgQEREREVH54uHlWeCnvCrUln/zzTf45ZdfMHXqVMyePRsvvPAC/Pz80LRpU4SHhyM4OBhZWVm4ePEiDh8+jBMnTgAAQkJCMGHCBIwfPx7+/v6FrlRWVhZ69uyJI0eOYMOGDbj55psdplepUgWVKlXCrl278v3tjh070LRpU/v/mzZtio8++ggHDx50WM727dvt04mIiIiIiEQFvYUsx28oC92U7tChA3799VccOHAAixcvxqZNm7BlyxZYrVaH+cLCwtC7d2/ce++9GDBggLL/ojMWiwX3338/tm7dijVr1qBNmzbK+fr27YulS5ciLi7O3rdx48aNOHLkCMaOHWufr3fv3hg7dizeffddh3Eo33//fVSpUkU5TAkREREREZGNwVjAsCFGNigLrUGDBpg/fz4AICMjA2fOnMGFCxfg6+uLSpUqOQ0hLYxnn30W3377LXr27ImLFy/ik08+cZg+cOBAAMDkyZOxcuVKdOzYEU8//TTS09PxyiuvoFGjRnj00Uft81etWhVjxozBK6+8gtzcXLRs2RLffPMNfvvtN3z66af2fplEREREREQqBqPRaaOxPDcoDZo7Uri60R133IFffvlFnH51dQ8cOIBnnnkGv//+O7y9vdGjRw8sWLAA4eHhDn9jtVoxb948fPDBB0hMTESdOnUwadIkPPTQQ7rqZjabERQUhLNJSexPSURERESkg9lsRnhEBFJTU8vMd2nb9/+/nn4AASZvcb607Bw0fmNFmdo2dyl1DcrSjA1KIiIiIiLXlOUG5f6xDxbYoGz42mdlatvcpfymIyIiIiIiIiqEgoYGKc/DhrBBSURERERE5AQblDI2KImIiIiIiJwwenrC6GSsSaPFKk670ZXfpjQREREREVEh2N5QOvvo9euvv6Jnz56IioqCwWDAN9984zBd0zRMmzYNkZGR8PX1RZcuXXD06FE3bZH7sEFJRERERETkhNHDWOBHr4yMDDRp0gTvvPOOcvrLL7+MN998E++//z62b98OPz8/dOvWDVlZWUXdHLdiyCsREREREZETRi+PAkJeLbqXedddd+Guu+5STtM0Da+//jqmTJmC3r17AwCWLVuG8PBwfPPNN3jggQd0r6+4FOkN5ddff40BAwagcePGqF27tr380KFDePnll5GQkFDkChIREREREZWkwoa8ms1mh092drZL6ztx4gSSkpLQpUsXe1lQUBBat26NrVu3umWb3MWlN5RWqxX/+9//sGrVKgCAr68vMjMz7dNDQkLw/PPPw2KxYNKkSe6pKRERERERUQkwGIwwGJ1keTVcmVatWjWH8unTp2PGjBm615eUlAQACA8PdygPDw+3TystXHpD+dprr2HlypV4/PHHkZKSgnHjxjlMDw8Px+23347vv//eLZUkIiIiIiIqKQYPDxidfAweHgCAuLg4pKam2j/l4eWaSw3KJUuWoGXLlnj33XcRGBgIg8GQb57atWvjxIkTRa4gERERERFRSTJ6exb4AYDAwECHj8lkcml9ERERAICzZ886lJ89e9Y+rbRwqUF57Ngx3H777U7nCQsLw4ULF1yqFBERERERUWlhMBoL/LhTjRo1EBERgY0bN9rLzGYztm/fjjZt2rh1XUXlUh9KX19fpKamOp3n1KlTCA4OdmXxREREREREpUZBY026Mg5leno6jh07Zv//iRMnsHfvXoSGhiI6OhpjxozBCy+8gDp16qBGjRqYOnUqoqKi0KdPH1c2odi41KBs1qwZfvrpJ2RlZcHHxyff9IsXL2LdunVo3759kStIRERERERUkgxGg/MGpTF/F8CC7Nq1Cx07drT//5lnngEADB48GEuWLMH48eORkZGB4cOH49KlS2jXrh3WrVunbH+VJJfezY4ePRrx8fHo27cv4uPjHaYdP34c9957L1JTUzF69Gi3VJKIiIiIiKikGD29Cvzodccdd0DTtHyfJUuWAAAMBgNmzZqFpKQkZGVlYcOGDahbt66bt6zoXHpD2bt3b0yYMAHz5s1DTEwM/Pz8AACVK1fGhQsXoGkapk6dik6dOrm1skRERERERNed0ePKx9n0csrl3qNz587FTz/9hHvuuQcVKlSAh4cHrFYrunfvjh9//BEzZ850Zz2JiIiIiIhKhtFY8KeccukN5enTp+Ht7Y0777wTd955p7vrREREREREVGoYrhprUppeXrnUlK5RowYmT57s7roQERERERGVPp5egKe3k4/+PpQ3CpfeUIaEhCAsLMzddSEiIh00gzqjnEHTrnNNiIiIbmwFjTXp7nEoyxKXGpS33347tm/f7u66EBERERERlT6GApLyGBjyqsvcuXPx119/YdasWcjLy3N3nYiIiIiIiEoNg6dXgZ/yyqU3lC+//DIaNWqEmTNn4oMPPkCTJk0QHh4OwzXhVwaDAYsWLXJLRYmIiIiIiEoEhw0RudSgtA22CQCJiYlITExUzscGJRERERERlXlGYwENSvah1OXEiRPurkeZohkMYjIMQE6I4exviMoivee6u5LF6L2WSmq9JaWs1JNKnt5LQzq1btQ8UMW9vXqXX5Yubb3b4K5zUW999CpLx6A0KsvPJw4bInOpQRkTE+PuehAREREREZVOnl7OhwZhH0oiIiIiIiJSMRg9YHAS8ups2o3OpQblsmXLCj3voEGDXFkFERERERFR6WAwOu8naWAfSl0eeeSRfBldr6VpGgwGQ5EblHPmzMGUKVPQoEED7N+/32Hali1bMH78eOzevRuBgYEYMGAAXnzxRfj7+zvMl52djWnTpmH58uVISUlB48aN8cILL+DOO+8sUt2IiIiIiOjGxzeUMpcalIsXL1aWp6amYvfu3fjss8/Qq1cv9OzZs0iVi4+Px4svvgg/P7980/bu3YvOnTujfv36ePXVVxEfH4/58+fj6NGj+PHHHx3mfeSRR7Bq1SqMGTMGderUwZIlS3D33XcjNjYW7dq1010vg6a5lORD+ps8YVEexuJNbKKXFUJ9SqiDvURarxHFnyzJXYkULFb1gqRzorgTa+jdd2J9dCbrcVfyHb31lFYrHRdjCSUZKG0JPa7H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JFI2VynzW5ivOotcoEmdUS1LyOInZTb199aXYVQiZXOVMm4CgLewzVK2TykDr1gnIT2bnM1VXW4WztFE4RyVstpJpPVKKgmZf6Vsq76+6nPl7GV1NkBp/0j9HaTseNK5myFcw35ClkApm2EF4XyQjntYBX0ZtX3CA3QtX7qWpEyoUv3PZaiPiyTNyTUmrcNLSOAmZf7NErZZuk9IXxQSzOrMiNFCxl4pU7CUXVsi3V+l+3qIcO5KWbGDTOr5peeDj7DjpPpIWVul/aAJ9UwX7mUVfdVfb6TjniMcFyHZupglOEh4jknnrZTlVXrTIe2f6CD195HTqeoNMHmq6+nl5EEpnXNS1mop22qNEPX3Luk7zDkhO6t0H60ZWkFZLmXOFzNHC/taylwsLUd6rkpZrqXnj/Qck+4pUsZeKVOwdOiThP0vZcK/rVaYekH/uWzSmzu59LBYr3ycTS+vXGpQfvzxx0UaY9KZqKgoHDhwAOHh4Q7llStXBnDl7WitWrUA/H/o69USExMRFRVl/39kZCQSEhKU89nWJzGZTMq3m0REREREVH7wDaXM5TeUxeWWW27B+vXr7Ul5bGx9HStVqoSGDRvC09MTu3btwoABA+zz5OTkYO/evQ5lTZs2RWxsLMxms0Ninu3bt9unExERERERSfKsmtOILWms8PJAV7xdXl4eli1bhlGjRmH06NH49NNPkZenL5SpILbG4KJFixzKP/roI3h6euKOO+5AUFAQunTpgk8++QRpaWn2eZYvX4709HT079/fXtavXz9YLBYsXLjQXpadnY3FixejdevWDiGsRERERERE17KFvDr7lFeFfkN5+fJldOjQAbt377b3fXjnnXfw1ltvITY21mlfRD2aNWuGIUOG4OOPP0ZeXh46dOiAzZs3Y+XKlZg0aZI9RHXOnDlo27YtOnTogOHDhyM+Ph4LFixA165d0b17d/vyWrdujf79+2PSpEk4d+4cateujaVLl+LkyZP5Gq1ERERERETXYsirrNANyldeeQV//vknbrrpJnvI69KlS7Fz504sWLAAU6ZMcVul3n//fURHR2Px4sX4+uuvERMTg9deew1jxoyxz9O8eXNs2LABEyZMwNixYxEQEIChQ4di7ty5+Za3bNkyTJ06FcuXL0dKSgoaN26MtWvXon379m6rMxERERER3ZgKGhqkPA8bYtCk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CAjALbfcglGjRqFXr14lXT0qo+644w4kJydj//79JV0VKuXefPNNfPrppzh27BjMZjMqVaqEzp07Y/r06ahdu3ZJV4/cgA1KIiIiIiIicgmDlomIiIiIiMglbFASERERERGRS9igJCIiIiIiIpewQUlEREREREQuYYOSiIiIiIiIXMIGJREREREREbmEDUoiIiIiIiJyCRuURERERERE5BI2KImIiIiIiMglbFASERERERGRS9igJCKi6+7kyZMwGAwOnwoVKiAqKgqdO3fGtGnTcPz48ZKuJhERERXAoGmaVtKVICKi8uXkyZOoUaMGatWqhYEDBwIAsrOzce7cOezYsQP79++Hh4cHxo8fjzlz5sBgMJRwjYmIiEjFs6QrQERE5Vft2rUxY8aMfOW///47Hn74YcydOxceHh6YPXv29a8cERERFYghr0REVOq0a9cO69atg8lkwssvv4y4uDgAQGpqKubNm4cOHTogKioK3t7eiIqKwqBBg/KFyE6ZMgUGgwFffvmlch0ff/wxDAYD5s6day/bvXs3+vXrh+joaJhMJlSqVAktW7bEnDlzim9jiYiIyjCGvBIR0XVnC3nt1q0b1q1bJ843aNAgLF++HG+++SZGjRqFbdu2oUOHDujYsSNq1aoFPz8/HDp0CD/88AOCgoKwe/duxMTEAABOnTqFmjVronPnzvj555/zLbtNmzbYtWsX4uLiEBERgb179+LWW2+Fh4cHevfujZiYGFy6dAn//PMPTp48iVOnThXb/iAiIiqrGPJKRESl1h133IHly5dj586dAID69esjMTERoaGhDvPFxsaiS5cueOGFF/Dhhx8CAGJiYuwN1pMnT6J69er2+Q8cOIBt27ahT58+iIiIAAAsX74c2dnZ+Oabb9C7d2+H5V+4cKEYt5KIiKjsYsgrERGVWlFRUQCA5ORkAEBQUFC+xiQAdOzYEQ0aNMCGDRscyp944glomoZFixY5lH/00UcAgGHDhuVblq+vb76ysLAw1zaAiIjoBscGJRERlSmbN29Gnz59EBkZCS8vL/uwI3///TfOnDnjMG+PHj1QpUoVLF68GBaLBQCQk5OD5cuXo1q1aujevbt93gEDBsBoNOLee+/FkCFD8PnnnyMhIeG6bhsREVFZwwYlERGVWrYGYqVKlQAAK1euRKdOnbBp0ya0a9cOY8aMwbRp0zB9+nTExMQgJyfH4e89PDzw2GOPISEhAT/++CMA4Ouvv8aFCxcwZMgQGI3//xhs3bo1Nm/ejPbt2+Ozzz7Dgw8+iKpVq6JVq1aIjY29TltMRERUtrAPJRERlVqbN28GALRs2RIAMGPGDPj4+ODPP/9EnTp1HOZdsWKFchmPPfaYvW/lPffcg48++ghGoxFDhgzJN+/tt9+OH3/8EZmZmdi+fTu+++47vPvuu+jRowf279+PmjVruncDiYiIyji+oSQiolLpyJEj+PLLL2EymXDvvfcCAI4fP4769evna0wmJibi33//VS6natWq6NGjB3744Qds2bIFGzduRLdu3RAdHS2u29fXF3fccQcWLFiAyZMnIzMzE+vXr3ffxhEREd0g2KAkIqJS548//kC3bt2QnZ2NiRMnokqVKgCuZG49duwYzp49a583KysLTz75JHJzc8XlPf7448jLy0P//v2haZoyGc/WrVuRlZWVr9y2Lh8fn6JuFhER0Q2H41ASEdF1ZxuHslatWhg4cCCAK8lyzp07hx07duDvv/+Gh4cHJk2ahFmzZsFgMAAA3n77bYwaNQqRkZHo168f8vLysH79emiaBn9/f+zbtw+qx5rVakXNmjVx6tQpREREIC4uDp6ejr0++vTpg9jYWLRv3x41atSAj48Pdu/ejY0bN6JmzZrYs2cPAgMDi3/nEBERlSFsUBIR0XVna1BezdfXF8HBwbjpppvQrl07DB48GLVq1XKYR9M0LFy4EG+99RaOHz+O4OBg9OjRA3PnzkX//v3xyy+/KBuUADB16lS88MILmDhxIubOnZtv+k8//YTPPvsM27dvx5kzZ6BpGqKjo9GnTx+MHTsWFStWdN8OICIiukGwQUlEROXCPffcgx9++AFHjhxB7dq1S7o6RERENwT2oSQiohveP//8gx9++AF33nknG5NERERuxGFDiIjohvXZZ5/h8OHDWLZsGQBg+vTpJVwjIiKiGwsblEREdMNauHAhfvvtN8TExGDRokVo27ZtSVeJiIjohsI+lEREREREROQS9qEkIiIiIiIil7BBSURERERERC5hg5KIiIiIiIhcwgYlERERERERuYQNSiIiIiIiInIJG5RERERERETkEjYoiYiIiIiIyCVsUBIREREREZFL2KAkIiIiIiIil/wfLF219zusfW0AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import xarray as xr\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Prepare the figure and axes\n", + "fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(10, 6))\n", + "\n", + "ax = axes[0]\n", + "(bias_q*1e3).plot(ax=ax)\n", + "ax.invert_yaxis()\n", + "ax.set_xlim(0, 5)\n", + "ax.set_title('(a) Online Bias NN-MMF within 30S-30N: Moisture (g/kg)',fontsize=14)\n", + "ax.set_xlabel('Days',fontsize=14)\n", + "ax.set_ylabel('Hybrid Pressure (hPa)',fontsize=14)\n", + "ax.tick_params(axis='both', which='major', labelsize=12)\n", + "\n", + "ax = axes[1]\n", + "(bias_qc*1e6).plot(ax=ax)\n", + "ax.invert_yaxis()\n", + "ax.set_xlim(0, 5)\n", + "ax.set_title('(b) Online Bias NN-MMF within 30S-30N: Liquid Cloud (mg/kg)',fontsize=14)\n", + "ax.set_xlabel('Days',fontsize=14)\n", + "ax.set_ylabel('Hybrid Pressure (hPa)',fontsize=14)\n", + "ax.tick_params(axis='both', which='major', labelsize=12)\n", + "plt.tight_layout()\n", + "# plt.savefig('/global/homes/z/zeyuanhu/notebooks/james-plots/error-growth.pdf', format='pdf', dpi=300, bbox_inches='tight')\n", + "\n", + "# plt.tight_layout()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4876c881-51b8-4234-9d54-0f79eef4b7af", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "climsim", + "language": "python", + "name": "climsim" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/evaluation/microphysics-constraints-data-exploration-analysis.ipynb b/online_testing/evaluation/microphysics-constraints-data-exploration-analysis.ipynb new file mode 100644 index 0000000..101a728 --- /dev/null +++ b/online_testing/evaluation/microphysics-constraints-data-exploration-analysis.ipynb @@ -0,0 +1,563 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "1b52aa37-941e-4875-83fb-a0d4bfc8862b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import xarray as xr\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import glob" + ] + }, + { + "cell_type": "markdown", + "id": "12e96931-027a-4e09-b628-11d42dcb80a6", + "metadata": {}, + "source": [ + "# Exploratory Data Analysis (EDA) of Cloud Microphysics Constraints\n", + "\n", + "In this notebook, we perform some data exploration analysis to justify the two microphysics constraints used in \"Stable Machine-Learning Parameterization of Subgrid Processes with Real Geography and Full-physics Emulation\", Hu et al. 2024, arXiv preprint:2306.08754." + ] + }, + { + "cell_type": "markdown", + "id": "6512fee0-a3ea-4fec-9096-a710af88afb0", + "metadata": {}, + "source": [ + "## Set data path\n", + "\n", + "All the simulation output, saved model weights, and preprocessed data used in Hu et al. 2024 \"Stable Machine-Learning Parameterization of Subgrid Processes with Real Geography and Full-physics Emulation\" are provided in a hu_etal2024_data folder that you can download. Please change the following path to your downloaded hu_etal2024_data folder." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "fba81fdb-86c4-4941-8892-71515b12a37c", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "data_path = '/global/homes/z/zeyuanhu/scratch/hu_etal2024_data/'" + ] + }, + { + "cell_type": "markdown", + "id": "29ff9121-4d13-4709-a628-931915b7a798", + "metadata": {}, + "source": [ + "## 1. Cloud liquid-ice partition is controlled by temperature" + ] + }, + { + "cell_type": "markdown", + "id": "cc826b0e-cef6-4ef8-8120-f713531fc688", + "metadata": {}, + "source": [ + "Here we read in one-year hourly data from E3SM mmf reference simulation." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "2c141701-75f5-4b2e-912f-c766d88eb66d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ds_sp_h2 = xr.open_dataset(data_path+'microphysics_hourly/liq_partition_control_fullysp_jan_wmlio_r3.eam.h2.0003.nc')\n" + ] + }, + { + "cell_type": "markdown", + "id": "2d7bc317-b5d9-4c10-9ac2-91881e8f645a", + "metadata": {}, + "source": [ + "In the cloud-resolving model SAM, it uses a one-moment microphysics scheme. On each SAM grid, the cloud liquid and ice are diagnosed based on temperature, as described by the \"apply_rules\" function below and is shown in the Figure a below. This is hardcoded in SAM's code. " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "67c36f1a-fba5-4f07-834f-45c5fa76053e", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "def apply_rules(T):\n", + " # Create an output array with the same shape as T initialized with zeros\n", + " result = xr.zeros_like(T)\n", + " \n", + " # Apply the condition for T < 253.16\n", + " result = xr.where(T < 253.16, 0, result)\n", + " \n", + " # Apply the condition for T > 273.16\n", + " result = xr.where(T > 273.16, 1, result)\n", + " \n", + " # Linearly transit from 0 to 1 for T within (253.16, 273.16)\n", + " result = xr.where((T >= 253.16) & (T <= 273.16), (T - 253.16) / (273.16 - 253.16), result)\n", + " \n", + " return result" + ] + }, + { + "cell_type": "markdown", + "id": "4652c2cf-16b4-434a-88df-587a9cdab6cf", + "metadata": {}, + "source": [ + "Now let's compare the liquid cloud fraction (i.e., liquid/(liquid+ice)) on the actual E3SM grid versus the predicted fraction using E3SM grid's temperature:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "eb57c87c-e018-4b8c-9630-54ab2550e144", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ratio_sam = apply_rules(ds_sp_h2.T)\n", + "ratio_e3sm = ds_sp_h2.CLDLIQ/(ds_sp_h2.CLDLIQ + ds_sp_h2.CLDICE)\n", + "\n", + "sampling_freq = 1\n", + "t_sub = ds_sp_h2.T[::sampling_freq].values.flatten()\n", + "ratio_sam_sub = ratio_sam[::sampling_freq].values.flatten()\n", + "ratio_e3sm_sub = ratio_e3sm[::sampling_freq].values.flatten()\n", + "qc_sub = ds_sp_h2.CLDLIQ[::sampling_freq].values.flatten()\n", + "qi_sub = ds_sp_h2.CLDICE[::sampling_freq].values.flatten()\n", + "qn_sub = qc_sub+qi_sub" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "9e1b2f7f-539b-4abd-8a2d-39f67440dccf", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Filtering data to remove very small values\n", + "sam_values = ratio_sam_sub[qn_sub > 1e-12]\n", + "e3sm_values = ratio_e3sm_sub[qn_sub > 1e-12]\n", + "\n", + "x_edges = np.linspace(0, 1, 41, endpoint=True)\n", + "y_edges = np.linspace(0, 1, 41, endpoint=True)\n", + "\n", + "# Compute the 2D histogram\n", + "histogram, x_edges, y_edges = np.histogram2d(sam_values, e3sm_values, bins=(x_edges, y_edges))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "2ebb6131-91d5-4229-917a-8b906211d1ba", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_2270070/2711871604.py:12: UserWarning: Log scale: values of z <= 0 have been masked\n", + " contour = ax1.contourf(X, Y, histogram, levels=15, cmap='plasma', norm=LogNorm())\n" + ] + }, + { + "data": { + "image/png": "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//33Hx9//HG+r+ETTzzBa6+9ZpLXvnbt2owePZq3336bq1ev0qlTJ27fvk10dDTTpk2jcuXKTJ8+nWbNmhEWFsaoUaPw9/cnMTGR3bt306ZNm1zHrzHm+nvYyy+/zLJly+jSpQtvvfUWd+/e5e2336Zq1ara6Y8dHBzo168fn332GTVr1sTX15fPPvtMr6XLxIkTWbBgAd26dWPSpElcu3aNyMhIypUrV+Dnqaiys7MNBpwhISF663x8fBg9ejTvvvsubm5uNG7cmFWrVulNG23sZ8XDivLef/fdd+nYsSOhoaG8+OKLlC1blsOHD2unZH+Yr68v48ePZ+7cubi6utKiRQs2b97MypUr+fTTT7VjqfTr14+pU6cyYsQIRo4cybFjx3QGgS7I8yJM559//tGZke7KlSvs3LmTkSNHsnjxYgBatGjBN998wyuvvGKpagohhEESnmiYY6adgpDgxPZJC5QS5vvvv+ell17i888/p1u3bkRERFCmTBnt448//ji//PILt27d0v5FbcaMGbi7u1OzZs1cy3VxcSEmJoYnn3yS2bNn07VrVyIjIw2OfZGjSZMmbN26ldTUVO1NcI8ePfjpp590BmX85ptvqFmzJsOGDePVV19lwoQJNG3aVKesRo0a8d133/HPP//Qt29fli1bxurVq3FxMdGIV1YoIyODwYMH06xZM1577TUAVCoVUVFRXLhwQTud6YABA9i8eTMnTpxg0KBB9OrVi48++gg/Pz9tVyE3Nze2bt2Kn58fzz77LG+88Qavv/46zZo1K3I9VSoVGzZsoEmTJrzwwguMHj2aXr166Q30Wq5cOb7//nuSk5Pp06cP//vf/1ixYkW+r2H16tVZtWqVyV77zz77jNmzZ7Nu3Tp69uzJmDFjuHnzprZ7Ts2aNTlw4ADlypXjxRdfJCwsjEmTJpGWlkaDBg3yLDu/6+9hAQEB7N69m7Jly/LMM88watQogoOD2bVrl053oU8//ZT27dvz0ksv8cILL9C1a1e9wUUrVqzITz/9xJ07dxgwYADvvfceCxYs0LbcKE53795lwIABev9iY2MNbv/uu+8yevRo3n//fe34QO+++67edsZ8VjysKO/91q1bs2vXLlQqFcOGDaNfv36sW7eOwMDAXPeZO3cuU6dO5csvv6Rnz55s3ryZxYsXM27cOO02jz32GMuXL+eP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evVqXLhwAcHBwUhJScF3332Hnj17ltkPhzru7u7Izs5G69at0bt3b2RnZ+O7777DvXv38MUXX6jt50X+7HTz5k24ubmhd+/eWu2zPPKRXAYMGAAfHx9069YNzZo1Q25uLm7cuIHff/8dHTp0wO7du3W635LCwsLw3nvvITY2Fi+88AIuXLiAn376Cc7OziqJh2+//RadO3fGa6+9hiVLlqBt27awtrZGcnIyEhMTcffuXY37kPPz84Ofnx++++473LlzB//5z3+QnJyMH3/8ET179lTbXL5Lly44fvw4unfvjqCgIFhYWCA4OBjBwcHw8PDA4MGDsWnTJvj6+qJbt25IT0/H9u3b0a1bN2zbtk2r49KyZUt8+eWXeOedd9C0aVP06NEDDRs2xKNHj3D9+nX8/vvvGD58OFauXKnVdqmKSDV+MhE9JR+7/lkFBQXif//7nwgMDBR2dnbC0tJS1KtXT3Tr1k2sWLFCPH78WLFuRESEACCSkpJUttOpUye125fv+9lx7uXr//PPP+Kjjz4Snp6ewsLCQjRt2lR88cUXoqioSO224uLiRO/evUWdOnWEubm5cHNzEwEBAeKTTz4RycnJivXWr18vAIj169eXeky+//570bZtW2FjYyOcnZ3FwIEDxbVr10ot565du0T79u2FtbW1AKBS3t9++034+/sLS0tL8dxzz4mhQ4eKtLQ0tccmOjpaABD79u0rNb6cnBwxf/584evrK2rVqiWsra1F/fr1RXh4uNi4caPIz88v9bUlbdmyRQAQW7Zs0Wj9svzxxx9i5MiRolGjRsLa2lpYWloKb29vMWTIEBEXF6eyfkxMjAAgduzYUel9E5HhSkpKUnwulvavU6dOQggh9u3bJwCI6Ohole3s379fBAcHC2tra+Hk5CQGDBggbt68Weo9JikpSYSHhwtbW1tRq1Yt8dJLL4k//vhD7WesPMaIiAiV7Zw7d0706NFD1K5dW9ja2oru3buLc+fOlXnfUweAaNq0aanLf/rpJwFABAUFKeadPn1adO3aVTg6OgpbW1vRqVMnsXfv3lLvY5cvXxY9evQQDg4OQiaTKZWzrHvf/v37Rffu3YWDg4OwsLAQTZo0EVOnTlW6z5dHfjwSExPLXbcq7nPanKey3mepqani/fffFw0aNBAWFhbCyclJ+Pv7i0WLFimtV9axltuyZYsIDQ0Vjo6OwtzcXNStW1eEhISIzz77TNy9e1dp3Xv37ok333xT1KlTR1hZWQlfX1/xww8/aPTMUpL8uer+/fvizTffFK6ursLS0lL4+PiITZs2lfnaKVOmCABi0qRJGu2rNPKY1R3fS5cuiVGjRgkvLy9hYWEhHB0dRatWrcR7770njh07plivrGuyrPOn7niVXP/AgQOiU6dOolatWsLOzk7069dPXLlyRW057t+/L6ZMmSJatmwprK2tRe3atUXjxo3FkCFDxA8//KC0rrrn2ZLS09PFyJEjhYeHh7CyshKtWrUSy5cvF9evX1dbzkePHokxY8YId3d3YWpqqlLenJwc8d577ynOb+vWrcU333xT6rEp+TlbmmPHjonXXntNeHh4CHNzc+Hs7Czatm0rJk2aJC5evFjma0l/ZEKoqZdHRDVaSEgIfv/9d7XVdkm38vPz0bRpUzRs2BBxcXF63XdQUBDS0tJw8eJFlTbBRESa4j2DSDd69eqF2NhY/PXXX2jUqJHU4ehMQkICOnfujOjoaLXNiYmqE/aBQkQkIXNzc8ydOxd79+5V6rywqsXHx+PgwYP49NNPmTwhIiKS2J9//onY2Fi8/PLLRpU8ITI27AOFiEhigwYNQnJystoOeKvKw4cPsXDhQvTr109v+yQiIiJlmzZtwuXLl7Fx40YAUHRoTESGiQkUIiIDoO9OAl955RW97o+IiIhUrVq1CgcOHICXlxfWrl3LUfGIDBz7QCEiIiIiIiIiKgf7QCEiIiIiIiIiKgcTKERERERERERE5WAChYiIiIiIiIioHEygEBERERERERGVgwkUIiIiIiIiIqJyMIFCRERERERERFQOJlCIiIiIiIiIiMrBBAoRERERERERUTn+H7uoXMIpF38SAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.colors import LogNorm\n", + "\n", + "# Create a figure and a set of subplots\n", + "fig, (ax2, ax1) = plt.subplots(1, 2, figsize=(13, 4))\n", + "\n", + "# First subplot for the 2D histogram\n", + "X, Y = np.meshgrid(x_edges[:-1], y_edges[:-1], indexing=\"ij\")\n", + "# contour = ax1.contourf(X, Y, np.log10(histogram + 1), levels=15, cmap='viridis')\n", + "# fig.colorbar(contour, ax=ax1, label='Log of counts in bin')\n", + "contour = ax1.contourf(X, Y, histogram, levels=15, cmap='plasma', norm=LogNorm())\n", + "cbar = fig.colorbar(contour, ax=ax1, label='Log of counts in bin')\n", + "cbar.set_label('Counts in Bin', rotation=270, labelpad=10, fontsize=14)\n", + "\n", + "ax1.set_xlabel('Liquid Ratio Predicted by Temperature', fontsize=14)\n", + "ax1.set_ylabel('Liquid Ratio on E3SM Grids', fontsize=14)\n", + "ax1.set_title('', fontsize=14)\n", + "ax1.grid(True)\n", + "\n", + "# Second subplot for the piecewise function\n", + "def piecewise_function(x):\n", + " if x > 0:\n", + " return 1\n", + " elif x < -20:\n", + " return 0\n", + " else:\n", + " return (x + 20) / 20\n", + "\n", + "x_values = np.linspace(-30, 10, 400)\n", + "y_values = [piecewise_function(x) for x in x_values]\n", + "\n", + "ax2.plot(x_values, y_values, color='red', linewidth=2)\n", + "ax2.set_title('Liquid Ratio as a Function of Temperature', fontsize=14)\n", + "ax2.set_xlabel('Temperature (°C)', fontsize=14)\n", + "ax2.set_ylabel('')\n", + "ax2.grid(True)\n", + "ax2.set_ylim(-0.1, 1.2)\n", + "\n", + "# Add vertical lines and text annotations\n", + "ax2.axvline(x=-20, color='orange', linestyle='--')\n", + "ax2.axvline(x=0, color='orange', linestyle='--')\n", + "ax2.text(-25, 1.1, 'Ice cloud', verticalalignment='center', horizontalalignment='center', fontsize=11)\n", + "ax2.text(-10, 1.1, 'Mixed liquid-ice cloud', verticalalignment='center', horizontalalignment='center', fontsize=11)\n", + "ax2.text(5, 1.1, 'Liquid cloud', verticalalignment='center', horizontalalignment='center', fontsize=11)\n", + "\n", + "# Adjust layout to add more space between panels\n", + "plt.subplots_adjust(wspace=0.25) # Adjust the width space between subplots\n", + "fig.text(0.07, 0.9, '(a)', fontsize=14, transform=fig.transFigure)\n", + "fig.text(0.49, 0.9, '(b)', fontsize=14, transform=fig.transFigure)\n", + "\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "id": "50d4754c-7b93-44e0-8b23-843e73ef2a82", + "metadata": {}, + "source": [ + "We can see that in the panel b above, on most E3SM grids the actual liquid ratio follows the temperature-based prediction well (as most grids are located on the lower left corner, diagonal, or the upper right corner). This motivate us to only predict total water and then use temperature to diagnose cloud liquid and ice separately." + ] + }, + { + "cell_type": "markdown", + "id": "39fd2502-d968-4926-837b-608045ec92bb", + "metadata": {}, + "source": [ + "## 2. Suppress clouds above tropopause\n", + "\n", + "In \"Stable Machine-Learning Parameterization of Subgrid Processes with Real Geography and Full-physics Emulation\" paper (Hu et al. 2024), we showed that in online simulations, the NN can generate excessive clouds in the stratosphere and explode the model. By physics, we know these clouds are rare and mostly form due to deep penetrating convection. For maintaining the online stability, we identify a tropopause level using p<400hPa and dtheta/dt>10 K/km and eliminate all clouds above the tropopause level at every model time step. Below we show that the distribution of cloud top level is indeed capped by our defined tropopause level most of the time (but not always). " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "e4397919-968b-4ae7-b6e5-7a903ecf1b64", + "metadata": {}, + "outputs": [], + "source": [ + "ds_nn_o = xr.open_dataset(data_path+'microphysics_hourly/control_fullysp_jan_wmlio_r3_tropopause.eam.h2.qn_mlo-0003.nc')\n", + "ds_nn_h2 = xr.open_dataset(data_path+'microphysics_hourly/tropopause-control_fullysp_jan_wmlio_r3_tropopause-0003.nc')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "df23a2a5-ad8c-43d3-9638-68ebed6a9476", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ps = ds_nn_h2['PS']\n", + "pmid = ds_nn_h2.hybm*ps + ds_nn_h2.hyam*ds_nn_h2['P0']\n", + "pmid = np.transpose(pmid.values, (1, 0, 2))\n", + "T = ds_nn_h2['T']\n", + "theta = T * (1e5/pmid)**(287./1005.)\n", + "z3 = ds_nn_h2['Z3']\n", + "\n", + "dthetadz = xr.zeros_like(theta)\n", + "dthetadz[:,1:-1,:] = (theta[:, :-2, :].values - theta[:, 2:, :].values) / (z3[:, :-2, :].values - z3[:, 2:, :].values)\n", + "dthetadz[:,0,:] = (theta[:, 0, :].values - theta[:, 1, :].values) / (z3[:, 0, :].values - z3[:, 1, :].values)\n", + "dthetadz[:,-1,:] = (theta[:, -2, :].values - theta[:, -1, :].values) / (z3[:, -2, :].values - z3[:, -1, :].values)\n", + "\n", + "qn_next= ds_nn_o['qn_next_tmp']" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "167c45ce-f06f-4eab-b11a-f98e07669c97", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "((8759, 60, 384), (8759, 60, 384), (8759, 60, 384))" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dthetadz.shape, qn_next.shape, pmid.shape #note that the data dimension is currently (num_time_steps, num_levels, num_columns)" + ] + }, + { + "cell_type": "markdown", + "id": "b88fd50c-3aee-41e2-95a0-44b3a7eb9e30", + "metadata": {}, + "source": [ + "Construct the cloud top levels defined as the level the first grid (from top to bottom) that exceeds a threshold of 1e-6 kg/kg. For comparison, we also calculate the cloud top level based on the threshold value of 1e-7 kg/kg." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "28bebd2a-f561-4623-8de8-b2a88c04a0de", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "mask = qn_next > 1e-7\n", + "\n", + "# Use 'argmax' along the 'level' dimension to find the first level where condition is True\n", + "first_true_indices = mask.argmax(dim='lev', skipna=True)\n", + "\n", + "# Check where any True exists to differentiate between actual index 0 and no True values\n", + "any_true = mask.any(dim='lev')\n", + "\n", + "# Using 'where' to filter out places with no True values\n", + "first_true_indices = first_true_indices.where(any_true, np.nan) # Replace with -1 where no True values are found\n", + "first_true_indices_qne7 = first_true_indices.compute()\n", + "\n", + "mask = qn_next > 1e-6\n", + "\n", + "# Use 'argmax' along the 'level' dimension to find the first level where condition is True\n", + "first_true_indices = mask.argmax(dim='lev', skipna=True)\n", + "\n", + "# Check where any True exists to differentiate between actual index 0 and no True values\n", + "any_true = mask.any(dim='lev')\n", + "\n", + "# Using 'where' to filter out places with no True values\n", + "first_true_indices = first_true_indices.where(any_true, np.nan) # Replace with -1 where no True values are found\n", + "first_true_indices_qne6 = first_true_indices.compute()" + ] + }, + { + "cell_type": "markdown", + "id": "ac76bc37-bb1e-4106-8708-c911977408ff", + "metadata": {}, + "source": [ + "Construct the tropopause level defined as the lowest level that satisfied p<400hPa and dtheta/dt>10 K/km." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "d01cd69a-cd92-4abf-943f-706534c58895", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "mask = xr.where((pmid < 40000) & (dthetadz * 1000 > 10), True, False)\n", + "reversed_mask = mask[:,::-1,:]\n", + "reversed_first_true_indices = reversed_mask.argmax(dim='lev', skipna=True)\n", + "last_true_indices = (mask.lev.size - 1) - reversed_first_true_indices\n", + "first_true_indices = last_true_indices\n", + "\n", + "# Check where any True exists to differentiate between actual index 0 and no True values\n", + "any_true = mask.any(dim='lev')\n", + "\n", + "# Using 'where' to filter out places with no True values\n", + "first_true_indices = first_true_indices.where(any_true,np.nan) # Replace with -1 where no True values are found\n", + "first_true_indices_p400_t10 = first_true_indices.compute()" + ] + }, + { + "cell_type": "markdown", + "id": "7e672ee1-3979-4741-9c98-b3093e222e92", + "metadata": { + "tags": [] + }, + "source": [ + "### Plotting the 2d histogram of tropopause level vs cloud top level" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "7d09cfa3-5ea4-4d97-9d26-7c67ffef1462", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_2270070/2437838606.py:21: UserWarning: Log scale: values of z <= 0 have been masked\n", + " cs = ax.contourf(X[:-1, :-1], Y[:-1, :-1], H.T, levels=100, cmap='Blues', norm=norm)\n" + ] + }, + { + "data": { + "image/png": "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Ip07dzZZ37lzZ06cOGH2a544cYKAgACTdWonMzpy5Ag7d+6kZs2axp8WLVoAcPbsWQCGDx/O999/b+yuWbFiBc8//zw2NjbGNt555x2TNkaPHs2lS5e4deuWqnoA6tevz4QJE4iNjWXjxo3s27ePwYMHc+zYMdVt5fvjjz/Iy8ujefPmJnXu3r3b+D7vXv/qq68WaOOrr76iVq1aZnUh3b59m65duzJ48GA++eQTdDqd8bH4+Hg6duxosr2/v3+BNjZu3Figu2vt2rVMnDiRHTt20K1bN+P6tLQ0UlJSTNqxtbWlQ4cOxdYqKheZU94CatSoQbNmzcze9m7t27cnISGBrVu38vPPP/Pcc88RGBjI2rVrzX59JycnVfUWJ39nrdw1s0Fubq5FXwMMXXX9+vXj/fffL/CYp6cnAP369UNRFLZs2ULHjh359ddfmTdvnkkbM2bMYPDgwQXaKMlc7jdv3mTt2rV8/fXXREdH061bN4KDgwtMQatGRkYGtra2xMTEYGtra/JYzZo1AUwupXZxcTHZRlEUli5dyosvvoi9vX2xr+fg4EBgYCA//PADb7zxBg0aNFBV76VLl/j999956qmnTNa3a9eO2NhYli5dip+fn0lQCQESKFbBxcWFoUOHMnToUJ555hmefPJJrl+/jpubG3Z2duTl5d33+W3btuXLL780Pqe41/Ly8mLv3r0m3zL37t1r/IZZr149wLBjqV27NkCBe0datmxZ4KT//v37zXq/+dq3b8/3339PkyZNqFat8F9FR0dHBg8ezIoVKzhz5gwPP/ww7du3N2kjPj7e7EAvTF5eHtu3b+frr79mw4YNNGrUiBEjRhgvOiitdu3akZeXx+XLl+natWuh29yv/t27d3PmzBlefvlls17PxsaGr7/+mhdeeIEePXqwa9cuvLy8AHj44Yf58ccfTba/99zc5s2beeyxxwr8Lj344IN8/PHHdO/eHVtbWz777DPAcPGAu7s7hw4d4vHHHwcMn2lsbGy53P8krId0eWls7ty5fPvtt5w8eZJTp06xZs0aPDw8jDenNWnShKioKJKTk7lx40ahbQwbNgwPDw8GDhzI3r17OXfuHN9//z379u0rdPs33niD999/n1WrVhEfH8+UKVOIi4tj/PjxgGHn1qhRI6ZPn87p06fZsmULH3/8sUkb48aNY9u2bXz00UecPn2azz77zORKMXOMHTuW69evM2zYMA4dOsTZs2f56aefGDVqlEmIDh8+nC1btrB06VLjSeB8U6dOZfny5cyYMYM///yTEydO8N133/HWW2+ZXcesWbMYNmwYzs7O/Pzzz8THx/Pf//7X7DDJyMgwdncCJCQkEBcXR2JiIgDNmzdn+PDhjBgxgnXr1pGQkMDBgweZPXs2W7ZsKbb9JUuWEBAQQOvWrc1+T7a2tqxYsQIfHx969uxJcnIyAK+88gonT55k8uTJnDp1itWrVxMZGQlgPOK439VdzZs3Z+fOnXz//fcmVzC+/vrrzJ49m40bNxIfH8/48eO5ceOGHMVUNRqfw6nwgoODizzxWNhJ+Xnz5pls88UXXyi+vr5KjRo1FBcXF6VXr15KbGys8fFNmzYpzZo1U6pVq6Y0bty4yDrOnz+vDBkyRHFxcVGqV6+u+Pn5KQcOHFAUpeBJ+by8PGX69OlKgwYNFDs7O8XHx0fZunWrSXt79uxR2rRpozg6Oipdu3ZV1qxZY3JSXlEUZcmSJUrDhg0VJycnpV+/fspHH32k6qS8oijKqVOnlEGDBim1atVSnJyclBYtWigTJkwwOZGcl5eneHp6KoBy9uzZAu1u27ZNeeyxxxQnJyfFxcVF8ff3N5kilmJOyickJJRq7vH8ixju/QkODjZuk5OTo0ydOlVp0qSJYmdnp3h6eiqDBg1Sjh49et+2U1NTFScnpwJT3hYl/6R8vtzcXGXw4MFKy5YtlZSUFEVRFGXjxo1Ks2bNFAcHB6V79+7KwoULFUC5ffu2kpGRoTg6OiqnT582affe3+Xjx48r9evXV0JDQ42vExISori4uCi1a9dWJk+erDz77LPK888/b1bdonKQKYCFqOJmzpxJREQESUlJrFu3jrfeeovjx4+Xqk29Xk/Lli157rnnSj1ahKg45ByKEFXM559/TseOHalTpw579+7lww8/JCQkBDBcJFDYRRLF+euvv9i+fTvdunUjOzubzz77jISEBF544QVLly+smByhCFHFTJw4kVWrVnH9+nW8vb158cUXCQsLK/LCCHMkJSXx/PPPc+zYMRRFoXXr1syZM8d4kl5UDRIoQgghLEKu8hJCCGEREihCCCEsQgJFCCGERUigCCGEsAgJFCGEEBYhgSKEEMIiJFCEEEJYhASKEEIIi5BAEUIIYRH/B2bcTmmsZG9iAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.colors as mcolors\n", + "fig, ax = plt.subplots(figsize=(4, 3))\n", + "first_true_indices_qne7_tmp = np.where(np.isnan(first_true_indices_qne7), 59, first_true_indices_qne7)\n", + "first_true_indices_p400_t10_tmp = np.where(np.isnan(first_true_indices_p400_t10), 0, first_true_indices_p400_t10)\n", + "\n", + "bins = np.arange(0, 61, 1)\n", + "\n", + "# Generate the 2D histogram\n", + "H, xedges, yedges = np.histogram2d(\n", + " first_true_indices_qne7_tmp.flatten(),\n", + " first_true_indices_p400_t10_tmp.flatten(),\n", + " bins=[bins, bins],\n", + " density=True\n", + ")\n", + "\n", + "# Create the meshgrid for the edges\n", + "X, Y = np.meshgrid(xedges, yedges)\n", + "\n", + "# Generate the contour plot with a logarithmic color scale\n", + "norm = mcolors.LogNorm(vmin=H[H > 0].min(), vmax=H.max())\n", + "cs = ax.contourf(X[:-1, :-1], Y[:-1, :-1], H.T, levels=100, cmap='Blues', norm=norm)\n", + "\n", + "# Add a colorbar\n", + "cb = fig.colorbar(cs, ax=ax)\n", + "cb.set_label('Density')\n", + "\n", + "# Plot the diagonal line\n", + "ax.plot(np.arange(60), np.arange(60), color='blue')\n", + "\n", + "# Set the limits and labels\n", + "ax.set_xlim(0, 60)\n", + "ax.set_ylim(0, 60)\n", + "ax.set_xlabel('First cloud level > 1e-7 kg/kg')\n", + "ax.set_ylabel('Tropopause level')\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "2e0227b6-d3d0-4b18-9766-da5fbf49b0b8", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_2270070/3491987018.py:20: UserWarning: Log scale: values of z <= 0 have been masked\n", + " cs = ax.contourf(X[:-1, :-1], Y[:-1, :-1], H.T, levels=100, cmap='Blues', norm=norm)\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(4, 3))\n", + "first_true_indices_qne6_tmp = np.where(np.isnan(first_true_indices_qne6), 59, first_true_indices_qne6)\n", + "first_true_indices_p400_t10_tmp = np.where(np.isnan(first_true_indices_p400_t10), 0, first_true_indices_p400_t10)\n", + "\n", + "bins = np.arange(0, 61, 1)\n", + "\n", + "# Generate the 2D histogram\n", + "H, xedges, yedges = np.histogram2d(\n", + " first_true_indices_qne6_tmp.flatten(),\n", + " first_true_indices_p400_t10_tmp.flatten(),\n", + " bins=[bins, bins],\n", + " density=True\n", + ")\n", + "\n", + "# Create the meshgrid for the edges\n", + "X, Y = np.meshgrid(xedges, yedges)\n", + "\n", + "# Generate the contour plot with a logarithmic color scale\n", + "norm = mcolors.LogNorm(vmin=H[H > 0].min(), vmax=H.max())\n", + "cs = ax.contourf(X[:-1, :-1], Y[:-1, :-1], H.T, levels=100, cmap='Blues', norm=norm)\n", + "\n", + "# Add a colorbar\n", + "cb = fig.colorbar(cs, ax=ax)\n", + "cb.set_label('Density')\n", + "\n", + "# Plot the diagonal line\n", + "ax.plot(np.arange(60), np.arange(60), color='blue')\n", + "\n", + "# Set the limits and labels\n", + "ax.set_xlim(0, 60)\n", + "ax.set_ylim(0, 60)\n", + "ax.set_xlabel('Cloud top level')\n", + "ax.set_ylabel('Tropopause level')\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "41996d10-4fa9-4fab-9ac6-e6b52bcf964a", + "metadata": {}, + "source": [ + "We can see that most cloudy grids above our defined tropopause are below 1e-6 kg/kg. " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "climsim", + "language": "python", + "name": "climsim" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/evaluation/monthly-online-rmse-visualization.ipynb b/online_testing/evaluation/monthly-online-rmse-visualization.ipynb new file mode 100644 index 0000000..4cfcc9a --- /dev/null +++ b/online_testing/evaluation/monthly-online-rmse-visualization.ipynb @@ -0,0 +1,429 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "73557ab5-35e6-427b-816e-6faf360066af", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import xarray as xr\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import glob\n" + ] + }, + { + "cell_type": "markdown", + "id": "5ad52d6c-8388-43dc-9104-c14b9797096d", + "metadata": {}, + "source": [ + "# Monthly online RMSE visualization\n", + "\n", + "In this notebook, we evaluate the online monthly RMSE of temperature, moisture, zonal wind, and tota cloud. We provide the exactly code to reproduce the Figure 2 in \"Stable Machine-Learning Parameterization of Subgrid Processes with Real Geography and Full-physics Emulation\", Hu et al. 2024, arXiv preprint:2306.08754." + ] + }, + { + "cell_type": "markdown", + "id": "c5666657-b2e9-41e8-92ed-51da88167399", + "metadata": { + "tags": [] + }, + "source": [ + "## Set data path\n", + "\n", + "All the simulation output, saved model weights, and preprocessed data used in Hu et al. 2024 \"Stable Machine-Learning Parameterization of Subgrid Processes with Real Geography and Full-physics Emulation\" are provided in a hu_etal2024_data folder that you can download. Please change the following path to your downloaded hu_etal2024_data folder." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "2a3378eb-09d4-4b34-b719-8e41d8d8902a", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "data_path = '/global/homes/z/zeyuanhu/scratch/hu_etal2024_data/'" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "c7453d73-50bb-4b7b-82bb-d00a9aee9ed4", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# open the one-year reference mmf simulation\n", + "ds_sp = xr.open_dataset(data_path + 'h0/1year/mmf_ref/mmf_ref.eam.h0.0003.nc')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "508ba11b-b116-4863-ad16-6a252517708b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ps_sp = ds_sp.PS\n", + "p_interface = ds_sp.hyai*ds_sp.P0 + ds_sp.hybi*ds_sp.PS\n", + "p_interface = p_interface.values\n", + "p_interface = np.transpose(p_interface, (1,0,2))\n", + "dp = p_interface[:,1:61,:] - p_interface[:,0:60,:]\n", + "area = ds_sp.area\n", + "area_weight = area.values[np.newaxis,np.newaxis,:]\n", + "total_weight = dp*area_weight\n", + "total_weight.shape\n", + "\n", + "# Function to calculate RMSE per month for total cloud mixing ratio (liquid + ice)\n", + "def calculate_rmse_qn(ds1, ds2, total_weight):\n", + " # Determine the number of months in ds1\n", + " num_months = ds1['CLDLIQ'].shape[0]\n", + " \n", + " # Slice total_weight to match the number of months in ds1\n", + " total_weight_sliced = total_weight[:num_months, :, :]\n", + " \n", + " # Initialize the RMSE array with NaN values\n", + " rmse_per_month = np.full(12, np.nan)\n", + " \n", + " # Compute RMSE for existing months\n", + " squared_diff = (ds1['CLDLIQ'] - ds2['CLDLIQ'] + ds1['CLDICE'] - ds2['CLDICE']) ** 2\n", + " weighted_squared_diff = squared_diff * total_weight_sliced\n", + " weighted_sum = weighted_squared_diff.sum(axis=(1, 2))\n", + " total_weight_sum = total_weight_sliced.sum(axis=(1, 2))\n", + " weighted_mean_squared_diff = weighted_sum / total_weight_sum\n", + " rmse_existing_months = np.sqrt(weighted_mean_squared_diff)\n", + " \n", + " # Fill in the RMSE array with the computed values\n", + " rmse_per_month[:num_months] = rmse_existing_months.values\n", + " \n", + " return rmse_per_month\n", + "\n", + "# Function to calculate RMSE per month for other variables (T, Q, U)\n", + "def calculate_rmse(ds1, ds2, total_weight,var='T'):\n", + " # Determine the number of months in ds1\n", + " num_months = ds1[var].shape[0]\n", + " \n", + " # Slice total_weight to match the number of months in ds1\n", + " total_weight_sliced = total_weight[:num_months, :, :]\n", + " \n", + " # Initialize the RMSE array with NaN values\n", + " rmse_per_month = np.full(12, np.nan)\n", + " \n", + " # Compute RMSE for existing months\n", + " squared_diff = (ds1[var] - ds2[var]) ** 2\n", + " weighted_squared_diff = squared_diff * total_weight_sliced\n", + " weighted_sum = weighted_squared_diff.sum(axis=(1, 2))\n", + " total_weight_sum = total_weight_sliced.sum(axis=(1, 2))\n", + " weighted_mean_squared_diff = weighted_sum / total_weight_sum\n", + " rmse_existing_months = np.sqrt(weighted_mean_squared_diff)\n", + " \n", + " # Fill in the RMSE array with the computed values\n", + " rmse_per_month[:num_months] = rmse_existing_months.values\n", + " \n", + " return rmse_per_month" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "75959415-59cb-44a8-9c7e-a608f548f0e4", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Load the three other mmf simulations that share the same initial condition of the reference mmf run but diverge due to random numerical round off error due to GPU calculation. \n", + "ds_sp_re = xr.open_dataset(data_path + 'h0/1year/mmf_a/mmf_a.eam.h0.0003.nc')\n", + "ds_sp_re_b = xr.open_dataset(data_path + 'h0/1year/mmf_b/mmf_b.eam.h0.0003.nc')\n", + "ds_sp_re_c = xr.open_dataset(data_path + 'h0/1year/mmf_c/mmf_c.eam.h0.0003.nc')\n", + "\n", + "# NN case groups\n", + "case_groups = [\n", + " [\n", + " 'unet_v4/huber_rop',\n", + " 'unet_v4/huber_step',\n", + " 'unet_v4/mae_step'\n", + " ],\n", + " [\n", + " 'mlp_v2/huber_rop',\n", + " 'mlp_v2/huber_step',\n", + " 'mlp_v2/mae_step'\n", + " ],\n", + " [\n", + " 'unet_v5/huber_rop',\n", + " 'unet_v5/huber_step',\n", + " 'unet_v5/mae_step'\n", + " ],\n", + "]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "5014e595-76b8-4f2d-89b9-d1c8f8588a32", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABmwAAAVvCAYAAACzf8CHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXwTZf7A8c9kSoFSaDkLPaCiIh4oiCBFCq2g4lquUlTwZHdRf64KeAuu4rley7Hrruu6LLoqHpSCiooKFiwCooiKt2Ar9KAchVIotHQyvz+SSdM0x6RNmjb9vl+vvkgmk+QpzZOZeb7P8/0quq7rCCGEEEIIIYQQQgghhBBCiJCxhLoBQgghhBBCCCGEEEIIIYQQrZ0EbIQQQgghhBBCCCGEEEIIIUJMAjZCCCGEEEIIIYQQQgghhBAhJgEbIYQQQgghhBBCCCGEEEKIEJOAjRBCCCGEEEIIIYQQQgghRIhJwEYIIYQQQgghhBBCCCGEECLEJGAjhBBCCCGEEEIIIYQQQggRYhKwEUIIIYQQQgghhBBCCCGECDEJ2AghhBBCCCGEEEIIIYQQQoSYBGyEEEIIIYRogaqrqzn11FNRFIXs7OyAv76u6wwYMABFUViyZEnAXz/QDhw4wJ133snpp59O+/btURQFRVFYuHBhnf2+/fZbrr76apKSkoiMjHTs99VXXwGQlpaGoiikpaW5fR9j/3nz5gX19xFCCCGEEEK0PhKwEUIIIYQQogVatGgRO3bs4KyzzmLy5MkBf31FUZg7dy4Ac+fO5ejRowF/j/fff58bbriBM844gy5dutCuXTuSkpJIT0/nqaeeori42NTrlJeXk5KSwl//+ld+/PFHjh8/7na/rVu3MnToUF599VUKCws5ceJEIH+dFuf66693BKCcfywWC7GxsQwYMIAZM2awefNmr6/z4osvMnHiRE466STat29Pr169uOiii/joo4+a6DcRQgghhBAiPEjARgghhBBCiBamoqKCJ598EoD7778fRVGC8j6XX345p512GiUlJfzjH/8I2Ot+9913DB8+nN/97ne88MIL/PDDDxw8eJCqqioKCwtZt24d99xzD/369eOxxx5D13Wvr/ePf/yDX375BYC7776bvLw8tm/fzvbt27nmmmsc+913330cO3aMTp068c9//pMtW7Y49uvfv3/Afr+WTtd1ysvL+fbbb/nPf/5DSkoKt956q8e/w7/+9S8sFguPPPIIa9as4bHHHmPHjh1cfPHFPPvss03ceiGEEEIIIVouRfd19SOEEEIIIYRoVp566inuueceevfuTX5+PhZL8OZhPf/889x00010796dXbt20a5du0a9Xl5eHuPHj+fQoUMADB48mOuuu46zzz6b6OhoioqKWL16NS+99BKVlZUAXHnllfzvf/+jTZs2bl/zwgsvJDc3l/POO4/PP//c7T4nTpwgOjqa6upq7rzzTp5++mm3+6WlpbF+/XpGjRrFunXrGvW7NnfXX389L730EgAffPAB8fHxANTU1FBQUMCaNWt4/vnnqampAWyfu7vuuqve65SVldGlS5c623755Rf69etHTEwM+/fvJyIiIsi/jRBCCCGEEC2frLARQgghhBCiBdE0zbFqYerUqUEN1gBMmTKFNm3asG/fPl5//fVGvVZhYSETJ07k0KFDKIrC008/zeeff86tt97KqFGjGDx4MOPHj+ef//wn3377LWeffTYAr7/+Ovfff7/H1y0qKgKgX79+HvfZv38/1dXVPvdrrfr168dZZ53FWWedxcCBA5k4cSLPPvssOTk5jn0ef/xxt2nkXIM1AKeeeipdunShvLyc/fv3B7XtQgghhBBChAsJ2AghhBBCCNGCfPTRR+zevRuAq666Kujv16VLF8aOHQvA4sWLG/VaN9xwA2VlZQA88sgj3HnnnR7TuZ100kl89NFHjlUfTz/9NJ999pnbfauqqgA8rsBx3sfXfqKucePGMWLECAAOHTrE1q1bTT1v7dq1lJWVkZSURFxcXDCbKIQQQgghRNiQgI0QQgghhBAtyJtvvgnYVjAMGDDA435Wq5WPP/6YO++8kwsuuIBu3brRpk0bYmNjGThwIHfeeSe7du0y9Z6TJ08G4NNPP3UEi/z19ddf8/777wMwYMAA7r33Xp/P6dGjB/PnzwdsdVWeeuopx2Pr1q1DURQUReG3334D4KWXXnJsUxSFtLQ05s2bh6IonHTSSY7nTp8+vc5+8+bNM/17eHvOiy++6Hi8oKAAq9XKv//9b4YPH07nzp3p0KEDZ599No899pgj3Zs3mqbx0ksvkZGRQXx8PG3btqVr166MGDGC+fPnc+zYMdPtbgznz5mZv//hw4e54YYbAHjooYeCVmNJCCGEEEKIcCOJhIUQQgghhGhBcnNzARg2bJjX/R5++GEeeuihetvLy8v5+uuv+frrr3nuued45ZVXmDRpktfXMt5L13VWr17NjBkz/G63USsF4JZbbkFVVVPPy8rKIiEhgaKiIlauXMnBgwfp3Lmz3+/f1CorK7n44otZu3Ztne3bt29n+/btvP3223z88cd06NDB7fN37drF+PHj+frrr+tsLysr49NPP+XTTz/lueee49133w16irfIyEjHbV+rkzRNY+rUqfz6669kZmYyffr0oLZNCCGEEEKIcCIrbIQQQgghhGghCgsLKSgoAGDIkCFe962pqaFXr17cfPPNvPzyy3z66ads3bqVlStXcvfddxMdHU1lZSXTpk3jhx9+8Ppa/fr1IzY2FoD169c3qO2ffPKJ4/a4ceNMP09VVS677DLAtmpo48aNgO33N4IfRtq0CRMmOLZt376dJUuWcPPNN7N9+3Y++OADx2s++uijdfa7+eabG/Q7eTNjxgxyc3O57rrrePfdd9m6dSsrVqwgJSUFgC1btvDoo4+6fe6BAwcYMWIEX3/9NW3btuWWW25h2bJlfP755+Tm5nLfffcRFRXFjh07uPTSSykvLw94+505fz6Sk5O97vt///d/vPfee5x33nn873//C2q7hBBCCCGECDeywkYIIYQQQogWwghWAAwaNMjrvn/84x958MEH662IOPfcc5kwYQK33norw4YNo6ioiMcff5yXX37Z42spisKgQYPIzc01XcPE1TfffANAz5496dWrl1/PPffccx23v/76ay677DI6dOjAWWedBdSu+oiNjXVsc9ajRw+io6Md9xMSEtzuF0gbN27k5Zdf5uqrr3ZsO/fcc7n00ks577zz+Pbbb3nhhRd45JFHiIioe1l22223sXv3bvr06UNubm6ddG4AaWlpTJkyhdTUVH799VeeeuopHnvssaD8Hl988QVr1qwBbGn4zj77bI/73nXXXbzwwgsMGDCA1atXe1w9JIQQQgghhHBPVtgIIYQQQgjRQhQWFjpu9+jRw+u+ycnJXtNXJSYmctdddwHw9ttvo+u619cz3i8/P9/nvq7Ky8s5ceIEYAvY+Mu5aP2BAwf8fn4oZGZm1gnWGIwVM2D7Xb7//vs6jxcUFPDGG28A8Oyzz9YL1hgGDRrEn/70J8BWOyeQNE1j586dPPfcc4wdOxar1Yqqqjz99NNYLO4vIe+9916eeeYZzj33XHJzc+natWtA2ySEEEIIIURrICtshBBCCCGEaCH27dvnuO1vHZfDhw9z4MABKisrHQGXqKgox2P5+fn07dvX4/O7dOkCQFVVFYcOHfLr/SsqKhy3nVe6mOX8nMOHD/v9/FC46qqrPD42ePBgx+1ff/21zqqVd999F03TiIqK4tJLL/X6HiNHjuSpp56iuLiYXbt20bt37wa311NgCGwra5555hnGjx/v9vG5c+fy5JNP0rt3b55++mny8/PJz893PH7aaafRsWPHBrdNCCGEEEKI1kICNkIIIYQQQrQQZWVljttmAia//fYbzzzzDO+88w6//fab133379/vNWDj/H5Hjx71K2DjPFh/5MgR089z95xOnTr5/fxQ6N+/v8fHjOAX1A1mgS0FGUBlZWW9VGne7Nmzp1EBG08UReGKK64gIyPD4z6vvvoqALt27WL06NH1Hs/NzSUtLS3gbRNCCCGEECLcSMBGCCGEEEKIFqJdu3aO28eOHfO6auH9998nKyuLyspKU6997Ngx0497S7XmTqdOnYiIiKCmpoY9e/b49VyA0tJSx+2WkmrLWL3kjnNaMU3T6jy2d+/eBr2f2b+zJx988AHx8fGALUD2ww8/8Le//Y2vvvqKRx99lLKyMv7xj3+4fW5BQUGj3lsIIYQQQghhIwEbIYQQQgghWoju3bs7bpeVlXkM2Ozfv59p06ZRWVlJdHQ0d955J5dccgknn3wyMTExREZGAvDxxx87VkT4qkvjvLonJibGr3YrisLZZ5/Nl19+yZ49e9izZ49ftWy+/PJLx+1zzjnHr/duaYwATrdu3cjNzTX9PG8pzczo168fycnJjvvDhg3j6quvJiMjgw8//JB//vOfjBkzhkmTJjXqfYQQQgghhBCeScBGCCGEEEKIFsI5YHPw4EH69Onjdr/s7GwOHToEwIoVKxgzZozb/ZyDML4cPHgQgB49etRZ6WPWyJEjHYGXt99+mxtuuMHU86xWK++99x5gW5lywQUX+P3eLYmxgqiiooLTTz8dVVVD1pY2bdrw4osvctppp1FRUcGdd95JRkaG3yushBBCCCGEEOZYfO8ihBBCCCGEaA4GDBjguP3zzz973O+7774DbLVSPAVroLZeihnG+5155pmmn+Ps+uuvd9z+xz/+US8VmCfLly+nsLAQgIkTJxIbG9ug928pBg0aBEBVVZVff59g6dWrFzNnzgTg119/ZfHixSFukRBCCCGEEOFLAjZCCCGEEEK0EOedd55jdcvnn3/ucb+amhoAjh8/jtVqdbtPZWUlL7/8sqn3PXz4MD/99BMA559/vj9NdjjnnHO45JJLAPjmm294+umnfT5n//793H777YAtrdrdd9/doPduScaNG4eiKAAsXLgwtI2xmz17NtHR0QA88cQTjs+XEEIIIYQQIrAkYCOEEEIIIUQLERkZ6QiYbNmyxeN+p556KmALyrz55pv1Htc0jT/+8Y8UFxebet8vvvjCUePm4osv9rfZDv/+978dK2TmzJnDwoULPdbO+e233xgzZoxjdc1dd93V4GBRS3LaaacxZcoUAF5//XXmz5/vdf/8/Hxee+21oLapS5cu3HTTTYDt72I20CeEEEIIIYTwjwRshBBCCCGEaEEmTJgA2AI2FRUVbve5/PLLadu2LQDTp0/n3nvvZe3atXzxxRe89NJLnH/++bz22mum68GsXbsWgG7dujFixIgGt713796sWLGCTp06oes6s2fPZujQoTz77LN88sknbN26lXfeeYc//elPnHnmmXz99dcAXHHFFTz66KMNft+W5rnnnqNv374A3HHHHYwaNYrFixezefNmtm3bxpo1a/jrX//KRRddxCmnnMLy5cuD3qY77rjDsbrriSee8LhySwghhBBCCNFwEaFugBBCCCGEEMK8a6+9lvvuu4/jx4+zYsUKrr322nr7JCYm8txzz/HHP/6R48eP8+STT/Lkk0/W2eeKK65gxowZXmvcGIwVHFdccUWjC86npaWxYcMGZsyYwWeffcYXX3zhsVZLVFQU9957L/fff78jTVhr0KVLFz799FMuv/xy8vLy+OSTT/jkk0887t+pU6egt6lnz578/ve/55///Cc///wzb7zxBlOnTg36+wohhBBCCNGayAobIYQQQgghWpCuXbuSmZkJwNKlSz3uN336dPLy8pg4cSLdu3enTZs29OrVi7Fjx/LGG2/w+uuvo6qqz/fbtGkT+fn5APzf//1fQH6HAQMGsHnzZlatWsUf/vAH+vfvT0xMDJGRkcTHxzNq1CieeOIJfvnlF/785z+3qmCNoWfPnnzyySesWrWKq666ir59+xIVFUWbNm3o3r07w4cP54477mD9+vX8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kZGRzJgxA0VReOuttzj33HMlcBMgkhLNpIqKChYsWMD+/fuD/l5///vf6dixY53iVUII/+i6zm+//caWLVsoLS0FICIigvT0dFavXo3FUj9evXr1at57772gt036uBCBcfToUb788ku2b9+OpmkA9OrVi8WLF3PppZfW23///v0sXLiQw4cPB71t0s+FaDxd19m5cydbtmzhwIEDgO3CcMKECbz55ptun5Odnc0nn3wS9LZJHxciMA4fPswXX3zBDz/8gNVqBaBPnz68/vrrDBs2rN7+hYWFPPvss1RWVga9bdLPhWg8q9XKTz/9xOeff055eTkA7dq149prr+X55593+5wlS5Y0yYCv9HEhAqOsrIzPP/+cn3/+2bGtX79+vPXWW5IqraGCVRyntLRUf+edd/Q///nP+tixY/WuXbs6CjE5F0cKpKVLl+oXXXSRHhcXp7dt21bv3bu3ftVVV+kbN25s9Gvn5OS4LSolP/IjPy3v5/3333fbz/v27RvytsmP/MhP43/69evnto8/99xzIW+b/MiP/ATm59dff63XxzVN0zt27BjytsmP/MhP43+GDx/u9lj+0EMPhbxt8iM/8hOYn5qamnp9vKKiQrdYLCFvm/zIj/w0/mfSpEl+jLwLZxEESVxcXLBeup5jx46RlZVVb2b8rl27ePXVV3nttdd44IEHePDBBxv8HmPHjm2yFTZCiMazWq388MMPbNiwwdFv27Vrx/jx47n44ovdPufFF1/kgw8+aMpmCiEa4eDBg2zYsIHt27c7UqGdeuqp/Oc//3G7/5VXXklFRYVjdp8QonnTNI3t27ezYcMGR7/t0KEDV111FSeddFK9/S0WC2+++SYbNmxo6qYKIRpo7969bNiwgR9++MGx7ayzzuJf//qX2/1vuukm2rRpIymVhGghTpw4wbZt29i4caOj33bq1Imbb74ZVVXr7R8dHc2bb74pKZWEaEGKi4vJy8tjx44dACiKwqBBg1iwYEGIW9ZyBS0lmqIojtu9e/emf//+fPjhhwBcd911vPjiiwF7r6lTp/L6668DkJ6ezsyZM4mPj2f79u08/vjj7Ny5E4Dnn3+eG264IWDvK4RonkpKSrjooov47rvvAIiNjeWOO+7g1ltvJSYmJsStE0IEwqOPPsq8efMcqdAuvfRSHnzwQc4///wQt0wIEQi//PILl1xy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z+dyvP4WX/r06QNJkjB16tSAy02dOhWSJKFPnz5uzx84cADZ2dmQJAk5OTmoqKjwu46JEydCkiQYDAbleM/T0qVLccEFF+CQQw5BUlISMjMzMWTIEDzwwAMB1w0A27dvx0033YSjjz4a6enpMJvNyM7OxuDBg3HllVfi3XffRVNTU8B1eGLChmLW4sWLcc4556Br165ISUnBMcccg6eeego2mw12ux0///wzgOBJGPWdbi1N2MitEUaPHh3wTsDWjrVLly6QJAnvvfceAEf/b7l3tvx16aWXtmjMROHm74Bn//79OO+881BXV4eEhAT873//w8033wyDwfeuJT09He+++y4yMjIAAC+88IJyV2484kkn6YVePyN40kjxTq+x7Qvjnchba89x5YSN2WzGwIEDg26noaEBv/32G4DAN2OGem7e2rHz3JziUWtipVOnTujRowcAR0u0YP7zn//gl19+AQBMnz4dvXv39rkcr79RS2RlZeG1116DJEkoKSnBNddc43O5V155BR9++CEA4NZbb/WqCKuoqMDpp5+OCRMmYPHixdi1axeamppQVVWF77//HnPmzMGAAQOwYcMGn+t///33MWjQIDzzzDPYsmULamtr0dzcjLKyMvz4448oLCzExRdfjN9//71lP6AgijEVFRXi9NNPFwB8fo0fP1789ttvyvfvvfdewPU99thjyrJFRUUhj8Nut4sePXoIAGLRokVhH2tJSYnf96m/5s2bF/KYiVrj/fffF2effbbo0qWLSE5OFoMGDRILFy4UVqtV2Gw2kZqaKgCIGTNmuL3vggsuUP5On3rqqZC3d8MNNyjve/XVV8P942jGVVddJQCI8847L+iyrfk/6ty5c9DPl0suuSSSPyLpRLx+RoQao639/TBGKdriNbZ9YbwTubT1fFz+ez/uuONC2t4333yjrOuOO+7wuUwo5+ZtGTvPzSnetDXOR48eLQCILl26BNxOQ0ODyMnJUZatqqryuRyvv8WmVatWKb+b2bNnt+i9hYWFynt37Njh9Xrv3r0FADFlypSA65kyZYoAIHr37u3z9enTpyvbee2119xe+/3330VaWpoAII455hjR2Njo9npjY6M47rjjBABhNBrF5ZdfLt5++22xYcMGsXbtWjF37lyRlZUlAIiOHTuKnTt3ur1/z549yrFf165dxYMPPig+/fRT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ugqDBw/GE088ga+++grLly9HRkYGDjnkENx6661uFbGMdyIiIiKKZZIQQkR7EERERJG0evVqjBo1CrNnz8acOXOiPRwiiqKdO3fi0EMPxZQpU/Daa69FezhERERERERECs5hQ0REREREREREREREFGVM2BAREREREREREREREUUZEzZERERERERERERERERRxjlsiIiIiIiIiIiIiIiIoowVNkRERERERERERERERFHGhA0REREREREREREREVGUMWFDREREREREREREREQUZUzYEBERERERERERERERRRkTNkRERERERERERERERFHGhA0REREREREREREREVGUMWFDREREREREREREREQUZUzYEBERERERERERERERRRkTNkRERERERERERERERFHGhA0REREREREREREREVGUMWFDREREREREREREREQUZUzYEBERERERERERERERRRkTNkRERERERERERERERFHGhA0REREREREREREREVGUMWFDREREREREREREREQUZUzYEBERERERERERERERRRkTNkRERERERERERERERFHGhA0REREREREREREREVGUMWFDREREREREREREREQUZUzYEBERERERERERERERRRkTNkRERERERERERERERFHGhA0REREREREREREREVGUMWFDREREREREREREREQUZUzYEBERERERERERERERRRkTNkRERERERERERERERFHGhA0REREREREREREREVGUMWFDREREREREREREREQUZUzYEBERERERERERERERRRkTNkRERERERERERERERFHGhA0REREREREREREREVGUMWFDREREREREREREREQUZUzYEBERERERERERERERRRkTNkRERERERERERERERFHGhA0REREREREREREREVGUMWFDREREREREREREREQUZUzYEBERERERERERERERRRkTNkRERERERERERERERFHGhA0REREREREREREREVGUMWFDREREREREREREREQUZUzYEBERERERERERERERRRkTNkRERERERERERERERFHGhA0REREREREREREREVGUMWFDREREREREREREREQUZUzYEBERERERERERERERRRkTNkRERERERERERERERFHGhA0REREREREREREREVGUMWFDREREREREREREREQUZUzYUNyxWCzo168fJEnC4sWLvV4fOXIkJEnCyJEjW72N7777DpIkoVOnTjh48GAbRqsNkiRBkiTMmTPH67XVq1crr69evbrdx0ZEFIvuv/9+SJKE/Pz8iG0j3vZFREQUXcHOs9rihhtugCRJmDJlSljXG4tee+015fxp586dXq9PnToVkiShT58+7T62eDRnzhzl/4NIq7Zt2waz2YykpCSUlJREdSyBrh+1l8cee6zN1/2IIokJG4o7CxcuxB9//IGjjz4akyZNisg2hg4dijFjxqCioiIiO6Gqqio8++yzOOecc9CnTx+kpKQgIyMD/fv3x6WXXop3330XNpst7NuNV3ISry1fr732WrR/DKKg1AlWz6+UlBT06tUL+fn5ePXVV9HU1BR0fZ7r+Oqrr0IaxxlnnOH2vkCfo0II/O9//8PkyZPRr18/pKWlwWQyITMzE0cffTQuuOACPPbYY/jxxx99vl99USTUrwULFoT0c/jzzz//4LHHHgMAzJ492+v1nTt3KtuaOnVqwHXV1tbilFNOUZYfN24cLBYLgMjvi4iIiNQieZ519913w2w244033sD3338f1nUDwI8//oh7770XQ4cORffu3WE2m9GtWzccf/zxuPvuu/HDDz+EfZvkfeyZnp6O+vr6oO9raGhARkaG23t5c6A29enTx+fxdkJCAjp37oy8vDzce++9PpOXnuRkpvx15ZVXhjSG//73v27vC5YM3b59O+68806ccMIJ6NSpExISEpCamoo+ffrg9NNPx1133YUVK1b4/Vtu6bnH4MGDQ/o5ArntttvQ3NyMadOmoWfPnm1eXyiampqQnp4OSZLw4Ycftss2Q3XdddchKysLa9aswZIlS6I9HCIvTNhQXKmpqcGjjz4KAJg1a1ZE75K5//77AQAvvvgidu3aFbb1Llq0CIcffjhuvPFGfPzxx/j777/R0NCA6upq/P7773jrrbdw8cUX45hjjsG6devCtl0ivePdioE1NDRg9+7dWLFiBaZNm4bjjz8+pBMntTfffDPoMiUlJfjyyy9DWl95eTlOOeUUjBs3Du+88w7++OMP1NXVwWazoaqqClu2bMHixYtx1113YfDgwfjtt99aNN5Iefjhh9HY2IizzjoLQ4cObfV6qqurMWbMGKxduxYAMGnSJCxevBhms1lZJlL7IiIiIrVIn2cdcsgh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66yzAAC//PILioqKvJYZOXIkJEnCyJEjATha9dx2223o27cvkpOTkZWVhTFjxuDjjz9u9diD9eb1nDeksrIS999/P4466iikpqYiMzMTp5xyCv773/+GtL2qqirMnz8fw4YNQ5cuXWA2m9GjRw+MHTsWixcvjlriqi3j8px4fdWqVRg/fjyys7ORnJyMI488Eg899JBX27aPPvoI55xzjrLcwIEDMX/+fGVCcl/kSR/lic6/++47TJ48Gb169UJSUhJ69eqFgoKCkOcC+eOPP3Drrbdi0KBByMjIQHJyMg477DBMnToVGzdu9Ps+z78bu92OV199FaNGjUK3bt1gMBjcJmO32+348ssvcccdd2DYsGHo3LkzEhISkJmZicGDB+OOO+5QDhg9zZkzB5Ik4T//+Q8AR4LU12SPap7/J/54xlhbfkbZpk2bcO211+KII45AWloaUlNTccQRR+C6667D9u3bA44nXNSfoaHOi3L55ZcDAD7++GMcOHDA5zJyX+rjjjsOAwcODLg++f+zc+fOyMzMDGkM0bZu3TqUlpYCQKsmYy4vL8eoUaPw008/AXC0rVu0aFHQxE+49kVERES+tPQ8y2634+2338akSZNwyCGHIDk5GcnJyejfvz8uvfRSLF68GM3NzT7fK+8/6+vrlZs3WspiseDJJ58E4Lip48UXXwza3tVoNOKll15SLho/+eSTXsfUO3fuVI7t5Bs0PvvsM4wdOxbdu3dHYmIiDj30UFx33XXYvXt3q8YOBJ930fM4VT6ez8nJQWJiInr27InLL78cW7duDWl77XXsaTQaMXnyZACBb/CRjxcvueSSoP9vMovFgueeew6jRo1SzsW6d++Oc845B2+++WbABIB8rhBoXqYvv/wSkydPxqGHHork5GSkpKSgd+/eOOmkk3DHHXe4zc8o/52MGjVKeW7UqFFe5x7qtnehzrX52muvKe/3Ndek57ne999/j6lTp+LQQw9FYmKiz58xFs6vU1JScNhhhwFwxL6/cwm1MWPGoEuXLrBarXjnnXd8LvPLL7/ghx9+AOA6V/FHfS7Zt2/fEEceffLn87hx47xaJ/uyfPlynHXWWejSpQtSUlLQv39/3HnnndizZw8A778hf+TrT8cccwwOOeSQFo3ZbrfjuuuuU/6Wb7zxRp9/Z+EY67nnnoukpCQAPE+iGBPN8h6i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//4769ev58aNG5w8eRJfX990xdqpUyc++ugjnj59Sq9evTh+/DiNGzfGw8ODf/75h5kzZ/Lnn39Sp04di8M66CdU1T9BOWjQIHW8dcBoyI2+ffsyZ84cEhMTad26NWPHjqVu3brEx8dz4MABvvjiCxISEihTpozFLt3WatGiBe+++y5fffUVe/fupUKFCvTv35+6detSqFAhHj9+TEREBPv27WPDhg3cv39fbbTNKkFBQbRp04YffviBvXv3sn///uc6oebVq1cJDw9nxIgRtG7dmvr161OuXDkKFCjAkydPOHv2LOvWrVNvrmg0Gr788kuLjdeRkZGcOnUq1X3ny5cvXU9ftWjRAkdHRxISEvj111/VmwjpUbJkSX799VeCg4O5desWs2bNwtXVlalTp6ZIm5m/RUIIIURy1taz5syZw6FDh7h+/TrDhw/nl19+ISwsjPLly6PRaLh8+TK7du3iu+++4/vvv1frX4b27t1LQkICkLHfNAcHB77//nuaNGnC6dOnWblyJXv27OGtt96iXr16FCpUiLt373LgwAEWL17M1atXAd31z7p161KdtD2ny47XnukxduxYNmzYwL///sv48eM5efIkvXr1olixYly6dIlZs2axe/duAGrXrk3fvn3TlP+IESPo378/oaGh1K9fn7Jly5I3b17u3r3L/v371SHK7e3tU1z3FS9eHF9fX65du8bnn3+Or68v5cqVU8+tIkWKqH9LVapUoXbt2vz+++8sXLiQ+Ph4evbsiYeHBxcuXGDBggX89ttvvPrqq+l6ECq57FqPHTVqFO3atSMpKYkpU6awePHiLN2fofj4eBYuXMjChQupU6cOTZo0oVq1ahQpUgQ7OzsiIyPZtWsXixYtUh/+Cw0NtTiM3+PHj62qe4Cu91dah3BzdnamadOm/Pjjj/z6669MmDDBZDpvb2/GjRvHRx99REREBNWqVePDDz+kevXqPH36lG3btjF9+nS8vb15/Pgxd+7cSVGn2rJlC1qtFi8vL2rWrJmmOPWaNm3Khg0baNeuHVevXqVhw4bs2bPHaG60zIjV0IULF9Tvd6kniWxFEeIFERUVpTg7OyuAsnz5crPpgoODFUAJDg5WfvrpJ8XV1VUBUvyzs7NTPv/8c4v73L17t5r+yJEjmVKOuXPnKgULFjQZk+G/ChUqKHv37rWYl2FZLRk3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Wothzpw5WLt2LQDAx8cHy5cvz9V6lpaWKosN5ubmRvUDg4K6fl24cAGff/45hBAAgM6dO6stvq1fvx4BAQGwsrLCtm3bcjWqStfet9fLGBhr39gvw8J+GRZj7RdgvH1jv7S3P0NgFAUbXVi+fDmWL18uTQNAyt68eYOOHTsiJCQEVlZW2LFjBzp27Cgtt7W1hbu7O+7evYsZM2bAw8NDWsZiDRERERFRdnZ2dtL93ExzlpCQACB306flxqpVqzB+/HgAQNWqVXH48GHY2NhoZdvvg0ePHqFdu3bSSKlmzZph0qRJatv36tULYWFhqF69Ory8vAorTCIiIiIqwkz0HYA2bNiwAUKIXN9yY+jQobh27RrCwsJ0HL1hSk1NxbNnz2Bvb4+AgAClYg0AmJqaYsuWLVi1ahXGjBmDRo0a4e7du3qKloiIiIio6LOyspKmD4uMjNTYNiYmRirYlClTpsD73rZtG7799lsAQLly5RAYGAhnZ+cCb/d9EhsbK12HyNnZGVu3boWpqana9tbW1lixYoX0vBMRERERGUXBhgqfi4sLAgMDcfLkSTRt2hQAEBoaiu+//14qit2/fx9ff/01EhISUL16dbi7u+szZCIiIiKiIk8x0uLOnTtIT09X2+7GjRvS/Q8//LBA+zxw4AD69euHjIwMlC5dGsePH+exez7cuHFDKqJt3rwZrq6uKtudOHECGRkZhRkaERERERkIFmwo1y5evIgtW7ZI/y9fvjxq1aoFAAgMDETLli2xePFiLFu2DI8fP4avry9ev34NHx8f7Nu3T28X0CQiIiIiMhRNmjQBkDndWUREhNp2J0+elO43btw43/s7fvw4evbsifT0dDg5OSEwMBCVKlXK9/beN0II3L59G7GxsRg8eDAA4KeffkKbNm1Utj969ChatWoFX19fpKWlFWaoRERERGQAWLChXAkODkazZs3Qr18/BAYGKi3buXMn2rVrh4SEBLRu3RodO3aEr68vIiMjpbmvi8IFNImIiIiIirrOnTtL99evX6+yTUZGBjZu3AgAcHBwQIsWLfK1rzNnzqBTp05ISUmBvb09jh07hmrVquVrW++ruXPnokaNGjhy5Ah27dqFrl27Yvr06Srbvnr1Cv379weQOSrKUC58S0RERESFhwUbytHevXvRpk0bxMXF4eOPP0b9+vWlZStWrMBnn32G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eZRhYR7FPKqoYB7FPIp5VP4xj9IRQdkcOHBAFC9eXABQefP09BS3b9/Wd5i55ufnp7Yvqm6GIC/9ASDKlSun75BzrVy5crnqk7u7uwgICNB3uFozZcoUqW9BQUH6DifXcvt6devWTcTExOg73HwJCQkRH3zwgdq+yWQyMXHiRH2HmS8rV66U+jF//nx9h1NggYGBwtnZOcf3Y8uWLUV0dLS+w801Gxsbjf2pVq2a+Oeff/QdphJtfffK5XIxcOBAjesOGjRIyOVyg+pXXrbh5+dX5Pu1fv36PB+bTJkyRef9IipszKOKvrx+VjGPKvqYRxVdzKMMB/OoooN5FPOonG7vQx7FETYqdOjQAZcvX8aSJUvg7++PyMhIWFhYwMPDAz169MCwYcNgbW2t7zDJSB07dgz+/v44ffo07ty5gxcvXuD169coVqwYXFxcULt2bbRv3x49e/bk+7AI+OOPP3Dy5EmcPXsW9+7dQ1RUFGJjY2FraytdtM/Pzw8NGzbUd6j51qRJE/z777/49ddf8eeff+L+/ftITU1F6dKl0bx5cwwfPhx16tTRd5j5smnTJgCAqakpevfuredoCu5///sfbty4gXXr1uHIkSP4999/8ebNG5iZmaFUqVLw8fHBF198gY4dOxrUHL1r165FQEAAQkND8ezZM8THx6NkyZKoWbMmevTogT59+hjt1DomJiZYt24dunXrhtWrVyMsLAxRUVFwdnaGj48Pvv76a4O8wCsRGSfmUaRPzKMMC/Mo5lFFCfMo48M8igyZTIj/rnBGREREREREREREREREemGi7wCIiIiIiIiIiIiIiIjedyzYEBERERERERERERER6RkLNkRERERERERERERERHrGgg0REREREREREREREZGesWBDRERERERERERERESkZyzYEBERERERERERERER6RkLNkRERERERERERERERHrGgg0REREREREREREREZGesWBDRERERERERERERESkZyzYEBERERERERERERER6RkLNkRERERERERERERERHrGgg0RERmlBw8eQCaTQSaTYcOGDfoOh4iIiIiIqMhjHkVEpF8s2BARGYng4GDpwFomk8HOzg6JiYk5rpeUlAR7e3uldYODg3UfMBERERERkZ4xjyIioqKEBRsiIiMVHx+PP//8M8d2+/fvR2xsrO4D0pLy5ctD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3DjUrl0blStXRuXKldG7d2+d7ZeIiIiIiCgvmEcREVFesWBDRES5Ur58eVy6dAnLli1Ds2bN4OTkBHNzc3zwwQf45JNPsGnTJvz9999SEqArbm5uCA0NxaBBg+Dh4SHNxUxERERERFTUMI8iIqK8kAkhhL6DICIiIiIiIiIiIiIiep9xhA0REREREREREREREZGesWBDRERERERERERERESkZyzYEBERERERERERERER6RkLNkRERERERERERERERHrGgg0REREREREREREREZGesWBDRERERERERERERESkZyzYEBERERERERERERER6RkLNkRERERERERERERERHrGgg0REREREREREREREZGesWBDRERERERERERERESkZyzYEBERERERERERERER6RkLNkRERERERERERERERHrGgg0REREREREREREREZGesWBDRERERERERERERESkZyzYEBERERERERERERER6RkLNkRERERERERERERERHrGgg0REREREREREREREZGesWBDRERERERERERERESkZyzYEBERERERERERERER6RkLNkRERERERERERERERHrGgg0REREREREREREREZGesWBDRERERERERERERESkZyzYEBERERERERERERER6RkLNkRERERERERGIDU1FZUrV4ZMJsPu3bu1vn0hBGrUqAGZTIb169drfftFTf/+/SGTyVC+fHmVy8uXLw+ZTIb+/fsXalyUP82bN4dMJkPz5s31HQqAohdPQU2dOhUymQwymUzfoVAObt68CQsLC1hZWeHJkyf6DqfQFIXP7F27dkEmk8HT0xNpaWl6i4OKNhZsyChpK1HRdIAeFhYGmUwGR0dHREdHFyBaw6A48Jo6dWq2ZcHBwdLy4ODgQo+NCoehHYBres8WtpySfSo6Tpw4AZlMhg8++ACJiYn6Dkdn3rfvMCKi98WSJUtw584dVK9eHd26ddP69mUyGSZMmAAAmDBhAhISErS+jyNHjmDw4MHw8vKCo6MjrKysUKZMGbRo0QLz58/H06dPtb7P99WGDRukY+b83oyl2JBfQUFBGDlyJOrWrYtSpUrBwsICDg4OqFq1Knr37o3Nmzcb9TGltil+UH/3Zm5uDmdnZzRs2BDjxo3DgwcPctyWIgdT3AYOHJirGLZs2aK0Xk453K1btzBmzBjUr18fjo6OMDc3h42NDcqXL49WrVph7Nix8Pf3V/s+yOvfXO3atXPVD01GjRqFtLQ0DBo0CG5ubgXeXlHk6ekJmUyGRYsW6TsUJd26dYOXlxdu376NX3/9Vd/hUBHFgg0ZJV0nKgDg4+ODNm3aICYmRic/CL99+xbLly9H27ZtUb58eVhbW8Pe3h6enp7o3bs3duzYAblcrvX9vu8Kkqzwx3j1fv75Z+l5OnDggMa2S5YskdqWLVs2x21XqFABMpkMpUqV0la4RZK6952FhQU++OADNGvWDLNmzcLLly9z3JbibD7Fbfr06bmKYdasWXlK0CMiIjB06FDUrl0bDg4OMDMzg62tLTw8PPDpp59i0qRJCAoKUnlm0YMHD/L8N9i5c+dc9UOdjIwMjBw5EgDwww8/wNraukDb07bBgwdDJpOhU6dOBd6Wrr/DiIio8MXFxWHevHkAgIkTJ+rsJJuePXuiSpUqePbsGZYvX6617f77779o1KgR2rZtizVr1uD69euIiYlBSkoKIiMjERwcjB9//BGenp6YNWsWhBBa2zfphyGf1HT58mU0bdoULVu2xJIlS3Dx4kW8ePECaWlpePv2LW7evImtW7eib9++cHd3x4IFC5CRkaHvsA1Weno6Xr9+jXPnzmHu3Lnw8vLCxo0b87SNPXv2IDk5Ocd2mzZtyvU2p02bhmrVquGXX35BWFgYYmJikJ6ejsTERDx8+BAnTpzAzz//jPbt2+c659K1M2fO4PDhw7CwsMBPP/2k73B04ubNm7h9+zYAoEOHDnqORpmJiYl04sPcuXN1cuIDGT4zfQdApG2FlagAwOTJk3Hs2DGsWrUKY8aMQZkyZbSy3TVr1mDcuHF4/fq10uNJSUmIjY3F7du3sXXrVnh5eWHVqlVo0qSJVvZLBWMoI0/0oWnTptL9kJAQdOzYUW3bkJAQ6f7jx4/x8OFDlCtXTmXbyMhI6eyqrPt4n6SlpeHly5d4+fIl/v77byxcuBDbtm2Dr69vrrexZcsWTJ48Ocd2uU1e0tPTMXz4cPz222/ZliUkJODu3bu4e/cujh49ipkzZ2LlypUYMmRIruPVle3bt+PKlStwdnbGt99+q+9wlAghcOjQIQDaSzp09R1GRET6sXLlSrx+/Rply5ZFjx49dLYfExMTfP/99xgyZAh++eUXfPfdd7CysirQNhXHh2/evAEAeHt7w8/PDzVr1oStrS2ePHmCo0eP4o8//kBCQgImTpyIq1evYuPGjTA3N9dCr/InN2f5F2WdO3dGvXr1VC4LCwuTRiR88803ao+NbGxsdBZfUXXkyBH07NkT8fHxAIBq1aqhV69e8PHxQcmSJZGQkICHDx/i6NGjOHDgAGJiYvDDDz9g0KBBcHBw0G/wBsLV1RXHjh2T/p+UlIQ7d+5g06ZNOHLkCJKSkjBw4EBUrlwZDRs2zHF7VlZWiI2Nxf79+9GrVy+17Z4/f46//vpLWkdTgWfu3LnSiU/29vb4+uuv0axZM5QuXRqpqamIjIzE+fPncfDgQdy4cSPHGOvVq5erqSaLFSuWYxtNZs6cCQDo0aOH0R7/Hzx4EABQtWpVeHh46Dma7Hr16oWxY8fiyZMnWLVqFUaNGqXvkKiIYcGGjE5hJSoA0KhRI3z00Uc4d+4cfv75ZyxdurTA2/zhhx+wYMECAICZmRk+++wzdOzYEeXKlUNqaqp0ps6JEydw7do1/O9//8PmzZvRvXv3Au87v5o3b240Z7hduXIl123T09PRs2dP6cyNr7/+WldhGTxvb29YW1sjMTFRqSCjyqlTpwAApqamkMvlCAkJUVuwybqtjz/+WGmZsbwn3/XugXxcXBzu3LmDFStW4Ny5c4iOjkbXrl1x5coVVKhQQeO2FEnIrVu3cP78eTRo0EBt27CwMNy8eVNpPXWGDRuGVatWAQBKly6Nr7/+Go0aNULJkiWRlJSEBw8e4OzZs9i/fz8ePXqUY587deokJRaaFC9ePMc2msyaNQtA5t9yUfvxISIiAs+ePYNMJkO7du20sk1dfIcREZF+yOVyLFu2DADw+eefw8REt5Np9OjRA8OHD8erV6+wffv2Al0PIDIyEp07d8abN28gk8kwf/58jB49WulkKG9vb3Ts2BFjxoxB586dcfnyZWzfvh1ly5aVTtajvHNwcFBbQIiKipLuu7i4oHr16oUUVdH277//onv37khMTISZmRkWL16Mb775RuXfXN++ffHq1StMmzZNq6PR3gfm5ubZ3nM+Pj74/PPPMXr0aCxcuBByuRyzZs2STmrSpGPHjti5cyc2bdqksWCzdetWyOVyuLq6olKlSmpz16ioKEybNg0A4O7ujjNnzmQrfjRo0ADdunXD/PnzERoamu2E3HfZ2Njo/O/s5s2bOHr0KACgT58+Ot2XPikKNkVtdI2CqakpevXqhYULF2LZsmUYOXKkzr+3ycAIIiOSnp4uypQpIwCIH3/8scDb8/PzEwBEuXLl1LZZunSpACDs7OzE27dvC7S/5cuXCwACgHB3dxcXL15U23bLli3CwsJCABCWlpYa22qDIq4pU6bodD+G5IcffpCel3bt2omMjAx9h6RTU6ZMkfqbH61atRIAhLm5uUhISFDZ5saNGwKAkMlkolevXgKA+Oqrr9Ru85tvvpFi+ueff/IVV2HIzWdJThT9bNasmcrlGRkZonv37lK7oUOHqt1Ws2bNpHjq16+fY3shhBg+fLgAIBo0aCDKlSunNpYrV64ImUwmAIjatWuLmJgYjdsNCAgQp06dyvb4/fv3pb74+flp3IY2BAQESPu7fv26zveXV5MnTxYAhI+Pj1a3q83vMCIi0p8jR45I32OXL18ulH126NBBABBNmjQp0HY+/fRTKfaZM2fm2P7FixfC1dVVOmY8d+5cgfaviTaO4QxVUFCQznPAwn5+FcfA6o6nc5KRkSFq1aolPS+bNm3K9bq7d+8W8fHxWo2nqCloviiEkPIMTe+JhIQEYWlpKQAIa2trIZfLVbZTvL8AiEOHDgkAwszMTLx48ULttmvXri0AiDFjxijlTO/asmWLtO1ly5bltZtKcsrztOnHH38UAISLi4tIS0vT+f70ITo6WpiamgoA4uTJk0rLFO+vwsgvcxIRESG99n/99Ze+w6EihuU7MiqBgYF4/PgxAKB3796Fss9evXrB1NQUcXFx2LVrV7638/DhQ4wePRpA5pkVx48f13gxuS+++AK///47ACAlJQV9+/Y12hEFRdH+/fvxyy+/AADKli2LjRs3ckq0HCimLEtLS8PZs2dVtlGcwVStWjW0b99e6TFN7R0cHFCjRg1thmtwZDIZ5s6dK/1fMZQ/J/369QMA7NixQ+W1ZIDM0WTbt29Xaq/OgQMHpM+imTNn5jjtQ+vWrdG4ceNcxapL69atAwDUrVsXVatW1XM02SnOElP8XWiLtr7DiIhIv3bu3AkAqFy5cq6OieRyOf744w+0b98erq6usLS0hJOTE5o0aYKFCxciKSkpx20orhV6+vRpKQfLq0uXLuHIkSMAgBo1auTqegouLi5YuHAhgMwR1fPnz8/WZsOGDdI17h48eICMjAysXr0ajRo1QokSJWBjY4OaNWti1qxZBbogvOIC6apGGAUHB0sxBAcHA8h8nVq1aoWSJUuiWLFiqFKlCsaOHYvo6Ohc7e/PP/9Ejx49ULZsWVhZWcHBwQH16tXDtGnTEBMTk+9+FER8fDzmzp2Lhg0bwtHREZaWlnB3d0f37t3VjnyYOnUqZDIZ/vjjDwCZubCq6xNmlZqaioMHD2LYsGHw8fFBiRIlYG5uDicnJzRo0ABTp05VGhWkC/7+/rh06RKAzDP38zJCoVu3bvkewX3q1Cn07dsX5cuXl173OnXqYOLEiXj16pXa9d79O1An67UjN2zYoLZdZGQkhg4diooVK8LKygqurq7o2LFjrvMObbG2tkbFihUBAImJiTmOXAGANm3aoGTJkkp5zbuuXr2Kf/75B0Dm6ChNss4SUBSn3FJH8V3RqVMnmJmpn3RJ8X5QTPkWFBSEzp07w9XVFcWKFcOHH36IGTNmZLv+yuHDh9G2bVupnZeXF+bMmYPU1NQcYzt16hS6deuGUqVKwcrKChUrVsSQIUNw584dAP9/STIoBQABAABJREFUHdacrqN65MgRyOVyODo65ivPnD17ttT/rl27IiUlRSex1q1bV5oRY9u2bXmOk4ycngtGRFo1YMAAAUBUrlw5V+2vXbsm/Pz8hLu7u7C0tBTu7u7i888/F6GhoUKI3J/x07x5cwFAtGrVKt+xjxw5Uqquz5s3L9frffLJJ9J6Bw4cyLb83bN2IiMjxffffy8qVaokrKyshKOjo/D19RWHDx/WuB/FPlSdXZX17KugoKBsy999HmNiYsSkSZOEl5eXsLa2Fvb29qJp06Zi8+bNuerzmzdvxOzZs0WjRo2Es7OzMDc3F6VKlRLt27cXu3bt0vlIl3v37gkHBwdptEhuzuoLCQkRffr0EeXKlROWlpbC3t5e1K5dW0yYMEG8fPlS7XqqntsdO3aIli1bCmdnZ2FlZSU8PT3FmDFjxOvXrzXGcPbsWTFhwgTRrFkz8cEHHwhzc3NhZ2cnPvzwQzFkyBDx77//aly/oGdMnThxIsez9Pr16ycAiG+++UZphIWq5+j169fSSI727dtnW65pX+vXr5eW379/X8jlcrFq1SrRsGFD4eDgIKytrUWNGjXEzJkz1Y4GykpbnyWaKOLVdOZVRkaGsLGxkc42Uyfr2WKvXr0S5ubmAoDYv3+/yvYHDhyQ3u9RUVEaR9h8/fXXUqw3btzIazclhTnCJikpSRQrVkwAELNmzcpVTOvXrxdCCLFnzx7RunVrUbJkSWFtbS1q1qwpli5dKlJTU6X1MjIyxJYtW0SzZs1EyZIlRbFixUSdOnXEypUrc/V5FRkZKe33woUL2ZbfvHlTDBs2TFSrVk3Y2toKc3NzUbp0aVGrVi0xYMAAsX37dpGcnKx2+9r4DiMiIv0qX768ACD69u2bY9uHDx8qjRJQdfPw8BA3b97UuB3FyGgAYvXq1fmK+/vvv5e2sWrVqlyvl56eLtzc3AQAYWJiIqKjo5WWZz3W+/fff6WR3qpu9evXzzbyQSGnYzhNZ2tnPY4/fvy46NOnj8bn+9mzZ2r7Gx0dLVq2bKnxNXNxcRFnz57N9XOYk9yMsLlw4YI02kndrWvXriIpKUlpvax5haZbVllHS6i7OTk5qRy5rVDQES1du3ZVek0LKqd45HK5GDp0qMY+29vbi4CAAJXrv5vzqKPqGPddf//9tyhevLjaOKZOnVpoI2yEEEqfYepG9Gd9zwghxHfffScAiHr16qlsP2bMGAFA1KpVSwghNI6wWbBggbTtRYsW5bJ3quUmz9OGBw8eSPtat25drmKaMmWKmDNnjpR3v3tr1KiRiI+PFxkZGdLzq+r2ySefiPT0dLX7mzt3rtp92NnZiWPHjuX67/ezzz4TAETv3r2zLdP0mZ2RkSFGjx4t7XfAgAEqY9ZFrG5ubhrb0fuHBRsyKnlJVHbs2CENo333ZmZmJtauXZvrH1l/+uknAUBYWFioPdjXJCMjQzg6OgoAolixYuLNmze5Xvfo0aNS3F26dMm2POsXxalTp4Szs7PaL9Gff/5Z7X40HaznpWBz48YN6XVSdctpWqa//vpLODk5aTxobdu2rYiLi8vxucuP5ORk4e3tneuDs4IeZGsr0ct6sK7uZmpqKpYvX662LwU9AE9MTJSm8WvRooXKNor3xpYtW4QQQkrE9+zZk62toogAQMyfPz/bck3vWW0l8UJo97NEk9weyNvb20vvK3XeTT46duwoAIju3burbN+jRw8BQHTq1EkIITQWbBRTpwEQ+/bty7ljahRmwSY4OFjp7yw3Ma1fv15pSr53b127dhXp6ekiOTlZaaq6d2+apvxT+O233wSQOVXmu3bu3Cn9XWm6XblyRe32C/odRkRE+vX48WPp837p0qUa20ZFRUlTSFtaWophw4aJXbt2ibCwMBEUFCTGjRsnrK2tBQBRsWJFjXlJRkaGdBKTqh/GciPrcfXTp0/ztO7gwYOldQ8dOqS0LOuxXqNGjYSJiYnw8/MT/v7+IiIiQuzbt080bNhQavPTTz+p3Ie2CjaNGjUSAETnzp3F3r17RUREhDh8+LBo166d1Oazzz5TuY/k5GRRt25d6Xi9b9++Ytu2beLcuXMiJCREzJo1S8qPSpQoIR48eJCn51GdnAo2kZGRokSJEgLInJpuwIAB4tixYyI8PFxs3LhR6Qf1Xr16Ka374sULceXKFdGpUycBQLi6uoorV65ku2XVu3dvUbFiRTF69GixY8cOcfbsWREWFiZ2794thgwZIh0PlSxZUu2UVwUt2JQsWVIAEDY2Nhp/fM6tnOJRFBAAiAoVKojffvtNhIaGiqCgIPH9999LJ11ZWFionB5aWwWbhw8fSsUaExMTMWTIEPHXX3+JsLAwsW7dOlG5cmUBZBZCCpIvCpG7gk1aWpr0OaUp53m3YBMWFib9/90pkOVyuZR7/vLLL0IIzQWbrH8fJUuWLND03LnN8wpq06ZN0r5ymjozay4MQDRs2FBs3bpVhIeHi6NHjypNZTlhwgSpgPXpp5+KPXv2iIiICLF//37x0UcfSe1Wrlypcl87duyQ2jg6Oop58+aJM2fOiDNnzoh58+aJEiVKiBIlSghPT88cn6e0tDTpe2n79u3Zlqv7zE5PT5dOAAcgvv/+e5Un1mkzViGEWLhwobS927dva2xL7xcWbMho5CVRCQ0NFWZmZlKi8tNPP4m///5bnD9/XixdulSUKlVKmJubSweZOf3IunfvXmnfgYGBeY79ypUr0vq+vr55Wjc9PV06M7xkyZLZlisOMjw9PYWzs7NwcXERc+fOFadOnRKhoaFi4cKF0heamZmZuHr1qsr9aDpYz23BpmTJkqJy5crCzs5OTJw4UQQHB4vw8HCxZs0a4e7uLm3j6NGjKmM4deqUdFD6wQcfiJkzZ4qDBw+KiIgIcfDgQaViRteuXfP0PObWkCFD8rSPgh5kayvRW7NmjShRooTo37+/+P3330VISIi4cOGCOHTokJg+fbpUyJPJZGp/sNbGGVOKPlhbWyuNQBBC+W/44cOHQgghXcdm5MiR2baV9blVNcpJ03tWW0m8tj9LNMnNgfzTp0+ldoozw1R5N/nYtWuX1Id3z1B78+aNsLKyEgDE7t27hRCaCzZZn1tPT0+NyaEmhVmwmTFjhvT+1/TDVNaYGjRoIIDMArHi7/HPP/+UHgcg1qxZIxWwvvjiC3Ho0CEREREhtm/fLqpWrSq1O3LkiMb4FH/jQ4YMUXr8+fPn0ogqFxcXMX36dBEQECAuXLggTp8+Lf744w8xcOBA4ejoqLFgU9DvMCIi0q+sPyCFhIRobPvFF19IxwD37t1T2ebChQvS98v48eM1bq9FixYCgKhatWq+YlccC5cqVSrP6ypOaACyj5B992QlVdcaSU5OFtWrVxdA5sgMVddz0FbBBlB9fZ6MjAzh6+sr5WKqRpWPHz9eABAODg4iPDxcZRwPHjwQpUuXlo45tCGngk3WE1LWrl2bbXlycrL0/gCgckaHvJzUdOfOHY0jky9fvixsbW0FADFx4kSVbQpSsMk64rlx48Z5Xj+v8Vy+fFmYmJgIAKJ69eoqR5EcOXJEalO/fv1sy7VVsMn6Wm/dujXb8tjY2Gyj9vIrNwWbrKNbBg0apLbduwUbIYT48MMPVX62BQYGCiCzKKo4CVJTwUYul4uaNWtK25fJZKJ58+Zi1qxZ4vjx43k6CVexjXr16qksXL57y+kaoeooTjazsLDIseCY9bXs1q1btvbp6elSMcbOzk5YWVmpzNkTEhKk17RmzZrZlicnJ4sPPvhAABDOzs4qixY3b96UTnDO6e9XMauHmZmZytdA1Wd2cnKy6NKli7T96dOnq9y2tmMVQoiTJ09KbVUVmOj9xYINGY28JCqKMz/Mzc2zXYRMiMyDsawFhJwOIB8+fCi1nTt3bp5j37x5c44/DGuS9ayFJ0+eKC1THGQo+hEZGZlt/ZCQEGlI53fffadyH5oO1nNbsAEyz4BRVRS6ffu29KNwx44dsy1PTU2VRl988sknaqepWr16tbQvdaNW8ivrhQUrVaqU40GYNg6ytZXoRUZGapza682bN9IBp7oLx2qjYKO4yCGAbFM2bN26VQAQZcuWlR779ddfBQDh7e2dbVuK972NjY3KBFvTe1ZbSby2P0s0yc1BX9bRLTNmzFDb7t3kIzk5WSrcvjulyZo1awSQecamYlotTQWb+Ph4UapUKSkOMzMz0bZtW/HLL7+IkJCQXE0xJ4Ry4tipU6dcJS/5HR2iOEOsUqVKuY4JUF1IzJqUODk5CZlMJhYvXpyt3bNnz4SdnZ3azzyFxMREqSj/7tnD69atk2LRVJBJTEwUiYmJapcX9DuMiIj0K+uPl5qmMbt//750IeaDBw9q3ObYsWMFkDnyQRPFyTWWlpZ5npb4zZs3Uty1a9fO07pCCLFv3z5p/VGjRikty3qsp+kkq6xFn0uXLmVbrq2Cjbe3t9rnJ+uMCe9OTxsXFyeNnv7111/V9kMIIVasWCEdl2pjxKymgs2TJ0+k99Inn3yidhv379+XTm5q27ZttuXaGIWelWKa8erVq6tcXpCCzaVLl6TnQ9XMFvmhKZ6sI7k1TcH95ZdfSu0U0zEraKNg8+zZM+m1VjUNtcL58+eVjpPzS13BJjExUVy5ckX88MMP0nvKxcVF3L17V+22VBVsZs+eLW0/69+kYmruNm3aSI9pKtgIkfkbhoeHh1K/FTeZTCZq1Kghxo4dm+P0kqrW13RTN21dTjp06CAAiNKlS+fYVrEva2trtVOv//7771K7MmXKZDshU2Hy5MlSu3d/Q9m+fbu0bNmyZWrjWbJkSa7y4VGjRglA/Ywe735mx8XFSbNtyGQyjTFoO1YhhLh+/brUdvbs2Rrb0vvFBERGIjIyUrrv4uKitl1YWBjCw8MBAF9//TU+/vjjbG3c3NywYMGCXO876/7u3buX6/UUsl4csVSpUnle/4MPPpDua7rg3q+//go3N7dsjzdp0gQNGjQAoPkC79owY8YMVKtWLdvjHh4e6Ny5M4DMC7i9a/v27Xjw4AGsrKywceNGWFtbq9z+V199hfr16wOAxgsm5tX169cxePBgAIClpSV27doFe3t7jeusXLkSGRkZAIC1a9eqvPj6J598goEDBwIAQkNDERYWpnZ73t7eGD9+fLbHZTIZRo0aBSDz4vBnz57N1sbNzU3tcwYA9vb2mD59OoDM5z83F27Mj6x/b+++1xT/b9KkifSY4v4///yDuLg46fGkpCREREQAABo2bKjxgok56dq1q8oLhlpaWmLYsGEAMv+url27prRcF58l+REXF4cLFy5gwIABWLZsGYDMCw4PHTo019uwtLREz549AQCbN29WWrZp0yYAQM+ePWFpaZnjtmxsbLB//37pcyk9PR2HDx/GDz/8gKZNm8Le3h7169fHjBkz8OTJk1zFt3//ftSoUSPHm6a/H00U3x+avjveVaZMGZUXOba2toafnx+AzPdNgwYNMGLEiGztSpUqhS5dugDQ/Ln7119/ISkpCdbW1mjVqpXSsufPnwMASpQogerVq6vdRrFixVCsWDG1ywv6HUZERPqV9aLjJUqUUNvO398fcrkc1tbW+PTTTzVuU3Fc8/TpU6WLa7/L0dERAJCSkoI3b97kIWooHdvZ2trmad1314mNjVXbrnfv3mqXeXt7S/d1+R34xRdfQCaT5TmGkydP4u3btwCA7t27a9yH4jVLS0uTjpN1JTg4GHK5HAAwaNAgte3Kly+P1q1bZ1tHG2JiYnD37l38+++/uHr1Kq5evSrlW9euXUNaWprW9gUov19tbGy0um1V/vrrLwBAtWrVpFxdla+++irbOtoUFBQkvW4DBgxQ265+/foq8/z8evjwoXThd5lMBmtra9SoUQO//PIL0tPT0bx5cwQFBaFixYp52m7v3r0hk8nw8OFD6Rg8MTERe/fuBQD07ds319vy8PDApUuXMH/+fHh6eiotE0LgypUrmD9/Pry8vDB69Gikp6fnKVZtU3xXaPqeeFfr1q2lz/l31apVS7rftWtXmJub59ju/v37SssU71kTExONn9V9+vRR+xma1cGDBwEAHTp0yLHt69ev0apVKxw/fhxmZmbYvHmzxhxa27ECUHpuFbkdEQCwYENGI7eJStaDGE0HHF26dFH5A7sqVlZW0o9h+fmQLYxkxcHBAe3atVO7DUWioMtERSaT4Ysvvsgxhujo6GwJ34EDBwAAzZo1Q8mSJTXuR5GsqCpc5EdCQgK6d++OhIQEAMDixYtRp06dHNfT9kF2fhM9VRISEvDgwQOlBCfrAdalS5dy3EZ+NG7cGCYmmV89f//9t9Iyxf+zFmxq1qyJ4sWLQy6X48yZM9Lj586dk5IwVYWSvMhvEq+Lz5LcOHnypFLyUrx4cXh7e0sFyk6dOiE4ODhPB+LA/ycnISEhePjwIQAoJTJ5SV7q16+Pa9euYeLEiShTpozSsvT0dISFhWHy5Mnw8PBQWfQobPlJXnKblPTq1UvtNhTtYmJi1P7IpUg6/ve//8HKykppWenSpaX19+/fn+vY31XQ7zAiItKv6Oho6b6m7zLFiSaJiYkwMzNTOp5499a+fXtpPU3fDVn3pzhWzi07Ozvpfnx8fJ7WfXed4sWLq21XtWpVtcuy/liWNSfTtvzGoHjNgMzvfU2vWdaTN3T9fX716lXpvqY8J+vyxMTEAueaV65cwcCBA1G6dGk4OjrCw8MD1atXl07emTp1KgAgIyMDMTExBdrXu7K+X/P6Xs+rlJQU3L59G0DOz2+dOnWkY9Ksr4u2XLlyRbrv4+Ojsa3ixElds7e3x9ChQ+Hl5ZXndcuWLYvmzZsD+P8T0/bu3Yv4+HjY2tpKJ1TllrW1NcaMGYObN2/izp072LhxI0aMGIH69etLea9cLsfChQs1FjeBzN86ROZMSBpv/fv3z3O/gf//rshLzvNuISqrrDlubtu9+xmneM9WrFhRY87s6OiYY3Hu5s2b0t9NTgWbZ8+e4eOPP0ZoaCiKFSuGP//8U+NvVdqOVaEg36Fk3FiwIaOR20RFccBhYWGh9KPau8zNzXP1o/y7+8zPh2xhJCuVK1eWDhhUUSQKukxUnJ2d4eTklGMMquJQJCvHjh3TmKjIZDL88ssvALSXqAwZMkQaXfH5559jyJAhOa6ji4PsgiabUVFRGD9+PKpUqQI7OztUqFBBKcHJWtDLOupLm+zt7VGzZk0AwOnTpyGEAJD596t4jps2bSq1NzExQaNGjQAoj0LIej9r+/zI7/Oqq8+SgnB1dcXIkSPh6uqa53WbNGmCihUrQgghjbLZtGkThBCoVKkSGjdunKftOTo6YsaMGXj06BH+/fdfrFmzBkOGDEGNGjWkNsnJyfjxxx8xZcoUjdvy8/PLVfKiSL7yqigmL0DmmXmHDh0CoDrp6Nixo7SNLl26oGXLlli0aBEiIiLyfAZrQb7DiIhIv7IW9JOSktS2e/nyZb62n5iYqHZZ1v2pO5FBneLFi0ujpPNz3P7ixQvpvqYcQ9Mo86z5kTZHf2grBl28ZtqQNffOaYRy1hkksq6XV+vWrUPdunWxfv36XL1fNP0t5EfW91jW954uZC025fT8mpubS7EV5PlVJy+vddaZPwrK1dUVV65ckW4nTpzAvHnzUKpUKbx9+xY9e/bEjh078rVtxYlou3btQnJyslS46datm8a/1ZxUqlQJffv2xeLFi3H+/Hk8evQIX375pbR848aNKmcTKSyK74q8/G3k9rMrv59xivd6Tifl5qaN4kS3KlWqwMPDQ2PbgIAA6feHadOmaTy5WRexKhTkO5SMGws2ZDRym6goDjgcHR1hamqqcZt5OeBQ7DM/H7LOzs7SfV0lKzkdeCi+RBVTeOlCbmMAtJOsaOMgffXq1dKP11WrVsXq1atztZ4uDrILkmxGRESgatWqmDNnDm7duiUVStTRdoKTlWJETExMjFSgOnXqFIQQKFGiRLah9IoRN6oKNhYWFvjoo48KFE9+n1ddfZbkpF69elLicvnyZQQEBGDSpEmwt7fHkydP8Mknn+R7akPF1HCKpEXxr6op4/LCy8sLX375JVauXInLly/j5s2b6NSpk7R89uzZePDgQYH2URBFMXkBMv9unz17BplMpjKJcHJywoEDB+Dm5gYhBIKCgjBq1CjUq1cPjo6O6Nq1q1TwyUlBvsOIiEi/sv4wpOlYUvFd4+zsrPRDaE43TWfVZ91fTtMFv0smk0kn8jx//jzPedCFCxek+5pOnjFkWY8PLly4kOvXTDHVdGHI7dQ/BXHjxg0MGTIE6enpcHFxwc8//4yIiAi8fv0aqamp0sk769atk9bJKd/JKzc3Nylvv3Tpkk4LfFkVxvObW4UZi7m5OapXry7dWrRogbFjxyIiIkI69h08eLDGKRvV6d69O4oVK4a3b99i9erVOH78OIC8zSiQG25ublizZg0+++wz6bFdu3ZpdR95ofiu0EVhryjQdKLbuxo3bizl6FOnTs02+0dhyfpaaHNWDjJ8LNiQ0chtoqKgzYONjIwMaW7h/HzIKhIVALh48WKe1pXL5bh8+TKAzOcgP2fWGwLFAfGnn36apwSzIC5evChde8La2hq7du3K15R1+j7ITk1NRc+ePfH69WuYm5tj1KhROHnyJJ49e4bk5GQpwbl79660jrYTnKyyTmGmODBS/NuoUaNsz5eiYBMaGoqUlBSl6/T4+PhkmyaqsBX262tjYyMlLjVq1EDr1q0xffp0nDp1CnZ2dkhJSUHv3r01zuWujiJJuXnzJpYtW4Zbt24pPa4tnp6e2Lt3rzRqJz09Hfv27dPqPvKiqCYviqTD29tbmv7sXU2bNsWdO3fwf+zdeXxTVfrH8U+6sysUUGgRBNncQKk/FLSggoIOCCi4jahsQkVxQcVlHBwQFBUVKojAgOOAIiC4gIKKVEA2rTOjbIIgbRGxLpS92/39cZI03dIt7U3S7/v1yqs3uTcnz2nS9N773POct956i1tvvZWYmBjAlMd87733+Mtf/sK1117r9Urbiv4PExERe3keB3krA+W6QOjIkSO0a9cu38lQbzdv83W4Xq9Ro0bl2ifz3C90lUAujdzcXFasWAGYCyDKOhI4UHhejNewYcNSv2eV/f/ccxR6SaNNPBNxxc2FUZJ58+aRnZ1NaGgoa9eu5eGHH+aiiy6ifv36+S42qex9Odfn9dixY6xdu7bSXsdz1HdJv9/s7Gz3/KMFf7+eFwd5uzDT2wjrssRS2SOPwIy8mTlzJmD2d5944okyt1GnTh13UvPRRx8lJyeHmJgYunfv7stQ3TxLoO/evbtSXqM0XP8rfF0usCJcny/PKQ6K422bP/74g/Xr1wOlS9i0atWKzz77jIYNG3L8+HGuu+469/MrO1ZPnu9Fs2bNSvUcqR6UsJGgUdoDFdeX7G+//VbiVTGl3eE4fPiweweoPF+y5513nnvnKikpyX3irDQ+/fRT94m4ipaG8meug5XMzMxSH6h4m4S7JIcPH+amm27i5MmTALz22mtlas9XO9m+8Pnnn7vrRb/22mu8+OKLXHHFFZxxxhn5JpGvqpPVnp9T10gQ18+iPsOXXHIJERERnDx5ki1btvDNN9+4DyoqOn9NRVTGd0lFnHfeeTz77LMApKSkMGXKlDK30apVKy699FIAxo4dC5gkWsuWLX0XqFNISAh33323+74OXgor7aSZUVFR3Hbbbfz73/8mJSWFH3/8kWnTprnLsX3yySdeD2Yr+j9MRETs5Vlu1HWxRVFcJVpPnTqVb26UinC9XnknG/eciyExMbHUoxaWLFlCamoqADfccEPQXnDgWVa3pJOJVcnzuGjTpk1et928eTNgLoArOK9DaS98+v777wEzkspbOWNffa6L4zlv5csvv1xprxMZGck555wDlPz7TU5Ods/tWfB41bP0urf9XG/fG57fL1u2bPEaS0nrfeX66693X9S3YMECd2mrsnBdkOY63r/tttu8lpCvCM+Lau28mNP1Xh4+fLjc5RZ9zfW/48cff/T6Gf3999+9zoG1cuVKsrOzqV+/fqkT+Oeeey6fffYZ0dHRHD16lF69enmdB9lXsXry/Nsr7/9RCU5K2EjQKO2Bimu7zMxMrxOrZ2dn8+2335bqtSv6JetwOLjjjjsAU5bmjTfeKPVzp02b5l4u7+RzgcB1sLJ161YyMzMr/fXuuusu94iTu+++m8GDB5fp+b7ayfYF1wEOeJ8AvbIPcFwaNWpEmzZtAJOoOXbsmLukhWvH21ONGjW46KKL3Nt7lvuyM2FTGd8lFTVixAhatGgBwNSpU8s1F1HBgxdfj67x5G8HL3v27KnUspBlkZaW5v67KM1VYp5atGjBvffey5YtW9wjbhYtWlTs9jpQEBEJbJ06dXKPbvF2wvQvf/mL+/+tL042Z2RksHPnTqDkORuLc+GFF3LNNdcA8N///rdUF5ykp6fz4IMPAmb/4ZFHHinXaweCq6++2l1e9dVXX63UUfBl0a1bN3dJ4Llz5xa73f79+1m9enWh57i4PrenTp3y+nrZ2dmA95EgP//8c5lGaZXHdddd5y6/98EHH7hLZ5fG0qVLyzRX4NVXXw2YYzlX0qsos2fPLvQcF9dxAXg/1lu4cGGx67p37+5+3+bPn1/sdlu2bPE6H6uvPfXUU4AZOTRx4sQyP79nz57ExsYSGRlJZGRkmY95yvK36Pm7L+1k9JXB8+LIqkquleSqq64CzPu4YMGCYrd76623vP7OXRe69erVq8Ry5Z7OP/98Pv30U+rXr8+RI0e49tpri/1781WsnlzvQ3h4uPuchwgoYSNBpLQHKp47Md52ON57771SX23t+XrlPVi5//773aMdxo8fX6qrzd9++20++ugjwJzov/7668v12oGgT58+gLka5J///GelvtZLL73kLs90wQUXMH369HK144udbF9wHeBA8Qc5ubm5ZUoUVpQr0XLgwAHeeustsrOziYyMpFOnTkVu70rkJCUluRM2oaGhtpa/qIzvkooKDw/nscceA8x7PXXq1DK3MWjQIOrUqUNkZCR16tRh4MCBZXp+IB+8HD16lO3bt9sWhydXObSYmJh8V9eWRd26dd3zDnhL3vnif5iIiNgnIiLC/f3tbZ+zTZs23HTTTYA5jnjppZe8trt3716vJ3K3bt3q/r/fs2fPsobtNmvWLPcImccff5yXX3652P2Jn376iauvvto9umbs2LFB/b/rtNNO49577wVgw4YNPPDAA14vLvnll1/yHVtUliZNmtCvXz/AXNle1L5wZmYmd999t/vCNFc/PLlKvh46dIgjR44U+3quC+F++OEHNmzYUGj98ePHufXWWyt1Hk4wCcJ///vf7iTaXXfdxWuvveb1PUlPT+e+++7jxhtvdP8uSmPkyJHuER/Dhw8vstzxqlWr3PP2XHLJJYXmm/Ks5DF9+vQiE2OLFi3yOq/KmWee6Z578v333y/yIqCjR48yYsSIUvbMN3r27Ok+dnznnXfKPFo/NDSU/fv3c/LkSU6ePFnmi5beeOMNhg8fXuLr/vTTT/lGunvO41nVLrnkEvc5J2//K6pSv3793HP+/v3vf89Xpt3lhx9+YPz48cW2kZ2dzccffwxQrnNiF154IZ9++imnn346GRkZ9OzZs8gEpy9iLcj1Plx66aXlKr8vwUsJGwkapT1QueSSS9yZ6xkzZrBu3bpC2/z88888/PDDpX5t1+s1a9bMPXKgrJo3b+6+ouzo0aNcddVVXq/aX7RokXvUR0REBP/6179snyulMg0ePJjY2FgAHn744RInhVu3bl256gpv2LCBRx99FDBDyN99911q1KhR9oDxzU62L7gOcMDUfy7KuHHj8k3cWtk8R8Y8//zzQP4dyIJcCZsNGza4/2Y7dOiQb5h/VauM7xJfuPPOO2natClgSouUpcQimLJ8GRkZnDx5koyMjDKX6Rs/fjyPPPIIBw4c8Lrdf/7zH1544QXAlEcr6ygSX/K82sxfDl5cV4ldd911xW7zySef8PPPPxe7/vDhw+7+eF5hWZAv/oeJiIi9XCcBN2/e7PXE94wZM9wXSTz00EPEx8czZ84cNm7cSHJyMp9++ikvvvgiPXr0oFWrVixZsqTYtlwTdUdHRxc5Srq0mjVrxnvvvUfdunWxLIsHHniASy65hOnTp5OUlMTXX3/NBx98QEJCAueee677GGnQoEFMmDCh3K8bKJ555hn3ce4rr7zCRRddRGJiIuvXr+fbb79lzZo1TJ8+nRtuuIFmzZq55/eobFOnTnWXCL777rsZNmwYn376KV9//TX//ve/+b//+z/3Z2TgwIH06tWrUBuXXXYZYC4eu+eee9i4cSO7d+9231xcox9yc3O57rrrePbZZ0lKSmLz5s3MmDGDDh068MUXX1TJxVznnnsuixcvpnbt2mRnZ5OQkMCFF17IhAkT+OSTT/jmm2/48ssv+fe//83gwYNp2bIl06ZNK/PoqPPPP5+HHnoIMPvNF110EW+88QZbt251z+Nz/fXXk5OTQ0REBK+//nqhNsLCwtyJlO+++44rr7yS5cuXk5yczMcff8yQIUO45ZZb3O9DcV588UX3cdett95KQkICa9as4euvv+af//wnF198McnJycVefFdZXImQnJwcJk2aVKWvnZmZyRtvvME555xD165deeaZZ/joo4/YunUr33zzDR988AEPPvgg559/Pvv37wfM97RrlEZRjh07xnfffVeqW3mqAkRGRrpHNLr+Nu0WFRXlHvGZnp7O//3f/zFlyhQ2btzIxo0bef755+ncuTO5ubnu8xoFz3utW7eOP//8k7CwMK699tpyxdGxY0dWr17NaaedxuHDh+nZs2eh+aV9EaunI0eOuC+ccyXARVzC7A5AxJf69u3L2rVr3QcqxZ3Mfe211+jatStZWVn06NGDBx54gN69exMZGcmmTZt49tlnSU9P58ILL/SaNAFzNfmaNWuAin/Jjh49mj179vDKK6+wf/9+OnXqxC233EKfPn0466yzyMrKYseOHSxYsMD9DzYyMpK33nqLDh06VOi1/V1kZCSLFi2iW7duHD16lCuvvJKbb76ZG264gRYtWpCbm8vPP//M119/zXvvvcf//vc/pk2bRnx8fKlfIz09nUGDBrlHpIwZM4bMzMwyDe1u06aNe+JL1072lClT3DvZjz76KB07duTYsWN88MEHvPrqq153sn3hmmuuoVGjRhw6dIgnn3ySffv20a9fP6Kjo9m9ezdvvPEGn332GV26dKmy2tieJ8hd9V29Hei7Dr48k152lkNz8eV3ia9ERETw8MMP88ADD3D48GFeffVVd8mAqnD06FFefPFFXnrpJa666iquvPJKOnToQMOGDbEsi59++olPPvmE+fPnu6/yGz16dL7EYkF//vlnqf4OQ0NDadeuXZljbt68ORdccAH//e9/+eyzz/LVJ7fDiRMn+PzzzwHv5dAWLlzIX/7yF3r06EHPnj3dV1EeOXKE7777junTp5OWlgbAPffcU2QbvvwfJiIi9rnjjjsYN24cJ0+e5L333nOXWy6ofv36rF+/noEDB/Lll1+SlJTk9UKounXrFrvONfpm0KBB+SZ+L49u3bqxbt06hg0bxqZNm9i6dWuxJZxq1qzJY489xpNPPhnUF6y5REZGsnr1au68806WLl3Kf/7znyJHq7h4e898KSYmhs8++4zrr7+eAwcOMHv27CJH9/Tv37/Y0ehXXnklnTt3ZuPGjSxYsKBQmSFXkiMuLo7x48fz9NNP8+effxY5N99DDz3EeeedVyXHM7169WL9+vWMGjWK9evXu0+iF6dBgwY8/fTTZX5vJk+ezLFjx3jttdfYs2cPw4cPL7RNvXr1WLRoUbHnA5588knWrFnDxo0b2bBhAzfccEO+9d26dWP69OleS3M3b96c999/nz59+nDkyBFee+01XnvttXzb/O1vf8PhcFRZmW0w53/OPfdcvv/+e/71r3/x9NNPV9l8jI0aNSIiIoLMzEzWr19f4ufu1ltvLXH029atW/OV+vfmjz/+KNfcXcOGDeP9999nw4YN/PTTT5x11lllbsPXbrnlFn788Ueeeuopfvvtt0JlLmvWrMm7777L5MmT+eGHH9yVdVxcF7pdfvnlFZrP7OKLL+aTTz6hR48e/PHHH1x99dV8/vnn7jKIvojV09KlSzl58iRhYWHcfPPN5Y5bgpRVDr/88ov1wQcfWE899ZR17bXXWg0aNLAAC7AGDx5c5vZWrFhh3XDDDVbTpk2tiIgIq2nTptYNN9xgrVixotRtZGVlWTNmzLC6du1qRUdHW1FRUdbZZ59tDR8+3Pruu+/KHJMEpvT0dCsyMtICrPnz53vddsGCBVZERIT7s+t5CwsLs2bNmmUNHjzYAqyzzjqr2Ha++OIL9/O2bNnik37MmDHDql+/fpGxed7atWtnJSUleW0rPj7eAqz4+Hiv2z399NPudoviWvf0008XWrdmzRr3+jVr1hRaX5rfo2VZ1j//+U93O3v37i1ym6+++sqKjY0t8XdTms9AQfPmzStVu95uBePOycmxRo0a5fU59erVsz755JMiYyrpd+vJ23v08ccfW1FRUcXG0K1bN+u7775z3//nP/9ZqI2SPiNl1axZs3wxfPTRR163b9u2bb7t33vvPa/be/t9lOazZlmWtXfvXq+/E8vy3XdJSVxtlvS3bFmWdezYMSs6OtoCrAYNGlhHjhzJt971vVDeeM4666xiY3nhhRes0NDQUv29hISEWA888ICVk5NTqB3P331pb/Xq1StXfyzLsqZNm2YBVu3ata1jx44VuU1pPg+WVfq/2+I+h++//74FWDVr1rROnDhR7PNdn6uSbvfcc0+Rv2PLqpz/YSIiYo9bbrnFAqxrrrmmVNt/+OGH1m233WadffbZVs2aNa3w8HCrYcOG1mWXXWY99NBD1tq1a4t97oYNG9z/P3x9vP3hhx9aQ4YMsdq2bWvVq1fPioiIsJo0aWLFx8dbkydPttLS0kpsw1f7eiXtw7n2iYo6D+Kr/XhPX375pTV06FCrTZs2Vp06daywsDCrfv36VlxcnJWQkGCtWLHCys7O9tpGaXnG7y2uI0eOWJMmTbL+7//+zzrttNPc71f//v2t999/v8TXycjIsJ588knrwgsvtGrXrm05HI5ijzk++ugjq2fPntbpp59uRUREWDExMVb//v2tVatWWZZV8vte2mPjsvjss8+s++67z+rQoYPVqFEjKywszKpbt67Vpk0b67bbbrMWLFhQ7P5caeNJSkqybrvtNqtZs2ZWZGSkVbduXatDhw7W448/bh06dKjEGI8fP25NnDjROv/8860aNWpYdevWteLi4qzp06db2dnZpd7H3b9/vzVy5EjrrLPOsiIiIqzGjRtb1113nfXxxx9bluWb40XX31Rpj1P+/e9/u19z1KhR+dZ57iuXR0nHTH/++ae1aNEiKyEhwbr00kutxo0bWxEREVZERIQVHR1tde7c2XrggQesrVu3en2d8px3+OOPP8rVp+zsbCsmJsYCrEmTJpUYk7e/fV8fGyUlJVk33HCD1ahRIysyMtI666yzrLvvvtvatm2bZVmWdeGFF1qANWjQoHzPO+eccyzAeumll4pt28Xbd7bLV199ZdWpU8cCrOjoaOu///2vz2L11LNnTwuwbrrpphLjluqnXN9a3r40ypKwycnJsYYMGeK1vaFDhxZ7ksHl119/teLi4optIzIy0nrjjTfK01UJQGU5UPn++++tv/71r1aTJk3cycKBAwdaGzdutCyrdImG4cOHW4AVFxfnqy5YlmVZf/zxhzVt2jTr2muvtWJjY62oqCirdu3aVsuWLa2bb77ZWrhwYal2xoMtYWNZlnXy5Elr5syZ1nXXXed+76KioqzY2FirZ8+e1sSJE60dO3Z4fa2SXr+8t+LiLu9Oti8P9L777jvr9ttvt5o0aeI+II+Pj7dmzZpl5eTklLjD5euEze233+5uLyQkpMSdzmHDhrm3dzgcVnp6utftvf0+fJmwsSzffJeUxBVHaQ8wJ06c6H7O888/n29dZSZsLMuyDh06ZM2fP98aMmSI1alTJ6tBgwZWWFiYFRkZaTVu3Ni64oorrMcff9zr32lVJ2z++OMPq0aNGhZgLVy4sMSYKjNh4/qs9+nTx2vMv//+u/XWW29Zd999t9WpUyf3hS81atSwWrdu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HYfD4dc16kREREREREREREREpPqxJWHTvn179/KOHTu8buu5vl27dhVuJzY2llq1apU6VhERERERERERERERkcpmS8KmRYsWNGnSBIC1a9d63TYpKQmApk2b0rx583zrunbt6l721s7BgwfZtWsXAF26dClVjImJibRv3564uLhSbS8iIiIiIiIiIiIiIlJetiRsHA4Hffv2BczIl40bNxa53caNG90jY/r27VtoQqDWrVu7R90sWrSI48ePF9nOvHnz3Mv9+vUrVYwJCQls27aNLVu2lGp7ERERERERERERERGR8rIlYQMwZswYQkNDARg9ejQnTpzIt/7EiROMHj0agLCwMMaMGVNkOw8//DAAv//+O4888kih9Xv27GHSpEkAtGrVqtQJGxERERERERERERERkaoSVp4nrVu3jt27d7vvp6enu5d3796db0QLwJ133lmojdatWzN27FgmT57M1q1b6dKlC48++igtW7Zkz549PPfccyQnJwMwduxYzjnnnCJjGTx4MHPnzmX9+vUkJiZy8OBBhg0bxumnn87mzZv5xz/+QUZGBiEhIbz66quEhZWryyIiIiIiIiIi4mP7AddZpWxgT716JJN3wioaaGZHYCIiIjYoV/Zi9uzZzJ8/v8h169evZ/369fkeKyphAzBx4kQOHTrE3LlzSU5O5uabby60zZAhQ5gwYUKxsYSGhrJs2TJ69+7Nli1bWLJkCUuWLMm3TWRkJNOnT6dXr14l9ExERERERERERKrCfqANcNL1QHg4dOuWb5soYCdK2oiISPVgW0k0gJCQEObMmcNHH31E3759adKkCRERETRp0oS+ffuyYsUKZs+eTUiI9zCjo6PZsGEDr732Gl27dqVBgwZERUVx9tlnM2zYML7++muGDh1aRb0SERERERGpnhITE2nfvj1xcXF2hyIiASAdj2RNMU6SNwJHREQk2JVrhM28efMKlT2riN69e9O7d+8KtREWFsbIkSMZOXKkj6ISERERERGRskhISCAhIYGMjAzq1atndzgiIiIiIgHF1hE2IiIiIiIiIiIiIiIiooRNsTSUX0REREREREREREREqooSNsVISEhg27ZtbNmyxe5QREREREREREREREQkyClhIyIiIiIiIiIifmsOkGl3ECIiIlVACRsREREREREREalyf5Ryu9eAi4ENlRiLiIiIP1DCRkREREREREREqpQFPFuK7cKB04HvgC7ASODPygtLRETEVkrYiIiIiIiIiIhIlXoV+ByIAN4GvgY2ZWXx4hdfsCkri6+dj+0GfgDucj5vJtAOWIRJ+oiIiASTMLsDEBERERERERGR6iMZeMS5/BIwyLmcBfx8+DAdMSNrPM0F7gBGALucz5mPKZd2VmUHLCIiUkU0wkZERERERERERKrEUUyyJRPoC4wqw3O7Af8BnsaMzFkBtAdeBLJ9GqWIiIg9lLApRmJiIu3btycuLs7uUEREREREREREgsK9mBJnMcAcwFHG50cBf8ckbq4AjgMPA5cAW30WpYiIiD2UsClGQkIC27ZtY8uWLXaHIiIiIiIiIiIS8P6NKWMW4lxuUIG22gJrgNnA6Zgya/8HjAGOVChKERER+yhhIyIiIiIiIiIilWo3cI9z+SnM6JiKCgGGANuBW4Fc4BVMmbTlPmhfRESkqilhIyIiIiIiIiIilSYTuAUzf83lwJM+br8xZsTOx0ALIBW4AegPpPn4tURERCqTEjYiIiIiIiIiIlJpnsDML3M6JrESVkmvcw3wHfCY8zXeA9oB04GcSnpNERERX1LCRkREREREREREKsXHwAvO5X8CsZX8ejWBScA3QGfMfDajgS7Afyr5tUVERCpKCRsREREREREREfG5g8Bg53IC0LcKX/t8YB2QCNQFNgEXA48Cx6swDhERkbJQwkZERERERERERHwqF/grcAiTPJliQwyhwChgOzAAUxbteeBczMgfERERf6OEjYiIiIiIiIiI+NQU4FOgBvCO86ddmgCLgfcxJdn2Ab2AW4Bf7AtLRESkECVsRERERERERETEZzYBTzqXXwXa2RiLp78A24AxmBNibwNtgTcwI4JERETspoRNMRITE2nfvj1xcXF2hyIiIiIiIiIiEhAOY0auZAMDgSH2hlNIbWAqsBm4CPgTGA7EY5I5IiIidlLCphgJCQls27aNLVu22B2KiIiIiIiIiIjfs4B7gL1Ac2AW4LAzIC8uxowEegmoBawDOgBPASftC0tERKo5WxM2DoejVLdu3bqV2NbKlSvp168fMTExREZGEhMTQ79+/Vi5cmXld0REREREREREpJr7J6bMWCiwEKhnbzglCgMeAL4HrgeygAnABcDnNsYlIiLVV5jdAVRUbm4uw4cPZ86cOfkeT0tLIy0tjWXLljF06FBef/11QkI0oEhERERERERKb/9+SE83y9nZsGdPPZKTIcx5NB0dDc2a2RefiL/YDox2Lv8D6GxjLGV1FvA+sAS4D/gBuAoYDLwARNsXmoiIVDN+kbAZOXIko0aNKnZ9rVq1il33xBNPuJM1HTt25JFHHqFly5bs2bOH559/nuTkZGbPnk3Dhg159tlnfR67iIiIiIiIBKf9+6FNGzjpro8UDnTLt01UFOzcqaSNVG8ngZuB45hEx6P2hlMuDuBGoAcwDpgJzAc+xJRN+yv+W95NRESCh18kbBo1asR5551X5uft2rWLF154AYBOnTqRlJREjRo1AIiLi6NPnz7Ex8ezdetWpkyZwt13302rVq18GruIiIiIiIgEp/R0z2RN0U6eNNspYSPV2Vjgv0BD4F8E9oTJ9YDXMAma4cB3mJE28zFJnHPsC01ERKqBQP4fyssvv0x2djYA06ZNcydrXGrWrMm0adMAyM7OZurUqVUeo4iIiIiIiIhIsHofmO5cng+caWMsvnQp8A0wCYjCzGlzPmaOm0wb4xIRkeAWsAkby7JYvnw5AG3btqVz56Kro3bu3Jk2bdoAsHz5cizLqrIYRURERERERESCVSpwl3P5QaCXjbFUhnDgMcwomx7AKeApoCOwzsa4REQkeAVswmbv3r0cOHAAgPj4eK/butanpaWxb9++yg5NRERERERERCSo5QC3A78DF2NGogSrlsAnwFuYsm/bgMuBEcAfNsYlIiLBxy8SNu+++y7t27enZs2a1KlTh3POOYfBgwezZs2aYp+zbds293Lbtm29tu+5fvv27RUPWERERERERESkGpsIrAVqAwuBCHvDqXQO4DZgB3C387FZQDvgHUD1XERExBfC7A4A8idfAHbv3s3u3bt58803ueGGG5g3bx716tXLt01qaqp7OSYmxmv7sbGx7uWUlBSv2546dYpTp06572dkZACQlZVFVlaW944EEFdfgqlPoH4FomDtm/oVWNSvwBKs/YLg7Zv6VTmvKyIiYpcvgfHO5deAc2yMparVB+YAd2BG2OwEbgbmYX4XLWyLTEREgoGtCZuaNWvSp08frrrqKtq2bUvt2rX59ddfWbt2LTNnzuS3335j2bJl9O3bl9WrVxMeHu5+7pEjR9zLtWvX9vo6tWrVci8fPXrU67aTJk1i/PjxhR5fs2YNNWvWLG3XAsbq1avtDqFSqF+BJ1j7pn4FFvUrsARrvyB4+6Z++cbx48er9PVEREQ8/Y4ZaZIL/NV5q47igf8Ak4FngY+BczGJrAeAA0C6c9tsYE+9eiSTdyIuGmhWlQGLiEhAsDVhk5aWxmmnnVbo8R49ejB69Gh69epFcnIya9euZcaMGdx3333ubU6ePOlejojwPvA2MjLSvXzixAmv244bN44HH3zQfT8jI4PY2Fi6d+9OgwYNSupSwMjKymL16tX06NEjXyIs0KlfgSdY+6Z+BRb1K7AEa78gePumfvmWawS4iFS+6GiIigKPw89CoqLMdiLVgQUMAVKAVkCiveHYLhJ4GhgE3IMpEfcI8E9gD5Dp2jA8HLp1y/fcKMzoHCVtRETEk60Jm6KSNS6NGzdm8eLFtG3blqysLKZNm5YvYRMVFeVezszMLKoJN88SZzVq1PC6bWRkZL4Ej0t4eHhQnWBwUb8CS7D2C4K3b+pXYFG/Akuw9guCt2/ql+9eT0SqRrNmsHMnpDsvk8/OzmLduvV07dqFsDDztxgdbbYTqQ5mAsuAcOBtoI6t0fiPtsAaTKLmYaA0syefxIzA0deHiIh48os5bIpz9tln06NHD1asWMHu3bs5cOAATZo0AaBOnbzdgpLKnB07dsy9XFL5NBERERERERGXZs3yEjJZWfDzz4fp2NFcMC9SnfwPU+oL4DngYhtj8UcO4G7geuBOYKWt0YiISKAKsTuAkrRv3969nJaW5l6OiYlxL6empnptIyUlxb0cGxvrw+hERERERERERILbcUzZr1NAL+B+e8Pxa42ACXYHISIiAcvvEzYOh6PIxz0TOTt27PDahuf6du3a+SYwERERERERyScxMZH27dsTFxdndygi4kNjMGW+zgDmEQAnk0RERAKU3/+P3bZtm3vZVQ4NoEWLFu77a9eu9dpGUlISAE2bNqV58+a+D1JERERERERISEhg27ZtbNmyxe5QRMRH3gXewJT8egszgkREREQqh18nbPbu3cvq1asBaNmyJU2bNnWvczgc9O3bFzAjaDZu3FhkGxs3bnSPsOnbt2+xI3ZERERERERERCTPPmCYc/kx4Cr7QhEREakWbEvYfPDBB2RnZxe7/pdffmHAgAFkZmYCMGrUqELbjBkzhtDQUABGjx7NiRMn8q0/ceIEo0ePBiAsLIwxY8b4KHoRERERERERkeCVBdwCHAY6A+PtDUdERKRaCLPrhUePHk1WVhYDBgzg0ksvpXnz5tSoUYP09HS++OILXn/9ddLT0wHo2rUrCQkJhdpo3bo1Y8eOZfLkyWzdupUuXbrw6KOP0rJlS/bs2cNzzz1HcnIyAGPHjuWcc86p0j6KiIiIiIiIiASivwMbgXrAQiDc1mgCSzQQBZz0sk2UczsRERFPtiVsAA4cOMC0adOYNm1asdsMGDCA2bNnExkZWeT6iRMncujQIebOnUtycjI333xzoW2GDBnChAkTfBa3iIiIiIiIFJaYmEhiYiI5OTl2hyIiFfA5MMm5/AbQ3L5QAlIzYCeQ7ryfnZXFKz/8wIL27YkF3gMaOrcTERHxZFvCZv78+axdu5avvvqKH3/8kfT0dDIyMqhduzaxsbFcdtllDB48mEsvvdRrOyEhIcyZM4cBAwYwa9YstmzZQnp6OtHR0cTFxTFixAh69epVRb0SERERERGpvhISEkhISCAjI4N69erZHY6IlMOvwO2ABQwFbrI3nIDVjLyETBbwl717WdquHSkOByEoWSMiIkWzLWETHx9PfHy8z9rr3bs3vXv39ll7IiIiIiIiIiLVSS5wJ/Az0A54xdZogkuN7GyutSyWORy8A3S0OyAREfFLIXYHICIiIiIiIiIi9nsFWAFEAu8ANe0NJ+jclJsLmN+tZW8oIiLip5SwKUZiYiLt27cnLi7O7lBERERERERERCrV18CjzuWXgPNtjCVY9bYsagL7gC02xyIiIv5JCZtiJCQksG3bNrZs0b9QEREREREREQleR4CbMXOt9ANG2htO0KoF/MW5/I6dgYiIiN9SwkZERERERER8QpUKRALTvcBuIAaYDTjsDSeoDXL+XISZM0hERMSTEjYiIiIiIiLiE6pUIBJ43gLexJwgWgDUtzecoNcLqAOkAhtsjkVERPyPEjYiIiIiIiIiItXQD+SVP/sbcLmNsVQXUcANzmWVRRMRkYKUsBERERERERERqWYygVuAo8AVwJP2hlOtuMqiLQZy7AxERET8jhI2IiIiIiIiIiLVzDjga0wJtH8DofaGU630AE4HDgJJNsciIiL+RQkbEREREREREZFqZCXwknN5LhBjYyzVUQTQz7mssmgiIuJJCRsRERERERERkWriZ2Cwc/leoK+NsVRnrrJoS4BsOwMRERG/ooSNiIiIiIhIFXA4HKW6devWrcS2Vq5cSb9+/YiJiSEyMpKYmBj69evHypUrSx1PdnY2M2fO5PLLL6dhw4bUqFGDli1bMmLECL7//vty9TExMZH27dsTFxdXrueLSOXKBe4AfgUuAKbYG061diUQDaQDn9sci4iI+A8lbERERERERAJEbm4uQ4cOpXfv3ixbtoy0tDQyMzNJS0tj2bJl9O7dm2HDhpGbm+u1nfT0dC677DJGjhzJunXrSE9P5+TJk/z444/MmjWLiy++mNmzZ5c5voSEBLZt28aWLVvK20URqUTPA58CNYG3gSh7w6nWwoABzmWVRRMREZcwuwMQERERERGpTkaOHMmoUaOKXV+rVq1i1z3xxBPMmTMHgI4dO/LII4/QsmVL9uzZw/PPP09ycjKzZ8+mYcOGPPvss0W2kZOTQ79+/dxJlf79+zNs2DDq16/Ppk2bmDBhAocOHWLEiBE0bdqUXr16VaC3IuIvNgJPOpdfBdrZGIsYg4DXgaXADMzcNiIiUr0pYSMiIiIiIlKFGjVqxHnnnVfm5+3atYsXXngBgE6dOpGUlESNGjUAiIuLo0+fPsTHx7N161amTJnC3XffTatWrQq1M3/+fNatWwfAqFGjSExMdK+75JJL6NWrFxdffDEZGRncd999bN++nbAwHToGq5wcWLvWQVJSU2rVctC9O4SG2h2V+NqfwC1ADiZJcLet0YjLFcAZwEFgNXCdveGIiIgfUEk0ERERERGRAPDyyy+TnW2mpp42bZo7WeNSs2ZNpk2bBpj5aaZOnVpkO66kT/369ZkypfAMFq1atWLcuHEA7N69m/fee89nfRD/snQpNG8OPXqE8dJLnejRI4zmzc3jEjws4B5gH9ACM6LDYWdA4hYK3ORcftvOQERExG8oYSMiIiIiIuLnLMti+fLlALRt25bOnTsXuV3nzp1p06YNAMuXL8eyrHzrd+3axfbt2wEYOHAgNWvWLLKdO++8072shE1wWroUbrwRUlPzP56WZh5X0iZ4zMXMkRIGLATq2RuOFDDI+XM5cNLOQERExC8oYSMiIiIiIuLn9u7dy4EDBwCIj4/3uq1rfVpaGvv27cu3zlUKraR2zjjjDFq3bg3A+vXryxOy+LGcHLj/fiiQzwPyHhszxmwngW07MNq5/A/g/2yMRYp2KRADHAFW2hyLiIjYTwkbERERERGRKvTuu+/Svn17atasSZ06dTjnnHMYPHgwa9asKfY527Ztcy+3bdvWa/ue612jaSrSTkpKCseOHfO6rQSWL78sPLLGk2VBSorZTgLXSeBm4ARwNfCIveFIMUKAgc7ld+wMRERE/IJmjhQREREREalCnkkTMPPE7N69mzfffJMbbriBefPmUa9e/qJFqR5n12NiYry2Hxsb615OSUmpcDuWZZGamuoutVaUU6dOcerUKff9jIwMALKyssjKyvL6OoHE1ZdA71NKioPSnA5ISckmK6uIYTgBIljer6KUpm8PhoTw39BQGloWc7KzyQH8fdBUsL5nJfVrgMPBS2FhfGBZ/JmdTa2qDK4Cquv7FaiCtV8QvH1Tvyrndf2dEjbFSExMJDExkRyNARcRERERER+oWbMmffr04aqrrqJt27bUrl2bX3/9lbVr1zJz5kx+++03li1bRt++fVm9ejXh4eHu5x45csS9XLt2ba+vU6tW3qm+o0eP5lvnq3YKmjRpEuPHjy/0+Jo1a4qdJyeQrV692u4QKuSnnxoAXUux3UZWrPit8gOqZIH+fnlTXN82nnEGM/7PFEAbuXEjyYcOkVyVgVVQsL5nxfXLAhpffTW/1KrFxG+/pauzBGagqG7vV6AL1n5B8PZN/fKN48ePV+nrlZcSNsVISEggISGBjIyMQle3iYiIiIiIlFVaWhqnnXZaocd79OjB6NGj6dWrF8nJyaxdu5YZM2Zw3333ubc5eTJvKuqIiAivrxMZGelePnHiRL51vmqnoHHjxvHggw+672dkZBAbG0v37t1p0KCB1+cGkqysLFavXk2PHj3yJdQCzXnnwd//bpGT4yhyvcNh0bQpPPzw/xEaWsXB+VCwvF9F8da3FOCuMHO654GcHJ7s1MmGCMsnWN+z0vTrryEhvADsvvhinu3QoUrjK6/q/H4FomDtFwRv39Qv33KNAPd3StiIiIiIiIhUgaKSNS6NGzdm8eLFtG3blqysLKZNm5YvYRMVFeVezszM9Po6nqXJatSokW9dwXY875elnYIiIyPzJXhcwsPDg+oEg0sg9ys9Hfr0AVcxCYfDzFnj4nAAOHjlFYiKCsw+FhTI71dJCvYtB7gT+APoBEwODSU8ALNuwfqeeevXrcALwMchIZwMCaFOlUZWMdXx/QpkwdovCN6+qV++e71AEGJ3ACIiIiIiIgJnn302PXr0AMy8Ngc8SuLUqZN36q6k8mTHjh1zLxcse+ardiQwZWRAr16wbRs0bQozZpifnmJiYPFi6N/fnhilYiYAXwK1gYWA93F04k86AOcAJ4H37Q1FRERspISNiIiIiIiIn2jfvr17OS0tzb0cExPjXk5NTfXaRkpKins5NjY237rytONwOPI9TwLTiRNmZM3WrdCgAaxeDffcA/v2werV2Tz44FZWr85m714lawJVEvCMc3kG0MrGWKTsHMDNzuV37AxERERspYSNiIiIiIiIn3A4ip5TxDORs2PHDq9teK5v165dhduJjY2lVq1aXrcV/5aVBTfdBGvXQp068Mkn4PpohIZCfLzFFVekER9vBfScNdXZb8BtQC5wB3C7veFIOQ1y/vwYU9ZORESqHyVsRERERERE/MS2bdvcy02aNHEvt2jRwn1/7dq1XttISkoCoGnTpjRv3jzfuq5du7qXvbVz8OBBdu3aBUCXLl1KF7z4pZwcGDwYPvoIoqLgww/h4ovtjkp8yQKGAKmYklqJ9oYjFXCu85YFLLM3FBERsYkSNiIiIiIiIn5g7969rF69GoCWLVvS1GNyEYfDQd++fQEz8mXjxo1FtrFx40b3yJi+ffsWGrHTunVr96ibRYsWcfz48SLbmTdvnnu5X79+5euQ2M6y4N57YeFCCAszc9NccYXdUYmvvQYsB8KBtzHz10jgco2yUVk0EZHqSQkbERERERGRSvbBBx+QnZ1d7PpffvmFAQMGkJmZCcCoUaMKbTNmzBhCnfWqRo8ezYkTJ/KtP3HiBKNHjwYgLCyMMWPGFPlaDz/8MAC///47jzzySKH1e/bsYdKkSQC0atVKCZsA9vjjMHMmOBzwr3/BddfZHZFUxH7gG+ctGdhTrx6LgAec68cBF9kUm/iOK2HzKZBuZyAiImKLMLsDEBERERERCXajR48mKyuLAQMGcOmll9K8eXNq1KhBeno6X3zxBa+//jrp6ebUXNeuXUlISCjURuvWrRk7diyTJ09m69atdOnShUcffZSWLVuyZ88ennvuOZKTkwEYO3Ys55xzTpGxDB48mLlz57J+/XoSExM5ePAgw4YN4/TTT2fz5s384x//ICMjg5CQEF599VXCwnTYGIieew4mTzbLM2fCzTd73178236gDXDS9UB4OHTrlm+b5zGl0ZpVZWDic62BDsC3wFJguJ3BiIhIldOet4iIiIiISBU4cOAA06ZNY9q0acVuM2DAAGbPnk1kZGSR6ydOnMihQ4eYO3cuycnJ3FzEWfghQ4YwYcKEYl8jNDSUZcuW0bt3b7Zs2cKSJUtYsmRJvm0iIyOZPn06vXr1KmXvjMTERBITE8nJySnT88S3Xn8dHnvMLD/3HAzXGd+Al45HsqYYJ53bKWET+AZhEjbvoISNiEh1o5JoIiIiIiIilWz+/PmMHz+ea6+9ltatW1O/fn3CwsI47bTTOP/88xkxYgQbNmxg8eLFnHbaacW2ExISwpw5c/joo4/o27cvTZo0ISIigiZNmtC3b19WrFjB7NmzCQnxfqgXHR3Nhg0beO211+jatSsNGjQgKiqKs88+m2HDhvH1118zdOjQMvczISGBbdu2sWXLljI/V3xj4UIYOdIsjxsHRVS9ExE/N9D58wvgFxvjEBF7feZwcG/37nxWYE5CCW4aYSMiIiIiIlLJ4uPjiY+P91l7vXv3pnfv3hVqIywsjJEjRzLSdXZfAt5HH8Edd4BlmaTNxIl2RyQi5XE2EAdsARYDhYtkikiws4AnQ0JIrVuXJ3NzuQZQ2qZ60AgbERERERERkQC3di3ceCNkZ8Ott8L06aALckUC1yDnz3dsjUJE7LIK+No5YvrrkBBW2RuOVCElbEREREREREQC2Nat8Je/wMmTcP31MG8elFAVT0T8nKss2jogzc5ARKTKWYBnYdpQy+Ip5+MS/LQLJyIiIiIiIhKgtm2Da6+FI0egWzdYtAjCw+2OSkQqKhbogjlB+67NsYhI1RoMpHrcz3E42AIaZVNN2Jqw2bp1K8888ww9e/YkJiaGyMhIateuTevWrbnrrrtYt25dmdpbuXIl/fr1c7cVExNDv379WLlyZSX1QERERERERMQee/dCjx7w22/QqRO8/z7UqGF3VCLiK66yaG/bGoWIVBULeAL4VxHrQkCjbKqJMLte+IorruDLL78s9HhmZiY//PADP/zwA/PmzeOOO+7gjTfeICIioti2cnNzGT58OHPmzMn3eFpaGmlpaSxbtoyhQ4fy+uuvE6Jx4SIiIiIiIhLgfv7ZJGsOHID27WHlSqhTx+6opLJEAxFAppdtopzbSfC4Ebgf2ATsA5rbGYyIVCoLeAR4oZj1ueAeZXNNVQUltrAte3HgwAEAmjRpwv3338/ixYvZvHkzX331FS+99BJNmzYF4M033+TOO+/02tYTTzzhTtZ07NiRhQsXsnnzZhYuXEjHjh0BmD17Nk8++WTldUhERERERESkCvz+O/TsCXv2QIsWsGoVROtMfVBrBvR0LvcHNmVl8eIXX7ApK4uvga+Bnc7tJHicCcQ7lxfZGYiIVCoLGENessZRzHYONMqmOrBthE3btm159tlnGTBgAKGhofnWde7cmb/+9a906dKFXbt2sXDhQu655x6uuOKKQu3s2rWLF14wH+dOnTqRlJREDecY8Li4OPr06UN8fDxbt25lypQp3H333bRq1aryOygiIiIiIiLiY0ePQu/e8N13cOaZ8Omn4LzeUYLYQeBj5/JTwLnAz4cP0xHQlEXBbRDwBfAO5up7EQkuucAo4HXn/TrAkWK2tYD9mNGWkZUfmtjEthE2H374IQMHDiyUrHGJjo7mxRdfdN9fvHhxkdu9/PLLZGdnAzBt2jR3ssalZs2aTJs2DYDs7GymTp3qi/BFREREREREqtTJk3DDDbBpE5x+uhlZc/bZdkclVWE2kA1cCnSwNxSpYgOAUOAbYLfNsYiIb+UAQzHJGgfwT+B7cI+cdI2m/CgrC9cZ78dRsibY+fWELt27d3cv79mzp9B6y7JYvnw5YEbsdO7cuch2OnfuTJs2bQBYvnw5lqWBYyIiIiIiIhI4srPhllvgs8+gdm34+GM47zy7o5KqkA3Mci6PsjMQsUVD4Ern8jt2BiIiPpUNDMYkaUKBt4A7gVjgIuetI9Dy8GF6YEZXAkwBjld1sFKl/Dphc+rUKfdyUSNx9u7d654LJz4+vtB6T671aWlp7Nu3z3dBioiIiIiIiFSi3FwYMgSWLYPISHj/fbjkErujkqryEZACNMBMQi/VzyDnTyVsRIJDFnAr8G/MfCVvO+978wBwFpAKvFjCthLY/Dphs3btWvdyu3btCq3ftm2be7lt27Ze2/Jcv337dh9EJyIiIiIiIp4SExNp3749cXFxdocSNCwLxoyBN9+E0FBYtAg8ilFINTDD+XMIEGVnIGKbfpiTuv8DdEZLJLCdAgYC72LmIFtM6ZLxUcBk5/Jk4EClRCf+IMzuAIqTm5vL5MmT3fcHDhxYaJvU1FT3ckxMjNf2YmNj3cspKSnFbnfq1Kl8I3syMjIAyMrKIisrq+TAA4SrL8HUJ1C/AlGw9k39CizqV2AJ1n5B8PZN/aqc1xXxRwkJCSQkJJCRkUG9evXsDicoPP00OKdlZd486NPH1nCkiu0GPsHMbTDC5ljEPvWBazCjrd4B/m5rNCJSXicx81KtwMxDsxToXYbnDwJeBb4CngTm+jpA8Qt+m7CZOnUqmzdvBqB///5cfPHFhbY5cuSIe7l27dpe26tVq5Z7+ejRo8VuN2nSJMaPH1/o8TVr1lCzZs0S4w40q1evtjuESqF+BZ5g7Zv6FVjUr8ASrP2C4O2b+uUbx4+rarVIdfHSS/CPf5jl6dPh9tvtjUeq3kznz2uBs+0MRGw3iLyEzdOYJJ6IBI7jwA3AaqAGsBzoUcY2HMBUoDMwD7gXM9eNBBe/TNisXbuWxx57DIBGjRoxY8aMIrc7efKkezkiIsJrm5GRke7lEydOFLvduHHjePDBB933MzIyiI2NpXv37jRo0KBU8QeCrKwsVq9eTY8ePQgPD7c7HJ9RvwJPsPZN/Qos6ldgCdZ+QfD2Tf3yLdcIcBEJbnPmwEMPmeWJEyEhwd54pOqdwExGDTDKzkDEL/TFXJG/A1Ma7QJ7wxGRMjgK/AX4AqgFfAh0K2db/4eZ72YB8CCwBiVwg43fJWy+//57+vXrR3Z2NlFRUbz77rs0atSoyG2jovKqt2ZmZnpt17PMWY0aNYrdLjIyMl9yxyU8PDyoTjC4qF+BJVj7BcHbN/UrsKhfgSVY+wXB2zf1y3evJyLB7d13Yfhws/zwwzBunL3xiD0WAb9jJpnuZXMsYr+6mM/BMswE5UrYiASGDEzZs/VAHWAl0KWCbU7ClFNbi/lO6FfB9sS/hNgdgKe9e/fSs2dP/vjjD0JDQ3n77be54oorit2+Tp067mVvZc4Ajh075l4uqXyaiIiIiIiIiB0+/hhuuw1yc2HoUHj+eXDo0tlqyVVrZAQQamcg4jcGOX++A1h2BiIipfIn0BOTrKmHKYdW0WQNQDPAOQiXscApL9tK4PGbhM2BAwe4+uqrOXDgAA6Hg7lz59K3b1+vz4mJiXEvp6amet02JSXFvRwbG1uxYEVERERERER8bN066N8fsrJg4ECYOVPJmurqa2ATEA4MsTkW8R/XY+a++BHzGRER//U7cDXmu7w+8DmmnJmvPAacAewBEn3YrtjPLxI26enp9OjRgx9//BGAadOmcccdd5T4vPbt27uXd+zY4XVbz/Xt2rUrZ6QiIiIiIiIivpecDNddBydOQK9e8K9/QaiGVVRbrtE1NwJFF4mX6qg2JmkDZpSNiPinX4HumMRqQ8w8Mxf5+DVqAxOdy88A6T5uX+xje8Lm8OHDXHPNNWzbtg2AyZMnk1DK2RRbtGhBkyZNAFi7dq3XbZOSkgBo2rQpzZs3L3/AIiIiIiIiIj60cydccw1kZEDXrrB4MURE2B2V2OVPzGTSAKNsjEP8k6ss2iJUFk3EHx0EugH/xYyA+YLKm3NqMNABOAz8vZJeQ6qerQmb48ePc9111/HNN98A8MQTT/Doo4+W+vkOh8NdNm3Hjh1s3LixyO02btzoHmHTt29fHBpTLiIiIiIiIn5g/37o0QN+/RU6doQPP4SaNe2OSuw0HzgBnIdv5jqQ4NIbc2X9fqDos2AiYpc0IB7YBjQF1gLtvT6jYkKBl5zLM52vK4HPtoRNZmYm/fr1Y/369QDcf//9TJgwocztjBkzhlDnOPHRo0dz4sSJfOtPnDjB6NGjAQgLC2PMmDEVC1xERERERKQctm7dyjPPPEPPnj2JiYkhMjKS2rVr07p1a+666y7WrVtXpvZWrlxJv3793G3FxMTQr18/Vq5cWeo2srOzmTlzJpdffjkNGzakRo0atGzZkhEjRvD999+XtYtSRr/8YpI1KSnQti188gnUq2d3VGIni7xyaKMAXW4qBdUA+jiXVRZNxH/sxyRrdgHNMMma1lXwut2BvkAO8HAVvJ5UvjC7XviWW25h1apVAFx55ZUMGTKE7777rtjtIyIiaN268Me8devWjB07lsmTJ7N161a6dOnCo48+SsuWLdmzZw/PPfccycnJAIwdO5ZzzjmncjokIiIiIiJSjCuuuIIvv/yy0OOZmZn88MMP/PDDD8ybN4877riDN954gwgv9bByc3MZPnw4c+bMyfd4WloaaWlpLFu2jKFDh/L6668TElL8NXrp6en07t2bLVu25Hv8xx9/ZNasWcyfP5/p06czdOjQMvZWSuPPP00ZtF27oFkzWLUKGja0Oyqx2xpgJ2YExe02xyL+62ZM2bx3MVfX2z7fgUg19yNwJfATcDbwOXBWFb7+FGAFsBL4BLimCl9bfM+2hM3SpUvdy59//jkXXOC9mt9ZZ53Fvn37ilw3ceJEDh06xNy5c0lOTubmm28utM2QIUPKNYJHRERERESkog4cOABAkyZNuOmmm7j88stp1qwZOTk5fPXVV7z44oukpaXx5ptvkpWVxYIFC4pt64knnnAnazp27MgjjzzivmDt+eefJzk5mdmzZ9OwYUOeffbZItvIycmhX79+7mRN//79GTZsGPXr12fTpk1MmDCBQ4cOMWLECJo2bUqvXr18/Bup3o4dg+uug//8Bxo3hk8/hdhYu6MSf/Ca8+dfgTp2BiJ+rSdQDzgArAOusDcckWrtB0yyJhUzouYzIKaKYzgHuBeYCjwEXIWNJ/2lwoIiCR8SEsKcOXP46KOP6Nu3L02aNCEiIoImTZrQt29fVqxYwezZs71eXSYiIiIiIlJZ2rZtyzvvvMP+/ft5+eWXGTBgAHFxcXTu3JkHHniAb7/91l1RYOHChSQlJRXZzq5du3jhhRcA6NSpE+vXr+fmm28mLi6Om2++mXXr1tGpUycApkyZwu7du4tsZ/78+e4SbKNGjWLJkiVce+21XHLJJYwePZr169dTt25dcnNzue+++8jOzvb1r6TaOnUK+veHDRvgtNPMyBoVghAwJ9+XOZdH2hiH+L9IoJ9zWWXRROyzHZMwTcXMVfMFVZ+scXkKqA98D8y2KQbxDdsyGJZllelW3OgaT71792bZsmWkpaVx6tQpdzkAXQ0mIiIiIiJ2+vDDDxk4cKB7/s2CoqOjefHFF933Fy9eXOR2L7/8sjt5Mm3aNGrUqJFvfc2aNZk2bRpg5qeZOnVqke24kj7169dnypQphda3atWKcePGAbB7927ee+89b92TUsrOhttuM0mamjVhxQooodiEVCNvYOYguBw43+ZYxP8Ncv58F1BKXaTq/Q8zZ81BzHf2GuBMG+M5Hfi7c/lvwGH7QpEK0pATERERERERP9C9e3f38p49ewqttyyL5cuXA2bETufOnYtsp3PnzrRp0waA5cuXY1lWvvW7du1i+/btAAwcOJCaNWsW2c6dd97pXlbCpuIsC0aMgCVLICICli2DSy+1OyrxF1nALOeyRtdIaVwFNAB+xVzVLyJVJxnojvn764hJ1jSyNSLjHqAtJq6ii+JKIFDCRkRERERExA+cOnXKvVzUSJy9e/e658KJj4/32pZrfVpaWqFqBa5SaCW1c8YZZ7jLtK1fv9578OKVZcFDD8HcuRASAgsXQo8edkcl/uQDTEm0RkB/m2ORwBBO3mdFZdFEqs5mzJw1vwGXYOasaWBrRHnCgRecyy8DP9oXilSAEjYiIiJBZD/wjfOWDOypV49kj8f22xibiIh4t3btWvdyu3btCq3ftm2be7lt27Ze2/Jc7xpNU5F2UlJSOHbsmNdtpXgTJoCrOt2cOWYOGxFPrzl/DsHMTyJSGq6yaEsxo7REpHJtAK4G/gQuA1ZjSpH5k95ADyATeNTmWKR8wuwOQERERHxjP9AGOOl6IDwcunXLt00UsBNoVpWBiYhIiXJzc5k8ebL7/sCBAwttk5qa6l6OifE+pW1sbKx7OSUlpcLtWJZFamqqu9RaQadOnco3QigjIwOArKwssrKC5zSiqy9l6dP06SH87W9mxNSLL+Zw2225+NuvpDz9CgSB0q+dwGfh4Tgsi7uzs0t14j1Q+lZW6lfZXAY0CgvjkMPBx9nZXFugBGZl0/sVWIK1X1A1fUtyOOgbGsoxh4MrcnNZlpNDDSo3WVrefk0GPgsLY7HDwZrsbLpW8XdDSez6LAbKZ18JGxERqZb2A+nO5WzyRqK4/jFGE3hJjXQ8kjXFOOncLtD6Fozvl4iIp6lTp7J582YA+vfvz8UXX1xomyNHjriXa9eu7bW9WrVquZePHj1aKe14mjRpEuPHjy/0+Jo1a4qdIyeQrV69ulTbrVkTyyuvXATAzTfvoGXLnaxYUZmRVUxp+xVo/L1fc847D1q2pNPBg3y/eTPfl+G5/t638lK/Su/iCy5gZYsWTD1wgNzkZJ+3Xxp6vwJLsPYLKq9v/2nYkImXXEKmw8GFhw6RsHkzSTk5lfJaRSlPv66+8EJWNW/OsKNHmbJ2rV+W2arqz+Lx48er9PXKSwkbERGpdjQSJbDo/RKRYLd27Voee+wxABo1asSMGTOK3O7kyby0fEREhNc2IyPziiqdOHGiUtrxNG7cOB588EH3/YyMDGJjY+nevTsNGvhLZfeKy8rKYvXq1fTo0YPw8HCv2y5b5mDaNDOy5r77cpgypSUOR8uqCLPMytKvQBII/ToO3BlmTs081bAh1/buXarnBULfykP9Krs6DgcrgW9iY7nqzDOrtKSe3q/AEqz9gsrt28cOB8+GhpLpcHBtbi6LTj+dqGuu8elrFKci/boYaG9Z7DntNP687jpu96NRNnZ9Fl0jwP2dEjYiIlLtVPZIlFzn8123E2W8X57nnMAc8JdGL0yd3doFbrXK8VgtKn9nIphHDomIfP/99/Tr14/s7GyioqJ49913adSoUZHbRkVFuZczMzO9tutZnqxGjRpe2/G8X5Z2PEVGRuZL7riEh4cH3UkhKLlfn34Kt98Oublw110wdWooISGhVRhh+VTX98tOSzBzIbQArgsLK/MV0P7ct4pQv0qvG9AEOOBw8Hl4OH182nrp6P0KLMHaL/B9394HbsLMB9MXeCckhMiQqh+rUp5+xQBPAI8BT4WFMRBz/O5PqvqzGCifeyVsREREivEiUI+yJ0+8n0Kz3yHnzVeiKF+yx9tjNcAvh2yLuOQAax0Okpo2pZbDQXfA/0/Fir/Zu3cvPXv25I8//iA0NJS3336bK664otjt69Sp4172Vp4M4NixY+7lgmXPCrbjLWHjrR0p2saNcMMNkJkJ/fvDrFlgw7kdCRCvOX/eg/Z9pHxCgIHAy8A7YEvCRiQYLQZuwZTkvhFYAATG6f489wMzgX3AC8DTtkYjpaWEjYiIVBtHgG+AZaXcfoEPXjMEk3yI8vgZVUn3dwPXlSKmtzBX2xwFjjl/et5K+5irYq8rUfVbWX4xJXAANTHJm0DbKZbgtxRz8JMaFgadOvES5m/qFaC/rZFJIDlw4ABXX301Bw4cwOFwMHfuXPr27ev1OTExMe7l1NRUr9umpKS4l2NjY722Ex0dXWI7Docj3/OkaP/9L/TqBceOQY8esGABhOmoW4qxBfgaiATutjkWCWyDMAmb9zEXkxU/HlJESmMBcAfmmPdWYD6BeRI9CngO8x3xPDAUaGprRFIagfhZExERKdFJ4FtgK+ZgeCuwHShL1dbBQHMqllCpyn+03q+1ztMOuKiCr2VhRhKVJ9FT0mOu9o85b6X1ANAd6Oi8xWISPyK+tBRzhV3B75I05+OLUdJGSpaenk6PHj348ccfAZg2bRp33HFHic9r3769e3nHjh1et/Vc365dO6/tdOjQocR2YmNjqVXL3wpp+Jfdu6FnT/jzT7jsMnjvPSiiSpyIm2t0zUCg+LSpSMn+DzgL+AlYAQywNxyRgDYfuAuzv38nMJvAHkl/E/AqsB5TIm2erdFIaShhIyIiAS8L+B6TmHElZ/6HGbpcUCzQClhTinbvo+KJjWDlwFwNGgn4cirpXMxVgZ5JnK8p3VWnSc6bS32gA3kJnI5AGwJ7Z1vslYMZWVNU4tfC/F2MwdS31udMinP48GGuueYatm3bBsDkyZNJSEgo1XNbtGhBkyZNOHDgAGvXrvW6bVKS+UZs2rQpzZs3z7eua9eu7uW1a9dy8803F9nGwYMH2bVrFwBdunQpVYzVVWoqXH01/PILXHABfPghKL8l3vwOvO1cHmlnIBIUHJjE3xTM50oJG5HyeQMYgdm3Hw7MIPDLVTqAqcAlmGTUaOBiWyOSkgT6Z05ERKqZHMxImTcxOxqXAnUxJ+OHY3awkjHJmoZAb0yd1g+An4H9mNqtwSgaM7LHmyj8+wrOEMycNo2Bs4ELgAtL+dyHMVdAXYi5IuV34HPMXES3A+cCdYDOmDrxrwObMQkikeKcAnYCK4GHAG9FqCwgBfiyCuKSwHT8+HGuu+46vvnmGwCeeOIJHn300VI/3+FwuMum7dixg40bNxa53caNG90jY/r27YvDkX+8YevWrd2jbhYtWsTx48eLbGfevHnu5X79+pU6zurm119N+bOffoJWrWDVKjj9dLujEn83DzMivANm30SkogY5f35E6Ufei0ieRMw5BQu4FzP3S7CcOI/DHBODqUxRlsojUvU0wkZERPyWBewlb9SMq853UQcg9YBOmB0R18/qVhKrGebEcrrzfnZWFuvWr6drly6EhZuZYKKd2wWjW8gbEXUKM+oqGVMaLxn4D+azs8l5cwkF2pI3CqeD86fOtVUPFvAL8KPHba/HchplP6D52ZcBStDIzMykX79+rF+/HoD777+fCRMmlLmdMWPGMGvWLHJychg9ejRJSUnUqJE3W8GJEycYPXo0AGFhYYwZM6bIdh5++GGGDBnC77//ziOPPML06dPzrd+zZw+TJk0CoFWrVkrYFOPwYbj2WtixA2Ji4NNPoXFju6MSf5eLuWobYBTVa39VKs9FQEtgD+ZitVvsDUckoLyEuTgL588pBN9387PAEszFZUvRSDx/poSNBI2cHFi71kFSUlNq1XLQvTuEqh6JSEBJI39yZitmlERBNTEHJJ7JmZaU/uoX10iUk1628feRKMVpRl5CJgv4+fBhOgLh9oVUYeV5vyIxnxHPkna5wG5M8sYzkXMIk9z5HnjLY/uzyF9OrQNmYvlg23GvDo6TPwlTMClT0iir2pgRX3UwtZ9Lcma5I5Vgdsstt7Bq1SoArrzySoYMGcJ3331X7PYRERG0bt260OOtW7dm7NixTJ48ma1bt9KlSxceffRRWrZsyZ49e3juuedITk4GYOzYsZxzzjlFtj948GDmzp3L+vXrSUxM5ODBgwwbNozTTz+dzZs3849//IOMjAxCQkJ49dVXCQvToWPB443OnaFPH/jmG2jYEFavhrPOsjtKCQSfYfZJ6mImsxbxBQdmlM2zwDsoYSNSWpOBcc7lccBEgvOYLxZTleIfwCPA9ZjjZvE/2uuWoLB0Kdx/P6SmhgGdeOklc4XbK69Af838K+KX0imcnCnqqvQITIkrz+RMOyo2P0R1H4kSaHz1foUArZ03V8kIC/O5Sy5w24uZtPUnYJlHG9EUnhfnHDRfiTc5wFqHg6SmTanlcNAd3/++coED5E/IeCZlDpbw/BDMAczZBW4tnD+jMQdtOUBzih9148Ak9S6vSGckaC1dutS9/Pnnn3PBBRd43f6ss85i3759Ra6bOHEihw4dYu7cuSQnJxc5B82QIUO8juAJDQ1l2bJl9O7dmy1btrBkyRKWLFmSb5vIyEimT59Or169vMZaHRR1vBEVBSdPQt268Mkn0Lat3VFKoHjN+XMwphSsiK+4EjYrgcOYKgQiUjQLk7x42nn/78DfCM5kjcsjwGzMMdI0TAJH/I8SNhLwli6FG28Eq8CZk7Q08/jixUraiFTEfjxOlAN76tUjmbx/IKU5UX4YU8rMlZzZgjkRXlAoZp4Rz+TM+Zikja8F40iUYFZZ75cDaOK8Xefx+J+YEmqeSZxtmL+FT503l5qYuXY8kzjnUfJ8Qi6++BvzV0uB+4HUsDDo1ImXMAmNV4Cy/mvOoPAoGddtH5BZwvPrYUbiFZWQaUbpvmdCnbHfiPnseO56uA7sXkYJPKl8ISEhzJkzhwEDBjBr1iy2bNlCeno60dHRxMXFMWLEiFIlWaKjo9mwYQNvvPEGCxYsYPv27Rw7dowmTZpw1VVXcf/993PuuedWQY/8W3HHGyedQz/HjoWOHas+LglMKcD7zuV77AxEgtL5mIvbtgPLgTvsDUfEb1nAk5gEJ86f44rfPGjUxvT1LkyyajBm7l/xL0rYSEDLyTFXuhU8eALzmMMBY8ZA374qjyZSHvuBNniUogoPh27d8m0ThRn94DqhfBxzcttz5MzOYtpvQ/7kTAfMyW8Ru50GxDtvLifJmxfHdfsP5jO/0XlzCQXak39OnA7Odj2V528sUCzFJDYK/otOcz6+mPxJm2wglaITMj8Cv5XwemGYMnYFkzGum6/mJOoEPI+pa33I4/FGmCvUOvnodST4WEXtsFZQ79696d27d4XaCAsLY+TIkYwcOdJHUQUXb8cbLrNmwbhxOt6Q0nkDMzK0G2ZfQcSXXGXR/o4pi6aEjUhhFjAWeNF5/0XgQfvCqXJ3YEbXfIMZXfSa983FBkrYSED78ktITS1+vWVBSorZrsD5LxEphXS8zxuCc/1MzKTdWzEntHOK2K45+ZMzF6Eh+hJYooCLnTeXHOAH8ubDcd3Sgf85b296bN+C/HPihFG6v7F0Aithk4MZWVPU+U3XY3djynXswyRk9mOSNt5EU/QImbMxI3cqe8e2UILNwy+YA7+nCMwEm4gUraTjDdDxhpReFiZhAzDKzkAkqLkSNqsw84HWtzUaEf9iYY5TpjnvTwPutS8cW4QAL2EuHHgdSMBUOhH/oYSNBLSfi5rwogLbiUj5TCpw/0zyJ2cuRsNsJTiFAm2dN9cMEhZmFIkrefOt8+c+TEmvvZjRJ8HsS8xoGW8OY+one4ogfxKm4HJd34ZZZqVNYgdagk1EiqfjDfGlZZh51c4AbrA1EglmbTHlev8LvAcMsTccEb+RC4wEZmFGo80EhtsakX3igX6Y74iHgI/tDUcKUMJGAtqZZ/p2OxEpn0uBK8lL0jS1NxwRW7kmno8B/uLx+B/kH4nzLWZenNxStPkYpiZ5TIHbmfjnzlxKKbfrB/QhLynTBHPFl4iIv9DxhviSq+zMMDRvolSuQZiEzTsoYSMCpgLAUGAe5nhtLnCnjfH4g+eBD4FPMAmba+0NRzz44zG+VJL9+yHdOatxdjbs2VOP5GQIc34KoqOhWYBdDtq1K9SuDUePFr3e4YCYGLj88qqNSyRYlOZEMsB0TIkzESne6UB3581lA9ClFM9d7bwVFIK5SrdgIqdpgeXIckddNseBOcCEUm5/H2Yovj84hZmT5hePW8H7++wKTkRsc/nl0LQppKUVv42ON6Q0tgFfYP53D7M3FKkGBgFPAJ9h9mca2RuOiK2ygcHAAkyFhDeBW22NyD+0whyPvYgZZXM1ShT4C1vfh0OHDrF582Y2b97Mli1b2LJlC7/9ZqaUHTx4MPPmzStTeytXrmTWrFls2bKFX3/9lYYNGxIXF8fw4cPp1atXJfQgcOzfD23awMm8WY0peIokKgp27gyspM2ECd6TNQAvv6wJQEXKYxNwl91BiAS5qFJu9xDmSrBUj1saphb+Aedts5fnN6RwUqdgYqdW2cN3+wNz1fArwK/OxxwUPYeNy5lAZZ/fPI73BIzn7c9KjkVEAlNoKNx1lznuKM6dd+p4Q0o20/mzDxBrZyBSLbTElKX+GliCKQMlUh1lAbcB72JOgi8EbrQ1Iv/yJGbU0TZMqTjNr+YfbE3YNG7c2Cft5ObmMnz4cObMmZPv8bS0NNLS0li2bBlDhw7l9ddfJySkehbaSE/3TNYU7eRJs12gJGymTIHx483y3XfDqlX5JwSNiTHJmv79bQlPJGAdBMZh/mmLiH+4lcKj2HIxyZFUCidyXMspmDlVfnXekr28xmkUndTxTO7UwyRiXH4GpmJOQh1xPtYcU25gPOYAqTjpzljLstthOV+ntEmYYq7pKFYY5grUxsXcMtBBjEh1Y1nwySfmYjCriCy0w2HWP/NM3gVjIgUdBeY7l/V/RKrKIEzC5h2UsJHq6RTm72A55rL1d4G+tkbkf07DHLfdC/wNc9x5mo3xiOE3I52aNWtG27ZtWbVqVZmf+8QTT7iTNR07duSRRx6hZcuW7Nmzh+eff57k5GRmz55Nw4YNefbZZ30duthgxgx45BGzPHEiPP445OTAmjXZrFz5Lb16daB79zBd6SZSBlnANODv5J14/QvwgV0BiYhXIeQlEi4uZhsLM/qlYFKn4O0IZoTJn8B3Xl6zFiZ50wCTcNlNXunElsDDmDrp/8NcreVNlrONWGeMpUnA/IJJQJVFJMUnYAreTid/Qqqgb8r42iIS+DIzTbWCopI1YB5PSTHbRVZV/UkJOAswSf9WwFU2xyLVx0DgESAJMxq7ib3hiFSpk8AAYAXmeOA9oHrXXireCCAR2A5MBKbYG45gc8Lmb3/7G3FxccTFxdG4cWP27dtHixYtytTGrl27eOGFFwDo1KkTSUlJ1KhRA4C4uDj69OlDfHw8W7duZcqUKdx99920atXK532RqvPmmzDKeVnSuHEmWQOmDEF8vMWxY2nEx1+oZI1IGazG1C7d4bwfh0nenOlc5+0EaRQQXanRiQSvaMzfUGX9jTmA+s7bBV62yyD/yJyibr8Dx4CdxbSxB3P15pgyxHstJknkbSROUWpRugRMI6Au3pMwIiLeREbCli3wq7PeY3Z2FuvWradr1y6EhZlp4xs1UrJGimcBM5zLIzEXXIhUhbOAzsBGYDHmeE+kOjiOGUnzKVADeB8zP4sULQwzj01vTInrezAX44l9bE3YjHfVs6qAl19+mezsbACmTZvmTta41KxZk2nTpnHppZeSnZ3N1KlTSUxMrPDrij2WLDE1pAFGjzaja0Sk/PYCDwLLnPcbApOBO8k7mNyJuQoeIDsri3Xr19O1SxfCws1JimjKVtJIRPI0wz/+xuo6b+2KWf8l5mqrTzweOwc4DzPCxpXU+QVTesDL3Nz5/OqxXA/viRfP+xWZb6ciKjvBJiL+KTbW3ACysuDnnw/TsSM4v6ZFvNoIfIv5/3CnrZFIdXQz5jP4DkrYSHD7zOHg3u7dedXh4FXgC8wxw0dAvK2RBYZewDWY471HMHNfiX38piRaeViWxfLlywFo27YtnTt3LnK7zp0706ZNG3bu3Mny5cuZPn06DhUYDjgrV8Itt0BurknavPyy6kSLlNdxTGLmeczJ1VBgNPA0heuVNiPvZHEW8PPhw3TE1IAVkYrz178xC1NCYBKw3vlYCHAT8BjQoYjnZGJKbnyGmcemJG9iDqAaYU5k+Tt/SbCJiEjgcI2uuRkz4lWkKt0EPABswMxtGGtvOCKVwgKeDAkhtW5d/mpZHAPqACuBLvaGFlBewFRYWQqsRYkuOwX0aNy9e/dy4MABAOLjvX+MXOvT0tLYt29fZYcmPvbFF9C/v7mibeBAeOMNCAnoT6+IPSzMRHttgX9gkjVXAv/BTBx+mm2RiYi/yAYWYhIy12OSNRHAMEyy4m2KTtbg3K450LGUr3UuJrkRCMkal2bARc5bR6ClM8HmekzJGvHm0KFDfPjhh/ztb3+jV69eREdH43A4cDgc3HnnnWVub+XKlfTr14+YmBgiIyOJiYmhX79+rFy5stRtZGdnM3PmTC6//HIaNmxIjRo1aNmyJSNGjOD7778vc0wikicdM7IBYJSdgUi11QS43Lm8yM5ARCrRKuBr50nCYw4HNTHl0JSsKZvzgOHO5QfJm6tUql5Aj7DZtm2be7lt27Zet/Vcv3379jLPlSP22bQJ/vIXOHkSrr8e/vUvND+NSDl8hxkGv8Z5vxnwEtAfze8gIqbM1zzMJJM/Oh+rjalh/ACaqFbEFxo3buyTdnJzcxk+fDhz5szJ93haWhppaWksW7aMoUOH8vrrrxPi5Sqn9PR0evfuzZYtW/I9/uOPPzJr1izmz5/P9OnTGTq0NGPmRKSguZjRpxdj5ogUscMgIAmTPHzI5lhEfC0bZ7k/yzJleCyL5g6HvnPL6RlgAfAN8C9gsL3hVFsBnbBJTU11L8fExHjdNjY2b+BnSkpKsdudOnWKU6dOue9nZGQAkJWVRVZWWafE9R/16kFUVBgnTxZ/WjYqyqJevWz8qZv/+Q9ce20YR4866N49lwULcnA4KDZG13sUyO9VUYK1XxC8ffOnfv0B/CMkhBkhIeQ4HERZFg/n5vJwbi41MTs4peVP/fIl9SuwBGu/wJ6+ZQCvh4TwakgIvzhrjTawLO7NzWVkbq67fEtZIsqGUk3ukJ2VVaZ2/Y1dn8Vg/OxXR82aNaNt27asWrWqzM994okn3Mmajh078sgjj9CyZUv27NnD888/T3JyMrNnz6Zhw4Y8++yzRbaRk5NDv3793Mma/v37M2zYMOrXr8+mTZuYMGEChw4dYsSIETRt2pRevXqVv7Mi1VAuMNO5rNE1YqcBmPLXWzAX5ZxtbzgiFWZhqoS8BfwT+B3y5kxwONiGGXVzjT3hBbSGwJOYeWweB27EvvlDq7OATtgcOXLEvVy7dm2v29aqlffxOnr0aLHbTZo0ifHjxxd6fM2aNdSsWbMcUfqPadNqkJERUez6unUz+e67E3z3XRUG5UVqam2eeKIrhw87aNPmd4YP38Dnn+eU6rmrV6+u5OjsEaz9guDtm539ygE+b9aMf7VvT4bzxGnnAwe467vvaHziBF9UoG29X4FF/Qo8VdG3PyMi+LBlS1a0aMFx59DV6OPHuWHPHq7+6SeicnLYWM62f61Rg/CrriLLy5DY8Jwc/rtmDT+fOFHOV/EfVf1ZPH78eJW+nvjO3/72N+Li4oiLi6Nx48bs27evzCP/d+3axQsvvABAp06dSEpKokaNGgDExcXRp08f4uPj2bp1K1OmTOHuu++mVatWhdqZP38+69atA2DUqFEkJia6111yySX06tWLiy++mIyMDO677z62b99OWFhAHz6KVKlPgL2YksM32xuKVHONge6YOQYXYeYiFAlE+zGjP94CvBVtDQWeAnqiaiLlcR9m/rW9mHmPC58ll8oW0HvcJ0+edC9HRBSfiACIjIx0L5/wcmJg3LhxPPjgg+77GRkZxMbG0r17dxo0aFCBaP1LVlYWq1evpkePHoSX4grYqrZ3LyQkhHH4sIMOHSxWrarDaaeVnBv3936VV7D2C4K3b3b3a6PDwZiQEL5xlkFpa1lMzcnhqoYNoXv3crdrd78qi/oVWIK1X1A1ffsJmBoSwtyQEE46r0RrY1mMzcnh5vBwItq2hRJKzZZG99xcfss1lY+zsrPZtGkT//d//0e484RvA6BZBb6P/IFdn0XXCHAJPEVdGFZWL7/8MtnZZnzstGnT3Mkal5o1azJt2jQuvfRSsrOzmTp1ar5kjIsr6VO/fn2mTJlSaH2rVq0YN24c48aNY/fu3bz33nvcdNNNFY5fpLqY4fx5JxDYl35KMBiESdi8jRI2Elj+BBZjkjRrPR6PxJSaXFfEc3IwI8o0yqZ8IjGJmpsw5bKHAd7rWomvBXTCJioqb4razMxMr9t6ljkreFDjKTIyMl9yxyU8PDzoTgqBf/YrLQ169TI/27WDVascNGxYthj9sV++EKz9guDtW1X36yDwKPCm835dzNUQCQ6H+ySpL+j9CizqV+CpjL59DzyHuSrNNV41DhgH9HU4CPHxlfMtnTcw5dTSDx/mkrCwoHzPqvqzGIy/Qykdy7JYvnw5YObo7Ny5c5Hbde7cmTZt2rBz506WL1/O9OnTcTjyrjHdtWsX27dvB2DgwIHFVhK48847GTduHIASNiJlsA/40Ll8j41xiLj0x5Tm+w+wE2hjbzgiXmUCKzFJmg+AUx7rugG3Yz7T1wAhmBKUBYWgUTYVMQC4HPgSUxrtTe+bi48VPwNlAKhTp4572VuZM4Bjx465l0sqnyb2+fVXuPpq+PFHOPts+PRTaNjQ7qhE/F8m8ALQmrx/pHcBu4AxgE7tiQSGzxwO7u3enc8cvjus2AjcAJyHmTgyB7ga+BTYBPQjwHcIbVQZ75eIN3v37uXAgQMAxMfHe93WtT4tLY19+/blW+cqhVZSO2eccQatW7cGYP369eUJWaRamoWZY+EqdGJc/EMDzP4fwDt2BiJSDAtYD4wEzsQcvyzGJGvOBSZjKgWsAYZgRi7up+hkDc7HUzDnSqTsHMBLzuV/YUYsSdUJ6OPzmJi8AVmpqalet01JSXEvx8bGVlpMUn5//gk9e8KOHRATA599Bk2a2B2ViP/7BLgAGAscwVwxvwmYi6lXLBJsgvUkuQU8GRJCat26PBkSglXBtlZh6pVfCizH7HT3BzYDqzEnkYLrN1i1fPl+iZTWtm3b3MttSyhd6LneNZqmIu2kpKTkuwhORIp2CpjjXB5lZyAiBQxy/lTCRvzJTsxImJZAV2Am8DvQBHgY+Bb4H6aSSDOP50UCz5TQ9jPO7aR8OgF3OJcfAB3vVKGALonWvn179/KOHTu8buu5vl27dpUWk5TP0aOmDNq330KjRmZkTfPmdkcl4t9+BB7EnIgFaIS56mQwAZ6NF/Ei30ny3FyuIXiSDquAr53zTn0dElKumss5wHuY74KvnY+FYcoGPAJoD8h3fPF+iZSV50VqnhevFcXzIjXPi9fK245lWaSmptKmTdHjBU6dOpWvDLVrrqWsrCyysrK8vkYgcfUlmPoE6pcvLXI4OBQWRhPLold2NpX1ynrPAos/9Os6ICIsjG0OB8lZWZzngzb9oV+VQf2qXL8Ai0JCWOBwuPenAWpbFv0si9tyc4m3LEKdj2cX0UYO8IyrpHMRF/I5LItngL9mZ7vbCUR2v2d/B94NC2O9w8Hb2dncaPkmbWNXv+z+7JdWQCdsWrRoQZMmTThw4ABr1671um1SUhIATZs2pbkyAX7lxAno0wc2boTTT4fVq6GY40ARAY5hTsZOwVzBFwrcBzwN1LMxLpGq8An5T5KPBzpghrznOH8WvJXl8apuI8fj52YAywKHA4dlkeBwsBxoRclXhmVihqo/jymFCKZMwDDgIUBjiysmC9gNbAe2OW/LwP1+hVoWTzkcqpEtle7IkSPu5ZLKPNeqVcu9XLB8tK/a8TRp0iTGjx9f6PE1a9YUO0dOIFu9erXdIVQK9aviJnfpAtHRXLFzJ6t27qz019N7Fljs7leHSy5h85lnMunHH7mthAufy8LuflUW9ct3ToaGsumMM1gbG8u3DRuS6zymC8nN5aJDh4hPTeWSgweJzMnhJOa4z5v/NWhAWteuxa63HA5SgRc2beL8337zWT/sYudnsU+bNrzTti1jTp0i7PPPicgtrhBd2VV1v44fP16lr1deAZ2wcTgc9O3blxkzZrBjxw42btxY5MSbGzdudI+w6du3b74JN4uTmJhIYmIiOTk5JW4r5ZeZCTfdBGvWQO3a8PHHcMEFdkcl4p8s4F3MsGDXdbJXAa8C7Yt7kkgAs4A0zEiRr4GtmFJengqfGgxwzn0Uy+FgD2bemVDgbEwN/LYFbpHAG8CLmN8VwGnAaEwiN7rqIg8KxzFlGbZhkjOuBM1uir6yz/V+5TgcbAGNspFKd/LkSfdyRESE120jI/NSvSdOnKiUdjyNGzeOBx980H0/IyOD2NhYunfvToMGDby+RiDJyspi9erV9OjRg/Dw4JklUP3yjf8B28LDCbUsJrdsSZOWLSvttfSeBRZ/6ddhh4PNQHLr1rx19tkVvtDEX/rla+qXb2QDaxwOFoSEsMzh4JjH+dhLcnO51bK4MTeXRg0aQIMGcOGFpW47o5Tlsc/q3JnePhoVYgd/+CzGA19aFgdq1WJ379487IOEjV39co0A93cBnbABGDNmDLNmzSInJ4fRo0eTlJREjRo13OtPnDjB6NGjAQgLC2PMmDGlajchIYGEhAQyMjKoV0/XrFeGnBy4/Xb46COIioIPP4RLLrE7KhH/9D/MydcvnPfPwkwA1w9dzS3BwQJSyUvOuG6HSvHcdkB9TClA1y20wP2yPFZZ2xb3/BDMUPOfKDxpZghm9M0PztuHBdY7yKslXAe4CfNd4Ur0SNH+JC8Z45mY+YniazPXwnzW2mImO/2Z/O9XKKb+tkbZSGWKiopyL2dmep9G17M8mefxUVHteN4vSzueIiMj8yV3XMLDw4PqZJeL+hVYqqpfs50/+zkcnFVFv0e9Z4HF7n71A0YAux0Ovg8Pp6OP2rW7X5VF/So7C0gG3gIWAgc91rXElGq+DTjHVQottHxHLaWtIBAbFkYwvIN2fhZPAyZhyu9PCg1lSGgojXzUdlX3K1D+nm1N2Kxbt47du3e776enp7uXd+/ezbx58/Jtf+eddxZqo3Xr1owdO5bJkyezdetWunTpwqOPPkrLli3Zs2cPzz33HMnJyQCMHTuWc845p1L6ImWTmwtDh8K770J4OLz3HsTH2x2ViP/5A/gb8BrmxGAU8BhmLoriT5mI+DdXcmYr+ZMzvxaxbShmBNnFwOfO5xU8SV4b+JLAPUn+CbC3mHW5wL+BM4AdmN/ZZ5hRdhb5kwtHgLnOWwTQGpNc8ByZ0waT2KkOLEx97IJJme3kP3AsqAEmMdPe+dN1i8V8xj7BHIAWlAMaZSOVrk6dvL9gb+XJAI4dO+ZeLlj2rGA73hI23toRkTxHMOVJAUbaGYiIF3Uwc9ksAd4BnyVsRH7CHLe8hdnfdmkADMIkajrju2O2y51teyt2FuPcTirudkx1l68x56hm2htO0LM1YTN79mzmz59f5Lr169ezfv36fI8VlbABmDhxIocOHWLu3LkkJydz8803F9pmyJAhTJgwocIxS8VZFtx3H8ybZxLpb78N115rd1Qi/iUHmAM8Tt4OyABM2aOz7ApKpBwsTHKh4MiZ4pIz52KSM67bhZjk5CfAvCKeE+gnyS3MqIwQCo+uwfn4y5gTQAswB0CuaRLPB27FHIj8gEno7MCU9DoFfOe8FdSUwqXV2jofD8SkVy6wn6ITM396eV5TCidl2gMNvTynNO+XRtlIZYqJiXEvp6amet02JSXFvRwbm/861ILtREcXX0DR1Y7D4cj3PBHJ7y3gKObiiO42xyLizSDyEjaT0D6LlN8fwGLM91+Sx+NRQB/MSf5rMBeT+dpRit4f99TEuY0qD1RcCDAVuAJTkjsBczwqlSPgS6IBhISEMGfOHAYMGMCsWbPYsmUL6enpREdHExcXx4gRI+jVq5fdYQomWTNuHCQmmrLv8+ZB//52RyXiXzZg5p/4xnm/PeZKhqtsi0ikdCzMifOCyZn0IrYNxZTt8kzOXEDRI8eC+SR5JuZ3VtzBRi7wX0xCxeUKYBzm4Keo/uY429xRxO0QZq6bNMxIHU+1KJzEaQOcgznoslsWZi6ZgkmZnZi5Z4oSgpn/p2BSpi1QtxwxlOb9SnFuV7gwlEjFtW+fN2vdjhImi/Zc365dO6/tdOjQocR2YmNjqVWrVokxai5QqY4sYIZzeSSBtz8i1ct1mP2+fcBm4P9sjUYCzSlgBSZJ8yFmvxfM9153TJKmP1DZk0s8ikkYnYnZ50/zWNfQuW4zpozXv1DSxhcux1xIvAR4CHNRpf7fVQ5bEzbz5s0rVPasInr37k3v3r191p743rPPwnPPmeUZM8wcNiJi/IzZ6XCVUqiHmVB9FARFzVUJLq7kjGdZs28oOjkThhk504n8yZnSJgGC+SR5JPAMppZ4cVyzR/wFUxLxshLaDAVaOG8FL1f5HZPg2OHxcwcmEXKMvPfSk8PZVlGjcqIp3U76Zw4H93bvzhsOByUNqj3ujK1gYuYHzMSlRXGVgPNMyrRzPubLZFMkZkSXa4RYdlYW69avp2uXLoQ56yE3IvA+hxI4WrRoQZMmTThw4ABr1671um1SkrnWtWnTpjRv3jzfuq5du7qX165dW2SFAoCDBw+ya9cuALp06VKqGDUXqFRH6zFzTtbAnBwU8Wc1MfuVb2NG2ShhIyXJxXzPvQUsIv8o9vOBvwK3YEb+V4Uk4HXn8kKgK7AmO5uV335Lrw4d6B4WxsfADc71NYFZmMSOVMzzwAfAamAloLPwlSMoRthIYHjlFXjySbP8wgswwtvZKZFqJBN4BXPS9ijm5OfdwLPgs4ncxLuynEyujixMTeKCI2eKqhccRtEjZypy0jyYT5LnAP8oYZuamAOkDj54vfrApc6bp0zgR4oelXPYue5HzNV0BdsrKpHTgrydTAt4MiSE1Lp1eTI31z0y6E8KJ2W2Y6729Jybx1MtCidl2mFG0VTVTm0seZOcZgE/Hz5MR5RYl6rhcDjo27cvM2bMYMeOHWzcuJHOnTsX2m7jxo3ukTF9+/bF4cifWm3dujXt2rVj+/btLFq0iBdffJGaNWsWasfz4rp+/fr5tjMiQeQ158/bMJMzi/i7QZiEzSLgBXQiW4q2HTMvzb8x++guTTGlmW/HHOtVpZPAMOfycMA1HXa8ZXEsLY34Cy8kFDOSbCHmsz4Hk1B/FY0IqaizgfuBKZhRNj3QcVBlUMKmGBrK71tz5sCYMWb573+Hhx6yMxoR//Ex5p/dLuf9S4DpQJxtEVU/xZ1Mrq4szM54weTM70VsG4a5osozOXM+lVM+K1hPkn8JeJ+Fwow4+bOS44ggL9niyQJ+IX8CxzUyZx/mc7HBefMUDrRythcBfB1iTgN8HRJCR0xptp+9xNOAwkmZdpjPQHX++xQBGDNmDLNmzSInJ4fRo0eTlJREjRp5BSVPnDjB6NGjAQgLC2OMaye8gIcffpghQ4bw+++/88gjjzB9+vR86/fs2cOkSZMAaNWqlRI2IsU4hJnDAUw5NJFAcC2mPGwaZj+uq/fNpRo5iEnmvUX+kfd1gBsxSZp47CsxNgFz/uRM4LkStr0RMw/qYMx5llpo3iZfeAL4J+aY8HXgXnvDCUpK2BRDQ/l9Z+FCGOZMfz/0EPztb/bGI+IP9gAPAu877zfC7Gzcga5uqgoW5iT4YUzdXc+TyTOBKzFX4ER5/AzExEBJI4dcyZmCZc2KSs6EU3RyJhBHtfgTb0mL8mznaw7gDOetW4F1xzFlygqOyNkJnCBvxExB//FYbkrhpEx7TN1pkWC0bt06du/e7b6fnp5XSHL37t2FykXfeeedhdpo3bo1Y8eOZfLkyWzdupUuXbrw6KOP0rJlS/bs2cNzzz1HcnIyAGPHjuWcc84pMpbBgwczd+5c1q9fT2JiIgcPHmTYsGGcfvrpbN68mX/84x9kZGQQEhLCq6++SliYDh1FijIHczHJ/wEX2RyLSGlFYcpFvYkpi6aETfVQ3PHhUWAZJkmzmrxS1GGYEsu3Y8roFTXfaFX6L3lJmkRKN6Lxr5jjlnucz62Fmf9Uyq8epkLMKOBpzOjS022NKPhor1sq1fvvw1//CpYF99wDU6aAQ6lsqcaOYUqdvYApQRQG3Af8jcqflM8X/KV0WBYm2XIYM/KgqJ8lrStuLoxRxTweijmw8UziFPfTl+siKd8VQAVHDvWk6JEzfxTxXCVnqoYFbCrltmdWZiDlVBO40Hnz5JpTaAfwHnn1pT29AtyJubJTpDqZPXs28+fPL3Ld+vXrWb9+fb7HikrYAEycOJFDhw4xd+5ckpOTi5yDZsiQIUyYMKHYWEJDQ1m2bBm9e/dmy5YtLFmyhCVLluTbJjIykunTp9OrV8EZsYqnSgVSneSQ939Oo2sk0AzCJGwWAy+jSdmDXcHjw6uAzzBJmvcwSQ2XzpgkzSDMnJX+IAcYijmO7w+UZdzvCEz/HsSce6mJKecl5TcMkzT7HjPq6UV7wwk6SthIpfn0U7jpJsjJgdtvh8REJWskuO0nb8L1bGBPvXokY75oLeArzBUdrvJHV2NqqLar4jjLy1elwyzgCCUnVf70so3nzmRFOCh6royamB3CUx6P5WASbsd89NplUZ6Ez0Hyjxyqh7lyqqBwTN1hz+TMeSg5U9kOYw44FpewnQMzeefllR6R74QAZwHNMFevhWL+flxCMQeGo6s+NJGgERISwpw5cxgwYACzZs1iy5YtpKenEx0dTVxcHCNGjChVkiU6OpoNGzbwxhtvsGDBArZv386xY8do0qQJV111Fffffz/nnntumWJTpQKpTlZi5vmrDwy0ORaRsroac1X8Qcwk7t3tDUcq2SryHx82xByTuLTCJGlucy77m1cx85rWw5Q3K6sHMOcRngQexhzzK9FefmGYJM21wDTMCKaix3RLeShhI5Vi3Tro2xcyM6FfP/jnPyFEdZ4kiO0H2mAmwAMgPBy6dSty2+bAS5gh6IGUwyy4gzcXM+qirCNdMsgbYl1RtTE7bPUww6GL+lncurqY0mfJFD6ZfC5m5IOFSdqcwLy3rp8nS/lYRdZ5JpJc21XEUUxy5kIKJ2ciKti2lM3XmJM6P2Lek9sA1/X2nu+76/vhZQLzisdVmIOqgnKcj68CrqnSiETsN2/evEJlzyqid+/e9O7du0JthIWFMXLkSEaO1GkLkbJ6zfnzbuwvFSRSVhGYkQpzMGXRlLAJXhbwOOCwLCznldSHMfNG3oJJ1FyC/56f2ItJtICpVlLe6gNPYC7AnISprFETM7+NlM81mJJ5K4FHMCO1xDeUsBGf+/pruO46OH4crr3WzGGjktcS7NIp3Qn1EcBUAu+AbhumfBGW5R4qN7SCbYZTclKlpIRLRb5aPsHM3VJQwZPJNaj698vClH0ra6LHtfw9ZqLIgpYC11dy7FI8CzNs/CFMScTmmIPjSzA1oe8nbwQemJE1L2MOpAONhRldE0LRCdoQ5/qe+O+BoYiIiDc/Ah87l0fYGYhIBQzCJGyWYEYt6NRNcJqFmau0YNmb+cB1NsRTFhZm9MZxzJyaQyrY3kRM0uZV8pLtGiFZfi9gzp0sA9agxK+v6LtYfOr77+GaayAjA664ApYsgUjV1ZFqoKiyWkUZTuAka34DFmLqGruukr/qs8949b77uO/VV/ns6qtpiJmM/DTKnniJwr4Ttf5+MtmBueItgrLP8WFhJr0tqgzVM5gdcp0gr3p/Yg4uljrv3wDMJW9yxv5AX2BNdjYrv/2WXh060D0sLCBH1oBJSO2n+NF0rnluMlH5PRERCUyvY/a7rsE/yweJlEZ3oCHwK/A55vhHgss8ii79FQqMB3rj38eHb2ESApGYxFNFY3VgLoo7DszGVDuogbmATsquPeaihdcwcwRtJTCrQ/gbJWzEZ3bvhquvht9+g7g4+OADqFnT7qhEKsbClPA64Lz97LHs+VhqcQ0EmExgBeZKm48wozzcLItnH3+c9tu38+zjj3PZVVfR3OFgE/69g1eUYD6ZrDJU/mcr5qqtvZiRZS9g5m8p+HcTCsRbFsfS0oi/8MKA3tGNxHzefnXez87KYt369XTt0oWw8HAAGhF4f18iIiJgRjXPcS6PsjMQkQoKAwYAMzEjv5WwCR7HMcccc4tZHwjHh4eAMc7lv+O7OVIcmM/8cWABcCPwIdDDR+1XN+OBfwPfYi74vcvWaIKDEjbFSExMJDExkZycnJI3Fvbvh6uugoMH4fzz4eOPoW5ZLwuXamM/poQYQDawp149ksn7QorGTFZd2Y5QOPFSVDLGVxPc+ysLc0L5TcyImt881l0ExGGuIOy5ahWXbDGpgEu2bOGqVatYdc01fr2DV5xgPZns7yOHqhsLM9R+LCb52QJzIBxnZ1BVKNZ5A9P/nw8fpiMmaSUiwUvHUVIdLMbsM8fi/+WEREoyCHPyeikwA81vGQx2AjcB/3Ped1B0VRB/Pz4cA/wOdMCUlfalUMyFqicxn/2+mLLpl/v4daqDaMzn6GHMXEk3YeYblvJTwqYYCQkJJCQkkJGRQb169ewOx68dPGhG1uzfD61bw+rVUL++3VGJv9oPtMFjvpfwcOjWLd82UZgdjPImbY5RukTM0TK0eRpmYrsmHjfP+78DfcoZr11SMcOL3wS2ezx+JmbSwTuAczHltcKzsnh9+HAs8nb2/n3rrbwwdiwrLryQnhdcgKNJk0I1cf1ZMJ5MDuaRQ4HmD0xN5GXO+64JXU+zKR4Rkaqi4yipDl5z/hyBSr9IKeTk4Fi7lqZJSThq1YLu3SHUfz45l2PKXB/EjLbQnJeB7R3MfLNHMRchZmGOTYriz8eHH2EuKA3BlC6rjOP0MOdr3ACsxCTgP8XMMSplcy8m4bsHeA74h73hBDwlbKRCfvsNevSAH36As86CTz+Fxo3tjkr8WToeyZpinHRuVzBhc5zCyZei7meUIZ66FE7EFEzGnAmUVN3vmzK8pp2OYa4eeRP4jLyrbKKAfsBg4Cry/jmcAlqsWsWiYcNovn+/ux0HEP3770weNy6v8QYN4IIL8t/OPRdqBMqsPYEvWEcOBZrNmCsV92GuUHwRSMA/r1oTERGRsvkW+Aqzv1zRya+lGli6FO6/n7DUVDoBvPQSxMTAK69A//52RweYpONNwDTMyX4lbALTKcwcIq6EcjwmGZFN4B0fHiFv3p0HgYsr8bUigCWYZM0a4FrgC+CCSnzNYBQJPI8psfgCMIyqqZwTrJSwkXLLyIBrr4XvvoMzz4TPPoPY2JKfJ1Iar2Ku9vBMxhwuw/NrUTgJU1QipjoM08wF1mKG+y7GJG1crsCMpLmJIia337WLyIce4p0PPwRwj65xsRwOck4/HatxY8J37TIZ3DVrzM0lJMQMvfNM4lx4ofmyCKDROIEkGEcOBQoLeAV4BPO7PxtYROUeYIiIiEjVmuH8OQAzKkGkWEuXwo03glWgGFVamnl88WK/SdrcjEnYLMdcQBllbzhSRnsxx/RfO+8/gZnzxXXSN9COD5/AjPw5GzM/SmWrAbyPKQ33FXA1kAS0rYLXDib9MInCtZjSaG/ZG05AU8JGyuXYMbjuOti6FaKjzciali3tjkr81THgJ8xORFIpnzO/mMdrAE0peVRMnQrEWx7RmJ1ab6OHopzbVZVdmJE0/8KUyXJpiUnS3I7ZASrkzz/hmWdg2jTIzjZJl9zcQqMDHJZF2O+/w4IFEB8P27bBf/+bd/vPfyA9HXbsMLdFi/KeXK9e4STOeedBrVo+/A2IVJ3fMSXQljvv34gZuq9iQCIiIsHjMHknoEbZGYj4v5wcuP/+wskaMI85HDBmDPTt6xfl0TpjTuqnYEpD9bM3HCmD5ZhKGYeBBpjj/162RlQxXwHTncuvU3K1E1+pDazAVBz5xvkzCXP+RErHAbwEdAL+DdyHysuVlxI2UmanTkG/frBunTnn+skn0L693VGJnU5hEjL7MEkZ10/X8qFytHkLZmK5gomYuvhnWaFmmHl30p33ixpqHE3lDwn9HTOM/U1go8fj9YCBmB25yyjmd5iTA2+8AU89ZRItAL17mwmqtm2D3CJmRgkJMdtv2gQXXWRuLpZlJrnyTOL897+wfTscPgxffmluLg6HyfwWTOQ0b25eR8RPbcSUQNuPGVI/FTOE3x+/q0RERKT8/oUp03wumphaSvDll5CaWvx6y4KUFLNdgTld7RCCOV58EXM8qYSN/8sCHsOcIAe4FPPeBXLhm1OYUpMWcCdmpEtVOg34BOgGfI9J2nxJYP9Oq9pFmPNO84AHgHXouLg8lLCRMsnKgkGDYPVqcyH8ihX5z89KJfCDCQqzMVfa7KPohMwB8uZCKU49oAXmH+AXpXjNhzFf9IGkGXkJmaocapwFfIwZlfQBZsJAMLWIr8GMpumDGZ1UrM8/N1d4/e9/5n67djB1qjl4OOusopM1YB5PSYHMTIgsUPnW4TD1Es88E665Ju/xzEwz4qbgaJyDB2H3bnNbujRv+9q14fzz8xI4F1xg7tctVMRNqgnHZ5/R/d57cbzxhqnNaRMLk5x5FPM92RJTAi3QvrtERESkZBZ5c0Powgwp0c8/+3a7KjAIk7D5AFMlQ7UP/FcK5v36ynn/IWAS/l3mrDQmA9sx8+q8aFMM0cCnmPLxP5A30kYlMEtvIua4eIPz5yB7wwlISthIqeXkwJ13wvLl5rzs8uVw2WV2RxW89gPZS5cSc//9RHhMUJgZE0PqK68Q1r+/z0ZruOaK2UfRCZkUIKeENmpiEjLNnT89l5sDpzu3+wbN5+ALFpCMGUmzgLxJBMFMjjcYuJVS7FTs2QMPPwzLlpn7p58O48fDPfeAc2QQW7bAr+YVsrKzWb9uHV26diU8zPkvpFGjwskabyIi8kbQeDp0yCSMPBM5338PR4/CV1+Zm6fmzfMncS64wIzQ8YOSAlKJsrMJvf9+6qamYt1/v/mMhFX97szvmKu+PnDeHwi8QRFzQYmIVAJHKeeBi4+P54svvvC6zcqVK5k1axZbtmzh119/pWHDhsTFxTF8+HB69QrkoioivpWEOZFYC/irzbFIADjzTN9uVwU6YUpm/wh8hNm/Ff+zEvMd9Bvmwth5wA02xuMr2zAn+sHMp1TfxljOAD7DjKT8AegBrKFqS9wHsiaYixqfdv7si+bFKislbKRULAtGjjRTVYSFmbnxrrrK7qiM/XiUoQL21KtHMnkf7qooQ+Vr+4FHli5lQRETFIalpdH8xhu5dfFini9l0sbClCXbR9EJmZ/IG5VRnAhM4qU5hRMyLTC/Z11lVvkOYGqBvgl85/F4Y+A2zGiaC0vTUEYGTJgAr7xiRryEhpo/8r//HRo0yL9tbKy5AWRlcfjnn6Fjx7yEjq80amS+WDy/XLKzYdeuwqNxUlNh3z5ze//9vO1r1DBz4RQcjVPf++6ev4zYkBIsXQojRuBwluxz7NplDnJff71KJ2z9CnOVUAoQCbwMjEDfgSISWHJzcxk+fDhz5szJ93haWhppaWksW7aMoUOH8vrrrxNShtKkiYmJJCYmkpNT0uU+IoHFNbrmdnSBhpRCZqapOFDUHDaetm6F/2fvvMOjKP44/N4lQAgdQu+9SC9KR0QRUEFBxQYoFmyAgqKoCKKggqD8xIKCiiIovUhRxKA0KaGI0iEQCCEQOoS0u8/vj7m75FIvISEJ3Ps889zd7t7szM7u7Mx8W7t2OULpzIIR0nyAca3lFdjkLOKAUcQLNZphrBeSjUuby7ADT2G8h9wDPJC9xQGMG7RVGEubfzHeS1ZhvMZ4SZtXMAqNRzDz5deztTS5D6/AxkuaSDB0qAltYbXCjBlw993ZXSpDCFAbE+jdarPRbt06yoaFsXjdOta0a4fdxwc/TGyR3CS0ibDZGO8IUJh4emyVsFssjHvpJSJ69KCSjw8CzpKyQOYwxtdyavhgrlEVkhfIlIEkZckIARjJelQqx/jh1VxISCQmkOB0YCVmMANmobgHxpqmMx526DYbfPstvPmmsWgB6NwZJk6Em27K5JJnAr6+JkhWvXrw0EPx28+cSWqNs3MnXLliLII2b3bPp0KFpNY4tWqZ/CWsb71F4WPHsL/1lnHf5qHmspdryPz50KtX0u0REWb7vHlZLrSxY0zz38BMmGpiJkmNs/SsXrx48ZIyzz33HM8/n3Lo8wIFUnZo8+abb7qENU2aNGHYsGFUr16dgwcPMm7cOLZt28bUqVMpWbIkY8eO9bhML7zwAi+88AIXLlygSJEinlfGi5ccTBjgdNj7XHYWxEvuYPZseOyxeGFNYsFNwt+vvmrGud98A3XqXPuyJqI3RmCzDLiAVziZUwjDeNBY7fj9PCZ2TTr8XORoPscoxRVyfM8ps/HqGPdoHTDeYroBvwEFs7NQuQR/jJu+PsBY4AmMorEXz/AKbFLAqxkWz6hRJpQFwNSpJoZNTiECs/B/3/z5TBo8mIoJgvodrVCBwZMmsaBnTyLIIQIbmw0iI+PT5cvJ/i6/fTulUwlQaJWodPQoE9esof+ttxKMGUylhgUoT8oCmfJcmw6hEkaA5rKKio1l7bp1tG3TBl+HxUZutIrKbOyY4GzfYxaELybY1wZjSfMg6dTu+OsvE6dm2zbzu1YtI6jp1s0jAYUN+NNi4a/y5SlgsdARI+jLFooXhw4dTHIV0GZcvCW0xPnnH2OFc+yYScuWxR+fL58RBAUEYA0KAjCfv/3mHnPHS/Zjs8GgQakfM3gw9OiRZdqJpzHC0aWO3w8BU/BOYr148ZK9lCpVivr166f7f/v27eOjjz4CoHnz5vz111/kz2+i3bVo0YLu3bvToUMHtmzZwvjx4+nfvz81atTI1LJ78ZKbmIZR1miNh9bsXm5cJk8241YJ7r/fpFdeMXMRJxUqmEWWM2eMduyGDdC4sXFNPXRotrj7ddIIqAXsAxZjLMq8ZC9/YIQ14RhBwdeYucj1Qggw3PH9A6BCNpYlOepiFGc7YoRK3TFzwlRjBHsBzH07CdgCjAC+yt7i5Cq8ApsU8GqGGcaPh9Gjzff//Q+eeCJ7y5Mc982fz9xkXIeVDw1l7v33c//cuYT07IkfxrwyLtGn67vNhhxCEyUUokRGYr18GUtkJFZH8rl8GR/Hd19nunyZPJGRrpTP8TufM12+TN6YtByPGTyVOoeHhbEj0f8Sx45xCmQqknO0LyoRL5CJBcLOn6cJuT9AXmZwECOk+QFjIeWkCkZI0wdI93JJcDAMG2Z8GQIUKQIjR8ILL5h4Mh4wHxgMHPP1hebNmYgZSE0Crp0jqjTw8TFCqFq1zMTIyfnz8O+/7oKcnTtNbByn8MqBAMvAgbBnjzEp9JL92GxGcyA0NPXjjh0zL63XXst0C6n1GG3DY5h+9H/A0+QczS8vXrx4SS+ffPIJcXFxAHz66acuYY0Tf39/Pv30U1q1akVcXBwff/wxn332WXYU1YuXbCcOo6QBRqvdi5dkkeDtt43baTBzrUmTzBzl/vuJCwxk+/LlNO7aFd+OHeOVjLp0gWeegRUr4PXXzZzt22+Nm+dswIIZ976LcYvmFdhkH3aM+7NRju8NgDkYLzPXC8JYLV7CKKY+m73FSZFGwArgdkwsm17AAnLOGltOxQp8jIkFNA14ERNz2UvaXBcCm8wMuuklns8/N2u8AO+/DwMHZm95ksVmY1IqrsMEfN+3L7/8/DP7o6IocPky/pGRbsm5LZ+HwpTMwG6xEOnv75YuFyjg+u5/+TId1qxJM58XNm6kX48eVPb3pzLG5NBL7uMcZuA1HViXYHshjO/WfkBbMuCS7uJF8/BOnAjR0UYAMWCA0dwqWdLjbOYD92MGUwkJdWyfSw4S2iRHkSLQpo1JTux2Y3kzfXq8VBrHAvz+/VCzJnzwgXGxlQP8Sd+Q2O1mwjpqFOze7dl/hg+HESOgdm3j/q5WLfO9Vi3TpoUKpa8IwHjgTYyFWS2MxZtXs9aLFy+5GUksWrQIgDp16tCyZctkj2vZsiW1a9dm7969LFq0iMmTJ3s87/Li5XpiKUZpIwAz9vXiJQlxcSYe6NSp5ve77xoX1M4+08cHdehA6OXLNOrQwX1+UbGi8QIwfTq8/LKJadO0qRnTvv565scN9QCnwOZXjOv1Yte8BF5OYYRlvzl+P4lRGrve1nx+xrjfy4uxHMrJKpM3Y94HdwLLMdYjP3OdLKxnIW0x61pzgCEYayXvaDJtvPeVl2T5/nujEALwxhtmnJATKbhmjZsbtMRYgIKXL/PQ7Nke52m3WIj29yfa358YR4ouUIBYf//4VKAAcf7+2BwprkAB7I7v8vfHXqAAcny3OD8LFADHbx8/P3wtFvJgHsI8jlQUKAnss9k4WqUK5UNDsSYTpFCOurWdNAl++MEMDl98EcqUScfV85KdxGEGX98DC4Fox3YrcAfGmuZeMjggs9vNQzx8OJw4YbZ16mTM7hs0SFdWNoxlTXKhMp334UuYWDq5SqxhtULVqrB8uZkwJXZ/eegQPPig8SP9+uvwyCPZMlm6IbHbYcECI6j591+zrUAB4zLSE+Li4L//TEpMuXLxVlhOQU6tWuZeSNS+EZjncLnj9yPAlxhBqhcvXrzkZoKDgzl+/DhgFNpSo0OHDuzdu5fQ0FAOHz5M1apVr0URvXjJUXzu+HwSrza1l2S4cgUefhgWLTJzjC+/hKefTl8eFgs8/riJLfrss7BkibHWmT/fWNs0bpwVJU+Rm4D6mEDrCzGxJ7xcO9ZhhGahGLdbX2CUOK83TgNOp9dvYVyP5XTaYeIL341RbH0co3ibq9ZCsoEPMddtFUbolUPCoudoriuBzdUE3fQSz7x58a7PBg2Kt+jNieQJC/PouNN9+lCiXTvw9zcLf/7+7inBNqufH/ktlmz1Rxnl48PgSZOYe//92C0WN6GN3aGlM7V/f/oGBpLv0CEYM8a4Anr0URgyJNvMp73Es8pi4cWOHfnaYqFLgu3/YF7oP2J80Dq5CTMIexQodzUnXrfOxKnZssX8rl4dJkyA7t0z5CZqDUajMCUEHHUcd2u6c89mfvsNNm9OeX+BAsY12uOPG+HBsGGmc/Tzu1YlvCpyVMwhT5DMRHfUKOO2Dox1VLdusHp12gIbqxXWrDHaiH/8Ybb5+BhBdlQUnD4Nx4+blNja1tcXqlVzCXL216rFG7Vqsb1WLfzKluVTi4Un8WoCefHiJecxZ84cZs+ezeHDh/Hx8aFMmTK0bt2axx9/nI4dOyb7n127drm+10kjwHXC/bt37/YKbLzccOzHKFlZgAHZXBYvOZCzZ808a+1aEx9z1iy4776M51eunBkPz5plXJxs3w4tWhhFvLfe8tiddWbQGyOw+ZkbUGBjs2H580/K//WXUbxN6MIuCxEwAXgdM5erg7FKuF5Xd4ZgLIluAl7L5rKkhzuI9zLyI0bJdgreuWJqVAVexghuXsFYKXlJnetKYJPRoJte4lm2zCiH2O3Qv79RyM/Jng+iypb16LjT/ftT4tZbs7YwmcyCnj25f+5cJg0e7GZFdKxCBV765BMW9OxJM5uNposWmQX59euN9s233xrNnKFD4Y47cnYDXqcIeMtq5Vjhwrxlt9MYmIUR1CSMORSA0drvBzThKl/wISEmdsdPP5nfhQqZhetBg8zkIQOcAmZ4eKxnotMchGSuj9VqOrzEWK1m8f7BB01HePgwPP+8cZ82dKjRfCtY8JoX21NyRcwhJxL88osR1GzdarYVKmReQvv3mwkrQPHiJjBrSnz5JbRuDatWmf7w9deNACc0FIoWNXGbbrsNjhyBffvcU2Rk/PdffqEmZnIEYCtYEJ/krHJq1YLChTP3WmTT5NCLFy+5l4TCF4ADBw5w4MABvv/+e+69916+++67JPE4jyUYV1aokHpo34oVK7q+Hz16NNVjo6OjiY6Odv2+cOECALGxscTGxqZekVyEsy7XU53AW6+U+MJqBR8futjtVLDZyElXx9tm2czx4/jedReW//5DRYpgmz8ftWsHKZQ7XfV64AFo3x6fQYOwLlgA776L5s/HNnUqatYsM2uRIj2BEXny8LtEWFwcASkcl2vay0MsCxbgM2QIvqGhNAeYOBGVL49t4kR0NcK4NDgDPOnjw1JHHNWH7HY+t9koCJna7+SU9lppsfC9ry8WiS9tNizSVdfzWtatCzDdYqGPjw9fWyzks9mYYLdnidAmp7TZ1fIq8I2vL3stFibbbAzIpnrllutokZLxt5TLcPpSHjlyJKNGjcrUvC9cuECRIkWIiIigRIkSmZp3dhIbG8uyZcvo1q0beRxuYFavhq5djSJy797w4485e53IBjy9dy9f16uHT3ILrhhrlGMVKhARHEzTnFyZRIRgAslFAVabjXZr1lA2LIywsmVZ064ddh8f/IC9QCXnn/7+2whu5s+PX4Bu0MBY3Dz8cIYX7bOa5O7F3M6v4GZVY8XEwgDjm/UejKulrhhXeFfF5cvw4YfGwioqygjonnrK+E0uXTrd2Z3BBM/7GfgD85x5whMYbQnPI+NkM9HRULkyhIenfEyZMkZQY7fDtGkwbhw4F6uKF4fBg43mW7Gc5dU5pZhDzsFjjok5JBmXdCNHxluEFSxo3Dvmz2/u68hIY/3y6qtGq3DFCnPdE7rCrFgRPvnExBtKnP+yZUYjcedOs61cOSMYeuIJky+Y9j1+nHP79jFj715i9+2j1r59NN+7l1LBwVhSeL8A5h5JLMipXdu4WEuvBuT8+UnrVqGCCVabuG65kOuxr4fsq5dzfHr+/HkKZ7bg0EuuoECBAnTv3p1OnTpRp04dChYsyKlTp/jzzz/58ssvOX36NGBcmq1cudLt/hw/fjzDHIEqly9fTpcuXZI9h3N/t27dAPjoo48YOnRoiseOGjWKd955J8n2mTNn4u9/vXnd93IjEG218uSdd3Ipb17e+vtvmqc2bvRyQ1EwNJRWo0bhf+oUUcWKsWHkSC5UqZIl5yq3bh0Nv/qKfOfPI6uVA/fey56HHsJ+DaxthnTowKGiRXlu+3buPHIky8+X3ZTdsIEWH34IuCtTOudVm197jbBWrTL9vPuKFmV8ixac8vcnj83GUzt30vnIkevWYiPKx4dBHTtyskAB7j54kKecbrBzIX9UrMj/mjYFoNe+ffTxNPbqDcqvlSvzRePGFIyJ4YVt2/ixbl2e/vdfGp06dc3KEBkZySOPPJLj51FegU0aXK8CmxUr4nj66Ui+/tqfLl182bgRbr8dLl2Ce+4xbtFy8nqKHRh2+DCD2ren0tGjCFAKrsMemTuXcT17xgs2cgkhmBgKAM2bN0cJFg1r1qrFo3feycAePShevLj7Hw8dMgt806bFuxAqW9Ysgj77rFlozkFcD4t4l4GdGOuZbRirlMuSm3XTzRj/pr2BTGkBux1mzjRWBKGhZluHDmbhOp0+js9hfBPPxgSAi0uwrylwELhA8nFsEuIH9MHEtKmXrhJkE0ePgmNgEBsXx7q1a2nTti15nAv5pUqZBXMnMTEwYwZ88IGx/AAjYHj+eSMYzYCALLOxAVVI2Y2dBWNpE0w2ukeTjDu6kSNh40azzd/fWIO1a2fuaaeApV07+OILuOmm+P/bbMQFBrJ9+XIad+2Kb1pWKDabeVZGjDDWNWCEKmPGGEGIxcJfwMPAcYyf6MkYIaQlJsb0qfv2wd698VY4e/emLuzz8TFCm8QWObVrG6FRYsvH+fPh/vvNtUmI87i5c3O90OZ66OuTwyuw8ZJdnDt3jqJFiya7Lzw8nK5du7Jt2zYAJk2axKBBg1z73333Xd5++20AVq1axW233Zbief744w86derk+t9bb72V4rHJWdhUrFiRsLCw62oeFRsby8qVK7njjjuuu/7MWy93vrdYeMrXlyoSu+PicpxrWW+bZQ+WzZvx6d4dy+nTqGZN4pYuBQ+ENVdVr1On8Hn5ZayO2LyqXRvb11+jli0zUAPPGW+18qaPDx3tdn5NHPPTQU5vL4+x2fCtUQNCQ5MVlMhigfLlidu/P9M0mwV8brUyzGol1mKhusTMuDiaZEruyZMT2muY1conPj5UktgeF0dm+a3IrrpNsVoZ6Lgn3rHZGJ6awl8GyAltllnEAS18ffnPYqGU3c5Jq5WmNhsbssg6KTkuXLhAQEBAzp9H6ToA089p5MiRmZ73+fPnBSgiIiLT884uYmOlWrXsAvO5ZYtUtKgEUqdO0pUr2V3C1LFLGnb0qA5WrSqBztSpo+Bp0xRVoYKphCNFVayog/Pm6Uh2Fzid2O12zZs3TyEhIZKk0aNHC5DVahUgHx8f1z2fL18+DR48OPmMzpyRPvhAKlcu/rr4+0svvCAdOHDtKpQGMTExWrhwoWJiYrK7KGlil3Rc0jJJYyX1llRbkkUSaaQVmVmQv/+Wbrklvl2rVJHmzpXsdo+zOC/pB0l3S8qTqKyNZeq333HsPJk6+sTFqUNgoB6aOVMdAgPlExcni6SXJDVLlEcXSb/KXLPcQLruw7g46aefpIYN49vAz0968UXpSPb2OIFK+17Ecdw1x26Xfv9dat06/rrlzy+98oq0Z4/0zDPx20uUkL75JsV7OkP9RlSU9MknUkCA6zz2m2/WD3/8IavMdakjaaen+Z07J23eLP34o/T229JDD0lNm0oFC7q9i5KkAgWkxo2l3r2lESOk6dOlUqVSPt5ikSpWNPddLiY39fXpIbvq5Ryfnj9//pqe10vu4eDBg8qTJ48A1ahRw23fuHHjXGPJ5cuXp5rPsmXLXMd+9NFH6SrD9TiPkrz9WW7jaup1s8z44P1ML1Xm4G2zbGD5cjOnBql5c+nkSY//min1WrBAKlMmfow4ZIh0+XLG80uDQzLPgFXSiRSOydHtlR4CA1MfwztTYGCmnO68pAcUPz/rJelcpuScOtndXpsk19xrWSbnnZ11+0jxbflxJued3W2W2fymLF4vS4PcMo+yZoOMKMuYM2cO9erVw9/fn0KFClGzZk369etHYGBgdhctxzB/vjG22LfPyC737bPQogWcO2dc/y9alLPjaQt488QJ+nfqRLXgYC5Wr06x6dM51LgxPefP5+kpUxg+ZgxPT5lCz3nzOFylCpVCQrK72B6zdetWOnbsSK9evXjjjTdcGpB9pk+n3Nmz9Jk+HZvNRrdu3WjUqBHR0dHkTWAKbbPZCHVaWxQrZmKaBAfD999Do0bGvdBnn0HNmkZbe926pBrdXgAj+f8PmAkMAzoDpYFyQDfgDYzbsL2Y+7IMJnBaGYwLtIT4ACNI20IlTUJDoU8faNnSWCYULAhjx8Lu3dCrV5rxii4BPwH3AaUw1jC/YHzi1gdGA3swVkLDgRqO//UE1s+fT0iVKqzu2JFZjzzC6o4dCalShfXz5/MxsBn4y5G3BViBuR4NgGkY937XDT4+xm/k9u2weDHccotxRzd5MlSvbmKv7Nt3zYsVi2lPTxgK/A9zj1+THmD1arj1VmPKuX69edG8/DIcPAgNGxpLmq++Msf27w979hi3ZZkZgytfPuNy7OBBGDECe4ECWDZt4rHbbmNply68tX07m0lHUM8iRaB5c3jkEXjnHRNrJygILlwwz2pgoImrM2QI3H23sbDx8TGWj9u3w88/G9eF/frByZMpn0cy1mBr1lz9NfDixcsNQ7Vq1bjjjjsAE9fm+PHjrn2FChVyfb906VKq+Vx2WmsDBXNw7DYvXjKbIGATxp1x/2wui5ccwo8/GnckkZEmZmxgIJS8xg6h770X/vsP+vY1Y8SJE808/6+/suR0VTGeIuwYt8rXLRcumFjAntC/P7z/vrG4zyA7gGaYmJm+wCeO70VS+c/1QCzwFOZ+ehTjIv56YSjgdAr7MvBVNpYlp3M77ve6j5Q562XXGb7ZXYDMJCNBNxNzPQfLXLDAQu/eTtPN+EUws14vnnrKRt68SilGXrYjYPSZMzxy++3U3rePS5Uq4ffNN9g6dOC2qChScuZg8/PD/u+/UCnnOkULCwvj7bff5vvvv0cSfn5+7Nu3jxkzZvD0M8+w5r77OFaoEJvvu4+n163j66++4qWXXmLKlCmULFnSdW/+9ttvdO/enTvvvJPHH3+cu+66ywh0HnoIevfGsno11k8+wbp8OSxYAAsWYL/5ZuwvvYTuvTc+psM1JCcEULsA7LRY2GGx8I/Fwg7gP4uFqGQWi60StYBGkis1lCgN/GaxcHcy19CGEWgsi4ujc0YEZJGRWCdOxPrRR1giI5HFgvr2xTZ6tJHAQorBLSOBZRYLc61WllssXElQp9oSD9jt3G+3u7kwS5yT5euvueWFF5LkXfbYMcr26kXcZ5+hp5+mJUaIdRD4zGrlO6uV/ywWngKGSwyw2xlgt5P9jsOSkuH7sEsXuPNOLIGBWD/8EGtgIHz7LZo+HfXqhe2114xAIgvZDsywWplltXLKQwHHVkcCKCPRUeI2u52OUqa6j7SsXYt19Gisq1cDoHz5sD/9NPZXX4ULF/B55JH4fXXrYps82QRrhRTvabPrKvqN/Pn56+23efn553l6zBgGTJlCl19/pcuvv2J/6CFiR42CatXSn29CSpY0qU2bxAWH4GAs+/dj2bcP9u/Hsm4dVg98HccdPYpy6gvaA3JCX58VZFe9rrfr6CVrqFevHsuWLQMgNDSUcuXKAVAhgbvPY8dScqJpOOqM3QZUrFgxC0rpxUvO5AvH5/0YRScvNzgff2yUcMAo63z7bfrjFWYWxYvD9Onw4IMwYAAcOGBcY7/4ohEkZLJwvTdGePkTkHRGmMvZu9co3X33nYkP4AnBwfDGGybVq2cUYXv2NG7J05iLCZgKDASiMfGIfway1rFdzmE88A9QAvg4m8uSFYzAuMsfBzyLcbXdJ1tLlDP5DTif4LfNYmGzY/ud2VOkHMl1IbDx9/dPM+jmwoUL6dGjR5Kgm4l5//33kw2WGRgYmKuDZdps8PzznTG6/sm/RIYNi6FIkZWZ5Y4zUxGwoFw5XnrmGer/9x/nSpZk8/Dh+GzZwm1Rqevu+0RF8X1gIBE1a2KVXMkHsCT4bZWwOLYn/G1NnBz7M0PvOzo6mkWLFjF//nyiHPVo37493bp144033gDg68OHwaEJuadQIfYcPgzA//73P2666SZKlizJTke8h1mzZmG321m+fDnLly+nSJEidOzYkdtvvz1+cj5gAIW6daPa4sVUXL0an02bsD7yCJdLleLQPfcQcvvtxOXPnwm1Sx8rV67M8nMIiMifn+DChQkuUoTgIkU4XLgwJ1IY1PrFxVH1/HmqXLhA1fPnqXr+PJUuXiRfAv+9sRgNPAGvtm+PpWhR4982ERaJly5eZPxff3l+70iUX7uWetOn4x9hIhqdrluXnU8+yfkaNWDbNpMSEW21sq10adaWK8fmMmWITiBEKnvpEm1DQ2kTGkrlixexAIcdKTnynzjBHS+8kGyZndt8XniBlT4+XClTxrXvdqClry+/V67M0mrVOOXvz3s+PnwAdDh2jHsOHqTKxYueXolrxlXdh4MHU6xLF2rNmUOZLVuwzJmDdc4cwlq0YP/993O2du1MK+e5fPn4s0IFAitW5HACRYTCUVHE+PgQ5eub/IRBomh0NHcfPMjOkiXZXaIEJ3x8mGWxMMtqbMPKXbpEw1OnaHjqFA0iIiiUgYXhYnv2UGfWLErt2AGAzdeXI507s79XL2IKFqTWq69SY/58rHFxxOXNy77evTnQvTu6eBEci4uekN72sgFza9Xi5zp1sJcpw/gxYyh8yy3c9vXXVPzrL6w//QRz53K4c2f2Pfgg0SnEh7hqLBYTz6Z2bUpUrkzbESPS/MvfR45wOh3XJqdyLfr67OBa1ysyMvKans9L7sSSwsJRvXrxahp79uxJNY+E++vWrZs5BfPiJYdzFmNlD/B8dhbES/YjmfiK48aZ3y+9BBMmgDUHOKu56y5jbTN0qIlfO3kyLF0KU6dCKrHJ0ssDGOuBtZg4mRVSPzznY7fDihXw6afm00mdOnDiBJw/n7wXEovFKEuOHAkLF8Lvv8OuXSa9956JY+QU3rRqleQeuQQ8h4l3C3AXMB0jvLgR2Ivx6AHGouga26ZdEyzABxil2cmYGMb5MYJ/LwZhBFs+mLm5E6dXms6ktGJ942GRcr8/pKsJupmY6zVY5p9/WrjjjrTlcytXxtGhQ867JcZdusTtXbpwy6ZNRJYqRZ7ff4c6ddi6bRu33HJLmv9vGhTEtqZNM7VMLuEOpnNxptR+WxN9RoSHc+LYMbDbKZg/P1UrVaJooUJcvnSJrZs2GUnbLbdA4cLmhW+3Q1iY0ZwJD+fL0aNpXaMGpYGimI5t//79fPfdd/zwww+cOHHCVd5WrVqxYMECihdPEPI+PBzrl19inTIFi0MgoCJFsD/1FPYXXnAPuJ6ZhITA6dMAxMXGsnHjRm655RZ8ncLUEiWu2iIqBtgN7LBYXNYzOywWzqaweFHBYSnTKMFnNZK6N0uJaKC6ry8nU9GqKS1xIC6OfB7kZwkKwjp0KNb16wFQpUrYxo5FDzyQ7EJ8NMbCZ67VyhKLhUsJjqkq0ctu5wG7ncak7wVomToV3+fTnqrann4a+0svGcuERFLfOGCBxcIkq5VNCQaunex2BtvtdHYIQq81ISEhnHbch7EJ7kOnUL9EiRJUyuh9uGMHPh9+iGXePCyO16y9Y0fsr7+Obr01Q66+ooFfLBZ+sFr51WLB5sgjr8TdEn0c1/IXi4WHHG2QUHjoLMdPNhv3Ob5HAX9bLKyyWAi0WNhisWBP9J8mDgucThKtJVJTXbBs2mQsan77zZw/Tx7sjz+O/bXXoFIlLCtX4jNoEJaDB8016dIF26RJULVquq5FRgIvhgOP+/iwynEP9rPb+cRmo4DzgG3b8BkxIr7sBQpgf+kl7C+/bPrgrMIZ4PT4cVcbJUb58hG3Y8fVW/5kI9dTsMyEZFe9ck2wTC/Zyt13383SpUsBY0lTvnx5ACRRoUIFjh8/Tp06ddidipVf3bp12bNnD+XLl+fo0aMpCoGS48KFCxQpUoSIiIhcPY9KTGxsLMuWLaNbt27XXX/mrZfhE4xLm4YYS+acunjkbbMsLwg8/bSxZgH44AMYNizDLnuztF6//WbK6nQHP2CAETJl0hihLbAOmIh5NhKSY9orLS5cMJY0kyfD/v1mm8Vi3NwNGmSEXAsWwP2O5fWE43Jnm8+dawQyYAQ7v/xi4g4sXw5XrsQfX6aMcV/Xsyfceiu78uThfsz6hA8wFngFz9caMpPsaC870BHjQr0LsIys6Vdzyr1oB54GvsFYSSzECOgySk6pV2bwK+YeSAmna/2sxDk+zfHzqGyLnnMNSS3oZlpcL8EyZ870LH7azJnZXdKkjL94UWvatJFAkSVKSDvjQ0IvDwryqGIfDR+uezZtUvUrV1RWUilJAZKKSSosqYCk/JLySvJR0gBYuSHlkVReUlNJXSX1sdnUc98+3TR1qix9+qjSk09qu92uMEmxkg4fPiy7M6B3ZKT05ZdSrVrx183XV3rsMWnbtow3XnIcOWICtKfWZn5+6QrefkYmiPrHkvpJaixzPZK7Tr6SGkrqI2mCpFWSMuvpDpEU5EgbY2I0ITBQG2NiXNuOepLJ8ePS44/HXwt/f2n0aNNGiYiWtFSmzkXkXs9Kkl6RCeqXfNh2Dxk0yLPOI2EQ+RYtpP79pY8/NkHmEwTjXC8TXNEZaBCZQO9fSsq6cJlJOXLkiPz8/FyBlJNLfn5+OpKO+zBZ9u6VnnjCPE/Oa9SypbR4sWRPu2XskjZKel6mv0rYxjdL+kzS6UT/GTlypB6aPVsVEh1fUdJDs2dr5MiRKZ7vrKSFkgZKqqukz09eSR0lvSfpb5m+RJK0ebPUrZt7//HUU1JwsNl//LjUu3f8/nLlpLlzPboGyZHewIt/SCrjqIO/pO9SPfgP6eab48saECB98okUFZWhsnrEvHmSxSJ7oufJ7XfBgtIXX0g2W9aVIwu53oJlOsmueuWWYJleso9Dhw4pb968AlS9evUk+5977jnX+27Dhg3J5rFhwwbXMc8//3y6y3C9zKMS4+3PchfprZddUi2ZMcMXWVmwTMDbZlnIpUvxY1sfH+mbb646yyyv14UL0nPPxY8dK1aUVmROKO9PZZ6JW5LZtzw2VhXOn9fy2Nhk9uYA9u6VBg40Y2nntSlSRBoyRDp4MOnx8+ZJFSq4z3ErVjTbU+LyZWn+fKlPH5N3gv9GFS2qGX37qseCBap2+bL+yqp6ekh2PF9TZO6fApIOZ+F5ckTf4SBO0sMy9c4n6feryCsn1etqsEtqIfe1oITJ6th/VetXHpBb5lFkdwGuFd26dXNNOEJDQz3+3/Uy0fjjD8/WWv/4I7tL6s6kyEit6thRAl0pUkQKCnLbv9lDgY0zxfn6KrpRI7OAOnmytH69ebkmg11mMTJKZiH5gqRzMoujJyWFSQqVWaQPlnRA0l5JuyX9K2mHpK2StsgsuM47flydRo7UTc89p1V2u1ZKWiHpF7tdS2QWSedJmi3p/UOHxMMPi4MHRVycOq1cqf/q1lWnlSuFzSZOnxZ//aVKV66osNIv3LHY7bKcPKl8+/ap5pEj6nnligZLGmuz6bfFixXRoYP7tbvtNmnp0sxZKPS0zRK1tbNNDjqu09uSussIJlKqZxFJHSQNlvSNoz2ycMnVjXS/VK9ckcaMkQoUiL8GffpIx4655yvpV0n9lXQBv7yklyRtUCa85Hbtcl9gTytVqpS6IK50aen226WXX5a+/VahW7ZoWGSk2/1bQtKbko5fbdk9ICgoKFVhjTMFJXMfZojDh6UXXpDy5Yu/Jg0bSj/9JMXFJTn8mKQPlFRoUk7S65J2pXKq0aNHC9Cod9/Vhxs3qvgLL+jDjRs16t13BWj06NEeFztU0g8yQsHEAiAktd26VRvvuSdewODjY/pX5+QnLs70tYULm2OsVumll6SrHBx5+nzFSXpH8YPCmyT958kJ7HYjUEooxK5SRfr++2TbK+3s7Lqc6F3z9ddfa/jw4XriiSfUtWtXDalSRSGJnpuwvHll//RT2RxKC67++NChdJchWzhyxPTlQUGK2bhRgRMmKGbjRte29AjmcypegY2X7GDx4sWKTWVh7MSJE2rSpInrXTZhwoQkx+zdu1c+Pj4C1Lx5c0UmUgyJjIxU8+bNBcjX11f79u1Ldzmvl3lUYq6XhZPEeOtl+F1mzFBIZv6Xk/G2WRYREWEUrJzKaEuWZEq216xef/whVa0aP3bs3186e/aqsgxT/Hg6OMF2u6RmNptwfGb1QqvH2GzSsmVSly7uc9K6daXPP5cuXkz9/3Fxil25UpuHDFHsypXpG/9HR0u//qrYAQN0vlQpd2Usf3+pVy/pxx+lc+euro4Z5Fo/X8ck15z/kyw+V7b3HYmIkdRDcikNrs1oPjmsXhklSlJppb5WWUZZv2aXW+ZRN4zA5pVXXnFNWjZt2uTx/66Xicbly2adLLX1Vqs1RdlFtvBZVJSWOV6wUQULSn//neSYXz1c/P+7VSudDAhIueI33ST17Wu0qNesSfsFng4uXryoN99806XNb7FYUtRkdBIUFCQ6dzadlt2ujS1aSKCNLVoIu91s79xZTZo00cCBA/XFt99qyY4dWhcTo18kTZM0Vmbx/mFJt0mqL6mkJIs8E+o027xZPz78sGJ9fFzX6lDduvrs66818MoVjZT0uYzwZI2kfZLOywNBgYdtFhUUpC2Spkp6UVJbKVXhVFVJ90oaJSP8OuxJWbIQj1+qdrs0Z45ZDHbWv2VLt/s9Vmby+IyMUCPxC+1FmTa4KnFaXJy0f7/02WdSo0aeC2qcafZsKTbWaDDNnSu9/bZ0331SjRqSxZLisxdXq5b29eqlCe+8o3vnz1f1/fuV12ZTX0nbrqY+aXDNBTZOwsKkYcPcNbxq1ZK++UaRMTGaKelOuWud+El6REZQ5+lUwSm0KVeunNtneoQ1ibFL2iNj1fPy9u1acu+9rjrEWa36rm9ftdq/X4/JWLCcCAoy1lbOerZoIW3dmuHzJ8ST5ytMpu9zXsf+yoAVV2ys9NVXxiLIWY8GDaRffpHs9iTnnz59ukaOHKkBAwaoR48euuWWW1S5cmX5+fmpQYMGbsfWq1cvyf1mBXUAPeT4tIJWrFihpo0ba3TJkopy9Mdxfn6K/OijnG1tkwXWlDkRr8DGS3ZQuXJllStXTgMHDtTMmTO1fv16bdu2TStXrtSbb76pgIAAV7/Stm1bRaVgIfj666+7jmvSpIl++uknbd68WT/99JObwGf48OEZKuf1Mo9KzPWycJIYb70MvWTGDem3Kbv2eNssCwgJMYv6IBUrJq1bl2lZX9N6XbpkPCU452Hlyl214KmjzLPxYYJtK+Q+N80ce56r4Px5adIkqWbN+PGmxSLdc4+0cmW6rPuvpr32SWokyRoXp7Zr1mj9yy/LXrmy+zg4Tx6pa1fp66/dPFJkNdfyPrQrXmBxszyfy2aUnNgnRsnM75FRBNicgTxyYr0ySqZ4pblKcss86oYR2Lz66qs3tMBGkqZMSX3d5KuvsruE8XwVE6MFPXpIoGh/f+mvpIajP9jtmtq/v0eLyVeCgvSj3a77Q0LUY8ECvTNihH7p1k3hpUsn/x+LRapTR3r0UWnCBGn16nRrQMTFxWnatGkqU6aM697r0KGDtnqwYPnz7Nli40b5Xrmih3780a1snVesEHFxYuPGJIt9hxJoXa9bt05Lly7VsWPH4l2fySz+n5C05vx5DVy8WFXefFO8/LL44APxzTfyW7VKNc+fVwUZt2IVjxzR+KFDdb5QIVcZTpQqpRHvvKOAkyeTCE78ZKxeWki6S2aRdLjdri9OndKKjRu1b+xYj9rs9t9/jxdOJUh5Zdy+9Zf0P0l/yrhxyml49FLdulVq3z6+3uXLSzNmSHa74iStlvScjAu/hNegpGN7oDIw6LHZjJuqX36RPvzQWPE0bZr2wqonqVo16cUXjTZTQk3dS5ekjRulqVOlwYONhUBKAlTQJX9//X3zzfr6ySf16SefaN2qVbJl8iB206ZNHglsmjZtql69eumZZ57RG2+8oT179rjyOHPmjA4cOKCzZ8+6PWMecfq0NGqU7MWKuep9pFIlvfDpp/KLjDTWK5K+lrHscxIREaEDBw7on3/+0YYNG7Rq1SotWbJEP//8s7799lvZ7XYdOXJEQUFBatSokVtdunXrpqCgoKtz87Zzp3T//a4y2y0W7Xz0UT2+Z4/85BiInj+vjwcPVpxDSyCycGFt++wzncmAZUpKLF++XBUqVNDy5cuT3f+74rV3CshYCXmKLZEQZNasWfpw5Egtat1aF/PkcdV9rY+PHq1Wze3Ym266KcV7KSAgwO3Yd955R4MGDdLYsWM1bdo01axZU1ar1e0/Pj4+atasmUsLvjpodYJnZWP+/Hr/qafSUbtryFVYU+YmvAIbL9lB5cqVPXqH9erVS2dT0aq22Wzq379/qnk8+eSTSfrFtJg8ebLq1q2rWrVqXTfzqIRcTwsnCfHWy2iCO91j70zj2JyAt80ymX//jXeFVaGC9J9Hdtkeky31WrPGXXjx2GNmHpIBvpR5Npo6ftslNZPx3oHjs66urZtrFym5PXv5ZenAgQxlmdH2mi2zMO+ct6907rDbzbj3zTfjhYLOZLVKHToYYVNISIbK6ynX8j6cK7nc0v+T5WfLuX3iZRnPL0gqrvRfi5xar6vFO49KHYskcQOQUtDNtLjegmXOnw+DB8OxY/HbKlaETz6Jj52W3UyPiyP/I4/w4Jw5xObLh+/SpVg6dXI7ZmpcHDz7LE9Nm+ZRnjFBQeRt2hSAvcBU4DsgAih7/DjNtm7lwaAgbt+6lTJBQVhCQ5PPqGZNaNoUmjUzn02bQrFiSQ4LCwujW7dubN++HYDq1aszfvx47r33XizR0RAebtLJk/Hfw8OJPHyYkM2bsZ04QemiRQk4e9YtXwHHy5Xjlr//JtTXlxHffMPlM2fYsWMHhw8fZv/+/a5gsA888ABz584FICAggIYNG9KoUSNXatiwIVZH8O0dO3Ywbdo0ZsyYwdmzZzl06BBVq1ZFwO6wMOJKlOBiVBQFpk6l2qRJFHYEM4z282NZv3589vLLbKtcmZKHD1Pt0CGqHTpE1eBg1/dqhw5R6NIlj9oqIRcLFSK8WjUiq1fHp3p1ilarRunq1fGtVg0qVYIcFnAtJCSEiIgIAOLi4li7di1t27bF19cXMO1QqVIl095vvQXTppkhmp8fDBuGfdgwNhQowM/AXCAsQd4lgJ5Ab6ADJnhdqkgQGgr//WfSv/+az127IK22KF8e7rsP7rzT5NO9e9qV9/WFuLj43/nzm8CN3brBXXdB5cpJyxceDjt3mvTPP+Zz1y6Iikr2FJfLlMGvQQN8GjSABg2gYUOoW9ecywOOHj3KypUr+e2331ixYgXnz58HTLDHdkBZzDVfgwkUmBwrV67k9ttvB2Dq1Kk8/fTTjur7UqJECUqUKEFAQAB58+alV69eVKxYkcjISEJCQjh48CA+Pj7kz5+fx958k4WFCzP/0iVunzKFoRMmUPbECQBOFi7MtJIl+ebSJc7ZbJw6dcp1/nvvvZdFixalWMe9e/fSqFEjolK4hgA+Pj4MHDiQMmXK4Ofn50rly5d31Q1g+/btWK1W/Pz8KHj0KMU//ZR8ixdjkZDFgqV3b3j7bdMGQJTE/nnzqDx4MIWPHwdg1kMPMWTiRE6ULYsVaArcDnQC2gCetZyDkBCIiEASj/Xpw+7du6lbty4zfvjB9HsBAdgqVWI08C6mv6wPzAFqS26BsufNm0dwcDAnTpzgxIkThIeHu76XKVOGnTt3uo5t0KAB//77LwDFgNeBgQnL3qMHjB0L9eoxcuRIwsPDKVOmTJJUunRp8qdwr/7666906ZJy+MWff/6ZokWLsmXLFrZu2UK91at57exZCgBRPj74ffwxvPACdqBly5bUrl2b5s2b06xZM5o0aUKBAgXSc6Uzh6AgaN7cs+Mc7+fcSHYFAc01wTK9ZAl//vknf/75Jxs2bODQoUNERERw4cIFChYsSMWKFWndujX9+vWjVatWHuW3bNkyvvrqKzZv3kxERAQBAQG0aNGCAQMG0LVr1wyX83qbRzm5noL/JsRbLxgFvAO0B/68BmW7WrxtlomsXw933w1nz5qx7a+/moWSTCTb2uvKFTNmnzgR7HYoXRq++MLM99JBBFAGsAG7ga+Aj5M5zgrchBn3O1NjoGDGa5A8drtpp08/heXL47fXqQODBkGfPlAw42dNb3tFA68Akx2/2wOzgHIp/WH3bliwwCzSBQW572vRwizQ9ewJtWpltArJcq3uw7NAPeAE8BZmfpbV5OQ+8SLQGfgbKAX8BdT28L85uV5Xg3celTo3hMAmODiYOnXqEBMTQ/Xq1Tlw4IDH/70eJxo2GwQGxrF8+Xa6dm1Mx46++Phkd6kMP9rt2B5/nL4//EBcnjz4LFqEJdFEcXJkJBUffpgeixdjs1iw+PhgTbhQnAj5+WHZu9cs8CcgGlgIfA2sSrC9DDAwPJwntm6lbFAQbN1qXqAOIUUSqlSBRo2gRg2z0F2sGPbISL569118z5yhfe3a1ChYEGtEhFmgvnAh/RcmETbgFz8/bho3jhrPP09yDfjqq6+ydOlS9u7di93uvvycN29eLl265OoUly9fjq+vL7Vr12bfvn1ui7Y9evRg3bp19Hn0UZ655x7q+vrC7NmwcCGEhZEewsuXJ6xUKRpv25buOifG7uNDdOXK2KtVw7d6dfJWq4alenWoXh2qVYNr3PGGhIRQu3btVBfKC+fLx+EhQyg2eTJcvAiAHn6YbR98wIxKlZgDJJClUhQjpHkQuA1I9hXmFHwkFsz89x84BBJJyJPHXKeYGDh82Ax2Abp2hXfeMQNEJ1u3GgFlWqxZA2fOwNKlsGyZu1QYoF69eOFNmzYpC9tsNjhwAP75h/M7d3J05078d+6k2sGDyR9vtRpBqlOA4xTmVK1q9gGbNm3i8ccfZ/fu3Un+fh8wCUg4HTsKDAYWAGPHjqVw4cJEREQwe/ZsJBEXF0dkZCRnzpzhypUraV8bJwUKQK9e0K+fEWY5uXSJfLNm0X/cOIYdOEAVx+YzwP+AO5csoUStWgQEBDBo0CAWLVqEv78//v7+FChQAH9/f/Lnz09sbCwNGjTgq6++8rxMCejQoQOrV692/S5VqhTFTp3ibeBhzOQLjABk3k038ZNDiAHQ++abeX7XLjpcvgxAaP78TG7enNV33UVUmzZEt21L4qvvGxdH1bAw6oWF0ejUKepGRlKiaFHuuOMO1zEHDx7EbrdT4PRpyt56qxF4p0Bcnjx0+usv/mrZEoCKK1ZQ4t13OXn4MAEBAezYscN1bMOGDd2EMgkpUaKES/AK8OabbxIWFuYmfKlktVJn9myKzJuHxW4391q/fub5SefkXhLdGzcmbOdO7MkMyawWC2UbNGDx9u1uQqfTmzfDU09R4p9/zIZ27QgeMYJqnTu7/99qpU6dOjRv3pxevXrR3RMBbPIFNf3WqVPu6eTJpNtOnYITJ0wfkxYTJpgFgypVIEH9cgveiYYXLylzPc6jwLtwktvwtF6xQBXgOGaR9aFrU7yr4kZvs0zjl1/gwQeNYKNlS/M7C/qsbG+vjRvhiSeMoABMnSdPhpIlPc6iM7ASCMAIcDzFAtTCXYjTBKMMlW4uXIDp042gZv9+xwksRuA2cCDcfnumjCnT016HMXP2zY7fw4HReKBk6crgsFlfmT8f1q41424nN90UL7xp1Oiq63at7sOnMYrSdYDtQL4sO1M82f6MpcE5oCPmepTHKIpW9eB/Ob1eGcU7j0qdXC+wWbJkCV27dnVpsCcmPDycrl27ss2xQDxhwgSGDBnicf7eica1Y47dzvkBA3hq6lRsPj5Y587Fcu+9bseMP3uWVvfcQ9t167ji58eJn36iapMm4LRqWL+e6HffJd+IEfi2bm3+FBCQRFiTmAOYl8m3wEkAiWJnz3JfeDh9w8NpEx6O76FDxgLgwAGzGH3mDKSyeJgqefNCqVJGu6V0af7cs4f1hw5xEihaqxadHnmE9997jwlxcdQEEopjhBnwuKhcGZ55Bvr3hzJlkpzqypUr7Nq1ix07driSj48Pq1bFi6kaN27Mjh07KAjcXKIE7SpWpFnRotSwWjm+bh3loqOpCvh5Urf8+c2gol07rlSvzpZq1VharRozK1fmqJ8fTbZuZasHAoBW69dztlgxqh88SPWDB6l26JDrs9qhQ+RPRTACcDEggAvVqnGlenXs1auTp1o1CjisdPKWK+dazM8stm7dyr3NmhEAYLFwc/XqDAsLY1zZsmw6cIBbgUHgWoy/3Lw5306axPjWrUkoCiwM3IsZ8N0B5E14koiI5AUzp08nXygfHyPMqF/ftMlNN5nJx08/wXffQWysOe7OO2HUKDNBSUxICNSunaLVC2AshBIKRSVTPqfwZv16I4hxVbIw3HGHEd506QJly6acN3AJ+PHSJVb+9x9Fd+6kwc6dNPrnH5rt3EmhFOoely8fvo0aQcOGnKtYkftGjuQ/i4UaLVtyxx13ULlyZX558knmOo5PeDc4xZv3A28FBdHUof3fvn171qxZk8Il8OPvv/8mIiKC06dP8/HHH3P69GkKFy1KbOvWHL3tNs7edpu7lteqVWayMX8+Lz/zDM2bN6dA3rxc/uormq1c6dK4uQR8AUwETlqtzJs3j3sdfeOGDRt45JFHOH78ODGeLI47KFOmDF26dCEqKsqVGjRowLhx48wBBw6wuEUL7jp3ztX/zMdonu4E2rRpw9q1a82C/IQJXHnjDfIDMcAHwPuA845p1KgR27dvJxT4A3hhwQIutmgBFSq4F+rcOQps2sQHnTvTCTO4b9a0Kdu2baMJsNWDejUNCmJbzZowYADMmuXaXrx4cU4nuFdee+01QkNDk1jAOL+X9HTiumcPvPmmmVwB5MsHL74Iw4d7PNGP3r8f1aqVav8aBVj27SNfzZruO+x2mDIFXn0VLl9G+fOz+7HHmF++PJu3bmXLli0cd1g7gRE+vffeewCcDA9n1Msv07pmTRqXL0/NokXJd/588sKXkydN/5PRd54nFC5shK6O55ZGjUzflR3WQenAO9Hw4iVlvPOo3MWNXq95mLFfKYzyTt4Uj8w53Ohtlil89x089ZSZq9x1l1FM9PfPklPliPaKioLRo2HcOFPngAAjtHnwwTQFAWuA/pi1k7QY6fjc6kgp+C+hKu5CnKaYZzBZ9u0zZf3uO5fyI4ULw5NPwgsvGIXETMTT9loM9MMsxhcDfgDuupoTh4fDokVmfrFqlbsXi6pV44U3LVtmaE3jWtyHgRiFUzD3TdssOUtScsQzlgangFuBXZi1oTVAhVSOh9xRr4zgnUelTq4X2FSpUoXY2Fh69epFq1atqFKlCvnz5yciIoLVq1czZcoUl6Zs27Zt+f3338mXz3PZrneicW1YJHFs0CBemDwZu9UKM2di7d3btV/AmNBQ7r3zTur/9x/nihQhfMkSardrF5+JhL1FC6xBQdibNcO6ebP7oMNmMwtOCVyQJXZLZg8PJzo8nDwnT+KbitVOcsRiNJl9ElmzuChRwixC3Xwz9pYtiapfH//q1cFiYdeuXfTu3ZsxY8Zwzz33YDl6FNWogcW5oJ4MslqxFCwYb7Hj62tc8zz7rNHeT+7lHRcHR4/CoUMQHAyHDqFDhzj4++8UP3eO4gkX1ZMhDjgCBAMhPj5Uue02bnvySSMYWLoUzZrl0oAPr1iRCYMGMeXpp7lQpAhghBHPbN3KeA8ENrFBQZxp2pQT4Ephjs9wu53YsDDyHTpE4YMHKesQ5jgFOqUSuJBKjit+fhyvWpVT1apxvnp1rlSrhqpXx7d6dQpWqUKp/Pkpixlweaq/snPpUmrcfXeaLp7OBwTw3kcfMaFPH+Roo4JAd4y7s86A37lzyQtmwsOTz9RiMQPUhIKZ+vWN+bSzvwsNhfffh6+/jtd679TJWAS0aZN6oR2uqABi4+JYt3Ytbdq2JY9TUJ6WUPTsWfjtNyO8Wb7cLAAnpGlTM0Hq1s1Y96Rg8mcDfsGY3v8JIFHmxAm6/PknzX78kYCVK6kVHU09UhYunsmXj2IdOnAyIADfmTMphruwxokdY+0UsWkTTR0WR+vWrePSpUtuli3OT6eVi5MDwPeOdCRBvjUwA/oHo6MpePq0S8DTuHFjijncK/7+++98/+231N61iwf27qWWw4onCpgG7LjjDr767TcApkyZwrPPPptCbVNm+vTp9O3bF4DDhw9z33338dxzz/FY69b4T5gAP/wQL2Tr3h1GjUKNGxMTE0NUVBR2u51iO3ea/sahpXe2SRP+fe45Tpcs6SYIKlKkCA8//LDr3O+88w7Hw8I4WawYITVrEla3LqcaNCAukcuCckDsihVcWriQ+osXs8kDi74OS5ZQaft26lqtbgKYMmXKeOwKNUP8/Te8/jr86XCgUqQIvPaa8UGa1qTfUyu21FyHHT5shPaBgeZ3/fpGaJUnDxcPHSJi924uBQdTMX9+ikZHw6lT2E+dStU6NUX8/Y3CQcmSySfnvvBwz9wp1qxpyp/c+85iMdarjRq5C3IqVcox1jjeiYYXLynjnUflLm70et2O8brwJvDetSrcVXKjt9lVIRmhxeuvm9/9+pl5UhZexxzVXkFBxtrGaXF+333w+efJKoD+i7EY+SXRdgtmnSYxVqAZsJH4uXQ4sI14Ac5WzJpCcpQngQDHbqf1b79R4n//w5LY7dnAgdC371W5PUuNtNorFtNfjHf8vgX4Gaic5Mir4OxZowQ5fz6sWGGswJyULQv33muENx06eHzvZvV9eAVoABwEngM+z/QzpEyOesZSIQzjMu8AxvLsL6B0KsfnlnqlF+88KnWuC4HNkSNH0jyuV69eTJ06laJFi6Yrf+9EI+tZJrF72DCGfvQRdosFvvsOq2MhEczC6eg9e3jizjupHBJCaLlynF6xgoYNGrhn9OuvRlvfya23moVfp2AmIsLdtNQDrhQtSmipUhwvXZpwR/IvXZoGpUvD8eN88v33bAgOJhyoXLcun3zyCZ1vuQW2bzeDIKc7tb17kz936dKueDhq2hRLs2bGnc7WrZ75/l+71lj8TJkCGzbEb69Qwby0q1QxAimngObIEXdLh2SILVqUs0WLEuLry66oKOyVK/P4O+9AtWqcyJOHKjVqEO0QyhQtWpRbOnSgSI8enG7ZkhOFCnHft9/y4uTJlD55EoBLhQoR9NRT5Bk8mOaVK3NywwZKdOxI/lQ0ta/ky8fpwEAqeOh7PRIzCHQKdU5fuEBMcDDWgwfxO3iQQocOUergQcodOkSVw4fxTeMaHCtfnkPVqhFcvXq8UKd6dVStGgUDAgiw2eDECfwvXMDv7Fl8IiK4sHw5z0yZkmZZ26xZw/q2bfEH7r94kcd37aLNf/+RN6FwJqUYSmDa1CmQcX7WqZNyHJewMPjgA3OPOK/5rbcaQU379mmWNzFX3XfY7bBlixHeLFsGmze77w8IMM9xt27G8qd48WSz2WK303n5cs527hw/OD14kHxTpnDH4cPcVqwYVS5c4PLff1MkJIR6djsZ0bkK/+knSicQHqfGeYy7sOnA2gTbC2OEcY8DrfBMCCiJ3bt3E/jHH5yfNYvbN23iZsfieiwQ9+CD5B89mq2XL/PVV19x6dIlLBYLwcHBrFu3Ls38X331VQYNGkSFChUYPnw4sz74gLcwwiRXq951l7G8StwXRUTAsGHw7bfmd8mSxif2o49meBHdhpm4/Y5ZLFmLcVvpuBh0/OMP/kjgqjElYvv3J0/58kaA7eNjPhN+v9rP1PZZrUZgM2aMeZbBTKRGjDCaf3lT0NX1VGDz4YdQqFDK7sgiItLs35Mj0teXk3Y7J+x2ToEr3da7Ny26dYOSJQm5coW/du+mXocO3NSihWeKL+kRRDVoYKyVduww8ax27DApJSF1kSLxwhtnuummLNOITQ3vRMOLl5TxzqNyFzdyvfYAdTELzcFA6r4Zcg43cptdFXY7DB1qAvmCGdd+8EGWK4PkuPaKiTHj1rFjjWJnsWIwaRI89hhYLBzBWMp8jxHM+ABPAfswFhSpUQbjJiy1EeNZkgpx9jnOVejCBfpNn86LkydTe98+AOwWC/vuuotTgwZR/vbbqWqxeKxcmRFSa69jmPndesfvl4APyWLLvMuXzZrX/PmwZIm7q/1ixYyiVM+expNFSmsDNhtxgYFsX76cxl274tuxY4rKkhnldcy1KA/8BxTJ1NxTJ8c9Y6kQgomjG4IRcAVi4hYnR26qV3rwzqNSJ9cLbDI76GZivBONrOU3YMvbb/PGuyYEmW3KFHyeeca1Pw54b+NGBnbrRokzZ9hbuzYXfv2VFskFMK9RAx06lPpL2xGYmtKl3VySuVLCbaVKQb58xAJLMbFulpNAiyQiAqZPp+icObzXpw/PPPNMytfy0iUOzJ3Lyg8/xH/PHppiArAl+2oMCDAxWDZtSv3igRloghHI/PefEcqkYpUDGIuLqlXNOZyfzu9Vq6Ya++XChQv069ePoJMnOdqggVlU79TJzWWNNTaWm8PCGP3rrzR+5x1KOoUPPj5w//3svPtu7qpThwdXr+aV8eMp4xDsAJwoVYqPXn2V2R06MNvXl5ZNmqR9DdLAbrdz6dIlLl68yLkLFwi7eJEzR48SdfQoJa9cocS5c/gdPEjB/fspefAghRwxOFK8BoUKcahaNQ5Wr87B6tVd3/OfOsXiRx9Nszw/d+lC7VOnqHn0KAUS1D0JFSq4C2ZuusnEgfFUgyg83GiNff55vDuztm2NCXzHjp7lkQyZ3neEhxttoWXLzAA0YdwdqxW1bElo48assFj4+8oVpk6b5tp9xx13sGrPHsq+9x5nH3iAK47F2nxXrhA9ebLxa3z0KAClS5emW7t29KhRg9tLl6bAihXmfGnx+OPmOatXL1mrNRtGwPAdJuaN0w2YFWMt1Q/oAWlaXjlfxc4YJYMGDeLTTz91O6aLnx9jChSgqdO1l8UC998Pb7wBjRsD8Pfff6frfXdPo0a87eNDk+3bXdaByzGuz0p07cqLL75Ily5dsFqtZnL73XfG/daZMyaDAQOM5VaxDHmgNhOP48eNkDLBZ1xoKJeOH8ceGkrB48fJmw53bzkWq9UIdvLkcRf2SC4LtkyhUCEz6XZq4JUsabQm69RJ3iLGzw9JHDt2jKCgILZs2UJQUBATJ06kbt26APzvf/9j8ODBAOTJk4cGDRrQvHlzmjVrRvPmzalfvz55EwukMsNyKDzcXYDzzz+wa5e7awgnznhWCS1xGjUyfWkWLsB4JxpevKSMdx6Vu7iR6/USJqZhd2DRNSzb1XIjt1mGiYkxliUzZ5rfEyfCyy9n7jlSIMe21/btxlLbEUYg5u67ef/LLxlbvjzOEfj9GMuz2sAMoA/GkmQeYIuNZe26dbRt0wZfR71Kkbabp+S4tH8/FyZPJuDbb8nrcHt2vnBhvunfn89eeIGDNWq4ji1KUndqNUnee0JGSKm9fgMexcTwKYxxq98zk87pMTEx8McfRnizcKG7B4sCBcw6Tc+e5tM5Tpw/31j/J4w1W6GCEdL1zJwabANaYObIizB96rUkxz5jKXAAY2kTBjTHKC8mJ+DKbfXyFO88KnU8joGVU+nQoQMdOnTI7mJ4yQCrgbVjxzLaKayZNMlNWBMNjFu+nFfvv58CkZFsuvlmYpYupW1AgHtGdrvR7E5OWPPqqybonFMIExBgFsnSQR5MTJF7Ma6Nus2Zw65WrczLbehQzg0dymxMx9qLpAuzR44cYcSIEcyYMQNJ5MmTh2effZYRQ4dSMizM3RLnv//Mwp2ni3cTJiS/vUgRo2l96VL8tsqVzeD0hRfMdUgHccDfwNLChTm4YAFHE+0vcPYstiVLiJo7F/uqVfwdGUmf0qUJDw/nTmAocIfNBj//TIOff2a5ry/14uKSmFCXOnmSca++yqHixYlZsIDQ0FAuXrxI8eLFKVXKeLM9ceIEc+fO5eLFi1y4cCHJZ79+/VyunrZt2+aKP5Icw4cPZ+yHHwJw4MABCtesSQmgGlDdx4fqBQpQLW9eqtvt1AVKnTlD4YsXabxjB40TBDBPD71XrHD7fd7fnyKtWkH9+sTWqsW2mBgqdelC6dq13QKMe8ypUzB+vPHv61ywbdXKCGo6dcoxboRclC5tXBD062eEjRs2cOGnn4hbsoTix45hWb+eCuvX8xTQFYiMiiJ/r17sr1yZNm3akD9/ftYNGcKcSpU42rEjHwP78ueHV1/FMmQITQ4d4lVfX3pXqeJ+PRs39kxg8913JpUoYSySOnSAW29ld4MGTLdamYG7T+Z6GCHNYxiXXqkRHBxMYGCgKy1cuJDmDmuWm2++GT8/P9q0aUPHjh3p2LEjLVq0MAOZTZuMNtzixTBnjkndusGbb5LXz4+KmECgKREB1K5Th/v27OGpHTtcmmCxt95KUPfufLZqFZuXLUPLl7Nu3TqOHTtGoZAQeO45cMbwadDAWG2lJByKizNB551CmEQCGddnQgFdAnwxk7D0EvzQQ1QtUcL0f3FxKX+mts/Tz+S2paYDY7ebyVVGhU+NGhnhemquyAICjCWPBNOmwZAhpk+YPh3efRcefjhZLTqLxULFihWpWLGiKz5SQsqVK0fnzp0JCgri9OnTbN26la1b46MKrVmzhrZtjXfqAwcOcOnSJW4qUoQ8fn5px79K7X1UurTRErzjjvhtMTHGDV9CQc6OHaaee/eaNHt2/PHFirkLcBo2NALwlDQP04PNhuXPPyn/119YChQwwvBM1lL04sWLFy9Zy2WM4g0Y9z1ermMuXYJevYyrZl9fM8b3QOHuuqdxY9i4kZhx4/B55x3y/vILg2+6iSMTJxL8xBN8aLFwc4LDu2MsZ45gxuwNgbDz52lCAkv99GC3w8qV8L//UXDZMlzqibVrw6BB5O3ThzaFCpGfeEucnZiYMX84kpOCQGPchTh1yZyFTxvwDkZwJaAJxrtC5kbO8ZC8eY1Xii5d4IsvYN06I5CZP98oLDrniHnzmnF05crmuMRzldBQowA4d+5VC23iMBZYNkw83mstrMmN1MAIaToAWzCxj34FcnYETy/XDHlJlfPnzwtQREREdhclU4mJidHChQsVExOTLedfI2nYxImSeWUo9sMP3fZfkvTh9OmK8fWVQCvuvFMrL15MmtGFC1L37q583JKPj9SihWS3X1VZo6OjdfbsWdfvgwcP6r4HHtCU0FDdI8kqCUcqJmmwpH8dxy5ZskT58uUT5p2u3r1768CBAymf7MoVadMmafjw5OuUON16qzRkiPTpp9LSpdLu3VJkZHx+W7ZITz8tFSgQ/x8/P6lvX2ndulSvTYSkGZIedtSLBMkqqbWkMZK2S3Lm8u+//+rll19WQECAq87O1BD0HSg6jTrZQEdA1gT//eCDDxJUaUuSvBOmN954w3Xsvn37XNt9fHxUrFgxVa5cWfXr11fr1q01efJk17Hnz5/XiBEjNG7cOH355Zf68ccftXjxYq1evVpBQUEKCwsz7fPff9KECdIdd0glSnjWTglSYPPmmtqsmfpWqaJSPj5uZUhYt2LFiqldu3Z67rnnNHnyZK1evdrtPkzaYBHmvknY1jffLK1YcdXPQEKyuu8YNmyY6xpUBD0DWurjoys+Pm7XMRq0EvQyqDborTfflCTZJC2Ki1Mnu93tnm0labakWOeJ4uJ0rnBh2VNoJzvoSr58UqdOkr9/kv2nixXTwu7d9fKECeq4ZYtejIvTZsU/C8kRERGh6dOn6/HHH1flypWT3Lvjxo1zHXvlyhVFRUWlfrH++Ud6+GHJanWV62KDBopK4x6MBdny5HH93la8uF5t2dIt6y5duqhx48Z6ondv2YYNkxx9cbSvr44/95wUFCQtXy5NmyaNHi09+6x0zz1Ss2ZSmTKSxeL5c1GggFSrltSxo/Too9KwYdInn0hz5ph+6vBhbfjrL4/yWv/33+m427IAm02KiTF9xcWL0rlzUnCw9Oqr7s9mmzbS3LnSzp3SrFmeXaegoPSXJyRE6tLFvU/4778MV89utys4OFhz5szR66+/rttvv10lSpTQxQTv50GDBglQvnz5dE+jRnr/gQf00SOPqAm40rpPPzX1OXIkw2VJVDApLMz0dx9+aO6j+vVd922SZLVKdetKvXtLY8ea9+fRo573lUeOSOPHS6VKuedbqpTZnln1SgXn+PT8+fNZfi4vXjKKdx6Vu7hR6zVVZqxYTWYcmZu4UdssQ5w8adYGnGPPFSsyL28PiJO0MjZWQzZv1srYWMVd07OnToykLyWVkVTv33+10XmdQPY770x2XHOfzHMzXFfRXhcumHWMWrXix1IWi3TXXdKvv5pxdQpES9omaZqkF2TmevnlvmbhTH6Sbpb0rKSvJG2RlMYsS5K0PDZWFc6f1/LYWIVJ6pggz2clXUlfba8Ndru0ebNZF0h4XVNLFotUsaIUd3V35TjFr4mdyIy6ZIDc2idulVRU5vp1UtJ7K7fWKy2yq165ZR5FdhcgpzJ58mTVrVtXtWrV8k40Mpm/Jb382WeuF0TMO++47T8rafL48a79Pzz2mH5JrpyHDpkFmbReQBkcjNntdi1cuFA1a9ZUnz59UjzuqKTRkirJfWDQWtLkixdVpGxZdezYUZs2bfL85EFBmbuAd/689PnnUqNG7v9v0ECaPFk6d052GeHLGEfZEwqinC/eh2WEOGk9DdHR0ZozZ47uvPNOWSwW3X777QoMDNQnn3yi95s186huHYgXsnyYQKB39OhR3X///XriiSc0ePBgvfXWWxo3bpy++OIL/fjjj/rnn39cx8bGxurEiROKjIyU/WqEFleuSL/8Ij3zjFS2rHtZfXyk227T9iee8Khec+fPd7tOly9fdv0ODAxUrVq1ZLVakyzmA/roo49cxx47dkxTpkzR38uX68orr0iFCsWfp1kzswCZiYIaJ5nRd9hsNm3evFljx47Vrbfequ3bt7v2/fDDD7JarWratKkGDhyotWvXKiYmRjs2btQdoI9B+5K5rvZq1aQXX5SWLXMJLbdLelxSXsXfx5UlTZB0TpLmzZPdYpEtkXDBZrHIbrFI8+YpRtIv0dF6Y/16vTl2rJbfeacuFCyYtG2LFDGTi3HjpI0bpdhYHT9+XCEhIa66rV692q09fX191bp1a7311ltatWqVIhMKW9PDvn3Sk09KCYQwHqX27aXAQFeb6PJlaf9+nZo3Tw+BvgadS3B8dJ48upKe/H19zeD/lluknj1N+7z/vjR9uvT770bA7OEgKc7DPjEuI0KNa0V4uDRwoHs79e4tLVyYuf19Yux26ZtvzD0KUt68ph1iY9P8q2fZu/czgwcPVpEiRZLtw5zC8xYtWshutysiIkJxVzk5TJWoKGnbNum776SXX5Zuuy11QXvx4kZwOHiwuWZBQab/T8iRI2k/a3nyZLnQJrdMNLzc2HgFNrmLG7FedklNZcaI4691wTKBG7HNMkRwsFSzpnlHlyhhxurXkHmSKsh9bl3BsT07sUuaI6mm4stVVdKPsbGyjRsn5ctnrlmhQtKXX7rNLX9yHF9NUnR622v/fjPWSjh/LVxYeuklsy+DxEn6T9IPkl6W1EFSYSlZIY6vpMaS+kuaLGm9jNKwE7ukZjabkFTLbldpx/8KSPoxwyW8xtjtRlGrf3/P5hqOeWFG2C8jGEPSN5lU/IyQm/vEDZIKylzDu2SEkk5yc71SwyuwSR2yuwA5He9EI3PZIumFadNcL4WY1193e/GftNk0fehQ1/4JQ4ZoXnKaFYGB8Ysuvr4pa3NbrRmystm+fbtuu+021wJTmTJlUrdukBQdF6chK1eq4qZN8kmg3V/IZtPzdru2p/rvRGS2wMaJ3S5t2CA9/rixtHHkE+Xvr5lPPqlmmze7DWQaSHpdxiIqo0t7R44c0X8JNLq3vvqqR3W7VLWq7GPHGiuhrFzQS4lTp8wi3333uWvGOwetDz4ozZghnTkjSdoxfbpH9Tq2ZEmap75y5Yq2bdumH374Qa+//rruvvtuVa1aVSsSCB/nTZumkYkW1A8UKqRpPXro22++0bFjx7LksmS07wgJCdG0adPUu3dvlShRwm0B98MPP9SpU6c0Z84cPfXUU6pRo4YAN0GpzWZT165dNWLECAUGBipq505jhXHHHWYBOuF1zp/fCE8++0wKDlaYpBGSAhR/bxeS9MSRIxo6frzCEmnJHy9dWkPHj9cTR46oVIL/IKmRpE9iY3V640YjnOnWzUwwEt+/FouWgRa1aiWtXy/FxCgqKkpt27bVa6+9phUrVrhZJWQKISFGAOBJ39Gli9Svn7l+N90kFS3q2f8c6RRoO2hVvnza2rSpLg4ZYiZyS5aYfunEiVS14tLNkSOKS9BnJZfi/PyuiWXDVXPwoPTYY/HvrUTWY5nW3yfm6FFzvzrza97cWPhkAXa7Xfv379fkyZPd3qUJ06effqqOHTuqQIECateunV5++WXNmDFDe/bsMQLErMJul0JDjXD3gw+MlVq9eim3g4+P2f/ww+b4jz/2rL3So6SRAXLLRMPLjY13HpW7uBHrtVFmfJdPaSuk5URuxDZLNzt2xCvcVa4s7dlz9Xmmg3mSLFISgYHFkbJLaPOHpBYJyhMg6X9yXyTWnj1S69bxY5vbbjPjWBnhhr/jvxtiY9NuL5vNKNJ26+a+dlO7tlEgvXAhK6opm4ww4WdJr0m6Q1IJJW0PZBRW60l6TNIzyey/SdLuLCllFjNzpmdj15kzM5S9XdJtMtfoNqXucSKrye194mrFW4rdL7MGl5Ot864Wr8AmdSySdJVe1a5rvMEyM48dwGczZ/LlY49hlYh96SXyTJzoiqlxLDaWrf37033GDABeHT+eZq+8wkOJM/rySxg40MQLaNoUQkJSj/lSpgwcPgz58qVZxhMnTvDWW2/xzTffIIl8+fIxZMgQhg8fTqFChZL9jyRWrFjBa6+9xs6dOwGYsWoVR267jalAcIJjbwaeAXpDvG/W5MiMYM0pcAhYCvx59iyVfviBJ6dM4aZdu1z7DzRtSuiAAVR75BEqehrgPh3MfOYZHvn663T955yPD5sLFWJzkSIEFS3KiQIF8PX1ZcyYMa64CYGBgXz88cf4+Pgkm5599llatmwJwD///MM333yT5JiS585Rd/9+Wp86RcEdO4w/XQcXixblSMOGHG3ShPC6dbH4+bFhwwZOnTrFP//8Q/EDB9joQV361a5NsS5daNOmDW3atKFcubQinSTiwgWYNInYcePI44hRtAMTJH5hgsMWLFjgikXx999/s2jRIurXr89NN91EnTp18PPz8/iUISEhRDiesbi4ONauXUvbtm3xdcSDCggIoFKlSin+f/369bRp08ZtW6FChejYsSOXLl3i+PHj7Nmzx22/xWLhnnvuYdEiD0K/Xrpkgi4uXQrLlrkHUgSoVw+6dSO6WzdmtG3LxDx5uBgSwt7atcmfSnyNK35+1N67l+hKlXgUE5umUaJjYmJieHXIEE6sWEH5gwfpgAkcWCxxZv7+0Lo13HqriYPTokXafZLdDpcvmzZPLp0/n3Tb0aOwfn3a1ywl8uY1sYQksFhQ06YcataMv0JCWLJ1K9tOnmTo+PGcuniRKVOmEB4eDoCvry+bN2+mcePGGT93WoSE8EdEBOOB8ASbywCvALcFBEAq92GOY8cOGD4cli9P+1g/PxOb5WrrJ8EPP5iAo+fOmfZ++20YNgwyeSwQEhJC7dq1iUrlGbNYLCQ3DC1UqBC33norixcvztQypUpUFOzaFR8Txxkj58yZjOU3ZQokiMuX2eSWYJlebmy886jcxY1Yr8eB6UBfx2du40Zss3Tx11/QvbsZMzdoACtWQHrnXleBDagCHEthvwWogFkvuFYR8LYDr2PiZICJlTHUkZIdTdhs8Omn8MYbJj6qvz988AEhL7zAU1Yrq2w2Rq9eTePVq6nWoQNXHPH8AoBKABcvwvffmzz27o3P9667YNAgE2/Yas26CieDgKPEx8NxprBU/lMCE7MnV8YWWb3axFlMi8BAM1dNJ98C/QE/4F+yKaaPg+uhT/wVE/8nBhPb5iDufUgFYBJwdRGHcgbZ1V65Zh6VreKiXIBXMyxz+FfS43PnKtahwRr97LNuVi8HL11SoMPPfqyPj/pMn67pSQstPf98vAbAww8b10chIUbzOChIMRs3KnDCBMVs3OjapqNHPSpjYGCgChYs6NL+7enrz5wAAOXvSURBVN27t4KDg1P9z5YtW9y0h4sUKaIPP/zQ5drIJuk3Gem4r9y1+wdISlFf+sgRNwuYZJOH2uQxMho0QyXVSVAGZ6pit2viX3/p2KOPyp7QUqFQIROXIoG7qswgaNMmhWBi1SRXLxsoFBTyyis61LChzidzzEHQFNDmYcOMJYyk6dOnJ6vF7UyzZs1ylWHu3LkCZAG1BL0P+i+58jRqpH2O2Aup5Q2ossWSpruoSExcloT/K1GihPr06aO//vpLe/bs0dmzZ5N333bhgom1ULx4fJ433STNmaOzp09r7dq1mjJligYOHKjbbrtNBx3aT5L03nvvuZ3TarWqdu3a6tmzp95++20dSeU+OnLkiPz8/FKtu5+fn4KDg7VlyxaXm7Nhw4a58oiKilKhQoVUt25ddevWTWvWrHH1PY0aNXLl06BBAw0aNEgLFy7UGYflUrqx201sl/ffl9q1S6o1X7iw7L16ae3bb3ukaTQ1KEjOXvLcuXNasmSJpk2b5nbKhPFoGjRooJeef15/jRmjyGHDTAycZCxw5OMjVaggNWliYlHdfrvUsqXR5K9QwfwnPXFg0psefFAaM8ZYkf32m4mj0qBB/P5WrYxGotultWvLli0uTZTo6Gg99NBDrrq3atVK48aN0/79+xUUFJRxF29pcN1pGa1ebe4Dx7V3xlWyWyxGI/Tzz6U1a8w7MLMIDZXuvju+vZs2TdLeV0tQUFCa/SagOXPmaPr06Ro4cKBatWrl6m/at2/vll/Lli11++236/XXX9fcuXN1+PDhq3N16Ql2uxlDLF1q+t/u3aXkXCIml8aMydKi5RbNMC83Nt55VO7iRqtXhOJd+GzIjoJlAjdam6WLBQviXXq1ayel4S0jKwhU8pYcidN4GbfwWclBSY8kOKevpBeVjlgj+/cbd8qOcc6adu30/KefKqRCBbfxT0iFCrpv3jzV279f5wcPdp8HFS5sXKHt25cVVbxqjktaKqmvkm+naxv1KBOJizPzy7TmliNHpttDQpji4x2PS+PYa8H10icuVNIQBc6U3dZ5mYnXwiZ1vBY2aeDVDLt69gLvLVnCNz17kicujujHHyfftGkuTYrdERFcuesumm7aRGT+/Nw/dy73devG0wkzOX0aHnjASP0tFhgzBl5/3WWdkxn1unDhAjVr1qRKlSp8/PHHtG7dOsVjz507x/PPP8+sWbMAyJs3LwMHDuSNN96gePHiyf4nHKO59TVwIMH2Zhirm4eB3xcsYMuWLezZs4dz//zDxeBg4ux2aNIEAgKwnj1LnStX+OG775i6cCER/v40bdqUJk2aUKpUKbdzLcdY0vwGXEhwPh+gLXCXI9XFaPcAxlJp+nSjGbx/f/yfbrkFBgyA3r2NVs1VEBISwrAaNZgZGwtAQn0apz3LI3nyMO7AAXx8fNj7338U2LWLYkFBlNi2jWJ792KNi3PPtEkTzjRrxt8FCxJatSoxPj7YbDa31L17d+rWrQtXrnB46lROTZ1KnQMHKBQZ6crGZrWyt2xZ8vbqRVTnzqw6cIDFixezbt06oqOjsVgsdO3a1RxrsxEcHEz9+vV58sknadOmDQsmTeJ/I0ea+9LRZkREwLZtINGhZ09ueeAB1q1bx6+//sr+hNc4ARaLhTvvvJM33niD5nXrEvvJJ/hMnEiBK1cAuFSxIqdffJF8jz1GQKlSLkuXlPjtt99YsGAB//77L//99x9nz551279z507q168PwA8//MDSpUtd1jgWi4X77rsv1fwBl4aCk7p16/Lll1/yxx9/8Mcff7Bhwwbi4uLImzcv586dI3/+/ADMmTMHSdx6661u93CmcfYs/PabsbxZvhxOnUrX3xcPG8alXbs4snMnZ0NCKCRRMm9ennn4YawXL8KFC0QcOkTe6GgK2Gz4XLpkLH4yEx8fKFIEChdOO509C++8k3aeTuu8c+fgzTfhiy/MUL1YMfjwQ3jySY+03X788Uf+97//sWnTpkRF9iFPnjw888wzvPzyy1SpUiVjdU+B60F7yg0JRo6Ed99N+RgfH6hQAapWTT6VKZM+DUUJfvzRaDeePWssbEaMMO/WTLimQUFBNG/ePM3jtmzZQrMEFqVxcXHs2rWLqKgobr75ZiB+LJaYgIAAmjdvTvfu3XnuueeuuszJcvw4zJsHc+bA2rXmunmC18LGixfvPCqXcaPVawLGQrcJEESC+VAu4kZrM4/56it47jljrd6jB8yaBY65x7VkFvBIOo6vA9ySIDUArrZVTwLvAV8CsY5tDwPvkgFLCLsdvvgC22uv4XP5Ms4RUcJnx+74LRLM82vXNh5S+vaFFLyW5BSEufZbMRZSTnyApsBGcmdfwfz5cP/95nvCsazF4v77zjthxgyzjuEBDwJziL82qa9KZD3XS59oA0oBKdn5Z4d1XlbgtbBJg2wWGOV4vJphV8cBSQ/9+quiHJYbUQ8/7BaPZPvhw9pXu7YEiiheXLds2KBPE2eyc6dUtaqR+hcsKC1alOL50lOvjRs36oUXXnDT0D1w4IBHvvNjY2NVp04dWSwW9enTR4cPH07zP3a7XWFhYVoVGKjBixap1pYtssbEuCTlBSSVWbxYNG8er318330iJMRdqh4Sore2blXVqlXjj7NYVLJbN9X88UeVPXYsiRS+pIymyM/yUHvHbpdWrTJa+L6+8VoXRYqYoNn//utJLily5MgRfdm5s0ISaXUcAX3ZuXOqFh+6eNFoO7/8srtFgDPly2f8644da2IIxMWZYN/ffCP16GHimySyuNBDDxmfrWfP6t1331XhwoWTaIH7+fmpY8eOKba13W5XixYtZLVak9Uit1gsaty4set+27Vrl/r376/WrVuradOmqlGjhtt584OGgMITlHUP6BGQNVG+77//vqscx44d0+DBgzVmzBhNnTpVixcv1saNGxUcHKzIyEjZ7XaFhobqt99+08SJE/Xkk08qOjreW/ETTzzhkVZ8cqlQoULq0aOHunTponz58iXZX7FiRfXr108nTnisy5W52GwmyOjIkbpYr17WWa84U548UkCAVL26saDo0EG65x7p0UfNPde5s7mHEwbcdCZfXxN/69VXjb9nT+PdeBr/assWc8+XLh2/rU8f86xkgGPHjumzzz7T7bffLl9f3yT3fvfu3TVjxoxMe+dcL9pTLux2097JxVHJly9pnKbkUr58Uq1a0p13GuvIDz+UZs+WNm+WIiJSjuV2/LjpG535NG4s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lmT+nwfTHyVnnVMV42XhfpKuc4Y6ts8lZVeRNxzZLTHK6Xg1w9LmnKQehw4ppEIFY1nToIHkuF72qCgF9e7tksgPmjRJyGhy2CRjefDqq/FaGT16xFvlpAO73Z7EKsTPz0/ffvttEm3h4sWLq02bNurbt6+efvppFShQQAMGDLjq65DZzFPGAhRmJQmtMBYsWKB69eol0YZ3pu+//146eFB6/XXZHNrZAhNA++67pSVLZI+J0b/+/hJoV/78ss+ZI1vfvootUsTd0gG0DPRmQIB09KirDN98842WLVumc+fOZX5l4+KkjRulMWOkjh2lvHmTam43bCgNGSItXy5duiTNm5fEAijZVKqUNGGCdPly5pfbAy5fvqzVq1frvffeU9euXfX888+79tlsNhUtWlRWq1VNmjTRwIEDdddddwnQgAEDVLduXQGqW7euy+rhiSee0IoVK/TZZ59pyJAh6tGjhxo0aKAff/zRle/vv/+e7H1SvHhxtWjRQrNmzXIdGxkZqaNHj8pmy+wQme6EhISkatVwNMG9lmsIDMxVFjbJsXHjRj3++OMuS8ZvvvlG9erVS/b+SZw6deqkvn37asCAAW4WgZK0ePFiff/995o7d66WLl2qwMBAbdy4UTt37tShQ4eyqbbps2KLjY3V7t279eeff7rlUbFiRY/ycKa+ffu6/hsVFaVhw4bphx9+0LZt23TlypWUCztvnum/nH35sGFSasfb7VKzZubYhPef1SrVry+FhEhnzkjR0Rm/gOHh0hdfmH468XluvlkaP14KDpbdbldERISCgoI0f/58ffLJJ27vtEceeSTVa3by5ElJ0orly7URYzWU3LMV57CyCdqyJeN18oDcohnm5cbGO4/KXdwI9eogM596O5vLlFncCG2WhFWrpEKFzHu3cWMp7NraYSySCTzvtKp5XUZb3RMy2l7nZKxO/BW/JnCXpB3pysWdEzJ1eUNSJ0mFE+SdMJWR1EPSWEmrJDlXar507LfGxalDYKAemjlTHQIDZY2LE4796SFG0lbH//pLuklJ10Gc17y+4xinZVBW3f035POVAnGSXvztN50MCDDW60WKSAsWZFURM4y3zbKei5L+kbEwnCDpeUldJNWUlEdpW+dYU9lnkbEg8sRK52rILfMoi5TA3MBLEi5cuECRIkWIiIjIcquKa0lsbCzLli2jW7du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KOdCjspFjnIPlTFHcYbN7y5dumRu51+JLoq/v7+k3KMI4Hxmz56t7du3S5IGDhxY7KUZXNGtt96q7du3a8aMGS41Edq4caPmz58vT09P/fOf/3Sp2ovj5+en+++/X/PmzdPGjRuVnJys+Ph4Pfvss6pVq5ak3Gu79+/fX5mZmRZXWzoXLlxQTk6OJGnXrl168803Va9ePS1evFhnz55VWlqaNmzYYF4PdsuWLXr44YetLNkuXPU0/jz9+vXTjh079Mgjj+i7775TTEyMOnbsqF69emnatGny8/PT66+/ro0bN5Z4arwz8Pf3V/fu3SVJ33//vZYsWVLouCVLlmjXrl3mn/N/pruqssxL8uYkEvMSZ3X16lU98sgj5hGbL730ksUVAfZDjnIv5CjnRI4iRzk7cpRzIUflIke5vsqaozjD5nf5bzjo7e1d4ngfHx9JUnp6usNqQvls2LBBTz/9tCQpODhY77zzjsUVld+AAQPUoUMHSbk/awcPHtRHH32klStXaujQoXr99dcLXBPXmWVkZGj06NEyDEOPP/642rZta3VJdnP8+PFCj4jq1auXxo8fr7vvvlvJycnasGGD3nnnHf33f/93xRdZRnlHR0m5749+fn5av359gev7du3aVV999ZU6duyonTt3auXKldq2bZvuuOMOK0q+bseOHVNCQoKk3BsQhoWFWVtQOWRkZCguLq7ImyaeOnVKixcvVpMmTdSvXz8LKiy7adOmad26dcrKylJMTIwOHjyoESNGqF69evr1118VFxenF154Qd7e3ubNP93hs7ks85K8OYnkHr27o3HjxikpKUmSFBMTo759+1pcEWA/5Cj3QY5yTuQocpSzI0c5J3IUOcodVNYcxRk2v/P19TW3896oipN3ndGqVas6rCaU3e7duxUdHa2srCz5+vpq2bJlCg4OtrqscqtRo4batm2rtm3bKjw8XPfff79WrFihuLg4HTp0SP3791dsbKzVZZbKyy+/rH379ik0NFRTp061uhy7Ku709Tp16mj58uXy8vKSJL311lsVVNX1yf+eKEmPPPJIgZCRp2rVqgWOcPjXv/7l8NocZfHixebRcDExMRZXU3apqanq2bOnZsyYobNnz+rJJ5/U3r17dfXqVV24cEHx8fHq3LmzkpKSNGDAAP3973+3uuRSufPOO/Xuu+/K09NTmZmZev75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bdo0TZo0SYMGDVLnzp3VrFkzBQQE6NKlS9q1a5c++OADM2B5e3tr7ty5bnEUhKsaP368MjMzNWjQIHXs2FGNGzdW1apVlZKSooSEBL377rvm71znzp1d7lITr7/+uhITE3X+/Hn16dNHEydO1D333KOqVatq+/btmjFjhnkjv+nTp7vMUW95zp07p9WrV0uS2rZtq9tuu83iispvypQp+uSTT5SWlqZp06Zpx44diomJUdOmTXXlyhVt3bpVr7/+unkEVY8ePRQVFWVx1aXTtm1bRUREqHfv3mrTpo18fHz0yy+/aOXKlfrggw+Uk5OjmjVr6qOPPjJvnmk1e3z2hoWF6YknntDMmTOVlJSkTp066amnnlKzZs108OBBvfLKK0pOTpYkPfHEE2rRooVDesnPXnOKP4777rvvzO0vvvhCR44cMf/cvHlz83JLjnK9fR08eFB33XWXzp8/L0l68cUXVb169WLnJsHBwQoODr7u2gFnQY4iR1mNHOVayFHkKGdBjiJHkaPKjxzlIAau8emnnxqBgYGGpEK/wsLCjP3791tdZqnFxMQU2UthX66gLP1IMho1amR1yaXWqFGjUvXUoEEDIz4+3upy7Wbq1Klmb+vXr7e6nFIr7b/XoEGDjHPnzlldbrls3LjRqFOnTpG92Ww247nnnrO6zHJ55513zD5effVVq8u5bmvXrjWCgoJK/Hns3r27cfbsWavLLTV/f/9i+2nTpo3x3XffWV1mAfb67M3OzjYefvjhYp87atQoIzs726X6Kss+YmJinL6vhQsXlnluMnXqVIf3BVQ0cpTzK+t7FTnK+ZGjnBc5ynWQo5wHOYocVdJXZchRnGFTiL59++r777/XG2+8oTVr1ujYsWPy9vZW8+bNNXjwYI0bN05+fn5Wlwk39eWXX2rNmjXavHmzDhw4oFOnTunMmTOqWrWqgoODdeutt6pPnz4aMmQIP4dO4P3339eGDRuUmJioQ4cOKSUlRRcvXlRAQIB5076YmBh17NjR6lLLrXPnztq9e7feeustrVq1SocPH1ZGRobq1aunbt26afz48WrXrp3VZZbLokWLJEkeHh564IEHLK7m+vXs2VP79u3TggUL9Pnnn2v37t06f/68PD09VbduXYWHh2vYsGHq16+fS12jd/78+YqPj9f27dv166+/6vLly6pdu7ZuvvlmDR48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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import glob\n", + "import xarray as xr\n", + "\n", + "# Load precomputed offline R-square for the three baseline models: MLP, U-Net v4 and U-Net v5 (constrained by cloud physics).\n", + "r2_v5_unet = np.load('/global/u2/z/zeyuanhu/notebooks/james-plots/r2_final/r2-v5_unet_nonaggressive_cliprh_huber_rop2_r2.npy')\n", + "r2_v4_unet = np.load('/global/u2/z/zeyuanhu/notebooks/james-plots/r2_final/r2-v4plus_unet_nonaggressive_cliprh_huber_rop2_r3.npy')\n", + "r2_mlp = np.load('/global/u2/z/zeyuanhu/notebooks/james-plots/r2_final/r2-v2rh_mlp_nonaggressive_cliprh_huber_rop_3l_lr1em3_r2.npy')\n", + "\n", + "# Generate x-axis values (feature indices)\n", + "features = np.arange(r2_v5_unet.size)\n", + "\n", + "# Create a figure and axes\n", + "fig, axs = plt.subplots(3, 2, figsize=(17, 15), gridspec_kw={'height_ratios': [1, 1, 1], 'width_ratios': [2, 1]})\n", + "fig.subplots_adjust(hspace=0.4, wspace=0.3)\n", + "\n", + "# Adjust the upper wide panel position\n", + "axs[0, 0].set_position([0.05, 0.75, 0.9, 0.22])\n", + "axs[0, 1].set_visible(False) # Hide the upper right blank plot\n", + "\n", + "# Adjust the second row panels positions\n", + "axs[1, 0].set_position([0.05, 0.45, 0.4, 0.22])\n", + "axs[1, 1].set_position([0.55, 0.45, 0.4, 0.22])\n", + "\n", + "# Adjust the third row panels positions\n", + "axs[2, 0].set_position([0.05, 0.15, 0.4, 0.22])\n", + "axs[2, 1].set_position([0.55, 0.15, 0.4, 0.22])\n", + "\n", + "\n", + "# First upper wide panel\n", + "ax = axs[0, 0]\n", + "ax.plot(features, r2_v4_unet, linestyle='-', marker='o', color='cyan', label='Unet', linewidth=2, markersize=6)\n", + "ax.plot(features, r2_v5_unet, linestyle='-', marker='o', color='red', label='Unet+physics constraints', linewidth=2, markersize=6)\n", + "ax.plot(features, r2_mlp, linestyle='-', marker='o', color='blue', label='MLP', linewidth=2, markersize=6)\n", + "ax.set_xticks([30, 90, 150, 210, 270, 330, 365])\n", + "ax.set_xticklabels([r'$dT/dt$', r'$dQ_{\\mathrm{vapor}}/dt$', r'$dQ_{\\mathrm{liq}}/dt$', r'$dQ_{\\mathrm{ice}}/dt$', r'$dU/dt$', r'$dV/dt$', 'Fluxes'], fontsize=24)\n", + "ax.axvline(x=60, color='gray', linestyle='--', linewidth=0.5)\n", + "ax.axvline(x=120, color='gray', linestyle='--', linewidth=0.5)\n", + "ax.axvline(x=180, color='gray', linestyle='--', linewidth=0.5)\n", + "ax.axvline(x=240, color='gray', linestyle='--', linewidth=0.5)\n", + "ax.axvline(x=300, color='gray', linestyle='--', linewidth=0.5)\n", + "ax.axvline(x=360, color='gray', linestyle='--', linewidth=0.5)\n", + "ax.set_ylim(0, 1)\n", + "ax.set_xlim(0, 368)\n", + "\n", + "shading_intervals = [(0, 30), (60, 90), (120, 150), (180, 210), (240, 270), (300, 330)]\n", + "for start, end in shading_intervals:\n", + " ax.axvspan(start, end, color='gray', alpha=0.15)\n", + "\n", + "ax.set_title('(a) Offline R²', fontsize=20, pad=35)\n", + "# Add horizontal arrows with ax.annotate outside ylim range and labels 'Top' and 'Bottom'\n", + "arrow_positions = [(0, 60), (60, 120), (120, 180), (180, 240), (240, 300), (300, 360)]\n", + "for start, end in arrow_positions:\n", + " ax.annotate('', xy=(end, 1.025), xytext=(start, 1.025),\n", + " arrowprops=dict(arrowstyle='->', color='black', lw=1.5),\n", + " ha='center', va='bottom', annotation_clip=False)\n", + " ax.text(start+1, 1.06, 'Top', ha='left', va='center', fontsize=15)\n", + " ax.text(end-1, 1.06, 'Bottom', ha='right', va='center', fontsize=15)\n", + " \n", + "ax.tick_params(axis='x', labelsize=20)\n", + "ax.tick_params(axis='y', labelsize=20)\n", + "\n", + "# Second row left panel (lower left)\n", + "ax = axs[1, 0]\n", + "colors = ['cyan', 'blue', 'red', 'purple']\n", + "markers = ['o', 's', '^', 'D']\n", + "var = 'T'\n", + "lines_labels = {}\n", + "\n", + "rmse_per_month_sp_re = calculate_rmse(ds_sp_re, ds_sp, total_weight, var)\n", + "line, = ax.plot(np.arange(1, 13), rmse_per_month_sp_re, label='Internal unpredictability', color='black', linestyle='--', marker='x')\n", + "lines_labels['Internal unpredictability'] = line\n", + "\n", + "rmse_per_month_sp_re_b = calculate_rmse(ds_sp_re_b, ds_sp, total_weight, var)\n", + "ax.plot(np.arange(1, 13), rmse_per_month_sp_re_b, label='', color='black', linestyle='--', marker='^')\n", + "rmse_per_month_sp_re_c = calculate_rmse(ds_sp_re_c, ds_sp, total_weight, var)\n", + "ax.plot(np.arange(1, 13), rmse_per_month_sp_re_c, label='', color='black', linestyle='--', marker='^')\n", + "\n", + "for group_idx, group in enumerate(case_groups):\n", + " for case_idx, casename in enumerate(group):\n", + " ds_nn = xr.open_mfdataset(data_path + f'h0/1year/{casename}/*.eam.h0.0003-*.nc')\n", + " rmse_per_month_nn = calculate_rmse(ds_nn, ds_sp, total_weight, var)\n", + " months = np.arange(1, 13)\n", + " label = None\n", + " if group_idx == 0 and case_idx == 0:\n", + " label = 'Unet + expanded inputs'\n", + " elif group_idx == 1 and case_idx == 0:\n", + " label = 'MLP'\n", + " elif group_idx == 2 and case_idx == 0:\n", + " label = 'Unet + expanded inputs + microphysical constraints'\n", + " line, = ax.plot(months, rmse_per_month_nn, label=label, color=colors[group_idx], marker=markers[case_idx])\n", + " if label:\n", + " lines_labels[label] = line\n", + "\n", + "ax.set_yscale('log')\n", + "ax.set_yticks([0.5, 1, 2, 5, 10, 20, 50, 100])\n", + "ax.set_yticklabels(['0.5', '1', '2', '5', '10', '20', '50', '100'], fontsize=20)\n", + "ax.set_xlabel('Month', fontsize=20)\n", + "ax.set_ylabel('', fontsize=20)\n", + "ax.set_title('(b) Online Temperature RMSE (K)', fontsize=20)\n", + "desired_order = ['MLP', 'Unet + expanded inputs', 'Unet + expanded inputs + microphysical constraints', 'Internal unpredictability']\n", + "ax.legend([lines_labels[label] for label in desired_order], desired_order, fontsize=12, loc='upper left')\n", + "ax.grid(True)\n", + "ax.set_xticks([0] + list(np.arange(1, 13)))\n", + "ax.set_xticklabels([0] + list(np.arange(1, 13)), fontsize=20)\n", + "ax.set_ylim(0.3, 300)\n", + "\n", + "# Second row right panel (lower right)\n", + "ax = axs[1, 1]\n", + "var = 'Q'\n", + "rmse_per_month_sp_re = calculate_rmse(ds_sp_re, ds_sp, total_weight, var) * 1e3\n", + "ax.plot(np.arange(1, 13), rmse_per_month_sp_re, label='Internal unpredictability', color='black', linestyle='--', marker='x')\n", + "rmse_per_month_sp_re_b = calculate_rmse(ds_sp_re_b, ds_sp, total_weight, var) * 1e3\n", + "ax.plot(np.arange(1, 13), rmse_per_month_sp_re_b, label='', color='black', linestyle='--', marker='^')\n", + "rmse_per_month_sp_re_c = calculate_rmse(ds_sp_re_c, ds_sp, total_weight, var) * 1e3\n", + "ax.plot(np.arange(1, 13), rmse_per_month_sp_re_c, label='', color='black', linestyle='--', marker='s')\n", + "\n", + "for group_idx, group in enumerate(case_groups):\n", + " for case_idx, casename in enumerate(group):\n", + " ds_nn = xr.open_mfdataset(data_path + f'h0/1year/{casename}/*.eam.h0.0003-*.nc')\n", + " rmse_per_month_nn = calculate_rmse(ds_nn, ds_sp, total_weight, var) * 1e3\n", + " label = None\n", + " if group_idx == 0 and case_idx == 0:\n", + " label = 'Unet + expanded inputs'\n", + " elif group_idx == 1 and case_idx == 0:\n", + " label = 'MLP'\n", + " elif group_idx == 2 and case_idx == 0:\n", + " label = 'Unet + expanded inputs + microphysical constraints'\n", + " ax.plot(np.arange(1, 13), rmse_per_month_nn, label=label, color=colors[group_idx], marker=markers[case_idx])\n", + "\n", + "ax.set_yscale('log')\n", + "ax.set_yticks([0.1, 0.2, 0.5, 1, 2, 5, 10])\n", + "ax.set_yticklabels(['0.1', '0.2', '0.5', '1', '2', '5', '10'], fontsize=20)\n", + "ax.set_xlabel('Month', fontsize=20)\n", + "ax.set_ylabel('', fontsize=20)\n", + "ax.set_title('(c) Online Moisture RMSE (g/kg)', fontsize=20)\n", + "ax.grid(True)\n", + "ax.set_xticks([0] + list(np.arange(1, 13)))\n", + "ax.set_xticklabels([0] + list(np.arange(1, 13)), fontsize=20)\n", + "\n", + "# Third row left panel (lower left)\n", + "ax = axs[2, 0]\n", + "var = 'U'\n", + "rmse_per_month_sp_re = calculate_rmse(ds_sp_re, ds_sp, total_weight, var)\n", + "ax.plot(np.arange(1, 13), rmse_per_month_sp_re, label='Internal unpredictability', color='black', linestyle='--', marker='x')\n", + "rmse_per_month_sp_re_b = calculate_rmse(ds_sp_re_b, ds_sp, total_weight, var)\n", + "ax.plot(np.arange(1, 13), rmse_per_month_sp_re_b, label='', color='black', linestyle='--', marker='^')\n", + "rmse_per_month_sp_re_c = calculate_rmse(ds_sp_re_c, ds_sp, total_weight, var)\n", + "ax.plot(np.arange(1, 13), rmse_per_month_sp_re_c, label='', color='black', linestyle='--', marker='s')\n", + "\n", + "for group_idx, group in enumerate(case_groups):\n", + " for case_idx, casename in enumerate(group):\n", + " ds_nn = xr.open_mfdataset(data_path + f'h0/1year/{casename}/*.eam.h0.0003-*.nc')\n", + " rmse_per_month_nn = calculate_rmse(ds_nn, ds_sp, total_weight, var)\n", + " months = np.arange(1, 13)\n", + " label = None\n", + " if group_idx == 0 and case_idx == 0:\n", + " label = 'Unet + expanded inputs'\n", + " elif group_idx == 1 and case_idx == 0:\n", + " label = 'MLP'\n", + " elif group_idx == 2 and case_idx == 0:\n", + " label = 'Unet + expanded inputs + microphysical constraints'\n", + " ax.plot(months, rmse_per_month_nn, label=label, color=colors[group_idx], marker=markers[case_idx])\n", + "\n", + "ax.set_yscale('log')\n", + "ax.set_yticks([0.5, 1, 2, 5, 10, 20, 50, 100])\n", + "ax.set_yticklabels(['0.5', '1', '2', '5', '10', '20', '50', '100'], fontsize=20)\n", + "ax.set_xlabel('Month', fontsize=20)\n", + "ax.set_ylabel('', fontsize=20)\n", + "ax.set_title('(d) Online Zonal Wind RMSE (m/s)', fontsize=20)\n", + "ax.grid(True)\n", + "ax.set_xticks([0] + list(np.arange(1, 13)))\n", + "ax.set_xticklabels([0] + list(np.arange(1, 13)), fontsize=20)\n", + "\n", + "# Third row right panel (lower right) total cloud\n", + "ax = axs[2, 1]\n", + "rmse_per_month_sp_re = calculate_rmse_qn(ds_sp_re, ds_sp, total_weight) * 1e6\n", + "ax.plot(np.arange(1, 13), rmse_per_month_sp_re, label='Internal unpredictability', color='black', linestyle='--', marker='x')\n", + "rmse_per_month_sp_re_b = calculate_rmse_qn(ds_sp_re_b, ds_sp, total_weight) * 1e6\n", + "ax.plot(np.arange(1, 13), rmse_per_month_sp_re_b, label='', color='black', linestyle='--', marker='^')\n", + "rmse_per_month_sp_re_c = calculate_rmse_qn(ds_sp_re_c, ds_sp, total_weight) * 1e6\n", + "ax.plot(np.arange(1, 13), rmse_per_month_sp_re_c, label='', color='black', linestyle='--', marker='s')\n", + "\n", + "for group_idx, group in enumerate(case_groups):\n", + " for case_idx, casename in enumerate(group):\n", + " ds_nn = xr.open_mfdataset(data_path + f'h0/1year/{casename}/*.eam.h0.0003-*.nc')\n", + " rmse_per_month_nn = calculate_rmse_qn(ds_nn, ds_sp, total_weight) * 1e6\n", + " label = None\n", + " if group_idx == 0 and case_idx == 0:\n", + " label = 'Unet + expanded inputs'\n", + " elif group_idx == 1 and case_idx == 0:\n", + " label = 'MLP'\n", + " elif group_idx == 2 and case_idx == 0:\n", + " label = 'Unet + expanded inputs + microphysical constraints'\n", + " ax.plot(np.arange(1, 13), rmse_per_month_nn, label=label, color=colors[group_idx], marker=markers[case_idx])\n", + "\n", + "ax.set_yscale('log')\n", + "ax.set_yticks([2, 5, 10, 20, 50, 100, 200, 500])\n", + "ax.set_yticklabels(['2', '5', '10', '20', '50', '100', '200', '500'], fontsize=20)\n", + "ax.set_xlabel('Month', fontsize=20)\n", + "ax.set_ylabel('', fontsize=20)\n", + "ax.set_title('(e) Online Total Cloud RMSE (mg/kg)', fontsize=20)\n", + "ax.grid(True)\n", + "ax.set_xticks([0] + list(np.arange(1, 13)))\n", + "ax.set_xticklabels([0] + list(np.arange(1, 13)), fontsize=20)\n", + "# plt.savefig('james_ablation_offline_online_reorder_warrow.pdf', format='pdf', dpi=300, bbox_inches='tight')\n", + "# Show the plot\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d59841c1-bcc3-4675-a2bf-ef27c6747c9f", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "climsim", + "language": "python", + "name": "climsim" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/evaluation/precipitation-statistics-visualization.ipynb b/online_testing/evaluation/precipitation-statistics-visualization.ipynb new file mode 100644 index 0000000..6cc84cf --- /dev/null +++ b/online_testing/evaluation/precipitation-statistics-visualization.ipynb @@ -0,0 +1,2827 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "e0b5795e-30f2-4c40-8b0c-a5dcfcebcdbd", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import xarray as xr\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import glob\n", + "%config InlineBackend.figure_formats = ['svg']" + ] + }, + { + "cell_type": "markdown", + "id": "297c99dd-10bb-4a16-ae10-e9580cc9f00e", + "metadata": {}, + "source": [ + "# Precipitation Evaluation\n", + "\n", + "In this notebook, we show how we generate precipitation statistics plot, i.e., Figure 6 in \"Stable Machine-Learning Parameterization of Subgrid Processes with Real Geography and Full-physics Emulation\", Hu et al. 2024, arXiv preprint:2306.08754.\n", + "\n", + "## Set data path\n", + "\n", + "All the simulation output, saved model weights, and preprocessed data used in Hu et al. 2024 \"Stable Machine-Learning Parameterization of Subgrid Processes with Real Geography and Full-physics Emulation\" are provided in a hu_etal2024_data folder that you can download. Please change the following path to your downloaded hu_etal2024_data folder." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "cb7a3241-89f9-4c4e-a7bd-fda46d556fd4", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "data_path = '/global/homes/z/zeyuanhu/scratch/hu_etal2024_data/'" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "41d78f8a-03ce-4cd0-9f34-9967e6a56598", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ds_grid = xr.open_dataset(data_path+'data_grid/ne4pg2_scrip.nc')\n", + "grid_area = ds_grid['grid_area']\n", + "\n", + "def zonal_mean_area_weighted(data, grid_area, lat):\n", + " # Define latitude bins ranging from -90 to 90, each bin spans 10 degrees\n", + " bins = np.arange(-90, 91, 10) # Create edges for 10 degree bins\n", + "\n", + " # Get indices for each lat value indicating which bin it belongs to\n", + " bin_indices = np.digitize(lat.values, bins) - 1\n", + "\n", + " # Initialize a list to store the zonal mean for each latitude bin\n", + " data_zonal_mean = []\n", + "\n", + " # Iterate through each bin to calculate the weighted average\n", + " for i in range(len(bins)-1):\n", + " # Filter data and grid_area for current bin\n", + " mask = (bin_indices == i)\n", + " data_filtered = data[mask]\n", + " grid_area_filtered = grid_area[mask]\n", + "\n", + " # Check if there's any data in this bin\n", + " if data_filtered.size > 0:\n", + " # Compute area-weighted average for the current bin\n", + " weighted_mean = np.average(data_filtered, axis=0, weights=grid_area_filtered)\n", + " else:\n", + " # If no data in bin, append NaN or suitable value\n", + " weighted_mean = np.nan\n", + "\n", + " # Append the result to the list\n", + " data_zonal_mean.append(weighted_mean)\n", + "\n", + " # Convert list to numpy array\n", + " data_zonal_mean = np.array(data_zonal_mean)\n", + "\n", + " # The mid points of the bins are used as the representative latitudes\n", + " lats_mid = bins[:-1] + 5\n", + "\n", + " return data_zonal_mean, lats_mid\n", + "\n", + "ds2 = xr.open_dataset(data_path+'data_grid/E3SM_ML.GNUGPU.F2010-MMF1.ne4pg2_ne4pg2.eam.h0.0001-01.nc')\n", + "lat = ds2.lat\n", + "lon = ds2.lon\n", + "level = ds2.lev.values\n", + "\n", + "def zonal_mean(var):\n", + " var_re = var.reshape(-1,384,var.shape[-1])\n", + " var_re = np.transpose(var_re, (1,0,2))\n", + " var_zonal_mean, lats_sorted = zonal_mean_area_weighted(var_re, grid_area, lat)\n", + " return var_zonal_mean, lats_sorted\n" + ] + }, + { + "cell_type": "markdown", + "id": "00f512e0-7000-4dd4-a33d-91fff9498020", + "metadata": {}, + "source": [ + "## Read the 5-year U-Net hybrid simulation and MMF reference simulation monthly data\n", + "\n", + "Calculate the 5-year zonal mean precipitation climatology globally, over ocean, and over land" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "190aee04-ae64-4b35-88c9-fb7feb959bfc", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "filenames = data_path+'h0/5year/unet_v5/huber_rop/*.eam.h0.000[3-8]*.nc'\n", + "ds_nn = xr.open_mfdataset(filenames)\n", + "\n", + "# Exclude the first month (0003-01) due to spin model\n", + "ds_nn = ds_nn.sel(time=ds_nn.time[1:])\n", + "ds_nn['lev'].attrs['long_name'] = 'hybrid pressure'\n", + "\n", + "filenames = data_path+'h0/5year/mmf_ref/*.eam.h0.000[3-8]*.nc'\n", + "ds_sp = xr.open_mfdataset(filenames)\n", + "# Exclude the first month (0003-01) due to spin model\n", + "ds_sp = ds_sp.sel(time=ds_sp.time[1:])\n", + "ds_sp['lev'].attrs['long_name'] = 'hybrid pressure'" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "2aabd43e-b975-4e32-93d2-f17d61ba7a6b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# calculate zonal mean precipitation averaged globally, over ocean, and over land.\n", + "sp_tmean = (ds_sp['PRECC']+ds_sp['PRECL']).mean(dim=('time')).compute()\n", + "nn_tmean = (ds_nn['PRECC']+ds_nn['PRECL']).mean(dim=('time')).compute()\n", + "sp_zm, lats_sorted = zonal_mean_area_weighted(sp_tmean, grid_area, lat)\n", + "nn_zm, lats_sorted = zonal_mean_area_weighted(nn_tmean, grid_area, lat)\n", + "scaling = 86400*1000\n", + "land_frac = ds_sp.LANDFRAC[2].compute().values\n", + "ocean_frac = 1 - land_frac\n", + "sp_zm_land, lats_sorted = zonal_mean_area_weighted(sp_tmean, grid_area*land_frac, lat)\n", + "nn_zm_land, lats_sorted = zonal_mean_area_weighted(nn_tmean, grid_area*land_frac, lat)\n", + "sp_zm_ocean, lats_sorted = zonal_mean_area_weighted(sp_tmean, grid_area*ocean_frac, lat)\n", + "nn_zm_ocean, lats_sorted = zonal_mean_area_weighted(nn_tmean, grid_area*ocean_frac, lat)\n", + "\n", + "data_sp = scaling*xr.DataArray(sp_zm, dims=[\"latitude\"],\n", + " coords={\"latitude\": lats_sorted})\n", + "data_nn = scaling*xr.DataArray(nn_zm, dims=[\"latitude\"],\n", + " coords={\"latitude\": lats_sorted})\n", + "\n", + "data_sp_land = scaling*xr.DataArray(sp_zm_land, dims=[\"latitude\"],\n", + " coords={\"latitude\": lats_sorted})\n", + "data_nn_land = scaling*xr.DataArray(nn_zm_land, dims=[\"latitude\"],\n", + " coords={\"latitude\": lats_sorted})\n", + "\n", + "data_sp_ocean = scaling*xr.DataArray(sp_zm_ocean, dims=[\"latitude\"],\n", + " coords={\"latitude\": lats_sorted})\n", + "data_nn_ocean = scaling*xr.DataArray(nn_zm_ocean, dims=[\"latitude\"],\n", + " coords={\"latitude\": lats_sorted})\n" + ] + }, + { + "cell_type": "markdown", + "id": "bf179ba8-317a-4588-b849-808f2405e830", + "metadata": { + "tags": [] + }, + "source": [ + "## Read the 5-year U-Net hybrid simulation and MMF reference simulation hourly data\n", + "\n", + "Read the data and area weights to generate histogram of precipitation." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "5e36465b-a4f3-4453-8c47-24bda5043ee2", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ds_sp_prect = xr.open_mfdataset(data_path+'precip_hourly/mmf_ref/PRECT*nc')\n", + "ds_nn_prect = xr.open_mfdataset(data_path+'precip_hourly/unet_v5/huber_rop/PRECT*nc')\n", + "\n", + "data_sp_h2 = ds_sp_prect.PRECT.compute().values * 86400 * 1000 # Convert to mm/day\n", + "data_nn_h2 = ds_nn_prect.PRECT.compute().values * 86400 * 1000 # Convert to mm/day" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "611e08ae-a74a-4cb3-af01-ee5fc0462193", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import xarray as xr\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "land_frac = ds_sp.LANDFRAC[2].compute().values # Example, replace with the actual land_frac array\n", + "ocean_frac = 1 - land_frac\n", + "\n", + "# Flatten the data\n", + "data_sp_flat = data_sp_h2.flatten()\n", + "data_nn_flat = data_nn_h2.flatten()\n", + "\n", + "# Repeat the grid_area to match the length of the flattened data\n", + "weights_sp = np.tile(grid_area, data_sp_h2.shape[0])\n", + "weights_nn = np.tile(grid_area, data_nn_h2.shape[0])\n", + "\n", + "# Global weights\n", + "weights_sp_global = weights_sp\n", + "weights_nn_global = weights_nn\n", + "\n", + "# Land weights\n", + "weights_sp_land = weights_sp * np.tile(land_frac, data_sp_h2.shape[0])\n", + "weights_nn_land = weights_nn * np.tile(land_frac, data_nn_h2.shape[0])\n", + "\n", + "# Ocean weights\n", + "weights_sp_ocean = weights_sp * np.tile(ocean_frac, data_sp_h2.shape[0])\n", + "weights_nn_ocean = weights_nn * np.tile(ocean_frac, data_nn_h2.shape[0])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "50ae14f8-1c6b-4a5b-b585-08bf7081a2fb", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2024-07-22T18:32:33.272768\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.9.0, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Define latitude ticks and labels\n", + "lat_ticks = [-60, -30, 0, 30, 60]\n", + "lat_labels = ['60S', '30S', '0', '30N', '60N']\n", + "\n", + "# Create figure and axes\n", + "fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(9, 3.7))\n", + "\n", + "# First plot: Zonal mean precipitation\n", + "ax1 = axes[0]\n", + "# ax1.plot(lats_sorted, data_sp, label='MMF Global', color='blue', linestyle='-', marker='o')\n", + "# ax1.plot(lats_sorted, data_nn, label='NN Global', color='blue', linestyle='--', marker='x')\n", + "# ax1.plot(lats_sorted, data_sp_land, label='MMF Land', color='orange', linestyle='-', marker='o')\n", + "# ax1.plot(lats_sorted, data_nn_land, label='NN Land', color='orange', linestyle='--', marker='x')\n", + "# ax1.plot(lats_sorted, data_sp_ocean, label='MMF Ocean', color='red', linestyle='-', marker='o')\n", + "# ax1.plot(lats_sorted, data_nn_ocean, label='NN Ocean', color='red', linestyle='--', marker='x')\n", + "ax1.plot(lats_sorted, data_sp, label='MMF Global', color='blue', linestyle='-')# , marker='o')\n", + "ax1.plot(lats_sorted, data_nn, label='NN Global', color='blue', linestyle='--')# , marker='x')\n", + "ax1.plot(lats_sorted, data_sp_land, label='MMF Land', color='orange', linestyle='-')# , marker='o')\n", + "ax1.plot(lats_sorted, data_nn_land, label='NN Land', color='orange', linestyle='--')# , marker='x')\n", + "ax1.plot(lats_sorted, data_sp_ocean, label='MMF Ocean', color='red', linestyle='-')# , marker='o')\n", + "ax1.plot(lats_sorted, data_nn_ocean, label='NN Ocean', color='red', linestyle='--')# , marker='x')\n", + "\n", + "ax1.set_xlabel('Latitude')\n", + "ax1.set_ylabel('Precipitation (mm/day)')\n", + "ax1.set_xticks(lat_ticks)\n", + "ax1.set_xticklabels(lat_labels)\n", + "ax1.set_title('(a) Mean Precipitation')\n", + "ax1.legend()\n", + "ax1.set_ylim(0, 8)\n", + "ax1.set_xlim(-90,90)\n", + "# Second plot: Weighted histogram of precipitation\n", + "ax2 = axes[1]\n", + "bins_lev = np.arange(-2,180,4)\n", + "def plot_histogram(ax, data_flat, weights, label, color, linestyle):\n", + " hist, bins = np.histogram(data_flat, bins=bins_lev, weights=weights, density=True)\n", + " bin_centers = (bins[:-1] + bins[1:]) / 2\n", + " ax.plot(bin_centers, hist, label=label, color=color, linestyle=linestyle, linewidth=2)\n", + "\n", + "plot_histogram(ax2, data_sp_flat, weights_sp_global, 'MMF Global', 'blue', '-')\n", + "plot_histogram(ax2, data_nn_flat, weights_nn_global, 'NN Global', 'blue', '--')\n", + "plot_histogram(ax2, data_sp_flat, weights_sp_land, 'MMF Land', 'orange', '-')\n", + "plot_histogram(ax2, data_nn_flat, weights_nn_land, 'NN Land', 'orange', '--')\n", + "plot_histogram(ax2, data_sp_flat, weights_sp_ocean, 'MMF Ocean', 'red', '-')\n", + "plot_histogram(ax2, data_nn_flat, weights_nn_ocean, 'NN Ocean', 'red', '--')\n", + "\n", + "ax2.set_yscale('log')\n", + "ax2.set_xlabel('Precipitation (mm/day)')\n", + "ax2.set_ylabel('Frequency')\n", + "ax2.set_title('(b) Histogram of Precipitation')\n", + "ax2.set_ylim(1e-8,0.5)\n", + "ax2.set_xlim(0,180)\n", + "\n", + "# Adjust layout\n", + "# plt.tight_layout()\n", + "plt.subplots_adjust(wspace=0.3) # Adjust the width space between subplots\n", + "# Show plot\n", + "# plt.savefig('precipitation_distribution_hist_nopruning_noclass.eps', format='eps', dpi=600)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d5570aec-2424-4d92-ac53-2ed9907c0248", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "climsim", + "language": "python", + "name": "climsim" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/evaluation/zonal-mean-online-bias-visualization.ipynb b/online_testing/evaluation/zonal-mean-online-bias-visualization.ipynb new file mode 100644 index 0000000..eed472d --- /dev/null +++ b/online_testing/evaluation/zonal-mean-online-bias-visualization.ipynb @@ -0,0 +1,664 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "4a070efa-e5a6-4350-bd58-d7d343905280", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import xarray as xr\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import glob" + ] + }, + { + "cell_type": "markdown", + "id": "6944ae88-aa5c-49e1-982d-00a9928f3770", + "metadata": {}, + "source": [ + "# Zonal Mean Online Bias\n", + "\n", + "In this notebook, we show how we generate zonal mean bias plots, i.e., Figure 3, 4, 5, and G1 in \"Stable Machine-Learning Parameterization of Subgrid Processes with Real Geography and Full-physics Emulation\", Hu et al. 2024, arXiv preprint:2306.08754.\n", + "\n", + "## Set data path\n", + "\n", + "All the simulation output, saved model weights, and preprocessed data used in Hu et al. 2024 \"Stable Machine-Learning Parameterization of Subgrid Processes with Real Geography and Full-physics Emulation\" are provided in a hu_etal2024_data folder that you can download. Please change the following path to your downloaded hu_etal2024_data folder." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "028d43b3-5a5f-45bd-b8b3-c36ee7dc5f3b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "data_path = '/global/homes/z/zeyuanhu/scratch/hu_etal2024_data/'" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "7bc093fd-e2a2-4c97-9b9a-538f389066c1", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ds_grid = xr.open_dataset(data_path+'data_grid/ne4pg2_scrip.nc')\n", + "grid_area = ds_grid['grid_area']\n", + "\n", + "def zonal_mean_area_weighted(data, grid_area, lat):\n", + " # Define latitude bins ranging from -90 to 90, each bin spans 10 degrees\n", + " bins = np.arange(-90, 91, 10) # Create edges for 10 degree bins\n", + "\n", + " # Get indices for each lat value indicating which bin it belongs to\n", + " bin_indices = np.digitize(lat.values, bins) - 1\n", + "\n", + " # Initialize a list to store the zonal mean for each latitude bin\n", + " data_zonal_mean = []\n", + "\n", + " # Iterate through each bin to calculate the weighted average\n", + " for i in range(len(bins)-1):\n", + " # Filter data and grid_area for current bin\n", + " mask = (bin_indices == i)\n", + " data_filtered = data[mask]\n", + " grid_area_filtered = grid_area[mask]\n", + "\n", + " # Check if there's any data in this bin\n", + " if data_filtered.size > 0:\n", + " # Compute area-weighted average for the current bin\n", + " weighted_mean = np.average(data_filtered, axis=0, weights=grid_area_filtered)\n", + " else:\n", + " # If no data in bin, append NaN or suitable value\n", + " weighted_mean = np.nan\n", + "\n", + " # Append the result to the list\n", + " data_zonal_mean.append(weighted_mean)\n", + "\n", + " # Convert list to numpy array\n", + " data_zonal_mean = np.array(data_zonal_mean)\n", + "\n", + " # The mid points of the bins are used as the representative latitudes\n", + " lats_mid = bins[:-1] + 5\n", + "\n", + " return data_zonal_mean, lats_mid\n", + "\n", + "ds2 = xr.open_dataset(data_path+'data_grid/E3SM_ML.GNUGPU.F2010-MMF1.ne4pg2_ne4pg2.eam.h0.0001-01.nc')\n", + "lat = ds2.lat\n", + "lon = ds2.lon\n", + "level = ds2.lev.values\n", + "\n", + "def zonal_mean(var):\n", + " var_re = var.reshape(-1,384,var.shape[-1])\n", + " var_re = np.transpose(var_re, (1,0,2))\n", + " var_zonal_mean, lats_sorted = zonal_mean_area_weighted(var_re, grid_area, lat)\n", + " return var_zonal_mean, lats_sorted\n" + ] + }, + { + "cell_type": "markdown", + "id": "239eacb1-18e0-4fe3-aaf9-e20db6be7840", + "metadata": {}, + "source": [ + "## Read the 5-year U-Net hybrid simulation and MMF reference simulation monthly data" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "d0cefed8-c768-4009-ad15-a129b6c0fa9a", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "filenames = data_path+'h0/5year/unet_v5/huber_rop/*.eam.h0.000[3-8]*.nc'\n", + "ds_nn = xr.open_mfdataset(filenames)\n", + "\n", + "# Exclude the first month (0003-01) due to spin model\n", + "ds_nn = ds_nn.sel(time=ds_nn.time[1:])\n", + "ds_nn['lev'].attrs['long_name'] = 'hybrid pressure'\n", + "\n", + "filenames = data_path+'h0/5year/mmf_ref/*.eam.h0.000[3-8]*.nc'\n", + "ds_sp = xr.open_mfdataset(filenames)\n", + "# Exclude the first month (0003-01) due to spin model\n", + "ds_sp = ds_sp.sel(time=ds_sp.time[1:])\n", + "ds_sp['lev'].attrs['long_name'] = 'hybrid pressure'" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "abd878ed-2806-4bf7-9b45-67980fb7b21b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# retrieve precomputed 1-year tropopause level distribution (we used as a microphysics constraint)\n", + "idx_p400_t10 = np.load(data_path+'microphysics_hourly/first_true_indices_p400_t10.npy')\n", + "for i in range(idx_p400_t10.shape[0]):\n", + " for j in range(idx_p400_t10.shape[1]):\n", + " idx_p400_t10[i,j] = level[int(idx_p400_t10[i,j])]\n", + "\n", + "idx_p400_t10 = idx_p400_t10.mean(axis=0)\n", + "idx_p400_t10 = idx_p400_t10[:,np.newaxis]\n", + "\n", + "idx_tropopause_zm = zonal_mean_area_weighted(idx_p400_t10, grid_area, lat)" + ] + }, + { + "cell_type": "markdown", + "id": "be78d81c-78cb-44ef-998f-270757523052", + "metadata": { + "tags": [] + }, + "source": [ + "## Visualize the 5-year mean zonal mean values and biases of state variables (e.g, T, Q) and tendency variables (e.g., dT/dt, dQ/dt)\n", + "\n", + "These correspond to the Figure 4 and 5 in Hu et al. 2024." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "28ad1aa3-7ef4-4be4-bda2-5af2f47e7598", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABWIAAATXCAYAAABkugyZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXhT1dYG8PdkatpCy9gWZCiTQgEFGSsICAgIKlwQZQYvgmJBAT8ZFAVRRlERRBBUUKSo6AWZRCYBGQQsoAyCV6yAQFsZSpnaZjjfH7W5hCZp0qzAafr+nuc8ysnJzj5pkpWzs/daiqqqKoiIiIiIiIiIiIgoYHS3uwNEREREREREREREwY4DsUREREREREREREQBxoFYIiIiIiIiIiIiogDjQCwRERERERERERFRgHEgloiIiIiIiIiIiCjAOBBLREREREREREREFGAciCUiIiIiIiIiIiIKMA7EEhEREREREREREQUYB2KJiIiIiIiIiIiIAowDsVSoTJ8+HTVr1oTdbvfpfhaLBRUrVsT7778foJ651rFjRwwaNKhA9503bx4qVaqErKws4V4REVEwuzlW/vnnn1AUBTNmzMj3vmPGjEGTJk0C3UUnX375JUqVKoUrV674fN/z588jPDwca9euDUDPiIgoUApyXcdrOiIKBhyIpUIjIyMD06ZNw+jRo6HT+fbSNRqNGDlyJCZNmoTMzEyPx7Zq1QqKouS7TZgwwWM7O3bswPr16zF69GjHvi1btkBRFHz11VdOx2ZnZ+Phhx+GTqfDxx9/DAAYMGAAsrOz8cEHH/h0rjeLjY2Foiho27aty9sXLFjgOKeffvrJsX/ChAlQFAU6nQ6nTp3Kc7+MjAyEhoZCURQMHTrUsT/3gt/V1rRpU7/OhYiIPPMnVgLA8OHD8fPPP2PlypUej1u0aJFXsTI2NtZjOzabDePHj8ewYcNQrFgxx/7Y2Fg8/PDDeY5fvHgx9Ho9OnTogMzMTJQuXRpPPfUUXnnlFZ/P9Ua5MS86OhrXrl3Lc7ur/uSe41tvvZXn+Nzn58a4SkREOQoaq3hNp2DYsGF5bnPVn9w4ZDabcfr06Tz3adWqFerUqeNXn24mcf34xhtvuGy7d+/eUBTF6btC7nm4+9sePXpU9PyIpBhudweIvPXxxx/DarWiZ8+eBbr/k08+iTFjxiAxMRH//ve/3R738ssv46mnnnL8e+/evZg1axZeeukl1KpVy7H/7rvv9vh4b775Jtq0aYPq1at7PM5iseCxxx7D2rVrsWDBAkffzGYz+vfvj7fffhvDhg2DoijenKZLZrMZ33//PVJSUhATE+N025IlS2A2m91+mQkJCcHSpUsxatQop/3/+c9/PD5mz5490bFjR6d9ZcuWLUDviYjIW/7GypiYGHTu3BkzZszAo48+6va4Fi1aYPHixU77nnrqKTRu3BiDBw927Lv5gulmq1atwrFjx5zu486SJUswYMAAtG3bFitWrIDZbAYAPPPMM5g1axY2b96M1q1b59uOJ2lpaZg7dy5eeOEFr+/z5ptvYsiQIQgLC/PrsYmIigp/YlVRvqYDcibRjB07FuXLl/fq+KysLEydOhWzZ8/263F9UdDrR7PZjKVLl2LcuHFO+69evYpvvvnGEfdvVqFCBUyZMiXPfm+fI6JbTiUqJO6++261T58+frXx8MMPq/fff79P91m2bJkKQP3++++9vk9qaqpqMBjUDz/80Gn/999/rwJQly1bpqqqqmZnZ6tdunRRFUVR58+fn6edn376SQWgbtq0yac+36hy5cpqmzZt1IiICHXmzJlOt506dUrV6XRqt27dVADq3r17HbeNHz9eBaB27dpVrVevXp52H3zwQcf9EhISHPuTk5NVAOqbb75Z4D4TEVHBuIqVvn4uf/XVV6qiKOrx48d9euzw8HC1f//+Pt3n0UcfVZs3b55nf+XKldVOnTo5/r106VJVr9erbdu2Va9fv57n+Dp16qh9+/b16bFvlBvz6tWrp0ZHR6vXrl3z2B9VVR3HA1Dfeustp9sWLlyYJ64SEVEOf6/riuo1Xe3atVWDwaAOGzbMY39U9X9xqF69empISIh6+vRpp/u0bNlSrV27doH744q/149du3ZVAagHDhxwut+SJUtUo9GoPvLII2p4eHjAz4Mo0JiagAqF5ORk/PLLLy6X18+YMQP33XcfSpcujdDQUDRo0CDPMpFcDz74ILZv344LFy4EtL9r1qyB1Wp1mw4AAKxWK3r06IFvvvkGc+fOdZl3qEGDBihVqhS++eYbp/3nzp3D0aNHXS6fdMVsNqNr165ITEx02r906VKULFkS7du3d3vfXr164cCBA05LO1JSUrB582b06tXLq8cnIqLA8xQrc73zzjuoXLkyQkND0bJlSxw6dCjPMbn3vzn2SMvMzMS6des89hfIySHbp08ftGrVCitXrnQ5I+bBBx/EqlWroKqqY5/FYsHRo0dx9uxZr/v06quvIjU1FXPnzvXq+GbNmqF169aYPn06rl+/7vXjEBEVVZ5ild1ux7vvvou6devCbDajbNmy6NChQ540L0X1mi42Nhb9+vXDggULcObMGa/u89JLL8Fms2Hq1KleHS+hoNeP8fHxqFKlSp5r1iVLlqBDhw4oVapUwPpMdCtxIJYKhZ07dwIA7r333jy3vfvuu6hfvz4mTpyIyZMnw2AwoHv37lizZk2eYxs0aABVVR3tBbK/pUuXRuXKlV3enrsUZ/ny5ZgzZw6efvppt23de++92LFjh9O+9957D7Vq1cKePXu87lOvXr2wZ88eHD9+3LEvMTERjz32GIxGo9v7tWjRAhUqVHAKiF988QWKFSuGTp06ub3ftWvXcO7cOafNYrF43V8iIvKNp1gJAJ9++ilmzZqFhIQEjB07FocOHULr1q2RmprqdFxkZCSqVauWJ/ZIS0pKQnZ2ttv+AsDXX3+N3r17o0WLFli1ahVCQ0NdHtegQQOkp6fj8OHDjn2nT59GrVq1MHbsWK/7dP/99/s8sDphwgSfBm+JiIoyT7Fq4MCBGD58OCpWrIhp06ZhzJgxMJvN+PHHH52OK8rXdC+//DKsVqvXA6tVqlTxefDWXwW9fgRy0tt9/vnnjh9Wz507h/Xr13scwLXZbHmuOwtSAJToVuFALBUKub+mValSJc9tv/32G+bMmYOEhASMGDEC27dvR506dfD222/nObZq1aoAgCNHjgS8v54KlIwZMwZfffUV3nvvPQwZMsRjW1WrVhXpb+vWrRETE4OlS5cCAH799VccOHAg31mtiqKgR48ejvsBOb9Kdu3aFSEhIW7vN378eJQtW9ZpC/RFPRFRUeYpVgLA77//ju3bt2PUqFF49dVX8e233+Lvv//GtGnT8hwrFXv86e/+/fvRo0cPNG/eHKtXr3Y7CAvIxvfx48cjNTUV8+bN8+r4+++/Hw888ADefPNNzoolIsqHu8/+77//HosWLcJzzz2HtWvX4vnnn8cLL7yAFStWICEhwenYonxNV7VqVfTt2xcLFizwesVH7uCtq3gfCAW9fgRyJg+dPHnScd345Zdfwmw2e8xbf/To0TzXnTcWAyPSGg7EUqFw/vx5GAwGl0U/brwwu3jxIi5duoT7778f+/bty3NsyZIlAeT8shZI58+fdzyWK6mpqTAYDG4vPm9UsmRJXL9+3WnJyoQJE6CqKlq1auV1n/R6PR5//HFHQFyyZAkqVqyI+++/P9/79urVC7///jv27t3r+G9+A7iDBw/Ghg0bnLZ77rnH6/4SEZFvPMVKAOjSpQvuuOMOx78bN26MJk2aYO3atXmOLVmy5C2JlbmP5cqFCxdgtVpRoUIFj4OwN7ZxY59jY2OhqioWLVrkU79atGiBBx54wOdZsSkpKV4P3hIRFVXuYtXXX38NRVEwfvz4PPe5ucBVUb6mA4Bx48b5NCs2d/B2/vz5PqXr8UdBrh8BoHbt2rj77rsd16yJiYno3Lmzx4KYsbGxea47by4URqQlHIilQm/16tVo2rQpzGYzSpUqhbJly2Lu3Lm4dOlSnmNzlzj4W63SGzfmqbvZ9OnTUalSJTz22GP5zhKV7HOvXr1w5MgR/Pzzz0hMTESPHj28ard+/fqoWbMmEhMTsWTJEsTExORbmbpGjRpo27at0+bpiwwREQVWjRo18uy788478eeff+bZr6rqLYmVuY/lSps2bTBkyBB89tlnGD58uFdtSPXZ14HVggzeEhHR/xw/fhzly5f3Kg9oUb+mK8jAqq+DtwBw5coVpKSkOLa///7b6/sW5PoxV69evbBs2TL8/vvv2LlzZ74DuOHh4XmuO+Pi4rzuK9GtxoFYKhRKly4Nq9WKy5cvO+3/4Ycf8Oijj8JsNuP999/H2rVrsWHDBvTq1ctl0Lx48SIAoEyZMgHvb+5juVKuXDls2LABkZGR6NSpE37++We3x168eBFhYWH5zgbyRpMmTVCtWjUMHz4cycnJPhXb6tWrF7744gskJibiiSeegE7Hjw8iIi1xFysL4uLFi7ckVuY+ljvvvfceevTogVmzZmHChAluj5OO7y1atECrVq18GlgdP348UlJS8MEHH4j0gYgoGEnEqqJ+TQf4nm6gatWq6NOnj0+DtzNmzEC5cuUcW6NGjXzqY0GvH3v27Ilz585h0KBBKF26NNq1a+fT4xJpHUdSqFCoWbMmgJwqmzf6+uuvYTab8d133+Hf//43HnroIY9VLXPvX6tWrcB1Fjn9vbmvN6tatSq+++476HQ6tG/fHv/9739dHpecnCza3549e2LLli2oVasW6tWr5/X9evXqhbNnz+K3337zaQCXiIhuDXexMperOPPbb7+5zH8nHXtcya+/AKDT6fDpp5/ioYcewmuvvYZZs2a5PC4Q8T13Vqy3A6stW7ZEq1atMG3aNM6KJSJyw91nf7Vq1XDmzBlcuHAh3zZ4TZfzfPXp0wcffPCBz7NivR287devn9Ny/yVLlvjUx4JeP1aqVAnNmjXDli1b0L17dxgMBp8el0jrOBBLhUJ8fDwA4KeffnLar9froSgKbDabY9+ff/6JFStWuGwnKSkJiqI42guU+Ph4XLx4EX/88YfH4+rWrYs1a9bgypUrePDBB3H69Ok8x+zbtw/33Xef075z587h6NGjTjmGvPXUU09h/PjxeOutt3y6X7Vq1TBz5kxMmTIFjRs39vlxiYgosNzFylwrVqxwijN79uzB7t278dBDDzkdd+nSJRw/fjxP7JHWoEEDmEwmt/3NZTQa8dVXX6FZs2YYPnw4Fi9enOeYpKQkREZGonbt2o59FosFR48eLXA+vBsHVjMzM726T+7g7fz58wv0mEREwc5drOrWrRtUVcVrr72W5z43r3TkNV2OcePGwWKxYPr06V4df+PgbUpKSr7HV61a1Wm5f7NmzXzqnz/Xj2+88QbGjx+PYcOG+XQ/osKAA7FUKFStWhV16tTBxo0bnfZ36tQJ165dQ4cOHTBv3jxMnDgRTZo0QfXq1V22s2HDBjRr1syxHDJQOnXqBIPBkKe/rsTHx+M///kPzp49iwcffNBRvATI+ZJx4cIFdO7c2ek+7733HmrVqoU9e/b43LfKlStjwoQJeS68vfH8889jzJgxPt+PiIgCz12szFW9enU0b94c06dPx+uvv46HHnoIpUuXzlPQYuPGjVBVNU/skWY2m9GuXTuvYmVYWBjWrFmDu+++G//+97+xcuVKp9s3bNiARx55xCn33unTp1GrVi2MHTu2wH3MTTeQmprq1fEtW7ZEy5YtceDAgQI/JhFRMHMXqx544AH07dsXs2bNQseOHTFr1izMnDkT3bp1w5w5c5yO5TVdjtyBVV9izssvvwyLxYJjx44V6DF9VdDrx5YtW2LChAkBn/VMdDtwIJYKjX//+99YtWqV03K/1q1b46OPPkJKSgqGDx+OpUuXYtq0afjXv/6V5/6XLl3C+vXrMWDAgID3NTo6Gh07dsSXX37p1fHt2rXD4sWLcezYMTz00EOOnEnLli1DpUqVvE5sTkRERZurWJmrX79+GDZsGN577z1MmjQJtWvXxubNm1GuXDmn45YtW4bmzZujWrVqt6S/P/74I06dOpXvsZGRkfjuu+8QGxuLJ554Alu2bAEAHD16FIcOHQpIfG/VqhVatmzp03085bIlIiL3sWrhwoV48803kZycjBdffBGTJ0/G9evXnWaS8prO2bhx46DX670+vnr16ujTp494P4jIe4rqqQwgkYZcunQJVatWxfTp0zFw4ECf7z9z5kxMnz4dx48fF0uS7skPP/yAVq1a4ejRoy4rVecnKysLsbGxGDNmDJ5//vkA9JCIiIKNv7EyJSUFVapUweeffx7wGbEAYLPZEBcXh8cffxyvv/56gdoYPnw4tm3b5liqSkRE2uZPrOI1HREVdpwRS4VGZGQkRo0ahTfffBN2u92n+1osFrz99tsYN27cLQnYAHD//fejXbt2XufsudnChQthNBrxzDPPCPeMiIiClT+xEsi5wK1bt+4tGYQFcnK9T5w4EXPmzMGVK1d8vv/58+fx4Ycf4o033uAgLBFRIVHQWMVrOiIKBpwRS0RERERERERERBRgnBFLREREREREREREFGAciCUiIiIiIiIiIiIKMA7EEhFRoTJ37lzcfffdiIiIQEREBOLj4/Htt986bs/MzERCQgJKly6NYsWKoVu3bkhNTXVq4+TJk+jUqRPCwsIQFRWFF198EVar9VafChERkV8YE4mIiAoXw+3ugBbY7XacOXMGxYsXZ6EHIirSVFXF5cuXUb58eeh0Mr/VZWZmIjs72+MxJpMJZrPZq/YqVKiAqVOnokaNGlBVFZ988gk6d+6M/fv3o3bt2hgxYgTWrFmDZcuWITIyEkOHDkXXrl2xY8cOADlV2jt16oSYmBjs3LkTZ8+eRb9+/WA0GjF58mS/z7cwYzwkIsoRiHgIMCYWJoyJREQ5AhUTiyyV1FOnTqkAuHHjxo3bP9upU6dEPl+vX7+uxkTp8328mJgYNTU1Vb106ZJjy8zM9PpxSpYsqX744Ydqenq6ajQa1WXLljlu+/XXX1UA6q5du1RVVdW1a9eqOp1OTUlJcRwzd+5cNSIiQs3KyhI578KK8ZAbN27cnDepeKiqjImFDWMiN27cuDlvkjHxZrVQTI1BiGqz2QL2GFrBGbEAihcvDgCo+eSr0Ju8+/XZHVUv0SPALvSXkWpH6pViF3p+pJ5nJufIhyrTjGITascu047YeQn1R6wdgefZlpWJ3+dOdHwu+is7OxspaTYkJ1VGRHHXb7iMy3ZUaXAC0dHRTvvHjx+PCRMmeO6vzYZly5bh6tWriI+PR1JSEiwWC9q2bes4pmbNmqhUqRJ27dqFpk2bYteuXahbt67T47Vv3x5DhgzB4cOHUb9+/YKfcCGX+3ev3cv/eGgLkegRYDPJtGMX6o9YfNZaHJOa7CX0+SpGY+fFeHiL2tFgPAQYEwub3L/9fa99BYM53K+2Oje4Q6JL6Fi9jEg70Zf+K9KONfmQSDtSDNXuEWknO6qGSDvXLTIfanahz2qdUEw06mUaMkLm+VGsWSLtiNHJfMlT9TJfgi0Cr5/Lly+j1p01RGPijY4cOYLfcBUmKPj666/RvXv3gDyOVnAgFnAsNSmZYoDB6N9TYjPKfCjZQmTasUv1R6gdsQFdqQFmrjLySOGFp0diz4/QtyuRC8/snL5IL8ELL5azuXzMf07/1KlTiIiIcOwPCXE/cnbw4EHEx8cjMzMTxYoVw/LlyxEXF4cDBw7AZDKhRIkSTsdHR0cjJSUFAJCSkpLnAjf337nHFFW5f/cSaXoYDP59ibSZZUYIraEyr0WrWSgemoTis1Qc09gPilKfi5oTpAOWWjsvnS344yHAmFhY5P7tW9erArO7P5iXGsSWkugSypXxb0A4VzFdSZF2VLW6SDtKSKhIO7YylUXaUcz+/b1zqUKfaarQZ7VFakRX6HMxNETmS4zJel2kHSgy/cnWy/z6f+G6zEX0uWv+5/y+YskZ7A5UmpaHazfCXQhHaZgw+PFe+JflXzAYgne4MnjPrAD0mXborf59k1SsMi9MxS7zISD02S/2BdsulPdfLC2JxmbKaI3cQKNMO5qjsedHYkBXlfjJ1AUrbLC6ecKs//wanltoxBt33XUXDhw4gEuXLuGrr75C//79sXXrVrH+FnX6TBv0BqFfUPykCn0plvrhTSweSs2I1Vgc40CsZ8H6/MjNZJV5gnQS3zcDFA8BxsTCJqqYCaHF/BtYiTTLXHZLzWiUmmmnC/fuNZofqf7AINROkNLYb7dyhL4rSg0wZwvFsivZMsH17BX/Zwxfu+o5t7k/9u7di1O4jh4oDzP0+BkZaGuMwRb1XMAe83bjQOwNdNk26Oz+XnhKTUMX+vVM6v0itRxCawVYNTbjU0yQzvQVm/kl9SVWYwM7Eq9DncX/NlyxqSpsbn7Od7ffE5PJhOrVc2ZhNGjQAHv37sW7776LJ554AtnZ2UhPT3eaAZSamoqYmBgAQExMDPbs2ePUXm4F6dxjijp9phV6gzY+sKXe96rQL3hSA2k6oatpLc2oB6C5AUvNrXyRij8ai4da+56os2r3h0mAMbGwWfnzWRhDM/xqQ2pyTLhRZmZtpYjg/NuqOpnhDbFUADLNwC51zSE00KiXGveUaUYsFUCm0PDYuWsyF1SH/74i0s6PyRf8biPrmkxfXOnauAXqoDjC/3n+G6EEduMisrKyPK4GKcw4EHsDnVWFzs9vklIDqGIzAmza+oYtt9RdqD8am8EhRurnciFSF4x2g9CSYKG8RmIrMzSU4kBqUOdmVtjh7iuJVSA/lN1uR1ZWFho0aACj0YhNmzahW7duAIBjx47h5MmTiI+PBwDEx8dj0qRJSEtLQ1RUFABgw4YNiIiIQFxcnN99CQaK1Q5F9W9kTjEKDXzaZNrRSQ00Sv1YocoEIIkBJ0Dw+ZH6DJH6KNJWOIQqFceE2lE19n1B7PudQDuB/G7HmFi4XPz7KvT+pU3HsZTLIn2pGy2zZL5smEwqgDCzTL5IxSo0e0hoQE4qBmltUaDUR74+QMvTC8quN4q0k5Ul82UoI1OmnbSrMrlvT5y/6ncbluvXBHqS15YtW5CGLLTB//JfV0MY9uMSWpvLYYfq/yCyFnEgloiIAs4OFXY332rd7Xdn7NixeOihh1CpUiVcvnwZiYmJ2LJlC7777jtERkZi4MCBGDlyJEqVKoWIiAgMGzYM8fHxaNq0KQCgXbt2iIuLQ9++fTF9+nSkpKRg3LhxSEhICNpfXYmISDsYE4mIqKhTVRU9HuiAexAJ8w0ryxUoaIwS2ILzuHLlCooVk/kBSks4EHsjVfU7E7YilUlb6kd4of5IzayVmrmjF/qVSRGqZBmsOd+kZsrYhBKxS+WKlPoRV+r5EZspLtBOoF7Lkssw09LS0K9fP5w9exaRkZG4++678d133+HBBx8EALzzzjvQ6XTo1q0bsrKy0L59e7z//vuO++v1eqxevRpDhgxBfHw8wsPD0b9/f0ycOLHgJ0h5iK040NCMcUBu6bTUbDuDUCEHsXgYoFn1t5vU5709RGi2llAxPKmicVLEUm1oOB4CjImFTWTpMBhCw/xqI8wk896/JvRZfV3omizUJFM8TC7Hp9AqGpFWNJiTVegaSGOLKWATih1SuV2vWWS+m10SSnEg0Y71unz+ujVr1iADFtRFVJ7bKiEUkTCidfGK2KNeFH/s201jX7+IiCgYWaDC4uYXJnf73fnoo4883m42mzFnzhzMmTPH7TGVK1fG2rVrfXpcIiIiCYyJRERUlNntdvR/pCvqIxJGFz9Z5M6K/Q5puHDhAkqVksmPrRUciL2RCv9nompoZhsgWa1eaCZRlkyHDFdkfpHRSf2yY9dYBiChKZ+qSeojQqaCqSqUc1JzRU6KAJvqvlCF1lIsE/75o/j5h5Ga2SbWjkgzYitN9ELxUH9VZoqu/ppQfr5gjYdGmdlsVkVmqbdUjlhFaFqTWPFKqXggEVgCGJwYEwuXv89ehj7Evxluv5plvlPXiJJZohtbws+kt/8oYZb5TNNn+5/DEgAUy3WRdkLMESLtGHTaekNLfb5IzYjVCcVou9B3M4vQd85LWTLfzf66KPN6Pn/W/xzVtizZHLFnzpzBBVgQB/d5psvDjDDosXPnTjz88MOij3+7cSCWiIgCzg73BQs0NmxDREQUUIyJREREgCmfwXi91C+9GsOBWK0S+lVHkXrhCv18pheqRKjLyBRpR7kkU8EUWUIziaQYZGbuKBEylVB1QjOJFLNQO1LVpqVyQhcBVlWBxc3nkTVIA2yhpoP/ic2kcjFLJXWWmlkr0gqgyxaaEXtFKB6mXxFpB9lai4cyX3WVcP/yQ+bShQj1RyoeSuX01VrCQI1jTCxc6tQsC1OYfzNRm1SVWVYbV1ZmRmzZMJnPIv2VczLtXD0v0o5ilakyb1CFfhLRaWu4xW4KlWmnWFmRdlSjTH90Qs+zUSiWRQrF+nKRMjPXwyP8b8cqVKPnZqZ8nnMlMA9722nrk4GIiIKSDQpsboaw3O0nIiIKRoyJREREgD6fCRdKkMZEDsQSEVHAWVQdLG6S81o4sZiIiIoQxkQiIiIvZsQG5zgsB2JvpKgqFD+XGosVFRH6EqZqrD+KVWaZh3JNJnG1/WK6TDvXZfojRRcis4xBJ7WkM1JmSadUyg7Npf6QInFaAboA5OyfIkjqm5NUigO9UHEjsWKaQp9D12VSAaiXMkTasV+XSZUgRTEZRdrR6WSqPCo2oXgoRCqMiYVDqY8NiXYCGJoYEwuX2DLhMIeH+9XGPTEy6b7qlpEpgGs8+ZNIO9a/fhdpxyJU6FFXvIRIO7DLrIdWs7QVE/WlY0TaUUz+vR8chFJAKDaZ4lhlwkuLtGOHzLX4tYolRNo5f8X/74pZ18zYLdCXm+X39TxYIyIHYomIKOBs0MHmJulokKb+ISIicokxkYiICDDmm5ogOHEg9gaKzQ7Fz1qlilCCZ51MnnEoVqEZHEIzd3TZ2vp6qeilij/JzLgRo5f5u0tRbDJ/d32WtmoJq0aZ51lqJpHETD01QGsirR6WYVq5DFNzFIsNip+zQXSQmalptAkVtTLJfN5L0V2Xmb0BoecHUjM+heKqFM31xyIUD4VePzqh74lSRfX8XZnmaEcisFgD952VMbFw2Zt8AcZQ/y7OdvxXpqhV6WIyM2Jb16wk0k7zuveItFMlXOha89IZkXYUq8YKTwpRjTIzNVWh4lj2EJmZ4petMjHoyJmrIu2sOZIq0s6mPadE2kneu8fvNlRrYGZ355cjNlhxIJaIiALOpupgc3PRaeNFJxERFSGMiURERMwRS0REFDAW6GCB65lpllvcFyIiotuJMZGIiIg5YomIiALG8+wfTv8hIqKigzGRiIjIm9QEwTkUy4HYG6nwv5p6sH53kqqqaxDKXWqSyY+khMtUL9aHhIi0I0YqR6xZ5rxUqRx9WvscFlo/KFZsWqA7SoDWROZk4HZ9pu72022k0/mfM1Qo56gqlHtdrqq7UEP5TQHwllHmq5wi9HmvuRzlBqGvuiEy3zvk4qG2PjfFcrtKxSCJ/gRwQJQxsXDp3aQSwor5l8vSLvR6yrLK5AWvGCmTKzRU6NrOLvVZHVFOpBmbQeb5uS7095L6VAgVqm+hs8nM3be4KVroq+tCOb0zhf5ekWEy9WNKRhcTaSf77gZ+t2HLuob0TQKduUl+qQm09a1SDgdiiYgo4CyqAdmqm2WYYiNkRERE2seYSEREJDcvobDxaSA2PT0dy5cvxw8//IATJ07g2rVrKFu2LOrXr4/27dvjvvvuC1Q/iYioELNDB7ub3zTtQbuUgIiIKC/GRCIiIhbr8ujMmTN49dVXsWTJEpQvXx6NGzdGvXr1EBoaigsXLuD777/HjBkzULlyZYwfPx5PPPFEoPsdEIrVDkX1bzq6Dlah3shMVlZlZsWLLem0Cy2HUIrLLBdRDDJLBBWh5RBihJaG2kNkXkBiKSnsMhcn+myZZSeqxiKDxNJQNUCvZZuqwObmg8Tdfrp97CY97Ho/45DUT9wae59JUaU+p4vJpBTQCaWA0Fw8FIrzdrNQagKh70FSy+YVjf25isoYJGNi4dJi67so7mf6lmLVqoj0xXRnfZF27MXKy7RjkrlWyLbLfFZft8v05/o1mWt6i9C1ixSzRWjpvVlmrMKkyjzP0SaZ84q4QyYVwN3R4SLt9LxHKNWGwNNz5XIG7p3lfzs3C2SxrqlTp2Ls2LF4/vnnMXPmTD9akufVO6h+/fro378/kpKSEBcX5/KY69evY8WKFZg5cyZOnTqF//u//xPtKBERFV4W1QALl2ESERExJhIREcGLGbEFbHfv3r344IMPcPfddxewhcDyaiD2yJEjKF26tMdjQkND0bNnT/Ts2RPnz58X6RwREQUHG3SwuVmGaSsqU6CIiIjAmEhERAQA+vxWvhVgJPbKlSvo3bs3FixYgDfeeKNgHQswr9ZH5TcI6+/xREQU3KzQwaLqXW7WoK2HSURElBdjIhERUc6MWE+bDgosFgsyMjKctqysLLdtJiQkoFOnTmjbtu0tPBPfFDi5x5EjR3Dy5ElkZ2c77X/00Uf97tRto6r+59ySytkl1I4q1I5YzlGhdhAulMvOJJPfRurvJUUqd6lqEGpH6O+uCuUwlCL2d5d6+Uj0J0C5rGyqDjbVzewfN/vpNtIpfud4lXq/qlrLNSuVM90k9bkolbtUJj8fZNK0yZFKySqVa1bq766x3Mla+x6kdYyJhcvBT35EuN6/z4Dou4+J9KXKw+ki7YTFdxRpxx4uMwEr2ybzGXLdKtWOTDCTyM0JSBbxk/l8CRP6ewmFRLExGJNQXRODTqY/Jcwy3z30WVf8biMjKzv/gwpA58X3mWXLlqFr165O+8aPH48JEybkOfbzzz/Hvn37sHfvXqkuBoTPo1B//PEH/vWvf+HgwYNQFMUx0Kf88wTabFrL+k9ERLebHQrsbkaw3O0nIiIKRoyJREREgOJFta7u3btj3rx5TrtDQvIWUDx16hSef/55bNiwAWazTHH3QPF5yP/5559HlSpVkJaWhrCwMBw+fBjbtm1Dw4YNsWXLlgB0kYiICrts1eBxIyIiKioYE4mIiAC9Se9xUxTAaDQiIiLCaXM1EJuUlIS0tDTce++9MBgMMBgM2Lp1K2bNmgWDwaCpSaM+R/pdu3Zh8+bNKFOmDHQ6HXQ6HZo3b44pU6bgueeew/79+wPRTyooqSXqQktDbUaZ6f42s9RaQ5lmFI2tyNNawV2p50cRWjYv1Q6081kOQOZ5DtRr2a4qsLt5Ybrb786UKVPwn//8B0ePHkVoaCjuu+8+TJs2DXfddZfjmJSUFLz44ovYsGEDLl++jLvuugsvv/wyunXr5jjmwoULGDZsGFatWgWdTodu3brh3XffRbFixQp2kkFE1Sl+pxaQihtSn2daS5UglnIhRGbZmhIqNPijsXgoNblQa6lx5FJhiTQjlpJCEVruqrnX4U0YEwuXw39dglnx77O2rl3mTRIec1SknfJl7xBpxxAaKdKOvrhMfzKFcgFczdZWnh27xtK/ZNtlrsWL2d3n+fSF7nKqSDsGq0WkHagyrx/VFCrTjtH/dpRs/9MbuGw33+/D3sfENm3a4ODBg077nnzySdSsWROjR4+G3s8UM5J8fgfZbDYUL14cAFCmTBmcOXMGAFC5cmUcOyaT+4aIiIKL/Z8K0a42u4+haOvWrUhISMCPP/6IDRs2wGKxoF27drh69arjmH79+uHYsWNYuXIlDh48iK5du+Lxxx93+rGwd+/eOHz4MDZs2IDVq1dj27ZtGDx4sNg5ExERucKYSEREBOiNeo+bLz+oFy9eHHXq1HHawsPDUbp0adSpUydwJ1EAPk9/qFOnDn7++WdUqVIFTZo0wfTp02EymTB//nxUrVo1EH0kIqJCzqLqoVdd/wpp8fFX/nXr1jn9e9GiRYiKikJSUhJatGgBANi5cyfmzp2Lxo0bAwDGjRuHd955B0lJSahfvz5+/fVXrFu3Dnv37kXDhg0BALNnz0bHjh0xY8YMlC9f3tdTJCIi8gpjIhEREaDLZ0asxmqTivF5Ruy4ceNg/2dpxcSJE5GcnIz7778fa9euxaxZs8Q7SEREhZ9d1XncACAjI8Npy8rybrnSpUuXAAClSpVy7LvvvvvwxRdf4MKFC7Db7fj888+RmZmJVq1aAchJs1OiRAnHBScAtG3bFjqdDrt37xY6ayIiorwYE4mIiACdSe9x83ckdsuWLZg5c6ZMZwX5PBDbqlUrtG/fHgBQvXp1HD16FOfOnUNaWhpat27tU1tTpkxBo0aNULx4cURFRaFLly550htkZmYiISEBpUuXRrFixdCtWzekpjrnADl58iQ6deqEsLAwREVF4cUXX4TVavX11IiIKEAsqg4WVe9mywlFFStWRGRkpGObMmVKvu3a7XYMHz4czZo1c1py8uWXX8JisaB06dIICQnB008/jeXLl6N69eoAcvLlRUVFObVlMBhQqlQppKSkCJ65dxgPiYiKDsZEzxgTiYiKBp1e8bgF64xYr1MT/P333+jXrx82btwIu92ORo0a4bPPPkP16tWdfnH1RW5Oo0aNGsFqteKll15Cu3btcOTIEYSHhwMARowYgTVr1mDZsmWIjIzE0KFD0bVrV+zYsQNATs7aTp06ISYmBjt37sTZs2fRr18/GI1GTJ482bcOKYr/c591MomrtVZUxC7VTohQsS6T0PMjVPMrWClCxaj0FpkE8zqrUHESqXaEqpzorEIJ3QU+NwJVkMam6mBz84bL3X/q1ClEREQ49ruqhnmzhIQEHDp0CNu3b3fa/8orryA9PR0bN25EmTJlsGLFCjz++OP44YcfULduXT/OJDC0Fg/tRh3sBj8/IDUWx6Re23aDUDsmmQAk1Z9gJVXsTazopFAxKp1QO2Lx0C70ROu1U4TMHsCiHoyJnmktJv5+1QKTnxVaM/685Nf9c0UcOivSTuk6ySLtmKrWlmmnREWRdjRW00pzpJ4foZpoBZgW6JpikSn6paanibRj/fu0SDv2izL9uZZ6zu82LmfKPMc30xvzibVBOhLr9UDs6NGjceDAAUycOBFmsxkffPABBg0ahO+//77AD55fTqNLly7ho48+QmJiomO27cKFC1GrVi38+OOPaNq0KdavX48jR45g48aNiI6ORr169fD6669j9OjRmDBhAkwmU4H7R0REMlQosLvJtq7+sz8iIsLpojM/Q4cOdRQUqVChgmP/8ePH8d577+HQoUOoXTvnAuGee+7BDz/8gDlz5mDevHmIiYlBWprzlxur1YoLFy4gJibG19PzG+MhEVHRwZjoGWMiEVHRoAhNuChsvP4NYsOGDVi0aBHGjh2LESNGYNWqVfjhhx+8zlfkjZtzGiUlJcFisaBt27aOY2rWrIlKlSph165dAHJyGtWtWxfR0dGOY9q3b4+MjAwcPnzY5eNkZWXlybtERESBY7HrPW6+UFUVQ4cOxfLly7F582ZU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zz2HS5cuObVz8uRJdOrUCWFhYYiKisKLL74Iq1Um/ycREZFbjIlERESwqZ63YOXVjNiWLVs6/n/ixIl4++230bNnT8e+Rx99FHXr1sX8+fPRv39/+V7eIjLFSYReLUaZdgxSxUmEikJItRMmVKzLrBNqR5FpRyrReJZQ1Tipoitmob+XSajol1TxuWyjTDuqVSjjvUS0kvoMu4nkMsytW7ciISEBjRo1gtVqxUsvvYR27drhyJEjCA8Px5kzZ3DmzBnMmDEDcXFxOHHiBJ555hmcOXMGX331FYCc1RudOnVCTEwMdu7cibNnz6Jfv34wGo2YPHmyn2db+NkNgOJnPFSFXkuqUSaOGYTer1JxzGyQ+TzTXPFKnbaKV1r8/WL3D6nnWSoehmgtHgp931SF2oFVoKxIISnWxZgYeHZV9bugjFaKfeXSCXUneM9Lph2pCe5Sn0ZS5yVF6u8l9TLkgoRbL7/P1mD9k/j87XTXrl2YN29env0NGzbEU089JdIpIiIKLoo9Z3N3my/WrVvn9O9FixYhKioKSUlJaNGiBerUqYOvv/7acXu1atUwadIk9OnTB1arFQaDAevXr8eRI0ewceNGREdHo169enj99dcxevRoTJgwASaTyddTJCIi8gpjIhERkRfFugKUm+DPP//E66+/js2bNyMlJQXly5dHnz598PLLL9+SmOfzNKyKFStiwYIFefZ/+OGHqFixokiniIgoyHixDDMjI8Npy8rybmZd7vLKUqVKeTwmIiICBkPO74+7du1C3bp1ER0d7Timffv2yMjIwOHDh309OyIiIu8xJhIREd221ARHjx6F3W7HBx98gMOHD+Odd97BvHnz8NJLLwXuQW/g84zYd955B926dcO3336LJk2aAAD27NmD//73v06/thIREeXyZhnmzT/mjR8/HhMmTPDYrt1ux/Dhw9GsWTPUqVPH5THnzp3D66+/jsGDBzv2paSkOF1wAnD8OyUlxeNjEhER+YMxkYiICLDY85kRC8BisSAjI8Npf0hICEJCQgr8uB06dECHDh0c/65atSqOHTuGuXPnYsaMGQVu11s+D8R27NgRv/32G+bOnYujR48CAB555BE888wzhX5GrKrP2fxqQyYVGaCXyZEllftLKheZWG40oZysUrnspHLrSdHrZF4/ITqzSDtSf3epnIpSOR6vS+WP0wnl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KlWqqCEhIWrp0qXVFi1aqCtXrrzVp+Lk3//+t1q5cmXVZDKpZcuWVdu0aeP40FZVVb1+/br67LPPqiVLllTDwsLUf/3rX+rZs2cdt2/evFnt1q2bWrFiRdVkMqnR0dFqhw4d1B9++OF2nI7PZs+erVaqVEk1mUxq48aN1R9//PF2d8ktf/9WroKsqqrq4MGDVQC3Lciqqv/vL1XNG2RVVVUnT56sAmCQJRIWjDGxqMdDVWVMVNXbHxMZD4kKH8ZExsTbKVjjoaoyJpI8RVVV9VbPwiUiIiIiIiIiIiIqSpgjloiIiIiIiIiIiCjAOBBLREREREREREREFGAciCUiIiIiIiIiIiIKMA7EEhEREREREREREQUYB2KJiIiIiIiIiIiIAowDsUREREREREREREQBxoFYIiIiIiIiIiIiogDjQCwRERERERERERFRgHEgloiIiIiIiIiIiCjAOBBLREREREREREREFGAciCUiIiIiIiIiIiIKMA7EEhEREREREREREQUYB2KJiIiIiIiIiIiIAowDsUREREREREREREQBxoFYIiIiIiIiIiIiogDjQCwRERERERERERFRgHEgloiIiIiIiIiIiCjAOBBLt8X06dNRs2ZN2O12j8f9+eefUBQFixYtcuwbM2YMmjRpEuAeuvfss8/iwQcfFGsv9xxnzJgh1mbTpk0xatQosfaIiOjW8zZWunI744DdbkedOnUwadIksTYXLVoERVHw008/ibR3/vx5hIeHY+3atSLtEREVZa7i1ZUrV/DUU08hJiYGiqJg+PDhOHLkCAwGAw4dOnRb+rlnzx6YTCacOHFCrM1WrVqhTp06Yu3NmzcPlSpVQlZWllibRKQtHIilWy4jIwPTpk3D6NGjodP5/hIcPnw4fv75Z6xcudLr+6iqisWLF6NFixYoUaIEwsLCULduXbzxxhu4du2a1+0kJyfjww8/xEsvveRzv2908OBBKIqCPXv2+NWOO6NHj8acOXOQkpJS4Da2bNkCRVGgKAo+++wzl8c0a9YMiqLk+fIRGxsLRVHQtm1bl/dbsGCBo+0bL6onTJjg2H/zNm/evAKfCxFRYeNvrCxIHLh69Spef/113H333QgLC0NkZCTuv/9+LF68GKqqet3O0qVLcerUKQwdOtTnft9o9uzZiIyMhMVi8asdV0qXLo2nnnoKr7zyil/t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QywBgKlTp5Zpo7SGh7M4GBcXhy+++AJ16tTB1Vdf7fB7KyMjAwDwxhtvONzH2W9doKTA1/nx++jRo9ixY4dD3lhvjBs3DhaLBZMnT/bo9ucO3ubm5rq9faNGjRwuEHfs2NGr/l144YWYMmUKsrKycMUVV3h130mTJmH8+PEu8+4SBQpeKqBK1ahRI7Ro0QIrV67EHXfcYd/fu3dvdOzYEWPGjMEff/yB5s2b45NPPikz+7TUypUroZRCnz593D7mo48+is2bN+P5559HdnY2+vbti8jISHzzzTd4//33cckll3hUkKNTp05ITEzEypUrHfLV3HPPPZg6dSoGDBiAESNGoG7dupg3bx7MZjOAf/L6LF26FGazGVdddZXLx7n++usxe/Zs3HbbbYiNjbXPqHn00Ufx/vvv4+qrr8YDDzyA6OhovPXWW6hfvz6OHz9eZgnnihUrUL9+/TLVOLt27QoAXhfsAoA+ffp49JyfLy0tDRMmTPD6fkREochZrPzPf/6De+65B1lZWdi8eTO6d++O8PBw/Pbbb1iwYAFeffVV3HTTTfbbO4sD5Xn33XfRpUsX9OnTBwMHDsS//vUvFBUV4ZNPPsGaNWswePBgj3Ke9unTB08//TTWrl3rMJg6YcIEfPnll+jYsSOGDRsGm82GqVOnokWLFg4XGD///HN06tTJ7Y/zF154ASdPnsTw4cNRo0YNDB48GADw7LPPok+fPujYsSNuv/12nDhxwv4456+6KX2Oevfu7RBD//zzTzRr1gyZmZleF+wqNX78eLfx/lz/+c9/8J///Adr166t0OMREVUFZ/HKFYvFgrVr15YpXFWexo0b491338WAAQPQsmVL3HnnnWjYsCH++OMPvP322zhx4gQ+/PDDMrlXy9OnTx8sXLjQIXd6UlISRowYgZdeegnXXXcdrrnmGvz0009YtmwZatWqZb/d2bNnsXr1areFFWvVqoUVK1agU6dO6NatG7755htccMEFaNu2Lfr27YspU6bg2LFj6NChA9auXYtff/0VQNk8sDk5OTh+/HiZ311Tp07FU089hdWrV3tdsAv4Z2B17ty5Ht/n8ccfx3vvvYedO3c6XLT0lxEjRlTofqVxlKg64IxYqnR33HEHlixZ4rD8zmAwYPHixRg0aBDef/99PP7447jgggucBokFCxagU6dOuPDCC90+ntFo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374d+/btQ3FxscP+6667zudOERFRcLEpA2zKyewfJ/uJiIiCEWMiVTVNccCfgkewvp9VsCZIPYe7GbHBmiTW64HY33//HTfccAO2bt0KTdOg/n7Ta38/QTabTbaHRERU7enQoDvJ8eNsPxERUTBiTCQiInKfIzZIx2GdJCdyYcSIEWjYsCGOHDmCqKgobNu2DevWrUO7du2wZs0aP3SRiIiqu2IV5nIjIiIKFYyJREREJTNiXW3BOhLrdaTPzs7GV199hVq1asFgMMBgMKBTp07IysrCgw8+iE2bNvmjn0REVI3pSoPupBK0s/1ERETBiDGRKDQE69LyYE0FEGgC6Xn2V18MzBHrGZvNhho1agAAatWqhYMHD+Liiy9GWloadu7cKd5BIiKq/nQXFaJ17xdnEBERVVuMiURERO5zxAbptQzvB2JbtGiBn376CQ0bNkT79u0xefJkREREYObMmWjUqJE/+khERNWcRRlhdFIh2hJAV3uJiIj8jTGRiIjIfY7YYB2J9Xogdty4cThz5gwAYOLEibj22mvxr3/9C4mJifjoo4/EO0hERNWfrgzQnVSCdrafiIgoGDEmEhERAZoxNGOe10fduXNnZGRkAAAaN26MHTt24OjRozhy5Ai6dOniVVtZWVm4/PLLUaNGDdSpUwfXX399mfQGhYWFGD58OBITExETE4O+ffvi8OHDDrfZt28fevXqhaioKNSpUwePPPIIrFart4dGRER+YlEGWJTRyRaaAfhcjIdERKGDMdE1xkQiotBgDDe43IJ0QqznA7F//fUXevTogZiYGMTGxqJDhw7YtWsXACAhIQFaBZ6htWvXYvjw4fj++++xYsUKWCwWdO/e3T7jFgBGjRqFJUuWYMGCBVi7di0OHjyIG2+80f53m82GXr16obi4GN999x3mzp2LOXPm4Mknn/S6P0RE5B82ZXC5hTrGQyKi0MGY6FrAxUSlB99G5AOlaSIbkcFocLkF60isppRniYjuuOMOLFu2DA8++CDMZjPefPNN1K1bF6tXrxbrzF9//YU6depg7dq1+Pe//42TJ0+idu3amD9/Pm666SYAwI4dO9CsWTNkZ2ejQ4cOWLZsGa699locPHgQSUlJAIAZM2bgsccew19//YWIiAi3j5ufn4+4uDh0Rh+EaeFix0NEVN1YlQVr8ClOnjyJ2NhYn9srPb+O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ve4AEREFP0+WYVZUfHw8LrroIuzatcu3hoiIiCoBYyIREZH7HLE6AIvF4lXedE/88ssvWL58OX744Qf7iv/XX38dPXv2xIsvvoiUlBSn942KivI5L7vXA7E9e/bEr7/+iunTp2PHjh0AgN69e+Pee+/ljFgAMMjkk5LKkSWVs0sqR6weLpTbVShHrMX7ixflsgrliLVGyVzyUULvQ1u+UDtSuewihJ4fqZx4YrkrhdqReN11P+XEU/8styzvb744ffo0du/ejVtvvdW3higgycXDwMqZLpXjUyxneqRU7nWRZmCr+HdrB5pM2kHYpHKdC73uqlioHaH3c8DlTJdoRwn1pdy2GROrE1cTmCubVD9sQklibULrhgssMh06VlAs0s6OAzK5VA1Cv8mO7JPpT94fW0XaOdosSaSdQqEcsUU2mWCvK5kE9VI5mAOpUJXQ16my7bo7SKWwYMEC3HjjjQ67XeVN90R2djbi4+Md0q5269YNBoMB69evxw033OD0vvPmzcP777+P5ORk9O7dG0888YTXs2Ir9K0pNTUVzz77bEXuSkREoUgp598mvPyW8fDDD6N3795IS0vDwYMHMX78eBiNRocikkRERAGLMZGIiMiDYl1Av379MGPGDIf9vsyGBYDc3FzUqVPHYV9YWBgSEhKQm5vr9H4DBw5EWloaUlJSsGXLFjz22GPYuXMnPvnkE68e36OB2C1btqBFixYwGAzYsmWLy9teeumlXnWAiIiC37kFSMr7mzcOHDiAAQMG4NixY6hduzY6deqE77//HrVr1/a9o0RERH7GmEhEROQ+NYFSQHh4uEc50wFgzJgxeP75513e5pdffvG4f+cbOnSo/f9btmyJunXromvXrti9ezcuvPBCj9vxaCC2devW9hHj1q1bQ9M0qHKu1mqaBpvQtHAiIgoekj86P/zwQ987REREVEUYE4mIiACb7i7oebdK5KGHHsKQIUNc3qZRo0ZITk7GkSNHHPZbrVYcP37cq/yvpXWzdu3aJT8Qu2fPHvtV1T179njcOBEREQCPKkQTERGFBMZEIiIij2bEeqN27doerQhJT09HXl4ecnJy0LZtWwDAV199BV3X7YOrnti8eTMAoG7dul7106OB2LS0NAAl1cqeeuopPPHEE2jYsKFXD1QtaIaSzac2hArdSLUjVaxLqB2bSabwgU2qOEm0SDOw1JD51qxHSc0ol3m9pIrA6FJFToSKvalwoSInQp8LTag4iURRI00TKox0fru6guYkB5Cz/VTNCRWoEGtHqOiXCpP5vEoVbbKZpIp1iTQjV6zLLHNeMFiFik6eEmpHKI4Zhd6HUu9nqe+bckUwBY5L91+xLsbE0FPeatKKkHp7SPXHKvTT5VSRVaSd3JOFIu2cOnFWpB0l9IKdPLhXpJ2CYwdF2jmTXyTSjkXo+bHYhAo6C30upIpsSRXDk+Cvvlg9yBHrD82aNcM111yDu+++GzNmzIDFYsH999+P/v37IyUlBQDw559/omvXrnj33XdxxRVXYPfu3Zg/fz569uyJxMREbNmyBaNGjcK///1vr1O0evUNIzw8HB9//LFXD0BERKQp1xsREVGoYEwkIiIqmRHravPnWPS8efPQtGlTdO3aFT179kSnTp0wc+ZM+98tFgt27tyJgoICAEBERARWrlyJ7t27o2nTpnjooYfQt29fLFmyxOvH9mhG7Lmuv/56LFq0CKNGjfL6wYiIKERxGSYREVEJxkQiIiLY3M6I9V9QTEhIwPz5853+vUGDBg6zpFNTU7F27VqRx/Z6ILZJkyaYOHEivv32W7Rt2xbR0Y5rux988EGRjhERUfDgMkwiIqISjIlERETyOWKrC68HYt9++23Ex8cjJycHOTk5Dn/TNC3kB2Klcj0GXC47oZyaAZfLTqgdPVomQZIWJZMfyWYTymVnEsoNHCHSjFiOWKn3s1SOPpFcdoBMbmmp/NTnN+tiuSWXYQagQMqZLhRXpXI6i8VDodzZ1kihdoRyu1qjhfIgmr0sHe+EtVgqx71IM2Lfg/SiwIqHBqlc50LnDc3X85dQG07bZkwMOYE2vi5zhgV0odlqUrlCTxXK/JayFMn8tis6axFpp/jMSZF2pBSdlXmedaFRNqn3j9TnQiqfqk2qQwJ0P/VFKo9ydeP1QOyePXv80Q8iIgpiml6yOfsbERFRqGBMJCIiAnR3qQmCdJzW64HYc5XmS5C6ek1EREFKV86ng4TolVAiIgpRjIlERETQ3U77Dc6YWKE1N2+//TZatGgBs9kMs9mMFi1a4K233pLuGxERBQvlZiMiIgoVjIlERETQdeVyC9aY6PWM2CeffBIvv/wyHnjgAaSnpwMAsrOzMWrUKOzbtw8TJ070uC2bzYYJEybg/fffR25uLlJSUjBkyBCMGzfOPstWKYXx48dj1qxZyMvLQ8eOHTF9+nQ0adLE3s7x48fxwAMPYMmSJTAYDOjbty9effVVxMTEeHVsmkHzfXZvoOXEE8o1G3A5Ys0izcAWJfPJlsrtGhldJNJOgU3q9RLKrSeV2zVMph0l9H5WUjnxhD6nIrmlNaG+nN+sclGYJFjXnHgh0OKhhEDLmQ6hnM5SudetZqF4KJW7VCpnepRMXj1EyrRjK5bKmS6Vc1+kGbl4KJWjPNByphsknh//rfhjTHQtGGOiFKnck4H2NjMG6QJbq0UoJpJLFqFkqjahFQlSuV2lPu8ShyWVh/d8us1NagK/PGrV8/rbzvTp0zFr1ixkZWXhuuuuw3XXXYesrCzMnDkTb7zxhldtPf/885g+fTqmTp2KX375Bc8//zwmT56M119/3X6byZMn47XXXsOMGTOwfv16REdHIyMjA4WFhfbbDBo0CNu2bcOKFSvw2WefYd26dRg6dKi3h0ZERH5SWpjE2RbqGA+JiEIHY6JrjIlERKGBM2I9ZLFY0K5duzL727ZtC6vVu1mB3333Hfr06YNevXoBABo0aIAPPvgAGzZsAFBypXPKlCkYN24c+vTpAwB49913kZSUhEWLFqF///745ZdfsHz5cvzwww/2fr3++uvo2bMnXnzxRaSkpJR53KKiIhQV/TPzMD8/36t+ExGRl1wttwzSAOsNxkMiohDCmOgSYyIRUWjQraGZI9brgdhbb70V06dPx8svv+ywf+bMmRg0aJBXbV155ZWYOXMmfv31V1x00UX46aef8M0339jb3rNnD3Jzc9GtWzf7feLi4tC+fXtkZ2ejf//+yM7ORnx8vMPgcLdu3WAwGLB+/XrccMMNZR43KysLTz31lFd99ZjYUszAWiqmCy0tl1qibhNKTaCbZdYNREYVi7QTF1Xo/kYeKC72qQ6fnR4RIdOO1FJMqRQHUuufpJZiSp03JFKj+Kn4omZT0JxM89HcLEkJBUEZDwMtVY/Q59UWIdVOYMVDa2RgpeqJiLKItFNUKJRiRyg1QaCl6pFKPSX1+dIMQqlIRM4bQrG5HIyJrgVaTHRVW81Tgfay6gGWm8Ag9J3BJHQuChM6NxqFftMbTUL5g4QYRNK/lMyGDCRSn1OplAJSKQ4k+OuU4e5cFGCnKjEejdaMHj3a/v+apuGtt97Cl19+iQ4dOgAA1q9fj3379uG2227z6sHHjBmD/Px8NG3aFEajETabDc8884x9QDc3NxcAkJSU5HC/pKQk+99yc3NRp04dx4MKC0NCQoL9NucbO3aswzHl5+cjNTXVq74TEZHnNKWc5r1jPjzGQyKiUMKY6BpjIhFRaHA/IzY4eTQQu2nTJod/t23bFgCwe/duAECtWrVQq1YtbNu2zasH/9///od58+Zh/vz5uOSSS7B582aMHDkSKSkpyMzM9Kotb5hMJphMQtUtiIjIPVfTSQLsanhVYDwkIgohjIkuMSYSEYUGd7Oig/XapEcDsatXr/bLgz/yyCMYM2YM+vfvDwBo2bIl9u7di6ysLGRmZiI5ORkAcPjwYdStW9d+v8OHD6N169YAgOTkZBw5csShXavViuPHj9vvT0REVctVARIWJmE8JCIKJYyJrjEmEhGFBuV2pDU4g6LXiSRnz56N/v37IzLS9zwlBQUFMJyXw8loNELXS6YnN2zYEMnJyVi1apU9qObn52P9+vUYNmwYACA9PR15eXnIycmxz9T96quvoOs62rdv73Mfq4xQjiypnF1iuTllUo6KtYNIm0gzMeYi9zfyQIK5QKSd02aZq/kFJpkTn9j7Ryb1LVSA5cQTywktkhPPPzlioZTzS5rBeqnTC4EWDzWDBs1P+YK9JvT5UEahuCp0/hDLvR5gOdNNQrldYyJl4mqRWSjXeYRQ7vUAy5mupHKmB1qNhADPEcuY6FqgxcRAEmhvD4PQ90az0HfqCKl2ImVO1pFCST5NMQki7UgxSMWOACOV21VqYYMuNAgpcVhSz02Zdq1u2g2wc54Ur79VjhkzBiNGjEC/fv1w55134sorr6zwg/fu3RvPPPMM6tevj0suuQSbNm3Cyy+/jDvuuANAST7akSNHYtKkSWjSpAkaNmyIJ554AikpKbj++usBAM2aNcM111yDu+++GzNmzIDFYsH999+P/v37l1sNk4iIKh8Lk7jGeEhEFDoYE11jTCQiCg0qRNPxeD0Q++eff2LJkiWYM2cOOnfujEaNGuH22293WCbiqddffx1PPPEE7rvvPhw5cgQpKSm455578OSTT9pv8+ijj+LMmTMYOnQo8vLy0KlTJyxfvhxm8z9TQObNm4f7778fXbt2hcFgQN++ffHaa695e2hEROQvCs6vaIZm/HXAeEhEFEIYE11iTCQiCg02N7PGA20VgBRNuU/K4NThw4fx/vvvY+7cudixYweuueYa3Hnnnejdu3eZ5SSBLD8/H3Fxcehiuhlhmm9L2LRImTWCWmJNkXasSXEi7ZxNklnqfipVZmno6fpCn8iUQpFmGiQdFWknJSpfpJ3f8mqLtHNkh0w7UQeEli2dkHndI4/KpKQwHy0Wacd4QiYlhXbG93asehFW7p+OkydPIjY21uf2Ss+vV7Udi7Cw8s+PVmshVudkiT0mVZw9Hkb0Q5jm27I8TSCFEQBoNeNF2rEmy7RTmCQT509dIBMPz1wg0gwsdWXOZ4lJMnEs3nxWpJ39x2S+T+HXGJFmIo+4v40nTFLx8LhMPDQdlfk+ZTx+RqQdiMTDYqw89KZobGJMrF5KX699B3N9fi2KhCqDS02YLhZq6KzQcR08JZOOZsP+PJF2vvjpkEg7liKZc+zhfXki7fy5Uab2T/PuvUTaGdHnEpF2akXJpJJoWFPmu6tQRgqx1ATF7pb/e+D0qXx0viRNLDYdOHAAqampuPjBRS5v98f8kfi/2a/j2muv9fkxA4lPo6VJSUno1KkT0tPTYTAYsHXrVmRmZuLCCy/EmjVrhLpIRETVngKgO9mC9EonERFRuRgTiYiIYLPqLrdgnRFboYHYw4cP48UXX8Qll1yCzp07Iz8/H5999hn27NmDP//8EzfffDMyMzOl+0pERNWUppTLjYiIKFQwJhIREQFKKZdbsPI6R2zv3r3xxRdf4KKLLsLdd9+N2267DQkJ/1Txi46OxkMPPYQXXnhBtKPVhiGwqs9KVcPVwwKr6r0eLvOhNJtkqjvHm2SW5CVEyCzJi46QWcqmh8usq1BhMktwdaH3s9TnQqzatFjVaonnWea1KkNXgObk/RSiSdqDnib1+ZCqoh5g8VBmFR10k8znx2CSWT4ZKxQPa5llUrb8ZZJJKXAmQqiSstj3MpFmoAud8pXU91+pz7vE+cefRcEZE6mKiYVooYbChX77xphlTo4JsTJp+WxCn+cz+TKxNbJmkkg7pkihLzEBJtBSCkiNQ1p03w/MKtBGeWxu0psE62Cs12eqOnXqYO3atUhPT3d6m9q1a2PPnj0+dYyIiIKIDuc/av0T14mIiAITYyIRERGULjMRoLrxeiD27bffdnsbTdOQlpZWoQ4REVHwcbXcksswiYgolDAmEhEReTIQG5wxsUJz91etWoVVq1bhyJEj0M+bovzOO++IdKy60rTAWkIplpogPLCW0imhJYKRQqkJYsNlqjsnhsukJpBKlQChFBBir7vYUkyhz5fUUkyp9WEi/fHTWkxdd7EMk9N/Ao6mAb7GswBL1RNwKXak2hGKhyaTVaSdBLNMPKxjOiXSzgFznEg7p6VSEwi9D8VS7ATY900lFA81kdQEfsxNwJhYrRg030Oa1KsaaJkrpLKJRIXL5ElJMMssmb8oqYZIO1KpCU6eLhZp50RKY5F2ImMiRNoRy84mdL62BdiFMItNpj8S7Vj8NHFVt7h5bwfYayLF658BTz31FCZOnIh27dqhbt26Ml90iIgouCnlPJAGaYAlIiIqF2MiERGR+xmxQRoSvR6InTFjBubMmYNbb73VH/0hIqIgpNkUNCeRVBO62ktERFQdMCYSEREButX1jFgVpCOxXg/EFhcX48orr/RHX+gcSmwpplA7QlV1papEI0JmgU9UhMwyj8QImerOSeEnRdqJDU8UaQfhMs+zknr/SFV3DrAq0VKf94BeisnZP1RRQuselVA7YikOhOKhMsmcp6Mji0TaSYyQSbFTO0ImNUGsUKqeP4VS9Uil2BGLYwGW4kBwnapAI35c9ceYSFVMKKMAjELfGyPDZXpUM1ImuF5YO1qkHanrKnlnZdLpnThyWqSduvFmkXYMUrFDiB6k51+LQMobiTbK435GbHC+Jl6f8e666y7Mnz/fH30hIqJgpSvXGxERUahgTCQiIoLNWuxyU0E6EOvRdfnRo0fb/1/XdcycORMrV67EpZdeivBwx6tOL7/8smwPiYio+lO68wIkioVJiIgohDAmEhERuZ8RG8qpCTZt2uTw79atWwMAfv75Z4f91b5wl0HzfVlugC3NUkLrTsSWwAktydPCZcr2xUXILFlMDJdZQlk7LF+knfhwmarVWlhgpSaQSykg1I7UEkqpdkTOwUxNQDI0TSilgNB3C6nPqy4UxwItVU+8WSZuJJlk4lhKxAmRdhJMSSLtKKHnWQ+TCWRiqXqk1idLff+V+i0RyKl6AMbEEBSsL2uY0Gc/QihGx5llgnS4MUqkHalTY36hTGqC3+rEiLSTEG0SaSc8wFITWIRySRiE4odUqgSJ47L4abWGbnGTKjJIT54enalWr17t734QEVEw0xWcXtHkMkwiIgoljIlEREQezIgNTkLzOsgukK7kQ3IGkFA7QjM4DEJFpOJNMjOAaofJzIhNNMoUOakZJlM8zBAmVJxEauaO0MdLrjiJSDOBdd7w1wwg3QbASaAN0QBMHpL6vIq1I9KM2AoRg9AKkQSheFg3Ik+knaQwmeKVCeEy8VCTKtYVaCtEAq7ol1TxSoF2hGb1l4sxkaqY1EpWoTqYYjMjTUaZk1oNk0yQjhYqQna0QGZGbJrQjNjEmAiRdqRmjhqF3j+2IJ19KTGz1l+5Wt0NxIZ0jlgiIiKfcPYPERFRCcZEIiIi6FZ3FxmCMyZyIJaIiPxPVwCczGTnj04iIgoljIlERETuUxMEaUjkQGyAklqaFaxLMcOkinUJFbWSWkJZWyg1QZxQagKj0PMsVlQkwIqTKKFlMGJFvyT6I5X/oUy7LEwScgKseI/U514sVY9QPDQKpeqpGSETNy4IlymylSxUvDIx4rRIO1IpIAIupYBUHJNKaxNQxcNYrItK6Mr38fFAG1+XCtFSH1mpr8LhQg2ZhXIuJJhlTtb1YmWKY9WNM4u0EyNUFE0qpYDU+1mqOFagkSi05a9iXTar62JdytlFy2rOj8mPiIiI/qbrrjciIqJQwZhIREQEZbO53Pw5I/aZZ57BlVdeiaioKMTHx3vWX6Xw5JNPom7duoiMjES3bt3w22+/ef3YHIglIiL/449OIiKiEoyJRERE0K3FLjd/rhIpLi5Gv379MGzYMI/vM3nyZLz22muYMWMG1q9fj+joaGRkZKCwsNCrx2ZqgkAltnRaph2ppeV6mMwHKcIotBRTaAl/olFm6WMNg8xxxRtljivMKLMUs8goVG1abAmlSDNyqxallnRKtCPVl/OxMAlVkFiqHqGUAoG2tDxMKB7Gh8vEjdpGmZQC8QbXS9U8FWeUSUFkDJN5nsXeP0KnarF2pKZ2+CsGBRrGRKogqQrimtB3aqml5VqQXn8whcmcHE1GmeAh9XpFhgsFswBjk3ofGmQ+p1L9sQnEFYk2yuM2RywULBYL8vMdv1+aTCaYTL6l7HjqqacAAHPmzPHo9kopTJkyBePGjUOfPn0AAO+++y6SkpKwaNEi9O/f3+PH5oxYIiLyO6V0lxsREVGoYEwkIqJQFhkZCUCDfvYElG4rd9OtRVCWAnz66aeIi4tz2LKysiq9z3v27EFubi66detm3xcXF4f27dsjOzvbq7Y4I/ZcugI0H0f6xYoVCM0AEismJNKMWDvhYULFusJkZsrUEJq5U0OT+UjWMMgcl9TzXCh10TTAZoqLFcOTKkYk0I5YwZXz6Trg7Mclf3SSKwFWXE+u+KDMzAKp83SMsUikHal4GC10KooyyByXUWjmsTXQ4ligzWQNpHb8OTuXMbFaMWi+FwOSmslqE5qUJjUIEGhz2KWKLdmE2rEKzSK0CKUsKSiW+c4QrMSKdelC3zmDtHgYACQmJkJLaAxb7maEpf273NvoR3+BFh6NGTNm4LXXXnP4m6+zYSsiNzcXAJCUlOSwPykpyf43T3FGLBER+R/z4REREZVgTCQiohC3Z+MKqLw/oM6eKPM3ZSuGfngrli2cB7PZjNjYWIfN2UDsmDFjoGmay23Hjh3+PjS3OCOWiIj8TtlsUFr5V+GV4tV5IiIKHYyJREQU6tLS0mBIvAi2QxsR1qirw9/0I9ugmWuie/fuXrX50EMPYciQIS5v06hRI2+7CgBITk4GABw+fBh169a17z98+DBat27tVVsciA1QYsuDA60Ig9RSTINQagKholbRTr5Me8ukmUXaiRZaihkhVKxL6nWXWlosV2QrwNqR+Jz6awWMclGYJIiX3ZAAsdQdIs3IpUoQSnEgtWQ+Tqh4pVmo4opJk3mizQaLSDtSz7MlSOOhXPGwAEpN4M9F14yJ1YoG398NUvOcLUJL3U1C72+p4k9SX0AtQrkbIoRidKFVpj9FVpl30MmzMjHxrEXmN6IhwAo0Sn2+DL6muwwhB39ejeSUetDP/AVDdG0AgLIWQv/rZ3yzbg00L98jtWvXRu3atf3RVTRs2BDJyclYtWqVfeA1Pz8f69evx7Bhw7xqi6kJiIjI/3TleiMiIgoVjIlERERISkqCoXZz6Idy7Pv0w1ugxSSjY8eOfn3sffv2YfPmzdi3bx9sNhs2b96MzZs34/Tp0/bbNG3aFAsXLgQAaJqGkSNHYtKkSVi8eDG2bt2K2267DSkpKbj++uu9emzOiCUiIr9TNt3FMkzmwyMiotDBmEhERFTi2I61qFkrCfqpg9BMsdCP7sDmTTnu7+ijJ598EnPnzrX/u02bNgCA1atXo3PnzgCAnTt34uTJk/bbPProozhz5gyGDh2KvLw8dOrUCcuXL4fZ7N3KZg7EnkspyC0c8ZHU0seAW3Im006EUJXoGsZCkXaihJZVmLRwkXbMmlWknTChpZhi7x+xz0WALXUOsGU5fqF0OD2/8kdn4AmkeCgl0M5DAZaqRyqlTbTQ82zWZNaFRgkdV5hQqh6xVE8B9r0soFLsVAeMidWKQdN8XkItlXHCJtSQVH+kMhMooQ4VBNiSeanXS2rJ/Nlimd+INqH+WGxCaX/EUmQICbD+SKQQkUtDUlZ8fDwMdVqWzIo1J0CLq49WrVr57fFKzZkzB3PmzHF5m/PPTZqmYeLEiZg4caJPj82BWPzz5FqV7zlTDHqxz20AgM0qM0Botch8o7UVyfwg0s/KnGytZ2R+WBWckgnWp4Ty9piFfuidkXn7iD3P+lmZDtmKhN7PMh9TWC0yX2asVpkOKZvvr5f17zakvhCXsujFUE7yf1khk6+KfBeI8VAXeF8DgNUi85Un0OKhrUDm+Tl7WuZ8dkqo4rtmkGmnoEAmrko9z3qhVDwUGiQoljnXS8VDo9D3X5F4qPsnHgKMidVF6Wt/6tQpn9s6dVbmM1IkNHClhQvFsgiZ7+anCoV+A52SOVdLJYk9BZlJNmdOnxVpx3L2tPsbeaDwjMx3qgKT0KQfofezFH8OWlaERE7fgr+X6/sjJgJA/m9rERNfGyg4hl9/3emXxwgkmvLXM1mNHDhwAKmpqVXdDSKigLF//37Uq1fP53YKCwvRsGFD5ObmurxdcnIy9uzZ4/WyDpLFeEhE5EgqHgKMidUNYyIRkSPJmHi+pUuX4rp7n4V13zd+aT+QcCAWgK7rOHjwIGrUqOF1VbZAlp+fj9TUVOzfvx+xsbFV3R0xPK7qhcdVvSilcOrUKaSkpMBgkJnlUFhYiOJi17MjIyIi+IMzADAeVi88ruqFx1W9+CMeAoyJ1QljYvXC46peeFzVi79iYqhiagIABoPBb6P6gSA2NjaoTgKleFzVC4+r+oiLixNtz2w28wdlNcF4WD3xuKoXHlf1IR0PAcbE6oQxsXricVUvPK7qwx8xMVRxKJuIiIiIiIiIiIjIzzgQS0RERERERERERORnHIgNYiaTCePHj4fJZKrqrojicVUvPC4iqmrB+nnlcVUvPC4iCgTB+pnlcVUvPC4KZSzWRURERERERERERORnnBFLRERERERERERE5GcciCUiIiIiIiIiIiLyMw7EEhEREREREREREfkZB2KJiIiIiIiIiIiI/IwDsURERERERERERER+xoHYaubPP//E4MGDkZiYiMjISLRs2RI//vij/e9KKTz55JOoW7cuIiMj0a1bN/z2228ObaxduxZdunRBQkICoqKi0KRJE2RmZqK4uLiyD8du+vTpuPTSSxEbG4vY2Fikp6dj2bJl9r8XFhZi+PDhSExMRExMDPr27YvDhw87tLFw4UJ06NABcXFxqFGjBi655BKMHDmyko+kYqZNm4YGDRrAbDajffv22LBhQ1V3ySlfX6s//vgDmqahTp06OHXqlEPbrVu3xoQJEyrrUMqQ+Hxpmgaz2Yy9e/c67L/++usxZMiQyjgMopARjDEx1OMhwJhYqipjIuMhUfXDmMiYWJWCNR4CjIkkjwOx1ciJEyfQsWNHhIeHY9myZdi+fTteeukl1KxZ036byZMn47XXXsOMGTOwfv16REdHIyMjA4WFhQCA7du345prrkG7du2wbt06bN26Fa+//joiIiJgs9mq6tBQr149PPfcc8jJycGPP/6ILl26oE+fPti2bRsAYNSoUViyZAkWLFiAtWvX4uDBg7jxxhvt91+1ahVuueUW9O3bFxs2bEBOTg6eeeYZWCyWqjokj3300UcYPXo0xo8fj40bN6JVq1bIyMjAkSNHqrpr5fL1tSp16tQpvPjii5XdfackPl+lNE3Dk08+WdmHQBRSgjUmhnI8BBgTAwHjIVH1w5jImFjVgjEeAoyJ5CeKqo3HHntMderUyenfdV1XycnJ6oUXXrDvy8vLUyaTSX3wwQdKKaVeeeUV1aBBA7/3VULNmjXVW2+9pfLy8lR4eLhasGCB/W+//PKLAqCys7OVUkqNGDFCde7cuaq66pMrrrhCDR8+3P5vm82mUlJSVFZWVhX2yjvevFZ79uxRANQjjzyiYmJi1OHDh+23bdWqlRo/fnxld18pJfP5UkopAOrhhx9WBoNBbd261b6/T58+KjMz0y99JwpFoRQTQyUeKsWYGAgxkfGQqPphTCzBmBhYqns8VIoxkfyDM2KrkcWLF6Ndu3bo168f6tSpgzZt2mDWrFn2v+/Zswe5ubno1q2bfV9cXBzat2+P7OxsAEBycjIOHTqEdevWVXr/PWWz2fDhhx/izJkzSE9PR05ODiwWi8NxNW3aFPXr13c4rm3btuHnXBgdzQABAABJREFUn3+uqm5XSHFxMXJychyOzWAwoFu3bvZjC2QVea1KDRgwAI0bN8bEiRMru9vlkvh8lerYsSOuvfZajBkzptL6TxRqQiEmhlI8BBgTAyUmMh4SVT+MiSUYEwNDsMRDgDGR/IMDsdXI77//junTp6NJkyb44osvMGzYMDz44IOYO3cuACA3NxcAkJSU5HC/pKQk+9/69euHAQMG4D//+Q/q1q2LG264AVOnTkV+fn7lHkw5tm7dipiYGJhMJtx7771YuHAhmjdvjtzcXERERCA+Pt7h9uce1wMPPIDLL78cLVu2RIMGDdC/f3+88847KCoqqoIj8dzRo0dhs9lcvmaByJfXqpSmaXjuuecwc+ZM7N69uxJ7Xz6Jz9e5srKysHz5cnz99df+7zxRCArmmBiK8RBgTAyUmMh4SFT9MCb+gzGx6gRbPAQYE8k/OBBbjei6jssuuwzPPvss2rRpg6FDh+Luu+/GjBkzPG7DaDRi9uzZOHDgACZPnowLLrgAzz77LC655BIcOnTIj7137+KLL8bmzZuxfv16DBs2DJmZmdi+fbtH942Ojsbnn3+OXbt2Ydy4cYiJicFDDz2EK664AgUFBX7ueejx5bU6V0ZGBjp16oQnnnjCD730jsTn61zNmzfHbbfdxiueRH4SzDGR8bB6CbaYyHhIVP0wJpaPMbFyBVs8BBgTyT84EFuN1K1bF82bN3fY16xZM+zbtw9AydILAGUqRR4+fNj+t1IXXHABbr31VkydOhXbtm1DYWFhhU8mUiIiItC4cWO0bdsWWVlZaNWqFV599VUkJyejuLgYeXl5Drcv77guvPBC3HXXXXjrrbewceNGbN++HR999FElHoV3atWqBaPR6NFrFkgkXqtSzz33HD766CNs2rSpEnrunOTnq9RTTz2FjRs3YtGiRfIdJgpxwRwTQzEeAoyJQGDERMZDouqHMfEfjIlVJ9jiIcCYSP7BgdhqpGPHjti5c6fDvl9//RVpaWkAgIYNGyI5ORmrVq2y/z0/Px/r169Henq603Zr1qyJunXr4syZM/7peAXpuo6ioiK0bdsW4eHhDse1c+dO7Nu3z+VxNWjQAFFRUQF3XOeKiIhA27ZtHY5N13WsWrXK5bEFGl9eqyuuuAI33nhjlV8V9MfnKzU1Fffffz/++9//Vlm1WaJgFUoxMRTiIcCYCARGTGQ8JKp+GBNLMCYGluoeDwHGRPKTqq4WRp7bsGGDCgsLU88884z67bff1Lx581RUVJR6//337bd57rnnVHx8vPr000/Vli1bVJ8+fVTDhg3V2bNnlVJKzZgxQ917773qiy++ULt27VI///yzevTRR5XBYFBr1qypqkNTY8aMUWvXrlV79uxRW7ZsUWPGjFGapqkvv/xSKaXUvffeq+rXr6+++uor9eOPP6r09HSVnp5uv//48ePVI488olavXq1+//13tXHjRjVkyBAVGRmpduzYUVWH5ZEPP/xQmUwmNWfOHLV9+3Y1dOhQFR8fr3Jzc6u6a+Xy9bUqrYi5adMm+76dO3eqsLAwZTabq6wipsTnS6mSipgLFy60//vYsWMqLi5Omc1mVsQkEhSsMTGU46FSjIlKVX1MZDwkqn4YExkTq1owxkOlGBPJPzgQW80sWbJEtWjRQplMJtW0aVM1c+ZMh7/ruq6eeOIJlZSUpEwmk+ratavauXOn/e8bN25UgwcPVg0bNlQmk0klJiaqf//732rx4sWVfSgO7rjjDpWWlqYiIiJU7dq1VdeuXe0nbaWUOnv2rLrvvvtUzZo1VVRUlLrhhhvUoUOH7H//6quvVN++fVVqaqqKiIhQSUlJ6pprrlFff/11VRyO115//XVVv359FRERoa644gr1/fffV3WXnPL1tSovyCql1NChQxWAKguySvn++VKqbJBVSqlnn31WAWCQJRIWjDEx1OOhUoyJSlV9TGQ8JKp+GBMZE6tSsMZDpRgTSZ6mlFKVPQuXiIiIiIiIiIiIKJQwRywRERERERERERGRn3EgloiIiIiIiIiIiMjPOBBLRERERERERERE5GcciCUiIiIiIiIiIiLyMw7EEhEREREREREREfkZB2KJiIiIiIiIiIiI/IwDsURERERERERERER+xoFYIiIiIiIiIiIiIj/jQCwRERERERERERGRn3EgloiIiIiIiIiIiMjPOBBLRERERERERERE5GcciCUiIiIiIiIiIiLyMw7EEhEREREREREREfkZB2KJiIiIiIiIiIiI/IwDsURERERERERERER+xoFYIiIiIiIiIiIiIj/jQCwRERERERERERGRn3Eglqrc5MmT0bRpU+i67vV9x4wZg/bt2/uhV+7973//Q0JCAk6fPl0lj3+u5cuXIyYmBn/99VdVd4WIiPzk/Hj5xx9/QNM0vPjii27vy3hZgvGSiMj/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WTqw+umnn3o8sDpy5EivBm+JiAJdRc773sSl/fv3lzsYGyhx6aqrriozoGwwGNC1a1e8/PLL2L59O5555hl89dVXWL16tcPt9uzZA4PBgIsuukikPxUZWB08eDAaN26Mp556yqPB21atWpVJL5ecnOxxHzt16oT69etjzZo1Xv9mHDBgANasWYNmzZqhdevWXt2XqKpxIJaqTGn+nR9//NFhf0ZGBiwWi0NhKF3XMW3atHLbOXnyJHbv3o0rr7zS7WP27NkTBw4cKLNEo6ioCG+99Rbq1KnjttBG27ZtERERUabfvjp8+HCZ5SzAP7mMShkMBlx66aX2fp8rJyfHIa8RUPL87NixAydPnvS6TzfddBPGjx+PN954AxERER7fLyYmBtOnT8eECRPQu3dvrx+XiIj+4Sxeeovx8h/S8RL4Z2B14sSJHt3+3MHbzZs3V+gxiYgCSUXi1caNGz2OSxaLBW+++abDfl3XMX36dERERKBr164u27jggguQmpoqHpcsFgtWrFhRJi4dP368zG1LBw3Li0uXXHKJPe0BUDLTd8eOHRXO7X7uwKonzh28Xbx4sdvb16xZs0x6OXezks+laRpee+01jB8/HrfeeqvH9wOAu+66C+PHj8dLL73k1f2IAkFYVXeAQlejRo3QokULrFy5EnfccYd9//XXX48rrrgCDz30EHbt2oWmTZti8eLF9kB2fv6XlStXQimFPn36uH3MoUOH4p133kG/fv1wxx13oE2bNjh27Bg++ugj/Pzzz3j33XfdDjiazWZ0794dK1eu9PjHlieWLl1aZjkLUBJkjh8/ji5duqBevXrYu3cvXn/9dbRu3drh6vGRI0ewZcuWMkXNFi5ciNtvvx2zZ8/2ugBJXFxchfPXlbcUlIiIvOcsXnqL8bKEP+IlUBIzR4wY4dUM1xEjRuCVV17BTz/9hOjoaK8fk4gokHgbr3JycnD8+HGP4lLv3r3RvXt3jBo1Chs2bMCVV16JgoICLF68GN9++y0mTZrk0SqHPn36YOHChaI507/55hvk5+eXGYidOHEi1q1bh169eiEtLQ1HjhzBG2+8gXr16qFTp07221ksFqxduxb33Xefw/03bNiAq666CuPHj6/QbzKj0YjHH38ct99+u8f3GTRoEJ5++ulKu0DYp08fj17/86WlpTHPOlVbnBFLVeqOO+7AkiVL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vafCwsLUu+++a95m+vTpql69euqTTz5R3333nerTp49KSEhQFy5cUEoptWDBAvXoo4+qDRs2qJ9++kkdOHBAjR8/Xul0OrVly5ba2jX1zDPPqK1bt6qcnBz13XffqWeeeUZpmqY+++wzpZRSjz76qGrSpIn64osv1DfffKOSkpJUUlKS+fmTJ09WTz31lNq8ebP65Zdf1J49e9SQIUNUaGioOnz4cG3tlkOWLVumgoOD1ZIlS9TBgwfV8OHDVb169VRubm5td61Krv6tKipi7t2717zuyJEjKiAgQIWEhNRaRUyJz5dS5RUxV6xYYf73n3/+qSIjI1VISAgrYhIJ8tWY6M/xUCnGRKVqPyYyHhJ5H8ZExsTa5ovxUCnGRHIPDsR6mdWrV6u2bduq4OBg1apVK7Vw4UKLx00mk5o0aZKKiYlRwcHBqnv37urIkSPmx/fs2aMGDRqkEhISVHBwsGrQoIG6+eab1apVq2p6Vyw89NBDqmnTpiooKEg1bNhQde/e3XzSVkqpCxcuqMcff1zVr19fhYWFqbvvvludPHnS/PgXX3yhUlNTVePGjVVQUJCKiYlRt99+u/ryyy9rY3ecNmfOHNWkSRMVFBSkbrjhBrVjx47a7pJVrv6tqgqySik1fPhwBaDWgqxSrn++lKocZJVS6qWXXlIAGGSJhPliTPT3eKgUY6JStR8TGQ+JvA9jImNibfLVeKgUYyLJ05RSqqZn4RIRERERERERERH5E+aIJSIiIiIiIiIiInIzDsQSERERERERERERuRkHYomIiIiIiIiIiIjcjAOxRERERERERERERG7GgVgiIiIiIiIiIiIiN+NALBEREREREREREZGbcSCWiIiIiIiIiIiIyM04EEtERERERERERETkZhyIJSIiIiIiIiIiInIzDsQSERERERERERERuRkHYomIiIiIiIiIiIjcjAOxRERERERERERERG7GgVgiIiIiIiIiIiIiN+NALBEREREREREREZGbcSCWiIiIiIiIiIiIyM04EEtERERERERERETkZhyIJSIiIiIiIiIiInIzDsR6oRkzZqBVq1YwmUzmdZqmYcqUKeZ/L1iwAE2aNEFJSYnY6y5ZsgSapuHXX38Va7MqXbt2RdeuXe1ut2XLFmiahi1btrj8mpJtOevXX3+FpmlYsmSJQ9v/97//RVRUFM6dO+fejjlhyJAhqFOnjlh769evR506dfDHH3+ItUlE/uHSGFlxjv3Xv/5l83nuOO/UVGwZMmQImjVrZnc7Z+NNTbVVHZd+77Fl165dCAoKwtGjR93bKSdMmTIFmqbh9OnTIu0dPHgQAQEBOHDggEh7ROR+vKYrx2s6XtMR+RsOxHqZwsJCvPzyy3j66aeh01n/8w0ZMgSlpaV44403HGpX+qRL7mE0GjF58mSMHDmy1v9eqampuPPOO93S9u23344WLVogIyPDpXa6du0KTdPQsmXLKh/fuHEjNE2Dpmn48MMPzesrvqBqmoavvvqq0vOUUmjcuDE0TUOvXr0sHqt43qVLbGysS/tCRPY5GiOr4ux5R3ogjdzn2WefxX333YemTZvWaj+eeOIJtGnTxi1tt2nTBj179sRzzz3nUjtDhgyBpmm49tproZSq9LimaRgxYoT53xUDD5qm4aOPPqq0PT8nRFXjNZ1/4zWdcyqu6Xr37l3psap+cK8YkNc0DdnZ2ZWe447PicT148MPP1xl288++6x5m4vjaUXMrmpZv3696P6RLA7Eepn//Oc/KCsrw3333Wex/sKFC5g4caL53yEhIUhLS8PMmTOr/CJdHQ888AAuXLjg9guZzz77DJ999plbX8NbrV69GkeOHMHw4cNrtR8GgwEbN25Ez5493fYajzzyCN544w2cPXvWpXZCQkLw008/YdeuXZUee++99xASEmLzuUuXLq20fuvWrfjtt98QHBxc5fNuu+02vPPOOxbL3Llzq78TROQQazHSUVLnnQo333wzLly4gJtvvlmkPWsWLVqEI0eOuPU1vNW+ffvw+eef49FHH63truDTTz91a9x89NFHsWLFCvz8888ut7V//358/PHHTj1n6tSpYt85iXydo/GK13S+idd01bNmzZoqB1ZtcfTuGSnVvX4MCQnBRx99hNLS0kqPvf/++1avWYODgytdd77zzjto166daztCbsWBWC+TmZmJu+66q9IHMSQkBAEBARbr7r33Xhw9ehSbN28WeW29Xo+QkBBomibSnjVBQUEICgpy62t4q8zMTHTp0gWXX355rfbjyy+/xNmzZ90atFNTU1FSUoLly5e71M4VV1yBq666Cu+//77F+uLiYqxYscLmPtx5551Yvnw5ysrKLNYvXboUiYmJVme5XnnllRg0aJDFkpqa6tJ+EJF91mKko6TOOxV0Oh1CQkKcnp3rrMDAQKtf7P1dZmYmmjRpgs6dO9dqP3755RccOXLErXEzOTkZ9evXx1tvveVSO6GhobjyyiudGlht3749vvvuO6xYscKl1ybyF87EK17T+R5e0zmvSZMmqF+/Pp5//nmHn9O+fXusWbMGe/bscem1nVHd68fbb78dhYWFWLduncX67du3Iycnx+rfKCAgoNJ156BBgxAXFyezQ+QWHIj1Ijk5Ofjuu++QnJxc6bGqcqUlJiYiKioKn3zyicjrV5VPSCmFadOmoVGjRggLC8Ott96K77//Hs2aNcOQIUPM21XcmuZIm1XlE/rtt9/Qt29fhIeHIzo6GmPHjnUqV9Lvv/+OoUOHIj4+HsHBwUhISMBjjz1W5S9OF1u+fDkSExMRGhqKyy67DIMGDcLvv/9usY21/EdV5ezLz8/HkCFDEBkZiXr16iEtLQ35+fkO7UNxcTHWr19v9e8/YsQILF++HG3atEFoaCiSkpKwf/9+AMAbb7yBFi1aICQkBF27dq0yJ9TcuXPRvHlzhIaG4oYbbsCXX35pdd8+/fRTtGnTxmZOwn379qFhw4bo2rWrOfeRyWTClClTEB8fbz5eDh48WOl4AYDo6Ghce+21lY7fgoICHD58GAUFBbbfsIvcd999+OCDDyxycK1evRpFRUW49957bT7vzz//xMaNG83rSktL8eGHH+L+++93+PWJyP1sxchLKaUwfPhwBAUFWcz6s3beqS5rueoWLlyIK664wub51loOv6ralI43Fc8fO3YsmjVrhuDgYDRq1AiDBw+2e4v5F198gf/7v/9DeHg46tWrhz59+uDQoUMW21jLaVvVd4WSkhKMHTsWDRs2RN26dXHXXXfht99+c3g/Vq5ciW7dulVqt1mzZujVqxe2bNmCjh07IjQ0FNdcc435ff34449xzTXXICQkBImJidi7d2+ltitibkhICNq2bYsVK1ZY3bdPP/0UkZGRuOmmm6z29ejRo2jRogXatm2LvLw883pH43NgYCC6du1a6fgtKirC4cOHHU4PoNPpMHHiRKcGVgcMGOD04C2Rv3ImXgG8prsYr+n895qubt26GDt2LFavXu3wwOrIkSNRv379Gp0VW93rx8svvxw333xzpdm07733Hq655hq0bdvWbX2mmseBWC+yfft2AMB1113n8HOuu+46fP311+7qEp577jlMmjQJ7dq1wyuvvILmzZujR48eOH/+vNhrXLhwAd27d8eGDRswYsQIPPvss/jyyy8xfvx4h55/4sQJ3HDDDVi2bBn+8Y9/YPbs2XjggQewdetWFBUVWX3ekiVLcO+990Kv1yMjIwPDhg3Dxx9/jJtuusmpi9kKSin06dMH77zzDgYNGoRp06bht99+Q1pamkPPz87ORmlpqdW//5dffoknnngCaWlpmDJlCg4dOoRevXph7ty5mD17Nh5//HE89dRTyMrKwkMPPWTx3Pnz52PEiBFo1KgRZsyYgf/7v/9D3759rV7srl271mYuod27d6Nbt27o0KED1q1bZ87BM2HCBDz//PPo2LEjXnnlFbRs2RIpKSlWj5fExETzcV9hxYoVaN26tVOzbu6//36cPHnSYuBi6dKl6N69O6Kjo60+r1mzZkhKSrKYTbtu3ToUFBRgwIABVp9XXFyM06dPWyySRRaIqDJHY6TRaMSQIUPw9ttvY8WKFejXr5/F41WddyQtXrwYjzzyCGJjYzFjxgx06dIFd911F44fPy72Gq7Gm3PnzuH//u//MGfOHPTo0QOvvfYaHn30URw+fNjmIOjnn3+OlJQUnDp1ClOmTMG4ceOwfft2dOnSpdpFYR5++GHMmjULPXr0wPTp0xEYGOjwzJ3ff/8dx44ds3pM/PTTT7j//vvRu3dvZGRk4MyZM+jduzfee+89jB07FoMGDcLzzz+Pn3/+Gffee6/Fj3mffvop/vGPfyAwMBAZGRno168fhg4davWWybVr1+K2226rdPdShZ9//hk333wz6tatiy1btiAmJgaA8/E5MTERBw4cQGFhoXndrl270Lp1a7z++usOvW9Aedxs2bKlwwOrer0eEydOxLfffstZsUR28JqO13S8pqveNd3o0aOdGliNiIhwevDWVdW9fgTKY+/q1avNA95lZWVYvny53QlAl153OjNhiWpH1d8GySMdPnwYAJCQkODwc5o3b4533nnHLf35448/MGPGDPTs2ROrV682/zr67LPP4qWXXhJ7nYULF+KHH37Af//7X/Tv3x8AMGzYMIfznkyYMAG5ubnYuXMnOnbsaF5v6+LCYDDg6aefRtu2bbFt2zbzbUM33XQTevXqhVdffdWp2yIAYNWqVdi2bRtmzJiBp556CgDw2GOP4dZbb3Xo+fb+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NKxatcr8mDPxuUJ2djauvvpqi5zDRUVFOHz4cLXzHl88sOqIiwdvL94fIirHazpe0/GazrVrOuB/A6tTp051aPuLB2/37dtnd/u4uLhKt/w7w5XrxyeffBKTJ0/GpEmTnHoeeY8A+5uQp2jevDnatm2Lzz//HA899JDd7bOzs/HXX3+hT58+DrVvMBgwbdq0SuujoqIqJeMGyn+ZfPLJJ5GRkYFevXrhzjvvxN69e7Fu3bpKv9z06NEDTZo0wdChQ/HUU09Br9fjP//5Dxo2bIhjx47Z7NewYcPw+uuvY/DgwcjOzkZcXBzeeecdhIWFObRfL730Ej777DPccsstGD58OFq3bo2TJ09i+fLl+Oqrr6q8TSAwMBAvv/wyHnzwQdxyyy247777kJeXh9deew3NmjXD2LFjzds+9NBDmDlzJlJSUjB06FCcOnUKCxYswNVXX43CwkLzdr1790aXLl3wzDPP4Ndff0WbNm3w8ccfOxx8QkJC0KNHD3z++ecOBxxHBAUFYcqUKRg5ciS6deuGe++9F7/++iuWLFmCK664wuI2nbVr1+LBBx+02V5oaCjWrFmDbt264Y477sDWrVvRtm1bxMTEYPTo0fj3v/+Nu+66C7fffju+/fZb8/Fy6e1Ap06dwnfffYf09HSL9StWrMCDDz6IzMxMp5O7R0ZGOl2spEJaWlq1nkdENcPRGNm3b19kZmZi8ODBiIiIwBtvvGF+zNp5x5aZM2dWikc6nQ7//Oc/K20bGBiIadOm4ZFHHkG3bt3wj3/8Azk5OcjMzKyUI/bqq69G586dMWHCBPz111+IiorCsmXLrM7kvZir8eapp57Chx9+iP79++Ohhx5CYmIi/vrrL6xatQoLFiywWuH6lVdewR133IGkpCQMHToUFy5cwJw5cyqdewcMGICnn34ad999N0aNGoWioiLMnz8fV155Jfbs2WPern379rjvvvswb948FBQU4MYbb8SmTZuqnIlqTZ8+fbBixQoopURzK7700kvo06cPunTpggcffBBnzpzB66+/jrZt21oMzn766ae44447bL62TqfDu+++i759++Lee+/F2rVr0a1bN6fiM1D+PW7r1q2VvrPt2rULt956KyZPnlytGKjX6/Hss8/ajf8XGzhwIF544QWHLnaJ/A2v6XhNx2s6167pgPLrutGjRzv8IyFQntLg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aNAAANCoUSO888470Ov1cHNzAwCsX78elSpVylVaAoADsU7Nw8MD48ePF6kml59wvwoW7hc5wvDhw9G7d2/UrVsX9evXx6xZs3Dv3j1zxWii+znr95X7VbBwv8hRGBPJHs76neV+FSzcL8pLpUuXtvi3r68vAKB8+fLmlDTdu3fHxIkT8fLLL2PUqFE4fPgwPvnkE8ycOTPXz68ppaTqmRMRET00n332GaZPn47Y2FjUrl0bn376qfkXTCIiosKEMZGIiChnzp07h4iICOzbtw+1a9c2bz948CAGDhyIPXv2oFixYhg8eDBGjRqV6+fjQCwRERERERERERGRg+nyugNEREREREREREREzo4DsUREREREREREREQOxoFYIiIiIiIiIiIiIgfjQCwRERERERERERGRg3EgtoC5dOkSevbsiaCgIHh5eaFGjRr4+++/zfcrpTBu3DiUKFECXl5eaNWqFU6dOmXRxtatW9GiRQsULVoU3t7eqFixInr37o3U1NSHvTtmc+bMQc2aNeHv7w9/f380atQIa9asMd+fnJyMgQMHIigoCL6+vujUqROuXr1q0cby5cvRsGFDBAQEwM/PD9WqVcPQoUMf8p7kzOeff46yZcvC09MTDRo0wO7du/O6S1bl9r06d+4cNE1DcHAw7ty5Y9F27dq1MWHChIe1KxlIfL80TYOnpyfOnz9vsb1Dhw7o06fPw9gNokLDGWNiYY+HAGNiuryMiYyHRAUPYyJjYl5y1ngIMCaSPA7EFiC3b99G48aN4ebmhjVr1uDo0aP4+OOPUaRIEfNjpk2bhk8//RRz587Frl274OPjg6ioKCQnJwMAjh49ijZt2qBu3brYtm0bDh06hNmzZ8Pd3R1GozGvdg2lSpXClClTEB0djb///hstWrRA+/btceTIEQDAsGHD8Ntvv2HZsmXYunUrLl++jI4dO5r/fuPGjXjhhRfQqVMn7N69G9HR0fjggw+g1+vzapdstnTpUgwfPhzjx4/H3r17UatWLURFReHatWt53bVM5fa9Snfnzh189NFHD7v7Vkl8v9JpmoZx48Y97F0gKlScNSYW5ngIMCbmB4yHRAUPYyJjYl5zxngIMCaSgygqMEaNGqWaNGli9X6TyaRCQ0PV9OnTzdvi4uKUh4eH+uGHH5RSSs2cOVOVLVvW4X2VUKRIEfXVV1+puLg4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DsaBWCIiIiIiIiIiIiIH40AsERERERERERERkYNxIJaIiIiIiIiIiIjIwTgQS0RERERERERERORgHIglIiIiIiIiIiIicjAOxBIRERERERERERE5GAdiiYiIiIiIiIiIiByMA7FEREREREREREREDsaBWCIiIiIiIiIiIiIH40AsERERERERERERkYNxIJaIiIiIiIiIiIjIwTgQS0RERERERERERORgHIglIiIiIiIiIiIicjAOxBIRERERERERERE5GAdincy0adNQuXJlmEwmsTYbNmyIkSNHirWXVxYuXAhN03Du3LmH/txbtmyBpmnYsmWLTY93xPuYW82bN0f16tXF2ps7dy5Kly6NlJQUsTaJiHIiN8fc0aNHo0GDBg7o1cN17tw5aJqGhQsX5snza5qGCRMm2PTY3bt3w93dHefPn3dsp+wwYcIEaJqGGzduiLR39OhRuLq64vDhwyLtEVHBldMYpdfrER4eji+++MJBPXt40o+xecHea8jXX38dTz75pGM7ZaeyZcvimWeeEWvPWc59iPIKB2KdSEJCAqZOnYpRo0ZBp5N7a0eNGoXPP/8csbGxNj1e0zQMGjRI7PkLG0e9jzkRGRmJ119/3SFt9+nTB6mpqfjyyy9z1U7ZsmWhaRpatWqV6f3z58+HpmnQNA1///23eXv6CZ1Op8PFixcz/F1CQgK8vLwyfJ7TBysyuzVs2DBX+0JED19uj7lDhw7FgQMH8Ouvv9r0eOkftQqjd955B926dUOZMmXytB8jRoxA1apVHdJ21apV8fTTT2PcuHG5aqdPnz7QNA01a9aEUirD/VnFuJ9++inD46UHnIkoa7mJUW5ubhg+fDg++OADJCcnZ/v49O//Rx99lNPuFnoxMTH46quv8Pbbb+dpP0wmE4oXL45p06Y5pH17z32sSY83H3/8cYb70gfAM7t+CwkJQWJiYoa/kR5wBv6Lo/7+/khKSspw/6lTp8z7cf93J30ilqZp+P777zNtu3HjxtA0LcN5Yfr1bWY3W77LlP9xINaJfPPNNzAYDOjWrZtou+3bt4e/v79T/JpaEDjqfbTXlStXsG/fPjz99NMOad/T0xO9e/fGjBkzMr04tLetzZs3Z/pjweLFi+Hp6Wn1bz08PPDDDz9k2P7zzz9n+ZzdunXDd999Z3GbOHGi/Z0nojyV22NuaGgo2rdv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hseaTCallFJ//PGHAqAWL15scf/atWsz3f6gpk2bKj8/P3X+/PlM21dKqQULFigAKiYmRiml1LVr15S7u7tq3bq1MhqN5sd99tlnCoD65ptvzNvKlCmjevfuneF5mzVrppo1a2b+96xZsxQA9b///c+87d69e6pChQoKgNq8eXOW++Go9zE2Nla5urqqDh06WLQ7YcIEBSDDvm3cuNHitUrf12rVqimllPrpp5+Um5ub6tevn8VrFx0drQCooUOHWrTXp08fBUCNHz8+wz73799feXl5WWwbP368Ta+XUmnvzdNPP60MBoMKDQ1V7733nlJKqaNHjyoAauvWreb3fs+ePRme4/r16+rNN99UFSpUMN9Xr1491bdvX6VUxs9z+nuR2c2W/hJR/pHdMTcoKEjdunXLvP2XX35RANRvv/2Woa3WrVurKlWqZPuc9x9LlVLq1KlTSqfTqeeee87ieKrUfzHszp07KjAwUPXr18/i/tjYWBUQEJBh+4PGjRunAKiff/45w33pz5G+zwsWLDDfV7t2bRUcHKxu3rxp3nbgwAGl0+lUr169zNt69+6typQpk6Ht9ONsuv379ysA6vXXX7d4XPfu3a3GiPtt2LDB6utfpkwZBUDt2LHDvO33339XAJSXl5fF+cGXX36Z4Zhdo0YNVapUKYvPwpYtWxSADPt279495enpafFa3R9Tjh07psLCwlS9evUsPj8pKSkqKChI1atXzyJmL1y4UAGwOJ9It2TJEgVA7dq1y7xt8+bNNr1eSqW9Nz4+PkoppRYtWpThc2Atxk2fPl0ZDAZVsWJFVatWLfPn5P79JCLHshajVqxYoQCo999/32L7888/rzRNU6dPn7bYfvnyZQVATZ06Ncvnu//7n86W+PHdd98pnU6n/vjjD4v7586dqwCoP//80+pzGgwGFRERocqUKaNu376daftKWY8nr7zyisXfvPnmmwqA2rRpk3mbtePlg9d3Q4cOzXC8vXbtmgoICMhwXZSZnj17qqCgoAzb04/Z1atXV6mpqebt3bp1U5qmqaeeesri8Y0aNbKIO/ZeX3399dfKy8tLJSYmWuzr008/rZRS6pNPPlGappmvmdL99NNPCoCaNWuWeZvRaFQtWrTIcH6QLrNzn969e9v0eillGYOeeOIJFRoaau53dtdvW7duzTDGcP9+Srk/jj7//POq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0Ol0mDRpknnma7r02BQVFQV/f398+OGHmf6oef369Syfo1OnTjhw4ACWL1+e4T5rcbJEiRKoXbs2Fi1aZBGDDx8+jHXr1lnMtilfvjzi4+Nx8OBB87YrV65keL70nKqffvqpxfZZs2Zl2f90JUuWRHh4uHiMDAsLQ/Xq1fHtt9/i7t275u1bt27FoUOHLB67evVqhISEWF0Romka5s2bh+effx69e/fGr7/+ar6vbt26CAoKwvz58825/4C0nObWZlFFR0ejWrVqFvnhExMTcfz48RzlewQsB1Ztcf/g7f37Q0SOZS1GtW3bFkajMcN5/MyZM6FpWob81dHR0dA0zSKHtq1siR9dunTBpUuXMH/+/AyPSUpKwr1796y2/+ijjyIiIgKzZs3KcL2X1XVcegx6MH6kz8p98Dpu27ZtFo+bN29ehhmxbdu2xV9//YXdu3ebt12/ft3qis0HNWrUCEop83WzFHuur1avXm31h0IAKFWqFDZs2ICkpCQ8+eST5tzr6c+j1+st3keTyYTPP/8807asnftcuXIFx48fz3ISVlbSB1ZtvX6+f/A2OTk528dXrVrV4oeCyMhIu/r3xBNP4L333sNnn32W6SolazRNw6efforx48fjxRdftOs5yfkwNYGTKFeuHKpXr44NGzZkSPgtYf369ShdujTq1Klj99/26tUL3377LYYPH47du3fj8ccfx71797Bhwwa8/vrraN++PZo1a4ZXX30VkydPxv79+9G6dWu4ubnh1KlTWLZsGT755BOLAlgP+vTTT9GkSRM8+uij6N+/PyIiInDu3DmsWrUK+/fvz/RvihcvjjFjxmDixIlo06YNnn32WZw4cQJffPEF6tWrh549e5of+8orr+D//u//0KZNG3Tp0gVnzpzB999/nyHPXb9+/fDZZ5+hV69eiI6ORokSJfDdd99lyLVjjaPex5CQEAwZMgQff/wxnn32WbRp0wYHDhzAmjVrUKxYMfOynqSkJGzevDnbJOnFihXD+vXr0aRJE7Rq1Qrbt29HyZIlERkZiU6dOmHWrFm4efMmGjZsiK1bt+LkyZMAMi4fio6Oxq1bt9C+fXuL7Z999hkmTpyIzZs321WwC0j7NdfeAibphgwZkqO/I6KCSeqYu2HDBiilMhzLbFGhQgW88847eO+99/D444+jY8eO8PDwwJ49exAWFobJ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vXtj8ODBKCkpwYABA/Dss88iOzsbLpcLVVVVfo9vbr/OO+883H777XjhhRewadMm7NixA8uXL2/HvQhN165dYTabW/WeRRKJ9+q0J598EsuXL8fmzZvboectkzy+Tps1axY2bdqElStXyneYKM7FckyMx3gIMCYCkRETGQ+Jog9j4vcYEztOrMVDgDGRwoMDsVFkyJAh2L17t99te/bsQV5eHgCgV69eyM7Oxtq1a333V1dXY/369SgsLGyx3c6dO6Nbt26ora0NT8fbSNd1OJ1ODB48GFar1W+/du/ejf379wfcr549eyIxMTHi9utMNpsNgwcP9ts3Xdexdu3agPsWaYy8V5dddhmuv/76Dv9VMBzHV25uLu6++2785je/6bBqs0SxKp5iYjzEQ4AxEYiMmMh4SBR9GBMbMSZGlmiPhwBjIoVJR1cLo9bbsGGDslgs6vHHH1d79+5Vr776qkpMTFR//OMffY958sknVVpamvrLX/6itmzZosaMGaN69eql6uvrlVJKlZaWqjvuuEO99957at++fWrbtm1q6tSpymQyqY8++qijdk1NmzZNffzxx6q8vFxt2bJFTZs2TWmapt5//32llFJ33HGH6tGjh/rggw/UZ599pgoLC1VhYaHv38+YMUM9+OCD6sMPP1Rffvml2rRpk5o4caJKSEhQu3bt6qjdapXXX39d2e129fLLL6sdO3aoyZMnq7S0NFVRUdHRXWuW0ffqdEXMzZs3+27bvXu3slgsyuFwdFhFTInjS6nGipgrVqzw/X3s2DGVmpqqHA4HK2ISCYrVmBjP8VApxkSlOj4mMh4SRR/GRMbEjhaL8VApxkQKDw7ERpm3335b9e/fX9ntdtW3b1+1ZMkSv/t1XVePPvqoysrKUna7XV111VVq9+7dvvs3bdqkbr75ZtWrVy9lt9tVly5d1I9+9CP11ltvtfeu+PnlL3+p8vLylM1mUxkZGeqqq67ynbSVUqq+vl7deeedqnPnzioxMVFdd9116tChQ777P/jgAzV27FiVm5urbDabysrKUiNHjlSffPJJR+xOyBYuXKh69OihbDabuuyyy9Snn37a0V1qkdH3qrkgq5RSkydPVgA6LMgqZfz4UqppkFVKqSeeeEIBYJAlEhaLMTHe46FSjIlKdXxMZDwkij6MiYyJHSlW46FSjIkkT1NKqfaehUtEREREREREREQUT5gjloiIiIiIiIiIiCjMOBBLREREREREREREFGYciCUiIiIiIiIiIiIKMw7EEhEREREREREREYUZB2KJiIiIiIiIiIiIwowDsURERERERERERERhxoFYIiIiIiIiIiIiojDjQCwRERERERERERFRmHEgloiIiIiIiIiIiCjMOBBLREREREREREREFGYciCUiIiIiIiIiIiIKs/8HA3hHM/wKXpwAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import xarray as xr\n", + "import string\n", + "\n", + "\n", + "# List of variables and their settings\n", + "variables = [\n", + " {'var': 'T', 'var_title': 'T', 'scaling': 1., 'unit': 'K', 'diff_scale': 0.9, 'max_diff': 5},\n", + " {'var': 'Q', 'var_title': 'Q', 'scaling': 1000., 'unit': 'g/kg', 'diff_scale': 1, 'max_diff': 1},\n", + " {'var': 'U', 'var_title': 'U', 'scaling': 1., 'unit': 'm/s', 'diff_scale': 0.2, 'max_diff': 4},\n", + " {'var': 'CLDLIQ', 'var_title': 'Liquid cloud', 'scaling': 1e6, 'unit': 'mg/kg', 'diff_scale': 1, 'max_diff': 40},\n", + " {'var': 'CLDICE', 'var_title': 'Ice cloud', 'scaling': 1e6, 'unit': 'mg/kg', 'diff_scale': 1, 'max_diff': 5}\n", + "]\n", + "\n", + "latitude_ticks = [-60, -30, 0, 30, 60]\n", + "latitude_labels = ['60S', '30S', '0', '30N', '60N']\n", + "\n", + "# Create a figure with subplots\n", + "fig, axs = plt.subplots(5, 3, figsize=(14, 12.5)) \n", + "# Generate the panel labels\n", + "labels = [f\"({letter})\" for letter in string.ascii_lowercase[:15]]\n", + "\n", + "\n", + "# Loop through each variable and its corresponding subplot row\n", + "for idx, var_info in enumerate(variables):\n", + " var = var_info['var']\n", + " var_title = var_info['var_title']\n", + " scaling = var_info['scaling']\n", + " unit = var_info['unit']\n", + " diff_scale = var_info['diff_scale']\n", + "\n", + " # Compute the means and differences for plots\n", + " sp_tmean = ds_sp[var].mean(dim=('time')).compute().transpose('ncol', 'lev')\n", + " nn_tmean = ds_nn[var].mean(dim=('time')).compute().transpose('ncol', 'lev')\n", + " sp_zm, lats_sorted = zonal_mean_area_weighted(sp_tmean, grid_area, lat)\n", + " nn_zm, lats_sorted = zonal_mean_area_weighted(nn_tmean, grid_area, lat)\n", + " \n", + " \n", + " data_sp = scaling * xr.DataArray(sp_zm[:, :].T, dims=[\"hybrid pressure (hPa)\", \"latitude\"],\n", + " coords={\"hybrid pressure (hPa)\": level, \"latitude\": lats_sorted})\n", + " data_nn = scaling * xr.DataArray(nn_zm[:, :].T, dims=[\"hybrid pressure (hPa)\", \"latitude\"],\n", + " coords={\"hybrid pressure (hPa)\": level, \"latitude\": lats_sorted})\n", + " data_diff = data_nn - data_sp\n", + " \n", + " # Determine color scales\n", + " vmax = max(abs(data_sp).max(), abs(data_nn).max())\n", + " vmin = min(abs(data_sp).min(), abs(data_nn).min())\n", + " # if var_info['diff_scale']:\n", + " # vmax_diff = abs(data_diff).max() * diff_scale\n", + " # vmin_diff = -vmax_diff\n", + " vmax_diff = var_info['max_diff']\n", + " vmin_diff = -vmax_diff\n", + " # Plot each variable in its row\n", + " data_sp.plot(ax=axs[idx, 0], add_colorbar=True, cmap='viridis', vmin=vmin, vmax=vmax)\n", + " axs[idx, 0].set_title(f'{labels[idx * 3]} {var_title} ({unit}): MMF')\n", + " axs[idx, 0].invert_yaxis()\n", + "\n", + " data_nn.plot(ax=axs[idx, 1], add_colorbar=True, cmap='viridis', vmin=vmin, vmax=vmax)\n", + " axs[idx, 1].set_title(f'{labels[idx * 3 + 1]} {var_title} ({unit}): NN')\n", + " axs[idx, 1].invert_yaxis()\n", + " axs[idx, 1].set_ylabel('') # Clear the y-label to clean up plot\n", + "\n", + " data_diff.plot(ax=axs[idx, 2], add_colorbar=True, cmap='RdBu_r', vmin=vmin_diff, vmax=vmax_diff)\n", + " axs[idx, 2].set_title(f'{labels[idx * 3 + 2]} {var_title} ({unit}): NN - MMF')\n", + " axs[idx, 2].invert_yaxis()\n", + " axs[idx, 2].set_ylabel('') # Clear the y-label to clean up plot\n", + " \n", + " axs[idx, 0].set_xlabel('')\n", + " axs[idx, 1].set_xlabel('')\n", + " axs[idx, 2].set_xlabel('')\n", + "\n", + "tropopause_pressure = idx_tropopause_zm[0].flatten() # Flatten to 1D array\n", + "tropopause_latitude = idx_tropopause_zm[1] # Latitude values\n", + "axs[4, 2].plot(tropopause_latitude, tropopause_pressure, 'k--')\n", + "\n", + "# Set these ticks and labels for each subplot\n", + "for ax_row in axs:\n", + " for ax in ax_row:\n", + " ax.set_xticks(latitude_ticks) # Set the positions for the ticks\n", + " ax.set_xticklabels(latitude_labels) # Set the custom text labels\n", + "plt.tight_layout()\n", + "# plt.savefig('zonal_mean_state_bias_v5_nopruning_noclass_drop1month_addtropopause.pdf', format='pdf', dpi=400)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "581628ee-6282-477e-a4e4-acce6369f685", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABWYAAASlCAYAAAAruwApAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXQUVdoG8Keq1ywkELaAAoKgrAKCYhAVFGUTZUQcFYdFxRkFN1QERTYXBBRRZEBFAR1x1HFgVBRlV0cERfhEQQYxCkICIktIQtJL3e+PmDZNlq7qezvpVJ7fOX0OdKpu3aquqrfq1q33akIIASIiIiIiIiIiIiKqNHpVV4CIiIiIiIiIiIiopmHDLBEREREREREREVElY8MsERERERERERERUSVjwywRERERERERERFRJWPDLBEREREREREREVElY8MsERERERERERERUSVjwywRERERERERERFRJWPDLBEREREREREREVElY8MsERERERERERERUSVjwyyZMnPmTLRu3RqGYViaz+/3o0mTJvj73/8utfz169dD0zSsX79eqhwzzjjjDIwYMUK6nDvuuAOXX365fIUsULW9iYjImlPj5E8//QRN0/DUU09FnHf8+PHo1q2bdB1Uxa9IpkyZAk3TpMvZvHkz3G43fv75ZwW1Mk/V9iYiqk6iuZ/jvRzv5Ygo9tgwSxHl5ORgxowZePDBB6Hr1nYZl8uFsWPH4vHHH0dBQYGS+hQHdjOfkgzDQP369TFz5kxLy9uxYwemTJmCn376yfQ8mZmZWLhwIR566KHQd+XdpAsh8Ne//hWapmHKlCmlyurSpQvuuOMOU8tVtb0XL14c2oafffZZqb8LIdCkSRNomoYrr7wy7G/F8916661llv3www+Hpjl8+HDo+xEjRpT7O65cuTLqdSEiijWZOAkA99xzD/7v//4P7777rrI6nXHGGabi5OLFi8Pmu++++9C2bVvLy3viiSewfPlyS/M8/PDDuOGGG9CsWbPQdz179kT79u1LTbtmzRokJibi3HPPxZEjR8L+NnfuXKSmpsLv95tarqrtXbwNn3766VJ/K46jX331Vei74gbthg0bIj8/v9Q8Z5xxRqmYSkSkQrRxivdy1ftezuv1Yv/+/aX+XlasLb5uuPPOO0tNX/yb/etf/4q6TmWRvW9MSUnByZMnS823e/fu0Hwlf6+K9r3rr79e6boRWeGs6gpQ/HvllVcQCARwww03RDX/yJEjMX78eCxduhQ333yzdH3atGmD1157Ley7CRMmIDk5GQ8//HC5823evBmHDx/GgAEDLC1vx44dmDp1Knr27IkzzjjD1DzPPvssmjdvjl69elU4nRACd9xxB1588UU88sgjpYJ5VlYWtm7dimnTppmur8rt7fV6sXTpUvTo0SPs+w0bNuCXX36Bx+Mpd7533nkHf//73+F2u8P+9sYbb8Dr9ZZ5seHxeLBw4cJS33fs2FFiLYiIYks2Tqanp+Pqq6/GU089hauuukpJnebMmYPc3NzQ/z/44AO88cYbeOaZZ1CvXr3Q9927dw+bb8WKFRg4cKDl5T3xxBO49tprMWjQIFPTb9u2DatXr8bnn38ecdq1a9di4MCBOPvss7F69WqkpaWVqvMVV1wBl8tlatmqt/esWbNw++23IzEx0dT0hw4dwvz583HfffdJL5uIyAyZOMV7ufLF+71cYWEhnnzyScydO9f0PC+99BImTJiAxo0bSy3brGjvG51OJ/Lz8/Hee+/huuuuC/vb66+/Xu58AHDXXXfhvPPOC/vO7L5BFAtsmKWIFi1ahKuuugperzeq+WvXro0rrrgCixcvVhLMGzZsiJtuuinsuyeffBL16tUr9X1JH3zwAZo1a4Z27dpJ16Eifr8fr7/+Ov72t79FnPbOO+/EggUL8PDDD5cZsD/88EN4vV5ceumlppevcnv3798fb7/9Np577jk4nX+cLpYuXYouXbqEPbksqW/fvnj33Xfx4Ycf4uqrrw59//nnnyMzMxODBw/GO++8U2o+p9NZ4W9IRBSPZOMkAFx33XUYMmQIfvzxR7Ro0UK6Tqc2kGZnZ+ONN97AoEGDyr35+PHHH7Fr1y4sWLBAevmRLFq0CE2bNsUFF1xQ4XQbNmzAwIEDcdZZZ5XZKJufn48NGzZg/vz5lpavant36tQJ27Ztw4IFCzB27FjT88yaNQt33HEHEhISol42EZFZMnGK93Lli/d7uU6dOllqaG3Xrh127dqFJ598Es8995zUss2K9r7R4/HgwgsvxBtvvFGqYXbp0qUYMGBAmfMBwEUXXYRrr71W7YoQSWAqA6pQZmYmvvnmG/Tu3bvU35566il0794ddevWRUJCArp06VLu6w2XX345Pvvss1KvH5bll19+waBBg5CUlIQGDRrg3nvvRWFhofS6rFixIuwJqxACjz32GE4//XQkJiaiV69e+O6778LmWbx4MYYMGQIA6NWrV+hVh4ryI3322Wc4fPhwmduspLvvvhvz5s3DhAkT8Nhjj5Vb5169eoVu3Hbv3o3BgwcjPT0dXq8Xp59+Oq6//nocP348bL7ytvf333+PvXv3Vlivkm644Qb89ttvWLVqVeg7n8+Hf/3rX7jxxhvLne+0007DxRdfjKVLl4Z9//rrr6NDhw5lvqZKRFQdVRQniz3zzDNo1qwZEhIScMkll+Dbb78tNU3x/P/5z38iLtNM/IrGihUrkJqaGvaWxGeffYbzzjsPXq8XZ555Jl544YVS82mahry8PCxZsiQUJyPl91u+fDkuvfTSCnPVfvrppxgwYABatmyJ1atXo27duqWmWbNmDQoLC9GvXz8ARTfUU6dORatWreD1elG3bl306NEjLI4B5W/vrKwsfP/996bTIlx44YW49NJLMXPmzDJfpyzLpEmTcPDgQcuNyURE0agoThmGgWeffRYdOnSA1+tF/fr10bdv37A0LADv5cpSHe7lHnroIQSDQTz55JOmpj/jjDMwbNgwvPTSSzhw4IDp5ciQuW+88cYb8eGHH+LYsWOh77788kvs3r27wntVonjDhlmqUPErhueee26pvz377LPo3Lkzpk2bhieeeAJOpxNDhgzBihUrSk3bpUsXCCEivrJ48uRJXHbZZfjoo48wZswYPPzww/j0008xbtw4qfXIzs7G1q1b0b9//9B3kyZNwiOPPIKOHTti1qxZaNGiBa644grk5eWFprn44otx1113ASgKbK+99hpee+01tGnTptxlff7559A0DZ07dy53mnvvvRfPPfccHnzwQTzxxBNlTuP3+7F69epQnX0+H/r06YMvvvgCd955J+bNm4fbbrsNP/74Y1gwAsrf3m3atMGwYcPKrdepzjjjDGRkZOCNN94Ifffhhx/i+PHjEfPw3HjjjXjvvfdCr9IGAgG8/fbbEYPk4cOHwz6nXqgQEcWTiuIkALz66qt47rnnMHr0aEyYMAHffvstLr30Uhw8eDBsutTUVJx55pn473//G3GZZuJXND744ANcfvnloTcktm/fjiuuuAKHDh3ClClTMHLkSEyePBnLli0Lm++1116Dx+PBRRddFIqTf/3rX8tdzv79+7F3795ytxkA/Pe//0X//v3RvHlzrFmzJiz9wql17tKlCxo2bAigKI/r1KlT0atXLzz//PN4+OGH0bRpU3z99ddh85W3vSdMmIA2bdqUmZOvPFOmTLHU0HrRRRdZbswlIopWRXHqlltuwT333IMmTZpgxowZGD9+PLxeL7744ouw6XgvF6663Ms1b97cckPrww8/jEAgYLoxV4Vo7xuvueYaaJqGf//736Hvli5ditatW1d4jXHixIlS95xWBzknUkoQVWDixIkCgDhx4kSpv+Xn54f93+fzifbt24tLL7201LQHDhwQAMSMGTMqXN6cOXMEAPHWW2+FvsvLyxMtW7YUAMS6devKnK9du3bikksuKbfcl19+WSQkJITqfOjQIeF2u8WAAQOEYRih6R566CEBQAwfPjz03dtvv13hsk910003ibp165b6PjMzUwAQzZo1EwDEAw88UGE5a9asEQBEZmamEEKIrVu3CgDi7bffjliH8rY3gAq3U7FFixYJAOLLL78Uzz//vKhVq1Zo2w0ZMkT06tVLCCFEs2bNxIABA0otY/To0eLIkSPC7XaL1157TQghxIoVK4SmaeKnn34SkydPFgDEr7/+Gppv+PDhAkCpj5n6EhFVlfLiZPE5PyEhQfzyyy+h7zdt2iQAiHvvvbdUWVdccYVo06ZNhcuzEr9KmjVrVlhMOVVeXp7wer1i0aJFoe8GDRokvF6v+Pnnn0Pf7dixQzgcDnHqJWRSUlK5yz7V6tWrBQDx3nvvlfrbJZdcItLS0kStWrVEu3btxKFDhyosq2nTpmLy5Mmh/3fs2LFUXCpPWdu7OBaVt51KKo53QgjRq1cvkZ6eHoqVJeNosZKxb8OGDQKAmD17dujvZcVUIiJZ5cWptWvXCgDirrvuKjVPyfgiBO/lhKi+93J79uwRTqcz7He+5JJLRLt27cLmKRmDRo4cKbxerzhw4IAQQoh169aZrrsVMveNSUlJQgghrr32WnHZZZcJIYQIBoMiPT1dTJ06NfR7zZo1KzRf8XqU9TET94lihT1mqUK//fYbnE4nkpOTS/2tZF60o0eP4vjx47joootK9UoBgDp16gBAuTlJi33wwQdo1KhRWM6XxMRE3HbbbdGuQqjckq+RrF69Gj6fD3feeWfYa5T33HOP1HKAom1WvL5lKe4lddZZZ0Wsc9u2bUO5AFNTUwEAH330UZmjOZdU3vYWQlT46k5ZrrvuOpw8eRLvv/8+Tpw4gffff9/UqyF16tRB3759Q71tly5diu7du4eNvn0qr9eLVatWhX3KGu2aiCheVBQngaJcr6eddlro/+effz66deuGDz74oNS0derUiRgnYxW/1q5dG5YSIBgM4qOPPsKgQYPQtGnT0HRt2rRBnz59pJb122+/AUC5sTIvLw8nTpxAw4YNkZKSUm453377Lfbu3Rv2amvt2rXx3XffYffu3RHrUdb2Xrx4MYQQlgcBmTJlCrKzs03n57344ovRq1cv9polopgrL06988470DQNkydPLjXPqWlmeC/3h+p2L9eiRQv85S9/wYsvvoisrCxT80ycOLFSe81Gc99Y7MYbb8T69euRnZ2NtWvXIjs7O+K96qRJk0rdc6anpytZF6JosGGWovb+++/jggsugNfrRVpaGurXr4/58+eX+eq5EAJA6SB/qp9//hktW7YsNd3ZZ58ddT39fj9WrVoVduP2888/AwBatWoVNm39+vUrDMRmFa9vWR588EGcd955+Otf/1puTl6gdB6l5s2bY+zYsVi4cCHq1auHPn36YN68eVLb24z69eujd+/eWLp0Kf79738jGAyaTpZ+4403YtWqVdi7dy+WL18eMUg6HA707t077NOlSxfpdbCDTz75BAMHDkTjxo2haRqWL18e0+VNmTIllIer+NO6deuYLpPIjk6NM0DRzdxPP/1U6nshhKk4WVa5svFrxYoV6Nq1ayglwK+//oqTJ0+WWX+ZmFxSebGyZcuWmDFjBtauXYsbbrgBwWCw3Do3bNgQXbt2DX03bdo0HDt2DGeddRY6dOiABx54AN988025y1cRJ4HoGlqtNuZSEcZDIjX27NmDxo0blxpUsSy8l/tDdbuXA6w3tEbTmAsUpZwo+bHy4NHqfWOx/v37o1atWnjzzTfx+uuv47zzzkPLli0rnKdDhw6l7jllBnCtKoyH9sGGWapQ3bp1EQgEcOLEibDvP/3009DInn//+9/xwQcfYNWqVbjxxhvLDGRHjx4FgHJzxMXSZ599hpycnLCcRLFUt27d0PqWJTk5GR9++CFat26NoUOH4uOPPy41TWZmJr7//vtSdX766afxzTff4KGHHsLJkydx1113oV27dvjll1/CplO9vYsTqy9YsAD9+vVD7dq1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kaefflr27NkjCxculMjISHnvvfec2zz77LNSu3Zt+fTTT2XLli0yaNAgSUhIkNzcXBERmTdvnowaNUq+/PJL2bt3r2zbtk3GjRsnFotFVq9eXSnnMX78eFmzZo3s379ftmzZIuPHjxfDMOSrr74SEZFRo0ZJ06ZNZdWqVfLzzz9LUlKSJCUlOfefPHmyPProo/LNN9/IL7/8Ips2bZLhw4dLRESE7Nq1q1LOwRsffPCBhIWFSWpqquzYsUNGjhwptWvXloyMDH9XTUTU34+SGTc3b97sXLd7924JCQmR8PDwSptxU0TPd0SkeNbNxYsXO/9//PhxiY6OlvDwcM66SRQAgiUeijAmMib6BuMhUfXAeMh46CuMh4yH5B/smK0Cli5dKhdccIGEhYVJ69atZf78+S5/dzgc8vjjj0tsbKyEhYVJ7969Zffu3c6/b9q0SW699VZJSEiQsLAwqVevnlx++eXy2WefVdo53HHHHdKsWTOx2WzSoEED6d27t/MCLyKSm5sr9913n9SpU0ciIyPlmmuukSNHjjj/vmrVKhkyZIg0adJEbDabxMbGSt++feW7776rtHPw1uzZs6Vp06Zis9mkS5cu8uOPP/q7Sk6q74e7oCsiMnLkSAFQqR2zIurfEZHSgVdE5JlnnhEADLxEASIY4qEIYyJjou8wHhJVD4yHxRgP9WI8ZDwk/zBERCp7lC4RERERERERERFRdcYcs0RERERERERERESVjB2zRERERERERERERJWMHbNERERERERERERElYwds0RERERERERERESVjB2zRERERERERERERJWMHbNERERERERERERElYwds0RERERERERERESVjB2zRERERERERERERJWMHbNERERERERERERElYwds0RERERERERERESVjB2zRERERERERERERJWMHbNERERERERERERElYwds0RERERERERERESVjB2zRERERERERERERJWMHbNERERERERERERElYwds0RERERERERERESVjB2zRERERERERERERJWMHbPVyPTp09G6dWs4HI5yt/v1119hGAZSU1Od68aPH4+uXbsq16F58+YYPny4cjne6NGjB3r06KFcjtnXzxuGYWD06NHayquoFStWoGbNmjh27Ji/q0JE5Fcq1/pLLrkE48aNUzq+uxhcGQzDwJQpU5TL6d+/P+6++271Cv1l9erVMAwD//nPf7SVWVG67oWIiHRwF6+ys7Nx1113IS4uDoZhYMyYMdixYwdCQkKwbds2peNNmTIFhmGoVtsrqampMAwDv/76q1I5hw4dQnh4OH744Qc9FQMwfPhw1KxZU1t5FVVYWIgmTZrglVde8XdViKiC2DFbTWRlZeG5557DY489BovF+7d9zJgx+O9//4vPPvvMB7UDDh48iFGjRqF58+YICwtDTEwMrrnmGqxdu7bc/RITE3Hfffd5dazDhw9jypQpSE9PN72P6utX4sSJEwgJCcFHH31U4TLM2Lp1KwzDwIYNG0xt37dvX7Rs2RLTpk1TOm6PHj1gGAZatWrl9u8rV66EYRilGtklN12GYeD7778vtZ+IoEmTJjAMA1dddZXL30r2O3eJi4tTOhciqn5Ur/WPPfYY5s6di4yMDB/UDvjhhx9wzTXXIDY2FmFhYWjevDlGjRqFQ4cOlblPRePO2rVrMWXKFJw8edKr+n311Vd47LHHvDrWuZYuXQqLxeKz17HE7NmzER0djcLCQlPb67oXKolTL7zwQqm/lcTDn3/+2bmupDMkNjYWZ86cKbVP8+bNS8VGIgpuZcWrZ555Bqmpqbj33nvx7rvv4rbbbkPbtm0xYMAATJo0ySd1KSwsxKxZs3DxxRejVq1aqFmzJi6++GLMnj0bRUVFZe7n7TW4xCuvvOL1j5dTp05F165d0a1bN6/2O9eQIUPQv39/pTLM8KaNGxoairFjx+Lpp59GXl5ehY9ZEn/Cw8Px+++/l/p7jx49cMEFF7isa968OQzDwAMPPFBqe1/9sFoSQ++66y63f//3v//t3OaPP/5wrh8+fDgMw0BUVBRyc3NL7bdnzx7nfs8//3yp83C33HjjjVrPjaovdsxWE2+99RaKiopw0003VWj/uLg4DBo0yOUipcsPP/yA9u3b4/3338eQIUPwyiuv4KGHHsK2bdvQvXt3vPrqq273O3LkCDZv3owBAwZ4dbzDhw/jiSee8KpjVvX1K/Hll1/CMAz06dNHqRxPli1bhpiYGFx88cWm97nnnnvw2muv4fTp00rHDg8Px969e912Ci9cuBDh4eHl7rto0aJS69esWYPffvsNYWFhbve78sor8e6777osc+fOrfhJEFG1pHqtHzRoEKKionwyamX27Nm47LLLsHXrVjzwwAN45ZVXcN111+GDDz7AhRdeiB9//NHtfhWNO2vXrsUTTzzhVcfsjBkz0Lt3b7Rs2dKrY51r2bJlSExM9PkPbMuWLUOfPn0QGhpqanvd90IzZsxw29FalqNHj5Z5T0RE1UtZ8WrVqlW45JJLMHnyZNx6661ITEwEAIwaNQqLFy/Gvn37tNYjJycHV155JR566CHExcXh2WefxYwZM9CwYUM8+OCDSElJKfM65+01uIS3HbPHjh3DggULMGrUKK+Oc67CwkKsXLnS67antyrSxh0xYgT++OMPt+0ob+Xn5+PZZ5/1ap/XX38dhw8fVj62WeHh4fi///s/FBQUlPrb+++/X2Z7MyQkBGfOnMHSpUtL/c1TO/XBBx8s1d4MhCdfKTiwY7aaePvtt3H11VeXe7Hx5Prrr8f333+PX375RVu9Tpw4geuuuw4RERHYtGkTXnjhBdx5553497//jS1btqB79+544IEH3DY4v/jiC4SHh6NXr17a6lMWHa8fACxfvhzdunVD7dq19VSsnOP069fPq8eNhgwZgvz8fHz88cdKx27RogXOP/98vP/++y7r8/LysHjx4nJvMvr374+PP/641K/rixYtKreR/o9//AO33nqryzJkyBCl8yCi6kf1Wm+xWHDdddfhnXfegYhoq9cPP/yAMWPGoHv37tiyZQsmTpyIO++8E88//zw2btyIsLAwDBkyxG0namXFnaNHj2LZsmW4/vrrlctavny5zxu+Z86cwZo1a7w+jq57oY4dOyIzMxPz5s3zap8ZM2a4HelDRNVLWfHq6NGjbq/3ycnJqFOnDhYsWKC1HmPHjsWaNWswe/ZsLF26FPfffz/uvfdefPrpp5gzZw5WrVqFRx99tNR+Fb0GV8R7772HkJAQDBw4UKmc7777DqdPn/Z5nSvSxq1duzb69OmjJQ1Sx44dvepobdeuHex2u9eduSr69u2LrKwsfPHFFy7r165di/3795f5HoWFhaF3796l2qlAcXuzvPf2sssuK9Xe7N69u9qJEP2FHbPVwP79+7FlyxYkJyeX+tvJkycxfPhwREdHo3bt2hg2bFiZo2NK9v/00089HlNE8NRTT6Fx48aIjIxEz549sX379lLbvfbaa8jIyMCMGTPQokULl79FREQ4bx6mTp1aat9ly5ahZ8+eiIiIcK6bP38+WrRogYiICHTp0gXfffedyz6rV692jiIdMWKE8zGE8oJYea/f8ePHcdtttyEqKsr5+v33v/91W6bD4cCKFSs8BvOnnnoKFosFs2fPdq47cOAArr76atSoUQMxMTF4+OGHnaOgVq9e7bL/yZMnsXbtWpfjfPDBB0hMTEStWrUQFRWF9u3b4+WXX3bZLyYmBhdeeGGp9/fUqVPYtWsXTp06VW69z3bTTTfhww8/dMl5tXTpUpw5c6bcRvtNN92E48ePY+XKlc51BQUF+M9//oObb77Z9PGJiLxV3rXe4XBg5syZaNeuHcLDwxEbG4t77rkHJ06cKLXtlVdeiQMHDph6KsNsDH7yySdhGAYWLFiAyMhIl7+1aNEC06dPx+HDhzF//vxS9T437uTn5+Phhx9GgwYNUKtWLVx99dX47bffXPabMmWKsyGdkJDgjJXl5fhbtmwZioqK3L5+W7ZswRVXXIGIiAg0btwYTz31FN5++223ZW7duhWHDh0qN1bm5+fjqquuQnR0tEvKo9WrV6Nz584IDw9HixYt8Nprr5WZEzEtLQ35+fno168fgOKRUE888QRatWqF8PBw1KtXD927d3eJR0DZ90JHjhzBrl27TD+S261bN/Tq1QvTp0833dE6adIkZGZmctQsUTXnLl6VPG69f/9+LFu2rNR1OzQ0FD169DDVjgOA77//HhdffLHL9fRcv/32G95880306tXL7cjB+++/Hz179sT8+fNLPRp/7jUYALZv345evXq5xIpz8703b94c27dvx5o1a5zn6GkukSVLlqBr165u88HOnTsX5513nkvbsaz5SZYtW4a2bduiefPmZR4rPT0dDRo0QI8ePZCdnQ2gOBZPmTIFDRs2dLaLd+zYUebcK+e2cffs2YMhQ4YgLi4O4eHhaNy4MW688cZSbbMrr7wS33//Pf7880+X9bt27cLBgwfLfY3O9q9//curjtbmzZvj9ttvr9RRs40aNcLll19eaoTwwoUL0b59+1IpF852880344svvnC53/rpp5+wZ88etjfJb9gxWw2UNFouuugil/UigkGDBuHdd9/Frbfeiqeeegq//fYbhg0b5rac6OhotGjRwlTS9EmTJuHxxx9Hhw4dMGPGDJx33nno06cPcnJyXLZbunQpwsPDy+ysS0hIQPfu3fH111+75MwpLCzE119/7ZLj580338Q999yDuLg4TJ8+Hd26dcPVV1/tknuvTZs2zk7ekSNHOh9DuPzyy8s8l7JeP4fDgYEDB+L999/HsGHD8PTTT+PIkSNlvn4//fQTjh07Vm5eookTJ2LSpEl47bXXnLl6cnJy0KtXL3z99dd48MEH8e9//xtr164tM4ffuY+trly5EjfddBPq1KmD5557Ds8++yx69Ojh9n1MTEwsldd38eLFaNOmDRYvXlxmvc91880348iRIy6dxosWLULv3r0RExNT5n7NmzdHUlKSy6+YX3zxBU6dOlVuDp+8vDz88ccfLkt+fr7p+hIRlXWtB4pTvTz66KPo1q0bXn75ZYwYMQILFy5ESkpKqY64ksdGPcVKszH4zJkzSEtLw2WXXYaEhAS3Zd1www0ICwsr9Wieu7hz1113YebMmejTpw+effZZhIaGluoEvfbaa52Px7700kvOWNmgQYMyz2ft2rWoV68emjVr5rL+999/d/44O2HCBDz88MNYuHBhqR8HSyxfvhwxMTHo3Lmz27/n5uZi4MCBWLt2Lb7++mtceumlAIDNmzejb9++OH78OJ544gnceeedmDp1KpYsWVLmcRITExEbGwuguDP6iSeeQM+ePTFnzhz8+9//RtOmTbFp0yaX/cq6F5owYQLatGnjNi9fWaZMmeJVR+tll13mdWcuEQUfd/GqTZs2ePfdd1G/fn107NjR7XU7MTER27ZtQ1ZWVrnlb926FX369MHRo0cxZcoUjBgxApMnTy7VFvjiiy9gt9tx++23l1nW7bffjqKiIqxYscJl/bnX4IyMDPTs2RPp6ekYP348xowZg3feeadUrJg5cyYaN26M1q1bO8/x3//+d5nHLywsxE8//eQ2tr/66qsYPXo0GjdujOnTp+Oyyy7D4MGDS/1YeXady2vH/fTTT+jVqxc6deqEL774wtkRPGHCBDzxxBPo3LkzZsyYgVatWiElJaVUu7ikvme3cQsKCpCSkoIff/wRDzzwAObOnYuRI0fil19+KfVDbmJiIkSkVFuuTZs25b5H50pISPC6o/Xf//43ioqKKnXU7M0334ylS5c6O8CLiorw8ccfe+xcvfbaa2EYBj755BPnukWLFqF169ZuPyclTp8+Xaq9qXNScKrmhILexIkTBYCcPn3aZf2SJUsEgEyfPt25rqioSC677DIBIG+//Xapsvr06SNt2rQp93hHjx4Vm80mAwYMEIfD4Vz/r3/9SwDIsGHDnOtq164tHTp0KLe8Bx98UADIli1bnOvS0tIEgOzfv19ERAoKCiQmJkY6duwo+fn5zu3mz58vAOSKK65wrvvpp5/KPD93ynr9/u///k8AyMyZM53r7Ha79OrVy235jz/+uDRr1sxlHQC5//77RUTkkUceEYvFIqmpqS7bvPDCCwJAlixZ4lyXm5srrVu3FgDyzTffuGx/2223uZzvQw89JFFRUVJUVOTxXJ955hkBIJmZmc51b7/9tunX64orrpB27dqJiEjnzp3lzjvvFBGREydOiM1mkwULFsg333wjAOTjjz8udYyffvpJ5syZI7Vq1ZIzZ86IiMjQoUOlZ8+eIiLSrFkzGTBggMsxAbhdzL6/REQiZV/rv/vuOwEgCxcudFm/YsUKt+tFRGw2m9x7773lHs9sDE5PTxcA8tBDD5Vb3oUXXih169Z1WXdu3Ckp67777nPZ7uabbxYAMnnyZOe6GTNmuMRZT7p37y6JiYml1j/wwANiGIZs3rzZue748eNSt25dt+VfdtllLvcJZ8eM06dPyxVXXCH169d3KU9EZODAgRIZGSm///67c92ePXskJCRE3N3uNm3a1OV8O3ToUCq+lMXdvdCwYcNMv15nx/6ePXtKXFycM+adHQ9LTJ48WQDIsWPHZM2aNQJAXnzxReff3cVGIgpeZcUrkfKvB4sWLRIAsn79+nLLHzx4sISHh8uBAwec63bs2CFWq9XlejpmzBgBUOp6fLZNmzYJABk7dqzL+nOvwSVlnV23o0ePSnR0dKlra7t27VzaOuXZu3evAJDZs2e7rM/Pz5d69erJxRdfLIWFhc71qamppdqOIiK//PJLqXbXsGHDpEaNGiIi8v3330tUVJQMGDBA8vLynNtkZGRISEiIDB482KW8KVOmlGoXi5Ru427evLlUu6kshw8fFgDy3HPPuax3dz7unB1/9u3bJyEhIfLggw86/352O6/E2Z+3ESNGSHh4uBw+fFhExG2bT4eSGPrnn3+KzWaTd999V0REli1bJoZhyK+//uoSN0uc/X5dd9110rt3bxEpbr/HxcXJE088Ifv37xcAMmPGDOd+JefhbjF7j0TkCUfMVgPHjx9HSEhIqcc3li9fjpCQENx7773OdVar1e2siiXq1KnjMruhO19//TUKCgrwwAMPuDw+OGbMmFLbnj59GrVq1Sq3vJK/nz0p1fLly10eJfn5559x9OhRjBo1CjabzbldySOiKsp6/VasWIHQ0FDcfffdznUWiwX333+/23LKypknIhg9ejRefvllvPfee6VGS61YsQKNGjXC1Vdf7VwXHh7uctwS7h5brV27NnJycko9julOnTp1AKDUDJYi4vZRm/LcfPPN+OSTT5ypCKxWK6655hqP+11//fXIzc3F559/jtOnT+Pzzz/3+MvnoEGDsHLlSpclJSXFq/oSUfVW1rX+448/RnR0NK688kqXURKJiYmoWbMmvvnmm1JlmYmVZmNwSewzEyvPnbzx3LizfPlyAMUTWJzNXXz21vHjx50x5GwrVqxAUlISOnbs6FxXt25d3HLLLaW2PXnyJNatW+c2Vp46dQp9+vTBrl27sHr1apfy7HY7vv76awwePBgNGzZ0rm/ZsqXLY7Iltm3bhoMHD5aKldu3b8eePXs8nqu79zc1NRUiUu4jru5MmTIFGRkZpnPNXn755ejZsydHzRJVY2XFK0/c3eefy26348svv8TgwYPRtGlT5/o2bdqUurc2E5/ctePcXYOXL1+OSy65BF26dHGua9CggdtY4Y3jx48DQKn49PPPP+P48eO4++67ERIS4lx/yy23uI1ly5YtQ3R0tNucot988w1SUlLQu3dvfPLJJy6TFaelpaGoqAj33Xefyz5ltbfPbeOWtGO//PJLj5NFlvX+ikip1HeenHfeebjtttswf/58HDlyxNQ+EydOrNRRs3Xq1EHfvn2dT1ouWrQIl156aaknd9y5+eabsXr1amRkZGDVqlXIyMjw2N6cNGlSqfamrycppeqDHbPV2IEDBxAfH18qqJ9//vll7iMiHieUOnDgAACgVatWLusbNGhQKtC5a0ieq+TvZz8Cv2zZMpdgXtYxQ0NDcd5555VbfkWVvH7n5vtzNxt1RkYGNm3a5Lax+c4772Du3LmYPXu225nADxw4gBYtWpR63d0dp+Sx1bOPc9999+Ef//gH+vXrh8aNG+OOO+4o9ThRCflrshpvJg0rS0nuoy+++AILFy7EVVdd5bFjASj+nCQnJ2PRokX45JNPYLfbcd1115W7T+PGjZGcnOyyxMfHK59DIPn2228xcOBANGzYEIZhlPl4ri4leRnPXlq3bu3TYxIFoj179uDUqVOIiYlBgwYNXJbs7Gwc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5cuXy0cffST//e9/ZcWKFZKUlCRNmzaVrKwslaoTBTR313oRkXvuuUcASL9+/eSll16SOXPmyEMPPSQNGzYsNdvw6NGjpWnTpuJwOMo9lrcx+OWXXxbDMKRly5by1FNPyZtvvimPPvqo1K5dW+rWrSs//vijc9vy4s5NN90kAOSWW26RuXPnyrXXXus85tkzZG/YsMEZx9955x15//33JTs7u8zzKZl5+rXXXnNZf/DgQaldu7bUr19fnnjiCXn++eeldevWzhhWUsdJkyZJ8+bNS5XrLmY8/fTTAkCefvpp57qff/5ZbDabNG/eXJ577jl55plnpGHDhs7jlLj99tulR48epY4TExMj119/vTz33HPy+uuvyz333COGYcgDDzzgsl1Z90LDhg0zPUNzWXHriiuucM70fHY8dDe79NmvDYAyZ2EPdoyHVF2VFa/c3SuLFLd/6tatKxMnTvRY9n//+18JDw+Xpk2byrPPPitPPfWUxMbGOmPF2bKzs+Xyyy8XAHL11VfLK6+8Iq+88ooMGjRIAEivXr0kLy/PuX1Z1+DDhw9LvXr1pE6dOjJlyhSZMWOGtGrVynnMs6+t9913nxiGIU8++aS8//77kpaWVu75PP/88xIWFianTp1yWT979mwBIJdddpnMnj1bHnnkEalXr560aNHCpY7NmjWTKVOmlCp32LBhUqNGDef/T506JYmJiVK3bl3ZunWrc/0jjzwiAGTgwIEyd+5cGTlypDRp0kTq168vw4cPF5Gy27iLFy+WRo0ayZgxY+SVV16RWbNmycUXXyyhoaGybt06l22vuuoq6d69e6l6AnBpC5elrPbYnj17xGq1CoBS7byyPm8lMfHc+K2Dmbafu7h57vvlzv79+wWAzJgxw7nO3X1IIGI8rNrYMVtNvPjii1KzZs1SnXbHjx+X2267zdkxetttt8nmzZvdNgpvuOEGtxd7d+x2uzzxxBMSHx8vERER0qNHD9m2bZs0a9asVMesiMivv/4qI0eOlKZNm0pISIjzQv7111+7bPf555+LYRiSmZnp9rivvPKKJCQkSFhYmHTu3Fm+/fZbueKKK0oFo08//VTatm3rPJanTseyXr9jx47JzTffLLVq1ZLo6GgZPny4/PDDDwJAPvjgAxER+ec//ylt27Z1W667wPLpp59KSEiI3HDDDc6O019++UUGDBggERER0qBBA3nkkUfk//7v/wSAszF+3XXXSf/+/Usd4z//+Y/06dNHYmJixGazSdOmTeWee+6RI0eOuGz36quvSmRkZKkLKztmA8+5gffzzz8XAFKjRg2XJSQkRK6//noREdm5c6fze1XW8thjj5V5zBMnTkhUVFSpjnuiYFLWtV5EZP78+ZKYmCgRERFSq1Ytad++vYwbN04OHz7s3MZut0t8fLyphq+IdzFYROS7776TQYMGSf369cUwDAEgMTExpa7n5cWd3NxcefDBB6VevXpSo0YNGThwoBw6dKhUx6yIyJNPPimNGjUSi8ViqtPx6quvlt69e5dav3nzZrnsssskLCxMGjduLNOmTZNZs2YJAMnIyBARkc6dO8t9991Xat+yGkTjxo0TADJnzhznurS0NOnUqZPYbDZp0aKFvPHGG/LII49IeHi4iIg4HA6JiYmR6dOnlzrOU089JV26dJHatWtLRESEtG7dWp5++mnnj6QlyroX0tExe3ZHq5mOWZG/O3PZMVuM8ZCqi7LiVVkdZV988YUAkD179pgqf82aNZKYmCg2m03OO+88mTdvnvNadK6CggKZOXOmJCYmSmRkpPN7NGzYMJdBIOVdg0VEtmzZIldccYWEh4dLo0aN5Mknn5Q333yz1LU1IyNDBgwYILVq1TLV6ZiZmSkhISHy7rvvlvrbrFmzpFmzZhIWFiZdunSRH374QRITE6Vv374iIrJt2zYBIBs2bCi1r7uOvj/++EPatm0rcXFxzte6qKhIHn/8cYmLi5OIiAjp1auX7Ny5U+rVqyejRo0SkbLbuL/88ovccccd0qJFCwkPD5e6detKz549S7WRT548KTabze11SbVjtuRcvemYPbszlx2zlYPxsGpjx2w1cfLkSalbt26FvzRHjhyR8PBwWbJkieaauff111+LzWaTXr16SX5+vnP9vffeKxdffHGl1OFs3rx+ixcvFgDy/fffi4hImzZt5NFHH9Vep5deekkAyG+//SaFhYUSFRUlc+fOrXB5HTt2lDFjxmisIfnKuYH3gw8+EKvVKrt27ZI9e/a4LCUdNvn5+bJz585yl6NHj5Z73M6dO8v48eN9eWpEfqUaKxcvXiwREREunbW+NHXqVAEg//73v13W+yruePLtt9+KxWKR//3vfx63feihhyQ8PFyKiookIyNDDMOQZcuWaa/T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Nmbz5s3o2bMnYmJi0LJlS29ZhuXLl6Nr166Ijo7GBRdcgMWLF5cb/9w7UtatW4f+/fujbt26iI6ORrNmzXDbbbeV2e6HH37ApEmT8NJLL/ksT0tLw0UXXVTmfTp16hS2b9+OU6dOVbq/peLj43Hfffdh/vz5pjta77nnHiQnJ1frqNkbbrgBx48fx6JFi7zLioqK8H//93+VXis2aNAAl112WZnr03fffRft2rVjSSAKW+yYJW8Nm44dO/os93g8GDx4MP7zn/9gxIgReOqpp3Do0CGMGDGi3DiJiYlo0aKFqQLqjz32GB599FFcfPHFeP7559G8eXP069cPubm58h1Cya+Uv//9772/Cn///ffo168fjhw5gkmTJuHWW2/FxIkTMXfuXJ/t/v3vf8PhcOB3v/ud9xaGO++8s8LnOXDgAPbv31/mtSu1a9cuDB8+HIMHD8aUKVNw8uRJDB48GO+++y7uu+8+3HTTTXj88cexe/duXHvttWVONNauXYujR4/iiiuuAFBycnLllVeisLAQkydPxosvvoirrrqqzGu+du1aXHvttZg5cya6dOlSpl0dO3Yss82rr76K1q1bY82aNRXu77mGDx+ONWvWYPfu3d5lc+bMwR//+MdKb0G67LLL0LBhQ5+k+f777yMuLq7SX8nz8vJw7Ngxn4e/NaiIiPxVUZ4sNWfOHDz//PO488478eSTT2Lv3r245ppryhyfmCfLivQ8+be//Q3FxcWmO1qbNWvmd2cuEVGpqvJVeco73pXn7bffxp133on09HQ899xz6NGjB6666qpy540IxGeffYZOnTqhXr16AEoGbfTu3RubNm3ChAkTMG7cOPzrX//C3//+d5/tpk6dioYNG6JVq1bevPS3v/2twudxuVxYu3Ztha/RyZMnceWVV6Jr16547rnn4HA4cP311+P999/H9ddfjyuuuALPPPMMcnNz8cc//rFMeYGsrCxs3LjRm5eOHDmCfv36Ye/evZgwYQKmTZuGG2+8EatWrfLZ7qeffsLAgQMxceJEXH311WXa1alTJ5/aswAwd+5ctG7dukyursy9997rV0drQkKC3525Uk2bNkVmZqbPHZaff/45Tp06heuvv77SbYcPH4758+fjzJkzAIDi4mJ8+OGHVQ7+Ofca02xnN5EWimq9Rx55RAFQp0+f9ln+3//+VwFQU6dO9S5zu92qT58+CoCaOXNmmVj9+vVTrVu3rvT5jhw5oqKiotSgQYOUx+PxLn/44YcVADVixAjvspkzZyoAau3ateXGGjRokGrSpInPstzcXOV0On3aN2TIEOV0OtW+ffu8y7Zu3aqsVqs692sQGxvr04bKLF68WAFQ8+fPL/O3Jk2aKABqxYoV3mVffPGFAqCio6N92vLmm28qAOrLL7/0ifHoo4/67N/LL7+sAKijR49W2KY1a9ao9PR0NXfu3ArXGT16tIqOjvZZNnHixHLbUJ4mTZqoQYMGqeLiYpWenq6eeOIJpVTJawpALV++vNz3rvQ5jh49qv7yl7+oli1bev/WpUsXdeuttyqllAKgxowZ4/3bnj17FIByH2baS0QkUVGeLD021alTR504ccK7/OOPP64wNzBP/qY25EmllLr11luV0+lUBw8eVEop9eWXXyoA6sMPP/Suf/b7uHv3bmWz2dSf//xn79979uypLrzwwiqfl4hqt4rylVIl59cTJ04ss7y84925ioqKVFpammrfvr0qLCz0Lp8xY4YCoHr27OldVt4x7mxjxowpk1eUUqpx48Y+7Rs3bpwCoFavXu1dduTIEZWYmKgAqD179niXX3jhhT5tqMyuXbsUADVt2rQyf+vZs6cCoObMmeNdtn37dgVAWSwWtWrVKu/y0nx17jXx22+/raKjo1VeXp5SSqm5c+dWmqeVUmr37t2qSZMm6rXXXqtwnaeffloBUIcPH/YuK80d5V2Xl7dvpXnk8ccfVwDU+vXrlVK/nc88//zz3vXPfh+zs7NVcnKyuuqqq7x/HzFihIqNja3yef1xdi589dVXVXx8vPd1HDZsmOrdu7dSyjfHliq9fjxx4oSKiopS//73v5VSSn366afKMAy1d+9en2vRs/ejvGtMs58nIh04YpZw/Phx2Gy2MrdyLFy4EHa7HaNGjfIus1gsGDNmTIWxkpOTfWY5LM/ixYtRVFSEe+65x+e2xnHjxgW2A+dYunSpz20wbrcbX3zxBYYMGYLGjRt712vdurW4Punx48cBlOx3edq0aYPMzEzvv7t27QoA6NOnj09bSpefW3fws88+8xlBWlo/7+OPPy4zaqjUkCFDYBgGpk6dil69epX7i2tycjLy8/N9bsecNGkSlFJV3vpzNqvVimuvvdb7a+a7776LRo0a4Xe/+12V2w4fPhy7du3C2rVrvf+t6pfM0aNHY9GiRT4PFmUnomCrKE+Wuu6663zyQOkxsLxassyTviI9TwLAI4884teo2ebNm+Pmm2/GjBkzcOjQIb+ei4hqt6ryVXnKO96da926dThy5AjuuusuREVFeZePHDkSiYmJojYDJbfw79+/3+d4/tlnn6Fbt2645JJLvMtSU1PLTIzlr6ryUlxcnM+ozAsuuABJSUlo3bq1NxcBleel3r17Izo6GsBveWnBggUV3ul38803IycnBx988AF69eqFXr16IT8/32ed0vaefQ4xcuRIKKWqLCl0rtJRs2ZrzSYmJmLcuHH45JNPyi0rFAzXXnst8vPzsWDBApw+fRoLFiwwVfIuOTkZAwYM8F6fzpkzB927d0eTJk0q3MbpdJa5xnzxxRe17QtRVdgxSxXat28fMjIyEBMT47O8ZcuWFW6jlCpTQ668uABw3nnn+SxPTU2tMEFW5tzn+/TTT9G5c2fvbTBHjx5Ffn5+mecDShKtDqqCmUzPvqgE4D1xadSoUbnLT5486V2WlZWFDRs2+JygXHfddejRowfuuOMO1KtXD9dffz0++OADn4vPAwcO4ODBg1i2bBmWLVtWbs2o0vZW9V6ZMXz4cGzduhXfffcd5syZg+uvv95U3A4dOqBVq1aYM2cO3n33XaSnp6NPnz6VbnPeeeehb9++Po9APjNERDqde6wvPS6dfUwvxTzpqzbkyUA6Wv3tzCUiCpSZ411Feclut6N58+biNnz66aeoV68eOnfu7POcochLDRs2LPNaJCYmmspLLpcLixYt8slLPXv2xNChQ/H444+jbt26uPrqqzFz5kwUFhZ61/n2229x4sQJb15atmyZt2P33PbqyEuBdLTee++9SEpK8qvWbH5+PrKysnweZqWmpqJv376YM2cOPvroI7jdbvzxj380te3w4cOxaNEi7N+/H/PmzauyQ9dqtZa5xuzUqZPpthJJsWOWUKdOHRQXF5epjxOIkydPom7duhpaVaJ0NtFzfzEslZeXV2bG0c8++8xb0yfY6tSpA6D8i2+g5CDvz/KzTxA+//xzOJ1O9O7d27ssOjoaX331FRYvXoybb74ZmzdvxnXXXYff//73cLvdptt98uRJxMTElEn4gejatStatGiBcePGYc+ePX5N3jV8+HC8//77mDNnDq677royM5BSia+++gqDBw9G/fr1YRgG5s2bF/TnPHDgAG666SbUqVPHOyHPunXrgv68ROGoqjxp5pheinnSV23Ik8BvtWafffZZU+s3b94cN910E0fNloM5kahigVzX6T7eBZqXBgwYoKXTsSrBzEvffPMNcnJyfHKsYRj4v//7P6xcuRJjx47FgQMHcNttt6FTp07eOqhmlLZX1zlEaUdrMEfNvv/++8jIyPB5+GP48OH4/PPPMX36dAwcONA7+rgqV111FRwOB0aMGIHCwkJce+21fj1vTcF8GDnYC0Jo1aoVgJJZPM/WpEkTHDp0qMxtLbt27aow1p49e9C6detKn6/0NoKdO3f6LD969GiZBFm67o4dO8qN9eOPP/rcllDebTCpqamIjo4u83wVxfXnhKCi106HTz/91Oc2mFIWiwWXX345XnrpJWzduhVPPfUUli5dii+//NJ0bDPvkz9uuOEGLFu2DK1bt0b79u1Nbzd8+HAcOnQIP/74o18durVNbm4uLr74Yrz22mvV8nwnT55Ejx49YLfb8fnnn2Pr1q148cUXOTqZai2dx3rmSX1qUp5s0aIFbrrpJrz55pt+j5o125lbWzAnElUskGOuJC+5XK5yryGBivPSjh07fPJSdnY2VqxYUWYC4CZNmgQlLzVu3BjR0dFBy0tt2rRB06ZNy/ytW7dueOqpp7Bu3Tq8++672LJlC9577z3Tsffs2YO6desiNTVVS1tLO1o//vhj0x2t48aN86szt3///mVKBPjjD3/4AywWC1atWuXXtWJ0dDSGDBmCZcuW4fe//73WH8TDCfNh5GDHLHlru537S0f//v3hcrnw1ltveZd5PJ4Kv/inTp3C7t270b1790qfr2/fvrDb7Zg2bZrPL4xTp04ts26nTp2QlpaGf/zjHz63ewDAvHnzcODAAW+NPKDk19Zzb4OxWq3o378/5s2bh/3793uXb9u2DV988UWZ54yNjUV2dnal+1CqQYMGaNSokfZficq7DQYATpw4UWbd0o7Qc1+fymzYsKHM+3Ts2DFs37690vpSFbnjjjswceJEv2vxtGjRAlOnTsWUKVN86keRr4EDB+LJJ5/EH/7wh3L/XlhYiL/85S9o0KABYmNj0bVrVyxbtizg53v22WfRqFEjzJw5E5dccgmaNWuGfv36oUWLFgHHJKrJKsqT/mKe1Kem5UmgpKPV5XLh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F3H+/Hk8+uijeP7554X3sX37dgQHB+Oee+5xabsdO3bg5ZdfdmmbJUuWYNiwYQgICHBpO73V9pxrs58ePXrAbDZrKq/ntWQymbBnzx6nNxEbN26EyWSqclsfHx/885//rLT+ww8/rHafw4cPxz/+8Q+HxdVrhIjcX1XxUaunnnoKf//73/HLL7/oely5ubmIiIjAnDlz0LVrVyQmJmLevHmQZRljxozBqFGjHEZM1cann34KSZLw8MMPu7RdRkYGXn75ZZc6ZpcsWYKHHnoI7du3d/Eo9VXbc3ZVbWKzntfStm3bnHa0VkePUdFEVHe0xiu257Rje656el9Lb7/9Ns6dO6e5fHFxMV555RXh/bqitm1Hk8nkdLvCwkJ8/PHHVbZXb7311kptzn/84x9o1apV7U6APBo7Zhu4tWvX4rHHHqv0hWAymeDl5eWw7k9/+hPOnj2LPXv26LZ/q9WKP/7xj7h06RI+//xzJCUl4cknn8Szzz6LgwcPYujQoXj11VexZcsWof3s2LEDjzzyCCRJ0unInTt8+DC+/vpr/OlPf6rT/Whxo855x44diImJcWkbva6l++67D40bN8bmzZsd1v/444/4z3/+U+1xDRgwwGmQTE5Orna7u+++G6NGjXJYoqOja38SROSWqoqPWg0ePBjFxcXC8et6Y8eOxYkTJ/DRRx9h48aNmDBhAp555hl89tlnePbZZ5GcnIylS5cK7WPHjh247777EBgYqM9BV+H8+fPYvn2728TMG3HOtYnNel1Lbdq0QdOmTV3qoAgPD8e2bdtw6NAhoX0TUd1xJV6xPVcztue00eta6ty5M2w2m0sdreHh4S535oqqbdtxwIABOH78OL7++muH9R9//DFKSkrw+9//3ul2AQEBldqco0aNgr+/v9iJkEdix2wDdubMGfz3v/91+ii4s3njevTogaCgIHz88cea6l+9ejVuv/12+Pr64t5778V//vOfSmX+9a9/4ejRo3j++ecRERHh8JrBYMDf//53BAYGYvbs2er68sca3n//fSxYsAC33norTCYTHnroIXz33XeV9pGfn4+MjAyHL8z8/Hw88cQTCAgIQGBgIMaOHVtphM8TTzyBVatWqe9H+VKdlJQUeHt744EHHnBYX/4IxLfffotRo0YhICAALVq0wMyZM6EoCn744QcMGjQI/v7+MJvNThvV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8ZDxMJwYD49iPKR2FenTx6h169atU3Fxceqpp55SP/30k3rvvfdUQkKCevfdd/2PmT17tkpJSVEff/yx2rx5sxoxYoTq2bOnamhoUEopNX/+fHXvvfeqr776Sm3fvl1t3bpV/eUvf1EWi0X9+9//Dks/pk6dqlauXKl27typNm/erKZOnao0TVNff/21Ukqpe++9V/Xo0UMtX75crV+/XrndbuV2u/3lp0+frh5++GG1YsUK9fPPP6sNGzaoMWPGqPj4ePXDDz+EpQ9tsWjRIuVwONSCBQtUcXGxGj9+vEpJSVHl5eWRbppSSv56HDtxc+PGjf7bSkpKVFxcnHI6nWE7cVMpc94jSh09dfPDDz/0///QoUMqOTlZOZ1OnrpJFAViJR4qxZjImNg+GA+JOgbGQ8bD9sJ4yHhIkcGJ2dPAkiVL1AUXXKAcDofq3bu3evXVVwPuNwxDPfbYYyojI0M5HA41ZMgQVVJS4r9/w4YN6rbbblM9e/ZUDodDde7cWV1xxRXqk08+CVsf7rrrLpWdna3sdrtKT09XQ4YM8V/glVKqoaFB/elPf1KpqakqISFB3XjjjaqsrMx///Lly1VBQYHKyspSdrtdZWRkqOHDh6vVq1eHrQ9t9cILL6gePXoou92u+vfvr7799ttIN8lP+nqcLOgqpdT48eMVgLBOzColf48odWLgVUqpmTNnKgAMvERRIhbioVKMiYyJ7YfxkKhjYDw8ivHQXIyHjIcUGZpSSoV7lS4RERERERERERFRR8Ycs0RERERERERERERhxolZIiIiIiIiIiIiojDjxCwRERERERERERFRmHFiloiIiIiIiIiIiCjMODFLREREREREREREFGacmCUiIiIiIiIiIiIKM07MEhEREREREREREYUZJ2aJiIiIiIiIiIiIwowTs0RERERERERERERhxolZIiIiIiIiIiIiojDjxCwRERERERERERFRmP1/TQ58qc60JkEAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import xarray as xr\n", + "import string\n", + "\n", + "# List of variables and their settings\n", + "variables = [\n", + " {'var': 'DTPHYS', 'var_title': 'dT/dt', 'scaling': 1., 'unit': 'K/s', 'diff_scale': 1, 'state_scale': 0.5},\n", + " {'var': 'DQ1PHYS', 'var_title': 'dQ/dt', 'scaling': 1e3, 'unit': 'g/kg/s', 'diff_scale': 1, 'state_scale': 0.5},\n", + " {'var': 'DUPHYS', 'var_title': 'dU/dt', 'scaling': 1., 'unit': 'm/s²', 'diff_scale': 0.25, 'state_scale': 0.16},\n", + " {'var': 'DQnPHYS', 'var_title': 'dQn/dt', 'scaling': 1e6, 'unit': 'mg/kg/s', 'diff_scale': 0.5, 'state_scale': 0.6}\n", + "]\n", + "\n", + "# Combine dQc/dt and dQi/dt into dQn/dt\n", + "ds_sp['DQnPHYS'] = ds_sp['DQ2PHYS'] + ds_sp['DQ3PHYS']\n", + "ds_nn['DQnPHYS'] = ds_nn['DQ2PHYS'] + ds_nn['DQ3PHYS']\n", + "\n", + "# Create a figure with subplots (4 rows x 3 columns) to rotate the figure\n", + "fig, axs = plt.subplots(4, 3, figsize=(14, 12)) # Adjust size as necessary\n", + "# Generate the panel labels\n", + "labels = [f\"({letter})\" for letter in string.ascii_lowercase[:12]]\n", + "\n", + "# Loop through each variable and its corresponding subplot position\n", + "for idx, var_info in enumerate(variables):\n", + " var = var_info['var']\n", + " var_title = var_info['var_title']\n", + " scaling = var_info['scaling']\n", + " unit = var_info['unit']\n", + " diff_scale = var_info['diff_scale']\n", + " state_scale = var_info['state_scale']\n", + "\n", + " # Compute the means and differences for plots\n", + " sp_tmean = ds_sp[var].mean(dim=('time')).compute().transpose('ncol', 'lev')\n", + " nn_tmean = ds_nn[var].mean(dim=('time')).compute().transpose('ncol', 'lev')\n", + " sp_zm, lats_sorted = zonal_mean_area_weighted(sp_tmean, grid_area, lat)\n", + " nn_zm, lats_sorted = zonal_mean_area_weighted(nn_tmean, grid_area, lat)\n", + " \n", + " data_sp = scaling * xr.DataArray(sp_zm[:, :].T, dims=[\"hybrid pressure (hPa)\", \"latitude\"],\n", + " coords={\"hybrid pressure (hPa)\": level, \"latitude\": lats_sorted})\n", + " data_nn = scaling * xr.DataArray(nn_zm[:, :].T, dims=[\"hybrid pressure (hPa)\", \"latitude\"],\n", + " coords={\"hybrid pressure (hPa)\": level, \"latitude\": lats_sorted})\n", + " data_diff = data_nn - data_sp\n", + "\n", + " # Determine color scales\n", + " vmax = max(abs(data_sp).max(), abs(data_nn).max())\n", + " vmin = min(abs(data_sp).min(), abs(data_nn).min())\n", + " \n", + " vmax = max(abs(vmax), abs(vmin)) * state_scale\n", + " vmin = -vmax\n", + " \n", + " # Plot MMF for each variable in the first row\n", + " data_sp.plot(ax=axs[idx, 0], add_colorbar=True, cmap='RdBu_r', vmin=vmin, vmax=vmax)\n", + " axs[idx, 0].set_title(f'{labels[idx*3]} {var_title} ({unit}): MMF')\n", + " axs[idx, 0].invert_yaxis()\n", + "\n", + " # Plot NN for each variable in the second row\n", + " data_nn.plot(ax=axs[idx, 1], add_colorbar=True, cmap='RdBu_r', vmin=vmin, vmax=vmax)\n", + " axs[idx, 1].set_title(f'{labels[idx*3 + 1]} {var_title} ({unit}): NN')\n", + " axs[idx, 1].invert_yaxis()\n", + "\n", + " # Plot NN-MMF for each variable in the third row\n", + " vmax_diff = max(abs(data_diff).max(), abs(data_diff).min()) * diff_scale\n", + " vmin_diff = -vmax_diff\n", + " data_diff.plot(ax=axs[idx, 2], add_colorbar=True, cmap='RdBu_r', vmin=vmin_diff, vmax=vmax_diff)\n", + " axs[idx, 2].set_title(f'{labels[idx*3 + 2]} {var_title} ({unit}): NN - MMF')\n", + " axs[idx, 2].invert_yaxis()\n", + "\n", + " # Clear x-labels to clean up plot\n", + " axs[idx, 0].set_xlabel('')\n", + " axs[idx, 1].set_xlabel('')\n", + " axs[idx, 2].set_xlabel('')\n", + " \n", + " if idx > 0:\n", + " axs[idx, 0].set_ylabel('') # Clear the y-label to clean up plot\n", + " axs[idx, 1].set_ylabel('') # Clear the y-label to clean up plot\n", + " axs[idx, 2].set_ylabel('') # Clear the y-label to clean up plot\n", + "\n", + "# Set these ticks and labels for each subplot\n", + "latitude_ticks = [-60, -30, 0, 30, 60]\n", + "latitude_labels = ['60S', '30S', '0', '30N', '60N']\n", + "for ax_row in axs:\n", + " for ax in ax_row:\n", + " ax.set_xticks(latitude_ticks) # Set the positions for the ticks\n", + " ax.set_xticklabels(latitude_labels) # Set the custom text labels\n", + "\n", + "plt.tight_layout()\n", + "# plt.savefig('zonal_mean_tendency_bias_reduced_nopruning_noclass_wdiff_vertical_drop1month.pdf', format='pdf', dpi=400)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "48ff6622-a9bc-42ad-90a7-54c915cf29a7", + "metadata": {}, + "source": [ + "## Read another 5-year U-Net hybrid simulation\n", + "\n", + "We can see that the 5-year online bias can vary due to change of NN checkpoint, although some bias patterns remain similar (e.g., tropical dry moisture bias and negative liquid cloud bias). Figure G1 in Hu et al. 2024." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "45b65991-e254-443f-8141-161e27e2c680", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "filenames = data_path+'h0/5year/unet_v5/huber_step/*.eam.h0.000[3-8]*.nc'\n", + "ds_nn = xr.open_mfdataset(filenames)\n", + "\n", + "# Exclude the first month (0003-01) due to spin model\n", + "ds_nn = ds_nn.sel(time=ds_nn.time[1:])\n", + "ds_nn['lev'].attrs['long_name'] = 'hybrid pressure'\n", + "\n", + "filenames = data_path+'h0/5year/mmf_ref/*.eam.h0.000[3-8]*.nc'\n", + "ds_sp = xr.open_mfdataset(filenames)\n", + "# Exclude the first month (0003-01) due to spin model\n", + "ds_sp = ds_sp.sel(time=ds_sp.time[1:])\n", + "ds_sp['lev'].attrs['long_name'] = 'hybrid pressure'" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "6e9cdd85-251d-4d8a-8fc0-67eab2b3b40e", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABWIAAATXCAYAAABkugyZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzde5xM9f8H8NeZy87sLrssdpdc1u0bGyLEpiSEqPiSknuJ0lLolyhFikUqkYiKklWpL7kld3IJLcq9bxLCrsRat92dmXN+f2w7X2N3Zmd23sPZ2dfz8TiPcubMZz5n5/Ke85nP5/1WNE3TQEREREREREREREQBY7jZHSAiIiIiIiIiIiIKdhyIJSIiIiIiIiIiIgowDsQSERERERERERERBRgHYomIiIiIiIiIiIgCjAOxRERERERERERERAHGgVgiIiIiIiIiIiKiAONALBEREREREREREVGAcSCWiIiIiIiIiIiIKMA4EEtEREREREREREQUYByIpSJl0qRJqFWrFlRV9el+NpsNlSpVwgcffBCgnuWvffv26N+/f6HuO3PmTFSuXBlZWVnCvSIiomB2faz8448/oCgKJk+eXOB9R4wYgSZNmgS6iy6++uorREVF4dKlSz7f9++//0Z4eDhWrFgRgJ4REVGgFOa6jtd0RBQMOBBLRUZGRgYmTpyIl156CQaDby9ds9mMYcOGYdy4ccjMzPR4bIsWLaAoSoHbmDFjPLazZcsWrFq1Ci+99JJz34YNG6AoCr7++muXY7Ozs/Hggw/CYDDgk08+AQD07dsX2dnZ+PDDD3061+vFxcVBURS0bt0639tnz57tPKeffvrJuX/MmDFQFAUGgwEnTpzIc7+MjAyEhoZCURQMGjTIuT/3gj+/rWnTpn6dCxEReeZPrASAIUOG4Oeff8aSJUs8Hjd37lyvYmVcXJzHdhwOB0aPHo3BgwejRIkSzv1xcXF48MEH8xw/b948GI1GtGvXDpmZmShTpgyeeuopvPrqqz6f67VyY15MTAyuXLmS5/b8+pN7jm+//Xae43P/PtfGVSIiylHYWMVrOgWDBw/Oc1t+/cmNQ1arFSdPnsxznxYtWqBOnTp+9el6EtePb775Zr5t9+jRA4qiuHxXyD0Pd8/toUOHRM+PSIrpZneAyFuffPIJ7HY7Hn/88ULd/4knnsCIESOQnJyMJ5980u1xr7zyCp566innv3fu3ImpU6fi5ZdfRu3atZ3769Wr5/Hx3nrrLbRq1Qo1atTweJzNZsMjjzyCFStWYPbs2c6+Wa1W9OnTB++88w4GDx4MRVG8Oc18Wa1WrF+/HqmpqYiNjXW5bf78+bBarW6/zFgsFixYsADDhw932f+f//zH42M+/vjjaN++vcu+cuXKFaL3RETkLX9jZWxsLDp27IjJkyfj4Ycfdntc8+bNMW/ePJd9Tz31FO68804MGDDAue/6C6brLV26FIcPH3a5jzvz589H37590bp1ayxevBhWqxUA8Mwzz2Dq1KlYt24dWrZsWWA7npw5cwYzZszACy+84PV93nrrLQwcOBBhYWF+PTYRUXHhT6wqztd0QM4kmpEjR6JChQpeHZ+VlYUJEyZg2rRpfj2uLwp7/Wi1WrFgwQKMGjXKZf/ly5fx7bffOuP+9SpWrIikpKQ8+739GxHdcBpREVGvXj2tZ8+efrXx4IMPavfcc49P91m4cKEGQFu/fr3X90lLS9NMJpP20Ucfuexfv369BkBbuHChpmmalp2drXXq1ElTFEWbNWtWnnZ++uknDYC2du1an/p8rSpVqmitWrXSIiIitClTprjcduLECc1gMGhdunTRAGg7d+503jZ69GgNgNa5c2etfv36edq9//77nfdLTEx07j969KgGQHvrrbcK3WciIiqc/GKlr5/LX3/9taYoinbkyBGfHjs8PFzr06ePT/d5+OGHtbvvvjvP/ipVqmgdOnRw/nvBggWa0WjUWrdurV29ejXP8XXq1NF69erl02NfKzfm1a9fX4uJidGuXLnisT+apjmPB6C9/fbbLrfNmTMnT1wlIqIc/l7XFddruttuu00zmUza4MGDPfZH0/4Xh+rXr69ZLBbt5MmTLve59957tdtuu63Q/cmPv9ePnTt31gBoe/bscbnf/PnzNbPZrD300ENaeHh4wM+DKNCYmoCKhKNHj+KXX37Jd3n95MmTcdddd6FMmTIIDQ1Fw4YN8ywTyXX//fdj8+bNOHfuXED7u3z5ctjtdrfpAADAbrejW7du+PbbbzFjxox88w41bNgQUVFR+Pbbb132nz17FocOHcp3+WR+rFYrOnfujOTkZJf9CxYsQOnSpdG2bVu39+3evTv27NnjsrQjNTUV69atQ/fu3b16fCIiCjxPsTLXu+++iypV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iIiIiIiIKMA4EEtEREREREREREQUYByIDWIWiwWjR4+GxWK52V0RxfMqWnheRHSzBev7ledVtPC8iEgPgvU9y/MqWnheVJyxWBcRERERERERERFRgHFGLBEREREREREREVGAcSCWiIiIiIiIiIiIKMA4EEtEREREREREREQUYByIJSIiIiIiIiIiIgowDsQSERERERERERERBRgHYouYkydPomfPnihTpgxCQ0NRt25d/PTTT87bNU3Da6+9hvLlyyM0NBStW7fGf//7X5c2Nm7ciJYtWyIqKgphYWGoWbMm+vTpg+zs7Bt9Ok4zZsxAvXr1EBERgYiICCQkJOC7775z3p6ZmYnExESUKVMGJUqUQJcuXZCWlubSxqJFi9C0aVNERkaiZMmSuO222zBkyJAbfCaFM336dMTFxcFqtaJJkybYsWPHze6SW/4+V3/88QcURUF0dDQuXrzo0nb9+vUxZsyYG3UqeUi8vxRFgdVqxbFjx1z2d+rUCX379r0Rp0FUbARjTCzu8RBgTMx1M2Mi4yFR0cOYyJh4MwVrPAQYE0keB2KLkPPnz6NZs2Ywm8347rvvcODAAbz99tsoXbq085hJkyZh6tSpmDlzJrZv347w8HC0bdsWmZmZAIADBw6gXbt2aNSoETZt2oS9e/di2rRpCAkJgcPhuFmnhooVK2LChAlISUnBTz/9hJYtW6Jjx47Yv38/AGDo0KFYunQpFi5ciI0bN+LUqVPo3Lmz8/5r167FY489hi5dumDHjh1ISUnBuHHjYLPZbtYpee3LL7/EsGHDMHr0aOzatQu333472rZtizNnztzsruXL3+cq18WLFzF58uQb3X23JN5fuRRFwWuvvXajT4GoWAnWmFic4yHAmKgHjIdERQ9jImPizRaM8RBgTKQA0ajIeOmll7S7777b7e2qqmqxsbHaW2+95dyXnp6uWSwWbcGCBZqmadq7776rxcXFBbyvEkqXLq199NFHWnp6umY2m7WFCxc6bzt48KAGQNu2bZumaZr2/PPPay1atLhZXfXLnXfeqSUmJjr/7XA4tAoVKmhJSUk3sVe+8eW5Onr0qAZAe/HFF7USJUpoaWlpzmNvv/12bfTo0Te6+5qmyby/NE3TAGj/93//pxkMBm3v3r3O/R07dtT69OkTkL4TFUfFKSYWl3ioaYyJeoiJjIdERQ9jYg7GRH0p6vFQ0xgTKTA4I7YIWbJkCRo1aoSuXbsiOjoaDRo0wOzZs523Hz16FKmpqWjdurVzX2RkJJo0aYJt27YBAGJjY3H69Gls2rTphvffWw6HA1988QUuX76MhIQEpKSkwGazuZxXrVq1ULlyZZfz2r9/P/bt23ezul0o2dnZSElJcTk3g8GA1q1bO89NzwrzXOV6/PHHUaNGDYwdO/ZGdztfEu+vXM2aNcODDz6IESNG3LD+ExU3xSEmFqd4CDAm6iUmMh4SFT2MiTkYE/UhWOIhwJhIgcGB2CLk999/x4wZM1CzZk18//33GDhwIJ577jl8+umnAIDU1FQAQExMjMv9YmJinLd17doVjz/+OO69916UL18e//73v/H+++8jIyPjxp5MPvbu3YsSJUrAYrHgmWeewaJFixAfH4/U1FSEhISgVKlSLsdfe16DBw9G48aNUbduXcTFxaFbt2745JNPkJWVdRPOxHtnz56Fw+Hw+JzpkT/PVS5FUTBhwgTMmjULR44cuYG9z5/E++taSUlJWLlyJX744YfAd56oGArmmFgc4yHAmKiXmMh4SFT0MCb+D2PizRNs8RBgTKTA4EBsEaKqKu644w6MHz8eDRo0wIABA9C/f3/MnDnT6zaMRiPmzJmDP//8E5MmTcItt9yC8ePH47bbbsPp06cD2PuC3XrrrdizZw+2b9+OgQMHok+fPjhw4IBX9w0PD8fy5cvx22+/YdSoUShRogReeOEF3Hnnnbhy5UqAe178+PNcXatt27a4++678eqrrwagl76ReH9dKz4+Hr179+YvnkQBEswxkfGwaAm2mMh4SFT0MCbmjzHxxgq2eAgwJlJgcCC2CClfvjzi4+Nd9tWuXRvHjx8HkLP0AkCeSpFpaWnO23Ldcsst6NWrF95//33s378fmZmZhf4wkRISEoIaNWqgYcOGSEpKwu2334733nsPsbGxyM7ORnp6usvx+Z1X9erV8dRTT+Gjjz7Crl27cODAAXz55Zc38Cx8U7ZsWRiNRq+eMz2ReK5yTZgwAV9++SV27959A3runuT7K9frr7+OXbt2YfHixfIdJirmgjkmFsd4CDAmAvqIiYyHREUPY+L/MCbePMEWDwHGRAoMDsQWIc2aNcPhw4dd9v3666+oUqUKAKBq1aqIjY3F2rVrnbdnZGRg+/btSEhIcNtu6dKlUb58eVy+fDkwHS8kVVWRlZWFhg0bwmw2u5zX4cOHcfz4cY/nFRcXh7CwMN2d17VCQkLQsGFDl3NTVRVr1671eG56489zdeedd6Jz5843/VfBQLy/KlWqhEGDBuHll1++adVmiYJVcYqJxSEeAoyJgD5iIuMhUdHDmJiDMVFfino8BBgTKUBudrUw8t6OHTs0k8mkjRs3Tvvvf/+rzZ8/XwsLC9M+//xz5zETJkzQSpUqpX377bfaL7/8onXs2FGrWrWqdvXqVU3TNG3mzJnaM888o33//ffab7/9pu3bt08bPny4ZjAYtA0bNtysU9NGjBihbdy4UTt69Kj2yy+/aCNGjNAURdFWrVqlaZqmPfPMM1rlypW1devWaT/99JOWkJCgJSQkOO8/evRo7cUXX9TWr1+v/f7779quXbu0vn37aqGhodqhQ4du1ml55YsvvtAsFos2d+5c7cCBA9qAAQO0UqVKaampqTe7a/ny97nKrYi5e/du577Dhw9rJpNJs1qtN60ipsT7S9NyKmIuWrTI+e+///5bi4yM1KxWKytiEgkK1phYnOOhpjEmatrNj4mMh0RFD2MiY+LNFozxUNMYEykwOBBbxCxdulSrU6eOZrFYtFq1ammzZs1yuV1VVe3VV1/VYmJiNIvForVq1Uo7fPiw8/Zdu3ZpPXv21KpWrapZLBatTJkyWvPmzbUlS5bc6FNx8eSTT2pVqlTRQkJCtHLlymmtWrVyfmhrmqZdvXpVe/bZZ7XSpUtrYWFh2r///W/t9OnTztvXrVundenSRatUqZIWEhKixcTEaO3atdN++OGHm3E6Pps2bZpWuXJlLSQkRLvzzju1H3/88WZ3yS1/n6v8gqymadqAAQM0ADctyGqa/+8vTcsbZDVN08aPH68BYJAlEhaMMbG4x0NNY0zUtJsfExkPiYoexkTGxJspWOOhpjEmkjxF0zTtRs/CJSIiIiIiIiIiIipOmCOWiIiIiIiIiIiIKMA4EEtEREREREREREQUYByIJSIiIiIiIiIiIgowDsQSERERERERERERBRgHYomIiIiIiIiIiIgCjAOxRERERERERERERAHGgVgiIiIiIiIiIiKiAONALBEREREREREREVGAcSCWiIiIiIiIiIiIKMA4EEtEREREREREREQUYByIJSIiIiIiIiIiIgowDsQSERERERERERERBRgH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5ZdfcO+99yI0NBQVK1bEm2++iTlz5kBRFPzxxx8ubdx///04duwY9uzZ47L/yJEjXv8CDeTMqrJYLFi4cKHL/uTkZDz66KMwGo353s9qtaJz5855ZtMuWLAApUuXRtu2bb3uAxFRceIpVqqqiilTpuC2226D1WpFTEwMnn76aZw/fz7Pse7iwPV+/PFHfP/99+jbty8efvjhPLcnJSWhZs2amDBhQoEDjYsXL0ZISAiaN2+e57YNGzagUaNGsFqtqF69Oj788EPnssTrrV27FllZWXjggQfcPtb58+dx5513omLFijh8+LBz/8KFCxEfHw+r1Yo6depg0aJF6Nu3L+Li4vK0cf/992Pp0qUug9U2mw2HDh3C6dOnPZ7rtV577TWkpaV5PSu2WbNmaNmyJSZNmuT14C0Rkd7kF69yl70fPXoUy5cvdy77zr1WMZvNaNGihVczWXNXDsyaNQvlypVzua1s2bL48MMPcenSJbz11lsFtrV48WK0bNkyT8xRVRVjxoxBhQoVEBYWhvvuuw8HDhxAXFwc+vbtm6ed5cuX47777kNoaKjbx1q1ahXCwsLw+OOPw263A8i5Ln3uuedQtmxZlCxZEg8//DBOnjwJRVEwZswYl/s3bNgQUVFRef5GZ8+exaFDh7xeTREXF4fevXv7NLD68ssv+zx466/u3btjz549LqkBUlNTsW7dOnTv3t3t/RISElC1atU815vz589Hu3btEBUVFbA+E/mDA7F0Q23duhUAcMcdd7js1zQNHTt2xLx589CzZ0+8+eab+PPPP9GnT59824mMjET16tWxZcsWj4+3efNmnD9/Ht27d4fJZMr3mNyUBUuXLi2w74qioEGDBi77L1++jJYtW2LNmjV47rnn8Morr2Dr1q146aWX8m0nd4C2TZs2+d7ucDjQt29ffPbZZ1i0aBE6d+4MADh58iTuu+8+7N+/HyNHjsTQoUMxf/58vPfee/m2k7v85/q/UatWrXxa5h8WFoaOHTu6/Er5888/Y//+/R4DI5ATVHfs2OEy8JucnIxHHnnE41LTc+fO4ezZs84tvwEGIqJg5S5WAsDTTz+NF198Ec2aNcN7772HJ554AvPnz0fbtm3z5FJ1Fweulxv/cuPh9UwmE7p3745z5845++ap73Xq1MnzGb979260a9cOf//9N15//XX069cPY8eOxeLFi/NtZ8WKFWjYsCFiYmLyvf3s2bNo2bIl0tLSsHHjRtx6660Aci6QH3vsMZjNZiQlJaFz587o168fUlJS8m2nYcOGSE9Px/79+537Tp48idq1a2PkyJEez/Va99xzj88Dq2PGjPFp8JaISG/yi1e1a9fGvHnzULZsWdSvX9+57PvagdSGDRti3759yMjI8Nj+0qVLERcXh3vuuSff25s3b464uLgCr+NOnjyJ48eP5xtXR44ciddffx2NGjXCW2+9hZo1a6Jt27a4fPlynmNtNhvWrFmD9u3bu32sZcuW4eGHH0bXrl3x+eefO69B+/bti2nTpqF9+/aYOHEiQkNDPU7MueOOO/LE7/fffx+1a9f2qc7IK6+8Arvd7vXAatWqVX0evPVX8+bNUbFiRZcB1S+//BIlSpQocGXM448/ji+++ML5g+rZs2exatUqj9epDofD5Vrz7NmzuHTpkszJEHmBA7F0Q+X+ylW1alWX/UuWLMGmTZswYcIETJ8+HYMGDcKqVas85perVq1agQnac2+//fbb3R6Te1tBbR06dAhRUVF5lix8+OGH+P3337FgwQIkJSXh+eefx8aNG91Wuly+fDmaNWuW77nZ7Xb06NEDCxcuxJIlS1wCz8SJE3H+/HmsWbMGr732Gl544QVs2bIl38TmAHDLLbcgJCTE5yT2+enevTs2b97sfKz58+ejWrVqBS7tadmyJWJjY52DuAcPHsSePXsKHMC99dZbUa5cOed2/eA3EVEwcxcrN2/ejI8++giffvopZs2ahaeffhoTJkzAN998g507d+ZZueBtHJCOldf3GwBGjx4No9GILVu24KWXXsLLL7+MjRs3ugyAXmvFihVuL75SU1PRokULZGRkYNOmTahevbrztpEjR+KWW27Bli1bMHToUIwdOxaLFi1yW6G7WrVqXp2XN0aPHu1TuoF77rkH9913n08pDYiI9CS/eBUTE4OePXsiPDwct9xyi3PZd3h4uPOYatWqQVVVj8WRLly4gFOnTnmMTQBQr149/Pnnn7h48aJP/QRy8qO/88476NSpE5YsWYLExETMmjULTz31VJ60bADwww8/ICMjw218+s9//oPOnTujd+/emDNnjnPl4K5du/DVV19hyJAh+Oyzz/Dss8/iyy+/9HiN4821rjeqVauGXr16Yfbs2V6v9MgdvJ04caLfj+8N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PDU1Fbqul3l+R7GptK+Sseniiy/GoEGD8N5777k8sFqa0sDVwdvBgwd7lF5uwIABOHz4MH755Re3rjdTUlLQqVMnrFu3DrfddpvDIt1EvoIDsVSlSpfWX/hLYY8ePWCxWOwqB1ut1nKXdgAlydv37duHq666yunzRUZG4qmnnsKePXvwzDPPlLl92bJlmD17Nnr16uUwf9z5fVdKlam8nJGRgT///BOLFy+27SssLMT7779vd7+8vDxs2bLFaeXH9PR0zJ8/HytXrsSdd94JXdftnicrKwvbtm2z7Tt+/LjDAFfazwv/Rvv27cO+ffucHmt5NE3DW2+9hXHjxuHOO+9067H33nsvxo0bh9dee83t5yUiCjaOYuXtt98Oq9WK559/vsxjLBYL8vPz7fY5igMX6tixI66//nrMmjULS5cuLXP7M888g19++QVPPfVUhRc3aWlp2LFjh13BSqPRiPT0dCxatMiuAvPevXuxYsUKu8f/73//AwCns1meffZZPPHEExgzZozd94akpCS0aNECH330kd0Pu+vXr8f27dvLbSs7OxuxsbG47LLLbPvMZjN2795d6bx45w+surrCpXTwdsaMGZV6TiKi6uAoXlUkOzsbl112mdPCzADwxBNPIDIyEvfff78tz2up48eP44EHHkBMTEyFhZYuuugiJCcnl+lnt27dEBISYhdLAOCdd94p00ZpDQ9HcTA2NhZffvkl4uPjcd1119ldb2VkZAAA3n33XbvHOLrWBUoKfF0Yv48ePYrdu3fb5Y11x9ixY2E2mzF58mSX7n/+4G1ubm6F92/UqJHdD8SdOnVyq38XX3wxpkyZgszMTFx55ZVuPXbSpEkYN26c07y7RL6CPxVQlWrUqBFatGiB1atX4+6777bt79WrFzp16oTRo0fj999/R/PmzfHFF1+UmX1aavXq1VBKoXfv3hU+51NPPYVt27bh5ZdfRlZWFvr27YuIiAh88803+OSTT3DZZZe5VJCjc+fOqF27NlavXm2Xr+b+++/HO++8g/79+2PEiBGoV68e5s6di/DwcAD/5PVZvnw5wsPDce211zp9nj59+mDWrFkYPHgwYmJibDNqnnrqKXzyySe47rrr8Mgjj6BGjRqYOXMmUlJScPz48TJLOFetWoWUlJQy1Ti7desGAG4X7AKA3r17u/Q3v1BqairGjx/v9uOIiIKRo1h5zTXX4P7770dmZia2bduG66+/HqGhofj111+xYMECvPnmm7j11ltt93cUB8rz0UcfoWvXrujduzcGDBiAf/3rXygqKsIXX3yBdevWYdCgQS7lPO3duzeef/55rF+/3m4wdfz48fjf//6HTp064cEHH4TVasU777yDFi1a2P3AuGzZMnTu3LnCi/NXXnkFJ0+exPDhwxEdHY1BgwYBAF588UX07t0bnTp1wl133YUTJ07YnufCVTelf6NevXrZxdA///wTzZo1w5AhQ9wu2FVq3LhxFcb7811zzTW45pprsH79+ko9HxFRdXAUr5wxm81Yv359mcJV5WncuDE++ugj9O/fHy1btsQ999yDhg0b4vfff8cHH3yAEydOYP78+WVyr5and+/eWLhwoV3u9ISEBIwYMQKvvfYabrrpJnTv3h0//vgjVqxYgTp16tjud+7cOaxdu7bCwop16tTBqlWr0LlzZ6Snp+Obb77BRRddhHbt2qFv376YMmUKjh07ho4dO2L9+vX45ZdfAJTNA5udnY3jx4+Xue565513MGHCBKxdu9btgl3APwOrc+bMcfkxzzzzDD7++GPs2bPH7kdLbxkxYkSlHlcaR4n8AWfEUpW7++67sWTJErvldwaDAYsXL8bAgQPxySef4JlnnsFFF13kMEgsWLAAnTt3xsUXX1zh8xmNRsyfPx+zZ8+G1WrF2LFjMWzYMNtF5w8//IBatWpV2I7JZMLAgQOxYMECu/1RUVH46quv0LVrV7z55puYNGkS/vWvf+HZZ58FANuA7PLly3Httde6lOdn0KBBmDp1KmbMmIEnn3wSAJCcnIy1a9eiWbNmePHFFzFlyhQMGTLE9qWn9HmAkjyC//nPfzB48GCxAiRERFR1youVADB9+nTMmDEDR44cwb///W+MGTMGX331FQYNGmQ388TdOJCQkIBNmzZh3Lhx2Lp1K0aMGIFHH30U69atw7PPPouPP/7YpXbatWuHVq1a4fPPPy+zf8WKFahZsyaeffZZfPDBB5g4cSK6detmi19KKaxcudJhCp8LTZ8+Hf369cNdd92F//73vwBKftj99NNPUVxcjNGjR+OLL77A7Nmzcemll9rFSQDYvXs3duzYgaFDh7r0fO7o0qWL2xeE/MGSiPyRo3jlyJo1a3D8+HEMGTLEpfv37dsXW7ZswbXXXouZM2fivvvuw/PPP4/jx4/jhx9+wE033eRyP//88098++23dvtffvllPPvss/j+++/xxBNPYO/evfjf//4HpZQtbnz11VcoKirCDTfcUOHzXHTRRVi9ejWKiopw3XXX4ejRowBKfvAcPnw4li1bhqeffhrFxcX47LPPAKBMfFqwYAFSUlJcLlbljrFjx8JoNLp8/8aNG9t+7CQiIYqoiuXn56tatWqpmTNnVurxhw8fVuHh4WrRokWV7kNxcbHKyMhQISEhasWKFS4/bt++fSo0NFStXr26wvu+8cYbCoD6448/lNlsVjExMWrq1KmV7rMjI0aMUOHh4cpisdj2LVy4UEVERKhDhw6JPx8REXmfp7FSIg788ccfKiUlRSUlJan9+/e7/LiPPvpIRUdHqxMnTlR43969e6vGjRsrpZTatGmTAqB27txZ2S471Lp1a5Wenm63b8SIEapt27ZK13Xx5yMiChbuxqvevXurPn36ePScc+bMUZqmqTvvvNOtx3Xt2lUNGjSowvudOHFCAVCTJk1SSin14IMPqiuuuKJSfXVm69atCoD65JNPbPsKCwtVYmKimjJlivjzEZFv4EAsVYuXXnpJXXrppcpqtbr92KefflokEJ4+fVq1b99eRUVFqezsbJcf98ADD5S5mDt79qzdv8+dO6eaNm2qmjRpopRSKi8vT40bN87jgdELn+fo0aOqVq1aZfrTsWNH9eSTT3r0XEREVL08iZVScWDXrl2qVq1aqnnz5ur48eMuPcZqtarLLrvMdgFb6sIY9ssvv6jQ0FB17733KqVKBmJffPFFj/pbXFyszGaz3b61a9faXVArVRI/a9SooZYtW+bR8xERkevxateuXcpoNKrt27eLPCcANWbMGJcf891336nQ0FD1+++/2/ZdGJuUUmrcuHEKgPrmm2+UUkq99957avny5R71t7znGTJkiDIYDOrAgQO2fdOmTVPJycmqsLDQo+cjIt+lKXVBqXcictsNN9yAlJQUtGnTBidPnsQnn3yCnTt3Yu7cuW5VfKxImzZt0KVLFzRr1gx5eXn44IMPcOjQIaxZs6bCStZERETVqV69ehg6dCgaNWqE/fv3Y9q0aSgqKsLWrVvRpEkTkef4/fffkZ6ejkGDBiEpKQm7d+/G9OnTERsbix07dqB27doiz0NERIFh9uzZmD17Nnr06IGoqCh8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X0qVDbJKKfXiiy8qAAyyRMICMSYGezxUijFRqeqPiYyHRP6HMZExsToFajxUijGR5GlKKVXVs3CJiIiIiIiIiIiIgglzxBIRERERERERERF5GQdiiYiIiIiIiIiIiLyMA7FEREREREREREREXsaBWCIiIiIiIiIiIiIv40AsERERERERERERkZdxIJaIiIiIiIiIiIjIyzgQS0RERERERERERORlHIglIiIiIiIiIiIi8jIOxBIRERERERERERF5GQdiiYiIiIiIiIiIiLyMA7FEREREREREREREXsaBWCIiIiIiIiIiIiIv40AsERERERERERERkZdxIJaIiIiIiIiIiIjIyzgQS0RERERERERERORlHIglIiIiIiIiIiIi8jIOxBIRERERERERERF5GQdiqdpNnjwZTZs2ha7rbj929OjR6NChgxd6VbHPP/8ctWrVwunTp6vl+c+3cuVKREVF4a+//qrurhARkZdcGC9///13aJqGV199tcLHMl6WYLwkIvK+8q7vNE3D+PHjbf+ePn06UlJSUFRUVOX927x5M0wmE/bv31/lz32hXbt2ISQkBDt27KjurhBRFeFALFWrgoICvPzyy3j66adhMLj/dhw5ciR+/PFHLF682KX7N2jQADfeeGO5t/3www/QNA2zZ8+usB2r1Ypx48bhkUceQVRUlDtddsn27duhaRo2b97s0v27d++Oxo0bIzMz06Pn7dKlCzRNQ5MmTcq9fdWqVdA0DZqm4f/+7/9s+2fPnm3b/80335R5nFIKycnJ0DStzN+/9HEXbomJiR4dCxFRIGG8LF91x8tevXqVua28AfJ169bZ4lt2dnaZxwwdOtQrfx8ioqrmarwaOnQoiouL8d5777nUbpcuXdCiRYtybzt69GiZgV5nnnnmGfTv3x+pqaku3d8dJ06cQEhICD7//HOX7t+8eXP07NkTzz33nEfPO3ToUGiahlatWkEpVeZ2TdPw8MMP2/5dGqs0TcN//vOfMvcfP348NE3D0aNHPerX+c6PhZ988km59+nUqRM0TSvzWjdo0ACapiE9Pb3cx73//vu2tn/44Ycyx1HeNn36dLFjI3IHB2KpWn344YewWCzo379/pR6fmJiI3r17uzQbSNKSJUuwZ88eDBs2zCvtL1u2DPHx8bjiiitcfsz999+P9957D6dOnfLoucPDw7F3795yL2rnzp2L8PBwp4+dN29emf3r16/HH3/8gbCwsHIfd9111+Hjjz+226ZOnVr5gyAiCjCMl+WrzngJAEuXLi13YNUZVwcKiIj8kaN4de7cOYwdO9b27/DwcAwZMgSvv/56uQOH3rJt2zasXr0aDzzwgFfa//LLL6FpGq6//nqXH/PAAw9g4cKF2Ldvn8fPv337dnzxxRduPWbixIlV+ho4umb8/fffsXHjRofXm+Hh4Vi7di1yc3PL3FbRdeq0adPKXG9269at8gdB5AEOxFK1mjVrFm666SanJ82K3H777fjmm2/w22+/CfbMuVmzZqFTp0646KKLvNL+8uXLccMNN0DTNJcf07dvXxQVFWHBggUePffFF1+MSy+9FJ9++qnd/sLCQixcuBA9e/Z0+NgePXpgwYIFsFgsdvvnzZuHdu3aOZzleskll2DQoEF2W9++fT06DiKiQMJ4Wb7qjJcpKSmoWbMmJkyY4PJj2rRpg6VLl2LLli0ePTcRka9yFK/Cw8MREhJit+/222/H/v37sXbt2irtX0pKCjp27OiV9pcvX45OnTohLi7O5cekp6ejZs2amDNnjkfPHRERgUsuucStgdU2bdrgp59+wsKFCz16bnf06NEDq1atKjPbdt68eUhISED79u3LfVynTp0QFRWFzz77zG7/H3/8ga+//trpdeqtt95a5nrT0SpQIm/jQCxVm5ycHPz000/lLi84duwY7rzzTsTExCAuLg5DhgzBjz/+WO5SyNLH//e//62KbqOwsBArV64st9+lSz4WLFiA5s2bIyIiAmlpadi+fTsA4L333kPjxo0RHh6OLl264Pfffy/TRn5+PjZu3GgXSObPn4927dohOjoaMTExaNmyJd588027x8XHx6NVq1Zl/g4nT57E7t27cfLkSZePsX///vjss8/s8jotWbIEZ8+exe233+70cceOHcOqVats+4qLi/F///d/GDBggMvPT0RE/3AWL0vNmDEDF198McLCwnDFFVfg+++/L3MfxssSUvEyOjoajz32GJYsWeLywOojjzyCmjVrclYsEQUkZ/GqvNQB7dq1Q61ataosLgHAokWL0LVr1zI/4JWm5Fm3bh3at2+PiIgItGzZEuvWrQMAfPHFF2jZsiXCw8PRrl07bN26tUzbuq5j5cqVdnFp1apV6Ny5M+Li4hAVFYVLL70U//73v+0eFxoaii5dupT5O5w9exa7d+92OT2AwWDA2LFj3RpY7devn9uDt57q3bs3wsLCyvwgOm/ePNx+++0wGo3lPi48PBy33HJLmdm0n376KWrWrImMjAyv9ZlIEgdiqdps3LgRAHD55Zfb7dd1Hb169cKnn36KIUOG4IUXXsDhw4cxZMiQctuJjY3FxRdfjG+//dbrfQaA7OxsFBcXl+l3qa+//hqPP/44hgwZgvHjx+Pnn3/GjTfeiKlTp+Ktt97CQw89hCeffBJZWVm4++67yzz+wuUsq1atQv/+/VGzZk28/PLLeOmll9ClS5dyj7ddu3a2v2uphQsXolmzZm79yjlgwAAcPnzY9sUDKAmM3bp1Q3x8vMPHNWjQAGlpaXazaVesWIGTJ0+iX79+Dh9XWFiIo0eP2m3VkbifiMgXOYqXpebNm4dXXnkF999/PyZNmoTff/8dt9xyC8xms939GC//IRUvR4wY4dbAakxMjNuDt0RE/qKieFWeyy+/vMri0p9//okDBw447N/evXsxYMAA9OrVC5mZmThx4gR69eqFuXPn4rHHHsOgQYMwYcIE7Nu3D7fffnuZYtPff/89/vrrL/To0QMAsHPnTtx4440oKirCxIkT8dprr+Gmm25yGJd27NiBgoIC277NmzejWbNmeOedd1w+xgEDBqBJkyYuD6wajUaMHTsWP/74Y5XNio2MjETv3r3trhl//PFH7Ny5s8LJOwMGDMDmzZvt0jjMmzcPt956K0JDQx0+7vjx43bXmidOnPD8QIgqKaTiuxB5x+7duwEADRs2tNu/aNEiZGVlYcqUKRgxYgQA4MEHH8R1113nsK1GjRph165d3uvseRz1u9SePXuwe/duNGjQAABQs2ZN28XxL7/8gujoaAAlBUwyMzPx+++/2+4LlOS769SpE2JjY23/jomJwZdffunw18FSjRo1wtGjR3HkyBGnA6YVadKkCdq3b4958+aha9euyM/Px/Lly/H+++9X+NgBAwZgzJgxOHfuHCIiIjB37lxcc801SEpKcviYDz74AB988IHdvlmzZmHo0KGVPgYiokBRUdw5cOAAfv31V9SsWRMAcOmll6J379748ssvyxTcYrwsIRUvY2JiMHLkSIwbNw5btmxxafDh0UcfxRtvvIEJEyZU6SwwIiJvq+i8X55GjRrh448/9laX7LgS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hqp3333XfJspU6aoqKgo9dFHH6nvvvtO9e3bVzVt2lRduHBBKaXU3Llz1YgRI9Qnn3yifvrpJ7V371712GOPKZ1OpzZt2lRbu6aeeOIJtXnzZnXo0CH13XffqSeeeEJpmqY+/fRTpZRSI0aMUI0aNVKff/65+uabb1RKSopKSUkx33/ixInq0UcfVRs3blS//PKL2rlzpxo6dKgKCQlRBw4cqK3dcsjixYuVwWBQCxcuVPv27VMPPPCAioqKUrm5ubXdtSq5+lpVVMTctWuXed3BgwdVQECACg4OrrWKmBKfL6XKK2IuX77c/Pcff/yhIiMjVXBwMCtiEgny1Zjoz/FQKcZEpWo/JjIeEnkfxkTGxNrmi/FQKcZEcg8OxHqZVatWqaSkJGUwGFSrVq3UG2+8YbHdZDKpp556SsXFxSmDwaC6d++uDh48aN6+c+dONXjwYNW0aVNlMBhUTEyMuuGGG9TKlStrelcs3Hvvvapx48YqKChI1a9fX3Xv3t180FZKqQsXLqiHHnpI1a1bV4WGhqrbb79dnThxwrz9888/V+np6SoxMVEFBQWpuLg41bNnT/XFF1/Uxu44bdasWapRo0YqKChIXXvttWrr1q213SWrXH2tqgqySin1wAMPKAC1FmSVcv3zpVTlIKuUUi+88IICwCBLJMwXY6K/x0OlGBOVqv2YyHhI5H0YExkTa5OvxkOlGBNJnqaUUjU9C5eIiIiIiIiIiIjInzBHLBEREREREREREZGbcSCWiIiIiIiIiIiIyM04EEtERERERERERETkZhyIJSIiIiIiIiIiInIzDsQSERERERERERERuRkHYomIiIiIiIiIiIjcjAOxRERERERERERERG7GgVgiIiIiIiIiIiIiN+NALBEREREREREREZGbcSCWiIiIiIiIiIiIyM04EEtERERERERERETkZhyIJSIiIiIiIiIiInIzDsQSERERERERERERuRkHYomIiIiIiIiIiIjcjAOxRERERERERERERG7GgVgiIiIiIiIiIiIiN+NALBEREREREREREZGbcSDWC02dOhWtWrWCyWQyr9M0DZMmTTL/PXfuXDRq1AjFxcVij7tw4UJomoZff/1VrM2qdO3aFV27drV7u02bNkHTNGzatMnlx5Rsy1m//vorNE3DwoULHbr9//73P0RHR+Ps2bPu7ZgThg4d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fvut+Sodd6ru+WO7du2sftciH6HIq0ybNk2FhYWp8+fPW6wHoCZOnGix7vHHH1eNGjVSJpPJbrsZGRkKQJVL8+bNlVJKLViwQAFQhw4dMt/PaDSqZ555RiUkJKiQkBDVtWtXtXfvXtW4cWOVkZFh8Rg5OTmqU6dOKigoSDVq1EhNmzatyjZvvPFGdeONN1rc9/Dhw+q2225ToaGhql69emr06NFq3bp1CoDauHGj3f07fPiwGjJkiKpfv74yGAyqWbNmKjMzUxUXFyullNq4cWOVbS1ZskR16NBBGQwGFR0drQYNGqSOHTtWqf13331XNWvWTAUFBan27durTz75RGVkZKjGjRtb3O6PP/5Q99xzj4qIiFCRkZHqnnvuUbt27VIA1IIFC+zux7Jly5SmaerIkSMW6wGozMxMi3WHDh1SANRLL71ksb5iX5cuXWqxfubMmapx48bKYDCoa6+9Vn311VcqOTlZ9ezZUyml1N69exUAtX379kr9ysjIUHXq1LFYd+rUKdWmTRsVHx+vfvzxR6WUUmVlZeqpp55S8fHxKiQkRHXr1k3t379fxcTEqBEjRljcf86cOSo0NFQVFhZarK94zzjyfN14443qyiuvtHmbqp6PisfYsWOHzfs2btxY9erVy2JdVa8FEdWMqmKktWPha6+9pgCof//73+Z11o47VZk4caLVuKnX65VS1mPLa6+9ppo2baoMBoPq2LGj2rJlS5Wx7+eff1apqanKYDCouLg49Z///EetX7++UpvuiDd//PGHGjlypLrssstUUFCQatiwocrIyFCnTp1SSv39vF7a1meffaa6dOmiQkJCVEREhOrTp4/at29fpfY//fRTlZSUpIKCgtQVV1yh3n33XfNzerELFy6ohx9+WMXExKg6deqoPn36qKNHj1b5vacqO3fuVADUF198YbG+quO3Us7F08WLF6tWrVopg8GgkpKS1MqVK1V6erpq1aqVUkqp/Px8FRAQoP73v/9VepyKff3999/N686fP69uvPFGFRYWprZu3Wpeby8+V1i7dq0CYI65FSreh448X1XFc6WUKi0tVc2bN6/0/Fh7bpT6O5Zeup9ExHM6ntPxnE7inO706dMqMjKy0vNj7blR6u/4W1Wsc4W7zx+r+t5gLWaT5+NArJfJz89X0dHR6s033zSvKysrUwDUs88+a15XVFSk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ph0lVOPEEiTzOluCZfbLEirSDHKF3q/cKKHiJKEyVci0y1c8b6MUi3W5at68eQCANm3a2K1fuHAhBg4cCAB48803YTAY0LNnT+Tm5iIpKQnvvvuum72mskBzoUCNK6TiYW4lkWYQekamHRiFCsD4CQUOqZkLBqEKJ7pQf4SKbEkVG5UqXgnI7Jf/ZX+ZdoJlimBqfp73R1OqVIt1uYoxkUpC6m5fqfSN2ZaydftxllDxsAChok1ZZpmDkdTsQotQUas8oQ+QSehcSGi3xIqZCQ0NlGlMTeCi7du3Y/78+YXWN23aFI8//rhIp4iIyLdoev7i6DF3KBcCcmBgIN555x2888477jVORETkZYyJRERE+T8OGCtgagK3fwZPSEjA+++/X2j9Bx98gISEBJFOERGRj1HFLERERBUFYyIRERGsuip28UVuz4h988030bNnT6xZswbNmzcHAOzcuRN//PEHvvjiC/EOEhFR+eeNCtFERETlEWMiERERih1s5UDs/3Tp0gW///475s2bh0OHDgEAunbtiqFDh3JGrCShHFlZVWRyf+XGyOSl0awyeXLMIUK5S4VyxPpliTQDS5BQrlmTVA46mdc5L7Rs5cTThHKg5kTKvD7BYcEi7WgXPc+lqSkNyBbozLWUk9stfTO+kpQQoXgYIxN/civLfGClcnArk9unckXTZI7TWo5ZpB1lknm/NKtQbtcAmRyoUjnu8yJFmoEus1vwz5L5HAZGCuVMPy8UD3MFOlMUxkQqZUKHfLFcodlCOVmNQunFpW6HlspvmVvG+iOV29XPINNOqL/MGy+Va1bqMK4pqffd83Mqb6VqzbMoGCyO9zOvjOWPllKis6aEhAS88sor0n0hIiJfpZTjCO6jSdiJiIiKxJhIRETEGbHO7N27Fw0aNIDBYMDevXudPve2224T6RgREfkOycIkRERE5RljIhERUf7sc2czYit0sa7GjRvj/Pnztv9v0qQJGjduXGhp0qSJVztLRETlU8FFp6OFiIioomBMJCIiKr1iXceOHcNjjz2GWrVqISgoCLVr18bkyZORl5dn97y9e/firrvuQmBgIBISEjBz5kyR7bs0IzYlJQVVqlSx/T8REZFbnFWC9s07ToiIiIrGmEhERFRqqQkOHToEXdfx3nvvoU6dOti/fz8GDx6MzMxMvP766wCAjIwMdOzYER06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JSIiIiIiIiIiIqpImCOWiIiIiIiIiIiIyMs4EEtERERERERERETkZRyIJSIiIiIiIiIiIvIyDsQSEREREREREREReRkHYomIiIiIiIiIiIi8jAOxRERERERERERERF7GgVgiIiIiIiIiIiIiL+NALBEREREREREREZGXcSCWiIiIiIiIiIiIyMs4EEtERERERERERETkZRyIJSIiIiIiIiIiIvIyDsQSEREREREREREReRkHYomIiIiIiIiIiIi8jAOxRERERERERERERF7GgVgiIiIiIiIiIiIiL+NALBEREREREREREZGXcSCWiIiIiIiIiIiIyMs4EOtjZs6cibp160LXdbE277zzTowZM0asvdKyaNEiaJqGY8eOXfdtb926FZqmYevWrS493xvvo6fatGmDBg0aiLU3f/58VK9eHbm5uWJtEhGVhCfH3HHjxqF58+Ze6NX1dezYMWiahkWLFpXK9jVNw5QpU1x67s6dO2EymXD8+HHvdsoNU6ZMgaZpOH/+vEh7Bw8ehJ+fH/bv3y/SHhGVXyWNUWazGQkJCXj33Xe91LPrp+AYWxrcvYZ86qmncM8993i3U26qWbMm/vnPf4q15yvnPkSlhQOxPiQjIwMzZszA2LFjYTDIvbVjx47FO++8g9TUVJeer2kahg8fLrb9isZb72NJJCYm4qmnnvJK2wMHDkReXh7ee+89j9qpWbMmNE1Dhw4dinz8/fffh6Zp0DQNP//8s219wQmdwWDAyZMnC/1dRkYGgoKCCn2eCwYrilruvPNOj/aFiK4/T4+5I0eOxK+//oqvv/7apedL/6hVEU2YMAEPPfQQatSoUar9ePbZZ1G/fn2vtF2/fn3ce++9mDRpkkftDBw4EJqm4bbbboNSqtDjzmLcF198Uej50gPOROScJzHK398fo0ePxssvv4ycnJxin1/w/X/99ddL2t0KLyUlBR988AH+9a9/lWo/dF1HlSpVMHPmTK+07+65jyMF8eaNN94o9FjBAHhR12+xsbHIysoq9DfSA87A/8fR8PBwZGdnF3r8jz/+sO3H1d+dgolYmqbh008/LbLtli1bQtO0QueFBde3RS2ufJep7ONArA/56KOPYLFY8NBDD4m2261bN4SHh/vEr6nlgbfeR3edOXMGu3fvxr333uuV9gMDAzFgwADMmjWryItDd9vasmVLkT8WLFmyBIGBgQ7/NiAgAJ999lmh9f/973+dbvOhhx7CJ598YrdMnTrV/c4TUany9JgbFxeHbt268cL1OtmzZw82btyIoUOHlnZXsGrVKq/FSAAYOnQoVqxYgaNHj3rc1r59+4qNa9eaNm2ax/GZiDzjaYwaNGgQzp8/j6VLlwr3jIry1ltvoVatWmjbtm2p9mPnzp04f/6812KU9LnPa6+9VuTAqiPnzp3DvHnzRLbtCj8/P2RlZeGbb74p9Fhx15qBgYFFfv+OHTuGH3/80eHfNm7cuNC15ieffAKTyVTyHaEygwOxPmThwoW47777nB4ISsJgMOCBBx7Axx9/zBPy68Bb76O71qxZg8DAQLRr185r2+jduzeOHz+OLVu2eNROy5YtERoaimXLltmt/+uvv/Ddd985PQnp0qVLkQOxS5cudfp3t99+O/r162e3JCUllXwniKhUSBxze/fuje+//x5//vmnYM+oKAsXLkT16tVL/Q6EP//8E4cPH/bqQGyHDh1QqVIlLF682KN2goKCcPPNN7s1sNq4cWPs3bsXK1as8GjbROQZT2NUZGQkOnbsWGppZyoSs9mMJUuWoHfv3qXdFaxevRo1atTArbfe6rVtSJ37NG7cGGfPnsX8+fPd+pvXXnutyBmq3hAQEID27duX6JqxS5cu2LBhQ6E7SZYuXYrY2Fg0bdq0yL+74YYbCl1r9uvXr9TvmCUZfBd9REpKCvbu3Vvo9uyrbzF55513cOONNyI4OBgdO3bEyZMnoZTCiy++iGrVqiEoKAjdunXDxYsXC7V/zz334Pjx49izZ0+J+peTk4MpU6bg5ptvRmBgIKpWrYoePXrYzfLQdR2zZ8/GrbfeisDAQMTGxuKJJ57ApUuXXNrGoUOH0Lt3b1SpUgVBQUG45ZZbMGHChGL/7t1338Wtt96KgIAAxMfHY9iwYUhLS7N7Ts2aNTFw4MBCf9umTRu0adPGbt1ff/2F7t27IyQkBDExMRg1apTLeVC9+T7quo4pU6YgPj4ewcHBaNu2LQ4ePOhw31atWoW2bdsiKCjIYX/Xr1+P4OBgPPTQQ7BYLACA7OxsPP3006hcuTLCwsJw33334dSpU0Xm/0tMTERUVBS++uoru/Xnz5/HoUOHXP5lNDAwED169Cj0a+Nnn32GSpUqOR0g7du3L/bs2YNDhw7Z1qWmpmLz5s3o27evS9snovLJlWPuggULULt2bQQEBKBZs2bYtWtXoXYK/v7aY5k7Pv30U9xxxx0IDg5GpUqV0Lp1a6xfv97uOWvWrMFdd92FkJAQhIWF4d5778WBAwdcaj8tLQ2jRo1CzZo1ERAQgGrVqqF///7F3mK+efNm2zYjIyPRrVs3/Pbbb3bPGThwIGrWrFnob4vK6Zebm4tRo0ahSpUqthjx119/ubQPAPDll1+iXbt2hdotuB1x69ataNq0KYKCgtCwYUNbbvb//ve/aNiwIQIDA5GYmIjdu3cXanv58uWoX78+AgMD0aBBA6xYscLhvq1atQoRERFo1aqVw74eP34cderUQYMGDXD27Fnb+oI4HhQUhDvuuAPfffddkecT/v7+aNOmTaHPVVZWFg4dOuRyegCDwYCJEye6NbDap08ftwdviUiWoxgFAJmZmXj22WeRkJCAgIAA3HLLLXj99deL/L7ec889+P7774u8xnOFK/EjNzcXkydPRp06dRAQEICEhASMGTPG5WugHTt2oEuXLqhUqRJCQkJw22234a233nL6NxaLBS+++KItRtesWRP/+te/Cm3TUQ7yoq6BDhw4gHbt2iEoKAjVqlXDSy+95HJu3u+//x7nz58v9H4V3KL+73//G1OnTsUNN9yAsLAwPPDAA0hPT0dubi5GjhyJmJgYhIaGYtCgQYX2wZ3rK8C1OzYWL14MPz8/PP/887Z1Fy5cwCOPPILw8HBERkZiwIAB+PXXX4vMIe/o3OfMmTM4dOgQzGZzcS8ZgPwJNe3atcPMmTNdHlidNGkSzp49e11nxfbt2xdr1qyxGyfYtWsX/vjjD6fXjN26dUNAQACWL19ut37p0qXo3bs3jEajt7pMZRgHYn3Ejz/+CCB/ll5RlixZgnfffRcjRozAs88+i23btqF3796YOHEi1q5di7Fjx2LIkCH45ptv8NxzzxX6+8TERADADz/84HbfrFYr/vnPf2Lq1KlITEzEG2+8gWeeeQbp6el2RSieeOIJPP/882jZsiXeeustDBo0CEuWLEFSUlKxB/K9e/eiefPm2Lx5MwYPHoy33noL3bt3L/L2gatNmTIFw4YNQ3x8PN544w307NkT7733Hjp27Ohy8LhadnY22rdvj3Xr1mH48OGYMGECvvvuO5eLnXnzfRw/fjymTp2Kpk2b4rXXXsNNN92EpKQkZGZmFtqO2WzGxo0b0aVLF4d9XblyJe677z706tULn376Kfz8/ADkX5DPmTMHXbp0wYwZMxAUFFTszNJrP1dz585FvXr1sHPnTod/d62+ffti586ddoP7S5cuxQMPPAB/f3+Hf9e6dWtUq1bNbhB32bJlCA0NddrvrKwsnD9/3m4pyWeGiEpPccfcpUuX4rXXXsMTTzyBl156CceOHUOPHj0KfdcjIiJQu3btEsVIAJg6dSoeeeQR+Pv7Y9q0aZg6dSoSEhKwefNm23M++eQT3HvvvQgNDcWMGTPwwgsv4ODBg2jVqlWxBUSuXLmCu+66C3PmzEHHjh3x1ltvYejQoTh06JDTQdCNGzciKSkJ586dw5QpUzB69Gj8+OOPaNmyZYkLXz7++OOYPXs2OnbsiFdffRX+/v4uzyo9deoUTpw44fD9OnLkCPr27YuuXbti+vTpuHTpErp27YolS5Zg1KhR6NevH6ZOnYqjR4+id+/edhfXq1atwoMPPgh/f39Mnz4dPXr0wGOPPYbk5OQit7V69Wrcc889tth3raNHj6J169YICwvD1q1bERsbCwCYN28ehg8fjmrVqmHmzJm466670L17d4fvQ2JiIvbv34+MjAzbup07d6JevXqYO3euS68bkB8jb7rpJpcHVo1GIyZOnIhff/2Vs2KJSomjGKWUwn333Yc333wTnTp1wqxZs3DLLbfg+eefx+jRowu1k5iYCKWUrT13uBI/dF3Hfffdh9dffx1du3bFnDlz0L17d7z55pt48MEHi93Ghg0b0Lp1axw8eBDPPPMM3njjDbRt2xYrV650+nePP/44Jk2ahNtvvx1vvvkm7r77bkyfPh19+vRxez+B/IkYbdu2xZ49ezBu3DiMHDkSH3/8cbEDwgV+/PFHaJqGJk2aFPn49OnTsW7dOowbNw6PPvoo/vvf/2Lo0KF49NFH8fvvv2PKlCno0aMHFi1ahBkzZtj9rTvXV6mpqdi9e7fT67gFCxZg0KBBGDduHF577TUA+e9j165d8dlnn2HAgAF4+eWXcebMGQwYMKDINhyd+4wfPx716tXDqVOnHG7/WlOmTHFrYPWuu+5ye/DWUz169ICmaXZpfpYuXYq6des6PC8BgODgYHTr1s1uNu2vv/6KAwcOOB3ANZvNha413UnfQGWcIp8wceJEBUBdvnzZbn1KSooCoKpUqaLS0tJs68ePH68AqEaNGimz2Wxb/9BDDymTyaRycnIKbcNkMqknn3yy2L4AUMOGDbP9+6OPPlIA1KxZswo9V9d1pZRS3333nQKglixZYvf42rVri1x/rdatW6uwsDB1/PjxIttXSqmFCxcqAColJUUppdS5c+eUyWRSHTt2VFar1fa8uXPnKgDqo48+sq2rUaOGGjBgQKHt3n333eruu++2/Xv27NkKgPr3v/9tW5eZmanq1KmjAKgtW7Y43Q9vvY+pqanKz89Pde/e3a7dKVOmKACF9m3Tpk12r1XBvt56661KKaW++OIL5e/vrwYPHmz32iUnJysAauTIkXbtDRw4UAFQkydPLrTPQ4YMUUFBQXbrJk+e7NLrpVT+e3Pvvfcqi8Wi4uLi1IsvvqiUUurgwYMKgNq2bZvtvd+1a1ehbfz999/queeeU3Xq1LE91qxZMzVo0CClVOHPc8F7UdTiSn+JqOwo7pgbHR2tLl68aFv/1VdfKQDqm2++KdRWx44dVb169Yrd5tXHUqWU+uOPP5TBYFD333+/3fFUqf+PYZcvX1aRkZFq8ODBdo+npqaqiIiIQuuvNWnSJAVA/fe//y30WME2CvZ54cKFtscaN26sYmJi1IULF2zrfv31V2UwGFT//v1t6wYMGKBq1KhRqO2C42yBPXv2KADqqaeesnte3759HcaIq23cuNHh61+jRg0FQP3444+2devWrVMAVFBQkN35wXvvvVfomN2wYUNVrVo1u8/C1q1bFYBC+5aZmakCAwPtXqurY8pvv/2m4uPjVbNmzew+P7m5uSo6Olo1a9bMLmYvWrRIAbA7nyiwdOlSBUDt2LHDtm7Lli0uvV5K5b83ISEhSimlFi9eXOhz4CjGvfbaa8pisaibbrpJNWrUyPY5uXo/ici7HMWoL7/8UgFQL730kt36Bx54QGmapo4cOWK3/vTp0wqAmjFjhtPtXf39L+BK/Pjkk0+UwWBQ3333nd3j8+fPVwDUDz/84HCbFotF1apVS9WoUUNdunSpyPaVchxPHn/8cbu/ee655xQAtXnzZts6R8fLa6/vRo4cWeh4e+7cORUREVHouqgo/fr1U9HR0YXWFxyzGzRooPLy8mzrH3roIaVpmurcubPd81u0aGEXd9y9vvrwww9VUFCQysrKstvXe++9Vyml1FtvvaU0TbNdMxX44osvFAA1e/Zs2zqr1aratWtX6PygQFHnPgMGDHDp9VLKPga1bdtWxcXF2fpd3PXbtm3bCo0xXL2fUq6Oow888IBq3769Uir/tYmLi1NTp04t8rtT8L4vX75crVy5Ummapk6cOKGUUur5559XN954o1Kq8HlhwX4Uda3pStyn8oEzYn3EhQsX4Ofnh9DQ0CIf79WrFyIiImz/bt68OQCgX79+drM5mjdvjry8vCJ/wapUqVKJquR+8cUXqFy5MkaMGFHosYJbC5cvX46IiAjcc889dr/6JCYmIjQ01GkO0b///hvffvstHn30UVSvXr3I9ouyceNG5OXlYeTIkXa5VgYPHozw8HCsWrXK3V3F6tWrUbVqVTzwwAO2dcHBwRgyZIhLf++t93HTpk2wWCx46qmn7Nor6j0p2I/69esXeTvmZ599hgcffBBPPPEE3nvvPbvXbu3atQDg8naA/M9Vdna23S98U6ZMgVKq0G2azhiNRvTu3dv2a+OSJUuQkJCAu+66q9i/7du3L44cOYJdu3bZ/ltcWoIhQ4Zgw4YNdkujRo1c7i8Rlb7ijrkPPvggKlWqZPt3wfGkqHxoJY2RX375JXRdx6RJkwrl/SqIYRs2bEBaWhoeeughuxhpNBrRvHnzYvNsf/HFF2jUqBHuv//+Qo85ipNnzpzBnj17MHDgQERFRdnW33bbbbjnnnuwevVqd3fV9jdPP/203fqRI0e69PcXLlwAALv35Gr169dHixYtbP8uiJHt2rWzOz8oWF/wPp4+fRr79u1D//797T4Ld999Nxo2bFhoO5s3b0Zubi46d+5c6LH9+/fj7rvvRs2aNbFx40a7vv7888+4cOECBg8ebBezH374YYf7VLD+6s9WmzZtoJQq8nZUZx5++OESz4r98ssv3doWEXnOUYxavXo1jEZjoWPps88+C6UU1qxZY7e+qOOIq1yJH8uXL0e9evVQt25duxhVUGfCWYzavXs3UlJSMHLkSERGRhbZflEK4sm1M4CfffZZACjxddydd96JO+64w7auSpUqePjhh136+wsXLjg8lgNA//797e7Sa968OZRSePTRR+2e17x5c5w8edKW9s3d66vVq1c7TC83c+ZMPPPMM5gxYwYmTpxo99jatWvh7++PwYMH29YZDAYMGzbM4T4Vde6zaNEiKKWKvI50ZsqUKUhNTXU5V2zr1q3Rtm3b6zortm/fvti6dastjV1qaqpLqew6duyIqKgofP7551BK4fPPPy+2AF/z5s0LXWv2799faleolBV9PxX5nGsHKAsG8xISEopcX1ReVqWU04DoyNGjR3HLLbc4vH0PAP744w+kp6cjJiamyMfPnTvn8G8LLqQaNGjgVr+OHz8OALjlllvs1ptMJtx44422x91ts06dOoVep2u3UVIlfR8L9qVOnTp2z4uKiiryhGHVqlXo2rVrofUpKSno168fevXqhTlz5hR6/Pjx4zAYDKhVq5bd+mu3e7WCi8GSfLau1bdvX7z99tv49ddfsXTpUvTp08eldps0aYK6deti6dKliIyMRFxcXLFFym666aYic3YRke+49phbcLyUjpEGgwH169d3+Jw//vgDABwel8LDw4vdRs+ePd3ql6MYCQD16tXDunXrkJmZiZCQELfaNBgMqF27tt16d2Oko0FE6RhZsO6XX36xW7dq1So0bdrUlm7gal27dkVsbCzWrVtXaPDE0Xb8/PwcXrBKxsiCgdUBAwbgyy+/LHJg5VoPP/wwXnzxRUybNg3du3f3uA9E5Lnjx48jPj4eYWFhduvr1atne/xqnhxHXIkff/zxB3777TdUqVKlyMedXccVpBQryXWcwWAodDyNi4tDZGRkia/jCn6ou5o7McrZj1zuxChd15Geno7o6Gi3rq/MZjM2bNiA6dOnF3ps27ZtWLVqFcaOHWuXF7bA8ePHUbVqVQQHBxe7nQIlPfcpytUDq0OHDnXpb6ZMmYK7774b8+fPx6hRo1z6m/T0dLuBW5PJZPeDszNdunRBWFgYli1bhj179qBZs2aoU6dOsema/P390atXLyxduhR33HEHTp48WewAbuXKlXmt6cM4EOsjoqOjYbFYcPny5UJBGYDDJNCO1hcVRNLS0lC5cmXPOuqAruuIiYnBkiVLinzcUWC/XhwFGKvVKppg+3q8j8VJSUnBoUOHiszRU7VqVVStWhWrV6/Gzz//7LDKozsuXbqE4OBgp0XBXNW8eXPUrl0bI0eOREpKilvFtvr27Yt58+YhLCwMDz74ICtSElUAJT3mFnVsvXTpkldjJJCfJzYuLq7Q485+6LwenMVISdHR0QCKHggHrk+MBPJnGw0aNKjIx3r27InFixdjyZIleOKJJ0rU/tUK9lXqs+XuwGrB4O3AgQM9KkZHRO4rLka5Svo4ci1d19GwYUPMmjWryMevHWiU5MkgoDdilLMi09cjRn3//ffIyMgoMj/srbfeirS0NHzyySd44oknCg3sloT0uc/kyZPRpk0bvPfee4VmSBeldevWaNOmjVuDt8888wwWL15s+/fdd99tK+xZnICAAPTo0QOLFy/Gn3/+6dadKX379sX8+fMxZcoUNGrUyOkP8OT7ONLgI+rWrQsgfxDNG06dOoW8vDzbL63uqF27Ng4fPuy0kFHt2rVx4cIFtGzZEh06dCi0OLvl+8YbbwQAu8JfrqhRowYA4PDhw3br8/LykJKSYnscyJ8FdXWFxALX/tpao0YNHD16tFDgvHYbjnjrfSzYlyNHjtitv3DhQqETBmeVoAMDA7Fy5UrcdNNN6NSpU6Fq3TVq1ICu64X6f+12r5aSklKiz5UjDz30ELZu3Yp69eqhcePGLv9d3759cebMGfz+++9uDeASUfklecwt6bGsdu3a0HUdBw8edPocAIiJiSkyRhaXxqV27dpiMRIADh06hMqVK9tmw7oTI3Vdtyuq6GgbRbneMbKodfv378eJEyccFkl57bXX8Nhjj+Gpp56yKwLpbDsWi8XhbJqUlBQYDAbcfPPNLu1LcQoGVvfs2ePywGq/fv1Qp04dTJ06tcSD10TkPkfHvBo1auD06dO4fPmy3fpDhw7ZHr9awd+XNEYVFz9q166Nixcvon379kXGKGczSgviW0lilK7rtjtGCpw9exZpaWnFXsfl5eXhzJkzhdq8tj3AvRh16dIlpKenu7gXrnHn+mrVqlUO08tVrlwZGzduhL+/P9q3b4/Tp08X2s6ZM2cKFYS6ntdxd999N9q0aYMZM2a4nG6gIKXBe++959Lzx4wZY3e7/xtvvOFWH/v27Yvdu3fj8uXLbhWGa9WqFapXr46tW7fyWpM4EOsrCnKi/fzzz15pv6Bq8D/+8Q+3/7Znz544f/58kdV9C07oe/fuDavVihdffLHQcywWS5EXeAWqVKmC1q1b46OPPsKJEyeKbL8oHTp0gMlkwttvv233vA8//BDp6el2F1m1a9fGTz/9hLy8PNu6lStX4uTJk3ZtdunSBadPn8Z//vMf27qsrCwsWLDAYT+u5q33sX379vDz8ys0y7Wo92T16tXo2LGjwxlWERERWLduHWJiYnDPPffYXVAnJSUBAN599127vykqjUGBX375pdDn6vz58zh06FCJKkM+/vjjmDx5sttBtXbt2pg9ezamT59ulxuKiHyX1DE3PT0dR48eLVGM7N69OwwGA6ZNm2ab+VqgIDYlJSUhPDwcr7zySpE/av79999Ot9GzZ0/8+uuvWLFiRaHHHMXJqlWronHjxli8eLFdDN6/fz/Wr19vN9umdu3aSE9Px969e23rzpw5U2h7BTlV3377bbv1s2fPdtr/AjfccAMSEhLEY2R8fDwaNGiAjz/+GFeuXLGt37ZtG/bt22f33NWrVyM2NtbhHSGapmHBggV44IEHMGDAAHz99de2x5o2bYro6Gi8//77ttx/QH5Oc0ezqJKTk3Hrrbfa5YfPysrCoUOHSpTvEbAfWHXF1YO3V+8PEXmXoxjVpUsXWK3WQufxb775JjRNK5S/Ojk5GZqm2eXQdpUr8aN37944deoU3n///ULPyc7ORmZmpsP2b7/9dtSqVQuzZ88udL3n7DquIAZdGz8KZuVeex337bff2j1vwYIFhWbEdunSBT/99BN27txpW/f33387vGPzWi1atIBSynbdLMWd66vVq1c7/KEQAKpVq4aNGzciOzsb99xzjy33esF2zGaz3fuo6zreeeedIttydO5z5swZHDp0yOkkLGcKBlZdvX6+evA2Jyen2OfXr1/f7oeCxMREt/rXtm1bvPjii5g7d26Rdyk5omka3n77bUyePBmPPPKIW9sk38PUBD7ixhtvRIMGDbBx48ZCCb8lbNiwAdWrV0eTJk3c/tv+/fvj448/xujRo7Fz507cddddyMzMxMaNG/HUU0+hW7duuPvuu/HEE09g+vTp2LNnDzp27Ah/f3/88ccfWL58Od566y27AljXevvtt9GqVSvcfvvtGDJkCGrVqoVjx45h1apV2LNnT5F/U6VKFYwfPx5Tp05Fp06dcN999+Hw4cN499130axZM/Tr18/23Mcffxz/+c9/0KlTJ/Tu3RtHjx7Fp59+WijP3eDBgzF37lz0798fycnJqFq1Kj755JNCuXYc8db7GBsbi2eeeQZvvPEG7rvvPnTq1Am//vor1qxZg8qVK9tu68nOzsaWLVuKTZJeuXJlbNiwAa1atUKHDh3w/fff44YbbkBiYiJ69uyJ2bNn48KFC7jzzjuxbds2/P777wAK3z6UnJyMixcvolu3bnbr586di6lTp2LLli1uFewC8n/NdbeASYFnnnmmRH9HROWT1DF348aNUEoVOpa5ok6dOpgwYQJefPFF3HXXXejRowcCAgKwa9cuxMfHY/r06QgPD8e8efPwyCOP4Pbbb0efPn1QpUoVnDhxAqtWrULLli2L/GGtwPPPP4///Oc/6NWrFx599FEkJibi4sWL+PrrrzF//nyHd5289tpr6Ny5M1q0aIHHHnsM2dnZmDNnDiIiIuyOs3369MHYsWNx//334+mnn0ZWVhbmzZuHm2++2S6/auPGjfHQQw/h3XffRXp6Ov7xj39g06ZNTmfbXKtbt25YsWKFaF46AHjllVfQrVs3tGzZEoMGDcKlS5cwd+5cNGjQwG5wdtWqVejcubPTbRsMBnz66afo3r07evfujdWrV6Ndu3YwmUyYMmUKRowYgXbt2qF37944duwYFi1ahNq1axdq02w2Y9u2bYUKtOzcuRNt27bF5MmTSxTvjEYjJkyY4DC9QlEKUho4OqciInmOYlTXrl3Rtm1bTJgwAceOHUOjRo2wfv16fPXVVxg5cmSh65MNGzagZcuWtvQu7nAlfjzyyCP497//jaFDh2LLli1o2bIlrFYrDh06hH//+99Yt26dwx+vDAYD5s2bh65du6Jx48YYNGgQqlatikOHDuHAgQNYt25dkX/XqFEjDBgwAAsWLEBaWhruvvtu7Ny5E4sXL0b37t3Rtm1b23Mff/xxDB06FD179sQ999yDX3/9FevWrSt0S/2YMWPwySefoFOnTnjmmWcQEhKCBQsWoEaNGnY/NDrSqlUrREdHY+PGjcXWmnCHq9dXKSkp+O2334pML3e1OnXqYP369WjTpg2SkpKwefNmhIeHo3v37rjjjjvw7LPP4siRI6hbty6+/vprXLx40W47BRyd+4wfPx6LFy9GSkqK2wW7gPyB1bvvvhvbtm1z+W8mT55s9557k8FgKFTozFXdunUr0bki+R7OiPUhjz76KL755hvxqoG6ruOLL75A//79S3TRYzQasXr1akyYMAE7duzAyJEjMWvWLISHh9tVI54/fz4WLFiAc+fO4V//+hfGjx+PzZs3o1+/fmjZsqXTbTRq1Ag//fQTWrdujXnz5uHpp5/GF198gfvuu8/p302ZMgVz587FiRMnMGrUKPz73//GkCFDsH79eruqlklJSXjjjTfw+++/Y+TIkdi+fTtWrlyJatWq2bUXHByMTZs2oWPHjpgzZw5eeukltGrVCjNnznT59fLW+zhjxgy88MIL2LVrF5577jkcOXIE69evh1IKgYGBAJxXgr7WDTfcgI0bNyI3Nxf33HOPbWbOxx9/jGHDhtmSwefl5WHZsmUAYNtOgeXLl6N69eqiJytERO6QOOYuX74crVq1KnTx66pp06bho48+QnZ2NiZMmIBJkybh+PHjaN++ve05ffv2xaZNm3DDDTfgtddewzPPPIPPP//cduHqTGhoKL777js8+eSTWL16NZ5++mm8++67uOWWWwrFsat16NABa9euRXR0NCZNmoTXX38dd955J3744Qe73HLR0dFYsWIFgoODMWbMGCxevBjTp08vsujjRx99hKeffhpr167FmDFjYDab3apu/eijj+LUqVP44YcfXP4bV3Tt2hWfffYZ8vLyMG7cOPz3v//FokWLcMstt9hiV3p6On788ccic+9dy9/fH//5z39w5513olu3btixYwcAYPjw4Xj77bdx4sQJPPfcc/juu+/w9ddfIzIyslCM3LRpEy5evIgBAwaI7iuQPyvWnc+rn59fiS88iajkiopRBoMBX3/9NUaOHImVK1di5MiROHjwIF577bVCeVrT09Oxfv16DBw4sETbdyV+GAwGfPnll3j11Vexb98+PPfcc5g6dSp27dqFZ555ptjUKklJSdiyZQtuvvlmvPHGGxg9ejQ2bdpUZAy52gcffGDbzsiRI7F582aMHz8en3/+ud3zBg8ejLFjx+Lbb7/Fs88+i5SUFGzYsKFQscmqVatiy5YtuO222/Dqq69i9uzZ6N+/v8sTNUwmEx5++GEsX77cpee7w5Xrq9WrVyMiIqLY62YAaNiwIdasWYPff/8dXbt2RXZ2NoxGI1atWoUHH3wQixcvxoQJExAfH2+bEVvUdZwn5z7OuPsjY5s2bXD33XeL94PIaxT5jLS0NBUVFaU++OAD0XZXrFihgoKC1OnTp0XbpaJ5630syqVLlxQA9dJLLymllHryySdVs2bNxLeze/duBUB9+umntnU5OTkqLi5OzZ49W3x7RESu8vSYe+bMGRUYGKi+/PJL4Z6RI+3atVP9+vW7Lttq1KiR6tChg1JKqWXLlik/Pz+VlpYmug2r1aqioqLU448/bre+W7duqnv37qLbIqLyxdMY9eabb6qq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1xmGgYqKChQXF3fjyIiIiLoWcyIREVFsYWmCOOZwOFBaWtpuTalYxeOKLTwuioSZM2eipKQEhYWFGD58OJYuXYqGhgZ/x2iiU8Xr65XHFVt4XBQpzIkUjnh9zfK4YguPixKZppRS3T0IIiKicD355JN47LHHUF1djaFDh2LZsmUoKirq7mERERF1OeZEIiKi2MCJWCIiIiIiIiIiIqIIY41YIiIiIiIiIiIiogjjRCwRERERERERERFRhHEiloiIiIiIiIiIiCjCOBFLREREREREREREFGGciI0xBw8exPXXX49evXohKSkJF1xwAT7//HP/7UopzJs3D7m5uUhKSsLo0aOxd+/egBgfffQRfvvb3yIzMxPJyckYMGAASkpK4Ha7u/pw/FasWIELL7wQaWlpSEtLQ3FxMdavX++/vbm5Gbfffjt69eqF1NRUTJgwATU1NQEx3njjDVx88cVIT09Hjx49MGjQINx1111dfCSd89RTT6F///5wOp0oKirCpk2buntI7TL7WO3fvx+apiErKwt1dXUBsYcOHYr58+d31aGcRuL1pWkanE4nvv3224Drr776akyZMqUrDoMoYcRjTkz0fAgwJ57UnTmR+ZAo9jAnMid2p3jNhwBzIsnjRGwMOX78OEaMGAGbzYb169dj586d+OMf/4iePXv67/Poo49i2bJlKC8vx8aNG5GSkoIxY8agubkZALBz506MHTsWhYWF+Pjjj7F9+3YsX74cdrsdPp+vuw4NZ5xxBh5++GFs3rwZn3/+OX77299i/Pjx2LFjBwDg7rvvxrp16/Daa6/ho48+wg8//IBrr73W//MVFRX4/e9/jwkTJmDTpk3YvHkzHnroIXg8nu46pA579dVXMXPmTJSWlmLLli0YMmQIxowZg8OHD3f30Npk9rE6qa6uDosXL+7q4bdL4vV1kqZpmDdvXlcfAlFCidecmMj5EGBOjAbMh0SxhzmRObG7xWM+BJgTKUIUxYz77rtPjRw5st3bDcNQOTk56rHHHvNfV1tbqxwOh3r55ZeVUko9/vjjqn///hEfq4SePXuq1atXq9raWmWz2dRrr73mv23Xrl0KgKqsrFRKKfW///u/atSoUd01VFOGDx+ubr/9dv+/fT6fysvLU2VlZd04qvCE81hVVVUpAOree+9Vqampqqamxn/fIUOGqNLS0q4evlJK5vWllFIA1B/+8Ael67ravn27//rx48erkpKSiIydKBElUk5MlHyoFHNiNORE5kOi2MOc2Io5MbrEej5UijmRIoMrYmPIm2++icLCQkycOBFZWVm46KKLsGrVKv/tVVVVqK6uxujRo/3Xpaeno6ioCJWVlQCAnJwcHDp0CB9//HGXj7+jfD4fXnnlFTQ0NKC4uBibN2+Gx+MJOK6BAweib9++Ace1Y8cOfPnll9017E5xu93YvHlzwLHpuo7Ro0f7jy2adeaxOum6667D2WefjYULF3b1sNsk8fo6acSIEbjyyisxe/bsLhs/UaJJhJyYSPkQYE6MlpzIfEgUe5gTWzEnRod4yYcAcyJFBidiY8g333yDFStWYMCAAXjnnXdw66234s4778Tzzz8PAKiurgYAZGdnB/xcdna2/7aJEyfiuuuuw29+8xvk5ubimmuuwZNPPgmXy9W1B9OG7du3IzU1FQ6HA9OnT8cbb7yB888/H9XV1bDb7cjIyAi4/6nHdccdd+BXv/oVLrjgAvTv3x+TJk3Cs88+i5aWlm44ko47evQofD5f0McsGpl5rE7SNA0PP/wwVq5cia+//roLR982idfXqcrKyrBhwwZ88sknkR88UQKK55yYiPkQYE6MlpzIfEgUe5gT/405sfvEWz4EmBMpMjgRG0MMw8Avf/lLLFq0CBdddBGmTZuGqVOnory8vMMxLBYL1qxZg++//x6PPvoofvGLX2DRokUYNGgQDh06FMHRh3buuefiiy++wMaNG3HrrbeipKQEO3fu7NDPpqSk4O2338a+ffswZ84cpKam4p577sHw4cPR2NgY4ZEnHjOP1anGjBmDkSNHYu7cuREYZXgkXl+nOv/883HjjTfyG0+iCInnnMh8GFviLScyHxLFHubEtjEndq14y4cAcyJFBidiY0hubi7OP//8gOvOO+88HDhwAEDr1gsAp3WKrKmp8d920i9+8QvccMMNePLJJ7Fjxw40Nzd3+mQixW634+yzz8awYcNQVlaGIUOG4IknnkBOTg7cbjdqa2sD7t/WcZ111lm45ZZbsHr1amzZsgU7d+7Eq6++2oVHEZ7evXvDYrF06DGLJhKP1UkPP/wwXn31VWzdurULRt4+ydfXSQsWLMCWLVuwdu1a+QETJbh4zomJmA8B5kQgOnIi8yFR7GFO/DfmxO4Tb/kQYE6kyOBEbAwZMWIEdu/eHXDdnj170K9fPwBAQUEBcnJyUFFR4b/d5XJh48aNKC4ubjduz549kZubi4aGhsgMvJMMw0BLSwuGDRsGm80WcFy7d+/GgQMHgh5X//79kZycHHXHdSq73Y5hw4YFHJthGKioqAh6bNHGzGM1fPhwXHvttd3+rWAkXl/5+fmYMWMGHnjggW7rNksUrxIpJyZCPgSYE4HoyInMh0SxhzmxFXNidIn1fAgwJ1KEdHe3MOq4TZs2KavVqh566CG1d+9e9eKLL6rk5GT1wgsv+O/z8MMPq4yMDPW3v/1Nbdu2TY0fP14VFBSopqYmpZRS5eXlavr06eqdd95R+/btU19++aWaNWuW0nVd/d///V93HZqaPXu2+uijj1RVVZXatm2bmj17ttI0Tb377rtKKaWmT5+u+vbtqz744AP1+eefq+LiYlVcXOz/+dLSUnXvvfeqDz/8UH3zzTdqy5YtasqUKSopKUl99dVX3XVYHfLKK68oh8OhnnvuObVz5041bdo0lZGRoaqrq7t7aG0y+1id7Ii5detW/3W7d+9WVqtVOZ3ObuuIKfH6Uqq1I+Ybb7zh//ePP/6o0tPTldPpZEdMIkHxmhMTOR8qxZyoVPfnROZDotjDnMic2N3iMR8qxZxIkcGJ2Bizbt06NXjwYOVwONTAgQPVypUrA243DEPNnTtXZWdnK4fDoS677DK1e/du/+1btmxR119/vSooKFAOh0P16tVL/cd//Id68803u/pQAvz3f/+36tevn7Lb7apPnz7qsssu85+0lVKqqalJ3Xbbbapnz54qOTlZXXPNNerQoUP+2z/44AM1YcIElZ+fr+x2u8rOzlZjx45Vn3zySXccTtiWL1+u+vbtq+x2uxo+fLj67LPPuntI7TL7WLWVZJVSatq0aQpAtyVZpcy/vpQ6PckqpdSiRYsUACZZImHxmBMTPR8qxZyoVPfnROZDotjDnMic2J3iNR8qxZxI8jSllOrqVbhEREREREREREREiYQ1YomIiIiIiIiIiIgijBOxRERERERERERERBHGiVgiIiIiIiIiIiKiCONELBEREREREREREVGEcSKWiIiIiIiIiIiIKMI4EUtEREREREREREQUYZyIJSIiIiIiIiIiIoowTsQSERERERERERERRRgnYomIiIiIiIiIiIgijBOxRERERERERERERBHGiVgiIiIiIiIiIiKiCPt/JEljI52MLyMAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import xarray as xr\n", + "import string\n", + "\n", + "\n", + "# List of variables and their settings\n", + "variables = [\n", + " {'var': 'T', 'var_title': 'T', 'scaling': 1., 'unit': 'K', 'diff_scale': 0.9, 'max_diff': 5},\n", + " {'var': 'Q', 'var_title': 'Q', 'scaling': 1000., 'unit': 'g/kg', 'diff_scale': 1, 'max_diff': 1},\n", + " {'var': 'U', 'var_title': 'U', 'scaling': 1., 'unit': 'm/s', 'diff_scale': 0.2, 'max_diff': 4},\n", + " {'var': 'CLDLIQ', 'var_title': 'Liquid cloud', 'scaling': 1e6, 'unit': 'mg/kg', 'diff_scale': 1, 'max_diff': 40},\n", + " {'var': 'CLDICE', 'var_title': 'Ice cloud', 'scaling': 1e6, 'unit': 'mg/kg', 'diff_scale': 1, 'max_diff': 5}\n", + "]\n", + "\n", + "latitude_ticks = [-60, -30, 0, 30, 60]\n", + "latitude_labels = ['60S', '30S', '0', '30N', '60N']\n", + "\n", + "# Create a figure with subplots\n", + "fig, axs = plt.subplots(5, 3, figsize=(14, 12.5)) \n", + "# Generate the panel labels\n", + "labels = [f\"({letter})\" for letter in string.ascii_lowercase[:15]]\n", + "\n", + "\n", + "# Loop through each variable and its corresponding subplot row\n", + "for idx, var_info in enumerate(variables):\n", + " var = var_info['var']\n", + " var_title = var_info['var_title']\n", + " scaling = var_info['scaling']\n", + " unit = var_info['unit']\n", + " diff_scale = var_info['diff_scale']\n", + "\n", + " # Compute the means and differences for plots\n", + " sp_tmean = ds_sp[var].mean(dim=('time')).compute().transpose('ncol', 'lev')\n", + " nn_tmean = ds_nn[var].mean(dim=('time')).compute().transpose('ncol', 'lev')\n", + " sp_zm, lats_sorted = zonal_mean_area_weighted(sp_tmean, grid_area, lat)\n", + " nn_zm, lats_sorted = zonal_mean_area_weighted(nn_tmean, grid_area, lat)\n", + " \n", + " \n", + " data_sp = scaling * xr.DataArray(sp_zm[:, :].T, dims=[\"hybrid pressure (hPa)\", \"latitude\"],\n", + " coords={\"hybrid pressure (hPa)\": level, \"latitude\": lats_sorted})\n", + " data_nn = scaling * xr.DataArray(nn_zm[:, :].T, dims=[\"hybrid pressure (hPa)\", \"latitude\"],\n", + " coords={\"hybrid pressure (hPa)\": level, \"latitude\": lats_sorted})\n", + " data_diff = data_nn - data_sp\n", + " \n", + " # Determine color scales\n", + " vmax = max(abs(data_sp).max(), abs(data_nn).max())\n", + " vmin = min(abs(data_sp).min(), abs(data_nn).min())\n", + " # if var_info['diff_scale']:\n", + " # vmax_diff = abs(data_diff).max() * diff_scale\n", + " # vmin_diff = -vmax_diff\n", + " vmax_diff = var_info['max_diff']\n", + " vmin_diff = -vmax_diff\n", + " # Plot each variable in its row\n", + " data_sp.plot(ax=axs[idx, 0], add_colorbar=True, cmap='viridis', vmin=vmin, vmax=vmax)\n", + " axs[idx, 0].set_title(f'{labels[idx * 3]} {var_title} ({unit}): MMF')\n", + " axs[idx, 0].invert_yaxis()\n", + "\n", + " data_nn.plot(ax=axs[idx, 1], add_colorbar=True, cmap='viridis', vmin=vmin, vmax=vmax)\n", + " axs[idx, 1].set_title(f'{labels[idx * 3 + 1]} {var_title} ({unit}): NN')\n", + " axs[idx, 1].invert_yaxis()\n", + " axs[idx, 1].set_ylabel('') # Clear the y-label to clean up plot\n", + "\n", + " data_diff.plot(ax=axs[idx, 2], add_colorbar=True, cmap='RdBu_r', vmin=vmin_diff, vmax=vmax_diff)\n", + " axs[idx, 2].set_title(f'{labels[idx * 3 + 2]} {var_title} ({unit}): NN - MMF')\n", + " axs[idx, 2].invert_yaxis()\n", + " axs[idx, 2].set_ylabel('') # Clear the y-label to clean up plot\n", + " \n", + " axs[idx, 0].set_xlabel('')\n", + " axs[idx, 1].set_xlabel('')\n", + " axs[idx, 2].set_xlabel('')\n", + "\n", + "# Set these ticks and labels for each subplot\n", + "for ax_row in axs:\n", + " for ax in ax_row:\n", + " ax.set_xticks(latitude_ticks) # Set the positions for the ticks\n", + " ax.set_xticklabels(latitude_labels) # Set the custom text labels\n", + "plt.tight_layout()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "id": "dfd472c2-493a-46e8-9ab8-977b36e3aac3", + "metadata": {}, + "source": [ + "## Zonal mean cloud liquid and ice zonal mean bias in unconstrained U-Net hybrid simulation exploded\n", + "\n", + "Below we compare a single month's cloud liquid and ice zonal mean bias in reference MMF simulation, unconstrained U-Net, and constrained U-Net hybrid simulations. This month is where we observe that the unconstrained U-Net model experience rapid error growth." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ebcd48ff-f376-451b-b93c-c5a151ab53fa", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABVQAAAHqCAYAAADri8UyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXgT1RoG8HfSNkn3jdIWgVIB2RUEhAoCIlJwAQRFELW44cKOynJlV0FREVEWQQRUcEEvqCggIqIimxWURZBNQKBFlrZAaZvl3D96GwlN0qT92qbN+7tPniuT6clMm8w35+Sc79OUUgpEREREREREREREVCRdeR8AERERERERERERUUXBAVUiIiIiIiIiIiIiN3FAlYiIiIiIiIiIiMhNHFAlIiIiIiIiIiIichMHVImIiIiIiIiIiIjcxAFVIiIiIiIiIiIiIjdxQJWIiIiIiIiIiIjITRxQJSIiIiIiIiIiInITB1SJiIiIiIiIiIiI3MQB1Qpo2rRpqF+/PqxWq0c/ZzKZUKNGDcyePVv0eGrVqoX+/fuLtnml77//Hpqm4fvvvy9y3w4dOqBDhw4iryvZlqf69++PWrVqubWv1WpF48aN8eKLL5buQXngr7/+gqZpePXVV8XabN26NUaOHCnWHhEVjimefHZHjx6NVq1aiR7PxIkToWmaaJuOuBu7Fi1aBE3T8Ndff5X4NSXb8pQncRQo/r1GaerQoQMaN24s1t7cuXNRs2ZN5ObmirVJZcfT97Q0TdMwceLEcnlt8kxxrmfsN3mO/abiY7+JShtjZunggGoFk5WVhZdffhmjRo2CTufZny8gIAAjRozAiy++iJycnCL3L40LO5WODz/8EMeOHcOgQYPK9Th27twJTdOwdevWUml/1KhRmDVrFtLS0ordRkEw0TQNH3zwgcN92rRpA03TCnXca9WqBU3T0KlTJ4c/N3/+fFvbv/zyi217wQCRo8fcuXOLfS5EJVWSmAIAw4YNw2+//YYvvvjCrf2lB8SodJT0fSGpefPmeOqpp0ql7f79+yMvLw9vv/12idopiA2DBw8u9FxBzPn0009t2woG1o1GI44fP17oZzz9nHz//ffo2bMn4uLioNfrUbVqVdx5553473//W7wTEjR79mwsWrSovA+DfFhxr2fsN1Ve7De57/J+U2pqaqHn+/fvj5CQELttHTp0gKZpuPPOOwvt7+7npKj9Xn311XL7gro0MWZWPBxQrWDeffddmM1m9O3bt1g//9BDD+H06dNYunSp2DHt27cP8+fPF2vPkXbt2uHSpUto165dqb5ORfXKK6+gT58+CA8PL9fj+Oqrr1C1alW0bNmyVNrv3r07wsLCRGYLGI1Gh5+Dv/76Cz///DOMRqPTn1u/fr3Dm5MlS5Y4/TkAmDNnDt5//327xy233FL8kyAqoZLGlLi4OHTv3l20Azl27FhcunRJrD1nyiJ2VVQlfV9IOXnyJLZv347bb7+9VNo3Go1ISUnB9OnToZQqcXvz58/HiRMn3N4/NzcXL730Uolec8KECbj55puxa9cuPP7445g7dy6effZZXLhwAb169RK93yuO0uwc8t6Q3FGS6xn7TZUT+03F4+nswpUrVzochCXnGDMrHg6oVjALFy5Et27dXA7auBIREYHOnTuLflANBgMCAgLE2nNEp9PBaDSW+0wZb7R9+3b89ttv6N27d3kfCr7++mt07dq11Jbr6nQ63H333XjvvfdK3Pm97bbbsHbtWpw+fdpu+9KlSxEbG4sWLVo4/Lk2bdogJCQEH3/8sd32v//+Gz/++KPLjv/dd9+N+++/3+5Rt27dEp0HUUmUNKYAQO/evfHTTz/h0KFDIsfk7+9fouNxV1nEropK4n0hYdWqVTAajejYsWOpvUbv3r1x5MgRrF+/vkTtNGrUCBaLxaMB0qZNm3o8CHu5Tz/9FJMnT8bdd9+N3bt3Y9KkSXj44Yfx7LPPYv369Vi9ejXCwsKK1XZ5uHjxokf7896Q3FGS6xn7TZUP+03F07RpU6xcuRK//vqrW/vXrFkTkZGRmDRpUolel5xjzPQO/G1WIIcPH8bvv//ucLnxq6++ihtvvBHR0dEIDAxE8+bN7ZaXXe7WW2/FTz/9hLNnz4ocl6NcQLt370bHjh0RGBiI6tWr44UXXsC7775baGq+s1waV7bpLOfHvHnzULt2bQQGBuKGG27Ajz/+6NGxf/DBB7jhhhsQFBSEyMhItGvXDt98843Lnzl16hQeeeQRxMbGwmg04rrrrsPixYvt9nF2vAXLF668MVuxYgUaN24Mo9GIxo0bY/ny5W6fw4oVK6DX6wt921SwzPzPP//E/fffj/DwcMTExGDcuHFQSuHYsWO2by7j4uLw2muvFWr7yJEj6NatG4KDg1G1alUMHz4ca9ascXhuGRkZ+Pnnn10OKCqlMGDAAOj1eruliL///jvat29v935ZuHChw6Uct956K44cOYIdO3bYbT948CAOHjzo3i8N+d/aGgwGLFu2zG770qVL0bt3b/j5+Tn8OaPRiJ49exaarfDhhx8iMjISycnJbh8DUXlyFVMKvP7660hISEBgYCDat2+PXbt2Fdqn4Oc///xzkeNylEM1NzcXw4cPR0xMDEJDQ9GtWzf8/fffhWKIsxxqjtp0N3Z5knNv79696N27N2JiYhAYGIh69erhueeeK/LnZs+ejUaNGsFgMKBatWoYOHAgMjIyijxewHHOur///hs9evSwu3a7myfU2fvi8uV3s2bNwtVXX42goCB07twZx44dg1IKzz//PKpXr47AwEB079690H2G1WrFxIkTUa1aNQQFBeHmm2/Gnj17nJ7bV199hZtvvhmBgYFOj/ebb75BUFAQ+vbtC7PZDAC4dOkShgwZgipVqtjeL8ePH3d4z9G8eXNERUUVev+ePn0ae/fuRXZ2tlu/t1q1auHBBx/0aID0P//5j8eDsJcbN24coqKi8O677zocoElOTsYdd9xh+7c79y+X/50L7rEMBgNatmyJbdu22e2blpaGhx56CNWrV4fBYEB8fDy6d+9ui9u1atXC7t27sWHDBtuS0YL3akHagw0bNuCpp55C1apVUb16dQD59x5PPfUU6tWrh8DAQERHR+Oee+4pdD/g6F6rIF3Cnj17cPPNNyMoKAhXXXUVpk2bVuj3k5ubiwkTJqBOnTowGAyoUaMGRo4cWeiz4uz6Q97PVZyzWq1444030KRJExiNRsTExKBLly52KZsA9psux36T7/abBg8ejMjISLdnqYaGhmL48OH48ssv3R6ELalatWrhjjvuwE8//YQbbrgBRqMRV199Nd57771C+2ZkZGD48OGoVasWDAYDqlevjgcffNBuog1jpj3GTMf8y/sAyH0///wzAOD6668v9Nwbb7yBbt26oV+/fsjLy8NHH32Ee+65BytXrix0oW7evDmUUvj555/tbrSlpKWl4eabb4bZbMbo0aMRHByMefPmuewQFceCBQvw+OOP48Ybb8SwYcNw6NAhdOvWDVFRUahRo0aRPz9p0iRMnDgRN954IyZPngy9Xo8tW7bgu+++Q+fOnR3+zKVLl9ChQwcc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LGzZsgVJSUlO242MjER8fDwuXrxYOgdeTFarFbm5uWjevDkCAgLszmvfvn04evSoy/OqVasWgoKCvO68HNHr9WjevLndOVqtVqxbt87lOXqbkvzNbrjhBvTs2dMrvqkrjc9ajRo1MGjQIPznP/8p16qpRJUB42HljIeVJRYClSMeMhYSeTfGQsZCb1cZYiHAeEhOlHdVLPLM1q1blb+/v3rxxRfV/v371ZIlS1RQUJD64IMPbPu89NJLKiIiQn3++efq999/V927d1eJiYnq0qVLSiml5s6dq5544gm1Zs0adeDAAbVr1y41cuRIpdPp1Pfff19ep6ZGjx6tNmzYoA4fPqx+//13NXr0aKVpmvrmm2+UUko98cQTqmbNmuq7775Tv/zyi0pKSlJJSUm2n58wYYJ69tln1fr169WhQ4fUr7/+qvr3768CAwPV3r17y+u0PPLRRx8pg8GgFi1apPbs2aMGDBigIiIiVFpaWnkfmkMl/ZsVVHLcvn27bdu+ffuUv7+/MhqN5VrJUeKzplR+Jcfly5fb/n3mzBkVHh6ujEYjKzkSlQDjYeWNhxUtFipVeeMhYyGRd2MsZCz0JpU1FirFeEiOcUC1Avryyy9V48aNlcFgUPXr11fz5s2ze95qtapx48ap2NhYZTAY1C233KL27dtne/7XX39V999/v0pMTFQGg0FFR0erdu3aqS+++KKsT8XOww8/rBISEpRer1cxMTHqlltusV18lVLq0qVL6qmnnlKRkZEqKChI3XXXXerkyZO257/77jvVq1cvVaNGDaXX61VsbKzq0qWL+vHHH8vjdIrtzTffVDVr1lR6vV7dcMMNavPmzeV9SE6V9G/mKGgqpdSAAQMUgHINmkqV/LOmVOGgqZRSU6ZMUQAYNIlKiPGw8sbDihQLlarc8ZCxkMi7MRYyFnqLyhwLlWI8pMI0pZQq61mxRERERERERERERBURc6gSERERERERERERuYkDqkRERERERERERERu4oAqERERERERERERkZs4oEpERERERERERETkJg6oEhEREREREREREbmJA6pEREREREREREREbuKAKhEREREREREREZGbOKBKRERERERERERE5CYOqBIRERERERERERG5iQOqRERERERERERERG7igCoRERERERERERGRmzigSkREREREREREROQmDqgSERERERERERERuYkDqkRERERERERERERu4oAqERERERERERERkZs4oEpERERERERERETkJg6oEhEREREREREREbmJA6o+Ytq0aahfvz6sVqvL/f766y9omoZFixbZto0ePRqtWrUq5SMsfY7OrSxpmoaJEye6te/WrVuh1+tx5MiR0j0oD0ycOBGapuH06dMi7e3Zswf+/v7YtWuXSHtEVHbcjSmOtG7dGiNHjiyFoypbixYtgqZp+Ouvv8r8tb///ntomobvv//erf1L8vcqLR06dEDjxo3F2ps7dy5q1qyJ3NxcsTap7Hj6npbmyT0a+Q5H184LFy7g0UcfRVxcHDRNw7BhwyrVPW2HDh3QoUOH/7V35/FNVGsfwH+TLkn3QoEuAqUCsisIiBWUrVI3BKkgyFIURZEdd2VXqaBXednFBVTEBRVUNgVEVGSzgLIIIlRAoEWWUqB0SXLeP7jJJTRJk+Zpmza/7/3kc2WSnswkmXlmzpzzPOXy3gMHDkSdOnVceq3ZbEbTpk3xyiuvlO5KucFyrfn666+LtVlZzplIBmOl92GHqg/IycnB1KlT8eyzz0Knc/8rHzVqFH777Td8/fXXLr1e+iLJF7344ovo06cP4uPjy3U9nnzySTRu3LhU2m7cuDHuvvtujB8/3qN2Bg4cCE3TEB4ejkuXLhV5/sCBA9A0rcgJjiUgaZqGRYsW2W27bdu20DStyO+5Tp061r+9+pGXl+fR9hB5O09jyrPPPovZs2cjMzPTpddrmoZhw4a5/T50maffl6SWLVviiSeeKJW2Bw4ciIKCArz11lsetWM5vg8fPrzIc5a48fnnn1uXWTrWDQYDjh07VuRv3D0n+uGHH9CjRw/ExMQgMDAQNWrUQNeuXfHll1+WbIMEzZkzp9xuShOVNUfHzilTpmDhwoUYMmQIPvzwQ/Tv39/tc1rLcePXX38trdWv9D7++GMcPXq03M8Pdu3aBU3TsHXr1lJp391zJnuuvOZJT08v8vzAgQMRGhpqs6xDhw7QNA1du3Yt8npXO46Le93rr79ebjemSxNjpW9hh6oPeO+992A0GtGnT58S/X1MTAy6desmereNHNu5cyfWrl2Lxx9/vLxXBStWrMDdd99dau0//vjjWLp0KQ4ePOhRO/7+/sjNzcU333xT5LmPPvoIBoPB4d8aDAYsXry4yPK///4bv/zyi8O/bd68OT788MMij8DAwJJvCFEF4GlM6datG8LDwzFnzhzhNSN7PP2+pJw4cQI7duwotZhiMBiQmpqKN954A0opj9t7++23cfz4cZdfn5+fj1dffdWj95wwYQI6duyI3bt347HHHsO8efPw9NNP48KFC0hJSbEbq8pSaV4k3nbbbbh06RJuu+22UmmfyF2Ojp3ff/89br75ZkyYMAH9+vVDy5YtAcid05JrXnvtNfTu3RsRERHluh4rVqxAjRo10Lp161JpX/qcyd3RhcuXL7fbCUuOMVb6Fnao+oAFCxbg3nvvddqpVJxevXrh559/xqFDhwTXjOxZsGABateujZtvvrlc1+PQoUPYv39/qXaoJiUloUqVKnj//fc9akev16Nz5874+OOPizy3ePFip9tw1113Yc2aNUVSGSxevBjR0dFo1aqV3b+75ppr0K9fvyKP8h4BRlTaPI0pOp0O999/Pz744AORji9yTuIcQMKqVatgMBjQqVOnUnuPXr164fDhw1i/fr1H7TRp0gQmk8mtDtLmzZu73Ql7pc8//xyTJ0/G/fffjz179mDSpEl4+OGH8fTTT2P9+vVYvXo1wsPDS9R2ebh48aJbr9fpdDAYDIyh5DUcHTtPnjyJyMjIIq+XOqel4u3YsQO//fYbevXqVd6rgpUrV+LOO++Epmml0r7kOVPz5s2xfPlybN++3aXX165dG1WqVMGkSZM8el9yjLGy4uM3UcllZGTg999/R1JSUpHnsrOzMXDgQERERCAyMhKpqanIzs62247l77/66qsSr8uiRYtw0003ITg4GFWqVMFtt92G7777zuY1q1atwq233oqQkBCEhYXh7rvvxp49e1xqPzs7G6NHj0adOnWg1+tRs2ZNDBgwoNicn99//731PSMjI9GtWzf88ccfNq9xlNPHklf0Svn5+Rg9ejSqV6+OsLAw3Hvvvfjnn39c2gYAWLZsGTp16lSk3Tp16uCee+7BDz/8gFatWiEoKAjNmjWz5lD58ssv0axZMxgMBrRs2RI7duwo0vaSJUvQuHFjGAwGNG3aFEuXLnW4bStWrEBERATatWvncF0PHz6MevXqoWnTpsjKyrIunz17Nq699loEBQXhpptuwk8//WQ3J1NAQAA6dOhQ5HeVm5uLffv2uZWv9cEHH8SqVatsfsPbtm3DgQMH8OCDDzr8u27d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C3r37o2aNWvi77//xty5c9GhQwfs3bu32Jh59uxZ3HHHHejRowd69eqFzz//HM8++yyaNWuGO++8E8Dlzv17770XP//8MwYPHoxGjRph165dePPNN/Hnn39i2bJl1vY8OUcj32Hv2NmoUSN8+OGHGD16NGrWrIknn3wSAFC9enXra+yd07rKlbiTlZWFm2++2ZpbvHr16li1ahUGDRqEnJwcjBo1yul7uHI9djV3jzeu+O6775CSkoLGjRsjLS0Np0+ftnZSueKXX35B06ZNHcbUBx54AI0aNcKrr76KFStW4OWXX0bVqlXx1ltvoVOnTpg6dSo++ugjPPXUU2jdurW1Y/bixYvo1KkTTpw4gZEjRyImJgaLFy92OOvB0tHq6LMzmUx4+OGH8emnn2Lp0qXWY82xY8fQsWNHaJqG559/HiEhIXjnnXeg1+vttuPonKlz584A4HIO0vDwcIwePRrjx4/H9u3bnV4fWYwcORJvvvkmJk6c6HI9FU/99ddfuP/++zFo0CCkpqbivffew8CBA9GyZUs0adIEgGvX/oyVjJVlQlGlNnbsWAVAnT9/3mb5smXLFAA1bdo06zKj0ahuvfVWBUAtWLCgSFtdunRRjRo1KvY927dvr5o0aWL994EDB5ROp1P33XefMplMNq81m81KKaXOnz+vIiMj1aOPPmrzfGZmpoqIiCiy/Grjx49XANSXX35Z5DnLe2RkZBTZtubNm6saNWqo06dPW5f99ttvSqfTqQEDBliXpaamqvj4+CJtT5gwQV25G+3cuVMBUE888YTN6x588EEFQE2YMMHpdqxdu1YBUN98802R5+Lj4xUA9csvv1iXffvttwqACgoKUocPH7Yuf+uttxQAtX79euuyZs2aqZo1a9r8Fn744QcFoMi2Xbx4URkMBpvPyrKt//77r/rjjz9UXFycat26tTpz5oz1Nfn5+SoqKkq1bt1aFRYWWpcvXLhQAVDt27cvsl2LFy9WANSWLVusy9avX+/S56XU5e8mJCREKaXU/fffrzp37qyUUspkMqmYmBg1adIk63f/2muvFXmPJUuWqOXLlytN09SRI0eUUko9/fTT6tprr1VKFf09K/W/7+LqhyvrS1SROYopP/30kwKgPvroI5vlq1evtrtcKaUCAwPVkCFDin1PAGro0KHWf7/33nsKgHrjjTeKvNZyvC/J+lzptttuU2FhYTbH1SvbV0qpBQsWKAAqIyNDKaXUyZMnVWBgoOrSpYtNrJs1a5YCoN577z3rsvj4eJWamlrkfdu3b29znJw+fboCoD777DPrsosXL6p69eoVOcbb4+j7shwTq1evrrKzs63Ln3/+eQVA3XDDDTbH8D59+qjAwECVl5enlLocm/39/VX37t1t2p04caICUGTb1q1bZ/NZWbbVcmz94osvVEBAgHr00UdtPrv09HQFQI0aNcqmvYEDBzo85g4ePFgFBQXZLLPEr+I+L6Uufzd33323Ukqphx56SBkMBnX8+HGllG3csLD8DrZt26YOHjyo/P391YgRI+xupyNfffWVAqDefPPNYtdPqf/9LhYtWmRdVlBQoBITE1VoaKjKyclRSv3ve46KirKJ1Zb3s5xrnD17tkiMtKdJkyZ247jlM2jXrp0yGo02z+Xm5hZ5/aZNmxQA9cEHH1iXWT7bK7+j9u3bF3ldfn6+iomJUSkpKdZlH374odLpdOqnn36yeZ958+YpAGrjxo1KKc/P0ch3ODp2KmV7jLiavXNae648bli4EncGDRqkYmNj1alTp2xe07t3bxUREWF3f7Nw5XpMKcdxqLjjjb19WCnH11+xsbE28ee7776ze01iT82aNW2OARaWY/3gwYOty4xGo6pZs6bSNE29+uqr1uVnz55VQUFBNvHqP//5jwKgli1bZl126dIl1bBhQ7vb1r9/f5vP6srrjcLCQvXAAw+ooKAg9e2339r83fDhw5WmaWrHjh3WZadPn1ZVq1YtEist7J0zxcfHu/R5XRm7srOzVZUqVdS9995rff7KaymLK2PXpEmTFACVnp5eZDudKe51r732WpHttVxj/fjjj9ZlJ0+eVHq9Xj355JPWZa5c+zNWMlaWBU75r+ROnz4Nf3//IpX7Vq5cCX9/f+uIPADw8/OzW9XWokqVKm5NwbZYtmwZzGYzxo8fXyTfh2Va+5o1a5CdnY0+ffrg1KlT1oefnx/atGlTbD60L774AjfccAPuu+++Is85ymlz4sQJ7Ny5EwMHDkTVqlWty6+//nrcfvvtWLlypbubav2bESNG2Cwv7o6xxenTpwFc/qztady4MRITE63/btOmDQCgU6dOqF27dpHllpy3x48fx65duzBgwACb30L79u3RrFmzIu/z/fffIz8/33pH60q7d+9G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pUuXiubKAYApU6agW7duaNu2LR566CGcPXsWs2bNQtOmTW06WVesWIE777zT6XvrdDosWrQI3bt3R69evbBy5Up06tQJgYGBmDhxIoYPH45OnTqhV69e+Pvvv7Fw4UK7OYkKCwuxYcOGIgVHtm7dio4dO2LChAluF6bS6XQYO3asW39j0a1btxL9xol8haOY0r59ezz22GNIS0vDzp070aVLFwQEBODAgQNYsmQJ/u///s+msNKaNWtQu3Ztl6dHXWnAgAH44IMPMGbMGGzduhW33norLl68iLVr1+KJJ55At27d3F6fq82YMQPt2rXDjTfeiMGDByMhIQF///03VqxY4fDCo3r16nj++ecxadIk3HHHHbj33nuxf/9+zJkzB61bt7YpFvDII4/g888/xx133IFevXrh4MGDWLRoUZF8VY8++ihmzZqFAQMGID09HbGxsfjwww8RHBzs0mfl6PvyVHR0NEaOHIn//Oc/uPfee3HHHXfgt99+w6pVq1CtWjXrsf7SpUtYv3495s2b57S9atWqYc2aNWjXrh2SkpLw888/45prrkHLli2RkpKC6dOn4/Tp07j55puxYcMG/PnnnwCKjgJJT0/HmTNnihzHZ82ahUmTJmH9+vVuF6YC/tdB+v7777v8N5ZUAfv377cZdevIAw88gF27duGVV17Bjh070KdPH8THx+P06dNYvXo11q1bh8WLFwMABg8ejLfeegsDBw5Eeno66tSpg88//xwbN27E9OnT3U7x9Oeff6Jz587o1asXGjduDH9/fyxduhRZWVk2Mz1atmyJuXPn4uWXX0a9evVQo0YNazELR+655x58+OGHiIiIQOPGjbFp0yasXbvWmuJIQv/+/fHZZ5/h8ccfx/r169G2bVuYTCbs27cPn332Gb799lu0atVK5ByNfENJjp2Ozmld5UrcefXVV7F+/Xq0adMGjz76KBo3bowzZ85g+/btWLt2Lc6cOeOwfVeux+xx9XgTERGBnj17WvNh161bF8uXL7eb1zUtLQ1333032rVrh4cffhhnzpzBzJkz0aRJE5trEke6deuGl156CRs2bChS8MkTjz32GGbNmoU+ffpg5MiRiI2NxUcffWSdkn5lsSODwWAzG8+e7t27Y8GCBRgwYADCw8Px1ltvAQCeeeYZLFq0CLfffjuGDx+OkJAQvPPOO6hduzbOnDlTJLY5Omfq3LkzALhdmMrCMo3/t99+s87KdCYiIgIjR450qzjVlClTcPPNN1t/13Xq1MHff/+N+fPnQ9M0TJkypUTr7sq1P2OlLcbKUqKo0nvjjTdUaGioys3NtVl++vRp1b9/fxUeHq4iIiJU//791Y4dOxQAtWDBApvXPvDAA6pdu3YuvV/79u1VkyZNiix/7733VIsWLZRer1dVqlRR7du3V2vWrLF5zfr161VycrKKiIhQBoNB1a1bVw0cOFD9+uuvxb7v6dOn1bBhw9Q111yjAgMDVc2aNVVqaqo6deqUUkqpjIwMu9u2du1a1bZtWxUUFKTCw8NV165d1d69e4u0/91336mmTZuqwMBA1aBBA7Vo0SI1YcIEdfVudOnSJTVixAgVFRWlQkJCVNeuXdXRo0cVADVhwoRit2P79u0KgPrpp59slsfHx6u77767yOsBqKFDh9oss2zra6+9ZrP8k08+UQ0bNlR6vV41bdpUff311yolJUU1bNhQKaVUdna28vf3V5999lmR97Fs67///mtdlpubq9q3b69CQ0PV5s2brctnzJih4uPjlV6vVzfddJPauHGjatmypbrjjjts2ly1apUCoA4cOGCzfP369S5/XqmpqSokJMTpa+x9Hpb3WLJkidO/tfd7dvRdEPkCRzFFKaXmz5+vWrZsqYKCglRYWJhq1qyZeuaZZ9Tx48etrzGZTCo2NlaNHTvWpfezd4zLzc1VL774okpISFABAQEqJiZG3X///ergwYNur48ju3fvVvfdd5+KjIxUBoNBNWjQQI0bN876/IIFCxQAlZGRYfN3s2bNUg0bNlQBAQEqOjpaDRkyRJ09e7ZI+//5z3/UNddco/R6vWrbtq369ddfVfv27VX79u1tXnf48GF17733quDgYFWtWjU1cuRItXr1agVArV+/vtjtsPd9OYoRjo6Llm3dtm2bdZnRaFTjxo1TMTExKigoSHXq1En98ccfKioqSj3++ONKKaWWL1+uNE1TWVlZRdbL3rH1r7/+UrGxsapRo0bWWHPx4kU1dOhQVbVqVRUaGqq6d++u9u/frwCoV1991ebvn332WVW7dm1lNpttllvilyufl6Pj+4EDB5Sfn1+Rz8feZ2ORmpqqANg9J3Jk3bp1qlu3bqpGjRrK399fVa9eXXXt2lV99dVXNq/LyspSDz30kKpW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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import xarray as xr\n", + "import string\n", + "\n", + "# Load the datasets\n", + "ds_sp = xr.open_dataset(data_path + 'h0/1year/mmf_ref/mmf_ref.eam.h0.0003.nc')\n", + "ds_sp['lev'].attrs['long_name'] = 'hybrid pressure'\n", + "ds_sp = ds_sp.isel(time=9)\n", + "\n", + "ds_v4 = xr.open_dataset(data_path + 'h0/1year/unet_v4/huber_rop/v4_noclassifier_huber_1y_noaggressive_nomodifystqn_rop2_uoutputprune.eam.h0.0003-10.nc')\n", + "ds_v4['lev'].attrs['long_name'] = 'hybrid pressure'\n", + "\n", + "ds_v5 = xr.open_dataset(data_path + 'h0/1year/unet_v5/huber_rop/v5_noclassifier_huber_1y_noaggressive_rop2.eam.h0.0003-10.nc')\n", + "ds_v5['lev'].attrs['long_name'] = 'hybrid pressure'\n", + "\n", + "# List of variables and their settings for the two rows\n", + "variables = [\n", + " {'var': 'CLDLIQ', 'var_title': 'Liquid cloud', 'scaling': 1e6, 'unit': 'mg/kg', 'diff_scale': 1},\n", + " {'var': 'CLDICE', 'var_title': 'Ice cloud', 'scaling': 1e6, 'unit': 'mg/kg', 'diff_scale': 1}\n", + "]\n", + "\n", + "latitude_ticks = [-60, -30, 0, 30, 60]\n", + "latitude_labels = ['60S', '30S', '0', '30N', '60N']\n", + "\n", + "# Create a figure with subplots\n", + "fig, axs = plt.subplots(2, 3, figsize=(14, 5)) # Adjust size as necessary\n", + "# Generate the panel labels\n", + "labels = [f\"({letter})\" for letter in string.ascii_lowercase[:6]]\n", + "\n", + "vmaxs = [60,60]\n", + "\n", + "# Loop through each variable and its corresponding subplot row\n", + "for idx, var_info in enumerate(variables):\n", + " var = var_info['var']\n", + " var_title = var_info['var_title']\n", + " scaling = var_info['scaling']\n", + " unit = var_info['unit']\n", + " diff_scale = var_info['diff_scale']\n", + "\n", + " # Compute the means and differences for plots\n", + " sp_tmean = ds_sp[var].compute().transpose('ncol', 'lev')\n", + " nn_tmean_v4 = ds_v4[var][0,:,:].compute().transpose('ncol', 'lev')\n", + " nn_tmean_v5 = ds_v5[var][0,:,:].compute().transpose('ncol', 'lev')\n", + " \n", + " sp_zm, lats_sorted = zonal_mean_area_weighted(sp_tmean, grid_area, lat)\n", + " nn_zm_v4, lats_sorted = zonal_mean_area_weighted(nn_tmean_v4, grid_area, lat)\n", + " nn_zm_v5, lats_sorted = zonal_mean_area_weighted(nn_tmean_v5, grid_area, lat)\n", + " \n", + " data_sp = scaling * xr.DataArray(sp_zm[:, :].T, dims=[\"hybrid pressure (hPa)\", \"latitude\"],\n", + " coords={\"hybrid pressure (hPa)\": level, \"latitude\": lats_sorted})\n", + " data_nn_v4 = scaling * xr.DataArray(nn_zm_v4[:, :].T, dims=[\"hybrid pressure (hPa)\", \"latitude\"],\n", + " coords={\"hybrid pressure (hPa)\": level, \"latitude\": lats_sorted})\n", + " data_nn_v5 = scaling * xr.DataArray(nn_zm_v5[:, :].T, dims=[\"hybrid pressure (hPa)\", \"latitude\"],\n", + " coords={\"hybrid pressure (hPa)\": level, \"latitude\": lats_sorted})\n", + "\n", + " vmax = vmaxs[idx]\n", + " vmin=0\n", + " \n", + " # Plot each variable in its row\n", + " data_sp.plot(ax=axs[idx, 0], add_colorbar=True, cmap='viridis', vmin=vmin, vmax=vmax)\n", + " axs[idx, 0].set_title(f'{labels[idx * 3]} {var_title} ({unit}): MMF')\n", + " axs[idx, 0].invert_yaxis()\n", + "\n", + " data_nn_v4.plot(ax=axs[idx, 2], add_colorbar=True, cmap='viridis', vmin=vmin, vmax=vmax)\n", + " axs[idx, 2].set_title(f'{labels[idx * 3 + 2]} {var_title} ({unit}): NN Unconstrained')\n", + " axs[idx, 2].invert_yaxis()\n", + " axs[idx, 2].set_ylabel('') # Clear the y-label to clean up plot\n", + "\n", + " \n", + " data_nn_v5.plot(ax=axs[idx, 1], add_colorbar=True, cmap='viridis', vmin=vmin, vmax=vmax)\n", + " axs[idx, 1].set_title(f'{labels[idx * 3 + 1]} {var_title} ({unit}): NN Constrained')\n", + " axs[idx, 1].invert_yaxis()\n", + " axs[idx, 1].set_ylabel('') # Clear the y-label to clean up plot\n", + "\n", + "\n", + " axs[idx, 0].set_xlabel('')\n", + " axs[idx, 1].set_xlabel('')\n", + " axs[idx, 2].set_xlabel('')\n", + "\n", + "# Set these ticks and labels for each subplot\n", + "for ax_row in axs:\n", + " for ax in ax_row:\n", + " ax.set_xticks(latitude_ticks) # Set the positions for the ticks\n", + " ax.set_xticklabels(latitude_labels) # Set the custom text labels\n", + "plt.tight_layout()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "456815c2-3cfa-4c58-ba3d-1d66c695b5fa", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "climsim", + "language": "python", + "name": "climsim" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/model_postprocessing/v2_nn_wrapper.ipynb b/online_testing/model_postprocessing/v2_nn_wrapper.ipynb new file mode 100644 index 0000000..62e4b65 --- /dev/null +++ b/online_testing/model_postprocessing/v2_nn_wrapper.ipynb @@ -0,0 +1,247 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "3a186fd1-49ff-41d8-85d8-91e52ea3c4f3", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.10/dist-packages/IPython/core/magics/osm.py:417: UserWarning: using dhist requires you to install the `pickleshare` library.\n", + " self.shell.db['dhist'] = compress_dhist(dhist)[-100:]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/global/u2/z/zeyuanhu/public_codes/ClimSim\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-07-23 03:30:30.821262: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n", + "2024-07-23 03:30:30.821293: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n", + "2024-07-23 03:30:30.823039: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", + "2024-07-23 03:30:30.831804: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n", + "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n" + ] + } + ], + "source": [ + "%cd /global/u2/z/zeyuanhu/public_codes/ClimSim/\n", + "from climsim_utils.data_utils import *" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "9443bcdf-de3a-456e-821a-7cf2e0dc7ab8", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import torch\n", + "import numpy as np\n", + "import torch.optim as optim\n", + "import torch.nn as nn\n", + "import modulus" + ] + }, + { + "cell_type": "markdown", + "id": "027f9d6a-056a-4126-b2f1-df0339c3470c", + "metadata": {}, + "source": [ + "# Create a wrapper model to include normalization and de-normalization inside model's forward method" + ] + }, + { + "cell_type": "markdown", + "id": "66f9d868-967e-4f7e-ae1c-00b172b7a942", + "metadata": {}, + "source": [ + "We define below a new class \"NewModel\" that takes the trained MLP model and include all the preprocessing and post-processing steps inside the forward method." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ae7e628f-e7ec-4534-9c8f-d0ac0acc2ff9", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/global/u2/z/zeyuanhu/public_codes/ClimSim/online_testing/baseline_models/MLP_v2rh/training\n" + ] + } + ], + "source": [ + "%cd /global/u2/z/zeyuanhu/public_codes/ClimSim/online_testing/baseline_models/MLP_v2rh/training\n", + "from mlp import MLP\n", + "import mlp as mlp" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "4ac47ff5-7cdd-4d2f-8c20-3e0c3d5d4e91", + "metadata": {}, + "outputs": [], + "source": [ + "class NewModel(nn.Module):\n", + " def __init__(self, original_model, input_sub, input_div, out_scale, lbd_qc, lbd_qi):\n", + " super(NewModel, self).__init__()\n", + " self.original_model = original_model\n", + " self.input_sub = torch.tensor(input_sub, dtype=torch.float32)\n", + " self.input_div = torch.tensor(input_div, dtype=torch.float32)\n", + " self.out_scale = torch.tensor(out_scale, dtype=torch.float32)\n", + " self.lbd_qc = torch.tensor(lbd_qc, dtype=torch.float32)\n", + " self.lbd_qi = torch.tensor(lbd_qi, dtype=torch.float32)\n", + "\n", + " def preprocessing(self, x):\n", + " \n", + " #do input normalization\n", + " x[:,120:180] = 1 - torch.exp(-x[:,120:180] * self.lbd_qc)\n", + " x[:,180:240] = 1 - torch.exp(-x[:,180:240] * self.lbd_qi)\n", + " x= (x - self.input_sub) / self.input_div\n", + " x = torch.where(torch.isnan(x), torch.tensor(0.0, device=x.device), x)\n", + " x = torch.where(torch.isinf(x), torch.tensor(0.0, device=x.device), x)\n", + " \n", + " #prune top 15 levels in qn input\n", + " x[:,120:120+15] = 0\n", + " x[:,180:180+15] = 0\n", + " #clip rh input\n", + " x[:, 60:120] = torch.clamp(x[:, 60:120], 0, 1.2)\n", + " return x\n", + "\n", + " def postprocessing(self, x):\n", + " x[:,60:75] = 0\n", + " x[:,120:120+28] = 0\n", + " x[:,180:195] = 0\n", + " x[:,240:255] = 0\n", + " x[:,300:315] = 0\n", + " x = x/self.out_scale\n", + " return x\n", + "\n", + " def forward(self, x):\n", + " x = self.preprocessing(x)\n", + " x = self.original_model(x)\n", + " x = self.postprocessing(x) \n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "58c18e23-cea9-4d72-9c06-8e64e5c1e02b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "def save_wrapper(casename):\n", + " # casename = 'v5_noclassifier_huber_1y_noaggressive'\n", + " f_torch_model = f'/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/{casename}/model.mdlus'\n", + " f_inp_sub = f'/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/{casename}/inp_sub.txt'\n", + " f_inp_div = f'/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/{casename}/inp_div.txt'\n", + " f_out_scale = f'/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/{casename}/out_scale.txt'\n", + " f_qc_lbd = '/global/u2/z/zeyuanhu/public_codes/ClimSim/preprocessing/normalizations/inputs/qc_exp_lambda_large.txt'\n", + " f_qi_lbd = '/global/u2/z/zeyuanhu/public_codes/ClimSim/preprocessing/normalizations/inputs/qi_exp_lambda_large.txt'\n", + " lbd_qc = np.loadtxt(f_qc_lbd, delimiter=',')\n", + " lbd_qi = np.loadtxt(f_qi_lbd, delimiter=',')\n", + " input_sub = np.loadtxt(f_inp_sub, delimiter=',')\n", + " input_div = np.loadtxt(f_inp_div, delimiter=',')\n", + " out_scale = np.loadtxt(f_out_scale, delimiter=',')\n", + " model_inf = modulus.Module.from_checkpoint(f_torch_model).to('cpu')\n", + "\n", + " new_model = NewModel(model_inf, input_sub, input_div, out_scale, lbd_qc, lbd_qi)\n", + "\n", + " NewModel.device = \"cpu\"\n", + " device = torch.device(\"cpu\")\n", + " scripted_model = torch.jit.script(new_model)\n", + " scripted_model = scripted_model.eval()\n", + " save_file_torch = os.path.join('/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models_wrapper_tmp/', f'{casename}.pt')\n", + " scripted_model.save(save_file_torch)\n", + " return None" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "33d6ba33-2c89-49fa-acde-0445b6de85ec", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "save_wrapper('v2rh_mlp_nonaggressive_cliprh_huber_rop_3l_lr1em3_r2')" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "77e372c9-5151-4f82-805f-4cd358b7d762", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "save_wrapper('v2rh_mlp_nonaggressive_cliprh_huber_step_3l_lr1em3')" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "316a370d-b9b9-405f-a74a-2aa84f758ee2", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "save_wrapper('v2rh_mlp_nonaggressive_cliprh_mae_step_3l_lr1em3')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4d2a89f5-16d2-4138-a411-a571d9535130", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "MyEnvironment", + "language": "python", + "name": "env" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/model_postprocessing/v4_nn_wrapper.ipynb b/online_testing/model_postprocessing/v4_nn_wrapper.ipynb new file mode 100644 index 0000000..2769645 --- /dev/null +++ b/online_testing/model_postprocessing/v4_nn_wrapper.ipynb @@ -0,0 +1,249 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "3a186fd1-49ff-41d8-85d8-91e52ea3c4f3", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/global/u2/z/zeyuanhu/public_codes/ClimSim\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.10/dist-packages/IPython/core/magics/osm.py:417: UserWarning: using dhist requires you to install the `pickleshare` library.\n", + " self.shell.db['dhist'] = compress_dhist(dhist)[-100:]\n", + "2024-07-23 03:36:32.088392: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n", + "2024-07-23 03:36:32.088422: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n", + "2024-07-23 03:36:32.090115: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", + "2024-07-23 03:36:32.098674: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n", + "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n" + ] + } + ], + "source": [ + "%cd /global/u2/z/zeyuanhu/public_codes/ClimSim/\n", + "from climsim_utils.data_utils import *" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "9443bcdf-de3a-456e-821a-7cf2e0dc7ab8", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import torch\n", + "import numpy as np\n", + "import torch.optim as optim\n", + "import torch.nn as nn\n", + "import modulus" + ] + }, + { + "cell_type": "markdown", + "id": "027f9d6a-056a-4126-b2f1-df0339c3470c", + "metadata": {}, + "source": [ + "# Create a wrapper model to include normalization and de-normalization inside model's forward method" + ] + }, + { + "cell_type": "markdown", + "id": "66f9d868-967e-4f7e-ae1c-00b172b7a942", + "metadata": {}, + "source": [ + "We define below a new class \"NewModel\" that takes the trained U-Net model and include all the preprocessing and post-processing steps inside the forward method." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ae7e628f-e7ec-4534-9c8f-d0ac0acc2ff9", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.10/dist-packages/IPython/core/magics/osm.py:417: UserWarning: using dhist requires you to install the `pickleshare` library.\n", + " self.shell.db['dhist'] = compress_dhist(dhist)[-100:]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/global/u2/z/zeyuanhu/public_codes/ClimSim/online_testing/baseline_models/Unet_v4/training\n" + ] + } + ], + "source": [ + "%cd /global/u2/z/zeyuanhu/public_codes/ClimSim/online_testing/baseline_models/Unet_v4/training\n", + "from climsim_unet import ClimsimUnet\n", + "import climsim_unet as climsim_unet" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "4ac47ff5-7cdd-4d2f-8c20-3e0c3d5d4e91", + "metadata": {}, + "outputs": [], + "source": [ + "class NewModel(nn.Module):\n", + " def __init__(self, original_model, input_sub, input_div, out_scale, lbd_qc, lbd_qi):\n", + " super(NewModel, self).__init__()\n", + " self.original_model = original_model\n", + " self.input_sub = torch.tensor(input_sub, dtype=torch.float32)\n", + " self.input_div = torch.tensor(input_div, dtype=torch.float32)\n", + " self.out_scale = torch.tensor(out_scale, dtype=torch.float32)\n", + " self.lbd_qc = torch.tensor(lbd_qc, dtype=torch.float32)\n", + " self.lbd_qi = torch.tensor(lbd_qi, dtype=torch.float32)\n", + "\n", + " def preprocessing(self, x):\n", + " \n", + " #do input normalization\n", + " x[:,120:180] = 1 - torch.exp(-x[:,120:180] * self.lbd_qc)\n", + " x[:,180:240] = 1 - torch.exp(-x[:,180:240] * self.lbd_qi)\n", + " x= (x - self.input_sub) / self.input_div\n", + " x = torch.where(torch.isnan(x), torch.tensor(0.0, device=x.device), x)\n", + " x = torch.where(torch.isinf(x), torch.tensor(0.0, device=x.device), x)\n", + " \n", + " #prune top 15 levels in qn input\n", + " x[:,120:120+15] = 0\n", + " x[:,180:180+15] = 0\n", + " #clip rh input\n", + " x[:, 60:120] = torch.clamp(x[:, 60:120], 0, 1.2)\n", + " return x\n", + "\n", + " def postprocessing(self, x):\n", + " x[:,60:75] = 0\n", + " x[:,120:120+28] = 0\n", + " x[:,180:195] = 0\n", + " x[:,240:255] = 0\n", + " x[:,300:315] = 0\n", + " x = x/self.out_scale\n", + " return x\n", + "\n", + " def forward(self, x):\n", + " x = self.preprocessing(x)\n", + " x = self.original_model(x)\n", + " x = self.postprocessing(x) \n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "58c18e23-cea9-4d72-9c06-8e64e5c1e02b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "def save_wrapper(casename):\n", + " # casename = 'v5_noclassifier_huber_1y_noaggressive'\n", + " f_torch_model = f'/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/{casename}/model.mdlus'\n", + " f_inp_sub = f'/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/{casename}/inp_sub.txt'\n", + " f_inp_div = f'/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/{casename}/inp_div.txt'\n", + " f_out_scale = f'/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/{casename}/out_scale.txt'\n", + " f_qc_lbd = '/global/u2/z/zeyuanhu/public_codes/ClimSim/preprocessing/normalizations/inputs/qc_exp_lambda_large.txt'\n", + " f_qi_lbd = '/global/u2/z/zeyuanhu/public_codes/ClimSim/preprocessing/normalizations/inputs/qi_exp_lambda_large.txt'\n", + " lbd_qc = np.loadtxt(f_qc_lbd, delimiter=',')\n", + " lbd_qi = np.loadtxt(f_qi_lbd, delimiter=',')\n", + " input_sub = np.loadtxt(f_inp_sub, delimiter=',')\n", + " input_div = np.loadtxt(f_inp_div, delimiter=',')\n", + " out_scale = np.loadtxt(f_out_scale, delimiter=',')\n", + " model_inf = modulus.Module.from_checkpoint(f_torch_model).to('cpu')\n", + "\n", + " new_model = NewModel(model_inf, input_sub, input_div, out_scale, lbd_qc, lbd_qi)\n", + "\n", + " NewModel.device = \"cpu\"\n", + " device = torch.device(\"cpu\")\n", + " scripted_model = torch.jit.script(new_model)\n", + " scripted_model = scripted_model.eval()\n", + " save_file_torch = os.path.join('/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models_wrapper_tmp/', f'{casename}.pt')\n", + " scripted_model.save(save_file_torch)\n", + " return None" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "33d6ba33-2c89-49fa-acde-0445b6de85ec", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "save_wrapper('v4plus_unet_nonaggressive_cliprh_huber_rop2_r3')" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "77e372c9-5151-4f82-805f-4cd358b7d762", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "save_wrapper('v4plus_unet_nonaggressive_cliprh_huber')" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "316a370d-b9b9-405f-a74a-2aa84f758ee2", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "save_wrapper('v4plus_unet_nonaggressive_cliprh_mae')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4d2a89f5-16d2-4138-a411-a571d9535130", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "MyEnvironment", + "language": "python", + "name": "env" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/online_testing/model_postprocessing/v5_nn_wrapper.ipynb b/online_testing/model_postprocessing/v5_nn_wrapper.ipynb new file mode 100644 index 0000000..8791f73 --- /dev/null +++ b/online_testing/model_postprocessing/v5_nn_wrapper.ipynb @@ -0,0 +1,293 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "3a186fd1-49ff-41d8-85d8-91e52ea3c4f3", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.10/dist-packages/IPython/core/magics/osm.py:417: UserWarning: using dhist requires you to install the `pickleshare` library.\n", + " self.shell.db['dhist'] = compress_dhist(dhist)[-100:]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/global/u2/z/zeyuanhu/public_codes/ClimSim\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-07-23 03:40:28.985421: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n", + "2024-07-23 03:40:28.985454: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n", + "2024-07-23 03:40:28.986968: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", + "2024-07-23 03:40:28.994981: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n", + "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n" + ] + } + ], + "source": [ + "%cd /global/u2/z/zeyuanhu/public_codes/ClimSim/\n", + "from climsim_utils.data_utils import *" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "9443bcdf-de3a-456e-821a-7cf2e0dc7ab8", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import torch\n", + "import numpy as np\n", + "import torch.optim as optim\n", + "import torch.nn as nn\n", + "import modulus" + ] + }, + { + "cell_type": "markdown", + "id": "027f9d6a-056a-4126-b2f1-df0339c3470c", + "metadata": {}, + "source": [ + "# Create a wrapper model to include normalization and de-normalization inside model's forward method" + ] + }, + { + "cell_type": "markdown", + "id": "66f9d868-967e-4f7e-ae1c-00b172b7a942", + "metadata": {}, + "source": [ + "We define below a new class \"NewModel\" that takes the trained U-Net model (v5, i.e., applied microphysics constraints) and include all the preprocessing and post-processing steps inside the forward method." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ae7e628f-e7ec-4534-9c8f-d0ac0acc2ff9", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/global/u2/z/zeyuanhu/public_codes/ClimSim/online_testing/baseline_models/Unet_v5/training\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.10/dist-packages/IPython/core/magics/osm.py:417: UserWarning: using dhist requires you to install the `pickleshare` library.\n", + " self.shell.db['dhist'] = compress_dhist(dhist)[-100:]\n" + ] + } + ], + "source": [ + "%cd /global/u2/z/zeyuanhu/public_codes/ClimSim/online_testing/baseline_models/Unet_v5/training\n", + "from climsim_unet import ClimsimUnet\n", + "import climsim_unet as climsim_unet" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "4ac47ff5-7cdd-4d2f-8c20-3e0c3d5d4e91", + "metadata": {}, + "outputs": [], + "source": [ + "class NewModel(nn.Module):\n", + " def __init__(self, original_model, input_sub, input_div, out_scale, lbd_qn):\n", + " super(NewModel, self).__init__()\n", + " self.original_model = original_model\n", + " self.input_sub = torch.tensor(input_sub, dtype=torch.float32)\n", + " self.input_div = torch.tensor(input_div, dtype=torch.float32)\n", + " self.out_scale = torch.tensor(out_scale, dtype=torch.float32)\n", + " self.lbd_qn = torch.tensor(lbd_qn, dtype=torch.float32)\n", + " \n", + " def apply_temperature_rules(self, T):\n", + " # Create an output tensor, initialized to zero\n", + " output = torch.zeros_like(T)\n", + "\n", + " # Apply the linear transition within the range 253.16 to 273.16\n", + " mask = (T >= 253.16) & (T <= 273.16)\n", + " output[mask] = (T[mask] - 253.16) / 20.0 # 20.0 is the range (273.16 - 253.16)\n", + "\n", + " # Values where T > 273.16 set to 1\n", + " output[T > 273.16] = 1\n", + "\n", + " # Values where T < 253.16 are already set to 0 by the initialization\n", + " return output\n", + "\n", + " def preprocessing(self, x):\n", + " \n", + " # convert v4 input array to v5 input array:\n", + " xout = x\n", + " xout_new = torch.zeros((xout.shape[0], 1405), dtype=xout.dtype)\n", + " xout_new[:,0:120] = xout[:,0:120]\n", + " xout_new[:,120:180] = xout[:,120:180] + xout[:,180:240]\n", + " xout_new[:,180:240] = self.apply_temperature_rules(xout[:,0:60])\n", + " xout_new[:,240:840] = xout[:,240:840] #60*14\n", + " xout_new[:,840:900] = xout[:,840:900]+ xout[:,900:960] #dqc+dqi\n", + " xout_new[:,900:1080] = xout[:,960:1140]\n", + " xout_new[:,1080:1140] = xout[:,1140:1200]+ xout[:,1200:1260]\n", + " xout_new[:,1140:1405] = xout[:,1260:1525]\n", + " x = xout_new\n", + " \n", + " #do input normalization\n", + " x[:,120:180] = 1 - torch.exp(-x[:,120:180] * self.lbd_qn)\n", + " x= (x - self.input_sub) / self.input_div\n", + " x = torch.where(torch.isnan(x), torch.tensor(0.0, device=x.device), x)\n", + " x = torch.where(torch.isinf(x), torch.tensor(0.0, device=x.device), x)\n", + " \n", + " #prune top 15 levels in qn input\n", + " x[:,120:120+15] = 0\n", + " #clip rh input\n", + " x[:, 60:120] = torch.clamp(x[:, 60:120], 0, 1.2)\n", + " return x\n", + "\n", + " def postprocessing(self, x):\n", + " x[:,60:75] = 0\n", + " x[:,120:135] = 0\n", + " x[:,180:195] = 0\n", + " x[:,240:255] = 0\n", + " x = x/self.out_scale\n", + " return x\n", + "\n", + " def forward(self, x):\n", + " t_before = x[:,0:60].clone()\n", + " qc_before = x[:,120:180].clone()\n", + " qi_before = x[:,180:240].clone()\n", + " qn_before = qc_before + qi_before\n", + " \n", + " x = self.preprocessing(x)\n", + " x = self.original_model(x)\n", + " x = self.postprocessing(x)\n", + " \n", + " t_new = t_before + x[:,0:60]*1200.\n", + " qn_new = qn_before + x[:,120:180]*1200.\n", + " liq_frac = self.apply_temperature_rules(t_new)\n", + " qc_new = liq_frac*qn_new\n", + " qi_new = (1-liq_frac)*qn_new\n", + " xout = torch.zeros((x.shape[0],368))\n", + " xout[:,0:120] = x[:,0:120]\n", + " xout[:,240:] = x[:,180:]\n", + " xout[:,120:180] = (qc_new - qc_before)/1200.\n", + " xout[:,180:240] = (qi_new - qi_before)/1200.\n", + " \n", + " return xout" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "58c18e23-cea9-4d72-9c06-8e64e5c1e02b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "def save_wrapper(casename):\n", + " # casename = 'v5_noclassifier_huber_1y_noaggressive'\n", + " f_torch_model = f'/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/{casename}/model.mdlus'\n", + " f_inp_sub = f'/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/{casename}/inp_sub.txt'\n", + " f_inp_div = f'/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/{casename}/inp_div.txt'\n", + " f_out_scale = f'/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models/{casename}/out_scale.txt'\n", + " f_qn_lbd = '/global/u2/z/zeyuanhu/nvidia_codes/Climsim_private/preprocessing/normalizations/inputs/qn_exp_lambda_large.txt'\n", + " lbd_qn = np.loadtxt(f_qn_lbd, delimiter=',')\n", + " input_sub = np.loadtxt(f_inp_sub, delimiter=',')\n", + " input_div = np.loadtxt(f_inp_div, delimiter=',')\n", + " out_scale = np.loadtxt(f_out_scale, delimiter=',')\n", + " model_inf = modulus.Module.from_checkpoint(f_torch_model).to('cpu')\n", + "\n", + " new_model = NewModel(model_inf, input_sub, input_div, out_scale, lbd_qc, lbd_qi)\n", + "\n", + " NewModel.device = \"cpu\"\n", + " device = torch.device(\"cpu\")\n", + " scripted_model = torch.jit.script(new_model)\n", + " scripted_model = scripted_model.eval()\n", + " save_file_torch = os.path.join('/global/homes/z/zeyuanhu/scratch/hugging/E3SM-MMF_ne4/saved_models_wrapper_tmp/', f'{casename}.pt')\n", + " scripted_model.save(save_file_torch)\n", + " return None" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "33d6ba33-2c89-49fa-acde-0445b6de85ec", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "save_wrapper('v5_unet_nonaggressive_cliprh_huber_rop2_r2')" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "77e372c9-5151-4f82-805f-4cd358b7d762", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "save_wrapper('v5_unet_nonaggressive_cliprh_huber')" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "316a370d-b9b9-405f-a74a-2aa84f758ee2", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "save_wrapper('v5_unet_nonaggressive_cliprh_mae')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4d2a89f5-16d2-4138-a411-a571d9535130", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "MyEnvironment", + "language": "python", + "name": "env" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/preprocessing/normalizations/inputs/input_max_v4_pervar.nc b/preprocessing/normalizations/inputs/input_max_v4_pervar.nc new file mode 100644 index 0000000..1e34cd7 Binary files /dev/null and b/preprocessing/normalizations/inputs/input_max_v4_pervar.nc differ diff --git a/preprocessing/normalizations/inputs/input_max_v5_pervar.nc b/preprocessing/normalizations/inputs/input_max_v5_pervar.nc new file mode 100644 index 0000000..d235c5d Binary files /dev/null and b/preprocessing/normalizations/inputs/input_max_v5_pervar.nc differ diff --git a/preprocessing/normalizations/inputs/input_mean_v4_pervar.nc b/preprocessing/normalizations/inputs/input_mean_v4_pervar.nc new file mode 100644 index 0000000..9f100a8 Binary files /dev/null and b/preprocessing/normalizations/inputs/input_mean_v4_pervar.nc differ diff --git a/preprocessing/normalizations/inputs/input_mean_v5_pervar.nc b/preprocessing/normalizations/inputs/input_mean_v5_pervar.nc new file mode 100644 index 0000000..173b179 Binary files /dev/null and b/preprocessing/normalizations/inputs/input_mean_v5_pervar.nc differ diff --git a/preprocessing/normalizations/inputs/input_min_v4_pervar.nc b/preprocessing/normalizations/inputs/input_min_v4_pervar.nc new file mode 100644 index 0000000..1586342 Binary files /dev/null and b/preprocessing/normalizations/inputs/input_min_v4_pervar.nc differ diff --git a/preprocessing/normalizations/inputs/input_min_v5_pervar.nc b/preprocessing/normalizations/inputs/input_min_v5_pervar.nc new file mode 100644 index 0000000..5bb9d6d Binary files /dev/null and b/preprocessing/normalizations/inputs/input_min_v5_pervar.nc differ diff --git a/preprocessing/normalizations/inputs/qc_exp_lambda_large.txt b/preprocessing/normalizations/inputs/qc_exp_lambda_large.txt new file mode 100644 index 0000000..c95ede0 --- /dev/null +++ b/preprocessing/normalizations/inputs/qc_exp_lambda_large.txt @@ -0,0 +1 @@ +1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,2.615589e+06,3.464127e+06,1.592970e+06,3.282489e+05,1.548446e+05,1.187280e+05,1.042249e+05,9.581590e+04,8.962133e+04,8.369011e+04,7.883168e+04,7.460183e+04,7.055912e+04,6.642954e+04,6.182147e+04,5.693546e+04,5.183106e+04,4.635019e+04,4.086972e+04,3.619765e+04,3.294587e+04,3.129394e+04,3.090740e+04,3.138272e+04,3.260577e+04,3.462874e+04,3.784254e+04,4.287755e+04,5.056065e+04,6.129100e+04,7.290619e+04,8.098715e+04,8.837435e+04,1.354728e+05 diff --git a/preprocessing/normalizations/inputs/qi_exp_lambda_large.txt b/preprocessing/normalizations/inputs/qi_exp_lambda_large.txt new file mode 100644 index 0000000..c09e963 --- /dev/null +++ b/preprocessing/normalizations/inputs/qi_exp_lambda_large.txt @@ -0,0 +1 @@ +1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,7.566528e+06,3.237332e+06,4.406808e+06,5.381967e+06,1.436167e+06,4.423042e+05,5.470162e+05,4.528482e+05,2.437621e+05,1.636059e+05,1.290618e+05,1.084833e+05,9.695003e+04,9.021011e+04,8.349711e+04,7.670213e+04,7.095072e+04,6.686329e+04,6.457079e+04,6.497766e+04,6.895609e+04,7.548825e+04,8.273081e+04,8.961472e+04,9.635814e+04,1.023843e+05,1.028947e+05,9.687415e+04,9.273405e+04,9.131692e+04,9.124144e+04,9.145797e+04,9.168295e+04,9.182213e+04,9.193148e+04,9.213286e+04,9.260260e+04,9.349057e+04,9.481321e+04,9.633213e+04,9.816473e+04,1.003255e+05,1.027629e+05,1.050187e+05,1.067493e+05,1.076116e+05,1.080386e+05,1.096480e+05,1.122824e+05 diff --git a/preprocessing/normalizations/inputs/qn_exp_lambda_large.txt b/preprocessing/normalizations/inputs/qn_exp_lambda_large.txt new file mode 100644 index 0000000..b0222b7 --- /dev/null +++ b/preprocessing/normalizations/inputs/qn_exp_lambda_large.txt @@ -0,0 +1 @@ +1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,1.000000e+07,7.556905e+06,3.240295e+06,4.409304e+06,5.388912e+06,1.414190e+06,4.448470e+05,5.500367e+05,4.522195e+05,2.435451e+05,1.632642e+05,1.288509e+05,1.083921e+05,9.686865e+04,9.015439e+04,8.349867e+04,7.672053e+04,7.093779e+04,6.682103e+04,6.391647e+04,6.159741e+04,6.041797e+04,6.035964e+04,6.043077e+04,5.969693e+04,5.822295e+04,5.663711e+04,5.484445e+04,5.273580e+04,5.045012e+04,4.789500e+04,4.513495e+04,4.207553e+04,3.855791e+04,3.484347e+04,3.153789e+04,2.917972e+04,2.801606e+04,2.784487e+04,2.837706e+04,2.953222e+04,3.136065e+04,3.417461e+04,3.845269e+04,4.477730e+04,5.323853e+04,6.179774e+04,6.693984e+04,7.086757e+04,9.473363e+04 diff --git a/preprocessing/normalizations/outputs/output_scale_std_lowerthred_v5.nc b/preprocessing/normalizations/outputs/output_scale_std_lowerthred_v5.nc new file mode 100644 index 0000000..c6df647 Binary files /dev/null and b/preprocessing/normalizations/outputs/output_scale_std_lowerthred_v5.nc differ diff --git a/preprocessing/normalizations/outputs/output_scale_std_nopenalty.nc b/preprocessing/normalizations/outputs/output_scale_std_nopenalty.nc new file mode 100644 index 0000000..e51a533 Binary files /dev/null and b/preprocessing/normalizations/outputs/output_scale_std_nopenalty.nc differ diff --git a/website/_toc.yml b/website/_toc.yml index 7b520ce..033c304 100644 --- a/website/_toc.yml +++ b/website/_toc.yml @@ -14,5 +14,6 @@ chapters: - file: evaluation/plot_R2_analysis.ipynb - file: demo_notebooks/mlp_example.ipynb - file: demo_notebooks/cnn_example.ipynb +- file: online_testing/README - file: demo_notebooks/water_conservation.ipynb - file: CONTRIBUTING