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

Convert GFS DDTs from blocked data structures to contiguous arrays (now also includes https://github.com/NOAA-EMC/fv3atm/pull/752) #798

Merged
Merged
Show file tree
Hide file tree
Changes from 100 commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
754531f
get 'uppercase' from mpp_mod in io/module_wrt_grid_comp.F90
AlexanderRichert-NOAA Dec 6, 2023
8d3927c
Add GCC-based CI build
AlexanderRichert-NOAA Dec 6, 2023
8c1fac8
note dep build time in GCC CI
AlexanderRichert-NOAA Dec 7, 2023
435bccd
Update CMakeLists.txt
AlexanderRichert-NOAA Dec 7, 2023
ca53742
Update spack.yaml
AlexanderRichert-NOAA Dec 7, 2023
08d8e10
Update CMakeLists.txt
AlexanderRichert-NOAA Dec 8, 2023
06d17f7
Update spack.yaml
AlexanderRichert-NOAA Dec 8, 2023
ca94767
switch to use fms implementation of mpp
BrianCurtis-NOAA Dec 11, 2023
3c3d655
Update .gitmodules and submodule pointer for ccpp-framework for code …
climbfuji Dec 22, 2023
6d0b052
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji Dec 22, 2023
593a9e0
Update submodule pointer for ccpp-framework
climbfuji Dec 26, 2023
e74e5a4
Update .gitmodules and submodule pointers for ccpp-framework and ccpp…
climbfuji Dec 27, 2023
ffc54e6
Bug fix in io/module_wrt_grid_comp.F90 to compile on macOS with apple…
climbfuji Dec 27, 2023
db82930
Fix typo in .gitmodules
climbfuji Dec 27, 2023
5374684
Update submodule pointer for ccpp-framework
climbfuji Dec 27, 2023
eda337c
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji Dec 28, 2023
88fac19
Update submodule pointer for ccpp-framework
climbfuji Dec 28, 2023
ee91285
Clean up comments in io/module_wrt_grid_comp.F90
climbfuji Dec 28, 2023
630a2f7
Merge remote-tracking branch 'upstream/develop' into use_fms_mpp
jkbk2004 Jan 4, 2024
01bb3e2
revert stoch phys name change
AlexanderRichert-NOAA Jan 4, 2024
773262c
Merge remote-tracking branch 'brian/use_fms_mpp' into add_ci
AlexanderRichert-NOAA Jan 4, 2024
d0a7c24
Update GCC.yml (remove fms recipe workaround)
AlexanderRichert-NOAA Jan 4, 2024
b73d804
rename stochastic_physics repo dir->stochastic_physics_repo
AlexanderRichert-NOAA Jan 4, 2024
435f4d0
remove apt mpi installation
AlexanderRichert-NOAA Jan 4, 2024
e993d15
increment cache key
AlexanderRichert-NOAA Jan 4, 2024
764d250
Merge remote-tracking branch 'noaaemc/develop' into add_ci
AlexanderRichert-NOAA Jan 9, 2024
efa44b8
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji Jan 10, 2024
713ba7d
Update submodule pointer for ccpp-framework
climbfuji Jan 10, 2024
f89445f
Transition to chunked arrays step 1: add variables to hold chunk size…
climbfuji Jan 10, 2024
dfc689a
Merge remote-tracking branch 'origin/develop' into add_ci
AlexanderRichert-NOAA Jan 11, 2024
7d520aa
Add CI testing w/CTest & gcovr, + initial unit tests
AlexanderRichert-NOAA Jan 11, 2024
f4434a2
Update PR template
AlexanderRichert-NOAA Jan 11, 2024
41a9a00
Merge remote-tracking branch 'noaaemc/develop' into add_unit_testing
AlexanderRichert-NOAA Jan 12, 2024
f6cca88
complete test_fv3_io_def.F90
AlexanderRichert-NOAA Jan 13, 2024
bb31535
Update pull_request_template.md
AlexanderRichert-NOAA Jan 13, 2024
aaf587b
fix testrun build path in GCC.yml
AlexanderRichert-NOAA Jan 13, 2024
a309fb8
catch one more case in post_nems_routine unit test
AlexanderRichert-NOAA Jan 13, 2024
4360aee
fix test_post_nems_routines.F90
AlexanderRichert-NOAA Jan 13, 2024
ba5f71d
Update CMakeLists.txt
AlexanderRichert-NOAA Jan 13, 2024
a4f5a26
simplify test_fv3_io_def.F90
AlexanderRichert-NOAA Jan 13, 2024
a6e2748
Update .gitmodules and submodule pointer for ccpp-framework for code …
climbfuji Jan 13, 2024
e4f657f
Convert GFS_grid DDT: use contiguous arrays instead of blocked data s…
climbfuji Jan 19, 2024
df302ed
Merge remote-tracking branch 'noaaemc/develop' into add_unit_testing
AlexanderRichert-NOAA Jan 19, 2024
99c197f
Re-integrate developer.yml into GCC.yml
AlexanderRichert-NOAA Jan 19, 2024
e6c41db
refine cache condition in GCC.yml
AlexanderRichert-NOAA Jan 19, 2024
1b57dcc
fix up GCC.yml
AlexanderRichert-NOAA Jan 19, 2024
8723888
update doc artifact path
AlexanderRichert-NOAA Jan 19, 2024
30a9f1b
Only build gcovr report in one job
AlexanderRichert-NOAA Jan 19, 2024
0e875fe
restore gcov cmake flags
AlexanderRichert-NOAA Jan 19, 2024
e14f32c
rm developer.yml
AlexanderRichert-NOAA Jan 19, 2024
22abc64
Fix gcov cmake flags GCC.yml
AlexanderRichert-NOAA Jan 19, 2024
80e78bc
Update test_fv3_io_def.F90
AlexanderRichert-NOAA Jan 19, 2024
c6f749e
remove test_fv3_io_def.F90
AlexanderRichert-NOAA Jan 19, 2024
ffc7926
Convert GFS_tbd and GFS_cldprop DDTs: use contiguous arrays instead …
climbfuji Jan 19, 2024
f213af8
Update .gitmodules and submodule pointer for GFDL_atmos_cubed_sphere …
climbfuji Jan 20, 2024
11d1b06
Convert GFS_statein and GFS_stateout DDTs: use contiguous arrays ins…
climbfuji Jan 20, 2024
002c5ab
Implement setup_exportdata for chunked arrays and demonstrate for GFS…
climbfuji Jan 21, 2024
eed40d3
test re-removing PIO dep in ci CMake
AlexanderRichert-NOAA Feb 15, 2024
5841f80
Update CMakeLists.txt
AlexanderRichert-NOAA Feb 15, 2024
a6a7586
Convert GFS_sfcprop DDT: use contiguous arrays instead of blocked da…
climbfuji Feb 22, 2024
564e7e5
Convert GFS_radtend DDT: use contiguous arrays instead of blocked dat…
climbfuji Feb 23, 2024
1628328
Convert GFS_coupling DDT: use contiguous arrays instead of blocked da…
climbfuji Feb 26, 2024
e2cc3fc
Update .gitmodules and submodule pointer for ccpp-physics for code re…
climbfuji Feb 27, 2024
7e7449b
Convert GFS_intdiag DDT: use contiguous arrays instead of blocked dat…
climbfuji Feb 27, 2024
a24e8bb
TEST: comment out unused data types in moving_nest/fv_moving_nest.F90
climbfuji Feb 28, 2024
b6588b2
Replace IPD_Data with GFS DDTs in moving_nest/fv_moving_nest_physics.F90
climbfuji Feb 28, 2024
3490ea4
Update moving_nest/fv_moving_nest_main.F90: use GFS DDTs
climbfuji Feb 28, 2024
bcd1678
Update moving nest calls in atmos_model.F90
climbfuji Feb 28, 2024
2be4cfa
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji Mar 6, 2024
6dd71c0
After update from develop, replace blocked GFS data types with contig…
climbfuji Mar 6, 2024
b08b27d
Update more old IPD DDTs to GFS DDTs in moving_nest/fv_moving_nest_ph…
climbfuji Mar 7, 2024
46be8ac
Bug fix in ccpp/data/GFS_typedefs.meta: replace horizontal_loop_exten…
climbfuji Mar 8, 2024
d5ff6cf
Revert .gitmodules entry and update submodule pointer for ccpp-framework
climbfuji Mar 11, 2024
c94ffe3
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji Mar 11, 2024
2fe636a
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji Apr 10, 2024
62e5887
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji Apr 15, 2024
ee7c36d
Update .gitmodules and submodule pointer for ccpp-framework for code …
climbfuji Apr 15, 2024
024e63a
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji May 13, 2024
11f8572
Merge branch 'develop' into add_unit_testing
AlexanderRichert-NOAA May 13, 2024
6a8d95d
GCC.yml: fix devbuild condition
AlexanderRichert-NOAA May 13, 2024
2074d8d
GCC.yml: fix devbuild condition pt 2
AlexanderRichert-NOAA May 13, 2024
48426bf
rearrange GCC.yml
AlexanderRichert-NOAA May 13, 2024
10cd572
Update GCC.yml
AlexanderRichert-NOAA May 13, 2024
415986d
fix gcovr
AlexanderRichert-NOAA May 13, 2024
657e1a3
Update GCC.yml
AlexanderRichert-NOAA May 13, 2024
7582ab7
Update GCC.yml
AlexanderRichert-NOAA May 13, 2024
edf94e6
Update GCC.yml
AlexanderRichert-NOAA May 13, 2024
b51b1a3
Update GCC.yml
AlexanderRichert-NOAA May 13, 2024
369bf89
debug
AlexanderRichert-NOAA May 13, 2024
3f633e2
Update GCC.yml
AlexanderRichert-NOAA May 14, 2024
cc98607
Update GCC.yml
AlexanderRichert-NOAA May 14, 2024
9126c19
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji May 22, 2024
1f7164c
Bug fix in ccpp/data/GFS_typedefs.F90: revert 'allocatable' to 'pointer'
climbfuji May 22, 2024
1edd619
Update submodule pointer for ccpp-framework and revert entry in .gitm…
climbfuji May 22, 2024
a540187
Address first round of reviewer comments
climbfuji May 22, 2024
1708595
Update submodule pointer for ccpp-physics
climbfuji Jun 3, 2024
d1cd59e
Update submodule pointer for ccpp-physics
climbfuji Jun 13, 2024
ff587f7
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji Jun 24, 2024
0d003e7
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji Jun 27, 2024
40c0d1a
Merge branch 'add_unit_testing' of https://github.com/AlexanderRicher…
climbfuji Jun 27, 2024
de0411e
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji Jul 12, 2024
28fd74f
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into HEAD
climbfuji Jul 18, 2024
6c3e92c
Update submodule pointer for atmos_cubed_sphere
climbfuji Jul 18, 2024
6093321
Move data copying outside of block loop
dustinswales Jul 23, 2024
e02bf07
Merge pull request #13 from dustinswales/move_stmt
climbfuji Jul 23, 2024
450cb34
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji Jul 24, 2024
80134e9
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into fea…
climbfuji Aug 2, 2024
bfc04ef
update hashes and revert changes in gitmodules: acs and physics
jkbk2004 Aug 8, 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
5 changes: 5 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,8 @@ Do PRs in upstream repositories need to be merged first?
If so add the "waiting for other repos" label and list the upstream PRs
- waiting on noaa-emc/nems/pull/<pr_number>
- waiting on noaa-emc/fv3atm/pull/<pr_number>

# Requirements before merging
- [ ] All new code in this PR is tested by at least one unit test
- [ ] All new code in this PR includes Doxygen documentation
- [ ] All new code in this PR does not add new compilation warnings (check CI output)
47 changes: 39 additions & 8 deletions .github/workflows/GCC.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
mpi: ["mpich", "openmpi"]

steps:

- name: checkout-fv3atm
uses: actions/checkout@v4
with:
Expand Down Expand Up @@ -59,6 +59,7 @@ jobs:
spack config add "packages:mpi:require:'${{ matrix.mpi }}'"
spack concretize |& tee ${SPACK_ENV}/log.concretize
spack install -j2 --fail-fast
echo "spackrc=$?" >> ${GITHUB_ENV}
spack clean --all

build_fv3atm:
Expand All @@ -73,9 +74,20 @@ jobs:

steps:

- name: install-doxygen
# Only do Doxygen and gcovr build for one job
- name: decide-doc-gcovr-build
run: |
if [[ "${{ matrix.cmake_opts }}" == "-D32BIT=ON" && "${{ matrix.gcc_ver }}" == 12 && "${{ matrix.mpi }}" == mpich ]]; then
echo 'devbuild=ON' | tee -a ${GITHUB_ENV}
echo 'gcov_cmake="-DCMAKE_Fortran_FLAGS=-fprofile-abs-path -fprofile-arcs -ftest-coverage -O0"' | tee -a ${GITHUB_ENV}
else
echo 'devbuild=OFF' | tee -a ${GITHUB_ENV}
fi

- name: install-utilities
run: |
sudo apt-get install doxygen graphviz
python3 -m pip install gcovr

- name: install-cmake
run: |
Expand Down Expand Up @@ -109,14 +121,34 @@ jobs:
export CC=mpicc
export CXX=mpicxx
export FC=mpif90
cat /home/runner/work/fv3atm/fv3atm/spack-develop/opt/spack/linux-ubuntu22.04-zen2/gcc-12.3.0/fms-2023.04-*/lib/cmake/fms/fms-config.cmake
cmake ${GITHUB_WORKSPACE}/fv3atm -DBUILD_TESTING=ON ${{ matrix.cmake_opts }} -DENABLE_DOCS=ON
cmake ${GITHUB_WORKSPACE}/fv3atm -DBUILD_TESTING=ON ${{ matrix.cmake_opts }} -DENABLE_DOCS=ON ${{ env.gcov_cmake }}
make -j2
ls -l /home/runner/work/fv3atm/fv3atm/fv3atm/io

- uses: actions/upload-artifact@v4
- name: run-tests
run: |
cd $GITHUB_WORKSPACE/build
ctest -j2 --output-on-failure --rerun-failed

- name: get-test-coverage
if: ${{ env.devbuild == 'ON' }}
run: |
cd $GITHUB_WORKSPACE/build
gcovr -r .. -v --html-details --gcov-executable gcov-12 --exclude $GITHUB_WORKSPACE/fv3atm/tests --exclude $GITHUB_WORKSPACE/fv3atm/stochastic_physics_repo --exclude $GITHUB_WORKSPACE/fv3atm/build/ccpp --exclude $GITHUB_WORKSPACE/fv3atm/ccpp/physics --exclude $GITHUB_WORKSPACE/fv3atm/ccpp/framework --exclude $GITHUB_WORKSPACE/fv3atm/atmos_cubed_sphere --exclude CMakeFiles --print-summary -o test-coverage.html

- name: upload-test-coverage
uses: actions/upload-artifact@v4
if: ${{ env.devbuild == 'ON' }}
with:
name: test-coverage-fv3atm-${{ github.sha }}
path: |
${{ github.workspace }}/build/*.html
${{ github.workspace }}/build/*.css

- name: upload-docs
uses: actions/upload-artifact@v4
if: ${{ env.devbuild == 'ON' }}
with:
name: docs-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }}-${{ matrix.cmake_opts }}
name: docs-fv3atm
path: |
build/docs/html

Expand All @@ -126,4 +158,3 @@ jobs:
with:
name: ccpp_prebuild_logs-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }}-${{ matrix.cmake_opts }}
path: ${{ github.workspace }}/build/ccpp/ccpp_prebuild.*

12 changes: 8 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
[submodule "atmos_cubed_sphere"]
path = atmos_cubed_sphere
url = https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere
branch = dev/emc
#url = https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere
#branch = dev/emc
url = https://github.com/climbfuji/GFDL_atmos_cubed_sphere
branch = feature/chunked_array_support_use_it
[submodule "ccpp/framework"]
path = ccpp/framework
url = https://github.com/NCAR/ccpp-framework
branch = main
[submodule "ccpp/physics"]
path = ccpp/physics
url = https://github.com/ufs-community/ccpp-physics
branch = ufs/dev
#url = https://github.com/ufs-community/ccpp-physics
#branch = ufs/dev
url = https://github.com/climbfuji/ccpp-physics
branch = feature/gfs_debug_update
[submodule "upp"]
path = upp
url = https://github.com/NOAA-EMC/UPP
Expand Down
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,11 @@ if(OPENMP)
target_link_libraries(fv3atm PUBLIC OpenMP::OpenMP_Fortran)
endif()

if(BUILD_TESTING)
include(CTest)
add_subdirectory(tests)
endif()

###############################################################################
### Install
###############################################################################
Expand Down
2 changes: 1 addition & 1 deletion atmos_cubed_sphere
Loading