Example 4: Create video ======================= This example demonstrates how to import file and create video with GINCCO_lib using :func:`GINCCO_lib.image_to_video.pngs_to_video`. Code Example ------------ Now we will import the library and the grid .. code-block:: python # ========================= # IMPORTS # ========================= import numpy as np import GINCCO_lib as gc from netCDF4 import Dataset from datetime import * # ========================= # CONFIGURATION # ========================= tstart = datetime(2010, 1, 1) tend = datetime(2010, 1, 10) path = '/work/users/tungnd/GOT271/GOT_REF5/OFFLINE/' # ========================= # LOAD GRID # ========================= fgrid = Dataset(path + 'grid.nc', 'r') lat_t = fgrid.variables['latitude_t'][:] lon_t = fgrid.variables['longitude_t'][:] mask_t_var = fgrid.variables['mask_t'] if mask_t_var.ndim == 3: mask_t = mask_t_var[0, :, :] elif mask_t_var.ndim == 2: mask_t = mask_t_var[:, :] dx_t = fgrid.variables['dx_t'][:,:] dy_t = fgrid.variables['dy_t'][:,:] sin_t = fgrid.variables['gridrotsin_t'][:,:] cos_t = fgrid.variables['gridrotcos_t'][:,:] Now import data .. code-block:: python # Step 1: Import data ssh = gc.import_3D(path, 'ssh_ib', tstart, tend, ignore_missing='False') data_draw = ssh[0] data_draw[mask_t==0] = np.nan gc.map_draw( lon_min=105, lon_max=111, lat_min=16.5, lat_max=22, title="ssh", lon_data=lon_t, lat_data=lat_t, data_draw=data_draw, path_save="/prod/projects/data/tungnd/figure/", name_save="ssh" ) Now choose a day and calculate .. code-block:: python #Step 2: Choose a day and calculate U1, V1 = gc.geostrophic_current(data_draw, lat_t, dx_t, dy_t, sin_t, cos_t) for i in range(0,11): print (i*10, np.nanpercentile(U1, i*10),np.nanpercentile(V1, i*10)) #Step 4: Draw gc.map_draw_uv( lon_min=105, lon_max=111, lat_min=16.5, lat_max=22, title="Geotrophic current (example 7)", lon_data=lon_t, lat_data=lat_t, data_u= U1, data_v= V1, mask_ocean = mask_t, path_save="/prod/projects/data/tungnd/figure/", name_save="geotrophic_current_example7", quiver_max_n=20, # ~max arrows per axis (auto step so arrows <= quiver_max_n x quiver_max_n) quiver_scale=6 # higher is shorter arrow. lower is longer arrow )