Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add PM2.5 DA for RRFS-SD #448

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions fix/gsi/anavinfo.rrfs_sd
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
met_guess::
!var level crtm_use desc orig_name
ps 1 -1 surface_pressure ps
z 1 -1 geopotential_height phis
u 65 2 zonal_wind u
v 65 2 meridional_wind v
tv 65 2 virtual_temperature tv
q 65 2 specific_humidity sphu
oz 65 2 ozone ozone
delp 65 -1 fv3 del pressure delp
::

state_derivatives::
!var level src
ps 1 met_guess
u 65 met_guess
v 65 met_guess
tv 65 met_guess
q 65 met_guess
oz 65 met_guess
cw 65 met_guess
prse 66 met_guess
::

state_tendencies::
!var levels source
u 65 met_guess
v 65 met_guess
tv 65 met_guess
q 65 met_guess
oz 65 met_guess
prse 66 met_guess
::

state_vector::
!var level itracer source funcof
u 65 0 met_guess u
v 65 0 met_guess v
tv 65 0 met_guess tv
tsen 65 0 met_guess tv,q
q 65 1 met_guess q
oz 65 1 met_guess oz
prse 66 0 met_guess prse
ps 1 0 met_guess prse
smoke 65 1 chem_guess smoke
dust 65 1 chem_guess dust
::

control_vector::
!var level itracer as/tsfc_sdv an_amp0 source funcof
sf 65 0 0.90 -1.0 state u,v
vp 65 0 0.90 -1.0 state u,v
ps 1 0 1.00 -1.0 state prse
t 65 0 1.40 -1.0 state tv
q 65 1 0.80 -1.0 state q
smoke 65 1 1.00 -1.0 state smoke
dust 65 1 1.00 -1.0 state dust
::

chem_guess::
!var level itracer crtm_use type orig_name
smoke 65 1 12 smoke smoke
dust 65 1 12 dust dust
pm2_5 65 1 10 pm2_5 pm2_5
::
234 changes: 234 additions & 0 deletions fix/gsi/convinfo.rrfs_sd

Large diffs are not rendered by default.

7 changes: 5 additions & 2 deletions fix/gsi/gsiparm.anl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ gsi_namelist="
/
OBS_INPUT::
! dfile dtype dplat dsis dval dthin dsfcalc
pm25bufr pm2_5 null TEOM 1.0 0 0
dbzobs.nc dbz null dbz 1.0 0 0
prepbufr ps null ps 1.0 0 0
prepbufr t null t 1.0 0 0
Expand Down Expand Up @@ -188,8 +189,8 @@ OBS_INPUT::
build_cloud_frac_p=0.50,
clear_cloud_frac_p=0.10,
iclean_hydro_withRef_allcol=1,
i_use_2mQ4B=2,
i_use_2mT4B=1,
i_use_2mQ4B=${i_use_2mQ4B},
i_use_2mT4B=${i_use_2mT4B},
i_gsdcldanal_type=0,
i_gsdsfc_uselist=1,
i_lightpcp=1,
Expand All @@ -198,6 +199,8 @@ OBS_INPUT::
i_gsdqc=2,
/
&CHEM
laeroana_fv3smoke=${laeroana_fv3smoke},
berror_fv3_cmaq_regional=${berror_fv3_cmaq_regional},
/
&NST
/
Expand Down
40 changes: 40 additions & 0 deletions scripts/exregional_run_analysis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,8 @@ niter2=50
lread_obs_save=.false.
lread_obs_skip=.false.
if_model_dbz=.false.
i_use_2mQ4B=2
i_use_2mT4B=1

# Determine if hybrid option is available
memname='atmf009'
Expand Down Expand Up @@ -499,6 +501,12 @@ else

fi


if [ ${ob_type} == "AERO" ]; then
obs_files_source[0]=${OBSPATH_PM}/${YYYYMMDD}/pm25.airnow.${YYYYMMDD}${HH}.bufr
obs_files_target[0]=pm25bufr
fi

fi

#
Expand Down Expand Up @@ -631,6 +639,32 @@ HYBENSINFO=${FIX_GSI}/${HYBENSINFO_FN}
OBERROR=${FIX_GSI}/${OBERROR_FN}
BERROR=${FIX_GSI}/${BERROR_FN}


if [[ ${gsi_type} == "ANALYSIS" && ${ob_type} == "AERO" ]]; then
if [ ${BKTYPE} -eq 1 ]; then
echo "cold start, skip GSI SD DA"
exit 0
fi
ANAVINFO=${FIX_GSI}/${ANAVINFO_SD_FN}
CONVINFO=${FIX_GSI}/${CONVINFO_SD_FN}
BERROR=${FIX_GSI}/${BERROR_SD_FN}
miter=1
niter1=100
niter2=0
ifhyb=.false.
ifsd_da=.true.
l_hyb_ens=.false.
nummem=0
beta1_inv=0.0
i_use_2mQ4B=0
i_use_2mT4B=0
netcdf_diag=.true.
binary_diag=.false.
usenewgfsberror=.false.
laeroana_fv3smoke=.true.
berror_fv3_cmaq_regional=.true.
fi
guoqing-noaa marked this conversation as resolved.
Show resolved Hide resolved

SATINFO=${FIX_GSI}/global_satinfo.txt
OZINFO=${FIX_GSI}/global_ozinfo.txt
PCPINFO=${FIX_GSI}/global_pcpinfo.txt
Expand Down Expand Up @@ -839,6 +873,11 @@ EOF
#
gsi_exec="${EXECDIR}/gsi.x"

if [[ ${gsi_type} == "ANALYSIS" && ${ob_type} == "AERO" ]]; then
gsi_exec="${EXECDIR}/gsi.x.sd"
fi


guoqing-noaa marked this conversation as resolved.
Show resolved Hide resolved
if [ -f $gsi_exec ]; then
print_info_msg "$VERBOSE" "
Copying the GSI executable to the run directory..."
Expand Down Expand Up @@ -867,6 +906,7 @@ fi
#-----------------------------------------------------------------------
#
# comment out for testing

guoqing-noaa marked this conversation as resolved.
Show resolved Hide resolved
$APRUN ./gsi.x < gsiparm.anl > stdout 2>&1 || print_err_msg_exit "\
Call to executable to run GSI returned with nonzero exit code."

Expand Down
Loading