#
# Sample GrADS table for Dynamic User Defined Commands/Functions.
# There are 2 types of extensions: 
#
#    udc   user defined commands
#    udf   user defined functions
#
# This implementation requires GrADS v2.0.a4.oga.3 or later
#.................................................................

#      A
#      P   GrADS     Library      Library              Short
# Type I  Function   Function      Path              Description
# ---- - ---------- ---------- ------------ ------------------------------  
  udc  0  " "        " "        " "    "Environment Variables"
  udc  0  printenv   c_xenv     ^env.gex    "Expand environment variables"
  udc  0  runenv     c_env      ^env.gex    "Expand env vars and run command"
  udc  0  @          c_env      ^env.gex    "Expand env vars and run command"
  udc  0  getenv     c_getenv   ^env.gex    "Get value of environment variable"
  udc  0  setenv     c_setenv   ^env.gex    "Set value of environment variable"

#..........................................................................


#
# Sample GrADS table for Dynamic User Defined Commands/Functions.
# There are 2 types of extensions: 
#
#    udc   user defined commands
#    udf   user defined functions
#
# This feature requires OpenGrADS v2.0.a4.oga.3 or later.
#.................................................................

#      A
#      P   GrADS     Library      Library                 Short
# Type I  Function   Function      Path                Description
# ---- - ---------- ---------- -------------- -------------------------------  
  udf  0  " "        " "        " "    "Ben-Jei Tsuang's Extensions"
  udf  0  lt         f_bjt      ^libbjt.gex   "Local time"
  udf  0  jd         f_bjt      ^libbjt.gex   "Julian day"
  udf  0  cosz       f_bjt      ^libbjt.gex   "Cosine solar zenith angle"
  udf  0  dayratio   f_bjt      ^libbjt.gex   "Daylight ratio"
  udf  0  if         f_bjt      ^libbjt.gex   "Conditional function"
  udf  0  maxv       f_bjt      ^libbjt.gex   "Maximum value"
  udf  0  minv       f_bjt      ^libbjt.gex   "Minimum value"
  udf  0  which      f_bjt      ^libbjt.gex   "Label gridpoints"
  udf  0  ftest      f_bjt      ^libbjt.gex   "F-test"
  udf  0  ttest      f_bjt      ^libbjt.gex   "T-test"
  udf  0  tfit       f_bjt      ^libbjt.gex   "Point  linear regression"
  udf  0  fit        f_bjt      ^libbjt.gex   "Global linear regression"
  udf  0  tcorr2     f_bjt      ^libbjt.gex   "Time correlation"
  udf  0  tregr2     f_bjt      ^libbjt.gex   "Point linear regression"
  udf  0  tmave2     f_bjt      ^libbjt.gex   "Time averaging w/masking"
  udf  0  madvu      f_bjt      ^libbjt.gex   "Calculates -d(u*EXPR)/dx"
  udf  0  madvv      f_bjt      ^libbjt.gex   "Calculates -d(V*EXPR)/dy"
  udf  0  madvw      f_bjt      ^libbjt.gex   "Calculates -d(W*EXPR)/dp"
  udf  0  muadv      f_bjt      ^libbjt.gex   "Zonal advection"
  udf  0  mvadv      f_bjt      ^libbjt.gex   "Meridional advection"
  udf  0  mwadv      f_bjt      ^libbjt.gex   "Vertical advection"
  udf  0  satvap     f_bjt      ^libbjt.gex   "Saturated vapor pressure"
  udf  0  dew        f_bjt      ^libbjt.gex   "Dew point temperature"
  udf  0  lw         f_bjt      ^libbjt.gex   "Thermal infrared fluxes"
  udf  0  lw2        f_bjt      ^libbjt.gex   "Thermal infrared fluxes v2"
  udf  0  pinterp    f_bjt      ^libbjt.gex   "Pressure interpolation"
  udf  0  zinterp    f_bjt      ^libbjt.gex   "Height interpolation"
  udf  0  line       f_bjt      ^libbjt.gex   "Draws a line"
  udf  0  vint2      f_bjt      ^libbjt.gex   "Mass-weighted vertical integral"
#..........................................................................


#
# Sample GrADS table for Dynamic User Defined Commands/Functions.
# There are 2 types of extensions: 
#
#    udc   user defined commands
#    udf   user defined functions
#
# This feature requires OpenGrADS v2.0.a4.oga.3 or later.
#.................................................................

#      A
#      P   GrADS     Library      Library                 Short
# Type I  Function   Function      Path                Description
# ---- - ---------- ---------- -------------- -------------------------------  
  udf  0  " "        " "        " "    "Streamfunction & Velocity Potential" 
  udf  0  fish       f_fish     ^fish.gex     "Poisson solver"
  udf  0  fish_psi   f_psichi   ^fish.gex     "Compute streamfunction"
  udf  0  fish_chi   f_psichi   ^fish.gex     "Compute velocity potential"
  udf  0  fish_vor   f_psichi   ^fish.gex     "Compute vorticity"
  udf  0  fish_div   f_psichi   ^fish.gex     "Compute divergence"
#..........................................................................


#
# Sample GrADS table for Dynamic User Defined Commands/Functions.
# There are 2 types of extensions: 
#
#    udc   user defined commands
#    udf   user defined functions
#
# This feature requires GrADS v2.0.a4.oga.3 or later.
#.................................................................

#      A
#      P   GrADS     Library      Library                 Short
# Type I  Function   Function      Path                Description
# ---- - ---------- ---------- -------------- -------------------------------  
# udf  0   x_cdiff   f_gsudf    ^gsudf.gex    "Like cdiff() with larger domain"
# udf  0   speed     f_gsudf    ^gsudf.gex    "The mag() function as gsUDF"
  udf  0   " "       " "        " "           "Saakeskus Wx Function Collection"
  udf  0   dewpt     f_gsudf    ^gsudf.gex    "Dew-point temperature"
  udf  0   ept       f_gsudf    ^gsudf.gex    "Equivalent potential temperature"
  udf  0   epi       f_gsudf    ^gsudf.gex    "Potential Instability"
  udf  0   plcl      f_gsudf    ^gsudf.gex    "Pressure at LCL"
  udf  0   shear     f_gsudf    ^gsudf.gex    "Wind Shear"
  udf  0   srh1km    f_gsudf    ^gsudf.gex    "Storm-relative Helicity 0-1km'
  udf  0   srh3km    f_gsudf    ^gsudf.gex    "Storm-relative Helicity 0-3km'
  udf  0   tlcl      f_gsudf    ^gsudf.gex    "Temperature at LCL"#
  udf  0   tsindex   f_gsudf    ^gsudf.gex    "Chance of T-storm Initiation"
  udf  0   ttindex   f_gsudf    ^gsudf.gex    "Total Totals Index"
  udf  0   wchill    f_gsudf    ^gsudf.gex    "Wind Chill Index (New)"
#.............................................................................
#
# Sample GrADS table for Dynamic User Defined Commands/Functions.
# There are 2 types of extensions: 
#
#    udc   user defined commands
#    udf   user defined functions
#
# This feature requires OpenGrADS v2.0.a4.oga.3 or later.
#.................................................................

#      A
#      P   GrADS     Library      Library                 Short
# Type I  Function   Function      Path                Description
# ---- - ---------- ---------- -------------- -------------------------------  
  udc  0  " "        " "        " "    "GxYAT: Image Generation"
  udc  0   gxyat     c_gxyat     ^gxyat.gex   "Save images in PNG/SVG/PDF/PS"
  udc  0   set_rgba  c_rgba      ^gxyat.gex   "Set color red/green/blue/alpha"
#..........................................................................


#
# Sample GrADS table for Dynamic User Defined Commands/Functions.
# There are 2 types of extensions: 
#
#    udc   user defined commands
#    udf   user defined functions
#
# This feature requires OpenGrADS v2.0.a4.oga.3 or later.
#.................................................................

#      A
#      P   GrADS     Library      Library              Short
# Type I  Function   Function      Path              Description
# ---- - ---------- ---------- -------------- -------------------------------  
  udc  0  " "        " "        " "    "Simple Extension Example"
  udc  0   hello     c_hello   ^libhello.gex  "Hello, World! sample command"
  udf  0  " "        " "        " "    "Simple Extension Example"
  udf  0   hello     f_hello   ^libhello.gex  "Hello, World! sample function"
#..........................................................................


#
# Sample GrADS table for Dynamic User Defined Commands/Functions.
# There are 2 types of extensions: 
#
#    udc   user defined commands
#    udf   user defined functions
#
# This feature requires OpenGrADS v2.0.a4.oga.3 or later.
#.................................................................

#      A
#      P   GrADS     Library      Library                 Short
# Type I  Function   Function      Path                Description
# ---- - ---------- ---------- -------------- -------------------------------  
  udc  0  " "        " "        " "    "Interprocess Communication"
  udc  0  ipc_verb   c_Verb     ^libipc.gex   "IPC verbose toggle"
  udc  0  ipc_open   c_Open     ^libipc.gex   "Open stream for save/load"
  udc  0  ipc_close  c_Close    ^libipc.gex   "Close stream"
  udc  0  ipc_save   c_Save     ^libipc.gex   "Save expression to stream"
  udc  0  ipc_define c_Define   ^libipc.gex   "Define variable (obsolete)"
  udc  0  ipc_error  c_Error    ^libipc.gex   "Print IPC error message"
# 
  udf  0  " "        " "        " "    "Interprocess Communication"
  udf  0  ipc_save   f_Save     ^libipc.gex   "Save expression to stream"
  udf  0  ipc_load   f_Load     ^libipc.gex   "Load variable from file"
#..........................................................................


#
# Sample GrADS table for Dynamic User Defined Commands/Functions.
# There are 2 types of extensions: 
#
#    udc   user defined commands
#    udf   user defined functions
#
# This feature requires OpenGrADS v2.0.a4.oga.3 or later.
#.................................................................

#      A
#      P   GrADS     Library      Library                 Short
# Type I  Function   Function      Path                Description
# ---- - ---------- ---------- -------------- -------------------------------  
  udc  0  " "        " "        " "    "LATS: File Reformatting and Subsetting" 
  udc  0  set_lats   c_lats_set    ^liblats.gex  "Set LATS parameters"
  udc  0  query_lats c_lats_query  ^liblats.gex  "Query LATS parameters"
  udc  0  lats_grid  c_lats_grid   ^liblats.gex  "Define LATS grid"
  udc  0  lats_data  c_lats_data   ^liblats.gex  "Write data to LATS file"
  udc  0  reinit_lats c_lats_reinit  ^liblats.gex  "Re-init LATS parameters"
#..........................................................................


#
# Sample GrADS table for Dynamic User Defined Commands/Functions.
# There are 2 types of extensions: 
#
#    udc   user defined commands
#    udf   user defined functions
#
# This feature requires OpenGrADS v2.0.a4.oga.3 or later.
#.................................................................

#      A
#      P   GrADS     Library      Library                 Short
# Type I  Function   Function      Path                Description
# ---- - ---------- ---------- -------------- ------------------------------- 
   udc 0  " "        " "        " "    "Mike Fiorino's Extensions"
   udc 0   mfhilo    c_mfhilo   ^libmf.gex    "Find max/min or H/L in 2D field"
   udc 0   tcprop    c_tcprop   ^libmf.gex    "Properties radinf from central lon/lat"
   udc 0   tcxy2rt   c_tcxy2rt  ^libmf.gex    "cartesian -> cylindrical coords results only scriptvar RESULT"
   udc 0   grhist    c_grhist   ^libmf.gex    "histogram of expr"
#
   udf  0  " "        " "        " "    "Mike Fiorino's Extensions"
   udf 0   smth2d    f_smth2d   ^libmf.gex    "Shuman smoother/de-smoother"
   udf 0   xy2rt     f_xy2rt    ^libmf.gex    "cartesian -> cylindrical coord"
   udf 0   uv2trw    f_uv2trw   ^libmf.gex    "Find radial/tangential velocity"
   udf 0   re2       f_re2      ^libmf.gex    "General interpolator (regrid2)"
   udf 0   esmrf     f_esmrf    ^libmf.gex    "Saturation vapor pressure (old MRF)"
   udf 0   linreg    f_linreg   ^libmf.gex    "Linear regression: mx + b"
#..............................................................................




#
# Sample GrADS table for Dynamic User Defined Commands/Functions.
# There are 2 types of extensions: 
#
#    udc   user defined commands
#    udf   user defined functions
#
# This feature requires OpenGrADS v2.0.a4.oga.3 or later.
#.................................................................

#      A
#      P   GrADS     Library      Library                 Short
# Type I  Function   Function      Path                Description
# ---- - ---------- ---------- -------------- -------------------------------  
  udc  0  " "        " "        " "    "Satellite Orbit Extensions"
  udc  0  set_orb    c_set      ^orb.gex      "Set ORB parameters"
  udc  0  orb_track  c_track    ^orb.gex      "Satellite ground tracks"
  udf  0  " "        " "        " "    "Satellite Orbit Extensions"
  udf  0  orb_mask   f_mask     ^orb.gex      "Satellite orbit masking"
#..........................................................................


#
# Sample GrADS table for Dynamic User Defined Commands/Functions.
# There are 2 types of extensions: 
#
#    udc   user defined commands
#    udf   user defined functions
#
# This feature requires GrADS v2.0.a4.oga.3 or later.
#.................................................................

#      A
#      P   GrADS     Library      Library                 Short
# Type I  Function   Function      Path                Description
# ---- - ---------- ---------- -------------- -------------------------------  
  udf  0  " "        " "        " "    "Regridding Functions"
  udf  0   re        ffre       ^re.gex       "General interpolator"
  udf  0   re_       ffre_dbg   ^re.gex       "General interpolator (verbose)"
  udf  0   regrid2   f_gsudf    ^gsudf.gex    "regrid2-like wrapper for re()"
  udf  0   geos      f_gsudf    ^gsudf.gex    "Interpolation to GEOS-5 Grids"
  udf  0   reimg     f_gsudf    ^gsudf.gex    "Interpolation for Image Generation'
#.............................................................................


#
# Sample GrADS table for Dynamic User Defined Commands/Functions.
# There are 2 types of extensions: 
#
#    udc   user defined commands
#    udf   user defined functions
#
# This feature requires GrADS v2.0.a4.oga.3 or later.
#.................................................................

#      A
#      P   GrADS     Library      Library                 Short
# Type I  Function   Function      Path                Description
# ---- - ---------- ---------- -------------- -------------------------------  
  udc  0  " "        " "        " "    "Shapefile Extensions"
  udc  0  shp_lines  c_lines    ^shape.gex    "Draw lines    from shapefile"
  udc  0  shp_polyf  c_polyf    ^shape.gex    "Draw polygons from shapefile"
# udc  0  shp_print  c_print    ^shape.gex    "Print graphics as shapefile"
#..........................................................................


#
# Sample GrADS table for Dynamic User Defined Commands/Functions.
# There are 2 types of extensions: 
#
#    udc   user defined commands
#    udf   user defined functions
#
# This feature requires OpenGrADS v2.0.a4.oga.3 or later.
#.................................................................

#      A
#      P   GrADS     Library      Library                 Short
# Type I  Function   Function      Path                Description
# ---- - ---------- ---------- -------------- -------------------------------  
  udf  0  " "        " "        " "    "Spherical Harmonic Analysis"
  udf  0  sh_filt    f_shfilt   ^shfilt.gex   "Spherical harmonic filter"
  udf  0  sh_power   f_shpowr   ^shfilt.gex   "Spherical harmonic spectra"
#..........................................................................


