Exercises

Exercises cindyhg Tue, 08/20/2019 - 12:35

Exercises

Case 1: ARW Case with conventional data (PrepBUFR)

Case 1: ARW Case with conventional data (PrepBUFR) cindyhg Tue, 08/20/2019 - 12:41

Case 1: ARW Case with conventional data (PrepBUFR)

Introduction

This case of 00z analysis on February 13th, 2014 was used here as the example case to introduce how to setup run scripts for the GSI observer and EnKF and how to check the EnKF analysis results to determine if a particular EnKF application was successful. In this case, only conventional observations from PrepBUFR are assimilated. Information on assimilating more data will be introduced in the tutorial case 02.

Case Data

The information on downloading the case data can be found from this link.

Setting Up the Case Data and Run Directory

  • Create the data directory ./enkfdata and download, untar the data files. The case data is now populated in:

               (PATH)/enkfdata/arw 
          
  • Create a working directory or use an existing directory as the working directory.
  • In this case, we use run as working directory. 

Setting Up the GSI Observer Run

Setting Up the GSI Observer Run cindyhg Tue, 08/20/2019 - 12:46

Case 1: ARW Case With Conventional Data (PrepBUFR)

Setting Up the GSI Observer Run

Running GSI as observer is the same as running GSI as 3DVar analysis, except for couple of run scripts setups. Users should create a a basic GSI run script following the GSI tutorial: Prepare Base Run Script.

Based on run_gsi_regional.ksh_basic, make the following changes to run GSI as observer:

  • Define run GSI observer only and ensemble members
  • When set if_observer=Yes, GSI only runs observation operator part and skips the minimaztion:
      if_observer=Yes
      no_member=20
      BK_FILE_mem=${BK_ROOT}/wrfarw.mem
    
      
  • For this exercise, only conventional observations are assimilated. To do so, comment out the links to the other observations
#      ln -s ${srcobsfile[$ii]}  ${gsiobsfile[$ii]}
  

The example script can be found : here 

Run GSI observer

Run GSI observer cindyhg Tue, 08/20/2019 - 12:47

Case 1: ARW Case With Conventional Data (PrepBUFR)

Run GSI observer

How to run GSI job depends on computer system. On Cheyenne (LINUX with PBS), run it by: 

   qsub run_gsi_regional.ksh

 

Check the GSI observer run results

Check the GSI observer run results cindyhg Tue, 08/20/2019 - 12:48

Case 1: ARW Case With Conventional Data (PrepBUFR)

Check the GSI observer run results

cd ${WORK_ROOT} 
 

  • Check the stdout file from member 001 and compare it to the reference stdout here 
  • Check the files in the run directory for member 001 before the directory clean and compare them to reference file list here
  • Check the files in the run directory for member 020 before the directory clean and compare them to reference file list here
  • No need to check fit files and minimization
  • should have diag files for the previous 19 members and mean

Setting Up the EnKF Run

Setting Up the EnKF Run cindyhg Tue, 08/20/2019 - 12:50

Case 1: ARW Case With Conventional Data (PrepBUFR)

Setting Up the EnKF Run

Here, we will setup the the EnKF run script based on the basic run script from Prepare basic EnKF run script. After copy:

cp run_enkf_wrf.ksh_basic run_enkf_wrf.ksh 

Make the following additional modifications to the script run_enkf_wrf.ksh:

Define ensemble parameters

  NMEM_ENKF=20
  BK_FILE_mem=${BK_ROOT}/wrf_en
  NLONS=129
  NLATS=70
  NLEVS=50
  

Define ensemble background and observations used in analysis

  IF_ARW=.true.
  IF_NMM=.false.
  list="conv"
  

The example script can be found : here

Run EnKF

Run EnKF cindyhg Tue, 08/20/2019 - 12:53

Case 1: ARW Case With Conventional Data (PrepBUFR)

Run EnKF

It can be run with the same way as GSI runs, for example on Cheyenne (with PBS): 

   qsub  run_enkf_wrf.ksh

 

Check the EnKF run results

Check the EnKF run results cindyhg Tue, 08/20/2019 - 12:54

Case 1: ARW Case With Conventional Data (PrepBUFR)

Check the EnKF run results

cd enkf_arw/. 
 

  • Check the stdout file and compare it to the reference stdout here 
  • Check namelist file in run directory and compare with reference namelist file here

 

Case 2: ARW Case with conventional data (PrepBUFR) plus other data

Case 2: ARW Case with conventional data (PrepBUFR) plus other data cindyhg Tue, 08/20/2019 - 12:55

Case 2: ARW Case with conventional data (PrepBUFR) plus other data

Introduction

This case of 00z analysis on February 13th, 2014 was used here as the example case to introduce how to setup run scripts for the GSI observer and EnKF and how to check the EnKF analysis results to determine if a particular EnKF application was successful. In this case, in addition to conventional observations from PrepBUFR, satellite radiance data are also assimilated.

Case Data

The information on downloading the case data can be found from this link.

Setting Up the Case Data and Run Directory

  • Create the data directory ./enkfdata and download, untar the data files. The case data is now populated in:

               (PATH)/enkfdata/arw 
          
  • Create a working directory or use an existing directory as the working directory.
  • In this case, we use run as working directory. 

Setting Up the GSI Observer Run

Setting Up the GSI Observer Run cindyhg Tue, 08/20/2019 - 12:57

Case 2: ARW Case With Conventional Data (PrepBUFR) Plus Other Data

Setting Up the GSI Observer Run

Running GSI as observer is the same as running GSI as 3DVar analysis, except for couple of run scripts setups. Users should create a a basic GSI run script following the GSI tutorial: Prepare Base Run Script.

Based on run_gsi_regional.ksh_basic, make the following changes to run GSI as observer:

  • Define run GSI observer only and ensemble members
  • When set if_observer=Yes, GSI only runs observation operator part and skips the minimaztion:
      if_observer=Yes
      no_member=20
      BK_FILE_mem=${BK_ROOT}/wrfarw.mem
    
      
  • For this exercise, in addition to conventional observations, satellite radiance data are also assimilated. To do so, un-comment the links to the other observations
      ln -s ${srcobsfile[$ii]}  ${gsiobsfile[$ii]}
  

The example script can be found : here 

Run GSI observer

Run GSI observer cindyhg Tue, 08/20/2019 - 12:58

Run GSI observer

How to run GSI job depends on computer system. On Cheyenne (LINUX with PBS), run it by: 

   qsub  run_gsi_regional.ksh

 

Check the GSI observer run results

Check the GSI observer run results cindyhg Tue, 08/20/2019 - 12:58

Case 2: ARW Case With Conventional Data (PrepBUFR) Plus Other Data

Check the GSI observer run results

cd gsidiag_arw/. 
 

  • Check the stdout file from member 001 and compare it to the reference stdout here 
  • Check the files in the run directory for member 001 before the directory clean and compare them to reference file list here
  • Check the files in the run directory for member 020 before the directory clean and compare them to reference file list here
  • No need to check fit files and minimization
  • should have diag files for the previous 19 members and mean

Setting Up the EnKF Run

Setting Up the EnKF Run cindyhg Tue, 08/20/2019 - 12:59

Case 2: ARW Case With Conventional Data (PrepBUFR) Plus Other Data

Setting Up the EnKF Run

Here, we will setup the the EnKF run script based on the basic run script from Prepare basic EnKF run script. After copy: 

cp run_enkf_wrf.ksh_basic run_enkf_wrf.ksh 

Make the following additional modifications to the script run_enkf_wrf.ksh:

  • Define ensemble parameters
  NMEM_ENKF=20
  BK_FILE_mem=${BK_ROOT}/wrf_en
  NLONS=129
  NLATS=70
  NLEVS=50
  
  • define ensemble background and observations used in analysis
  IF_ARW=.true.
  IF_NMM=.false.
  list="conv amsua_n15 amsua_n18"
  

 

The example script can be found : here

Run EnKF

Run EnKF cindyhg Tue, 08/20/2019 - 12:59

Case 2: ARW Case With Conventional Data (PrepBUFR) Plus Other Data

Run EnKF

It can be run with the same way as GSI runs, for example on Cheyenne (with PBS): 

   qsub   run_enkf_wrf.ksh

 

Check the EnKF run results

Check the EnKF run results cindyhg Tue, 08/20/2019 - 13:00

Case 2: ARW Case With Conventional Data (PrepBUFR) Plus Other Data

Check the EnKF run results

cd ${WORK_ROOT} 
 

  • Check the stdout file and compare it to the reference stdout here 
  • Check namelist file in run directory and compare with reference namelist file here

Case 3: Global T254 Case

Case 3: Global T254 Case cindyhg Tue, 08/20/2019 - 13:01

Case 3: Global T254 Case

Introduction

Case: 12Z analysis on April 05th, 2014: global t254

This case is used as an example to introduce how to setup run scripts for the GSI observer and EnKF and check results for a global analysis application. The following example demonstrates the steps to run this case on NCAR's supercomputer, Yellowstone. The steps should apply to other systems with minor changes. GSI version 3.7 as the observer and EnKF v1.3 (global executable) have been compiled on Yellowstone.


               (PATH)/enkfdata/enkf_glb_t63 
          
  1. Create the data directory ./enkfdata and download, untar the data files. The case data is now populated in:
  2. Create a working directory or use an existing directory as the working directory.
  3. In this case, we use run/ as working directory. 

Setting Up the GSI Observer Run

Setting Up the GSI Observer Run cindyhg Tue, 08/20/2019 - 13:03

Case 3: Global T254 Case

Setting Up the GSI Observer Run

  • Edit the GSI observer run script in comgsi_run_gfs.ksh:
  • The example run script (comgsi_run_gfs.ksh) is located in the comGSIv3.7_EnKFv1.3/ush directory of the GSI/EnKF system. Make the following changes to the script in order to run this case:

     

    ANAL_TIME 2014092918
    GFSCASE enkf_glb_t62
    JOB_DIR (PATH)/run
    RUN_NAME case25-observer-gfs
    OBS_ROOT PATH/enkf_glb_T62/obs
    BK_ROOT PATH/enkf_glb_T62/bkg
    GSI_ROOT PATH/comGSIv3.7_EnKFv1.3
    CRTM_ROOT PATH/CRTM_2.2.3
    GSI_EXE ${JOB_DIR}/gsi.x
    WORK_ROOT ${JOB_DIR}/${RUN_NAME}
    FIX_ROOT ${GSI_ROOT}/fix
    GSI_NAMELIST ${GSI_ROOT}/ush/comgsi_namelist_gfs.sh
    PREPBUFR ${OBS_ROOT}/gdas1.t18z.prepbufr.nr

     

    • Job head:
    • This depends on the specifics of your computer system such as operating system and batch queue, if any.
    • Define number of cores and machine type
    • define the following variables in comgsi_run_gfs.ksh based on previous setup:
    • NOTE:
      • The PATH should be replaced with a real path in your computer.
    • Define run GSI observer only and ensemble members
    • Background ensemble is set for GFS naming convention. When if_observer=Yes is set, GSI only run observation operator part and skip the minimaztion:
        if_observer=Yes
        no_member=10
        

      In this example we are running the enkf_glb_t62 spectral resolution case.

      The example script can be found : here 

Run GSI observer

Run GSI observer cindyhg Tue, 08/20/2019 - 13:04

Case 3: Global T254 Case

Run GSI observer

How to run GSI job depends on computer system. On Cheyenne (LINUX with PBS), run it by: 

   qsub  run_gsi_global.ksh

 

Check the GSI observer run results

Check the GSI observer run results cindyhg Tue, 08/20/2019 - 13:04

Case 3: Global T254 Case

Check the GSI observer run results

  • cd case25-observer-gfs/. 
     

    • Check the stdout file from member 001 and compare it to the reference stdout here 
    • Check files in run directory for member 001 before clean and compare then to reference file list here
    • Check files in run directory for member 010 before clean and compare then to reference file list here
    • should have diag files for the previous 9 members and mean
    • No need to check fit files and minimization

Setting Up the EnKF Run

Setting Up the EnKF Run cindyhg Tue, 08/20/2019 - 13:05

Case 3: Global T254 Case

Setting Up the EnKF Run

  • Edit the EnKF run script in comenkf_run_gfs.ksh:
  • The example run script (comenkf_run_gfs.ksh) is located in the comGSIv3.7_EnKFv1.3/ush directory of the GSI/EnKF system. Make the following changes to the script in order to run this case:

     

    ANAL_TIME 2014092918
    GFSCASE enkf_glb_t254
    JOB_DIR PATH/run/enkf_glb_t254
    RUN_NAME case26-enkf-gfs
    OBS_ROOT PATH/enkf_glb_T62/obs
    BK_ROOT PATH/enkf_glb_T62/bkg
    GSI_ROOT PATH/comGSIv3.7_EnKFv1.3
    CRTM_ROOT PATH/CRTM_2.2.3
    diag_ROOT PATH/run/case25-observer-gfs
    WORK_ROOT ${JOB_DIR}/${RUN_NAME}
    FIX_ROOT ${GSI_ROOT}/fix
    ENKF_EXE ${JOB_DIR}/enkf_gfs.x
    ENKF_NAMELIST ${GSI_ROOT}/ush/enkf_gfs_namelist.sh

     

      NMEM_ENKF=10
      NLEVS=64
      NVARS=5
      
    • Job head:
    • This part is the same as the GSI observer Job head
    • Define number of cores and machine type
    • This part is the same as the GSI observer Job head
    • define the following variables in comenkf_run_gfs.ksh based on previous setup:
    • NOTE:
      • The PATH should be replaced with a real path in your computer.
    • Define ensemble parameters

    The example script can be found : here 

Run EnKF

Run EnKF cindyhg Tue, 08/20/2019 - 13:06

Case 3: Global T254 Case

Run EnKF

It can be run with the same way as GSI runs, for example: 

   qsub  run_enkf_global.ksh

Check the EnKF run results

Check the EnKF run results cindyhg Tue, 08/20/2019 - 13:07

Case 3: Global T254 Case

Check the EnKF run results

cd enkf_glb_t62/. 
 

  • Check the stdout file and compare it to the reference stdout here 
  • Check namelist file in run directory and compare then to reference namelist file here