1 / 8

Current modification

Current modification. Pressure calculation. pt_ll=0.01*ptop q_integral=1.0 do k = 1, nlevsin deltasigma=eta1(k)-eta1(k+1) q_integral(:) = q_integral(:)+deltasigma*qg(:,k,1) enddo psfc_this_dry=0.01*psfc psfc(:)=(psfc_this_dry(:)-pt_ll)*q_integral(:)+pt_ll

ike
Download Presentation

Current modification

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. Current modification

  2. Pressure calculation pt_ll=0.01*ptop q_integral=1.0 do k = 1, nlevsin deltasigma=eta1(k)-eta1(k+1) q_integral(:) = q_integral(:)+deltasigma*qg(:,k,1) enddo psfc_this_dry=0.01*psfc psfc(:)=(psfc_this_dry(:)-pt_ll)*q_integral(:)+pt_ll do k = 1, nlevsin psig(:,k)=eta1(k)*(psfc(:)-pt_ll) + pt_ll pslg(:,k)=aeta1(k)*(psfc(:)-pt_ll)+pt_ll enddo pslg = pslg*100.0

  3. Virtual 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 do k = 1, nlevsin temp(:,k) = tempg(:,k)*(pslg(:,k)/1000)**rd_over_cp enddo ! get the virture tempature do k = 1, nlevsin tempg(:,k) = temp(:,k)*(1+0.61*q(:,k)) enddo

  4. Satellite data diagnose files • 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

  5. datestring = " " ! mandatory ! corrlength (length for horizontal localization in km) corrlengthnh = 2800 corrlengthtr = 2800 corrlengthsh = 2800 ! min and max inflation. covinflatemin = 1.0 covinflatemax = 1.e30 ! lnsigcutoff (length for vertical localization in ln(p)) lnsigcutoffnh = 2. lnsigcutofftr = 2. lnsigcutoffsh = 2. lnsigcutoffsatnh = -999. ! value for satellite radiances lnsigcutoffsattr = -999. ! value for satellite radiances lnsigcutoffsatsh = -999. ! value for satellite radiances ! lnsigcovinfcutoff (length for vertical taper in inflation in ln(sigma)) lnsigcovinfcutoff = 6. ! ob time localization obtimelnh = 2800.*1000./(30.*3600.) ! hours to move 2800 km at 30 ms-1. obtimeltr = obtimelnh obtimelsh = obtimelnh ! path to data directory (include trailing slash) datapath = " " ! Mandatory

  6. ! path to data directory for previous analysis (include trailing slash) datapathprev = " " ! mandatory if analpertwt > 0 ! tolerance for background check. ! obs are not used if they are more than sqrt(S+R) from mean, ! where S is ensemble variance and R is observation error variance. sprd_tol = 9.9e31 ! definition of tropics and mid-latitudes (for inflation). latbound = 25. ! this is where the tropics start delat = 10. ! width of transition zone. ! adaptive posterior inflation parameter. analpertwt = 0.0 ! no inflation (1 means inflate all the way back to prior spread) ! fixed covariance inflation in NH,SH,tropics covinflatenh = 0. covinflatetr = 0. covinflatesh = 0. ! if ob prior posterior variance divided by prior variance ! less than this value, ob is skipped during serial processing. paoverpb_thresh = 1.0 ! don't skip any obs ! partition state vector and obs randomly across processors ! (if .false., use an algorithm based on Graham's rule) random_partition = .true. ! set to to 0 for the order they are read in, 1 for random order, or 2 for ! order of predicted posterior variance reduction (based on prior) iassim_order = 0 ! use height instead of virtual temp as analysis variable. use_height = .false. ! use 'pseudo-rh' analysis variable, as in GSI. pseudo_rh = .false. ! if deterministic is true, use EnSRF w/o perturbed obs. ! if false, use perturbed obs EnKF. deterministic = .true.

  7. sortinc = .true. ! these are all mandatory. ! number of npts on grid npts = 0 ! total number of levels nlevs = 0 ! number of ensemble members nanals = 0 ! number of "tracers" in model state vector. ntrac = 3 ! nvars can be 5 (if neither ozone or cloud condensate updated), ! 6 (if ozone updated, but cloud condensate not updated) or ! 7 (if both ozone and cloud condensate updated). ! nvar = 1 is zonal wind, nvar = 2 is meridional wind ! nvar = 3 is thermodynamic variable, nvar = 4 is ! interface pressure (with 1st level assumed to be surface, ! and top level assumed to be constant). nvars = 5 ! factor to multiply sat radiance errors. saterrfact = 1. ! number of times to iterate state/bias correction update. ! (only relevant when satellite radiances assimilated, i.e. nobs_sat>0) numiter = 1 ! use letkf instead of serial enkf for update. use_letkf=.false.

More Related