-
Notifications
You must be signed in to change notification settings - Fork 151
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Issue #2: add GFS DA v16.0.0 release notes
- Loading branch information
1 parent
0bd8d69
commit e474cf0
Showing
1 changed file
with
337 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,337 @@ | ||
GFSDA.v16.0.0 RELEASE NOTES | ||
|
||
GIT TAG | ||
* GFS DA v16.0.0 is in github repository NOAA-EMC/GSI. GFS DA v16 is intended to be installed | ||
as part of the entire GFS v16 package. Please see GFS v16 release notes for the name and | ||
location of the GFS tag in github. The GFS tag contains a script which checks out the | ||
appropriate GFS DA v16 tag. | ||
|
||
|
||
|
||
|
||
DOC CHANGES | ||
* Rename Release_Notes.fv3gfs_da.v15.0.0.txt as Release_Notes.gfsda.v16.0.0 and update contents to | ||
relect GFS DA v16 development. | ||
|
||
|
||
|
||
|
||
CODE CHANGES | ||
* Data assimilation changes | ||
* Use a Local Ensemble Kalman Filter (LETKF) with model space localization and | ||
linearized observation operator to replace the Ensemble Square Root Filter (EnSRF). | ||
* Apply a new 4-Dimensional Incremental Analysis Update (4D-IAU) technique. | ||
* Turn on Stochastic Kinetic Energy Backscatter (SKEB) scheme in GDAS ensemble forecasts. | ||
* Update variational Quality Control (QC). | ||
* Apply Hilbert curve to aircraft data. | ||
* Update aircraft bias correction with safeguards. | ||
* Assimilate additional COSMIC-2 GNSS-RO data (COSMIC-2 E1 and E2) | ||
* Apply correlated observation error for CrIS over sea surfaces and IASI over sea and land. | ||
* Assimilate AMSU-A channel 14 and ATMS channel 15 without bias correction. | ||
* Assimilate CSR data from ABI_G16, AHI_Himawari8, and SEVIRI_M08. | ||
* Assimilate AVHRR from NOAA-19 and Metop-B for near sea-surface temperature (NSST). | ||
*Upgrade to Community Radiative Transfer Model (CRTM) v2.3.0. | ||
* New GFS DA v16 codes | ||
* calc_analysis.fd - compute analysis by combining guess and increment | ||
* calc_increment_ens_ncio.fd - compute ensemble increment using netcdf io | ||
* interp_inc.fd - horizontally interpolate analysis increment to specified output grid | ||
* ncdiag.fd - concatenate netcdf diagnostic files created by GSI | ||
|
||
|
||
|
||
|
||
JOB CHANGES | ||
* Update jobs to run within GFS workflow | ||
* Remove JGDAS_ENKF_INNOVATE_OBS as this job is no longer needed | ||
* Add the following new jobs | ||
* JGDAS_CHGRES_FORENKF - chgres deterministic forecast to EnKF resolution | ||
* JGDAS_ENKF_SURFACE - create surface analysis files for EnKF members | ||
* JGLOBAL_ANALCALC - create gaussian grid atmospheric and surface analysis files | ||
* JGLOBAL_ANALDIAG - create GSI diagnostic files for deterministic analysis | ||
* JGLOBAL_ENKF_ANALDIAG - create GSI diagnosic files for EnKF members | ||
|
||
|
||
|
||
|
||
SCRIPT CHANGES | ||
* Update scripts to run within GFS workflow. | ||
* Remove ".ecf" suffix from script names | ||
* Add the following new scripts | ||
* exglobal_chgres_forenkf_fv3gfs.sh - chgres deterministic forecast to EnKF resolution | ||
* exglobal_enkf_surface_fv3gfs.sh - create surface analysis files for EnKF members | ||
* exglobal_analcalc_fv3gfs.sh - create gaussian grid atmospheric and surface analysis files | ||
* exglobal_analdiag_fv3gfs.sh - create GSI diagnostic files | ||
|
||
|
||
|
||
|
||
PARM CHANGES | ||
* Update to run within GFS workflow. Parm or configuration files for GFS components reside in | ||
parm/config. Below are the parm (config) files used by each GFS DA v16 job | ||
* JGDAS_CHGRES_FORENKF - config.base, config.anal, config.echgres | ||
* JGDAS_ENKF_FCST - config.base, config.fcst, config.efcs | ||
* JGDAS_ENKF_POST - config.base, config.epos | ||
* JGDAS_ENKF_RECENTER - config.base, config.ecen | ||
* JGDAS_ENKF_SURFACE - config.base, config.esfc | ||
* JGLOBAL_ANALCALC - config.base, config.anal, config.analcalc | ||
* JGLOBAL_ANALDIAG - config.base, config.anal, config.analdiag | ||
* JGLOBAL_ANALYSIS - config.base, config.anal | ||
* JGLOBAL_ENKF_ANALDIAG - config.base, config.anal, config.eobs, config.analdiag, config.ediag | ||
* JGLOBAL_ENKF_SELECT_OBS - config.base, config.anal, config.eobs | ||
* JGLOBAL_ENKF_UPDATE - config.base, config.anal, config.eupd | ||
Parameters common to all jobs are in config.base. Analysis jobs share config.anal. | ||
This avoid duplication of identical parameters across multiple parameter files. | ||
|
||
|
||
|
||
|
||
FIX CHANGES | ||
* Updates to run GFS DA v16 | ||
* New files and directory | ||
* global_anavinfo.l127.txt - change vertical resolution to 127, add correlated error section | ||
* global_hybens_info.l127.txt - GSI localization parameters for L127 | ||
* global_hybens_smoothinfo.l127.txt - smoothing parameters for L127 | ||
* Rcov_* - correlated observation error for CrIS and IASI | ||
* vlocal_eig_l127.dat - LETKF model space localization parameters for L127 | ||
* vqctp001.dat - variational quality control parameters | ||
* Big_Endian/global_berror.l127y770.f77 - L127 static background error file for C768 | ||
* gfsv16_historical/ - contain historical fix files | ||
* Modify existing files | ||
* global_convinfo.txt - updates for new variational quality control; adjust gross checks | ||
limits for ps and sst; assimilate additional gps_bnd data | ||
* global_ozinfo.txt - add ompslp_npp (monitor mode) | ||
* global_satinfo.txt - assimilate the following: amsua channel 14 and atms channel 15 | ||
(without bias correction), avhrr3_n19 channels 3-5, seviri_m08 | ||
channels 5-6, ahi_himawari8 channels 8-10, abi_g16 channel 8 | ||
* prepobs_errtable.global - update observation errors for ps types 120, 180, 181, 187; | ||
uv 245, 246, 247, 290 | ||
|
||
|
||
|
||
|
||
RESOURCE INFORMATION | ||
* Frequency of run | ||
* 6 hourly cycle (00, 06, 12, 18Z) - no change from current operations | ||
|
||
|
||
* All versions of libraries, compiler, and modules used by GFS DA v16 are specified in | ||
modulefiles/modulefile.ProdGSI.wcoss_d | ||
|
||
|
||
* Data retention for files in $COMROOTp3 are the same as those specified for | ||
the overall GFS v16 package | ||
|
||
|
||
* Disk space. Please see disk usage estimates for entire GFS v16 package | ||
|
||
|
||
* Computational resources and run times | ||
* JGLOBAL_ANALYSIS (GFS) | ||
* 250 nodes, 1000 tasks, ptile=4, 7 threads/task | ||
* Runtime: 28.1 - 29.4 minutes | ||
|
||
* JGLOBAL_ANALCALC (GFS) | ||
* 5 nodes, 140 tasks, ptile=28, 1 thread/task | ||
* Runtime: 2.4 - 2.7 minutes | ||
|
||
* JGLOBAL_ANALYSIS (GDAS) | ||
* 250 nodes, 1000 tasks, ptile=4, 7 threads/task | ||
* Runtime: 38.2 - 39.3 minutes | ||
|
||
* JGLOBAL_ANALCALC (GDAS) | ||
* 5 nodes, 140 tasks, ptile=28, 1 thread/task | ||
* Runtime: 11.6 - 12.5 minutes | ||
|
||
* JGLOBAL_ANALDIAG (GDAS) | ||
* 4 nodes, 112 tasks, ptile=28, 1 thread/task | ||
* Runtime: 4.4 - 5.1 minutes | ||
|
||
* JGLOBAL_ENKF_SELECT_OBS | ||
* 120 nodes, 480 tasks, ptile=4, 7 threads/task | ||
* Runtime: 4.1 - 4.8 minutes | ||
|
||
* JGLOBAL_ENKF_ANALDIAG | ||
* 2 nodes, 56 tasks, ptile=28, 1 thread/task | ||
* Runtime: 3.6 - 4.0 minutes | ||
|
||
* JGLOBAL_ENKF_UPDATE | ||
* 240 nodes, 960 tasks, ptile=4, 7 threads/task | ||
* Runtime: 25.6 - 26.7 minutes | ||
|
||
* JGDAS_ENKF_RECENTER (3x) | ||
* 120 nodes, 240 tasks, ptile=2, 14 threads/task | ||
* Concurrently run 3 realizations of JGDAS_ENKF_RECENTER. Each job | ||
processes an IAU analysis time. Each job uses 40 nodes, 80 tasks, | ||
ptile=2, 14 threads/task. | ||
* Runtime: 3.8 - 4.9 minutes | ||
|
||
* JGDAS_ENKF_SURFACE | ||
* 3 nodes, 84 tasks, ptile=28, 1 thread/task | ||
* Runtime: 2.2 - 2.6 minutes | ||
|
||
* JGDAS_ENKF_FCST (40x) | ||
* 600 nodes, 16800 tasks, ptile=28, 1 thread/task | ||
* Concurrently run 40 realizations of JGDAS_ENKF_FCST. Each job | ||
sequentially processes 2 EnKF members. Each job uses 15 nodes, | ||
420 tasks, ptile=28, 1 thread/task. | ||
* Runtime: 28.5 - 31.6 minutes | ||
|
||
* JGDAS_ENKF_POST (7x) | ||
* 140 nodes, 560 tasks, ptile=4, 7 threads/task | ||
* Concurrently run 7 realizations of JGDAS_ENKF_POST. Each job | ||
prcoesses one forecast hour. Each job uses 20 nodes, 80 tasks, | ||
ptile=4, 7 threads/task. | ||
* Runtime: 10.6 - 11.3 minutes | ||
|
||
|
||
|
||
|
||
PRE-IMPLEMENTATION TESTING REQUIREMENTS | ||
* Which production jobs should be tested as part of this implementation? | ||
* The GFS DA package needs to tested with the entire GFS v16 suite. | ||
|
||
|
||
* Does this change require a 30-day evaluation? | ||
* Yes, the entire GFS v16 package requires a 30-day evaluation | ||
|
||
|
||
* Suggested evaluators | ||
* Same as those for entire GFS v16 package | ||
|
||
|
||
|
||
DISSEMINATION INFORMATION | ||
* Where should this output be sent? | ||
* same as current operations | ||
|
||
|
||
* Who are the users? | ||
* same as current operations | ||
|
||
|
||
* Which output files should be transferred from PROD WCOSS to DEV WCOSS? | ||
* Please refer to release notes for GFS v16 package | ||
|
||
|
||
* Directory changes | ||
* Add atmos and wave to gfs, gdas, and enkfgdas paths. GFS v16 paths are | ||
- $COMROOTp3/gfs/prod/gfs.$PDY/$cyc/{atmos, wave} | ||
- $COMROOTp3/gfs/prod/gdas.$PDY/$cyc/{atmos, wave} | ||
- $COMROOTp3/gfs/prod/enkfgdas.$PDY/$cyc/atmos EnKF does not run with waves | ||
* Write GSI subdomain specific diagnostic files to new directory, gsidiags, in | ||
gdas.$PDY/$cyc/atmos and enkfgdas.$PDY/$cyc/atmos | ||
|
||
|
||
* File changes. Only GFS DA v16.0.0 file changes are listed below. | ||
|
||
* $COMROOTp3/gfs/prod/gfs.$PDY/$cyc/atmos | ||
* Rename | ||
* replace ".nemsio" suffix with ".nc" for atm* and sfc* files | ||
* Add | ||
* gfs.t${cyc}z.atmi003.nc and gfs.t${cyc}z.atmi009.nc - analysis increment files | ||
valid at the start and end of the IAU analysis window | ||
* gfs.t${cyc}z.loganl.txt - text file indicating creation of GFS atmanl and sfcanl files | ||
* gfs.t${cyc}z.loginc.txt - text file indicating creation of GFS IAU increment files | ||
|
||
|
||
* $COMROOTp3/gfs/prod/gdas.$PDY/$cyc/atmos | ||
* Rename | ||
* replace ".nemsio" suffix with ".nc" for atm* and sfc* files | ||
* Add | ||
* gdas.t${cyc}z.atma003.ensres.nc, gdas.t${cyc}z.atma009.ensres.nc - analyses valid | ||
at the start and end of the IAU analysis window interpolated to EnKF resolution | ||
* gdas.t${cyc}z.atmf003.ensres.nc, gdas.t${cyc}z.atmf006.ensres.nc, | ||
gdas.t${cyc}z.atmf009.ensres.nc - 3, 6, and 9 hour forecasts interpolated to | ||
EnKF resolution | ||
* gdas.t${cyc}z.atmi003.nc, gdas.t${cyc}z.atmi009.nc - IAU analysis increment files | ||
at the start and end of the IAU analysis window | ||
* gdas.t${cyc}z.loganl.txt - text file indicating creation of GDAS atmanl and sfcanl files | ||
* gdas.t${cyc}z.loginc.txt - text file indicating creation of GDAS IAU increment files | ||
* gsidiags - directory containing sub-domain GDAS GSI diagnostic files | ||
|
||
* $COMROOTp3/gfs/prod/enkfgdas.$PDY/$cyc/atmos | ||
* Rename | ||
* replace ".nemsio" suffix with ".nc" for atm* and sfc* files | ||
* replace ".nc4" suffix with ".nc" for ensmean and ensspread files | ||
* Add | ||
* efcs.grpXX for XX=21 to 40 - efcs txt files for EnKF forecast groups 21 to 40 | ||
* gdas.t${cyc}z.atmi003.ensmean.nc - ensemble mean analysis increment valid at start of IAU window | ||
* gdas.t${cyc}z.atminc.ensmean.nc - ensemble mean analysis increment valid at center of IAU window | ||
* gdas.t${cyc}z.atmi009.ensmean.nc - ensemble mean analysis increment valid at end of IAU window | ||
* gdas.t${cyc}z.loginc.txt - text file indicating creation of EnKF IAU increment files | ||
* gsidiags - directory containing sub-domain EnKF GSI diagnostic files | ||
* memXXX/gdas.t${cyc}z.ratmi003.nc - recentered analysis increment valid at start of IAU window | ||
for EnKF member memXXX | ||
* memXXX/gdas.t${cyc}z.ratminc.nc - recentered analysis increment valid at center of IAU window | ||
for EnKF member memXXX | ||
* memXXX/gdas.t${cyc}z.ratmi009.nc - recentered analysis increment valid at end of IAU window | ||
for EnKF member memXXX | ||
* Remove | ||
* remove eomg.grpXX - job creating these files is not run in GFS v16 | ||
* gdas.t00z.atmanl.ensmean.nemsio | ||
* memXXX/gdas.t${cyc}z.abias, abias_air, abias_pc, atmanl, cnvstat, gsistat, oznstat, ratmanl, | ||
radstat - these files are not created in GFS v16 | ||
|
||
|
||
|
||
|
||
HPSS ARCHIVE | ||
* Retention length? | ||
* Please refer to release notes for GFS v16 package | ||
|
||
|
||
* List which output files should be archived | ||
* Please refer to release notes for GFS v16 package | ||
|
||
|
||
|
||
|
||
IMPLEMENTATION INSTRUCTIONS | ||
* Please note that the GFS DA v16 components must be installed in conjunction with the entire GFS v16 package. | ||
Thus, the implementation instructions below extract the entire GFS v16 package. The GFS package is | ||
tagged in github as tag gfs.v16.0.0. Implementation instructions for this tag follow: | ||
|
||
1) cd $NWROOTp3 | ||
|
||
2) mkdir $NWROOTp3/gfs.v16.0.0 | ||
|
||
3) cd $NWROOTp3/gfs.v16.0.0 | ||
|
||
4) git clone https://github.com/NOAA-EMC/global-workflow.git . | ||
* Notes: | ||
* The "." after global-workflow.git is important. It tells git to clone the repository | ||
fv3gfs into the local working directory, $NWROOTp3/gfs.v16.0.0. | ||
* The SPA(s) handling the GFS v16 implementation may encounter "permission denied" messages when | ||
attempting to clone github repositories. Code managers need to grant access the SPA(s). Please | ||
contact Kate.Friedman@noaa.gov for assistance. | ||
|
||
5) git checkout gfs.v16.0.0 | ||
|
||
6) cd sorc | ||
|
||
7) ./checkout.sh | ||
* This script extracts the GFS v16 components from github | ||
|
||
8) ./build_all.sh | ||
* Script build_all.sh compiles GFS v16 components. Runtime output from the build for each | ||
package is written to log files in directory logs. Specifically, GFS DA v16 build information | ||
is written to logs/build_gsi.log. Script build_gsi.sh invokes gsi.fd/ush/build_all_cmke.sh. | ||
This script uses cmake to build GFS DA v16 executables. Script build_all_cmake.sh accepts two | ||
command line options: build type and directory path to package. Two build types are | ||
supported - PRODUCTION (default) and DEBUG. | ||
|
||
9) ./link_fv3gfs.sh nco dell | ||
|
||
|
||
|
||
JOB DEPENDENCIES & FLOW DIAGRAM | ||
* GFS DA v16 adds several DA jobs to the GFS. It also alters dependencies for some | ||
existing jobs. Job dependencies are provided below | ||
* JGLOBAL_ANALCALC - trigger upon completion of JGLOBAL_ANALYSIS | ||
* JGLOBAL_ANALDIAG - trigger upon completion of JGLOBAL_ANALYSIS | ||
* JGDAS_VERFOZN - trigger upon completion of JGLOBAL_ANALDIAG | ||
* JGDAS_VERFRAD - trigger upon completion of JGLOBAL_ANALDIAG | ||
* JGLOBAL_ENKF_ANALDIAG - trigger upon completion of JGLOBAL_ENKF_SELECT_OBS | ||
* JGLOBAL_ENKF_UPDATE - trigger upon completion of JGLOBAL_ENKF_ANALDIAG | ||
* JGDAS_ENKF_SURFACE - trigger upon completion of JGLOBAL_ENKF_UPDATE | ||
* JGDAS_CHGRES_FORENKF -trigger upon completion of GDAS JGLOBAL_FORECAST and all JGDAS_ENKF_FCST |