Skip to content
Merged
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,5 @@ Refs NOAA-EMC/repo#5678
- [ ] C48mx500_3DVarAOWCDA <!-- JEDI low-res marine 3DVar cycled DA !-->
- [ ] C48mx500_hybAOWCDA <!-- JEDI marine hybrid envar cycled DA !-->
- [ ] C96C48_ufsgsi_hybatmDA <!-- JEDI atm Var with GSI EnKF cycled DA !-->
- [ ] C48_ufsenkf_atmDA <!-- JEDI atm EnKF cycled DA !-->
- [ ] C96C48_hybatmDA <!-- GSI atm cycled DA !-->
1 change: 1 addition & 0 deletions ci/ci_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ CI_TESTS=("atm_jjob"
"C96C48_ufsgsi_hybatmDA"
"C96C48_hybatmsnowDA"
"C96_gcafs_cycled"
"C48_ufsenkf_atmDA"
"C48mx500_3DVarAOWCDA"
"C48mx500_hybAOWCDA"
"C96C48_hybatmDA")
8 changes: 8 additions & 0 deletions ci/driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,14 @@ for pr in $open_pr_list; do
fi
done

#TODO - remove logic that excludes C48_ufsenkf_atmDA on MSU after required data is staged
case ${TARGET} in
orion | hercules)
ci_test="C48_ufsenkf_atmDA"
ctest_regex_exclude+="${ctest_regex_exclude:+|}$ci_test"
;;
esac

# setup run_ci.sh arguments to test in the Global Workflow and exclude chosen CI tests
run_ci_cmd+=" -w"
if [ -n "$ctest_regex_exclude" ]; then
Expand Down
2 changes: 1 addition & 1 deletion sorc/ioda
Submodule ioda updated 155 files
2 changes: 1 addition & 1 deletion sorc/oops
2 changes: 1 addition & 1 deletion sorc/ufo
Submodule ufo updated 23 files
+4 −4 src/ufo/filters/refractivityonedvarcheck/ufo_refractivityonedvarcheck_mod.f90
+5 −5 src/ufo/operators/gnssro/BendMetOffice/ObsGnssroBendMetOffice.interface.F90
+20 −20 src/ufo/operators/gnssro/BendMetOffice/ufo_gnssro_bendmetoffice_mod.F90
+12 −12 src/ufo/operators/gnssro/BendMetOffice/ufo_gnssro_bendmetoffice_tlad_mod.F90
+8 −8 src/ufo/operators/gnssro/BndROPP1D/ufo_gnssro_bndropp1d_mod.F90
+5 −5 src/ufo/operators/gnssro/BndROPP1D/ufo_gnssro_bndropp1d_mod_stub.F90
+12 −12 src/ufo/operators/gnssro/BndROPP1D/ufo_gnssro_bndropp1d_tlad_mod.F90
+11 −11 src/ufo/operators/gnssro/BndROPP1D/ufo_gnssro_bndropp1d_tlad_mod_stub.F90
+8 −8 src/ufo/operators/gnssro/BndROPP2D/ufo_gnssro_bndropp2d_mod.F90
+7 −7 src/ufo/operators/gnssro/BndROPP2D/ufo_gnssro_bndropp2d_mod_stub.F90
+12 −12 src/ufo/operators/gnssro/BndROPP2D/ufo_gnssro_bndropp2d_tlad_mod.F90
+13 −13 src/ufo/operators/gnssro/BndROPP2D/ufo_gnssro_bndropp2d_tlad_mod_stub.F90
+5 −5 src/ufo/operators/gnssro/RefMetOffice/ObsGnssroRefMetOffice.interface.F90
+13 −13 src/ufo/operators/gnssro/RefMetOffice/ufo_gnssro_refmetoffice_mod.F90
+11 −11 src/ufo/operators/gnssro/RefMetOffice/ufo_gnssro_refmetoffice_tlad_mod.F90
+10 −10 src/ufo/operators/groundgnss/RefROPP1D/ufo_gnssgb_refropp1d_mod.F90
+5 −5 src/ufo/operators/groundgnss/RefROPP1D/ufo_gnssgb_refropp1d_mod_stub.F90
+3 −3 src/ufo/operators/groundgnss/ZenithTotalDelayROPP/ufo_groundgnss_ropp_mod_stub.F90
+12 −12 src/ufo/operators/rttov/Fortran/v12/ufo_radiancerttov_mod.F90
+8 −8 src/ufo/operators/rttov/Fortran/v12/ufo_radiancerttov_tlad_mod.F90
+30 −29 src/ufo/operators/rttov/Fortran/v12/ufo_radiancerttov_utils_mod.F90
+9 −9 src/ufo/operators/scatwind/NeutralMetOffice/ufo_scatwind_neutralmetoffice_mod.F90
+15 −15 src/ufo/operators/scatwind/NeutralMetOffice/ufo_scatwind_neutralmetoffice_tlad_mod.F90
2 changes: 1 addition & 1 deletion sorc/vader
Submodule vader updated 30 files
+22 −10 src/CMakeLists.txt
+65 −0 src/vader/recipes/GeopotentialAtInterface.h
+213 −0 src/vader/recipes/GeopotentialAtInterface_A.cc
+75 −0 src/vader/recipes/GeopotentialHeight.h
+74 −0 src/vader/recipes/GeopotentialHeightAtInterface.h
+131 −0 src/vader/recipes/GeopotentialHeightAtInterface_A.cc
+73 −0 src/vader/recipes/GeopotentialHeightAtSurface.h
+124 −0 src/vader/recipes/GeopotentialHeightAtSurface_A.cc
+125 −0 src/vader/recipes/GeopotentialHeight_A.cc
+63 −0 src/vader/recipes/HeightAboveMeanSeaLevelAtSurface.h
+119 −0 src/vader/recipes/HeightAboveMeanSeaLevelAtSurface_A.cc
+72 −0 src/vader/recipes/LnAirPressure.h
+20 −5 src/vader/recipes/LnAirPressureAtInterface.h
+51 −24 src/vader/recipes/LnAirPressureAtInterface_A.cc
+132 −0 src/vader/recipes/LnAirPressure_A.cc
+22 −7 src/vader/recipes/SurfaceAirPressure.h
+50 −38 src/vader/recipes/SurfaceAirPressure_A.cc
+7 −3 src/vader/recipes/WaterVaporMixingRatioWrtMoistAir.h
+81 −11 src/vader/recipes/WaterVaporMixingRatioWrtMoistAir_A.cc
+80 −17 test/CMakeLists.txt
+20 −0 test/testinput/vader_AirVirtualTemperature_A.yaml
+32 −0 test/testinput/vader_GeopotentialAtInterface_A.yaml
+35 −0 test/testinput/vader_GeopotentialHeightAtInterface_A.yaml
+14 −0 test/testinput/vader_GeopotentialHeightAtSurface_A.yaml
+14 −0 test/testinput/vader_GeopotentialHeight_A.yaml
+15 −0 test/testinput/vader_HeightAboveMeanSeaLevelAtSurface_A.yaml
+13 −0 test/testinput/vader_LnAirPressureAtInterface_A.yaml
+13 −0 test/testinput/vader_LnAirPressure_A.yaml
+13 −0 test/testinput/vader_SurfaceAirPressure_A.yaml
+13 −0 test/testinput/vader_WaterVaporMixingRatioWrtMoistAir_A.yaml
42 changes: 39 additions & 3 deletions test/gw-ci/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,19 @@ function(add_task task_name test_prefix is_full_cycle HALF_CYCLE FULL_CYCLE pslo
endif()
else()
if("${task_name}" STREQUAL "gdas_prep")
list(APPEND TEST_DEPENDS "${test_prefix}_gdas_fcst_${HALF_CYCLE}")
list(APPEND TEST_DEPENDS "${test_prefix}_gdas_atmos_prod_${HALF_CYCLE}")
if(NOT "${pslot}" STREQUAL "C48_ufsenkf_atmDA")
list(APPEND TEST_DEPENDS "${test_prefix}_gdas_fcst_${HALF_CYCLE}")
list(APPEND TEST_DEPENDS "${test_prefix}_gdas_atmos_prod_${HALF_CYCLE}")
else()
list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_epmn_${HALF_CYCLE}")
endif()
elseif("${task_name}" STREQUAL "gcdas_prep")
list(APPEND TEST_DEPENDS "${test_prefix}_gcdas_fcst_${HALF_CYCLE}")
list(APPEND TEST_DEPENDS "${test_prefix}_gcdas_atmos_prod_${HALF_CYCLE}")
elseif("${task_name}" STREQUAL "gdas_fetchatmanlbias")
list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_epmn_${HALF_CYCLE}")
elseif("${task_name}" STREQUAL "gdas_prepatmanlbias")
list(APPEND TEST_DEPENDS "${test_prefix}_gdas_fetchatmanlbias_${FULL_CYCLE}")
elseif("${task_name}" STREQUAL "gdas_anal")
list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_epmn_${HALF_CYCLE}")
list(APPEND TEST_DEPENDS "${test_prefix}_gdas_prep_${FULL_CYCLE}")
Expand Down Expand Up @@ -159,6 +167,9 @@ function(add_task task_name test_prefix is_full_cycle HALF_CYCLE FULL_CYCLE pslo
elseif("${task_name}" STREQUAL "enkfgdas_atmensanlinit")
list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_epmn_${HALF_CYCLE}")
list(APPEND TEST_DEPENDS "${test_prefix}_gdas_prep_${FULL_CYCLE}")
if("${pslot}" STREQUAL "C48_ufsenkf_atmDA")
list(APPEND TEST_DEPENDS "${test_prefix}_gdas_prepatmanlbias_${FULL_CYCLE}")
endif()
elseif("${task_name}" STREQUAL "enkfgdas_atmensanlobs")
list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_atmensanlinit_${FULL_CYCLE}")
elseif("${task_name}" STREQUAL "enkfgdas_atmensanlsol")
Expand Down Expand Up @@ -191,6 +202,8 @@ function(add_task task_name test_prefix is_full_cycle HALF_CYCLE FULL_CYCLE pslo
list(APPEND TEST_DEPENDS "${test_prefix}_gdas_analcalc_${FULL_CYCLE}")
list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_eupd_${FULL_CYCLE}")
list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_esnowanl_${FULL_CYCLE}")
elseif("${pslot}" STREQUAL "C48_ufsenkf_atmDA")
list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_atmensanlfinal_${FULL_CYCLE}")
else()
list(APPEND TEST_DEPENDS "${test_prefix}_gdas_analcalc_${FULL_CYCLE}")
list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_eupd_${FULL_CYCLE}")
Expand All @@ -199,7 +212,7 @@ function(add_task task_name test_prefix is_full_cycle HALF_CYCLE FULL_CYCLE pslo
list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_esfc_${FULL_CYCLE}")
if("${pslot}" STREQUAL "C96C48_ufs_hybatmDA")
list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_ecen_fv3jedi_${FULL_CYCLE}")
else()
elseif(NOT "${pslot}" STREQUAL "C48_ufsenkf_atmDA")
list(APPEND TEST_DEPENDS "${test_prefix}_enkfgdas_ecmn_${FULL_CYCLE}")
endif()
elseif("${task_name}" STREQUAL "gdas_prepoceanobs")
Expand Down Expand Up @@ -400,6 +413,29 @@ if (WORKFLOW_TESTS)
add_cycling_tests(${pslot} ${YAML_PATH} ${HOMEgfs} ${WORKING_DIRECTORY} ${PROJECT_SOURCE_DIR} "${HALF_CYCLE_TASKS}" "${FULL_CYCLE_TASKS}")
endif() # TEST_V18

# JEDI EnKF DA C48
# -----------------------------------
if(${TEST_GFS18})
set(pslot "C48_ufsenkf_atmDA")
set(YAML_PATH ${HOMEgfs}/dev/ci/cases/pr/${pslot}.yaml)
set(HALF_CYCLE_TASKS
"enkfgdas_stage_ic"
"enkfgdas_fcst"
"enkfgdas_epmn")
set(FULL_CYCLE_TASKS
"gdas_fetchatmanlbias"
"gdas_prep"
"gdas_prepatmanlbias"
"enkfgdas_atmensanlinit"
"enkfgdas_atmensanlobs"
"enkfgdas_atmensanlsol"
"enkfgdas_atmensanlfv3inc"
"enkfgdas_atmensanlfinal"
"enkfgdas_esfc"
"enkfgdas_fcst"
)
add_cycling_tests(${pslot} ${YAML_PATH} ${HOMEgfs} ${WORKING_DIRECTORY} ${PROJECT_SOURCE_DIR} "${HALF_CYCLE_TASKS}" "${FULL_CYCLE_TASKS}")
endif() # TEST_V18

# Aero DA C96
# ----------------
Expand Down