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 initial land DA cycling #1351

Merged
merged 45 commits into from
Apr 24, 2023
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
fb2f8fb
Add initial land DA cycling.
jiaruidong2017 Mar 1, 2023
3e6a3a5
Fix shellcheck error.
jiaruidong2017 Mar 1, 2023
47e04e9
Merge branch 'NOAA-EMC:develop' into landda_pr1
jiaruidong2017 Mar 2, 2023
da71eba
Address the reviwer's comments.
jiaruidong2017 Mar 2, 2023
4fafb58
Merge branch 'NOAA-EMC:develop' into landda_pr1
jiaruidong2017 Mar 2, 2023
67cfc23
Remove "COMPONENT" and replaced with hard-coded "land".
jiaruidong2017 Mar 3, 2023
99c6e8d
Merge branch 'landda_pr1' of https://github.com/jiaruidong2017/global…
jiaruidong2017 Mar 3, 2023
687508d
Merge branch 'NOAA-EMC:develop' into landda_pr1
jiaruidong2017 Mar 3, 2023
70c0b79
Revert back to use atmos/ for land component.
jiaruidong2017 Mar 3, 2023
a89b280
Address the reviewer's questions.
jiaruidong2017 Mar 4, 2023
02108f5
Address the reviewer's comments.
jiaruidong2017 Mar 6, 2023
b6e454a
Merge branch 'develop' into landda_pr1
jiaruidong2017 Mar 10, 2023
a951ffa
Handle using different observations in different cycles.
jiaruidong2017 Mar 10, 2023
de063f3
Merge branch 'NOAA-EMC:develop' into landda_pr1
jiaruidong2017 Mar 10, 2023
138bb8f
Address the reviewer's comments.
jiaruidong2017 Mar 11, 2023
c10af3d
Fix shellcheck warning.
jiaruidong2017 Mar 11, 2023
ffa2e1c
Fix the shellcheck errors.
jiaruidong2017 Mar 11, 2023
ca947c7
Revert back.
jiaruidong2017 Mar 12, 2023
754ef8b
Try.
jiaruidong2017 Mar 12, 2023
40da629
Merge branch 'NOAA-EMC:develop' into landda_pr1
jiaruidong2017 Mar 12, 2023
52f8188
Merge branch 'NOAA-EMC:develop' into landda_pr1
jiaruidong2017 Mar 14, 2023
4d20e8b
Adress the reviewer's comments.
jiaruidong2017 Mar 14, 2023
03480d6
Merge branch 'landda_pr1' of https://github.com/jiaruidong2017/global…
jiaruidong2017 Mar 14, 2023
949b4c9
bugfix
jiaruidong2017 Mar 14, 2023
587fb86
bugfix2.
jiaruidong2017 Mar 14, 2023
f18d7dc
bugfix try.
jiaruidong2017 Mar 14, 2023
25f832c
Bugfix try.
jiaruidong2017 Mar 14, 2023
186a203
Combine landanlinit and landanlfinal into a single block
jiaruidong2017 Mar 14, 2023
2ab93a0
Merge branch 'NOAA-EMC:develop' into landda_pr1
jiaruidong2017 Mar 15, 2023
049593e
Merge branch 'NOAA-EMC:develop' into landda_pr1
jiaruidong2017 Mar 15, 2023
5524ff8
Merge branch 'NOAA-EMC:develop' into landda_pr1
jiaruidong2017 Mar 18, 2023
c6457d8
Merge branch 'NOAA-EMC:develop' into landda_pr1
jiaruidong2017 Mar 28, 2023
e5fb548
Modify the scripts to align with the aerosol analysis task.
jiaruidong2017 Mar 29, 2023
48cea6e
Merge branch 'develop' into landda_pr1
jiaruidong2017 Apr 19, 2023
973e2f5
Remove ATML app and add do_JEDILANDDA option.
jiaruidong2017 Apr 19, 2023
fcaf0ea
Made a minor correction.
jiaruidong2017 Apr 19, 2023
66833f0
Correct the shell norm errors
jiaruidong2017 Apr 19, 2023
deb8080
Correct shell check warning.
jiaruidong2017 Apr 20, 2023
470d8c5
Merge branch 'NOAA-EMC:develop' into landda_pr1
jiaruidong2017 Apr 20, 2023
8d4cfac
Merge branch 'NOAA-EMC:develop' into landda_pr1
jiaruidong2017 Apr 20, 2023
cfab1d3
Made changes by comparing the Russ's PR for the ATM DA.
jiaruidong2017 Apr 21, 2023
af29e14
Merge branch 'NOAA-EMC:develop' into landda_pr1
jiaruidong2017 Apr 21, 2023
3b8974b
Address the reviwer's comments and suggestions.
jiaruidong2017 Apr 21, 2023
13a567a
Remove the '_gfs' resource.
jiaruidong2017 Apr 23, 2023
0be71f7
Merge branch 'develop' into landda_pr1
jiaruidong2017 Apr 24, 2023
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
12 changes: 11 additions & 1 deletion env/HERA.env
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ if [[ $# -ne 1 ]]; then
echo "Must specify an input argument to set runtime environment variables!"
echo "argument can be any one of the following:"
echo "atmanalrun atmensanalrun"
echo "aeroanlrun"
echo "aeroanlrun landanlrun"
echo "anal sfcanl fcst post vrfy metp"
echo "eobs eupd ecen efcs epos"
echo "postsnd awips gempak"
Expand Down Expand Up @@ -83,6 +83,16 @@ elif [[ "${step}" = "aeroanlrun" ]]; then
[[ ${NTHREADS_AEROANL} -gt ${nth_max} ]] && export NTHREADS_AEROANL=${nth_max}
export APRUN_AEROANL="${launcher} -n ${npe_aeroanlrun}"

elif [[ "${step}" = "landanlrun" ]]; then

export APRUNCFP="${launcher} -n \$ncmd ${mpmd_opt}"
Copy link
Contributor

Choose a reason for hiding this comment

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

I know @RussTreadon-NOAA removed these lines from the atmanlrun. Please check if the land jobs will execute via MPMD as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed these lines, and confirmed that there were not any effects for the landanlrun.


nth_max=$((npe_node_max / npe_node_landanlrun))

export NTHREADS_LANDANL=${nth_landanlrun:-${nth_max}}
[[ ${NTHREADS_LANDANL} -gt ${nth_max} ]] && export NTHREADS_LANDANL=${nth_max}
export APRUN_LANDANL="${launcher} -n ${npe_landanlrun}"

elif [[ "${step}" = "ocnanalbmat" ]]; then

export APRUNCFP="${launcher} -n \$ncmd --multi-prog"
Expand Down
14 changes: 12 additions & 2 deletions env/ORION.env
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ if [[ $# -ne 1 ]]; then
echo "Must specify an input argument to set runtime environment variables!"
echo "argument can be any one of the following:"
echo "atmanalrun atmensanalrun"
echo "aeroanlrun"
echo "aeroanlrun landanlrun"
echo "anal sfcanl fcst post vrfy metp"
echo "eobs eupd ecen efcs epos"
echo "postsnd awips gempak"
Expand Down Expand Up @@ -83,6 +83,16 @@ elif [[ "${step}" = "aeroanlrun" ]]; then
[[ ${NTHREADS_AEROANL} -gt ${nth_max} ]] && export NTHREADS_AEROANL=${nth_max}
export APRUN_AEROANL="${launcher} -n ${npe_aeroanlrun}"

elif [[ "${step}" = "landanlrun" ]]; then

export APRUNCFP="${launcher} -n \$ncmd ${mpmd_opt}"
Copy link
Contributor

Choose a reason for hiding this comment

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

And here

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Same solution as above for Hera.


nth_max=$((npe_node_max / npe_node_landanlrun))

export NTHREADS_LANDANL=${nth_landanlrun:-${nth_max}}
[[ ${NTHREADS_LANDANL} -gt ${nth_max} ]] && export NTHREADS_LANDANL=${nth_max}
export APRUN_LANDANL="${launcher} -n ${npe_landanlrun}"

elif [[ "${step}" = "ocnanalbmat" ]]; then

export APRUNCFP="${launcher} -n \$ncmd ${mpmd_opt}"
Expand Down Expand Up @@ -306,7 +316,7 @@ elif [[ "${step}" = "gempak" ]]; then
npe_gempak=${npe_gempak_gfs}
npe_node_gempak=${npe_node_gempak_gfs}
fi

nth_max=$((npe_node_max / npe_node_gempak))

export NTHREADS_GEMPAK=${nth_gempak:-1}
Expand Down
61 changes: 61 additions & 0 deletions jobs/JGLOBAL_LAND_ANALYSIS_FINALIZE
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#! /usr/bin/env bash

source "${HOMEgfs}/ush/preamble.sh"
export WIPE_DATA="NO"
export DATA=${DATA:-${DATAROOT}/${RUN}landanl_${cyc}}
source "${HOMEgfs}/ush/jjob_header.sh" -e "landanlfinal" -c "base landanl landanlfinal"

##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}

##############################################
# Begin JOB SPECIFIC work
##############################################

GDATE=$(date +%Y%m%d%H -d "${CDATE:0:8} ${CDATE:8:2} - ${assim_freq} hours")
export GDATE
gPDY=${GDATE:0:8}
export gcyc=${GDATE:8:2}
export GDUMP=${GDUMP:-"gdas"}

export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
Copy link
Contributor

Choose a reason for hiding this comment

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

Since these are not needed at the j-job level, they should be defined lower where they are needed, such as in the __init__ of LandAnalysis class.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks @aerorahul The script jobs/JGLOBAL_LAND_ANALYSIS_FINALIZE was created by following the script jobs/JGLOBAL_AERO_ANALYSIS_FINALIZE for the aerosol DA.
@CoryMartin-NOAA What do you suggest and can I simply remove these? Thanks.

Copy link
Contributor

Choose a reason for hiding this comment

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

I defer to @aerorahul on this, but if this is the decision made then other files such as my aero j-jobs also will need this removed in a future PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is done following aerosol DA.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think I removed it in the aerosol tasks.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@aerorahul Yes, I removed them too following the aerosol task.


export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos}

mkdir -p "${COMOUT}"

# COMIN_GES and COMIN_GES_ENS are used in script
export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos"
export COMIN_GES_ENS="${ROTDIR}/enkf${GDUMP}.${gPDY}/${gcyc}/atmos"

###############################################################
# Run relevant script

EXSCRIPT=${GDASLANDFINALPY:-${HOMEgfs}/scripts/exglobal_land_analysis_finalize.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"

##############################################
# End JOB SPECIFIC work
##############################################

##############################################
# Final processing
##############################################
if [[ -e "${pgmout}" ]] ; then
cat "${pgmout}"
fi

##########################################
# Remove the Temporary working directory
##########################################
cd "${DATAROOT}" || exit 1
[[ ${KEEPDATA} = "NO" ]] && rm -rf "${DATA}"

exit 0
56 changes: 56 additions & 0 deletions jobs/JGLOBAL_LAND_ANALYSIS_INITIALIZE
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#! /usr/bin/env bash

source "${HOMEgfs}/ush/preamble.sh"
export DATA=${DATA:-${DATAROOT}/${RUN}landanl_${cyc}}
source "${HOMEgfs}/ush/jjob_header.sh" -e "landanlinit" -c "base landanl landanlinit"

##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}

##############################################
# Begin JOB SPECIFIC work
##############################################

GDATE=$(date +%Y%m%d%H -d "${CDATE:0:8} ${CDATE:8:2} - ${assim_freq} hours")
export GDATE
gPDY=${GDATE:0:8}
export gcyc=${GDATE:8:2}
export GDUMP=${GDUMP:-"gdas"}

export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
Copy link
Contributor

Choose a reason for hiding this comment

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

same comment as above.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Same with jobs/JGLOBAL_AERO_ANALYSIS_FINALIZE as above.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is done following aerosol DA.


export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos}

mkdir -p "${COMOUT}"

# COMIN_GES and COMIN_GES_ENS are used in script
export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos"
export COMIN_GES_ENS="${ROTDIR}/enkf${GDUMP}.${gPDY}/${gcyc}/atmos"

# Add UFSDA to PYTHONPATH
export PYTHONPATH=${HOMEgfs}/sorc/gdas.cd/ush/:${PYTHONPATH}
Copy link
Contributor

Choose a reason for hiding this comment

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

@CoryMartin-NOAA Did we try adding this to load_ufsda_modules.sh? I forget.

Copy link
Contributor

Choose a reason for hiding this comment

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

Or may be in the rocoto driver script.

Copy link
Contributor

Choose a reason for hiding this comment

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

A question as well, what will be used from here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I am not familiar with this. @CoryMartin-NOAA would you please help to answer the question by @aerorahul ? Thanks.

Copy link
Contributor

Choose a reason for hiding this comment

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

It should be in the jobs/rocoto/landanlinit.sh file I believe yes.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@CoryMartin-NOAA Yes, I deleted it. Thanks.


###############################################################
# Run relevant script
EXSCRIPT=${GDASLANDINITPY:-${HOMEgfs}/scripts/exglobal_land_analysis_initialize.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"

##############################################
# End JOB SPECIFIC work
##############################################

##############################################
# Final processing
##############################################
if [[ -e "${pgmout}" ]] ; then
cat "${pgmout}"
fi

exit 0
55 changes: 55 additions & 0 deletions jobs/JGLOBAL_LAND_ANALYSIS_RUN
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#! /usr/bin/env bash

source "${HOMEgfs}/ush/preamble.sh"
export WIPE_DATA="NO"
export DATA=${DATA:-${DATAROOT}/${RUN}landanl_${cyc}}
source "${HOMEgfs}/ush/jjob_header.sh" -e "landanlrun" -c "base landanl landanlrun"

##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}

##############################################
# Begin JOB SPECIFIC work
##############################################

GDATE=$(date +%Y%m%d%H -d "${CDATE:0:8} ${CDATE:8:2} - ${assim_freq} hours")
export GDATE
gPDY=${GDATE:0:8}
export gcyc=${GDATE:8:2}
export GDUMP=${GDUMP:-"gdas"}

export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
Copy link
Contributor

Choose a reason for hiding this comment

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

Same comment as above for the initialize and finalize

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Same with jobs/JGLOBAL_AERO_ANALYSIS_FINALIZE as above.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is done following aerosol DA.


export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos}

mkdir -p "${COMOUT}"

# COMIN_GES and COMIN_GES_ENS are used in script
export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos"
export COMIN_GES_ENS="${ROTDIR}/enkf${GDUMP}.${gPDY}/${gcyc}/atmos"

###############################################################
# Run relevant script

EXSCRIPT=${GDASLANDRUNSH:-${HOMEgfs}/scripts/exglobal_land_analysis_run.sh}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"

##############################################
# End JOB SPECIFIC work
##############################################

##############################################
# Final processing
##############################################
if [[ -e "${pgmout}" ]] ; then
cat "${pgmout}"
fi

exit 0
23 changes: 23 additions & 0 deletions jobs/rocoto/landanlfinal.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#! /usr/bin/env bash

source "${HOMEgfs}/ush/preamble.sh"

###############################################################
# Source UFSDA workflow modules
. "${HOMEgfs}/ush/load_ufsda_modules.sh"
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"

export job="landanlfinal"
export jobid="${job}.$$"

###############################################################
# setup python path for workflow utilities and tasks
pygwPATH="${HOMEgfs}/ush/python:${HOMEgfs}/ush/python/pygw/src"
PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}${pygwPATH}"
export PYTHONPATH
###############################################################
# Execute the JJOB
"${HOMEgfs}/jobs/JGLOBAL_LAND_ANALYSIS_FINALIZE"
status=$?
exit "${status}"
24 changes: 24 additions & 0 deletions jobs/rocoto/landanlinit.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#! /usr/bin/env bash

source "${HOMEgfs}/ush/preamble.sh"

###############################################################
# Source UFSDA workflow modules
. "${HOMEgfs}/ush/load_ufsda_modules.sh"
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"

export job="landanlinit"
export jobid="${job}.$$"

###############################################################
# setup python path for workflow utilities and tasks
pygwPATH="${HOMEgfs}/ush/python:${HOMEgfs}/ush/python/pygw/src"
PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}${pygwPATH}"
export PYTHONPATH

###############################################################
# Execute the JJOB
"${HOMEgfs}/jobs/JGLOBAL_LAND_ANALYSIS_INITIALIZE"
status=$?
exit "${status}"
18 changes: 18 additions & 0 deletions jobs/rocoto/landanlrun.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#! /usr/bin/env bash

source "${HOMEgfs}/ush/preamble.sh"

###############################################################
# Source UFSDA workflow modules
. "${HOMEgfs}/ush/load_ufsda_modules.sh"
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"

export job="landanlrun"
export jobid="${job}.$$"

###############################################################
# Execute the JJOB
"${HOMEgfs}/jobs/JGLOBAL_LAND_ANALYSIS_RUN"
status=$?
exit "${status}"
7 changes: 7 additions & 0 deletions parm/config/config.base.emc.dyn
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ export COMINice=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/ice
export COMOUTice=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/ice
export COMINaero=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/chem
export COMOUTaero=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/chem
export COMINland=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos
export COMOUTland=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure these are going to be used as the variables defined are from ROTDIR in the j-job.
May I know the motivation to add this here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@aerorahul The COMOUTland is defined here because it will be used later in the ush/python/pygfs/task/land_analysis.py following the aero_analysis.py. If you want me to remove COMINland/COMOUTland, I will replace COMOUTland with COMOUTatmos in the ush/python/pygfs/task/land_analysis.py.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

As suggested, removed the defined COMINland and COMOUTland.


export ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'}
export LOGSCRIPT=${LOGSCRIPT:-""}
Expand All @@ -157,6 +159,7 @@ export DO_WAVE="NO"
export DO_OCN="NO"
export DO_ICE="NO"
export DO_AERO="NO"
export DO_LAND="NO"
Copy link
Contributor

Choose a reason for hiding this comment

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

Is DO_LAND really a valid option? Do we ever run without land?

export CCPP_SUITE="@CCPP_SUITE@"
export WAVE_CDUMP="" # When to include wave suite: gdas, gfs, or both
export DOBNDPNT_WAVE="NO"
Expand Down Expand Up @@ -187,6 +190,10 @@ case "${APP}" in
ATM)
export confignamevarfornems="atm"
;;
ATML)
export DO_LAND="YES"
Copy link
Contributor

Choose a reason for hiding this comment

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

where will this variable DO_LAND be used?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It will be used in the workflow/applications.py in the future PRs.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm still not clear on the utility of land being off. Adding as a new app for ATM implies we will also need a "+land" option for all the other apps as well. Is that a road we want to go down?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@WalterKolczynski-NOAA I added the DO_LAND=YES to define the ATML app for doing the land DA, and this followed the DO_AERO=YES to define the ATMA app by @CoryMartin-NOAA.

In the workflow/applications.py, the land DA app is added by DO_LAND as below:

        self.do_land = _base.get('DO_LAND', False)

        if self.do_land:
            configs += ['landanlinit', 'landanlrun', 'landanlfinal']
        if self.do_land:
            gdas_gfs_common_tasks_before_fcst += ['landanlinit', 'landanlrun', 'landanlfinal']

@CoryMartin-NOAA Would you please reply to questions by @WalterKolczynski-NOAA ? Thanks.

Copy link
Contributor

Choose a reason for hiding this comment

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

Hi @jiaruidong2017, @WalterKolczynski-NOAA is right, as we discussed a few weeks ago with Mike B., there will never be a ATML app, since land is a required part of the ATM model. Perhaps we need an option to only run the land DA for certain members, but let's tackle that at a later date.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@CoryMartin-NOAA Do you have any specific suggestions on how to proceed with this? Thanks.

Copy link
Contributor

Choose a reason for hiding this comment

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

we should talk about it with Clara and Mike but I'm thinking we don't make it optional with do_land because by definition there will always be 'land' with 'atm'

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@CoryMartin-NOAA I removed the DO_LAND app and added the DO_JEDILANDDA option for land DA following other do_jedi works (e.g., DO_JEDIVAR). I made the test runs, and the run went through.
@CoryMartin-NOAA @WalterKolczynski-NOAA Would you please review the changes? Thanks.

export confignamevarfornems="atm_land"
;;
ATMA)
export DO_AERO="YES"
export confignamevarfornems="atm_aero"
Expand Down
20 changes: 20 additions & 0 deletions parm/config/config.landanl
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/bash -x
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure we are doing an -x in the config scripts.

Suggested change
#!/bin/bash -x
#!/usr/bin/env bash

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Made changes as suggested.


########## config.landanl ##########
# configuration common to all land analysis tasks

echo "BEGIN: config.landanl"

export OBS_YAML_DIR=${HOMEgfs}/sorc/gdas.cd/parm/land/obs/config/
export OBS_LIST=${HOMEgfs}/sorc/gdas.cd/parm/land/obs/lists/gdas_land_prototype.yaml
export LANDVARYAML=${HOMEgfs}/sorc/gdas.cd/parm/land/letkfoi/letkfoi.yaml
##export STATICB_TYPE="identity"
##export BERROR_YAML=${HOMEgfs}/sorc/gdas.cd/parm/atm/berror/staticb_${STATICB_TYPE}.yaml
export FV3JEDI_FIX=${HOMEgfs}/fix/gdas
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this going to be used? @RussTreadon-NOAA had removed its reference.

Copy link
Contributor

Choose a reason for hiding this comment

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

we should be consistent, I don't think it's needed now as long as the fix directory is linked

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@aerorahul I checked that @RussTreadon-NOAA still kept this reference in the config.atmanl, and similar for the config.aeroanl. Therefore, we keep this reference here for consistency.


export io_layout_x=@IO_LAYOUT_X@
export io_layout_y=@IO_LAYOUT_Y@

export JEDIVAREXE=${HOMEgfs}/exec/fv3jedi_letkf.x
Copy link
Contributor

Choose a reason for hiding this comment

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

It is not a "variational executable", if running an LETKF, is it?
Also, I think @RussTreadon-NOAA updated this to JEDIEXE.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I made the changes as suggested and updated this to JEDIEXE.


echo "END: config.landanl"
10 changes: 10 additions & 0 deletions parm/config/config.landanlfinal
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash -x
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
#!/bin/bash -x
#!/usr/bin/env bash

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Made changes as suggested.


########## config.landanlfinal ##########
# Post Land Analysis specific

echo "BEGIN: config.landanlfinal"

# Get task specific resources
. "${EXPDIR}/config.resources" landanlfinal
echo "END: config.landanlfinal"
10 changes: 10 additions & 0 deletions parm/config/config.landanlinit
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash -x
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
#!/bin/bash -x
#!/usr/bin/env bash

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Made changes as suggested.


########## config.landanlinit ##########
# Pre Land Analysis specific

echo "BEGIN: config.landanlinit"

# Get task specific resources
. "${EXPDIR}/config.resources" landanlinit
echo "END: config.landanlinit"
11 changes: 11 additions & 0 deletions parm/config/config.landanlrun
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash -x
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
#!/bin/bash -x
#!/usr/bin/env bash

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Made changes as suggested.


########## config.landanlrun ##########
# Land Analysis specific

echo "BEGIN: config.landanlrun"

# Get task specific resources
. "${EXPDIR}/config.resources" landanlrun

echo "END: config.landanlrun"
Loading