Files
DriverInDriverProto
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
README for Driver-in-Driver NUOPC prototype ------------------------------------------- Show how a driver component can be driven as a child component of another driver component. Description: A two-way coupled system with two driver levels (driverParentComp and driverChildComp) and two model components (ATM, OCN). The driverParentComp driver uses explicitly constructed petLists when adding the child components: driverChildComp, and OCN. The ESM driver component uses the default run sequence to implement coupling between driverChildComp(i.e. ATM) and OCN components. The connector components are explicitly added by the driverParentComp. The driverChildComp adds ATM as its only child component and uses the default run sequence to only drive the ATM component. Both ATM and OCN 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 ./mainApp (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. - driverChildComp.F90 - Driver child component run from within parent driver, and looking like an ATM to the outside. - atm.F90 - the ATM component driven by driverChildComp.F90 - driverParentComp.F90 - Driver parent component, driving the driver child component and the OCN model component. - ocn.F90 - the OCN component driven by driverParentComp.F90 - mainApp.F90 - Main application.