Skip to content
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

IAU candidate 20210727 #1454

Merged
merged 14 commits into from
Aug 6, 2021

Conversation

jiandewang
Copy link
Collaborator

Alex Bozec and Alan Wallcraft from COAPS/Florida State University have developed Incremental analysis update (IAU) capability for MOM6. This has been tested in the UFS-datm with a "replay" to ORAS5 analysis.
The model reads in analysis increments and the layer thicknesses of the analysis, and interpolates the increments to the model's layer each time-step. The increments are applied every time-step over the IAU window (ODA_INCUPD_NHOURS).

pjpegion and others added 11 commits June 2, 2021 13:24
This is a basic framework to use NCODA increments on layer space for ODA incremental updates.
P_inc has been replaced by h  of analysis state, add options to use full fields instead of increments and add diagnostics to get outputs of increments (for now to check what your increment looks like if full fields).
Increments calculation moved at initialization, updates applied over nstep instead of nstep+1 and increments diagnostics has been added
…rection and general clean up

- Add option to use or not uv increment
- The calculation of the increment when using full field has been moved at initialization
- A SSH correction has been applied to h_obs to account for the different SSH between the background and target state
- The incremental update is now done over nstep-1
- a general clean up has been done with variable name change to make the code easier to follow
…ility

- remove the u,v,tv pointers from the set_up_oda_incupd subroutines 
- explicitly put tv,u,v in arguments of apply_oda_incupd 
- change name  get_oda_increments to calc_oda_increments 
- explicitly put tv,u,v in arguments of calc_oda_increments 
- use loops to calculate sum of h’s
- remove the 2018_answers options
- added option to output increments when using full fields 
- added subroutine output_oda_incupd_inc to write a separate double-precision file for the increments.
- add if (mask==1 ) condition to apply/calculate the increments 
-add pass_var,pass_vector on increments and u,v,tv at the end of
calc_oda_increments and apply_oda_incupd respectively
- added CS%ncount to restart file to have reproducibility on restart.
- Added option ODA_INCUPD_RESET_NCOUNT  (! default= True, If True, reinitialize number of updates already done.)
…20210723

merge GFDL 20210723 main branch (hash # b629e8d)
…-20210723

update to GFDL 20210723 main branch
@jiandewang
Copy link
Collaborator Author

@marshallward @gustavo-marques @alperaltuntas @kshedstrom @abozec (or @awallcraft ): please review/test this PR

@marshallward
Copy link
Collaborator

@jiandewang Could you address these minor issues when you get a chance?

  • /home/runner/work/MOM6/MOM6/src/parameterizations/vertical/MOM_diabatic_driver.F90:114: warning: Member use_oda_incupd (variable) of class mom_diabatic_driver::diabatic_cs is not documented.

  • src/ocean_data_assim/MOM_oda_incupd.F90, line 453: Blank line contains spaces

  • /home/runner/work/MOM6/MOM6/src/parameterizations/vertical/MOM_diabatic_driver.F90:114: warning: Member use_oda_incupd (variable) of class mom_diabatic_driver::diabatic_cs is not documented.

@kshedstrom
Copy link
Collaborator

I approve this PR.

@jiandewang
Copy link
Collaborator Author

@jiandewang Could you address these minor issues when you get a chance?

  • /home/runner/work/MOM6/MOM6/src/parameterizations/vertical/MOM_diabatic_driver.F90:114: warning: Member use_oda_incupd (variable) of class mom_diabatic_driver::diabatic_cs is not documented.
  • src/ocean_data_assim/MOM_oda_incupd.F90, line 453: Blank line contains spaces
  • /home/runner/work/MOM6/MOM6/src/parameterizations/vertical/MOM_diabatic_driver.F90:114: warning: Member use_oda_incupd (variable) of class mom_diabatic_driver::diabatic_cs is not documented.

@marshallward: Phil has addressed the above. Thanks.

@abozec
Copy link
Collaborator

abozec commented Jul 30, 2021

COAPS approves this PR.

@alperaltuntas
Copy link
Collaborator

Approved.

pjpegion and others added 2 commits August 5, 2021 10:20
remove unused index bounds, and fix sum_h2 loop.
Update MOM_oda_incupd.F90
@abozec
Copy link
Collaborator

abozec commented Aug 5, 2021

ok I approve again ...

@marshallward
Copy link
Collaborator

GFDL approves this PR.

Since everyone approves, I will move ahead and merge this into main.

@marshallward marshallward merged commit e794c41 into mom-ocean:main Aug 6, 2021
@jiandewang jiandewang deleted the EMC-IAU-candidate-20210727 branch March 19, 2024 02:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants