Add an OOPS-based application to recenter snow analysis#1102
Conversation
|
This is what a YAML would look like for this app: |
ClaraDraper-NOAA
left a comment
There was a problem hiding this comment.
A few thoughts, that may or may not be relevant:
- I don't see any land masks. In GFS, the land variables are defined (and usually zero) over non-land points. Is there any risk that this code could cause problems if we're not careful with the input files over non-land points?
- If we're recentering the snow depth, we should really re-center the other variables too. Is there other code in place to do this?
Also, see comment about making the routine names generic.
|
Thanks @ClaraDraper-NOAA . For 1, I didn't consider a mask since this will write out an increment and presumably the apply increment code will handle the masking, but I can look into how to add a mask here and see how difficult it would be. For 2, what other variables do you have in mind? The atmospheric fields will be recentered as part of the GSI Var/EnKF machinery. For land fields, we can add extra variables in the YAML with this executable. The original increment will be 0, but the recentering will give the ensemble an increment to be consistent with the deterministic. |
|
@ClaraDraper-NOAA A quick look seems like through the magic of JEDI I can pretty easily read in or something like that to make it generic to zero out the increments where the mask value is between min and max |
|
For the increment file, we just have the surface file available. It is better to just keep the
And the state variables in current JEDI based snow analysis are [snodl,vtype,slmsk] for the Noah-MP LSM.
|
If the masking can be done easily (1/2 a day), I think's it worth it, just to keep things neat. However, you're right that since you're writing out increments here, the code that adds the increments will take care of the masking. |
I answered 1 below. For 2, when we meet tomorrow let's talk quickly about how this code would interact with the soil analysis code - which also requires recentering (which I haven't done). Long term, I think it'd be really useful if this code had the flexibility to recenter vars W and X without adding an increment (or adding a zero increment), while also recentering Y and Z with increments. |
guillaumevernieres
left a comment
There was a problem hiding this comment.
I don't want to approve a pr that ignores the ocean! But ...
|
@ClaraDraper-NOAA see if my latest additions match what you were thinking based on our discussion yesterday. I still want to do some quick spot checks to confirm its working as intended but otherwise I think this is ready for review again. |
ClaraDraper-NOAA
left a comment
There was a problem hiding this comment.
Looks good to me. Thanks Cory.
* origin/develop: Update wcoss2.intel.lua (#1142) Add yaml file for prepobsaero task (#1141) Diffusion parameter yaml template (#1140) Adjust absolute float tolerance for variational and ensemble DA jjob tests (#1136) Insitu temp and salt (#1135) Adds letkf.yaml(.j2) (#1134) Add optional testing block to 3dvar and lgetkf input YAMLs for jjobs (#1129) updates to build and run some ctests on WCOSS2 (#1122) Addin a GFSv17 ctest (#1130) Feature/rtofs in situ (#1110) update jcb-gdas hash to bring in satwnd yaml changes (#1128) Optionally run specified rocoto task as part of the ctests (#1121) Add build capability to Gaea-C5 (#1101) Python Converter and Json for the ADPUPA BUFR DUMP (#1115) Revert "Fix ice water FV3 increment variable name and add a few more … (#1125) Satwnd and variable name-convention updates for jcb implementation in GDASApp (#1119) Add inverse distance weighting option to superob function (#1116) Resume the Marine Vrfy Task on ctests (#1107) Replicate the creation of the gw-ci cycling test (#1114) Added YAML, JSON, python files for assimilating LEOGEO satwinds (#1099) Add an OOPS-based application to recenter snow analysis (#1102) Fix ice water FV3 increment variable name and add a few more (#1112) Update hera.intel.lua (#1109)
* develop: Update wcoss2.intel.lua (#1142) Add yaml file for prepobsaero task (#1141) Diffusion parameter yaml template (#1140) Adjust absolute float tolerance for variational and ensemble DA jjob tests (#1136) Insitu temp and salt (#1135) Adds letkf.yaml(.j2) (#1134) Add optional testing block to 3dvar and lgetkf input YAMLs for jjobs (#1129) updates to build and run some ctests on WCOSS2 (#1122) Addin a GFSv17 ctest (#1130) Feature/rtofs in situ (#1110) update jcb-gdas hash to bring in satwnd yaml changes (#1128) Optionally run specified rocoto task as part of the ctests (#1121) Add build capability to Gaea-C5 (#1101) Python Converter and Json for the ADPUPA BUFR DUMP (#1115) Revert "Fix ice water FV3 increment variable name and add a few more … (#1125) Satwnd and variable name-convention updates for jcb implementation in GDASApp (#1119) Add inverse distance weighting option to superob function (#1116) Resume the Marine Vrfy Task on ctests (#1107) Replicate the creation of the gw-ci cycling test (#1114) Added YAML, JSON, python files for assimilating LEOGEO satwinds (#1099) Add an OOPS-based application to recenter snow analysis (#1102) Fix ice water FV3 increment variable name and add a few more (#1112) Update hera.intel.lua (#1109)
into feature/rename_atm * 'feature/rename_atm' of https://github.com/NOAA-EMC/GDASApp: Update wcoss2.intel.lua (#1142) Add yaml file for prepobsaero task (#1141) Diffusion parameter yaml template (#1140) Adjust absolute float tolerance for variational and ensemble DA jjob tests (#1136) Insitu temp and salt (#1135) Adds letkf.yaml(.j2) (#1134) Add optional testing block to 3dvar and lgetkf input YAMLs for jjobs (#1129) updates to build and run some ctests on WCOSS2 (#1122) Addin a GFSv17 ctest (#1130) Feature/rtofs in situ (#1110) update jcb-gdas hash to bring in satwnd yaml changes (#1128) Optionally run specified rocoto task as part of the ctests (#1121) Add build capability to Gaea-C5 (#1101) Python Converter and Json for the ADPUPA BUFR DUMP (#1115) Revert "Fix ice water FV3 increment variable name and add a few more … (#1125) Satwnd and variable name-convention updates for jcb implementation in GDASApp (#1119) Add inverse distance weighting option to superob function (#1116) Resume the Marine Vrfy Task on ctests (#1107) Replicate the creation of the gw-ci cycling test (#1114) Added YAML, JSON, python files for assimilating LEOGEO satwinds (#1099) Add an OOPS-based application to recenter snow analysis (#1102) Fix ice water FV3 increment variable name and add a few more (#1112)
Closes #1097 This adds a new GDASApp utility that will: - read deterministic guess - read ensemble guess, compute ensemble mean - read deterministic increment - subtract ens mean from guess - add this difference to the increment - write out a new increment Effectively recentering the ensemble to the deterministic This is just the recentering utility, the workflow will need to be modified to use `fregrid` to interpolate, and then the `land-apply-inc` code will need to be exercised on every member

Closes #1097
This adds a new GDASApp utility that will:
Effectively recentering the ensemble to the deterministic
This is just the recentering utility, the workflow will need to be modified to use
fregridto interpolate, and then theland-apply-inccode will need to be exercised on every member