Initial development of regional EnKF data assimilation for Rapid Refresh

Preview:

DESCRIPTION

Initial development of regional EnKF data assimilation for Rapid Refresh. GSI version: svn info Path: . URL: http://gsdforge.fsl.noaa.gov/svn/gsi/trunk/gsi_code Repository Root: http://gsdforge.fsl.noaa.gov/svn/gsi Repository UUID: 4cb9ce34-484d-0410-8406-e1a1132c1d7f Revision: 43 - PowerPoint PPT Presentation

Citation preview

Initial development of regional EnKF data assimilation for Rapid Refresh

wrfinput_initmem

WRFDA-randomcv:change thenamelist of

da_wrfvar.exe

GSI: output thecontrol variable inbinary format andalso the diagnose

files

ENKF: output theanalysis result in

binary format

update_init:update the

analysis field

wrf_mem01

wrf_mem02

wrf_mem03

wrf_mem0nn

sigf_mem01diag_mem01

sigf_mem02diag_mem02

sigf_mem03diag_mem03

sigf_memnndiag_memnn

siganl_mem01

siganl_mem02

siganl_mem03

siganl_memnn

wrfanl_mem01

wrfanl_mem02

wrfanl_mem03

wrfanl_mem0nn

gen_be_ensemblemean:

generate theensemble mean

ndown.exe

40km

13km grid

wrf_ensmean

gen_be_ensemblemean:

generate theensemble mean

sigf_ensmeandiag_ensmean

RR-WRF

GSI version:svn infoPath: .URL: http://gsdforge.fsl.noaa.gov/svn/gsi/trunk/gsi_codeRepository Root: http://gsdforge.fsl.noaa.gov/svn/gsiRepository UUID: 4cb9ce34-484d-0410-8406-e1a1132c1d7fRevision: 43Node Kind: directorySchedule: normalLast Changed Author: kevin.brundageLast Changed Rev: 41Last Changed Date: 2009-08-26 21:09:37 +0000 (Wed, 26 Aug 2009)

WRF version: 3.2

Right now, tests of the ENKF are carried out in two machines: tacc ranger (PGI compiler) and wjet (Intel compiler)

Current control variables of regional ENKF : nvar =1 : U nvar =2 : V nvar =3 : potential temperature nvar =4 : surface pressure nvar =5 : water vapor specific humidity

GSI updated variables:

MU, T, QVAPOR, U, V, SEAICE, SST

If (cloud_analysis) QCLOUD, QRAIN, QSNOW, QICE, QGRAUP

In the furture, more variables like W and cloud/hydrometeor fields will be added to both GSI and ENKF system

Current modification in ENKF params.f90 ! ndim = nlevs*nvars

ndim = nlevs*(nvars-1) + 1 ! for the regional model

gridinfo.f90 Add new subroutine: getgridinfo_reg --- calculate the pressure at each sigma level and the virture temperature.

gridio.f90 Add new subroutine: readgriddata_reg (read in regional guess fields of ‘C’ grid), writegriddata_reg (output in ‘A ‘ grid)

statevec.f90 read_ensemble: Call readgriddata call readgriddata_reg

‘anal’ array rearrangement;

write_ensemble:

Call writegriddata call writegriddata_reg

enkf_main.f90 Call getgridinfo call getgridinfo_reg

Subroutine getgridinfo_reg Add pressure calculation at each model level: pt_ll=0.01*ptopq_integral=1.0do k = 1, nlevsindeltasigma=eta1(k)-eta1(k+1)q_integral(:) = q_integral(:)+deltasigma*qg(:,k,1)Enddopsfc_this_dry=0.01*psfc psfc(:)=(psfc_this_dry(:)-pt_ll)*q_integral(:)+pt_lldo k = 1, nlevsinpsig(:,k)=eta1(k)*(psfc(:)-pt_ll) + pt_llpslg(:,k)=aeta1(k)*(psfc(:)-pt_ll)+pt_llenddopslg = pslg*100.0

Height of each control variable:do nvar=1,nvarsif ( nvar .eq. 4 ) then nn = nn + 1 logp(:,nn) = log(pressimn(:,1)) logsigma(:,nn) = -log(pressimn(:,1)/spressmn(:))else do k=1,nlevs nn = nn + 1. logp(:,nn) = log(presslmn(:,k)) logsigma(:,nn) = -log(presslmn(:,k)/spressmn(:)) end doendif end do

Subroutine readgriddata_regCalculated the virtural temperature from the potential temperature: q(:,k) = qg(:,k,1)/(1.+qg(:,k,1)) ! Q = water vapor specific humidity ! q_bk = water vapor mixing ratio rd_over_cp=287.04/1004.67

! calculated the temperature from the potention temperature ! get the virtural temperature

do k = 1, nlevsin temp(:,k) = tempg(:,k)*(pslg(:,k)/1000)**rd_over_cp *(1+0.61*q(:,k)) enddo

upwrfnc.exe

• Read in the wrfinput files and ENKF analysis fields

• Transfer the U, V from the ENKF analyzed grid to C grid

• Update the U, V, T, Mu, Qvapor in the wrfinput

1. Satellite data diagnose files is not consistence: IPCHAN_RESERVE = 8 (global)IPCHAN_RESERVE = 7 (regional)

diagbufchan(1,i)=tb_obs(i) ! observed brightness temperature (K) diagbufchan(2,i)=tbc(i) ! observed - simulated Tb with bias corrrection (K) diagbufchan(3,i)=tbcnob(i) ! observed - simulated Tb with no bias correction (K) errinv = sqrt(varinv(i)) diagbufchan(4,i)=errinv ! inverse observation error useflag=one if (iuse_rad(ich(i))/=1) useflag=-one diagbufchan(5,i)= id_qc(i)*useflag! quality control mark or event indicator

diagbufchan(6,i)=emissivity(i) ! surface emissivity diagbufchan(7,i)=tlapchn(i) ! stability index do j=1,npred+1 diagbufchan(7+j,i)=predterms(j,i) ! Tb bias correction terms (K) end do

real(fp_diag) :: tbobs ! Tb (obs) (K) real(fp_diag) :: omgbc ! Tb_(obs) - Tb_(simulated w/ bc) (K) real(fp_diag) :: omgnbc ! Tb_(obs) - Tb_(simulated_w/o bc) (K) real(fp_diag) :: errinv ! inverse error (K**(-1)) real(fp_diag) :: qcmark ! quality control mark real(fp_diag) :: emiss ! surface emissivity real(fp_diag) :: tlap ! temperature lapse rate real(fp_diag) :: pres ! pressure (mb) at max in weighting fn. real(fp_diag) :: bifix ! fixed angle dependent bias real(fp_diag) :: bilap ! lapse rate bias correction term real(fp_diag) :: bilap2 ! square lapse rate bias correction term real(fp_diag) :: bicons ! constant bias correction term real(fp_diag) :: biang ! scan angle bias correction term real(fp_diag) :: biclw ! CLW bias correction term

Knowing issues:

Knowing issues:

2. Test in the wjet machine reads in the conventional diagnose files properly, but there is still something wrong in the tacc ranger computer.

region, obtype, nobs, bias, innov stdev, sqrt(S+R), sqrt(S), sqrt(R): WJETNH all ps 3971 -0.129E-01 0.865E+00 0.229E+01 0.212E+01 0.888E+00TR all ps 208 -0.153E+00 0.144E+01 0.117E+01 0.696E+00 0.935E+00NH all t 14478 -0.194E+00 0.131E+01 0.391E+01 0.129E+01 0.369E+01TR all t 671 -0.398E-01 0.970E+00 0.256E+01 0.516E+00 0.251E+01NH all uv 46444 -0.150E+00 0.256E+01 0.606E+01 0.333E+01 0.506E+01TR all uv 5148 0.349E+00 0.234E+01 0.683E+01 0.274E+01 0.626E+01NH all q 5969 -0.890E-02 0.130E+00 0.246E+00 0.136E+00 0.205E+00TR all q 323 -0.225E-01 0.114E+00 0.213E+00 0.655E-01 0.203E+00

region, obtype, nobs, bias, innov stdev, sqrt(S+R), sqrt(S), sqrt(R):

RangerNH all ps 3971 NaN NaN NaN NaN 0.888E+00TR all ps 208 NaN NaN NaN NaN 0.935E+00NH all t 14478 NaN NaN NaN NaN 0.369E+01TR all t 671 NaN NaN NaN NaN 0.251E+01NH all uv 46444 NaN NaN NaN NaN 0.506E+01TR all uv 5148 NaN NaN NaN NaN 0.626E+01NH all q 5969 NaN NaN NaN NaN 0.205E+00TR all q 323 NaN NaN NaN NaN 0.203E+00

Recommended