Skip to content
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

Bring feature/gdas-validation up to date with develop #861

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
ceedcce
Code clean-up and a reference test for VIIRS AOD IODA converter (#808)
ypwang19 Dec 18, 2023
ff211e5
make ctest dmpdir more like real life (#816)
AndrewEichmann-NOAA Dec 19, 2023
911af66
Updated var yamls (#817)
guillaumevernieres Dec 19, 2023
146c790
Fix test reference mismatch (#786)
apchoiCMD Dec 19, 2023
116da71
Adding a feature Metadata/ocean-basin-flag to all ioda converters (#821)
apchoiCMD Dec 21, 2023
4b628f1
Copy prepped marine obs to ROTDIR (#819)
AndrewEichmann-NOAA Dec 21, 2023
f933f90
Bugfix for CI and linking loop (#822)
CoryMartin-NOAA Dec 21, 2023
ee8c547
acftpro and conventional updates (#792)
nicholasesposito Dec 21, 2023
69ec001
Update observation YAMLs for conventional surface pressure (#824)
CoryMartin-NOAA Dec 21, 2023
a34773a
Ocean obs prep ctest now processes ssts on 20180415 (#825)
AndrewEichmann-NOAA Dec 22, 2023
45b902f
Fix missing datetime "unit" and Ghrsst2ioda output "K" to "C" (#834)
apchoiCMD Jan 4, 2024
bd57012
make bufr2ioda_subpfl_argo_profiles.py an executable file (#795)
RussTreadon-NOAA Jan 4, 2024
a4a3f45
Manage the YAML files into the explicit filter ordering. (#790)
jiaruidong2017 Jan 5, 2024
69b1eb4
Feature/landda ci (#839)
jiaruidong2017 Jan 5, 2024
6577584
Remove tests with R2D2 and anything referencing it (#836)
AndrewEichmann-NOAA Jan 10, 2024
6ad3b86
Add 'bound to include' to manipulate the DA window. (#846)
jiaruidong2017 Jan 11, 2024
4e3e586
Follow up of the "bye bye" R2D2 PR: More marine obs in the ctests (#847)
guillaumevernieres Jan 11, 2024
cc4c940
Add Hercules build capability to GDASApp (#774)
RussTreadon-NOAA Jan 11, 2024
639ef16
Use submodules rather than ecbuild_bundle git (#811)
CoryMartin-NOAA Jan 16, 2024
5056169
Get rid of DRIPCG (#850)
CoryMartin-NOAA Jan 16, 2024
b79c0a2
Update gsibec submodule to tag 1.1.3
RussTreadon-NOAA Jan 17, 2024
0e97461
Using diffusion central block (#851)
guillaumevernieres Jan 17, 2024
f63fe7e
Fix Marine VRFY Task in the SOCA ctests (#856)
apchoiCMD Jan 17, 2024
7f74f17
BUFR2IODA python API converters for marine monthly in situ BUFR (#844)
ShastriPaturi Jan 18, 2024
9624743
Merge branch 'develop' into feature/gdas-validation
RussTreadon-NOAA Jan 18, 2024
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
9 changes: 0 additions & 9 deletions .github/workflows/unittests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,6 @@ jobs:
pip install netCDF4
pip install xarray

- name: Install other dependencies
run: |
wget https://ftp.emc.ncep.noaa.gov/static_files/public/GDASApp/r2d2-bb361c2.tar.gz
wget https://ftp.emc.ncep.noaa.gov/static_files/public/GDASApp/solo-877b414.tar.gz
tar -xvf r2d2-bb361c2.tar.gz
tar -xvf solo-877b414.tar.gz
cd solo && pip install . && cd ..
cd r2d2 && pip install . && cd ..

- name: Checkout wxflow
uses: actions/checkout@v3
with:
Expand Down
65 changes: 36 additions & 29 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -146,33 +146,40 @@ build*/
install*/

# Ignore the following bundle repositories
ecbuild/
atlas/
crtm/
eckit/
fckit/
femps/
fms/
fv3/
fv3-jedi/
fv3-jedi-data/
fv3-jedi-lm/
gsibec/
gsw/
icepack/
/ioda/
ioda-data/
iodaconv/
jedicmake/
land-imsproc/
land-jediincr/
mom6/
oops/
saber/
saber-data/
/soca/
test-data-release/
ufo/
ufo-data/
vader/
/ecbuild
/atlas
/crtm
/eckit
/fckit
/femps
/fms
/fv3
/fv3-jedi
/fv3-jedi-data
/fv3-jedi-lm
/gsibec
/gsw
/icepack
/ioda
/ioda-data
/iodaconv
/jedicmake
/land-imsproc
/land-jediincr
/mom6
/oops
/saber
/saber-data
/soca
/test-data-release
/ufo
/ufo-data
/vader
/gdas-utils
/sorc/fv3-jedi-data
/sorc/ufo-data
/sorc/ioda-data
/sorc/test-data-release
/sorc/gdas
/sorc/gdas-utils

78 changes: 78 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
[submodule "sorc/jedicmake"]
path = sorc/jedicmake
url = https://github.com/jcsda/jedi-cmake.git
[submodule "sorc/gsibec"]
path = sorc/gsibec
url = https://github.com/GEOS-ESM/GSIbec.git
branch = develop
[submodule "sorc/gsw"]
path = sorc/gsw
url = https://github.com/jcsda-internal/GSW-Fortran.git
branch = develop
[submodule "sorc/oops"]
path = sorc/oops
url = https://github.com/jcsda/oops.git
branch = develop
[submodule "sorc/vader"]
path = sorc/vader
url = https://github.com/jcsda/vader.git
branch = develop
[submodule "sorc/saber"]
path = sorc/saber
url = https://github.com/jcsda/saber.git
branch = develop
[submodule "sorc/ioda"]
path = sorc/ioda
url = https://github.com/jcsda/ioda.git
branch = develop
[submodule "sorc/ufo"]
path = sorc/ufo
url = https://github.com/jcsda/ufo.git
branch = develop
[submodule "sorc/fv3"]
path = sorc/fv3
url = https://github.com/jcsda/GFDL_atmos_cubed_sphere.git
branch = release-stable
[submodule "sorc/femps"]
path = sorc/femps
url = https://github.com/jcsda/femps.git
branch = develop
[submodule "sorc/fv3-jedi-lm"]
path = sorc/fv3-jedi-lm
url = https://github.com/jcsda/fv3-jedi-linearmodel.git
branch = develop
[submodule "sorc/fv3-jedi"]
path = sorc/fv3-jedi
url = https://github.com/jcsda/fv3-jedi.git
branch = develop
[submodule "sorc/icepack"]
path = sorc/icepack
url = https://github.com/JCSDA-internal/Icepack.git
branch = feature/ecbuild-new
[submodule "sorc/mom6"]
path = sorc/mom6
url = https://github.com/jcsda-internal/MOM6.git
branch = main-ecbuild
[submodule "sorc/soca"]
path = sorc/soca
url = https://github.com/jcsda-internal/soca.git
branch = develop
[submodule "sorc/iodaconv"]
path = sorc/iodaconv
url = https://github.com/JCSDA-internal/ioda-converters.git
branch = develop
[submodule "sorc/land-imsproc"]
path = sorc/land-imsproc
url = https://github.com/NOAA-PSL/land-IMS_proc.git
branch = develop
[submodule "sorc/land-jediincr"]
path = sorc/land-jediincr
url = https://github.com/NOAA-PSL/land-apply_jedi_incr.git
branch = develop
[submodule "sorc/crtm"]
path = sorc/crtm
url = https://github.com/jcsda/crtm.git
[submodule "sorc/fms"]
path = sorc/fms
url = https://github.com/jcsda/fms.git
branch = release-stable
129 changes: 1 addition & 128 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ------------------------------------------------------------------------- #
# Application for all the components needed for the GDAS system #
# Application for the GDAS system #
# ------------------------------------------------------------------------- #

# Check for minimim cmake requirement
Expand Down Expand Up @@ -36,135 +36,8 @@ option(BUILD_GDASBUNDLE "Build GDAS Bundle" ON)
option(CLONE_JCSDADATA "Clone JCSDA test data repositories" OFF)
option(WORKFLOW_TESTS "Include global-workflow dependent tests" OFF)

# Initialize bundle
# -----------------
ecbuild_bundle_initialize()

# Build bundle source code.
if(BUILD_GDASBUNDLE)

# jedi-cmake
ecbuild_bundle( PROJECT jedicmake GIT "https://github.com/jcsda/jedi-cmake.git" TAG 1.4.0 RECURSIVE )
include( jedicmake/cmake/Functions/git_functions.cmake )

# ECMWF libraries
option("BUNDLE_SKIP_ECKIT" "Don't build eckit" "ON" ) # Skip eckit build unless user passes -DBUNDLE_SKIP_ECKIT=OFF
option("BUNDLE_SKIP_FCKIT" "Don't build fckit" "ON") # Skip fckit build unless user passes -DBUNDLE_SKIP_FCKIT=OFF
option("BUNDLE_SKIP_ATLAS" "Don't build atlas" "ON") # Skip atlas build unless user passes -DBUNDLE_SKIP_ATLAS=OFF

# turn off optional OOPS toy models
option( ENABLE_LORENZ95_MODEL "Build LORENZ95 toy model" OFF )
option( ENABLE_QG_MODEL "Build QG toy model" OFF )

ecbuild_bundle( PROJECT eckit GIT "https://github.com/ecmwf/eckit.git" TAG 1.16.0 )
ecbuild_bundle( PROJECT fckit GIT "https://github.com/ecmwf/fckit.git" TAG 0.9.2 )
ecbuild_bundle( PROJECT atlas GIT "https://github.com/ecmwf/atlas.git" TAG 0.35.0 )

# External (required) observation operators
option("BUNDLE_SKIP_CRTM" "Don't build CRTM" "OFF") # Don't build crtm unless user passes -DBUNDLE_SKIP_CRTM=OFF
ecbuild_bundle( PROJECT crtm GIT "https://github.com/JCSDA/crtm.git" TAG v2.4.1-jedi.1 )

# Build GSI-B
option(BUILD_GSIBEC "Build GSI-B" OFF)
if(BUILD_GSIBEC)
ecbuild_bundle( PROJECT gsibec GIT "https://github.com/GEOS-ESM/GSIbec.git" TAG 1.1.2 )
endif()

# Gibbs seawater
ecbuild_bundle( PROJECT gsw GIT "https://github.com/jcsda-internal/GSW-Fortran.git" BRANCH develop )

# Core JEDI repositories
ecbuild_bundle( PROJECT oops GIT "https://github.com/jcsda/oops.git" BRANCH develop)
ecbuild_bundle( PROJECT vader GIT "https://github.com/jcsda/vader.git" BRANCH develop )
ecbuild_bundle( PROJECT saber GIT "https://github.com/jcsda/saber.git" BRANCH develop )
option(ENABLE_IODA_DATA "Obtain ioda test data from ioda-data repository (vs tarball)" ON)
ecbuild_bundle( PROJECT ioda GIT "https://github.com/jcsda/ioda.git" BRANCH develop )
option(ENABLE_UFO_DATA "Obtain ufo test data from ufo-data repository (vs tarball)" ON)
ecbuild_bundle( PROJECT ufo GIT "https://github.com/jcsda/ufo.git" BRANCH develop )

# FMS and FV3 dynamical core
ecbuild_bundle( PROJECT fms GIT "https://github.com/jcsda/FMS.git" BRANCH release-stable )
ecbuild_bundle( PROJECT fv3 GIT "https://github.com/jcsda/GFDL_atmos_cubed_sphere.git" BRANCH release-stable )

# fv3-jedi and associated repositories
ecbuild_bundle( PROJECT femps GIT "https://github.com/jcsda/femps.git" BRANCH develop )
ecbuild_bundle( PROJECT fv3-jedi-lm GIT "https://github.com/jcsda/fv3-jedi-linearmodel.git" BRANCH develop )
option(ENABLE_FV3_JEDI_DATA "Obtain fv3-jedi test data from fv3-jedi-data repository (vs tarball)" ON)
ecbuild_bundle( PROJECT fv3-jedi GIT "https://github.com/jcsda/fv3-jedi.git" BRANCH develop )

# SOCA associated repositories
# TODO: Move the Icepack fork to EMC github
set(BUILD_ICEPACK "ON" CACHE STRING "Build the icepack library")
if ( BUILD_ICEPACK )
ecbuild_bundle( PROJECT icepack GIT "https://github.com/JCSDA-internal/Icepack.git" BRANCH feature/ecbuild-new )
endif()
ecbuild_bundle( PROJECT mom6 GIT "https://github.com/jcsda-internal/MOM6.git" BRANCH main-ecbuild RECURSIVE )
ecbuild_bundle( PROJECT soca GIT "https://github.com/jcsda-internal/soca.git" BRANCH develop )

# Build JEDI/DA or other peripherals
ecbuild_bundle( PROJECT gdas-utils SOURCE "./utils" )

# Build IODA converters
option(BUILD_IODA_CONVERTERS "Build IODA Converters" ON)
if(BUILD_IODA_CONVERTERS)
ecbuild_bundle( PROJECT iodaconv GIT "https://github.com/JCSDA-internal/ioda-converters.git" BRANCH develop )
endif()

# Land associated repositories
ecbuild_bundle( PROJECT land-imsproc GIT "https://github.com/NOAA-PSL/land-IMS_proc.git" TAG 6373819 )
ecbuild_bundle( PROJECT land-jediincr GIT "https://github.com/NOAA-PSL/land-apply_jedi_incr.git" TAG 2923344)

# ioda, ufo, fv3-jedi, and saber test data
#---------------------------------
if(CLONE_JCSDADATA)

# If IODA branch is being built set GIT_BRANCH_FUNC to IODA's current branch.
# If a tagged version of IODA is being built set GIT_TAG_FUNC to ioda's current tag. In this case,
# IODA test files will be download from UCAR DASH and ioda-data repo will not be cloned.
# When LOCAL_PATH_JEDI_TESTFILES is set to the directory of IODA test files stored
# in a local directory, ioda-data repo will not be cloned

find_branch_name(REPO_DIR_NAME ioda)
# When LOCAL_PATH_JEDI_TESTFILES is set to the directory of IODA test files stored
# in a local directory, ioda-data repo will not be cloned
if( NOT DEFINED ENV{LOCAL_PATH_JEDI_TESTFILES} AND NOT DEFINED GIT_TAG_FUNC )
ecbuild_bundle( PROJECT ioda-data GIT "https://github.com/JCSDA-internal/ioda-data.git" BRANCH develop )

# If IODA's current branch is available in ioda-data repo, that branch will be checked out
branch_checkout (REPO_DIR_NAME ioda-data
BRANCH ${GIT_BRANCH_FUNC} )
endif()

# same procedure for ufo-data
find_branch_name(REPO_DIR_NAME ufo)
if( NOT DEFINED ENV{LOCAL_PATH_JEDI_TESTFILES} AND NOT DEFINED GIT_TAG_FUNC )
ecbuild_bundle( PROJECT ufo-data GIT "https://github.com/JCSDA-internal/ufo-data.git" BRANCH develop )

# If UFO's current branch is available in ioda-data repo, that branch will be checked out
branch_checkout (REPO_DIR_NAME ufo-data
BRANCH ${GIT_BRANCH_FUNC} )
endif()

# same procedure for fv3-jedi-data
find_branch_name(REPO_DIR_NAME fv3-jedi)
if( NOT DEFINED ENV{LOCAL_PATH_JEDI_TESTFILES} AND NOT DEFINED GIT_TAG_FUNC )
ecbuild_bundle( PROJECT fv3-jedi-data GIT "https://github.com/JCSDA-internal/fv3-jedi-data.git" BRANCH develop )

# If fv3-jedi's current branch is available in ioda-data repo, that branch will be checked out
branch_checkout (REPO_DIR_NAME fv3-jedi-data
BRANCH ${GIT_BRANCH_FUNC} )
endif()

endif(CLONE_JCSDADATA)

endif(BUILD_GDASBUNDLE)

# Install utility scripts.
add_subdirectory(ush)

# Include testing.
add_subdirectory(test)

# Finalize bundle
# ---------------
ecbuild_bundle_finalize()
5 changes: 3 additions & 2 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ while getopts "p:t:c:hvdfa" opt; do
done

case ${BUILD_TARGET} in
hera | orion)
hera | orion | hercules)
echo "Building GDASApp on $BUILD_TARGET"
source $dir_root/ush/module-setup.sh
module use $dir_root/modulefiles
Expand Down Expand Up @@ -103,6 +103,7 @@ CMAKE_OPTS+=" -DWORKFLOW_TESTS=${WORKFLOW_BUILD}"

# JCSDA changed test data things, need to make a dummy CRTM directory
if [[ $BUILD_TARGET == 'hera' ]]; then
if [ -d "$dir_root/test-data-release/" ]; then rm -rf $dir_root/test-data-release/; fi
mkdir -p $dir_root/test-data-release/
ln -sf $GDASAPP_TESTDATA/crtm $dir_root/test-data-release/crtm
fi
Expand All @@ -112,7 +113,7 @@ echo "Configuring ..."
set -x
cmake \
${CMAKE_OPTS:-} \
$dir_root
$dir_root/sorc
set +x

# Build
Expand Down
2 changes: 1 addition & 1 deletion ci/driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ for pr in $open_pr_list; do
cd $GDAS_CI_ROOT/PR/$pr

# clone copy of repo
git clone $repo_url
git clone --recursive $repo_url
cd GDASApp

# checkout pull request
Expand Down
9 changes: 3 additions & 6 deletions ci/gw_driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -65,17 +65,14 @@ for pr in $open_pr_list; do
cd $GDAS_CI_ROOT/workflow/PR/$pr

# clone global workflow develop branch
git clone $workflow_url

# run checkout script for all other components
cd $GDAS_CI_ROOT/workflow/PR/$pr/global-workflow/sorc
./checkout.sh -u
git clone --recursive $workflow_url

# checkout pull request
cd gdas.cd
cd $GDAS_CI_ROOT/workflow/PR/$pr/global-workflow/sorc/gdas.cd
git checkout develop
git pull
gh pr checkout $pr
git submodule update --init --recursive

# get commit hash
commit=$(git log --pretty=format:'%h' -n 1)
Expand Down
2 changes: 1 addition & 1 deletion ci/run_gw_ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export WORKFLOW_BUILD="ON"
cd $repodir/sorc
module purge
rm -rf log.build
./build_all.sh &>> log.build
./build_all.sh -u &>> log.build
build_status=$?
if [ $build_status -eq 0 ]; then
echo "Build: *SUCCESS*" >> $outfile
Expand Down
Loading
Loading