Skip to content
Draft
Show file tree
Hide file tree
Changes from 10 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
135 changes: 133 additions & 2 deletions parm/jedivar.yaml

Large diffs are not rendered by default.

18 changes: 3 additions & 15 deletions scripts/exrrfs_ioda_bufr.sh
Original file line number Diff line number Diff line change
Expand Up @@ -121,26 +121,14 @@ ln -sf abibufr "rap.t${cyc}z.gsrcsr.tm00.bufr_d"
cp "rap.t${cyc}z.abi_g16.tm00.nc" "ioda_abi_g16.nc"
cp "rap.t${cyc}z.abi_g18.tm00.nc" "ioda_abi_g18.nc"

# run offline IODA tools
${cpreq} "${USHrrfs}"/offline_domain_check.py .
${cpreq} "${USHrrfs}"/offline_domain_check_satrad.py .
${cpreq} "${USHrrfs}"/offline_ioda_tweak.py .
${cpreq} "${USHrrfs}"/offline_vad_thinning.py .

for ioda_file in ioda*nc; do
grid_file="${FIXrrfs}/${MESH_NAME}/${MESH_NAME}.static.nc"
#if [[ "${ioda_file}" == *abi* || "${ioda_file}" == *atms* || "${ioda_file}" == *cris* ]]; then
if [[ "${ioda_file}" == *abi* ]]; then
echo " ${ioda_file} ioda file detected: running offline_domain_check_satrad.py"
./offline_domain_check_satrad.py -o "${ioda_file}" -g "${grid_file}" -s 0.005
base_name=$(basename "$ioda_file" .nc)
mv "${base_name}_dc.nc" "${base_name}.nc"
elif [[ "${ioda_file}" == *atms* || "${ioda_file}" == *cris* ]]; then
echo " ${ioda_file} ioda file detected: temporarily skipping offline domain check"
if [[ "${ioda_file}" == *abi* || "${ioda_file}" == *atms* || "${ioda_file}" == *cris* ]]; then
echo " ${ioda_file} ioda tweak is skipped for abi, atms, and cris"
else
./offline_domain_check.py -o "${ioda_file}" -g "${grid_file}" -s 0.005
base_name=$(basename "$ioda_file" .nc)
mv "${base_name}_dc.nc" "${base_name}.nc"
echo " ${ioda_file} running ioda tweak"
./offline_ioda_tweak.py -o "${ioda_file}"
base_name=$(basename "$ioda_file" .nc)
mv "${base_name}_llp.nc" "${base_name}.nc"
Expand Down
10 changes: 8 additions & 2 deletions scripts/exrrfs_jedivar.sh
Original file line number Diff line number Diff line change
Expand Up @@ -136,10 +136,16 @@ case ${YAML_GEN_METHOD:-1} in
;;
esac

if ( grep -E '\*POLY' jedivar.yaml > /dev/null ) ; then
cp jedivar.yaml no_polygon_jedivar.yaml
"${USHrrfs}/yamlify_domain_edge.py" -g "invariant.nc" -i '' > polygon.yaml
cat polygon.yaml no_polygon_jedivar.yaml > jedivar.yaml
fi
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SamuelTrahanNOAA Thanks for getting this ready for retro testing.
I understand that this is still a draft PR. But a heads up that the polygon generation will only need to run once for each domain in its lifetime. So we will NOT include lines 139-143 in exrrfs_jedivar.sh, but instead run it manually once and then put the results somewhere (either as a fix file or as a exp setting option).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps we can do this?

  1. Add a variable $BOUNDARY_POLYGON_YAML
  2. If that variable is set to a valid path, use that file,
  3. Otherwise, automatically generate it.

A side-effect of the automatic generation fallback is to give you the polygon boundary file you need to put in parm/

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will test your branch and then talk further with you on this. Thanks!


if [[ ${start_type} == "warm" ]] || [[ ${start_type} == "cold" && ${COLDSTART_CYCS_DO_DA^^} == "TRUE" ]]; then
# run mpasjedi_variational.x
#export OOPS_TRACE=1
#export OOPS_DEBUG=1
export OOPS_TRACE=1
export OOPS_DEBUG=1
export OMP_NUM_THREADS=1

source prep_step
Expand Down
Loading