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

Add lightning data assimilation #1962

Merged
merged 9 commits into from
Dec 29, 2023
Merged

Add lightning data assimilation #1962

merged 9 commits into from
Dec 29, 2023

Conversation

mos3r3n
Copy link
Contributor

@mos3r3n mos3r3n commented Dec 28, 2023

TYPE: new feature

KEYWORDS: lightning data, vertical velocity, pseudo divergence, pseudo water vapor

SOURCE: Zhixiong Chen (zchen@fjnu.edu.cn, Fujian Normal University, China)

DESCRIPTION OF CHANGES:
A new lightning data assimilation scheme has been implemented in the WRFDA. In this lightning DA scheme, the lightning flash rate is first converted to the maximum vertical velocity using an empirical relationship and then expanded to profiles of vertical velocities. The profiles of vertical velocity can be directly assimilated with the control variable of W. Another way is to assimilate pseudo divergence converted from vertical velocity to adjust the Kinematic states. A scheme to assimilate pseudo water vapor retrievals from lightning flash rate observations is also added. In the humidity assimilation scheme, the mixing ratio profiles of pseudo water vapor are retrieved from the locations where a rapid increase in lightning flash rate is detected.

LIST OF MODIFIED FILES:
M Registry/registry.var
M frame/module_driver_constants.F
M var/build/da.make
M var/build/depend.txt
M var/da/da_control/da_control.f90
M var/da/da_define_structures/da_allocate_observations.inc
M var/da/da_define_structures/da_allocate_y.inc
A var/da/da_define_structures/da_allocate_y_lightning.inc
M var/da/da_define_structures/da_deallocate_observations.inc
M var/da/da_define_structures/da_deallocate_y.inc
M var/da/da_define_structures/da_define_structures.f90
M var/da/da_define_structures/da_zero_y.inc
A var/da/da_lightning/da_ao_stats_lightning.inc
A var/da/da_lightning/da_calculate_grady_lightning.inc
A var/da/da_lightning/da_check_max_iv_lightning.inc
A var/da/da_lightning/da_div_profile.inc
A var/da/da_lightning/da_div_profile_adj.inc
A var/da/da_lightning/da_div_profile_tl.inc
A var/da/da_lightning/da_get_innov_vector_lightning.inc
A var/da/da_lightning/da_jo_and_grady_lightning.inc
A var/da/da_lightning/da_lightning.f90
A var/da/da_lightning/da_oi_stats_lightning.inc
A var/da/da_lightning/da_print_stats_lightning.inc
A var/da/da_lightning/da_residual_lightning.inc
A var/da/da_lightning/da_transform_xtoy_lightning.inc
A var/da/da_lightning/da_transform_xtoy_lightning_adj.inc
M var/da/da_main/da_wrfvar_top.f90
M var/da/da_minimisation/da_calculate_grady.inc
M var/da/da_minimisation/da_calculate_residual.inc
M var/da/da_minimisation/da_get_innov_vector.inc
M var/da/da_minimisation/da_get_var_diagnostics.inc
M var/da/da_minimisation/da_jo_and_grady.inc
M var/da/da_minimisation/da_minimisation.f90
M var/da/da_minimisation/da_write_diagnostics.inc
M var/da/da_obs/da_fill_obs_structures.inc
A var/da/da_obs/da_fill_obs_structures_lightning.inc
M var/da/da_obs/da_obs.f90
M var/da/da_obs/da_obs_sensitivity.inc
M var/da/da_obs/da_transform_xtoy.inc
M var/da/da_obs/da_transform_xtoy_adj.inc
M var/da/da_obs_io/da_final_write_obs.inc
M var/da/da_obs_io/da_obs_io.f90
M var/da/da_obs_io/da_read_iv_for_multi_inc.inc
A var/da/da_obs_io/da_read_obs_lightning.inc
M var/da/da_obs_io/da_read_omb_tmp.inc
A var/da/da_obs_io/da_scan_obs_lightning.inc
M var/da/da_obs_io/da_search_obs.inc
M var/da/da_obs_io/da_write_iv_for_multi_inc.inc
M var/da/da_obs_io/da_write_obs.inc
M var/da/da_setup_structures/da_setup_obs_structures.inc
M var/da/da_setup_structures/da_setup_obs_structures_ascii.inc
A var/da/da_setup_structures/da_setup_obs_structures_lightning.inc
M var/da/da_setup_structures/da_setup_structures.f90
M var/da/da_statistics/da_analysis_stats.inc
M var/da/da_statistics/da_statistics.f90
M var/da/da_test/da_check_xtoy_adjoint.inc
A var/da/da_test/da_check_xtoy_adjoint_lightning.inc
M var/da/da_test/da_get_y_lhs_value.inc
M var/da/da_test/da_test.f90

TESTS CONDUCTED:

  1. Tested it with 3DVar on Cheyenne using the intel compiler.

RELEASE NOTE:
A lightning data assimilation scheme has been added to assimilate pseudo vertical velocity, divergence fields, or water vapor retrievals from lightning flash rate data.
Chen, Z., Sun, J., Qie, X., Zhang, Y., Ying, Z., Xiao, X., & Cao, D. (2020). A method to update model kinematic states by assimilating satellite-observed total lightning data to improve convective analysis and forecasting. Journal of Geophysical Research: Atmospheres, 125, e2020JD033330. https://doi.org/10.1029/2020JD033330

mos3r3n and others added 8 commits November 21, 2023 16:07
	modified:   var/da/da_lightning/da_ao_stats_lightning.inc
	modified:   var/da/da_lightning/da_div_profile_adj.inc
	modified:   var/da/da_lightning/da_get_innov_vector_lightning.inc
	modified:   var/da/da_lightning/da_jo_and_grady_lightning.inc
	modified:   var/da/da_lightning/da_oi_stats_lightning.inc
	modified:   var/da/da_lightning/da_residual_lightning.inc
	modified:   var/da/da_lightning/da_transform_xtoy_lightning.inc
	modified:   var/da/da_lightning/da_transform_xtoy_lightning_adj.inc
	modified:   var/da/da_minimisation/da_jo_and_grady.inc
	modified:   var/da/da_minimisation/da_write_diagnostics.inc
	modified:   var/da/da_obs_io/da_final_write_obs.inc
	modified:   var/da/da_obs_io/da_read_obs_lightning.inc
	modified:   var/da/da_obs_io/da_scan_obs_lightning.inc
@mos3r3n mos3r3n requested review from a team as code owners December 28, 2023 17:22
@liujake liujake requested review from liujake and removed request for a team December 28, 2023 17:46
@liujake liujake changed the title Adding lightning data assimilation capability in WRFDA Add lightning data assimilation Dec 28, 2023
@weiwangncar
Copy link
Collaborator

The regression test results:

Test Type              | Expected  | Received |  Failed
= = = = = = = = = = = = = = = = = = = = = = = =  = = = =
Number of Tests        : 23           24
Number of Builds       : 60           57
Number of Simulations  : 158           150        0
Number of Comparisons  : 95           86        0

Failed Simulations are: 
None
Which comparisons are not bit-for-bit: 
None

Copy link
Contributor

@liujake liujake left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@liujake liujake merged commit c0976b9 into wrf-model:develop Dec 29, 2023
1 of 6 checks passed
@mos3r3n mos3r3n deleted the develop branch January 3, 2024 21:46
liujake pushed a commit that referenced this pull request Jan 4, 2024
Bugfix for the lightning DA

TYPE: bug fix

DESCRIPTION OF CHANGES:
There are some bugs in the [PR#1962](#1962), which is fixed in this PR.

LIST OF MODIFIED FILES:
M   var/da/da_minimisation/da_get_var_diagnostics.inc
M   var/da/da_statistics/da_analysis_stats.inc

TESTS CONDUCTED: 
1. Tested using the GNU compiler on Derecho.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants