<p><b>xinzhang</b> 2009-04-02 13:40:38 -0600 (Thu, 02 Apr 2009)</p><p>Save for Chap6.<br>
</p><hr noshade><pre><font color="gray">Modified: trunk/wrf/UsersGuide/users_guide_chap6.doc
===================================================================
--- trunk/wrf/UsersGuide/users_guide_chap6.doc        2009-04-02 19:03:41 UTC (rev 167)
+++ trunk/wrf/UsersGuide/users_guide_chap6.doc        2009-04-02 19:40:38 UTC (rev 168)
@@ -1,7 +1,5 @@
-ࡱ
-        
-
+
Introduction
Data assimilation is the technique by which observations are combined with an NWP product (the first guess or background forecast) and their respective error statistics to provide an improved estimate (the analysis) of the atmospheric (or oceanic, Jovian, whatever) state. Variational (Var) data assimilation achieves this through the iterative minimization of a prescribed cost (or penalty) function. Differences between the analysis and observations/first guess are penalized (damped) according to their perceived error. The difference between three-dimensional (3D-Var) and four-dimensional (4D-Var) data assimilation is the use of a numerical forecast model in the latter.
-MMM Division of NCAR supports a unified (global/regional, multi-model, 3/4D-Var) model-space variational data assimilation system (WRF-Var) for use by NCAR staff and collaborators, and is also freely available to the general community, together with further documentation, test results, plans e
tc., from the WRF-Var web-page HYPERLINK "http://www.mmm.ucar.edu/wrf/users/docs/user_guide_V3/users_guide_chap6.htm" http://www.mmm.ucar.edu/wrf/users/docs/user_guide_V3/users_guide_chap6.htm.
+MMM Division of NCAR supports a unified (global/regional, multi-model, 3/4D-Var) model-space variational data assimilation system (WRF-Var) for use by NCAR staff and collaborators, and is also freely available to the general community, together with further documentation, test results, plans etc., from the WRF-Var web-page HYPERLINK "http://www.mmm.ucar.edu/wrf/users/docs/user_guide_V3/users_guide_chap6.htm" http://www.mmm.ucar.edu/wrf/users/docs/user_guide_V3/users_guide_chap6.htm.
Various components of the WRF-Var system are shown in blue in the sketch below, together with their relationship with rest of the WRF system.
xb: first guess either from previous WRF forecast or from WPS/real output.
@@ -27,12 +25,10 @@
xa: analysis from WRF-Var data assimilation system.
xf: WRF forecast output.
yo: observations processed by OBSPROC.
-B0: background error statistics from gen_be.
+B0: background error statistics from generic be.data/gen_be.
R: observational data error statistics.
-In this chapter, you will learn how to run the various components of WRF-Var system. In the online tutorial, you are supplied with a test case including the following input data: a) observation file (in the format prior to OBSPROC), b) WRF NetCDF background file (WPS/real output used as a first guess of the analysis), and c) Background error statistics (climatological estimate of errors in the background file, generated with one-month 60-km resolution US domain runs). In your own work, you have to create all these input files yourselves. See the section HYPERLINK \l "_Running_Observation_Preprocessor_1" Running Observation Preprocessor for creating your observation files. See section HYPERLINK
\l "_Running_gen_be_1" Running gen_be for generating your background error statistics file.
-Before using your own data, we suggest that you start by running through the WRF-Var related programs at least once using the supplied test case. This serves two purposes: First, you can learn how to run the programs with data we have tested ourselves, and second you can test whether your computer is adequate to run the entire modeling system. After you have done the online tutorial, you can try
-Running other, more computationally intensive, case studies.
-Experimenting with some of the many namelist variables.
+In this chapter, you will learn how to run the various components of WRF-Var system. For the training purpose, you are supplied with a test case including the following input data: a) observation file (in the format prior to OBSPROC), b) WRF NetCDF background file (WPS/real output used as a first guess of the analysis), and c) Background error statistics (est
imate of errors in the background file). You can download th!
e test d
ataset from HYPERLINK "http://www.mmm.ucar.edu/wrf/users/wrfda/download/testdata.html" http://www.mmm.ucar.edu/wrf/users/wrfda/download/testdata.html. In your own work, you have to create all these input files yourselves. See the section HYPERLINK \l "_Running_Observation_Preprocessor_1" Running Observation Preprocessor for creating your observation files. See section HYPERLINK \l "_Running_gen_be_1" Running gen_be for generating your background error statistics file if you want to use cv_options=5.
+Before using your own data, we suggest that you start by running through the WRF-Var related programs at least once using the supplied test case. This serves two purposes: First, you can learn how to run the programs with data we have tested ourselves, and second you can test whether your computer is adequate to run the entire modeling system. After you have done the tutorial, you can try running other, more computationally intensive
, case studies and experimenting with some of the many namelist variables.
WARNING: It is impossible to test every code upgrade with every permutation of computer, compiler, number of processors, case, namelist option, etc. The namelist options that are supported are indicated in the WRFDA/Registry/Registry.wrfvar and these are the default options.
Running with your own domain. Hopefully, our test cases will have prepared you for the variety of ways in which you may wish to run WRF-Var. Please let us know your experiences.
@@ -41,16 +37,16 @@
Barker, D.M., W. Huang, Y. R. Guo, and Q. N. Xiao., 2004: A Three-Dimensional (3DVAR) Data Assimilation System For Use With MM5: Implementation and Initial Results. Mon. Wea. Rev., 132, 897-914.
Huang, X.Y., Q. Xiao, D.M. Barker, X. Zhang, J. Michalakes, W. Huang, T. Henderson, J. Bray, Y. Chen, Z. Ma, J. Dudhia, Y. Guo, X. Zhang, D.J. Won, H.C. Lin, and Y.H. Kuo, 2009: Four-Dimensional Variational Data Assimilation for WRF: Formulation and Preliminary Results. Mon. Wea. Rev., 137, 299314.
-Running WRF-Var requires a Fortran 90 compiler. We currently had tested the WRF-Var on the following platforms: IBM (XLF), SGI Altix (INTEL), PC/Linux (PGI, INTEL, GFORTRAN), and Apple (G95). Please let us know if this does not meet your requirements, and we will attempt to add other machines to our list of supported architectures as resources allow. Although we are interested to hear of your experiences on modifying compile options, we do not yet recommend making changes to the confi
gure file used to compile WRF-Var.
+Running WRF-Var requires a Fortran 90 compiler. We currently had tested the WRF-Var on the following platforms: IBM (XLF), SGI Altix (INTEL), PC/Linux (PGI, INTEL, GFORTRAN), and Apple (G95/PGI). Please let us know if this does not meet your requirements, and we will attempt to add other machines to our list of supported architectures as resources allow. Although we are interested to hear of your experiences on modifying compile options, we do not yet recommend making changes to the configure file used to compile WRF-Var.
Installing WRF-Var
-Before compiling the WRF-Var code, it is necessary to have at least installed the NetCDF, BLAS and LAPACK libraries. If any of the BLAS and LAPACK libraries are not available on the computer, they need to be installed first. The source code for these libraries can be freely downloaded from HYPERLINK "http://netlib.org/blas/" http://netlib.org/blas/ and HYPERLINK "http://netlib.
org/lapack/" http://netlib.org/lapack/, Assuming, fo!
r exampl
e, that these libraries have been installed in subdirectories of /usr/local, the necessary environment variables might be set with
+Before compiling the WRF-Var code, it is necessary to have at least installed the NetCDF, BLAS and LAPACK libraries. If any of the BLAS and LAPACK libraries are not available on the computer, they need to be installed first. The source code for these libraries can be freely downloaded from HYPERLINK "http://netlib.org/blas/" http://netlib.org/blas/ and HYPERLINK "http://netlib.org/lapack/" http://netlib.org/lapack/. Assuming, for example, that these libraries have been installed in subdirectories of /usr/local, the necessary environment variables might be set with
> setenv BLAS /usr/local/blas> setenv LAPACK /usr/local/lapack
If only conventional observational data from LITTLE_R format file was used, then the NETCDF, BLAS and LAPACK libraries are mandatory. If you intend to use observational data with PREP
BUFR format, the BUFR library has to be installed too and can be downloaded from HYPERLINK "http://www.nco.ncep.noaa.gov/sib/decoders/BUFRLIB/" http://www.nco.ncep.noaa.gov/sib/decoders/BUFRLIB/. If you intend to assimilate satellite radiance data, in addition to BUFR library, either CRTM (V1.2) or RTTOV (8.7) have to be installed and they can be downloaded from HYPERLINK "ftp://ftp.emc.ncep.noaa.gov/jcsda/CRTM/"ftp://ftp.emc.ncep.noaa.gov/jcsda/CRTM/ and HYPERLINK "http://www.metoffice.gov.uk/science/creating/working_together/nwpsaf_public.html" http://www.metoffice.gov.uk/science/creating/working_together/nwpsaf_public.html, the additional necessary environment variables might be set with
> setenv BUFR /usr/local/bufr
> setenv RTTOV /usr/local/rttov87> setenv CRTM /usr/local/crtm
Note: Make sure the required libraries were all compiled using the same compiler that will be used to build WRF-Var, since the libraries
produced by one compiler may not be compatible with code com!
piled wi
th another. For BLAS, LAPACK and BUFR libraries compilation, they have to be compiled with the size of real variable = 8, which required by WRF-Var.
-Assuming all required libraries are available, the WRF-Var Version 3.1 source code can be downloaded from HYPERLINK "http://www.mmm.ucar.edu/wrf/users/download/get_source.html" http://www.mmm.ucar.edu/wrf/users/download/get_source.html. After the tar file is unzipped (gunzip WRFDAV3.TAR.gz) and untarred (untar WRFDAV3.TAR), the directory WRFDA should be created; this directory contains the WRF-Var source code.
+Assuming all required libraries are available, the WRF-Var source code can be downloaded from HYPERLINK "http://www.mmm.ucar.edu/wrf/users/wrfda/download/get_source.html" http://www.mmm.ucar.edu/wrf/users/wrfda/download/get_source.html. After the tar file is unzipped (gunzip WRFDAV3.TAR.gz) and untarred (untar WRFDAV3.TAR), the directory WRFDA should be created; this directory contains the WR
F-Var source code.
To configure WRF-Var, change to the WRFDA directory and type
> ./configure wrfda
A list of configuration options for your computer should appear. Each option combines a compiler type and a parallelism option; since the configuration script doesnt check which compilers are actually available, be sure to only select among the options for compilers that are available on your system. The parallelism option allows for a single-processor (serial) compilation, distributed-memory parallel (dmpar) compilation. For example, on a Macintosh computer, the above steps look like:
@@ -83,7 +79,7 @@
Note: WRF compiles with r4 option while WRFDA compiles with r8. For this reason, WRF and WRFDA cannot reside and be compiled under the same directory.
Hint: It is helpful to start with something simple, such as the serial build. If it is successful, move on to build dmpar code. Remember to type clean a between each build.
To compile the code, type
-> ./compile all_wrfvar
+> ./compile all_wrfvar >&! compile.out
Successful compilation of all_wrfvar will produce 31 executables in the var/build directory which are linked in var/da directory, as well as obsproc.exe in var/obsproc/src directory. You can list these executables by issuing the command (from WRFDA directory)
> ls -l var/build/*exe var/obsproc/src/obsproc.exe
-rwxr-xr-x 1 noname users 641048 Mar 23 09:28 var/build/da_advance_time.exe
@@ -118,34 +114,38 @@
-rwxr-xr-x 1 noname users 1938628 Mar 23 09:29 var/build/gen_be_stage4_global.exe
-rwxr-xr-x 1 noname users 1938732 Mar 23 09:29 var/build/gen_be_stage4_regional.exe
-rwxr-xr-x 1 noname users 1752352 Mar 23 09:29 var/obsproc/src/obsproc.exe
-da_wrfvar.exe is the main executable for running WRF-Var. Make sure it is created after the compilation. Sometimes (unfortunately) it is possible that other utilities get successfully compiled, while the main da_wrfvar.exe fails.
+da_wrfvar.exe is the main executable for running WRF-Var. Make sure it is created after the compilation. Sometimes (unfortunately) it is possible that other utilities get successfully compiled, while the main da_wrfvar.exe fails; please check the compilation log file carefully to figure out the problem.
The basic gen_be utility for regional model consists of gen_be_stage0_wrf.exe, gen_be_stage1.exe, gen_be_stage2.exe, gen_be_stage2a.exe, gen_be_stage3.exe, gen_be_stage4_regional.exe, and gen_be_
diags.exe.
da_updated_bc.exe is used for updating WRF boundary condition after a new WRF-Var analysis is done.
-da_advance_time.exe is a very handy and useful tool for date manipulation. Type da_advance_time.exe to see its usage instruction.
+da_advance_time.exe is a very handy and useful tool for date/time manipulation. Type da_advance_time.exe to see its usage instruction.
In addition to the executables for running WRF-Var, gen_be, obsproc.exe is compiled too, which is used for preparing conventional data for WRF-Var.
Installing WRFNL and WRFPLUS (For 4D-Var only)
If you intend to run WRF 4D-Var, it is necessary to have installed the WRFNL (WRF nonlinear model) and WRFPLUS (WRF adjoint and tangent linear model). WRFNL is a modified WRF V3.1 and can only be used for 4D-Var purposes. WRFPLUS is the adjoint and tangent linear model based on a simplified WRF model, which only include some simple physical processes such as vertical diffusion and large-scale condensatio
n.
To install WRFNL:
-Get the WRF zipped tar file from !
HYPERLIN
K "http://www.mmm.ucar.edu/wrf/users/download/get_source.html" http://www.mmm.ucar.edu/wrf/users/download/get_source.html
+Get the WRF zipped tar file from:
+ HYPERLINK "http://www.mmm.ucar.edu/wrf/users/download/get_source.html" http://www.mmm.ucar.edu/wrf/users/download/get_source.html
unzip and untar the file , rename the directory name to WRFNL
> gzip -cd WRFV3.TAR.gz | tar -xf - ; mv WRFV3 WRFNL
-Get the WRFNL patch zipped tar file from http://www.mmm.ucar.edu/wrf/users/wrfda/download
-> cd WRFNL
-unzip and untar the WRFNL patch file in the WRFNL directory
-> gzip -cd WRFNL_PATCH.TAR.gz | tar -xf -
-> ./configure wrfplus
+Get the WRFNL patch zipped tar file from:
+ HYPERLINK "http://www.mmm.ucar.edu/wrf/users/wrfda/download/wrfnl.html" http://www.mmm.ucar.edu/wrf/users/wrfda/download/wrfnl.html
+unzip and untar the WRFNL patch file
+> gzip -cd WRFNL3.1_PATCH.tar.gz | tar -xf -
+> ./configure
serial means sin
gle processor
dmpar means Distributed Memory Parallel (MPI)
+smpar is not supported for 4D-Var
please select 0 for the second option for no nesting
-> ./compile wrf
+Compile the WRFNL
+> ./compile em_real
> ls -ls main/*.exe
if you built a real-data case, you should see wrf.exe
To install WRFPLUS:
-Get the WRFPLUS zipped tar file from HYPERLINK "http://www.mmm.ucar.edu/wrf/users/download/get_source.html" http://www.mmm.ucar.edu/wrf/users/download/get_source.html
+Get the WRFPLUS zipped tar file from:
+ HYPERLINK "http://www.mmm.ucar.edu/wrf/users/wrfda/download/wrfplus.html" http://www.mmm.ucar.edu/wrf/users/wrfda/download/wrfplus.html
unzip and untar the file to WRFPLUS
-> gzip -cd WRFPLUS.TAR.gz | tar -xf -
+> gzip -cd WRFPLUS3.1.tar.gz | tar -xf -
> cd WRFPLUS
-> ./configure
+> ./configure wrfplus
serial means single processor
dmpar means Distributed Memory Parallel (MPI)
Note: wrfplus was tested on
following platforms:
@@ -155,7 +155,8 @@
Note: wrfplus does not support:
Linux: Intel compiler V9.1 (not sure for higher versions, WRFPLUS can not be compiled with old version)
Linux : gfortran (The behavior of WRFPLUS is strange)
-> ./compile em_real
+Compile WRFPLUS
+> ./compile wrf
> ls -ls main/*.exe
you should see wrfplus.exe
@@ -167,7 +168,7 @@
Retrieve pressure or height based on observed information using the hydrostatic assumption.
Check vertical consistency and super adiabatic for multi-level observations.
Assign observational errors based on a pre-specified error file.
-Write out the observation file to be used by WRF-Var in ASCII or BUFR format.
+Write out the observation file to be used by WRF-Var in ASCII or BUFR format.
Plot the distribution of each observation type.
The OBSPROC programobsproc.exe should be found under the directory WRFDA/var/obsproc/src if compile all_wrfvar was completed successfully.
a. Prepare observational data for 3D-Var
@@ -176,8 +177,7 @@
Before running obsproc.exe, create the required namelist file namelist.obsproc (see WRFDA/var/obsproc/README.namelist, or the section HYPERLINK \l "_Description_of_Namelist_1" Description of Namelist Variables for details).
For your reference, an example file named namelist_obsproc.3dvar.wrfvar-tut has already been created in the var/obsproc directory. Thus, proceed as follows.
> cp namelist.obsproc.3dvar.wrfvar-tut namelist.obsproc
-Next, edit namelist.obsproc.
-In this namelist file, you need to change the following variables to accommodate your experiments.
+Next, edit namelist.obsproc. in this namelist file, you need to change the following variables to accommodate your experiments.
obs_gts_filename='obs.2008020512'
time_window_min = '2008-02-05_11:00:00',: The earliest time edge as ccyy-mm-dd_hh:mn:ss
time_analysis = '2008-02-05_12:00:00', : The analysis time as ccyy-mm-dd_hh:mn:ss
@@ -212,7 +212,7 @@
Before running WRF-Var, you may like to learn more about various types of data that will be assimilated for this case, for example, their geographical distribution, etc. This file is in ASCII format and so you can easily view it. To have a graphical view about the content of this file, there is a MAP_plot utility to look at the data distribution for each type of observations. To use this utility, proceed as follows.
> cd MAP_plot
> make
-We have prepared some configure.user.ibm/linux/mac files for some platforms, when make is typed, the Makefile will use one of them to determine the compiler and compiler option. Please modify the Makefile and configure.user.xxx to accommodate the complier on your platform. Once Successful compilation will produce Map.exe. Note: The compilation of Map.exe needs pre-installed NCARG Graphics libraries under $(NCARG_ROOT)/lib.
+We have prepared some configure.user.ibm/linux/mac/ files for some platforms, when make is typed, th
e Makefile will use one of them to determine the compiler and compiler option. Please modify the Makefile and configure.user.xxx to accommodate the complier on your platform. Successful compilation will produce Map.exe. Note: The compilation of Map.exe needs pre-installed NCARG Graphics libraries under $(NCARG_ROOT)/lib.
Modify the script Map.csh to set the time window and full path of input observation file (obs_gts_2008-02-05_12:00:00.3DVAR). You will need to set the following strings in this script as follows:
Map_plot = /users/noname/WRFDA/var/obsproc/MAP_plot
TIME_WINDOW_MIN = 2008020511
@@ -225,12 +225,12 @@
It will display (panel by panel) geographical distribution of various types of data. Following is the geographic distribution of sonde observations for this case.
b. Prepare observational data for 4D-Var
-To prepare the observation file, for example, at the analysis time 0h for 4D-Var, all observations from 0h to 6h will be processed and grouped in 7 sub-windows from slot1 to slot7, as illustrated in following figure.
+To prepare the observation file, for example, at the analysis time 0h for 4D-Var, all observations from 0h to 6h will be processed and grouped in 7 sub-windows from slot1 to slot7, as illustrated in following figure. NOTE: The Analysis time in figure is not the actual analysis time (0h), it is just used in namelist for time_analysis, the actually time is still 0h.
An example file named namelist_obsproc.4dvar.wrfvar-tut has already been created in the var/obsproc directory. Thus, proceed as follows:
> cp namelist.obsproc.4dvar.wrfvar-tut n
amelist.obsproc
-In this namelist file, you need to change the following variables to accommodate your experiments.
+In this namelist file, you need to change the following variables to accommodate your experiments. In this test case, the actual analysis time is 2008-02-05_12:00:00, but in namelist, the time_analysis should be set to 3 hours later.
obs_gts_filename='obs.2008020512'
time_window_min = '2008-02-05_12:00:00',: The earliest time edge as ccyy-mm-dd_hh:mn:ss
time_analysis = '2008-02-05_15:00:00', : The analysis time as ccyy-mm-dd_hh:mn:ss
@@ -254,24 +254,24 @@
Running WRF-Var
a. Download Test Data
-The WRF-Var system requires three input files to run: a) A WRF first guess input format file output from either WPS/real (cold-start) or WRF (warm-start), b) Observations (in ASCII format or PREBUFR), and c) A background error statistics file (containing background error covariance).
+The WRF-Var system requires three input files to run: a) A WRF first guess/boudary input format files output from either WPS/real (cold-start) or WRF (warm-start), b) Observations (in ASCII format or PREBUFR), and c) A background error statistics file (containing background error covariance).
The following table summarizes the above info:
Input DataFormatCreated ByFirst Guess
NETCDFWRF Preprocessing System (WPS) and real.exe
or WRFObservationsASCII
(PREPBUFR also possible) HYPERLINK \l "_Running_Observation_Preprocessor" Observation Preprocessor (OBSPROC)Background Error StatisticsBinary HYPERLINK \l "_Running
_gen_be" WRF-Var gen_be utility
-/DefaultIn the online tutorial, you will store data in a directory defined by the environment variable $DAT_DIR. This directory can be at any location and it should have read access. Type
+/Default CV3In the test case, you will store data in a directory defined by the environment variable $DAT_DIR. This directory can be at any location and it should have read access. Type
        > setenv DAT_DIR your_choice_of_dat_dir
Here, "your_choice_of_dat_dir" is the directory where you aim to store the WRF-Var input data. Create this directory if it does not exist, and type
        > cd $DAT_DIR
-Download the tutorial test data for a Tutorial case valid at 12 UTC 05 Februray 2008 from HYPERLINK "http://www.mmm.ucar.edu/wrf/src/data/WRFV3.1-Var-testdata.tar.gz" http://www.mmm.ucar.edu/wrf/src/data/WRFV3.1-Var-testdata.tar.gz
+Download the test data for a Tutorial case valid at 12 UTC 5th February 2008 from HYPERL
INK "http://www.mmm.ucar.edu/wrf/users/wrfda/download/t!
estdata.
html" http://www.mmm.ucar.edu/wrf/users/wrfda/download/testdata.html
Once you have downloaded WRFV3.1-Var-testdata.tar.gz file to $DAT_DIR, extract it by typing
        > gunzip WRFV3.1-Var-testdata.tar.gz        > tar -xvf WRFV3.1-Var-testdata.tar
Now you should find the following three sub-directories/files under $DAT_DIR
ob/2008020512/ob.2008020512.gz # Observation data in little_r formatrc/2008020512/wrfinput_d01         # First guess filerc/2008020512/wrfbdy_d01         # lateral boundary filebe/be.dat                          # Background error file
......
You should first go through the section Running Observation Preprocessor (OBSPROC) and have a WRF-3DVar-ready observation file (obs_gts_2008-02-05_12:00:00.3DVAR) generated in your OBSPROC working directory. You could then copy or move obs_gts_2008-02-05_12:00:00.3DVAR to be in $DAT_DIR/ob/2008020512/ob.ascii.
-If you want to try 4D-Var, please go through the section Running Observation Preprocessor (OBSPROC) a
nd have WRF-4DVar-ready observation files (obs_gts_2008-02-05_12:00:00.4DVAR,). You could copy or move the observation files to $DAT_DIR/ob using following commands:
+If you want to try 4D-Var, please go through the section Running Observation Preprocessor (OBSPROC) and have the WRF-4DVar-ready observation files (obs_gts_2008-02-05_12:00:00.4DVAR,). You could copy or move the observation files to $DAT_DIR/ob using following commands:
> mv obs_gts_2008-02-05_12:00:00.4DVAR $DAT_DIR/ob/2008020512/ob.ascii+
> mv obs_gts_2008-02-05_13:00:00.4DVAR $DAT_DIR/ob/2008020513/ob.ascii
> mv obs_gts_2008-02-05_14:00:00.4DVAR $DAT_DIR/ob/2008020514/ob.ascii
@@ -442,42 +442,42 @@
For this run cost function diagnostics will not be written
Starting outer iteration : 1
-Starting cost function: 2.27934053D+04, Gradient= 2.22550755D+02
-For this outer iteration gradient target is: 2.22550755D+00
+Starting cost function: 2.28356084D+04, Gradient= 2.23656955D+02
+For this outer iteration gradient target is: 2.23656955D+00
----------------------------------------------------------
Iter Gradient Step
- 1 1.80778931D+02 7.59529846D-02
- 2 1.63471805D+02 8.30163624D-02
- 3 1.12935007D+02 7.21133402D-02
- 4 7.82712021D+01 7.46798826D-02
- 5 5.59846713D+01 7.99117726D-02
- 6 3.82965177D+01 8.78132359D-02
- 7 2.90850530D+01 7.01777320D-02
- 8 2.15123448D+01 8.97111435D-02
- 9 1.61362628D+01 6.79309944D-02
- 10 1.08381740D+01 6.90796765D-02
- 11 8.04505884D+00 8.55411409D-02
- 12 5.58199492D+00
7.65481865D-02
- 13 4.12119586D+00 7.27925987D-02
- 14 3.09095952D+00 8.35816732D-02
+ 1 1.82455068D+02 7.47025772D-02
+ 2 1.64971618D+02 8.05531077D-02
+ 3 1.13694365D+02 7.22382618D-02
+ 4 7.87359568D+01 7.51905761D-02
+ 5 5.71607218D+01 7.94572516D-02
+ 6 4.18746777D+01 8.30731280D-02
+ 7 2.95722963D+01 6.13223951D-02
+ 8 2.34205172D+01 9.05920463D-02
+ 9 1.63772518D+01 6.48090044D-02
+ 10 1.09735524D+01 7.71148550D-02
+ 11 8.22748934D+00 8.81041046D-02
+ 12 5.65846963D+00 7.89528133D-02
+ 13 4.15664769D+00 7.45589721D-02
+ 14 3.16925808D+00 8.35300020D-02
----------------------------------------------------------
Inner iteration stopped after 15 iterations
-Final: 15 iter, J= 1.76099440D+04, g= 2.03044910D+00
+Final: 15 iter, J= 1.76436785D+04, g= 2.06098421D+00
------------------------------
----------------------------
Diagnostics
- Final cost!
functio
n J = 17609.94
-
- Total number of obs. = 26702
- Final value of J = 17609.94402
- Final value of Jo = 15251.67372
- Final value of Jb = 2358.27030
+ Final cost function J = 17643.68
+
+ Total number of obs. = 26726
+ Final value of J = 17643.67853
+ Final value of Jo = 15284.64894
+ Final value of Jb = 2359.02958
Final value of Jc = 0.00000
Final value of Je = 0.00000
Final value of Jp = 0.00000
- Final J / total num_obs = 0.65950
+ Final J / total num_obs = 0.66017
Jb factor used(1) = 1.00000
Jb factor used(2) = 1.00000
Jb factor used(3) = 1.00000
@@ -486,6 +486,7 @@
Jb factor used = 1.00000
Je factor used = 1.00000
VarBC factor used = 1.00000
+
*** WRF-Var completed successfully ***
@@ -494,7 +495,7 @@
After successful completion of job, wrfvar_output (the WRF-Var analysis file, i.e. the new initial condition for WRF) should appear in the working directory along with a number of diagnostic files. Various text diagnostics output files will be explained in the next section (HYPERLINK \l "_WRF-Var_Diagnostics_1"WRF-Var Diagnostics).
In order to understand the role of various important WRF-Var options, try re-running WRF-Var by changing different namelist options. For example, making WRF-Var convergence criteria more stringent by reducing the value of EPS to e.g. 0.0001 by adding "EPS=0.0001" in namelist.input record &wrfvar6. Last section of this tutorial deals with many such WRF-Var additional exercises.
b. Run The Case4D-Var
-To run WRF-4DVar, first create a working directory, WRFDA/var/test/4dvar is a sample,
+To run WRF-4DVar, create a working directory, WRFDA/var/test/4dvar is a sample,
Assume the working shell is C shell;
Assume t
he directories for WRFDA , WRFNL and WRFPLUS are :
> setenv WRFDA_DIR /ptmp/$user/WRFDA
@@ -568,7 +569,7 @@
> ln -fs ../af05 auxinput3_d01_2008-02-05_16:00:00
> ln -fs ../af06 auxinput3_d01_2008-02-05_17:00:00
> ln -fs ../af07 auxinput3_d01_2008-02-05_18:00:00
-4) Run with 1 processor (serial compilation required)
+4) Run with 1 processor (serial compilation required for WRFDA, WRFNL and WRFPLUS)
Edit $WORK_DIR/namelist.input to match your experiment settings.
> cp $WORK_DIR/nl/namelist.input.serial $WORK_DIR/nl/namelist.input
Edit $WORK_DIR/nl/namelist.input to match your experiment settings.
@@ -598,7 +599,17 @@
> cd $WORK_DIR
> setenv NUM_PROCS 1
> ./da_wrfvar.exe >&! wrfda.log
-wrfda.log (or rsl.out.0000 if running in distributed-memory mode) contains important WRF-4DVar runtime log. Always check the log after a WRF-4DVar run.
+5) Run with multiple processors with MPMD mode. (dmpar compilation required for WRFDA, WRFNL and WRFPLUS)
+Edit $WORK_DIR/namelist.input to match your experiment settings.
+> cp $WORK_DIR/nl/namelist.input.parallel $WORK_DIR/nl/namelist.input
+Edit $WORK_DIR/nl/namelist.input to match your experiment settings.
+> cp $WORK_DIR/ad/namelist.input.parallel $WORK_DIR/ad/namelist.input
+> cp $WORK_DIR/tl/namelist.input.parallel $WORK_DIR/tl/namelist.input
+Edit $WORK_DIR/ad/namelist.input and $WORK_DIR/tl/namelist.input to match your experiment settings.
+Currently, parallel WRF 4D-Var is a MPMD (Multiple Program Multiple Data) application. Because there are so many parallel configurations across the platforms, it is very difficulty to
define a generic way to run the WRF 4D-Var parallel. Here, an example command to run WRF 4D-Var on a cluster with 16 processors is:
+> mpirun np 4 da_wrfvar.exe: -np 8 ad/wrfplus.exe: -np 4 nl/wrf.exe
+There are 4 processors are assigned to run WRFDA, 4 processors are assigned to run WRFNL and 8 processors for WRFPLUS due to high computational cost in adjoint code.
+wrfda.log (or rsl.out.0000 if running in parallel mode) contains important WRF-4DVar runtime log. Always check the log after a WRF-4DVar run.
Radiance Data Assimilations in WRF-Var
This section gives brief description for various aspects related to radiance assimilation in WRF-Var. Each aspect is described mainly from the viewpoint of usage rather than more technical and scientific details, which will appear in separated technical report and scientific paper. Namelist parameters controlling different aspects of radiance assimilation will be detailed in the following sections. Note that this section does n
ot cover general aspects of WRF-Var assimilation which can b!
e found
in other sections of this users guide chapter 6 or other WRF-Var documentation.
@@ -822,7 +833,7 @@
rsl*: Files containing information of standard WRF-Var output from individual processors when multiple processors are used. It contains host of information on number of observations, minimization, timings etc. Additional diagnostics may be printed in these files by including various print WRF-Var namelist options. To learn more about these additional print options, search print_ string in WRFDA/Registry/Registry.wrfvar.
statistics: Text file containing OMB (OI), OMA (OA) statistics (minimum, maximum, mean and standard deviation) for each observation type and variable. This information is very useful in diagnosing how WRF-Var has used different components of the observing system. Also contained are the analysis minus background (A-B) statistics i.e. statistics of the analysis increments for each model variable at each model level. This information is very useful in checking the range of analysis increment values found in the analysis, and where they are in the WRF-mode
l grid space.
The WRF-Var analysis file is wrfvar_output. It is in WRF (NetCDF) format. It will be the wrfinput_d01 of your following WRF run after lateral boundary and/or low boundary conditions are updated by another WRF-Var utility (See section Updating WRF boundary conditions).
-A NCL script WRFDA/var/graphcs/ncl/WRF-Var_plot.ncl, is provided for plotting. You need to specify the analsyis_file name, its full path etc. Please see the in-line comments in the script for details.
+A NCL script WRFDA/var/graphics/ncl/WRF-Var_plot.ncl, is provided for plotting. You need to specify the analsyis_file name, its full path etc. Please see the in-line comments in the script for details.
As an example, if you are aiming to display U-component of the analysis at level 18, execute following command after modifying the script WRFDA/var/graphcs/ncl/WRF-Var_plot.ncl, make sure following piece of codes are uncommented:
var = "U"
fg = first_guess->U
@@ -891,9 +
902,9 @@
It is important to include forecast differences from at least 00Z and 12Z through the period, to remove the diurnal cycle (i.e. do not run gen_be using just 00Z or 12Z model perturbations alone).
-The inputs to gen_be are NetCDF WRF forecast output ("wrfout") files at specified forecast ranges. To avoid unnecessary large single data files, it is assumed that all forecast ranges are output to separate files. For example, if we wish to calculate BE statistics using the NMC-method with (T+24)-(T+12) forecast differences (default for regional) then by setting the WRF namelist.input options history_interval=720, and frames_per_outfile=1 we get the necessary output datasets. Then the forecast output files should be arranged as follows: directory name is the forecast initial time, time info in the file name is the forecast valid time. 2008020512/wrfout_d01_2008-02-06_00:00:00 mean a 12-hour forecast valid at 2008020600 initialized at 2008020512.
+The inputs to gen_b
e are NetCDF WRF forecast output ("wrfout") files at specified forecast ranges. To avoid unnecessary large single data files, it is assumed that all forecast ranges are output to separate files. For example, if we wish to calculate BE statistics using the NMC-method with (T+24)-(T+12) forecast differences (default for regional) then by setting the WRF namelist.input options history_interval=720, and frames_per_outfile=1 we get the necessary output datasets. Then the forecast output files should be arranged as follows: directory name is the forecast initial time, time info in the file name is the forecast valid time. 2008020512/wrfout_d01_2008-02-06_00:00:00 mean a 12-hour forecast valid at 2008020600 initialized at 2008020512.
-Example directory/files structure for a tutorial case (90 x 60 x 41 gridpoints):
+Example dataset for a test case (90 x 60 x 41 gridpoints) can be downloaded from HYPERLINK "http://www.mmm.ucar.edu/wrf/users/wrfda/download/testdata
.html" http://www.mmm.ucar.edu/wrf/users/wrfda/downlo!
ad/testd
ata.html, untar the gen_be_forecasts_20080205.tar.gz, you will have:
        >ls $FC_DIR
@@ -1079,10 +1090,10 @@
-WRF-ARW V3: Users Guide        6- PAGE 24
+WRF-ARW V3: Users Guide        6- PAGE 32
-WRF-ARW V3: Users Guide        6- PAGE 19
+WRF-ARW V3: Users Guide        6- PAGE 33
@@ -1103,2472 +1114,1629 @@
-
-
-&
+
+
+&
-
+hI
-h
-
-&
-
+hI
+hI
-Px4 #\'*.25@9
h
-
-&F
-&
+Px4 #\'*.25@9
+hI
+hI
+hI
+/
+/
+hI
+&F
+&
+&
+&
+&
+&F
+&
+
+&
+&
+&F
&F
-&
-&F
+
+h(
+Hd
+`HgdI
+hI
&
-
-&F
-&
h
-
h
-
-h
-
+
+hI
+hI
+hI
+5
+hI
+hI
l
-l
-e
+l
l
-l
-f
+l
l
-l
+l
l
-l
-x
-
-h
-
-&
+l
+p
+hI
+hI
ȻȟȗȌȟȻȥȻȻȻz
+hI
+hI
+&
+
+&
+hI
+
t
-l
-t
l
+
t
-l
+l
t
l
+
t
-l
+l
t
l
+
t
-l
+l
+t
+l
+hI
t
-l
+l
t
-l
+l
t
-l
+l
t
-l
+l
t
-l
+l
t
-l
+l
t
-l
+l
t
-l
+l
t
-l
+l
t
-l
+l
t
-l
+l
t
-l
h
-
-
-
-
-
-
-
-
$a$
-&
-h
-
-h
-
-&
+l
+hI
+
+hI
+
+
+
+
+
+
+
+
+
+
+hI
+
+
+
+
+
+
+
+
+hI
+
+hI
+%
+hI
+&
+:
+hI
+hI
+:
l
-
+
,#
-l
-h
-
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
+hI
+hI
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
l
+
,#
-l
+l
,#
l
-f
+
+f
,#
-l
+l
l
+
,#
-l
-h
-
-f
-f
+l
+f
+f
,#
-l
+l
,#
l
-f
+
+f
,#
l
+
+C
+hI
+hI
,#
l
+
l
-
+
,#
l
+
,#
-l
-\
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
+C
,#
-l
+l
,#
-l
-h
-
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
+hI
+hI
,#
-l
+l
,#
-l
+l
,#
l
+
+j
l
-
+
,#
l
+
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
+p
,#
-l
+l
,#
-l
+l
l
+
,#
-l
-h
-
+l
,#
-l
+l
+hI
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
l
+
,#
-l
+l
,#
l
+
,#
-l
+l
l
+
,#
-l
-h
-
+l
+hI
,#
l
+
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
+U
,#
-l
+l
+U
+hI
+hI
,#
-l
+l
,#
-l
+l
,#
-l
+l
l
+
,#
-l
-h
-
+l
,#
l
+
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
+hI
+hI
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
l
+
,#
-l
+l
,#
l
+
l
-
-h
-
+
,#
l
+
,#
-l
-f
-f
+l
+f
+f
,#
-l
+l
+hI
+hI
l
+
,#
-l
+l
l
-
+
,#
l
+
,#
l
+
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
l
+
,#
-l
-g
-h
-
+l
+l
+hI
+hI
#
l
+
l
-
-_
+
#
l
+
#
-l
+l
#
-l
+l
#
l
+
#
l
+
#
-l
+l
#
-l
+l
#
-l
+l
+l
#
-l
+l
+l
#
-l
+l
#
-l
+l
#
-l
+l
+hI
+hI
#
-l
+l
#
l
-g
+
#
l
-g
-l
-n
-h
-
+
#
l
+
#
-l
+l
#
l
+
l
+
#
-l
+l
,#
l
+
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
l
+
l
+
,#
-l
+l
,#
l
+
+hI
+hI
,#
l
-n
+
,#
-l
+l
l
+
,#
-l
+l
,#
l
-h
-
+
l
+
l
+
,#
-l
+l
,#
l
+
,#
l
+
l
-
-
-
+
l
+
+hI
l
+
,#
-l
+l
l
-
+
,#
l
+
,#
l
+
,#
-l
-h
-
-h
-
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
,#
-l
+l
+hI
+hI
+hI
l
+
#
-l
+l
#
l
+
#
-l
+l
#
l
+
l
+
#
-l
+l
#
l
+
#
-l
+l
l
-
+
#
l
-h
-
+
#
l
+
#
-l
+l
#
-l
+l
l
+
#
l
+
#
-l
+l
#
-l
+l
#
l
+
+
+
+hI
#
l
+
#
l
+
#
-l
+l
#
-l
+l
l
+
#
l
+
#
-l
+l
#
-l
+l
#
l
+
#
l
+
+
#
l
+
#
-l
+l
#
-l
+l
#
l
+
l
-
+
#
l
+
#
l
+
#
-l
-h
-
+l
+
#
-l
+l
#
l
+
+
#
l
+
#
l
+
#
-l
+l
#
-l
+l
#
l
+
#
l
+
+
+hI
#
l
+
#
-l
+l
#
-l
+l
#
l
+
l
-
+
#
l
+
+
#
l
+
#
-l
+l
+
#
-l
+l
#
l
+
#
l
+
#
l
+
#
-l
+l
#
-l
+l
#
l
+
#
l
+
#
l
+
#
-l
+l
#
-l
+l
#
l
-h
-
+
#
l
+
#
l
+
#
-l
+l
+hI
#
-l
+l
#
l
+
#
l
+
#
l
+
#
-l
+l
#
-l
+l
#
l
+
#
l
+
#
l
+
#
-l
+l
#
-l
+l
#
l
+
#
l
+
#
l
+
#
-l
+l
#
-l
+l
#
l
+
#
l
+
#
l
+
#
-l
+l
#
-l
+l
#
l
+
#
l
+
#
l
+
#
-l
-
-
-
-
-h
-
-h
-
+l
#
-l
+l
#
l
+
#
l
-
-
-#
-#?
+
+
+
+
+
+hI
+hI
+
+
+#
Zcd
@@ -4063,11 +3231,9 @@
aoq[;kw}SO>ؖ*''f:S~0`]^yUZ73nEc~Wн>
'=)|L9/f}%io}]>h|O)~.K闯_>w~տ~:[w;yoH        s|]H90;X'5/4HOvwH2쬬D
-epConف(,@E@|@ZU!439;$37uBb^Bb%c5
-)EE)ELb`yĢTԔ|TbҢT=NL
-
-
+n/I
y
PU0
+
+
aߗ!,3@E
hA[^Ql^*Q,Z@*(KAKā0@        3d 94ɽI$|2mړON}r\2bKթ+-b8WZ,o˯[ZܮMGK8KX3X?秶,"cϚ>bv
UW]U|̇
@@ -4211,9 +3377,8 @@
^AݔV6#*
pg^%
31
-
-
-
+
+
bWV
g0a@>Dž>gz_V:\n~{Iu>f{a        {y®k'\"ᠰ~hǵʰ.kk~c})l6#쨰^:n|6ʰ&8=,Wk1[aͣքa;;̵f2,õo? ,d-m؛5apͰz0eް^kXcusV=VxG(߾{X        ~a{a
;2l]ذ0o~a&
@@ -4780,8 +3945,9 @@
%
%Ez@63r/
-
-
+
+
+
)wsCO>c8㚚j-ղQ9{>3f}
&lM
@@ -4996,7 +4162,7 @@
l
l
-
+
t
t
t
@@ -5028,9 +4194,9 @@
6`6
t
-
-
-{{
+
+
+{{
{{2?        
c?7
gݾ(C+0sb!}Q1
E<f߿s<{B;wjhw9ҥK9hK/˗/GkQ|MKV㵠;Wx5|Chaq,1D/믑=v<)RP:tH`,1ܹ3]#iY0&ؘ_!1<mǥ>$B!B!B!$qpps?_R###C4O320{ͺ8_>up8~|;/"|v:zOxx7 <<nAᥝG8Cq~z%qջ&ײU|);鴤XNh9G>ϥPWy%]GHIߙ;_onSs]2YZοw⳿8.ۧs>Gο+v7չN/pݶw(ک_Ia[!\pTܿ?        "W,οE])ty1V#kdohp(p}HZ9}vA^!!?8v@v]EYcGgi,sק+GοUw$yq"u}{wWvһ ɜ%MxMftz}nР߬#Q4}8ȓQvWѽkj8Tdʖ~Y7!
-
-
-
+
+
\)QTD"tOHG/ET^"T]WyO}f7l3gflyg9sεq"E%Y#vw6(ɰZF;۱3qE5߶Wi#E9UH        """"""r^^}UiѢmVL".\s>|X(.]RȲe9}[2k,[7Ȅ        \?6LVZe>?>S_۷-{zwd~_ʊDtϟ
HDD(QBy]KN
.,۷os^Z=S2eȀ,Aɮ]|L
@@ -5254,8 +4419,8 @@
c]onف84'"]j> *X:S!1/E!q#C5
)EE){0eRRSSRSJSSJ22
2KJRN20lRg^
-
-
+
?uXMLLDFtO>EҥƘ?^oٳnkطoҏ# #Z-n߾m'OF``sPK}X`cbԨQ4+WD߾}z
@@ -5730,8 +4895,8 @@
Om=ttzfZFv=+Mӝݺgieͷ,-(}-Ag+<ϙEd^Kd;}vV4Rn|>GLw-ޒlD&r;˱=^܀d,`+tgY~/F>;rcZoko,?bmW3hvU&j~z-B嗷DJm_R_DuDsay=kM|3J}D%-'vh&z8AT>gu-,)ҢJlÈuٲcٺqOkrΞΊVNv+y=+zW~PT2eLYdNu+7XSOtwOv88{k5+[qr_)ЎroN8Фjn>h)ښm+
y)
v2\ˠ[PZ\_r XF!(U!/55%5E$_85U$#X 3(U:DM
-
-
+
+
J&H(yA@(( >φ4@(zoRAJhUx"|oܒ{M9Aٹ͙9sf !3'J̓
Jߙ7gdct#H6\FoY!1N)#*zUS
GN]fݝ1bdy7qڬUԝR?u
y)
-1\ˠ[PZ\_r4XF!(U!/55%5E$_85U$#X 3(UlM
+1\ˠ[PZ\_r4XF!(U!/55%5E$_85U$#X 3(UlM
@@ -8492,7 +7657,7 @@
-
+
&F
l
@@ -8533,13 +7698,13 @@
+
+
+
+
+
-r
-
-
+
+
+
+
@d
-@t
-r
+@t
+)
+
+
-
-Y
-a
-h
-
- 0
- 0
- 0
- 0
- 0
- 0
- 0
;^P
j
p
+p
P+p
p
pv
-r
+
+
+
+
+
+
+4
+=
+O
+f
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
0
0
Š
0Š
        
+)
+
+
-
-Y
-a
-h
-
4d
4d
4d
4d
4d
4d
/
/
+
+
+
+
+
+
+4
+=
+O
+f
+
+
+
+
"
quot;
uot;
ot;
4d
4d
4d
4d
4d
4d
@
@@ -8636,102 +7827,145 @@
-
z
-g
-
+
z
+
+l
+
+
+
-
+
-
-
-
-
-r
-
-
-
-
-
-,
d
-h
-y
-;
-P
-[
-o
-r
-y
-
7
-:
-V
-h
-v
:
-
-^Zp;K`|$~
+
+
+
+
+
+/
+T
+~
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A
+u
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+;
+=
+@
+O
+
+
:
+^Zp;K`|$~
-
-
-^Z
-
-
-`GT^5bBJ>*N
I
-a
-h
-
-
-
+
+^Z
+`GT^5bBJ>*N
+
+4
+=
+O
+f
+
+
+
+
+
+
-
r
-
+
+
+
+
+
+
-
-
\ No newline at end of file
+
+        
+
+
\ No newline at end of file
</font>
</pre>