-
Notifications
You must be signed in to change notification settings - Fork 33
aigefs: add a new component and prep scripts #915
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
base: feature/add_ai
Are you sure you want to change the base?
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,48 @@ | ||
| #PBS -N jevs_prep_aigefs_atmos | ||
| #PBS -j oe | ||
| #PBS -S /bin/bash | ||
| #PBS -q dev | ||
| #PBS -A VERF-DEV | ||
| #PBS -l walltime=01:30:00 | ||
| #PBS -l place=vscatter:exclhost,select=2:ncpus=48:mem=400GB:prepost=true | ||
| #PBS -l debug=true | ||
|
|
||
| set -x | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure it's necessary. Global_ens driver scripts do not have it. |
||
| export OMP_NUM_THREADS=1 | ||
| export HOMEevs=/lfs/h2/emc/vpppg/noscrub/${USER}/EVS | ||
| source $HOMEevs/versions/run.ver | ||
|
|
||
| export envir=prod | ||
| export NET=evs | ||
| export STEP=prep | ||
| export COMPONENT=aigefs | ||
| export RUN=atmos | ||
| export MODELNAME=aigefs | ||
| export VERIF_CASE=grid2grid | ||
|
|
||
| module reset | ||
| module load prod_envir/${prod_envir_ver} | ||
| source $HOMEevs/dev/modulefiles/$COMPONENT/${COMPONENT}_${STEP}.sh | ||
|
|
||
| evs_ver_2d=$(echo $evs_ver | cut -d'.' -f1-2) | ||
|
|
||
| export vhr=00 | ||
|
|
||
| export COMIN=/lfs/h2/emc/vpppg/noscrub/${USER}/$NET/$evs_ver_2d | ||
| export COMINaigefs=/lfs/h1/ops/prod/com/aigefs/${aigefs_ver} | ||
| export COMINhgefs=/lfs/h1/ops/prod/com/hgefs/${hgefs_ver} | ||
|
||
| export COMOUT=/lfs/h2/emc/vpppg/noscrub/${USER}/$NET/$evs_ver_2d | ||
| export DATAROOT=/lfs/h2/emc/stmp/${USER}/evs/$envir/tmp | ||
|
|
||
| export job=${PBS_JOBNAME:-jevs_${STEP}_${MODELNAME}_${VERIF_CASE}} | ||
| export jobid=$job.${PBS_JOBID:-$$} | ||
|
|
||
| export KEEPDATA=NO | ||
| export SENDMAIL=NO | ||
| export MAILTO='alicia.bentley@noaa.gov,lichuan.chen@noaa.gov' | ||
|
|
||
| if [ -z "$MAILTO" ]; then | ||
| echo "MAILTO variable is not defined. Exiting without continuing." | ||
| else | ||
| ${HOMEevs}/jobs/JEVS_PREP_AIGEFS | ||
| fi | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| #!/bin/bash | ||
| # modulefile for EVS aigefs component, prep step | ||
|
|
||
| set -x | ||
|
|
||
| module load PrgEnv-intel/${PrgEnvintel_ver} | ||
| module load intel/${intel_ver} | ||
| module load ve/evs/${ve_evs_ver} | ||
| module load cray-mpich/${craympich_ver} | ||
| module load g2c/${g2c_ver} | ||
| module load gsl/${gsl_ver} | ||
| module load prod_util/${prod_util_ver} | ||
| module load libaec/${libaec_ver} | ||
| module load libjpeg/${libjpeg_ver} | ||
| module load libjpeg-turbo/${libjpegturbo_ver} | ||
| module load libpng/${libpng_ver} | ||
| module load netcdf-D/${netcdfD_ver} | ||
| module load zlib/${zlib_ver} | ||
| module load jasper/${jasper_ver} | ||
| module load udunits/${udunits_ver} | ||
| module load grib_util/${grib_util_ver} | ||
| module load wgrib2/${wgrib2_ver} | ||
| module load cray-pals/${craypals_ver} | ||
| module load cfp/${cfp_ver} | ||
| module load cdo/${cdo_ver} | ||
| module load met/${met_ver} | ||
| module load metplus/${metplus_ver} | ||
| module load bufr/${bufr_ver} | ||
|
|
||
| module list | ||
|
|
||
AndrewBenjamin-NOAA marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| set -x | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,66 @@ | ||
| #PBS -N evs_prep_aigefs_atmos | ||
| #PBS -j oe | ||
| #PBS -S /bin/bash | ||
| #PBS -q %QUEUE% | ||
| #PBS -A %PROJ%-%PROJENVIR% | ||
| #PBS -l walltime=01:30:00 | ||
| #PBS -l place=vscatter:exclhost,select=2:ncpus=48:mem=400GB:prepost=true | ||
| #PBS -l debug=true | ||
|
|
||
| export model=evs | ||
| %include <head.h> | ||
| %include <envir-p1.h> | ||
|
|
||
| ############################################################ | ||
| # Load modules | ||
| ############################################################ | ||
| set -x | ||
| export COMPONENT=aigefs | ||
| export STEP=prep | ||
|
|
||
| module load PrgEnv-intel/${PrgEnvintel_ver} | ||
| module load intel/${intel_ver} | ||
| module load ve/evs/${ve_evs_ver} | ||
| module load gsl/${gsl_ver} | ||
| module load libjpeg/${libjpeg_ver} | ||
| module load libpng/${libpng_ver} | ||
| module load zlib/${zlib_ver} | ||
| module load jasper/${jasper_ver} | ||
| module load udunits/${udunits_ver} | ||
| module load grib_util/${grib_util_ver} | ||
| module load wgrib2/${wgrib2_ver} | ||
| module load cray-pals/${craypals_ver} | ||
| module load cfp/${cfp_ver} | ||
| module load cdo/${cdo_ver} | ||
| module load met/${met_ver} | ||
| module load metplus/${metplus_ver} | ||
| module load bufr/${bufr_ver} | ||
AliciaBentley-NOAA marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| module list | ||
|
|
||
| ############################################################ | ||
| # Specify environment variables | ||
| ############################################################ | ||
| if [ -n "%VHR:%" ]; then | ||
| export vhr=${vhr:-%VHR:%} | ||
| else | ||
| export vhr=00 | ||
| fi | ||
| export OMP_NUM_THREADS=1 | ||
| export NET=evs | ||
| export RUN=atmos | ||
| export VERIF_CASE=grid2grid | ||
| export MODELNAME=aigefs | ||
|
|
||
| ############################################################ | ||
| # Execute j-job | ||
| ############################################################ | ||
| ${HOMEevs}/jobs/JEVS_PREP_AIGEFS | ||
| if [ $? -ne 0 ]; then | ||
| ecflow_client --msg="***JOB ${ECF_NAME} ERROR RUNNING J-SCRIPT ***" | ||
| ecflow_client --abort | ||
| exit | ||
| fi | ||
|
|
||
| %include <tail.h> | ||
| %manual | ||
| %end | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,112 @@ | ||
| #!/bin/bash | ||
| # JOB card created for aigefs prep jobs | ||
| # Updated by L. Gwen Chen (lichuan.chen@noaa.gov), 10/03/2025 | ||
|
|
||
| ######################################## | ||
| # Preliminary data setup step | ||
| ######################################## | ||
| set -x | ||
|
|
||
| #################################### | ||
| # SET SHELL PROCESSING VARIABLES | ||
| #################################### | ||
| export PS4='$SECONDS + ' | ||
| date | ||
|
|
||
| ########################################################### | ||
| # obtain unique LSF id (jobid) and make temp directories | ||
| ########################################################### | ||
| export pid=$$ | ||
| export DATA=${DATA:-${DATAROOT:?}/${jobid:?}} | ||
| mkdir -p $DATA | ||
| cd $DATA | ||
|
|
||
| #################################### | ||
| # Define NET/RUN variables | ||
| #################################### | ||
| export NET=${NET:-evs} | ||
| export STEP=${STEP:-prep} | ||
| export COMPONENT=${COMPONENT:-aigefs} | ||
| export RUN=${RUN:-atmos} | ||
| export MODELNAME=${MODELNAME:-aigefs} | ||
| export MODNAM=echo $MODELNAME | tr '[a-z]' '[A-Z]' | ||
| export VERIF_CASE=${VERIF_CASE:-grid2obs} | ||
| export OBTYPE=${OBTYPE:-GDAS} | ||
|
|
||
| #################################### | ||
| # Set EVS directories | ||
| #################################### | ||
| export HOMEevs=${HOMEevs:-${PACKAGEROOT}/${NET}.${evs_ver}} | ||
| export EXECevs=${EXECevs:-${HOMEevs}/exec} | ||
| export PARMevs=${PARMevs:-${HOMEevs}/parm} | ||
| export SCRIPTSevs=${SCRIPTSevs:-${HOMEevs}/scripts} | ||
| export USHevs=${USHevs:-${HOMEevs}/ush} | ||
| export FIXevs=${FIXevs:-${HOMEevs}/fix} | ||
|
|
||
| ########################################## | ||
| # Run setpdy and initialize PDY variables | ||
| ########################################## | ||
| export vhr=${vhr:-00} | ||
| export cycle=${cycle:-t${vhr}z} | ||
| setpdy.sh 20 | ||
| . ./PDY | ||
|
|
||
| export INITDATE=${INITDATE:-${PDYm2}} | ||
|
|
||
| ################################################## | ||
| ### SENDCOM - Copy Files From TMPDIR to $COMOUT | ||
| ### SENDDBN - Issue DBNet Client Calls | ||
| ### SENDECF - Flag Events on ecFLOW | ||
| ### SENDMAIL - Send email if file is missing | ||
| ################################################## | ||
| export SENDCOM=${SENDCOM:-YES} | ||
| export SENDDBN=${SENDDBN:-YES} | ||
| export SENDECF=${SENDECF:-YES} | ||
| export SENDMAIL=${SENDMAIL:-NO} | ||
|
|
||
| #################################### | ||
| # Define COMIN/COMOUT variables | ||
| #################################### | ||
| export COMIN=${COMIN:-$(compath.py ${envir}/com/${NET}/${evs_ver})} | ||
| export COMINgfs=${COMINgfs:-$(compath.py $envir/com/gfs/${gfs_ver})} | ||
| export COMINgefs=${COMINgefs:-$(compath.py ${envir}/com/gefs/${gefs_ver})} | ||
| export COMINaigefs=${COMINaigefs:-$(compath.py ${envir}/com/aigefs/${aigefs_ver})} | ||
| export COMINhgefs=${COMINhgefs:-$(compath.py ${envir}/com/hgefs/${hgefs_ver})} | ||
| export DCOMIN=${DCOMIN:-${DCOMROOT}} | ||
| export COMINccpa=${COMINccpa:-$(compath.py $envir/com/ccpa/${ccpa_ver})} | ||
| export COMINobsproc=${COMINobsproc:-$(compath.py $envir/com/obsproc/${obsproc_ver})} | ||
| export DCOMINnohrsc=${DCOMINnohrsc:-$DCOMROOT} | ||
| export DCOMINosi_saf=${DCOMINosi_saf:-$DCOMROOT} | ||
| export DCOMINghrsst=${DCOMINghrsst:-$DCOMROOT} | ||
|
|
||
| export EVSINgefs=${COMIN}/${STEP}/${COMPONENT}/atmos.${INITDATE}/gefs | ||
| export EVSINaigefs=${COMIN}/${STEP}/${COMPONENT}/atmos.${INITDATE}/aigefs | ||
| export EVSINhgefs=${COMIN}/${STEP}/${COMPONENT}/atmos.${INITDATE}/hgefs | ||
|
|
||
| export COMOUT=${COMOUT:-$(compath.py -o $NET/${evs_ver})}/$STEP/${COMPONENT} | ||
| mkdir -p $COMOUT | ||
|
|
||
| export COMOUTgefs=${COMOUTgefs:-${COMOUT}/${RUN}.${INITDATE}/gefs} | ||
| export COMOUTaigefs=${COMOUTaigefs:-${COMOUT}/${RUN}.${INITDATE}/aigefs} | ||
| export COMOUThgefs=${COMOUThgefs:-${COMOUT}/${RUN}.${INITDATE}/hgefs} | ||
| export COMOUTcompleted=${COMOUTcompleted:-${COMOUT}/${RUN}.${INITDATE}/completed} | ||
|
|
||
| if [ "${RUN}" == "headline" ]; then | ||
| mkdir -p $COMOUTaigefs $COMOUThgefs | ||
| elif [ "${RUN}" == "atmos" ]; then | ||
| mkdir -p $COMOUTgefs $COMOUTaigefs $COMOUThgefs $COMOUTcompleted | ||
| fi | ||
|
||
|
|
||
| #################################### | ||
| # Execute the script | ||
| #################################### | ||
| $HOMEevs/scripts/${STEP}/${COMPONENT}/exevs_${STEP}_${COMPONENT}_${RUN}.sh | ||
| export err=$?; err_chk | ||
|
|
||
| if [ "${KEEPDATA}" != "YES" ]; then | ||
| cd ${DATAROOT} | ||
| rm -rf ${DATA} | ||
| fi | ||
|
|
||
| date | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| [config] | ||
|
|
||
| LOG_METPLUS = | ||
|
|
||
| OUTPUT_BASE = {ENV[output_base]} | ||
|
|
||
| PROCESS_LIST = PCPCombine | ||
|
|
||
| LOOP_BY = INIT | ||
| INIT_TIME_FMT = %Y%m%d%H | ||
| INIT_BEG = {ENV[vday]}{ENV[ihour]} | ||
| INIT_END = {ENV[vday]}{ENV[ihour]} | ||
| INIT_INCREMENT = 1H | ||
|
|
||
| LEAD_SEQ = {ENV[lead]} | ||
|
|
||
| STAT_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID | ||
|
|
||
| FCST_PCP_COMBINE_CONSTANT_INIT = True | ||
| FCST_PCP_COMBINE_RUN = True | ||
| FCST_PCP_COMBINE_METHOD = ADD | ||
|
|
||
| FCST_PCP_COMBINE_INPUT_DIR = {ENV[modelpath]} | ||
| FCST_PCP_COMBINE_INPUT_TEMPLATE = {ENV[model]}.ens{ENV[mb]}.t{init?fmt=%H}z.grid3.f{lead?fmt=%3H}.grib2 | ||
|
|
||
| FCST_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE} | ||
| FCST_PCP_COMBINE_OUTPUT_TEMPLATE = {ENV[model]}.ens{ENV[mb]}.t{init?fmt=%H}z.grid3.24h.f{lead?fmt=%3H}.nc | ||
|
|
||
| FCST_IS_PROB = false | ||
|
|
||
| FCST_PCP_COMBINE_INPUT_DATATYPE = GRIB | ||
| FCST_PCP_COMBINE_INPUT_ACCUMS = 6H | ||
| FCST_PCP_COMBINE_INPUT_NAMES = APCP | ||
| FCST_PCP_COMBINE_INPUT_LEVELS = A06 | ||
|
|
||
| FCST_PCP_COMBINE_OUTPUT_ACCUM = 24H | ||
| FCST_PCP_COMBINE_OUTPUT_NAME = |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| [config] | ||
|
|
||
| LOG_METPLUS = | ||
|
|
||
| OUTPUT_BASE = {ENV[output_base]} | ||
|
|
||
| PROCESS_LIST = PCPCombine | ||
|
|
||
| LOOP_BY = INIT | ||
| INIT_TIME_FMT = %Y%m%d%H | ||
| INIT_BEG = {ENV[vday]}{ENV[ihour]} | ||
| INIT_END = {ENV[vday]}{ENV[ihour]} | ||
| INIT_INCREMENT = 1H | ||
|
|
||
| LEAD_SEQ = {ENV[lead]} | ||
|
|
||
| STAT_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID | ||
|
|
||
| FCST_PCP_COMBINE_CONSTANT_INIT = True | ||
| FCST_PCP_COMBINE_RUN = True | ||
| FCST_PCP_COMBINE_METHOD = ADD | ||
|
|
||
| FCST_PCP_COMBINE_INPUT_DIR = {ENV[modelpath]} | ||
| FCST_PCP_COMBINE_INPUT_TEMPLATE = {ENV[model]}.ens{ENV[mb]}.t{init?fmt=%H}z.grid3.f{lead?fmt=%3H}.grib2 | ||
|
|
||
| FCST_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE} | ||
| FCST_PCP_COMBINE_OUTPUT_TEMPLATE = {ENV[model]}.ens{ENV[mb]}.t{init?fmt=%H}z.grid3.24h.f{lead?fmt=%3H}.nc | ||
|
|
||
| FCST_IS_PROB = false | ||
|
|
||
| FCST_PCP_COMBINE_INPUT_DATATYPE = GRIB | ||
| FCST_PCP_COMBINE_INPUT_ACCUMS = 6H | ||
| FCST_PCP_COMBINE_INPUT_NAMES = APCP | ||
| FCST_PCP_COMBINE_INPUT_LEVELS = A06 | ||
|
|
||
| FCST_PCP_COMBINE_OUTPUT_ACCUM = 24H | ||
| FCST_PCP_COMBINE_OUTPUT_NAME = |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| [config] | ||
|
|
||
| LOG_METPLUS = | ||
|
|
||
| OUTPUT_BASE = {ENV[output_base]} | ||
|
|
||
| PROCESS_LIST = PCPCombine | ||
|
|
||
| LOOP_BY = INIT | ||
| INIT_TIME_FMT = %Y%m%d%H | ||
| INIT_BEG = {ENV[vday]}{ENV[ihour]} | ||
| INIT_END = {ENV[vday]}{ENV[ihour]} | ||
| INIT_INCREMENT = 1H | ||
|
|
||
| LEAD_SEQ = {ENV[lead]} | ||
|
|
||
| STAT_ANALYSIS_RUNTIME_FREQ = RUN_ONCE_PER_INIT_OR_VALID | ||
|
|
||
| FCST_PCP_COMBINE_CONSTANT_INIT = True | ||
| FCST_PCP_COMBINE_RUN = True | ||
| FCST_PCP_COMBINE_METHOD = ADD | ||
|
|
||
| FCST_PCP_COMBINE_INPUT_DIR = {ENV[modelpath]} | ||
| FCST_PCP_COMBINE_INPUT_TEMPLATE = {ENV[model]}.ens{ENV[mb]}.t{init?fmt=%H}z.grid3.f{lead?fmt=%3H}.grib2 | ||
|
|
||
| FCST_PCP_COMBINE_OUTPUT_DIR = {OUTPUT_BASE} | ||
| FCST_PCP_COMBINE_OUTPUT_TEMPLATE = {ENV[model]}.ens{ENV[mb]}.t{init?fmt=%H}z.grid3.24h.f{lead?fmt=%3H}.nc | ||
|
|
||
| FCST_IS_PROB = false | ||
|
|
||
| FCST_PCP_COMBINE_INPUT_DATATYPE = GRIB | ||
| FCST_PCP_COMBINE_INPUT_ACCUMS = 6H | ||
| FCST_PCP_COMBINE_INPUT_NAMES = APCP | ||
| FCST_PCP_COMBINE_INPUT_LEVELS = A06 | ||
|
|
||
| FCST_PCP_COMBINE_OUTPUT_ACCUM = 24H | ||
| FCST_PCP_COMBINE_OUTPUT_NAME = |
Uh oh!
There was an error while loading. Please reload this page.