-
Notifications
You must be signed in to change notification settings - Fork 3
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
Test the UFO of SFCSHP with HAFS #6
Comments
First attempt run with the cropped data encountered an error that looking for 'MetaData/stationElevation'. This should be something wrong with JEDI code since the observation NC file does not contain 'MetaData/stationElevation'. 'stationElevation' exists in group 'obsType' and 'obsValue'. |
Encountered error in analysis by complaining missing variable "MetaData/stationElevation". The current bufr2ioday.py creates |
Though hofx0 and OMBG looks reasonable, the increment is all 0 and it seems like all the observations are marked as missing Value according to the log file. However, the latest test removing all the observation filter still have the same result. None of the observations are used in the analysis. |
The 0 increment is due to lack of observation error information. Use gdas issue#82 as a reference to modify the YAML file by adding in and inflating the observation errors. |
Only tested with the coupled UFS and the marine DA tasks: ``` Test project /scratch1/NCEPDEV/stmp2/Guillaume.Vernieres/runs/prs/global-workflow/sorc/gdas.cd/build/gdas/test/gw-ci Test #1: C48mx500_3DVarAOWCDA Test #2: C96_atmaerosnowDA Test #3: C96C48_ufs_hybatmDA Test #4: C48mx500_3DVarAOWCDA_gdasfcst_202103241200 Test #5: C48mx500_3DVarAOWCDA_gdasprepoceanobs_202103241800 Test #6: C48mx500_3DVarAOWCDA_gdasocnanalprep_202103241800 Test #7: C48mx500_3DVarAOWCDA_gdasocnanalbmat_202103241800 Test #8: C48mx500_3DVarAOWCDA_gdasocnanalrun_202103241800 Test #9: C48mx500_3DVarAOWCDA_gdasocnanalchkpt_202103241800 Test #10: C48mx500_3DVarAOWCDA_gdasocnanalpost_202103241800 Total Tests: 10 ```
**What was done:** - reorganization/code tidy to facilitate the addition of a GFSv17 prototype ctest - exclude the new ctest by default, the user will have to run ```cmake -DRUNGWCI=ON .``` on an old build to configure the new ctest He're the current list: ``` Test project /scratch1/NCEPDEV/stmp2/Guillaume.Vernieres/runs/prs/global-workflow/sorc/gdas.cd/build/gdas/test/gw-ci Test #1: WCDA-3DVAR-C48mx500 Test #2: WCDA-3DVAR-C48mx500_gdasfcst_202103241200 Test #3: WCDA-3DVAR-C48mx500_gdasprepoceanobs_202103241800 Test #4: WCDA-3DVAR-C48mx500_gdasocnanalprep_202103241800 Test #5: WCDA-3DVAR-C48mx500_gdasocnanalbmat_202103241800 Test #6: WCDA-3DVAR-C48mx500_gdasocnanalrun_202103241800 Test #7: WCDA-3DVAR-C48mx500_gdasocnanalchkpt_202103241800 Test #8: WCDA-3DVAR-C48mx500_gdasocnanalpost_202103241800 Test #9: Aero-Snow-3DVAR-C96 Test #10: Aero-Snow-3DVAR-C96_gdasfcst_202112201200 Test #11: Atm-hyb-C96C48 Test #12: Atm-hyb-C96C48_gdasfcst_202402231800 Test #13: GFSv17-3DVAR-C384mx025 Test #14: GFSv17-3DVAR-C384mx025_gdasfcst_202106300000 Test #15: GFSv17-3DVAR-C384mx025_gdasprepoceanobs_202106300600 Test #16: GFSv17-3DVAR-C384mx025_gdasocnanalprep_202106300600 Test #17: GFSv17-3DVAR-C384mx025_gdasocnanalbmat_202106300600 Test #18: GFSv17-3DVAR-C384mx025_gdasocnanalrun_202106300600 Test #19: GFSv17-3DVAR-C384mx025_gdasocnanalchkpt_202106300600 Test #20: GFSv17-3DVAR-C384mx025_gdasocnanalpost_202106300600 Test #21: GFSv17-3DVAR-C384mx025_gdasocnanalvrfy_202106300600 Test #22: GFSv17-3DVAR-C384mx025_gdasprep_202106300600 Test #23: GFSv17-3DVAR-C384mx025_gdasanal_202106300600 Total Tests: 23 ``` --------- Co-authored-by: Cory Martin <[email protected]>
The bufr2ioda.py will generate a file with |
Praveen suggest to add following in the YAML file for this
|
After several test, the version of
|
Hi @JingCheng-NOAA, I think you are almost there. What obs operator in JEDI is used for this data type? And how is the interpolation done in GSI (e.g., 3dintrp)? |
Hi @delippi , Thanks for checking up.
in GSI as I checked in the setupt.f90, I believe it is using the tintrp2al for this type (type:180) |
Hi @JingCheng-NOAA, sorry for the slow response here. If you are using tintrp2, then I think you should be using the Identity operator in JEDI. The Identity operator itself is creating hofx's which are exactly the same thing as geovals (geovals are the 2D interpolated model values to ob locations). Recall that I only modified the vertInterp to be able to use the GSI-geovals and I wasn't sure how to implement that in the Identity operator. What you could try doing just to be sure is just hard code some of the GSI-geovals into the JEDI-Identity operator. Make sure you're using the Identity, but I think you will still expect similar differences like you have shown above unless you hard code the GSI-geovals into the Identity operator for this single ob test. |
@delippi , I noticed in your demonstration document, you have following section in your vertInterp operator:
Is this the part you mentioned that can use the GSI-geovals in JEDI-vertInterp? Sounds like this part requires hard code in JEDI, correct? Can I see how you did it? |
@JingCheng-NOAA, I tried putting the changes into a branch on ufo, but it seems I'm not able to do that. You could look under my demo directory that I had made for Hera: I followed what Dan did here for gnssro: https://github.com/JCSDA-internal/ufo/compare/feature/feed_gsi_geovals_to_gnssro?expand=1 It wasn't clear to me how this could be done for the Identity operator though. I'm not sure if you will be able to follow what has been done for these two operators and apply it to the Identity operator. My suggestion is to, in a single temperature ob test, put some print statments in the JEDI code |
Thank you! I will give it a try. |
@JingCheng-NOAA : another alternative and easier approach might be to change the location of the OBS to somewhere small-scale feature may be smaller, e.g., the interior of Atlantic or the center of Gulf of Mexican. At these locations the impact due to the different JEDI/GSI horizontal interpolations would be smaller, so the hofx from JEDI and GSI could be closer. |
Switched the observation operator from |
Another test is made with @HuiLiu-NOAA 's suggestion to move the single observation from near land to the center of Gulf of Mexican. In this test, observation operator is |
@JingCheng-NOAA : nice test. I guess next step is to figure out why the final OBS error is changed. May be helpful to print out the initial OBS error too. |
Thank you! I will start from checking the initial OBS error first. |
@JingCheng-NOAA : excellent result! |
Hi @JingCheng-NOAA, thanks for doing these tests. The plot you showed where you switched to You then show a figure where you use the As for the oberror, you should also be able to get this to match exactly. You can hard code some GSI-geovals for |
Thank you Donni for the comments and suggestions. I will do another test with |
@JingCheng-NOAA : This is interesting. It may suggest that the vertical interpolation operator is just using the lowest level of the model, without any interpolation for the surface observations. |
Yeah, and I just realized you DID do the |
/scratch1/NCEPDEV/hwrf/scrub/Jing.Cheng/jediwork/test/hafs-data_fv3jedi_2020082512/ The yaml file I used is SFCSHP_singleob_airTemperature_fv3jedi.yaml Thanks for help checking! |
Hi @JingCheng-NOAA, I double checked the GSI for which interpolation method is used for obtype 180. Since I would say you could try rerunning the case over LA and try feeding the GSI-geovals. Make sure you are feeding geovals like:
In your
If you get an error about not having saturation_specific_humidity or surface_geometric_height, you can use this tool: |
Thank you so much for checking it up. I will rerun this with your JEDI and see how it goes. |
Great! I think this is good enough for hofx and oberror validation purposes. The ob errors are close enough and you could show that they would match exactly if you also passed the GSI-geovals into the obserror function too. No need to go down that route. I'm a little confused by the final increment plot. With everything else identical, JEDI has an order of magnitude larger increment AND has (barely) higher final ob error. The increments should be comparable. This was also something notable in your previous plots for the LA case as well. I wonder what is going on there. |
Thanks for all the valuable advices for the hofx valication. |
Change test case to 2024 Beryl02L. The observation is placed near the hurricane. |
Based on the horz: 200km vert:1e2 resolution8, plot lvl from 81 to 79. |
To record the process of assimilating SFCSHP using JEDI 3DEnVar using HAFS background
The text was updated successfully, but these errors were encountered: