Skip to content

Commit

Permalink
Merge branch 'NOAA-EMC:develop' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
jderrico-noaa committed Dec 26, 2023
2 parents a3ce9db + a3c5099 commit 5adc47b
Show file tree
Hide file tree
Showing 19 changed files with 50 additions and 70 deletions.
2 changes: 1 addition & 1 deletion docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Status
======

* State of develop (HEAD) branch: GFSv17+ development
* 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>`_
* 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>`_

=============
Code managers
Expand Down
1 change: 1 addition & 0 deletions jobs/JGLOBAL_PREP_OCEAN_OBS
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "prepoceanobs" -c "base prepoceanobs"
##############################################

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

##############################################
# Begin JOB SPECIFIC work
Expand Down
6 changes: 5 additions & 1 deletion jobs/rocoto/atmos_products.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,11 @@ IFS='_' read -ra fhrs <<< "${FHRLST//f}" # strip off the 'f's and convert to arr
#---------------------------------------------------------------
# Execute the JJOB
for fhr in "${fhrs[@]}"; do
export FORECAST_HOUR=$(( 10#${fhr} ))
# The analysis fhr is -001. Performing math on negative, leading 0 integers is tricky.
# The negative needs to be in front of "10#", so do some regex magic to make it happen.
fhr="10#${fhr}"
fhr=${fhr//10\#-/-10\#}
export FORECAST_HOUR=$(( fhr ))
"${HOMEgfs}/jobs/JGLOBAL_ATMOS_PRODUCTS"
status=$?
if (( status != 0 )); then exit "${status}"; fi
Expand Down
10 changes: 10 additions & 0 deletions parm/ufs/ufs.configure.atm.IN
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,20 @@ logKindFlag: @[esmf_logkind]
globalResourceControl: true

EARTH_component_list: ATM
EARTH_attributes::
Verbosity = 0
::

# ATM #
ATM_model: @[atm_model]
ATM_petlist_bounds: @[atm_petlist_bounds]
ATM_omp_num_threads: @[atm_omp_num_threads]
ATM_attributes::
Verbosity = 0
Diagnostic = 0
::

# Run Sequence #
runSeq::
ATM
::
16 changes: 3 additions & 13 deletions parm/ufs/ufs.configure.atm_aero.IN
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,23 @@ globalResourceControl: true
# EARTH #
EARTH_component_list: ATM CHM
EARTH_attributes::
Verbosity = max
Verbosity = 0
::

# ATM #
ATM_model: @[atm_model]
ATM_petlist_bounds: @[atm_petlist_bounds]
ATM_omp_num_threads: @[atm_omp_num_threads]
ATM_attributes::
Verbosity = max
Verbosity = 0
::

# CHM #
CHM_model: @[chm_model]
CHM_petlist_bounds: @[chm_petlist_bounds]
CHM_omp_num_threads: @[chm_omp_num_threads]
CHM_attributes::
Verbosity = max
Verbosity = 0
::

# Run Sequence #
Expand All @@ -38,13 +38,3 @@ runSeq::
ATM phase2
@
::

# CMEPS variables

DRIVER_attributes::
mediator_read_restart = .false.
::

ALLCOMP_attributes::
start_type = startup
::
6 changes: 3 additions & 3 deletions parm/ufs/ufs.configure.cpld.IN
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ OCN_attributes::
ProfileMemory = false
OverwriteSlice = true
mesh_ocn = @[MESH_OCN_ICE]
use_coldstart = @[use_coldstart]
use_mommesh = @[use_mommesh]
::

# ICE #
Expand All @@ -51,6 +53,7 @@ ICE_attributes::
ProfileMemory = false
OverwriteSlice = true
mesh_ice = @[MESH_OCN_ICE]
eps_imesh = @[eps_imesh]
stop_n = @[RESTART_N]
stop_option = nhours
stop_ymd = -999
Expand Down Expand Up @@ -107,9 +110,6 @@ ALLCOMP_attributes::
restart_option = nhours
restart_ymd = -999
dbug_flag = @[cap_dbug_flag]
use_coldstart = @[use_coldstart]
use_mommesh = @[use_mommesh]
eps_imesh = @[eps_imesh]
stop_n = @[FHMAX]
stop_option = nhours
stop_ymd = -999
Expand Down
6 changes: 3 additions & 3 deletions parm/ufs/ufs.configure.cpld_aero.IN
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ OCN_attributes::
ProfileMemory = false
OverwriteSlice = true
mesh_ocn = @[MESH_OCN_ICE]
use_coldstart = @[use_coldstart]
use_mommesh = @[use_mommesh]
::

# ICE #
Expand All @@ -59,6 +61,7 @@ ICE_attributes::
ProfileMemory = false
OverwriteSlice = true
mesh_ice = @[MESH_OCN_ICE]
eps_imesh = @[eps_imesh]
stop_n = @[RESTART_N]
stop_option = nhours
stop_ymd = -999
Expand Down Expand Up @@ -119,9 +122,6 @@ ALLCOMP_attributes::
restart_option = nhours
restart_ymd = -999
dbug_flag = @[cap_dbug_flag]
use_coldstart = @[use_coldstart]
use_mommesh = @[use_mommesh]
eps_imesh = @[eps_imesh]
stop_n = @[FHMAX]
stop_option = nhours
stop_ymd = -999
Expand Down
9 changes: 3 additions & 6 deletions parm/ufs/ufs.configure.cpld_aero_outerwave.IN
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ OCN_attributes::
ProfileMemory = false
OverwriteSlice = true
mesh_ocn = @[MESH_OCN_ICE]
use_coldstart = @[use_coldstart]
use_mommesh = @[use_mommesh]
::

# ICE #
Expand All @@ -59,6 +61,7 @@ ICE_attributes::
ProfileMemory = false
OverwriteSlice = true
mesh_ice = @[MESH_OCN_ICE]
eps_imesh = @[eps_imesh]
stop_n = @[RESTART_N]
stop_option = nhours
stop_ymd = -999
Expand All @@ -71,10 +74,7 @@ WAV_omp_num_threads: @[wav_omp_num_threads]
WAV_attributes::
Verbosity = 0
OverwriteSlice = false
diro = "."
logfile = wav.log
mesh_wav = @[MESH_WAV]
multigrid = @[MULTIGRID]
::

# CMEPS warm run sequence
Expand Down Expand Up @@ -139,9 +139,6 @@ ALLCOMP_attributes::
restart_option = nhours
restart_ymd = -999
dbug_flag = @[cap_dbug_flag]
use_coldstart = @[use_coldstart]
use_mommesh = @[use_mommesh]
eps_imesh = @[eps_imesh]
stop_n = @[FHMAX]
stop_option = nhours
stop_ymd = -999
Expand Down
9 changes: 3 additions & 6 deletions parm/ufs/ufs.configure.cpld_aero_wave.IN
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ OCN_attributes::
ProfileMemory = false
OverwriteSlice = true
mesh_ocn = @[MESH_OCN_ICE]
use_coldstart = @[use_coldstart]
use_mommesh = @[use_mommesh]
::

# ICE #
Expand All @@ -59,6 +61,7 @@ ICE_attributes::
ProfileMemory = false
OverwriteSlice = true
mesh_ice = @[MESH_OCN_ICE]
eps_imesh = @[eps_imesh]
stop_n = @[RESTART_N]
stop_option = nhours
stop_ymd = -999
Expand All @@ -71,10 +74,7 @@ WAV_omp_num_threads: @[wav_omp_num_threads]
WAV_attributes::
Verbosity = 0
OverwriteSlice = false
diro = "."
logfile = wav.log
mesh_wav = @[MESH_WAV]
multigrid = @[MULTIGRID]
::

# CMEPS warm run sequence
Expand Down Expand Up @@ -139,9 +139,6 @@ ALLCOMP_attributes::
restart_option = nhours
restart_ymd = -999
dbug_flag = @[cap_dbug_flag]
use_coldstart = @[use_coldstart]
use_mommesh = @[use_mommesh]
eps_imesh = @[eps_imesh]
stop_n = @[FHMAX]
stop_option = nhours
stop_ymd = -999
Expand Down
9 changes: 3 additions & 6 deletions parm/ufs/ufs.configure.cpld_outerwave.IN
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ OCN_attributes::
ProfileMemory = false
OverwriteSlice = true
mesh_ocn = @[MESH_OCN_ICE]
use_coldstart = @[use_coldstart]
use_mommesh = @[use_mommesh]
::

# ICE #
Expand All @@ -51,6 +53,7 @@ ICE_attributes::
ProfileMemory = false
OverwriteSlice = true
mesh_ice = @[MESH_OCN_ICE]
eps_imesh = @[eps_imesh]
stop_n = @[RESTART_N]
stop_option = nhours
stop_ymd = -999
Expand All @@ -63,10 +66,7 @@ WAV_omp_num_threads: @[wav_omp_num_threads]
WAV_attributes::
Verbosity = 0
OverwriteSlice = false
diro = "."
logfile = wav.log
mesh_wav = @[MESH_WAV]
multigrid = @[MULTIGRID]
::

# CMEPS warm run sequence
Expand Down Expand Up @@ -127,9 +127,6 @@ ALLCOMP_attributes::
restart_option = nhours
restart_ymd = -999
dbug_flag = @[cap_dbug_flag]
use_coldstart = @[use_coldstart]
use_mommesh = @[use_mommesh]
eps_imesh = @[eps_imesh]
stop_n = @[FHMAX]
stop_option = nhours
stop_ymd = -999
Expand Down
9 changes: 3 additions & 6 deletions parm/ufs/ufs.configure.cpld_wave.IN
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ OCN_attributes::
ProfileMemory = false
OverwriteSlice = true
mesh_ocn = @[MESH_OCN_ICE]
use_coldstart = @[use_coldstart]
use_mommesh = @[use_mommesh]
::

# ICE #
Expand All @@ -51,6 +53,7 @@ ICE_attributes::
ProfileMemory = false
OverwriteSlice = true
mesh_ice = @[MESH_OCN_ICE]
eps_imesh = @[eps_imesh]
stop_n = @[RESTART_N]
stop_option = nhours
stop_ymd = -999
Expand All @@ -63,10 +66,7 @@ WAV_omp_num_threads: @[wav_omp_num_threads]
WAV_attributes::
Verbosity = 0
OverwriteSlice = false
diro = "."
logfile = wav.log
mesh_wav = @[MESH_WAV]
multigrid = @[MULTIGRID]
::

# CMEPS warm run sequence
Expand Down Expand Up @@ -127,9 +127,6 @@ ALLCOMP_attributes::
restart_option = nhours
restart_ymd = -999
dbug_flag = @[cap_dbug_flag]
use_coldstart = @[use_coldstart]
use_mommesh = @[use_mommesh]
eps_imesh = @[eps_imesh]
stop_n = @[FHMAX]
stop_option = nhours
stop_ymd = -999
Expand Down
6 changes: 3 additions & 3 deletions scripts/exgfs_aero_init_aerosol.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@
from functools import partial

# Constants
atm_base_pattern = "{rot_dir}/{cdump}.%Y%m%d/%H/atmos/INPUT" # Location of atmosphere ICs
atm_base_pattern = "{rot_dir}/{cdump}.%Y%m%d/%H/model_data/atmos/input" # Location of atmosphere ICs
atm_file_pattern = "{path}/gfs_data.{tile}.nc" # Atm IC file names
atm_ctrl_pattern = "{path}/gfs_ctrl.nc" # Atm IC control file name
restart_base_pattern = "{rot_dir}/{cdump}.%Y%m%d/%H/atmos/RERUN_RESTART" # Location of restart files (time of previous run)
restart_base_pattern = "{rot_dir}/{cdump}.%Y%m%d/%H/model_data/atmos/restart" # Location of restart files (time of previous run)
restart_file_pattern = "{file_base}/{timestamp}fv_core.res.{tile}.nc" # Name of restart data files (time when restart is valid)
tracer_file_pattern = "{file_base}/{timestamp}fv_tracer.res.{tile}.nc" # Name of restart tracer files (time when restart is valid)
dycore_file_pattern = "{file_base}/{timestamp}fv_core.res.nc" # Name of restart dycore file (time when restart is valid)
tracer_list_file_pattern = "{parm_gfs}/chem/gocart_tracer.list" # Text list of tracer names to copy
tracer_list_file_pattern = "{parm_gfs}/ufs/gocart/gocart_tracer.list" # Text list of tracer names to copy
merge_script_pattern = "{ush_gfs}/merge_fv3_aerosol_tile.py"
n_tiles = 6
max_lookback = 4 # Maximum number of past cycles to look for for tracer data
Expand Down
7 changes: 3 additions & 4 deletions sorc/build_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,9 @@ fi
#------------------------------------
# Disable shellcheck warning about single quotes not being substituted.
# shellcheck disable=SC2016
ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'}
ERRSCRIPT=${ERRSCRIPT:-'eval [[ $errs = 0 ]]'}
# shellcheck disable=
err=0
errs=0

declare -A build_jobs
declare -A build_opts
Expand Down Expand Up @@ -219,7 +219,6 @@ while [[ ${builds_started} -lt ${#build_jobs[@]} ]]; do
done

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

echo;echo " .... Build system finished .... "
Expand Down
6 changes: 0 additions & 6 deletions sorc/link_workflow.sh
Original file line number Diff line number Diff line change
Expand Up @@ -122,12 +122,6 @@ do
done


if [[ -d "${HOMEgfs}/sorc/ufs_utils.fd" ]]; then
cd "${HOMEgfs}/sorc/ufs_utils.fd/fix" || exit 1
./link_fixdirs.sh "${RUN_ENVIR}" "${machine}" 2> /dev/null
fi


#---------------------------------------
#--add files from external repositories
#---------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion sorc/ufs_model.fd
Submodule ufs_model.fd updated 218 files
8 changes: 0 additions & 8 deletions ush/merge_fv3_aerosol_tile.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,14 +88,6 @@ def merge_tile(base_file_name: str, ctrl_file_name: str, core_file_name: str, re
print("FATAL ERROR: Inconsistent size of B(k) arrays: src=", bk.size, ", dst=", bi.size)
sys.exit(108)

if not np.array_equal(ak, ai):
print("FATAL ERROR: A(k) coefficients must be identical")
sys.exit(109)

if not np.array_equal(bk, bi):
print("FATAL ERROR: B(k) coefficients must be identical")
sys.exit(110)

dp = np.zeros(delp.shape)
for k in range(0, dp.shape[0]):
dp[k, :, :] = ak[k + 1] - ak[k] + psfc * (bk[k + 1] - bk[k])
Expand Down
4 changes: 3 additions & 1 deletion ush/parsing_model_configure_FV3.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ write_groups: ${WRITE_GROUP:-1}
write_tasks_per_group: ${WRTTASK_PER_GROUP:-24}
itasks: 1
output_history: ${OUTPUT_HISTORY:-".true."}
history_file_on_native_grid: .false.
write_dopost: ${WRITE_DOPOST:-".false."}
write_nsflip: ${WRITE_NSFLIP:-".false."}
num_files: ${NUM_FILES:-2}
Expand All @@ -54,7 +55,8 @@ ichunk3d: ${ichunk3d:-0}
jchunk3d: ${jchunk3d:-0}
kchunk3d: ${kchunk3d:-0}
ideflate: ${ideflate:-1}
nbits: ${nbits:-14}
quantize_mode: 'quantize_bitround'
quantize_nsd: ${QUANTIZE_NSD:-0}
imo: ${LONB_IMO}
jmo: ${LATB_JMO}
output_fh: ${FV3_OUTPUT_FH}
Expand Down
Loading

0 comments on commit 5adc47b

Please sign in to comment.