diff --git a/modules/deeplearning/srcnn_l1b_l2.py b/modules/deeplearning/srcnn_l1b_l2.py
index 5e9c5b6c1d6caa8a2dada526c52d3e37f23bedca..7f718216e3a417e11f483fa018b593e7aef9552f 100644
--- a/modules/deeplearning/srcnn_l1b_l2.py
+++ b/modules/deeplearning/srcnn_l1b_l2.py
@@ -1,7 +1,8 @@
 import glob
 import tensorflow as tf
 from util.setup import logdir, modeldir, cachepath, now, ancillary_path
-from util.util import EarlyStop, normalize, denormalize, resample, resample_2d_linear, resample_one, resample_2d_linear_one, get_grid_values_all
+from util.util import EarlyStop, normalize, denormalize, resample, resample_2d_linear, resample_one,\
+    resample_2d_linear_one, get_grid_values_all, add_noise
 import os, datetime
 import numpy as np
 import pickle
@@ -29,7 +30,7 @@ TRACK_MOVING_AVERAGE = False
 EARLY_STOP = True
 
 NOISE_TRAINING = True
-NOISE_STDDEV = 0.01
+NOISE_STDDEV = 0.001
 DO_AUGMENT = True
 
 DO_ZERO_OUT = False
@@ -101,7 +102,7 @@ y_2 = y_67
 
 def build_residual_conv2d_block(conv, num_filters, block_name, activation=tf.nn.relu, padding='SAME',
                                 kernel_initializer='he_uniform', scale=None, kernel_size=3,
-                                do_drop_out=True, drop_rate=0.5, do_batch_norm=False):
+                                do_drop_out=True, drop_rate=0.5, do_batch_norm=True):
 
     with tf.name_scope(block_name):
         skip = tf.keras.layers.Conv2D(num_filters, kernel_size=kernel_size, padding=padding, kernel_initializer=kernel_initializer, activation=activation)(conv)
@@ -246,18 +247,18 @@ class SRCNN:
             data_s.append(nda)
         input_data = np.concatenate(data_s)
 
-        add_noise = None
-        noise_scale = None
+        DO_ADD_NOISE = False
         if is_training and NOISE_TRAINING:
-            add_noise = True
-            noise_scale = NOISE_STDDEV
+            DO_ADD_NOISE = True
 
         data_norm = []
         for param in data_params:
             idx = params.index(param)
             # tmp = input_data[:, idx, slc_y_2, slc_x_2]
             tmp = input_data[:, idx, y_130, x_130]
-            tmp = normalize(tmp, param, mean_std_dct, add_noise=add_noise, noise_scale=noise_scale)
+            tmp = normalize(tmp, param, mean_std_dct)
+            if DO_ADD_NOISE:
+                tmp = add_noise(tmp, noise_scale=NOISE_STDDEV)
             # tmp = resample_2d_linear(x_2, y_2, tmp, t, s)
             data_norm.append(tmp)
         # --------------------------
@@ -265,15 +266,23 @@ class SRCNN:
         idx = params.index(param)
         # tmp = input_data[:, idx, slc_y_2, slc_x_2]
         tmp = input_data[:, idx, y_130, x_130]
-        tmp = normalize(tmp, param, mean_std_dct, add_noise=add_noise, noise_scale=noise_scale)
+        tmp = normalize(tmp, param, mean_std_dct)
+        if DO_ADD_NOISE:
+            tmp = add_noise(tmp, noise_scale=NOISE_STDDEV)
         # tmp = resample_2d_linear(x_2, y_2, tmp, t, s)
         data_norm.append(tmp)
         # --------
         tmp = input_data[:, label_idx, slc_y_2, slc_x_2]
         if label_param != 'cloud_probability':
-            tmp = normalize(tmp, label_param, mean_std_dct, add_noise=add_noise, noise_scale=noise_scale)
+            tmp = normalize(tmp, label_param, mean_std_dct)
+            if DO_ADD_NOISE:
+                tmp = add_noise(tmp, noise_scale=NOISE_STDDEV)
         else:
+            if DO_ADD_NOISE:
+                tmp = add_noise(tmp, noise_scale=NOISE_STDDEV)
             tmp = np.where(np.isnan(tmp), 0, tmp)
+            tmp = np.where(tmp < 0.0, 0.0, tmp)
+            tmp = np.where(tmp > 1.0, 1.0, tmp)
         tmp = resample_2d_linear(x_2, y_2, tmp, t, s)
         data_norm.append(tmp)
         # ---------
@@ -417,8 +426,8 @@ class SRCNN:
         conv = conv_b = tf.keras.layers.Conv2D(num_filters, kernel_size=3, kernel_initializer='he_uniform', activation=activation, padding='VALID')(input_2d)
         print(conv.shape)
 
-        if NOISE_TRAINING:
-            conv = conv_b = tf.keras.layers.GaussianNoise(stddev=NOISE_STDDEV)(conv)
+        # if NOISE_TRAINING:
+        #     conv = conv_b = tf.keras.layers.GaussianNoise(stddev=NOISE_STDDEV)(conv)
 
         scale = 0.2
 
@@ -426,11 +435,11 @@ class SRCNN:
 
         conv_b = build_residual_conv2d_block(conv_b, num_filters, 'Residual_Block_2', scale=scale)
 
-        conv_b = build_residual_conv2d_block(conv_b, num_filters, 'Residual_Block_3', scale=scale)
+        #conv_b = build_residual_conv2d_block(conv_b, num_filters, 'Residual_Block_3', scale=scale)
 
-        conv_b = build_residual_conv2d_block(conv_b, num_filters, 'Residual_Block_4', scale=scale)
+        #conv_b = build_residual_conv2d_block(conv_b, num_filters, 'Residual_Block_4', scale=scale)
 
-        conv_b = build_residual_conv2d_block(conv_b, num_filters, 'Residual_Block_5', scale=scale)
+        #conv_b = build_residual_conv2d_block(conv_b, num_filters, 'Residual_Block_5', scale=scale)
 
         conv_b = tf.keras.layers.Conv2D(num_filters, kernel_size=3, strides=1, activation=activation, kernel_initializer='he_uniform', padding=padding)(conv_b)