da_transfer_model.f90
References to this file elsewhere.
1 module da_transfer_model
2
3 !---------------------------------------------------------------------------
4 ! Purpose: Transfer model states between different models
5 !---------------------------------------------------------------------------
6
7 use module_configure, only : grid_config_rec_type,nl_set_dyn_opt, &
8 nl_get_stand_lon,nl_get_moad_cen_lat,nl_get_cen_lon,nl_get_cen_lat, &
9 nl_get_dx,nl_get_truelat2,nl_get_truelat1, nl_get_map_proj
10 use module_domain, only : domain
11 use module_state_description, only : dyn_em_ad, dyn_em, p_qv,dyn_em_tl, &
12 p_qr, p_qi,p_qs,p_qg,p_qc,num_moist, p_a_qv, p_g_qv
13 use module_dm, only : wrf_dm_sum_real, wrf_dm_sum_reals
14
15 use da_control, only : cos_xls, sin_xls, cos_xle, sin_xle, trace_use, &
16 coarse_jy, coarse_ix, cone_factor, delt_lon, delt_lat, gas_constant, &
17 map_projection,earth_omega,mix,pi,phic,mkz,start_lon,start_lat, &
18 start_x,xlonc,start_y,mjy, global, deg_to_rad, earth_radius, &
19 var4d,analysis_date,coarse_ds,analysis_accu,dsm,pole, fg_format_kma_global, &
20 print_detail_map,stdout,truelat1_3dv, fg_format_wrf, fg_format, ps0, &
21 truelat2_3dv, periodic_x,write_increments,max_ext_its, gravity, &
22 kappa, print_detail_xa,rd_over_rv,ts0, print_detail_xa, check_rh, &
23 print_detail_xb,testing_dm_exact,tlp,tis0,vertical_ip,ptop, &
24 use_ssmitbobs, dt_cloud_model, cp, use_ssmiretrievalobs
25 use da_define_structures, only : xbx_type
26 use da_grid_definitions, only : da_set_map_para
27 use da_par_util, only : da_wv_patch_to_global
28 use da_physics, only : da_check_rh_simple,da_roughness_from_lanu, &
29 da_sfc_wtq,da_tpq_to_rh,da_trh_to_td,da_wrf_tpq_2_slp,da_integrat_dz, &
30 da_tpq_to_rh, da_check_rh,da_transform_xtogpsref
31 use da_reporting, only : da_error,message, da_message, da_warning
32 use da_setup_structures, only : da_setup_runconstants,da_write_increments, &
33 da_write_kma_increments,da_cloud_model
34 use da_ssmi, only : da_transform_xtotb
35 use da_tools, only : map_info, proj_merc, proj_ps,proj_lc,proj_latlon, &
36 da_llxy,da_latlon_to_ij,da_ij_to_latlon,da_diff_seconds,da_map_set, &
37 da_set_boundary_xb
38 use da_tracing, only : da_trace_entry, da_trace_exit, da_trace
39 use da_vtox_transforms, only : da_get_vpoles
40 use da_wrfvar_io, only : da_med_initialdata_output,da_med_initialdata_input
41 ! Do not use line below, because it shows that we are passing a scalar to
42 ! an array
43 ! use da_wrf_interfaces, only : wrf_dm_bcast_real
44
45 implicit none
46
47 contains
48
49 #include "da_transfer_wrftoxb.inc"
50 #include "da_transfer_kmatoxb.inc"
51 #include "da_transfer_xatowrf.inc"
52 #include "da_transfer_xatokma.inc"
53 #include "da_transfer_wrftltoxa.inc"
54 #include "da_transfer_wrftltoxa_adj.inc"
55 #include "da_transfer_xatowrftl.inc"
56 #include "da_transfer_xatowrftl_adj.inc"
57 #include "da_transfer_xatoanalysis.inc"
58 #include "da_setup_firstguess.inc"
59 #include "da_setup_firstguess_wrf.inc"
60 #include "da_setup_firstguess_kma.inc"
61
62 end module da_transfer_model