4. OLD NEXRAD Experiment - delippi/PhD-globalRadarOSSE GitHub Wiki

THE NEXRAD EXPERIMENT

Unlike the NODA experiment, you will need to run the cycled DA workflow.
You will also need to use the initial conditions generated for the NODA exeriment and create initial conditions for the C384 ensemble.

1. Ensure that reflectivity is in the diag table.

See "add reflectivity to the diag table" in the setup FV3GFS wiki

2. Ensure that your version of GSI can assimilate radial wind in global configuration.

See "Modify the GSI code to assimilate radial wind in a global configuration for FV3GFS. And recompile." section in setup FV3GFS wiki

3. Create simulated radial wind observations. (Do this step on Theia)

See "Simulating observations" in the radial wind simulator wiki

Creating simulated radial wind observations takes a substantial amount of time and is recommended that the observations be created before running an experiment.

Simulate Doppler radar radial wind observations from the NATURE Run.

CLICK HERE TO SEE DETAILS

Must have NATURE run atmospheric forecast files located here:
/scratch4/NCEPDEV/stmp3/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/NATURE-2018091100-2018091800
cd /scratch4/NCEPDEV/fv3-cam/save/Donald.E.Lippi/PhD-globalRadarOSSE/arch_NATURE
ksh run_arch.ksh [Run time 00:55]

mv /scratch4/NCEPDEV/stmp3/Donald.E.Lippi/archive/NATURE-2018091100-2018091800/gfs* /scratch4/NCEPDEV/stmp3/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/NATURE-2018091100-2018091800/gfs.t00z.20180911.atm.nemsio/.

cd /scratch4/NCEPDEV/fv3-cam/save/Donald.E.Lippi/PhD-globalOSSE/obssim/fortran/run
modify namelist
modify run.ksh

CLICK HERE TO SEE DETAILS

Only need to change the FHMIN/MAX parameters according to the output forecast hour from the nature run. The observation simulator automatically figures the corresponding valid date and cycle.

-FHMIN_GFS=00   #start hour (6, 12, 18, 24, 30, 36, etc). 
-FHMAX_GFS=18  #end   hour (6, 12, 18, 24, 30, etc). FHMIN = FHMAX if simulating obs for single cyc (1 bufr file).
+FHMIN_GFS=24   #start hour (6, 12, 18, 24, 30, 36, etc). 
+FHMAX_GFS=48  #end   hour (6, 12, 18, 24, 30, etc). FHMIN = FHMAX if simulating obs for single cyc (1 bufr file).

ksh run.ksh [Run time 04:13 - 04:29]
save to HPSS to move to WCOSS
ksh save_simdrw_2HPSS4FV3GFS.ksh

SHA1SUMS OF RADIAL WIND OB FILES

nexrad_sha1sums:
a1a682593e124e76ffbbf3aa899a65c9952387e3  nexrad_2018091106_fv3.t06z_drw.bufr
97c2de6e370faf414afe07bb0e96de024cea17d9  nexrad_2018091112_fv3.t12z_drw.bufr
d505a0d9aef427d28aa3c0b07f5612568a5fbc62  nexrad_2018091118_fv3.t18z_drw.bufr
82bee375c3d092eccbeba479fbdac91b8b40c154  nexrad_2018091200_fv3.t00z_drw.bufr
2afd1321962e005082ec826ef17274a5f5481758  nexrad_2018091206_fv3.t06z_drw.bufr
67d50d41bfa9044f6b285ad117ade4395a97b6d8  nexrad_2018091212_fv3.t12z_drw.bufr
53aa387f2537546f14e55de527439ee1930a1f96  nexrad_2018091218_fv3.t18z_drw.bufr
6fb5eb05131e6801a40fea5ae00d7428e6f7d5c1  nexrad_2018091300_fv3.t00z_drw.bufr
e76fb6cd42aa41207cc7aa1bef62e08abaffedc4  nexrad_2018091306_fv3.t06z_drw.bufr
717640244b289648793909072390f3eb62bd6370  nexrad_2018091312_fv3.t12z_drw.bufr
5cc545d8b4433c3c8e6eeccf3c08a528da531f3e  nexrad_2018091318_fv3.t18z_drw.bufr
533d2b16ba79cd409a686cdbffa90a1ba1b753f8  nexrad_2018091400_fv3.t00z_drw.bufr
26c4d147389b842c89b20ed76d0c81d8f5320d9c  nexrad_2018091406_fv3.t06z_drw.bufr
709f7c87bb0a43fed0c06451f5e5beb9a1f23eb6  nexrad_2018091412_fv3.t12z_drw.bufr
3b25add6a5f2809d8189fefd950d6f6c1e4849cb  nexrad_2018091418_fv3.t18z_drw.bufr
e1f997f5bd09b98824b197f455d867b76ce9b5d1  nexrad_2018091500_fv3.t00z_drw.bufr
563fc228b8d38e80f719490257b7ff3e708cc461  nexrad_2018091506_fv3.t06z_drw.bufr
7267c70aafdb7a0f6edfd113b775d4845ea83814  nexrad_2018091512_fv3.t12z_drw.bufr
5e5438f91b01bc07c7ede953ed59563a292db5a6  nexrad_2018091518_fv3.t18z_drw.bufr
263b5a57126616ce5dd954152aefe19b12b084c2  nexrad_2018091600_fv3.t00z_drw.bufr
328f1f7fdd32225f85e449eea747d16bd1dbab12  nexrad_2018091606_fv3.t06z_drw.bufr
1f88e52cf27834a2abe5b5bc4c731aa1f20d4932  nexrad_2018091612_fv3.t12z_drw.bufr
ddd9c1ac3d803c4ce1daa7bf922f584ca7d5c68e  nexrad_2018091618_fv3.t18z_drw.bufr
b5233d8051452cfadf9fde112cc22ae175b74b80  nexrad_2018091700_fv3.t00z_drw.bufr
026d11915dc6e1ae9dcbbf1417a47a132ab848aa  nexrad_2018091706_fv3.t06z_drw.bufr
c2a961fc600408dcf3fb087ab1e6b475855e1750  nexrad_2018091712_fv3.t12z_drw.bufr
085e4c70a548a4ed42e4bf7608cddc17d83ac168  nexrad_2018091718_fv3.t18z_drw.bufr
e9ebc8b6c88142b00b72e5eecd3305e6ff4a2a54  nexrad_2018091800_fv3.t00z_drw.bufr

4. Get initial conditions and link perturbed deterministic initial conditions from NODA.

We want to create all new initial conditions and then replace the deterministic ICs with that from the NODA run.

CLICK HERE TO SEE DETAILS

4.a. If initial conditions have already been generated and stored online

CLICK HERE TO SEE DETAILS

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/get_ics
vi get_ics.ksh
bsub < get_ics.ksh [Run time 01:06; time to pull down, but may take longer to reach it]

cd /gpfs/hps2/ptmp/Donald.E.Lippi/fv3gfs_dl2rw/2018091100
mv ./FV3ICS.getics/NEXRAD-2018091100-2018091800/ ./FV3ICS/.
mkdir -p /gpfs/hps2/ptmp/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/NEXRAD-2018091100-2018091800
cd /gpfs/hps2/ptmp/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/NEXRAD-2018091100-2018091800
mv /gpfs/hps2/ptmp/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/FV3ICS/NEXRAD-2018091100-2018091800/gdas.20180911 .
mv /gpfs/hps2/ptmp/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/FV3ICS/NEXRAD-2018091100-2018091800/enkf.gdas.20180911 .

4.b. If creating new initial conditions

CLICK HERE TO SEE DETAILS

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/global-workflow-20190306/ush
vi fv3gfs_chgres.sh change the following:

  • machine=WCOSS_C
  • HOMEgfs=/gpfs/hps3/emc/meso/save/Donald.E.Lippi/global-workflow-20190306
  • PTMP="/gpfs/hps2/ptmp/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/FV3ICS"
  • PSLOT=NEXRAD-2018091100-2018091800
  • CDUMP=gdas
  • CASE_HIGH=C768
  • CASE_ENKF=C384
  • CDATE=2018091100

bsub < fv3gfs_chgres.sh [Run time 04:10]

Replace the gdas initial conditions with that from NODA

cd /gpfs/hps2/ptmp/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/FV3ICS/NEXRAD-2018091100-2018091800/gdas.20180911/00/INPUT
mkdir replaced
cp * replaced/.
cp /gpfs/hps2/ptmp/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/FV3ICS/NODA-2018091100-2018091800/2018091100/gfs/C768/INPUT/* .
cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/arch_NEXRAD/fv3ics

Save the initial conditions. bsub < htar.ksh [Run time 01:13]

Move initial conditions to the correct location for running experiment.

cd /gpfs/hps2/ptmp/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/NEXRAD-2018091100-2018091800
mv /gpfs/hps2/ptmp/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/FV3ICS/NEXRAD-2018091100-2018091800/enkf.gdas.20180911 .
mv /gpfs/hps2/ptmp/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/FV3ICS/NEXRAD-2018091100-2018091800/gdas.20180911 .
SHA1SUM INTEGRITY CHECK

82294406e2689ab770b28c26a4bed6582aeaa3e8  gfs_ctrl.nc
701a9f153acd42dd816d192e723f0d92bf3b8595  gfs_data.tile1.nc
9590b9eafaa506604ab8776139913131800278c8  gfs_data.tile2.nc
10575e5626189ac7adf708fe5b7825443f6bb4f8  gfs_data.tile3.nc
7998723a4e775691d06dff5b97aae70fa75090d7  gfs_data.tile4.nc
7f529b7bdd89bbf9aee133b0793ac7b055f32fb5  gfs_data.tile5.nc
5b53ff91c7bd40e1b65d5993ccbcf4a594ec2d43  gfs_data.tile6.nc
2a6402264fb75b4a5b69586e62118ad526602f51  sfc_data.tile1.nc
636394b9eaa41f240970cef04875e30116d8149e  sfc_data.tile2.nc
172b3bc06a7794437d5ac77ddbeca0aea76b4b13  sfc_data.tile3.nc
b34368c0c882e7dd0ea38a717aa153de341639e3  sfc_data.tile4.nc
09ef4342e404b612b44100abe0ac4bfeb463f6dc  sfc_data.tile5.nc
e409aecd8704def7bd25ff19c589e2f91e737437  sfc_data.tile6.nc

5. Set up the experimental run.

CLICK HERE TO SEE DETAILS

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/
vi run_NEXRAD.ksh 
ksh run_NEXRAD.ksh
cd /gpfs/hps3/emc/meso/noscrub/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/NEXRAD-2018091100-2018091800
rm -f config.base.default
vi config.base

modify the following

  • export ICSDIR="/gpfs/hps2/ptmp/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/FV3ICS/$PSLOT/2018091100"

  • export FHOUT_GFS=1

  • export FHMAX_GFS_00=120

  • export FHMAX_GFS_06=120

  • export FHMAX_GFS_12=120

  • export FHMAX_GFS_18=120

  • export DOHYBVAR="YES"

  • export NMEM_ENKF=80

  • export SMOOTH_ENKF="YES"

  • export l4densvar=".true."

  • export lwrite4danl=".false."

  • export DONST="NO"

rm -rf config.base.default

6. Run the experiment.

sha1sum of 06hr forecast integrity check

96a6ae75a5b7254d49665c88101a5b607e628f69 NEXRAD-2018091100-2018091800/gfs.20180911/06/gfs.t06z.atmf006.nemsio
d1aab33e884dcf0f9af182b14b6439151b1b5508 NEXRAD-2018091100-2018091800/gfs.20180911/12/gfs.t12z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180911/18/gfs.t18z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180912/00/gfs.t00z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180912/06/gfs.t06z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180912/12/gfs.t12z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180912/18/gfs.t18z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180913/00/gfs.t00z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180913/06/gfs.t06z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180913/12/gfs.t12z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180913/18/gfs.t18z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180914/00/gfs.t00z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180914/06/gfs.t06z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180914/12/gfs.t12z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180914/18/gfs.t18z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180915/00/gfs.t00z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180915/06/gfs.t06z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180915/12/gfs.t12z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180915/18/gfs.t18z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180916/00/gfs.t00z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180916/06/gfs.t06z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180916/12/gfs.t12z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180916/18/gfs.t18z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180917/00/gfs.t00z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180917/06/gfs.t06z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180917/12/gfs.t12z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180917/18/gfs.t18z.atmf006.nemsio
NEXRAD-2018091100-2018091800/gfs.20180918/00/gfs.t00z.atmf006.nemsio
00z cycle

00z cycle

cd /gpfs/hps3/emc/meso/noscrub/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/NEXRAD-2018091100-2018091800
ksh run.ksh

  • 00 - gdasfcst, gdasefcs01-08 [Run time 00:40 hr]
  • 00 - gdaspost, gdasepmn [Run time 00:12 - 00:20 hr]
  • 00 - gdasvrfy, gdaseamn
06z cycle

06z cycle

06z cycle - Observations should be simulated.

Double check that observation have been simulated. If they haven't, see Create simulated radial wind observations

They should be located here:
/gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/get_obs/simbufr

06z cycle - pull down obs from tape and put in the required locations.

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/get_obs
ksh getSimObs.ksh [also located: obssim/fortran/run/tools]
ksh selectDRW.ksh

06z cycle - Modify prep.sh and to grab our simulated radial winds.

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/global-workflow-20190306/jobs/rocoto
vi prep.sh

CLICK HERE TO SEE DETAILS

diff --git a/jobs/rocoto/prep.sh b/jobs/rocoto/prep.sh
index ce4860b..a5ae9b2 100755
--- a/jobs/rocoto/prep.sh
+++ b/jobs/rocoto/prep.sh
@@ -54,6 +54,27 @@ else
     cp $DMPDIR/$CDATE/$CDUMP/${CDUMP}.t${cyc}z.syndata.tcvitals.tm00 $COMOUT/.
 fi

+set -x
+PROCESS_L2RW="YES"
+REAL_OR_SIM="SIM"
+if [ $PROCESS_L2RW = "YES" ]; then
+   EXP="NEXRAD-2018091100-2018091800"
+
+   #SIMULATED OBSERVATIONS
+   if [ $REAL_OR_SIM = "SIM" ]; then
+      L2RW_BASE="/gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/get_obs/simbufr"
+      cp ${L2RW_BASE}/nexrad_${CDATE}_fv3.t${cyc}z_drw.bufr $COMOUT/${OPREFIX}drw.nexrad.bufr
+      sha1sum $COMOUT/${OPREFIX}drw.nexrad.bufr
+   fi
+
+   #REAL OBSERVATIONS
+   if [ $REAL_OR_SIM = "REAL" ]; then
+      L2RW_BASE="/gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/get_obs/2018091106/"
+      cp ${L2RW_BASE}/rap.t06z.nexrad.tm00.bufr_d $COMOUT/${OPREFIX}drw.bufr
+   fi
+fi
+set +x
+

06z cycle - Modify exglobal_analysis_fv3gfs.sh.ecf to only use our simulated radial winds.

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/global-workflow-20190306/scripts
vi exglobal_analysis_fv3gfs.sh.ecf

CLICK HERE TO SEE DETAILS

diff --git a/scripts/exglobal_analysis_fv3gfs.sh.ecf b/scripts/exglobal_analysis_fv3gfs.sh.ecf
index f0548be..9ab273e 100755
--- a/scripts/exglobal_analysis_fv3gfs.sh.ecf
+++ b/scripts/exglobal_analysis_fv3gfs.sh.ecf
@@ -109,6 +109,11 @@ export gesenvir=${gesenvir:-$envir}
 OPREFIX=${OPREFIX:-""}
 OSUFFIX=${OSUFFIX:-""}
 PREPQC=${PREPQC:-${COMIN_OBS}/${OPREFIX}prepbufr${OSUFFIX}}
+gdas_gfs=`echo $OPREFIX | cut -f 1 -d "."`
+PATH1="/gpfs/hps2/ptmp/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/NEXRAD-2018091100-2018091800/"
+nexrad_L2RWBUFR="${PATH1}/${gdas_gfs}.$PDY/$cyc/${OPREFIX}drw.nexrad.bufr${OSUFFIX}"
 PREPQCPF=${PREPQCPF:-${COMIN_OBS}/${OPREFIX}prepbufr.acft_profiles${OSUFFIX}}
 NSSTBF=${NSSTBF:-${COMIN_OBS}/${OPREFIX}nsstbufr${OSUFFIX}}
 SATWND=${SATWND:-${COMIN_OBS}/${OPREFIX}satwnd.tm00.bufr_d${OSUFFIX}}
@@ -300,8 +305,10 @@ SATANGL=${SATANGL:-${FIXgsi}/global_satangbias.txt}
 SATINFO=${SATINFO:-${FIXgsi}/global_satinfo.txt}
 RADCLOUDINFO=${RADCLOUDINFO:-${FIXgsi}/cloudy_radiance_info.txt}
 ATMSFILTER=${ATMSFILTER:-${FIXgsi}/atms_beamwidth.txt}
-ANAVINFO=${ANAVINFO:-${FIXgsi}/global_anavinfo.l${LEVS}.txt}
+#ANAVINFO=${ANAVINFO:-${FIXgsi}/global_anavinfo.l${LEVS}.txt}
+ANAVINFO=${ANAVINFO:-${FIXgsi}/global_anavinfo.l${LEVS}.txt.w}
 CONVINFO=${CONVINFO:-${FIXgsi}/global_convinfo.txt}
+RADARLIST=${RADARLIST:-${FIXgsi}/radar_list}
 INSITUINFO=${INSITUINFO:-${FIXgsi}/global_insituinfo.txt}
 OZINFO=${OZINFO:-${FIXgsi}/global_ozinfo.txt}
 PCPINFO=${PCPINFO:-${FIXgsi}/global_pcpinfo.txt}
@@ -363,10 +370,12 @@ cd $DATA || exit 99
 rm berror_stats hybens_info
 rm scaninfo satbias_angle satinfo
 rm anavinfo convinfo ozinfo pcpinfo aeroinfo
+rm radar_list
 rm errtable atms_beamwidth.txt
 rm cloudy_radiance_info.txt

 rm prepbufr prepbufr_profl
+rm l2rwbufr_1
 rm gpsrobufr
 rm tcvitl
 rm gsndrbufr gsnd1bufr
@@ -405,6 +414,7 @@ $NLN $RADCLOUDINFO cloudy_radiance_info.txt
 $NLN $ATMSFILTER   atms_beamwidth.txt
 $NLN $ANAVINFO     anavinfo
 $NLN $CONVINFO     convinfo
+$NLN $RADARLIST    radar_list
 $NLN $INSITUINFO   insituinfo
 $NLN $OZINFO       ozinfo
 $NLN $PCPINFO      pcpinfo
@@ -435,6 +445,7 @@ $NLN $RTMFIX/CloudCoeff.bin                ./crtm_coeffs/CloudCoeff.bin

 ##############################################################
 # Observational data
+if [[ only_l2rw == "NO" ]]; then
 $NLN $PREPQC           prepbufr
 $NLN $PREPQCPF         prepbufr_profl
 $NLN $SATWND           satwndbufr
@@ -490,8 +501,10 @@ $NLN $TCVITL           tcvitl
 $NLN $B1AVHAM          avhambufr
 $NLN $B1AVHPM          avhpmbufr
 $NLN $AHIBF            ahibufr
-
+fi
+DOL2RW="YES" && DONST="NO"
 [[ $DONST = "YES" ]] && $NLN $NSSTBF nsstbufr
+[[ $DOL2RW = "YES" ]] && $NLN $nexrad_L2RWBUFR l2rwbufr_1

 ##############################################################
 # Required bias guess files
@@ -684,7 +697,7 @@ cat > gsiparm.anl << EOF
 /
 &GRIDOPTS
   JCAP_B=$JCAP,JCAP=$JCAP_A,NLAT=$NLAT_A,NLON=$NLON_A,nsig=$LEVS,
-  regional=.false.,nlayers(63)=3,nlayers(64)=6,
+  regional=.false.,global_l2rw=.true.,nlayers(63)=3,nlayers(64)=6,
   $GRIDOPTS
 /
 &BKGERR
@@ -712,7 +725,8 @@ cat > gsiparm.anl << EOF
 &OBSQC
   dfact=0.75,dfact1=3.0,noiqc=.true.,oberrflg=.false.,c_varqc=0.02,
   use_poq7=.true.,qc_noirjaco3_pole=.true.,vqc=.true.,
-  aircraft_t_bc=.true.,biaspredt=1000.0,upd_aircraft=.true.,cleanup_tail=.true.,
+  aircraft_t_bc=.false.,biaspredt=1000.0,upd_aircraft=.false.,cleanup_tail=.true.,
+  vadwnd_l2rw_qc=.false.,
   $OBSQC
 /
 &OBS_INPUT
@@ -720,100 +734,12 @@ cat > gsiparm.anl << EOF
   $OBSINPUT
 /
 OBS_INPUT::
-!  dfile          dtype       dplat       dsis                dval    dthin dsfcalc
-   prepbufr       ps          null        ps                  0.0     0     0
-   prepbufr       t           null        t                   0.0     0     0
-   prepbufr_profl t           null        t                   0.0     0     0
-   prepbufr       q           null        q                   0.0     0     0
-   prepbufr_profl q           null        q                   0.0     0     0
-   prepbufr       pw          null        pw                  0.0     0     0
-   prepbufr       uv          null        uv                  0.0     0     0
-   prepbufr_profl uv          null        uv                  0.0     0     0
-   satwndbufr     uv          null        uv                  0.0     0     0
-   prepbufr       spd         null        spd                 0.0     0     0
-   prepbufr       dw          null        dw                  0.0     0     0
-   radarbufr      rw          null        rw                  0.0     0     0
-   nsstbufr       sst         nsst        sst                 0.0     0     0
-   gpsrobufr      gps_bnd     null        gps                 0.0     0     0
-   ssmirrbufr     pcp_ssmi    dmsp        pcp_ssmi            0.0    -1     0
-   tmirrbufr      pcp_tmi     trmm        pcp_tmi             0.0    -1     0
-   sbuvbufr       sbuv2       n16         sbuv8_n16           0.0     0     0
-   sbuvbufr       sbuv2       n17         sbuv8_n17           0.0     0     0
-   sbuvbufr       sbuv2       n18         sbuv8_n18           0.0     0     0
-   hirs3bufr      hirs3       n17         hirs3_n17           0.0     1     0
-   hirs4bufr      hirs4       metop-a     hirs4_metop-a       0.0     1     1
-   gimgrbufr      goes_img    g11         imgr_g11            0.0     1     0
-   gimgrbufr      goes_img    g12         imgr_g12            0.0     1     0
-   airsbufr       airs        aqua        airs_aqua           0.0     1     1
-   amsuabufr      amsua       n15         amsua_n15           0.0     1     1
-   amsuabufr      amsua       n18         amsua_n18           0.0     1     1
-   amsuabufr      amsua       metop-a     amsua_metop-a       0.0     1     1
-   airsbufr       amsua       aqua        amsua_aqua          0.0     1     1
-   amsubbufr      amsub       n17         amsub_n17           0.0     1     1
-   mhsbufr        mhs         n18         mhs_n18             0.0     1     1
-   mhsbufr        mhs         metop-a     mhs_metop-a         0.0     1     1
-   ssmitbufr      ssmi        f15         ssmi_f15            0.0     1     0
-   amsrebufr      amsre_low   aqua        amsre_aqua          0.0     1     0
-   amsrebufr      amsre_mid   aqua        amsre_aqua          0.0     1     0
-   amsrebufr      amsre_hig   aqua        amsre_aqua          0.0     1     0
-   ssmisbufr      ssmis       f16         ssmis_f16           0.0     1     0
-   ssmisbufr      ssmis       f17         ssmis_f17           0.0     1     0
-   ssmisbufr      ssmis       f18         ssmis_f18           0.0     1     0
-   gsnd1bufr      sndrd1      g12         sndrD1_g12          0.0     1     0
-   gsnd1bufr      sndrd2      g12         sndrD2_g12          0.0     1     0
-   gsnd1bufr      sndrd3      g12         sndrD3_g12          0.0     1     0
-   gsnd1bufr      sndrd4      g12         sndrD4_g12          0.0     1     0
-   gsnd1bufr      sndrd1      g11         sndrD1_g11          0.0     1     0
-   gsnd1bufr      sndrd2      g11         sndrD2_g11          0.0     1     0
-   gsnd1bufr      sndrd3      g11         sndrD3_g11          0.0     1     0
-   gsnd1bufr      sndrd4      g11         sndrD4_g11          0.0     1     0
-   gsnd1bufr      sndrd1      g13         sndrD1_g13          0.0     1     0
-   gsnd1bufr      sndrd2      g13         sndrD2_g13          0.0     1     0
-   gsnd1bufr      sndrd3      g13         sndrD3_g13          0.0     1     0
-   gsnd1bufr      sndrd4      g13         sndrD4_g13          0.0     1     0
-   iasibufr       iasi        metop-a     iasi_metop-a        0.0     1     1
-   gomebufr       gome        metop-a     gome_metop-a        0.0     2     0
-   omibufr        omi         aura        omi_aura            0.0     2     0
-   sbuvbufr       sbuv2       n19         sbuv8_n19           0.0     0     0
-   hirs4bufr      hirs4       n19         hirs4_n19           0.0     1     1
-   amsuabufr      amsua       n19         amsua_n19           0.0     1     1
-   mhsbufr        mhs         n19         mhs_n19             0.0     1     1
-   tcvitl         tcp         null        tcp                 0.0     0     0
-   seviribufr     seviri      m08         seviri_m08          0.0     1     0
-   seviribufr     seviri      m09         seviri_m09          0.0     1     0
-   seviribufr     seviri      m10         seviri_m10          0.0     1     0
-   seviribufr     seviri      m11         seviri_m11          0.0     1     0
-   hirs4bufr      hirs4       metop-b     hirs4_metop-b       0.0     1     1
-   amsuabufr      amsua       metop-b     amsua_metop-b       0.0     1     1
-   mhsbufr        mhs         metop-b     mhs_metop-b         0.0     1     1
-   iasibufr       iasi        metop-b     iasi_metop-b        0.0     1     1
-   gomebufr       gome        metop-b     gome_metop-b        0.0     2     0
-   atmsbufr       atms        npp         atms_npp            0.0     1     1
-   atmsbufr       atms        n20         atms_n20            0.0     1     1
-   crisbufr       cris        npp         cris_npp            0.0     1     0
-   crisfsbufr     cris-fsr    npp         cris-fsr_npp        0.0     1     0
-   crisfsbufr     cris-fsr    n20         cris-fsr_n20        0.0     1     0
-   gsnd1bufr      sndrd1      g14         sndrD1_g14          0.0     1     0
-   gsnd1bufr      sndrd2      g14         sndrD2_g14          0.0     1     0
-   gsnd1bufr      sndrd3      g14         sndrD3_g14          0.0     1     0
-   gsnd1bufr      sndrd4      g14         sndrD4_g14          0.0     1     0
-   gsnd1bufr      sndrd1      g15         sndrD1_g15          0.0     1     0
-   gsnd1bufr      sndrd2      g15         sndrD2_g15          0.0     1     0
-   gsnd1bufr      sndrd3      g15         sndrD3_g15          0.0     1     0
-   gsnd1bufr      sndrd4      g15         sndrD4_g15          0.0     1     0
-   oscatbufr      uv          null        uv                  0.0     0     0
-   mlsbufr        mls30       aura        mls30_aura          0.0     0     0
-   avhambufr      avhrr       metop-a     avhrr3_metop-a      0.0     1     0
-   avhpmbufr      avhrr       n18         avhrr3_n18          0.0     1     0
-   amsr2bufr      amsr2       gcom-w1     amsr2_gcom-w1       0.0     3     0
-   gmibufr        gmi         gpm         gmi_gpm             0.0     3     0
-   saphirbufr     saphir      meghat      saphir_meghat       0.0     3     0
-   ahibufr        ahi         himawari8   ahi_himawari8       0.0     3     0
-   rapidscatbufr  uv          null        uv                  0.0     0     0
-   ompsnpbufr     ompsnp      npp       ompsnp_npp            0.0     0     0
-   ompstcbufr     ompstc8     npp       ompstc8_npp           0.0     2     0
+!  dfile         dtype       dplat       dsis                dval    dthin dsfcalc
+   l2rwbufr_1    rw          null        l2rw                0.0     0     0
 ::
 &SUPEROB_RADAR
+   del_azimuth=5,del_elev=.25,del_range=5000.,del_time=.125,elev_angle_max=20.,minnum=50,range_max=100000.,
+   l2superob_only=.false.,
   $SUPERRAD
 /
 &LAG_DATA
@@ -837,9 +763,15 @@ OBS_INPUT::
   $CHEM
 /
 &SINGLEOB_TEST
-  maginnov=0.1,magoberr=0.1,oneob_type='t',
-  oblat=45.,oblon=180.,obpres=1000.,obdattim=$CDATE,
-  obhourset=0.,
+  maginnov=1.0,
+  magoberr=1.0,
+  oneob_type='rw',
+  oblat=30.72,oblon=262.62,obpres=850.,obdattim=$CDATE,obhourset=0.,
+  sstn='KGRK',
+  anel_rw=00.00,
+  anaz_rw=00.00,
+  range_rw=1000.,
+  learthrel_rw=.true.,
   $SINGLEOB
 /
 &NST

06z cycle - Run

cd /gpfs/hps3/emc/meso/noscrub/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/NEXRAD-2018091100-2018091800
ksh run.ksh

  • 06 - gfsprep, gdasprep [Run time 00:19; modify prep.sh to pull simulated obs from HPSS that were created on Theia]
  • 06 - gfsanal, gdasanal [Run time 01:40; modify GSI code to assimilate radial winds for global configuration]

Save diag and fort files

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/arch_diag_fort
ksh arch_diag_fort.ksh
  • 06 - gfsfcst, gdasfcst [Run time 03:33; make sure that reflectivity is in the diagnostic file]
  • 06 - gfsvrfy, gdaseomn
  • 06 - gdaseupd
changes to gdaseupd

diff --git a/scripts/exglobal_enkf_update_fv3gfs.sh.ecf b/scripts/exglobal_enkf_update_fv3gfs.sh.ecf
index c9177f9..224ddd1 100755
--- a/scripts/exglobal_enkf_update_fv3gfs.sh.ecf
+++ b/scripts/exglobal_enkf_update_fv3gfs.sh.ecf
@@ -128,7 +128,7 @@ if [ $USE_CFP = "YES" ]; then
    cat > $DATA/untar.sh << EOFuntar
 #!/bin/sh
 memchar=\$1
-flist="$CNVSTAT $OZNSTAT $RADSTAT"
+flist="$CNVSTAT"
 for ftype in \$flist; do
    if [ \$memchar = "ensmean" ]; then
       fname=$COMOUT_ANL_ENS/\${ftype}.ensmean
  • 06 - gdasecen, gfsarch, gdasefmn, gdasepmn, gdaseamn

06z cycle - Save forecast to tape.

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/arch_NEXRAD
ksh run_arch.ksh [Run time 02:20 to copy; 02:20 to htar atms; 00:20 to htar sfc; 05:00 total]

06z cycle - Pull down forecast to Theia and create plots.

cd /scratch4/NCEPDEV/stmp3/Donald.E.Lippi/fv3gfs_dl2rw
ksh makeplots.ksh

12z cycle

12z cycle

12z cycle - Observations should be simulated.

Double check that observation have been simulated. If they haven't, see Create simulated radial wind observations

They should be located here:
/gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/get_obs/simbufr

12z cycle - pull down obs from tape and put in the required locations.

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/get_obs
ksh getSimObs.ksh [also located: obssim/fortran/run/tools]
ksh selectDRW.ksh

12z cycle - Modify prep.sh and to grab our simulated radial winds.

  • Should already be done from 06z run.

12z cycle - Modify exglobal_analysis_fv3gfs.sh.ecf to only use our simulated radial winds.

  • Should already be done from 06z run.

12z cycle - Run

cd /gpfs/hps3/emc/meso/noscrub/Donald.E.Lippi/fv3gfs_dl2rw/2018091100/NEXRAD-2018091100-2018091800
ksh run.ksh

  • 12 - gfsprep, gdasprep [Run time 00:19; modify prep.sh to pull simulated obs from HPSS that were created on Theia]
  • 12 - gfsanal, gdasanal [Run time 01:40; modify GSI code to assimilate radial winds for global configuration]

Save diag and fort files

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/arch_diag_fort
ksh arch_diag_fort.ksh
  • 12 - gfsfcst, gdasfcst [Run time 03:33; make sure that reflectivity is in the diagnostic file]
  • 12 - gfsvrfy, gdaseomn
  • 12 - gdaseupd
  • 12 - gfsfcst, gdasfcst [Run time 03:33; make sure that reflectivity is in the diagnostic file]

12z cycle - Save forecast to tape.

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/arch_NEXRAD
ksh run_arch.ksh [Run time 02:20 to copy; 02:20 to htar atms; 00:20 to htar sfc; 05:00 total]

12z cycle - Pull down forecast to Theia and create plots.

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/make_plots
ksh makeplots.ksh

7. Make Plots - Do this on Theia

Plot GSI diag and fit info

Modify /ush/build_all_cmake.sh b/ush/build_all_cmake.sh and compile read_diag_conv.f90

CLICK HERE FOR DETAILS

cd /scratch4/NCEPDEV/fv3-cam/save/Donald.E.Lippi/gsi/ProdGSI/ush

diff --git a/ush/build_all_cmake.sh b/ush/build_all_cmake.sh
index 34a0dad..f518e81 100755
--- a/ush/build_all_cmake.sh
+++ b/ush/build_all_cmake.sh
@@ -57,7 +57,7 @@ else
     source $dir_modules/modulefile.ProdGSI.$target
 fi
 
-cmake -DBUILD_UTIL=ON -DCMAKE_BUILD_TYPE=$build_type -DBUILD_CORELIBS=OFF ..
+cmake -DBUILD_UTIL=ON -DBUILD_UTIL_COM=ON -DCMAKE_BUILD_TYPE=$build_type -DBUILD_CORELIBS=OFF ..

sh build_all_cmake.sh

The executable is located: /scratch4/NCEPDEV/fv3-cam/save/Donald.E.Lippi/gsi/ProdGSI/exec/read_diag_conv.x

The following script pulls the diag and fort files from HPSS, saves them in a forecast cycle specific directory, modifies the namelist.conv, runs the read_diag_conv.x executable, and scatter plots the lat lon of all obs used during that assimilation cycle. The script also plots the bias, rms, and count from the fort.209 file.

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/make_plots
ksh pull_diag_fort.ksh

move into the directory printed by the script pull_diag_fort.ksh

Edit namelist.conv

./read_diag_conv.x

Sample output

 var  stationID  itype    rdhr   rlat    rlon    rprs    iuse    robs     ddiff
 rw @ KGRK     : 999     -3.00   29.93  262.67  862.46    1     -3.83     -1.32

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/py-fv3graphics
Edit scatterObs.py

try:
   filename="results_conv_ges.2018091106"
   datadir="/scratch4/NCEPDEV/stmp3/Donald.E.Lippi/fv3gfs_dl2rw/anl/rh2018/201809/20180911/06/"
   pdy="20180911"
   cyc="06"

python scatterObs.py

Plot fort.209 radial wind fit information (bias, RMS, and count)

cd /gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/rwfits
ksh run_plot_rwfits.ksh
Plot netcdf4 variables

Plotting is done on Theia since there is no data retention policy. All forecasts are saved on HPSS. We need to pull them down to theia and then run our plot script. Our plot script doubles as a script to pull files from HPSS.

Scripts:

/gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/make_plots/run.ksh
/gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/make_plots/make_plots.ksh
/gpfs/hps3/emc/meso/save/Donald.E.Lippi/PhD-globalRadarOSSE/py-fv3graphics/threaded_fv3_2d_template_fcstonly.py
cd /scratch4/NCEPDEV/stmp3/Donald.E.Lippi/fv3gfs_dl2rw

⚠️ **GitHub.com Fallback** ⚠️