1 module da_setup_structures
3 !---------------------------------------------------------------------------
4 ! Purpose: Sets up various structures.
5 !---------------------------------------------------------------------------
7 use da_wavelet
, only
: lf
,namw
,nb
,nij
,ws
8 use module_domain
, only
: xb_type
, ep_type
, domain
, vp_type
10 use da_define_structures
, only
: xbx_type
,be_subtype
, be_type
, y_type
, j_type
, &
11 iv_type
,da_allocate_background_errors
,da_allocate_observations
, &
13 da_allocate_observations_chem_sfc
, &
15 multi_level_type
,each_level_type
, da_allocate_observations_rain
16 use da_define_structures
, only
: da_allocate_obs_info
, da_allocate_y
, da_allocate_y_radar
, &
18 use da_wrf_interfaces
, only
: wrf_debug
, &
19 wrf_dm_bcast_string
, wrf_dm_bcast_integer
, wrf_dm_bcast_real
20 use da_control
, only
: trace_use
,vert_evalue
,stdout
,rootproc
, myproc
, &
21 analysis_date
,coarse_ix
,coarse_ds
,map_projection
,coarse_jy
, c2
,dsm
,phic
, &
22 pole
, cone_factor
, start_x
,base_pres
,ptop
,psi1
,start_y
, base_lapse
,base_temp
,truelat2_3dv
, &
23 truelat1_3dv
,xlonc
,t0
,num_fft_factors
,pi
,print_detail_spectral
, global
, print_detail_obs
, &
24 use_radar_rf
, use_radar_rhv
, use_radar_rqv
, radar_rf_opt
, &
25 num_ob_indexes
,kts
, kte
, time_window_max
, time_window_min
, &
26 max_fgat_time
, num_fgat_time
, dt_cloud_model
, &
27 use_ssmiretrievalobs
,use_radarobs
,use_ssmitbobs
,use_qscatobs
, num_procs
, use_rainobs
, &
29 use_chemic_surfobs
, chemic_surf
, &
30 chem_cv_options
, max_vert_var12
, var_scaling12
, len_scaling12
, &
32 num_pseudo
, missing
, ob_format
, ob_format_bufr
,ob_format_ascii
, ob_format_madis
, ob_format_gpsro
, &
33 use_airepobs
, use_tamdarobs
, test_dm_exact
, use_amsuaobs
, use_amsubobs
, &
34 use_airsobs
, use_bogusobs
, sfc_assi_options
, use_eos_amsuaobs
, &
35 use_filtered_rad
, use_gpsrefobs
, use_hirs2obs
, &
36 use_hsbobs
,use_hirs3obs
, use_gpspwobs
, use_gpsztdobs
, use_metarobs
, use_msuobs
, &
37 use_kma1dvar
,use_pilotobs
, use_polaramvobs
, use_rad
, crtm_cloud
, use_soundobs
,use_mtgirsobs
, &
38 use_ssmt1obs
,use_ssmt2obs
, use_shipsobs
, use_satemobs
, use_synopobs
, &
39 use_radar_rv
,use_profilerobs
, use_obsgts
, use_geoamvobs
, use_buoyobs
, &
40 jb_factor
, je_factor
, alphacv_method
,its
,ite
,jts
,jte
,cv_size_domain_jb
, cv_size_domain_jl
, &
41 cv_size_domain_je
, cv_size_domain
,ensdim_alpha
, alpha_vertloc_opt
, alpha_hydrometeors
, &
42 lat_stats_option
,alpha_std_dev
,sigma_alpha
,alpha_corr_scale
, &
43 len_scaling1
, len_scaling2
, len_scaling3
, len_scaling4
, len_scaling5
,&
44 len_scaling6
, len_scaling7
, len_scaling8
, len_scaling9
, &
45 len_scaling10
, len_scaling11
, &
46 max_vert_var1
, max_vert_var2
, max_vert_var3
, max_vert_var4
, max_vert_var5
, &
47 max_vert_var6
, max_vert_var7
, max_vert_var8
, max_vert_var9
, max_vert_var10
,&
48 max_vert_var11
, max_vert_var_alpha
, &
49 print_detail_be
, test_statistics
, do_normalize
, use_rf
, &
50 var_scaling1
, var_scaling2
, var_scaling3
, var_scaling4
, &
51 var_scaling5
, var_scaling6
, var_scaling7
, var_scaling8
, &
52 var_scaling9
, var_scaling10
, var_scaling11
,&
53 vert_corr
,max_vert_var5
,power_truncation
,alpha_truncation
, &
54 print_detail_regression
,gas_constant
, use_airsretobs
, &
55 filename_len
, use_ssmisobs
, gravity
, t_triple
, use_hirs4obs
, use_mhsobs
, &
56 use_mwtsobs
, use_mwhsobs
, use_mwhs2obs
, use_atmsobs
, &
57 vert_corr_2
, alphacv_method_xa
, vert_evalue_global
, &
58 vert_evalue_local
, obs_names
, thin_conv
, thin_conv_ascii
, &
59 sound
, sonde_sfc
, mtgirs
, tamdar
, tamdar_sfc
, synop
, profiler
, gpsref
, gpspw
, polaramv
, geoamv
, ships
, metar
, &
60 satem
, radar
, ssmi_rv
, ssmi_tb
, ssmt1
, ssmt2
, airsr
, pilot
, airep
, rain
, &
61 bogus
, buoy
, qscat
, radiance
, pseudo
, trace_use_dull
, kts
,kte
, &
62 use_simulated_rad
, use_pseudo_rad
, pseudo_rad_platid
, pseudo_rad_satid
, &
63 pseudo_rad_senid
, rtminit_nsensor
, rtminit_platform
, rtminit_satid
, &
64 rtminit_sensor
, thinning
, qc_rad
, var4d
, &
65 num_pseudo
,pseudo_x
, pseudo_y
, pseudo_z
, pseudo_var
,pseudo_val
, pseudo_err
, pseudo_time
, &
66 fg_format
, fg_format_wrf_arw_regional
,fg_format_wrf_nmm_regional
, &
67 fg_format_wrf_arw_global
, fg_format_kma_global
, deg_to_rad
, rad_to_deg
, &
68 sonde_sfc
, missing_data
, missing_r
, qc_good
, thin_mesh_conv
, time_slots
, ifgat_ana
, &
69 cv_options
, cloud_cv_options
, cv_size
, as1
, as2
, as3
, as4
, as5
, print_detail_be
, &
70 ids
,ide
,jds
,jde
,kds
,kde
, ims
,ime
,jms
,jme
,kms
,kme
, &
71 its
,ite
,jts
,jte
,kts
,kte
, ips
,ipe
,jps
,jpe
,kps
,kpe
, root
, comm
, ierr
, &
72 fmt_info
, fmt_srfc
, fmt_each
, unit_end
, max_ext_its
, &
73 psi_chi_factor
, psi_t_factor
, psi_ps_factor
, psi_rh_factor
, &
74 chi_u_t_factor
, chi_u_ps_factor
,chi_u_rh_factor
, t_u_rh_factor
, ps_u_rh_factor
, &
75 interpolate_stats
, be_eta
, thin_rainobs
, fgat_rain_flags
, use_iasiobs
, &
76 use_seviriobs
, jds_int
, jde_int
, anal_type_hybrid_dual_res
, use_amsr2obs
, nrange
, use_4denvar
, &
77 use_goesimgobs
, use_ahiobs
,use_gmiobs
, obs_use
, thin_conv_opt
, no_thin
, &
78 thin_superob_hv
, thin_mesh_vert_conv
, use_satwnd_bufr
79 use da_control
, only
: rden_bin
, use_lsac
80 use da_control
, only
: use_cv_w
81 use da_control
, only
: pseudo_tpw
, pseudo_ztd
, pseudo_ref
, pseudo_uvtpq
, pseudo_elv
, anal_type_qcobs
82 use da_control
, only
: use_gpsephobs
, gpseph_loadbalance
, gpseph
83 use da_control
, only
: ep_format
86 use module_state_description
, only
: num_chem
, PARAM_FIRST_SCALAR
88 use da_obs
, only
: da_fill_obs_structures
, da_store_obs_grid_info
, da_store_obs_grid_info_rad
, &
90 da_fill_obs_structures_chem_sfc
, &
92 da_fill_obs_structures_rain
, da_fill_obs_structures_radar
, da_set_obs_missing
,da_set_3d_obs_missing
93 use da_obs_io
, only
: da_read_obs_bufr
,da_read_obs_radar
, &
94 da_scan_obs_radar
,da_scan_obs_ascii
,da_read_obs_ascii
, &
95 da_read_obs_bufrgpsro
, da_scan_obs_rain
, da_read_obs_rain
, &
96 da_read_obs_lsac
, da_scan_obs_lsac
, da_read_obs_bufrgpsro_eph
, &
97 da_read_obs_bufr_satwnd
, oetab
99 use da_obs_io
, only
: da_read_obs_chem_sfc
, da_scan_obs_chem_sfc
102 use da_par_util1
, only
: da_proc_sum_real
, da_proc_sum_int
, da_proc_sum_ints
103 use da_par_util
, only
: da_patch_to_global
104 use da_lapack
, only
: dsyev
105 #
if defined(RTTOV
) ||
defined(CRTM
)
106 use da_radiance
, only
: da_setup_radiance_structures
108 use da_reporting
, only
: da_error
, message
, da_warning
, da_message
109 use da_recursive_filter
, only
: da_calculate_rf_factors
110 use da_spectral
, only
: da_initialize_h
,da_calc_power_spectrum
111 use da_ssmi
, only
: da_read_obs_ssmi
,da_scan_obs_ssmi
112 use da_tools_serial
, only
: da_get_unit
, da_free_unit
, da_array_print
, da_find_fft_factors
, &
113 da_find_fft_trig_funcs
114 use da_tools
, only
: da_get_time_slots
, da_1d_eigendecomposition
, da_eof_decomposition
115 use da_tracing
, only
: da_trace_entry
, da_trace_exit
116 use da_vtox_transforms
, only
: da_check_eof_decomposition
117 use da_rfz_cv3
, only
: da_rfz0
118 use da_rf_cv3
, only
: RFDPAR1
, RFDPAR2
, RFDPARV
119 use module_radiance
, only
: init_constants_derived
120 use gsi_thinning
, only
: r999
,r360
,rlat_min
,rlat_max
,rlon_min
,rlon_max
, &
121 dlat_grid
,dlon_grid
,thinning_grid_conv
,thinning_grid
, &
122 make3grids
, makegrids
, destroygrids
, destroygrids_conv
, cleangrids_conv
124 ! use mpi, only : mpi_min, mpi_max
125 use da_par_util
, only
: true_mpi_real
136 #
include "da_get_vertical_truncation.inc"
137 #
include "da_interpolate_regcoeff.inc"
138 #
include "da_rescale_background_errors.inc"
139 #
include "da_scale_background_errors.inc"
140 #
include "da_scale_background_errors_cv3.inc"
141 #
include "da_setup_background_errors.inc"
142 #
include "da_setup_be_global.inc"
143 #
include "da_setup_be_ncep_gfs.inc"
144 #
include "da_setup_be_regional.inc"
145 #
include "da_setup_be_nmm_regional.inc"
146 #
include "da_setup_cv.inc"
147 #
include "da_chgvres.inc"
148 #
include "da_setup_flow_predictors.inc"
149 #
include "da_setup_flow_predictors_para_read_opt1.inc"
150 #
include "da_setup_flow_predictors_ep_format2.inc"
151 #
include "da_setup_flow_predictors_ep_format3.inc"
152 #
include "da_setup_obs_structures.inc"
153 #
include "da_setup_obs_structures_ascii.inc"
154 #
include "da_setup_obs_structures_bufr.inc"
155 #
include "da_setup_obs_structures_madis.inc"
156 #
include "da_setup_obs_structures_rain.inc"
157 #
include "da_setup_obs_structures_radar.inc"
158 #
include "da_setup_pseudo_obs.inc"
160 #
include "da_setup_obs_structures_chem_sfc.inc"
162 #
include "da_setup_obs_interp_wts.inc"
163 #
include "da_setup_runconstants.inc"
164 #
include "da_cloud_model.inc"
165 #
include "da_lcl.inc"
166 #
include "da_cumulus.inc"
167 #
include "da_qfrmrh.inc"
168 #
include "da_write_vp.inc"
169 #
include "da_write_increments.inc"
170 #
include "da_write_increments_for_wrf_nmm_regional.inc"
171 #
include "da_write_kma_increments.inc"
172 #
include "da_get_bins_info.inc"
173 #
include "da_truncate_spectra.inc"
174 #
include "da_chg_be_Vres.inc"
175 #
include "da_gen_eigen.inc"
176 #
include "da_eigen_to_covmatrix.inc"
177 #
include "da_get_alpha_vertloc.inc"
179 end module da_setup_structures