From ff1c8518172cee5edbe5dfe267ec0ed602d2840f Mon Sep 17 00:00:00 2001 From: DavidBurrows-NCO Date: Wed, 19 Feb 2025 13:55:03 -0500 Subject: [PATCH 01/11] test --- scripts/exgrid2grid_step1.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/exgrid2grid_step1.sh b/scripts/exgrid2grid_step1.sh index b3bd26d4..7a4d2165 100755 --- a/scripts/exgrid2grid_step1.sh +++ b/scripts/exgrid2grid_step1.sh @@ -89,7 +89,7 @@ if [ $MPMD = YES ]; then if [ $machine = WCOSS2 ]; then export LD_LIBRARY_PATH=/apps/dev/pmi-fix:$LD_LIBRARY_PATH launcher="mpiexec -np ${nproc} -ppn ${nproc} --cpu-bind verbose,core cfp" - elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES ]; then + elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES -o $machine = GAEAC5 -o $machine = GAEAC6 ]; then launcher="srun --export=ALL --multi-prog" fi $launcher $MP_CMDFILE From e8f070ce9a97cd3e14bd7df39440ce836132c7ab Mon Sep 17 00:00:00 2001 From: DavidBurrows-NCO Date: Wed, 19 Feb 2025 15:29:11 -0500 Subject: [PATCH 02/11] first round of C5 and C6 updates --- README.md | 2 + scripts/exgrid2grid_step2.sh | 2 +- scripts/exgrid2obs_step1.sh | 2 +- scripts/exgrid2obs_step2.sh | 2 +- scripts/exmaps2d.sh | 2 +- scripts/exmapsda.sh | 2 +- scripts/exprecip_step1.sh | 2 +- scripts/exprecip_step2.sh | 2 +- scripts/exsatellite_step1.sh | 2 +- scripts/exsatellite_step2.sh | 2 +- scripts/extropcyc.sh | 4 +- ush/create_METplus_job_scripts.py | 6 +-- ush/get_data_files.py | 6 +-- ush/get_machine.py | 8 +++- ush/load_modules.sh | 34 ++++++++++++++++ ush/load_to_METviewer_AWS.py | 2 +- ush/run_batch.py | 22 ++++++++++- ush/run_verif_global_in_global_workflow.sh | 10 ++++- ush/set_up_verif_global.sh | 45 +++++++++++++++++++++- 19 files changed, 135 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index a3c6aef0..7c1c0afa 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,8 @@ EMC_verif-global is supported on the following machines: * Orion * S4 * Jet +* Gaea-C5 +* Gaea-C6 For questions or issues, please e-mail Mallory Row at mallory.row@noaa.gov. diff --git a/scripts/exgrid2grid_step2.sh b/scripts/exgrid2grid_step2.sh index 6f7df12d..492efe39 100755 --- a/scripts/exgrid2grid_step2.sh +++ b/scripts/exgrid2grid_step2.sh @@ -89,7 +89,7 @@ if [ $MPMD = YES ]; then if [ $machine = WCOSS2 ]; then export LD_LIBRARY_PATH=/apps/dev/pmi-fix:$LD_LIBRARY_PATH launcher="mpiexec -np ${nproc} -ppn ${nproc} --cpu-bind verbose,core cfp" - elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES ]; then + elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES -o $machine = GAEAC5 -o $machine = GAEAC6 ]; then launcher="srun --export=ALL --multi-prog" fi $launcher $MP_CMDFILE diff --git a/scripts/exgrid2obs_step1.sh b/scripts/exgrid2obs_step1.sh index 9d6b4f9f..1d4c11a4 100755 --- a/scripts/exgrid2obs_step1.sh +++ b/scripts/exgrid2obs_step1.sh @@ -89,7 +89,7 @@ if [ $MPMD = YES ]; then if [ $machine = WCOSS2 ]; then export LD_LIBRARY_PATH=/apps/dev/pmi-fix:$LD_LIBRARY_PATH launcher="mpiexec -np ${nproc} -ppn ${nproc} --cpu-bind verbose,core cfp" - elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES ]; then + elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES -o $machine = GAEAC5 -o $machine = GAEAC6 ]; then launcher="srun --export=ALL --multi-prog" fi $launcher $MP_CMDFILE diff --git a/scripts/exgrid2obs_step2.sh b/scripts/exgrid2obs_step2.sh index 3fd0c9ca..e432d68e 100755 --- a/scripts/exgrid2obs_step2.sh +++ b/scripts/exgrid2obs_step2.sh @@ -89,7 +89,7 @@ if [ $MPMD = YES ]; then if [ $machine = WCOSS2 ]; then export LD_LIBRARY_PATH=/apps/dev/pmi-fix:$LD_LIBRARY_PATH launcher="mpiexec -np ${nproc} -ppn ${nproc} --cpu-bind verbose,core cfp" - elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES ]; then + elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES -o $machine = GAEAC5 -o $machine = GAEAC6 ]; then launcher="srun --export=ALL --multi-prog" fi $launcher $MP_CMDFILE diff --git a/scripts/exmaps2d.sh b/scripts/exmaps2d.sh index 0d558eb1..82ebf055 100755 --- a/scripts/exmaps2d.sh +++ b/scripts/exmaps2d.sh @@ -89,7 +89,7 @@ if [ $MPMD = YES ]; then if [ $machine = WCOSS2 ]; then export LD_LIBRARY_PATH=/apps/dev/pmi-fix:$LD_LIBRARY_PATH launcher="mpiexec -np ${nproc} -ppn ${nproc} --cpu-bind verbose,core cfp" - elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES ]; then + elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES -o $machine = GAEAC5 -o $machine = GAEAC6 ]; then launcher="srun --export=ALL --multi-prog" fi $launcher $MP_CMDFILE diff --git a/scripts/exmapsda.sh b/scripts/exmapsda.sh index 3a34d3c2..35f63633 100755 --- a/scripts/exmapsda.sh +++ b/scripts/exmapsda.sh @@ -90,7 +90,7 @@ if [ $MPMD = YES ]; then if [ $machine = WCOSS2 ]; then export LD_LIBRARY_PATH=/apps/dev/pmi-fix:$LD_LIBRARY_PATH launcher="mpiexec -np ${nproc} -ppn ${nproc} --cpu-bind verbose,core cfp" - elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES ]; then + elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES -o $machine = GAEAC5 -o $machine = GAEAC6 ]; then launcher="srun --export=ALL --multi-prog" fi $launcher $MP_CMDFILE diff --git a/scripts/exprecip_step1.sh b/scripts/exprecip_step1.sh index 2654baa5..1bd783b3 100755 --- a/scripts/exprecip_step1.sh +++ b/scripts/exprecip_step1.sh @@ -89,7 +89,7 @@ if [ $MPMD = YES ]; then if [ $machine = WCOSS2 ]; then export LD_LIBRARY_PATH=/apps/dev/pmi-fix:$LD_LIBRARY_PATH launcher="mpiexec -np ${nproc} -ppn ${nproc} --cpu-bind verbose,core cfp" - elif [ $machine = HERCULES -o $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET ]; then + elif [ $machine = HERCULES -o $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = GAEAC5 -o $machine = GAEAC6 ]; then launcher="srun --export=ALL --multi-prog" fi $launcher $MP_CMDFILE diff --git a/scripts/exprecip_step2.sh b/scripts/exprecip_step2.sh index 52b844cd..26c862c4 100755 --- a/scripts/exprecip_step2.sh +++ b/scripts/exprecip_step2.sh @@ -89,7 +89,7 @@ if [ $MPMD = YES ]; then if [ $machine = WCOSS2 ]; then export LD_LIBRARY_PATH=/apps/dev/pmi-fix:$LD_LIBRARY_PATH launcher="mpiexec -np ${nproc} -ppn ${nproc} --cpu-bind verbose,core cfp" - elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES ]; then + elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES -o $machine = GAEAC5 -o $machine = GAEAC6 ]; then launcher="srun --export=ALL --multi-prog" fi $launcher $MP_CMDFILE diff --git a/scripts/exsatellite_step1.sh b/scripts/exsatellite_step1.sh index dadd8aa0..0d474ca2 100755 --- a/scripts/exsatellite_step1.sh +++ b/scripts/exsatellite_step1.sh @@ -89,7 +89,7 @@ if [ $MPMD = YES ]; then if [ $machine = WCOSS2 ]; then export LD_LIBRARY_PATH=/apps/dev/pmi-fix:$LD_LIBRARY_PATH launcher="mpiexec -np ${nproc} -ppn ${nproc} --cpu-bind verbose,core cfp" - elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES ]; then + elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES -o $machine = GAEAC5 -o $machine = GAEAC6 ]; then launcher="srun --export=ALL --multi-prog" fi $launcher $MP_CMDFILE diff --git a/scripts/exsatellite_step2.sh b/scripts/exsatellite_step2.sh index a02f2fbf..4126d00c 100755 --- a/scripts/exsatellite_step2.sh +++ b/scripts/exsatellite_step2.sh @@ -89,7 +89,7 @@ if [ $MPMD = YES ]; then if [ $machine = WCOSS2 ]; then export LD_LIBRARY_PATH=/apps/dev/pmi-fix:$LD_LIBRARY_PATH launcher="mpiexec -np ${nproc} -ppn ${nproc} --cpu-bind verbose,core cfp" - elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES ]; then + elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES -o $machine = GAEAC5 -o $machine = GAEAC6 ]; then launcher="srun --export=ALL --multi-prog" fi $launcher $MP_CMDFILE diff --git a/scripts/extropcyc.sh b/scripts/extropcyc.sh index 495c2e2b..e260781d 100755 --- a/scripts/extropcyc.sh +++ b/scripts/extropcyc.sh @@ -91,7 +91,7 @@ if [ $MPMD = YES ]; then if [ $machine = WCOSS2 ]; then export LD_LIBRARY_PATH=/apps/dev/pmi-fix:$LD_LIBRARY_PATH launcher="mpiexec -np ${nproc} -ppn ${nproc} --cpu-bind verbose,core cfp" - elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES ]; then + elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES -o $machine = GAEAC5 -o $machine = GAEAC6 ]; then launcher="srun --export=ALL --multi-prog" fi $launcher $MP_CMDFILE @@ -131,7 +131,7 @@ if [ $MPMD = YES ]; then if [ $machine = WCOSS2 ]; then export LD_LIBRARY_PATH=/apps/dev/pmi-fix:$LD_LIBRARY_PATH launcher="mpiexec -np ${nproc} -ppn ${nproc} --cpu-bind verbose,core cfp" - elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES ]; then + elif [ $machine = HERA -o $machine = ORION -o $machine = S4 -o $machine = JET -o $machine = HERCULES -o $machine = GAEAC5 -o $machine = GAEAC6 ]; then launcher="srun --export=ALL --multi-prog" fi $launcher $MP_CMDFILE diff --git a/ush/create_METplus_job_scripts.py b/ush/create_METplus_job_scripts.py index 747dd9c8..149f3d8a 100644 --- a/ush/create_METplus_job_scripts.py +++ b/ush/create_METplus_job_scripts.py @@ -1920,7 +1920,7 @@ def create_job_scripts_maps(start_date_dt, end_date_dt, case, case_abbrev, node = 1 while njob <= njob_files: job = 'job'+str(njob) - if machine in ['HERA', 'ORION', 'S4', 'JET', 'HERCULES']: + if machine in ['HERA', 'ORION', 'S4', 'JET', 'HERCULES', 'GAEAC5', 'GAEAC6']: if iproc >= nproc: poe_file.close() iproc = 0 @@ -1930,7 +1930,7 @@ def create_job_scripts_maps(start_date_dt, end_date_dt, case, case_abbrev, if iproc == 0: poe_file = open(poe_filename, 'w') iproc+=1 - if machine in ['HERA', 'ORION', 'S4', 'JET', 'HERCULES']: + if machine in ['HERA', 'ORION', 'S4', 'JET', 'HERCULES', 'GAEAC5', 'GAEAC6']: poe_file.write( str(iproc-1)+' ' +os.path.join(DATA, RUN, 'metplus_job_scripts', job)+'\n' @@ -1947,7 +1947,7 @@ def create_job_scripts_maps(start_date_dt, end_date_dt, case, case_abbrev, poe_file = open(poe_filename, 'a') iproc+=1 while iproc <= nproc: - if machine in ['HERA', 'ORION', 'S4', 'JET', 'HERCULES']: + if machine in ['HERA', 'ORION', 'S4', 'JET', 'HERCULES', 'GAEAC5', 'GAEAC6']: poe_file.write( str(iproc-1)+' /bin/echo '+str(iproc)+'\n' ) diff --git a/ush/get_data_files.py b/ush/get_data_files.py index 58d36ce2..f2466e91 100644 --- a/ush/get_data_files.py +++ b/ush/get_data_files.py @@ -177,7 +177,7 @@ def wget_data(wget_job_filename, wget_job_name, wget_job_output): +'-l select=1:ncpus=1 '+wget_job_filename) job_check_cmd = ('qselect -s QR -u '+os.environ['USER']+' ' +'-N '+wget_job_name+' | wc -l') - elif machine in ['HERA', 'ORION', 'S4', 'JET', 'HERCULES']: + elif machine in ['HERA', 'ORION', 'S4', 'JET', 'HERCULES', 'GAEAC5', 'GAEAC6']: os.system('sbatch --ntasks=1 --time=' +walltime.strftime('%H:%M:%S')+' --partition='+QUEUESERV+' ' +'--account='+ACCOUNT+' --output='+wget_job_output+' ' @@ -460,9 +460,9 @@ def get_hpss_data(hpss_job_filename, save_data_dir, save_data_file, +'--job-name='+hpss_job_name+' '+hpss_job_filename) job_check_cmd = ('squeue -u '+os.environ['USER']+' -n ' +hpss_job_name+' -t R,PD -h | wc -l') - elif machine in ['ORION', 'S4', 'HERCULES']: + elif machine in ['ORION', 'S4', 'HERCULES', 'GAEAC5', 'GAEAC6']: print("ERROR: No HPSS access from "+machine) - if machine not in ['ORION', 'S4', 'HERCULES']: + if machine not in ['ORION', 'S4', 'HERCULES', 'GAEAC5', 'GAEAC6']: sleep_counter, sleep_checker = 1, 10 while (sleep_counter*sleep_checker) <= walltime_seconds: sleep(sleep_checker) diff --git a/ush/get_machine.py b/ush/get_machine.py index 2d2f9671..538162de 100644 --- a/ush/get_machine.py +++ b/ush/get_machine.py @@ -16,7 +16,7 @@ print("BEGIN: "+os.path.basename(__file__)) EMC_verif_global_machine_list = [ - 'HERA', 'ORION', 'S4', 'JET', 'WCOSS2', 'HERCULES' + 'HERA', 'ORION', 'S4', 'JET', 'WCOSS2', 'HERCULES', 'GAEAC5', 'GAEAC6' ] # Read in environment variables @@ -57,6 +57,8 @@ ) s4_match = re.match(re.compile(r"s4-submit.ssec.wisc.edu"), hostname) jet_match = re.match(re.compile(r"^fe[0-9]{1}"), hostname) + gaeac5_match = re.match(re.compile(r"^gaea5[0-9]{1}"), hostname) + gaeac6_match = re.match(re.compile(r"^gaea6[0-9]{1}"), hostname) if cactus_match or dogwood_match or cactus_match2 or dogwood_match2: machine = 'WCOSS2' elif hera_match: @@ -69,6 +71,10 @@ machine = 'S4' elif jet_match: machine = 'JET' + elif gaeac5_match: + machine = 'GAEAC5' + elif gaeac6_match: + machine = 'GAEAC6' else: print("Cannot find match for "+hostname) sys.exit(1) diff --git a/ush/load_modules.sh b/ush/load_modules.sh index 42050798..f1c3ddd5 100755 --- a/ush/load_modules.sh +++ b/ush/load_modules.sh @@ -120,6 +120,40 @@ elif [ $machine = JET ]; then "ERROR: $METplus_version is not supported on $machine" exit 1 fi +elif [ $machine = GAEAC5 ]; then + module reset + module use ${HOMEverif_global}/modulefiles + module load emc_verif_global_gaeac5 + if [ $MET_version = 9.1 ]; then + export HOMEMET="${met_ROOT}" + export HOMEMET_bin_exec="bin" + else + "ERROR: $MET_version is not supported on $machine" + exit 1 + fi + if [ $METplus_version = 3.1 ]; then + export HOMEMETplus="${metplus_ROOT}" + else + "ERROR: $METplus_version is not supported on $machine" + exit 1 + fi +elif [ $machine = GAEAC6 ]; then + module reset + module use ${HOMEverif_global}/modulefiles + module load emc_verif_global_gaeac5 + if [ $MET_version = 9.1 ]; then + export HOMEMET="${met_ROOT}" + export HOMEMET_bin_exec="bin" + else + "ERROR: $MET_version is not supported on $machine" + exit 1 + fi + if [ $METplus_version = 3.1 ]; then + export HOMEMETplus="${metplus_ROOT}" + else + "ERROR: $METplus_version is not supported on $machine" + exit 1 + fi else echo "ERROR: $machine is not supported" exit 1 diff --git a/ush/load_to_METviewer_AWS.py b/ush/load_to_METviewer_AWS.py index 362e00eb..0c045de7 100644 --- a/ush/load_to_METviewer_AWS.py +++ b/ush/load_to_METviewer_AWS.py @@ -177,7 +177,7 @@ +'-q '+QUEUESERV+' -A '+ACCOUNT+' -o '+AWS_job_output+' ' +'-e '+AWS_job_output+' -N '+AWS_job_name+' ' +'-l select=1:ncpus=1 '+AWS_job_filename) -elif machine in ['HERA', 'ORION', 'S4', 'JET', 'HERCULES']: +elif machine in ['HERA', 'ORION', 'S4', 'JET', 'HERCULES', 'GAEAC5', 'GAEAC6']: os.system('sbatch --ntasks=1 --time='+walltime.strftime('%H:%M:%S')+' ' +'--partition='+QUEUESERV+' --account='+ACCOUNT+' ' +'--output='+AWS_job_output+' ' diff --git a/ush/run_batch.py b/ush/run_batch.py index 4bad20df..ba686051 100644 --- a/ush/run_batch.py +++ b/ush/run_batch.py @@ -70,6 +70,26 @@ job_card.write('#SBATCH --nodes=1\n') job_card.write('#SBATCH --ntasks-per-node='+nproc+'\n') job_card.write('#SBATCH --time=6:00:00\n') + elif machine == 'GAEAC5': + job_card.write('#!/bin/sh\n') + job_card.write('#SBATCH --qos='+QUEUE+'\n') + job_card.write('#SBATCH --account='+ACCOUNT+'\n') + job_card.write('#SBATCH --job-name='+job_name+'\n') + job_card.write('#SBATCH --output='+job_output_filename+'\n') + job_card.write('#SBATCH --nodes=1\n') + job_card.write('#SBATCH --clusters=c5\n') + job_card.write('#SBATCH --ntasks-per-node='+nproc+'\n') + job_card.write('#SBATCH --time=6:00:00\n') + elif machine == 'GAEAC6': + job_card.write('#!/bin/sh\n') + job_card.write('#SBATCH --qos='+QUEUE+'\n') + job_card.write('#SBATCH --account='+ACCOUNT+'\n') + job_card.write('#SBATCH --job-name='+job_name+'\n') + job_card.write('#SBATCH --output='+job_output_filename+'\n') + job_card.write('#SBATCH --nodes=1\n') + job_card.write('#SBATCH --clusters=c6\n') + job_card.write('#SBATCH --ntasks-per-node='+nproc+'\n') + job_card.write('#SBATCH --time=6:00:00\n') job_card.write('\n') job_card.write('/bin/sh '+script) @@ -78,7 +98,7 @@ print("Output sent to "+job_output_filename) if machine == 'WCOSS2': os.system('qsub '+job_card_filename) -elif machine in ['HERA', 'ORION', 'S4', 'JET', 'HERCULES']: +elif machine in ['HERA', 'ORION', 'S4', 'JET', 'HERCULES', 'GAEAC5', 'GAEAC6']: os.system('sbatch '+job_card_filename) print("END: "+os.path.basename(__file__)) diff --git a/ush/run_verif_global_in_global_workflow.sh b/ush/run_verif_global_in_global_workflow.sh index a72d52f0..46267e6b 100755 --- a/ush/run_verif_global_in_global_workflow.sh +++ b/ush/run_verif_global_in_global_workflow.sh @@ -197,7 +197,7 @@ cd $DATA ## Get machine #### Need upper case machine name defined machine=$(echo $machine | tr '[a-z]' '[A-Z]') -if [[ "$machine" =~ ^(HERA|ORION|S4|JET|WCOSS2|HERCULES)$ ]]; then +if [[ "$machine" =~ ^(HERA|ORION|S4|JET|WCOSS2|HERCULES|GAEAC5|GAEAC6)$ ]]; then echo else echo "ERROR: $machine is not a supported machine" @@ -293,6 +293,14 @@ elif [ $machine = "WCOSS2" ]; then export global_archive="/lfs/h2/emc/vpppg/noscrub/emc.vpppg/verification/global/archive/model_data" export prepbufr_arch_dir="/lfs/h2/emc/vpppg/noscrub/emc.vpppg/verification/global/archive/obs_data/prepbufr" export ccpa_24hr_arch_dir="/lfs/h2/emc/vpppg/noscrub/emc.vpppg/verification/global/archive/obs_data/ccpa_accum24hr" +elif [ $machine = "GAEAC5" ]; then + export global_archive="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/archive" + export prepbufr_arch_dir="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/prepbufr" + export ccpa_24hr_arch_dir="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/obdata/ccpa_accum24hr" +elif [ $machine = "GAEAC6" ]; then + export global_archive="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/archive" + export prepbufr_arch_dir="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/prepbufr" + export ccpa_24hr_arch_dir="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/obdata/ccpa_accum24hr" fi ## Set operational directories diff --git a/ush/set_up_verif_global.sh b/ush/set_up_verif_global.sh index cff902c1..843a35c2 100755 --- a/ush/set_up_verif_global.sh +++ b/ush/set_up_verif_global.sh @@ -76,7 +76,7 @@ if [ -s config.machine ]; then [[ $status -eq 0 ]] && echo "Succesfully sourced config.machine" fi -if [[ "$machine" =~ ^(HERA|ORION|S4|JET|WCOSS2|HERCULES)$ ]]; then +if [[ "$machine" =~ ^(HERA|ORION|S4|JET|WCOSS2|HERCULES|GAEAC5|GAEAC6)$ ]]; then echo else echo "ERROR: $machine is not a supported machine" @@ -114,6 +114,10 @@ elif [ $machine = "S4" ]; then export FIXverif_global="/data/prod/glopara/fix/verif/20220805" elif [ $machine = "JET" ]; then export FIXverif_global="/lfs4/HFIP/hfv3gfs/glopara/git/fv3gfs/fix/verif/20220805" +elif [ $machine = "GAEAC5" ]; then + export FIXverif_global="/gpfs/f5/ufs-ard/world-shared/global/glopara/fix/verif/20220805" +elif [ $machine = "GAEAC6" ]; then + export FIXverif_global="/gpfs/f6/bil-fire8/world-shared/global/glopara/fix/verif/20220805/" fi ## Set machine specific account, queues, and run settings @@ -165,6 +169,22 @@ elif [ $machine = "JET" ]; then export PARTITION_BATCH="xjet" export nproc="10" export MPMD="YES" +elif [ $machine = "GAEAC5" ]; then + export ACCOUNT="ufs-ard" + export QUEUE="batch" + export QUEUESHARED="batch" + export QUEUESERV="service" + export PARTITION_BATCH="" + export nproc="128" + export MPMD="YES" +elif [ $machine = "GAEAC6" ]; then + export ACCOUNT="bil-fire8" + export QUEUE="batch" + export QUEUESHARED="batch" + export QUEUESERV="service" + export PARTITION_BATCH="" + export nproc="192" + export MPMD="YES" fi ## Set machine and user specific directories @@ -223,6 +243,29 @@ elif [ $machine = "JET" ]; then export obdata_dir="/lfs4/HFIP/hfv3gfs/Mallory.Row/obdata" export ccpa_24hr_arch_dir="/lfs4/HFIP/hfv3gfs/Mallory.Row/obdata/ccpa_accum24hr" export METviewer_AWS_scripts_dir="/lfs4/HFIP/hfv3gfs/Mallory.Row/VRFY/METviewer_AWS" +elif [ $machine = "GAEAC5" ]; then + export NWROOT="/gpfs/f5/ufs-ard/world-shared/global/glopara/data/nwpara" + export HOMEDIR="/gpfs/f5/ufs-ard/scratch/${USER}" + export STMP="/gpfs/f5/ufs-ard/scratch/${USER}/stmp2" + export PTMP="/gpfs/f5/ufs-ard/scratch/${USER}/stmp4" + export NOSCRUB="/gpfs/f5/ufs-ard/scratch/${USER}/noscrub" + export global_archive="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/archive" + export prepbufr_arch_dir="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/prepbufr" + export obdata_dir="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/obdata" + export ccpa_24hr_arch_dir="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/obdata/ccpa_accum24hr" + export METviewer_AWS_scripts_dir="/scratch1/NCEPDEV/global/Mallory.Row/VRFY/METviewer_AWS" +elif [ $machine = "GAEAC6" ]; then + export NWROOT="/gpfs/f6/bil-fire8/world-shared/global/glopara/data/nwpara" + export HOMEDIR="/gpfs/f6/bil-fire8/scratch/${USER}" + export STMP="/gpfs/f6/bil-fire8/scratch/${USER}/stmp2" + export PTMP="/gpfs/f6/bil-fire8/scratch/${USER}/stmp4" + export NOSCRUB="/gpfs/f6/bil-fire8/scratch/${USER}/noscrub" + export global_archive="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/archive" + export prepbufr_arch_dir="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/prepbufr" + export obdata_dir="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/obdata" + export ccpa_24hr_arch_dir="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/obdata/ccpa_accum24hr" + export METviewer_AWS_scripts_dir="/scratch1/NCEPDEV/global/Mallory.Row/VRFY/METviewer_AWS" + fi ## Set operational directories From ef4b303599e80b084c6d7e3c0592012cb7ed9a4f Mon Sep 17 00:00:00 2001 From: DavidBurrows-NCO Date: Wed, 19 Feb 2025 15:39:54 -0500 Subject: [PATCH 03/11] module files for c5 and c6 --- modulefiles/emc_verif_global_gaeac5.lua | 38 +++++++++++++++++++++++++ modulefiles/emc_verif_global_gaeac6.lua | 38 +++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 modulefiles/emc_verif_global_gaeac5.lua create mode 100644 modulefiles/emc_verif_global_gaeac6.lua diff --git a/modulefiles/emc_verif_global_gaeac5.lua b/modulefiles/emc_verif_global_gaeac5.lua new file mode 100644 index 00000000..40219d78 --- /dev/null +++ b/modulefiles/emc_verif_global_gaeac5.lua @@ -0,0 +1,38 @@ +help([[ +Load environment to run EMC_verif-global on Gaea-C5 using Intel +]]) + +prepend_path("MODULEPATH", "/ncrc/proj/epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2023.2.0" +load(pathJoin("stack-intel", stack_intel_ver)) + +Core_ver=os.getenv("Core_ver") or "24.11" +load(pathJoin("Core", Core_ver)) + +prod_util_ver=os.getenv("prod_util_ver") or "2.1.1" +load(pathJoin("prod_util", prod_util_ver)) + +grib_util_ver=os.getenv("grib_util_ver") or "1.3.0" +load(pathJoin("grib-util", grib_util_ver)) + +intel_oneapi_ver=os.getenv("stack_cray_mpich_ver") or "8.1.28" +load(pathJoin("stack-cray-mpich", stack_cray_mpich_ver)) + +netcdf_c_ver=os.getenv("netcdf_c_ver") or "4.9.2" +load(pathJoin("netcdf-c", netcdf_c_ver)) + +nco_ver=os.getenv("nco_ver") or "5.1.9" +load(pathJoin("nco", nco_ver)) + +grads_ver=os.getenv("grads_ver") or "2.2.3" +load(pathJoin("grads", grads_ver)) + +imagemagick_ver=os.getenv("imagemagick_ver") or "7.1.1-29" +load(pathJoin("imagemagick", imagemagick_ver)) + +met_ver=os.getenv("met_ver") or "9.1.3" +load(pathJoin("met", met_ver)) + +metplus_ver=os.getenv("metplus_ver") or "3.1.1" +load(pathJoin("metplus", metplus_ver)) diff --git a/modulefiles/emc_verif_global_gaeac6.lua b/modulefiles/emc_verif_global_gaeac6.lua new file mode 100644 index 00000000..773b0724 --- /dev/null +++ b/modulefiles/emc_verif_global_gaeac6.lua @@ -0,0 +1,38 @@ +help([[ +Load environment to run EMC_verif-global on Gaea-C5 using Intel +]]) + +prepend_path("MODULEPATH", "/ncrc/proj/epic/spack-stack/c6/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2023.2.0" +load(pathJoin("stack-intel", stack_intel_ver)) + +Core_ver=os.getenv("Core_ver") or "24.11" +load(pathJoin("Core", Core_ver)) + +prod_util_ver=os.getenv("prod_util_ver") or "2.1.1" +load(pathJoin("prod_util", prod_util_ver)) + +grib_util_ver=os.getenv("grib_util_ver") or "1.3.0" +load(pathJoin("grib-util", grib_util_ver)) + +intel_oneapi_ver=os.getenv("stack_cray_mpich_ver") or "8.1.29" +load(pathJoin("stack-cray-mpich", stack_cray_mpich_ver)) + +netcdf_c_ver=os.getenv("netcdf_c_ver") or "4.9.2" +load(pathJoin("netcdf-c", netcdf_c_ver)) + +nco_ver=os.getenv("nco_ver") or "5.1.9" +load(pathJoin("nco", nco_ver)) + +grads_ver=os.getenv("grads_ver") or "2.2.3" +load(pathJoin("grads", grads_ver)) + +imagemagick_ver=os.getenv("imagemagick_ver") or "7.1.1-29" +load(pathJoin("imagemagick", imagemagick_ver)) + +met_ver=os.getenv("met_ver") or "9.1.3" +load(pathJoin("met", met_ver)) + +metplus_ver=os.getenv("metplus_ver") or "3.1.1" +load(pathJoin("metplus", metplus_ver)) From b317f0d6f81913e59e7f74224a6ee28a315746a8 Mon Sep 17 00:00:00 2001 From: DavidBurrows-NCO Date: Thu, 20 Feb 2025 14:40:28 -0500 Subject: [PATCH 04/11] updates for runnings step2 --- modulefiles/emc_verif_global_gaeac6.lua | 1 + ush/load_modules.sh | 8 +++++--- ush/run_batch.py | 2 -- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/modulefiles/emc_verif_global_gaeac6.lua b/modulefiles/emc_verif_global_gaeac6.lua index 773b0724..abd4058d 100644 --- a/modulefiles/emc_verif_global_gaeac6.lua +++ b/modulefiles/emc_verif_global_gaeac6.lua @@ -36,3 +36,4 @@ load(pathJoin("met", met_ver)) metplus_ver=os.getenv("metplus_ver") or "3.1.1" load(pathJoin("metplus", metplus_ver)) + diff --git a/ush/load_modules.sh b/ush/load_modules.sh index f1c3ddd5..30fc75da 100755 --- a/ush/load_modules.sh +++ b/ush/load_modules.sh @@ -124,14 +124,14 @@ elif [ $machine = GAEAC5 ]; then module reset module use ${HOMEverif_global}/modulefiles module load emc_verif_global_gaeac5 - if [ $MET_version = 9.1 ]; then + if [[ "${MET_version}" =~ ^(9.1) ]]; then export HOMEMET="${met_ROOT}" export HOMEMET_bin_exec="bin" else "ERROR: $MET_version is not supported on $machine" exit 1 fi - if [ $METplus_version = 3.1 ]; then + if [[ "${METplus_version}" =~ ^(3.1) ]]; then export HOMEMETplus="${metplus_ROOT}" else "ERROR: $METplus_version is not supported on $machine" @@ -140,7 +140,7 @@ elif [ $machine = GAEAC5 ]; then elif [ $machine = GAEAC6 ]; then module reset module use ${HOMEverif_global}/modulefiles - module load emc_verif_global_gaeac5 + module load emc_verif_global_gaeac6 if [ $MET_version = 9.1 ]; then export HOMEMET="${met_ROOT}" export HOMEMET_bin_exec="bin" @@ -154,6 +154,8 @@ elif [ $machine = GAEAC6 ]; then "ERROR: $METplus_version is not supported on $machine" exit 1 fi + module swap python/3.11.6 python/3.11 + module list else echo "ERROR: $machine is not supported" exit 1 diff --git a/ush/run_batch.py b/ush/run_batch.py index ba686051..6f33de57 100644 --- a/ush/run_batch.py +++ b/ush/run_batch.py @@ -72,7 +72,6 @@ job_card.write('#SBATCH --time=6:00:00\n') elif machine == 'GAEAC5': job_card.write('#!/bin/sh\n') - job_card.write('#SBATCH --qos='+QUEUE+'\n') job_card.write('#SBATCH --account='+ACCOUNT+'\n') job_card.write('#SBATCH --job-name='+job_name+'\n') job_card.write('#SBATCH --output='+job_output_filename+'\n') @@ -82,7 +81,6 @@ job_card.write('#SBATCH --time=6:00:00\n') elif machine == 'GAEAC6': job_card.write('#!/bin/sh\n') - job_card.write('#SBATCH --qos='+QUEUE+'\n') job_card.write('#SBATCH --account='+ACCOUNT+'\n') job_card.write('#SBATCH --job-name='+job_name+'\n') job_card.write('#SBATCH --output='+job_output_filename+'\n') From 1b65b027c24b445629b042b8169cf789d3bbb19a Mon Sep 17 00:00:00 2001 From: DavidBurrows-NCO Date: Fri, 21 Feb 2025 11:37:16 -0500 Subject: [PATCH 05/11] update c5 Core module ver --- modulefiles/emc_verif_global_gaeac5.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modulefiles/emc_verif_global_gaeac5.lua b/modulefiles/emc_verif_global_gaeac5.lua index 40219d78..a384f0dd 100644 --- a/modulefiles/emc_verif_global_gaeac5.lua +++ b/modulefiles/emc_verif_global_gaeac5.lua @@ -7,7 +7,7 @@ prepend_path("MODULEPATH", "/ncrc/proj/epic/spack-stack/spack-stack-1.6.0/envs/g stack_intel_ver=os.getenv("stack_intel_ver") or "2023.2.0" load(pathJoin("stack-intel", stack_intel_ver)) -Core_ver=os.getenv("Core_ver") or "24.11" +Core_ver=os.getenv("Core_ver") or "24.10" load(pathJoin("Core", Core_ver)) prod_util_ver=os.getenv("prod_util_ver") or "2.1.1" From df5dd6b27879f25135aca2f621d709350bb8f0e9 Mon Sep 17 00:00:00 2001 From: DavidBurrows-NCO Date: Wed, 26 Feb 2025 10:52:18 -0500 Subject: [PATCH 06/11] swap python --- ush/load_modules.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ush/load_modules.sh b/ush/load_modules.sh index 30fc75da..1c452db5 100755 --- a/ush/load_modules.sh +++ b/ush/load_modules.sh @@ -124,6 +124,7 @@ elif [ $machine = GAEAC5 ]; then module reset module use ${HOMEverif_global}/modulefiles module load emc_verif_global_gaeac5 + module swap python/3.11.6 python/3.9 if [[ "${MET_version}" =~ ^(9.1) ]]; then export HOMEMET="${met_ROOT}" export HOMEMET_bin_exec="bin" @@ -141,6 +142,7 @@ elif [ $machine = GAEAC6 ]; then module reset module use ${HOMEverif_global}/modulefiles module load emc_verif_global_gaeac6 + module swap python/3.11.6 python/3.11 if [ $MET_version = 9.1 ]; then export HOMEMET="${met_ROOT}" export HOMEMET_bin_exec="bin" @@ -154,8 +156,6 @@ elif [ $machine = GAEAC6 ]; then "ERROR: $METplus_version is not supported on $machine" exit 1 fi - module swap python/3.11.6 python/3.11 - module list else echo "ERROR: $machine is not supported" exit 1 From 1adf8909cd7fe47fa1ad1b1a8f2cf540edfdff3d Mon Sep 17 00:00:00 2001 From: DavidBurrows-NCO Date: Wed, 26 Feb 2025 10:56:36 -0500 Subject: [PATCH 07/11] update c5/c6 nodes --- ush/get_machine.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ush/get_machine.py b/ush/get_machine.py index 538162de..dddc27b4 100644 --- a/ush/get_machine.py +++ b/ush/get_machine.py @@ -57,8 +57,8 @@ ) s4_match = re.match(re.compile(r"s4-submit.ssec.wisc.edu"), hostname) jet_match = re.match(re.compile(r"^fe[0-9]{1}"), hostname) - gaeac5_match = re.match(re.compile(r"^gaea5[0-9]{1}"), hostname) - gaeac6_match = re.match(re.compile(r"^gaea6[0-9]{1}"), hostname) + gaeac5_match = re.match(re.compile(r"^gaea5[1-8]{1}"), hostname) + gaeac6_match = re.match(re.compile(r"^gaea6[1-8]{1}"), hostname) if cactus_match or dogwood_match or cactus_match2 or dogwood_match2: machine = 'WCOSS2' elif hera_match: From 647218bc2e8d58dfcd13ac82a9c94b3e7e08d185 Mon Sep 17 00:00:00 2001 From: DavidBurrows-NCO Date: Wed, 26 Feb 2025 11:24:04 -0500 Subject: [PATCH 08/11] add C5/C6 to plotting scripts and cartopy --- modulefiles/emc_verif_global_gaeac6.lua | 2 +- ush/build_webpage.py | 2 +- ush/plotting_scripts/plot_maps2d_lat_lon_errors.py | 4 ++++ .../plot_maps2d_model2obs_calc_vars_lat_lon_errors.py | 4 ++++ ush/plotting_scripts/plot_mapsda_lat_lon_errors.py | 4 ++++ ush/plotting_scripts/plot_scorecard.py | 2 +- 6 files changed, 15 insertions(+), 3 deletions(-) diff --git a/modulefiles/emc_verif_global_gaeac6.lua b/modulefiles/emc_verif_global_gaeac6.lua index abd4058d..6d306cc6 100644 --- a/modulefiles/emc_verif_global_gaeac6.lua +++ b/modulefiles/emc_verif_global_gaeac6.lua @@ -1,5 +1,5 @@ help([[ -Load environment to run EMC_verif-global on Gaea-C5 using Intel +Load environment to run EMC_verif-global on Gaea-C6 using Intel ]]) prepend_path("MODULEPATH", "/ncrc/proj/epic/spack-stack/c6/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") diff --git a/ush/build_webpage.py b/ush/build_webpage.py index 5a22e3f1..aa50b6fe 100644 --- a/ush/build_webpage.py +++ b/ush/build_webpage.py @@ -953,7 +953,7 @@ def tropcyc_write_template_body2(template_filename): +'--partition='+QUEUESERV+' --account='+ACCOUNT+' ' +'--output='+web_job_output+' ' +'--job-name='+web_job_name+' '+web_job_filename) -elif machine in ["ORION", "HERCULES", "S4"]: +elif machine in ["ORION", "HERCULES", "S4","GAEAC5","GAEAC6"]: if webhost == 'emcrzdm.ncep.noaa.gov': print("ERROR: Currently " + machine + " cannot connect to "+webhost) else: diff --git a/ush/plotting_scripts/plot_maps2d_lat_lon_errors.py b/ush/plotting_scripts/plot_maps2d_lat_lon_errors.py index fe533fdd..8402ad81 100644 --- a/ush/plotting_scripts/plot_maps2d_lat_lon_errors.py +++ b/ush/plotting_scripts/plot_maps2d_lat_lon_errors.py @@ -296,6 +296,10 @@ def plot_subplot_data(ax_tmp, map_ax_tmp, plot_data, plot_data_lat, config['data_dir']='/home/mrow/.local/share/cartopy' elif machine == 'HERCULES': config['data_dir']='/home/dhuber/.local/share/cartopy' +elif machine == 'GAEAC5': + config['data_dir']='/gpfs/f5/ufs-ard/world-shared/global/metplus.data/cartopy' +elif machine == 'GAEAC6': + config['data_dir']='/gpfs/f6/bil-fire8/world-shared/global/metplus.data/cartopy' # Set up information env_var_model_list = [] diff --git a/ush/plotting_scripts/plot_maps2d_model2obs_calc_vars_lat_lon_errors.py b/ush/plotting_scripts/plot_maps2d_model2obs_calc_vars_lat_lon_errors.py index 6c6a4eef..374c4d35 100644 --- a/ush/plotting_scripts/plot_maps2d_model2obs_calc_vars_lat_lon_errors.py +++ b/ush/plotting_scripts/plot_maps2d_model2obs_calc_vars_lat_lon_errors.py @@ -290,6 +290,10 @@ def plot_subplot_data(ax_tmp, map_ax_tmp, plot_data, plot_data_lat, config['data_dir']='/home/mrow/.local/share/cartopy' elif machine == 'HERCULES': config['data_dir']='/home/dhuber/.local/share/cartopy' +elif machine == 'GAEAC5': + config['data_dir']='/gpfs/f5/ufs-ard/world-shared/global/metplus.data/cartopy' +elif machine == 'GAEAC6': + config['data_dir']='/gpfs/f6/bil-fire8/world-shared/global/metplus.data/cartopy' # Set up information RUN_type = 'model2obs' diff --git a/ush/plotting_scripts/plot_mapsda_lat_lon_errors.py b/ush/plotting_scripts/plot_mapsda_lat_lon_errors.py index a54a19b9..6f175a10 100644 --- a/ush/plotting_scripts/plot_mapsda_lat_lon_errors.py +++ b/ush/plotting_scripts/plot_mapsda_lat_lon_errors.py @@ -342,6 +342,10 @@ def plot_subplot_data(ax_tmp, map_ax_tmp, plot_data, plot_data_lat, config['data_dir']='/home/dhuber/.local/share/cartopy' elif machine == 'ORION': config['data_dir']='/home/mrow/.local/share/cartopy' +elif machine == 'GAEAC5': + config['data_dir']='/gpfs/f5/ufs-ard/world-shared/global/metplus.data/cartopy' +elif machine == 'GAEAC6': + config['data_dir']='/gpfs/f6/bil-fire8/world-shared/global/metplus.data/cartopy' # Set up information env_var_model_list = [] diff --git a/ush/plotting_scripts/plot_scorecard.py b/ush/plotting_scripts/plot_scorecard.py index 2df40567..afbee9e7 100644 --- a/ush/plotting_scripts/plot_scorecard.py +++ b/ush/plotting_scripts/plot_scorecard.py @@ -537,7 +537,7 @@ def get_day_value(filename, filename_cols, day): +'-q '+QUEUESERV+' -A '+ACCOUNT+' -o '+web_job_output+' ' +'-e '+web_job_output+' -N '+web_job_name+' ' +'-l select=1:ncpus=1 '+web_job_filename) - elif machine in ['HERA', 'ORION', 'S4', 'HERCULES', 'JET']: + elif machine in ['HERA', 'ORION', 'S4', 'HERCULES', 'JET', 'GAEAC5', 'GAEAC6']: os.system('sbatch --ntasks=1 --time='+walltime.strftime('%H:%M:%S')+' ' +'--partition='+QUEUESERV+' --account='+ACCOUNT+' ' +'--output='+web_job_output+' ' From bdf7c58ef60ffd1e8beb60f150ffad3d8c92a06c Mon Sep 17 00:00:00 2001 From: "D. Alex Burrows" Date: Mon, 3 Mar 2025 17:05:43 +0000 Subject: [PATCH 09/11] clean up suggested by Dave H. --- parm/config/config.vrfy | 18 ++++----- ush/build_webpage.py | 4 +- ush/load_modules.sh | 36 ------------------ ush/set_up_verif_global.sh | 76 +++++++++++++++++++------------------- 4 files changed, 50 insertions(+), 84 deletions(-) diff --git a/parm/config/config.vrfy b/parm/config/config.vrfy index 70748bb0..27e6db72 100644 --- a/parm/config/config.vrfy +++ b/parm/config/config.vrfy @@ -31,9 +31,9 @@ echo "BEGIN: $(basename ${BASH_SOURCE[0]})" #RUN_MAPSDA: run to make analysis maps of time-mean increments, ENKF ensemble mean and ensemble spread export RUN_GRID2GRID_STEP1="YES" export RUN_GRID2GRID_STEP2="NO" -export RUN_GRID2OBS_STEP1="NO" +export RUN_GRID2OBS_STEP1="YES" export RUN_GRID2OBS_STEP2="NO" -export RUN_PRECIP_STEP1="NO" +export RUN_PRECIP_STEP1="YES" export RUN_PRECIP_STEP2="NO" export RUN_SATELLITE_STEP1="NO" export RUN_SATELLITE_STEP2="NO" @@ -53,16 +53,16 @@ export RUN_MAPSDA="NO" #model_hpss_dir_list: HPSS directory of data #model_data_run_hpss: get files from HPSS ("YES") if not online #hpss_walltime: how long to run HPSS job to get data in minutes -export model_list="C96_TEST_NEW" -export model_dir_list="/gpfs/f5/epic/scratch/$USER/archive" -export model_stat_dir_list="/gpfs/f5/epic/scratch/$USER/archive" -export model_file_format_list="pgbf{lead?fmt=%2H}.gfs.{init?fmt=%Y%m%d%H}.grib2" +export model_list="gfs" +export model_dir_list="/lfs/h2/emc/vpppg/noscrub/emc.vpppg/verification/global/archive/model_data" +export model_stat_dir_list="/lfs/h2/emc/vpppg/noscrub/$USER/archive" +export model_file_format_list="pgbf{lead?fmt=%2H}.gfs.{init?fmt=%Y%m%d%H}" export model_data_run_hpss="NO" export model_hpss_dir_list="/NCEPPROD/hpssprod/runhistory" export hpss_walltime="10" ## OUTPUT DATA SETTINGS #OUTPUTROOT: base output directory -export OUTPUTROOT="/gpfs/f5/epic/scratch/$USER/verif_global_standalone" +export OUTPUTROOT="/lfs/h2/emc/stmp/$USER/verif_global_standalone" ## DATE SETTINGS #start_date: verification start date, format YYYYMMDD #end_date: verification end date, format YYYYMMDD @@ -70,8 +70,8 @@ export OUTPUTROOT="/gpfs/f5/epic/scratch/$USER/verif_global_standalone" #spinup_period_end: spinup period end, format YYYYMMDDHH, if none use "NA" #make_met_data_by: how to treat dates, "VALID" or "INIT" #plot_by: how to plot data, "VALID" or "INIT" -export start_date=20210323 -export end_date=20210323 +export start_date=$(date -d "24 hours ago" '+%Y%m%d') +export end_date=$(date -d "24 hours ago" '+%Y%m%d') export spinup_period_start="NA" export spinup_period_end="NA" export make_met_data_by="VALID" diff --git a/ush/build_webpage.py b/ush/build_webpage.py index 5ccc2453..dce95af8 100644 --- a/ush/build_webpage.py +++ b/ush/build_webpage.py @@ -946,12 +946,12 @@ def tropcyc_write_template_body2(template_filename): +'--job-name='+web_job_name+' '+web_job_filename) elif machine == 'GAEAC5': os.system('sbatch --ntasks=1 --time='+walltime.strftime('%H:%M:%S')+' ' - +'--partition='+QUEUESERV+' --account='+ACCOUNT+' ' + +'--clusters='+CLUSTERS+' --account='+ACCOUNT+' ' +'--output='+web_job_output+' ' +'--job-name='+web_job_name+' '+web_job_filename) elif machine == 'GAEAC6': os.system('sbatch --ntasks=1 --time='+walltime.strftime('%H:%M:%S')+' ' - +'--partition='+QUEUESERV+' --account='+ACCOUNT+' ' + +'--clusters='+CLUSTERS+' --account='+ACCOUNT+' ' +'--output='+web_job_output+' ' +'--job-name='+web_job_name+' '+web_job_filename) elif machine == 'JET': diff --git a/ush/load_modules.sh b/ush/load_modules.sh index 43a39ee4..1c452db5 100755 --- a/ush/load_modules.sh +++ b/ush/load_modules.sh @@ -63,42 +63,6 @@ elif [ $machine = HERA ]; then "ERROR: $METplus_version is not supported on $machine" exit 1 fi -elif [ $machine = GAEAC5 ]; then - source /apps/lmod/lmod/init/sh - module purge - module use ${HOMEverif_global}/modulefiles - module load emc_verif_global_gaeac5 - if [ $MET_version = 9.1 ]; then - export HOMEMET="/contrib/met/9.1" - export HOMEMET_bin_exec="bin" - else - "ERROR: $MET_version is not supported on $machine" - exit 1 - fi - if [ $METplus_version = 3.1 ]; then - export HOMEMETplus="${METPLUS_PATH}" - else - "ERROR: $METplus_version is not supported on $machine" - exit 1 - fi -elif [ $machine = GAEAC6 ]; then - source /apps/lmod/lmod/init/sh - module purge - module use ${HOMEverif_global}/modulefiles - module load emc_verif_global_gaeac5 - if [ $MET_version = 9.1 ]; then - export HOMEMET="/contrib/met/9.1" - export HOMEMET_bin_exec="bin" - else - "ERROR: $MET_version is not supported on $machine" - exit 1 - fi - if [ $METplus_version = 3.1 ]; then - export HOMEMETplus="${METPLUS_PATH}" - else - "ERROR: $METplus_version is not supported on $machine" - exit 1 - fi elif [ $machine = ORION ]; then source /apps/other/lmod/lmod/init/sh module purge diff --git a/ush/set_up_verif_global.sh b/ush/set_up_verif_global.sh index 4ad995fa..af6eb167 100755 --- a/ush/set_up_verif_global.sh +++ b/ush/set_up_verif_global.sh @@ -146,6 +146,7 @@ elif [ $machine = "GAEAC5" ]; then export QUEUE="normal" export QUEUESHARED="normal" export QUEUESERV="service" + export CLUSTERS="c5" export PARTITION_BATCH="batch" export nproc="128" export MPMD="YES" @@ -154,6 +155,7 @@ elif [ $machine = "GAEAC6" ]; then export QUEUE="normal" export QUEUESHARED="normal" export QUEUESERV="service" + export CLUSTERS="c6" export PARTITION_BATCH="batch" export nproc="192" export MPMD="YES" @@ -231,27 +233,27 @@ elif [ $machine = "HERA" ]; then export ccpa_24hr_arch_dir="/scratch1/NCEPDEV/global/Mallory.Row/obdata/ccpa_accum24hr" export METviewer_AWS_scripts_dir="/scratch1/NCEPDEV/global/Mallory.Row/VRFY/METviewer_AWS" elif [ $machine = "GAEAC5" ]; then - export NWROOT="/gpfs/f5/ufs-ard/world-shared/global/glopara/data/nwpara" - export HOMEDIR="/gpfs/f5/epic/scratch/$USER" - export STMP="/gpfs/f5/epic/scratch/$USER" - export PTMP="/gpfs/f5/epic/scratch/$USER" - export NOSCRUB="/gpfs/f5/epic/scratch/$USER" - export global_archive="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/archive" - export prepbufr_arch_dir="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/prepbufr" - export obdata_dir="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/obdata" - export ccpa_24hr_arch_dir="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/obdata/ccpa_accum24hr" + export NWROOT="/gpfs/f5/${ACCOUNT}/world-shared/global/glopara/data/nwpara" + export HOMEDIR="/gpfs/f5/${ACCOUNT}/scratch/${USER}" + export STMP="/gpfs/f5/${ACCOUNT}/scratch/${USER}" + export PTMP="/gpfs/f5/${ACCOUNT}/scratch/${USER}" + export NOSCRUB="/gpfs/f5/${ACCOUNT}/scratch/${USER}" + export global_archive="/gpfs/f5/${ACCOUNT}/world-shared/global/metplus.data/archive" + export prepbufr_arch_dir="/gpfs/f5/${ACCOUNT}/world-shared/global/metplus.data/prepbufr" + export obdata_dir="/gpfs/f5/${ACCOUNT}/world-shared/global/metplus.data/obdata" + export ccpa_24hr_arch_dir="/gpfs/f5/${ACCOUNT}/world-shared/global/metplus.data/obdata/ccpa_accum24hr" export METviewer_AWS_scripts_dir="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/VRFY/METviewer_AWS" elif [ $machine = "GAEAC6" ]; then - export NWROOT="/gpfs/f6/bil-fire8/world-shared/global/glopara/data/nwpara" - export HOMEDIR="/gpfs/f6/bil-fire8/scratch/$USER" - export STMP="/gpfs/f6/bil-fire8/scratch/$USER" - export PTMP="/gpfs/f6/bil-fire8/scratch/$USER" - export NOSCRUB="/gpfs/f6/bil-fire8/scratch/$USER" - export global_archive="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/archive" - export prepbufr_arch_dir="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/prepbufr" - export obdata_dir="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/obdata" - export ccpa_24hr_arch_dir="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/obdata/ccpa_accum24hr" - export METviewer_AWS_scripts_dir="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/VRFY/METviewer_AWS" + export NWROOT="/gpfs/f6/${ACCOUNT}/world-shared/global/glopara/data/nwpara" + export HOMEDIR="/gpfs/f6/${ACCOUNT}/scratch/${USER}" + export STMP="/gpfs/f6/${ACCOUNT}/scratch/${USER}" + export PTMP="/gpfs/f6/${ACCOUNT}/scratch/${USER}" + export NOSCRUB="/gpfs/f6/${ACCOUNT}/scratch/${USER}" + export global_archive="/gpfs/f6/${ACCOUNT}/world-shared/global/metplus.data/archive" + export prepbufr_arch_dir="/gpfs/f6/${ACCOUNT}/world-shared/global/metplus.data/prepbufr" + export obdata_dir="/gpfs/f6/${ACCOUNT}/world-shared/global/metplus.data/obdata" + export ccpa_24hr_arch_dir="/gpfs/f6/${ACCOUNT}/world-shared/global/metplus.data/obdata/ccpa_accum24hr" + export METviewer_AWS_scripts_dir="/gpfs/f6/${ACCOUNT}/world-shared/global/metplus.data/VRFY/METviewer_AWS" elif [ $machine = "ORION" ] || [ $machine = "HERCULES" ]; then export NWROOT=${NWROOT:-"/work/noaa/global/glopara/nwpara"} export HOMEDIR="/work/noaa/nems/$USER" @@ -286,26 +288,26 @@ elif [ $machine = "JET" ]; then export ccpa_24hr_arch_dir="/lfs4/HFIP/hfv3gfs/Mallory.Row/obdata/ccpa_accum24hr" export METviewer_AWS_scripts_dir="/lfs4/HFIP/hfv3gfs/Mallory.Row/VRFY/METviewer_AWS" elif [ $machine = "GAEAC5" ]; then - export NWROOT="/gpfs/f5/ufs-ard/world-shared/global/glopara/data/nwpara" - export HOMEDIR="/gpfs/f5/ufs-ard/scratch/${USER}" - export STMP="/gpfs/f5/ufs-ard/scratch/${USER}/stmp2" - export PTMP="/gpfs/f5/ufs-ard/scratch/${USER}/stmp4" - export NOSCRUB="/gpfs/f5/ufs-ard/scratch/${USER}/noscrub" - export global_archive="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/archive" - export prepbufr_arch_dir="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/prepbufr" - export obdata_dir="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/obdata" - export ccpa_24hr_arch_dir="/gpfs/f5/ufs-ard/world-shared/global/metplus.data/obdata/ccpa_accum24hr" + export NWROOT="/gpfs/f5/${ACCOUNT}/world-shared/global/glopara/data/nwpara" + export HOMEDIR="/gpfs/f5/${ACCOUNT}/scratch/${USER}" + export STMP="/gpfs/f5/${ACCOUNT}/scratch/${USER}/stmp2" + export PTMP="/gpfs/f5/${ACCOUNT}/scratch/${USER}/stmp4" + export NOSCRUB="/gpfs/f5/${ACCOUNT}/scratch/${USER}/noscrub" + export global_archive="/gpfs/f5/${ACCOUNT}/world-shared/global/metplus.data/archive" + export prepbufr_arch_dir="/gpfs/f5/${ACCOUNT}/world-shared/global/metplus.data/prepbufr" + export obdata_dir="/gpfs/f5/${ACCOUNT}/world-shared/global/metplus.data/obdata" + export ccpa_24hr_arch_dir="/gpfs/f5/${ACCOUNT}/world-shared/global/metplus.data/obdata/ccpa_accum24hr" export METviewer_AWS_scripts_dir="/scratch1/NCEPDEV/global/Mallory.Row/VRFY/METviewer_AWS" elif [ $machine = "GAEAC6" ]; then - export NWROOT="/gpfs/f6/bil-fire8/world-shared/global/glopara/data/nwpara" - export HOMEDIR="/gpfs/f6/bil-fire8/scratch/${USER}" - export STMP="/gpfs/f6/bil-fire8/scratch/${USER}/stmp2" - export PTMP="/gpfs/f6/bil-fire8/scratch/${USER}/stmp4" - export NOSCRUB="/gpfs/f6/bil-fire8/scratch/${USER}/noscrub" - export global_archive="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/archive" - export prepbufr_arch_dir="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/prepbufr" - export obdata_dir="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/obdata" - export ccpa_24hr_arch_dir="/gpfs/f6/bil-fire8/world-shared/global/metplus.data/obdata/ccpa_accum24hr" + export NWROOT="/gpfs/f6/${ACCOUNT}/world-shared/global/glopara/data/nwpara" + export HOMEDIR="/gpfs/f6/${ACCOUNT}/scratch/${USER}" + export STMP="/gpfs/f6/${ACCOUNT}/scratch/${USER}/stmp2" + export PTMP="/gpfs/f6/${ACCOUNT}/scratch/${USER}/stmp4" + export NOSCRUB="/gpfs/f6/${ACCOUNT}/scratch/${USER}/noscrub" + export global_archive="/gpfs/f6/${ACCOUNT}/world-shared/global/metplus.data/archive" + export prepbufr_arch_dir="/gpfs/f6/${ACCOUNT}/world-shared/global/metplus.data/prepbufr" + export obdata_dir="/gpfs/f6/${ACCOUNT}/world-shared/global/metplus.data/obdata" + export ccpa_24hr_arch_dir="/gpfs/f6/${ACCOUNT}/world-shared/global/metplus.data/obdata/ccpa_accum24hr" export METviewer_AWS_scripts_dir="/scratch1/NCEPDEV/global/Mallory.Row/VRFY/METviewer_AWS" fi From e5dc2506aaaebe896ae0684718c0a2f9babae8f1 Mon Sep 17 00:00:00 2001 From: "D. Alex Burrows" Date: Mon, 3 Mar 2025 17:09:48 +0000 Subject: [PATCH 10/11] remove extra fix def --- ush/set_up_verif_global.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ush/set_up_verif_global.sh b/ush/set_up_verif_global.sh index af6eb167..24088707 100755 --- a/ush/set_up_verif_global.sh +++ b/ush/set_up_verif_global.sh @@ -108,10 +108,6 @@ if [ $machine = "WCOSS2" ]; then export FIXverif_global="/lfs/h2/emc/global/noscrub/emc.global/FIX/fix/verif/20220805" elif [ $machine = "HERA" ]; then export FIXverif_global="/scratch1/NCEPDEV/global/glopara/fix/verif/20220805" -elif [ $machine = "GAEAC5" ]; then - export FIXverif_global="/gpfs/f5/ufs-ard/world-shared/global/glopara/fix/verif/20220805" -elif [ $machine = "GAEAC6" ]; then - export FIXverif_global="/gpfs/f6/bil-fire8/world-shared/global/glopara/fix/verif/20220805" elif [ $machine = "ORION" -o $machine = "HERCULES" ]; then export FIXverif_global="/work/noaa/global/glopara/fix/verif/20220805" elif [ $machine = "S4" ]; then From a004d39e71a88565ca8894a0be74b2b3a0ccbed1 Mon Sep 17 00:00:00 2001 From: "D. Alex Burrows" Date: Mon, 3 Mar 2025 17:36:01 +0000 Subject: [PATCH 11/11] add partition --- ush/run_batch.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ush/run_batch.py b/ush/run_batch.py index 99bdab81..f8a41d9c 100644 --- a/ush/run_batch.py +++ b/ush/run_batch.py @@ -60,7 +60,7 @@ job_card.write('#SBATCH --nodes=1\n') job_card.write('#SBATCH --ntasks-per-node='+nproc+'\n') job_card.write('#SBATCH --time=6:00:00\n') - elif machine in ['ORION', 'S4', 'JET', 'HERCULES', 'GAEAC5', 'GAEAC6']: + elif machine in ['ORION', 'S4', 'JET', 'HERCULES']: job_card.write('#!/bin/sh\n') job_card.write('#SBATCH --partition='+PARTITION_BATCH+'\n') job_card.write('#SBATCH --qos='+QUEUE+'\n') @@ -72,6 +72,7 @@ job_card.write('#SBATCH --time=6:00:00\n') elif machine == 'GAEAC5': job_card.write('#!/bin/sh\n') + job_card.write('#SBATCH --partition='+PARTITION_BATCH+'\n') job_card.write('#SBATCH --account='+ACCOUNT+'\n') job_card.write('#SBATCH --job-name='+job_name+'\n') job_card.write('#SBATCH --output='+job_output_filename+'\n') @@ -81,6 +82,7 @@ job_card.write('#SBATCH --time=6:00:00\n') elif machine == 'GAEAC6': job_card.write('#!/bin/sh\n') + job_card.write('#SBATCH --partition='+PARTITION_BATCH+'\n') job_card.write('#SBATCH --account='+ACCOUNT+'\n') job_card.write('#SBATCH --job-name='+job_name+'\n') job_card.write('#SBATCH --output='+job_output_filename+'\n')