Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
1af53c3
Change the fix link based on g-w
XianwuXue-NOAA Apr 5, 2023
a2f62ec
Add some changes for atmos_prep in the pre develop
XianwuXue-NOAA Apr 5, 2023
c857f1c
Merge branch 'feature/v13_atm_only' into feature/v13_atmos_prep
XianwuXue-NOAA Apr 6, 2023
a698abf
Update HOMEDIR on HERA
XianwuXue-NOAA Apr 6, 2023
dde7933
Add linked folders & files to the .gitignore
XianwuXue-NOAA Apr 6, 2023
76f558f
Remove parm/config from .gitignore
XianwuXue-NOAA Apr 6, 2023
b6af6b6
Move some parm files to parm/parm_gefs
XianwuXue-NOAA Apr 6, 2023
9438ef7
Modify parm files for atmos_prep
XianwuXue-NOAA Apr 6, 2023
6e3ee10
Improve to make atmos_prep work
XianwuXue-NOAA Apr 6, 2023
c258966
Use preamble.sh in j-job of atmos_prep
XianwuXue-NOAA Apr 6, 2023
2508105
Use generate_com to get COM_* for atmos_prep job
XianwuXue-NOAA Apr 6, 2023
ed4a5d6
Modify to port atmos_prep to hera
XianwuXue-NOAA Apr 10, 2023
203f639
Change the default value of CASEHR to C48
XianwuXue-NOAA Apr 10, 2023
c5673d9
Fix a minor bug for ROTDIR
XianwuXue-NOAA Apr 10, 2023
6a6392e
Modify for running atmos_prep on hera
XianwuXue-NOAA Apr 10, 2023
b2c62ba
Optimize pyGEFS
XianwuXue-NOAA Apr 11, 2023
d293b09
Change ksh to bash for link_gefs.sh
XianwuXue-NOAA Apr 11, 2023
6436d78
Fix some bugs in pyGEFS
XianwuXue-NOAA Apr 11, 2023
d14acdb
Improve pyGEFS to run atmos_prep on Hera
XianwuXue-NOAA Apr 11, 2023
cee21ec
Optimize and clean up some scripts
XianwuXue-NOAA Apr 12, 2023
008adf8
Add COMINgfs back
XianwuXue-NOAA Apr 12, 2023
cdac12e
Delete unused files
XianwuXue-NOAA Apr 12, 2023
781c433
Optimize compile_install_all.sh
XianwuXue-NOAA Apr 13, 2023
6073dc3
Clean up and optimize the compile_install_all.sh
XianwuXue-NOAA Apr 13, 2023
9fb9ace
Fix a bug
XianwuXue-NOAA Apr 13, 2023
0ef6d52
Change ksh to bash
XianwuXue-NOAA Apr 13, 2023
f2bc775
Modify based on reviewer's comments
XianwuXue-NOAA Apr 17, 2023
58ebecc
Merge branch 'feature/v13_atmos_prep' of github.com:XianwuXue-NOAA/GE…
XianwuXue-NOAA Apr 17, 2023
33232ef
Reorganize link_gefs.sh
XianwuXue-NOAA Apr 17, 2023
c4c48a0
Remove config.com and link it from g-w
XianwuXue-NOAA Apr 17, 2023
0b44b7b
Ignore parm/config and fix the link path
XianwuXue-NOAA Apr 17, 2023
e94350f
Move all import statements to the top of scripts
XianwuXue-NOAA Apr 17, 2023
4b0186a
Fix a bug by add missing import statement
XianwuXue-NOAA Apr 17, 2023
d7eaa84
Modify to delete parm/config
XianwuXue-NOAA Apr 17, 2023
643e6bd
Improve to use generate_com
XianwuXue-NOAA Apr 17, 2023
b853549
Use COM_ATMOS_ANALYSIS_TMPL
XianwuXue-NOAA Apr 17, 2023
ea31a90
Change COM_ATMOS_ANALYSIS_GFS for SFCFILE
XianwuXue-NOAA Apr 17, 2023
8abf0cb
Add OCNRES to gefs.parm
XianwuXue-NOAA Apr 17, 2023
6a8ba08
Remove OCNRES related lines in ush atmos_prep
XianwuXue-NOAA Apr 17, 2023
e44a6ac
Change "module purge" to "module reset"
XianwuXue-NOAA Apr 17, 2023
7dce077
Change ROTDIR_IN to ROTDIR_GFS
XianwuXue-NOAA Apr 18, 2023
5a89c12
Remove fix.ver and use fix.ver in g-w
XianwuXue-NOAA Apr 18, 2023
e07b3ad
Use shopt to get ver on hera
XianwuXue-NOAA Apr 19, 2023
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
8 changes: 8 additions & 0 deletions fix/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
am
chem
orog
aer
lut
ugwd
wave

fix_*
product
58 changes: 24 additions & 34 deletions jobs/JGEFS_ATMOS_PREP
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
#!/bin/bash
#! /usr/bin/env bash

echo "$(date -u) begin $(basename $BASH_SOURCE)"

set -xa
if [[ ${STRICT:-NO} == "YES" ]]; then
# Turn on strict bash error checking
set -eu
fi
export PS4='$SECONDS + $(basename $(basename $BASH_SOURCE))[$LINENO] '
source "${HOMEgefs:-${HOMEgfs}}/ush/preamble.sh"

####################################
# Determine Job Output Name on System
####################################
export jobid=${jobid:-"$job.$PBS_JOBID"}
export jobid=${jobid:-"${job}.${PBS_JOBID}"}
export pgmout="OUTPUT.${PBS_JOBID}"
export pgmerr=errfile

Expand All @@ -27,7 +20,7 @@ cd $DATA
# Set up compute resources
######################################
export total_tasks=${total_tasks:-36} # Must be divisible number of tiles (6)
export APRUN=${gefsmpexec:-"mpiexec -n $total_tasks"}
export APRUN=${gefsmpexec:-"mpiexec -n ${total_tasks}"}

####################################
# Specify NET and RUN Name and model
Expand Down Expand Up @@ -58,36 +51,33 @@ source PDY
# Specify Execution Areas
####################################
export HOMEgefs=${HOMEgefs:-${PACKAGEROOT}/gefs.${gefs_ver}}
export PARMgefs=${PARMgefs:-$HOMEgefs/parm}
export EXECgefs=${EXECgefs:-$HOMEgefs/exec}
export USHgefs=${USHgefs:-$HOMEgefs/ush}
export FIXgefs=${FIXgefs:-$HOMEgefs/fix/fix_gefs}
export PARMgefs=${PARMgefs:-${HOMEgefs}/parm}
export EXECgefs=${EXECgefs:-${HOMEgefs}/exec}
export USHgefs=${USHgefs:-${HOMEgefs}/ush}
export FIXgefs=${FIXgefs:-${HOMEgefs}/fix/fix_gefs}

##############################################
# Define COM directories
##############################################
ver=${ver:-$(echo ${gefs_ver}|cut -c1-5)}
export COMPONENT="atmos"
export COMOUT=${COMOUT:-$(compath.py -o $NET/${ver})/${RUN}.${PDY}/$cyc/$COMPONENT}
export GESOUT=${GESOUT:-$(compath.py -o $NET/${ver})/${RUN}.${PDY}/$cyc/nwges}

#############################
# Source relevant config files
#############################
configs="gefs gefs_atmos_prep"
config_path=$PARMgefs
config_path=$PARMgefs/parm_gefs
for config in $configs; do
. $config_path/$config.parm
export err=$?
if [[ $err != 0 ]]; then
echo "FATAL ERROR in $(basename $BASH_SOURCE): Error while loading parm file $config_path/$config.parm"
exit $err
fi
. ${config_path}/${config}.parm
export err=$?
if [[ $err != 0 ]]; then
echo "FATAL ERROR in $(basename $BASH_SOURCE): Error while loading parm file ${config_path}/${config}.parm"
exit ${err}
fi
done

export COMINgfs=${COMINgfs:-$(compath.py ${envir}/com/gfs/${gfs_ver})/gfs.${PDY}/${cyc}/atmos}
export COMINenkf=${COMINenkf:-$(compath.py ${envir}/com/gfs/${gfs_ver})/enkfgdas.${pdyp}/${cycp}/atmos}

NCP=${NCP:-"/bin/cp -p"}
export ROTDIR=${ROTDIR:-$(compath.py -o $NET/${ver})}
Comment thread
WalterKolczynski-NOAA marked this conversation as resolved.
export ROTDIR_GFS=${ROTDIR_GFS:-$(compath.py ${envir}/com/gfs/${gfs_ver})}

echo "Environment before calling script"
env | sort
Expand All @@ -96,19 +86,19 @@ env | sort
# Execute the script
$HOMEgefs/scripts/exgefs_atmos_prep.sh
export err=$?
if [[ $err == 0 ]]; then
echo "$job completed normally!"
if [[ ${err} == 0 ]]; then
echo "${job} completed normally!"
else
echo "FATAL ERROR in $(basename $BASH_SOURCE): $job failed!"
exit $err
echo "FATAL ERROR in $(basename $BASH_SOURCE): ${job} failed!"
exit $err
fi
#############################################################

##############################
# Remove the Temporary working directory
##############################
cd $DATAROOT
if [ ${KEEPDATA:-NO} = NO ] ; then rm -rf $DATA ; fi
cd ${DATAROOT}
if [ ${KEEPDATA:-NO} = NO ] ; then rm -rf ${DATA} ; fi

echo "$(date -u) end $(basename $BASH_SOURCE)"

Expand Down
2 changes: 2 additions & 0 deletions parm/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@ parm_fv3diag
post
product
prep_chem_sources.inp.IN

config
121 changes: 99 additions & 22 deletions parm/gefs.parm → parm/parm_gefs/gefs.parm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/ksh -l
#! /usr/bin/env bash

###################################################################
# This parm file defines the control variables for the GEFS model
Expand Down Expand Up @@ -31,29 +31,29 @@ export fhrp=${fhrp:-06}
export gefs_cych=${gefs_cych:-6}

case $cyc in
(00)
fhmax=$fhmax00 ;;
(06)
fhmax=$fhmax06 ;;
(12)
fhmax=$fhmax12 ;;
(18)
fhmax=$fhmax18 ;;
(*)
echo
echo UNDEFINED CYCLE cyc=$cyc
echo
echo unmodified fhmax=$fhmax
;;
00)
fhmax=$fhmax00;;
06)
fhmax=$fhmax06;;
12)
fhmax=$fhmax12;;
18)
fhmax=$fhmax18;;
*)
echo
echo UNDEFINED CYCLE cyc=$cyc
echo
echo unmodified fhmax=$fhmax
;;
esac

memberlist="c00"

imem=1
while [[ imem -le $npert ]];
do
memberlist="$memberlist p$(printf %02i $imem)"
(( imem++ ))
memberlist="$memberlist p$(printf %02i $imem)"
(( imem++ ))
done
export memberlist

Expand Down Expand Up @@ -96,7 +96,7 @@ export FHOUT_HF_WAV=${FHOUTHF:-3}
#######################################
#For the half-month range part of FV3 based forecast
export CASEHR=${CASEHR:-C384}
export LEVSHR=${LEVSHR:-64}
export LEVSHR=${LEVSHR:-127}
export DELTIM=${DELTIM:-450}
export JCAPFV=${JCAPFV:-766}
export LATBFV=${LATBFV:-768}
Expand All @@ -105,32 +105,109 @@ export MTNRSLFV=${MTNRSLFV:-766.1536.768}

#For the longer range part of FV3 based forecast
export CASELR=${CASELR:-C384}
export LEVSLR=${LEVSLR:-64}
export LEVSLR=${LEVSLR:-127}
export DELTIMLR=${DELTIMLR:-450}
export JCAPLR=${JCAPLR:-766}
export LATBLR=${LATBLR:-768}
export LONBLR=${LONBLR:-1536}
export MTNRSLLR=${MTNRSLLR:-766.1536.768}
export NTRACLR=${NTRACLR:-3}

export FORECAST_SEGMENT=${FORECAST_SEGMENT:-"hr"}
if [[ ${FORECAST_SEGMENT} == "hr" ]]; then
export LEVS=$((LEVSHR + 1))
else
export LEVS=$((LEVSLR + 1))
fi

CASE=${CASEHR}
if [[ ${FORECAST_SEGMENT} == "lr" ]]; then
CASE=$CASELR
fi

#for new vertical coordinate
export IDVC=${IDVC:-2}
#export IDVM=32

export imp_physics=${imp_physics:-"11"}
####################################
# Directories relative to installation areas
####################################
export HOMEgefs=${HOMEgefs:-${PACKAGEROOT}/gefs.${gefs_ver}}
export EXECgefs=${EXECgefs:-${HOMEgefs}/exec}
export USHgefs=${USHgefs:-${HOMEgefs}/ush}
#export FIXgefs=${FIXgefs:-${HOMEgefs}/fix/fix_gefs}
export PARMgefs=${PARMgefs:-${HOMEgefs}/parm}

export HOMEgfs=${HOMEgfs:-${HOMEgefs}}
export PARMgfs=${HOMEgfs}/parm
export EXPDIR=${PARMgfs}/config
#export FIXgfs=${HOMEgfs}/fix
#export USHgfs=${HOMEgfs}/ush
#export UTILgfs=${HOMEgfs}/util
#export EXECgfs=${HOMEgfs}/exec
#export SCRgfs=${HOMEgfs}/scripts

#export FIXcice=${HOMEgfs}/fix/cice
#export FIXmom=${HOMEgfs}/fix/mom6
#export FIXreg2grb2=${HOMEgfs}/fix/reg2grb2

####################################
# CONVENIENT utility scripts and other environment parameters
export NCP="/bin/cp -p"
export NMV="/bin/mv"
export NLN="/bin/ln -sf"
export KEEPDATA=${KEEPDATA:-"NO"}

####################################
# Specify NET and RUN Name and model
####################################
export NET=${NET:-gefs}
export envir=${envir:-prod}
export RUN_ENVIR=${RUN_ENVIR:-nco}
export RUN=${RUN:-gefs}

######################################
# SENDCOM - Copy Files From TMPDIR to $COMOUT
# SENDDBN - Issue DBNet Client Calls
# SENDECF - Flag Events on ECF
# VERBOSE - Specify Verbose Output
######################################
export SENDECF=${SENDECF:-"YES"}
export SENDCOM=${SENDCOM:-"YES"}
export SENDDBN_NTC=${SENDDBN_NTC:-"NO"}
export SENDDBN=${SENDDBN:-"YES"}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
export VERBOSE=${VERBOSE:-YES}

# Get all the COM path templates
source "${PARMgefs:-${PARMgfs}}/config/config.com"

# These are the currently available grid-combinations
case "${CASE}" in
"C48") export OCNRES=500;;
"C96") export OCNRES=100;;
"C192") export OCNRES=050;;
"C384") export OCNRES=025;;
"C768") export OCNRES=025;;
*) export OCNRES=025;;
esac
export ICERES=${OCNRES}

# Microphysics Options: 99-ZhaoCarr, 8-Thompson; 6-WSM6, 10-MG, 11-GFDL
export imp_physics=${imp_physics:-"8"}

########################################
# This section defines the output flags for ncep_post + prdgen
########################################
export FV3OUT_GRID="gaussian_grid"
export GRIBVERSION=grib2
export REMAP_GRID=${REMAP_GRID:-latlon} #gaussian or latlon for using regrid or regrid_nemsio for remapping
export REMAP_GRID=${REMAP_GRID:-latlon} #gaussian or latlon for using regrid or regrid_nemsio for remapping

export gfsfhmaxh=240
export gfsfhoroglist=252

# The following options are fore re-forecast
export save_pgrb2_p5=${save_pgrb2_p5:-NO}
export save_pgrb2_p5=${save_pgrb2_p5:-NO}
export save_pgrb2_p25=${save_pgrb2_p25:-NO}

# List of contacts to mail when there is mail sent by mail.py for product degredation
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
#!/bin/ksh
#! /usr/bin/env bash

case $cyc in
00) memshift=0;;
06) memshift=20;;
12) memshift=40;;
18) memshift=60;;
00) memshift=0;;
06) memshift=20;;
12) memshift=40;;
18) memshift=60;;
esac

export pdycycp=$($NDATE -$fhrp $PDY$cyc)
export pdyp=$(echo $pdycycp|cut -c1-8)
export cycp=$(echo $pdycycp|cut -c9-10)
export memshift

export CDATE=$PDY$cyc

Expand Down
31 changes: 0 additions & 31 deletions rocoto/bin/gefs_load_modules.inc

This file was deleted.

26 changes: 0 additions & 26 deletions rocoto/bin/gefs_pre_job.sh

This file was deleted.

Loading