diff --git a/define_surface.f90 b/define_surface.f90
index 9f14884e806294961cb1e2d2176418ea3542fc5c..78d5a7410b383c661a3d15f76944ab766f7019f3 100644
--- a/define_surface.f90
+++ b/define_surface.f90
@@ -71,15 +71,24 @@ if (params%irestart.eq.0) then
             surface(is)%itype=surface(1)%itype
             surface(is)%surface_type=surface(1)%surface_type
             surface(is)%rand=surface(1)%rand
-            allocate (surface(is)%x(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%x','define_surface',size(surface(is)%x),'dp',+1)
-            allocate (surface(is)%y(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%y','define_surface',size(surface(is)%y),'dp',+1)
-            allocate (surface(is)%z(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%z','define_surface',size(surface(is)%z),'dp',+1)
-            allocate (surface(is)%xn(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%xn','define_surface',size(surface(is)%xn),'dp',+1)
-            allocate (surface(is)%yn(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%yn','define_surface',size(surface(is)%yn),'dp',+1)
-            allocate (surface(is)%zn(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%zn','define_surface',size(surface(is)%zn),'dp',+1)
-            allocate (surface(is)%r(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%r','define_surface',size(surface(is)%r),'dp',+1)
-            allocate (surface(is)%s(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%s','define_surface',size(surface(is)%s),'dp',+1)
-            allocate (surface(is)%icon(3,surface(is)%nt),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%icon','define_surface',size(surface(is)%icon),'int',+1)
+            allocate (surface(is)%x(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%x','define_surface',size(surface(is)%x),'dp',+1)
+            allocate (surface(is)%y(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%y','define_surface',size(surface(is)%y),'dp',+1)
+            allocate (surface(is)%z(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%z','define_surface',size(surface(is)%z),'dp',+1)
+            allocate (surface(is)%xn(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%xn','define_surface',size(surface(is)%xn),'dp',+1)
+            allocate (surface(is)%yn(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%yn','define_surface',size(surface(is)%yn),'dp',+1)
+            allocate (surface(is)%zn(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%zn','define_surface',size(surface(is)%zn),'dp',+1)
+            allocate (surface(is)%r(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%r','define_surface',size(surface(is)%r),'dp',+1)
+            allocate (surface(is)%s(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%s','define_surface',size(surface(is)%s),'dp',+1)
+            allocate (surface(is)%icon(3,surface(is)%nt),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%icon','define_surface',size(surface(is)%icon),'int',+1)
             surface(is)%x=surface(1)%x
             surface(is)%y=surface(1)%y
             surface(is)%z=surface(1)%z
@@ -95,15 +104,24 @@ if (params%irestart.eq.0) then
             surface(is)%nsurface=(2**surface(is)%levelt+2)*(2**surface(is)%levelt+2)   !opla
 !            surface(is)%nt=(2**surface(is)%levelt)*(2**surface(is)%levelt)*2
             surface(is)%nt=(2**surface(is)%levelt +1)*(2**surface(is)%levelt +1)*2      ! opla
-            allocate (surface(is)%x(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%x','define_surface',size(surface(is)%x),'dp',+1)
-            allocate (surface(is)%y(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%y','define_surface',size(surface(is)%y),'dp',+1)
-            allocate (surface(is)%z(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%z','define_surface',size(surface(is)%z),'dp',+1)
-            allocate (surface(is)%xn(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%xn','define_surface',size(surface(is)%xn),'dp',+1)
-            allocate (surface(is)%yn(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%yn','define_surface',size(surface(is)%yn),'dp',+1)
-            allocate (surface(is)%zn(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%zn','define_surface',size(surface(is)%zn),'dp',+1)
-            allocate (surface(is)%r(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%r','define_surface',size(surface(is)%r),'dp',+1)
-            allocate (surface(is)%s(surface(is)%nsurface),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%s','define_surface',size(surface(is)%s),'dp',+1)
-            allocate (surface(is)%icon(3,surface(is)%nt),stat=threadinfo%err)       ; call heap (threadinfo,'surface(is)%icon','define_surface',size(surface(is)%icon),'int',+1)
+            allocate (surface(is)%x(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%x','define_surface',size(surface(is)%x),'dp',+1)
+            allocate (surface(is)%y(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%y','define_surface',size(surface(is)%y),'dp',+1)
+            allocate (surface(is)%z(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%z','define_surface',size(surface(is)%z),'dp',+1)
+            allocate (surface(is)%xn(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%xn','define_surface',size(surface(is)%xn),'dp',+1)
+            allocate (surface(is)%yn(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%yn','define_surface',size(surface(is)%yn),'dp',+1)
+            allocate (surface(is)%zn(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%zn','define_surface',size(surface(is)%zn),'dp',+1)
+            allocate (surface(is)%r(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%r','define_surface',size(surface(is)%r),'dp',+1)
+            allocate (surface(is)%s(surface(is)%nsurface),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%s','define_surface',size(surface(is)%s),'dp',+1)
+            allocate (surface(is)%icon(3,surface(is)%nt),stat=threadinfo%err)
+            call heap (threadinfo,'surface(is)%icon','define_surface',size(surface(is)%icon),'int',+1)
             call create_surf(surface(is),is,params%debug)
          endif
       current_time=0.d0
@@ -147,15 +165,24 @@ else
       read (9) surface(is)%nsurface, &
                  activation_time,      &
                  surface(is)%nt
-      allocate (surface(is)%x(surface(is)%nsurface),stat=threadinfo%err)     ; call heap (threadinfo,'surface(is)%x','define_surface',size(surface(is)%x),'dp',+1)
-      allocate (surface(is)%y(surface(is)%nsurface),stat=threadinfo%err)     ; call heap (threadinfo,'surface(is)%y','define_surface',size(surface(is)%y),'dp',+1)
-      allocate (surface(is)%z(surface(is)%nsurface),stat=threadinfo%err)     ; call heap (threadinfo,'surface(is)%z','define_surface',size(surface(is)%z),'dp',+1)
-      allocate (surface(is)%xn(surface(is)%nsurface),stat=threadinfo%err)    ; call heap (threadinfo,'surface(is)%xn','define_surface',size(surface(is)%xn),'dp',+1)
-      allocate (surface(is)%yn(surface(is)%nsurface),stat=threadinfo%err)    ; call heap (threadinfo,'surface(is)%yn','define_surface',size(surface(is)%yn),'dp',+1)
-      allocate (surface(is)%zn(surface(is)%nsurface),stat=threadinfo%err)    ; call heap (threadinfo,'surface(is)%zn','define_surface',size(surface(is)%zn),'dp',+1)
-      allocate (surface(is)%r(surface(is)%nsurface),stat=threadinfo%err)     ; call heap (threadinfo,'surface(is)%r','define_surface',size(surface(is)%x),'dp',+1)
-      allocate (surface(is)%s(surface(is)%nsurface),stat=threadinfo%err)     ; call heap (threadinfo,'surface(is)%s','define_surface',size(surface(is)%x),'dp',+1)
-      allocate (surface(is)%icon(3,surface(is)%nt),stat=threadinfo%err)      ; call heap (threadinfo,'surface(is)%icon','define_surface',size(surface(is)%icon),'int',+1)
+      allocate (surface(is)%x(surface(is)%nsurface),stat=threadinfo%err)
+      call heap (threadinfo,'surface(is)%x','define_surface',size(surface(is)%x),'dp',+1)
+      allocate (surface(is)%y(surface(is)%nsurface),stat=threadinfo%err)
+      call heap (threadinfo,'surface(is)%y','define_surface',size(surface(is)%y),'dp',+1)
+      allocate (surface(is)%z(surface(is)%nsurface),stat=threadinfo%err)
+      call heap (threadinfo,'surface(is)%z','define_surface',size(surface(is)%z),'dp',+1)
+      allocate (surface(is)%xn(surface(is)%nsurface),stat=threadinfo%err)
+      call heap (threadinfo,'surface(is)%xn','define_surface',size(surface(is)%xn),'dp',+1)
+      allocate (surface(is)%yn(surface(is)%nsurface),stat=threadinfo%err)
+      call heap (threadinfo,'surface(is)%yn','define_surface',size(surface(is)%yn),'dp',+1)
+      allocate (surface(is)%zn(surface(is)%nsurface),stat=threadinfo%err)
+      call heap (threadinfo,'surface(is)%zn','define_surface',size(surface(is)%zn),'dp',+1)
+      allocate (surface(is)%r(surface(is)%nsurface),stat=threadinfo%err)
+      call heap (threadinfo,'surface(is)%r','define_surface',size(surface(is)%x),'dp',+1)
+      allocate (surface(is)%s(surface(is)%nsurface),stat=threadinfo%err)
+      call heap (threadinfo,'surface(is)%s','define_surface',size(surface(is)%x),'dp',+1)
+      allocate (surface(is)%icon(3,surface(is)%nt),stat=threadinfo%err)
+      call heap (threadinfo,'surface(is)%icon','define_surface',size(surface(is)%icon),'int',+1)
 
       read (9) (surface(is)%r(i),  &
                   surface(is)%s(i),  &