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

Add regional regression test in DEBUG mode. #400

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion CMEPS-interface/CMEPS
Submodule CMEPS updated 46 files
+3 −15 .github/pull_request_template.md
+0 −48 CMakeLists.txt
+5 −1 cime_config/buildnml
+9 −189 cime_config/namelist_definition_drv.xml
+20 −26 cime_config/runseq/runseq_D.py
+82 −0 cime_config/runseq/runseq_NEMS.py
+3 −2 cime_config/runseq/runseq_TG.py
+65 −91 cime_config/runseq/runseq_general.py
+64 −12 cime_config/testdefs/testlist_drv.xml
+0 −47 cmake/FindESMF.cmake
+0 −103 cmake/FindPIO.cmake
+0 −104 cmake/LibCheck.cmake
+0 −333 cmake/LibFind.cmake
+0 −39 mediator/CMakeLists.txt
+4 −15 mediator/Makefile
+87 −57 mediator/esmFlds.F90
+337 −420 mediator/esmFldsExchange_cesm_mod.F90
+22 −34 mediator/esmFldsExchange_hafs_mod.F90
+16 −18 mediator/esmFldsExchange_nems_mod.F90
+0 −14 mediator/fd_cesm.yaml
+265 −482 mediator/med.F90
+180 −291 mediator/med_diag_mod.F90
+126 −83 mediator/med_fraction_mod.F90
+27 −3 mediator/med_internalstate_mod.F90
+155 −201 mediator/med_io_mod.F90
+6 −3 mediator/med_map_mod.F90
+15 −21 mediator/med_merge_mod.F90
+5 −117 mediator/med_methods_mod.F90
+13 −36 mediator/med_phases_aofluxes_mod.F90
+1 −1 mediator/med_phases_history_mod.F90
+1 −1 mediator/med_phases_ocnalb_mod.F90
+0 −103 mediator/med_phases_post_atm_mod.F90
+0 −569 mediator/med_phases_post_glc_mod.F90
+0 −104 mediator/med_phases_post_ice_mod.F90
+0 −152 mediator/med_phases_post_lnd_mod.F90
+0 −93 mediator/med_phases_post_ocn_mod.F90
+0 −96 mediator/med_phases_post_rof_mod.F90
+0 −79 mediator/med_phases_post_wav_mod.F90
+136 −120 mediator/med_phases_prep_atm_mod.F90
+621 −864 mediator/med_phases_prep_glc_mod.F90
+132 −84 mediator/med_phases_prep_ice_mod.F90
+406 −62 mediator/med_phases_prep_lnd_mod.F90
+175 −46 mediator/med_phases_prep_ocn_mod.F90
+193 −215 mediator/med_phases_prep_rof_mod.F90
+7 −3 mediator/med_phases_profile_mod.F90
+0 −7 nems/util/CMakeLists.txt
22 changes: 11 additions & 11 deletions CMEPS-interface/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,17 @@ else()
endif()

list(APPEND _nems_util_files
CMEPS/nems/util/shr_abort_mod.F90
CMEPS/nems/util/shr_log_mod.F90
CMEPS/nems/util/shr_pio_mod.F90
CMEPS/nems/util/shr_sys_mod.F90
CMEPS/nems/util/shr_flux_mod.F90
CMEPS/nems/util/shr_mpi_mod.F90
CMEPS/nems/util/glc_elevclass_mod.F90
CMEPS/nems/util/shr_mem_mod.F90
CMEPS/nems/util/shr_kind_mod.F90
CMEPS/nems/util/perf_mod.F90
CMEPS/nems/util/shr_const_mod.F90)
CMEPS/util/shr_abort_mod.F90
CMEPS/util/shr_log_mod.F90
CMEPS/util/shr_pio_mod.F90
CMEPS/util/shr_sys_mod.F90
CMEPS/util/shr_flux_mod.F90
CMEPS/util/shr_mpi_mod.F90
CMEPS/util/glc_elevclass_mod.F90
CMEPS/util/shr_mem_mod.F90
CMEPS/util/shr_kind_mod.F90
CMEPS/util/perf_mod.F90
CMEPS/util/shr_const_mod.F90)

list(APPEND _mediator_files
CMEPS/mediator/med_phases_restart_mod.F90
Expand Down
29 changes: 21 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,17 @@ if(CMAKE_Platform)
else()
message("Platform '${CMAKE_Platform}' configuration file does not exist")
endif()

# DH* 20210208 temporary workaround for FMS issues on Cheyenne with GNU 9.1.0
if (CMAKE_Platform MATCHES "cheyenne.gnu")
message("Applying patch cheyenne_gnu_fms_mpp_util_mpi_inc.patch")
execute_process(COMMAND patch -N -p0 INPUT_FILE cheyenne_gnu_fms_mpp_util_mpi_inc.patch
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/cheyenne_gnu_fms_mpp_util_mpi_inc.patch.out
ERROR_FILE ${CMAKE_CURRENT_BINARY_DIR}/cheyenne_gnu_fms_mpp_util_mpi_inc.patch.err
RESULT_VARIABLE RC)
# *DH 20210208
endif()
endif()

message("")
Expand Down Expand Up @@ -111,10 +122,7 @@ endif()
target_link_libraries(nemsio::nemsio INTERFACE w3emc::w3emc_d bacio::bacio_4)

# Configure Python
find_package(Python 3 QUIET COMPONENTS Interpreter)
if (NOT Python_Interpreter_FOUND)
find_package(Python 2.7 REQUIRED COMPONENTS Interpreter)
endif()
find_package(Python 3 REQUIRED COMPONENTS Interpreter)
message("Found Python: ${Python_EXECUTABLE}")

###############################################################################
Expand All @@ -133,8 +141,6 @@ endif()
###############################################################################
include(fms_files.cmake)
add_library(fms ${fms_src_files} ${fms_headers})
# stupid cmake can not figure out dependency of fft.F90 on fft99.F90 because 'use fft99_mod' is inside ifdefs
set_property(SOURCE FMS/fft/fft.F90 APPEND_STRING PROPERTY COMPILE_FLAGS "-DSGICRAY=0 -DNAGFFT=0")

list(APPEND _fms_defs_public use_libMPI
use_netCDF
Expand All @@ -143,6 +149,14 @@ list(APPEND _fms_defs_public use_libMPI
if(QUAD_PRECISION)
list(APPEND _fms_defs_public ENABLE_QUAD_PRECISION)
endif()

# check gettid
include(CheckFunctionExists)
check_function_exists(gettid HAVE_GETTID)
if(HAVE_GETTID)
list(APPEND _fms_defs_public HAVE_GETTID)
endif()

target_compile_definitions(fms PUBLIC "${_fms_defs_public}")

if(32BIT)
Expand Down Expand Up @@ -241,8 +255,7 @@ list(APPEND _nems_srcs NEMS/src/module_NEMS_UTILS.F90
NEMS/src/module_NEMS_INTERNAL_STATE.F90
NEMS/src/module_NEMS_GRID_COMP.F90
NEMS/src/module_NEMS_Rusage.F90
NEMS/src/nems_c_rusage.c
NEMS/src/ENS_Cpl/ENS_CplComp_ESMFMod_STUB.F90)
NEMS/src/nems_c_rusage.c)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/NEMS/src/ESMFVersionDefine_ESMF_NUOPC.h
${CMAKE_CURRENT_BINARY_DIR}/NEMS/src/ESMFVersionDefine.h
Expand Down
2 changes: 1 addition & 1 deletion FV3
Submodule FV3 updated 37 files
+63 −51 CMakeLists.txt
+1 −1 atmos_cubed_sphere
+452 −356 atmos_model.F90
+4 −0 ccpp/CMakeLists.txt
+5 −3 ccpp/config/ccpp_prebuild_config.py
+0 −43 ccpp/data/CMakeLists.txt
+5 −29 ccpp/driver/CMakeLists.txt
+0 −180 ccpp/driver/GFS_init.F90
+1 −1 ccpp/physics
+3 −0 ccpp/suites/suite_FV3_GSD_SAR.xml
+1 −0 ccpp/suites/suite_FV3_GSD_noah.xml
+4 −0 ccpp/suites/suite_FV3_GSD_v0.xml
+3 −0 ccpp/suites/suite_FV3_GSD_v0_RRTMGP.xml
+3 −0 ccpp/suites/suite_FV3_GSD_v0_drag_suite.xml
+3 −0 ccpp/suites/suite_FV3_GSD_v0_mynnsfc.xml
+3 −0 ccpp/suites/suite_FV3_GSD_v0_unified_ugwp_suite.xml
+3 −0 ccpp/suites/suite_FV3_HRRR.xml
+3 −0 ccpp/suites/suite_FV3_RAP.xml
+0 −0 gfsphysics/CCPP_layer/CCPP_data.F90
+1 −1 gfsphysics/CCPP_layer/CCPP_data.meta
+0 −0 gfsphysics/CCPP_layer/CCPP_typedefs.F90
+1 −1 gfsphysics/CCPP_layer/CCPP_typedefs.meta
+188 −7 gfsphysics/CMakeLists.txt
+94 −0 gfsphysics/GFS_layer/GFS_abstraction_layer.F90
+126 −6 gfsphysics/GFS_layer/GFS_diagnostics.F90
+1,114 −0 gfsphysics/GFS_layer/GFS_driver.F90
+9 −2 gfsphysics/GFS_layer/GFS_restart.F90
+478 −185 gfsphysics/GFS_layer/GFS_typedefs.F90
+22 −60 gfsphysics/GFS_layer/GFS_typedefs.meta
+8 −5 io/CMakeLists.txt
+453 −321 io/FV3GFS_io.F90
+33 −0 ipd/CMakeLists.txt
+121 −0 ipd/IPD_driver.F90
+165 −0 ipd/IPD_typedefs.F90
+58 −0 ipd/makefile
+4 −2 stochastic_physics/CMakeLists.txt
+18 −103 stochastic_physics/stochastic_physics_wrapper.F90
2 changes: 1 addition & 1 deletion NEMS
12 changes: 12 additions & 0 deletions cheyenne_gnu_fms_mpp_util_mpi_inc.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
--- FMS/mpp/include/mpp_util_mpi.inc 2021-02-08 08:24:21.000000000 -0700
+++ FMS/mpp/include/mpp_util_mpi.inc 2021-02-08 08:24:15.000000000 -0700
@@ -169,7 +169,8 @@
integer, intent(in ), optional :: msg_size(:)
integer, intent(in ), optional :: msg_type(:)

- integer :: i, m, n, stride, my_check, rsize
+ integer :: i, m, n, stride, my_check
+ integer, volatile :: rsize

if( debug .and. (current_clock.NE.0) )call SYSTEM_CLOCK(start_tick)
my_check = EVENT_SEND
25 changes: 15 additions & 10 deletions fms_files.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,21 @@ list(APPEND fms_src_files
FMS/amip_interp/amip_interp.F90
FMS/astronomy/astronomy.F90
FMS/axis_utils/axis_utils.F90
FMS/axis_utils/axis_utils2.F90
FMS/block_control/block_control.F90
FMS/column_diagnostics/column_diagnostics.F90
FMS/constants/constants.F90
FMS/coupler/atmos_ocean_fluxes.F90
FMS/coupler/coupler_types.F90
FMS/coupler/ensemble_manager.F90
FMS/data_override/data_override.F90
FMS/data_override/get_grid_version_fms2io.F90
FMS/data_override/get_grid_version_mpp.F90
FMS/diag_integral/diag_integral.F90
FMS/diag_manager/diag_axis.F90
FMS/diag_manager/diag_data.F90
FMS/diag_manager/diag_grid.F90
FMS/diag_manager/diag_manager.F90
FMS/diag_manager/diag_manifest.F90
FMS/diag_manager/diag_output.F90
FMS/diag_manager/diag_table.F90
FMS/diag_manager/diag_util.F90
Expand All @@ -28,12 +30,16 @@ list(APPEND fms_src_files
FMS/drifters/quicksort.F90
FMS/exchange/stock_constants.F90
FMS/exchange/xgrid.F90
FMS/fft/fft.F90
FMS/fft/fft99.F90
FMS/field_manager/field_manager.F90
FMS/field_manager/fm_util.F90
FMS/fms/fms.F90
FMS/fms/fms_io.F90
FMS/fms2_io/blackboxio.F90
FMS/fms2_io/fms_io_utils.F90
FMS/fms2_io/fms_netcdf_domain_io.F90
FMS/fms2_io/fms_netcdf_unstructured_domain_io.F90
FMS/fms2_io/fms2_io.F90
FMS/fms2_io/netcdf_io.F90
FMS/horiz_interp/horiz_interp.F90
FMS/horiz_interp/horiz_interp_bicubic.F90
FMS/horiz_interp/horiz_interp_bilinear.F90
Expand All @@ -43,42 +49,41 @@ list(APPEND fms_src_files
FMS/interpolator/interpolator.F90
FMS/memutils/memutils.F90
FMS/monin_obukhov/monin_obukhov.F90
FMS/monin_obukhov/monin_obukhov_kernel.F90
FMS/monin_obukhov/monin_obukhov_inter.F90
FMS/mosaic/gradient.F90
FMS/mosaic/grid.F90
FMS/mosaic/mosaic.F90
FMS/mosaic/mosaic2.F90
FMS/mpp/mpp.F90
FMS/mpp/mpp_data.F90
FMS/mpp/mpp_domains.F90
FMS/mpp/mpp_efp.F90
FMS/mpp/mpp_io.F90
FMS/mpp/mpp_memutils.F90
FMS/mpp/mpp_parameter.F90
FMS/mpp/mpp_pset.F90
FMS/mpp/mpp_utilities.F90
FMS/platform/platform.F90
FMS/random_numbers/MersenneTwister.F90
FMS/random_numbers/mersennetwister.F90
FMS/random_numbers/random_numbers.F90
FMS/sat_vapor_pres/sat_vapor_pres.F90
FMS/sat_vapor_pres/sat_vapor_pres_k.F90
FMS/station_data/station_data.F90
FMS/time_interp/time_interp.F90
FMS/time_interp/time_interp_external.F90
FMS/time_interp/time_interp_external2.F90
FMS/time_manager/get_cal_time.F90
FMS/time_manager/time_manager.F90
FMS/topography/gaussian_topog.F90
FMS/topography/topography.F90
FMS/tracer_manager/tracer_manager.F90
FMS/tridiagonal/tridiagonal.F90

FMS/memutils/memuse.c
FMS/affinity/affinity.c
FMS/mpp/mpp_memuse.c
FMS/mosaic/create_xgrid.c
FMS/mosaic/gradient_c2l.c
FMS/mosaic/interp.c
FMS/mosaic/mosaic_util.c
FMS/mosaic/read_mosaic.c
FMS/mpp/nsclock.c
FMS/mpp/threadloc.c
)

list( APPEND fms_headers
Expand Down
1 change: 1 addition & 0 deletions modulefiles/orion.intel/fv3
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ setenv CMAKE_C_COMPILER mpiicc
setenv CMAKE_CXX_COMPILER mpiicpc
setenv CMAKE_Fortran_COMPILER mpiifort
setenv CMAKE_Platform orion.intel
module load python/3.7.5

module use /apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack

Expand Down
1 change: 1 addition & 0 deletions modulefiles/orion.intel/fv3_debug
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ setenv CMAKE_C_COMPILER mpiicc
setenv CMAKE_CXX_COMPILER mpiicpc
setenv CMAKE_Fortran_COMPILER mpiifort
setenv CMAKE_Platform orion.intel
module load python/3.7.5

module use /apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack

Expand Down
2 changes: 1 addition & 1 deletion stochastic_physics
Loading