1 / 26

NEMS 3.0 and beyond

NEMS 3.0 and beyond. Mark Iredell June 30, 2010. NEMS 3.0 and beyond. Status Structure Eight layers Coupling Rules Regression Subversion Tasks IO Documentation Schedule Proposal Libraries Postprocessor Insulation. NEMS 3.0 Component Structure. MAIN. NEMS. EARTH(1:M). EnsCpl.

vernondavis
Download Presentation

NEMS 3.0 and beyond

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. NEMS 3.0 and beyond Mark Iredell June 30, 2010

  2. NEMS 3.0 and beyond • Status • Structure • Eight layers • Coupling • Rules • Regression • Subversion • Tasks • IO • Documentation • Schedule • Proposal • Libraries • Postprocessor • Insulation

  3. NEMS 3.0 Component Structure MAIN NEMS EARTH(1:M) EnsCpl Atmos Ice Ocean GFS FIM NMM Domains(1:N) Wrt Wrt Phy Dyn Phy Dyn Wrt Phy Dyn Chem Below the dashed line the cores can be organized as best suits their own needs.

  4. NEMS hierarchy of components • NEMS • Couples ensemble • EARTH • Couples atm/ocn • ATM • Couples gfs/nmm • NMMdriver • Couples nests • NMMinstance • Couples dyn/phys • PHYS • Couples phys/chemistry/land • CHEM

  5. NEMS hierarchy rulesfor each component • One coupling per component, generally. • Clock received is read only. Use start and end time given. • A new clock may be created at each level. This local clock can be updated in a loop. The local clock increment is the coupling interval. • Read own config file to determine options such as local clock increment • Create own internal state as usual. • Create import and export states of children, including couplers as usual. • Attach import to child’s import and attach child’s export to its export.

  6. Choosing a core • Atmosphere chooses the core or cores to run. • In Atmosphere Init, core name is read in from configure file. • Atmosphere calls specific core component’s setservices and links it to generic Atmos core component name. • Each possible core not used has a setservices stub file to resolve links.

  7. Run-time Registry • Each component lists fields and their disposition (History, Restart, Import, Export, Ownership)in a run-time registry.NMMB-Dynamics Temperature H R I E OGFS-Phys Temperature H - I E O Precipitation H - - - - • Names linked to internal state names in code, and can be aliased to CF names. • Ownership can be shared during development and single during operations.

  8. Same code can be used for both1-way and 2-way coupling

  9. Same code can be used for bothstandalone runs

  10. Code is slightly different to enable concurrent 2-way coupling

  11. generic coupling component

  12. NEMS issues in high-level coupling between atmosphere, waves, ice, ocean, and land • Under ESMF NEMS, there should be not much difference between SPMD and MPMD codes. However, the MPMD code might not be as portable. MPMD will allow more flexible optimizations though. • Due to some rapidly interacting physics, some coupling would have to be frequent and possibly iterative. The fast mode components may need to run serially on the atmospheric component’s processors. • The fast and slow “modes” of model components may have different import and output requirements, and notably different processor sets. • Assume the “fast” physics is column-oriented and doesn’t require horizontal differencing. It may require coupling to different grids, however. If “fast” physics does not require different grids, physics subprograms with plug-compatible interfaces may suffice instead of full gridded components.

  13. Possible NEMS Earth system model component tree Color Key Earth system model Component class Fast C Slow Coupler class Column subprogram Atmosphere Fast-Slow Coupler Slow Processes = iteration Dynamics Physics Etc. Rad. Waves (Slow) Ice (Slow) Ocean (Slow) Land (Slow) Fast Surface Turbulence Waves (Fast) Ice (Fast) Ocean (Fast) Land (Fast)

  14. Earth system model load-balance scenarioassuming 3 fast timesteps for every 1 slow timestep processor time

  15. Regression Testingand Subversion • All NEMS developers have full access to the NEMS development trunk as well as their own branches • Merging back to trunk is the responsibility of the developer. • Full regression test set must be passed before committing back to trunk. • Regression test set ensure certain capabilities are not broken. Regression test set may take a few hours. • (Current) One day’s email notice is given before commitment. • (Future) Changes are signed off using Trac ticketing system.

  16. NEMS developers

  17. NEMS developers

  18. XML post control file - NMMB <?xml version="1.0"?> <postcntrl> <paramset> <datset>BGDAWP</datset> <grid_num>255</grid_num> <sub_center>ncep_nco</sub_center> <version_no>v2003</version_no> <local_table_vers_no>local_tab_no</local_table_vers_no> <sigreftime>fcst</sigreftime> <prod_status>oper</prod_status> <data_type>fcst</data_type> <gen_proc_type>fcst</gen_proc_type> <time_range_unit>hour</time_range_unit> <orig_center>nws_ncep</orig_center> <gen_proc>nmm_8km</gen_proc> <packing_method>jpeg2000</packing_method> <field_datatype>fltng_pnt</field_datatype> <comprs_type>lossless</comprs_type> <param> <pname> PRES</pname> <fixed_sfc1_type>hybrid_lvl</fixed_sfc1_type> <level> 1 2 </level> <binary_scale> 0 0</binary_scale> <decimal_scale> -2 -2</decimal_scale> </param> </paramset>

  19. <paramset> <datset>BGRDSF</datset> <grid_num>255</grid_num> <sub_center>ncep_nco</sub_center> <version_no>v2003</version_no> <local_table_vers_no>local_tab_no</local_table_vers_no> <sigreftime>fcst</sigreftime> <prod_status>oper</prod_status> <data_type>fcst</data_type> <gen_proc_type>fcst</gen_proc_type> <time_range_unit>hour</time_range_unit> <orig_center>nws_ncep</orig_center> <gen_proc>nmm_8km</gen_proc> <packing_method>jpeg2000</packing_method> <comprs_type>lossless</comprs_type> <param> <pname> PRES</pname> <fixed_sfc1_type>hybrid_lvl</fixed_sfc1_type> <level> 1 </level> <binary_scale> 0</binary_scale> <decimal_scale> -2</decimal_scale> </param> </paramset> </postcntrl>

  20. Results GFS master files from NEMS GFS (1152*576, 664 fields) B grid 8KM output from NEMS NMMB (954*835, 1098fields)

  21. NEMS delivery plans • 2010 • NMMB with nests • 2010-2011 • GFS • GEFS • Post on quilt • 2011 • FIM • Multimodel ensemble • GRIB2 output • NMM nested in GFS • 2012 • Moving nests • Coupled ocean atmosphere • Tiled land model • netCDF output

  22. Proposals • Global branch (GFS and GEFS) should buy in like Meso branch has. • Moorthi is working on bringing NEMS up to GFS Model 9.0.0 level.

  23. Proposals • Bring non-scientific library support management within software development team, maybe in collaboration with NCO. • GRIB2 • IPLIB • Physical constants module

  24. Proposals • Develop postprocessor as both a standalone code and one that runs on the quilt. Management of the scientific postprocessor code would be done outside of NEMS management. That is, regression testing of the NEMS and postprocessor would be independent. This could be implemented using tagged versions.

  25. Proposals • Insulate other scientific codes such as column physics from the NEMS. Column physics could become an independently managed library. Similarly, NAM and GFS science codes could be insulated as well. Their development would be independent of NEMS regression testing. This could be implemented using tagged versions.

  26. Code Management Relationships = NEMS managed

More Related