Skip to content

Commit 5adc47b

Browse files
Merge branch 'NOAA-EMC:develop' into develop
2 parents a3ce9db + a3c5099 commit 5adc47b

19 files changed

+50
-70
lines changed

docs/source/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Status
1010
======
1111

1212
* State of develop (HEAD) branch: GFSv17+ development
13-
* State of operations (dev/gfs.v16 branch): GFS v16.3.11 `tag: [gfs.v16.3.11] <https://github.com/NOAA-EMC/global-workflow/releases/tag/gfs.v16.3.11>`_
13+
* State of operations (dev/gfs.v16 branch): GFS v16.3.12 `tag: [gfs.v16.3.12] <https://github.com/NOAA-EMC/global-workflow/releases/tag/gfs.v16.3.12>`_
1414

1515
=============
1616
Code managers

jobs/JGLOBAL_PREP_OCEAN_OBS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "prepoceanobs" -c "base prepoceanobs"
88
##############################################
99

1010
export COMIN_OBS="${DATA}"
11+
YMD=${PDY} HH=${cyc} generate_com -rx COMOUT_OBS:COM_OBS_TMPL
1112

1213
##############################################
1314
# Begin JOB SPECIFIC work

jobs/rocoto/atmos_products.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ IFS='_' read -ra fhrs <<< "${FHRLST//f}" # strip off the 'f's and convert to arr
2222
#---------------------------------------------------------------
2323
# Execute the JJOB
2424
for fhr in "${fhrs[@]}"; do
25-
export FORECAST_HOUR=$(( 10#${fhr} ))
25+
# The analysis fhr is -001. Performing math on negative, leading 0 integers is tricky.
26+
# The negative needs to be in front of "10#", so do some regex magic to make it happen.
27+
fhr="10#${fhr}"
28+
fhr=${fhr//10\#-/-10\#}
29+
export FORECAST_HOUR=$(( fhr ))
2630
"${HOMEgfs}/jobs/JGLOBAL_ATMOS_PRODUCTS"
2731
status=$?
2832
if (( status != 0 )); then exit "${status}"; fi

parm/ufs/ufs.configure.atm.IN

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,20 @@ logKindFlag: @[esmf_logkind]
33
globalResourceControl: true
44

55
EARTH_component_list: ATM
6+
EARTH_attributes::
7+
Verbosity = 0
8+
::
9+
10+
# ATM #
611
ATM_model: @[atm_model]
712
ATM_petlist_bounds: @[atm_petlist_bounds]
813
ATM_omp_num_threads: @[atm_omp_num_threads]
14+
ATM_attributes::
15+
Verbosity = 0
16+
Diagnostic = 0
17+
::
918

19+
# Run Sequence #
1020
runSeq::
1121
ATM
1222
::

parm/ufs/ufs.configure.atm_aero.IN

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,23 @@ globalResourceControl: true
99
# EARTH #
1010
EARTH_component_list: ATM CHM
1111
EARTH_attributes::
12-
Verbosity = max
12+
Verbosity = 0
1313
::
1414

1515
# ATM #
1616
ATM_model: @[atm_model]
1717
ATM_petlist_bounds: @[atm_petlist_bounds]
1818
ATM_omp_num_threads: @[atm_omp_num_threads]
1919
ATM_attributes::
20-
Verbosity = max
20+
Verbosity = 0
2121
::
2222

2323
# CHM #
2424
CHM_model: @[chm_model]
2525
CHM_petlist_bounds: @[chm_petlist_bounds]
2626
CHM_omp_num_threads: @[chm_omp_num_threads]
2727
CHM_attributes::
28-
Verbosity = max
28+
Verbosity = 0
2929
::
3030

3131
# Run Sequence #
@@ -38,13 +38,3 @@ runSeq::
3838
ATM phase2
3939
@
4040
::
41-
42-
# CMEPS variables
43-
44-
DRIVER_attributes::
45-
mediator_read_restart = .false.
46-
::
47-
48-
ALLCOMP_attributes::
49-
start_type = startup
50-
::

parm/ufs/ufs.configure.cpld.IN

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ OCN_attributes::
3939
ProfileMemory = false
4040
OverwriteSlice = true
4141
mesh_ocn = @[MESH_OCN_ICE]
42+
use_coldstart = @[use_coldstart]
43+
use_mommesh = @[use_mommesh]
4244
::
4345

4446
# ICE #
@@ -51,6 +53,7 @@ ICE_attributes::
5153
ProfileMemory = false
5254
OverwriteSlice = true
5355
mesh_ice = @[MESH_OCN_ICE]
56+
eps_imesh = @[eps_imesh]
5457
stop_n = @[RESTART_N]
5558
stop_option = nhours
5659
stop_ymd = -999
@@ -107,9 +110,6 @@ ALLCOMP_attributes::
107110
restart_option = nhours
108111
restart_ymd = -999
109112
dbug_flag = @[cap_dbug_flag]
110-
use_coldstart = @[use_coldstart]
111-
use_mommesh = @[use_mommesh]
112-
eps_imesh = @[eps_imesh]
113113
stop_n = @[FHMAX]
114114
stop_option = nhours
115115
stop_ymd = -999

parm/ufs/ufs.configure.cpld_aero.IN

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ OCN_attributes::
4747
ProfileMemory = false
4848
OverwriteSlice = true
4949
mesh_ocn = @[MESH_OCN_ICE]
50+
use_coldstart = @[use_coldstart]
51+
use_mommesh = @[use_mommesh]
5052
::
5153

5254
# ICE #
@@ -59,6 +61,7 @@ ICE_attributes::
5961
ProfileMemory = false
6062
OverwriteSlice = true
6163
mesh_ice = @[MESH_OCN_ICE]
64+
eps_imesh = @[eps_imesh]
6265
stop_n = @[RESTART_N]
6366
stop_option = nhours
6467
stop_ymd = -999
@@ -119,9 +122,6 @@ ALLCOMP_attributes::
119122
restart_option = nhours
120123
restart_ymd = -999
121124
dbug_flag = @[cap_dbug_flag]
122-
use_coldstart = @[use_coldstart]
123-
use_mommesh = @[use_mommesh]
124-
eps_imesh = @[eps_imesh]
125125
stop_n = @[FHMAX]
126126
stop_option = nhours
127127
stop_ymd = -999

parm/ufs/ufs.configure.cpld_aero_outerwave.IN

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ OCN_attributes::
4747
ProfileMemory = false
4848
OverwriteSlice = true
4949
mesh_ocn = @[MESH_OCN_ICE]
50+
use_coldstart = @[use_coldstart]
51+
use_mommesh = @[use_mommesh]
5052
::
5153

5254
# ICE #
@@ -59,6 +61,7 @@ ICE_attributes::
5961
ProfileMemory = false
6062
OverwriteSlice = true
6163
mesh_ice = @[MESH_OCN_ICE]
64+
eps_imesh = @[eps_imesh]
6265
stop_n = @[RESTART_N]
6366
stop_option = nhours
6467
stop_ymd = -999
@@ -71,10 +74,7 @@ WAV_omp_num_threads: @[wav_omp_num_threads]
7174
WAV_attributes::
7275
Verbosity = 0
7376
OverwriteSlice = false
74-
diro = "."
75-
logfile = wav.log
7677
mesh_wav = @[MESH_WAV]
77-
multigrid = @[MULTIGRID]
7878
::
7979

8080
# CMEPS warm run sequence
@@ -139,9 +139,6 @@ ALLCOMP_attributes::
139139
restart_option = nhours
140140
restart_ymd = -999
141141
dbug_flag = @[cap_dbug_flag]
142-
use_coldstart = @[use_coldstart]
143-
use_mommesh = @[use_mommesh]
144-
eps_imesh = @[eps_imesh]
145142
stop_n = @[FHMAX]
146143
stop_option = nhours
147144
stop_ymd = -999

parm/ufs/ufs.configure.cpld_aero_wave.IN

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ OCN_attributes::
4747
ProfileMemory = false
4848
OverwriteSlice = true
4949
mesh_ocn = @[MESH_OCN_ICE]
50+
use_coldstart = @[use_coldstart]
51+
use_mommesh = @[use_mommesh]
5052
::
5153

5254
# ICE #
@@ -59,6 +61,7 @@ ICE_attributes::
5961
ProfileMemory = false
6062
OverwriteSlice = true
6163
mesh_ice = @[MESH_OCN_ICE]
64+
eps_imesh = @[eps_imesh]
6265
stop_n = @[RESTART_N]
6366
stop_option = nhours
6467
stop_ymd = -999
@@ -71,10 +74,7 @@ WAV_omp_num_threads: @[wav_omp_num_threads]
7174
WAV_attributes::
7275
Verbosity = 0
7376
OverwriteSlice = false
74-
diro = "."
75-
logfile = wav.log
7677
mesh_wav = @[MESH_WAV]
77-
multigrid = @[MULTIGRID]
7878
::
7979

8080
# CMEPS warm run sequence
@@ -139,9 +139,6 @@ ALLCOMP_attributes::
139139
restart_option = nhours
140140
restart_ymd = -999
141141
dbug_flag = @[cap_dbug_flag]
142-
use_coldstart = @[use_coldstart]
143-
use_mommesh = @[use_mommesh]
144-
eps_imesh = @[eps_imesh]
145142
stop_n = @[FHMAX]
146143
stop_option = nhours
147144
stop_ymd = -999

parm/ufs/ufs.configure.cpld_outerwave.IN

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ OCN_attributes::
3939
ProfileMemory = false
4040
OverwriteSlice = true
4141
mesh_ocn = @[MESH_OCN_ICE]
42+
use_coldstart = @[use_coldstart]
43+
use_mommesh = @[use_mommesh]
4244
::
4345

4446
# ICE #
@@ -51,6 +53,7 @@ ICE_attributes::
5153
ProfileMemory = false
5254
OverwriteSlice = true
5355
mesh_ice = @[MESH_OCN_ICE]
56+
eps_imesh = @[eps_imesh]
5457
stop_n = @[RESTART_N]
5558
stop_option = nhours
5659
stop_ymd = -999
@@ -63,10 +66,7 @@ WAV_omp_num_threads: @[wav_omp_num_threads]
6366
WAV_attributes::
6467
Verbosity = 0
6568
OverwriteSlice = false
66-
diro = "."
67-
logfile = wav.log
6869
mesh_wav = @[MESH_WAV]
69-
multigrid = @[MULTIGRID]
7070
::
7171

7272
# CMEPS warm run sequence
@@ -127,9 +127,6 @@ ALLCOMP_attributes::
127127
restart_option = nhours
128128
restart_ymd = -999
129129
dbug_flag = @[cap_dbug_flag]
130-
use_coldstart = @[use_coldstart]
131-
use_mommesh = @[use_mommesh]
132-
eps_imesh = @[eps_imesh]
133130
stop_n = @[FHMAX]
134131
stop_option = nhours
135132
stop_ymd = -999

parm/ufs/ufs.configure.cpld_wave.IN

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ OCN_attributes::
3939
ProfileMemory = false
4040
OverwriteSlice = true
4141
mesh_ocn = @[MESH_OCN_ICE]
42+
use_coldstart = @[use_coldstart]
43+
use_mommesh = @[use_mommesh]
4244
::
4345

4446
# ICE #
@@ -51,6 +53,7 @@ ICE_attributes::
5153
ProfileMemory = false
5254
OverwriteSlice = true
5355
mesh_ice = @[MESH_OCN_ICE]
56+
eps_imesh = @[eps_imesh]
5457
stop_n = @[RESTART_N]
5558
stop_option = nhours
5659
stop_ymd = -999
@@ -63,10 +66,7 @@ WAV_omp_num_threads: @[wav_omp_num_threads]
6366
WAV_attributes::
6467
Verbosity = 0
6568
OverwriteSlice = false
66-
diro = "."
67-
logfile = wav.log
6869
mesh_wav = @[MESH_WAV]
69-
multigrid = @[MULTIGRID]
7070
::
7171

7272
# CMEPS warm run sequence
@@ -127,9 +127,6 @@ ALLCOMP_attributes::
127127
restart_option = nhours
128128
restart_ymd = -999
129129
dbug_flag = @[cap_dbug_flag]
130-
use_coldstart = @[use_coldstart]
131-
use_mommesh = @[use_mommesh]
132-
eps_imesh = @[eps_imesh]
133130
stop_n = @[FHMAX]
134131
stop_option = nhours
135132
stop_ymd = -999

scripts/exgfs_aero_init_aerosol.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@
4141
from functools import partial
4242

4343
# Constants
44-
atm_base_pattern = "{rot_dir}/{cdump}.%Y%m%d/%H/atmos/INPUT" # Location of atmosphere ICs
44+
atm_base_pattern = "{rot_dir}/{cdump}.%Y%m%d/%H/model_data/atmos/input" # Location of atmosphere ICs
4545
atm_file_pattern = "{path}/gfs_data.{tile}.nc" # Atm IC file names
4646
atm_ctrl_pattern = "{path}/gfs_ctrl.nc" # Atm IC control file name
47-
restart_base_pattern = "{rot_dir}/{cdump}.%Y%m%d/%H/atmos/RERUN_RESTART" # Location of restart files (time of previous run)
47+
restart_base_pattern = "{rot_dir}/{cdump}.%Y%m%d/%H/model_data/atmos/restart" # Location of restart files (time of previous run)
4848
restart_file_pattern = "{file_base}/{timestamp}fv_core.res.{tile}.nc" # Name of restart data files (time when restart is valid)
4949
tracer_file_pattern = "{file_base}/{timestamp}fv_tracer.res.{tile}.nc" # Name of restart tracer files (time when restart is valid)
5050
dycore_file_pattern = "{file_base}/{timestamp}fv_core.res.nc" # Name of restart dycore file (time when restart is valid)
51-
tracer_list_file_pattern = "{parm_gfs}/chem/gocart_tracer.list" # Text list of tracer names to copy
51+
tracer_list_file_pattern = "{parm_gfs}/ufs/gocart/gocart_tracer.list" # Text list of tracer names to copy
5252
merge_script_pattern = "{ush_gfs}/merge_fv3_aerosol_tile.py"
5353
n_tiles = 6
5454
max_lookback = 4 # Maximum number of past cycles to look for for tracer data

sorc/build_all.sh

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,9 @@ fi
9898
#------------------------------------
9999
# Disable shellcheck warning about single quotes not being substituted.
100100
# shellcheck disable=SC2016
101-
ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'}
101+
ERRSCRIPT=${ERRSCRIPT:-'eval [[ $errs = 0 ]]'}
102102
# shellcheck disable=
103-
err=0
103+
errs=0
104104

105105
declare -A build_jobs
106106
declare -A build_opts
@@ -219,7 +219,6 @@ while [[ ${builds_started} -lt ${#build_jobs[@]} ]]; do
219219
done
220220

221221
# Wait for all jobs to complete and check return statuses
222-
errs=0
223222
while [[ ${#build_jobs[@]} -gt 0 ]]; do
224223
for build in "${!build_jobs[@]}"; do
225224
# Test if each job is complete and if so, notify and remove from the array
@@ -252,7 +251,7 @@ if (( errs != 0 )); then
252251
BUILD ERROR: One or more components failed to build
253252
Check the associated build log(s) for details.
254253
EOF
255-
${ERRSCRIPT} || exit "${err}"
254+
${ERRSCRIPT} || exit "${errs}"
256255
fi
257256

258257
echo;echo " .... Build system finished .... "

sorc/link_workflow.sh

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -122,12 +122,6 @@ do
122122
done
123123

124124

125-
if [[ -d "${HOMEgfs}/sorc/ufs_utils.fd" ]]; then
126-
cd "${HOMEgfs}/sorc/ufs_utils.fd/fix" || exit 1
127-
./link_fixdirs.sh "${RUN_ENVIR}" "${machine}" 2> /dev/null
128-
fi
129-
130-
131125
#---------------------------------------
132126
#--add files from external repositories
133127
#---------------------------------------

sorc/ufs_model.fd

Submodule ufs_model.fd updated 218 files

ush/merge_fv3_aerosol_tile.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,6 @@ def merge_tile(base_file_name: str, ctrl_file_name: str, core_file_name: str, re
8888
print("FATAL ERROR: Inconsistent size of B(k) arrays: src=", bk.size, ", dst=", bi.size)
8989
sys.exit(108)
9090

91-
if not np.array_equal(ak, ai):
92-
print("FATAL ERROR: A(k) coefficients must be identical")
93-
sys.exit(109)
94-
95-
if not np.array_equal(bk, bi):
96-
print("FATAL ERROR: B(k) coefficients must be identical")
97-
sys.exit(110)
98-
9991
dp = np.zeros(delp.shape)
10092
for k in range(0, dp.shape[0]):
10193
dp[k, :, :] = ak[k + 1] - ak[k] + psfc * (bk[k + 1] - bk[k])

ush/parsing_model_configure_FV3.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ write_groups: ${WRITE_GROUP:-1}
4141
write_tasks_per_group: ${WRTTASK_PER_GROUP:-24}
4242
itasks: 1
4343
output_history: ${OUTPUT_HISTORY:-".true."}
44+
history_file_on_native_grid: .false.
4445
write_dopost: ${WRITE_DOPOST:-".false."}
4546
write_nsflip: ${WRITE_NSFLIP:-".false."}
4647
num_files: ${NUM_FILES:-2}
@@ -54,7 +55,8 @@ ichunk3d: ${ichunk3d:-0}
5455
jchunk3d: ${jchunk3d:-0}
5556
kchunk3d: ${kchunk3d:-0}
5657
ideflate: ${ideflate:-1}
57-
nbits: ${nbits:-14}
58+
quantize_mode: 'quantize_bitround'
59+
quantize_nsd: ${QUANTIZE_NSD:-0}
5860
imo: ${LONB_IMO}
5961
jmo: ${LATB_JMO}
6062
output_fh: ${FV3_OUTPUT_FH}

0 commit comments

Comments
 (0)