From 29806e62aa84df3f43c9b169eb30c50bee30a8cf Mon Sep 17 00:00:00 2001 From: "guoqing.ge" Date: Tue, 17 Mar 2026 17:34:47 -0600 Subject: [PATCH 1/2] let CMake checkout frozen references of physics_mmm and UGWP --- src/core_atmosphere/CMakeLists.txt | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/core_atmosphere/CMakeLists.txt b/src/core_atmosphere/CMakeLists.txt index 8775bd3389..ab8cb37e3d 100644 --- a/src/core_atmosphere/CMakeLists.txt +++ b/src/core_atmosphere/CMakeLists.txt @@ -140,7 +140,7 @@ set(ATMOSPHERE_CORE_PHYSICS_SMOKE_SOURCES list(TRANSFORM ATMOSPHERE_CORE_PHYSICS_SMOKE_SOURCES PREPEND physics/physics_noaa/SMOKE/) set(ATMOSPHERE_CORE_PHYSICS_MMM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/physics/physics_mmm) - +set(PHYSICS_MMM_REF "20250616-MPASv8.3") if(NOT EXISTS ${ATMOSPHERE_CORE_PHYSICS_MMM_DIR}) set(PHYSICS_MMM_REPO_URL "https://github.com/NCAR/MMM-physics") execute_process(COMMAND git clone ${PHYSICS_MMM_REPO_URL} ${ATMOSPHERE_CORE_PHYSICS_MMM_DIR} @@ -150,9 +150,15 @@ if(NOT EXISTS ${ATMOSPHERE_CORE_PHYSICS_MMM_DIR}) if(NOT GIT_CLONE_RESULT EQUAL 0) message(FATAL_ERROR "Git clone failed with error: ${GIT_CLONE_ERROR}") endif() - + # Checkout a specific tag or commit + execute_process(COMMAND git checkout ${PHYSICS_MMM_REF} + WORKING_DIRECTORY ${ATMOSPHERE_CORE_PHYSICS_MMM_DIR} + RESULT_VARIABLE GIT_CHECKOUT_RESULT) + if(NOT GIT_CHECKOUT_RESULT EQUAL 0) + message(WARNING "Failed to checkout ${PHYSICS_MMM_REF}, using default branch") + endif() else() - message(STATUS "Directory ${DIR_TO_CHECK} already exists, skipping clone") + message(STATUS "Directory ${ATMOSPHERE_CORE_PHYSICS_MMM_DIR} already exists, skipping clone") endif() set(ATMOSPHERE_CORE_PHYSICS_MMM_SOURCES @@ -173,7 +179,7 @@ set(ATMOSPHERE_CORE_PHYSICS_MMM_SOURCES list(TRANSFORM ATMOSPHERE_CORE_PHYSICS_MMM_SOURCES PREPEND physics/physics_mmm/) set(ATMOSPHERE_CORE_PHYSICS_UGWP_DIR ${CMAKE_CURRENT_SOURCE_DIR}/physics/physics_noaa/UGWP) - +set(PHYSICS_UGWP_REF "MPAS_20241223") if(NOT EXISTS ${ATMOSPHERE_CORE_PHYSICS_UGWP_DIR}) set(PHYSICS_UGWP_REPO_URL "https://github.com/NOAA-GSL/UGWP.git") execute_process(COMMAND git clone ${PHYSICS_UGWP_REPO_URL} ${ATMOSPHERE_CORE_PHYSICS_UGWP_DIR} @@ -183,9 +189,15 @@ if(NOT EXISTS ${ATMOSPHERE_CORE_PHYSICS_UGWP_DIR}) if(NOT GIT_CLONE_RESULT EQUAL 0) message(FATAL_ERROR "Git clone failed with error: ${GIT_CLONE_ERROR}") endif() - + # Checkout a specific tag or commit + execute_process(COMMAND git checkout ${PHYSICS_UGWP_REF} + WORKING_DIRECTORY ${ATMOSPHERE_CORE_PHYSICS_UGWP_DIR} + RESULT_VARIABLE GIT_CHECKOUT_RESULT) + if(NOT GIT_CHECKOUT_RESULT EQUAL 0) + message(WARNING "Failed to checkout ${PHYSICS_UGWP_REF}, using default branch") + endif() else() - message(STATUS "Directory ${DIR_TO_CHECK} already exists, skipping clone") + message(STATUS "Directory ${ATMOSPHERE_CORE_PHYSICS_UGWP_DIR} already exists, skipping clone") endif() set(ATMOSPHERE_CORE_PHYSICS_UGWP_SOURCES From 112bceb5c63e4d9d844531fdc17fa15c527abdb7 Mon Sep 17 00:00:00 2001 From: Guoqing Ge Date: Tue, 17 Mar 2026 17:55:40 -0600 Subject: [PATCH 2/2] Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- src/core_atmosphere/CMakeLists.txt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/core_atmosphere/CMakeLists.txt b/src/core_atmosphere/CMakeLists.txt index ab8cb37e3d..94d17a1136 100644 --- a/src/core_atmosphere/CMakeLists.txt +++ b/src/core_atmosphere/CMakeLists.txt @@ -153,9 +153,13 @@ if(NOT EXISTS ${ATMOSPHERE_CORE_PHYSICS_MMM_DIR}) # Checkout a specific tag or commit execute_process(COMMAND git checkout ${PHYSICS_MMM_REF} WORKING_DIRECTORY ${ATMOSPHERE_CORE_PHYSICS_MMM_DIR} - RESULT_VARIABLE GIT_CHECKOUT_RESULT) + RESULT_VARIABLE GIT_CHECKOUT_RESULT + OUTPUT_VARIABLE GIT_CHECKOUT_OUTPUT + ERROR_VARIABLE GIT_CHECKOUT_ERROR) if(NOT GIT_CHECKOUT_RESULT EQUAL 0) - message(WARNING "Failed to checkout ${PHYSICS_MMM_REF}, using default branch") + message(WARNING + "Failed to checkout ${PHYSICS_MMM_REF}, using default branch. " + "git error: ${GIT_CHECKOUT_ERROR}") endif() else() message(STATUS "Directory ${ATMOSPHERE_CORE_PHYSICS_MMM_DIR} already exists, skipping clone") @@ -192,9 +196,13 @@ if(NOT EXISTS ${ATMOSPHERE_CORE_PHYSICS_UGWP_DIR}) # Checkout a specific tag or commit execute_process(COMMAND git checkout ${PHYSICS_UGWP_REF} WORKING_DIRECTORY ${ATMOSPHERE_CORE_PHYSICS_UGWP_DIR} - RESULT_VARIABLE GIT_CHECKOUT_RESULT) + RESULT_VARIABLE GIT_CHECKOUT_RESULT + OUTPUT_VARIABLE GIT_CHECKOUT_OUTPUT + ERROR_VARIABLE GIT_CHECKOUT_ERROR) if(NOT GIT_CHECKOUT_RESULT EQUAL 0) - message(WARNING "Failed to checkout ${PHYSICS_UGWP_REF}, using default branch") + message(WARNING + "Failed to checkout ${PHYSICS_UGWP_REF} (exit code ${GIT_CHECKOUT_RESULT}); " + "stdout: ${GIT_CHECKOUT_OUTPUT}; stderr: ${GIT_CHECKOUT_ERROR}. Using default branch.") endif() else() message(STATUS "Directory ${ATMOSPHERE_CORE_PHYSICS_UGWP_DIR} already exists, skipping clone")