Introduction to Gridpoint Statistical Interpolation GSI Build and
Introduction to Gridpoint Statistical Interpolation (GSI) & Build and Run GSI on S 4 Ting-Chi Wu (ting-chi. wu@colostate. edu) CIRA Data Assimilation Group Feb 13 & Feb 15, 2018 NOAA Data Assimilation Training at CIRA
Outline • Introduction to GSI – History and Background – Theory (Equation and Solution) – Additional Options – Observation Format – GSI Code Structure • Install and Run GSI Bring your computer! Today Next Class – Setup S 4 to Build and Run GSI – Details in GSI Run Script – Standard Output and Diagnostics (Practice Case)
GSI History and Background (1/2) • Optimal Interpolation (OI) was the first statistic data analysis system. • The Spectral Statistical Interpolation (SSI), developed at NOAA NCEP in late 1980 – early 1990. o the first operational variational analysis system o directly use satellite radiance • SSI was a great improvement over the OI, but… o Spectral space made it less straightforward to use for regional systems o Spectral background error did not allow much spatial variation in the background o Was a prototype code to begin with; not well written for operational purpose
GSI History and Background (2/2) • Based on SSI, the Gridpoint Statistical Interpolation (GSI) is formulated in physical space. • o Allows greater flexibility to background error statistics/covariance (geographically inhomogeneous and anisotropic) o Uses multiple recursive filters in physical space to construct latitude-dependent structure functions. o Straightforward to apply to regional domain. o GSI is 1992: an evolving system. Parrish, D. analysis F. , and J. C. code Derber, The National Meteorological Center’s spectral statistical-interpolation analysis system. Mon. Wea. Rev. , 120, 1747– 1763. • Wu W. -S. , Purser R. J. , Parrish D. F. , 2002: Three-dimensional variational analysis with spatially inhomogeneous covariances. Mon. Wea. Rev. 130, 2905– 2916 • Kleist D. T. , Parrish D. F. , Derber J. C. , Treadon R. , Wu W. -S. , Lord S. , 2009: Introduction of the GSI into the NCEP global data assimilation system. Weather and Forecasting 24, 1691– 1705.
GSI Today (1/2) • GSI system has become operational as the core of – GDAS (Global Data Assimilation for the GFS) – NDAS (North American Data Assimilation) for NAM (North America Mesoscale) – NASA Goddard Earth Observing System (GEOS) – United States Air Force (USAF) mesoscale DA system – NOAA Real-Time Mesoscale Analysis (RTMA) – NOAA Hurricane WRF (HWRF) – NOAA RAPid Refresh (RAP) and High Resolution Rapid Refresh (HRRR) • Groups involved in operational GSI development: – NASA GMAO / NOAA ESRL / NCAR MMM • Development Testbed Center (DTC) maintains the community GSI repository: – https: //dtcenter. org/com-GSI/users/docs/index. php
GSI Today (2/2) • Originally developed as 3 DVar system; has been evolving into Ensemble-Variational hybrid system in recent years. • Many options available or under development: – 3 D En. Var, Hybrid 3 DEn. Var, 4 DEn. Var, Hybrid 4 DEn. Var, or 4 DVar (if coupled with an adjoint model supported by GSI) – Can be simply used as forward operators (radar, satellite radiance, GPS RO, etc) – FGAT (First Guess at Appropriate Time) – Observation sensitivity study – Additional observation types • Will focus on the hybrid 3 DEn. Var configuration
GSI Theory – Begin with 3 DVar Jo Jc Jb = Fit to background + Fit to observation + Constraint terms • • Jvar: cost function x: analysis/control vector xb: background vector Bvar: background error covariance matrix (estimated offline) h: observation operator E+F = R: Instrument error + representative error = observation error covariance (usually diagonal) y: observation vector Jc: constraint terms • Assume observations are all valid at the same time • Optimal xa is obtained by minimizing the cost function:
GSI Theory – Analysis Variables Jb Jo Jc = Fit to background + Fit to observation + Constraint terms • Analysis/Control variables (what background errors are built upon) – – – – – Streamfunction (ψ) Unbalanced velocity potential (χ) Unbalanced temperature (T) Unbalanced surface pressure (Ps) Pseudo relative humidity or normalized relative humidity Satellite bias correction coefficients Ozone (global GSI only) Cloud condensate mixing ratio Trace gases / aerosols / chemistry (for chemical DA) Gust and visibility (for RTMA)
GSI Theory – Jb term (B matrix) (1/2) • Background error covariance, Ø Assumption: xb is the mean of a Gaussian distribution and B defines the PDF of background error Ø B is 4 -dimensional: nx, ny, nz, and nvar (# of control variables) Ø It contains variance, auto-covariance and cross-covariance Ø A square and symmetric matrix Analytical Solution – – Variational: En. KF based: Acts like a weighting to the correction to background Spread information spatially and among control variables A huge matrix and unknown true state xtrue How to approximate the B matrix? • Static vs. ensemble • Static: pre-estimate (offline); does not evolve with the modeling system • Ensemble: estimate using ensemble differences of forecasts
GSI Theory – Jb term (B matrix) (2/2) (Parrish and Derber 1992) • NMC method (static): – Lagged forecast pairs (i. e. 24 and 48 hr forecasts valid at the same time) – Sample through a significant long period of time (climate) – Assume linear error growth rate – Assume same model bias • Ensemble method: but only use the variance (diagonal) Ø S (variance scaling factor): rescale variance with latitudinal dependence Ø Uh (horizontal transform): model horizontal auto-correlation via multiple recursive filters Ø Uv (vertical transform): same as Uh, but apply recursive filter vertically. Auligne and Descombes 2014 Ø Up (physical transform): model crosscorrelations between analysis variables via statistical balance (linear) – Ensemble differences of forecasts – Sample from ensemble space – Assume ensemble represents actual background error
GSI Theory – Jo term (h operator) • To assimilate observation, the model needs to be able to simulate the observation – mapping the initial model state to the actual observation quantity at given points in space and time. • Mapping can be as simple as spatial/temporal interpolation, or it can be as complicated as running a radiative transfer model. Ø depends on the observation, h can be linear/nonlinear. • In its latest release, GSI is capable of assimilating observations that include satellite radiances from multiple platforms, radar/lidar winds, lightning flash rate, surface land data, aircraft reports, radiosonde, dropwindsonde, ship and buoy data, SST, satellite derived wind and TPW, GPS RO data, TCVitals, AOD, etc.
GSI Theory – Jc term (constraint) • Jc terms are penalties for – Negative humidity constraint: – Excess moisture constraint: where λ is weighting factor for negative moisture constraint and λ 2 is weighting factor for supersaturated moisture constraint – – Negative visibility constraint (need to have vis/gust/PBL height Negative gust constraint as control variable) Negative PBL height constraint Conservation of global dry mass (not applicable to regional problem)
GSI Theory – Equations (1/2) • Assume linearity of the observation operator h, Incremental Var : where • Define Δx = x – xb, analysis increment and o = y –h(xb), observation innovation/increment.
GSI Theory – Equations (2/2) • To improve convergence, GSI preconditions Jvar by defining a new variable p = B-1Δx (or Bp = Δx) Calculate gradient (drop out Jc for brevity) • Solve for Δx and p using conjugate gradient by starting from Δx = 0 step size descent/search direction and p = 0 and iterating over n: Until either the maximum number of iteration is reached or the gradient is sufficiently minimized.
GSI Theory – Solution Strategy • Optimal xa is obtained by minimizing the cost function with respect to the control variables: • xa = Δxouter_iteration + Δxinner_inneration + xb • In outer iteration: – Quality control – Complete nonlinear forward operator h ² Remember: o = y –h(xb) • In inner iteration (can speed up by using coarser resolution): – – Preconditioned conjugate gradient minimization Simpler forward operator H Variational quality control (Andersson and Järvinen 1998) Solution used to start the next outer iteration
GSI Theory – Hybrid En. Var (1/3) • What is hybrid? – Combine ensemble and variational DA ²Hybrid of two frameworks (Var and Ens) ²Hybrid of background error covariances • Ingredients of a hybrid Ens-Var system: – A forecast model (e. g. GFS) – An existing Var DA system (e. g. GSI) – A method of generating ensembles of forecasts that accurately represents forecast uncertainty (e. g. En. KF) • GSI can be formulated into hybrid 3 D/4 D Ens. Var: – The cost function is modified to use a weighted combination of static background-error covariance Bvar and an ensemble estimated background-error covariance Bens (in the Jb term)
GSI Theory – Hybrid En. Var (2/3) • Background error covariance: – Bvar : fixed and estimated offline; Bens estimated from ensemble 0≤ β≤ 1 If β > 0, it’s a hybrid!
GSI Theory – Hybrid En. Var (3/3) • Why Hybrid? features from both framework: Ens + Var o Ens: Ø Flow-dependency in B because B evolves with the system Ø Multivariate correlations (cross-variable covariance) from forecast model Ø More information extracted from the observations Ø Computationally expensive Ø Sampling error; B is estimated in ensemble space Ø Require covariance localization to reduce spurious covariance (in observation space) o Var: Ø Ease of adding extra constraints to cost function Ø Framework to treat nonlinearity and non-gaussianity Ø Static B (both 3 D- and 4 D-Var) estimated offline Ø B is in full model space, localization in model space • Recommended Nomenclature for hybrid En. Var methods: https: //www. wcrp-climate. org/WGNE/Blue. Book/2013/individualarticles/01_Lorenc_Andrew_En. Var_nomenclature. pdf
Addition Option – FGAT (1/2) First Guess at the Appropriate Time • Contemporary observations of the atmosphere (e. g. satellite) are spread through the analysis window. However, traditional 3 DVar assumes observations are valid at the analysis time. • FGAT improves this situation by using more than one background (utilize auxiliary background files with distinct valid times) and linearly-interpolating these background files to the observation location and time. • Allow observations within the analysis window to be compared with background at the appropriate time so to be better assimilated. h operates on the interpolated background field xi which is valid at the actual observation time
Addition Option – FGAT (2/2) First Guess at the Appropriate Time Assimilation window = 6 h 3 background files that are valid at -3, 0, and +3 h from the analysis time (★) -3 hr -2. 2 hr -0. 8 hr 0 hr +2 hr +3 hr Observations over a time window ! • FGAT is one of the GSI developments toward GSI-4 DVar by utilizing multiple background files. • Since it’s not 4 DVar, the cost function minimization does not require tangent linear and adjoint models. Ø GSI can take up to 100 background/first guess files
Observation Format (1/2) • Observation data format BUFR (Binary Universal Form for the Representation of Meteorological data) is approved by the WMO for operational use. • To represent, exchange, and archive of all types of observational data in operational centers. • Prep. BUFR: NCEP “prepared” or “QCed” BUFR – BUFR table and BUFRLIB subroutines Advanced GSI User Guide Ch 7. 1 – GSI/util/bufr_tools/ • • • bufr_decode_sample. f 90 bufr_append_sample. f 90 bufr_encode_sample. f 90 prepbufr_decode_all. f 90 prepbufr_inventory. f 90
Observation Format (2/2) • To ensure a good quality DA, after reading observational data from BUFR files, additional processes are involved before the observation is actually assimilated: – Thinning (or sometimes superobbing) • Spatially reduce the amount of observation so that the thinned observations are no closer than some specified distance (usually multiples of the grid spacing) • To alleviate observation error correlation and error of representativeness – Quality Control (QC) • Gross check (some in Prep. BUFR) • Data usage check (convinfo/satinfo) • Variational QC • Radiance QC… complicated! – Bias Correction • The difference between observed and simulated observation, y-h(x), can show significant bias • Bias may come from characteristics of the instrument, deficiencies of the forward model h, errors in data processing, and bias in the background
GSI Code Structure (1/5) • gsimain. f 90 Ø call gsimain_initialize (subroutine in gsimod. F 90) • read namelist & initialize variables Ø call gsimain_run (subroutine in gsimod. F 90) • the main gsi driver: call gsisub (gsisub. F 90) – – call create_grid_vars: create grid variables call gesinfo: get date, grid and other info from model guess file call *info_read: from convinfo, satinfo, and anavinfo, and other *info files call observer_* (observer. F 90: use as forward operator only) or call glbsoi (glbsoi. f 90: run the full data assimilation analysis) – If call glbsoi: » call observer_init (subroutine in observer. F 90): read background field » call create_jfunc (subroutine in jfunc. f 90): allocate memory for cost function variables » call observer_set (subroutine in observer. F 90): read observations (read_obs. F 90: call read_XXX) and distribute to subdomains with MPI (obs_para. f 90) » call prewgt_reg (regional: prewgt_reg. f 90) or prewgt (global: prewgt. f 90): initialize background error balance » do jiter=jiterstart, jiterlast (main outer loop) • call setuprhsall (setuprhsall. f 90): calculates y-h(x) by calling setup. XXX • call pcgsoi (pcgsoi. f 90) or bigc/sqrtmin (other minimization schemes): inner iteration loop • … enddo » write out solution Ø call gsimain_finalize (subroutine in gsimod. F 90)
GSI Code Structure (2/5) • setuprhsall calls a set of subroutines (setup. XXX) to 1) calculate the observation innovation, y-h(x), with full nonlinear observation operators 2) apply quality control 3) prepare weights and TL/ADJ coefficients to be used by inner loop 4) collect and write out statistics for diagnostic for various observation types such as satellite radiances, conventional observations, GPS RO, chemistry, etc: – Satellite radiances (Tb): • setuprad. f 90 (call CRTM through crtm_interface. f 90) – Conventional observations (t, ps, q, u, v, etc): • setupt. f 90, setupps. f 90, setupq. f 90, setupw. f 90, etc. – Chemistry (AOD, CO, PM 10, PM 2. 5, etc): • setupaod. f 90, setupco. f 90, setuppm 10. f 90 setuppm 2_5. f 90, etc • Reminder: setuprhsall is called by glbsoi. f 90 in each outer iteration. 24
GSI Code Structure (3/5) • xa = Δxouter_iteration + Δxinner_inneration + xb • Inner iteration loop is where the cost function minimization is computed (will focus on the conjugate gradient method: pcgsoi. f 90) • inner_iteration: do iter=0, niter(jiter) – call control 2 state (convert from control to model physical state space for comparison with observation) – call intall (gradient of Jo term: ) » call intjo (and intjo will call individual int. XXX) – call control 2 state_ad (convert back to control space from model physical state space) – Add gradient of Jb term: – call bkerror (multiply by background error: ) – call stpcalc (estimate stepsize α and update solution) » stpcalc will call individual stp. XXX – call update_guess (update iteration solution: ) – Solution used to start the next outer iteration 25 • end do inner_iteration
GSI Code Structure (4/5) setup. XXX read. XXX int. XXX stp. XXX Ø source code from com. GSIv 3. 6_En. KFv 1. 2/src/
GSI Code Structure (5/5) • In read_obs: • In setuprhsall: Advanced GSI User Guide Chaper 5
Homework Build GSI on S 4: • Instructions using Intel compliers to build GSI on S 4 are available in the next 3 slides (Install GSI on S 4) • If you successfully create an gsi. executable, then you are ready for the next class! • You are also welcome to proceed to “Running GSI on S 4” during your free time. We will cover that in next class.
Build GSI on S 4 (1/3) • • Go to: https: //dtcenter. org/com-GSI/users/downloads/index. php Type your e-mail address to begin download Go for the community GSI Version 3. 6 and En. KF Version 1. 2 Download both 1) com. GSIv 3. 6_En. KFv 1. 2_tarball and 2) CRTM_2. 2. 3_Big_Endian_coefficients_tarball • Make sure to check out Release notes and Known issues • You may also want to download GSI v 3. 6 user guide for more information: https: //dtcenter. org/com-GSI/users/docs/index. php • Put both tarball files onto your S 4 account (scp or sftp) > scp name_of_tarball username@s 4. ssec. wisc. edu: /data/users/username/
Build GSI on S 4 (2/3) • Set up environment in your. bashrc (or. cshrc, . kshrc, etc), which usually sits in your home directory at /home/username/ – WRF_DIR – NETCDF – LAPACK_PATH Example. bashrc file using Intel build: module load license_intel/14. 0 -2 impi/5. 0. 3. 048 module load udunits 2 hdf 5 netcdf 4/4. 1. 3 nco parallel-netcdf ncview export NETCDF=/opt/netcdf 4/4. 1. 3 -intel-14. 0 -2 export PNETCDF=/opt/pnetcdf/1. 6. 1 -intel-14. 0 -2 module load shellb 3 module load grads export WRF_DIR=/home/twu/hwrfrun/sorc/WRFV 3/ export LAPACK_PATH=/opt/intel/composer_xe_2013_sp 1. 2. 144/mkl/lib/intel 64 • Reload your. bashrc by typing “source. bahsrc” or simply log out and log back in
Build GSI on S 4 (3/3) • Untar both tarball files: > tar –xvf com. GSIv 3. 6_En. KFv 1. 2. tar > tar –xvf CRTM_2. 2. 3. tar • Go into com. GSIv 3. 6_En. KFv 1. 2/dtc/ and run configure script to select a compiler option, then run the compile script and redirect output to a log file: > cd com. GSIv 3. 6_En. KFv 1. 2/dtc/ >. /configure > Select option 7. Linux x 86_64, Intel compiler (ifort & icc) (dmpar, optimize) >. /compile |& tee compile. log • If the build is successful, you should see an executable named gsi. exe sitting in both src/ and dtc/run/.
Running GSI on S 4 (1/4) • Before running GSI, you should know: – – – – gsi. exe is available (located at src/ or dtc/run) Setup gsiparm. anl (the namelist file) Decide on a work directory ($WORK_ROOT) Location and name of background files (e. g. , wrfout) Location and name of observation (e. g. , *bufr files) Location of the fix/ directory (e. g. , *info files) Location of the CRTM coefficient directory (should be located at CRTM_v 2. 2. 3/) for satellite radiance assimilation • run_gsi_*. ksh has it all! ü A sample run script to start with (under dtc/run/) ü Will prepare gsiparm. anl for you using comgsi_namelist*. sh
Running GSI on S 4 (2/4) • Download data for practice cases here: https: //dtcenter. org/com. GSI/users/tutorial/online_tutorial/release. V 3. 6/data/download _data. php – We will use Practice case 3: ARW Hybrid 3 DEn. Var – I have downloaded and put them on S 4 at /data/users/twu/GSIv 3. 6_Practice. Case 3/ – You are recommended to try other practice case(s) after the class • > cd com. GSIv 3. 6_En. KFv 1. 2/dtc/run/ • > cp run_gsi_regiona. ksh run_gsi_regiona_wrfarw. ksh • Then, we will modify run_gsi_regiona_wrfarw. ksh to run the
Running GSI on S 4 (3/4) • Modifications to the run_gsi_regiona_wrfarw. ksh: – – – – ANAL_TIME=2017051312 WORK_ROOT=/scratch/username/gsi_wrfarw_$ANAL_TIME OBS_ROOT=/data/users/twu/GSIv 3. 6_Practice. Case 3/obs BK_ROOT=/data/users/twu/GSIv 3. 6_Practice. Case 3 BK_FILE=${BK_ROOT}/wrfinput_d 01. dms CRTM_ROOT=PATH_TO_YOUR_CRTM_2. 2. 3_DIR GSI_ROOT=/data/users/username/com. GSIv 3. 6_En. KFv 1. 2 FIX_ROOT=${GSI_ROOT}/fix GSI_EXE=${GSI_ROOT}/dtc/run/gsi. exe GSI_NAMELIST=${GSI_ROOT}/dtc/run/comgsi_namelist. sh If_hybrid=Yes ENS_ROOT=/data/users/twu/GSIv 3. 6_Practice. Case 3 ENSEMBLE_FILE_mem=${ENS_ROOT}/gfsens/sfg_2017051306_fhr 06 s
Running GSI on S 4 (4/4) • Include the below MPI script in run_gsi_regional_wrfarw. ksh #!/bin/bash #SBATCH --job-name=YOUR_JOB_NAME #SBATCH --partition=s 4 #SBATCH --account=star #SBATCH --ntasks=90 #SBATCH --mem-per-cpu=6000 #SBATCH --time=02: 00 #SBATCH --output=PATH_TO_OUTPUT_DIR/YOUR_JOB_NAME. %j • Add S 4 SLURM option in the $ARCH section & set ARCH=‘S 4’ ’S 4’) ##### JCSDA S 4 SLURM RUN_COMMAND="srun --cpu_bind=core --distribution=block: block" ; ; • Submit job with sbatch > sbatch run_gsi_regional_wrfarw. ksh • Monitor your job status > squeue –u username Ø Check out S 4 User Guides for more info (need username/password to log in): https: //groups. ssec. wisc. edu/acl_users/credentials_cookie_auth/require_login? came_from=https%3 A//groups. ssec. wisc. edu/groups/S 4/s 4 -user-guides
Standard Output and Diagnostics (1/4) • The standard output file: stdout Begin J table inner/outer loop 0 2 • Structure of stdout: J term J background 1. 3012353608618746 E+03 surface pressure 1. 9513868407565806 E+03 – Read in all data and prepare analysis: temperature 2. 4889488235135345 E+03 • • • wind 4. 1005694521652695 E+03 Read in configuration (gsiparm. anl namelist) moisture 7. 8109360307634040 E+02 --------------------------Read in background (wrf_inou*) J Global 1. 0623234080373601 E+04 End Jo table inner/outer loop 0 2 Read in observations (bufr files). Partition domain and data for parallel. analysis. observer_final: successfully finalized Read in constant fields (fix files) glbsoi: complete [000]gsisub(): : complete. Read in ensemble files (if hybrid) – GSI analysis ENDING DATE-TIME FEB 06, 2018 22: 53: 23. 661 TUE 2458156 – Update guess and save analysis result. PROGRAM GSI_ANL HAS ENDED. Ø But… this doesn’t guarantee a successful assimilation Ø you’ll need to look into more details 37
Standard Output and Diagnostics (2/4) current fit of (O-B surface pressure data, O-A; ranges in mb • fort. 2** files: innovation and fit to observations) statistics Example of fort. 201 -------------------------from each outer looppressure levels (h. Pa)= 0. 0 2000. 0 it obs use typ styp count bias rms cpen qcpen – fort. 201: surface pressureo-g data (ps) o-g 01 ps asm 120 0000 83 -0. 1531 0. 6535 0. 5113 – fort. 202: wind data (uv) o-g 01 ps asm 180 0000 453 -0. 6157 0. 8982 0. 5580 Ø characterized as conv (see convinfo table) – fort. 203: temperature datao-g(t)01 ps asm 180 0001 688 -0. 2200 0. 8296 1. 2538 o-g 01 ps asm 181 0000 382 -0. 0845 0. 7769 0. 5794 – fort. 204: moisture data (q)o-g 01 ps asm 187 0000 8848 -0. 0275 0. 5602 0. 2018 o-gdata 01 (pw) asm all 10454 -0. 0687 0. 6093 0. 3027 – fort. 205: precipitable water o-g 01 ps rej 120 0000 1 9. 0978 0. 0000 – fort. 206: ozone observations (oz) o-g 01 ps rej 180 0001 1 -11. 8787 0. 0000 – fort. 207: satellite radianceo-gdata 01 (rad) ps rej 181 0000 14 -2. 2798 34. 7361 0. 0000 01 ps rej 183 0000 2 -15. 1865 15. 1895 0. 0000 – fort. 208: precipitation datao-g(pcp) o-g 01 rej all 18 -3. 6151 31. 2496 0. 0000 – fort. 209: radar radial windo-g(rw) 01 ps mon 180 0000 2 -0. 3998 0. 8206 1. 9926 o-g 01 – fort. 210: doppler lidar wind (dw)ps mon 180 0001 2 -0. 5251 0. 4158 o-g 01 ps mon 181 0000 259 -0. 0820 0. 8232 0. 8727 – fort. 211: radar wind superobs data (srw) o-g 01 ps mon 183 0000 760 -0. 5906 1. 3388 0. 0000 – fort. 212: GPS data (gps_ref) o-g 01 ps mon 187 0000 151 0. 0151 0. 4356 0. 6097 o-g 01 mon all 1174 -0. 4001 1. 1558 0. 2751 – fort. 213: conventional SST data (sst) number of psfc obs that failed gross test = 18 nonlin qc test = 0 – fort. 214: tropical cyclone type central data 17904 (psfc) psfcpressure jiter 1 nread nkeep 11646 num 10454 type psfc pen= 0. 316472951696346036 E+04 qcpen= 0. 316472951696346036 E+04 r= 0. 302729 – … – fort. 220: output from the 0. 302729 inner loop minimization (pcgsoi) current fit of surface pressure data, ranges in mb – fort. 221: fit to pbl height -------------------------(pblh) …. costterms–Jb, Jo, Jc, Jl = 1 0 0. 000000000 E+00 1. 436036611019270822 E+04 0. 000000000000000000 E+00 … qcr= o-g 02 cost, grad, step, b, step? = 1 0 1. 436036611019270822 E+04 5. 758921198958813825 E+00 2. 856226974284829012 E+01 0. 000000000 E+00 good …. . o-g 03. . costterms Jb, Jo, Jc, Jl = 2 10 1. 345410379470981525 E+03 9. 256931413187994622 E+03 0. 000000000000000000 E+00 cost, grad, step, b, step? = 2 10 1. 060234179265897546 E+04 4. 464976649873005771 E-02 6. 666238574241830861 E+01 4. 648847532482277001 E-01 good Example of fort. 220
Standard Output and Diagnostics (3/4) • In addition to the fort. 2** files, you’ll also have many pe 00 nn. <obstype>_0 m in the work/ directory: - Where nn = MPI nodes ID and m = outer loop ID For example, due to domain partition, conv observations were distributed into 4 nodes (0000, 0001, 0002, 0003): • • - pe 0000. conv_01, pe 0000. conv_02, pe 0000. conv_03 pe 0001. conv_01, pe 0001. conv_02, pe 0001. conv_03 pe 0002. conv_01, pe 0002. conv_02, pe 0002. conv_03 pe 0003. conv_01, pe 0003. conv_02, pe 0003. conv_03 They will be cat into binary files diag _<obstype>_ges and one diag _<obstype>_anl (check run_gsi_regional_wrfarw. ksh) They include innovation info (O-B and O-A) for all <obstype> observation data points over the domain • Built-in diagnostic tools (com. GSIv 3. 6_En. KFv 1. 2/util/Analysis_Utilities/): - Located at read_diag/: read in diag _<obstype>_ges and diag _<obstype>_anl and then write out ascii files results_<obstype>_ges and diag _<obstype>_anl plot_cost_grad/: read fort. 220 and plot cost function and gradient versus inner/outer loop plots_ncl/: plot analysis increment (analysis minus background/first guess)
Standard Output and Diagnostics (4/4) Example results_conv_ges file ps @ 21914 : 180 0. 17 35. 95 234. 35 1023. 60 1 1023. 60 0. 28 ps @ 46770 : 180 0. 00 37. 09 232. 55 1025. 00 1 1025. 00 0. 16 ps @ MASKSTID : 180 1. 00 35. 70 234. 40 1023. 60 1 1023. 60 0. 27 ps @ MASKSTID : 180 0. 00 35. 70 234. 20 1024. 00 1 1024. 00 0. 46 t @ MASKSTID : 180 1. 00 35. 70 234. 40 1023. 60 1 286. 35 -0. 58 t @ MASKSTID : 180 0. 00 35. 70 234. 20 1024. 00 1 286. 55 -0. 44 q @ MASKSTID : 180 1. 00 35. 70 234. 40 1023. 60 1 5. 90 -0. 00 q @ MASKSTID : 180 0. 00 35. 70 234. 20 1024. 00 1 5. 74 -0. 00 uv @ MASKSTID : 280 1. 00 35. 70 234. 40 1021. 00 1 2. 00 -1. 81 -11. 60 uv @ MASKSTID : 280 0. 00 35. 70 234. 20 1021. 23 1 3. 50 -0. 25 -9. 70 ps @ MASKSTID : 180 0. 00 40. 50 231. 70 1023. 00 1 1023. 00 0. 03 ps @ 46059 : 180 -0. 67 37. 90 230. 30 1026. 50 1 1026. 50 -0. 15 ps @ 21530 : 180 0. 00 38. 88 234. 06 1023. 30 1 1023. 30 0. 79 Example using plot_cost_grad/GSI_cost_gradient. ncl -1. 51 0. 30 … Example using plots_ncl/Analysis_increment. ncl Ø As long as you know how to manipulate Net. CDF and ASCII data, your can use other software to process these output data Ø My personal preference is Python (I’m happy to share my scripts)
Suggest GSI Reading Topics ü Observation process and BUFR ü Single observation test/experiment ü Configure GSI to run hybrid 4 DEn. Var (NCEP/GFS operational configuration) • Advanced topics: – Observation sensitivity study – Satellite radiance assimilation – Introducing new observation(s) • Past GSI Tutorial documents: https: //dtcenter. org/com -GSI/users/docs/tutorial_presentations_2017. php • Attend Annual Joint GSI/En. KF Community Tutorial
Reference: • The materials of this presentation come from: - GSI Community Version 3. 5 Advanced User’s Guide. Aug 2016 GSI Community Version 3. 6 User’s Guide. September 2017 Derber J. C. : Overview of GSI. 2017 GSI Summer Tutorial Auligne T. and Descombes G. : Background Error Covariance and GEN_BE. 2014 GSI Community Tutorial - Whitaker J. : GSI Hybrid En. Var Data Assimilation. 2014 GSI Tutorial - Liu Z. : Hybrid Variational/Ensemble Data Assimilation. 2011 WRFDA tutorial - Kleist D. : Background and Observation Errors: Estimation and Tuning. 2011 GSI Tutorial Useful links: • http: //4 dvarenkf. cima. fcen. uba. ar/course/en/index. php? m=6 • https: //dtcenter. org/com. GSI/users/docs/index. phphttp: //www. inverseproblems. info/
- Slides: 41