Skip to content

Files

Latest commit

 

History

History

AtmOcnRtmTwoTimescalesProto

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
README for ATM-OCN-RTM with two time scales NUOPC prototype
-----------------------------------------------------------

Show how a Driver can setup a run sequence with two time scales.

Description:

  A two-way coupled system with a single driver (ESM) and three model components
  (ATM, OCN, RTM).
  
  The ESM driver uses explicitly constructed petLists when adding the ATM, OCN,
  and RTM components. 

  The ESM driver constructs a custom run sequence with two time scales to
  implement coupling between ATM, OCN, and RTM components: slow & fast
  
  The connector components are explicitly added by the driver.
  
  ATM, OCN, and RTM components use a simple two-phase initialization,
  consisting of advertise and realize.
  

Build:
  - Set environment variable ESMFMKFILE to point to the esmf.mk of your ESMF
    installation.
  - make
  
Execution:
  - Optionally set environment variable ESMF_RUNTIME_COMPLIANCECHECK to ON.
  - mpirun -np X ./esmApp (where X is the total number of PETs, typically 4)
  
Output:
  - PET*.Log files containing compliance checker output if turned on.
  - The prototype outputs time stepping information to stdout.

Code structure:
  - Makefile    - Makefile that is based on the standard esmf.mk mechanism.
  - atm.F90     - The ATM component, specializing generic NUOPC_Model.
  - ocn.F90     - The OCN component, specializing generic NUOPC_Model.
  - rtm.F90     - The RTM component, specializing generic NUOPC_Model.
  - esm.F90     - The Earth System Model (ESM) component, specializing generic
                  NUOPC_Driver, explicitly setting RunSequence to have two
                  time scales:
                    slow timeloop is over RTM, interacting with ATM-OCN system
                    fast timeloop is over ATM-OCN coupling
  - esmApp.F90  - ESM application.