Skip to content

Commit 887b7ef

Browse files
Add soil temp QC to IMS pre-processing (NOAA-EMC#1988)
# Description This PR adds soil temperature QC to IMS pre-processing by removing the snow obs if the IMS derived snow depth > 0 and model soil temp in layer 1 is > 273.155. # Issues Resolves NOAA-EMC#1986 # Automated CI tests to run in Global Workflow <!-- Which Global Workflow CI tests are required to adequately test this PR? --> - [ ] atm_jjob <!-- JEDI atm single cycle DA !--> - [ ] C96C48_ufs_hybatmDA <!-- JEDI atm cycled DA !--> - [ ] C96C48_hybatmsnowDA <!-- JEDI snow cycled DA !--> - [ ] C96_gcafs_cycled <!-- JEDI aerosol cycled DA !--> - [ ] C48mx500_3DVarAOWCDA <!-- JEDI low-res marine 3DVar cycled DA !--> - [ ] C48mx500_hybAOWCDA <!-- JEDI marine hybrid envar cycled DA !--> - [ ] C96C48_hybatmDA <!-- GSI atm cycled DA !-->
1 parent 3e774e7 commit 887b7ef

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

utils/land/gdas_fv3jedi_calc_scf_to_ioda.cc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -654,7 +654,8 @@ void gdasapp::CalcSCFtoIODA::IMSscf::updateIMSsd(fv3jedi::State &state,
654654
// convert the state to an atlas fieldset
655655
atlas::FieldSet xBfs;
656656
state.toFieldSet(xBfs);
657-
// Get the snow cover fraction and depth fields from the state
657+
// Get the necessary fields from the state
658+
auto bkg_stc = atlas::array::make_view<double, 2>(xBfs["stc"]);
658659
auto bkg_scf = atlas::array::make_view<double, 2>(xBfs["surface_snow_area_fraction"]);
659660
auto bkg_snd = atlas::array::make_view<double, 2>(xBfs["totalSnowDepth"]);
660661
const auto bkg_idx =
@@ -675,6 +676,11 @@ void gdasapp::CalcSCFtoIODA::IMSscf::updateIMSsd(fv3jedi::State &state,
675676
// set the IMS snow depth to a fixed value to QC in JEDI
676677
this->sndIMS[fv3_j][fv3_i] = -10.0f;
677678
}
679+
if ((bkg_stc(jnode, 0) > 273.155) && (this->sndIMS[fv3_j][fv3_i] > 0)) {
680+
// if model soil is too warm to add snow, and the observed snow depth is >0,
681+
// set the IMS snow depth to a fixed value to QC in JEDI
682+
this->sndIMS[fv3_j][fv3_i] = -20.0f;
683+
}
678684
if (this->sndIMS[fv3_j][fv3_i] > sndIMS_max) {
679685
// if the IMS snow depth is greater than the maximum, set to nodata
680686
this->sndIMS[fv3_j][fv3_i] = nodata_float;

0 commit comments

Comments
 (0)