temp_slice = temp_slice + p.elements3d.temperature[i][:][:]
            density_slice = density_slice + p.elements3d.rho[i][:][:]
            salinity_slice = salinity_slice + p.elements3d.salinity[i][:][:]

        temp_av = temp_slice.value_in(units.C) / dim_h
        density_av = density_slice.value_in(units.kg / units.m**3) / dim_h
        salinity = salinity_slice.value_in(units.g / units.kg) / dim_h
        salinity_cross = p.elements3d.salinity[5][:][:].value_in(units.g /
                                                                 units.kg)
        #Creating all plots and writing data to files, [] - range for colorbar
        #Plot crossections
        if j % 2 != 0:
            temp_top = p.elements3d.temperature[:, :, 0].value_in(units.C)
            temp_bot = p.elements3d.temperature[:, :, 15].value_in(units.C)

            crossection(lat_el,z_el,vel_lat,[-6.0,6.0],"y_velocity, m/s","velocity_lat_"+ \
                        str(t)+".png")
            crossection(lat,z,vel_lat,[-6.0,6.0],"z_velocity, m/s","velocity_z_"+ \
                        str(t)+".png")
            crossection(lat,z,salinity,[0.34,0.36],"salinity, g/kg","salinity_av_"+  \
                        str(t)+".png")
            temp_cr = p.elements3d.temperature[10][:][:].value_in(units.C)
            crossection(lat_el,z_el,temp_av,[0.0,15.0],"temperature, C", \
                     "temperature_av_"+str(t)+".png")
            crossection(lat_el,z_el,density_av,[0.0,0.04],"density, kg/m3", \
                        "density_av_"+str(t)+".png")
            crossection(lat,z,z_strf,[-6.0,6.0],"meridional overturning streamfunction, Sv", \
                        "merid_streamf"+str(t)+".png")

#Check residuals
        density = p.elements3d.rho[:][:][:].value_in(units.kg / units.m**3)
        temperature = p.elements3d.temperature[:][:][:].value_in(units.C)
            salinity_slice = salinity_slice + p.elements3d.salinity[i][:][:]

        temp_av = temp_slice.value_in(units.C) / dim
        density_av = density_slice.value_in(units.g / units.cm**3) / dim
        salinity = salinity_slice.value_in(units.g / units.kg) / dim
        salinity_cross = p.elements3d.salinity[5][:][:].value_in(units.g /
                                                                 units.kg)

        #Creating all plots and writing data to files, [] - range for colorbar
        #Plot crossections
        ssh = p.nodes.ssh.value_in(units.m)
        sst = p.elements.temperature.value_in(units.C)
        sst[dmask == 0] = sst.max()
        ssh[dmask == 0] = ssh.max()
        sst_plot(p.elements, sst, "temp" + str(fn) + ".png")
        sst_plot(p.nodes, ssh, "ssh" + str(fn) + ".png")
        temp_top = p.elements3d.temperature[:, :, 0].value_in(units.C)
        plot_hor(lat_el,lon_el,temp_top,[0.0,15.0],"temperature, C", \
              "temperature_top_"+str(fn)+".png", t)
        plot_hor(lat_el,lon_el,bar_str,[0.0,15.0],"barotropic_streamf", \
              "bar_str_"+str(fn)+".png", t)
        sal_sl = p.elements3d.salinity[2, :, :].value_in(units.g / units.kg)
        crossection(lat,z,sal_sl,[0.34,0.36],"salinity, g/kg","salinity_cross_"+  \
                    str(fn)+".png")
        crossection(lat,z,z_strf,[-6.0,6.0],"meridional overturning streamfunction, Sv", \
                    "merid_streamf"+str(fn)+".png")
        vel_x_hor = p.nodes3d.xvel[:, :, 0].value_in(units.m / units.s)
        vel_y_hor = p.nodes3d.yvel[:, :, 0].value_in(units.m / units.s)
        cross_vectorfield(lon, lat, vel_x_hor, vel_y_hor,
                          "vel_total" + str(fn) + ".png")