CWB Project

Welcome to the CWB Project page!

(Updated 16 November 2007)

3, 2007 progresses

        CWB  nested domain settings.

       CWB Observation information over Taiwan area can be found from cwb_obs_info.


         CWB-CAA-domains-settings: This year the CWB and CAA NWP modeling system will be merged together with 3 nested domains:
             Domain 1: 222x128x45, 45-km
             Domain 2: 184x196x45, 15-km with the left-low corner at point (89,22) in Domain1.
             Domain 3: 151x181x45, 5-km with the left-low corner at point (59,78) in Domain2.

          Suggested CWB/CAA operational implementation:

             Observations: Conventional data including SYNOP, METAR, SHIP, BUOY, TEMP, AIREP, PILOT, and SATOB, SATEM, QSCAT.
                                        The BOGUS data are also included. Currently the GPSPW and GPSRO data are not included, but no problem
                                        to assimilate these data with wrfvar system. The time window is +/- 3-h centered at the analysis time.
             First Guess     : For the Cold-Start run, the first guesses are derived with WPS and real from CWB GFS datasets.
                                          For the Cycling run, the first guess at the beginning time is from CWB GFS. After that time, the first guesses are from
                                          the 6-h WRF model forecast.
             WRFVar system: use version 2.1 of wrfvar with wrf_io.F90.2.2. At this point, the main features are
                                         cv_options = 3, i.e. NCEP background error statistics, is used.
                                         cv_options_hum = 1, i.e. specific humidity, is used as the moist control variable;
                                         check_rh = 2, i. e.  the final  moisture analysis is adjusted to remove the super-saturation and maintain the water vapor
                                                                          conserved in the vertical column.
                                         sfc_assi_options = 2, i. e. the U10, V10, T2,  Q2 are directly assimilated based on the similarity theory.
              WRF model:    Version 2.2 with few bugs fixed. The 45 eta levels are recommended as
                                        eta_levels                          = 1.000, 0.985, 0.969, 0.953, 0.937, 0.921, 0.905, 0.888, 0.87 , 0.853,
                                                                                       0.835, 0.816, 0.798, 0.778, 0.759, 0.739, 0.718, 0.696, 0.674, 0.651,
                                                                                       0.628, 0.603, 0.577, 0.55 , 0.522, 0.492, 0.461, 0.426, 0.389, 0.348,
                                                                                       0.303, 0.273, 0.242, 0.212, 0.182, 0.152, 0.121, 0.091, 0.061, 0.03 , 0.000

                                        and P_top = 3,000 Pa.

                                        WSM 5-class microphysics (mp_physics = 4);
                                        rrtm long wave radiation scheme (ra_lw_physics = 1);
                                        Goddard short wave scheme (ra_sw_physics = 2);
                                        Monin-Obukhov surface scheme (sf_sfclay_physics = 1);
                                        Noah LSM model (sf_surface_physics = 2);
                                        YSU PBL scheme (bl_pbl_physics = 1);
                                        Kain-Fritsch (new Eta) scheme for 45 and 15-km domain (cu_physics = 1).


              ** The namelist files can be downloaded from the suggested namelist. which includes the namelist files to run WPS,
                   WRFV2/real, OBS_FGGE_PROC, 3DVAR_OBSPROC, WRFVar, and WRF model for 3 nested domains.
                  
                  Updated the suggested namelist for reasons (Y.-R. Guo 20070726):
                        1) namelist.3dvar.sample: a, turn on the switches for Use_GeoAMVObs, Use_PolarAMVObs, and Use_SatemObs;
                                                                       b, add  the switch for Bogus: Use_BogusObs    = .TRUE.,
                                                                       c, Change RF_PASSES      = 4, to be RF_PASSES      = 6,
                        2) namelist.input.sample was adapted from Jim Bresch 20070625 updated namelist.input. But the time_step is
                            still 180 seconds because 240s not working with 45-km domain for 2006 Shanshan Typhoon case.                                                      

              ** A running shell script: Run_CWB-WPS-WRFVAR-WRF.csh, can also be downloaded for your reference. With this
                  shell script, the "pure" WRF model run (NOVAR), and Cold-Start and Cycling runs are ver easy conducted.
                  
                 Updated Run_CWB-WPS-WRFVAR-WRF.csh (Y.-R. Guo 20070726):
                        1) using the dependence: #BSUB ${WAIT} done(${JOBname}) instead of the "wait" and "sleep";
                        2) using "bsub" link  to submit the jobs  time period by time period.
                            As CWB HPC has the same sueue system as NCAR IBM (blueice and bluevista), this shell script could be ported to
                            CWB HPC. I used this script to conduct one month (2006 Dec.) cycling runs in NCAR IBM (blueice), which can
                            be completed within a week. When I did samething in PC Linux using 6 CPUs (leea.mmm.ucar.edu), it took about
                            one month wall-clock time.

              ** All the code can be downloaded from  http://www.mmm.ucar.edu/individual/bresch/cwb/ .

                    Note that  the geogrid files for three domains ( geo_em.d01.nc, geo_em.d02.nc, geo_em.d03.nc) should also be
                    downloaded from the above  web  site.

       The description of the namelist.3dvar for  version 2.1  and version2.2-beta of WRFVar.

        CV5 Background Error Statistics (BES) data files available for CWB/CAA configuration

              Several  BES files  have been derived  based on the  one-month  CWB GFS  data  from  0000 UTC 1 to  1200 UTC 31 December 2006:

                1)  NODA  (No Data assimilation WRF  forecast  with the configuration mentioned above)  45-km, bin_type =5 by Hui Shao, DATC/NCAR.
                      The gen_be code is from WRFVar 2.2. The data file  can be obtained from  CWB ftp site:
                                                          datwncr@163.29.179.171:/guo/be_45km_noda.cv5
           
2) DACV3 (WRFVar/WRF 6-h cycling run with CV3 BES from 20061200Z to 2006123118Z, SATOB, SATEM and BOGUS data not assimilated)
                    45/15/5km bin_type=5 and 1 by Yun-Tien Lin and Y.-R. Guo. gen_be code is from WRFVar_2.1.  The data files can be  obtained from CWB ftp site:
                                                             
datwncr@163.29.179.171:/guo/be_45km_da1.cv5
                                              
datwncr@163.29.179.171:/guo/be_15km_da1.cv5                       (bin_type=5)
                                              
datwncr@163.29.179.171:/guo/be_05km_da1.cv5
                                              
datwncr@163.29.179.171:/guo/be_45km_da1_bin1.cv5
                                              
datwncr@163.29.179.171:/guo/be_15km_da1_bin1.cv5               (bin_type=1)
                                              
datwncr@163.29.179.171:/guo/be_05km_da1_bin1.cv5
            
3) DACV5I (WRFVar/WRF 6-h cycling run with Interpolated CV5 BES  from Eric Chiang's L41 BES.  SATOB, SATEM and BOGUS not assimilated)
                     45/15/5km bin_type=5 and 1 by Yun-Tien Lin and Y.-R. Guo. gen_be code is from WRFVar_2.1.  The data files can be  obtained from CWB ftp site:
                                                             
datwncr@163.29.179.171:/guo/be_45km_da2.cv5
                                              
datwncr@163.29.179.171:/guo/be_15km_da2.cv5                       (bin_type=5)
                                              
datwncr@163.29.179.171:/guo/be_05km_da2.cv5
                                              
datwncr@163.29.179.171:/guo/be_45km_da2_bin1.cv5
                                              
datwncr@163.29.179.171:/guo/be_15km_da2_bin1.cv5               (bin_type=1)
                                              
datwncr@163.29.179.171:/guo/be_05km_da2_bin1.cv5

     A,  Shell  and  code

       Observation processing

               GPSRO wetPrf decoder program  wetPrf_decoder.tar.gz (20070323) is updated to make the LITTLE_R format consistent with the GPSRO bfrPrf data.  

               GPSRO bfrPrf decoder program bfrPrf_decoder.tar.gz (20070827) is updated for reasons:
                    1) make it to be able in compiling and using in IBM machine;
                    2) introduce one more namelist variable: one_lev_per_record .
                               one_lev_per_record = .FALSE. ---- one GPSRO sounding per report in LITTLE_R file. This format can be used for local operator (rafractivity) without
                                                                                          considering the latitude/longitude varying with impact_parameter (height). Although the lat/lon information is included
                                                                                          in each of the level data records, they are not used in the implementation of the current local obs operator. However,
                                                                                           those information will be used in future non-local obs operator (excess phase) implementation.

                               one_lev_per_record = .TRUE.   ---- one level of GPSRO data per report in LITTLE_R file. Since the "halo" for MPP code in WRFVar  currently
                                                                                            are allocated as only 2-D arrays, if users want to consider the location (lat/lon) varys with the height (impact_parameter),
                                                                                           the alternative way is to write out one-level data per record. Now this just work for local obs operator (refractivity)
                                                                                           assimilation.

                          If users don't want to consider the lat/lon varying with height, keep everything in the shell script as before, no changes needed even if using this new code.

                      Posted on 25 October 2007:

                         Since 20 September 2007, COSMIC/CDDAC updated the bfrPrf data format. The refractivity and bending angle now are available up to 60km (300 levels).
                         The bfrPrf decoder program bfrPrf_decoder.tar.gz (20071025)  is for  the new bfrPrf  data file. The old bfrPrf data files with the size of 8487 should be decoded
                         by the previous decoder program.

               The oservation pre-proccesor 3DVAR_OBSPROC (20070821) has been updated for bug fix in Quik SCAT data thining code. Eric Chiang found that the previous code
               has "Segmentation error" in running with the data: obs_2007081418.r. This bug has the minor effect on the results in assimilation of thined the QSCAT data. 

               CWB Observation data decoder OBS_FGGE_PROC is updated by Jim Bresch on 24 October 2007 (see CWB blog by Jim Bresch).                                                                   

       Data assimilation

                WRFVAR-based VERIFY
               
                a, For U10, V10, T2 and Q2 verification (SYNOP, METAR, SHIP, etc.), these parameters are directly read from WRF model output, wrfout, or MM5 model
                    output, MMOUT, not re-calculated in WRFVar (DA_transfer_wrftoxb.inc or DA_transfer_mm5toxb.inc). So we suggest that for surface observation
                    verification, set the namelist variable: sfc_assi_options = 2 in namelist.3dvar in running var_qc_obs.csh and var_verify.csh. The updated WRFVar code
                    can be downloaded from wrfva_2.1.tar.gz.

                b, The program plot_var_stats was modified i) for bug fix; ii) allowing any time, not necessay t=0, to begin the verification. This is necessary for model
                    forecast U10, V10, T2, and Q2 verification because those parameters are incorrect at t=0 in model output files. So, for example, for SYNOP verification
                    with sfc_assi_options = 2, it could be Start_fcst_time = 3 and End_fcst_time = 48, etc.

                c, The shell scripts for running VERIFY are also have minor modifications.
      


   
        Background error statistics

             The details of the description for CV_OPTIONS = 3 Background Error Statistics, which is current used in CWB WRFVar operational implementation
             can be found from CV3_BES.

             The Stage0 for using WRFV2.2 historic wrfout files in deriving the CV5 BES.

                   Because the netCDF format of the historic forecast files  (wrfout) from WRFV2.2 is something different from  WRFV2.1, the  program  gen_be_Stage0
                  must be modified, otherwise the results would be wrong even although the previous gen_be_Stage0(v2.1) progam could be running without error reported.
                  The updated Stage0 code for WRFV2.2 application can be downloded from gen_be_Stage0 (v2.2). This code have been tested in Linux machine with
                  the CWB WRFV2.2 forecast data from 2006120100Z to 2006120300Z with 12h inteval. The log file,  gen_be_stage0.log, can be downloaded here
                  for your reference.

                  To split your WRFV2.2 historic forecast files and extract the specific times, such as 12h and 24h forecasts, there is a updated shell script:
                  time_split.csh.

             BE Tuning utilities

             Background and observation error tuning utilities: daprog_diagnostics.f90 and daprog_ominusb.f90 (Hollingsworth and Lonnberg, 1986) and
             tune.f90 (Desroziers and ivanov, 2001) have been modified and corrected. These codes and shell scripts: daprog_ominusb.csh and tune.csh are
             under the directory wrfvar_2.1/da_3dvar/utl in wrfvar_2.1.tar.gz (20070129),

             Please read the changes file: wrfvar_2.1/da_3dvar/changes/change_20070109.yrg after un-tarred wrfvar_2.1.tar.

             Dale Barker applied these tuning techniques to 2002 KMA project. The report (doc file) can be downloaded here for your reference.

             1, The Hollingsworth and Lonnberg approach should have a collection of fort.50 files from WRFVar runs as the input file by using shell: daprog_ominusb.csh.
                 
A sample dataset can be downloaded from OMB_data.tar.gz for your testing. There are two known problens in this version of wrfvar_2.1: (1) to produce the
                   correct fort.50 file, the single processor wrfvar run must be used currently; (ii) the vertical binning is now only based on the pressure. for the observations
                   with the height, such as GPS refractivity, the code need to be modified, but it is easy to do.

                   To get the meaningful results, user must accumulate the fort.50 files as much as possible, for example 3 months or more. The Hollingsworth and Lonnberg
                   method is an off-line approach. They assume that the background errors are correlated and observation errors between the observation sites are uncorrelated.
                   And also the covariance matrix is homogeneous and isotropic. Then the perceived short-rang forecast error variance can be partitioned into the background
                   and observation errors.

             2, The Desroziers and Ivanov approach is based on the expectation of observation part of the cost function Jo. Through the roandomized estimation of the trace
                   Tr(HK), the expectation of Jo can be computed. Then, the observation tuning factors can be obtained as (actual Jo / expected Jo)1/2.

                   The input files to the Adaptive tuning program are
                            (  i) Observation error vector R and the random perturbation vector x (fort.45) from the perturbed WRFVar run (omb_add_noise = .TRUE.);
                            ( ii) Perturbed observation yp = yo + dyo (fort.46) from
the perturbed WRFVar run (omb_add_noise = .TRUE.);
                            (iii) Original observations y = yo (fort.47) from the normal WRFVar run (omb_add_noise = .FALSE.);
                            ( iv) Actual cost function Jo (fort.48)
from the normal WRFVar run (omb_add_noise = .FALSE.);
                            (  v) WRFVar printed log file: wrfvar.out (fort.49)
from the normal WRFVar run (omb_add_noise = .FALSE.).

                      The output  file is errfac.dat. which will be used in the obs error tuning WRFVar run (use_obs_errfac = .TRUE.).

                      In my understanding, if there is a large number of the obs data available in a WRFVar run, the expectation of Jo for that observation will be
                       estimated with high confidence, and then the reliable tuning factors could be obtained. So this obs error tuning technique could be online used in
                       a way of an iterative fixed-point method. With the current code, tune.f90, a collection of fort.45, 46, 47, 48, and wrfvar.out from a bunch of WRFVar
                       runs over a epriod could also be used to get the reliable obs error tuning factors. This is an off-line way, and the shell scripts can
                       be downloaded from Adaptive_tune.tar.gz.

                       In our experiences, it is questional with this technique for Typhoon bogus data error tuning, especially for Sea Level Pressure (SLP). Further work is
                       needed for Typhoon bogus data error tuning.  

      B,  Project progresses

           CWB (Dr.Terng provided the verification results (ppt file) from August 2006 to January 2007 for the WRFVar/WRF and OI/NFS parallel runs:
                 1) Height forecast: Anomaly Correlation (AC), S1 score (S1), Mean Error (ME), and Absolute Mean Error (AME);
                 2) Temperature: ME and AME;
                 3) U and V components: ME and AME.

                Explanation of the experiments:

                WOP1_0701_12 ---- WRF 12-h operational forecast for Januaruy 2007 over domain1.
                CWB1_0701_12 ---- WRF with small d3 and old interpolation scheme) 12-h operational fprecast for January 2007 over domain 1
                NOP1_0701_12 ---- NFS 12-h operational forecast for January 2007 over domain 1.
                W_ASO_12 ---- WRF 12-h forecasts for August, September, and October
                 N_ASO_12 ---- NFS 12-h forecasts for August, September, and October
                 W_ND_12 ---- WRF 12-h forecast for November and December
                 N-ND_12  ------ NFS 12-h forecast for November and December.

                LARGE D3 means the expanded domain3 (see CWB/CAA domain settings)


        CWB_Report (ppt file) on 27 April 2007 by Jing-San Hong.

    C, CWB visitors to NCAR

         Jing-Shan Hong, CWB, visited NCAR from 6 to 17 August 2007
         Cheryl Terng, CWB, visited NCAR from 6 to 22 August 2007.
        Yun-Tien Lin, CWB, visits NCAR from 11 July to 29 December 2007

         Schedule (doc file) for Drs. Terng and Hong visit.

         Mid-term review (ppt file) of 2007 CWB project by Kuo, Guo, Liu, and Brayn, NCAR/MMM and UCAR/COSMIC.

         Corporation for WRFVar (ppt file) between CWB and NCAR for second half of year 2007.

  D, Refrences

        The WRFVar/WRF forecast system was steup in United Arab Emirates (UAE). Almost all of the WRFVar techniques were implemented in their
        system. The abstract and presentation given in 2007 WRF user's workshop are posted here:

            Abstract by AJJAJI, et al.
            First presentation by AJJAJI, et al.
            Second presentation by Katheri, et al             

    E, WRF-DART ----- EnKF

         As 2007 CWB project included TASK#2: Exploration of the WRF-based Ensemble Kalman Filter (EnKF) data aasimilation, some of the related
         link are listed below:

                DART home page: http://www.image.ucar.edu/DAReS/DART
                                
                WRF-DART (EnKF) documentation: http://swiki.ucar.edu/wrf-enkf

                Yun-Tien Lin, CWB,  has installed the WRF-DART (EnKF) system in CWB IBM system, and tried to conduct experiments with Typhoon 
                Shanshan case study. The running procedure can be found from WRF-DART_ENKF_run.pdf (ppt file).

   F, Annual report

       a, The annual report presented at CWB on November 28, 2007.

       b, Experimental results
             (i)  Period of December 2006, Domain 1 (45km resolution): Verifying against SOUNDVerifying against SYNOP.
             (ii) Period of June 2007, Domain 1 (45km resolution): Verifying against SOUND, Verifying against SYNOP.

       c, Single obs tests with CV5 BES

             The rip-execution files for single obs (u, t, q, and p) plots with RIP4.

             (i) CV5 BES derived from one-month CV3 cycling run for 200612:  Domain 1 (45km); Domain 2 (15km).
             (ii) CV5 BES derived from one-month cold-start run for 200706: Domain 1 (45km); Domain 2 (15km).



For comments, send email to mesouser@ucar.edu

Last Modified: 25 October 2007