-
Notifications
You must be signed in to change notification settings - Fork 727
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 new capability for surface chemical DA #1348
Conversation
Changes to be committed: modified: Registry/registry.var modified: Registry/registry.var_chem modified: Registry/registry.var_chemplus deleted: compile.log deleted: compile_3dvar.log deleted: foo_15627.c deleted: runcompile.pbs modified: var/build/depend.txt modified: var/da/da_chem_sfc/da_ao_stats_chem_sfc.inc modified: var/da/da_chem_sfc/da_chem_sfc.f90 modified: var/da/da_chem_sfc/da_get_innov_vector_chem_sfc.inc modified: var/da/da_chem_sfc/da_oi_stats_chem_sfc.inc deleted: var/da/da_chem_sfc/da_print_aostats_chem_sfc.inc modified: var/da/da_chem_sfc/da_print_stats_chem_sfc.inc deleted: var/da/da_chem_sfc/da_synop.f90 modified: var/da/da_chem_sfc/da_transform_xtoy_chem_sfc.inc modified: var/da/da_chem_sfc/da_transform_xtoy_chem_sfc_adj.inc modified: var/da/da_define_structures/da_deallocate_background_errors.inc modified: var/da/da_main/da_solve.inc modified: var/da/da_minimisation/da_minimisation.f90 modified: var/da/da_minimisation/da_write_diagnostics.inc new file: var/da/da_obs_io/da_final_write_obs_gas_sfc.inc modified: var/da/da_obs_io/da_obs_io.f90 modified: var/da/da_obs_io/da_read_obs_chem_sfc.inc modified: var/da/da_obs_io/da_read_omb_tmp.inc modified: var/da/da_obs_io/da_scan_obs_chem_sfc.inc modified: var/da/da_obs_io/da_write_obs_chem_sfc.inc modified: var/da/da_setup_structures/da_scale_background_errors.inc modified: var/da/da_setup_structures/da_setup_be_regional.inc modified: var/da/da_statistics/da_analysis_stats.inc modified: var/da/da_transfer_model/da_transfer_model.f90 modified: var/da/da_transfer_model/da_transfer_xatowrf.inc modified: var/da/da_vtox_transforms/da_transform_vtox.inc modified: var/da/da_vtox_transforms/da_transform_vtox_adj.inc
Conflicts: var/build/depend.txt var/da/da_define_structures/da_initialize_cv.inc var/da/da_main/da_solve.inc var/da/da_main/da_update_firstguess.inc var/da/da_main/da_wrfvar_top.f90 var/da/da_minimisation/da_calculate_gradj.inc var/da/da_minimisation/da_minimisation.f90 var/da/da_minimisation/da_minimise_cg.inc var/da/da_obs/da_obs.f90 var/da/da_obs_io/da_obs_io.f90 var/da/da_setup_structures/da_setup_be_regional.inc modified: Registry/Registry.EM_COMMON modified: Registry/Registry.EM_COMMON.var new file: Registry/Registry.wrfchemvar new file: Registry/registry.chemplus modified: Registry/registry.dimspec modified: Registry/registry.var modified: Registry/registry.var_chem new file: Registry/registry.var_chemplus new file: chem/Makefile.temp ?? new file: chem/Makefile_org ?? modified: compile modified: external/RSL_LITE/gen_comms.c modified: frame/module_domain.F modified: frame/module_driver_constants.F modified: share/mediation_integrate.F modified: tools/gen_allocs.c new file: var/build/Makefile modified: var/build/da.make new file: var/build/da.make.ori modified: var/build/depend.txt new file: var/build/depend.txt.ori modified: var/da/da_4dvar/da_4dvar.f90 modified: var/da/da_4dvar/da_4dvar_io.inc modified: var/da/da_4dvar/da_ad_model.inc new file: var/da/da_4dvar/da_init_model_input.inc new file: var/da/da_4dvar/da_init_model_output.inc new file: var/da/da_4dvar/da_med_init_fgc.inc modified: var/da/da_4dvar/da_nl_model.inc new file: var/da/da_4dvar/da_set_run_hours.inc modified: var/da/da_4dvar/da_tl_model.inc new file: var/da/da_4dvar/kj_swap_test.inc new file: var/da/da_chem/da_calculate_chem_forcing_ad.inc new file: var/da/da_chem/da_calculate_grady_chem_acft.inc new file: var/da/da_chem/da_calculate_grady_chem_surf.inc new file: var/da/da_chem/da_calculate_w_chem.inc new file: var/da/da_chem/da_check_max_iv_chem_acft.inc new file: var/da/da_chem/da_check_max_iv_chem_surf.inc new file: var/da/da_chem/da_chem.f90 new file: var/da/da_chem/da_chem_tools.f90 new file: var/da/da_chem/da_copy_chem_to_model.inc new file: var/da/da_chem/da_dgn.inc new file: var/da/da_chem/da_evaluate_j.inc new file: var/da/da_chem/da_get_innov_vector_chem_acft.inc new file: var/da/da_chem/da_get_innov_vector_chem_surf.inc new file: var/da/da_chem/da_hdgn.inc new file: var/da/da_chem/da_init_chem.inc new file: var/da/da_chem/da_jo_and_grady_chem_acft.inc new file: var/da/da_chem/da_jo_and_grady_chem_surf.inc new file: var/da/da_chem/da_residual_chem_acft.inc new file: var/da/da_chem/da_residual_chem_surf.inc new file: var/da/da_chem/da_retrieve_chem_hx.inc new file: var/da/da_chem/da_write_obs_chem.inc new file: var/da/da_chem_sfc/da_ao_stats_chem_sfc.inc new file: var/da/da_chem_sfc/da_calculate_grady_chem_sfc.inc new file: var/da/da_chem_sfc/da_check_max_iv_chem_sfc.inc new file: var/da/da_chem_sfc/da_chem_sfc.f90 new file: var/da/da_chem_sfc/da_get_innov_vector_chem_sfc.inc new file: var/da/da_chem_sfc/da_jo_and_grady_chem_sfc.inc new file: var/da/da_chem_sfc/da_jo_chem_sfc.inc new file: var/da/da_chem_sfc/da_oi_stats_chem_sfc.inc new file: var/da/da_chem_sfc/da_print_stats_chem_sfc.inc new file: var/da/da_chem_sfc/da_residual_chem_sfc.inc new file: var/da/da_chem_sfc/da_transform_xtoy_chem_sfc.inc new file: var/da/da_chem_sfc/da_transform_xtoy_chem_sfc_adj.inc modified: var/da/da_control/da_control.f90 new file: var/da/da_define_structures/da_allocate_background_errors_chem.inc new file: var/da/da_define_structures/da_allocate_observations_chem.inc new file: var/da/da_define_structures/da_allocate_observations_chem_sfc.inc new file: var/da/da_define_structures/da_allocate_y_chem.inc new file: var/da/da_define_structures/da_allocate_y_chem_sfc.inc modified: var/da/da_define_structures/da_deallocate_background_errors.inc modified: var/da/da_define_structures/da_deallocate_observations.inc new file: var/da/da_define_structures/da_deallocate_y_chem_sfc.inc modified: var/da/da_define_structures/da_define_structures.f90 new file: var/da/da_define_structures/da_zero_xch_type.inc new file: var/da/da_define_structures/da_zero_xchem_type.inc modified: var/da/da_main/da_solve.inc modified: var/da/da_main/da_solve_init.inc modified: var/da/da_main/da_update_firstguess.inc modified: var/da/da_main/da_wrfvar_init2.inc modified: var/da/da_main/da_wrfvar_top.f90 modified: var/da/da_minimisation/da_amat_mul.inc new file: var/da/da_minimisation/da_calculate_aminusb.inc modified: var/da/da_minimisation/da_calculate_gradj.inc modified: var/da/da_minimisation/da_calculate_grady.inc modified: var/da/da_minimisation/da_calculate_j.inc modified: var/da/da_minimisation/da_calculate_residual.inc modified: var/da/da_minimisation/da_dot_cv.inc modified: var/da/da_minimisation/da_get_innov_vector.inc modified: var/da/da_minimisation/da_get_var_diagnostics.inc modified: var/da/da_minimisation/da_jo_and_grady.inc modified: var/da/da_minimisation/da_minimisation.f90 modified: var/da/da_minimisation/da_minimise_cg.inc modified: var/da/da_minimisation/da_minimise_lz.inc modified: var/da/da_minimisation/da_sensitivity.inc modified: var/da/da_minimisation/da_swap_xtraj.inc modified: var/da/da_minimisation/da_transform_vtod_wpec.inc modified: var/da/da_minimisation/da_transform_vtoy.inc modified: var/da/da_minimisation/da_transform_vtoy_adj.inc modified: var/da/da_minimisation/da_write_diagnostics.inc new file: var/da/da_obs/da_fill_obs_structures_chem.inc new file: var/da/da_obs/da_fill_obs_structures_chem_sfc.inc modified: var/da/da_obs/da_obs.f90 new file: var/da/da_obs/da_store_obs_grid_info_acft.inc modified: var/da/da_obs/da_transform_xtoy.inc modified: var/da/da_obs/da_transform_xtoy_adj.inc new file: var/da/da_obs_io/da_final_write_obs_chem.inc new file: var/da/da_obs_io/da_final_write_obs_chem_sfc.inc new file: var/da/da_obs_io/da_final_write_obs_gas_sfc.inc modified: var/da/da_obs_io/da_obs_io.f90 new file: var/da/da_obs_io/da_read_obs_chem.inc new file: var/da/da_obs_io/da_read_obs_chem_sfc.inc modified: var/da/da_obs_io/da_read_omb_tmp.inc new file: var/da/da_obs_io/da_scan_obs_chem_sfc.inc new file: var/da/da_obs_io/da_write_obs_chem_sfc.inc modified: var/da/da_par_util/da_cv_to_global.inc modified: var/da/da_par_util/da_cv_to_vv.inc new file: var/da/da_par_util/da_cv_to_vv_chem.inc modified: var/da/da_par_util/da_par_util.f90 modified: var/da/da_par_util/da_vv_to_cv.inc new file: var/da/da_par_util/da_vv_to_cv_chem.inc modified: var/da/da_setup_structures/da_scale_background_errors.inc modified: var/da/da_setup_structures/da_setup_background_errors.inc new file: var/da/da_setup_structures/da_setup_be_chem.inc new file: var/da/da_setup_structures/da_setup_be_chem_conc.inc modified: var/da/da_setup_structures/da_setup_be_regional.inc modified: var/da/da_setup_structures/da_setup_cv.inc modified: var/da/da_setup_structures/da_setup_firstguess.inc modified: var/da/da_setup_structures/da_setup_firstguess_wrf.inc modified: var/da/da_setup_structures/da_setup_obs_interp_wts.inc modified: var/da/da_setup_structures/da_setup_obs_structures.inc new file: var/da/da_setup_structures/da_setup_obs_structures_chem.inc new file: var/da/da_setup_structures/da_setup_obs_structures_chem_sfc.inc modified: var/da/da_setup_structures/da_setup_structures.f90 modified: var/da/da_statistics/da_analysis_stats.inc modified: var/da/da_statistics/da_statistics.f90 modified: var/da/da_test/da_check.inc modified: var/da/da_test/da_check_cvtovv_adjoint.inc new file: var/da/da_test/da_check_cvtovv_adjoint_chem.inc modified: var/da/da_test/da_check_gradient.inc new file: var/da/da_test/da_check_vchemtox_adjoint.inc new file: var/da/da_test/da_check_vtox_adjoint_chem.inc modified: var/da/da_test/da_test.f90 modified: var/da/da_tools/da_llxy.inc modified: var/da/da_transfer_model/da_transfer_model.f90 new file: var/da/da_transfer_model/da_transfer_wrftltoy_chem.inc new file: var/da/da_transfer_model/da_transfer_wrftltoy_chem_adj.inc new file: var/da/da_transfer_model/da_transfer_wrftoxb_chem.inc new file: var/da/da_transfer_model/da_transfer_wrftoxb_gocart.inc modified: var/da/da_transfer_model/da_transfer_xatoanalysis.inc modified: var/da/da_transfer_model/da_transfer_xatowrf.inc new file: var/da/da_transfer_model/da_transfer_xatowrf_temp.inc modified: var/da/da_transfer_model/da_transfer_xatowrftl.inc modified: var/da/da_transfer_model/da_transfer_xatowrftl_adj.inc modified: var/da/da_update_bc/da_update_bc.f90 new file: var/da/da_vtox_transforms/da_transform_vchemtox.inc new file: var/da/da_vtox_transforms/da_transform_vchemtox_adj.inc new file: var/da/da_vtox_transforms/da_transform_vchtox.inc new file: var/da/da_vtox_transforms/da_transform_vchtox_adj.inc modified: var/da/da_vtox_transforms/da_transform_vtovv.inc modified: var/da/da_vtox_transforms/da_transform_vtovv_adj.inc modified: var/da/da_vtox_transforms/da_transform_vtox.inc modified: var/da/da_vtox_transforms/da_transform_vtox_adj.inc modified: var/da/da_vtox_transforms/da_vtox_transforms.f90 modified: var/external/crtm_2.3.0/libsrc/make.dependencies ??
modified: var/build/depend.txt modified: var/da/da_main/da_wrfvar_top.f90 modified: var/da/da_setup_structures/da_setup_be_chem_conc.inc
deleted: var/build/da.make.ori deleted: var/build/depend.txt.ori
Remove 4DVAR-related changes, recover to 4dvar in 'develop' branch. Compiled still Ok. modified: var/build/depend.txt modified: var/da/da_4dvar/da_4dvar.f90 modified: var/da/da_4dvar/da_4dvar_io.inc modified: var/da/da_4dvar/da_ad_model.inc deleted: var/da/da_4dvar/da_init_model_input.inc deleted: var/da/da_4dvar/da_init_model_output.inc deleted: var/da/da_4dvar/da_med_init_fgc.inc modified: var/da/da_4dvar/da_nl_model.inc deleted: var/da/da_4dvar/da_set_run_hours.inc modified: var/da/da_4dvar/da_tl_model.inc deleted: var/da/da_4dvar/kj_swap_test.inc modified: var/da/da_chem/da_chem_tools.f90 modified: var/da/da_chem/da_evaluate_j.inc
Remove JJ's code and related calls modified: var/build/depend.txt deleted: var/da/da_chem/da_calculate_chem_forcing_ad.inc deleted: var/da/da_chem/da_calculate_grady_chem_acft.inc deleted: var/da/da_chem/da_calculate_grady_chem_surf.inc deleted: var/da/da_chem/da_calculate_w_chem.inc deleted: var/da/da_chem/da_check_max_iv_chem_acft.inc deleted: var/da/da_chem/da_check_max_iv_chem_surf.inc deleted: var/da/da_chem/da_chem.f90 deleted: var/da/da_chem/da_chem_tools.f90 deleted: var/da/da_chem/da_copy_chem_to_model.inc deleted: var/da/da_chem/da_dgn.inc deleted: var/da/da_chem/da_evaluate_j.inc deleted: var/da/da_chem/da_get_innov_vector_chem_acft.inc deleted: var/da/da_chem/da_get_innov_vector_chem_surf.inc deleted: var/da/da_chem/da_hdgn.inc deleted: var/da/da_chem/da_init_chem.inc deleted: var/da/da_chem/da_jo_and_grady_chem_acft.inc deleted: var/da/da_chem/da_jo_and_grady_chem_surf.inc deleted: var/da/da_chem/da_residual_chem_acft.inc deleted: var/da/da_chem/da_residual_chem_surf.inc deleted: var/da/da_chem/da_retrieve_chem_hx.inc deleted: var/da/da_chem/da_write_obs_chem.inc modified: var/da/da_control/da_control.f90 deleted: var/da/da_define_structures/da_allocate_background_errors_chem.inc deleted: var/da/da_define_structures/da_allocate_observations_chem.inc deleted: var/da/da_define_structures/da_allocate_y_chem.inc modified: var/da/da_define_structures/da_deallocate_background_errors.inc modified: var/da/da_define_structures/da_deallocate_observations.inc modified: var/da/da_define_structures/da_define_structures.f90 deleted: var/da/da_define_structures/da_zero_xch_type.inc deleted: var/da/da_minimisation/da_calculate_aminusb.inc modified: var/da/da_minimisation/da_calculate_gradj.inc modified: var/da/da_minimisation/da_calculate_grady.inc modified: var/da/da_minimisation/da_calculate_j.inc modified: var/da/da_minimisation/da_calculate_residual.inc modified: var/da/da_minimisation/da_dot_cv.inc modified: var/da/da_minimisation/da_get_innov_vector.inc modified: var/da/da_minimisation/da_get_var_diagnostics.inc modified: var/da/da_minimisation/da_jo_and_grady.inc modified: var/da/da_minimisation/da_minimisation.f90 modified: var/da/da_minimisation/da_minimise_cg.inc modified: var/da/da_minimisation/da_minimise_lz.inc modified: var/da/da_minimisation/da_sensitivity.inc modified: var/da/da_minimisation/da_swap_xtraj.inc modified: var/da/da_minimisation/da_transform_vtoy.inc modified: var/da/da_minimisation/da_transform_vtoy_adj.inc modified: var/da/da_minimisation/da_write_diagnostics.inc deleted: var/da/da_obs/da_fill_obs_structures_chem.inc modified: var/da/da_obs/da_obs.f90 deleted: var/da/da_obs/da_store_obs_grid_info_acft.inc modified: var/da/da_obs/da_transform_xtoy_adj.inc deleted: var/da/da_obs_io/da_final_write_obs_chem.inc modified: var/da/da_obs_io/da_obs_io.f90 deleted: var/da/da_obs_io/da_read_obs_chem.inc modified: var/da/da_par_util/da_cv_to_global.inc modified: var/da/da_par_util/da_cv_to_vv.inc modified: var/da/da_par_util/da_par_util.f90 modified: var/da/da_par_util/da_vv_to_cv.inc modified: var/da/da_setup_structures/da_setup_background_errors.inc deleted: var/da/da_setup_structures/da_setup_be_chem.inc deleted: var/da/da_setup_structures/da_setup_be_chem_conc.inc modified: var/da/da_setup_structures/da_setup_cv.inc modified: var/da/da_setup_structures/da_setup_firstguess_wrf.inc modified: var/da/da_setup_structures/da_setup_obs_interp_wts.inc modified: var/da/da_setup_structures/da_setup_obs_structures.inc deleted: var/da/da_setup_structures/da_setup_obs_structures_chem.inc modified: var/da/da_setup_structures/da_setup_structures.f90 modified: var/da/da_test/da_check_cvtovv_adjoint.inc modified: var/da/da_tools/da_llxy.inc modified: var/da/da_transfer_model/da_transfer_model.f90 deleted: var/da/da_transfer_model/da_transfer_wrftltoy_chem.inc deleted: var/da/da_transfer_model/da_transfer_wrftltoy_chem_adj.inc deleted: var/da/da_transfer_model/da_transfer_wrftoxb_chem.inc modified: var/da/da_transfer_model/da_transfer_xatoanalysis.inc modified: var/da/da_transfer_model/da_transfer_xatowrf.inc deleted: var/da/da_transfer_model/da_transfer_xatowrf_temp.inc modified: var/da/da_transfer_model/da_transfer_xatowrftl.inc modified: var/da/da_transfer_model/da_transfer_xatowrftl_adj.inc deleted: var/da/da_vtox_transforms/da_transform_vchtox.inc deleted: var/da/da_vtox_transforms/da_transform_vchtox_adj.inc modified: var/da/da_vtox_transforms/da_transform_vtovv.inc modified: var/da/da_vtox_transforms/da_transform_vtovv_adj.inc modified: var/da/da_vtox_transforms/da_transform_vtox.inc modified: var/da/da_vtox_transforms/da_transform_vtox_adj.inc modified: var/da/da_vtox_transforms/da_vtox_transforms.f90
Further clean-up and Enable compilation again modified: Registry/Registry.EM_COMMON modified: Registry/Registry.EM_COMMON.var modified: Registry/registry.var modified: frame/module_driver_constants.F modified: var/build/da.make modified: var/build/depend.txt modified: var/da/da_chem_sfc/da_chem_sfc.f90 modified: var/da/da_main/da_solve.inc modified: var/da/da_main/da_wrfvar_top.f90 modified: var/da/da_minimisation/da_calculate_j.inc modified: var/da/da_minimisation/da_dot_cv.inc modified: var/da/da_minimisation/da_sensitivity.inc modified: var/da/da_obs/da_obs.f90 modified: var/da/da_obs/da_transform_xtoy_adj.inc modified: var/da/da_par_util/da_par_util.f90 modified: var/da/da_par_util/da_vv_to_cv_chem.inc modified: var/da/da_setup_structures/da_setup_structures.f90
further clean-up, compiled OK modified: Registry/registry.dimspec modified: frame/module_domain.F modified: tools/gen_allocs.c modified: var/da/da_define_structures/da_define_structures.f90 modified: var/da/da_main/da_solve.inc modified: var/da/da_main/da_update_firstguess.inc modified: var/da/da_main/da_wrfvar_top.f90 modified: var/da/da_minimisation/da_amat_mul.inc modified: var/da/da_minimisation/da_calculate_j.inc modified: var/da/da_minimisation/da_dot_cv.inc modified: var/da/da_minimisation/da_minimisation.f90 modified: var/da/da_minimisation/da_sensitivity.inc modified: var/da/da_obs/da_obs.f90 modified: var/da/da_setup_structures/da_setup_background_errors.inc modified: var/da/da_setup_structures/da_setup_firstguess_wrf.inc modified: var/da/da_setup_structures/da_setup_structures.f90 modified: var/da/da_test/da_check_gradient.inc modified: var/da/da_transfer_model/da_transfer_model.f90 modified: var/da/da_update_bc/da_update_bc.f90 modified: var/da/da_vtox_transforms/da_vtox_transforms.f90
Further clean-up: move necessary variables from registry.var_chemplus to registry.var_chem modified: Registry/Registry.wrfchemvar deleted: Registry/registry.chemplus modified: Registry/registry.var_chem deleted: Registry/registry.var_chemplus modified: var/da/da_chem_sfc/da_chem_sfc.f90 modified: var/da/da_main/da_wrfvar_top.f90 modified: var/da/da_obs_io/da_obs_io.f90
modified: Registry/Registry.wrfchemvar modified: share/output_wrf.F
modified: var/build/depend.txt modified: var/da/da_obs_io/da_read_omb_tmp.inc modified: var/da/da_par_util/da_cv_to_vv.inc deleted: var/da/da_par_util/da_cv_to_vv_chem.inc modified: var/da/da_par_util/da_par_util.f90 modified: var/da/da_par_util/da_vv_to_cv.inc deleted: var/da/da_par_util/da_vv_to_cv_chem.inc modified: var/da/da_setup_structures/da_scale_background_errors.inc modified: var/da/da_setup_structures/da_setup_background_errors.inc modified: var/da/da_setup_structures/da_setup_be_regional.inc modified: var/da/da_setup_structures/da_setup_firstguess_wrf.inc modified: var/da/da_setup_structures/da_setup_obs_structures.inc modified: var/da/da_statistics/da_analysis_stats.inc modified: var/da/da_test/da_check.inc modified: var/da/da_test/da_test.f90 modified: var/da/da_transfer_model/da_transfer_xatoanalysis.inc modified: var/da/da_transfer_model/da_transfer_xatowrf.inc modified: var/da/da_vtox_transforms/da_transform_vtovv.inc modified: var/da/da_vtox_transforms/da_transform_vtovv_adj.inc modified: var/da/da_vtox_transforms/da_vtox_transforms.f90
modified: Registry/registry.var modified: Registry/registry.var_chem
modified: Registry/registry.var modified: Registry/registry.var_chem
modified: var/build/depend.txt modified: var/da/da_main/da_wrfvar_top.f90 modified: var/da/da_setup_structures/da_setup_firstguess_wrf.inc modified: var/da/da_transfer_model/da_transfer_model.f90 renamed: var/da/da_transfer_model/da_transfer_wrftoxb_gocart.inc -> var/da/da_transfer_model/da_transfer_wrftoxb_chem.inc modified: var/da/da_transfer_model/da_transfer_xatoanalysis.inc
modified: Registry/registry.var_chem modified: var/da/da_main/da_wrfvar_top.f90
modified: Registry/registry.var_chem
modified: Registry/registry.var_chem modified: var/da/da_main/da_solve.inc modified: var/da/da_main/da_wrfvar_top.f90 modified: var/da/da_minimisation/da_calculate_gradj.inc modified: var/da/da_minimisation/da_calculate_j.inc modified: var/da/da_minimisation/da_minimise_lz.inc modified: var/da/da_minimisation/da_transform_vtod_wpec.inc modified: var/da/da_minimisation/da_transform_vtoy.inc modified: var/da/da_obs_io/da_read_omb_tmp.inc modified: var/da/da_par_util/da_cv_to_vv.inc modified: var/da/da_setup_structures/da_setup_background_errors.inc modified: var/da/da_setup_structures/da_setup_cv.inc modified: var/da/da_statistics/da_analysis_stats.inc modified: var/da/da_test/da_check_cvtovv_adjoint.inc modified: var/da/da_transfer_model/da_transfer_model.f90 modified: var/da/da_transfer_model/da_transfer_xatoanalysis.inc modified: var/da/da_transfer_model/da_transfer_xatowrf.inc
modified: var/da/da_setup_structures/da_rescale_background_errors.inc modified: var/da/da_setup_structures/da_scale_background_errors.inc modified: var/da/da_setup_structures/da_setup_be_regional.inc
modified: var/da/da_setup_structures/da_setup_be_regional.inc
modified: Registry/registry.var_chem modified: var/da/da_setup_structures/da_scale_background_errors.inc modified: var/da/da_setup_structures/da_setup_be_regional.inc
@davegill This PR should have no impact on model side, but you may like to take some quick look at a few files outside ~var/. |
@davegill Looks like jenkins autotest will be invoked every time when PR message is edited. This seems to be unnecessary. Is this the behavior by design? |
@liujake |
modified: var/da/da_control/da_control.f90 modified: var/da/da_par_util/da_vv_to_cv.inc modified: var/da/da_setup_structures/da_setup_obs_structures.inc modified: var/da/da_transfer_model/da_transfer_xatowrf.inc
TYPE: new feature KEYWORDS: Chemical DA, Surface Observations, 3DVar, GENBE_2.0 SOURCE: Wei Sun (NCAR/MMM, CAS), Jake Liu (NCAR/MMM), Dan Chen (IUM, Beijing) DESCRIPTION OF CHANGES: 1. This PR adds the new capability for assimilating the surface chemical/aerosol observations (pm2.5, pm10, O3, NO2, SO2, CO) using 3DVar. 2. Several new namelist parameters are defined in registry.var_chem under wrfvarchem. The setting of chemicda_opt only works for MOSAIC scheme. The inflation factors of chemical background errors work for both aerosol schemes, but they are only tested under the MOSAIC scheme. &wrfvarchem chem_cv_options= 10/20: control variables are 4 gas + 15/32 GOCART/MOSAIC (4bin) aerosol variables chemicda_opt=1/2/3/4/5 # assimilate pm2.5/pm10/pm2.5+pm10/co+o3+so2+no2/6-species var_scaling12=36xmax_outer_iterations, # inflation factors of chemical background errors. len_scaling12=36xmax_outer_iterations, # inflation factors of chemical background errors. use_chemic_surfobs = .true., # read in ob_chemsfc.ascii / 3. To compile 3DVar with chemical DA capability, set the environment variable "WRF_CHEM" as 1, then ./configure wrfda; compile all_wrfvar as usual. The executable remains da_wrfvar.exe. 4. The chemical background error file be.dat needs to be generated using GENBE_2.0 on https://github.com/wrf-model/GENBE_2.0. LIST OF MODIFIED FILES: A Registry/Registry.wrfchemvar M Registry/registry.var_chem M compile M external/RSL_LITE/gen_comms.c M frame/module_domain.F M frame/module_driver_constants.F M share/mediation_integrate.F M share/output_wrf.F M tools/gen_allocs.c M var/build/da.make M var/build/depend.txt A var/da/da_chem_sfc/da_ao_stats_chem_sfc.inc A var/da/da_chem_sfc/da_calculate_grady_chem_sfc.inc A var/da/da_chem_sfc/da_check_max_iv_chem_sfc.inc A var/da/da_chem_sfc/da_chem_sfc.f90 A var/da/da_chem_sfc/da_get_innov_vector_chem_sfc.inc A var/da/da_chem_sfc/da_jo_and_grady_chem_sfc.inc A var/da/da_chem_sfc/da_jo_chem_sfc.inc A var/da/da_chem_sfc/da_oi_stats_chem_sfc.inc A var/da/da_chem_sfc/da_print_stats_chem_sfc.inc A var/da/da_chem_sfc/da_residual_chem_sfc.inc A var/da/da_chem_sfc/da_transform_xtoy_chem_sfc.inc A var/da/da_chem_sfc/da_transform_xtoy_chem_sfc_adj.inc M var/da/da_control/da_control.f90 A var/da/da_define_structures/da_allocate_observations_chem_sfc.inc A var/da/da_define_structures/da_allocate_y_chem_sfc.inc M var/da/da_define_structures/da_deallocate_background_errors.inc A var/da/da_define_structures/da_deallocate_y_chem_sfc.inc M var/da/da_define_structures/da_define_structures.f90 A var/da/da_define_structures/da_zero_xchem_type.inc M var/da/da_main/da_solve.inc M var/da/da_main/da_solve_init.inc M var/da/da_main/da_update_firstguess.inc M var/da/da_main/da_wrfvar_init2.inc M var/da/da_main/da_wrfvar_top.f90 M var/da/da_minimisation/da_amat_mul.inc M var/da/da_minimisation/da_calculate_gradj.inc M var/da/da_minimisation/da_calculate_grady.inc M var/da/da_minimisation/da_calculate_j.inc M var/da/da_minimisation/da_calculate_residual.inc M var/da/da_minimisation/da_dot_cv.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_minimise_cg.inc M var/da/da_minimisation/da_minimise_lz.inc M var/da/da_minimisation/da_sensitivity.inc M var/da/da_minimisation/da_transform_vtoy.inc M var/da/da_minimisation/da_transform_vtoy_adj.inc M var/da/da_minimisation/da_write_diagnostics.inc A var/da/da_obs/da_fill_obs_structures_chem_sfc.inc M var/da/da_obs/da_obs.f90 M var/da/da_obs/da_transform_xtoy.inc M var/da/da_obs/da_transform_xtoy_adj.inc A var/da/da_obs_io/da_final_write_obs_chem_sfc.inc A var/da/da_obs_io/da_final_write_obs_gas_sfc.inc M var/da/da_obs_io/da_obs_io.f90 A var/da/da_obs_io/da_read_obs_chem_sfc.inc M var/da/da_obs_io/da_read_omb_tmp.inc A var/da/da_obs_io/da_scan_obs_chem_sfc.inc A var/da/da_obs_io/da_write_obs_chem_sfc.inc M var/da/da_par_util/da_cv_to_vv.inc M var/da/da_par_util/da_par_util.f90 M var/da/da_par_util/da_vv_to_cv.inc M var/da/da_setup_structures/da_rescale_background_errors.inc M var/da/da_setup_structures/da_scale_background_errors.inc M var/da/da_setup_structures/da_setup_background_errors.inc M var/da/da_setup_structures/da_setup_be_regional.inc M var/da/da_setup_structures/da_setup_cv.inc M var/da/da_setup_structures/da_setup_firstguess.inc M var/da/da_setup_structures/da_setup_firstguess_wrf.inc M var/da/da_setup_structures/da_setup_obs_structures.inc A var/da/da_setup_structures/da_setup_obs_structures_chem_sfc.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.inc A var/da/da_test/da_check_cvtovv_adjoint_chem.inc M var/da/da_test/da_check_gradient.inc A var/da/da_test/da_check_vchemtox_adjoint.inc A var/da/da_test/da_check_vtox_adjoint_chem.inc M var/da/da_test/da_test.f90 M var/da/da_transfer_model/da_transfer_model.f90 A var/da/da_transfer_model/da_transfer_wrftoxb_chem.inc M var/da/da_transfer_model/da_transfer_xatoanalysis.inc M var/da/da_transfer_model/da_transfer_xatowrf.inc A var/da/da_vtox_transforms/da_transform_vchemtox.inc A var/da/da_vtox_transforms/da_transform_vchemtox_adj.inc M var/da/da_vtox_transforms/da_transform_vtovv.inc M var/da/da_vtox_transforms/da_transform_vtovv_adj.inc M var/da/da_vtox_transforms/da_transform_vtox.inc M var/da/da_vtox_transforms/da_transform_vtox_adj.inc M var/da/da_vtox_transforms/da_vtox_transforms.f90 TESTS CONDUCTED: 1. WRFDA regression tests passed. 2. New chemical DA is tested with 6 types of surface obs and 4-bin MOSAIC aerosol scheme. RELEASE NOTE: Add new capability for assimilating surface pm2.5, pm10, O3, CO, NO2, SO2 using 3DVar. Sun, W., Liu, Z., Chen, D., Zhao, P., and Chen, M., 2020: Development and application of the WRFDA-Chem three-dimensional variational (3DVAR) system: aiming to improve air quality forecasting and diagnose model deficiencies, Atmos. Chem. Phys., 20, 9311-9329.
TYPE: new feature
KEYWORDS: Chemical DA, Surface Observations, 3DVar, GENBE_2.0
SOURCE: Wei Sun (NCAR/MMM, CAS), Jake Liu (NCAR/MMM), Dan Chen (IUM, Beijing)
DESCRIPTION OF CHANGES:
This PR adds the new capability for assimilating the surface chemical/aerosol observations (pm2.5, pm10, O3, NO2, SO2, CO) using 3DVar.
Several new namelist parameters are defined in registry.var_chem under wrfvarchem. The setting of chemicda_opt only works for MOSAIC scheme. The inflation factors of chemical background errors work for both aerosol schemes, but they are only tested under the MOSAIC scheme.
&wrfvarchem
chem_cv_options= 10/20: control variables are 4 gas + 15/32 GOCART/MOSAIC (4bin) aerosol variables
chemicda_opt=1/2/3/4/5 # assimilate pm2.5/pm10/pm2.5+pm10/co+o3+so2+no2/6-species
var_scaling12=36xmax_outer_iterations, # inflation factors of chemical background errors.
len_scaling12=36xmax_outer_iterations, # inflation factors of chemical background errors.
use_chemic_surfobs = .true., # read in ob_chemsfc.ascii
/
To compile 3DVar with chemical DA capability, set the environment variable "WRF_CHEM" as 1, then ./configure wrfda; compile all_wrfvar as usual. The executable remains da_wrfvar.exe.
The chemical background error file be.dat needs to be generated using GENBE_2.0 on https://github.com/wrf-model/GENBE_2.0.
LIST OF MODIFIED FILES:
A Registry/Registry.wrfchemvar
M Registry/registry.var_chem
M compile
M external/RSL_LITE/gen_comms.c
M frame/module_domain.F
M frame/module_driver_constants.F
M share/mediation_integrate.F
M share/output_wrf.F
M tools/gen_allocs.c
M var/build/da.make
M var/build/depend.txt
A var/da/da_chem_sfc/da_ao_stats_chem_sfc.inc
A var/da/da_chem_sfc/da_calculate_grady_chem_sfc.inc
A var/da/da_chem_sfc/da_check_max_iv_chem_sfc.inc
A var/da/da_chem_sfc/da_chem_sfc.f90
A var/da/da_chem_sfc/da_get_innov_vector_chem_sfc.inc
A var/da/da_chem_sfc/da_jo_and_grady_chem_sfc.inc
A var/da/da_chem_sfc/da_jo_chem_sfc.inc
A var/da/da_chem_sfc/da_oi_stats_chem_sfc.inc
A var/da/da_chem_sfc/da_print_stats_chem_sfc.inc
A var/da/da_chem_sfc/da_residual_chem_sfc.inc
A var/da/da_chem_sfc/da_transform_xtoy_chem_sfc.inc
A var/da/da_chem_sfc/da_transform_xtoy_chem_sfc_adj.inc
M var/da/da_control/da_control.f90
A var/da/da_define_structures/da_allocate_observations_chem_sfc.inc
A var/da/da_define_structures/da_allocate_y_chem_sfc.inc
M var/da/da_define_structures/da_deallocate_background_errors.inc
A var/da/da_define_structures/da_deallocate_y_chem_sfc.inc
M var/da/da_define_structures/da_define_structures.f90
A var/da/da_define_structures/da_zero_xchem_type.inc
M var/da/da_main/da_solve.inc
M var/da/da_main/da_solve_init.inc
M var/da/da_main/da_update_firstguess.inc
M var/da/da_main/da_wrfvar_init2.inc
M var/da/da_main/da_wrfvar_top.f90
M var/da/da_minimisation/da_amat_mul.inc
M var/da/da_minimisation/da_calculate_gradj.inc
M var/da/da_minimisation/da_calculate_grady.inc
M var/da/da_minimisation/da_calculate_j.inc
M var/da/da_minimisation/da_calculate_residual.inc
M var/da/da_minimisation/da_dot_cv.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_minimise_cg.inc
M var/da/da_minimisation/da_minimise_lz.inc
M var/da/da_minimisation/da_sensitivity.inc
M var/da/da_minimisation/da_transform_vtoy.inc
M var/da/da_minimisation/da_transform_vtoy_adj.inc
M var/da/da_minimisation/da_write_diagnostics.inc
A var/da/da_obs/da_fill_obs_structures_chem_sfc.inc
M var/da/da_obs/da_obs.f90
M var/da/da_obs/da_transform_xtoy.inc
M var/da/da_obs/da_transform_xtoy_adj.inc
A var/da/da_obs_io/da_final_write_obs_chem_sfc.inc
A var/da/da_obs_io/da_final_write_obs_gas_sfc.inc
M var/da/da_obs_io/da_obs_io.f90
A var/da/da_obs_io/da_read_obs_chem_sfc.inc
M var/da/da_obs_io/da_read_omb_tmp.inc
A var/da/da_obs_io/da_scan_obs_chem_sfc.inc
A var/da/da_obs_io/da_write_obs_chem_sfc.inc
M var/da/da_par_util/da_cv_to_vv.inc
M var/da/da_par_util/da_par_util.f90
M var/da/da_par_util/da_vv_to_cv.inc
M var/da/da_setup_structures/da_rescale_background_errors.inc
M var/da/da_setup_structures/da_scale_background_errors.inc
M var/da/da_setup_structures/da_setup_background_errors.inc
M var/da/da_setup_structures/da_setup_be_regional.inc
M var/da/da_setup_structures/da_setup_cv.inc
M var/da/da_setup_structures/da_setup_firstguess.inc
M var/da/da_setup_structures/da_setup_firstguess_wrf.inc
M var/da/da_setup_structures/da_setup_obs_structures.inc
A var/da/da_setup_structures/da_setup_obs_structures_chem_sfc.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.inc
A var/da/da_test/da_check_cvtovv_adjoint_chem.inc
M var/da/da_test/da_check_gradient.inc
A var/da/da_test/da_check_vchemtox_adjoint.inc
A var/da/da_test/da_check_vtox_adjoint_chem.inc
M var/da/da_test/da_test.f90
M var/da/da_transfer_model/da_transfer_model.f90
A var/da/da_transfer_model/da_transfer_wrftoxb_chem.inc
M var/da/da_transfer_model/da_transfer_xatoanalysis.inc
M var/da/da_transfer_model/da_transfer_xatowrf.inc
A var/da/da_vtox_transforms/da_transform_vchemtox.inc
A var/da/da_vtox_transforms/da_transform_vchemtox_adj.inc
M var/da/da_vtox_transforms/da_transform_vtovv.inc
M var/da/da_vtox_transforms/da_transform_vtovv_adj.inc
M var/da/da_vtox_transforms/da_transform_vtox.inc
M var/da/da_vtox_transforms/da_transform_vtox_adj.inc
M var/da/da_vtox_transforms/da_vtox_transforms.f90
TESTS CONDUCTED:
RELEASE NOTE: Add new capability for assimilating surface pm2.5, pm10, O3, CO, NO2, SO2 using 3DVar.
Sun, W., Liu, Z., Chen, D., Zhao, P., and Chen, M., 2020: Development and application of the WRFDA-Chem three-dimensional variational (3DVAR) system: aiming to improve air quality forecasting and diagnose model deficiencies, Atmos. Chem. Phys., 20, 9311-9329.