diff --git a/server/ModelFromNVE/icemodellingscripts/__pycache__/getIceThicknessLakes.cpython-39.pyc b/server/ModelFromNVE/icemodellingscripts/__pycache__/getIceThicknessLakes.cpython-39.pyc
index 86d9858396156634b9ef585b03ca547d1d893a56..a78e6ac11237b1dca1f380d86c920dd7e3219c98 100644
Binary files a/server/ModelFromNVE/icemodellingscripts/__pycache__/getIceThicknessLakes.cpython-39.pyc and b/server/ModelFromNVE/icemodellingscripts/__pycache__/getIceThicknessLakes.cpython-39.pyc differ
diff --git a/server/ModelFromNVE/logs/icemodelling_2024-05-19.log b/server/ModelFromNVE/logs/icemodelling_2024-05-19.log
index 20fa8ebb13e5827c6cbbd4c398118154b6cb256e..2ae90f69a39824b42d18686fc42e1e20c575ad07 100644
--- a/server/ModelFromNVE/logs/icemodelling_2024-05-19.log
+++ b/server/ModelFromNVE/logs/icemodelling_2024-05-19.log
@@ -537,3 +537,80 @@
 14:02: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256426 Y6742066 2024-01-18 06:00:00 sd. Adding avg value 94.45.
 14:02: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256426 Y6742066 2024-02-17 06:00:00 sd. Adding avg value 129.85.
 14:02: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256426 Y6742066 2024-02-18 06:00:00 sd. Adding avg value 128.125.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256504 Y6745378 2024-01-10 06:00:00 tm. Adding avg value -9.499999999999972.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256504 Y6745378 2024-01-17 06:00:00 tm. Adding avg value -15.649999999999963.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256504 Y6745378 2024-02-17 06:00:00 sdfsw. Adding avg value 15.75.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256504 Y6745378 2024-02-18 06:00:00 sdfsw. Adding avg value 9.975.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256504 Y6745378 2024-01-18 06:00:00 sd. Adding avg value 86.35.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256504 Y6745378 2024-02-17 06:00:00 sd. Adding avg value 122.075.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256504 Y6745378 2024-02-18 06:00:00 sd. Adding avg value 120.3875.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256464 Y6744711 2024-01-10 06:00:00 tm. Adding avg value -9.599999999999966.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256464 Y6744711 2024-01-17 06:00:00 tm. Adding avg value -15.69999999999996.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256464 Y6744711 2024-02-17 06:00:00 sdfsw. Adding avg value 15.85.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256464 Y6744711 2024-02-18 06:00:00 sdfsw. Adding avg value 10.075.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256464 Y6744711 2024-01-18 06:00:00 sd. Adding avg value 88.8.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256464 Y6744711 2024-02-17 06:00:00 sd. Adding avg value 124.575.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256464 Y6744711 2024-02-18 06:00:00 sd. Adding avg value 122.8875.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257095 Y6744668 2024-01-10 06:00:00 tm. Adding avg value -9.649999999999977.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257095 Y6744668 2024-01-17 06:00:00 tm. Adding avg value -15.749999999999972.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257095 Y6744668 2024-02-17 06:00:00 sdfsw. Adding avg value 15.599999999999998.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257095 Y6744668 2024-02-18 06:00:00 sdfsw. Adding avg value 9.899999999999999.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257095 Y6744668 2024-01-18 06:00:00 sd. Adding avg value 87.25.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257095 Y6744668 2024-02-17 06:00:00 sd. Adding avg value 122.775.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257095 Y6744668 2024-02-18 06:00:00 sd. Adding avg value 121.0875.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257050 Y6744012 2024-01-10 06:00:00 tm. Adding avg value -9.649999999999977.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257050 Y6744012 2024-01-17 06:00:00 tm. Adding avg value -15.749999999999972.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257050 Y6744012 2024-02-17 06:00:00 sdfsw. Adding avg value 15.599999999999998.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257050 Y6744012 2024-02-18 06:00:00 sdfsw. Adding avg value 9.899999999999999.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257050 Y6744012 2024-01-18 06:00:00 sd. Adding avg value 87.25.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257050 Y6744012 2024-02-17 06:00:00 sd. Adding avg value 122.775.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257050 Y6744012 2024-02-18 06:00:00 sd. Adding avg value 121.0875.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256604 Y6744042 2024-01-10 06:00:00 tm. Adding avg value -9.599999999999966.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256604 Y6744042 2024-01-17 06:00:00 tm. Adding avg value -15.69999999999996.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256604 Y6744042 2024-02-17 06:00:00 sdfsw. Adding avg value 15.85.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256604 Y6744042 2024-02-18 06:00:00 sdfsw. Adding avg value 10.075.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256604 Y6744042 2024-01-18 06:00:00 sd. Adding avg value 88.8.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256604 Y6744042 2024-02-17 06:00:00 sd. Adding avg value 124.575.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256604 Y6744042 2024-02-18 06:00:00 sd. Adding avg value 122.8875.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257006 Y6743356 2024-01-10 06:00:00 tm. Adding avg value -9.549999999999983.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257006 Y6743356 2024-01-17 06:00:00 tm. Adding avg value -15.749999999999972.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257006 Y6743356 2024-02-17 06:00:00 sdfsw. Adding avg value 15.725.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257006 Y6743356 2024-02-18 06:00:00 sdfsw. Adding avg value 10.0625.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257006 Y6743356 2024-01-18 06:00:00 sd. Adding avg value 90.6.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257006 Y6743356 2024-02-17 06:00:00 sd. Adding avg value 126.575.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X257006 Y6743356 2024-02-18 06:00:00 sd. Adding avg value 124.8875.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256603 Y6743383 2024-01-10 06:00:00 tm. Adding avg value -9.75.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256603 Y6743383 2024-01-17 06:00:00 tm. Adding avg value -15.84999999999998.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256603 Y6743383 2024-02-17 06:00:00 sdfsw. Adding avg value 15.775000000000002.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256603 Y6743383 2024-02-18 06:00:00 sdfsw. Adding avg value 10.037500000000001.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256603 Y6743383 2024-01-18 06:00:00 sd. Adding avg value 91.9.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256603 Y6743383 2024-02-17 06:00:00 sd. Adding avg value 127.22500000000001.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256603 Y6743383 2024-02-18 06:00:00 sd. Adding avg value 125.4625.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256569 Y6742715 2024-01-10 06:00:00 tm. Adding avg value -9.749999999999972.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256569 Y6742715 2024-01-17 06:00:00 tm. Adding avg value -15.799999999999969.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256569 Y6742715 2024-02-17 06:00:00 sdfsw. Adding avg value 15.8.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256569 Y6742715 2024-02-18 06:00:00 sdfsw. Adding avg value 10.100000000000001.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256569 Y6742715 2024-01-18 06:00:00 sd. Adding avg value 94.45.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256569 Y6742715 2024-02-17 06:00:00 sd. Adding avg value 129.85.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256569 Y6742715 2024-02-18 06:00:00 sd. Adding avg value 128.125.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256960 Y6742688 2024-01-10 06:00:00 tm. Adding avg value -9.749999999999972.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256960 Y6742688 2024-01-17 06:00:00 tm. Adding avg value -15.799999999999969.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256960 Y6742688 2024-02-17 06:00:00 sdfsw. Adding avg value 15.8.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256960 Y6742688 2024-02-18 06:00:00 sdfsw. Adding avg value 10.100000000000001.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256960 Y6742688 2024-01-18 06:00:00 sd. Adding avg value 94.45.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256960 Y6742688 2024-02-17 06:00:00 sd. Adding avg value 129.85.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256960 Y6742688 2024-02-18 06:00:00 sd. Adding avg value 128.125.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256934 Y6742299 2024-01-10 06:00:00 tm. Adding avg value -9.749999999999972.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256934 Y6742299 2024-01-17 06:00:00 tm. Adding avg value -15.799999999999969.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256934 Y6742299 2024-02-17 06:00:00 sdfsw. Adding avg value 15.8.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256934 Y6742299 2024-02-18 06:00:00 sdfsw. Adding avg value 10.100000000000001.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256934 Y6742299 2024-01-18 06:00:00 sd. Adding avg value 94.45.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256934 Y6742299 2024-02-17 06:00:00 sd. Adding avg value 129.85.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256934 Y6742299 2024-02-18 06:00:00 sd. Adding avg value 128.125.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256426 Y6742066 2024-01-10 06:00:00 tm. Adding avg value -9.749999999999972.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256426 Y6742066 2024-01-17 06:00:00 tm. Adding avg value -15.799999999999969.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256426 Y6742066 2024-02-17 06:00:00 sdfsw. Adding avg value 15.8.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256426 Y6742066 2024-02-18 06:00:00 sdfsw. Adding avg value 10.100000000000001.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256426 Y6742066 2024-01-18 06:00:00 sd. Adding avg value 94.45.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256426 Y6742066 2024-02-17 06:00:00 sd. Adding avg value 129.85.
+14:37: weatherelement.py -> patch_novalue_in_weather_element_list: Value missing on UTM33 X256426 Y6742066 2024-02-18 06:00:00 sd. Adding avg value 128.125.
diff --git a/server/ModelFromNVE/utilities/__pycache__/makepickle.cpython-39.pyc b/server/ModelFromNVE/utilities/__pycache__/makepickle.cpython-39.pyc
index f7a06a63738f4d826c8190c87c51178c777e8bbf..f29213d355cf381ef4eb6b2798dd18e44df9250c 100644
Binary files a/server/ModelFromNVE/utilities/__pycache__/makepickle.cpython-39.pyc and b/server/ModelFromNVE/utilities/__pycache__/makepickle.cpython-39.pyc differ
diff --git a/server/Sentinelhub/__pycache__/box_funcitons.cpython-39.pyc b/server/Sentinelhub/__pycache__/box_funcitons.cpython-39.pyc
index aca82b35adbbd26db965144702c9950ef4a73365..1a57a14ebc8ade774e21636f736d30292762956f 100644
Binary files a/server/Sentinelhub/__pycache__/box_funcitons.cpython-39.pyc and b/server/Sentinelhub/__pycache__/box_funcitons.cpython-39.pyc differ
diff --git a/server/Sentinelhub/__pycache__/getAreaInfo.cpython-39.pyc b/server/Sentinelhub/__pycache__/getAreaInfo.cpython-39.pyc
index 63000d3bd8570e1f5b22e1a094774c9ce55829a6..5bddbe6738c467907698c51df001e2ee446412f1 100644
Binary files a/server/Sentinelhub/__pycache__/getAreaInfo.cpython-39.pyc and b/server/Sentinelhub/__pycache__/getAreaInfo.cpython-39.pyc differ
diff --git a/server/data_processing/area_processing.py b/server/data_processing/area_processing.py
index 4085b25ded74980bc6866dcf443b3e7309a56b19..7dfe37c043ff5051183c376fbea67841f17edfd3 100644
--- a/server/data_processing/area_processing.py
+++ b/server/data_processing/area_processing.py
@@ -128,6 +128,7 @@ def define_gridareas(lat, lng, area_offset, grid_size):
     # find the main area's corner positions
     main_area = calculate_corners(lat, lng, area_offset)
 
+    # offset
     offset_lng, offset_lat = area_offset
 
     # find the main area's range size
@@ -141,9 +142,9 @@ def define_gridareas(lat, lng, area_offset, grid_size):
 
     # find the center coordinates of each area in grid to find the corner areas
     for y in (range(grid_size)):
-        relative_size_lat = y / grid_size
+        relative_size_lat = y / grid_size # relative y position on grid
         for x in (range(grid_size)):
-            relative_size_lng = x / grid_size
+            relative_size_lng = x / grid_size # relative x position on grid
             lat_pos = main_area[3][0] + relative_size_lat * area_size[0] + dist_to_subcenter[0]
             lng_pos = main_area[3][1] + relative_size_lng * area_size[1] + dist_to_subcenter[1]
 
@@ -168,6 +169,7 @@ def define_grid_lidardata(max_area, grid_size, points):
     # container for an area turned into a grid of areas
     grided_area = []
 
+    # smallest and biggest corner in area
     bottom_left, top_right = max_area
 
     # find subareas size relative to the full size of data
@@ -175,49 +177,33 @@ def define_grid_lidardata(max_area, grid_size, points):
     subarea_offset_lat = (top_right[1]-bottom_left[1])
 
     # find subareas size relative to the full size of data
-    subarea_hypotemus_lng = subarea_offset_lng / grid_size
-    subarea_hypotemus_lat = subarea_offset_lat / grid_size
+    subarea_hypotenuse_lng = subarea_offset_lng / grid_size
+    subarea_hypotenuse_lat = subarea_offset_lat / grid_size
 
-    # find the center coordinates of each area in grid to find the corner areas
+    # organize all coordinates into their corresponding area
+    # their own area in grid to find the corner areas
     for y in (range(grid_size)):
         relative_size_lat = y / grid_size
         for x in (range(grid_size)):
             relative_size_lng = x / grid_size
-            bottom_left_range = (subarea_offset_lng * relative_size_lng + bottom_left[0],
+
+            bottom_left_sub_corner = (subarea_offset_lng * relative_size_lng + bottom_left[0],
                                  subarea_offset_lat * relative_size_lat + bottom_left[1])
 
-            top_right_range = (subarea_offset_lng * relative_size_lng + bottom_left[0] + subarea_hypotemus_lng,
-                               subarea_offset_lat * relative_size_lat + bottom_left[1] + subarea_hypotemus_lat)
 
-            area_range = [bottom_left_range, top_right_range]
+            top_right_sub_corner = (subarea_offset_lng * relative_size_lng + bottom_left[0] + subarea_hypotenuse_lng,
+                               subarea_offset_lat * relative_size_lat + bottom_left[1] + subarea_hypotenuse_lat)
 
+            # smallest and highest points in area
+            area_range = [bottom_left_sub_corner, top_right_sub_corner]
+
+            # filter out points that is outside of area range
             area = list(filter(lambda point_position: inArea(point_position, area_range), points))
 
-            height_in_area = find_height(area)
+            # find the ice thickness from all the points in area
+            thickness_in_area = find_height(area)
 
-            grided_area.append(height_in_area)
+            # store all ice thickness in area
+            grided_area.append(thickness_in_area)
 
     return grided_area
-#[1,2,2,3,4,5,6,3,4,6,8,9,5,3,5.7,8,5,3]
-#print(define_gridareas(60,10,1500,4))
-#print(define_gridareas(3435693.5,6299200.0, 400000,4))
-
-'''
-# find real world coordinates to lidar
-#
-# p1 - area using real world coordinate
-# p2 - area using real world coordinate
-# l1 - min area limit lidar coordinate(pointcloud)
-# l2 - max area limit lidar coordinate(pointcloud)
-# max_limit - maximum area limit of a lidar scann in real world coordinates
-def position_relative_to_pointcloud(l1, l2, p1, p2, center_lim, max_lim):
-    center_l = tuple((a+b)/2 for a, b in zip(l1,l2))
-    return [
-        ((p1[0] - center_lim[0]) * ((l1[0] - l2[0]) / (max_lim[2][0] - max_lim[0][0])) + center_l[0],
-            (p1[1] - center_lim[1]) * ((l1[1] - l2[1]) / (max_lim[2][1] - max_lim[0][1])) + center_l[1]),
-        ((p2[0] - center_lim[0]) * ((l1[0] - l2[0]) / (max_lim[2][0] - max_lim[0][0])) + center_l[0],
-            (p2[1] - center_lim[1]) * ((l1[1] - l2[1]) / (max_lim[2][1] - max_lim[0][1])) + center_l[1]),
-    ]
-#print(position_relative_to_pointcloud((-20,20), (-10,30), (1,3), (2,2), (2.5,2.5), [(5,5),(0,5),(0,0),(5,0)]))
-#print(position_relative_to_pointcloud((-3299999, 4608018), (-3200001, 4687153), (61.47620866851029, 8.961138281887507), (61.95241733702057, 6.8508373935926645), (61, 11), [(61.95241733702057, 15.125349549679886), (60.04758266297943, 15.125349549679886), (60.04758266297943, 6.8746504503201145), (61.95241733702057, 6.8746504503201145)]))
-'''
diff --git a/server/data_processing/input_new_data.py b/server/data_processing/input_new_data.py
index 2ca6cd2b31685b24e83aceb012bad9579fa8609b..2768e2e86c386f15dbce0a9fce91714afa3d5f9b 100644
--- a/server/data_processing/input_new_data.py
+++ b/server/data_processing/input_new_data.py
@@ -1,10 +1,11 @@
 import json
 import os
 from datetime import datetime
-from server.data_processing.process_lidar_data import calculate_area_data, about_laz_file, find_folder_files
+from server.data_processing.process_lidar_data import calculate_area_data, about_laz_file
 from server.consts import LIDAR_DATA_PATH, LAKE_RELATIONS_PATH
 
 def lidar_data_handler(self, cursor, sensorId, lake_name: str):
+    # finds the thickness in all area in a lake
     status_code, thickness_data = input_new_Lidar_data(cursor, sensorId, lake_name)
 
     self.send_response(status_code)
@@ -27,10 +28,6 @@ def input_new_Lidar_data(cursor, sensorId, lake_name: str) -> (int, str):
     was taken on the map
     """
     try:
-        # print("name=",lake_name)
-        # laz_root_path = "server\\lidar_data\\" + lake_name
-        # laz_data_paths = find_folder_files(laz_root_path)
-
         # read json data with path to data for specific water body
         file_path = os.path.join(LAKE_RELATIONS_PATH, lake_name + '_lidar_data.json')
 
@@ -38,11 +35,6 @@ def input_new_Lidar_data(cursor, sensorId, lake_name: str) -> (int, str):
         if not os.path.exists(file_path):
             return 404, f"no data for {lake_name} found"
 
-        # Just temporary, not gonna use:
-        # with open(file_path, "w") as file:
-        #     file.write(
-        #         "[{\"MeasurementID\": 1,\"TimeMeasured\": \"2024-04-15 16:23:28.620516\",\"CenterLat\": 60.841532,\"CenterLon\": 10.717878,\"Sensor\": {\"SensorID\": 2,\"SensorType\": \"LiDar\",\"Active\": true},\"Subdivisions\": []},{\"MeasurementID\": 2,\"TimeMeasured\": \"2024-04-15 16:23:28.620516\",\"CenterLat\": 60.841532,\"CenterLon\": 10.717878,\"Sensor\": {\"SensorID\": 2,\"SensorType\": \"LiDar\",\"Active\": true},\"Subdivisions\": []}]")  # Writing an empty JSON object
-
         # get the areas from the map's data
         with open(file_path) as data:
             measurement_data = json.load(data)
@@ -66,12 +58,10 @@ def input_new_Lidar_data(cursor, sensorId, lake_name: str) -> (int, str):
             # path to each measurement data
             laz_file_path = os.path.join(LIDAR_DATA_PATH + lake_name + '/measurement_id_' + str(measurement_id) + '.laz')
 
-            #about_laz_file(laz_file_path)
-
             # data about the file read from
-            # about_laz = about_laz_file() cannot do this if data is changed
-            # scale_factor = max(about_laz[2])
-            scale_factor = max([0.01])
+            about_laz = about_laz_file(laz_file_path)
+            # scale factor of the ice thickness in meter
+            scale_factor = max(about_laz[2])
 
             # time last updated data
             time_now = datetime.now().utcnow().replace(microsecond=0)
@@ -85,18 +75,19 @@ def input_new_Lidar_data(cursor, sensorId, lake_name: str) -> (int, str):
 
             # Calculate each area's ice thickness based on the area coordinates given to the calculation model
             areas_data = calculate_area_data((latitude, longitude), lake_name, laz_file_path)
+
             if (areas_data):
                 # store lidar data in json format
                 # calculate data for each zone within the area
                 for area in areas_data:
-                    # lng and lat relative to map
-                    subId = int(area[0])
-                    map_lat, map_lng = area[1]
-                    heights = area[2]
-
-                    if (len(heights) != 0 or sum(heights) != 0):
-                        average = sum(heights) / len(heights)
-                        minimum_thickness = min(heights)
+                    subId = int(area[0])        # id of area
+                    map_lat, map_lng = area[1]  # lng and lat relative to map
+                    ice_thickness = area[2]     # ice thickness in area
+
+                    # find the average and minimum ice thickness in area
+                    if (len(ice_thickness) != 0 or sum(ice_thickness) != 0):
+                        average = sum(ice_thickness) / len(ice_thickness)
+                        minimum_thickness = min(ice_thickness)
                     else:
                         average = 0
                         minimum_thickness = 0
@@ -109,7 +100,8 @@ def input_new_Lidar_data(cursor, sensorId, lake_name: str) -> (int, str):
                     ''', (measurement_id, time_now, subId, lake_name, float(minimum_thickness), float(average),
                           float(0.0), scale_factor))
                     sub_center = (map_lat, map_lng)
-                    # set up json format
+
+                    # set up json format of area's data
                     lidar_read = {
                         'SubdivID': subId,
                         'MinThickness': float(minimum_thickness),
@@ -118,10 +110,13 @@ def input_new_Lidar_data(cursor, sensorId, lake_name: str) -> (int, str):
                         'CenLongitude': float(sub_center[1]),
                         'Accuracy': scale_factor,
                     }
+
+                    # add area to list of subdivisions
                     subdiv_json_data.append(lidar_read)
             else:
                 print('No data found')
 
+            # container for measurement data
             measurement_data = {
                 'MeasurementID': measurement_id,
                 'TimeMeasured': str(time_now),
@@ -135,6 +130,7 @@ def input_new_Lidar_data(cursor, sensorId, lake_name: str) -> (int, str):
                 'Subdivisions': subdiv_json_data,
             }
 
+            # add measurement data to list
             lidar_json_data.append(measurement_data)
 
         # send the changes to the database
@@ -148,7 +144,6 @@ def input_new_Lidar_data(cursor, sensorId, lake_name: str) -> (int, str):
             if os.path.exists(file_path):
                 os.remove(file_path)
 
-
             # convert list of lidar data to json
             content = json.dumps(lidar_json_data, indent=4)
             # write to file
@@ -168,6 +163,3 @@ def input_new_Lidar_data(cursor, sensorId, lake_name: str) -> (int, str):
         cursor.connection.rollback()
         return 500, f"An error occurred: {e} g".encode("utf-8")
 
-# laz_root_path = "server\\lidar_data\\mj\u00f8sa"
-# laz_data_paths = find_folder_files(laz_root_path)
-# print(laz_data_paths)
diff --git a/server/data_processing/process_lidar_data.py b/server/data_processing/process_lidar_data.py
index 371611235ca34e76758c1e2b57801d3a46f4525f..621629f85801be35a2a529f4ebbc327dfa2924b6 100644
--- a/server/data_processing/process_lidar_data.py
+++ b/server/data_processing/process_lidar_data.py
@@ -18,21 +18,7 @@ def about_laz_file(path):
     :return: list with info about version, point_count, scale in meters and offset in meters
     """
     with laspy.open(path) as fh:
-        # Print metadata properties
-        print("File Version:", fh.header.version)
-        print("Point Count:", fh.header.point_count)
-        print("Scale Factors:", fh.header.scale)
-        print("Offset:", fh.header.offset)
-
         las = fh.read()
-        print(las)
-        print('Points from data:', len(las.points))
-        ground_pts = las.classification == 2
-        bins, counts = np.unique(las.return_number[ground_pts], return_counts=True)
-        print('Ground Point Return Number distribution:')
-        for r, c in zip(bins, counts):
-            print('    {}:{}'.format(r, c))
-
     return [las.header.version, las.header.point_count, las.header.scale, las.header.offset]
 
 def find_folder_files(direcory):
@@ -52,13 +38,14 @@ def find_folder_files(direcory):
 # and it's affiliations (subId and groupId) (soon to be implemented
 def calculate_area_data(center, lake_name, path):
     """
-    calculate area
+    calculate lakes ice thickness of each of its area
 
     :param center: center point of area to be calculated
     :param lake_name: body of water area belongs to
     :param path: path to lidar data
-    :return: the calculated ice thickness in designated area
+    :return: the calculated ice thickness in designated area's
     """
+    # check if file exist
     if not os.path.exists(path):
         print("File not found")
         return []
@@ -66,7 +53,7 @@ def calculate_area_data(center, lake_name, path):
     # container for all the heights in area
     area_heights = []
 
-    # zone coords taken
+    # area coords taken
     taken_coords = []
 
     # read json data with path to data for specific water body
@@ -81,19 +68,19 @@ def calculate_area_data(center, lake_name, path):
     # grid cell offset
     # NB: make these a global var
     grid_size = 4
-    #cell_x, cell_y = map_data['tile_width'], map_data['tile_height']
-    #cell_x, cell_y = (400*grid_size, 400*grid_size)
-    cell_x, cell_y = (2000, 1000)
+    cell_x, cell_y, size_in_km = map_data['cell_width'], map_data['cell_height'], map_data['cell_size_in_km']
+    print("f: ",cell_x," ", cell_y)
+    cell_x, cell_y = (cell_x * size_in_km, cell_y * size_in_km)
+    print("s: ",cell_x," ", cell_y)
 
     # convert the offset to meter
-    #cell_x = 111.320 * cell_x * 1000
-    #cell_y = (40075 * math.cos(cell_y) * 1000) / 360
-    cell_x = 111.320 * cell_x
-    cell_y = (111.320 * math.cos(60)*cell_y)
+    cell_x = 111.320 * cell_x * 1000
+    cell_y = (40075 * math.cos(cell_y) * 1000) / 360
+    #cell_x = 111.320 * cell_x
+    #cell_y = (111.320 * math.cos(60) * cell_y)
 
     # set the limit of the area compared to local coordinates
     area_limit = calculate_corners(center[0], center[1], (cell_x, cell_y))
-    #area_limit = calculate_corners(sub_center[0], sub_center[1], (cell_x/4, cell_y/4))
 
     # grid data
     map_data = map_data['features']
diff --git a/server/data_processing/unit_tests/__pycache__/test_add_new_lidar_measurement.cpython-39-pytest-7.1.2.pyc b/server/data_processing/unit_tests/__pycache__/test_add_new_lidar_measurement.cpython-39-pytest-7.1.2.pyc
index d1d605575d8d839dd16b53a74edd56837d8aef32..717c52c2e520a95ce75e4dc6484daadb859140af 100644
Binary files a/server/data_processing/unit_tests/__pycache__/test_add_new_lidar_measurement.cpython-39-pytest-7.1.2.pyc and b/server/data_processing/unit_tests/__pycache__/test_add_new_lidar_measurement.cpython-39-pytest-7.1.2.pyc differ
diff --git a/server/data_processing/unit_tests/__pycache__/test_input_new_data.cpython-39-pytest-7.1.2.pyc b/server/data_processing/unit_tests/__pycache__/test_input_new_data.cpython-39-pytest-7.1.2.pyc
index 818dd90076ec4dc06a035a8d58995fdc9f51cdda..99308854111f46b51b98c756a516b5772f4bbe30 100644
Binary files a/server/data_processing/unit_tests/__pycache__/test_input_new_data.cpython-39-pytest-7.1.2.pyc and b/server/data_processing/unit_tests/__pycache__/test_input_new_data.cpython-39-pytest-7.1.2.pyc differ
diff --git "a/server/map_handler/lake_relations/skumsj\303\270en_measurements.json" "b/server/map_handler/lake_relations/skumsj\303\270en_measurements.json"
index f5c3898737fd56ce8bfc3bb6b11b7bf88b437bfd..0f6327c4e01db601430b1857bd7dc984814ce1f8 100644
--- "a/server/map_handler/lake_relations/skumsj\303\270en_measurements.json"
+++ "b/server/map_handler/lake_relations/skumsj\303\270en_measurements.json"
@@ -1,7 +1,7 @@
 [
     {
         "MeasurementID": -1,
-        "TimeMeasured": "2024-05-19 14:02:57.910934",
+        "TimeMeasured": "2024-05-19 14:37:54.342382",
         "CenterLat": null,
         "CenterLon": null,
         "Sensor": null,