|
import streamlit as st |
|
from data_utils import * |
|
import xarray as xr |
|
import numpy as np |
|
import pandas as pd |
|
import matplotlib.pyplot as plt |
|
import pickle |
|
import glob, os |
|
import re |
|
import tensorflow as tf |
|
import netCDF4 |
|
import copy |
|
import string |
|
import h5py |
|
from tqdm import tqdm |
|
grid_info = xr.open_dataset('ClimSim_low-res_grid-info.nc') |
|
input_mean = xr.open_dataset('input_mean.nc') |
|
input_max = xr.open_dataset('input_max.nc') |
|
input_min = xr.open_dataset('input_min.nc') |
|
output_scale = xr.open_dataset('output_scale.nc') |
|
|
|
data = data_utils(grid_info = grid_info, |
|
input_mean = input_mean, |
|
input_max = input_max, |
|
input_min = input_min, |
|
output_scale = output_scale) |
|
|
|
data.set_to_v1_vars() |
|
|
|
data.input_train = data.load_npy_file('train_input_small.npy') |
|
data.target_train = data.load_npy_file('train_target_small.npy') |
|
data.input_val = data.load_npy_file('val_input_small.npy') |
|
data.target_val = data.load_npy_file('val_target_small.npy') |
|
|
|
|
|
const_model = data.target_train.mean(axis = 0) |
|
X = data.input_train |
|
bias_vector = np.ones((X.shape[0], 1)) |
|
X = np.concatenate((X, bias_vector), axis=1) |
|
mlr_weights = np.linalg.inv(X.transpose()@X)@X.transpose()@data.target_train |
|
data.set_pressure_grid(data_split = 'val') |
|
|
|
const_pred_val = np.repeat(const_model[np.newaxis, :], data.target_val.shape[0], axis = 0) |
|
print(const_pred_val.shape) |
|
|
|
|
|
X_val = data.input_val |
|
bias_vector_val = np.ones((X_val.shape[0], 1)) |
|
X_val = np.concatenate((X_val, bias_vector_val), axis=1) |
|
mlr_pred_val = X_val@mlr_weights |
|
print(mlr_pred_val.shape) |
|
|
|
|
|
|
|
|
|
data.model_names = ['const', 'mlr'] |
|
preds = [const_pred_val, mlr_pred_val] |
|
data.preds_val = dict(zip(data.model_names, preds)) |
|
|
|
st.markdown('Streamlit c') |