NG3DVAR

NAME
SYNOPSIS
DESCRIPTION
SEE ALSO:
CONTRIBUTORS:

NAME

ng3dvar −− performs a three-dimensional variational analysis of radar, sounding and satellite wind observations that have been reduced to a three-dimensional grid using ngradcart.

SYNOPSIS

ng3dvar [-h] [--nfe=val] [--phs=val] [--pvs=val] [--pbg sigma:fname] [--pmc=p0:gr:num] [-s] [-o]

DESCRIPTION

Ng3dvar is part of our new generation software for radar analysis. It searches for a wind field that fits a reduced data set defined on a 3D grid. The resultant wind field will also satisfy the anelastic mass continuity, and optionally, a measure of the smoothness of the field and a background field. The smoothness is measured by 1-dimensional Laplacian-like operators (one in each dimension). The background field comes from model data processed by the companion python-script ng3dvar_PrepModel. Currently this script can handle in-house-processed GFS-final-analysis data. Typically, the reduced data set consists of radar observations that include both velocity components and reflectivities. Furthermore, It could also come from the velocity components from a Doppler lidar, a sounding array, or from satellite winds or a combination of all.

The reduced data set on the 3D grid, the grid itself, as well as the weights associated with the various components of the velocity data on the grid are obtained by filtering the data through ngradcart.

The misfit between the wind field and the gridded data is defined using the weighted least squares method with weights provided by ngradcart. When radar data and reflectivity in particular are available, the relationship of Joss and Waldvolgel (1970) between reflectivity and particle terminal velocity is used. Two kinds of precipitation are considered: snow above 7km, rain below 4.3km. A linear combination according to height in used for the in-between layer. Details are coded in ng3dvar_tf_ngrad.c; see function fun_wpTVZ.

Constraints on the wind field: 1) The mass continuity is used as a strong constraint on the wind field in the sense that the program will increase the penalty parameter associated with it until the residual is reduced to a given tolerance. 2) The optional smoothness and background constraints are used only as weak constraints in the sense that their penalty parameter is kept constant during the minimization process. 3) Optionally a background field can be included as a weak constraint the wind field.

The minimization of the target function (misfit + mass residual + smoothness + background) is carried out by an iterative process that first increases the value of the penalty parameter associated with the residual of the mass continuity and hence altering the target function, the minimum of the current target function is then obtained via a conjugate gradient algorithm that starts its search from the solution obtained in the previous iteration. This iterative process is initialized with the solution that only fits the data (that is, the rest of the constraints (mass continuity and smoothness, etc) are switched off).

The iteration is terminated if the total number of evaluations of the target function exceeds the given maximum number (see option ânfe below) or if the maximum number of iterations has been reached (see option âpmc below), or if the residual of the mass continuity drops below a tolerance. A tolerance of 1/1000 has been defined into the code(see ng3dvar_dr.c).

Optionally (see option -s below) the target function can be scaled before each iteration. The scaling only scales the misfit and background model, so their ratio is keep approximately the same during each iteration. The convergence and stopping criteria for the conjugate gradient algorithm are also hard-coded into the program. Interested users should look into cgm_conmin.c.

Command Line Parameters:

-h

Shows a brief explanation of the various command line parameters and their default values.

--nfe=val

Number of function evaluations allowed before the program stops searching for the solution. Defaults to 5000.

--phs=val

Weight of horizontal smoothing. Defaults to -1; meaning no smoothing.

--pvs=val

Weight of vertical smoothing. Defaults to -1; meaning no smoothing.

--pmc=p0:gr:num

Penalty information for the mass continuity residual. p0 is the initial penalty parameter for residual of mass continuity term. Its default value is 1. gr is the growth rate for the penalty parameter (geometric progression). Its default value is 1.5. num is the maximum number of iterations allowed to increase the penalty parameter. Its default value is 100.

-o

Request to write output every iteration.

-s

Request to scaling of target function before starting each iteration.

--pbg=sigma:fname

Fname is the name of the file that contains the backgroud data. It must be prepared by the companion python-script ng3dvar_PrepModel.py. Sigma is a measure of how close we want the output to fit the model data. The background term is proportional to (D/sigma)^2, where D is the difference between the analyzed and model velocities. Hence, small values of sigma will increase the size of the background term forcing the algorithm to bring the velocities closer to the model in order to reduce its size. Reasonable values of sigma in velocity units are from 1 to 25, depending on the type of data being analyzed.

Input:
The standard output of ngradcart is expected as the input.

Output:
The results are sent to the standard output. They have the same 3D structure as the input, but with the following fields added:

u --zonal component of the wind.
v --meridional component of the wind.
w --vertical component of the wind.
wt --particle terminal velocity.
dbz --reflectivity factor.

SEE ALSO:

ngradcart

CONTRIBUTORS:

Carlos Lopez Carrillo, Dave Raymond

GRC, New Mexico Tech