page header
 

Forecast Sensitivity to Observations

 

Reference: Download the tutorial presentation and the README file

Source code

WRFDA and WRFPLUS are needed for this practice.

The pre-compiled WRFDA and WRFPLUS can be accessed from

/kumquat/wrfhelp/SOURCE_CODE/WRFDA

The FSO data, including the main script, can be found in /kumquat/wrfhelp/DATA/WRFDA/FSO

wrapper_run_fso.ksh is the main script that will be used in this practice.

The wrapper_run_fso.ksh calls other several scripts that are in the /kumquat/wrfhelp/SOURCE_CODE/WRFDA/var/scripts and /kumquat/wrfhelp/SOURCE_CODE/WRFDA/var/graphics/ncl directories.

For example,
  var/scripts/da_run_sensitivity.ksh
  var/scripts/da_run_wrf.ksh
  var/scripts/da_run_wrfvar.ksh
  var/graphics/ncl/adj_forcing.ncl
  var/graphics/ncl/adj_diagnostic.ncl
are some of the scripts involved in the FSO procedures.

The whole scripting suite is quite complicated and might take some time for first users to get familiar with and to be able to apply to their own applications.

Steps

You will need to download and unpack the FSO tar package for this exercise

Create a working directory for this practice.

mkdir /kumquat/users/$USER/DA/FSO
cd /kumquat/users/$USER/DA/FSO

You will need to download and unpack the FSO tar package for this exercise

cp -r /kumquat/wrfhelp/DATA/WRFDA/FSO/* .

Edit wrapper_run_fso.ksh to set up the options for a regular WRFDA run.

......
export RUN_WRFVAR=true
export RUN_UPDATE_BC=true

And ensure the following lines are commented (with a "#" at the beginning of the line):

#export RUN_ADJ_SENS=false
#export RUN_OBS_IMPACT=false
#export NL_USE_LANCZOS=true
#export NL_WRITE_LANCZOS=true
#export NL_EPS=1E-5

......
export NUM_PROCS=4

......
export REL_DIR=/kumquat/wrfhelp/SOURCE_CODE/WRFDA
export DAT_DIR=/kumquat/users/$USER/DA/FSO
export WRFPLUS_DIR=$REL_DIR/WRFPLUSV3
export WRFVAR_DIR=$REL_DIR/WRFDA
export WRFNL_DIR=$WRFPLUS_DIR
export SCRIPTS_DIR=$WRFVAR_DIR/var/scripts
export GRAPHICS_DIR=$WRFVAR_DIR/var/graphics/ncl
export BUILD_DIR=$WRFVAR_DIR/var/build
export REG_DIR=$DAT_DIR
export RUN_DIR=$REG_DIR/run # your working directory
export FC_DIR=${RUN_DIR}/fc

Note: The following variables should be set in the "domain" section for the tutorial case, but not for data from WRF V3.5 or later.

export NL_I_PARENT_START=0
export NL_J_PARENT_START=0

Execute the script

./wrapper_run_fso.ksh

After the script finishes, a file in your working directory (/kumquat/users/$USER/DA/FSO/run) will indicate whether the run was successful or not (a blank file will exist, either named "FAIL" or "SUCCESS"). If the run was successful, edit wrapper_run_fso.ksh again, and change the following settings to do sensitivity and observation impact runs:

......
export RUN_WRFVAR=false
export RUN_UPDATE_BC=false
export RUN_ADJ_SENS=true
export RUN_OBS_IMPACT=true

And uncomment the lines directly below:

export NL_USE_LANCZOS=true
export NL_WRITE_LANCZOS=true
export NL_EPS=1E-5

.....

Execute the script again

./wrapper_run_fso.ksh


Check Output

/kumquat/users/$USER/DA/FSO/run/2007010100/sensitivity/ad_d01_2007010100 is the gradient of the forecast error norm to the initial conditions. var/graphics/ncl/plot_adj_sensitivity.ncl can be used to make some plots.

/kumquat/users/$USER/DA/FSO/run/2007010100/sensitivity/index.html contains the text output from running var/graphics/ncl/adj_diagnostics.ncl to get the diagnostics of error reduction in the forecasts from Xb (background) to Xa (analysis).

/kumquat/users/$USER/DA/FSO/run/2007010100/obsimpact/rsl.out.0000 contains the cumulated impact of each observation type on the forecast errors.


back to top
 
practical_page_header