collaborave*development - dtcenter.org · gmao to track and share the gsi code development since...

16
Collabora’ve Development Ricardo Todling NASA GMAO 2013 Joint DTCEMCJCSDA GSI Workshop 1

Upload: dinhhanh

Post on 10-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Collabora've  Development  

Ricardo  Todling  NASA  GMAO  

 2013  Joint  DTC-­‐EMC-­‐JCSDA  GSI  Workshop  

 

1  

In  the  Beginning  …  

•  NCEP:  SSI  (late  1980’s)  –  Spectral  formula'on  of  background  error  cov  – Direct  assimila'on  of  radiances  

•  DAO:  PSAS  (early  1990’s)  –  Physical-­‐space  formula'on  of  background  error  cov  – Assimila'on  of  temperature  retrievals  (actually,  geopoten'al  height  retrievals)  

•  NCEP:  GSI  (early  2000’s)  •  GMAO:  Abandoned  PSAS  (c.  2003),  joined  GSI  dev  

2  

Non-­‐intrusive  collabora'on  From  the  ini'al  stages  in  the  collabora'on  we  were  faced  with  having  to  accommodate  differences  without  being  disrup've  to  each  other’s  development.    •  NCEP’s      global  model:  spectral  •  GMAO’s  global  model:  grid-­‐point  +  ESMF-­‐based  

GMAO  adopted  the  concept  of  non-­‐intrusiveness:    •  We  did  not  want  NCEP  to  have  to  carry  components  it  did  not  use              (neither  did  NCEP  want  to  carry  stuff  it  didn’t  need!)  

•  GMAO  interfaced  GSI  with  its  GEOS-­‐AGCM  without  ever  having  NCEP  to  compile  a  single  code  related  to  establishing  that  interface.  

•  For  a  while  GSI  carried  a  file  single  that  provided  the  GMAO  hook.  •  We  have  since  evolved  to  having  absolutely  NO  visible  GMAO-­‐specific  

code  at  NCEP.  •  This  is  how  we  advocate  anyone  to  hook-­‐up  to  GSI.  

3  

A  Unified  Analysis  System  •  In  the  mid-­‐90’s  NCEP  supported  (as  it  s'll  does)  a  mul'tude  

of  applica'ons  from  global  to  various  regional  components.  

•  Global  and  Regional  analyses  were  detached.  

•  The  GSI  grid-­‐space  formula'on  of  B  allowed  for  unifica'on  of  the  various  regional  analyses.  

•  Since  all  development  for  hooking  up  various  regional  applica'ons  took  place  at  NCEP,  all  happened  inside  the  GSI  code.  

•  Our  view  today  prefers  that  these  hooks  be  handled  as  “couplers”,  and  thus  not  be  in  GSI.  

4  

Non-­‐intrusiveness  vs  contribu'on  •  Non-­‐intrusiveness  should  not  be  taken  as  need  to  hide  

development  of  general  features  and  contribu'ons.    

•  If  a  feature  is  general,  we  want  to  see  it  made  available  to  all  users  of  GSI,  regardless  of  their  applica'on.  

•  Non-­‐intrusiveness  simply  means  that  project-­‐specific  knobs  should  be  avoided  as  much  as  possible.  

Example:  4DVAR  Ø  code  should  have  general  interface  to  allow  users  to  hook-­‐up  their  

own  TL  and  AD  models.  Example:  Hybrid  Ø  code  should  have  general  interface  to  allow  users  to  provide  

members  at  will  (more  on  this  later).  

5  

Diversity  and  Flexibility  •  Suppor'ng  mul'ple  model  interfaces  

–  GSI  provides  hooks  to  a  mul'tude  of  models,  but  …  –  It  should  provide  a  single  interface  to  the  background  and  placing  support  to  mul'ple  models  in  external  libraries  

•  Suppor'ng  mul'ple  observing  systems  –  GSI  is  rather  flexible  in  this  respect,  but  needs  …  –  Acceptance  of  modern  observa'on  format  (NetCDF)  –  Avoidance  of  wired-­‐in  user-­‐specific  QC  and  obs  choices  

•  Suppor'ng  mul'ple  assimila'on  strategies  –  The  flexibility  for  this  is  in  place,  but  needs  …  –  Agen'on  when  it  comes  to  choices  of  control  vector    

6  

Rela'vely  Flat  GSI  (to  most)  

7  

bufr   crtm   I/O   sp   w3  

math  

system  

GSI  

gsi.x  

GFS  NMMB  RTMA  WRF  

•  Presently,  a  single  executable  handles  mul'ple  background  choices.  •  May  seem  flexible  but  it’s  rather  cumbersome  for  maintenance:  GSI  shouldn’t  need              to  change  because  changes  had  been  made  to  how  the  background  is  read  in.  

 GSI  Split  into  Mul'ple  Libraries  

8  

bufr   crtm   I/O   sp   w3  

math  

system  

GFS_gsi.x  NMMB_gsi.x  RTMA_gsi.x  WRF_gsi.x  GEOS_gsi.x  

•  To  a  large  extent  the  split  displayed  above  already  exists  at  GMAO.  •  This  split  gives  greater  flexibility  and  reduces  burden  to  maintain  GSI  CORE  components.  

GSI_U'l  

GSI_Obsvr  

GSI_Solver   User_Suff  

GSI_Coupler  

GSI_Appl  

ESMF/WRF  

GSI    Core  

 GSI  Split:  Added  Flexibility  

9  

bufr   crtm   I/O   sp   w3  

math  

system  

           GEOSgcm.x  This  selng  already  Allows  GMAO  to  Hook-­‐up  its  AGCM  with  the  GSI  observer.  

•  It  already  possible  to  build  a  real  observer  capable  of  calcula'ng  observa'on  residuals            by  having  the  GSI-­‐observer  called  from  within  the  atmospheric  model.  •  If  desired,  it  is  possible  to  have  a  single  executable  run  perform  both  the  model  integra'on            and  GSI  analysis.    

GSI_U'l  

GSI_Obsvr  

AGCM  

GSI_Coupler  

AGCM_Appl  

ESMF/WRF  

Enhancing  Flexibility  •  Improved  model/background  interface  

–  The  library  split  will  amount  to  having  a  single  entry  point  handling  the  background  in  the  Core  GSI;  

–  This  will  allow  for  flexible  choice  of  background  fields;  for  example,  permilng  GSI  to  be  used  to  assimilate  chemical  cons'tuents  without  need  of  meteorological  fields;  

–  Ensemble  hybrid  and  4dvar  fields  should  become  equally  flexible;    –  In  the  future,  the  GRID  the  analysis  operates  on  should  be  made  

flexible  and  be  defined  at  entry  point  (beyond  simply  regular).  •  Improved  observa'on  handling  

–  There  is  need  for  generaliza'on  of  the  observa'ons  operators,  to  handle  user-­‐GRID;  interpola'on  to  intermediate  grid  can  be  avoided    

–  Residual  output  should  be  made  more  flexible  (NetCDF-­‐based)  •  Improved  code  robustness  

–  Improved  consistency  checks  and  op'ons  handling  –  Improved  memory  management    

10  Ques4on  some  have  asked:  Should  GSI  apply  the  ESMF-­‐paradigm?  

NOAA/EMC  Partners  &  The  GSI  Commigee  

Members  of  CommiBee  •  NASA  GMAO    •  NOAA  ERSL/GSD  

•  NCAR/DTC  •  NOAA  OAR  •  NOAA  ESSL/MMM  •  AFWA  •  JCSDA  

CommiBee  DuDes  •  Manage  dev/implementa'on  •  Forum  for  discussion  •  Meets  twice  a  year  •  Ac've  year-­‐round  to  eval  mods  •  Review  each  modifica'on  •  Enforce  code  standards  •  Evaluate  large  proposed  mods  •  Users  not  represented  are  

encouraged  to  contributed  via  DTC  

11  

The  GSI  Commigee  •  A  Commigee  made  up  of  the  current  principal  contributors  to  GSI  has  

been  created  to  manage  development  and  implementa'on.  •  The  Commigee’s  primary  responsibility  is  to  serve  as  a  forum  for  

discussion  of  present  and  future  development,  coordina'ng  mul'ple  interests  and  avoiding  redundant  efforts.  

•  The  Commigee  meets  at  least  twice  a  year.  •  The  Commigee  is  ac've  year-­‐round,  evalua'ng  &  approving  changes.  •  Each  change  must  be  presented  (submiged)  to  the  Commigee  and  be  

approved  before  being  officially  accepted.  •  Desire  to  make  large  changes  to  the  code  must  be  submiged  to  the  

Commigee  in  the  form  of  a  proposal  for  change.  A  prototype  of  the  idea  might  help  the  Commigee  come  up  with  a  decision.  

•  Those  users  not  represented  in  the  Commigee  are  s'll  encouraged  to  submit  proposal  and  changes  to  the  Commigee,  using  the  DTC  connec'on.  

•  The  Commigee  tries  to  enforce  the  agreed-­‐upon  code  standards,  so  remember  those  before  submilng  your  changes.  

12  

8

• Community GSI repository Since 2009, EMC have put all its operational systems under subversion code manage system. The operational GSI repository in EMC has been actively used by NCEP and GMAO to track and share the GSI code development since then. At the same time, the DTC built a community GSI repository to support the community GSI developers using the latest GSI code in the research. In figure 4, we illustrated the purpose and relation of these two GSI repositories: the EMC GSI repository is mainly used by GSI developers in EMC and GMAO for the operational development, while the community GSI repository is mainly used by community GSI developers such as NOAA/GSD and NCAR/MMM for the research or operation development in a computer environment other than EMC computers. The community GSI repository also provides the code manage system to hold the official released GSI packages.

Fig. 4. The function of the EMC GSI repository and community GSI repository The figure 5 illustrates the structure and contents of the two GSI repositories. Here, we can see another major difference between the two repositories: the community repository includes several components that are not in the EMC repository. As we introduced before in section 2 on the release of community GSI package, these components such as external libraries, compile system, and utilities are part of the released community GSI package. DTC created and maintain these components to make the community GSI system can be easily installed on multiple platforms other than the EMC computer system. Although the two GSI repositories are maintained by the EMC and DTC separately to serve the operational and research community, the core part of the repository, the GSI source code, is always identical in the two repositories. As indicated in the figure 3 and figure 5, the DTC keeps this identical GSI source code by syncing the GSI source code from the EMC repository (./src directory) to the community repository (./src/main directory) weekly. When bug fixes or new codes from the DTC and research community are ready to commit to the GSI trunk, the DTC always work with the EMC GSI group to

From  Huang  et  al.  (2011)  

Contribu'ng  via  DTC  

13  

Though  some  of  us  in  the  community  have  access  to  NCEP’s  repository,  the  reality  is  that  many  don’t  and  should  have  no  need  to.    The  DTC  maintains  an  up-­‐to-­‐date  copy  of  GSI  for  public  consump'on.  The  DTC  has  the  capability  to  test  user-­‐specific  changes  to  verify  code  integrity.  The  DTC  has  the  mechanisms  in  place  to  allow,  not  only  O2R,  but  also  R2O  transi'on.  

A  biased  example:  main  GMAO  contribu'ons  

14  

•  GSI  Infrastructure:  –  GSI_Bundle:  generaliza'on  of  control  vector  –  Stub-­‐framework  to  allow  for  user-­‐plug-­‐ins  

•  New  Observa'on  Types:  –  MOPITT  CO  –  SSMI/S  (joint  w/  NCEP)  –  MLS  temperature  retrievals  –  MLS  moisture  retrievals  –  MLS  radiances  –  Doppler  Wind  Lidar  (now  on  hold)  

•  Methodologies:  –  4DVAR  framework  (in  collabora'on  with  Yannick  Tremolet  from  ECMWF)  –  GSI  Adjoint  (in  collabora'on  with  Yannick  Tremolet  from  ECMWF)  –  Various  minimiza'on  op'ons,  including  Lanczos  and  BiCG  procedures  –  (GOCART)  Aerosol  influence  on  (IR)  radiance  assimila'on  –  Capability  to  apply  GSI  adjoint  for  B-­‐precond  (via  bicg  single  loop  only)  –  Capability  to  use  sqrt(B)-­‐precond  within  hybrid  framework  (joint  w/  NCEP)  –  Assimila'on  of  cloudy  IR  radiances  –  Aircrat  bias  correc'on  (joint  w/  NCEP)  

In  works  

A  Truly  Global  Analysis  System  

From  hgp://www.dtcenter.org/com-­‐GSI/users/overview/index.php  

Though  GSI  has  literally  been  explored  by  people    everywhere  in  the  world,  it  has  been  largely  a  one-­‐  way  road.    Those  par'cipa'ng  in  this  Tutorial  &  Workshop  should  Keep  in  mind  the  great  opportunity  to  contribute,  via    the  DTC  to  a    truly  global  and  open  analysis  system.    

15  

Closing  Remarks  •  GSI  is  truly  the  only  publically  available,  free-­‐of-­‐charge,  mature  

analysis  system  in  the  world.  

•  Collabora've  work  in  GSI  has  proven  rather  successful.  

•  There  are  challenges:  –  code  serves  research  as  well  as  opera'ons;  –  keeping  up  with  fast  changing  code  is  hard;  –  the  lager  is  required  for  new  changes  to  be  accepted;  –  code  might  not  meet  your  standards  and  wishes:  which  should  be  a  

good  reason  to  become  involved!    

•  It  is  exci'ng  to  be  able  to  contribute  to  the  U.S.  Na'onal  Data  Assimila'on  effort.  

•  Thanks  are  due  to  NOAA/NCEP/EMC  for  this.  16