Skip to content

Files

Latest commit

 

History

History

AtmOcnMedPetListProto

README for ATM-OCN-MED with petList NUOPC prototype
---------------------------------------------------

A simple two model system with a Mediator, where Model and Mediator components
run on assigned PETs.

Description:

  A two-way coupled system with a single driver (ESM), two model components
  (ATM, OCN), and a mediator (MED).

  The ESM driver uses explicitly constructed petLists when adding the ATM, OCN,
  and MED components. 

  The ESM driver constructs a custom run sequence to implement coupling
  between ATM, OCN, and MED components. 
  
  The connector components are explicitly added by the driver.
  
  ATM, OCN, and MED 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.
  - med.F90     - The Mediator component, specializing generic 
                  NUOPC_Mediator.
  - esm.F90     - The Earth System Model (ESM) component, specializing generic
                  NUOPC_Driver. Define partial petLists for ATM, OCN, and MED.
  - esmApp.F90  - ESM application.