DART/CESM Multi-Model Project

(An Interactive Multi-Model for Consensus on Climate Change) DOE Grant

Synopsis

Change DART/CESM coupling so that DART modifies the behavior of each ensemble member according to information from each other ensemble member.

The following is Figure 2 from the proposal. It shows doing both data assimilation with observations as well as synchronizing models together with connection coefficients. The goal for now is to have fixed connection coefficients. The data assimilation coefficients (the "K"s) can also be simpler than the standard Ensemble Kalman filter that DART uses.

Stuff that has already happened

  • Read proposal and DART documentation DONE
  • Working on understanding DART with CESM, setup cases and run them DONE
  • Have Daniel's code changes in a sandbox to the Kodiak version it was based on -- use it to understand project. DONE
  • Make changes to DART for multi-ensemble synchronization No, work on separate script DONE
  • Make changes to CESM to pass back information from DART? No, need to be separate executables. DONE
  • Get a simple out of the box case to run for DART DONE
  • Scope out some different configurations and resolutions. DONE
  • Scope out best approach to work with DART executable's to get something to work. DONE

Plan

  • Move to cesm1_1_2 release then cesm1_2_0 release Working on
  • Build Python script STARTED

Performance

  • f09_g16, B_2000_CAM5-CN, 1230 total processors, 3-ensemble members assimilating every 3-days for CAM, CLM and POP -- 1 sim-year/day (cesm1_1_1 and DART_trunk)
  • Initialization of CAM is an issue when CAM only runs for 6-hour assimilation period (32% of the total time is in the CAM initialization for a CAM5 f10 simulation (with 15 tasks no threads), over 50% is in component initialization, and 90% is in initialization)

Projects

  • Three Model versions all options in CESM1.2.0 (different builds): CAM3/CLM4SP/CICE/POP, CAM4/CLM4CN/CICE/POP, CAM5/CLM45BGCVIC/CICE-prescribed, (docn as one of the models?) (change parameters in pop, vertical/horizontal mixing types, tidal mixing on/off, etc.)
  • Fix the DART hack in CAM -- worked with Nancy/Tim on getting the correct versions have something that goes now.
  • Add capability to set the beginning ensemble member in CESM from 1 to desired value. Maybe not?
  • Put together a python script to do nudging for synchronization
  • Run different models for long enough that we have distinct initial conditions.

Picture of DART:

Note DART is group of several different executable programs that are joined together (and to the model coupled to) with shell scripts.

dart_to_model , model-advance, and model_to_dart as well as assimilate are all separate executables.

Here's a specific flow for CESM

Different ways of putting the project together:

Three Model Ensembles using standard DART

  1.  Run three different model versions of CESM for 20 member ensemble, using standard DART data assimilation. (K's are Kalman Filter). Update state vector.
  2. Synchronize the 60 members together by putting all 60 members into observation sequence. Update state vectors again.
  3. Run CESM for another time period.

Advantages: Less new code, Get full power of DART, DART can appropriately estimate mean and variance (enough ensemble members to do so)
Disadvantages: More complex.

Hack DART to use simple hard-coded connection coefficients and simple nudging

Advantages: Create (or hack DART) with new simple code to do simple things

Disadvantages: Method may be too simple to work. Models may be too close to each other. Simple nudging may not work well.

Remove Kalman Filter from DART
  1. Remove the Kalman filter from DART and use it to set the K's and connection coefficients.
Just use cesm_to_dart and dart_to_cesm
  1. Don't run Filter in DART, just use cesm_to_dart and dart_to_cesm to deal with simple connection coefficients and K's.
Detailed pictures of ways to do this...

Fall 2013 AGU Talk

Multi-Model Fall 2013 AGU Talk

Deliverable

  • Base on Lanai release of DART (upcoming)
  • Base on 1.2.0 release of CESM
  • High Resolution: f19_g16
  • Resolution for testing: T31_g37 (will this work for DART?), f10_f10
  • Demonstrate ability to modify ensemble members by other members, start with a simple weighting scheme
  • What mode(s) is(are) changing? CAM
  • Resolution? f19_g16, T31_g37, or f10_f10 (does DART work with T31 Eulderian dycore?)
  • Compset? B20TR 1950-2000 -- DART has observational data for atm/ocn Jan/1998 through Dec/2008 and land for 2004
  • Run period: 2004 and 1998-2008
  • Observations that will be used?
    • Use standard DART data (ACARS? data) 1998-2012
    • DART land obs are for 2004
    • DART ocean obs are for 1989-2008
    • NCEP reanalysis for Air Temperature (have 2004 now)
    • SST  One possibility: Hurrell dataset (used for docn) Use difference in two SST fields as proxy for model error. Or difference between adjacent grid-cells
  • No labels