Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Registry/registry.var
Original file line number Diff line number Diff line change
Expand Up @@ -457,6 +457,7 @@ rconfig integer pseudo_time namelist,wrfvar15 1 1 - "ps
rconfig real pseudo_val namelist,wrfvar15 1 1.0 - "pseudo_val" "" ""
rconfig real pseudo_err namelist,wrfvar15 1 1.0 - "pseudo_err" "" ""
rconfig real pseudo_elv namelist,wrfvar15 1 -999.99 - "pseudo_elv" "pseudo ob elevation, used by pseudo tpw/ztd" "m"
rconfig integer ep_format namelist,wrfvar16 1 1 - "ep_format" "format of ensemble perturbation" "1=original,11=original but in real4,2=new full-domain,3=new subdomain"
rconfig integer ep_para_read namelist,wrfvar16 1 0 - "ep_para_read" "how the ensemble perturbations are read" "0: serial read, 1: parallel read"
rconfig integer rden_bin namelist,wrfvar16 1 1 - "rden_bin" "number of bins/batches to read ensemble perturbations in parallel" ""
rconfig integer alphacv_method namelist,wrfvar16 1 2 - "alphacv_method" "" ""
Expand Down
2 changes: 1 addition & 1 deletion var/build/depend.txt
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ da_rfz_cv3.o : da_rfz_cv3.f90
da_rsl_interfaces.o : da_rsl_interfaces.f90
da_rttov.o : da_rttov.f90 da_rttov_ad.inc da_rttov_tl.inc da_rttov_direct.inc da_rttov_init.inc da_transform_xtoy_rttov_adj.inc da_transform_xtoy_rttov.inc da_get_innov_vector_rttov.inc da_rttov_k.inc da_wrf_interfaces.o da_tracing.o da_tools.o da_radiance1.o da_par_util.o da_tools_serial.o da_interpolation.o da_control.o module_radiance.o da_reporting.o module_domain.o da_define_structures.o
da_satem.o : da_satem.f90 da_calculate_grady_satem.inc da_get_innov_vector_satem.inc da_check_max_iv_satem.inc da_transform_xtoy_satem_adj.inc da_transform_xtoy_satem.inc da_print_stats_satem.inc da_oi_stats_satem.inc da_residual_satem.inc da_jo_and_grady_satem.inc da_ao_stats_satem.inc da_tracing.o da_tools.o da_statistics.o da_physics.o da_par_util1.o da_par_util.o da_define_structures.o da_control.o module_domain.o
da_setup_structures.o : da_setup_structures.f90 da_truncate_spectra.inc da_get_bins_info.inc da_write_kma_increments.inc da_write_increments_for_wrf_nmm_regional.inc da_write_increments.inc da_qfrmrh.inc da_cumulus.inc da_lcl.inc da_cloud_model.inc da_setup_runconstants.inc da_setup_obs_interp_wts.inc da_setup_obs_structures_madis.inc da_setup_obs_structures_bufr.inc da_setup_obs_structures_ascii.inc da_setup_obs_structures_rain.inc da_setup_obs_structures_radar.inc da_setup_obs_structures.inc da_setup_flow_predictors.inc da_setup_flow_predictors_para_read_opt1.inc da_chgvres.inc da_setup_cv.inc da_setup_be_nmm_regional.inc da_setup_be_regional.inc da_setup_be_ncep_gfs.inc da_setup_be_global.inc da_setup_background_errors.inc da_scale_background_errors.inc da_scale_background_errors_cv3.inc da_rescale_background_errors.inc da_interpolate_regcoeff.inc da_get_vertical_truncation.inc gsi_thinning.o module_radiance.o da_rf_cv3.o da_rfz_cv3.o da_vtox_transforms.o da_tracing.o da_tools.o da_tools_serial.o da_ssmi.o da_spectral.o da_recursive_filter.o da_reporting.o da_radiance.o da_par_util.o da_par_util1.o da_obs_io.o da_obs.o da_control.o da_wrf_interfaces.o da_define_structures.o module_domain.o da_wavelet.o da_chg_be_Vres.inc da_gen_eigen.inc da_eigen_to_covmatrix.inc da_setup_pseudo_obs.inc
da_setup_structures.o : da_setup_structures.f90 da_truncate_spectra.inc da_get_bins_info.inc da_write_kma_increments.inc da_write_increments_for_wrf_nmm_regional.inc da_write_increments.inc da_qfrmrh.inc da_cumulus.inc da_lcl.inc da_cloud_model.inc da_setup_runconstants.inc da_setup_obs_interp_wts.inc da_setup_obs_structures_madis.inc da_setup_obs_structures_bufr.inc da_setup_obs_structures_ascii.inc da_setup_obs_structures_rain.inc da_setup_obs_structures_radar.inc da_setup_obs_structures.inc da_setup_flow_predictors.inc da_setup_flow_predictors_para_read_opt1.inc da_chgvres.inc da_setup_cv.inc da_setup_be_nmm_regional.inc da_setup_be_regional.inc da_setup_be_ncep_gfs.inc da_setup_be_global.inc da_setup_background_errors.inc da_scale_background_errors.inc da_scale_background_errors_cv3.inc da_rescale_background_errors.inc da_interpolate_regcoeff.inc da_get_vertical_truncation.inc gsi_thinning.o module_radiance.o da_rf_cv3.o da_rfz_cv3.o da_vtox_transforms.o da_tracing.o da_tools.o da_tools_serial.o da_ssmi.o da_spectral.o da_recursive_filter.o da_reporting.o da_radiance.o da_par_util.o da_par_util1.o da_obs_io.o da_obs.o da_control.o da_wrf_interfaces.o da_define_structures.o module_domain.o da_wavelet.o da_chg_be_Vres.inc da_gen_eigen.inc da_eigen_to_covmatrix.inc da_setup_pseudo_obs.inc da_setup_flow_predictors_ep_format2.inc da_setup_flow_predictors_ep_format3.inc
da_ships.o : da_ships.f90 da_calculate_grady_ships.inc da_get_innov_vector_ships.inc da_check_max_iv_ships.inc da_transform_xtoy_ships_adj.inc da_transform_xtoy_ships.inc da_print_stats_ships.inc da_oi_stats_ships.inc da_residual_ships.inc da_jo_and_grady_ships.inc da_ao_stats_ships.inc da_tracing.o da_tools.o da_statistics.o da_physics.o da_grid_definitions.o da_par_util1.o da_par_util.o da_interpolation.o da_define_structures.o da_control.o module_domain.o
da_sound.o : da_sound.f90 da_calculate_grady_sonde_sfc.inc da_check_max_iv_sonde_sfc.inc da_get_innov_vector_sonde_sfc.inc da_transform_xtoy_sonde_sfc_adj.inc da_transform_xtoy_sonde_sfc.inc da_print_stats_sonde_sfc.inc da_oi_stats_sonde_sfc.inc da_residual_sonde_sfc.inc da_jo_sonde_sfc_uvtq.inc da_jo_and_grady_sonde_sfc.inc da_ao_stats_sonde_sfc.inc da_check_buddy_sound.inc da_calculate_grady_sound.inc da_get_innov_vector_sound.inc da_check_max_iv_sound.inc da_transform_xtoy_sound_adj.inc da_transform_xtoy_sound.inc da_print_stats_sound.inc da_oi_stats_sound.inc da_residual_sound.inc da_jo_sound_uvtq.inc da_jo_and_grady_sound.inc da_ao_stats_sound.inc da_tracing.o da_physics.o da_grid_definitions.o da_par_util1.o da_par_util.o da_tools.o da_statistics.o da_interpolation.o module_domain.o da_define_structures.o da_control.o
da_spectral.o : da_spectral.f90 da_apply_power.inc da_legtra_inv_adj.inc da_vtovv_spectral_adj.inc da_vv_to_v_spectral.inc da_vtovv_spectral.inc da_test_spectral.inc da_setlegpol.inc da_setlegpol_test.inc da_legtra.inc da_legtra_inv.inc da_initialize_h.inc da_get_reglats.inc da_get_gausslats.inc da_calc_power_spectrum.inc da_asslegpol.inc da_tracing.o da_tools_serial.o da_reporting.o da_par_util1.o da_define_structures.o da_control.o
Expand Down
60 changes: 49 additions & 11 deletions var/da/da_main/da_solve.inc
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,10 @@
integer :: cvt_unit, iost
character(len=8) :: cvtfile
logical :: ex


character(len=10) :: this_time
character(len=8) :: this_date

if (trace_use) call da_trace_entry("da_solve")

#ifdef DM_PARALLEL
Expand Down Expand Up @@ -534,17 +537,52 @@

grid % ep % ne = be % ne
if (use_background_errors .and. be % ne > 0) then
! call da_setup_flow_predictors ( ide, jde, kde, be % ne, grid%ep, &
! its, ite, jts, jte, kts, kte )
select case ( ep_para_read )
case ( 0 ) ! serial read (default)
call da_setup_flow_predictors ( ide_ens, jde_ens, kde_ens, be % ne, grid%ep, &
its_int, ite_int, jts_int, jte_int, kts_int, kte_int )
case ( 1 ) ! para_read_opt1, breaks total number of ep into reading bins
call da_setup_flow_predictors_para_read_opt1 ( &
ide_ens, jde_ens, kde_ens, be % ne, grid%ep, &
its_int, ite_int, jts_int, jte_int, kts_int, kte_int )

call date_and_time(date=this_date, time=this_time)
write(unit=message(1),fmt='(a,a8,1x,a12)') &
' Begin reading ensemble perturbations at ', this_date, &
this_time(1:2)//':'//this_time(3:4)//' '//this_time(5:10)
call da_message(message(1:1))

select case ( ep_format )
case ( 1 ) ! original behavior
if ( ep_para_read == 0 ) then
! each ep file is for one variable and one member
call da_setup_flow_predictors ( &
ide_ens, jde_ens, kde_ens, be % ne, grid%ep, &
its_int, ite_int, jts_int, jte_int, kts_int, kte_int )
else if ( ep_para_read == 1 ) then
! para_read_opt1, breaks total number of ep into reading bins
call da_setup_flow_predictors_para_read_opt1 ( &
ide_ens, jde_ens, kde_ens, be % ne, grid%ep, &
its_int, ite_int, jts_int, jte_int, kts_int, kte_int )
end if
case ( 11 )
! similar to ep_format=1 except data are in single precision
! each ep file is for one variable and one member
call da_setup_flow_predictors ( &
ide_ens, jde_ens, kde_ens, be % ne, grid%ep, &
its_int, ite_int, jts_int, jte_int, kts_int, kte_int )
case ( 2 )
! full-domain
! each ep file in single precision is for one variable and all members
call da_setup_flow_predictors_ep_format2 ( &
ide_ens, jde_ens, kde_ens, be % ne, grid%ep, &
its_int, ite_int, jts_int, jte_int, kts_int, kte_int )
case ( 3 )
! decomposed sub-domain
! each ep file in single precision is for one variable and all members
call da_setup_flow_predictors_ep_format3 ( &
ide_ens, jde_ens, kde_ens, be % ne, grid%ep, &
its_int, ite_int, jts_int, jte_int, kts_int, kte_int )
end select

call date_and_time(date=this_date, time=this_time)
write(unit=message(1),fmt='(a,a8,1x,a12)') &
' Fihish reading ensemble perturbations at ', this_date, &
this_time(1:2)//':'//this_time(3:4)//' '//this_time(5:10)
call da_message(message(1:1))

end if

!---------------------------------------------------------------------------
Expand Down
1 change: 1 addition & 0 deletions var/da/da_main/da_wrfvar_top.f90
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ module da_wrfvar_top
da_setup_background_errors,da_setup_flow_predictors, &
da_setup_cv, da_scale_background_errors, da_scale_background_errors_cv3
use da_setup_structures, only : da_setup_flow_predictors_para_read_opt1
use da_setup_structures, only : da_setup_flow_predictors_ep_format2, da_setup_flow_predictors_ep_format3
use da_test, only : da_check, da_check_gradient
use da_tools_serial, only : da_get_unit, da_free_unit
use da_tracing, only : da_trace_entry, da_trace_exit, da_trace, da_trace_report
Expand Down
Loading