Skip to content

Commit

Permalink
Merge pull request NCAR#67 from climbfuji/update_gsl_develop_from_mas…
Browse files Browse the repository at this point in the history
…ter_20210316

Update gsl/develop from develop 20210316
  • Loading branch information
DomHeinzeller authored Mar 18, 2021
2 parents 98fa7cc + 6563784 commit f204bfd
Show file tree
Hide file tree
Showing 96 changed files with 27,917 additions and 2,696 deletions.
41 changes: 29 additions & 12 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,46 @@
# PR Checklist

- [ ] Ths PR is up-to-date with the top of all sub-component repositories except for those sub-components which are the subject of this PR. Please consult the ufs-weather-model [wiki](https://github.com/ufs-community/ufs-weather-model/wiki/Making-code-changes-in-the-UFS-weather-model-and-its-subcomponents) if you are unsure how to do this.

- [ ] This PR has been tested using a branch which is up-to-date with the top of all sub-component repositories except for those sub-components which are the subject of this PR

- [ ] An Issue describing the work contained in this PR has been created either in the subcomponent(s) or in the ufs-weather-model. The Issue should be created in the repository that is most relevant to the changes in contained in the PR. The Issue and the dependent sub-component PR
are specified below.

- [ ] If new or updated input data is required by this PR, it is clearly stated in the text of the PR.

## Instructions: All subsequent sections of text should be filled in as appropriate.

The information provided below allows the code managers to understand the changes relevant to this PR, whether those changes are in the ufs-weather-model repository or in a subcomponent repository. Ufs-weather-model code managers will use the information provided to add any applicable labels, assign reviewers and place it in the Commit Queue. Once the PR is in the Commit Queue, it is the PR owner's responsiblity to keep the PR up-to-date with the develop branch of ufs-weather-model.

## Description

(Instructions: this, and all subsequent sections of text should be removed and filled in as appropriate.)
Provide a detailed description of what this PR does.
What bug does it fix, or what feature does it add?
Is a change of answers expected from this PR?
Are any library updates included in this PR (modulefiles etc.)?
Provide a detailed description of what this PR does. What bug does it fix, or what feature does it add? Is a change of answers expected from this PR? Are any library updates included in this PR (modulefiles etc.)?

### Issue(s) addressed

Link the issues to be closed with this PR, whether in this repository, or in another repository.
(Remember, issues should always be created before starting work on a PR branch!)
(Remember, issues must always be created before starting work on a PR branch!)
- fixes #<issue_number>
- fixes noaa-emc/fv3atm/issues/<issue_number>

## Testing

How were these changes tested?
What compilers / HPCs was it tested with?
Are the changes covered by regression tests? (If not, why? Do new tests need to be added?)
Have regression tests and unit tests (utests) been run? On which platforms and with which compilers? (Note that unit tests can only be run on tier-1 platforms)
How were these changes tested? What compilers / HPCs was it tested with? Are the changes covered by regression tests? (If not, why? Do new tests need to be added?) Have regression tests and unit tests (utests) been run? On which platforms and with which compilers? (Note that unit tests can only be run on tier-1 platforms)

- [ ] hera.intel
- [ ] hera.gnu
- [ ] orion.intel
- [ ] cheyenne.intel
- [ ] cheyenne.gnu
- [ ] gaea.intel
- [ ] jet.intel
- [ ] wcoss_cray
- [ ] wcoss_dell_p3

## Dependencies

If testing this branch requires non-default branches in other repositories, list them.
Those branches should have matching names (ideally)
If testing this branch requires non-default branches in other repositories, list them. Those branches should have matching names (ideally).

Do PRs in upstream repositories need to be merged first?
If so add the "waiting for other repos" label and list the upstream PRs
Expand Down
23 changes: 11 additions & 12 deletions .github/workflows/main.yml → .github/workflows/build_test.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
name: Pull Request Tests
name: Pull request tests

on:
push:
branches:
- develop
branches: ['develop']
pull_request:
branches:
- develop
branches: ['develop']

jobs:
setup:
name: Set up
runs-on: ubuntu-latest
runs-on: ubuntu-20.04

outputs:
tn: ${{ steps.parse.outputs.tn }}
Expand Down Expand Up @@ -46,7 +44,7 @@ jobs:
build:
name: Build (${{ matrix.bld_set }})
needs: setup
runs-on: ubuntu-latest
runs-on: ubuntu-20.04

strategy:
fail-fast: false
Expand Down Expand Up @@ -85,8 +83,7 @@ jobs:
utest:
name: Unit test (${{ needs.setup.outputs.tn }}, ${{ matrix.test_set }})
needs: [setup,build]
runs-on: ubuntu-latest
#runs-on: self-hosted
runs-on: self-hosted

strategy:
fail-fast: false
Expand All @@ -101,7 +98,7 @@ jobs:
- name: Prepare artifacts
run: |
tar xvjf artifact.tar.bz2 && rm -f artifact.tar.bz2
sudo docker load --input ${{ needs.setup.outputs.img }}.tar.gz && rm -f ${{ needs.setup.outputs.img }}.tar.gz
docker load --input ${{ needs.setup.outputs.img }}.tar.gz && rm -f ${{ needs.setup.outputs.img }}.tar.gz
- name: Run utest
run: ./ci.sh -n ${{ needs.setup.outputs.tn }} -r ${{ matrix.test_set }}
Expand All @@ -117,5 +114,7 @@ jobs:
if: ${{ always() }}
run: |
rm -f ci.sh ci.test
sudo docker rm my-container && sudo docker rmi ${{ needs.setup.outputs.img }}:latest
sudo docker volume rm DataVolume
docker stop my-container && docker rm my-container && docker rmi ${{ needs.setup.outputs.img }}:latest
docker volume rm DataVolume
#docker rmi minsukjinoaa/fv3-input-data:input-data-20210115
rm -f memory_stat
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,36 @@ name: Manage workflows

on:
workflow_run:
workflows: ["Pull Request Tests"]
workflows: ["Pull request tests"]
types:
- requested

jobs:
job1:
name: Job 1
runs-on: ubuntu-latest
name: Cancel workflows
runs-on: ubuntu-20.04

steps:
- name: Checkout codes
uses: actions/checkout@v2

- name: Check if skip-ci is requested
- name: Check if run-ci is requested
run: |
sleep 40
cd ${GITHUB_WORKSPACE}/tests/ci
repo="${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/actions/runs"
tr_id=$(cat ${GITHUB_EVENT_PATH} | ./json_helper.py get_trigger_id)
tr_br=$(cat ${GITHUB_EVENT_PATH} | ./json_helper.py get_trigger_br)
check=$(cat ${GITHUB_EVENT_PATH} | ./json_helper.py check_skip)
check=$(cat ${GITHUB_EVENT_PATH} | ./json_helper.py check_run)
echo "TRIGGER_ID=${tr_id}" >> $GITHUB_ENV
echo "TRIGGER_BR=${tr_br}" >> $GITHUB_ENV
echo "skip-ci: ${check}"
if [[ $check == yes ]]; then
echo "skip-ci is requested"
echo "run-ci: ${check}"
if [[ $check == no ]]; then
echo "run-ci is not requested"
echo "CURR_JOB=cancelled" >> $GITHUB_ENV
curl -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -H "Accept: application/vnd.github.v3+json" ${repo}/$tr_id/cancel
else
echo "run-ci is requested"
echo "CURR_JOB=running" >> $GITHUB_ENV
fi
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/start_runners.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Start runners

on:
workflow_run:
workflows: ["Pull request tests"]
types:
- requested

jobs:
job1:
name: Start AWS runners
runs-on: ubuntu-20.04

steps:
- name: Check out codes
uses: actions/checkout@v2

- name: Configure AWS
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1

- name: Check the status of build and start self-hosted runners
env:
aws_instance_id: ${{ secrets.AWS_INSTANCE_ID }}
run: |
cd ${GITHUB_WORKSPACE}/tests/ci
conclusion=$(cat ${GITHUB_EVENT_PATH} | ./build_status_check.py)
if [[ $conclusion == "success" ]]; then
aws ec2 start-instances --instance-ids $aws_instance_id
fi
25 changes: 25 additions & 0 deletions .github/workflows/stop_runners.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Stop runners

on:
workflow_run:
workflows: ["Pull request tests"]
types:
- completed

jobs:
job1:
name: Stop AWS runners
runs-on: ubuntu-20.04

steps:
- name: Configure AWS
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1

- name: Stop self-hosted runners
env:
aws_instance_id: ${{ secrets.AWS_INSTANCE_ID }}
run: aws ec2 stop-instances --instance-ids $aws_instance_id
8 changes: 1 addition & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -204,13 +204,7 @@ endif()
###############################################################################
if(WW3)
if(CMAKE_Platform)
if(${CMAKE_Platform} STREQUAL "hera.intel")
set(WW3_COMP "hera")
elseif(${CMAKE_Platform} STREQUAL "orion.intel")
set(WW3_COMP "orion")
elseif(${CMAKE_Platform} STREQUAL "cheyenne.intel")
set(WW3_COMP "cheyenne")
elseif(${CMAKE_Platform} STREQUAL "wcoss2")
if(${CMAKE_Platform} STREQUAL "wcoss2")
set(WW3_COMP "wcoss_cray")
elseif(${CMAKE_Platform} MATCHES "linux*" OR ${CMAKE_Platform} MATCHES "macosx*")
if (CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
Expand Down
9 changes: 5 additions & 4 deletions MOM6-interface/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
else()
message(WARNING "Fortran compiler with ID ${CMAKE_Fortran_COMPILER_ID} will be used with CMake default options")
endif()
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${MOM6_Extra_FORTRAN_FLAGS}")

# User option to build MOM6 solo executable
set(MOM6SOLO OFF CACHE BOOL "Build MOM6 solo")
Expand All @@ -27,7 +28,7 @@ include("mom6_files.cmake")
add_library(mom6_obj OBJECT ${mom6_src_files})
set_target_properties(mom6_obj PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod)
target_include_directories(mom6_obj PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/mod>)
target_include_directories(mom6_obj PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/MOM6/config_src/dynamic>
target_include_directories(mom6_obj PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/MOM6/config_src/memory/dynamic_nonsymmetric>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/MOM6/src/framework>)
target_link_libraries(mom6_obj PRIVATE fms
NetCDF::NetCDF_Fortran)
Expand All @@ -39,7 +40,7 @@ target_link_libraries(mom6_obj PRIVATE fms
add_library(mom6_nuopc_obj OBJECT ${mom6_nuopc_src_files})
set_target_properties(mom6_nuopc_obj PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod)
target_include_directories(mom6_nuopc_obj PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/mod>)
target_include_directories(mom6_nuopc_obj PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/MOM6/config_src/dynamic>
target_include_directories(mom6_nuopc_obj PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/MOM6/config_src/memory/dynamic_nonsymmetric>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/MOM6/src/framework>)
target_link_libraries(mom6_nuopc_obj PRIVATE mom6_obj
fms
Expand All @@ -54,7 +55,7 @@ add_library(mom6 STATIC $<TARGET_OBJECTS:mom6_obj>
$<TARGET_OBJECTS:mom6_nuopc_obj>)
target_include_directories(mom6 PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/mod>
$<INSTALL_INTERFACE:mod>)
target_include_directories(mom6 PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/MOM6/config_src/dynamic>
target_include_directories(mom6 PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/MOM6/config_src/memory/dynamic_nonsymmetric>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/MOM6/src/framework>)
target_link_libraries(mom6 PUBLIC fms
esmf
Expand All @@ -72,7 +73,7 @@ if(MOM6SOLO)
set_target_properties(mom6solo PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod_solo)
target_include_directories(mom6solo PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/mod>)
target_include_directories(mom6solo PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/mod_solo>)
target_include_directories(mom6solo PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/MOM6/config_src/dynamic>
target_include_directories(mom6solo PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/MOM6/config_src/memory/dynamic_nonsymmetric>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/MOM6/src/framework>)
target_link_libraries(mom6solo PRIVATE mom6_obj
fms
Expand Down
2 changes: 1 addition & 1 deletion MOM6-interface/MOM6
Submodule MOM6 updated 336 files
46 changes: 30 additions & 16 deletions MOM6-interface/mom6_files.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ list(APPEND mom6_src_files

MOM6/src/diagnostics/MOM_PointAccel.F90
MOM6/src/diagnostics/MOM_debugging.F90
MOM6/src/diagnostics/MOM_spatial_means.F90
MOM6/src/diagnostics/MOM_diagnostics.F90
MOM6/src/diagnostics/MOM_obsolete_diagnostics.F90
MOM6/src/diagnostics/MOM_obsolete_params.F90
Expand Down Expand Up @@ -96,33 +97,33 @@ list(APPEND mom6_src_files
MOM6/src/framework/MOM_array_transform.F90
MOM6/src/framework/MOM_checksums.F90
MOM6/src/framework/MOM_coms.F90
MOM6/src/framework/MOM_constants.F90
MOM6/src/framework/MOM_coupler_types.F90
MOM6/src/framework/MOM_cpu_clock.F90
MOM6/src/framework/MOM_diag_manager_wrapper.F90
MOM6/src/framework/MOM_data_override.F90
MOM6/src/framework/MOM_diag_mediator.F90
MOM6/src/framework/MOM_diag_remap.F90
MOM6/src/framework/MOM_diag_vkernels.F90
MOM6/src/framework/MOM_document.F90
MOM6/src/framework/MOM_domains.F90
MOM6/src/framework/MOM_dyn_horgrid.F90
MOM6/src/framework/MOM_ensemble_manager.F90
MOM6/src/framework/MOM_error_handler.F90
MOM6/src/framework/MOM_file_parser.F90
MOM6/src/framework/MOM_get_input.F90
MOM6/src/framework/MOM_hor_index.F90
MOM6/src/framework/MOM_horizontal_regridding.F90
MOM6/src/framework/MOM_interpolate.F90
MOM6/src/framework/MOM_intrinsic_functions.F90
MOM6/src/framework/MOM_io.F90
MOM6/src/framework/MOM_random.F90
MOM6/src/framework/MOM_restart.F90
MOM6/src/framework/MOM_safe_alloc.F90
MOM6/src/framework/MOM_spatial_means.F90
MOM6/src/framework/MOM_string_functions.F90
MOM6/src/framework/MOM_time_manager.F90
MOM6/src/framework/MOM_transform_FMS.F90
MOM6/src/framework/MOM_unit_scaling.F90
MOM6/src/framework/MOM_write_cputime.F90

MOM6/src/ice_shelf/MOM_ice_shelf.F90
MOM6/src/ice_shelf/MOM_ice_shelf_diag_mediator.F90
MOM6/src/ice_shelf/MOM_ice_shelf_dynamics.F90
MOM6/src/ice_shelf/MOM_ice_shelf_initialize.F90
MOM6/src/ice_shelf/MOM_ice_shelf_state.F90
Expand Down Expand Up @@ -252,21 +253,34 @@ list(APPEND mom6_src_files
MOM6/config_src/external/ODA_hooks/ocean_da_types.F90
MOM6/config_src/external/ODA_hooks/write_ocean_obs.F90

MOM6/config_src/infra/FMS1/MOM_coms_infra.F90
MOM6/config_src/infra/FMS1/MOM_constants.F90
MOM6/config_src/infra/FMS1/MOM_couplertype_infra.F90
MOM6/config_src/infra/FMS1/MOM_cpu_clock_infra.F90
MOM6/config_src/infra/FMS1/MOM_data_override_infra.F90
MOM6/config_src/infra/FMS1/MOM_diag_manager_infra.F90
MOM6/config_src/infra/FMS1/MOM_domain_infra.F90
MOM6/config_src/infra/FMS1/MOM_ensemble_manager_infra.F90
MOM6/config_src/infra/FMS1/MOM_error_infra.F90
MOM6/config_src/infra/FMS1/MOM_interp_infra.F90
MOM6/config_src/infra/FMS1/MOM_io_infra.F90
MOM6/config_src/infra/FMS1/MOM_time_manager.F90

)

list(APPEND mom6_nuopc_src_files
MOM6/config_src/nuopc_driver/mom_cap.F90
MOM6/config_src/nuopc_driver/time_utils.F90
MOM6/config_src/nuopc_driver/mom_cap_methods.F90
MOM6/config_src/nuopc_driver/mom_cap_time.F90
MOM6/config_src/nuopc_driver/mom_ocean_model_nuopc.F90
MOM6/config_src/nuopc_driver/mom_surface_forcing_nuopc.F90
MOM6/config_src/drivers/nuopc_cap/mom_cap.F90
MOM6/config_src/drivers/nuopc_cap/time_utils.F90
MOM6/config_src/drivers/nuopc_cap/mom_cap_methods.F90
MOM6/config_src/drivers/nuopc_cap/mom_cap_time.F90
MOM6/config_src/drivers/nuopc_cap/mom_ocean_model_nuopc.F90
MOM6/config_src/drivers/nuopc_cap/mom_surface_forcing_nuopc.F90
)

list(APPEND mom6_solo_src_files
MOM6/config_src/solo_driver/MESO_surface_forcing.F90
MOM6/config_src/solo_driver/MOM_driver.F90
MOM6/config_src/solo_driver/MOM_surface_forcing.F90
MOM6/config_src/solo_driver/atmos_ocean_fluxes.F90
MOM6/config_src/solo_driver/user_surface_forcing.F90
MOM6/config_src/drivers/solo_driver/MESO_surface_forcing.F90
MOM6/config_src/drivers/solo_driver/MOM_driver.F90
MOM6/config_src/drivers/solo_driver/MOM_surface_forcing.F90
MOM6/config_src/drivers/solo_driver/atmos_ocean_fluxes.F90
MOM6/config_src/drivers/solo_driver/user_surface_forcing.F90
)
2 changes: 1 addition & 1 deletion WW3
Submodule WW3 updated 189 files
1 change: 1 addition & 0 deletions cmake/configure_gaea.intel.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
set(INLINE_POST ON CACHE BOOL "Enable inline post" FORCE)
set(PARALLEL_NETCDF ON CACHE BOOL "Enable parallel NetCDF" FORCE)
set(DEBUG_LINKMPI OFF CACHE BOOL "Enable linkmpi option when DEBUG mode is on" FORCE)
set(MOM6_Extra_FORTRAN_FLAGS "-xsse2")
2 changes: 1 addition & 1 deletion modulefiles/cheyenne.gnu/fv3
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,4 @@ module load nemsio/2.5.2
module load sp/2.3.3
module load w3emc/2.7.3
module load w3nco/2.4.1
module load upp/10.0.0
module load upp/10.0.4
Loading

0 comments on commit f204bfd

Please sign in to comment.