Skip to content

Commit

Permalink
Merge branch 'develop' into feature/abi_sea_ice
Browse files Browse the repository at this point in the history
  • Loading branch information
apchoiCMD authored Oct 15, 2024
2 parents 843bb6c + e44d21e commit ee45e80
Show file tree
Hide file tree
Showing 14 changed files with 146 additions and 39 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/hera.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:

jobs:
test:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
name: Passes on Hera

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/norms.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on: [push]

jobs:
check_pynorms:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
name: Check coding norms with pycodestyle and cpplint

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/orion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:

jobs:
test:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
name: Passes on Orion

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/unittests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on: [push, pull_request]

jobs:
ctests:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
name: Run Unit Tests with ctest

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/unittests_g-w.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on: [push, pull_request]

jobs:
ctests:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
name: Run Unit Tests inside global-workflow with ctest

steps:
Expand Down
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ while getopts "p:t:c:hvdfa" opt; do
done

case ${BUILD_TARGET} in
hera | orion | hercules | wcoss2 | noaacloud | gaea)
hera | orion | hercules | wcoss2 | noaacloud | gaea | gaeac6 )
echo "Building GDASApp on $BUILD_TARGET"
source $dir_root/ush/module-setup.sh
module use $dir_root/modulefiles
Expand Down
95 changes: 95 additions & 0 deletions modulefiles/GDAS/gaeac6.intel.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
help([[
Load environment for running the GDAS application with Intel compilers and MPI.
]])

local pkgName = myModuleName()
local pkgVersion = myModuleVersion()
local pkgNameVer = myModuleFullName()

prepend_path("MODULEPATH", '/ncrc/proj/epic/spack-stack/c6/spack-stack-1.6.0/envs/unified-env/install/modulefiles/Core')
prepend_path("MODULEPATH", '/ncrc/proj/epic/rocoto/modulefiles')

-- below two lines get us access to the spack-stack modules
load("stack-intel/2023.2.0")
load("stack-cray-mpich/8.1.29")
-- JCSDA has 'jedi-fv3-env/unified-dev', but we should load these manually as needed
load("cmake/3.23.1")
load("gettext/0.20.2")
--load("libunistring/1.1")
--load("libidn2/2.3.4")
load("pcre2/10.42")
load("curl/8.4.0")
load("zlib/1.2.13")
load("git/2.42.0")
load("pkg-config/0.29.2")
load("hdf5/1.14.0")
load("parallel-netcdf/1.12.2")
load("netcdf-c/4.9.2")
load("nccmp/1.9.0.1")
load("netcdf-fortran/4.6.1")
load("nco/5.0.6")
load("parallelio/2.5.10")
load("wget/1.21.3")
load("boost/1.83.0")
load("bufr/12.0.1")
load("git-lfs/2.11.0")
load("ecbuild/3.7.2")
load("openjpeg/2.3.1")
load("eccodes/2.32.0")
load("eigen/3.4.0")
load("openblas/0.3.24")
load("eckit/1.24.5")
load("fftw/3.3.10")
load("fckit/0.11.0")
load("fiat/1.2.0")
load("ectrans/1.2.0")
load("fms/2023.04")
load("esmf/8.6.0")
load("atlas/0.35.1")
load("sp/2.5.0")
load("gsl-lite/0.37.0")
load("libjpeg/2.1.0")
load("krb5/1.20.1")
load("libtirpc/1.3.3")
load("hdf/4.2.15")
load("jedi-cmake/1.4.0")
load("libpng/1.6.37")
--load("libxt/1.1.5")
--load("libxmu/1.1.4")
--load("libxpm/4.11.0")
load("libxaw/1.10.13")
load("udunits/2.2.28")
load("ncview/2.1.9")
load("netcdf-cxx4/4.3.1")
load("json/3.10.5")
load("crtm/2.4.0.1")
load("rocoto/1.3.6")
load("prod_util/2.1.1")

load("py-jinja2/3.0.3")
load("py-netcdf4/1.5.8")
load("py-pybind11/2.11.0")
load("py-pycodestyle/2.11.0")
load("py-pyyaml/6.0")
load("py-scipy/1.11.3")
load("py-xarray/2023.7.0")
load("py-f90nml/1.4.3")
load("py-pip/23.1.2")

setenv("CC","cc")
setenv("CXX","CC")
setenv("FC","ftn")

local mpiexec = '/usr/bin/srun'
local mpinproc = '-n'
setenv('MPIEXEC_EXEC', mpiexec)
setenv('MPIEXEC_NPROC', mpinproc)

setenv("CRTM_FIX","/gpfs/f6/ira-sti/world-shared/GDASApp/fix/crtm/2.4.0")
setenv("GDASAPP_TESTDATA","/gpfs/f6/ira-sti/world-shared/GDASApp/testdata")
setenv("GDASAPP_UNIT_TEST_DATA_PATH", "/gpfs/f6/ira-sti/world-shared/GDASApp/unittestdata")

whatis("Name: ".. "pkgName")
whatis("Version: ".. "pkgVersion")
whatis("Category: GDASApp")
whatis("Description: Load all libraries needed for GDASApp")
14 changes: 14 additions & 0 deletions parm/atm/jcb-base.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ observations: all_observations
crtm_coefficient_path: "{{ DATA }}/crtm/"

# Naming conventions for observational files
atmosphere_obsdataroot_path: "{{COM_OBS}}"

atmosphere_obsdatain_path: "{{atm_obsdatain_path}}"
atmosphere_obsdatain_prefix: "{{OPREFIX}}"
atmosphere_obsdatain_suffix: ".tm00.nc"
Expand All @@ -80,6 +82,8 @@ atmosphere_obsdataout_prefix: diag_
atmosphere_obsdataout_suffix: "_{{ current_cycle | to_YMDH }}.nc"

# Naming conventions for bias correction files
atmosphere_obsbiasroot_path: "{{COM_ATMOS_ANALYSIS_PREV}}"

atmosphere_obsbiasin_path: "{{DATA}}/obs/"
atmosphere_obsbiasin_prefix: "{{GPREFIX}}"
atmosphere_obsbiasin_suffix: ".satbias.nc"
Expand All @@ -94,6 +98,16 @@ atmosphere_obsbiasout_suffix: ".satbias.nc"
atmosphere_obsbiascovout_prefix: "{{APREFIX}}"
atmosphere_obsbiascovout_suffix: ".satbias_cov.nc"

bias_files:
atms_n20: rad_varbc_params.tar
atms_npp: rad_varbc_params.tar
mtiasi_metop-a: rad_varbc_params.tar
mtiasi_metop-b: rad_varbc_params.tar
amsua_n19: rad_varbc_params.tar
ssmis_f17: rad_varbc_params.tar
ssmis_f18: rad_varbc_params.tar
cris-fsr_n20: rad_varbc_params.tar
cris-fsr_npp: rad_varbc_params.tar

# Local Ensemble DA (LETKF)
# -------------------------
Expand Down
2 changes: 1 addition & 1 deletion parm/jcb-gdas
2 changes: 1 addition & 1 deletion sorc/saber
Submodule saber updated 89 files
+4 −6 src/saber/bump/type_geom.fypp
+2 −2 src/saber/bump/type_gsi.fypp
+1 −1 src/saber/bump/type_vbal.fypp
+24 −27 src/saber/gsi/covariance/gsi_covariance_mod.f90
+5 −5 src/saber/spectralb/GaussUVToGP.cc
+3 −3 src/saber/vader/DryAirDensity.h
+8 −5 src/saber/vader/HpHexnerToPExner.cc
+3 −3 src/saber/vader/HpHexnerToPExner.h
+1 −1 src/saber/vader/HydroBal.h
+16 −14 src/saber/vader/MoistIncrOpParameters.h
+2 −2 src/saber/vader/MoistureControl.cc
+3 −3 src/saber/vader/MoistureControl.h
+8 −4 src/saber/vader/WriteVariances.cc
+2 −2 test/testdata/gauss_state.nc
+7 −7 test/testinput/convertstate_lam.yaml
+7 −7 test/testinput/dirac_bump_7.yaml
+13 −13 test/testinput/dirac_fastlam-fftw_1.yaml
+13 −13 test/testinput/dirac_fastlam-fftw_2.yaml
+13 −13 test/testinput/dirac_fastlam_1.yaml
+4 −4 test/testinput/dirac_fastlam_2.yaml
+13 −13 test/testinput/dirac_fastlam_3.yaml
+13 −13 test/testinput/dirac_fastlam_4.yaml
+3 −3 test/testinput/dirac_fastlam_5.yaml
+13 −13 test/testinput/dirac_fastlam_6.yaml
+13 −13 test/testinput/dirac_fastlam_8.yaml
+13 −13 test/testinput/dirac_fastlam_9.yaml
+2 −2 test/testinput/dirac_gsi_geos_global.yaml
+2 −2 test/testinput/dirac_gsi_geos_global_opt_1.yaml
+2 −2 test/testinput/dirac_gsi_geos_global_opt_2.yaml
+2 −2 test/testinput/dirac_gsi_geos_global_opt_3.yaml
+2 −2 test/testinput/dirac_gsi_gfs_global.yaml
+3 −3 test/testinput/dirac_spectralb_duplicate_variables.yaml
+12 −12 test/testinput/dirac_spectralb_gauss_vader_1.yaml
+13 −13 test/testinput/dirac_spectralb_gauss_vader_2.yaml
+12 −12 test/testinput/dirac_spectralb_gauss_vader_3.yaml
+13 −13 test/testinput/dirac_spectralb_gauss_vader_4.yaml
+12 −12 test/testinput/dirac_spectralb_gauss_vader_5.yaml
+4 −4 test/testinput/dirac_vertproj.yaml
+13 −13 test/testinput/dirac_write_fields.yaml
+4 −4 test/testinput/error_covariance_training_bump_hdiag-nicas_2.yaml
+4 −4 test/testinput/error_covariance_training_bump_hdiag-nicas_4.yaml
+3 −3 test/testinput/error_covariance_training_bump_hdiag_1.yaml
+2 −2 test/testinput/error_covariance_training_bump_hdiag_2.yaml
+4 −4 test/testinput/error_covariance_training_bump_hdiag_4.yaml
+4 −4 test/testinput/error_covariance_training_bump_nicas_6.yaml
+3 −3 test/testinput/error_covariance_training_bump_stddev_6.yaml
+4 −4 test/testinput/error_covariance_training_bump_vbal_7.yaml
+14 −14 test/testinput/error_covariance_training_spectralb_mio.yaml
+4 −4 test/testinput/randomization_bump_nicas_L10L2.yaml
+4 −4 test/testinput/randomization_bump_nicas_L10L2T18.yaml
+4 −4 test/testinput/randomization_bump_nicas_L12L2.yaml
+5 −5 test/testinput/randomization_bump_nicas_lam_1.yaml
+4 −4 test/testinput/randomization_bump_nicas_lam_2.yaml
+12 −12 test/testinput/randomization_sqrtspectralb_2.yaml
+8 −8 test/testref/convertstate_lam.ref
+2 −2 test/testref/dirac_bump_7.ref
+2 −2 test/testref/dirac_fastlam-fftw_1.ref
+2 −2 test/testref/dirac_fastlam-fftw_2.ref
+2 −2 test/testref/dirac_fastlam_1.ref
+2 −2 test/testref/dirac_fastlam_2.ref
+2 −2 test/testref/dirac_fastlam_3.ref
+2 −2 test/testref/dirac_fastlam_4.ref
+2 −2 test/testref/dirac_fastlam_5.ref
+2 −2 test/testref/dirac_fastlam_6.ref
+2 −2 test/testref/dirac_fastlam_8.ref
+2 −2 test/testref/dirac_fastlam_9.ref
+2 −2 test/testref/dirac_gsi_geos_global.ref
+2 −2 test/testref/dirac_gsi_geos_global_opt_1.ref
+2 −2 test/testref/dirac_gsi_geos_global_opt_2.ref
+2 −2 test/testref/dirac_gsi_geos_global_opt_3.ref
+2 −2 test/testref/dirac_gsi_gfs_global.ref
+4 −4 test/testref/dirac_spectralb_duplicate_variables.ref
+4 −4 test/testref/dirac_spectralb_gauss_vader_1.ref
+4 −4 test/testref/dirac_spectralb_gauss_vader_2.ref
+6 −6 test/testref/dirac_spectralb_gauss_vader_3.ref
+4 −4 test/testref/dirac_spectralb_gauss_vader_4.ref
+4 −4 test/testref/dirac_spectralb_gauss_vader_5.ref
+4 −4 test/testref/dirac_vertproj.ref
+178 −178 test/testref/dirac_write_fields.ref
+26 −26 test/testref/error_covariance_training_bump_hdiag_1.ref
+1 −1 test/testref/error_covariance_training_bump_hdiag_2.ref
+25 −25 test/testref/error_covariance_training_bump_hdiag_4.ref
+1 −1 test/testref/error_covariance_training_bump_vbal_7.ref
+25 −25 test/testref/randomization_bump_nicas_L10L2.ref
+25 −25 test/testref/randomization_bump_nicas_L10L2T18.ref
+25 −25 test/testref/randomization_bump_nicas_L12L2.ref
+1 −1 test/testref/randomization_bump_nicas_lam_1.ref
+2 −2 test/testref/randomization_bump_nicas_lam_2.ref
+2 −2 test/testref/randomization_sqrtspectralb_2.ref
9 changes: 2 additions & 7 deletions test/atm/global-workflow/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ base:
PTMP: "@bindir@/test/atm/global-workflow/testrun"

atmanl:
JCB_ALGO_YAML: "@srcdir@/test/atm/global-workflow/jcb-prototype_3dvar.yaml.j2"
JCB_ALGO_YAML_VAR: "@srcdir@/test/atm/global-workflow/jcb-prototype_3dvar.yaml.j2"
STATICB_TYPE: "identity"
ATMRES_ANL: "C48"
LAYOUT_X_ATMANL: 1
Expand All @@ -19,11 +19,6 @@ atmanl:
atmensanl:
JCB_ALGO_YAML_LETKF: "@srcdir@/test/atm/global-workflow/jcb-prototype_lgetkf.yaml.j2"
JCB_ALGO_YAML_OBS: "@srcdir@/test/atm/global-workflow/jcb-prototype_lgetkf_observer.yaml.j2"
JCB_ALGO_YAML_SOL: "@srcdir@/test/atm/global-workflow/jcb-prototype_lgetkf_solver.yaml.j2"
LAYOUT_X_ATMENSANL: 1
LAYOUT_Y_ATMENSANL: 1

atmensanlobs:
JCB_ALGO_YAML: "@srcdir@/test/atm/global-workflow/jcb-prototype_lgetkf_observer.yaml.j2"

atmensanlsol:
JCB_ALGO_YAML: "@srcdir@/test/atm/global-workflow/jcb-prototype_lgetkf_solver.yaml.j2"
46 changes: 23 additions & 23 deletions test/gw-ci/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,17 @@ function(add_cycling_tests pslot YAML_PATH HOMEgfs RUNTESTS PROJECT_SOURCE_DIR T

# stage IC's
message(STATUS "staging the 1/2 cycle IC's for ${test_name} ctest")
add_test(NAME ${test_name}_gdasstage_ic_${HALF_CYCLE}
COMMAND /bin/bash -c "${PROJECT_SOURCE_DIR}/test/gw-ci/run_exp.sh ${pslot} gdasstage_ic ${HALF_CYCLE}"
add_test(NAME ${test_name}_gdas_stage_ic_${HALF_CYCLE}
COMMAND /bin/bash -c "${PROJECT_SOURCE_DIR}/test/gw-ci/run_exp.sh ${pslot} gdas_stage_ic ${HALF_CYCLE}"
WORKING_DIRECTORY ${RUNTESTS})
set_tests_properties(${test_name}_gdasstage_ic_${HALF_CYCLE} PROPERTIES LABELS "manual")
set_tests_properties(${test_name}_gdas_stage_ic_${HALF_CYCLE} PROPERTIES LABELS "manual")

# 1/2 cycle gdasfcst
message(STATUS "preparing 1/2 cycle gdasfcst for ${pslot} ctest")
add_test(NAME ${test_name}_gdasfcst_${HALF_CYCLE}
COMMAND /bin/bash -c "${PROJECT_SOURCE_DIR}/test/gw-ci/run_exp.sh ${pslot} gdasfcst_seg0 ${HALF_CYCLE}"
# 1/2 cycle gdas_fcst
message(STATUS "preparing 1/2 cycle gdas_fcst for ${pslot} ctest")
add_test(NAME ${test_name}_gdas_fcst_${HALF_CYCLE}
COMMAND /bin/bash -c "${PROJECT_SOURCE_DIR}/test/gw-ci/run_exp.sh ${pslot} gdas_fcst_seg0 ${HALF_CYCLE}"
WORKING_DIRECTORY ${RUNTESTS})
set_tests_properties(${test_name}_gdasfcst_${HALF_CYCLE} PROPERTIES LABELS "manual")
set_tests_properties(${test_name}_gdas_fcst_${HALF_CYCLE} PROPERTIES LABELS "manual")

# Select the list of tasks to run for the full cycle
message(STATUS "Tasks ${TASK_LIST}")
Expand All @@ -54,12 +54,12 @@ if (WORKFLOW_TESTS)
set(pslot "WCDA-3DVAR-C48mx500")
set(YAML_PATH ${HOMEgfs}/ci/cases/pr/C48mx500_3DVarAOWCDA.yaml)
set(TASK_LIST
"gdasprepoceanobs"
"gdasmarinebmat"
"gdasmarineanlinit"
"gdasmarineanlvar"
"gdasmarineanlchkpt"
"gdasmarineanlfinal"
"gdas_prepoceanobs"
"gdas_marinebmat"
"gdas_marineanlinit"
"gdas_marineanlvar"
"gdas_marineanlchkpt"
"gdas_marineanlfinal"
)
add_cycling_tests(${pslot} ${YAML_PATH} ${HOMEgfs} ${RUNTESTS} ${PROJECT_SOURCE_DIR} "${TASK_LIST}")
endif()
Expand All @@ -85,15 +85,15 @@ if (RUN_GW_CI)
set(pslot "GFSv17-3DVAR-C384mx025")
set(YAML_PATH ${HOMEgfs}/ci/cases/gfsv17/C384mx025_3DVarAOWCDA.yaml)
set(TASK_LIST
"gdasprepoceanobs"
"gdasmarinebmat"
"gdasmarineanlinit"
"gdasmarineanlvar"
"gdasmarineanlchkpt"
"gdasmarineanlfinal"
"gdasocnanalvrfy"
"gdasprep"
"gdasanal"
"gdas_prepoceanobs"
"gdas_marinebmat"
"gdas_marineanlinit"
"gdas_marineanlvar"
"gdas_marineanlchkpt"
"gdas_marineanlfinal"
"gdas_ocnanalvrfy"
"gdas_prep"
"gdas_anal"
)
add_cycling_tests(${pslot} ${YAML_PATH} ${HOMEgfs} ${RUNTESTS} ${PROJECT_SOURCE_DIR} "${TASK_LIST}")
endif()
3 changes: 3 additions & 0 deletions ush/detect_machine.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ case $(hostname -f) in
gaea5[1-8]) MACHINE_ID=gaea ;; ### gaea51-58
gaea5[1-8].ncrc.gov) MACHINE_ID=gaea ;; ### gaea51-58

gaea6[1-8]) MACHINE_ID=gaeac6 ;; ### gaea61-68
gaea6[1-8].ncrc.gov) MACHINE_ID=gaeac6 ;; ### gaea61-68

hfe0[1-9]) MACHINE_ID=hera ;; ### hera01-09
hfe1[0-2]) MACHINE_ID=hera ;; ### hera10-12
hecflow01) MACHINE_ID=hera ;; ### heraecflow01
Expand Down

0 comments on commit ee45e80

Please sign in to comment.