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

[production/AQM.v7] Bugfix/bias correction for Production/AQM.v7 #841

4 changes: 2 additions & 2 deletions Externals.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ protocol = git
repo_url = https://github.com/noaa-oar-arl/NEXUS
# Specify either a branch name or a hash but not both.
#branch = develop
hash = 3842818
hash = 6a7a994
local_path = sorc/arl_nexus
required = True

Expand All @@ -39,7 +39,7 @@ protocol = git
repo_url = https://github.com/NOAA-EMC/AQM-utils
# Specify either a branch name or a hash but not both.
#branch = develop
hash = 9b2921c
hash = 694a139
local_path = sorc/AQM-utils
required = True

Expand Down
51 changes: 20 additions & 31 deletions scripts/exregional_bias_correction_o3.sh
Original file line number Diff line number Diff line change
Expand Up @@ -103,17 +103,9 @@ fi
# STEP 1: Retrieve AIRNOW observation data
#-----------------------------------------------------------------------------

# Link the historical airnow data
mkdir -p "${DATA}/data"
if [ -d "${DATA}/data/bcdata.${yyyymm}" ]; then
rm -rf "${DATA}/data/bcdata.${yyyymm}"
mkdir -p "${DATA}/data/bcdata.${yyyymm}"
cp -rL "${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm}/airnow" "${DATA}/data/bcdata.${yyyymm}"
cp -rL "${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm}/interpolated" "${DATA}/data/bcdata.${yyyymm}"
fi

# Retrieve real-time airnow data for the last three days and convert them into netcdf
if [ "${DO_REAL_TIME}" = "TRUE" ]; then
for ipdym in {1..3}; do
case $ipdym in
1)
Expand Down Expand Up @@ -156,7 +148,6 @@ if [ "${DO_REAL_TIME}" = "TRUE" ]; then
fi
POST_STEP
done
fi

#-----------------------------------------------------------------------------
# STEP 2: Extracting PM2.5, O3, and met variables from CMAQ input and outputs
Expand Down Expand Up @@ -214,39 +205,37 @@ POST_STEP

cp ${DATA}/out/ozone/${yyyy}/*nc ${DATA}/data/bcdata.${yyyymm}/interpolated/ozone/${yyyy}

if [ "${DO_AQM_SAVE_AIRNOW_HIST}" = "TRUE" ]; then
mkdir -p ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm}/interpolated/ozone/${yyyy}
cp ${DATA}/out/ozone/${yyyy}/*nc ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm}/interpolated/ozone/${yyyy}
mkdir -p ${COMOUTbicor}/bcdata.${yyyymm}/interpolated/ozone/${yyyy}
cp ${DATA}/out/ozone/${yyyy}/*nc ${COMOUTbicor}/bcdata.${yyyymm}/interpolated/ozone/${yyyy}

# CSV files
mkdir -p ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm}/airnow/csv/${yyyy}/${PDY}
mkdir -p ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm_m1}/airnow/csv/${yyyy_m1}/${PDYm1}
mkdir -p ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm_m2}/airnow/csv/${yyyy_m2}/${PDYm2}
mkdir -p ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm_m3}/airnow/csv/${yyyy_m3}/${PDYm3}
cp ${DCOMINairnow}/${PDYm1}/airnow/HourlyAQObs_${PDYm1}*.dat ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm_m1}/airnow/csv/${yyyy_m1}/${PDYm1}
cp ${DCOMINairnow}/${PDYm2}/airnow/HourlyAQObs_${PDYm2}*.dat ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm_m2}/airnow/csv/${yyyy_m2}/${PDYm2}
cp ${DCOMINairnow}/${PDYm3}/airnow/HourlyAQObs_${PDYm3}*.dat ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm_m3}/airnow/csv/${yyyy_m3}/${PDYm3}
mkdir -p ${COMOUTbicor}/bcdata.${yyyymm}/airnow/csv/${yyyy}/${PDY}
mkdir -p ${COMOUTbicor}/bcdata.${yyyymm_m1}/airnow/csv/${yyyy_m1}/${PDYm1}
mkdir -p ${COMOUTbicor}/bcdata.${yyyymm_m2}/airnow/csv/${yyyy_m2}/${PDYm2}
mkdir -p ${COMOUTbicor}/bcdata.${yyyymm_m3}/airnow/csv/${yyyy_m3}/${PDYm3}
cp ${DCOMINairnow}/${PDYm1}/airnow/HourlyAQObs_${PDYm1}*.dat ${COMOUTbicor}/bcdata.${yyyymm_m1}/airnow/csv/${yyyy_m1}/${PDYm1}
cp ${DCOMINairnow}/${PDYm2}/airnow/HourlyAQObs_${PDYm2}*.dat ${COMOUTbicor}/bcdata.${yyyymm_m2}/airnow/csv/${yyyy_m2}/${PDYm2}
cp ${DCOMINairnow}/${PDYm3}/airnow/HourlyAQObs_${PDYm3}*.dat ${COMOUTbicor}/bcdata.${yyyymm_m3}/airnow/csv/${yyyy_m3}/${PDYm3}

# NetCDF files
mkdir -p ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm}/airnow/netcdf/${yyyy}/${PDY}
mkdir -p ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm_m1}/airnow/netcdf/${yyyy_m1}/${PDYm1}
mkdir -p ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm_m2}/airnow/netcdf/${yyyy_m2}/${PDYm2}
mkdir -p ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm_m3}/airnow/netcdf/${yyyy_m3}/${PDYm3}
cp ${DATA}/data/bcdata.${yyyymm_m1}/airnow/netcdf/${yyyy_m1}/${PDYm1}/HourlyAQObs.${PDYm1}.nc ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm_m1}/airnow/netcdf/${yyyy_m1}/${PDYm1}
cp ${DATA}/data/bcdata.${yyyymm_m2}/airnow/netcdf/${yyyy_m2}/${PDYm2}/HourlyAQObs.${PDYm2}.nc ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm_m2}/airnow/netcdf/${yyyy_m2}/${PDYm2}
cp ${DATA}/data/bcdata.${yyyymm_m3}/airnow/netcdf/${yyyy_m3}/${PDYm3}/HourlyAQObs.${PDYm3}.nc ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm_m3}/airnow/netcdf/${yyyy_m3}/${PDYm3}

mkdir -p ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm}/grid/${cyc}z/${PDY}
cp ${COMIN}/${NET}.${cycle}.*sfc*.nc ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm}/grid/${cyc}z/${PDY}
fi
mkdir -p ${COMOUTbicor}/bcdata.${yyyymm}/airnow/netcdf/${yyyy}/${PDY}
mkdir -p ${COMOUTbicor}/bcdata.${yyyymm_m1}/airnow/netcdf/${yyyy_m1}/${PDYm1}
mkdir -p ${COMOUTbicor}/bcdata.${yyyymm_m2}/airnow/netcdf/${yyyy_m2}/${PDYm2}
mkdir -p ${COMOUTbicor}/bcdata.${yyyymm_m3}/airnow/netcdf/${yyyy_m3}/${PDYm3}
cp ${DATA}/data/bcdata.${yyyymm_m1}/airnow/netcdf/${yyyy_m1}/${PDYm1}/HourlyAQObs.${PDYm1}.nc ${COMOUTbicor}/bcdata.${yyyymm_m1}/airnow/netcdf/${yyyy_m1}/${PDYm1}
cp ${DATA}/data/bcdata.${yyyymm_m2}/airnow/netcdf/${yyyy_m2}/${PDYm2}/HourlyAQObs.${PDYm2}.nc ${COMOUTbicor}/bcdata.${yyyymm_m2}/airnow/netcdf/${yyyy_m2}/${PDYm2}
cp ${DATA}/data/bcdata.${yyyymm_m3}/airnow/netcdf/${yyyy_m3}/${PDYm3}/HourlyAQObs.${PDYm3}.nc ${COMOUTbicor}/bcdata.${yyyymm_m3}/airnow/netcdf/${yyyy_m3}/${PDYm3}

mkdir -p ${COMOUTbicor}/bcdata.${yyyymm}/grid/${cyc}z/${PDY}
cp ${COMIN}/${NET}.${cycle}.*sfc*.nc ${COMOUTbicor}/bcdata.${yyyymm}/grid/${cyc}z/${PDY}

#-----------------------------------------------------------------------------
# STEP 4: Performing Bias Correction for Ozone
#-----------------------------------------------------------------------------

rm -rf ${DATA}/data/bcdata*

ln -sf ${AQM_AIRNOW_HIST_DIR}/bcdata* "${DATA}/data"
ln -sf ${COMINbicor}/bcdata* "${DATA}/data"

mkdir -p ${DATA}/data/sites
cp ${PARMaqm_utils}/bias_correction/config.ozone.bias_corr_${id_domain}.${cyc}z ${DATA}
Expand Down
17 changes: 3 additions & 14 deletions scripts/exregional_bias_correction_pm25.sh
Original file line number Diff line number Diff line change
Expand Up @@ -103,17 +103,9 @@ fi
# STEP 1: Retrieve AIRNOW observation data
#-----------------------------------------------------------------------------

# Link the historical airnow data
mkdir -p "${DATA}/data"
if [ -d "${DATA}/data/bcdata.${yyyymm}" ]; then
rm -rf "${DATA}/data/bcdata.${yyyymm}"
mkdir -p "${DATA}/data/bcdata.${yyyymm}"
cp -rL "${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm}/airnow" "${DATA}/data/bcdata.${yyyymm}"
cp -rL "${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm}/interpolated" "${DATA}/data/bcdata.${yyyymm}"
fi

# Retrieve real-time airnow data for the last three days
if [ "${DO_REAL_TIME}" = "TRUE" ]; then
for ipdym in {1..3}; do
case $ipdym in
1)
Expand Down Expand Up @@ -156,7 +148,6 @@ if [ "${DO_REAL_TIME}" = "TRUE" ]; then
fi
POST_STEP
done
fi

#-----------------------------------------------------------------------------
# STEP 2: Extracting PM2.5, O3, and met variables from CMAQ input and outputs
Expand Down Expand Up @@ -214,18 +205,16 @@ POST_STEP

cp ${DATA}/out/pm25/${yyyy}/*nc ${DATA}/data/bcdata.${yyyymm}/interpolated/pm25/${yyyy}

if [ "${DO_AQM_SAVE_AIRNOW_HIST}" = "TRUE" ]; then
mkdir -p ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm}/interpolated/pm25/${yyyy}
cp ${DATA}/out/pm25/${yyyy}/*nc ${AQM_AIRNOW_HIST_DIR}/bcdata.${yyyymm}/interpolated/pm25/${yyyy}
fi
mkdir -p ${COMOUTbicor}/bcdata.${yyyymm}/interpolated/pm25/${yyyy}
cp ${DATA}/out/pm25/${yyyy}/*nc ${COMOUTbicor}/bcdata.${yyyymm}/interpolated/pm25/${yyyy}

#-----------------------------------------------------------------------
# STEP 4: Performing Bias Correction for PM2.5
#-----------------------------------------------------------------------

rm -rf ${DATA}/data/bcdata*

ln -sf ${AQM_AIRNOW_HIST_DIR}/bcdata* "${DATA}/data"
ln -sf ${COMINbicor}/bcdata* "${DATA}/data"

mkdir -p ${DATA}/data/sites

Expand Down
24 changes: 9 additions & 15 deletions scripts/exregional_fire_emission.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,10 @@ data files.
yyyymmdd=${FIRE_FILE_CDATE:0:8}
hh=${FIRE_FILE_CDATE:8:2}

CDATE_mh3=$( $DATE_UTIL --utc --date "${yyyymmdd} ${hh} UTC - 3 hours" "+%Y%m%d%H" )
CDATE_mh2=$( $DATE_UTIL --utc --date "${yyyymmdd} ${hh} UTC - 2 hours" "+%Y%m%d%H" )
CDATE_mh1=$( $DATE_UTIL --utc --date "${yyyymmdd} ${hh} UTC - 1 hours" "+%Y%m%d%H" )

yyyymmdd_mh3=${CDATE_mh3:0:8}
hh_mh3=${CDATE_mh3:8:2}
yyyymmdd_mh1=${CDATE_mh1:0:8}
hh_mh1=${CDATE_mh1:8:2}
#
#-----------------------------------------------------------------------
#
Expand All @@ -76,19 +74,19 @@ if [ -e "${DCOMINfire}/${aqm_fire_file_fn}" ]; then
cp "${DCOMINfire}/${aqm_fire_file_fn}" "${FIRE_EMISSION_STAGING_DIR}"
else
# Copy raw data
for ihr in {0..21}; do
download_time=$( $DATE_UTIL --utc --date "${yyyymmdd_mh3} ${hh_mh3} UTC - $ihr hours" "+%Y%m%d%H" )
for ihr in {0..23}; do
download_time=$( $DATE_UTIL --utc --date "${yyyymmdd_mh1} ${hh_mh1} UTC - $ihr hours" "+%Y%m%d%H" )
FILE_13km="Hourly_Emissions_13km_${download_time}00_${download_time}00.nc"
yyyymmdd_dn=${download_time:0:8}
hh_dn=${download_time:8:2}
missing_download_time=$( $DATE_UTIL --utc --date "${yyyymmdd_dn} ${hh_dn} UTC - 24 hours" "+%Y%m%d%H" )
yyyymmdd_dn_md1=${missing_download_time:0:8}
FILE_13km_md1=Hourly_Emissions_13km_${missing_download_time}00_${missing_download_time}00.nc
if [ -e "${DCOMINfire}/RAVE_raw_new/${yyyymmdd_dn}/${FILE_13km}" ]; then
ln -sf "${DCOMINfire}/RAVE_raw_new/${yyyymmdd_dn}/${FILE_13km}" .
elif [ -e "${DCOMINfire}/RAVE_raw_new/${yyyymmdd_dn_md1}/${FILE_13km_md1}" ]; then
if [ -e "${DCOMINfire}/${yyyymmdd_dn}/rave/${FILE_13km}" ]; then
cp -p "${DCOMINfire}/${yyyymmdd_dn}/rave/${FILE_13km}" .
elif [ -e "${DCOMINfire}/${yyyymmdd_dn_md1}/rave/${FILE_13km_md1}" ]; then
echo "WARNING: ${FILE_13km} does not exist. Replacing with the file of previous date ..."
ln -sf "${DCOMINfire}/RAVE_raw_new/${yyyymmdd_dn_md1}/${FILE_13km_md1}" "${FILE_13km}"
cp -p "${DCOMINfire}/${yyyymmdd_dn_md1}/rave/${FILE_13km_md1}" "${FILE_13km}"
else
message_txt="Fire Emission RAW data does not exist:
FILE_13km_md1 = \"${FILE_13km_md1}\"
Expand All @@ -97,7 +95,7 @@ else
if [ "${RUN_ENVIR}" = "community" ]; then
print_err_msg_exit "${message_txt}"
else
ln -sf "${DCOMINfire}/Hourly_Emissions_13km_dummy.nc" "${FILE_13km}"
cp -p "${DCOMINfire}/Hourly_Emissions_13km_dummy.nc" "${FILE_13km}"
message_warning="WARNING: ${message_txt}. Replacing with the dummy file :: AQM RUN SOFT FAILED."
print_info_msg "${message_warning}"
if [ ! -z "${maillist}" ]; then
Expand All @@ -120,10 +118,6 @@ else

mv temp.nc Hourly_Emissions_13km_${download_time}00_${download_time}00.nc

# Extra times
cp Hourly_Emissions_13km_${CDATE_mh3}00_${CDATE_mh3}00.nc Hourly_Emissions_13km_${CDATE_mh2}00_${CDATE_mh2}00.nc
cp Hourly_Emissions_13km_${CDATE_mh3}00_${CDATE_mh3}00.nc Hourly_Emissions_13km_${CDATE_mh1}00_${CDATE_mh1}00.nc

ncrcat -h Hourly_Emissions_13km_*.nc Hourly_Emissions_13km_${yyyymmdd}0000_${yyyymmdd}2300.t${cyc}z.nc
export err=$?
if [ $err -ne 0 ]; then
Expand Down
21 changes: 15 additions & 6 deletions scripts/exregional_nexus_emission.sh
Original file line number Diff line number Diff line change
Expand Up @@ -147,10 +147,10 @@ else
start_del_hr=$(( len_per_split * nspt ))
start_date=$( $DATE_UTIL --utc --date "${yyyymmdd} ${hh} UTC + ${start_del_hr} hours " "+%Y%m%d%H" )
if [ "${nsptp}" = "${NUM_SPLIT_NEXUS}" ];then
end_date=$( $DATE_UTIL --utc --date "${yyyymmdd} ${hh} UTC + ${FCST_LEN_HRS} hours" "+%Y%m%d%H" )
end_date=$( $DATE_UTIL --utc --date "${yyyymmdd} ${hh} UTC + $(expr $FCST_LEN_HRS + 1) hours" "+%Y%m%d%H" )
else
end_del_hr=$(( len_per_split * nsptp ))
end_date=$( $DATE_UTIL --utc --date "${yyyymmdd} ${hh} UTC + ${end_del_hr} hours" "+%Y%m%d%H" )
end_date=$( $DATE_UTIL --utc --date "${yyyymmdd} ${hh} UTC + $(expr $end_del_hr + 1) hours" "+%Y%m%d%H" )
fi
fi
#
Expand Down Expand Up @@ -327,15 +327,24 @@ else
fi
fi
POST_STEP
#

#
#-----------------------------------------------------------------------
#
# Move NEXUS output to INPUT_DATA directory.
# make nexus output pretty and move to INPUT_DATA directory
#
#-----------------------------------------------------------------------
#
mv ${DATA}/NEXUS_Expt_split.nc ${INPUT_DATA}/${NET}.${cycle}${dot_ensmem}.NEXUS_Expt_split.${nspt}.nc

python3 ${ARL_NEXUS_DIR}/utils/python/make_nexus_output_pretty.py --src ${DATA}/NEXUS_Expt_split.nc --grid ${DATA}/grid_spec.nc -o ${INPUT_DATA}/${NET}.${cycle}${dot_ensmem}.NEXUS_Expt_split.${nspt}.nc -t ${DATA}/HEMCO_sa_Time.rc
export err=$?
if [ $err -ne 0 ]; then
message_txt="Call to python script \"make_nexus_output_pretty.py\" failed."
if [ "${RUN_ENVIR}" = "community" ]; then
print_err_msg_exit "${message_txt}"
else
err_exit "${message_txt}"
fi
fi
#
#-----------------------------------------------------------------------
#
Expand Down
30 changes: 1 addition & 29 deletions scripts/exregional_nexus_post_split.sh
Original file line number Diff line number Diff line change
Expand Up @@ -95,39 +95,11 @@ fi
#
#-----------------------------------------------------------------------
#
# make nexus output pretty
#
#-----------------------------------------------------------------------
#
python3 ${ARL_NEXUS_DIR}/utils/python/nexus_time_parser.py -f ${DATA}/HEMCO_sa_Time.rc -s $start_date -e $end_date
export err=$?
if [ $err -ne 0 ]; then
message_txt="Call to python script \"nexus_time_parser.py\" failed."
if [ "${RUN_ENVIR}" = "community" ]; then
print_err_msg_exit "${message_txt}"
else
err_exit "${message_txt}"
fi
fi

python3 ${ARL_NEXUS_DIR}/utils/python/make_nexus_output_pretty.py --src ${DATA}/NEXUS_Expt_combined.nc --grid ${DATA}/grid_spec.nc -o ${DATA}/NEXUS_Expt_pretty.nc -t ${DATA}/HEMCO_sa_Time.rc
export err=$?
if [ $err -ne 0 ]; then
message_txt="Call to python script \"make_nexus_output_pretty.py\" failed."
if [ "${RUN_ENVIR}" = "community" ]; then
print_err_msg_exit "${message_txt}"
else
err_exit "${message_txt}"
fi
fi
#
#-----------------------------------------------------------------------
#
# run MEGAN NCO script
#
#-----------------------------------------------------------------------
#
python3 ${ARL_NEXUS_DIR}/utils/combine_ant_bio.py ${DATA}/NEXUS_Expt_pretty.nc ${DATA}/NEXUS_Expt.nc
python3 ${ARL_NEXUS_DIR}/utils/combine_ant_bio.py "${DATA}/NEXUS_Expt_combined.nc" ${DATA}/NEXUS_Expt.nc
export err=$?
if [ $err -ne 0 ]; then
message_txt="Call to python script \"NEXUS_Expt_pretty.py\" failed."
Expand Down
16 changes: 11 additions & 5 deletions ush/config_defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2901,8 +2901,10 @@ cpl_aqm_parm:
# DO_AQM_GEFS_LBCS:
# Add GEFS aerosol LBCs to chemical LBCs
#
# DO_AQM_SAVE_AIRNOW_HIST:
# Save bias-correction airnow training data
# COMINbicor
# Read bias-correction training data
# COMOUTbicor
# Save bias-correction training data
#
# DO_AQM_SAVE_FIRE:
# Archive fire emission file to HPSS
Expand Down Expand Up @@ -2999,9 +3001,12 @@ cpl_aqm_parm:
# DCOMINairnow:
# Path to the directory containing AIRNOW observation data
#
# AQM_AIRNOW_HIST_DIR:
# Path to the directory where the historical AIRNOW data are located
# COMINbicor:
# Path of reading in historical training data for biascorrection
#
# COMOUTbicor:
# Path to save the current cycle's model output and AirNow obs as training data for future use
# $COMINbicor and $COMOUTbicor can be distuigshed by the ${yyyy}${mm}$dd under the same location
#-----------------------------------------------------------------------
#
CPL_AQM: false
Expand Down Expand Up @@ -3052,4 +3057,5 @@ cpl_aqm_parm:
DCOMINpt_src_dfv: "/path/to/point/source/base/directory"

DCOMINairnow_dfv: "/path/to/airnow/obaservation/data"
AQM_AIRNOW_HIST_DIR: "/path/to/historical/airnow/data/dir"
COMINbicor: "/path/to/historical/airnow/data/dir"
COMOUTbicor: "/path/to/historical/airnow/data/dir"
8 changes: 5 additions & 3 deletions ush/machine/wcoss2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,14 @@ cpl_aqm_parm:
DCOMINbio_dfv: /lfs/h2/emc/lam/noscrub/RRFS_CMAQ/aqm/bio
DCOMINdust_dfv: /lfs/h2/emc/lam/noscrub/RRFS_CMAQ/FENGSHA
DCOMINcanopy_dfv: /lfs/h2/emc/lam/noscrub/RRFS_CMAQ/canopy
DCOMINfire_dfv: /lfs/h2/emc/physics/noscrub/kai.wang/RAVE_fire/RAVE_NA_NRT
DCOMINfire_dfv: /lfs/h1/ops/dev/dcom
DCOMINchem_lbcs_dfv: /lfs/h2/emc/lam/noscrub/RRFS_CMAQ/LBCS/AQM_NA13km_AM4_v1
DCOMINgefs_dfv: /lfs/h2/emc/lam/noscrub/RRFS_CMAQ/GEFS_DATA
DCOMINgefs_dfv: /lfs/h1/ops/prod/com/gefs/v12.3
DCOMINpt_src_dfv: /lfs/h2/emc/physics/noscrub/Youhua.Tang/nei2016v1-pt/v2023-01-PT
DCOMINairnow_dfv: /lfs/h1/ops/prod/dcom
AQM_AIRNOW_HIST_DIR: /lfs/h2/emc/physics/noscrub/jianping.huang/Bias_correction/aqmv7.0
#DCOMINairnow_dfv: /lfs/h2/emc/physics/noscrub/jianping.huang/dcom
COMINbicor: /lfs/h2/emc/physics/noscrub/jianping.huang/Bias_correction/aqmv7.0.81
COMOUTbicor: /lfs/h2/emc/physics/noscrub/jianping.huang/Bias_correction/aqmv7.0.81
NEXUS_INPUT_DIR: /lfs/h2/emc/lam/noscrub/RRFS_CMAQ/nexus_emissions
NEXUS_FIX_DIR: /lfs/h2/emc/lam/noscrub/RRFS_CMAQ/nexus/fix
NEXUS_GFS_SFC_DIR: /lfs/h2/emc/lam/noscrub/RRFS_CMAQ/GFS_DATA
Expand Down