NOAA-EMC / GDASApp

Global Data Assimilation System Application
GNU Lesser General Public License v2.1
15 stars 31 forks source link

File output lacks OMA diagnostics after JEDI minimization #1273

Closed ypwang19 closed 2 months ago

ypwang19 commented 2 months ago

After running minimization with JEDI, the OMA variable was not written out to diagnostic files. Adding prints frequency to the final section in the YAMLs in GDASApp parm can turn on the OMA diagnostics.

This issue is opened to track the changes needed to modify the YAMLs for minimization.

RussTreadon-NOAA commented 2 months ago

Work for this issue will be done in feature/anlomb_diag.

The following changes have been committed to feature/anlomb_diag

RussTreadon-NOAA commented 2 months ago

Tagging @jiaruidong2017 for awareness.

RussTreadon-NOAA commented 2 months ago

@guillaumevernieres , we have

final:
  diagnostics:
    departures: oman
  increment:

in parm/soca/3dvarfgat.yaml.

Yaping and Cory found it necessary to add a prints section to get analysis minus observation diagnostics written to the diagnostic files. For example, 307a6d5 modified parm/aero/variational/3dvar_fgat_gfs_aero.yaml.j2 to

final:
  diagnostics:
    departures: anlmob
  prints:
    frequency: PT3H
  increment:

We may need to make a similar change in marine DA templates.

RussTreadon-NOAA commented 2 months ago

Initially surprising finding. test_gdasapp_atm_jjob_var_run fails when run from g-w PR #2805 at f445e28 with changes from feature/anlomb_diag added to sorc/gdas.cd.

A check of the log file shows that the reference check fails

0: Run: Finishing oops::Variational<FV3JEDI, UFO and IODA observations> with status = 0
0: terminate called after throwing an instance of 'oops::TestReferenceMissingReferenceLineError'
0:   what():  TestReference: Missing reference file line corresponding to test output Line#:90
0: Test line: 'CostJb   : Nonlinear Jb = 0.0000033199535370'
srun: error: h21c46: task 0: Aborted (core dumped)
srun: Terminating StepId=66180083.0

With prints added to the yaml, we get the following extra printout

CostJb   : Nonlinear Jb = 0.0000033199535370
CostJo   : Nonlinear Jo(AMSUA N19) = 39476.8510817764617968, nobs = 73667, Jo/n = 0.5358824315063252, err = 6.2697697603632934
CostJo   : Nonlinear Jo(sondes) = 10639.2476170353256748, nobs = 4255, Jo/n = 2.5004107208073623, err = 10.9811231401273197
CostFunction: Nonlinear J = 50116.0987021317414474

This printout is not in test/atm/global-workflow/3dvar.ref. Hence, the check throws an error and the test fails.

We need to update the atmosphere 3dvar.ref as part of GDASApp PR #1274.

RussTreadon-NOAA commented 2 months ago

@guillaumevernieres , not sure if adding

  prints:
    frequency: PT3H

is something we want for marine DA but b69af09 adds this to the finals section of

We can revert this commit if it is not necessary / desired.

CoryMartin-NOAA commented 2 months ago

@RussTreadon-NOAA G doesn't have this issue because he has output: writing out the analysis states. Since we didn't do that from JEDI, we needed to add prints after a PR earlier this summer changed when the final diagnostics are computed.

RussTreadon-NOAA commented 2 months ago

@CoryMartin-NOAA , does this mean the parm/soca changes committed at b69af09 are not necessary?

CoryMartin-NOAA commented 2 months ago

@RussTreadon-NOAA I don't think they're necessary but I also don't think they will harm anything

RussTreadon-NOAA commented 2 months ago

@CoryMartin-NOAA , OK, I'll leave b69af09 alone.

RussTreadon-NOAA commented 2 months ago

@ypwang19 , do you have any more commits or changes to make to PR #1274? If not, it's ready for review.

ypwang19 commented 2 months ago

@ypwang19 , do you have any more commits or changes to make to PR #1274? If not, it's ready for review.

It looks good to me, thank you!