1 / 12

Single OBS test in wrf3dvar system

Single OBS test in wrf3dvar system. Yong-Run Guo National Center for Atmospheric Research (NCAR) Supported by AFWA and CWB project Presented at AFWA/NCAR/FSL WRF IOC Pre-Implementation Workshop 24 August 2004. Outline Of Talk. Brief description of the procedure

kirk
Télécharger la présentation

Single OBS test in wrf3dvar system

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Single OBS test in wrf3dvar system Yong-Run Guo National Center for Atmospheric Research (NCAR) Supported by AFWA and CWB project Presented at AFWA/NCAR/FSL WRF IOC Pre-Implementation Workshop 24 August 2004

  2. Outline Of Talk Brief description of the procedure Direct variables tests: u, t Indirect variables tests: ref

  3. 1. Brief description of the procedure • 8-byte binary analysis increment file in A-grid There is a subroutine DA_Setup_Structures/da_write_increments to write out six (u, v, w, p, t, q) 3D- and two (m, psfc) 2D-fields of the increments. The analysis date, domain dimension, vertical coordinate definition, geographic parameters, and 2D constatnt fields are also written out. • Utility program to read the analysis increment file There is a program utl/convert_to_mm5v3.f90 to read the increment file and write out to a analysis increment file in mm5v3 format for plotting with MM5V3/GRAPH.

  4. Fortran statements for reading the analysis increments ! wrf3dvar increment data: CHARACTER(LEN=24) :: ANALYSIS_DATE ! Analysis time, "CCYY-MM-DD_HH:MM:SS.ssss"! INTEGER :: map_projection ! 1=LamConf/2=PolarSte/3=Mercator REAL (kind=8) :: ycntr INTEGER :: coarse_ix ! COARSE DOMAIN DIM IN I DIRECTION. INTEGER :: coarse_jy ! COARSE DOMAIN DIM IN Y DIRECTION. REAL (kind=8) :: coarse_ds ! Coarse domain gridlength (km) REAL (kind=8) :: start_x ! i posn. of (1,1) in coarse domain. REAL (kind=8) :: start_y ! j posn. of (1,1) in coarse domain. REAL (kind=8) :: phic ! COARSE DOMAIN CENTRAL LAT(DEGREE) REAL (kind=8) :: xlonc ! COARSE DOMAIN CENTRAL LON(DEGREE) REAL (kind=8) :: cone_factor ! Cone Factor REAL (kind=8) :: truelat1_3dv ! True latitude 1 (degrees) REAL (kind=8) :: truelat2_3dv ! True latitude 2 (degrees) REAL (kind=8) :: pole ! Pole latitude (degrees) REAL (kind=8) :: dsm ! Current domain gridlength (km) REAL (kind=8) :: psi1 ! ? REAL (kind=8) :: c2 ! earth_radius * COS(psi1) REAL (kind=8) :: ptop REAL (kind=8) :: ps0 REAL (kind=8) :: ts0 REAL (kind=8) :: tlp REAL (kind=8) :: tis0 integer :: is, ie, js, je, ks, ke real(kind=8), allocatable, dimension(:,:,:) :: ua, va, u, v, w, t, p, qv real(kind=8), allocatable, dimension(:,:) :: mu, terr, snow, lat, lon, & lanu, msft, cori, xland, & tgrn, psac, psfc real(kind=8), allocatable, dimension(:) :: sigma! ...........................................................................

  5. ! wrf3dvar increment file (8-byte binary): open(iunit2, file=trim(flnm), form='unformatted', & status='old', action='read') read (iunit2) ANALYSIS_DATE read (iunit2) is, ie, js, je, ks, ke read (iunit2) & map_projection, coarse_ix, coarse_jy, coarse_ds, start_x, start_y, & phic, xlonc, cone_factor, truelat1_3dv, truelat2_3dv, pole, dsm, &psi1, c2, ptop, ps0, ts0, tlp, tis0allocate(ua(ie+1,je+1,ke+1)) allocate(va(ie+1,je+1,ke+1)) allocate(u (ie+1,je+1,ke+1)) allocate(v (ie+1,je+1,ke+1)) allocate(w (ie+1,je+1,ke+1)) allocate(t (ie+1,je+1,ke+1)) allocate(p (ie+1,je+1,ke+1)) allocate(qv(ie+1,je+1,ke+1)) allocate(mu (ie+1,je+1)) allocate(psfc (ie+1,je+1)) allocate(psac (ie+1,je+1)) allocate(cori (ie+1,je+1)) allocate(terr (ie+1,je+1)) allocate(snow (ie+1,je+1)) allocate(tgrn (ie+1,je+1)) allocate(lat (ie+1,je+1)) allocate(lon (ie+1,je+1)) allocate(msft (ie+1,je+1)) allocate(lanu (ie+1,je+1)) allocate(xland(ie+1,je+1)) allocate(sigma(ke)) read (iunit2) sigma read (iunit2) ua, va, w, p, t, qv, mu, psfc read (iunit2) psac, tgrn, terr, snow, lat, lon, & lanu, msft, cori, xland

  6. How to use the program convert_to_mm5v3.f90 cd wrf3dvar configure select 1 (single-threaded) cd da_3dvar/utl make convert_to_mm5v3 cp convert_to_mm5v3.csh to your working directory Then, edit the shell script: convert_to_mm5v3.csh to provide the MMINPUT tempolate file (any MMINPUT_DOMAIN1) and the wrf3dvar analysis increment file (ANALYSIS_INCREMENT). Execution of convert_to_mm5v3.csh, you will have a file: MMINPUT_ANALYSIS_INCREMENT In this file, psfc TGD, m  TSEASFC, and the 3D fields are stored in the fields with the same names. Here q is the water vapor mixing ratio, and m is the dry air mass in a column of model atmosphere (psfc-ptop-pw)

  7. 2. Direct variable tests: u and t (cv_options=2) • Model configuration - Resolution: 10-km, - Grid points: 200x200x27. • Wind component u test Location (100,100,13), value = 1 m/s, error = 1 m/s at level h = 0.5415 • Temperature t test Location (100,100,13), value = 1o, error = 1o. at level h = 0.5415

  8. Wind component u test U/V cross-section Cont. intvl. 0.05 m/s Psfc, cont. intvl. 0.25 Pa T/P cross-section Cont. intvl. 0.005o/0.5 Pa

  9. Temperature t test V U Psfc Cont. intvl. 1.0 Pa T/P cross-section Cont. intvl 0.01o/1.0 Pa U/V cross section Cont. intvl 0.01 m/s

  10. 3. Indirect variables test: ref (cv_options= 2) OBS: Ref.= 1 unit, error = 1.0 unit T/P cross-section Cont. intvl. 0.01o/0.01 Pa Psfc Cont. intvl. 0.25 Pa U/V cross-section Cont. intvl. 0.001 m/s Q cross-section Cont. intvl. 0.05 g/kg V V

  11. Tuning the variance scaling factors V Var_scaling4 = 0.75, Var_scaling3 = 4.0

  12. END THANKS

More Related