da_rttov.f90

References to this file elsewhere.
1 module da_rttov
2 
3 use da_reporting, only : da_warning
4 
5    !---------------------------------------------------------------------------
6    ! Purpose: module for radiance data assimilation. 
7    !---------------------------------------------------------------------------
8 
9    use module_domain, only : xpose_type, xb_type
10    use module_radiance, only : satinfo, coefs_scatt_instname, &
11       time_slots, i_kind,r_kind, r_double, &
12        one, zero, three,deg2rad, n_scatt_coef,q2ppmv, gsi_emiss
13 #ifdef RTTOV
14    use module_radiance, only : coefs,coefs_scatt,profile_type,radiance_type, &
15       rttov_coef,platform_name,inst_name,transmission_type, &
16       errorstatus_success,gas_id_watervapour,errorstatus_fatal
17 #endif
18 
19 #ifdef DM_PARALLEL
20    use mpi, only : mpi_integer, mpi_status_size
21 #endif
22 
23    use da_control, only : max_ob_levels,missing_r, &
24       v_interp_p, v_interp_h, tovs_batch, gravity, &
25       missing, max_error_uv, max_error_t, max_error_p,max_error_q,  &
26       max_stheight_diff,missing_data,max_error_bq,max_error_slp, &
27       max_error_bt, max_error_buv, rtminit_platform,rtminit_satid, &
28       rtminit_nsensor,rtminit_sensor,filename_len,read_biascoef,analysis_date, &
29       time_window_max,time_window_min, &
30       rtm_option_rttov,rtm_option_crtm, &
31       print_detail_rad,stderr, mw_emis_sea, &
32       rtminit_print, rttov_scatt,comm,ierr,biasprep, qc_rad, &
33       num_fgat_time,stdout,trace_use, use_error_factor_rad, &
34       qc_good, qc_bad,myproc,biascorr, global
35    use da_define_structures, only : ob_type, y_type, x_type
36    use da_interpolation, only : da_to_zk_new,da_interp_lin_2d_new, &
37       da_interp_lin_3d_new,da_interp_lin_2d,da_interp_lin_3d_adj_new, &
38       da_interp_lin_2d_adj_new
39    use da_tools1, only : da_get_unit, da_free_unit
40 #ifdef DM_PARALLEL
41    use da_par_util, only :  true_mpi_real
42 #endif
43    use da_radiance1, only : num_tovs_after,tovs_copy_count, &
44       tovs_send_pe, tovs_recv_pe, tovs_send_start, tovs_send_count, &
45       tovs_recv_start,con_vars_type,aux_vars_type, &
46       da_biascorr, da_detsurtyp,da_biasprep,da_get_time_slots, &
47       da_qc_rad, da_read_biascoef
48    use da_reporting, only : da_message, message, da_error, da_warning
49    use da_tools, only : da_togrid_new
50    use da_tracing, only : da_trace_entry, da_trace_exit, da_trace
51    use da_wrf_interfaces, only : wrf_dm_bcast_integer
52 
53    implicit none
54 
55 #ifdef RTTOV
56 #include "rttov_setupchan.interface"
57 #include "rttov_setupindex.interface"
58 #endif
59    
60 contains
61 
62 #include "da_get_innov_vector_rttov.inc"
63 #include "da_transform_xtoy_rttov.inc"
64 #include "da_transform_xtoy_rttov_adj.inc"
65 
66 #include "da_rttov_init.inc"
67 #include "da_rttov_direct.inc"
68 #include "da_rttov_tl.inc"
69 #include "da_rttov_ad.inc"
70 
71 end module da_rttov
72