NOAA-EMC / godas

7 stars 4 forks source link

Interpolate global MOM6 forecast stddev to regional MOM6 hat10 #470

Open ShastriPaturi opened 1 year ago

liuxiao37k commented 1 year ago

@ShastriPaturi is there a certain period (mm/dd - mm/dd) that I should prioritize? Please be aware that the bkgerr stddev is supposed to represent a "climatology" and I can produce them in 5-day intervals throughout a year.

YongzuoLi-NOAA commented 1 year ago

@liuxiao37k @ShastriPaturi Where are source grid data and target grid data ?

ShastriPaturi commented 1 year ago

@ShastriPaturi is there a certain period (mm/dd - mm/dd) that I should prioritize? Please be aware that the bkgerr stddev is supposed to represent a "climatology" and I can produce them in 5-day intervals throughout a year.

@liuxiao37k any date closer to the JCSDA golden period would be fine.

liuxiao37k commented 1 year ago

@ShastriPaturi @YongzuoLi-NOAA I have 6 pairs (ocn + ice, every 5 days) to start with: gaea: /lustre/f2/dev/ncep/Xiao.Liu/sandbox/stddev_ens I think there is a copy on Orion as well for a test that @ShastriPaturi ran before but I couldn't locate it... I can process more for an entire year when I return from PTO on Monday. Also please note that the the files are dated 2019- because the ensemble was run from Jan 2019 to Apr 2020, and we probably want to use May 2019 to Apr 2020 to represent a climatology to eliminate the initial spin-up period during which the ensemble spreads are still increasing.

YongzuoLi-NOAA commented 1 year ago

@liuxiao37k I have no gaea account. Please put data on orion.

liuxiao37k commented 1 year ago

@liuxiao37k I have no gaea account. Please put data on orion.

@YongzuoLi-NOAA there is a copy on Orion; I'd wait to see if @ShastriPaturi still has the path before I make another copy. One of his 3DVAR tests that utilizes ensemble stddev for bkgerrSOCA application should point to those files.

YongzuoLi-NOAA commented 1 year ago

@liuxiao37k Thank you.

ShastriPaturi commented 1 year ago

@liuxiao37k and @YongzuoLi-NOAA the ensemble stddev files for ocn and ice that were used by me for my bkgerrSOCA application are here on orion:

/work/noaa/ng-godas/marineda/cpld_fc_stddev_tmp/

YongzuoLi-NOAA commented 1 year ago

@ShastriPaturi Thank you.

YongzuoLi-NOAA commented 1 year ago

@ShastriPaturi Where is target grids, e.g., 5deg, hat10 ?

ShastriPaturi commented 1 year ago

5deg

YongzuoLi-NOAA commented 1 year ago

@AndrewEichmann-NOAA Would you like to show me 5 degree MOM6 MOM_res.nc ?

YongzuoLi-NOAA commented 1 year ago

Finished initial coding. Figures

YongzuoLi-NOAA commented 1 year ago

Finished stddev interpolation coding for Temp, Salt, and SSH. Will loop over every 5 days data.

YongzuoLi-NOAA commented 1 year ago

@liuxiao37k @ShastriPaturi Interpolated stddev at HAT10 is under /work2/noaa/stmp/yongzuo/stddev2hat10/NC/OUTPUT

YongzuoLi-NOAA commented 1 year ago

No ice ice

liuxiao37k commented 1 year ago

@YongzuoLi-NOAA thank you for the plot. I will be processing stddev files for all the months outside the Golden Period (July). I expect to have them ready by the end of next week, and will then let you know. We can then animate a set time series map lots of stddev and watch how the ensemble spreads propagate over time. Thanks.

YongzuoLi-NOAA commented 1 year ago

@guillaumevernieres @ShastriPaturi As discussed last week, I need to learn how to put this interpolated hat10 stddev into 3DVAR. hat10 stddev is here /work2/noaa/stmp/yongzuo/stddev2hat10/NC/OUTPUT Thank you

guillaumevernieres commented 1 year ago

@YongzuoLi-NOAA , replace your bakcground error with this:

    covariance model: SABER
    saber central block:
      saber block name: ID
    # This will setup B = K D C_v C_h C_h^{T} C_v^{T} D K^{T}
    linear variable change:
      input variables: [socn, tocn, ssh]
      output variables: [socn, tocn, ssh]
      linear variable changes:

      - linear variable change name: HorizFiltSOCA
        niter: 5
        filter variables: [cicen, socn, tocn, ssh]

      - linear variable change name: VertConvSOCA
        Lz_min: 10.0
        Lz_mld: 0
        Lz_mld_max: 1.0
        scale_layer_thick: 5

      - linear variable change name: BkgErrFILT
        ocean_depth_min: 500 # [m]
        rescale_bkgerr: 1.0
        efold_z: 1500.0       # [m]

      - linear variable change name: BkgErrSOCA
        read_from_file: 3
        basename: ./static_ens/
        ocn_filename: YOUR_HAT10_STDDEV_FILE
        remap_filename: ./INPUT/MOM.res.nc
        date: NEEDS TO BE FILLED
        t_min: 0.1
        t_max: 10.0
        s_min: 0.1
        s_max: 10.0
        ssh_min: 0.0 # std ssh=0 => ssh balance applied as
        ssh_max: 0.0 #              strong constraint
        cicen_min: 0.1
        cicen_max: 0.5
        hicen_min: 0.0
        hicen_max: 0.0

      - linear variable change name: BalanceSOCA
        ksshts:
          nlayers: 10

This is close to what we use in the global marine DA. I assume that by now you know where that yaml snippets should go?

YongzuoLi-NOAA commented 1 year ago

I have tuned this yaml for recent tests and will use above exactly.

YongzuoLi-NOAA commented 1 year ago

@guillaumevernieres Would you like to give me a global run path as an example ? Or I ask @hyunchul386 for a global example ?

hyunsookkim-NOAA commented 1 year ago

@guillaumevernieres I have a set of the standard deviation of the ocean state variables in 3D at a resolution of 1/12-d and 75 vertical layers from 10-year simulations of global MOM6. Is there any particular script to reformat the netCDF file to place it to "YOUR_HAT10_STDDEV_FILE"?

guillaumevernieres commented 1 year ago

@hyunsookkim-NOAA , nope, but it's just a few lines of nco scripting to properly reformat your file. Why not save time and use the one that @YongzuoLi-NOAA prepared?

hyunsookkim-NOAA commented 1 year ago

Sure. I will work with @YongzuoLi-NOAA.

hyunsookkim-NOAA commented 1 year ago

@hskang-aoml check this out!

YongzuoLi-NOAA commented 1 year ago

@hyunsookkim-NOAA , nope, but it's just a few lines of nco scripting to properly reformat your file. Why not save time and use the one that @YongzuoLi-NOAA prepared?

@hyunsookkim-NOAA @hskang-aoml I just talked with @liuxiao37k @ShastriPaturi We may use one of stddev_hat10.2019063000.nc stddev_hat10.2019071000.nc stddev_hat10.2019072000.nc stddev_hat10.2019073000.nc stddev_hat10.2019070500.nc stddev_hat10.2019071500.nc stddev_hat10.2019072500.nc under /work2/noaa/stmp/yongzuo/stddev2hat10/NC/OUTPUT and the yaml above as first try.

YongzuoLi-NOAA commented 1 year ago

@guillaumevernieres @hyunsookkim-NOAA @hskang-aoml Good news. Following setting and stddev nc works for hat10

hyunsookkim-NOAA commented 1 year ago

Yongzuo, The large negative increment at the very first analysis cycle (2022092112) is caused by the glider observation collected over the Puerto Rico Trench (depth > 8000 m), where MOM6 potentially might not have good resolution vertically. Hence, it might produce large Temp differences between the obs and model (especially the glider obs collected at such a depth).

Good thing is the large value decreased in time, i.e. over analysis cycles. This is a good example that you need to have analysis also spun-up.

See the min and max T increment as a function of the vertical layer at different analysis times. Tincr_minNmax

YongzuoLi-NOAA commented 1 year ago

@hyunsookkim-NOAA Thank you for sharing max/min T increments. Here are in-situ profile T max/min OmB 2022092112 max ombg= 2.57 min ombg= -4.73

2022092118 max ombg= 3.78 min ombg= -4.15

2022092200 max ombg= 2.23 min ombg= -5.19 These values are within background check threshold 5. The -12 T incr may be product of (prior incr related to OmB) and stddev. We may tune current stddev that ranges from 0 to 6.8 K for hat10.

YongzuoLi-NOAA commented 1 year ago

@guillaumevernieres @ShastriPaturi Both of @hyunsookkim-NOAA and @YongzuoLi-NOAA are consistent with each other.

hyunsookkim-NOAA commented 1 year ago

@guillaumevernieres @ShastriPaturi, @hskang-AOML, @YongzuoLi-NOAA AOML has tested two background error fields - one from a set of ensembles of global 1/4-d MOM6 ("0521std"; left in each figure below) and 10-year long global 1/12-d MOM6 ("gMOM6std"; right in each figure below). 3DVar analysis suggest that use of "0521std" generates unreasonable analysis with no meso-scale features over the Gulf of Mexico, diffused Gulf Stream, and also ringing pattern in the SSH analysis. Following are examples:

SSH_2expts_std SST_2expts_std SSC_2expts_std SSS_2expts_std

YongzuoLi-NOAA commented 1 year ago

@hyunsookkim-NOAA @guillaumevernieres @ShastriPaturi @hskang-aoml (1) hat10 stddev is at 1/12 deg interpolated from 1/4-deg. (2) hat10 stddev 1st layer is 5 m depth. How is your gMOM6std increment ?

hyunsookkim-NOAA commented 1 year ago

@YongzuoLi-NOAA We use our new configuration, which has 55 layers in vertical and the top layer is at 1m and it thickess is 2m. See below for the increments: incrTemp_2expts_std incrSalt_2expts_std incrSSS_2expts_std incrSST_2expts_std

YongzuoLi-NOAA commented 1 year ago

@hyunsookkim-NOAA Thank you. We will discuss these later on.

YongzuoLi-NOAA commented 1 year ago

@hyunsookkim-NOAA Slide 13 is for SST analysis.

YongzuoLi-NOAA commented 1 year ago

The correlation length is much better.

On Sun, Jun 11, 2023 at 11:53 AM Hyun-Sook Kim @.***> wrote:

@YongzuoLi-NOAA https://github.com/YongzuoLi-NOAA We use our new configuration, which has 55 layers in vertical and the top layer is at 1m and it thickess is 2m. See below for the increments: [image: incrTemp_2expts_std] https://user-images.githubusercontent.com/20954940/244949819-da311376-fc71-46b7-b201-b59785e09497.png [image: incrSalt_2expts_std] https://user-images.githubusercontent.com/20954940/244949821-6d70173b-d12b-47ff-b32b-08a1c6327177.png [image: incrSSS_2expts_std] https://user-images.githubusercontent.com/20954940/244949822-efe70c70-01aa-4621-8697-cde888ca7032.png [image: incrSST_2expts_std] https://user-images.githubusercontent.com/20954940/244949823-41a90856-be0c-4685-8142-75e370570b5c.png

— Reply to this email directly, view it on GitHub https://github.com/NOAA-EMC/godas/issues/470#issuecomment-1586224126, or unsubscribe https://github.com/notifications/unsubscribe-auth/AT2VRX5ROSB2A3X2VQHP4OTXKXSW7ANCNFSM6AAAAAAWTG34U4 . You are receiving this because you were mentioned.Message ID: @.***>

-- Thanks

Yongzuo

YongzuoLi-NOAA commented 1 year ago

So you interpolated Global stddev from Xiao Liu to your new hat10 ?

On Sun, Jun 11, 2023 at 11:53 AM Hyun-Sook Kim @.***> wrote:

@YongzuoLi-NOAA https://github.com/YongzuoLi-NOAA We use our new configuration, which has 55 layers in vertical and the top layer is at 1m and it thickess is 2m. See below for the increments: [image: incrTemp_2expts_std] https://user-images.githubusercontent.com/20954940/244949819-da311376-fc71-46b7-b201-b59785e09497.png [image: incrSalt_2expts_std] https://user-images.githubusercontent.com/20954940/244949821-6d70173b-d12b-47ff-b32b-08a1c6327177.png [image: incrSSS_2expts_std] https://user-images.githubusercontent.com/20954940/244949822-efe70c70-01aa-4621-8697-cde888ca7032.png [image: incrSST_2expts_std] https://user-images.githubusercontent.com/20954940/244949823-41a90856-be0c-4685-8142-75e370570b5c.png

— Reply to this email directly, view it on GitHub https://github.com/NOAA-EMC/godas/issues/470#issuecomment-1586224126, or unsubscribe https://github.com/notifications/unsubscribe-auth/AT2VRX5ROSB2A3X2VQHP4OTXKXSW7ANCNFSM6AAAAAAWTG34U4 . You are receiving this because you were mentioned.Message ID: @.***>

-- Thanks

Yongzuo

guillaumevernieres commented 1 year ago

@guillaumevernieres @ShastriPaturi, @hskang-aoml, @YongzuoLi-NOAA AOML has tested two background error fields - one from a set of ensembles of global 1/4-d MOM6 ("0521std"; left in each figure below) and 10-year long global 1/12-d MOM6 ("gMOM6std"; right in each figure below). 3DVar analysis suggest that use of "0521std" generates unreasonable analysis with no meso-scale features over the Gulf of Mexico, diffused Gulf Stream, and also ringing pattern in the SSH analysis. Following are examples:

SSH_2expts_std SST_2expts_std SSC_2expts_std SSS_2expts_std

Something is clearly wrong with that interpolated background error! Thanks for testing @hyunsookkim-NOAA .

YongzuoLi-NOAA commented 1 year ago

@guillaumevernieres @hyunsookkim-NOAA To make sure that interpolated background ("0521std") is correct, make some stddev plots like slides slides 31, 32

YongzuoLi-NOAA commented 1 year ago

@guillaumevernieres @hyunsookkim-NOAA Slide 13-15 are SST analysis using stddev as BE and OSTIA SST.

guillaumevernieres commented 1 year ago

@guillaumevernieres @hyunsookkim-NOAA Slide 13-15 are SST analysis using stddev as BE and OSTIA SST.

Did you "flood" land or masked values with zero's @YongzuoLi-NOAA ?

YongzuoLi-NOAA commented 1 year ago

@guillaumevernieres @hyunsookkim-NOAA Slide 13-15 are SST analysis using stddev as BE and OSTIA SST.

Did you "flood" land or masked values with zero's @YongzuoLi-NOAA ?

I flooded offshore values towards "coast" (including under water land) by copying codes used by Phil Pegion and Maria.

YongzuoLi-NOAA commented 1 year ago

@guillaumevernieres @hyunsookkim-NOAA @ShastriPaturi I just interpolated Xiao Liu 1/4 deg to 55 layers hat10 for HeeSook Kang under /work2/noaa/ng-godas/yli/stddev4BE/stddev4HeeSook

Plots on slide 33 look good.

YongzuoLi-NOAA commented 1 year ago

@YongzuoLi-NOAA We use our new configuration, which has 55 layers in vertical and the top layer is at 1m and it thickess is 2m. See below for the increments: incrTemp_2expts_std incrSalt_2expts_std incrSSS_2expts_std incrSST_2expts_std

@hyunsookkim-NOAA Are these increment from increased correlation length and latest version of 3DVAR ? Where is the path ? slide 24, 25 are incr from my test. Both produced incr at points. Correlation length tuning doesn't work.

hyunsookkim-NOAA commented 1 year ago

@YongzuoLi-NOAA @guillaumevernieres

@guillaumevernieres @ShastriPaturi, @hskang-aoml, @YongzuoLi-NOAA AOML has tested two background error fields - one from a set of ensembles of global 1/4-d MOM6 ("0521std"; left in each figure below) and 10-year long global 1/12-d MOM6 ("gMOM6std"; right in each figure below). 3DVar analysis suggest that use of "0521std" generates unreasonable analysis with no meso-scale features over the Gulf of Mexico, diffused Gulf Stream, and also ringing pattern in the SSH analysis. Following are examples: SSH_2expts_std SST_2expts_std SSC_2expts_std SSS_2expts_std

Something is clearly wrong with that interpolated background error! Thanks for testing @hyunsookkim-NOAA .

These odd patterns seen in the "051std" analysis are due to using the 50-layer BE for our 55-layer configuration. The patterns are disappered with use of the 55-layer interpolation.

liuxiao37k commented 1 year ago

@YongzuoLi-NOAA Can you please elaborate on "Correlation length tuning doesn't work"? Thanks.

YongzuoLi-NOAA commented 1 year ago

@YongzuoLi-NOAA Can you please elaborate on "Correlation length tuning doesn't work"? Thanks. @liuxiao37k Incr doesn't spread from obs locations if using saber. Point incr to point obs are found in incr plot.

YongzuoLi-NOAA commented 1 year ago

@hyunsookkim-NOAA Thank you for update. We also need to tune max/min in BkgErrSoca yaml block. Can you test t_min: 0.25 t_max: 1.5 ssh_min: 0.3 ssh_max: 0.3 ? We will see if incr has response to yaml. t_max: 10.0, ssh_min: 0.0, ssh_max: 0.0 are obviously inappropriate @guillaumevernieres @ShastriPaturi The current 3-D stddev values range from 0 to 7 for T, from 0 to 6 for S. The forecast error for both T & S should not be more than 1.5 on average. I am considering to use this stddev file as place holder and put 1-D BE (each level has 1 fixed value). Do you have some T/S BE values in mind (common sense) ?

YongzuoLi-NOAA commented 1 year ago

@hyunsookkim-NOAA FYI, We will not go back to use covariance model: SocaError. We will fix correlation length issue (incr at points).