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 snow obs processing job #3055

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
4098f10
Remove the GTS BUFR2IODA part of the snow obs prep job and
jiaruidong2017 Sep 9, 2024
8d1bc87
Change HOMEgfs to PARMgfs.
jiaruidong2017 Sep 10, 2024
6ff65bc
Merge branch 'develop' into feature/snow_gtsobs
jiaruidong2017 Sep 10, 2024
2295cab
Merge branch 'develop' into feature/snow_gtsobs
CoryMartin-NOAA Sep 11, 2024
5074d11
Made changes to stage the static GTS mapping files.
jiaruidong2017 Sep 12, 2024
f122edf
Change the name to be more descriptive.
jiaruidong2017 Sep 12, 2024
73b4ec0
Merge branch 'develop' into feature/snow_gtsobs
jiaruidong2017 Sep 15, 2024
086158d
Update IMS preprocessing job.
jiaruidong2017 Sep 15, 2024
2df23be
Rename IMS snow preprocessing jobs/names to be snowcover
jiaruidong2017 Sep 16, 2024
bb8775a
Merge branch 'develop' into feature/ims_snowcover
jiaruidong2017 Sep 17, 2024
5ddf552
Merge branch 'develop' into feature/ims_snowcover
jiaruidong2017 Sep 19, 2024
0bfbff7
Merge branch 'develop' into feature/ims_snowcover
jiaruidong2017 Sep 20, 2024
3c08705
Address reviewer's comments.
jiaruidong2017 Sep 27, 2024
850f672
Merge branch 'develop' into feature/ims_snowcover
jiaruidong2017 Oct 4, 2024
6f2fc66
Merge branch 'develop' into feature/ims_snowcover
jiaruidong2017 Oct 15, 2024
30c19d4
Merge branch 'feature/ims_snowcover' of https://github.com/jiaruidong…
jiaruidong2017 Oct 15, 2024
08bb8d8
Merge branch 'develop' into feature/ims_snowcover
jiaruidong2017 Oct 15, 2024
8a4a743
Merge branch 'develop' into feature/ims_snowcover
jiaruidong2017 Oct 22, 2024
b12a375
Update to use <taskvalid> for managing the rocoto dependency.
jiaruidong2017 Oct 23, 2024
679e57e
Fix the pynorms error.
jiaruidong2017 Oct 23, 2024
d97480a
Fix an error.
jiaruidong2017 Oct 23, 2024
ed78b8c
Update the name of dependency from prepsnowcover for ens recentering.
jiaruidong2017 Oct 23, 2024
eac7e1f
Update to run gdas_prepsnowcover job on every 00Z cycle.
jiaruidong2017 Oct 25, 2024
96254c4
Made changes as reviewer suggested.
jiaruidong2017 Oct 25, 2024
a00f9e8
Fix pynorm error.
jiaruidong2017 Oct 25, 2024
20b3b9c
Merge branch 'develop' into feature/ims_snowcover
DavidHuber-NOAA Oct 28, 2024
db3a912
Update the dependency for the enkfgdas_esnowrecen job.
jiaruidong2017 Oct 28, 2024
2e319a7
Merge branch 'feature/ims_snowcover' of https://github.com/jiaruidong…
jiaruidong2017 Oct 28, 2024
3d8c9d3
Update the esnowrecen job dependency.
jiaruidong2017 Oct 28, 2024
7148c4e
Update the gfs workflow for prepsnowcover job.
jiaruidong2017 Oct 30, 2024
0b63f8d
Move IMS snow obs processing to the snow analysis job.
jiaruidong2017 Nov 1, 2024
278c5bb
Merge branch 'develop' into feature/ims_snowcover
jiaruidong2017 Nov 1, 2024
a68ff12
Merge branch 'develop' into feature/ims_snowcover
CoryMartin-NOAA Nov 7, 2024
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
6 changes: 2 additions & 4 deletions env/HERA.env
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,6 @@ if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then
export sys_tp="HERA"
export launcher_PREP="srun --hint=nomultithread"

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

export APRUN_CALCFIMS="${APRUN_default}"

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

export APRUN="${APRUN_default}"
Expand Down Expand Up @@ -116,6 +112,8 @@ elif [[ "${step}" = "prepobsaero" ]]; then

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

export APRUN_CALCFIMS="${launcher} -n 1"

export NTHREADS_SNOWANL=${NTHREADSmax}
export APRUN_SNOWANL="${APRUN_default} --cpus-per-task=${NTHREADS_SNOWANL}"

Expand Down
6 changes: 2 additions & 4 deletions env/HERCULES.env
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,6 @@ case ${step} in
export sys_tp="HERCULES"
export launcher_PREP="srun --hint=nomultithread"
;;
"prepsnowobs")

export APRUN_CALCFIMS="${APRUN_default}"
;;
"prep_emissions")

export APRUN="${APRUN_default}"
Expand Down Expand Up @@ -115,6 +111,8 @@ case ${step} in
;;
"snowanl")

export APRUN_CALCFIMS="${launcher} -n 1"

export NTHREADS_SNOWANL=${NTHREADSmax}
export APRUN_SNOWANL="${APRUN_default} --cpus-per-task=${NTHREADS_SNOWANL}"

Expand Down
6 changes: 2 additions & 4 deletions env/JET.env
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,6 @@ if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then
export sys_tp="JET"
export launcher_PREP="srun"

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

export APRUN_CALCFIMS="${launcher} -n 1"

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

export APRUN="${launcher} -n 1"
Expand Down Expand Up @@ -99,6 +95,8 @@ elif [[ "${step}" = "prepobsaero" ]]; then

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

export APRUN_CALCFIMS="${launcher} -n 1"

export NTHREADS_SNOWANL=${NTHREADSmax}
export APRUN_SNOWANL="${APRUN_default}"

Expand Down
6 changes: 2 additions & 4 deletions env/ORION.env
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,6 @@ if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then
export sys_tp="ORION"
export launcher_PREP="srun --hint=nomultithread"

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

export APRUN_CALCFIMS="${launcher} -n 1"

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

export APRUN="${launcher} -n 1"
Expand Down Expand Up @@ -106,6 +102,8 @@ elif [[ "${step}" = "prepobsaero" ]]; then

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

export APRUN_CALCFIMS="${launcher} -n 1"

export NTHREADS_SNOWANL=${NTHREADSmax}
export APRUN_SNOWANL="${APRUN_default} --cpus-per-task=${NTHREADS_SNOWANL}"

Expand Down
6 changes: 2 additions & 4 deletions env/S4.env
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,6 @@ if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then
export sys_tp="S4"
export launcher_PREP="srun"

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

export APRUN_CALCFIMS="${APRUN_default}"

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

export APRUN="${APRUN_default}"
Expand Down Expand Up @@ -99,6 +95,8 @@ elif [[ "${step}" = "prepobsaero" ]]; then

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

export APRUN_CALCFIMS="${launcher} -n 1"

export NTHREADS_SNOWANL=${NTHREADSmax}
export APRUN_SNOWANL="${APRUN_default}"

Expand Down
6 changes: 2 additions & 4 deletions env/WCOSS2.env
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,6 @@ if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then
export sys_tp="wcoss2"
export launcher_PREP="mpiexec"

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

export APRUN_CALCFIMS="${APRUN_default}"

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

export APRUN="${APRUN_default}"
Expand Down Expand Up @@ -92,6 +88,8 @@ elif [[ "${step}" = "prepobsaero" ]]; then

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

export APRUN_CALCFIMS="${launcher} -n 1"

export NTHREADS_SNOWANL=${NTHREADSmax}
export APRUN_SNOWANL="${APRUN_default}"

Expand Down
50 changes: 0 additions & 50 deletions jobs/JGLOBAL_PREP_SNOW_OBS

This file was deleted.

26 changes: 0 additions & 26 deletions jobs/rocoto/prepsnowobs.sh

This file was deleted.

8 changes: 8 additions & 0 deletions jobs/rocoto/snowanl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,14 @@ status=$?
export job="snowanl"
export jobid="${job}.$$"

###############################################################
# setup python path for ioda utilities
# shellcheck disable=SC2311
pyiodaPATH="${HOMEgfs}/sorc/gdas.cd/build/lib/python$(detect_py_ver)/"
gdasappPATH="${HOMEgfs}/sorc/gdas.cd/sorc/iodaconv/src:${pyiodaPATH}"
PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}:${gdasappPATH}"
export PYTHONPATH

###############################################################
# Execute the JJOB
"${HOMEgfs}/jobs/JGLOBAL_SNOW_ANALYSIS"
Expand Down
18 changes: 0 additions & 18 deletions parm/config/gfs/config.prepsnowobs

This file was deleted.

9 changes: 1 addition & 8 deletions parm/config/gfs/config.resources
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ if (( $# != 1 )); then
echo "Must specify an input task argument to set resource variables!"
echo "argument can be any one of the following:"
echo "stage_ic aerosol_init"
echo "prep prepsnowobs prepatmiodaobs"
echo "prep prepatmiodaobs"
echo "atmanlinit atmanlvar atmanlfv3inc atmanlfinal"
echo "atmensanlinit atmensanlobs atmensanlsol atmensanlletkf atmensanlfv3inc atmensanlfinal"
echo "snowanl esnowrecen"
Expand Down Expand Up @@ -152,13 +152,6 @@ case ${step} in
memory="${mem_node_max}"
;;

"prepsnowobs")
walltime="00:05:00"
ntasks=1
threads_per_task=1
tasks_per_node=1
;;

"prepatmiodaobs")
walltime="00:30:00"
ntasks=1
Expand Down
6 changes: 6 additions & 0 deletions parm/config/gfs/config.snowanl
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ export JEDIYAML="${PARMgfs}/gdas/snow/letkfoi/letkfoi.yaml.j2"
export SNOWDEPTHVAR="snodl"
export BESTDDEV="30." # Background Error Std. Dev. for LETKFOI

# Process IMS snowcover into snow depth
export IMS_OBS_LIST="${PARMgfs}/gdas/snow/prep/prep_ims.yaml.j2"
export CALCFIMSEXE="${EXECgfs}/calcfIMS.exe"
export FIMS_NML_TMPL="${PARMgfs}/gdas/snow/prep/fims.nml.j2"
export IMS2IODACONV="${USHgfs}/imsfv3_scf2ioda.py"

# Name of the executable that applies increment to bkg and its namelist template
export APPLY_INCR_EXE="${EXECgfs}/apply_incr.exe"
export APPLY_INCR_NML_TMPL="${PARMgfs}/gdas/snow/letkfoi/apply_incr_nml.j2"
Expand Down
24 changes: 0 additions & 24 deletions scripts/exglobal_prep_snow_obs.py

This file was deleted.

2 changes: 2 additions & 0 deletions scripts/exglobal_snow_analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@

# Instantiate the snow analysis task
anl = SnowAnalysis(config)
if anl.task_config.cyc == 0:
anl.prepare_IMS()
anl.initialize()
anl.execute()
anl.finalize()
4 changes: 2 additions & 2 deletions workflow/applications/gfs_cycled.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ def _get_app_configs(self):
configs += ['prepobsaero']

if self.do_jedisnowda:
configs += ['prepsnowobs', 'snowanl']
configs += ['snowanl']
if self.do_hybvar:
configs += ['esnowrecen']

Expand Down Expand Up @@ -156,7 +156,7 @@ def get_task_names(self):
gdas_gfs_common_tasks_before_fcst += ['sfcanl', 'analcalc']

if self.do_jedisnowda:
gdas_gfs_common_tasks_before_fcst += ['prepsnowobs', 'snowanl']
gdas_gfs_common_tasks_before_fcst += ['snowanl']

wave_prep_tasks = ['waveinit', 'waveprep']
wave_bndpnt_tasks = ['wavepostbndpnt', 'wavepostbndpntbll']
Expand Down
28 changes: 1 addition & 27 deletions workflow/rocoto/gfs_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -563,34 +563,10 @@ def aeroanlfinal(self):

return task

def prepsnowobs(self):

deps = []
dep_dict = {'type': 'task', 'name': f'{self.run}_prep'}
deps.append(rocoto.add_dependency(dep_dict))
dependencies = rocoto.create_dependency(dep=deps)

resources = self.get_resource('prepsnowobs')
task_name = f'{self.run}_prepsnowobs'
task_dict = {'task_name': task_name,
'resources': resources,
'dependency': dependencies,
'envars': self.envars,
'cycledef': self.run.replace('enkf', ''),
'command': f'{self.HOMEgfs}/jobs/rocoto/prepsnowobs.sh',
'job_name': f'{self.pslot}_{task_name}_@H',
'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log',
'maxtries': '&MAXTRIES;'
}

task = rocoto.create_task(task_dict)

return task

def snowanl(self):

deps = []
dep_dict = {'type': 'task', 'name': f'{self.run}_prepsnowobs'}
dep_dict = {'type': 'task', 'name': f'{self.run}_prep'}
deps.append(rocoto.add_dependency(dep_dict))
dependencies = rocoto.create_dependency(dep=deps)

Expand All @@ -613,8 +589,6 @@ def snowanl(self):
def esnowrecen(self):

deps = []
dep_dict = {'type': 'task', 'name': f'{self.run.replace("enkf","")}_prepsnowobs'}
deps.append(rocoto.add_dependency(dep_dict))
dep_dict = {'type': 'task', 'name': f'{self.run.replace("enkf","")}_snowanl'}
deps.append(rocoto.add_dependency(dep_dict))
dep_dict = {'type': 'metatask', 'name': f'{self.run}_epmn', 'offset': f"-{timedelta_to_HMS(self._base['interval_gdas'])}"}
Expand Down
2 changes: 1 addition & 1 deletion workflow/rocoto/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class Tasks:
'eobs', 'eomg', 'epos', 'esfc', 'eupd',
'atmensanlinit', 'atmensanlobs', 'atmensanlsol', 'atmensanlletkf', 'atmensanlfv3inc', 'atmensanlfinal',
'aeroanlinit', 'aeroanlvar', 'aeroanlfinal', 'aeroanlgenb',
'prepsnowobs', 'snowanl', 'esnowrecen',
'snowanl', 'esnowrecen',
'fcst',
'atmanlupp', 'atmanlprod', 'atmupp', 'goesupp',
'atmos_prod', 'ocean_prod', 'ice_prod',
Expand Down
Loading