Skip to content

Commit

Permalink
Merge upstream@d87b54c into feature/ufs_fire_cpl
Browse files Browse the repository at this point in the history
  • Loading branch information
danrosen25 committed Feb 29, 2024
2 parents c532382 + d87b54c commit 78cf495
Show file tree
Hide file tree
Showing 193 changed files with 8,179 additions and 57,709 deletions.
198 changes: 123 additions & 75 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,93 +1,144 @@
<!-- INSTRUCTIONS:
- Please fill out all sections of this PR and complete the checklist below
- Please be as descriptive as possible, this is really important.
- Please "fill in" checkboxes. Use [X] for a filled in checkbox or leave it [ ] for an empty checkbox
- Please use github markup as much as possible in linking
i.e.:
* Linking to UFSWM PR's and issues add - #<pr/issue number>
* Linking to a subcomponent PR and issues add - <Group>/<Fork>/pull/<number> or - <Group>/<Fork>/issues/<number>
- PLEASE READ/FOLLOW THE DIRECTIONS IN EACH SECTION
- Complete the 'Commit Queue Requirements' below
- Please use github markup as much as possible (https://docs.github.com/en/get-started/writing-on-github)
- Please leave your PR in a draft state until all underlying work is completed.
-->
## Commit Queue Requirements:
<!-- Please note: PRs will be scheduled in the Commit Queue in the order received and only after all
pre-requisite testing is complete and all PR requirements (e.g. Issues created and noted, Subcomponent
PRs reviewed and accepted) are met. -->
<!--
- Please complete the items that follow this.
- Please "check off" completed items. Use [X] for a filled in checkbox or leave it [ ] for an empty checkbox
- Your PR will not be considered until all requirements are met.
- THIS IS YOUR RESPONSIBILITY
-->
- [ ] Fill out all sections of this template.
- [ ] All sub component pull requests have been reviewed by their code managers.
- [ ] Run the full RT suite (compared to current baselines) on either Hera/Derecho/Hercules AND have committed the log to my PR branch.
- [ ] Add list of all failed regression tests in "Regression Tests" section.

## PR Information
- [ ] Run the full Intel+GNU RT suite (compared to current baselines) on either Hera/Derecho/Hercules
- [ ] Commit 'test_changes.list' from previous step
---
## Description:
<!--
Please provide a detailed verbose description of what this PR does
-->

### Description
<!-- Provide a detailed description of what this PR does in the space provided below-->

### Commit Message
### Commit Message:
<!--
Please provide the following concise information:
Description of all changes - 1 line
Please list all individual issue titles addressed with github links at the end in parenthesis (using #<number> or <group>/<fork>/issues/<number>).
Please provide concise information for The UFS-WM and/or each sub-component:
Please delete what is not needed.
-->
```
* UFSWM -
* AQM -
* CDEPS -
* CICE -
* CMEPS -
* CMakeModules -
* FV3 -
* ccpp-physics -
* atmos_cubed_sphere -
* GOCART -
* HYCOM -
* MOM6 -
* NOAHMP -
* WW3 -
* stochastic_physics -
```

### Priority:
<!--
Please provide the priority you would prefer this pull request to have.
* Critical Bugfix: Model is wrong.
* High: Time-sensitive project.
* Normal.
Please delete the ones that are not applicable
-->
* Critical Bugfix: Reason
* High: Reason
* Normal

### Priority
- [ ] Critical Bugfix (This PR contains a critical bug fix and should be prioritized.)
- [ ] High (This PR contains a feature or fix needed for a time-sensitive project (eg, retrospectives, implementations))
- [ ] Normal

### Blocking Dependencies
<!-- If there are any PR's that are needed to be completed before this one, please add links
to them here -->
## Git Tracking
### UFSWM:
<!--
Please add the UFS-WM github issue here if there is one
Please delete the one that is not applicable.
-->
* Closes #
* None

### Git Issues Fixed By This PR
<!-- Example: - Closes #1698 or - Closes NOAA-EMC/fv3atm/issues/729 -->
### Sub component Pull Requests:
<!--
Please provide a list of sub-components involved with this pull request.
Please provide links to the sub-component pull requests as shown below.
Please delete what is not needed.
Example:
* FV3: NOAA-EMC/fv3atm#734
* ccpp-physics: ufs-community/ccpp-physics#33
* WW3: NOAA-EMC/WW3#321
-->
* AQM:
* CDEPS:
* CICE:
* CMEPS:
* CMakeModules:
* FV3:
* ccpp-physics:
* atmos_cubed_sphere:
* GOCART:
* HYCOM:
* MOM6:
* NOAHMP:
* WW3:
* stochastic_physics:
* None

### UFSWM Blocking Dependencies:
<!--
If there are any UFSWM PR's that are needed to be completed before this one, please add links
to them here
Please delete what is not needed.
-->
* Blocked by #
* None

---
## Changes

### Subcomponent (with links)
<!-- (add links to subcomponent PR's here) -->
<!-- Example:
[X] FV3
- NOAA-EMC/fv3atm/pull/734
- NOAA-EMC/fv3atm/pull/735
### Regression Test Changes (Please commit test_changes.list):
<!--
Please let us know if this PR creates new baselines, changes baselines or not.
Please delete what is not needed.
Please make sure you have properly submitted test_changes.list
-->
- [ ] AQM
- [ ] CDEPS
- [ ] CICE
- [ ] CMEPS
- [ ] CMakeModules
- [ ] FV3
- [ ] GOCART
- [ ] HYCOM
- [ ] MOM6
- [ ] NOAHMP
- [ ] WW3
- [ ] stochastic_physics
- [ ] none
* PR Adds New Tests/Baselines.
* PR Updates/Changes Baselines.
* No Baseline Changes.

### Input data
- [ ] No changes are expected to input data.
- [ ] Changes are expected to input data:
- [ ] New input data.
- [ ] Updated input data.

### Regression Tests:
- [ ] No changes are expected to any regression test.
- [ ] Changes are expected to the following tests:
<details><summary>FAILED REGRESSION TESTS</summary>
<!-- List failed regression tests here or add "None" -->

</details>
### Input data Changes:
<!--
If there are any changes to input-data for a test, please provide information here.
Please delete what is not needed.
-->
* None.
* New input data.
* Updated input data.

### Libraries
<!-- Library updates take time. If this PR needs updates to libraries, please make sure to accomplish the following tasks -->
- [ ] Not Needed
- [ ] Needed
- [ ] Create separate issue in [JCSDA/spack-stack](https://github.com/JCSDA/spack-stack) asking for update to library. Include library name, library version.
- [ ] Add issue link from JCSDA/spack-stack following this item <!-- for example: "- JCSDA/spack-stack/issue/1757" -->
### Library Changes/Upgrades:
<!-- Library updates take time. Please provide library and version information here.
** SPECIAL INSTRUCTIONS **
If this PR needs updates to libraries please make sure to accomplish the following tasks:
- Create separate issue in (https://github.com/JCSDA/spack-stack) asking for update to library. Include library name, library version.
- Add issue link from JCSDA/spack-stack following this item <!-- for example: "* JCSDA/spack-stack#1757"
Please delete what is not needed.
-->
* Required
* Library names w/versions:
* Git Stack Issue (JCSDA/spack-stack#)
* No Updates

---
<!-- STOP!!! THE FOLLOWING IS FOR CODE MANAGERS ONLY. PLEASE DO NOT FILL OUT -->
### Testing Log:
## Testing Log:
- RDHPCS
- [ ] Hera
- [ ] Orion
Expand All @@ -98,8 +149,5 @@ Please list all individual issue titles addressed with github links at the end i
- WCOSS2
- [ ] Dogwood/Cactus
- [ ] Acorn
- CI
- [ ] Completed
- opnReqTest
- [ ] N/A
- [ ] Log attached to comment
- [ ] CI
- [ ] opnReqTest (complete task if unnecessary)
4 changes: 2 additions & 2 deletions CDEPS-interface/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CDEPS compiler flags
if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
set(CMAKE_Fortran_FLAGS "-g -fbacktrace -ffree-line-length-none")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -fbacktrace -ffree-line-length-none")
#Set CPP defintions for the ufs/cdeps_share target library
list(APPEND CDEPS_SHARE_DEFS "CPRGNU")
if(${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 10)
Expand All @@ -9,7 +9,7 @@ if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
set(CMAKE_Fortran_FLAGS_RELEASE "-O2")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -fcheck=bounds -ffpe-trap=invalid,zero,overflow,underflow" )
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
set(CMAKE_Fortran_FLAGS "-g -traceback")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -traceback")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -O -assume realloc_lhs")
set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -fp-model precise")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -check -check noarg_temp_created -check nopointer -fpe0 -ftrapuv -init=snan,arrays")
Expand Down
5 changes: 5 additions & 0 deletions CDEPS-interface/cdeps_files.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,18 @@ list(APPEND cdeps_share_files
CDEPS/share/shr_assert.h
CDEPS/share/shr_cal_mod.F90
CDEPS/share/shr_const_mod.F90
CDEPS/share/shr_file_mod.F90
CDEPS/share/shr_kind_mod.F90
CDEPS/share/shr_log_mod.F90
CDEPS/share/shr_nl_mod.F90
CDEPS/share/shr_orb_mod.F90
CDEPS/share/shr_precip_mod.F90
CDEPS/share/shr_strconvert_mod.F90
CDEPS/share/shr_string_mod.F90
CDEPS/share/shr_sys_mod.F90
CDEPS/share/shr_timer_mod.F90
CDEPS/share/shr_file_mod.F90
CDEPS/share/shr_nl_mod.F90
)

list(APPEND cdeps_streams_files
Expand All @@ -46,6 +50,7 @@ list(APPEND cdeps_datm_files
CDEPS/datm/datm_datamode_gfs_mod.F90
CDEPS/datm/datm_datamode_gfs_hafs_mod.F90
CDEPS/datm/datm_datamode_jra_mod.F90
CDEPS/datm/datm_datamode_simple_mod.F90
)

list(APPEND cdeps_dice_files
Expand Down
2 changes: 1 addition & 1 deletion CICE-interface/CICE
Submodule CICE updated 104 files
13 changes: 5 additions & 8 deletions CICE-interface/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### CICE Fortran compiler flags
if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
set(CMAKE_Fortran_FLAGS "-g -fbacktrace")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -fbacktrace")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fconvert=big-endian -ffree-line-length-none ")
if(${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 10)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz")
Expand All @@ -9,7 +9,7 @@ if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -Wall -Wextra -fcheck=bounds -ffpe-trap=invalid,zero,overflow,underflow" )
set(CMAKE_Fortran_LINK_FLAGS "" )
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
set(CMAKE_Fortran_FLAGS "-g -traceback")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -traceback")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -FR -convert big_endian -assume byterecl -ftz -align array64byte")
set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -fp-model precise")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created -init=snan,arrays")
Expand All @@ -20,20 +20,17 @@ endif()

### CICE C compiler flags
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
set(CMAKE_C_FLAGS "-g")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
set(CMAKE_C_FLAGS_RELEASE "-O3")
set(CMAKE_C_FLAGS_DEBUG "-O0")
set(CMAKE_C_LINK_FLAGS "")
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
set( CMAKE_C_FLAGS "-g -traceback")
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -traceback")
set( CMAKE_C_FLAGS_RELEASE "-O2 -fp-model precise")
set( CMAKE_C_FLAGS_DEBUG "-O0 -ftrapuv")
set( CMAKE_C_LINK_FLAGS "")
elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
set(CMAKE_C_FLAGS "-g")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
set( CMAKE_C_FLAGS_RELEASE "-O3" )
set( CMAKE_C_FLAGS_DEBUG "-O0" )
set( CMAKE_C_LINK_FLAGS "" )
Expand Down
4 changes: 3 additions & 1 deletion CICE-interface/cice_files.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ list(APPEND cice_shared_files
#Dynamics List:
CICE/cicecore/cicedyn/dynamics/ice_dyn_eap.F90
CICE/cicecore/cicedyn/dynamics/ice_dyn_evp.F90
CICE/cicecore/cicedyn/dynamics/ice_dyn_evp_1d.F90
CICE/cicecore/cicedyn/dynamics/ice_dyn_evp1d.F90
CICE/cicecore/cicedyn/dynamics/ice_dyn_core1d.F90
CICE/cicecore/cicedyn/dynamics/ice_dyn_shared.F90
CICE/cicecore/cicedyn/dynamics/ice_dyn_vp.F90
CICE/cicecore/cicedyn/dynamics/ice_transport_driver.F90
Expand Down Expand Up @@ -75,6 +76,7 @@ list(APPEND icepack_files
CICE/icepack/columnphysics/icepack_orbital.F90
CICE/icepack/columnphysics/icepack_parameters.F90
CICE/icepack/columnphysics/icepack_shortwave.F90
CICE/icepack/columnphysics/icepack_shortwave_data.F90
CICE/icepack/columnphysics/icepack_snow.F90
CICE/icepack/columnphysics/icepack_therm_bl99.F90
CICE/icepack/columnphysics/icepack_therm_itd.F90
Expand Down
19 changes: 14 additions & 5 deletions CMEPS-interface/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,17 @@
###############################################################################

if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
set(CMAKE_Fortran_FLAGS "-g -fbacktrace -ffree-line-length-none")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -fbacktrace -ffree-line-length-none")
#Set CPP defintions for the ufs/cdeps_share source component of the cmeps target library
list(APPEND CDEPS_SHARE_DEFS "CPRGNU")
if(${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 10)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz")
endif()
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}")
set(CMAKE_Fortran_FLAGS_RELEASE "-O2")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -fcheck=bounds -ffpe-trap=invalid,zero,overflow,underflow" )
set(CMAKE_Fortran_LINK_FLAGS "")
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
set(CMAKE_Fortran_FLAGS "-g -traceback")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -traceback")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -O -assume realloc_lhs")
set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -fp-model precise")
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -check -check noarg_temp_created -check nopointer -fpe0 -ftrapuv -init=snan,arrays")
Expand Down Expand Up @@ -82,6 +81,11 @@ list(APPEND _mediator_files
CMEPS/mediator/med_phases_post_rof_mod.F90
CMEPS/mediator/med_phases_post_wav_mod.F90)

if(CDEPS_INLINE)
list(APPEND _mediator_files CMEPS/mediator/med_phases_cdeps_mod.F90)
add_definitions(-DCDEPS_INLINE)
endif()

###############################################################################
### Host model for CCPP
###############################################################################
Expand Down Expand Up @@ -179,13 +183,18 @@ set_target_properties(cmeps PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_
target_include_directories(cmeps PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/mod>
$<INSTALL_INTERFACE:mod>)
target_compile_definitions(cmeps PRIVATE ${CDEPS_SHARE_DEFS})
target_link_libraries(cmeps PUBLIC fms
esmf
target_link_libraries(cmeps PUBLIC esmf
PIO::PIO_Fortran)
if(OpenMP_Fortran_FOUND)
target_link_libraries(cmeps PRIVATE OpenMP::OpenMP_Fortran)
endif()

### Set dependency for CDEPS if inline capability is requested
if(CDEPS_INLINE)
add_dependencies(cmeps cdeps::cdeps)
target_link_libraries(cmeps PUBLIC cdeps::cdeps)
endif()

###############################################################################
### Install
###############################################################################
Expand Down
Loading

0 comments on commit 78cf495

Please sign in to comment.