===========================
NCAR Command Language (NCL)
===========================
|
`NCL `_ is an interpreted language designed for scientific data analysis and visualization.
|
.. note::
* You will be using NCL version 6.6.2, which includes all functions necessary for creating plots
* We recommend using an existing sample script as template, and then modifying it to suit your needs, if you want to make modifications
|
Available NCL Scripts
=====================
Below are the pre-written sample scripts are available from your *wrf/test/em_real* directories, but can also be found in */glade/campaign/mmm/wmr/wrf_tutorial/WRF_NCL_scripts*.
|
Scripts for Real-data Cases
---------------------------
|
.. csv-table::
:widths: 25, 25, 25
:width: 75%
CreateTracks.ncl, wrf_AdaptiveTime.ncl, wrf_cape.ncl
wrf_Cloud.ncl, wrf_Cross2D.ncl, wrf_CrossSection_1.ncl
wrf_CrossSection1.ncl,wrf_CrossSection_2.ncl,wrf_CrossSection2.ncl
wrf_CrossSection_3.ncl,wrf_CrossSection3.ncl,wrf_CrossSection_4.ncl
wrf_CrossSection4.ncl,wrf_CrossSection_add_smooth_terrain4.ncl,wrf_CrossSection_add_smooth_terrain.ncl
wrf_dbz1.ncl, wrf_dbz2.ncl,wrf_EtaLevels.ncl
wrf_eth.ncl,wrf_Height2.ncl, wrf_Height.ncl
wrf_helicity.ncl,wrf_meteo_1.ncl,wrf_meteo_2.ncl
wrf_meteo_3.ncl,wrf_meteo_4.ncl,wrf_meteo_5_limited_height.ncl
wrf_meteo_5.ncl, wrf_metgrid1.ncl,wrf_metgrid2.ncl
wrf_metgrid3.ncl,wrf_metgrid4.ncl, wrf_metgrid5.ncl
wrf_metgrid6.ncl,wrf_metgrid7.ncl,wrf_metgrid8.ncl
wrf_moving_nest.ncl,wrf_moving_nest_overlap.ncl,wrf_moving_nest_precip_2doms.ncl
wrf_moving_nest_precip.ncl, wrf_overlay_doms.ncl,wrf_Overlay.ncl
wrf_panel1-1.ncl,wrf_panel1-2.ncl, wrf_panel1.ncl
wrf_panel2-2.ncl,wrf_panel2.ncl,wrf_Precip2.ncl
wrf_Precip3.ncl,wrf_Precip_multi_files.ncl,wrf_PressureLevel1.ncl
wrf_PressureLevel2.ncl, wrf_PressureLevel3.ncl,wrf_pv.ncl
wrf_PW2.ncl,wrf_PW3.ncl, wrf_PW.ncl
wrf_SkewT1.ncl,wrf_SkewT2.ncl,wrf_SkewT3.ncl
wrf_SkewT4.ncl,wrf_SkewT5.ncl,wrf_SkewT.ncl
wrf_Surface1.ncl, wrf_Surface2.ncl,wrf_Surface3.ncl
wrf_Surface_multi_files_avg.ncl,wrf_Surface_multi_files.ncl, wrf.ts.ncl
wrf_updraft_helicity.ncl,wrf_wind_rose.ncl,wrf_wps_plot_all.ncl
wrf_wps_ter1.ncl,wrf_wps_ter2.ncl,wrf_wps_ter3.ncl
wrf_wps_ter4.ncl, wrf_wps_ter5.ncl,wrf_wps_ter6.ncl
wrf_Zoom.ncl,olr.ncl, get_wrf_file_dims.ncl
gWRF_merc.ncl,design_grids.ncl, ""
|
For beginners wanting to plot a single wrf output file (*wrfout\**), the following scripts are recommended:
* wrf_CrossSection_1.ncl
* wrf_EtaLevels.ncl
* wrf_Height.ncl
* wrf_PressureLevel1.ncl
* wrf_Surface1.ncl
* wrf.ts.ncl
|
For beginners wanting to plot multiple wrf output file (*wrfout\**), the following scripts are recommended:
* wrf_Precip_multi_files.ncl
* wrf_Surface_multi_files
|
|
|
Scripts for Idealized Cases
---------------------------
|
.. csv-table::
:width: 35%
wrf_BWave.ncl
wrf_Grav2x.ncl
wrf_Hill2d.ncl
wrf_QSS.ncl
wrf_Squall_2d_x.ncl
wrf_Squall_2d_y.ncl
|
|
|
|
Running an NCL Script
=====================
|
#. Create your own script, or pick one from of the supplied scripts. If you start with a supplied script, most often all you need to do is change the input file, in this line:
|
.. code-block::
a = addfile("./wrfout_d01_2023-03-31_00:00:00 .nc","r")
|
.. note::
You do not need to change your filenames so that they have a trailing *.nc*. But KEEP the trailing *.nc* in the above line, as this is used as a file type communicator to NCL.
|
|
#. Run the script
|
.. code-block::
:class: copyable
ncl