CCSM4 Tony Craig NCAR Dec 5, 2008. Topics CCSM4 Overview CCSM4 Usage Adding new components Status of CCSM4 Development.

Slides:



Advertisements
Similar presentations
CIMCO Integration Software Products
Advertisements

Building CCSM2.0 Brian Kauffman CCSM Software Engineering Group
NCAS Unified Model Introduction Part 1b: Running the UM University of Reading, 3-5 December 2014.
CCSM cpl6 Design and Interfaces Tony Craig Brian Kauffman Tom Bettge National Center for Atmospheric Researc Robert Jacob Jay Larson Everest Ong Argonne.
Lesson 10-Controlling User Processes. Overview Managing and processing processes. Managing jobs. Exiting/quitting when jobs have been stopped.
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
Firmware implementation of Integer Array Sorter Characterization presentation Dec, 2010 Elad Barzilay Uri Natanzon Supervisor: Moshe Porian.
11 SUPPORTING LOCAL USERS AND GROUPS Chapter 3. Chapter 3: Supporting Local Users and Groups2 SUPPORTING LOCAL USERS AND GROUPS  Explain the difference.
Hands-On Microsoft Windows Server 2003 Networking Chapter 7 Windows Internet Naming Service.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 5: User Environment and Multiple Languages.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
5 Copyright © 2009, Oracle. All rights reserved. Defining ETL Mappings for Staging Data.
WRF-VIC: The Flux Coupling Approach L. Ruby Leung Pacific Northwest National Laboratory BioEarth Project Kickoff Meeting April 11-12, 2011 Pullman, WA.
Introduction to Version Control with SVN & Git CSC/ECE 517, Fall 2012 Titus Barik & Ed Gehringer, with help from Gaurav.
CESM Tutorial NCAR Earth System Laboratory CESM Software Engineering Group CESM 1.2.x and CESM1.1.x CESM1.0.5 and previous (see earlier tutorials) NCAR.
CCA Port, Component & Application Build Skeleton Templates “A new script toolkit for generating CCA build skeletons” Torsten Wilde and James Kohl Oak Ridge.
LBTO IssueTrak User’s Manual Norm Cushing version 1.3 August 8th, 2007.
System-level and RESA Administrators Functions. Topics Manually creating new student account Manually creating new teacher account Importing data Viewing.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Week 7 Working with the BASH Shell. Objectives  Redirect the input and output of a command  Identify and manipulate common shell environment variables.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
CESM/RACM/RASM Update May 15, Since Nov, 2011 ccsm4_0_racm28:racm29:racm30 – vic parallelization – vic netcdf files – vic coupling mods and “273.15”
Bigben Pittsburgh Supercomputing Center J. Ray Scott
Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
Art of Climate Modeling 2006 CCSM3 Tutorial: How to Build and Run the Model Christine Shields NCAR/CGD/CCR
The VPO Operator. [vpo_operator] 2 The VPO Operator Section Overview The role of the VPO operator Starting and stopping the Motif GUI The VPO Operator.
ESMF Code Generation Rocky Dunlap Spencer Rugaber Leo Mark Georgia Tech College of Computing.
An Introduction to Java Chapter 11 Object-Oriented Application Development: Part I.
Marianne BargiottiBK Workshop – CERN - 6/12/ Bookkeeping Meta Data catalogue: present status Marianne Bargiotti CERN.
SunGuide® Software Development Project Release 4.3 Express Lanes Enhancements Design Review December 15, 2009 December 15, 20091R4.3 Design Review.
JavaScript, Fourth Edition Chapter 5 Validating Form Data with JavaScript.
Linux+ Guide to Linux Certification, Third Edition
CVS – concurrent versions system Network Management Workshop intERlab at AIT Thailand March 11-15, 2008.
CESM/ESMF Progress Report Mariana Vertenstein NCAR Earth System Laboratory CESM Software Engineering Group (CSEG) NCAR is sponsored by the National Science.
CSE 219 Computer Science III CVS
Regional Models in CCSM CCSM/POP/ROMS: Regional Nesting and Coupling Jon Wolfe (CSEG) Mariana Vertenstein (CSEG) Don Stark (ESMF)
Namelist and Code Modifications
6 th Annual Focus Users’ Conference 6 th Annual Focus Users’ Conference Import Testing Data Presented by: Adrian Ruiz Presented by: Adrian Ruiz.
CVS – concurrent versions system AROC Guatemala July 19-23, 2010 Guatemala City, Guatemala.
The CCSM2.0 Quick Start Guide Lawrence Buja CCSM Software Engineering Group June
Chapter 2: Variables, Functions, Objects, and Events JavaScript - Introductory.
CCSM Portability and Performance, Software Engineering Challenges, and Future Targets Tony Craig National Center for Atmospheric Research Boulder, Colorado,
NCEP ESMF GFS Global Spectral Forecast Model Weiyu Yang, Mike Young and Joe Sela ESMF Community Meeting MIT, Cambridge, MA July 21, 2005.
CCSM Performance, Successes and Challenges Tony Craig NCAR RIST Meeting March 12-14, 2002 Boulder, Colorado, USA.
3 Copyright © 2006, Oracle. All rights reserved. Using Recovery Manager.
On the Road to a Sequential CCSM Robert Jacob, Argonne National Laboratory Including work by: Mariana Vertenstein (NCAR), Ray Loy (ANL), Tony Craig (NCAR)
Changing the CCSM setup: Active Ocean plus Data Models Nancy Norton
An Overview of ROMS Code Kate Hedstrom, ARSC April 2007.
Globus Grid Tutorial Part 2: Running Programs Across Multiple Resources.
Part 5: Advanced Trajectories
Running CESM An overview
Davisware GlobalEdge 2008 Payroll Main Menu Time Entry and Payroll Processing.
Presentation OLOMOLA,Afolabi( ). Update Changes in CSV/SVN.
Linux+ Guide to Linux Certification, Second Edition
Using the CCSM GUI Mariana Vertenstein CCSM Software Engineering Group
Learning basic Unix command It 325 operating system.
Lesson 6-Using Utilities to Accomplish Complex Tasks.
Oracle eBusiness Financials R12 Oracle Receivables Functional Overview TCS Oracle Practice.
Lesson 8-Specifying Instructions to the Shell. Overview An overview of shell. Execution of commands in a shell. Shell command-line expansion. Customizing.
Henrik Kjems-Nielsen ICES Secretariat InterCatch – the screen guide.
CIS-NG CASREP Information System Next Generation Shawn Baugh Amy Ramirez Amy Lee Alex Sanin Sam Avanessians.
Wednesday NI Vision Sessions
Introduction to EBSCOhost
Introduction to Shells
Software Testing With Testopia
Overview of Workflows: Why Use Them?
CPL7/CCSM4 (J.Jakacki/G.Jost)
Presentation transcript:

CCSM4 Tony Craig NCAR Dec 5, 2008

Topics CCSM4 Overview CCSM4 Usage Adding new components Status of CCSM4 Development

Subversion setenv SVNREPO setenv SVNDATA You can browse these on the web svn co $SVNREPO/ccsm4/tags/ccsm4_0_alpha38 –Look for “Subversion Issues”, “Introduction to Subversion” Google subversion

CCSM4 Directory Structure ccsm4_0_alpha38 ChangeLogmodelsscripts atmlnd ocnicedrvcsm_shareutils popdomxocnsocndocn7seq_mctshreshrdshr piomctesmf_tmtimingpilgrimdriver seq_ccsm_drv.F90

Inputdata for common shared input datasets that are likely to be reused; grids, external forcing, initial files, etc local area is /wrkdir/maslowsk/RACM/inputdata subject to scrubbing permanent area is /archive/u2/wes/maslowsk/RACM Using these areas –directories should be rwxrwxr-x –files should be r--r--r-- –use unique filenames (date stamped) –never modify or remove ANY inputdata files some automated scripts for backup and recovery from Gabriele

Model Machine Layout (processor layout set in env_mach_pes) Driver lndice cpl atm ocn time processors

Coupling Issues Grids –global vs regional –consistent masks/fractions –staggering/averaging Frequency –tight coupling of atm/lnd/ice (hourly+) –loose coupling of ocn (daily) Consistency of coupling frequency, model timestep Conservation, flux accumulation and averaging Fields Flux calculations Albedo/shortwave consistency Runoff

Topics CCSM4 Overview CCSM4 Usage Adding new components Status of CCSM4 Development

Compsets, Grids, Machines Note: Compsets and Grids have a short name and a long name Compsets are the combination of components used –X = all dead models –A = all data models –B = all active models –others are C, D, F, G, H, I Grids define the resolution –standard resolutions have lnd grid = atm grid, ice grid = ocean grid (f19_g15) –recently added “trigrid” support, atm and land grids different (f45T42_g35) Machine is, for example, midnight > cd scripts >./create_newcase -list

create_newcase (1) > cd scripts > cat README >./create_newcase -help must specify case name, compset, resolution, and machine. these cannot be changed inside the case directory. always use -skip_rundb option >./create_newcase -case Btest -res f45_g35 -compset B -mach midnight - skip_rundb a case called Btest will be generated in the scripts directory the -case argument can be dir/name

create_newcase (2) > cd Btest edit env files –env files are mixture of xml and csh –env_mach_pes sets the pe layout. this must be done before configure is run. –env_run sets run length, restart frequency, etc –set LOGDIR to $CASEROOT/logs in env_mach_generic –set DOUT_S to FALSE in env_run.xml > configure -case configure generates build and run scripts plus the Buildnml_Prestage and Buildexe directories some env files are locked after configure. to reset, type “configure - cleanall”

create_newcase (3) >./Btest.midnight.build > qsub Btest.midnight.run The case will build under $EXEROOT, $EXEROOT is set in env_mach_generic.xml The case will run under $EXEROOT/ccsm_se Things I haven’t described: –setting up a full production run –setting the pe layout –archiving –how the scripts work –Buildnml_Prestage and Buildexe directories

Output files LID is a date string, yymmdd-hhmmss created by CCSM4 everytime it runs to generate unique filenames log files, *.log.$LID –each component has own log file. stdout/stderr are redirected to ccsm.log.$LID. –look in $EXEROOT/ccsm_se –look in $LOGDIR if set –look in short term archive area if DOUT_S is TRUE timing files –directory in $CASEROOT/timing –ccsm_timing_summary.$LID has performance summary history and restart files –look in $EXEROOT/ccsm_se –look in short term archive area if DOUT_S is TRUE

create_test (1) > cd scripts >./create_test -help must specify testname; $test.$resolution.$compset.$machine recommend using -testid >./create_test -testname ERS.f45_g35.B.midnight -testid t001 create_test automatically configure the test, designed to require no user intervention. will create a test named ERS.f45_g35.B.midnight.t001 -testroot option allows the testcase to be place in another directory generate and compare are supported for regression testing

create_test (2) > cd ERS.f45_g35.B.midnight.t001 >./ERS.f45_g35.B.midnight.t001.build > qsub ERS.f45_g35.B.midnight.t001.test Test results are in the file TestStatus The file TestStatus.out provide more test result details log files should be copied into the test directory under a directory called logs

Topics CCSM4 Overview CCSM4 Usage Adding new components Status of CCSM4 Development

*_comp_mct.F90 (1) The *_comp_mct.F90 provides the coupling between the driver and the component. This is the top level of any component Driver looks like call lnd_init_mct() while (.not. stop_alarm) call seq_timemgr_clockAdvance() call lnd_run_mct() end do call lnd_final_mct() Must have an init, run, and finalize method

*_comp_mct.F90 (2) Interface generally contains –ESMF_Clock –seq_cdata datatype that holds mct_gGrid (domain information) mct_gsMap (decomposition information) seq_infodata_type (scalar data) MPI Comm, Component ID, etc –Attribute vectors (2d fields), one for data to the component, one for data from the component. Use an existing version and modify it for your component

init_mct method enter extract mpicom using seq_cdata_setptrs. this is THE mpi communicator for your component. get ccsm4 settings using seq_infodata_GetData() initialize and synchronize your component clock using seq_timemgr_EClockGetData() set the global seg map which describes the grid decomposition of your component. set the global grid which prescribes grid field data of your component. allocate the attribute vectors to be used to pass data back and forth. pack the export attribute vector with initial data set some ccsm4 settings using seq_infodata_PutData() return NOTE: there are literally dozens of examples as each component has implemented this. Review and Reuse that code.

run_mct method enter check ccsm4 settings using seq_infodata_GetData() get clock information using seq_timemgr_EClockGetData() unpack the import attribute vector “run your component” pack the export attribute vector set some ccsm4 settings using seq_infodata_PutData() verify the internal clock is in sync with the CCSM4 clock return

Coupling Interface Final Notes The driver will hand you an mpi communicator. You must use this inside your component. The components must check that they are staying in sync with the driver clock. The component must respond to a restart flag sent from the driver. The albedo/shortwave interaction between components is complicated and critical. This will probably cause you problems at some point.

A few other issues Unit numbers History files Namelist input Mapping files for coupler

Component Template Scripts Under each component is a bld directory and a script called *.cpl7.template. This script is what the CCSM4 scripts execute to generate component specific scripts under your $CASEROOT Buildnml_Prestage and Buildexe directories. New components will have to implement a version of this for their component.

Topics CCSM4 Overview CCSM4 Usage Adding new components Status of CCSM4 Development

Status of CCSM4 development beta series New science GLC model scripts continue to evolve