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

Update GSI analysis jobs to use COMIN/COMOUT #3092

Open
wants to merge 27 commits into
base: develop
Choose a base branch
from

Conversation

mingshichen-noaa
Copy link
Contributor

@mingshichen-noaa mingshichen-noaa commented Nov 12, 2024

Description

NCO has requested that each COM variable specify whether it is an input or an output. This completes that process for the global jgdas enkf select obs job and relevant .JGLOBAL_ATMOS_ANALYSIS and JGLOBAL_ATMOS_ANALYSIS_CALC jobs.

Refs #2451

Type of change

  • Maintenance (code refactor, clean-up, new CI test, etc.)

Change characteristics

  • Is this a breaking change (a change in existing functionality)? NO
  • Does this change require a documentation update? NO

How has this been tested?

  • Clone and build on RDHPCS
  • Cycled tests on Hercules
  • Forecast-only tests on Hercules

Checklist

  • Any dependent changes have been merged and published
  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • I have made corresponding changes to the documentation if necessary

jobs/JGDAS_ENKF_SELECT_OBS Fixed Show resolved Hide resolved
Copy link
Contributor

@aerorahul aerorahul left a comment

Choose a reason for hiding this comment

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

looks good. I am no longer familiar w/ the IN and OUT of EnKF related data, so would appreciate a review from @CatherineThomas-NOAA @RussTreadon-NOAA

Copy link
Member

@KateFriedman-NOAA KateFriedman-NOAA left a comment

Choose a reason for hiding this comment

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

Looks good! Please resolve the shellcheck warning in jobs/JGDAS_ENKF_SELECT_OBS and then I can approve.

@TerrenceMcGuinness-NOAA TerrenceMcGuinness-NOAA removed the CI/CD Issue related to CI/CD label Nov 13, 2024
aerorahul
aerorahul previously approved these changes Nov 13, 2024
Copy link
Contributor

@aerorahul aerorahul left a comment

Choose a reason for hiding this comment

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

looks good to me.

Copy link
Member

@KateFriedman-NOAA KateFriedman-NOAA left a comment

Choose a reason for hiding this comment

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

Looks good, thanks @mingshichen-noaa !

@WalterKolczynski-NOAA WalterKolczynski-NOAA added the CI-Hera-Ready **CM use only** PR is ready for CI testing on Hera label Nov 15, 2024
@emcbot emcbot removed the CI-Hera-Ready **CM use only** PR is ready for CI testing on Hera label Nov 15, 2024
[[ -d "${COM_ATMOS_ANALYSIS}" ]] || mkdir -p "${COM_ATMOS_ANALYSIS}"
[[ -d "${COM_ATMOS_RESTART}" ]] || mkdir -p "${COM_ATMOS_RESTART}"
[[ -d "${COMOUT_ATMOS_ANALYSIS}" ]] || mkdir -p "${COMOUT_ATMOS_ANALYSIS}"
[[ -d "${COMIN_ATMOS_RESTART}" ]] || mkdir -p "${COMIN_ATMOS_RESTART}"
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't be creating an input directory.

Suggested change
[[ -d "${COMIN_ATMOS_RESTART}" ]] || mkdir -p "${COMIN_ATMOS_RESTART}"

@mingshichen-noaa
Copy link
Contributor Author

@WalterKolczynski-NOAA
If I change line 137 into [[ -d "${COMOUT_ATMOS_RESTART}" ]] || mkdir -p "${COMOUT_ATMOS_RESTART}", that seems to conflict with line 80:
80 # input data : ${COMIN_ATMOS_RESTART}/${PDY}.${cyc}0000.sfcanl_data.tile*.nc

@WalterKolczynski-NOAA
Copy link
Contributor

@WalterKolczynski-NOAA If I change line 137 into [[ -d "${COMOUT_ATMOS_RESTART}" ]] || mkdir -p "${COMOUT_ATMOS_RESTART}", that seems to conflict with line 80: 80 # input data : ${COMIN_ATMOS_RESTART}/${PDY}.${cyc}0000.sfcanl_data.tile*.nc

How so? If it is input data, the directory already exists and does not need to be created.

@WalterKolczynski-NOAA
Copy link
Contributor

Changing that one line from COMIN to COMOUT clearly isn't correct:

  • COMOUT_ATMOS_RESTART isn't defined
  • You only changed the one instance, so you're making a directory that is never used
  • The comments are clear about it being an input directory, so you would need to show me where it is being written to in order to have a COMOUT version

@mingshichen-noaa
Copy link
Contributor Author

@WalterKolczynski-NOAA
you are right. I should remove the line 137 because COMIN_ATMOS_RESTART is an input directory declared at line 36 of jobs/JGLOBAL_ATMOS_ANALYSIS_CALC file.

@WalterKolczynski-NOAA
Copy link
Contributor

@mingshichen-noaa can you point me to your experiment directories where you tested this PR?

@mingshichen-noaa
Copy link
Contributor Author

@WalterKolczynski-NOAA
Today I have made some modification on usr/gaussian_sfcanl.sh. Just now I cd sorc and ran ./build_all.sh -gu again. The recent test results are at
/work2/noaa/global/mchen/test/jobs/JGDAS_ENKF_SELECT_OBS/EXPDIR/C96C48_hybatmDA
platform is Hercules.

@WalterKolczynski-NOAA
Copy link
Contributor

@WalterKolczynski-NOAA Today I have made some modification on usr/gaussian_sfcanl.sh. Just now I cd sorc and ran ./build_all.sh -gu again. The recent test results are at /work2/noaa/global/mchen/test/jobs/JGDAS_ENKF_SELECT_OBS/EXPDIR/C96C48_hybatmDA platform is Hercules.

This experiment is not progressing. Did you put rocotorun into your crontab?

@mingshichen-noaa
Copy link
Contributor Author

@WalterKolczynski-NOAA
Yesterday I made manually rocotorun and got results. Today I did crontab -e as follows:
MAILTO="[email protected]"
*/5 * * * * /apps/contrib/rocoto/1.3.7/bin/rocotorun -d /work2/noaa/global/mchen/test/jobs/JGDAS_ENKF_SELECT_OBS/EXPDIR/C96C48_hybatmDA/C96C48_hybatmDA.db -w /work2/noaa/global/mchen/test/jobs/JGDAS_ENKF_SELECT_OBS/EXPDIR/C96C48_hybatmDA/C96C48_hybatmDA.xml

@WalterKolczynski-NOAA
Copy link
Contributor

@WalterKolczynski-NOAA Yesterday I made manually rocotorun and got results. Today I did crontab -e as follows: MAILTO="[email protected]" */5 * * * * /apps/contrib/rocoto/1.3.7/bin/rocotorun -d /work2/noaa/global/mchen/test/jobs/JGDAS_ENKF_SELECT_OBS/EXPDIR/C96C48_hybatmDA/C96C48_hybatmDA.db -w /work2/noaa/global/mchen/test/jobs/JGDAS_ENKF_SELECT_OBS/EXPDIR/C96C48_hybatmDA/C96C48_hybatmDA.xml

Looks like it is running now.


YMD=${PDY} HH=${cyc} declare_from_tmpl -rx COM_ATMOS_ANALYSIS COM_ATMOS_RESTART
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx
Copy link
Contributor

Choose a reason for hiding this comment

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

@mingshichen-noaa
This line is causing the failure. Please fix

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

After I checked codes in jobs/JGLOBAL_ATMOS_ANALYSIS_CALC from mingshichen-noaa:feature/jgdas_enkf_select_obs_com_in_out, the codes had been modified as follows:
30
31 RUN=${rCDUMP} YMD=${PDY} HH=${cyc} declare_from_tmpl -rx
32 COMIN_OBS:COM_OBS_TMPL
33
34 YMD=${PDY} HH=${cyc} declare_from_tmpl -rx
35 COMOUT_ATMOS_ANALYSIS:COM_ATMOS_ANALYSIS_TMPL
36 COMIN_ATMOS_RESTART:COM_ATMOS_RESTART_TMPL
37
38 RUN=${GDUMP} YMD=${gPDY} HH=${gcyc} declare_from_tmpl -rx
39 COMIN_OBS_PREV:COM_OBS_TMPL
40 COMIN_ATMOS_HISTORY_PREV:COM_ATMOS_HISTORY_TMPL
41

@mingshichen-noaa
Copy link
Contributor Author

@aerorahul
Do you think whether I should make a change on line 39 in jobs/JGDAS_ENKF_SELECT_OBS
from
39 declare -rx COMOUT_ATMOS_ANALYSIS_ENS="${COMOUT_ATMOS_ANALYSIS}"
into
39 declare -rx COMOUT_ATMOS_ANALYSIS_ENS:COM_ATMOS_ANALYSIS_TMPL


YMD=${PDY} HH=${cyc} declare_from_tmpl -rx COM_ATMOS_ANALYSIS COM_ATMOS_RESTART
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx
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
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \

This is the fix needed.

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 have changed line 34 as follows:
34 YMD=${PDY} HH=${cyc} declare_from_tmpl -rx
35 COMOUT_ATMOS_ANALYSIS:COM_ATMOS_ANALYSIS_TMPL
36 COMIN_ATMOS_RESTART:COM_ATMOS_RESTART_TMPL

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
My changes are located the branch: mingshichen-noaa:feature/jgdas_enkf_select_obs_com_in_out

Copy link
Contributor

Choose a reason for hiding this comment

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

please push them

@WalterKolczynski-NOAA
Copy link
Contributor

@mingshichen-noaa Please rewind the dead jobs in your experiment so it can continue with the fix.

@WalterKolczynski-NOAA WalterKolczynski-NOAA changed the title Update JGDAS ENKF SELECT OBS JGLOBAL_ATMOS_ANALYSIS and JGLOBAL_ATMOS_ANALYSIS_CALC jobs Update GSI analysis jobs to use COMIN/COMOUT Dec 10, 2024
@WalterKolczynski-NOAA WalterKolczynski-NOAA added the CI-Hera-Ready **CM use only** PR is ready for CI testing on Hera label Dec 11, 2024
@emcbot emcbot added CI-Hera-Building **Bot use only** CI testing is cloning/building on Hera and removed CI-Hera-Ready **CM use only** PR is ready for CI testing on Hera labels Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI-Hera-Building **Bot use only** CI testing is cloning/building on Hera
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants