epygram.fields.D3VectorField — 3-D Vector Field class¶
Contains the class for a 3D field.
Plus a function to create a Vector field from 2 scalar fields.
- epygram.fields.D3VectorField.make_vector_field(*components)[source]¶
- Creates a new - epygram.D3VectorFieldor subclass from several- epygram.D3Fieldor subclass representing the components of the vector in the field geometry.
- class epygram.fields.D3VectorField.D3VectorField(*args, **kwargs)[source]¶
- Bases: - Field- 3-Dimensions Vector field class. - This is a wrapper to a list of D3Field(s), representing the components of a vector projected on its geometry (the grid axes). - Note - This class is managed by footprint. - info: Not documented 
- priority: PriorityLevel::DEFAULT (rank=1) 
 - Automatic parameters from the footprint: - comment ( - builtins.str) - rwd - Not documented, sorry.- Optional. Default is None. 
 
- components ( - footprints.stdtypes.FPList) - rxx - List of Fields that each compose a component of the vector.- Optional. Default is FPList::<<as_list:: []>>. 
 
- fid ( - footprints.stdtypes.FPDict) - rwx - Not documented, sorry.
- misc_metadata ( - footprints.stdtypes.FPDict) - rwd - Not documented, sorry.- Optional. Default is FPDict::<<as_dict:: dict()>>. 
 
- processtype ( - builtins.str) - rxx - Generating process.- Optional. Default is None. 
 
- structure ( - builtins.str) - rxx - Type of Field geometry.- Values: set([‘3D’]) 
 
- units ( - builtins.str) - rwd - Not documented, sorry.- Optional. Default is ‘’. 
 
- validity ( - epygram.base.FieldValidityList) - rwx - Validity of the field.- Optional. Default is FieldValidityList::<<as_list:: [FieldValidity::<epygram.base.FieldValidity object at 0x7e0924d83b30>]>>. 
 
- vector ( - builtins.bool) - rxx - Intrinsic vectorial nature of the field.- Values: set([True]) 
 
 - Constructor. See its footprint for arguments. - as_vtkGrid(rendering, grid_type, subzone=None, filename=None, module_name='module', vector_name='vector', grid=None, version='XML', binary=True, compression='ZLib', compression_level=5, transform_wind=0)¶
- Note - Requires plugin: with_vtk (config.activate_plugins) - Returns a vtkStructuredGrid filled with the field :param rendering: a usevtk.Usevtk instance :param grid_type: can be: - sgrid_point: structured grid filled with points 
- sgrid_cell: structured grid filled with hexahedron
- If the field is 2D, a zero thickness is used. If the field is 3D, thickness are approximately computed 
 
- ugrid_point: unstructured grid filled with points 
- ugrid_cell: unstructured grid build filled with cells
- If the field is 2D, a zero thickness is used. If the field is 3D, thickness are approximately computed 
 
 - Parameters:
- subzone – - optional, among (‘C’, ‘CI’), for LAM grids only, returns the grid resp. for the C or C+I zone off the C+I+E zone. - Default is no subzone, i.e. the whole field. 
- filename – if not None, resulting grid will be written into filename 
- module_name – name to give to the scalar field containing the module (useful with the grid option) 
- vector_name' – name of the vector field (useful with the grid option) 
- grid – if grid is not None, the method will add the data to it. 
- version – must be ‘legacy’ or ‘XML’, used with filename 
- binary – True (default) for a binary file, used with filename 
- compression – must be None, ‘LZ4’ or ‘ZLib’ only used for binary XML 
- compression_level – between 1 and 9, only used for binary XML Zlib-compressed 
- transform_wind – - to rotate ans scale wind according to vtk coordinates: 0: do nothing 1: scale the w component to take into account the z axis expansion, - the total module is not preserved but the horizontal one is preserved. The horizontal components must be oriented along the vtk axes. - 2: same as option 1 but the total module is preserved whereas the horizontal
- one is not preserved 
- 3: same as option 1 but, in addition, all the components are rotated.
- The horizontal components must be oriented along north-south and east-west axes. 
- 4: same as option 3 but (as for option 2), the total module is preserved whereas
- the horizontal one is not preserved 
 
 
 - If grid_type is ‘sgrid_point’, the result is the grid; otherwise the result is the function is the last filter used. 
 - attach_components(*components)[source]¶
- Attach components of the vector to the VectorField. components must be a series of D3Field. 
 - comment¶
- (see the documentation above for more details). 
 - components¶
- List of Fields that each compose a component of the vector (see the documentation above for more details). 
 - compute_direction()[source]¶
- Returns a - epygram.D3Fieldor subclass whose data is the direction of the horizontal part of the Vector field (the two firsts components), in degrees.
 - compute_vordiv(divide_by_m=False)[source]¶
- Compute vorticity and divergence fields from the vector field. - Parameters:
- divide_by_m – if True, apply f = f/m beforehand, where m is the map factor. 
 
 - property data¶
- Accessor to the field data. 
 - fid¶
- (see the documentation above for more details). 
 - getdata(subzone=None, **kwargs)[source]¶
- Returns the field data, with 2D shape if the field is not spectral, 1D if spectral, as a tuple with data for each component. - Parameters:
- subzone – optional, among (‘C’, ‘CI’), for LAM fields only, returns the data resp. on the C or C+I zone. Default is no subzone, i.e. the whole field. 
 - Shape of 2D data: (x (0) being the X component, y (1) the Y one) - Rectangular grids: - grid[0,0,x] is SW, grid[-1,-1,x] is NE - grid[0,-1,x] is SE, grid[-1,0,x] is NW 
- Gauss grids: - grid[0,:Nj,x] is first (Northern) band of latitude, masked after Nj = number of longitudes for latitude j - grid[-1,:Nj,x] is last (Southern) band of latitude (idem). 
 
 - getlevel(level=None, k=None)[source]¶
- Returns a level of the field as a new field. - Parameters:
- level – the requested level expressed in coordinate value (Pa, m…) 
- k – the index of the requested level 
 
 
 - getvalue_ij(*args, **kwargs)[source]¶
- Returns the value of the different components of the field from indexes. 
 - getvalue_ll(*args, **kwargs)[source]¶
- Returns the value of the different components of the field from coordinates. 
 - global_shift_center(longitude_shift)[source]¶
- Shifts the center of the geometry (and the data accordingly) by longitude_shift (in degrees). longitude_shift has to be a multiple of the grid’s resolution in longitude. - For global RegLLGeometry grids only. 
 - gp2sp(spectral_geometry=None)[source]¶
- Transforms the gridpoint field into spectral space, according to the spectral_geometry mandatorily passed as argument. Replaces data in place. - Parameters:
- spectral_geometry – instance of SpectralGeometry, actually containing spectral transform subroutine (in in its own gp2sp() method). 
 
 - map_factorize(reverse=False)[source]¶
- Multiply the field by its map factor. Only the first two components are affected. - Parameters:
- reverse – if True, divide. 
 
 - misc_metadata¶
- (see the documentation above for more details). 
 - nonzero(subzone=None)[source]¶
- Returns the number of non-zero values (whose absolute value > config.epsilon). 
 - plot3DOutline(*args, **kwargs)¶
- Note - Requires plugin: with_vtk (config.activate_plugins) - Cf. D3Field.plot3DOutline() 
 - plot3DStream(rendering, samplerate=None, maxLength=None, tubesRadius=0.1, color='Blue', opacity=1.0, plot_tube=False, colorbar=True, subzone=None, transform_wind=0)¶
- Note - Requires plugin: with_vtk (config.activate_plugins) - This method adds contour lines and/or colorize the field. If the field is 3D, contours appear as isosurface. :param rendering: a usevtk.Usevtk instance :param samplerate: if not None, must be a dictionary. Allowed keys are - ‘x’, ‘y’ and ‘z’ and values are the sample rate in the given direction. For example {‘x’:3} means take one over 3 points in the x direction - Parameters:
- maxLength – integration length to build the stream lines and tubes 
- tubesRadius – radius of the tubes 
- color – a color name, a vtk.vtkColorTransferFunction or a vtk.vtkLookupTable to associate colors to the stream lines or tubes 
- opacity – opacity value 
- plot_tube – True to plot the tubes instead of lines 
- colorbar – True to plot a colorbar 
- subzone – - optional, among (‘C’, ‘CI’), for LAM grids only, returns the grid resp. for the C or C+I zone off the C+I+E zone. - Default is no subzone, i.e. the whole field. 
- transform_wind – - to rotate ans scale wind according to vtk coordinates: 0: do nothing 1: scale the w component to take into account the z axis expansion, - the total module is not preserved but the horizontal one is preserved. The horizontal components must be oriented along the vtk axes. - 2: same as option 1 but the total module is preserved whereas the horizontal
- one is not preserved 
- 3: same as option 1 but, in addition, all the components are rotated.
- The horizontal components must be oriented along north-south and east-west axes. 
- 4: same as option 3 but (as for option 2), the total module is preserved whereas
- the horizontal one is not preserved 
 
 
- Returns:
- actor, mapper, colorbaractor 
 - Note: the wind components, whatever is the transform_wind option, must contain
- the map factor corrections. 
 
 - plot3DVector(rendering, samplerate=None, arrowScaleFactor=1.0, color='Blue', opacity=1.0, colorbar=True, subzone=None, transform_wind=0)¶
- Note - Requires plugin: with_vtk (config.activate_plugins) - This method adds contour lines and/or colorize the field. If the field is 3D, contours appear as isosurface. :param rendering: a usevtk.Usevtk instance :param samplerate: if not None, must be a dictionary. Allowed keys are - ‘x’, ‘y’ and ‘z’ and values are the sample rate in the given direction. For example {‘x’:3} means take one over 3 points in the x direction - Parameters:
- arrowScaleFactor – scale factor used to plot the vector 
- color – color name or lookup table or color transfer function to associate colors to the vector norms 
- opacity – opacity value 
- colorbar – True to plot a colorbar 
- subzone – - optional, among (‘C’, ‘CI’), for LAM grids only, returns the grid resp. for the C or C+I zone off the C+I+E zone. - Default is no subzone, i.e. the whole field. 
- transform_wind – - to rotate ans scale wind according to vtk coordinates: 0: do nothing 1: scale the w component to take into account the z axis expansion, - the total module is not preserved but the horizontal one is preserved. The horizontal components must be oriented along the vtk axes. - 2: same as option 1 but the total module is preserved whereas the horizontal
- one is not preserved 
- 3: same as option 1 but, in addition, all the components are rotated.
- The horizontal components must be oriented along north-south and east-west axes. 
- 4: same as option 3 but (as for option 2), the total module is preserved whereas
- the horizontal one is not preserved 
 
 
- Returns:
- actor, mapper, colorbaractor 
 - Note: the wind components, whatever is the transform_wind option, must contain
- the map factor corrections. 
 
 - processtype¶
- Generating process (see the documentation above for more details). 
 - reproject_wind_on_lonlat(map_factor_correction=True, reverse=False)[source]¶
- Reprojects a wind vector (u, v) from the grid axes onto real sphere, i.e. with components on true zonal/meridian axes. Other components are kept untouched. - Parameters:
- map_factor_correction – if True, apply a correction of magnitude due to map factor. 
- reverse – if True, apply the reverse reprojection. 
 
 
 - sp2gp()[source]¶
- Transforms the spectral field into gridpoint, according to its spectral geometry. Replaces data in place. - The spectral transform subroutine is actually included in the spectral geometry’s sp2gp() method. 
 - property spectral¶
- Returns True if the field is spectral. 
 - structure¶
- Type of Field geometry (see the documentation above for more details). 
 - to_module()[source]¶
- Returns a - epygram.D3Field(or subclass) whose data is the module of the Vector field.
 - units¶
- (see the documentation above for more details). 
 - validity¶
- Validity of the field (see the documentation above for more details). 
 - vector¶
- Intrinsic vectorial nature of the field (see the documentation above for more details). 
 - vtk_guess_param_from_field(*args, **kwargs)¶
- Note - Requires plugin: with_vtk (config.activate_plugins) - Cf. D3Field.vtk_guess_param_from_field() 
 - what(out=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, vertical_geometry=True, cumulativeduration=True)[source]¶
- Writes in file a summary of the field. - Parameters:
- out – the output open file-like object (duck-typing: out.write() only is needed). 
- vertical_geometry – if True, writes the vertical geometry of the field.