Friday, September 26, 2014

IDL Syntax

1. IDL Routines Syntax 

Refer to : http://www.physics.nyu.edu/grierlab/idl_html_help/idl_alph.html

 

 2. IDL Statement Syntax

Refer to :  https://www.astro.virginia.edu/class/oconnell/astr511/IDLresources/idl-syntx-sterner.html

Index

Definitions
Assignment
If
For
While
Repeat
Case
Goto
Block
Common
Procedure
Function

Some definitions


  • Operators: Items like +,-,*,/ and so on.
  • Constants: Items like 3, [3,2,5], "A string", AND, OR, and so on.
  • Variables: A named item used to store a value.
  • Expression: A constant, variable, or set of constants and/or variables combined by operators.
  • Statement: A single IDL statement or a statement block (see below).
  • Routine: A procedure or a function.


Assignment


  • Purpose: place a value in a variable.
  • Syntax: Variable = expression
  • Examples:
    • x = 7
    • num = [12,32,52,12]
    • y = 3*x^2 + 7*x - 5
    • cat = dog
  • Notes: expression may be a constant, variable, or combination of terms and operators


If


  • Purpose: Conditionally execute a statement.
  • Syntax:
    if expression then statement
    if expression then statement1 else statement2
  • Examples:
    • if y lt 0 then t=2
    • if y lt 0 then t=2 else t=3
    •  if y lt 0 then begin
          t=2
          txt='Negative'
        endif
    •  if y lt 0 then begin
          t=2
          txt='Negative'
        endif else begin
          t=3 
          txt='Non-negative'
        endelse
        
    • if ((x gt -2) and (x lt 3)) and ((y gt 5) and (y lt 8)) then t=2
  • Notes: For complicated expressions parentheses may be used to make sure expression has the desired meaning.


For Loops


  • Purpose: Repeat a statement a specified number of times.
  • Syntax: for variable = init, limit, step do statement
  • Examples:
    • for i=0,9 do print,i
    • for t=1.0, 0.01, -.01 do plots,x*t,y*t
    •   for ix=0L, n, 10 do begin
          x(j) = xx(ix)
          j = j+1
          print,ix
        endfor 
  • Notes: The loop variable has the same data type as the initial value (init above). Make sure to use the correct data type for the initial value. A common error is: for t=0,1,.1 do ... which gives an infinite loop since .1 added to an integer variable does nothing. This is easily fixed: t=0.,1,.1 (note the 0. instead of 0). Another common error is not forcing a loop variable to be a long integer when the loop can go above 32767. The fix is: for i=0L,... A for loop may be executed 0 times if the loop variable starts beyond the loop limit.


While Loops


  • Purpose: Repeat a statement while some condition is true.
  • Syntax: while expression do statement
  • Examples:
    • while x gt 0 do x=x-1
    •   while not eof(lun) do begin
          readf,lun,txt
          print,txt
        endwhile
  • Notes: A while statement may be executed 0 or more times depending on the value of the expression.


Repeat Loops


  • Purpose: Repeat a statement until some condition is true.
  • Syntax: repeat statement until expression
  • Examples:
    • repeat x=x-1 until x le 0
    •   repeat begin
          readf, lun, x
          x = x-c
        endrep until x le 0
        
  • Notes: A repeat statement is always executed at least once.


Case


  • Purpose: Selectively execute a statement based on the value of an expression.
  • Syntax:
    case expression of
       expression:    statement
       . . .
       expression:    statement
       else:          statement
    endcase 
  • Examples:
    •        case animal of
      'cat':   print,'meow'
      'dog':   print,'arf arf'
      'bird':  print,'tweet tweet'
      else:    print,'??'
             endcase
    •        case t>0<2 of
      0:       begin
                 txt = 'red'
                 err = 0
               end
      1:       begin
                 txt = 'green'
                 err = 0
               end
      2:       begin
                 txt = 'blue'
                 err = 1
               end
             endcase
  • Notes: The expression following the word case is compared to a list of expressions. The statement corresponding to the first match is executed. If no match is found the statement following the else is executed. Else is optional but if no match is found and else is not included an error will result.


Goto


  • Purpose: Jump to a specified label in a routine.
  • Syntax: goto, label
  • Examples:
    •        . . .
      loop:
             . . .
             goto, loop
    •        . . .
             goto, err
             . . .
      err:   print,' Error ...'
             . . .  
  • Notes: May only be used in routines. Program flow jumps to the specified label. If label does not occur in the routine a compile error results.


Blocks


  • Purpose: Allows multiple statements to be executed anywhere a single statement is allowed.
  • Syntax:
      begin
        statement 1
        . . .
        statement n
      end
      
  • Examples:
    • if x lt 0 then begin print,x & a=2 & endif
    • for i=0, 10 do begin readf, lun, txt & print,txt & endfor
  • Notes: The plain end statement may be replaced by a more specific end statement for the following cases: if, else, for, while, and repeat. The corresponding end statements are: endif, endelse, endfor, endwhile, and endrep. While not enforced, these should always be used so the compiler can do better error checking. Only the case statement uses the plain begin/end pair to execute multiple statements for a match (the endcase is not really one of the end statements).


Common


  • Purpose: Share variables between routines or remember values between calls to a routine.
  • Syntax: common name, variable_1, variable_2, . . . variable_n, name is the name of the common block. Variables are matched by position so need not have the same name in each routine.
  • Examples:
    • common xkodak_com, x, y, dx, dy, file, count
    • common random_plot_com, seed
  • Notes: A single routine may use a common to save the value of a variable between calls. Some examples of where this is useful: to remember default values, to remember a seed value for the randomu (or randomn) function since the system clock is used if no seed is given and for fast computers the same seed may be used for several calls. Several routines may use a common to share status values. In such cases it is useful to store the common in a separate file and include it in each routine (@filename where @ is in column 1). This way only a single copy of the common need be maintained.
    A good way to name commons is to use the main routine name followed by _com, like xkodak_com. This helps prevent the accidental use of the same name for diffrent commons.


Procedure definition


  • Purpose: Specify a procedure name and parameters.
  • Syntax: pro name, parameter_1, parameter_2, ... parameter_n name is the name of the procedure.
  • Examples:
    • pro test, a, b, c
    • pro compute, x, y, z, flag=flg, help=hlp
  • Notes: A procedure must end with an end statement and may have one or more return statements inside. If program flow reaches the final end statement a return is implied. Example calls to the above procedures:
    test, 2, 3, out
    compute, x, y, z, /flag


Function definition


  • Purpose: Specify a function name and parameters.
  • Syntax: function name, parameter_1, parameter_2, ... parameter_n name is the name of the function.
  • Examples:
    • function test, a, b, c
    • function compute, x, y, z, flag=flg, help=hlp
  • Notes: A function must end with an end statement and must have one or more return statements inside. A return statement in a function must include the return value: return, value. Example calls to the above procedures:
    a = test(2, 3, 5)
    t = compute(x, y, z, /flag)

Wednesday, September 17, 2014

Radiance Monitoring statistics type chart













Radiance Monitoring file structure


1. working space :

1.1) vrfyrad  :    one dir per cycle
/data/dxu/wk_tmp/dxu

drwxr-xr-x  2 dxu domain users   4096 Sep 16 17:03 gdas_vrfyrad_2014060812.13926
drwxr-xr-x  2 dxu domain users   4096 Sep 16 17:03 gdas_vrfyrad_2014060912.32040
drwxr-xr-x  2 dxu domain users   4096 Sep 16 17:03 gdas_vrfyrad_2014060918.17849
drwxr-xr-x  2 dxu domain users   4096 Sep 16 17:03 gdas_vrfyrad_2014061000.6890
drwxr-xr-x  2 dxu domain users   4096 Sep 16 17:03 gdas_vrfyrad_2014061012.11715
drwxr-xr-x  2 dxu domain users   4096 Sep 16 17:04 gdas_vrfyrad_2014061018.5946
-rw-r--r--  1 dxu domain users  19453 Sep 16 17:04 jlogfile_kgarrett_radmon
drwxr-xr-x  2 dxu domain users   4096 Sep 16 17:04 gdas_vrfyrad_2014061006.8633

eg:
/data/dxu/wk_tmp/dxu/gdas_vrfyrad_2014061018.5946
diag_mhs_metop-a_anl.2014061018    radmon_time                     stdout.sndrd2_g13
diag_mhs_metop-b_anl.2014061018    scaninfo.txt                    stdout.sndrd2_g15
diag_mhs_n18_anl.2014061018        seviri_m10                      stdout.sndrd3_g13
diag_mhs_n19_anl.2014061018        seviri_m10.ctl                  stdout.sndrd3_g15


1.2) imgn: one dir for all cycles
/data/dxu/wk_tmp/dxu
drwxr-xr-x  2 dxu domain users 163840 Sep 16 18:10 plot_summary_kgarrett_radmon.2014061018
drwxr-xr-x  6 dxu domain users   4096 Sep 17 11:33 plotjobs_kgarrett_radmon

/data/dxu/wk_tmp/dxu/plotjobs_kgarrett_radmon

-rw-r--r--   1 dxu domain users   2400 Sep 16 17:23 cmdfile_psummary
drwxr-xr-x 100 dxu domain users  20480 Sep 16 17:48 plotangle_kgarrett_radmon
drwxr-xr-x  88 dxu domain users  16384 Sep 16 18:07 plotbcor_kgarrett_radmon
drwxr-xr-x   2 dxu domain users 532480 Sep 16 18:14 plot_bcoef_kgarrett_radmon.2014061018
drwxr-xr-x  48 dxu domain users  12288 Sep 16 18:18 plot_time_kgarrett_radmon


2. log files
2.1) vrfyrad  : one JOB log per cycle
/home/dxu
-rw-r--r-- 1 dxu domain users 18430 Sep 16 17:03 data_extract_kgarrett_radmon.o3033152
-rw-r--r-- 1 dxu domain users 18430 Sep 16 17:03 data_extract_kgarrett_radmon.o3033153
-rw-r--r-- 1 dxu domain users 18444 Sep 16 17:03 data_extract_kgarrett_radmon.o3033154
-rw-r--r-- 1 dxu domain users 18430 Sep 16 17:03 data_extract_kgarrett_radmon.o3033156
-rw-r--r-- 1 dxu domain users 18418 Sep 16 17:04 data_extract_kgarrett_radmon.o3033157
-rw-r--r-- 1 dxu domain users 18426 Sep 16 17:04 data_extract_kgarrett_radmon.o3033155

eg: vi  data_extract_kgarrett_radmon.o3033155
/data/kgarrett/rad_files/cntrl/radstat.gdas.2014061006 is available
/data/kgarrett/rad_files/cntrl/biascr.gdas.2014061006 is available

2.2) imgn log files
a) one log file per instrument per statistics type
/data/dxu/log_tmp/dxu/logs/radkgarrett_radmon
plot_angle_cris_npp_ordang1.log    plot_angle_iasi_metop-b_scangl.log
plot_angle_cris_npp_ordang2.log    plot_angle_iasi_metop-b_sin.log
plot_angle_cris_npp_ordang3.log    plot_angle_iasi_metop-b_total.log
plot_angle_cris_npp_ordang4.log    plot_angle_sndrd2_g15.log
plot_angle_cris_npp_penalty.log    plot_angle_sndrd3_g13.log

b) JOB log file:   one JOB log file per instrument per statistics type
/home/dxu
-rw-r--r-- 1 dxu domain users      0 Sep 17 12:04 plot_kgarrett_radmon_tm_iasi_metop-b_omgbc.pe3034482
-rw-r--r-- 1 dxu domain users 130139 Sep 17 12:13 plot_kgarrett_radmon_tm_iasi_metop-b_omgbc.e3034482




3. output data
3.1) vrfyrad    :  one dir per cycle
/data/dxu/radmon_tank/stats/kgarrett_radmon
rwxrwxr-x 2 dxu domain users 36864 Sep 16 17:01 radmon.20140605
rwxr-xr-x 2 dxu domain users 45056 Sep 16 17:02 radmon.20140606
rwxr-xr-x 2 dxu domain users 40960 Sep 16 17:02 radmon.20140607
rwxr-xr-x 2 dxu domain users 40960 Sep 16 17:03 radmon.20140608
rwxrwxr-x 2 dxu domain users 49152 Sep 16 17:03 radmon.20140609
rwxr-xr-x 2 dxu domain users 40960 Sep 16 17:04 radmon.20140610

eg :
/data/dxu/radmon_tank/stats/kgarrett_radmon/radmon.20140610
bcoef.stdout.ssmis_f17.gz                 time.stdout.ssmis_f17.gz
bcoef.stdout.ssmis_f18.gz                 time.stdout.ssmis_f18.gz
bcor.airs_aqua.2014061000.ieee_d.gz

3.2) imgn  :  one dir for all cycles 
/data/dxu/radmon_tank/imgn/kgarrett_radmon/pngs
drwxr-xr-x 2 dxu domain users    4096 Sep 15 19:42 summary
drwxr-xr-x 2 dxu domain users 3379200 Sep 17 11:33 angle
drwxr-xr-x 2 dxu domain users  364544 Sep 17 11:33 bcoef
drwxr-xr-x 2 dxu domain users 2777088 Sep 17 11:33 bcor
drwxr-xr-x 2 dxu domain users  933888 Sep 17 11:33 time

eg:
/data/dxu/radmon_tank/imgn/kgarrett_radmon/pngs/time



Friday, September 12, 2014

calculus introduction

This site seems to be best site introducing calculus.

http://www.wyzant.com/resources/lessons/math/calculus/integration/ftoc 


math word

algebra : 代数 is  the study of operations
calculus :  积分 is the mathematical study of change : the branch of mathematics that
         deals with the finding and properties of derivatives and integrals of
         functions, by methods originally based on the summation of infinitesimal
         differences. The two main types are differential calculus(微分) and
         integral calculus (积分).
geometry : 几何 is the study of shape : the branch of mathematics concerned
        with the properties and relations of points, lines, surfaces, solids, and
        higher dimensional analogs.
dividend : number to be divided 

Tuesday, September 9, 2014

Hurricane forecast models

Hurricane forecast models

Refer to here:  http://www.nhc.noaa.gov/modelsummary.shtml
                        http://derecho.math.uwm.edu/models/models.html

Official Forecasts
These five identifiers represent forecasts issued by NOAA's National Hurricane Center (NHC), Central Pacific Hurricane Center (CPHC), Weather Prediction Center (formerly Hydrometeorological Prediction Center), and Ocean Prediction Center. While derived from official sources of information, they should NOT be considered to be official.
OFCL Official NHC/CPHC Forecast
OFCI Official NHC/CPHC Forecast Interpolated Ahead 6 hr
OHPC Official Hydrometeorological Prediction Center Forecast
OOPC Official Ocean Prediction Center Forecast
Dynamical Models
These identifiers represent forecasts obtained from weather forecast models that solve mathematical equations that describe how wind, temperature, and moisture evolve within the atmosphere. Most of these models forecast the weather over the entire globe and are not specifically designed for tropical storm and hurricane forecasting.
AVNO / GFSO Global Forecast System Model Forecast
AVNI / GFSI Previous GFS Forecast Interpolated Ahead 6 hr
AP## GFS Ensemble Member Forecast (## = 01 to 20)
AEMN GFS Ensemble Mean Forecast
AEMI Previous AEMN Forecast Interpolated Ahead 6 hr
CMC Canadian Global Model Forecast
CMCI Previous CMC Forecast Interpolated Ahead 6 hr
COTC U.S. Navy COAMPS-TC Model Forecast
COTI U.S. Navy COAMPS-TC Model Forecast Interpolated Ahead 6 hr
COAL U.S. Navy COAMPS-TC Model Forecast, Atlantic Basin
COAI Previous COAMPS-TC Atlantic Forecast Interpolated Ahead 6 hr
COCE U.S. Navy COAMPS-TC Model Forecast, E. Pacific Basin
COEI Previous COAMPS-TC E. Pacific Forecast Interpolated Ahead 6 hr
EGRR / UKX UKMET Model Forecast
EGRI / UKXI Previous UKMET Forecast Interpolated Ahead 6 hr
EMX / ECMF ECMWF Model Forecast (rare)
EMXI Previous ECMWF Forecast Interpolated Ahead 6 hr (rare)
NAM North American Mesoscale Model Forecast
NAMI Previous NAM Forecast Interpolated Ahead 6 hr
NGPS / NGX U.S. Navy NOGAPS Model Forecast
NGPI / NGXI Previous NOGAPS Forecast Interpolated Ahead 6 hr
NVGM U.S. Navy NAVGEM Model Forecast
NVGI Previous NAVGEM Forecast Interpolated Ahead 6 hr
Limited-Area Dynamical Models
These identifiers represent forecasts obtained from weather forecast models that solve mathematical equations that describe how wind, temperature, and moisture evolve within the atmosphere. Unlike the "Dynamical Models" above, however, these models forecast the weather only over a small portion of the globe and are specifically developed to forecast tropical storms and hurricanes.
GFDL GFDL Hurricane Model Forecast Track/Intensity
GFDI Previous GFDL Forecast Interpolated Ahead 6 hr
GHMI Previous Intensity-Modified GFDL Forecast Interpolated Ahead 6 hr
GFDT GFDL Forecast Using a Different Vortex Tracking Algorithm
GFTI Previous GFDT Forecast Interpolated Ahead 6 hr
GFDN Navy-Initialized Version of the GFDL Hurricane Model
GFNI Previous Navy-Initialized GFDL Forecast Interpolated Ahead 6 hr
GFDE Extrapolated GFDL Forecast
HWRF HWRF Hurricane Model Forecast Track/Intensity
HWFI Previous HWRF Forecast Interpolated Ahead 6 hr
Consensus Models
These identifiers represent forecasts obtained from the average, or consensus, of multiple weather forecast model track and/or intensity forecasts. Simple averaging, weighted averaging, and bias-corrected averaging procedures may be used, depending upon the consensus model in question.
IVCN Variable Intensity Consensus of DSHP, LGEM, HWFI, GHMI, and GFNI Models
GUNA Consensus of AVNI, GFDI, EGRI and NGPI Model Track Forecasts
CGUN Bias-Corrected GUNA Forecast
TCON / TCOE Consensus of AVNI, EGRI, NGPI, GHMI, and HWFI Model Track Forecasts
TCOA Consensus of AVNI, EGRI, GHMI, and HWFI Model Track Forecasts
TCCN Bias-Corrected TCON Forecast
TVCN Variable Consensus of AVNI, EGRI, EMXI, NGPI, GHMI, HWFI Model Track Forecasts
TVCE Variable Consensus of AVNI, EGRI, EMXI, NGPI, GHMI, GFNI, HWFI Model Track Forecasts
TVCA Variable Consensus of AVNI, EGRI, EMXI, GHMI, GFNI, HWFI Model Track Forecasts
TVCC Bias-Corrected TVCN Forecast
RYOC / MYOC Forecaster-Generated Consensus Guidance (rare)
Statistical and Statistical-Dynamical Models
These identifiers represent forecasts obtained from weather forecast models that solve statistical equations that describe how a tropical storm or hurricane moves and/or changes intensity in response to climatology and/or present and forecast weather conditions in its proximity. These models are less complex than the "Dynamical Models" and "Limited-Area Dynamical Models" described above; however, many of them are as skillful, if not more skillful, than the more complex models.
A98E NHC-98 Track Model (old, unreliable)
BAMD Deep-Layer Beta and Advection Model Track Forecast
BAMM Medium-Layer Beta and Advection Model Track Forecast
BAMS Shallow-Layer Beta and Advection Model Track Forecast
CLIP 72-hr Climatology and Persistence Track Forecast
CLP5 120-hr Climatology and Persistence Track Forecast
LBAR Limited Area Barotropic Model Track Forecast (old, unreliable)
LGEM Logistical Growth Error Model Intensity Forecast
SHFR 72-hr SHIFOR Model Intensity Forecast
SHF5 120-hr SHIFOR Model Intensity Forecast
DSHF 120-hr Decay SHIFOR Model Intensity Forecast
SHIP SHIPS Model Intensity Forecast
DSHP Decay SHIPS Model Intensity Forecast
DRCL DeMaria Climatology and Persistence Model Intensity Forecast
MRCL McAdie Climatology and Persistence Model Intensity Forecast
RI## Rapid Intensification Aid (## = 25, 30, 35, 40)
Experimental Models (HFIP Stream 1.5)
From time to time, additional models in the Hurricane Forecast Improvement Program, or HFIP, quasi-operational "Stream 1.5" may appear within the guidance products. The identifiers below represent forecasts from models that NHC forecasters are currently evaluating for possible future use in actual NHC forecast operations. The most up-to-date information on these experimental products may always be found at the HFIP Home Page.
FIM9 Finite-Volume Icosahedral Model Forecast
FM9I Previous FIM9 Forecast Interpolated Ahead 6 hr
CTCX Experimental U.S. Navy COAMPS-TC Model Forecast
CXTI Previous Experimental COAMPS-TC Forecast Interpolated Ahead 6 hr
HWFH Experimental NOAA/HRD HWRF Forecast
HWHI Previous Experimental NOAA/HRD HWRF Forecast Interpolated Ahead 6 hr
GP## GFDL Ensemble Member Forecast (## = 00 to 09)
GPMN GFDL Ensemble Mean Forecast
GPMI Previous GFDL Ens. Mean Forecast Interpolated Ahead 6 hr
HHYC HWRF with HYCOM Ocean Model
HHYI Previous HWRF with HYCOM Ocean Model Forecast Interpolated Ahead 6 hr
HW## HWRF Ensemble Member Forecast (## = 00 to 20)
HWMN HWRF Ensemble Mean Forecast
HWMI Previous HWRF Ens. Mean Forecast Interpolated Ahead 6 hr
UWN4 University of Wisconsin NMS Model Forecast
UW4I Previous UW NMS Forecast Interpolated Ahead 6 hr
TV15 Consensus of Available HFIP Stream 1.5 Model Forecasts
MMSE FSU Multimodel Superensemble
SPC3 Statistical Prediction of Intensity Forecast (six members)
Early Versus Late Models
The National Hurricane Center and other official tropical cyclone forecast centers make use of two different forms of dynamical model guidance during the forecast process: "early" and "late" models. Numerical models are typically run four times per day: 0000, 0600, 1200, and 1800 UTC. These times correspond to 8 pm, 2 am, 8 am, and 2 pm EDT, respectively. However, National Hurricane Center official forecasts are issued at 0300, 0900, 1500, and 2100 UTC. These times correspond to 11 pm, 5 am, 11 am, and 5 pm EDT, respectively. Ideally, model forecasts from the 0000 UTC cycle would be available to help make the 0300 UTC forecast (for example); however, as modern numerical weather prediction models typically require several hours to complete a given forecast cycle, this is often not possible.
To alleviate this, model forecasts from the previous cycle, or 1800 UTC in our current example, are shifted forward in time by 6 hr. This results in what is known as an interpolated, or "early", model that is available at 0000 UTC for forecasters to use when preparing the 0300 UTC forecast. The actual 0000 UTC model forecast, arriving after the 0300 UTC forecast must be made, is known as a "late" model forecast. As you might expect, "late" model forecasts thus form the basis for the subsequent "early" model forecasts. In the lists above, "early" models are those whose designators end in an I (e.g., AVNI, CMCI, etc.). "Late" models have no such notation. Please note that all consensus, statistical, and statistical-dynamical guidance is classified as "early" guidance and is often derived from "early" model output.

Disclaimer: The data displayed here are informational only and should NOT be used for making life and death decisions. Always take the word of official sources - the National Hurricane Center and your local National Weather Service office - when preparing for any potential storm impact. If anything on these plots causes confusion, disregard the information in its entirety. The availability, timeliness, and reliability of these data are not guaranteed, and no liability is implied or expressed by your use of this website.

Friday, September 5, 2014

nabla ∇

Del, or nabla, is an operator used in mathematics, in particular, in vector calculus, as a vector differential operator, usually represented by the nabla symbol .


In the Cartesian coordinate system Rn with coordinates (x_1, \dots, x_n) and standard basis \{ \mathbf{\hat e}_1, \dots, \mathbf{\hat e}_n \}, del is defined in terms of partial derivative operators as
 \nabla = \left( {\partial \over \partial x_1}, \cdots, {\partial \over \partial x_n} \right) = \sum_{i=1}^n \mathbf{\hat e}_i {\partial \over \partial x_i}
In three-dimensional Cartesian coordinate system R3 with coordinates (x, y, z) and standard basis \{ \mathbf{\hat{x}}, \mathbf{\hat{y}}, \mathbf{\hat{z}} \}, del is written as
\nabla = \left( {\partial \over \partial x}, {\partial \over \partial y}, {\partial \over \partial z} \right) = \mathbf{\hat{x}} {\partial \over \partial x} + \mathbf{\hat{y}} {\partial \over \partial y} + \mathbf{\hat{z}} {\partial \over \partial z}

Notational uses

Gradient

The vector derivative of a scalar field f is called the gradient, and it can be represented as:
\nabla f = {\partial f \over \partial x} \mathbf{\hat{x}} + {\partial f \over \partial y} \mathbf{\hat{y}} + {\partial f \over \partial z} \mathbf{\hat{z}}

 

In particular, this notation is powerful because the gradient product rule looks very similar to the 1d-derivative case:
\nabla(f g) = f \nabla g + g \nabla f
However, the rules for dot products do not turn out to be simple, as illustrated by:
\nabla (\vec u \cdot \vec v) = (\vec u \cdot \nabla) \vec v + (\vec v \cdot \nabla) \vec u + \vec u \times (\nabla \times \vec v) + \vec v \times (\nabla \times \vec u)

 Divergence

The divergence of a vector field  \vec{v}(x, y, z) = v_x \mathbf{\hat{x}}  + v_y \mathbf{\hat{y}} + v_z \mathbf{\hat{z}} is a scalar function that can be represented as:
\mbox{div}\,\vec v = {\partial v_x \over \partial x} + {\partial v_y \over \partial y} + {\partial v_z \over \partial z} = \nabla \cdot \vec v  
 
 
The power of the del notation is shown by the following product rule:
\nabla \cdot (f \vec v) = f (\nabla \cdot \vec v) + \vec v \cdot (\nabla f)
The formula for the vector product is slightly less intuitive, because this product is not commutative:
\nabla \cdot (\vec u \times \vec v) = \vec v \cdot (\nabla \times \vec u) - \vec u \cdot (\nabla \times \vec v)

Curl

The curl of a vector field \vec{v}(x, y, z) = v_x\mathbf{\hat{x}}  + v_y\mathbf{\hat{y}} + v_z\mathbf{\hat{z}} is a vector function that can be represented as:
\mbox{curl}\;\vec v = \left( {\partial v_z \over \partial y} - {\partial v_y \over \partial z} \right) \mathbf{\hat{x}} + \left( {\partial v_x \over \partial z} - {\partial v_z \over \partial x} \right) \mathbf{\hat{y}} + \left( {\partial v_y \over \partial x} - {\partial v_x \over \partial y} \right) \mathbf{\hat{z}} = \nabla \times \vec v

Directional derivative

The directional derivative of a scalar field f(x,y,z) in the direction \vec{a}(x,y,z) = a_x \mathbf{\hat{x}} + a_y \mathbf{\hat{y}} + a_z \mathbf{\hat{z}} is defined as:

Laplacian

The Laplace operator is a scalar operator that can be applied to either vector or scalar fields; for cartesian coordinate systems it is defined as:

Tensor derivative

Del can also be applied to a vector field with the result being a tensor. The tensor derivative of a vector field \vec{v} is a 9-term second-rank tensor, but can be denoted simply as \nabla \otimes \vec{v}, where \otimes represents the dyadic product. This quantity is equivalent to the transpose of the Jacobian matrix of the vector field with respect to space.
For a small displacement \delta \vec{r}, the change in the vector field is given by:

Product rules

\nabla (fg) = f\nabla g + g\nabla f
\nabla(\vec u \cdot \vec v) = \vec u \times (\nabla \times \vec v) + \vec v \times (\nabla \times \vec u) + ( \vec u \cdot \nabla) \vec v + (\vec v \cdot \nabla )\vec u
\nabla \cdot (f \vec v) = f (\nabla \cdot \vec v) + \vec v \cdot (\nabla f)
\nabla \cdot (\vec u \times \vec v) = \vec v \cdot (\nabla \times \vec u) - \vec u \cdot (\nabla \times \vec v )
\nabla \times (f \vec v) = (\nabla f) \times \vec v + f (\nabla \times \vec v)
\nabla \times (\vec u \times \vec v) = \vec u \, (\nabla \cdot \vec v) - \vec v \, (\nabla \cdot \vec u) + (\vec v \cdot \nabla) \, \vec u - (\vec u \cdot \nabla) \, \vec v
 \delta \vec{v} = (\nabla \otimes \vec{v}) \sdot \delta \vec{r}
\Delta = {\partial^2 \over \partial x^2} + {\partial^2 \over \partial y^2} + {\partial^2 \over \partial z^2} = \nabla \cdot \nabla = \nabla^2
\vec{a}\cdot\mbox{grad}\,f = a_x {\partial f \over \partial x} + a_y {\partial f \over \partial y} + a_z {\partial f \over \partial z} = (\vec a \cdot \nabla) f
\mbox{div}\,\vec v = {\partial v_x \over \partial x} + {\partial v_y \over \partial y} + {\partial v_z \over \partial z} = \nabla \cdot \vec v

math symbol pronunciation