Difference between revisions of "ASAR Shape, texture and orientation descriptors for atmospheric structure detection"
From hpcwiki
(→Approximation to the curl of the vector field) |
|||
Line 1: | Line 1: | ||
− | + | ||
'''TODO''' | '''TODO''' | ||
Latest revision as of 11:35, 8 March 2019
TODO
- Complete descriptor list
- Create a wiki entry for each possible descriptor
- State each descriptor formally
- Start tests over current WRF data
- Look for real atmospheric data and test descriptors
Contents |
[edit] Approximation to differential operators for the wind velocity field
In meteorological tasks (exploration, observation, analysis, segmentation of particular patterns, correlation of pattern occurrence, etc.), it is common to use a 2D projection of the 3D fields corresponding to physical variables describing a particular state of the atmosphere (it is important to remark that this 2D projection usually maps to a isobaric layer of the atmosphere rather than to a geometrical layer “parallel” to the sea-level surface of the Earth..)
[edit] Approximation to divergence of the vector field
Given and (a vector field representing two dimensional projection of winds), the divergence of is defined as .
Since this is an interior product, divergence is a scalar field. A naïve numerical approximation to this expression can be achieved by using the basic centered finite difference approximation to each partial derivative in the equation. A simple discrete version of a two-dimensional is the matrix where is the index pointing to each row and the index pointing to each column of the matrix. Then
where is the discretization step (here the same for both horizontal and vertical directions, i.e. ).
[edit] Approximation to the curl of the vector field
Physically, the curl of a vector field determines how much could the vectors within the dominion under study “rotate” around each particular position. A well known recipe to state the curl of a vector field in the 3D case --having -- uses the notation and computation of a special determinant as follows
which yields the expression
The 2D case is easily build by taking into account only the third term, i.e. the rotation on the plane. Then
which, therefore, is always perpendicular to that plane. The simplest numerical approximation, analogously to the divergence case, is as follows:
[edit] Numerical computation of the partial derivatives
%% wind components in the 2D projection, U and V Us = U(:,:,3); Vs = V(:,:,3); lat = -15:0.5:45; lon = -100:0.5:-30; %% Finite Difference approximation in the horizontal (x) direction dx = 1; for i = 1:length(lon) for j = 2:length(lat) if j == length(lat) Ux(i,j) = Ux(i,j-1); Vx(i,j) = Vx(i,j-1); else Ux(i,j) = (Us(i,j+1)-Us(i,j-1))/(2*dx); Vx(i,j) = (Vs(i,j+1)-Vs(i,j-1))/(2*dx); end end end %% Finite Difference approximation in the vertical (y) direction dy = 1; for i = 1:length(lat) for j = 2:length(lon) if j == length(lon) Uy(j,i) = Uy(j-1,i); Vy(j,i) = Vy(j-1,i); else Uy(j,i) = (Us(j+1,i)-Us(j-1,i))/(2*dy); Vy(j,i) = (Vs(j+1,i)-Vs(j-1,i))/(2*dy); end end end
Then, it is immediate the estimation of divergence and curl for the wind velocity field
% Divergence divs = Ux + (Vy); % Curl curlzs = (Vx) - (Uy);
[edit] Matlab equivalents
[X Y] = meshgrid(lat,lon); % Divergence div1 = divergence(Us,Vs); div = divergence(X,Y,Us,Vs); % Curl [curlz1,cav1] = curl(Us,Vs); [curlz,cav] = curl(X,Y,Us,Vs);