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
12 changes: 12 additions & 0 deletions Registry/registry.var
Original file line number Diff line number Diff line change
Expand Up @@ -515,6 +515,18 @@ rconfig logical write_oa_radar_ascii namelist,radar_da 1 .true. - "wr
rconfig integer gpsro_drift namelist,obs_opt 1 1 - "gpsro_drift" "horizontal drifting for GPSRO" "0=no drift, 1=drift"
rconfig integer gpseph_opt namelist,obs_opt 1 1 - "gpseph_opt" "0: local operator variant, 1: non-local" ""
rconfig logical gpseph_loadbalance namelist,obs_opt 1 .true. - "gpseph_loadbalance" "" ""
rconfig logical write_iv_gpsref namelist,obs_opt 1 .false. - "write_iv_gpsref" "switch for writing out gpsref iv info" ""
rconfig integer gpsref_qc_dndz_opt namelist,obs_opt 1 1 - "gpsref_qc_dndz_opt" "dndz qc option" "0:off, 1:on"
rconfig integer gpsref_qc_dndz2_opt namelist,obs_opt 1 1 - "gpsref_qc_dndz2_opt" "dndz2 qc option" "0:off, 1:on"
rconfig real gpsref_qc_dndz_thresh namelist,obs_opt 1 -50.0 - "gpsref_qc_dndz_thresh" "threshold of dndz qc" ""
rconfig real gpsref_qc_dndz2_thresh namelist,obs_opt 1 100.0 - "gpsref_qc_dndz2_thresh" "threshold of dndz2 qc" ""
rconfig integer gpsref_qc_gsi_opt namelist,obs_opt 1 1 - "gpsref_qc_gsi_opt" "gsi qc option" "0:off, 1:on"
rconfig integer gpsref_qc_pcnt_opt namelist,obs_opt 1 1 - "gpsref_qc_pcnt_opt" "error percentage qc option" "0:off, 1:on"
rconfig real gpsref_qc_pcnt_h1 namelist,obs_opt 1 7000.0 - "gpsref_qc_pcnt_h1" "error percentage height threshold" "meter"
rconfig real gpsref_qc_pcnt_h2 namelist,obs_opt 1 25000.0 - "gpsref_qc_pcnt_h2" "error percentage height threshold" "meter"
rconfig real gpsref_qc_pcnt_below namelist,obs_opt 1 0.05 - "gpsref_qc_pcnt_below" "error percentage threshold below" ""
rconfig real gpsref_qc_pcnt_middle namelist,obs_opt 1 0.04 - "gpsref_qc_pcnt_middle" "error percentage threshold middle" ""
rconfig real gpsref_qc_pcnt_above namelist,obs_opt 1 0.10 - "gpsref_qc_pcnt_above" "error percentage threshold above" ""
rconfig logical jcdfi_use namelist,perturbation 1 .false. - "jcdfi_use" "JcDFI on/off" ""
rconfig integer jcdfi_diag namelist,perturbation 1 1 - "jcdfi_diag" "JcDFI diag. on/off" ""
rconfig real jcdfi_penalty namelist,perturbation 1 10. - "jcdfi_penalty" "Penalty parameter for JcDF" ""
Expand Down
2 changes: 1 addition & 1 deletion var/build/depend.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ da_gen_be.o : da_gen_be.f90 da_recursive_filter_1d.inc da_perform_2drf.inc da_eo
da_geoamv.o : da_geoamv.f90 da_calculate_grady_geoamv.inc da_get_innov_vector_geoamv.inc da_check_max_iv_geoamv.inc da_transform_xtoy_geoamv_adj.inc da_transform_xtoy_geoamv.inc da_print_stats_geoamv.inc da_oi_stats_geoamv.inc da_residual_geoamv.inc da_jo_and_grady_geoamv.inc da_ao_stats_geoamv.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_gpseph.o : da_gpseph.f90 da_get_innov_vector_gpseph.inc da_check_max_iv_gpseph.inc da_transform_xtoy_gpseph_adj.inc da_transform_xtoy_gpseph.inc da_print_stats_gpseph.inc da_oi_stats_gpseph.inc da_jo_and_grady_gpseph.inc da_calculate_grady_gpseph.inc da_ao_stats_gpseph.inc da_obs_ref_to_eph.inc da_mdl_ref_to_eph.inc da_residual_gpseph.inc da_tracing.o da_tools.o da_statistics.o da_par_util1.o da_par_util.o da_interpolation.o da_define_structures.o da_control.o module_dm.o module_domain.o da_gpseph_rays.inc da_gpseph_init.inc da_gpseph_final.inc da_gpseph_create_ob.inc
da_gpspw.o : da_gpspw.f90 da_calculate_grady_gpspw.inc da_get_innov_vector_gpsztd.inc da_get_innov_vector_gpspw.inc da_check_max_iv_gpspw.inc da_transform_xtoy_gpsztd_adj.inc da_transform_xtoy_gpsztd.inc da_transform_xtoy_gpspw_adj.inc da_transform_xtoy_gpspw.inc da_print_stats_gpspw.inc da_oi_stats_gpspw.inc da_residual_gpspw.inc da_jo_and_grady_gpspw.inc da_ao_stats_gpspw.inc da_tracing.o da_tools.o da_statistics.o da_reporting.o da_par_util1.o da_par_util.o da_define_structures.o da_control.o module_domain.o module_dm.o
da_gpsref.o : da_gpsref.f90 da_get_innov_vector_gpsref.inc da_check_max_iv_gpsref.inc da_transform_xtoy_gpsref_adj.inc da_transform_xtoy_gpsref.inc da_print_stats_gpsref.inc da_oi_stats_gpsref.inc da_residual_gpsref.inc da_jo_and_grady_gpsref.inc da_calculate_grady_gpsref.inc da_ao_stats_gpsref.inc da_tracing.o da_tools.o da_statistics.o da_par_util1.o da_par_util.o da_interpolation.o da_define_structures.o da_control.o module_dm.o module_domain.o
da_gpsref.o : da_gpsref.f90 da_get_innov_vector_gpsref.inc da_qc_gpsref.inc da_check_max_iv_gpsref.inc da_transform_xtoy_gpsref_adj.inc da_transform_xtoy_gpsref.inc da_print_stats_gpsref.inc da_oi_stats_gpsref.inc da_residual_gpsref.inc da_jo_and_grady_gpsref.inc da_calculate_grady_gpsref.inc da_ao_stats_gpsref.inc da_tracing.o da_tools.o da_statistics.o da_par_util1.o da_par_util.o da_interpolation.o da_define_structures.o da_control.o module_dm.o module_domain.o
da_grid_definitions.o : da_grid_definitions.f90 da_ffdduv.inc da_ffdduv_model.inc da_ffdduv_diagnose.inc da_earth_2_model_wind.inc da_ref_pres.inc da_ref_height.inc da_tracing.o da_reporting.o da_control.o
da_interpolation.o : da_interpolation.f90 da_interp_msk_avg_2d_partial.inc da_interp_quad_2d_partial.inc da_interp_lin_3d_adj.inc da_interp_lin_3d.inc da_interp_lin_2d_adj.inc da_interp_lin_2d_adj_partial.inc da_interp_lin_2d.inc da_interp_lin_2d_partial.inc da_interp_2d_partial.inc da_to_zk_new.inc da_to_zk.inc da_reporting.o da_tracing.o da_tools.o da_define_structures.o da_control.o da_splinx.inc da_splinx_lin.inc da_splinx_adj.inc
da_lapack.o : da_lapack.f90 dlamch.inc dlarf.inc dlarfg.inc dlarft.inc dlarfb.inc dorg2l.inc dorg2r.inc dsytd2.inc dlatrd.inc dorgqr.inc dorgql.inc dlassq.inc dlapy2.inc dlartg.inc dlasrt.inc dlansy.inc dsytrd.inc dsterf.inc dorgtr.inc dlae2.inc dlasr.inc dlaev2.inc dlascl.inc dlanst.inc dlaset.inc iparmq.inc ieeeck.inc ilaenv.inc dsteqr.inc dsyev.inc da_blas.o
Expand Down
9 changes: 9 additions & 0 deletions var/da/da_control/da_control.f90
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,15 @@ module da_control
! data calibration
Other_check = 88 ! passed other quality check

! QC flags for gpsref
integer, parameter :: qcflag_pcnt_below = -31
integer, parameter :: qcflag_pcnt_middle = -32
integer, parameter :: qcflag_pcnt_above = -33
integer, parameter :: qcflag_dndz = -34
integer, parameter :: qcflag_dndz2 = -35
integer, parameter :: qcflag_cutoff = -36
integer, parameter :: qcflag_height = -77

! Observations:

integer :: num_procs ! Number of total processors.
Expand Down
2 changes: 2 additions & 0 deletions var/da/da_gpsref/da_check_max_iv_gpsref.inc
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ subroutine da_check_max_iv_gpsref(iv,it, num_qcstat_conv, opt)
integer, intent(in) :: opt ! 1: only counting, 2: print out (sychen add)
integer, parameter :: qc_below = -31, qc_middle = -32, qc_above = -33
integer, parameter :: qc_step1 = -34, qc_step2 = -35 ! refer to Poli et al. (2009)
integer, parameter :: qc_cutoff = -36

if (trace_use_dull) call da_trace_entry("da_check_max_iv_gpsref")

Expand Down Expand Up @@ -56,6 +57,7 @@ subroutine da_check_max_iv_gpsref(iv,it, num_qcstat_conv, opt)
( iv%gpsref(n)%ref(k)%qc == qc_above ) .or. &
( iv%gpsref(n)%ref(k)%qc == qc_step1 ) .or. &
( iv%gpsref(n)%ref(k)%qc == qc_step2 ) .or. &
( iv%gpsref(n)%ref(k)%qc == qc_cutoff ) .or. & !hcl-202006
( iv%gpsref(n)%ref(k)%qc == missing_data ) ) then
failed=.true.
endif
Expand Down
Loading