diff --git a/dev/ci/cases/pr/C96C48_ufs_hybatmDA.yaml b/dev/ci/cases/pr/C96C48_ufs_hybatmDA.yaml index 459edd25ed0..eaafc4b3853 100644 --- a/dev/ci/cases/pr/C96C48_ufs_hybatmDA.yaml +++ b/dev/ci/cases/pr/C96C48_ufs_hybatmDA.yaml @@ -15,16 +15,12 @@ experiment: start: warm yaml: {{ HOMEgfs }}/dev/ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml -# TODO: Reenable these when the GDASApp is updated to handle the new EE2-compliant changes skip_ci_on_hosts: - gaeac5 - gaeac6 - orion - hercules - awsepicglobalworkflow - - hera - - ursa - - wcoss2 workflow: engine: rocoto diff --git a/dev/parm/config/gfs/config.efcs b/dev/parm/config/gfs/config.efcs index f6753061584..013188a074e 100644 --- a/dev/parm/config/gfs/config.efcs +++ b/dev/parm/config/gfs/config.efcs @@ -89,16 +89,6 @@ export dspheat=".true." export shal_cnv=".true." export FHZERO=6 -# Set PREFIX_ATMINC to r when recentering on -if [[ ${RECENTER_ENKF:-"YES"} == "YES" ]]; then - # TODO: Change this to 'recentered' for both JEDI and GSI recentered increments when JEDI has been brought into EE2 - if [[ "${DO_JEDIATMENS}" == "YES" ]]; then - export PREFIX_ATMINC="r" - else - export PREFIX_ATMINC="recentered_" - fi -fi - # Set restart interval to enable restarting forecasts after failures export restart_interval=${restart_interval_enkfgdas:-6} if [[ ${RUN} == "enkfgfs" ]]; then diff --git a/dev/workflow/rocoto/gfs_tasks.py b/dev/workflow/rocoto/gfs_tasks.py index 37e628bc3d3..6fdff9ee19c 100644 --- a/dev/workflow/rocoto/gfs_tasks.py +++ b/dev/workflow/rocoto/gfs_tasks.py @@ -1092,10 +1092,16 @@ def atmanlupp(self): atm_anl_path = self._template_to_rocoto_cycstring(self._base["COM_ATMOS_ANALYSIS_TMPL"]) deps = [] - data = f'{atm_anl_path}/{self.run}.t@Hz.analysis.atm.a006.nc' + if self.options['do_jediatmvar']: + data = f'{atm_anl_path}/{self.run}.t@Hz.jedi_analysis.atm.a006.nc' + else: + data = f'{atm_anl_path}/{self.run}.t@Hz.analysis.atm.a006.nc' dep_dict = {'type': 'data', 'data': data, 'age': 120} deps.append(rocoto.add_dependency(dep_dict)) - data = f'{atm_anl_path}/{self.run}.t@Hz.analysis.sfc.a006.nc' + if self.options['do_jediatmvar']: + data = f'{atm_anl_path}/{self.run}.t@Hz.jedi_analysis.sfc.a006.nc' + else: + data = f'{atm_anl_path}/{self.run}.t@Hz.analysis.sfc.a006.nc' dep_dict = {'type': 'data', 'data': data, 'age': 120} deps.append(rocoto.add_dependency(dep_dict)) data = f'{atm_anl_path}/{self.run}.t@Hz.done.txt' diff --git a/parm/archive/enkf.yaml.j2 b/parm/archive/enkf.yaml.j2 index ad69d0d284c..c13bf32a58a 100644 --- a/parm/archive/enkf.yaml.j2 +++ b/parm/archive/enkf.yaml.j2 @@ -81,7 +81,7 @@ enkf: "correction_increment.yaml", "ensemble_recenter.yaml"] %} {% else %} - {% set da_stat_files = ["atmensstat"]%} + {% set da_stat_files = ["stat.atm.tar"]%} {% set da_conf_files = ["atmensanlletkf.yaml", "atmensanlfv3inc.yaml", "correction_increment.yaml", @@ -120,7 +120,7 @@ enkf: - "{{ COMIN_ATMOS_ANALYSIS_ENSSTAT | relpath(ROTDIR) }}/{{ head }}ensmean_increment.atm.i{{ '%03d' % fhr }}.nc" {% endif %} {% else %} - - "{{ COMIN_ATMOS_ANALYSIS_ENSSTAT | relpath(ROTDIR) }}/{{ head }}cubed_sphere_grid_atma{{ '%03d' % fhr }}.ensmean.nc" + - "{{ COMIN_ATMOS_ANALYSIS_ENSSTAT | relpath(ROTDIR) }}/{{ head }}csg_ensmean_jedi_analysis.atm.a{{ '%03d' % fhr }}.nc" {% endif %} # soil DA increments diff --git a/parm/archive/enkf_grp.yaml.j2 b/parm/archive/enkf_grp.yaml.j2 index 30ac0dcd2c7..fda546f23c2 100644 --- a/parm/archive/enkf_grp.yaml.j2 +++ b/parm/archive/enkf_grp.yaml.j2 @@ -22,8 +22,10 @@ enkf_grp: - "{{ COMIN_ATMOS_RESTART_MEM | relpath(ROTDIR) }}/{{ head }}gsistat.txt" {% endif %} {% if DO_JEDIATMENS %} - {% for itile in range(6) %} - - "{{ COMIN_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ head }}cubed_sphere_grid_ratminc.tile{{ itile+1 }}.nc" + {% for iaufhr in IAUFHRS %} + {% for itile in range(6) %} + - "{{ COMIN_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ head }}recentered_jedi_increment.atm.i{{ '%03d' % iaufhr }}.tile{{ itile+1 }}.nc" + {% endfor %} {% endfor %} {% else %} {% if do_calc_increment %} diff --git a/parm/archive/enkf_restarta_grp.yaml.j2 b/parm/archive/enkf_restarta_grp.yaml.j2 index 3fa61f1bbe0..49afd2a788e 100644 --- a/parm/archive/enkf_restarta_grp.yaml.j2 +++ b/parm/archive/enkf_restarta_grp.yaml.j2 @@ -33,22 +33,22 @@ enkf_restarta_grp: - "{{ COMIN_ATMOS_RESTART_MEM | relpath(ROTDIR) }}/{{ anl_time | to_YMD }}.{{ anl_time | strftime("%H") }}0000.sfcanl_data.tile{{ itile }}.nc" {% endfor %} - # Member atmospheric analysis data + # Member atmospheric increments or analysis data {% if DO_JEDIATMENS %} - {% for itile in range(6) %} - - "{{ COMIN_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ head }}cubed_sphere_grid_ratminc.tile{{ itile+1 }}.nc" + {% for iaufhr in IAUFHRS %} + {% for itile in range(6) %} + - "{{ COMIN_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ head }}recentered_jedi_increment.atm.i{{ '%03d' % iaufhr }}.tile{{ itile+1 }}.nc" + {% endfor %} {% endfor %} - {% endif %} - - # Member increments - {% for iaufhr in IAUFHRS %} - {% set iaufhr = iaufhr %} - {% if do_calc_increment %} + {% else %} + {% for iaufhr in IAUFHRS %} + {% if do_calc_increment %} - "{{ COMIN_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ head }}analysis.atm.a{{ '%03d' % iaufhr }}.nc" - {% else %} + {% else %} - "{{ COMIN_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ head }}recentered_increment.atm.i{{ '%03d' % iaufhr }}.nc" - {% endif %} - {% endfor %} # iaufhr in IAUFHRS + {% endif %} + {% endfor %} # iaufhr in IAUFHRS + {% endif %} # soil DA increments {% if DO_GSISOILDA %} diff --git a/parm/archive/gdas.yaml.j2 b/parm/archive/gdas.yaml.j2 index 7163237c9b6..e461139c067 100644 --- a/parm/archive/gdas.yaml.j2 +++ b/parm/archive/gdas.yaml.j2 @@ -48,8 +48,13 @@ gdas: - "{{ COMIN_ATMOS_GRIB_1p00 | relpath(ROTDIR) }}/{{ head }}pres_a.1p00.analysis.grib2.idx" # Analysis netCDF (raw) data + {% if DO_JEDIATMVAR %} + - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}jedi_analysis.atm.a006.nc" + - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}jedi_analysis.sfc.a006.nc" + {% else %} - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}analysis.atm.a006.nc" - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}analysis.sfc.a006.nc" + {% endif %} {% if DOHYBVAR %} # Ensemble-resolution analysis @@ -68,7 +73,7 @@ gdas: {% if DO_JEDIATMVAR %} - "{{ COMIN_CONF | relpath(ROTDIR) }}/{{ head }}anlvar.atm.yaml" - "{{ COMIN_CONF | relpath(ROTDIR) }}/{{ head }}anlvar.fv3.atm.yaml" - - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}atmstat" + - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}stat.atm.tar" {% else %} - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}gsistat.txt" - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}cnvstat.tar" diff --git a/parm/archive/gdas_restarta.yaml.j2 b/parm/archive/gdas_restarta.yaml.j2 index c496e81b840..c80e7164ed8 100644 --- a/parm/archive/gdas_restarta.yaml.j2 +++ b/parm/archive/gdas_restarta.yaml.j2 @@ -5,14 +5,17 @@ gdas_restarta: required: # Deterministic analysis increments {% if DO_JEDIATMVAR %} - {% for itile in range(6) %} - - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}cubed_sphere_grid_atminc.tile{{ itile+1 }}.nc" + {% for iaufhr in IAUFHRS %} + {% for itile in range(6) %} + - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}jedi_increment.atm.i{{ "%03d" % iaufhr }}.tile{{ itile+1 }}.nc" + {% endfor %} {% endfor %} - {% endif %} + {% else %} # IAU increments - {% for iaufhr in IAUFHRS %} + {% for iaufhr in IAUFHRS %} - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}increment.atm.i{{ "%03d" % iaufhr }}.nc" - {% endfor %} + {% endfor %} + {% endif %} # Soil DA increments {% if DO_GSISOILDA %} diff --git a/parm/archive/gfs_arcdir.yaml.j2 b/parm/archive/gfs_arcdir.yaml.j2 index 7eb29c712cb..e80eb47e03b 100644 --- a/parm/archive/gfs_arcdir.yaml.j2 +++ b/parm/archive/gfs_arcdir.yaml.j2 @@ -38,7 +38,7 @@ ARCDIR ~ "/pgbanl." ~ RUN ~ "." ~ cycle_YMDH ~ ".grib2"]) %} {% if DO_JEDIATMVAR == True %} - {% do det_anl_files.append([COMIN_ATMOS_ANALYSIS ~ "/" ~ head ~ "atmstat", + {% do det_anl_files.append([COMIN_ATMOS_ANALYSIS ~ "/" ~ head ~ "stat.atm.tar", ARCDIR ~ "/atmstat." ~ RUN ~ "." ~ cycle_YMDH ]) %} {% else %} {% do det_anl_files.append([COMIN_ATMOS_ANALYSIS ~ "/" ~ head ~ "gsistat.txt", @@ -125,7 +125,7 @@ # Ensemble analysis files {% set enkf_files = [] %} {% if DO_JEDIATMENS == True %} - {% do enkf_files.append([COMIN_ATMOS_ANALYSIS_ENSSTAT ~ "/" ~ head ~ "atmensstat", + {% do enkf_files.append([COMIN_ATMOS_ANALYSIS_ENSSTAT ~ "/" ~ head ~ "stat.atm.tar", ARCDIR ~ "/atmensstat." ~ RUN ~ "." ~ cycle_YMDH ]) %} {% else %} {% do enkf_files.append([COMIN_ATMOS_ANALYSIS_ENSSTAT ~ "/" ~ head ~ "enkfstat.txt", diff --git a/parm/archive/gfs_netcdfa.yaml.j2 b/parm/archive/gfs_netcdfa.yaml.j2 index ee5ad28c282..84196a67d9b 100644 --- a/parm/archive/gfs_netcdfa.yaml.j2 +++ b/parm/archive/gfs_netcdfa.yaml.j2 @@ -3,15 +3,20 @@ gfs_netcdfa: name: "GFS_NETCDFA" target: "{{ ATARDIR }}/{{ cycle_YMDH }}/gfs_netcdfa.tar" required: + {% if DO_JEDIATMVAR %} + - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}jedi_analysis.atm.a006.nc" + - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}jedi_analysis.sfc.a006.nc" + {% else %} - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}analysis.atm.a006.nc" - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}analysis.sfc.a006.nc" - {% for iauhr in IAUFHRS %} + {% endif %} + {% for iaufhr in IAUFHRS %} {% if DO_JEDIATMVAR %} {% for itile in range(6) %} - - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}cubed_sphere_grid_atminc.tile{{ itile+1 }}.nc" + - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}jedi_increment.atm.i{{ "%03d" % iaufhr }}.tile{{ itile+1 }}.nc" {% endfor %} {% else %} - - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}increment.atm.i{{ "%03d" % iauhr }}.nc" + - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}increment.atm.i{{ "%03d" % iaufhr }}.nc" {% endif %} {% endfor %} optional: diff --git a/parm/archive/gfsa.yaml.j2 b/parm/archive/gfsa.yaml.j2 index 0a156114ec2..6f64ef2e00a 100644 --- a/parm/archive/gfsa.yaml.j2 +++ b/parm/archive/gfsa.yaml.j2 @@ -35,9 +35,9 @@ gfsa: # State data {% if DO_JEDIATMVAR %} - - "{{ COMIN_CONF | relpath(ROTDIR) }}/{{ head }}atmanlvar.yaml" - - "{{ COMIN_CONF | relpath(ROTDIR) }}/{{ head }}atmanlfv3inc.yaml" - - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}atmstat" + - "{{ COMIN_CONF | relpath(ROTDIR) }}/{{ head }}anlvar.atm.yaml" + - "{{ COMIN_CONF | relpath(ROTDIR) }}/{{ head }}anlvar.fv3.atm.yaml" + - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}stat.atm.tar" {% else %} - "{{ COMIN_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ head }}gsistat.txt" {% endif %} diff --git a/parm/post/upp.yaml b/parm/post/upp.yaml index 2193b11d48c..c4935104ae4 100644 --- a/parm/post/upp.yaml +++ b/parm/post/upp.yaml @@ -19,8 +19,14 @@ analysis: data_in: copy: - ["{{ PARMgfs }}/post/gfs/postxconfig-NT-gfs-anl.txt", "{{ DATA }}/postxconfig-NT.txt"] +{% if DO_JEDIATMVAR %} + - ["{{ COMIN_ATMOS_ANALYSIS }}/{{ RUN }}.t{{ current_cycle | strftime('%H') }}z.jedi_analysis.atm.a006.nc", "{{ DATA }}/{{ atmos_filename }}"] + - ["{{ COMIN_ATMOS_ANALYSIS }}/{{ RUN }}.t{{ current_cycle | strftime('%H') }}z.jedi_analysis.sfc.a006.nc", "{{ DATA }}/{{ flux_filename }}"] +{% else %} - ["{{ COMIN_ATMOS_ANALYSIS }}/{{ RUN }}.t{{ current_cycle | strftime('%H') }}z.analysis.atm.a006.nc", "{{ DATA }}/{{ atmos_filename }}"] - ["{{ COMIN_ATMOS_ANALYSIS }}/{{ RUN }}.t{{ current_cycle | strftime('%H') }}z.analysis.sfc.a006.nc", "{{ DATA }}/{{ flux_filename }}"] +{% endif %} + data_out: copy: - ["{{ DATA }}/GFSPRS.GrbF00", "{{ COMOUT_ATMOS_MASTER }}/{{ RUN }}.t{{ current_cycle | strftime('%H') }}z.master.analysis.grib2"] diff --git a/parm/stage/analysis.yaml.j2 b/parm/stage/analysis.yaml.j2 index 326f7a525cd..4853cc55d25 100644 --- a/parm/stage/analysis.yaml.j2 +++ b/parm/stage/analysis.yaml.j2 @@ -14,9 +14,17 @@ analysis: {% if DO_JEDIATMVAR %} {% for itile in range(6) %} - {% for ftype in ["atminc", "atmi009", "atmi003", "ratminc", "ratmi009", "ratmi003"] %} - {% if path_exists(ICSDIR ~ "/" ~ COMOUT_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) ~ "/" ~ RUN ~ ".t" ~ current_cycle_HH ~ "z.cubed_sphere_grid_" ~ ftype ~ ".tile" ~ (itile+1) ~ ".nc") %} - - ["{{ ICSDIR }}/{{ COMOUT_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ RUN }}.t{{ current_cycle_HH }}z.cubed_sphere_grid_{{ ftype }}.tile{{ itile+1 }}.nc", "{{ COMOUT_ATMOS_ANALYSIS_MEM }}"] + {% for source_ftype, dest_ftype in + [ + ('atminc', 'jedi_increment.atm.i006'), + ('atmi009', 'jedi_increment.atm.i009'), + ('atmi003', 'jedi_increment.atm.i003'), + ('ratminc', 'recentered_jedi_increment.atm.i006'), + ('ratmi009', 'recentered_jedi_increment.atm.i009'), + ('ratmi003', 'recentered_jedi_increment.atm.i003') + ] %} + {% if path_exists(ICSDIR ~ "/" ~ COMOUT_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) ~ "/" ~ RUN ~ ".t" ~ current_cycle_HH ~ "z.cubed_sphere_grid_" ~ source_ftype ~ ".tile" ~ (itile+1) ~ ".nc") %} + - ["{{ ICSDIR }}/{{ COMOUT_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ RUN }}.t{{ current_cycle_HH }}z.cubed_sphere_grid_{{ source_ftype }}.tile{{ itile+1 }}.nc", "{{ COMOUT_ATMOS_ANALYSIS_MEM }}/{{ RUN }}.t{{ current_cycle_HH }}z.{{ dest_ftype }}.tile{{ itile+1 }}.nc"] {% endif %} {% endfor %} {% endfor %} diff --git a/sorc/gdas.cd b/sorc/gdas.cd index a4893c1453a..e2b780da168 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit a4893c1453ac8d587e8e5b5a452a1c035b22812a +Subproject commit e2b780da168c1b9a45fb6487fa71ff148e42754d diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index de134601530..1f770bdfd73 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -180,11 +180,7 @@ EOF for iaufhr in "${iaufhrs[@]}"; do if [[ "${DO_JEDIATMVAR:-NO}" == "YES" ]]; then for tile in {1..6}; do - if (( iaufhr == 6 )); then - inc_file="atminc.tile${tile}.nc" - else - inc_file="atmi$(printf %03i "${iaufhr}").tile${tile}.nc" - fi + inc_file="jedi_increment.atm.i$(printf %03i "${iaufhr}").tile${tile}.nc" inc_files+=("${inc_file}") IAU_INC_FILES="${IAU_INC_FILES}${delimiter}'${inc_file}'" done @@ -200,9 +196,9 @@ EOF read_increment=".true." if [[ "${DO_JEDIATMVAR:-NO}" == "YES" ]]; then - inc_files=("atminc.tile1.nc" "atminc.tile2.nc" "atminc.tile3.nc" "atminc.tile4.nc" "atminc.tile5.nc" "atminc.tile6.nc") + inc_files=("jedi_increment.atm.i006.tile1.nc" "jedi_increment.atm.i006.tile2.nc" "jedi_increment.atm.i006.tile3.nc" "jedi_increment.atm.i006.tile4.nc" "jedi_increment.atm.i006.tile5.nc" "jedi_increment.atm.i006.tile6.nc") increment_file_on_native_grid=".true." - res_latlon_dynamics="atminc" + res_latlon_dynamics="jedi_increment.atm.i006" else inc_files=("increment.atm.i006.nc") res_latlon_dynamics="increment.atm.i006.nc" @@ -218,15 +214,21 @@ EOF fi fi + if [[ "${RUN}" = "enkfgfs" ]] || [[ "${RUN}" = "enkfgdas" ]]; then + prefix_atminc="recentered_" + else + prefix_atminc="" + fi + local increment_file for inc_file in "${inc_files[@]}"; do if [[ "${DO_JEDIATMVAR:-NO}" == "YES" ]]; then - increment_file="${COMIN_ATMOS_ANALYSIS}/${RUN}.t${cyc}z.cubed_sphere_grid_${PREFIX_ATMINC}${inc_file}" + increment_file="${COMIN_ATMOS_ANALYSIS}/${RUN}.t${cyc}z.${prefix_atminc}${inc_file}" else if [[ "${RUN}" == "gcafs" ]]; then - increment_file="${COMIN_ATMOS_ANALYSIS}/gcdas.t${cyc}z.${PREFIX_ATMINC}${inc_file}" + increment_file="${COMIN_ATMOS_ANALYSIS}/gcdas.t${cyc}z.${prefix_atminc}${inc_file}" else - increment_file="${COMIN_ATMOS_ANALYSIS}/${RUN}.t${cyc}z.${PREFIX_ATMINC}${inc_file}" + increment_file="${COMIN_ATMOS_ANALYSIS}/${RUN}.t${cyc}z.${prefix_atminc}${inc_file}" fi fi cpreq "${increment_file}" "${DATA}/INPUT/${inc_file}" @@ -294,8 +296,8 @@ EOF ${NLN} "${COMOUT_ATMOS_HISTORY}/${RUN}.t${cyc}z.sfc.f${FH3}.nc" "${DATAoutput}/FV3ATM_OUTPUT/sfcf${FH3}.nc" ${NLN} "${COMOUT_ATMOS_HISTORY}/${RUN}.t${cyc}z.log.f${FH3}.txt" "${DATAoutput}/FV3ATM_OUTPUT/log.atm.f${FH3}" if [[ "${DO_JEDIATMVAR:-}" == "YES" ]]; then - ${NLN} "${COMOUT_ATMOS_HISTORY}/${RUN}.t${cyc}z.cubed_sphere_grid_atmf${FH3}.nc" "${DATAoutput}/FV3ATM_OUTPUT/cubed_sphere_grid_atmf${FH3}.nc" - ${NLN} "${COMOUT_ATMOS_HISTORY}/${RUN}.t${cyc}z.cubed_sphere_grid_sfcf${FH3}.nc" "${DATAoutput}/FV3ATM_OUTPUT/cubed_sphere_grid_sfcf${FH3}.nc" + ${NLN} "${COMOUT_ATMOS_HISTORY}/${RUN}.t${cyc}z.csg_atm.f${FH3}.nc" "${DATAoutput}/FV3ATM_OUTPUT/cubed_sphere_grid_atmf${FH3}.nc" + ${NLN} "${COMOUT_ATMOS_HISTORY}/${RUN}.t${cyc}z.csg_sfc.f${FH3}.nc" "${DATAoutput}/FV3ATM_OUTPUT/cubed_sphere_grid_sfcf${FH3}.nc" fi if [[ "${WRITE_DOPOST}" == ".true." ]]; then ${NLN} "${COMOUT_ATMOS_MASTER}/${RUN}.t${cyc}z.master.f${FH3}.grib2" "${DATAoutput}/FV3ATM_OUTPUT/GFSPRS.GrbF${FH2}" diff --git a/ush/forecast_predet.sh b/ush/forecast_predet.sh index 2dd6802323f..905ae85b351 100755 --- a/ush/forecast_predet.sh +++ b/ush/forecast_predet.sh @@ -176,9 +176,6 @@ FV3_predet(){ FV3_OUTPUT_FH_NML="${FV3_OUTPUT_FH}" fi - # Other options - PREFIX_ATMINC=${PREFIX_ATMINC:-""} # allow ensemble to use recentered increment - # IAU options IAUFHRS=${IAUFHRS:-0} IAU_DELTHRS=${IAU_DELTHRS:-0} diff --git a/ush/python/pygfs/task/atm_analysis.py b/ush/python/pygfs/task/atm_analysis.py index 0ea0724ef03..75abf124e34 100644 --- a/ush/python/pygfs/task/atm_analysis.py +++ b/ush/python/pygfs/task/atm_analysis.py @@ -132,7 +132,7 @@ def finalize(self) -> None: # Compress and tar diag files in COM directory self.tar_diag_files(self.task_config.COMOUT_ATMOS_ANALYSIS, - f"{self.task_config.APREFIX}atmstat") + f"{self.task_config.APREFIX}stat.atm.tar") # Tar radiative bias correction files into COM directory self.tar_radiative_bias_corrections(self.task_config.COMOUT_ATMOS_ANALYSIS, diff --git a/ush/python/pygfs/task/atmens_analysis.py b/ush/python/pygfs/task/atmens_analysis.py index 778cfaea8a3..99cc210408c 100644 --- a/ush/python/pygfs/task/atmens_analysis.py +++ b/ush/python/pygfs/task/atmens_analysis.py @@ -140,7 +140,7 @@ def finalize(self) -> None: # Compress and tar diag files in COM directory self.tar_diag_files(self.task_config.COMOUT_ATMOS_ANALYSIS_ENS, - f"{self.task_config.APREFIX_ENS}atmensstat") + f"{self.task_config.APREFIX_ENS}stat.atm.tar") # Save files from COM logger.info(f"Saving files to COM") diff --git a/ush/python/pygfs/task/fv3_analysis_calc.py b/ush/python/pygfs/task/fv3_analysis_calc.py index 9c3350d7a1b..e583f3f142a 100644 --- a/ush/python/pygfs/task/fv3_analysis_calc.py +++ b/ush/python/pygfs/task/fv3_analysis_calc.py @@ -126,21 +126,21 @@ def execute(self) -> None: logger.info(f"Inserting analysis variables into atmospheric analysis file") insert_analysis_variables(self.task_config.current_cycle, f"atmanl.{auxgrid_time_str}.nc4", - f"{self.task_config.GPREFIX}atm.f006.nc") + f"{self.task_config.GPREFIX}atmf006.nc") # Aerosols if self.task_config.DO_AERO_ANL: logger.info(f"Inserting analysis variables into aerosol analysis file") insert_analysis_variables(self.task_config.current_cycle, f"aeroanl.{auxgrid_time_str}.nc4", - f"{self.task_config.GPREFIX}atm.f006.nc") + f"{self.task_config.GPREFIX}atmf006.nc") # Snow if self.task_config.DO_JEDISNOWDA: logger.info(f"Inserting analysis variables into snow analysis file") insert_analysis_variables(self.task_config.current_cycle, f"snowanl.{auxgrid_time_str}.nc4", - f"{self.task_config.GPREFIX}sfc.f006.nc") + f"{self.task_config.GPREFIX}sfcf006.nc") @logit(logger) def finalize(self) -> None: