SCALE-RM
Data Types | Modules | Functions/Subroutines | Variables
scale_letkf.F90 File Reference
#include "scalelib.h"
Include dependency graph for scale_letkf.F90:

Go to the source code of this file.

Data Types

type  scale_letkf::obs_info
 
type  scale_letkf::obs_da_value
 
type  scale_letkf::obs_grid_type
 

Modules

module  scale_letkf
 module LETKF for Data-Assimilation
 

Functions/Subroutines

subroutine, public scale_letkf::letkf_setup (OBS_IN_NUM, ensemble_comm, ensemble_nprocs, ensemble_myrank, local_comm, local_nprocs, local_myrank, PRC_NUM_X, PRC_NUM_Y, KA, KS, KE, IA, IS, IE, JA, JS, JE, KMAX, IMAX, JMAX, KHALO, IHALO, JHALO, delta_x, delta_y, Zsfc)
 Setup. More...
 
subroutine, public scale_letkf::letkf_finalize ()
 
subroutine, public scale_letkf::letkf_obs_readfile (OBS_IN_NUM, OBS_IN_FORMAT, OBS_IN_BASENAME, OBS_IN_MASKFILE)
 
subroutine, public scale_letkf::letkf_obs_clear (OBS_IN_NUM)
 
subroutine, public scale_letkf::letkf_obs_operator (OBS_IN_NUM, OBS_IN_FORMAT, U, V, W, TEMP, PRES, QV, QC, QR, QI, QS, QG, RH, HGT, TOPO, PS, RAIN, U10M, V10M, T2M, Q2M, nobs_extern)
 
subroutine, public scale_letkf::letkf_obs_initialize (OBS_IN_NUM, nobs_extern)
 
subroutine, public scale_letkf::letkf_system (OBS_IN_NUM, OBS_IN_FORMAT, U, V, W, TEMP, PRES, QV, QC, QR, QI, QS, QG)
 
subroutine, public scale_letkf::letkf_param_estimation_system (PEST_PMAX, PEST_VAR0)
 
subroutine, public scale_letkf::letkf_add_inflation_setup (addi3d, addi2d)
 
subroutine scale_letkf::radar_superobing (na, nr, ne, radlon, radlat, radz, ze, vr, qcflag, attenuation, nlon, nlat, nlev, lon, lat, z, dlon, dlat, dz, missing, input_is_dbz, lon0, lat0, nobs_sp, grid_index, grid_ref, grid_lon_ref, grid_lat_ref, grid_z_ref, grid_count_ref, grid_vr, grid_lon_vr, grid_lat_vr, grid_z_vr, grid_count_vr)
 
subroutine com_gamma (x, ga)
 

Variables

integer, parameter, public scale_letkf::nv3d = 11
 
integer, parameter, public scale_letkf::nv2d = 0
 
integer, parameter, public scale_letkf::nid_obs = 16
 
integer, parameter, public scale_letkf::nobtype = 24
 
integer, parameter, public scale_letkf::max_obs_info_meta = 3
 
integer, parameter, public scale_letkf::n_qc_steps = 2
 
integer, parameter, public scale_letkf::i_before_qc = 1
 
integer, parameter, public scale_letkf::i_after_qc = 2
 
integer, parameter scale_letkf::n_search_incr = 8
 

Function/Subroutine Documentation

◆ com_gamma()

subroutine calc_ref_vr::com_gamma ( real(rp)  x,
real(rp)  ga 
)

Definition at line 5109 of file scale_letkf.F90.

5109  implicit none
5110  real(RP) :: x , ga
5111  real(RP) :: g(26)
5112  real(RP) :: z , r , gr
5113  integer :: m1, k , m
5114 
5115  !dimension g(26)
5116  if (x.eq.int(x)) then
5117  if (x.gt.0.0d0) then
5118  ga=1.0d0
5119  m1=x-1
5120  do k=2,m1
5121  ga=ga*k
5122  end do
5123  else
5124  ga=huge(1.0_rp)
5125  endif
5126  else
5127 
5128  if (abs(x).gt.1.0_rp) then
5129  z=abs(x)
5130  m=int(z)
5131  r=1.0_rp
5132  do k=1,m
5133  r=r*(z-k)
5134  end do
5135  z=z-m
5136  else
5137  z=x
5138  endif
5139  g(:) = (/ &
5140  1.0, &
5141  0.5772156649015329e0, &
5142  -0.6558780715202538e0, &
5143  -0.420026350340952e-1, &
5144  0.1665386113822915e0, &
5145  -0.421977345555443e-1, &
5146  -0.96219715278770e-2, &
5147  0.72189432466630e-2, &
5148  -0.11651675918591e-2, &
5149  -0.2152416741149e-3, &
5150  0.1280502823882e-3, &
5151  -0.201348547807e-4, &
5152  -0.12504934821e-5, &
5153  0.11330272320e-5, &
5154  -0.2056338417e-6, &
5155  0.61160950e-8, &
5156  0.50020075e-8, &
5157  -0.11812746e-8, &
5158  0.1043427e-9, &
5159  0.77823e-11, &
5160  -0.36968e-11, &
5161  0.51e-12, &
5162  -0.206e-13, &
5163  -0.54e-14, &
5164  0.14e-14, &
5165  0.1e-15 /)
5166  gr=g(26)
5167  do k=25,1,-1
5168  gr=gr*z+g(k)
5169  end do
5170  ga=1.0d0/(gr*z)
5171  if (abs(x).gt.1.0_rp) then
5172  ga=ga*r
5173  if (x.lt.0.0_rp) ga=-pi/(x*ga*sin(pi*x))
5174  endif
5175  endif
5176 
5177  return

References scale_atmos_grid_cartesc::atmos_grid_cartesc_cxg, scale_atmos_grid_cartesc::atmos_grid_cartesc_cyg, scale_atmos_grid_cartesc::atmos_grid_cartesc_cz, scale_atmos_grid_cartesc::atmos_grid_cartesc_fz, scale_atmos_grid_cartesc_metric::atmos_grid_cartesc_metric_rotc, scale_atmos_grid_cartesc_real::atmos_grid_cartesc_real_cz, scale_const::const_d2r, scale_const::const_epstvap, scale_const::const_grav, scale_const::const_pi, scale_const::const_r2d, scale_const::const_radius, scale_const::const_rdry, scale_const::const_rvap, scale_const::const_undef, scale_atmos_grid_cartesc_index::ke, scale_atmos_grid_cartesc_index::khalo, scale_atmos_grid_cartesc_index::ks, scale_letkf::n_search_incr, scale_prc_cartesc::prc_2drank, scale_prc::prc_myrank, scale_sort::sort_quickselect_arg(), scale_sort::sort_quickselect_desc_arg(), and scale_sort::sort_quicksort().

Referenced by scale_letkf::radar_superobing().

Here is the call graph for this function:
Here is the caller graph for this function: