diff --git a/.gitignore b/.gitignore
index 2da07e5a..cca37b55 100644
--- a/.gitignore
+++ b/.gitignore
@@ -676,32 +676,28 @@ DynPhyProto/field_phy_export_adv_PHYEX.nc
DynPhyProto/field_phy_export_datainit_PHYEX.nc
DynPhyProto/phy.mod
DynPhyProto/phy.o
-ESMX_AtmOcnProto/Lumo/liblumo.so
-ESMX_AtmOcnProto/Lumo/liblumo.a
-ESMX_AtmOcnProto/Lumo/lumo.cmake
-ESMX_AtmOcnProto/Lumo/lumo.mod
-ESMX_AtmOcnProto/PET0.ESMF_LogFile
-ESMX_AtmOcnProto/PET1.ESMF_LogFile
-ESMX_AtmOcnProto/PET2.ESMF_LogFile
-ESMX_AtmOcnProto/PET3.ESMF_LogFile
-ESMX_AtmOcnProto/TaWaS/libtawas.so
ESMX_AtmOcnProto/TaWaS/libtawas.a
ESMX_AtmOcnProto/TaWaS/tawas.cmake
ESMX_AtmOcnProto/TaWaS/tawas.mod
ESMX_AtmOcnProto/build/
-ESMX_AtmOcnProto/esmx.stdout
-ESMX_ExternalDriverAPIProto/Lumo/liblumo.a
-ESMX_ExternalDriverAPIProto/Lumo/lumo.cmake
-ESMX_ExternalDriverAPIProto/Lumo/lumo.mod
-ESMX_ExternalDriverAPIProto/PET0.ESMF_LogFile
-ESMX_ExternalDriverAPIProto/PET1.ESMF_LogFile
-ESMX_ExternalDriverAPIProto/PET2.ESMF_LogFile
-ESMX_ExternalDriverAPIProto/PET3.ESMF_LogFile
+ESMX_AtmOcnProto/install/
+ESMX_AtmOcnProto/esmx_app.stdout
+ESMX_AtmOcnProto/PET0.ESMF_LogFile
+ESMX_AtmOcnProto/PET1.ESMF_LogFile
+ESMX_AtmOcnProto/PET2.ESMF_LogFile
+ESMX_AtmOcnProto/PET3.ESMF_LogFile
+ESMX_AtmOcnProto/ATM_final_export.nc
+ESMX_AtmOcnProto/ATM_final_import.nc
ESMX_ExternalDriverAPIProto/TaWaS/libtawas.a
ESMX_ExternalDriverAPIProto/TaWaS/tawas.cmake
ESMX_ExternalDriverAPIProto/TaWaS/tawas.mod
ESMX_ExternalDriverAPIProto/build/
+ESMX_ExternalDriverAPIProto/install/
ESMX_ExternalDriverAPIProto/externalApp.stdout
+ESMX_ExternalDriverAPIProto/PET0.ESMF_LogFile
+ESMX_ExternalDriverAPIProto/PET1.ESMF_LogFile
+ESMX_ExternalDriverAPIProto/PET2.ESMF_LogFile
+ESMX_ExternalDriverAPIProto/PET3.ESMF_LogFile
ESMX_ExternalDriverAPIProto/field_externalImportState_init_sea_surface_temperature.nc
ESMX_ExternalDriverAPIProto/field_externalImportState_init_surface_net_downward_shortwave_flux.nc
ESMX_ExternalDriverAPIProto/field_externalImportState_sea_surface_temperature.nc
diff --git a/AsyncIOBlockingProto/asyncIOApp.F90 b/AsyncIOBlockingProto/asyncIOApp.F90
index a622e741..42996e9c 100644
--- a/AsyncIOBlockingProto/asyncIOApp.F90
+++ b/AsyncIOBlockingProto/asyncIOApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AsyncIOBlockingProto/asyncIODriver.F90 b/AsyncIOBlockingProto/asyncIODriver.F90
index 4bf3333e..5fc77ecf 100644
--- a/AsyncIOBlockingProto/asyncIODriver.F90
+++ b/AsyncIOBlockingProto/asyncIODriver.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AsyncIOBlockingProto/io.F90 b/AsyncIOBlockingProto/io.F90
index 3fe8215a..3a0c3838 100644
--- a/AsyncIOBlockingProto/io.F90
+++ b/AsyncIOBlockingProto/io.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AsyncIOBlockingProto/model.F90 b/AsyncIOBlockingProto/model.F90
index e12f9bb5..520ff975 100644
--- a/AsyncIOBlockingProto/model.F90
+++ b/AsyncIOBlockingProto/model.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AsyncIONonblockingProto/asyncIOApp.F90 b/AsyncIONonblockingProto/asyncIOApp.F90
index 9ec1414d..dad1b218 100644
--- a/AsyncIONonblockingProto/asyncIOApp.F90
+++ b/AsyncIONonblockingProto/asyncIOApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AsyncIONonblockingProto/asyncIODriver.F90 b/AsyncIONonblockingProto/asyncIODriver.F90
index 1c743341..fa4161ca 100644
--- a/AsyncIONonblockingProto/asyncIODriver.F90
+++ b/AsyncIONonblockingProto/asyncIODriver.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AsyncIONonblockingProto/conn.F90 b/AsyncIONonblockingProto/conn.F90
index a5c911bc..bb8bc8a3 100644
--- a/AsyncIONonblockingProto/conn.F90
+++ b/AsyncIONonblockingProto/conn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AsyncIONonblockingProto/io.F90 b/AsyncIONonblockingProto/io.F90
index a4c73207..8ab5a3df 100644
--- a/AsyncIONonblockingProto/io.F90
+++ b/AsyncIONonblockingProto/io.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AsyncIONonblockingProto/model.F90 b/AsyncIONonblockingProto/model.F90
index 1d162cfc..cda26ef0 100644
--- a/AsyncIONonblockingProto/model.F90
+++ b/AsyncIONonblockingProto/model.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnConOptsProto/atm.F90 b/AtmOcnConOptsProto/atm.F90
index ef9ed33b..9b815ad0 100644
--- a/AtmOcnConOptsProto/atm.F90
+++ b/AtmOcnConOptsProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnConOptsProto/esm.F90 b/AtmOcnConOptsProto/esm.F90
index 146a2efa..7003d34c 100644
--- a/AtmOcnConOptsProto/esm.F90
+++ b/AtmOcnConOptsProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnConOptsProto/esmApp.F90 b/AtmOcnConOptsProto/esmApp.F90
index de3f2b30..7a3e51ff 100644
--- a/AtmOcnConOptsProto/esmApp.F90
+++ b/AtmOcnConOptsProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnConOptsProto/ocn.F90 b/AtmOcnConOptsProto/ocn.F90
index 0db015a4..13361cc4 100644
--- a/AtmOcnConOptsProto/ocn.F90
+++ b/AtmOcnConOptsProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnConProto/atm.F90 b/AtmOcnConProto/atm.F90
index 2ef68faa..85fe48af 100644
--- a/AtmOcnConProto/atm.F90
+++ b/AtmOcnConProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnConProto/conn.F90 b/AtmOcnConProto/conn.F90
index 56f5e822..72a45478 100644
--- a/AtmOcnConProto/conn.F90
+++ b/AtmOcnConProto/conn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnConProto/esm.F90 b/AtmOcnConProto/esm.F90
index e783240a..6c273900 100644
--- a/AtmOcnConProto/esm.F90
+++ b/AtmOcnConProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnConProto/esmApp.F90 b/AtmOcnConProto/esmApp.F90
index b0bef347..573b6c0f 100644
--- a/AtmOcnConProto/esmApp.F90
+++ b/AtmOcnConProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnConProto/ocn.F90 b/AtmOcnConProto/ocn.F90
index ace9c0f9..1aa87ece 100644
--- a/AtmOcnConProto/ocn.F90
+++ b/AtmOcnConProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnCplListProto/atm.F90 b/AtmOcnCplListProto/atm.F90
index e5de60bf..de3b2e28 100644
--- a/AtmOcnCplListProto/atm.F90
+++ b/AtmOcnCplListProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnCplListProto/esm.F90 b/AtmOcnCplListProto/esm.F90
index 57bd66c6..9db69705 100644
--- a/AtmOcnCplListProto/esm.F90
+++ b/AtmOcnCplListProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnCplListProto/esmApp.F90 b/AtmOcnCplListProto/esmApp.F90
index b0bef347..573b6c0f 100644
--- a/AtmOcnCplListProto/esmApp.F90
+++ b/AtmOcnCplListProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnCplListProto/ocn.F90 b/AtmOcnCplListProto/ocn.F90
index 9f8c0ac0..69249302 100644
--- a/AtmOcnCplListProto/ocn.F90
+++ b/AtmOcnCplListProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnCplSetProto/atm.F90 b/AtmOcnCplSetProto/atm.F90
index 30805adc..36f4fef8 100644
--- a/AtmOcnCplSetProto/atm.F90
+++ b/AtmOcnCplSetProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnCplSetProto/esm.F90 b/AtmOcnCplSetProto/esm.F90
index 7961fac5..6d998b29 100644
--- a/AtmOcnCplSetProto/esm.F90
+++ b/AtmOcnCplSetProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnCplSetProto/esmApp.F90 b/AtmOcnCplSetProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnCplSetProto/esmApp.F90
+++ b/AtmOcnCplSetProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnCplSetProto/ocn.F90 b/AtmOcnCplSetProto/ocn.F90
index 3dba3784..12a439d5 100644
--- a/AtmOcnCplSetProto/ocn.F90
+++ b/AtmOcnCplSetProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnFDSynoProto/atm.F90 b/AtmOcnFDSynoProto/atm.F90
index 5e3fe288..b3a6d8b4 100644
--- a/AtmOcnFDSynoProto/atm.F90
+++ b/AtmOcnFDSynoProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnFDSynoProto/esm.F90 b/AtmOcnFDSynoProto/esm.F90
index 9b84b81c..ed76223b 100644
--- a/AtmOcnFDSynoProto/esm.F90
+++ b/AtmOcnFDSynoProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnFDSynoProto/esmApp.F90 b/AtmOcnFDSynoProto/esmApp.F90
index 80f9b606..1fca93cf 100644
--- a/AtmOcnFDSynoProto/esmApp.F90
+++ b/AtmOcnFDSynoProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnFDSynoProto/ocn.F90 b/AtmOcnFDSynoProto/ocn.F90
index ace9c0f9..1aa87ece 100644
--- a/AtmOcnFDSynoProto/ocn.F90
+++ b/AtmOcnFDSynoProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnIceSimpleImplicitProto/atm.F90 b/AtmOcnIceSimpleImplicitProto/atm.F90
index 468a40ad..af8c554c 100644
--- a/AtmOcnIceSimpleImplicitProto/atm.F90
+++ b/AtmOcnIceSimpleImplicitProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnIceSimpleImplicitProto/esm.F90 b/AtmOcnIceSimpleImplicitProto/esm.F90
index 2077d39a..e5420805 100644
--- a/AtmOcnIceSimpleImplicitProto/esm.F90
+++ b/AtmOcnIceSimpleImplicitProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnIceSimpleImplicitProto/esmApp.F90 b/AtmOcnIceSimpleImplicitProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnIceSimpleImplicitProto/esmApp.F90
+++ b/AtmOcnIceSimpleImplicitProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnIceSimpleImplicitProto/ice.F90 b/AtmOcnIceSimpleImplicitProto/ice.F90
index b6bde1e3..981cc322 100644
--- a/AtmOcnIceSimpleImplicitProto/ice.F90
+++ b/AtmOcnIceSimpleImplicitProto/ice.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnIceSimpleImplicitProto/ocn.F90 b/AtmOcnIceSimpleImplicitProto/ocn.F90
index eb0d92d6..d4cd3734 100644
--- a/AtmOcnIceSimpleImplicitProto/ocn.F90
+++ b/AtmOcnIceSimpleImplicitProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnImplicitProto/atm.F90 b/AtmOcnImplicitProto/atm.F90
index 7b01bacb..5474a416 100644
--- a/AtmOcnImplicitProto/atm.F90
+++ b/AtmOcnImplicitProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnImplicitProto/esm.F90 b/AtmOcnImplicitProto/esm.F90
index a8173cd5..e78382f0 100644
--- a/AtmOcnImplicitProto/esm.F90
+++ b/AtmOcnImplicitProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnImplicitProto/esmApp.F90 b/AtmOcnImplicitProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnImplicitProto/esmApp.F90
+++ b/AtmOcnImplicitProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnImplicitProto/ocn.F90 b/AtmOcnImplicitProto/ocn.F90
index 90813bf4..64ce7b0c 100644
--- a/AtmOcnImplicitProto/ocn.F90
+++ b/AtmOcnImplicitProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnLndProto/atm.F90 b/AtmOcnLndProto/atm.F90
index 015a2b1d..c19809f7 100644
--- a/AtmOcnLndProto/atm.F90
+++ b/AtmOcnLndProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnLndProto/esm.F90 b/AtmOcnLndProto/esm.F90
index 4faca97f..8919680a 100644
--- a/AtmOcnLndProto/esm.F90
+++ b/AtmOcnLndProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnLndProto/esmApp.F90 b/AtmOcnLndProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnLndProto/esmApp.F90
+++ b/AtmOcnLndProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnLndProto/lnd.F90 b/AtmOcnLndProto/lnd.F90
index dcab02a5..cb6af7b4 100644
--- a/AtmOcnLndProto/lnd.F90
+++ b/AtmOcnLndProto/lnd.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnLndProto/ocn.F90 b/AtmOcnLndProto/ocn.F90
index ace9c0f9..1aa87ece 100644
--- a/AtmOcnLndProto/ocn.F90
+++ b/AtmOcnLndProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnLogNoneProto/atm.F90 b/AtmOcnLogNoneProto/atm.F90
index 581e597c..fcd19755 100644
--- a/AtmOcnLogNoneProto/atm.F90
+++ b/AtmOcnLogNoneProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnLogNoneProto/esm.F90 b/AtmOcnLogNoneProto/esm.F90
index 9b84b81c..ed76223b 100644
--- a/AtmOcnLogNoneProto/esm.F90
+++ b/AtmOcnLogNoneProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnLogNoneProto/esmApp.F90 b/AtmOcnLogNoneProto/esmApp.F90
index 7503be99..67a40ea2 100644
--- a/AtmOcnLogNoneProto/esmApp.F90
+++ b/AtmOcnLogNoneProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnLogNoneProto/ocn.F90 b/AtmOcnLogNoneProto/ocn.F90
index bea76568..d9dd9408 100644
--- a/AtmOcnLogNoneProto/ocn.F90
+++ b/AtmOcnLogNoneProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedIngestFromConfigProto/atm.F90 b/AtmOcnMedIngestFromConfigProto/atm.F90
index d86e7fb9..4ef86941 100644
--- a/AtmOcnMedIngestFromConfigProto/atm.F90
+++ b/AtmOcnMedIngestFromConfigProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedIngestFromConfigProto/esm.F90 b/AtmOcnMedIngestFromConfigProto/esm.F90
index 1f4a359d..d76e1ed0 100644
--- a/AtmOcnMedIngestFromConfigProto/esm.F90
+++ b/AtmOcnMedIngestFromConfigProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
@@ -73,11 +73,20 @@ subroutine SetServices(driver, rc)
line=__LINE__, &
file=__FILE__)) &
return ! bail out
- call ESMF_ConfigLoadFile(config, "esmApp.runconfig", rc=rc)
+#define CONFIG_FF_off
+#ifdef CONFIG_FF
+ call ESMF_ConfigLoadFile(config, "esmAppRun.config", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
return ! bail out
+#else
+ call ESMF_ConfigLoadFile(config, "esmAppRun.yaml", rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+#endif
call ESMF_GridCompSet(driver, config=config, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
@@ -85,7 +94,7 @@ subroutine SetServices(driver, rc)
return ! bail out
! set driver verbosity
- call NUOPC_CompAttributeSet(driver, name="Verbosity", value="high", rc=rc)
+ call NUOPC_CompAttributeSet(driver, name="Verbosity", value="0", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
@@ -107,6 +116,7 @@ subroutine SetModelServices(driver, rc)
type(ESMF_Clock) :: internalClock
type(ESMF_Config) :: config
type(NUOPC_FreeFormat) :: attrFF
+ type(ESMF_HConfig) :: hconfig, hconfigSub
rc = ESMF_SUCCESS
@@ -116,6 +126,7 @@ subroutine SetModelServices(driver, rc)
line=__LINE__, &
file=__FILE__)) &
return ! bail out
+#ifdef CONFIG_FF
attrFF = NUOPC_FreeFormatCreate(config, label="driverAttributes::", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
@@ -133,6 +144,29 @@ subroutine SetModelServices(driver, rc)
line=__LINE__, &
file=__FILE__)) &
return ! bail out
+#else
+ call ESMF_ConfigGet(config, hconfig=hconfig, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ hconfigSub = ESMF_HConfigCreateAt(hconfig, &
+ keyString="driverAttributes", rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call NUOPC_CompAttributeIngest(driver, hconfigSub, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call ESMF_HConfigDestroy(hconfigSub, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+#endif
! SetServices for ATM
call NUOPC_DriverAddComp(driver, "ATM", atmSS, comp=child, rc=rc)
@@ -141,7 +175,7 @@ subroutine SetModelServices(driver, rc)
file=__FILE__)) &
return ! bail out
! set default ATM attributes
- call NUOPC_CompAttributeSet(child, name="Verbosity", value="high", rc=rc)
+ call NUOPC_CompAttributeSet(child, name="Verbosity", value="0", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
@@ -173,7 +207,7 @@ subroutine SetModelServices(driver, rc)
file=__FILE__)) &
return ! bail out
! set default OCN attributes
- call NUOPC_CompAttributeSet(child, name="Verbosity", value="high", rc=rc)
+ call NUOPC_CompAttributeSet(child, name="Verbosity", value="0", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
@@ -205,7 +239,7 @@ subroutine SetModelServices(driver, rc)
file=__FILE__)) &
return ! bail out
! set default MED attributes
- call NUOPC_CompAttributeSet(child, name="Verbosity", value="high", rc=rc)
+ call NUOPC_CompAttributeSet(child, name="Verbosity", value="0", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
@@ -307,10 +341,14 @@ subroutine SetRunSequence(driver, rc)
! local variables
character(ESMF_MAXSTR) :: name, connName
type(ESMF_Config) :: config
+ type(ESMF_HConfig) :: hconfig, hconfigSub
type(NUOPC_FreeFormat) :: ff
type(ESMF_CplComp), pointer :: connectorList(:)
integer :: i
+ type(ESMF_Info) :: info ! for debugging only
+ character(:), allocatable :: infoString ! debug only
+
rc = ESMF_SUCCESS
! query the Component for info
@@ -318,11 +356,13 @@ subroutine SetRunSequence(driver, rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
- ! read free format run sequence from config
call ESMF_GridCompGet(driver, config=config, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
- ff = NUOPC_FreeFormatCreate(config, label="runSeq::", rc=rc)
+
+#ifdef CONFIG_FF
+ ! read free format run sequence from config
+ ff = NUOPC_FreeFormatCreate(config, label="runSeq1::", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
@@ -341,52 +381,62 @@ subroutine SetRunSequence(driver, rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
-#if 1
- ! Diagnostic output
- call NUOPC_DriverPrint(driver, orderflag=.true., rc=rc)
+ ! clean-up
+ call NUOPC_FreeFormatDestroy(ff, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
+
+#else
+ call ESMF_ConfigGet(config, hconfig=hconfig, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
+ hconfigSub = ESMF_HConfigCreateAt(hconfig, keyString="runSeq1", rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
+ call NUOPC_DriverIngestRunSequence(driver, hconfigSub, &
+#ifdef TESTAUTOADDCONNECTORS
+ autoAddConnectors=.true., &
+#endif
+ rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
+ call ESMF_HConfigDestroy(hconfigSub, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
#endif
- ! clean-up
- call NUOPC_FreeFormatDestroy(ff, rc=rc)
+#if 1
+ ! Diagnostic output
+ call NUOPC_DriverPrint(driver, orderflag=.true., rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
+#endif
! set Verbosity on Connectors no matter how they were added
! also read in potential connector attributes from config
nullify(connectorList)
call NUOPC_DriverGetComp(driver, connectorList, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
- line=__LINE__, &
- file=__FILE__)) &
- return ! bail out
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
do i=1, size(connectorList)
! default Verbosity, may be overridden from config below
call NUOPC_CompAttributeSet(connectorList(i), name="Verbosity", &
- value="high", rc=rc)
+ value="0", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
- line=__LINE__, &
- file=__FILE__)) &
- return ! bail out
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
! read connector Attributes from config
call NUOPC_CompGet(connectorList(i), name=connName, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
- line=__LINE__, &
- file=__FILE__)) &
- return ! bail out
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
call ESMF_LogWrite("Reading Attributes for Connector: "//trim(connName), &
ESMF_LOGMSG_INFO, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
- line=__LINE__, &
- file=__FILE__)) &
- return ! bail out
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
+#ifdef CONFIG_FF
ff = NUOPC_FreeFormatCreate(config, relaxedflag=.true., &
label=trim(connName)//"-Attributes::", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
- line=__LINE__, &
- file=__FILE__)) &
- return ! bail out
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
#if 1
call NUOPC_FreeFormatLog(ff, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
@@ -395,15 +445,37 @@ subroutine SetRunSequence(driver, rc)
! ingest FreeFormat driver attributes
call NUOPC_CompAttributeIngest(connectorList(i), ff, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
- line=__LINE__, &
- file=__FILE__)) &
- return ! bail out
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
! clean-up
call NUOPC_FreeFormatDestroy(ff, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
- line=__LINE__, &
- file=__FILE__)) &
- return ! bail out
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
+#else
+ hconfigSub = ESMF_HConfigCreateAt(hconfig, &
+ keyString=trim(connName)//"-Attributes", rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
+ call NUOPC_CompAttributeIngest(connectorList(i), hconfigSub, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
+ call ESMF_HConfigDestroy(hconfigSub, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
+#endif
+
+#if 0
+ ! just debugging the Info in JSON
+ call ESMF_InfoGetFromHost(connectorList(i), info=info, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
+ infoString = ESMF_InfoDump(info, indent=1, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
+ call ESMF_LogWrite(msg=infoString, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, file=trim(name)//":"//__FILE__)) return ! bail out
+#endif
+
enddo
end subroutine
diff --git a/AtmOcnMedIngestFromConfigProto/esmApp.F90 b/AtmOcnMedIngestFromConfigProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnMedIngestFromConfigProto/esmApp.F90
+++ b/AtmOcnMedIngestFromConfigProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedIngestFromConfigProto/esmAppRun.config b/AtmOcnMedIngestFromConfigProto/esmAppRun.config
new file mode 100644
index 00000000..9d1cbe22
--- /dev/null
+++ b/AtmOcnMedIngestFromConfigProto/esmAppRun.config
@@ -0,0 +1,111 @@
+###############################################
+#### esmApp Run-Time Configuration File #####
+###############################################
+
+#-------------------------------------------------------------------------------
+# This run sequence shows multiple time loops on the upper level. Some lines
+# call Connectors outside an explicit time loop. The consequence of either of
+# these features is that a Driver level time loop will be added around the
+# entire sequence. This Driver time loop will use timeStep and runDuration as
+# defined by the Driver itself (e.g. in its SetModelServices specialization,
+# of from its parent component). In this prototype the Driver sets a timeStep
+# of 900s. Therefore, each iteration of the runSeq:: must step forward exactly
+# 900s.
+#
+runSeq1::
+ @100:200 # First loop running for 200s @ 100s
+ MED
+ MED -> OCN :remapMethod=patch:srcTermProcessing=1
+ MED -> ATM
+ ATM
+ OCN
+ @50:0 # zero runDuration leads to skipping this loop and all inside
+ MED # This call to MED would fail with incompat. times, but not exec.
+ @50:50 # skipped because outside loop is skipped
+ MED # again would fail, but not executed
+ @
+ @
+ OCN -> MED
+ ATM -> MED :remapMethod=bilinear
+ @
+ MED -> ATM # A pretty useless connector call, just to show it works
+ @100:700 # Second loop running for 700s @ 100s
+ MED
+ MED -> ATM
+ MED -> OCN
+ ATM
+ OCN
+ ATM -> MED
+ OCN -> MED
+ @
+ MED -> OCN # A pretty useless connector call, just to show it works
+::
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# This run sequence provides a single outer time loop. Therefor it becomes
+# identical to the Driver time loop. The timeStep and runDuration specified
+# here overwrite what the Driver might set in ModelSetServices.
+#
+runSeq2::
+ @1800:5400
+ MED
+ MED -> ATM
+ MED -> OCN
+ @1800
+ ATM
+ OCN
+ @
+ @900
+ ATM -> MED
+ @
+ OCN -> MED
+ @
+::
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# A concurrent run sequence
+runSeq3::
+ @900:1800
+ MED
+ MED -> ATM
+ MED -> OCN
+ ATM
+ OCN
+ ATM -> MED
+ OCN -> MED
+ @
+::
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# A sequential run sequence
+runSeq4::
+ @1800 # 30min time step
+ MED
+ MED -> ATM
+ ATM
+ ATM -> MED
+ MED
+ MED
+ MED -> OCN
+ OCN
+ OCN -> MED
+ MED
+ @
+::
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# Attributes for components
+driverAttributes::
+ Verbosity = 4609
+ Profiling = 0
+::
+# Another way of specifying the ConnectionOptions Attribute for a Connector is
+# to explicitly set the Attribute here:
+MED-TO-ATM-Attributes::
+ ConnectionOptions = :remapMethod=nearest_stod
+::
+#-------------------------------------------------------------------------------
diff --git a/AtmOcnMedIngestFromConfigProto/esmAppRun.yaml b/AtmOcnMedIngestFromConfigProto/esmAppRun.yaml
new file mode 100644
index 00000000..0819f508
--- /dev/null
+++ b/AtmOcnMedIngestFromConfigProto/esmAppRun.yaml
@@ -0,0 +1,117 @@
+###############################################
+#### esmApp Run-Time Configuration YAML #####
+###############################################
+
+#-------------------------------------------------------------------------------
+# This run sequence shows multiple time loops on the upper level. Some lines
+# call Connectors outside an explicit time loop. The consequence of either of
+# these features is that a Driver level time loop will be added around the
+# entire sequence. This Driver time loop will use timeStep and runDuration as
+# defined by the Driver itself (e.g. in its SetModelServices specialization,
+# of from its parent component). In this prototype the Driver sets a timeStep
+# of 900s. Therefore, each iteration of the runSeq:: must step forward exactly
+# 900s.
+#
+runSeq1: |
+ @100:200 # First loop running for 200s @ 100s
+ MED
+ MED -> OCN :remapMethod=patch:srcTermProcessing=1
+ MED -> ATM
+ ATM
+ OCN
+ @50:0 # zero runDuration leads to skipping this loop and all inside
+ MED # This call to MED would fail with incompat. times, but not exec.
+ @50:50 # skipped because outside loop is skipped
+ MED # again would fail, but not executed
+ @
+ @
+ OCN -> MED
+ ATM -> MED :remapMethod=bilinear
+ @
+ MED -> ATM # A pretty useless connector call, just to show it works
+ @100:700 # Second loop running for 700s @ 100s
+ MED
+ MED -> ATM
+ MED -> OCN
+ ATM
+ OCN
+ ATM -> MED
+ OCN -> MED
+ @
+ MED -> OCN # A pretty useless connector call, just to show it works
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# This run sequence provides a single outer time loop. Therefor it becomes
+# identical to the Driver time loop. The timeStep and runDuration specified
+# here overwrite what the Driver might set in ModelSetServices.
+#
+runSeq2: |
+ @1800:5400
+ MED
+ MED -> ATM
+ MED -> OCN
+ @1800
+ ATM
+ OCN
+ @
+ @900
+ ATM -> MED
+ @
+ OCN -> MED
+ @
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# A concurrent run sequence
+runSeq3: |
+ @900:1800
+ MED
+ MED -> ATM
+ MED -> OCN
+ ATM
+ OCN
+ ATM -> MED
+ OCN -> MED
+ @
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# A sequential run sequence
+runSeq4: |
+ @1800 # 30min time step
+ MED
+ MED -> ATM
+ ATM
+ ATM -> MED
+ MED
+ MED
+ MED -> OCN
+ OCN
+ OCN -> MED
+ MED
+ @
+#-------------------------------------------------------------------------------
+
+generalAttributes: &general # YAML anchor
+ Verbosity: 4609 # decimal representation of explicit bit pattern
+
+#-------------------------------------------------------------------------------
+# Attributes for components
+driverAttributes:
+ <<: *general # merge key with alias, brings in Verbosity
+# Verbosity: 0 # still able to override Verbosity here
+ Profiling: 0
+
+# Another way of specifying the ConnectionOptions Attribute for a Connector is
+# to explicitly set the Attribute here:
+MED-TO-ATM-Attributes:
+ ConnectionOptions: :remapMethod=nearest_stod
+ <<: *general # merge key with alias, brings in Verbosity
+ Profiling: low # pre-defined NUOPC setting
+ Diagnostic: 0 # explicit 0 turns OFF feature
+ CustomSeq1: [1, 2, 3, 4] # sequence of integers
+ CustomSeq2: [1., 2., 3., 4.] # sequence of floats
+ CustomSeq3: [true, false] # sequence of bools
+ CustomType: {k1: [a, aa, aaa], k2: b, k3: c} # complex structure
+#-------------------------------------------------------------------------------
diff --git a/AtmOcnMedIngestFromConfigProto/med.F90 b/AtmOcnMedIngestFromConfigProto/med.F90
index 99177ede..add2bfc9 100644
--- a/AtmOcnMedIngestFromConfigProto/med.F90
+++ b/AtmOcnMedIngestFromConfigProto/med.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedIngestFromConfigProto/ocn.F90 b/AtmOcnMedIngestFromConfigProto/ocn.F90
index d33f202b..56f668b1 100644
--- a/AtmOcnMedIngestFromConfigProto/ocn.F90
+++ b/AtmOcnMedIngestFromConfigProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedIngestFromInternalProto/atm.F90 b/AtmOcnMedIngestFromInternalProto/atm.F90
index d86e7fb9..4ef86941 100644
--- a/AtmOcnMedIngestFromInternalProto/atm.F90
+++ b/AtmOcnMedIngestFromInternalProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedIngestFromInternalProto/esm.F90 b/AtmOcnMedIngestFromInternalProto/esm.F90
index d89cb4e6..78cee572 100644
--- a/AtmOcnMedIngestFromInternalProto/esm.F90
+++ b/AtmOcnMedIngestFromInternalProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedIngestFromInternalProto/esmApp.F90 b/AtmOcnMedIngestFromInternalProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnMedIngestFromInternalProto/esmApp.F90
+++ b/AtmOcnMedIngestFromInternalProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedIngestFromInternalProto/med.F90 b/AtmOcnMedIngestFromInternalProto/med.F90
index 99177ede..add2bfc9 100644
--- a/AtmOcnMedIngestFromInternalProto/med.F90
+++ b/AtmOcnMedIngestFromInternalProto/med.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedIngestFromInternalProto/ocn.F90 b/AtmOcnMedIngestFromInternalProto/ocn.F90
index d33f202b..56f668b1 100644
--- a/AtmOcnMedIngestFromInternalProto/ocn.F90
+++ b/AtmOcnMedIngestFromInternalProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListProto/atm.F90 b/AtmOcnMedPetListProto/atm.F90
index d86e7fb9..4ef86941 100644
--- a/AtmOcnMedPetListProto/atm.F90
+++ b/AtmOcnMedPetListProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListProto/esm.F90 b/AtmOcnMedPetListProto/esm.F90
index dcbf465a..228b3849 100644
--- a/AtmOcnMedPetListProto/esm.F90
+++ b/AtmOcnMedPetListProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListProto/esmApp.F90 b/AtmOcnMedPetListProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnMedPetListProto/esmApp.F90
+++ b/AtmOcnMedPetListProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListProto/med.F90 b/AtmOcnMedPetListProto/med.F90
index 54a88bae..500a86d6 100644
--- a/AtmOcnMedPetListProto/med.F90
+++ b/AtmOcnMedPetListProto/med.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListProto/ocn.F90 b/AtmOcnMedPetListProto/ocn.F90
index 765f4715..891266f7 100644
--- a/AtmOcnMedPetListProto/ocn.F90
+++ b/AtmOcnMedPetListProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListTimescalesProto/atm.F90 b/AtmOcnMedPetListTimescalesProto/atm.F90
index d6d2e152..a2c7e9bf 100644
--- a/AtmOcnMedPetListTimescalesProto/atm.F90
+++ b/AtmOcnMedPetListTimescalesProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListTimescalesProto/esm.F90 b/AtmOcnMedPetListTimescalesProto/esm.F90
index 1d75cbfe..8f6a843c 100644
--- a/AtmOcnMedPetListTimescalesProto/esm.F90
+++ b/AtmOcnMedPetListTimescalesProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListTimescalesProto/esmApp.F90 b/AtmOcnMedPetListTimescalesProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnMedPetListTimescalesProto/esmApp.F90
+++ b/AtmOcnMedPetListTimescalesProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListTimescalesProto/med.F90 b/AtmOcnMedPetListTimescalesProto/med.F90
index 0753fa8a..e1c492b0 100644
--- a/AtmOcnMedPetListTimescalesProto/med.F90
+++ b/AtmOcnMedPetListTimescalesProto/med.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListTimescalesProto/ocn.F90 b/AtmOcnMedPetListTimescalesProto/ocn.F90
index 15d4010b..fe09c461 100644
--- a/AtmOcnMedPetListTimescalesProto/ocn.F90
+++ b/AtmOcnMedPetListTimescalesProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListTimescalesSplitFastProto/atm.F90 b/AtmOcnMedPetListTimescalesSplitFastProto/atm.F90
index 5942f0d3..5646a8f8 100644
--- a/AtmOcnMedPetListTimescalesSplitFastProto/atm.F90
+++ b/AtmOcnMedPetListTimescalesSplitFastProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListTimescalesSplitFastProto/esm.F90 b/AtmOcnMedPetListTimescalesSplitFastProto/esm.F90
index b7f8d5bd..4005f794 100644
--- a/AtmOcnMedPetListTimescalesSplitFastProto/esm.F90
+++ b/AtmOcnMedPetListTimescalesSplitFastProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListTimescalesSplitFastProto/esmApp.F90 b/AtmOcnMedPetListTimescalesSplitFastProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnMedPetListTimescalesSplitFastProto/esmApp.F90
+++ b/AtmOcnMedPetListTimescalesSplitFastProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListTimescalesSplitFastProto/med.F90 b/AtmOcnMedPetListTimescalesSplitFastProto/med.F90
index a3bdb2d0..3028581e 100644
--- a/AtmOcnMedPetListTimescalesSplitFastProto/med.F90
+++ b/AtmOcnMedPetListTimescalesSplitFastProto/med.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedPetListTimescalesSplitFastProto/ocn.F90 b/AtmOcnMedPetListTimescalesSplitFastProto/ocn.F90
index 3850d76d..50c997d0 100644
--- a/AtmOcnMedPetListTimescalesSplitFastProto/ocn.F90
+++ b/AtmOcnMedPetListTimescalesSplitFastProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedProto/atm.F90 b/AtmOcnMedProto/atm.F90
index d86e7fb9..4ef86941 100644
--- a/AtmOcnMedProto/atm.F90
+++ b/AtmOcnMedProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedProto/esm.F90 b/AtmOcnMedProto/esm.F90
index 76ce45f7..89c5bc70 100644
--- a/AtmOcnMedProto/esm.F90
+++ b/AtmOcnMedProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedProto/esmApp.F90 b/AtmOcnMedProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnMedProto/esmApp.F90
+++ b/AtmOcnMedProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedProto/med.F90 b/AtmOcnMedProto/med.F90
index 54a88bae..500a86d6 100644
--- a/AtmOcnMedProto/med.F90
+++ b/AtmOcnMedProto/med.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMedProto/ocn.F90 b/AtmOcnMedProto/ocn.F90
index 765f4715..891266f7 100644
--- a/AtmOcnMedProto/ocn.F90
+++ b/AtmOcnMedProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMirrorFieldsProto/atm.F90 b/AtmOcnMirrorFieldsProto/atm.F90
index e5fb51c1..41a56527 100644
--- a/AtmOcnMirrorFieldsProto/atm.F90
+++ b/AtmOcnMirrorFieldsProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMirrorFieldsProto/esm.F90 b/AtmOcnMirrorFieldsProto/esm.F90
index 5fb4fa39..3e3b13f6 100644
--- a/AtmOcnMirrorFieldsProto/esm.F90
+++ b/AtmOcnMirrorFieldsProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMirrorFieldsProto/esmApp.F90 b/AtmOcnMirrorFieldsProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnMirrorFieldsProto/esmApp.F90
+++ b/AtmOcnMirrorFieldsProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnMirrorFieldsProto/ocn.F90 b/AtmOcnMirrorFieldsProto/ocn.F90
index f9a683f9..95e447ee 100644
--- a/AtmOcnMirrorFieldsProto/ocn.F90
+++ b/AtmOcnMirrorFieldsProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnPetListProto/atm.F90 b/AtmOcnPetListProto/atm.F90
index de7661a6..a6859173 100644
--- a/AtmOcnPetListProto/atm.F90
+++ b/AtmOcnPetListProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
@@ -143,6 +143,14 @@ subroutine Advertise(model, rc)
file=__FILE__)) &
return ! bail out
+ ! exportable field: magnitude_of_surface_downward_stress
+ call NUOPC_Advertise(exportState, &
+ StandardName="magnitude_of_surface_downward_stress", name="msds", rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+
end subroutine
!-----------------------------------------------------------------------------
@@ -366,6 +374,19 @@ subroutine Realize(model, rc)
file=__FILE__)) &
return ! bail out
+ ! exportable field on Mesh: magnitude_of_surface_downward_stress
+ field = ESMF_FieldCreate(name="msds", mesh=meshOut, &
+ typekind=ESMF_TYPEKIND_R8, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call NUOPC_Realize(exportState, field=field, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+
end subroutine
!-----------------------------------------------------------------------------
diff --git a/AtmOcnPetListProto/esm.F90 b/AtmOcnPetListProto/esm.F90
index 9068990c..92dfc673 100644
--- a/AtmOcnPetListProto/esm.F90
+++ b/AtmOcnPetListProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
@@ -8,6 +8,8 @@
! Licensed under the University of Illinois-NCSA License.
!==============================================================================
+#define USE_YAML
+
module ESM
!-----------------------------------------------------------------------------
@@ -86,11 +88,11 @@ subroutine SetModelServices(driver, rc)
type(ESMF_Clock) :: internalClock
type(ESMF_GridComp) :: child
type(ESMF_CplComp) :: connector
- integer :: petCount, i
- character(len=160) :: petListString
+ integer :: i
integer, allocatable :: petList(:)
type(ESMF_Info) :: info
type(ESMF_Config) :: config
+ type(ESMF_HConfig) :: hconfig, hconfigNode
type(NUOPC_FreeFormat) :: ff
! - diagnostics -
@@ -108,13 +110,21 @@ subroutine SetModelServices(driver, rc)
file=__FILE__)) &
return ! bail out
- ! get the petCount
- call ESMF_GridCompGet(driver, config=config, petCount=petCount, vm=vm, &
- rc=rc)
+ ! get the config
+ call ESMF_GridCompGet(driver, config=config, vm=vm, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+
+#ifdef USE_YAML
+ ! config -> hconfig
+ call ESMF_ConfigGet(config, hconfig=hconfig, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
return ! bail out
+#endif
call ESMF_VMLog(vm, "ESM SetModelServices() enter: ", ESMF_LOGMSG_INFO, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
@@ -124,6 +134,26 @@ subroutine SetModelServices(driver, rc)
! ATM
! - set up petList
+#ifdef USE_YAML
+ isFlag = ESMF_HConfigIsDefined(hconfig, keyString="ATM_petlist", rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ if (isFlag) then
+ hconfigNode = ESMF_HConfigCreateAt(hconfig, keyString="ATM_petlist", &
+ rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call NUOPC_IngestPetList(petList, hconfigNode, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ endif
+#else
ff = NUOPC_FreeFormatCreate(config, label="ATM_petlist:", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
@@ -134,6 +164,7 @@ subroutine SetModelServices(driver, rc)
line=__LINE__, &
file=__FILE__)) &
return ! bail out
+#endif
! - set /NUOPC/Hint/PePerPet/MaxCount
call ESMF_InfoSet(info, key="/NUOPC/Hint/PePerPet/MaxCount", value=1, &
rc=rc)
@@ -222,6 +253,26 @@ subroutine SetModelServices(driver, rc)
! OCN
! - set up petList
+#ifdef USE_YAML
+ isFlag = ESMF_HConfigIsDefined(hconfig, keyString="OCN_petlist", rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ if (isFlag) then
+ hconfigNode = ESMF_HConfigCreateAt(hconfig, keyString="OCN_petlist", &
+ rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call NUOPC_IngestPetList(petList, hconfigNode, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ endif
+#else
ff = NUOPC_FreeFormatCreate(config, label="OCN_petlist:", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
@@ -232,6 +283,7 @@ subroutine SetModelServices(driver, rc)
line=__LINE__, &
file=__FILE__)) &
return ! bail out
+#endif
! - set /NUOPC/Hint/PePerPet/MaxCount
call ESMF_InfoSet(info, key="/NUOPC/Hint/PePerPet/MaxCount", value=1, &
rc=rc)
@@ -488,12 +540,14 @@ subroutine ModifyCplLists(driver, rc)
return ! bail out
do i=1, size(petLists)
- write (msg,*) "GridComp petLists(",i,")= ", petLists(i)%ptr
- call ESMF_LogWrite(trim(msg), ESMF_LOGMSG_INFO, rc=rc)
- if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
- line=__LINE__, &
- file=__FILE__)) &
- return ! bail out
+ if (associated(petLists(i)%ptr)) then
+ write (msg,*) "GridComp petLists(",i,")= ", petLists(i)%ptr
+ call ESMF_LogWrite(trim(msg), ESMF_LOGMSG_INFO, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ endif
enddo
deallocate(petLists)
@@ -510,12 +564,14 @@ subroutine ModifyCplLists(driver, rc)
return ! bail out
do i=1, size(petLists)
- write (msg,*) "CplComp petLists(",i,")= ", petLists(i)%ptr
- call ESMF_LogWrite(trim(msg), ESMF_LOGMSG_INFO, rc=rc)
- if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
- line=__LINE__, &
- file=__FILE__)) &
- return ! bail out
+ if (associated(petLists(i)%ptr)) then
+ write (msg,*) "CplComp petLists(",i,")= ", petLists(i)%ptr
+ call ESMF_LogWrite(trim(msg), ESMF_LOGMSG_INFO, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ endif
enddo
deallocate(petLists)
diff --git a/AtmOcnPetListProto/esmApp.F90 b/AtmOcnPetListProto/esmApp.F90
index f97b7894..a10dc9f3 100644
--- a/AtmOcnPetListProto/esmApp.F90
+++ b/AtmOcnPetListProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
@@ -23,10 +23,23 @@ program esmApp
type(ESMF_GridComp) :: esmComp
type(ESMF_Config) :: config
type(ESMF_VM) :: vm
+ character(10) :: configKey(2)
+
+#define USE_YAML
+
+#ifdef USE_YAML
+ configKey(1) = "ESMF"
+ configKey(2) = "APP"
+#endif
! Initialize ESMF
call ESMF_Initialize(&
- configFileName="nuopc.configure", &
+#ifdef USE_YAML
+ configFileName="nuopcRun.yaml", &
+ configKey=configKey, &
+#else
+ configFileName="nuopcRun.config", &
+#endif
defaultGlobalResourceControl=.true., &
defaultCalKind=ESMF_CALKIND_GREGORIAN, &
config=config, &
diff --git a/AtmOcnPetListProto/nuopcRun.config b/AtmOcnPetListProto/nuopcRun.config
new file mode 100644
index 00000000..d452e6bc
--- /dev/null
+++ b/AtmOcnPetListProto/nuopcRun.config
@@ -0,0 +1,6 @@
+globalResourceControl: .false.
+logKindFlag: ESMF_LOGKIND_MULTI
+logAppendFlag: .false.
+
+ATM_petlist: 0-1 3
+OCN_petlist: 2-3
diff --git a/AtmOcnPetListProto/nuopcRun.yaml b/AtmOcnPetListProto/nuopcRun.yaml
new file mode 100644
index 00000000..f1b399cf
--- /dev/null
+++ b/AtmOcnPetListProto/nuopcRun.yaml
@@ -0,0 +1,8 @@
+ESMF:
+ APP:
+ globalResourceControl: FALSE
+ logKindFlag: ESMF_LOGKIND_MULTI
+ logAppendFlag: false
+
+ATM_petlist: [0-1, 3]
+OCN_petlist: 2-3
diff --git a/AtmOcnPetListProto/ocn.F90 b/AtmOcnPetListProto/ocn.F90
index 814938e3..66afdfc4 100644
--- a/AtmOcnPetListProto/ocn.F90
+++ b/AtmOcnPetListProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
@@ -117,6 +117,14 @@ subroutine Advertise(model, rc)
line=__LINE__, &
file=__FILE__)) &
return ! bail out
+
+ ! importable field: magnitude_of_surface_downward_stress
+ call NUOPC_Advertise(importState, &
+ StandardName="magnitude_of_surface_downward_stress", name="msds", rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
#endif
! exportable field: sea_surface_temperature
@@ -295,8 +303,31 @@ subroutine Realize(model, rc)
file=__FILE__)) &
return ! bail out
- ! importable field on Mesh: precipitation_flux
- field = ESMF_FieldCreate(name="precip", mesh=meshIn, &
+ ! importable field on Mesh or Grid: precipitation_flux
+ field = ESMF_FieldCreate(name="precip", &
+#if 1
+ mesh=meshIn, &
+#else
+ grid=gridIn, &
+#endif
+ typekind=ESMF_TYPEKIND_R8, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call NUOPC_Realize(importState, field=field, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+
+ ! importable field on Mesh or Grid: magnitude_of_surface_downward_stress
+ field = ESMF_FieldCreate(name="msds", &
+#if 1
+ mesh=meshIn, &
+#else
+ grid=gridIn, &
+#endif
typekind=ESMF_TYPEKIND_R8, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
diff --git a/AtmOcnProto/atm.F90 b/AtmOcnProto/atm.F90
index 4e929f2b..def39f2d 100644
--- a/AtmOcnProto/atm.F90
+++ b/AtmOcnProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnProto/esm.F90 b/AtmOcnProto/esm.F90
index 9b84b81c..ed76223b 100644
--- a/AtmOcnProto/esm.F90
+++ b/AtmOcnProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnProto/esmApp.F90 b/AtmOcnProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnProto/esmApp.F90
+++ b/AtmOcnProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnProto/ocn.F90 b/AtmOcnProto/ocn.F90
index bea76568..d9dd9408 100644
--- a/AtmOcnProto/ocn.F90
+++ b/AtmOcnProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnRtmTwoTimescalesProto/atm.F90 b/AtmOcnRtmTwoTimescalesProto/atm.F90
index 6fd0ea91..0773abdc 100644
--- a/AtmOcnRtmTwoTimescalesProto/atm.F90
+++ b/AtmOcnRtmTwoTimescalesProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnRtmTwoTimescalesProto/esm.F90 b/AtmOcnRtmTwoTimescalesProto/esm.F90
index 95be40de..646b0b97 100644
--- a/AtmOcnRtmTwoTimescalesProto/esm.F90
+++ b/AtmOcnRtmTwoTimescalesProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnRtmTwoTimescalesProto/esmApp.F90 b/AtmOcnRtmTwoTimescalesProto/esmApp.F90
index c14730d9..607f06c5 100644
--- a/AtmOcnRtmTwoTimescalesProto/esmApp.F90
+++ b/AtmOcnRtmTwoTimescalesProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnRtmTwoTimescalesProto/ocn.F90 b/AtmOcnRtmTwoTimescalesProto/ocn.F90
index 9754df9a..3e387bcf 100644
--- a/AtmOcnRtmTwoTimescalesProto/ocn.F90
+++ b/AtmOcnRtmTwoTimescalesProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnRtmTwoTimescalesProto/rtm.F90 b/AtmOcnRtmTwoTimescalesProto/rtm.F90
index 6173f859..48e3a184 100644
--- a/AtmOcnRtmTwoTimescalesProto/rtm.F90
+++ b/AtmOcnRtmTwoTimescalesProto/rtm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnScalarProto/atm.F90 b/AtmOcnScalarProto/atm.F90
index d2ff068d..0630ad78 100644
--- a/AtmOcnScalarProto/atm.F90
+++ b/AtmOcnScalarProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnScalarProto/esm.F90 b/AtmOcnScalarProto/esm.F90
index 29792ef7..70b145f0 100644
--- a/AtmOcnScalarProto/esm.F90
+++ b/AtmOcnScalarProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnScalarProto/esmApp.F90 b/AtmOcnScalarProto/esmApp.F90
index cfddcd74..4072f393 100644
--- a/AtmOcnScalarProto/esmApp.F90
+++ b/AtmOcnScalarProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnScalarProto/ocn.F90 b/AtmOcnScalarProto/ocn.F90
index 1bedb100..09ecd6bc 100644
--- a/AtmOcnScalarProto/ocn.F90
+++ b/AtmOcnScalarProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/ATM-A/atmA.F90 b/AtmOcnSelectExternalProto/ATM-A/atmA.F90
index 57ec33a9..83c1ab20 100644
--- a/AtmOcnSelectExternalProto/ATM-A/atmA.F90
+++ b/AtmOcnSelectExternalProto/ATM-A/atmA.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/ATM-B/atmB.F90 b/AtmOcnSelectExternalProto/ATM-B/atmB.F90
index 20dcdc84..e2c51c51 100644
--- a/AtmOcnSelectExternalProto/ATM-B/atmB.F90
+++ b/AtmOcnSelectExternalProto/ATM-B/atmB.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/ATM-B/procedure.F90 b/AtmOcnSelectExternalProto/ATM-B/procedure.F90
index 191e5547..b3530807 100644
--- a/AtmOcnSelectExternalProto/ATM-B/procedure.F90
+++ b/AtmOcnSelectExternalProto/ATM-B/procedure.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/ATM-C/atmC.F90 b/AtmOcnSelectExternalProto/ATM-C/atmC.F90
index 3d8a8218..bfd9efb2 100644
--- a/AtmOcnSelectExternalProto/ATM-C/atmC.F90
+++ b/AtmOcnSelectExternalProto/ATM-C/atmC.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/ATM-C/procedure.F90 b/AtmOcnSelectExternalProto/ATM-C/procedure.F90
index ea2e7c0f..4a86fcd9 100644
--- a/AtmOcnSelectExternalProto/ATM-C/procedure.F90
+++ b/AtmOcnSelectExternalProto/ATM-C/procedure.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/ATM-D/atmD.F90 b/AtmOcnSelectExternalProto/ATM-D/atmD.F90
index b2885458..57fa805e 100644
--- a/AtmOcnSelectExternalProto/ATM-D/atmD.F90
+++ b/AtmOcnSelectExternalProto/ATM-D/atmD.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/ATM-E/atmE.F90 b/AtmOcnSelectExternalProto/ATM-E/atmE.F90
index 163a4167..65907b60 100644
--- a/AtmOcnSelectExternalProto/ATM-E/atmE.F90
+++ b/AtmOcnSelectExternalProto/ATM-E/atmE.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/ATM-F/atmF.C b/AtmOcnSelectExternalProto/ATM-F/atmF.C
index 483e641d..30ea7611 100644
--- a/AtmOcnSelectExternalProto/ATM-F/atmF.C
+++ b/AtmOcnSelectExternalProto/ATM-F/atmF.C
@@ -1,6 +1,6 @@
//==============================================================================
// Earth System Modeling Framework
-// Copyright 2002-2022, University Corporation for Atmospheric Research,
+// Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
// Massachusetts Institute of Technology, Geophysical Fluid Dynamics
// Laboratory, University of Michigan, National Centers for Environmental
// Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/OcnCommon/ocnCommon.F90 b/AtmOcnSelectExternalProto/OcnCommon/ocnCommon.F90
index 291f810f..cedaa2c4 100644
--- a/AtmOcnSelectExternalProto/OcnCommon/ocnCommon.F90
+++ b/AtmOcnSelectExternalProto/OcnCommon/ocnCommon.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/OcnCommon/subModule1.F90 b/AtmOcnSelectExternalProto/OcnCommon/subModule1.F90
index 37f95a63..9b06acca 100644
--- a/AtmOcnSelectExternalProto/OcnCommon/subModule1.F90
+++ b/AtmOcnSelectExternalProto/OcnCommon/subModule1.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/OcnCommon/subModule2.F90 b/AtmOcnSelectExternalProto/OcnCommon/subModule2.F90
index 6dc8f6d4..686f9493 100644
--- a/AtmOcnSelectExternalProto/OcnCommon/subModule2.F90
+++ b/AtmOcnSelectExternalProto/OcnCommon/subModule2.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/OcnModelA/ocn.F90 b/AtmOcnSelectExternalProto/OcnModelA/ocn.F90
index 4cd21b60..06782237 100644
--- a/AtmOcnSelectExternalProto/OcnModelA/ocn.F90
+++ b/AtmOcnSelectExternalProto/OcnModelA/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/OcnModelB/ocn.F90 b/AtmOcnSelectExternalProto/OcnModelB/ocn.F90
index 16fa5946..3675950c 100644
--- a/AtmOcnSelectExternalProto/OcnModelB/ocn.F90
+++ b/AtmOcnSelectExternalProto/OcnModelB/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/OcnModelC/ocn.F90 b/AtmOcnSelectExternalProto/OcnModelC/ocn.F90
index 4a4caaaf..39150be1 100644
--- a/AtmOcnSelectExternalProto/OcnModelC/ocn.F90
+++ b/AtmOcnSelectExternalProto/OcnModelC/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/esm.F90 b/AtmOcnSelectExternalProto/esm.F90
index 6b72ab0c..13e29876 100644
--- a/AtmOcnSelectExternalProto/esm.F90
+++ b/AtmOcnSelectExternalProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectExternalProto/esmApp.F90 b/AtmOcnSelectExternalProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnSelectExternalProto/esmApp.F90
+++ b/AtmOcnSelectExternalProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectProto/atmA.F90 b/AtmOcnSelectProto/atmA.F90
index 57ec33a9..83c1ab20 100644
--- a/AtmOcnSelectProto/atmA.F90
+++ b/AtmOcnSelectProto/atmA.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectProto/atmB.F90 b/AtmOcnSelectProto/atmB.F90
index 8ba60464..fbd5e8c0 100644
--- a/AtmOcnSelectProto/atmB.F90
+++ b/AtmOcnSelectProto/atmB.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectProto/esm.F90 b/AtmOcnSelectProto/esm.F90
index 57d1b737..b9d6d958 100644
--- a/AtmOcnSelectProto/esm.F90
+++ b/AtmOcnSelectProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectProto/esmApp.F90 b/AtmOcnSelectProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnSelectProto/esmApp.F90
+++ b/AtmOcnSelectProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectProto/ocnA.F90 b/AtmOcnSelectProto/ocnA.F90
index aa533270..8813f9fb 100644
--- a/AtmOcnSelectProto/ocnA.F90
+++ b/AtmOcnSelectProto/ocnA.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSelectProto/ocnB.F90 b/AtmOcnSelectProto/ocnB.F90
index 7d578ccd..3c12ccdb 100644
--- a/AtmOcnSelectProto/ocnB.F90
+++ b/AtmOcnSelectProto/ocnB.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSimpleImplicitProto/atm.F90 b/AtmOcnSimpleImplicitProto/atm.F90
index 53e19b8b..230f9801 100644
--- a/AtmOcnSimpleImplicitProto/atm.F90
+++ b/AtmOcnSimpleImplicitProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSimpleImplicitProto/esm.F90 b/AtmOcnSimpleImplicitProto/esm.F90
index 74e415b2..e0146974 100644
--- a/AtmOcnSimpleImplicitProto/esm.F90
+++ b/AtmOcnSimpleImplicitProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSimpleImplicitProto/esmApp.F90 b/AtmOcnSimpleImplicitProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnSimpleImplicitProto/esmApp.F90
+++ b/AtmOcnSimpleImplicitProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnSimpleImplicitProto/ocn.F90 b/AtmOcnSimpleImplicitProto/ocn.F90
index b6d8140f..676159b5 100644
--- a/AtmOcnSimpleImplicitProto/ocn.F90
+++ b/AtmOcnSimpleImplicitProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnTransferGridProto/atm.F90 b/AtmOcnTransferGridProto/atm.F90
index 76e74853..52ac4b6d 100644
--- a/AtmOcnTransferGridProto/atm.F90
+++ b/AtmOcnTransferGridProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnTransferGridProto/esm.F90 b/AtmOcnTransferGridProto/esm.F90
index 346a24bd..82af2255 100644
--- a/AtmOcnTransferGridProto/esm.F90
+++ b/AtmOcnTransferGridProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnTransferGridProto/esmApp.F90 b/AtmOcnTransferGridProto/esmApp.F90
index 70fb4e33..87c4c4f3 100644
--- a/AtmOcnTransferGridProto/esmApp.F90
+++ b/AtmOcnTransferGridProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnTransferGridProto/ocn.F90 b/AtmOcnTransferGridProto/ocn.F90
index 002f420a..bfff37f9 100644
--- a/AtmOcnTransferGridProto/ocn.F90
+++ b/AtmOcnTransferGridProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnTransferLocStreamProto/atm.F90 b/AtmOcnTransferLocStreamProto/atm.F90
index b6442b5b..28758b35 100644
--- a/AtmOcnTransferLocStreamProto/atm.F90
+++ b/AtmOcnTransferLocStreamProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnTransferLocStreamProto/esm.F90 b/AtmOcnTransferLocStreamProto/esm.F90
index c9eaedaa..8a822c7f 100644
--- a/AtmOcnTransferLocStreamProto/esm.F90
+++ b/AtmOcnTransferLocStreamProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnTransferLocStreamProto/esmApp.F90 b/AtmOcnTransferLocStreamProto/esmApp.F90
index 2abfeaf0..a253a7ed 100644
--- a/AtmOcnTransferLocStreamProto/esmApp.F90
+++ b/AtmOcnTransferLocStreamProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnTransferLocStreamProto/ocn.F90 b/AtmOcnTransferLocStreamProto/ocn.F90
index 428271b6..086c9e77 100644
--- a/AtmOcnTransferLocStreamProto/ocn.F90
+++ b/AtmOcnTransferLocStreamProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnTransferMeshProto/atm.F90 b/AtmOcnTransferMeshProto/atm.F90
index a63f2713..ee92044d 100644
--- a/AtmOcnTransferMeshProto/atm.F90
+++ b/AtmOcnTransferMeshProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnTransferMeshProto/esm.F90 b/AtmOcnTransferMeshProto/esm.F90
index 7ae86014..df19e6a3 100644
--- a/AtmOcnTransferMeshProto/esm.F90
+++ b/AtmOcnTransferMeshProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnTransferMeshProto/esmApp.F90 b/AtmOcnTransferMeshProto/esmApp.F90
index 2483da05..9bb582ee 100644
--- a/AtmOcnTransferMeshProto/esmApp.F90
+++ b/AtmOcnTransferMeshProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/AtmOcnTransferMeshProto/ocn.F90 b/AtmOcnTransferMeshProto/ocn.F90
index 6e1573a7..f9b81ddf 100644
--- a/AtmOcnTransferMeshProto/ocn.F90
+++ b/AtmOcnTransferMeshProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ComponentExplorer/nuopcExplorerApp.F90 b/ComponentExplorer/nuopcExplorerApp.F90
index dc48bba4..cdb0c416 100644
--- a/ComponentExplorer/nuopcExplorerApp.F90
+++ b/ComponentExplorer/nuopcExplorerApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ComponentExplorer/nuopcExplorerDriver.F90 b/ComponentExplorer/nuopcExplorerDriver.F90
index 88e50e67..3d717239 100644
--- a/ComponentExplorer/nuopcExplorerDriver.F90
+++ b/ComponentExplorer/nuopcExplorerDriver.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ComponentExplorer/nuopcExplorerScript b/ComponentExplorer/nuopcExplorerScript
index cd18504d..b8d10e7a 100755
--- a/ComponentExplorer/nuopcExplorerScript
+++ b/ComponentExplorer/nuopcExplorerScript
@@ -2,7 +2,7 @@
#==============================================================================
# Earth System Modeling Framework
-# Copyright 2002-2022, University Corporation for Atmospheric Research,
+# Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
# Massachusetts Institute of Technology, Geophysical Fluid Dynamics
# Laboratory, University of Michigan, National Centers for Environmental
# Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/CustomFieldDictionaryProto/driver.F90 b/CustomFieldDictionaryProto/driver.F90
index 7157cea9..13ce2278 100644
--- a/CustomFieldDictionaryProto/driver.F90
+++ b/CustomFieldDictionaryProto/driver.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/CustomFieldDictionaryProto/mainApp.F90 b/CustomFieldDictionaryProto/mainApp.F90
index 595deac0..e70f90c7 100644
--- a/CustomFieldDictionaryProto/mainApp.F90
+++ b/CustomFieldDictionaryProto/mainApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/CustomFieldDictionaryProto/model.F90 b/CustomFieldDictionaryProto/model.F90
index e73ced94..635b1360 100644
--- a/CustomFieldDictionaryProto/model.F90
+++ b/CustomFieldDictionaryProto/model.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/CustomFieldDictionaryProto/util.F90 b/CustomFieldDictionaryProto/util.F90
index 564af4b7..f5a8aa56 100644
--- a/CustomFieldDictionaryProto/util.F90
+++ b/CustomFieldDictionaryProto/util.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DriverInDriverDataDepProto/atm.F90 b/DriverInDriverDataDepProto/atm.F90
index 0345aa6f..27f557ca 100644
--- a/DriverInDriverDataDepProto/atm.F90
+++ b/DriverInDriverDataDepProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DriverInDriverDataDepProto/driverChildComp.F90 b/DriverInDriverDataDepProto/driverChildComp.F90
index a8a73e48..371bfa2f 100644
--- a/DriverInDriverDataDepProto/driverChildComp.F90
+++ b/DriverInDriverDataDepProto/driverChildComp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DriverInDriverDataDepProto/driverParentComp.F90 b/DriverInDriverDataDepProto/driverParentComp.F90
index fbb93da1..d5d323e6 100644
--- a/DriverInDriverDataDepProto/driverParentComp.F90
+++ b/DriverInDriverDataDepProto/driverParentComp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DriverInDriverDataDepProto/mainApp.F90 b/DriverInDriverDataDepProto/mainApp.F90
index 2c7308bd..181da048 100644
--- a/DriverInDriverDataDepProto/mainApp.F90
+++ b/DriverInDriverDataDepProto/mainApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DriverInDriverDataDepProto/ocn.F90 b/DriverInDriverDataDepProto/ocn.F90
index 665320b6..062f1335 100644
--- a/DriverInDriverDataDepProto/ocn.F90
+++ b/DriverInDriverDataDepProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DriverInDriverProto/atm.F90 b/DriverInDriverProto/atm.F90
index bd0552aa..bdc66064 100644
--- a/DriverInDriverProto/atm.F90
+++ b/DriverInDriverProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DriverInDriverProto/driverChildComp.F90 b/DriverInDriverProto/driverChildComp.F90
index a8a73e48..371bfa2f 100644
--- a/DriverInDriverProto/driverChildComp.F90
+++ b/DriverInDriverProto/driverChildComp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DriverInDriverProto/driverParentComp.F90 b/DriverInDriverProto/driverParentComp.F90
index fbb93da1..d5d323e6 100644
--- a/DriverInDriverProto/driverParentComp.F90
+++ b/DriverInDriverProto/driverParentComp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DriverInDriverProto/mainApp.F90 b/DriverInDriverProto/mainApp.F90
index 2c7308bd..181da048 100644
--- a/DriverInDriverProto/mainApp.F90
+++ b/DriverInDriverProto/mainApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DriverInDriverProto/ocn.F90 b/DriverInDriverProto/ocn.F90
index 86ea85e0..7cdf5a03 100644
--- a/DriverInDriverProto/ocn.F90
+++ b/DriverInDriverProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DynPhyProto/atm.F90 b/DynPhyProto/atm.F90
index 93cbf0cf..3f6fd081 100644
--- a/DynPhyProto/atm.F90
+++ b/DynPhyProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DynPhyProto/dyn.F90 b/DynPhyProto/dyn.F90
index 641c598d..3607295c 100644
--- a/DynPhyProto/dyn.F90
+++ b/DynPhyProto/dyn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DynPhyProto/esmApp.F90 b/DynPhyProto/esmApp.F90
index bf3911a7..261c93d3 100644
--- a/DynPhyProto/esmApp.F90
+++ b/DynPhyProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/DynPhyProto/phy.F90 b/DynPhyProto/phy.F90
index 029943fc..727226cb 100644
--- a/DynPhyProto/phy.F90
+++ b/DynPhyProto/phy.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ESMX_AtmOcnProto/Lumo/CMakeLists.txt b/ESMX_AtmOcnProto/Lumo/CMakeLists.txt
new file mode 100644
index 00000000..a8cda0cc
--- /dev/null
+++ b/ESMX_AtmOcnProto/Lumo/CMakeLists.txt
@@ -0,0 +1,32 @@
+cmake_minimum_required(VERSION 3.19)
+
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+find_package(ESMF 8.4.0 MODULE REQUIRED)
+
+if(NOT DEFINED CMAKE_Fortran_COMPILER)
+ set(CMAKE_Fortran_COMPILER "${ESMF_F90COMPILER}")
+endif()
+if(NOT DEFINED CMAKE_Fortran_FLAGS)
+ set(CMAKE_Fortran_FLAGS "${ESMF_F90COMPILEOPTS}")
+endif()
+
+project(Lumo
+ VERSION 1.0
+ LANGUAGES Fortran)
+
+add_library(Lumo lumo.F90)
+target_link_libraries(Lumo ESMF)
+
+install(TARGETS Lumo
+ EXPORT Lumo
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ INCLUDES DESTINATION mod
+)
+install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/
+ DESTINATION mod
+ FILES_MATCHING
+ PATTERN "*.mod"
+ PATTERN "CMakeFiles" EXCLUDE
+)
+install(EXPORT Lumo DESTINATION cmake)
diff --git a/ESMX_AtmOcnProto/Lumo/cmake/FindESMF.cmake b/ESMX_AtmOcnProto/Lumo/cmake/FindESMF.cmake
new file mode 100644
index 00000000..23efbb31
--- /dev/null
+++ b/ESMX_AtmOcnProto/Lumo/cmake/FindESMF.cmake
@@ -0,0 +1,142 @@
+# - Try to find ESMF
+#
+# Uses ESMFMKFILE to find the filepath of esmf.mk. If this is NOT set, then this
+# module will attempt to find esmf.mk. If ESMFMKFILE exists, then
+# ESMF_FOUND=TRUE and all ESMF makefile variables will be set in the global
+# scope. Optionally, set ESMF_MKGLOBALS to a string list to filter makefile
+# variables. For example, to globally scope only ESMF_LIBSDIR and ESMF_APPSDIR
+# variables, use this CMake command in CMakeLists.txt:
+#
+# set(ESMF_MKGLOBALS "LIBSDIR" "APPSDIR")
+
+# Set ESMFMKFILE as defined by system env variable. If it's not explicitly set
+# try to find esmf.mk file in default locations (ESMF_ROOT, CMAKE_PREFIX_PATH,
+# etc)
+if(NOT DEFINED ESMFMKFILE)
+ if(NOT DEFINED ENV{ESMFMKFILE})
+ find_path(ESMFMKFILE_PATH esmf.mk PATH_SUFFIXES lib lib64)
+ if(ESMFMKFILE_PATH)
+ set(ESMFMKFILE ${ESMFMKFILE_PATH}/esmf.mk)
+ message(STATUS "Found esmf.mk file ${ESMFMKFILE}")
+ endif()
+ else()
+ set(ESMFMKFILE $ENV{ESMFMKFILE})
+ endif()
+endif()
+
+# Only parse the mk file if it is found
+if(EXISTS ${ESMFMKFILE})
+ set(ESMFMKFILE ${ESMFMKFILE} CACHE FILEPATH "Path to esmf.mk file")
+ set(ESMF_FOUND TRUE CACHE BOOL "esmf.mk file found" FORCE)
+
+ # Read the mk file
+ file(STRINGS "${ESMFMKFILE}" esmfmkfile_contents)
+ # Parse each line in the mk file
+ foreach(str ${esmfmkfile_contents})
+ # Only consider uncommented lines
+ string(REGEX MATCH "^[^#]" def ${str})
+ # Line is not commented
+ if(def)
+ # Extract the variable name
+ string(REGEX MATCH "^[^=]+" esmf_varname ${str})
+ # Extract the variable's value
+ string(REGEX MATCH "=.+$" esmf_vardef ${str})
+ # Only for variables with a defined value
+ if(esmf_vardef)
+ # Get rid of the assignment string
+ string(SUBSTRING ${esmf_vardef} 1 -1 esmf_vardef)
+ # Remove whitespace
+ string(STRIP ${esmf_vardef} esmf_vardef)
+ # A string or single-valued list
+ if(NOT DEFINED ESMF_MKGLOBALS)
+ # Set in global scope
+ set(${esmf_varname} ${esmf_vardef})
+ # Don't display by default in GUI
+ mark_as_advanced(esmf_varname)
+ else() # Need to filter global promotion
+ foreach(m ${ESMF_MKGLOBALS})
+ string(FIND ${esmf_varname} ${m} match)
+ # Found the string
+ if(NOT ${match} EQUAL -1)
+ # Promote to global scope
+ set(${esmf_varname} ${esmf_vardef})
+ # Don't display by default in the GUI
+ mark_as_advanced(esmf_varname)
+ # No need to search for the current string filter
+ break()
+ endif()
+ endforeach()
+ endif()
+ endif()
+ endif()
+ endforeach()
+
+ # Construct ESMF_VERSION from ESMF_VERSION_STRING_GIT
+ # ESMF_VERSION_MAJOR and ESMF_VERSION_MINOR are defined in ESMFMKFILE
+ set(ESMF_VERSION 0)
+ set(ESMF_VERSION_PATCH ${ESMF_VERSION_REVISION})
+ set(ESMF_BETA_RELEASE FALSE)
+ if(ESMF_VERSION_BETASNAPSHOT MATCHES "^('T')$")
+ set(ESMF_BETA_RELEASE TRUE)
+ if(ESMF_VERSION_STRING_GIT MATCHES "^ESMF.*beta_snapshot")
+ set(ESMF_BETA_SNAPSHOT ${ESMF_VERSION_STRING_GIT})
+ elseif(ESMF_VERSION_STRING_GIT MATCHES "^v.\..\..b")
+ set(ESMF_BETA_SNAPSHOT ${ESMF_VERSION_STRING_GIT})
+ else()
+ set(ESMF_BETA_SNAPSHOT 0)
+ endif()
+ message(STATUS "Detected ESMF Beta snapshot: ${ESMF_BETA_SNAPSHOT}")
+ endif()
+ set(ESMF_VERSION "${ESMF_VERSION_MAJOR}.${ESMF_VERSION_MINOR}.${ESMF_VERSION_PATCH}")
+
+ # Find the ESMF library
+ if(USE_ESMF_STATIC_LIBS)
+ find_library(ESMF_LIBRARY_LOCATION NAMES libesmf.a PATHS ${ESMF_LIBSDIR} NO_DEFAULT_PATH)
+ if(ESMF_LIBRARY_LOCATION MATCHES "ESMF_LIBRARY_LOCATION-NOTFOUND")
+ message(WARNING "Static ESMF library (libesmf.a) not found in \
+ ${ESMF_LIBSDIR}. Try setting USE_ESMF_STATIC_LIBS=OFF")
+ endif()
+ if(NOT TARGET ESMF)
+ add_library(ESMF STATIC IMPORTED)
+ endif()
+ else()
+ find_library(ESMF_LIBRARY_LOCATION NAMES esmf PATHS ${ESMF_LIBSDIR} NO_DEFAULT_PATH)
+ if(ESMF_LIBRARY_LOCATION MATCHES "ESMF_LIBRARY_LOCATION-NOTFOUND")
+ message(WARNING "ESMF library not found in ${ESMF_LIBSDIR}.")
+ endif()
+ if(NOT TARGET ESMF)
+ add_library(ESMF UNKNOWN IMPORTED)
+ endif()
+ endif()
+
+ # Add ESMF include directories
+ set(ESMF_INCLUDE_DIRECTORIES "")
+ separate_arguments(_ESMF_F90COMPILEPATHS UNIX_COMMAND ${ESMF_F90COMPILEPATHS})
+ foreach(_ITEM ${_ESMF_F90COMPILEPATHS})
+ string(REGEX REPLACE "^-I" "" _ITEM "${_ITEM}")
+ list(APPEND ESMF_INCLUDE_DIRECTORIES ${_ITEM})
+ endforeach()
+
+ # Add ESMF link libraries
+ string(STRIP "${ESMF_F90LINKRPATHS} ${ESMF_F90ESMFLINKRPATHS} ${ESMF_F90ESMFLINKPATHS} ${ESMF_F90LINKPATHS} ${ESMF_F90LINKLIBS} ${ESMF_F90LINKOPTS}" ESMF_INTERFACE_LINK_LIBRARIES)
+
+ # Finalize find_package
+ include(FindPackageHandleStandardArgs)
+
+ find_package_handle_standard_args(
+ ${CMAKE_FIND_PACKAGE_NAME}
+ REQUIRED_VARS ESMF_LIBRARY_LOCATION
+ ESMF_INTERFACE_LINK_LIBRARIES
+ ESMF_F90COMPILEPATHS
+ VERSION_VAR ESMF_VERSION)
+
+ set_target_properties(ESMF PROPERTIES
+ IMPORTED_LOCATION "${ESMF_LIBRARY_LOCATION}"
+ INTERFACE_INCLUDE_DIRECTORIES "${ESMF_INCLUDE_DIRECTORIES}"
+ INTERFACE_LINK_LIBRARIES "${ESMF_INTERFACE_LINK_LIBRARIES}")
+
+else()
+ set(ESMF_FOUND FALSE CACHE BOOL "esmf.mk file NOT found" FORCE)
+ message(WARNING "ESMFMKFILE ${ESMFMKFILE} not found. Try setting ESMFMKFILE \
+ to esmf.mk location.")
+endif()
diff --git a/ESMX_AtmOcnProto/Lumo/lumo.F90 b/ESMX_AtmOcnProto/Lumo/lumo.F90
index 17d7466a..1ee1493a 100644
--- a/ESMX_AtmOcnProto/Lumo/lumo.F90
+++ b/ESMX_AtmOcnProto/Lumo/lumo.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
@@ -33,6 +33,12 @@ subroutine SetServices(model, rc)
type(ESMF_GridComp) :: model
integer, intent(out) :: rc
+ ! local variables
+ type(ESMF_Config) :: config
+ type(ESMF_HConfig) :: hconfig, hconfigNode
+ character(80) :: compLabel
+ character(:), allocatable :: badKey
+ logical :: isFlag
rc = ESMF_SUCCESS
! derive from NUOPC_Model
@@ -68,6 +74,51 @@ subroutine SetServices(model, rc)
file=__FILE__)) &
return ! bail out
+ ! validate config
+ call ESMF_GridCompGet(model, name=compLabel, configIsPresent=isFlag, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ if (isFlag) then
+ ! Config present, assert it is in the ESMX YAML format
+ call ESMF_GridCompGet(model, config=config, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call ESMF_ConfigGet(config, hconfig=hconfig, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ hconfigNode = ESMF_HConfigCreateAt(hconfig, keyString=compLabel, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ ! component responsibility to validate ESMX handled options here, and
+ ! potentially locally handled options
+ isFlag = ESMF_HConfigValidateMapKeys(hconfigNode, &
+ vocabulary=["model ", & ! ESMX handled option
+ "petList ", & ! ESMX handled option
+ "ompNumThreads", & ! ESMX handled option
+ "attributes " & ! ESMX handled option
+ ], badKey=badKey, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ if (.not.isFlag) then
+ call ESMF_LogSetError(ESMF_RC_ARG_WRONG, &
+ msg="An invalid key was found in config under "//trim(compLabel)// &
+ " (maybe a typo?): "//badKey, &
+ line=__LINE__, &
+ file=__FILE__, rcToReturn=rc)
+ return
+ endif
+ endif
+
end subroutine
!-----------------------------------------------------------------------------
@@ -316,6 +367,11 @@ subroutine Realize(model, rc)
! exportable field on Grid: sea_surface_temperature
field = ESMF_FieldCreate(name="sst", grid=gridOut, &
typekind=ESMF_TYPEKIND_R8, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call ESMF_FieldFill(field, dataFillScheme="const", const1=100.d0, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
@@ -329,6 +385,11 @@ subroutine Realize(model, rc)
! exportable field on Mesh: sea_surface_salinity
field = ESMF_FieldCreate(name="sss", mesh=meshOut, &
typekind=ESMF_TYPEKIND_R8, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call ESMF_FieldFill(field, dataFillScheme="const", const1=200.d0, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
diff --git a/ESMX_AtmOcnProto/Makefile b/ESMX_AtmOcnProto/Makefile
index a570c668..a066785c 100644
--- a/ESMX_AtmOcnProto/Makefile
+++ b/ESMX_AtmOcnProto/Makefile
@@ -29,10 +29,10 @@ ESMF_INTERNAL_MPIRUN := $(shell echo $(ESMF_INTERNAL_MPIRUN))
################################################################################
################################################################################
+EXE = install/bin/esmx_app
-esmx: esmxBuild.yaml
- cmake -H$(ESMF_ESMXDIR) -Bbuild
- cmake --build ./build
+$(EXE): esmxBuild.yaml
+ $(ESMF_APPSDIR)/ESMX_Builder
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
@@ -40,8 +40,9 @@ esmx: esmxBuild.yaml
dust:
rm -f PET*.ESMF_LogFile *.nc *.stdout
clean:
- rm -rf build
+ rm -rf build install
distclean: dust clean
+ cd TaWaS; make distclean
info:
@echo ==================================================================
@@ -51,4 +52,6 @@ info:
@echo ==================================================================
run:
- $(ESMF_INTERNAL_MPIRUN) -np 4 ./build/esmx
+ $(ESMF_INTERNAL_MPIRUN) -np 4 ./$(EXE)
+runAlt:
+ $(ESMF_INTERNAL_MPIRUN) -np 4 ./$(EXE) esmxRunAlt.yaml
diff --git a/ESMX_AtmOcnProto/README.md b/ESMX_AtmOcnProto/README.md
index c4586e81..81ec8e49 100644
--- a/ESMX_AtmOcnProto/README.md
+++ b/ESMX_AtmOcnProto/README.md
@@ -4,31 +4,49 @@
## Primary Artifacts
-Files and sub-directories that implement the concept demonstrated by the prototype. These are the primary artifacts to look at and to pattern actual user code after.
-
-- `esmxBuild.yaml` - Standard ESMX file describing the build dependencies of the `esmx` (the executable) on components Lumo and Tawas.
-- `esmxRun.config` - Standard ESMX file describing the run configuration: Lumo is OCN, Tawas is ATM, and defining the run sequence.
-- `Lumo` - Example OCN component that when built provides a CMake configuration that can be referenced by `esmxBuild.yaml`.
-- `TaWaS` - Example ATM component that when built provides a CMake configuration that can be referenced by `esmxBuild.yaml`.
-
+Files and sub-directories that implement the fundamental concept demonstrated by the prototype. These are the primary artifacts to look at and to pattern actual user code after.
+
+- `esmxBuild.yaml` - Standard ESMX YAML file describing the build dependencies of the `esmx_app` (the executable) on components Lumo and Tawas.
+- `esmxRun.yaml` - Standard ESMX YAML file describing the run configuration: Lumo is OCN, Tawas is ATM, and defining the run sequence.
+- `Lumo` - Example OCN component. It uses a simple CMake based build system.
+- `TaWaS` - Example ATM component. It uses a GNU Make based build system.
+
+### Usage
+
+1. Build the ESMX executable by using the command line tool:
+ ```
+ ESMX_Builder
+ ```
+ This assumes that the `bin` directory of the desired ESMF installation is present in the user's `PATH` environemnt variable. The `ESMX_Builder` tool first compiles all the required sub-components, and then links it into the final executable.
+2. Run the `./install/bin/esmx_app` executable on 4 PETs using the appropriate MPI launch procedure. E.g.:
+ ```
+ mpirun -np 4 ./install/bin/esmx_app
+ ```
+ Or using the alternative `esmxRun-Alt.yaml` configuration that uses `ESMX_Data` for `ATM`.
+ ```
+ mpirun -np 4 ./install/bin/esmx_app esmxRunAlt.yaml
+ ```
## Secondary Artifacts
-Files and sub-directories that are needed for the integration into the automated testing infrastructure. In some cases these artifacts might be interesting to look at, but caution should be used to not over interpret the implementation details as recommended use patterns.
-
-- `Makefile` - GNU Makefile that defines targets for convenience. Specifically the default target encapsulates the CMake commands needed for configuring and building `esmx`.
-- `buildSubs.sh` - Convenience script building the example components under the `Lumo` and `TaWaS` sub-directories.
-- `cleanSubs.sh` - Convenience script cleaning up build artifacts under the `Lumo` and `TaWaS` sub-directories.
-
-## Usage
-
-1. Build the example components by executing:
- `./buildSubs.sh`
-2. Inspect the `esmf.mk` file of your ESMF installation to find the appropriate `ESMF_ESMXDIR` variable:
- `more $ESMFMKFILE`
-3. Configure the ESMX build by passing the `ESMF_ESMXDIR` path via the `-H` option to `cmake`. This can either be done manually on the shell by just copying the path found in step 2, or setting an environment variable `ESMF_ESMXDIR`. Here the latter is assumed:
- `cmake -H$ESMF_ESMXDIR -Bbuild`
-4. Build the executable `esmx` under the `build` directory that was created in step 3:
- `cmake --build ./build`
-5. Executable `./build/esmx` can now be executed on 4 PETs using the system-specific MPI launch procedure. The executable must be able to access file `esmxRun.config`. It reads the run configuration and drives the system accordingly.
-
-For convenience, steps 2 through 5 are implemented as targets in the provided GNU Makefile.
+Files that are needed for the integration into ESMF's automated testing infrastructure for regression testing. These artifacts might be interesting to look at, but generally should *not* be used as patterns to follow in actual projects.
+
+- `Makefile` - GNU Makefile that defines targets that are used by the automated ESMF regression testing script.
+
+### Usage
+
+1. The default target of the `Makefile` calls the `ESMX_Builder` command line tool to build the ESMX executable:
+ ```
+ make
+ ```
+2. The `run` target of the `Makefile` uses the MPI launch procedure - identified by ESMF - to run `./install/bin/esmx_app` on 4 PETs.
+ ```
+ make run
+ ```
+ Or to run with the alternative `esmxRun-Alt.yaml` configuration that uses `ESMX_Data` for `ATM`.
+ ```
+ make runalt
+ ```
+3. The `distclean` target of the `Makefile` removes all of the generated files.
+ ```
+ make distclean
+ ```
diff --git a/ESMX_AtmOcnProto/TaWaS/Makefile b/ESMX_AtmOcnProto/TaWaS/Makefile
index d18eff36..4da13419 100644
--- a/ESMX_AtmOcnProto/TaWaS/Makefile
+++ b/ESMX_AtmOcnProto/TaWaS/Makefile
@@ -62,7 +62,7 @@ lib%.a: %.o
@echo "target_link_libraries(esmx_driver PUBLIC $*)" >> $@
# -----------------------------------------------------------------------------
-tawas.cmake:
+all: tawas.cmake
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
@@ -73,6 +73,10 @@ clean:
rm -f *.o *.a *.so *.mod *.mk tawas.cmake
distclean: dust clean
+rebuild:
+ $(MAKE) distclean
+ $(MAKE) all
+
info:
@echo ==================================================================
@echo ESMFMKFILE=$(ESMFMKFILE)
diff --git a/ESMX_AtmOcnProto/TaWaS/tawas.F90 b/ESMX_AtmOcnProto/TaWaS/tawas.F90
index c81e3829..9585b716 100644
--- a/ESMX_AtmOcnProto/TaWaS/tawas.F90
+++ b/ESMX_AtmOcnProto/TaWaS/tawas.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
@@ -33,6 +33,13 @@ subroutine SetServices(model, rc)
type(ESMF_GridComp) :: model
integer, intent(out) :: rc
+ ! local variables
+ type(ESMF_Config) :: config
+ type(ESMF_HConfig) :: hconfig, hconfigNode
+ character(80) :: compLabel
+ character(:), allocatable :: badKey
+ logical :: isFlag
+
rc = ESMF_SUCCESS
! derive from NUOPC_Model
@@ -62,6 +69,51 @@ subroutine SetServices(model, rc)
file=__FILE__)) &
return ! bail out
+ ! validate config
+ call ESMF_GridCompGet(model, name=compLabel, configIsPresent=isFlag, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ if (isFlag) then
+ ! Config present, assert it is in the ESMX YAML format
+ call ESMF_GridCompGet(model, config=config, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call ESMF_ConfigGet(config, hconfig=hconfig, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ hconfigNode = ESMF_HConfigCreateAt(hconfig, keyString=compLabel, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ ! component responsibility to validate ESMX handled options here, and
+ ! potentially locally handled options
+ isFlag = ESMF_HConfigValidateMapKeys(hconfigNode, &
+ vocabulary=["model ", & ! ESMX handled option
+ "petList ", & ! ESMX handled option
+ "ompNumThreads", & ! ESMX handled option
+ "attributes " & ! ESMX handled option
+ ], badKey=badKey, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ if (.not.isFlag) then
+ call ESMF_LogSetError(ESMF_RC_ARG_WRONG, &
+ msg="An invalid key was found in config under "//trim(compLabel)// &
+ " (maybe a typo?): "//badKey, &
+ line=__LINE__, &
+ file=__FILE__, rcToReturn=rc)
+ return
+ endif
+ endif
+
end subroutine
!-----------------------------------------------------------------------------
diff --git a/ESMX_AtmOcnProto/esmxBuild.yaml b/ESMX_AtmOcnProto/esmxBuild.yaml
index c87f0b2b..8eff360e 100644
--- a/ESMX_AtmOcnProto/esmxBuild.yaml
+++ b/ESMX_AtmOcnProto/esmxBuild.yaml
@@ -1,7 +1,8 @@
components:
+ Lumo:
+
tawas:
- cmake_config: TaWaS/tawas.cmake
+ source_dir: TaWaS
+ install_prefix: TaWaS
- lumo:
- cmake_config: Lumo/lumo.cmake
diff --git a/ESMX_AtmOcnProto/esmxRun.yaml b/ESMX_AtmOcnProto/esmxRun.yaml
new file mode 100644
index 00000000..c48df9c7
--- /dev/null
+++ b/ESMX_AtmOcnProto/esmxRun.yaml
@@ -0,0 +1,40 @@
+ESMX:
+
+ App:
+ globalResourceControl: true
+ logKindFlag: ESMF_LOGKIND_Multi
+ logAppendFlag: false
+ logFlush: true
+ startTime: 2012-10-24T18:00:00
+ stopTime: 2012-10-24T19:00:00
+
+ Driver:
+ componentList: [ATM, OCN]
+ attributes:
+ Verbosity: low
+ runSequence: |
+ @900
+ ATM -> OCN
+ OCN -> ATM
+ ATM
+ OCN
+ @
+
+attributes: &common # define an anchor so it can be used by multiple components
+ Verbosity: low # good default for Verbosity setting
+
+ATM:
+ model: Tawas # model value is case insensitive to match Fortran
+ ompNumThreads: 4
+ attributes:
+ <<: *common # use the attributes map via an alias common
+ Verbosity: high # override the setting from common alias
+ petList: [3, [2-0]] # petList is list of scalars and lists.
+ # each list again can be of scalars and lists
+ # recursively.
+
+OCN:
+ model: lumo
+ petList: [0-1, 3]
+ attributes:
+ <<: *common
diff --git a/ESMX_AtmOcnProto/esmxRunAlt.yaml b/ESMX_AtmOcnProto/esmxRunAlt.yaml
new file mode 100644
index 00000000..0f093081
--- /dev/null
+++ b/ESMX_AtmOcnProto/esmxRunAlt.yaml
@@ -0,0 +1,54 @@
+ESMX:
+
+ App:
+ globalResourceControl: true
+ logKindFlag: ESMF_LOGKIND_Multi
+ logAppendFlag: false
+ logFlush: true
+ startTime: 2012-10-24T18:00:00
+ stopTime: 2012-10-24T19:00:00
+
+ Driver:
+ componentList: [ATM, OCN]
+ attributes:
+ Verbosity: low
+ runSequence: |
+ @900
+ ATM -> OCN
+ OCN -> ATM
+ ATM
+ OCN
+ @
+
+ATM:
+ model: ESMX_Data # use the ESMX data component
+ ompNumThreads: 4
+ attributes:
+ Verbosity: low
+ petList: [3, [2-0]] # petList is list of scalars and lists.
+ # each list again can be of scalars and lists
+ # recursively.
+ geom:
+ nx: 10
+ ny: 100
+ minx: 10.
+ miny: 20.
+ maxx: 100.
+ maxy: 200.
+ coordSys: ESMF_COORDSYS_CART
+
+ importFields:
+ sea_surface_temperature: {dim: 2, min: 0.0, max: 100.1}
+ sea_surface_salinity: {dim: 2, min: 199.9, max: 200.1}
+
+ exportFields:
+ air_pressure_at_sea_level: {dim: 2, val: 2.5}
+ precipitation_flux: {dim: 2, val: 3.5}
+ surface_net_downward_shortwave_flux: {dim: 2, val: 4.5}
+
+
+OCN:
+ model: lumo
+ petList: [0-1, 3]
+ attributes:
+ Verbosity: low
diff --git a/ESMX_ExternalDriverAPIProto/CMakeLists.txt b/ESMX_ExternalDriverAPIProto/CMakeLists.txt
index 2c315b56..b1ac436f 100644
--- a/ESMX_ExternalDriverAPIProto/CMakeLists.txt
+++ b/ESMX_ExternalDriverAPIProto/CMakeLists.txt
@@ -1,11 +1,34 @@
-cmake_minimum_required(VERSION 3.5.2)
-enable_language(Fortran)
+cmake_minimum_required(VERSION 3.22)
+# Where to look for the local Find.cmake files
+list(APPEND CMAKE_MODULE_PATH "${ESMF_ESMXDIR}/Driver/cmake")
+
+# Find ESMF
+find_package(ESMF 8.5.0 MODULE REQUIRED)
+
+# Set compilers consistent with ESMF
+set(CMAKE_Fortran_COMPILER "${ESMF_F90COMPILER}")
+set(CMAKE_CXX_COMPILER "${ESMF_CXXCOMPILER}")
+set(CMAKE_C_COMPILER "${ESMF_CCOMPILER}")
+
+# Project
+project(ExternalDriverAPIProto
+ VERSION 1.0.0
+ LANGUAGES Fortran CXX C
+ )
+
+# Add ESMX driver
add_subdirectory(${ESMF_ESMXDIR}/Driver ./ESMX_Driver)
-# Specific project settings
-project(ExternalDriverAPIProto VERSION 0.1.0)
+# Create executable
add_executable(externalApp externalApp.F90)
target_include_directories(externalApp PUBLIC ${PROJECT_BINARY_DIR})
target_link_libraries(externalApp PUBLIC esmx_driver)
+# Install executable
+install(
+ TARGETS externalApp
+ EXPORT externalApp
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
diff --git a/ESMX_ExternalDriverAPIProto/Lumo/CMakeLists.txt b/ESMX_ExternalDriverAPIProto/Lumo/CMakeLists.txt
new file mode 100644
index 00000000..a8cda0cc
--- /dev/null
+++ b/ESMX_ExternalDriverAPIProto/Lumo/CMakeLists.txt
@@ -0,0 +1,32 @@
+cmake_minimum_required(VERSION 3.19)
+
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+find_package(ESMF 8.4.0 MODULE REQUIRED)
+
+if(NOT DEFINED CMAKE_Fortran_COMPILER)
+ set(CMAKE_Fortran_COMPILER "${ESMF_F90COMPILER}")
+endif()
+if(NOT DEFINED CMAKE_Fortran_FLAGS)
+ set(CMAKE_Fortran_FLAGS "${ESMF_F90COMPILEOPTS}")
+endif()
+
+project(Lumo
+ VERSION 1.0
+ LANGUAGES Fortran)
+
+add_library(Lumo lumo.F90)
+target_link_libraries(Lumo ESMF)
+
+install(TARGETS Lumo
+ EXPORT Lumo
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ INCLUDES DESTINATION mod
+)
+install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/
+ DESTINATION mod
+ FILES_MATCHING
+ PATTERN "*.mod"
+ PATTERN "CMakeFiles" EXCLUDE
+)
+install(EXPORT Lumo DESTINATION cmake)
diff --git a/ESMX_ExternalDriverAPIProto/Lumo/cmake/FindESMF.cmake b/ESMX_ExternalDriverAPIProto/Lumo/cmake/FindESMF.cmake
new file mode 100644
index 00000000..23efbb31
--- /dev/null
+++ b/ESMX_ExternalDriverAPIProto/Lumo/cmake/FindESMF.cmake
@@ -0,0 +1,142 @@
+# - Try to find ESMF
+#
+# Uses ESMFMKFILE to find the filepath of esmf.mk. If this is NOT set, then this
+# module will attempt to find esmf.mk. If ESMFMKFILE exists, then
+# ESMF_FOUND=TRUE and all ESMF makefile variables will be set in the global
+# scope. Optionally, set ESMF_MKGLOBALS to a string list to filter makefile
+# variables. For example, to globally scope only ESMF_LIBSDIR and ESMF_APPSDIR
+# variables, use this CMake command in CMakeLists.txt:
+#
+# set(ESMF_MKGLOBALS "LIBSDIR" "APPSDIR")
+
+# Set ESMFMKFILE as defined by system env variable. If it's not explicitly set
+# try to find esmf.mk file in default locations (ESMF_ROOT, CMAKE_PREFIX_PATH,
+# etc)
+if(NOT DEFINED ESMFMKFILE)
+ if(NOT DEFINED ENV{ESMFMKFILE})
+ find_path(ESMFMKFILE_PATH esmf.mk PATH_SUFFIXES lib lib64)
+ if(ESMFMKFILE_PATH)
+ set(ESMFMKFILE ${ESMFMKFILE_PATH}/esmf.mk)
+ message(STATUS "Found esmf.mk file ${ESMFMKFILE}")
+ endif()
+ else()
+ set(ESMFMKFILE $ENV{ESMFMKFILE})
+ endif()
+endif()
+
+# Only parse the mk file if it is found
+if(EXISTS ${ESMFMKFILE})
+ set(ESMFMKFILE ${ESMFMKFILE} CACHE FILEPATH "Path to esmf.mk file")
+ set(ESMF_FOUND TRUE CACHE BOOL "esmf.mk file found" FORCE)
+
+ # Read the mk file
+ file(STRINGS "${ESMFMKFILE}" esmfmkfile_contents)
+ # Parse each line in the mk file
+ foreach(str ${esmfmkfile_contents})
+ # Only consider uncommented lines
+ string(REGEX MATCH "^[^#]" def ${str})
+ # Line is not commented
+ if(def)
+ # Extract the variable name
+ string(REGEX MATCH "^[^=]+" esmf_varname ${str})
+ # Extract the variable's value
+ string(REGEX MATCH "=.+$" esmf_vardef ${str})
+ # Only for variables with a defined value
+ if(esmf_vardef)
+ # Get rid of the assignment string
+ string(SUBSTRING ${esmf_vardef} 1 -1 esmf_vardef)
+ # Remove whitespace
+ string(STRIP ${esmf_vardef} esmf_vardef)
+ # A string or single-valued list
+ if(NOT DEFINED ESMF_MKGLOBALS)
+ # Set in global scope
+ set(${esmf_varname} ${esmf_vardef})
+ # Don't display by default in GUI
+ mark_as_advanced(esmf_varname)
+ else() # Need to filter global promotion
+ foreach(m ${ESMF_MKGLOBALS})
+ string(FIND ${esmf_varname} ${m} match)
+ # Found the string
+ if(NOT ${match} EQUAL -1)
+ # Promote to global scope
+ set(${esmf_varname} ${esmf_vardef})
+ # Don't display by default in the GUI
+ mark_as_advanced(esmf_varname)
+ # No need to search for the current string filter
+ break()
+ endif()
+ endforeach()
+ endif()
+ endif()
+ endif()
+ endforeach()
+
+ # Construct ESMF_VERSION from ESMF_VERSION_STRING_GIT
+ # ESMF_VERSION_MAJOR and ESMF_VERSION_MINOR are defined in ESMFMKFILE
+ set(ESMF_VERSION 0)
+ set(ESMF_VERSION_PATCH ${ESMF_VERSION_REVISION})
+ set(ESMF_BETA_RELEASE FALSE)
+ if(ESMF_VERSION_BETASNAPSHOT MATCHES "^('T')$")
+ set(ESMF_BETA_RELEASE TRUE)
+ if(ESMF_VERSION_STRING_GIT MATCHES "^ESMF.*beta_snapshot")
+ set(ESMF_BETA_SNAPSHOT ${ESMF_VERSION_STRING_GIT})
+ elseif(ESMF_VERSION_STRING_GIT MATCHES "^v.\..\..b")
+ set(ESMF_BETA_SNAPSHOT ${ESMF_VERSION_STRING_GIT})
+ else()
+ set(ESMF_BETA_SNAPSHOT 0)
+ endif()
+ message(STATUS "Detected ESMF Beta snapshot: ${ESMF_BETA_SNAPSHOT}")
+ endif()
+ set(ESMF_VERSION "${ESMF_VERSION_MAJOR}.${ESMF_VERSION_MINOR}.${ESMF_VERSION_PATCH}")
+
+ # Find the ESMF library
+ if(USE_ESMF_STATIC_LIBS)
+ find_library(ESMF_LIBRARY_LOCATION NAMES libesmf.a PATHS ${ESMF_LIBSDIR} NO_DEFAULT_PATH)
+ if(ESMF_LIBRARY_LOCATION MATCHES "ESMF_LIBRARY_LOCATION-NOTFOUND")
+ message(WARNING "Static ESMF library (libesmf.a) not found in \
+ ${ESMF_LIBSDIR}. Try setting USE_ESMF_STATIC_LIBS=OFF")
+ endif()
+ if(NOT TARGET ESMF)
+ add_library(ESMF STATIC IMPORTED)
+ endif()
+ else()
+ find_library(ESMF_LIBRARY_LOCATION NAMES esmf PATHS ${ESMF_LIBSDIR} NO_DEFAULT_PATH)
+ if(ESMF_LIBRARY_LOCATION MATCHES "ESMF_LIBRARY_LOCATION-NOTFOUND")
+ message(WARNING "ESMF library not found in ${ESMF_LIBSDIR}.")
+ endif()
+ if(NOT TARGET ESMF)
+ add_library(ESMF UNKNOWN IMPORTED)
+ endif()
+ endif()
+
+ # Add ESMF include directories
+ set(ESMF_INCLUDE_DIRECTORIES "")
+ separate_arguments(_ESMF_F90COMPILEPATHS UNIX_COMMAND ${ESMF_F90COMPILEPATHS})
+ foreach(_ITEM ${_ESMF_F90COMPILEPATHS})
+ string(REGEX REPLACE "^-I" "" _ITEM "${_ITEM}")
+ list(APPEND ESMF_INCLUDE_DIRECTORIES ${_ITEM})
+ endforeach()
+
+ # Add ESMF link libraries
+ string(STRIP "${ESMF_F90LINKRPATHS} ${ESMF_F90ESMFLINKRPATHS} ${ESMF_F90ESMFLINKPATHS} ${ESMF_F90LINKPATHS} ${ESMF_F90LINKLIBS} ${ESMF_F90LINKOPTS}" ESMF_INTERFACE_LINK_LIBRARIES)
+
+ # Finalize find_package
+ include(FindPackageHandleStandardArgs)
+
+ find_package_handle_standard_args(
+ ${CMAKE_FIND_PACKAGE_NAME}
+ REQUIRED_VARS ESMF_LIBRARY_LOCATION
+ ESMF_INTERFACE_LINK_LIBRARIES
+ ESMF_F90COMPILEPATHS
+ VERSION_VAR ESMF_VERSION)
+
+ set_target_properties(ESMF PROPERTIES
+ IMPORTED_LOCATION "${ESMF_LIBRARY_LOCATION}"
+ INTERFACE_INCLUDE_DIRECTORIES "${ESMF_INCLUDE_DIRECTORIES}"
+ INTERFACE_LINK_LIBRARIES "${ESMF_INTERFACE_LINK_LIBRARIES}")
+
+else()
+ set(ESMF_FOUND FALSE CACHE BOOL "esmf.mk file NOT found" FORCE)
+ message(WARNING "ESMFMKFILE ${ESMFMKFILE} not found. Try setting ESMFMKFILE \
+ to esmf.mk location.")
+endif()
diff --git a/ESMX_ExternalDriverAPIProto/Lumo/lumo.F90 b/ESMX_ExternalDriverAPIProto/Lumo/lumo.F90
index 17d7466a..1ee1493a 100644
--- a/ESMX_ExternalDriverAPIProto/Lumo/lumo.F90
+++ b/ESMX_ExternalDriverAPIProto/Lumo/lumo.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
@@ -33,6 +33,12 @@ subroutine SetServices(model, rc)
type(ESMF_GridComp) :: model
integer, intent(out) :: rc
+ ! local variables
+ type(ESMF_Config) :: config
+ type(ESMF_HConfig) :: hconfig, hconfigNode
+ character(80) :: compLabel
+ character(:), allocatable :: badKey
+ logical :: isFlag
rc = ESMF_SUCCESS
! derive from NUOPC_Model
@@ -68,6 +74,51 @@ subroutine SetServices(model, rc)
file=__FILE__)) &
return ! bail out
+ ! validate config
+ call ESMF_GridCompGet(model, name=compLabel, configIsPresent=isFlag, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ if (isFlag) then
+ ! Config present, assert it is in the ESMX YAML format
+ call ESMF_GridCompGet(model, config=config, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call ESMF_ConfigGet(config, hconfig=hconfig, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ hconfigNode = ESMF_HConfigCreateAt(hconfig, keyString=compLabel, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ ! component responsibility to validate ESMX handled options here, and
+ ! potentially locally handled options
+ isFlag = ESMF_HConfigValidateMapKeys(hconfigNode, &
+ vocabulary=["model ", & ! ESMX handled option
+ "petList ", & ! ESMX handled option
+ "ompNumThreads", & ! ESMX handled option
+ "attributes " & ! ESMX handled option
+ ], badKey=badKey, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ if (.not.isFlag) then
+ call ESMF_LogSetError(ESMF_RC_ARG_WRONG, &
+ msg="An invalid key was found in config under "//trim(compLabel)// &
+ " (maybe a typo?): "//badKey, &
+ line=__LINE__, &
+ file=__FILE__, rcToReturn=rc)
+ return
+ endif
+ endif
+
end subroutine
!-----------------------------------------------------------------------------
@@ -316,6 +367,11 @@ subroutine Realize(model, rc)
! exportable field on Grid: sea_surface_temperature
field = ESMF_FieldCreate(name="sst", grid=gridOut, &
typekind=ESMF_TYPEKIND_R8, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call ESMF_FieldFill(field, dataFillScheme="const", const1=100.d0, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
@@ -329,6 +385,11 @@ subroutine Realize(model, rc)
! exportable field on Mesh: sea_surface_salinity
field = ESMF_FieldCreate(name="sss", mesh=meshOut, &
typekind=ESMF_TYPEKIND_R8, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call ESMF_FieldFill(field, dataFillScheme="const", const1=200.d0, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
diff --git a/ESMX_ExternalDriverAPIProto/Makefile b/ESMX_ExternalDriverAPIProto/Makefile
index d06bbe48..57a51715 100644
--- a/ESMX_ExternalDriverAPIProto/Makefile
+++ b/ESMX_ExternalDriverAPIProto/Makefile
@@ -1,3 +1,23 @@
+# GNU Makefile template for user ESMF application
+
+################################################################################
+################################################################################
+## This Makefile must be able to find the "esmf.mk" Makefile fragment in the ##
+## 'include' line below. Following the ESMF User's Guide, a complete ESMF ##
+## installation should ensure that a single environment variable "ESMFMKFILE" ##
+## is made available on the system. This variable should point to the ##
+## "esmf.mk" file. ##
+## ##
+## This example Makefile uses the "ESMFMKFILE" environment variable. ##
+## ##
+## If you notice that this Makefile cannot find variable ESMFMKFILE then ##
+## please contact the person responsible for the ESMF installation on your ##
+## system. ##
+## As a work-around you can simply hardcode the path to "esmf.mk" in the ##
+## include line below. However, doing so will render this Makefile a lot less ##
+## flexible and non-portable. ##
+################################################################################
+
ifneq ($(origin ESMFMKFILE), environment)
$(error Environment variable ESMFMKFILE was not set.)
endif
@@ -7,9 +27,15 @@ include $(ESMFMKFILE)
# strip quotes around the ESMF_INTERNAL_MPIRUN value
ESMF_INTERNAL_MPIRUN := $(shell echo $(ESMF_INTERNAL_MPIRUN))
-build/externalApp: externalApp.F90 esmxBuild.yaml
- cmake -H. -Bbuild -DESMF_ESMXDIR=$(ESMF_ESMXDIR)
+################################################################################
+################################################################################
+EXE = install/bin/externalApp
+
+
+$(EXE): externalApp.F90 esmxBuild.yaml
+ cmake -S. -Bbuild -DESMF_ESMXDIR=$(ESMF_ESMXDIR) -DCMAKE_INSTALL_PREFIX=install
cmake --build ./build
+ cmake --install ./build
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
@@ -17,8 +43,9 @@ build/externalApp: externalApp.F90 esmxBuild.yaml
dust:
rm -f PET*.ESMF_LogFile *.nc *.stdout
clean:
- rm -rf build
+ rm -rf build install
distclean: dust clean
+ cd TaWaS; make distclean
info:
@echo ==================================================================
@@ -28,4 +55,4 @@ info:
@echo ==================================================================
run:
- $(ESMF_INTERNAL_MPIRUN) -np 4 ./build/externalApp
+ $(ESMF_INTERNAL_MPIRUN) -np 4 ./$(EXE)
diff --git a/ESMX_ExternalDriverAPIProto/README.md b/ESMX_ExternalDriverAPIProto/README.md
index 3bfc3f83..efdcbb88 100644
--- a/ESMX_ExternalDriverAPIProto/README.md
+++ b/ESMX_ExternalDriverAPIProto/README.md
@@ -1,36 +1,47 @@
# ESMX_ExternalDriverAPIProto
-[ESMX](https://github.com/esmf-org/esmf/tree/develop/src/addon/ESMX) is used to implement a coupled system with two components (ATM and OCN). The `ESMX_Driver` is driven by an external application layer through the [External NUOPC Interface](https://earthsystemmodeling.org/docs/nightly/develop/NUOPC_refdoc/node3.html#SECTION00038000000000000000)
+[ESMX](https://github.com/esmf-org/esmf/tree/develop/src/addon/ESMX) is used to implement a coupled system with two components (ATM and OCN). The `ESMX_Driver` is instantiated by an external application layer through the [External NUOPC Interface](https://earthsystemmodeling.org/docs/nightly/develop/NUOPC_refdoc/node3.html#SECTION00038000000000000000).
## Primary Artifacts
-Files and sub-directories that implement the concept demonstrated by the prototype. These are the primary artifacts to look at and to pattern actual user code after.
+Files and sub-directories that implement the fundamental concept demonstrated by the prototype. These are the primary artifacts to look at and to pattern actual user code after.
- `externalApp.F90` - Top level Fortran `program` scope. This layer calls into the `ESMX_Driver` through the "External NUOPC Interface".
-- `CMakeLists.txt` - Top level CMake build that produces the executable. This pulls in ESMX as a subdirectory.
-- `esmxBuild.yaml` - Standard ESMX file describing the build dependencies of `ESMX_Driver` on components Lumo and Tawas.
-- `esmxRun.config` - Standard ESMX file describing the run configuration: Lumo is OCN, Tawas is ATM, and defining the run sequence.
-- `Lumo` - Example OCN component that when built provides a CMake configuration that can be referenced by `esmxBuild.yaml`.
-- `TaWaS` - Example ATM component that when built provides a CMake configuration that can be referenced by `esmxBuild.yaml`.
+- `CMakeLists.txt` - Top level CMake build that defines the rules of how to build the executable with its dependencies. This file references the ESMX build layer.
+- `esmxBuild.yaml` - Standard ESMX YAML file describing the build dependencies of `ESMX_Driver` on components Lumo and Tawas.
+- `esmxRun.yaml` - Standard ESMX YAML file describing the run configuration: Lumo is OCN, Tawas is ATM, and defining the run sequence.
+- `Lumo` - Example OCN component. It uses a simple CMake based build system.
+- `TaWaS` - Example ATM component. It uses a GNU Make based build system.
+
+1. Build the `externalApp` executable by using CMake directly from the command line:
+ ```
+ cmake -S. -Bbuild -DESMF_ESMXDIR=$ESMF_ESMXDIR -DCMAKE_INSTALL_PREFIX=install
+ cmake --build ./build
+ cmake --install ./build
+ ```
+ This assumes that the `ESMF_ESMXDIR` shell variable was set according to the desired ESMF installation. E.g. by inspecting `more $ESMFMKFILE`.
+2. Run the `./install/bin/esmx_app` executable on 4 PETs using the appropriate MPI launch procedure. E.g.:
+ ```
+ mpirun -np 4 ./install/bin/externalApp
+ ```
## Secondary Artifacts
-Files and sub-directories that are needed for the integration into the automated testing infrastructure. In some cases these artifacts might be interesting to look at, but caution should be used to not over interpret the implementation details as recommended use patterns.
+Files that are needed for the integration into ESMF's automated testing infrastructure for regression testing. These artifacts might be interesting to look at, but generally should *not* be used as patterns to follow in actual projects.
-- `Makefile` - GNU Makefile that defines targets for convenience. Specifically the default target encapsulates the CMake commands needed for configuring and building `ESMX_Driver`, and ultimately linking into the final executable.
-- `buildSubs.sh` - Convenience script building the example components under the `Lumo` and `TaWaS` sub-directories.
-- `cleanSubs.sh` - Convenience script cleaning up build artifacts under the `Lumo` and `TaWaS` sub-directories.
+- `Makefile` - GNU Makefile that defines targets that are used by the automated ESMF regression testing script.
-## Usage
+### Usage
-1. Build the example components by executing:
- `./buildSubs.sh`
-2. Inspect the `esmf.mk` file of your ESMF installation to find the appropriate `ESMF_ESMXDIR` variable:
- `more $ESMFMKFILE`
-3. Configure the top level CMake build to reference ESMX via the desired `ESMF_ESMXDIR` path. The `CMakeLists.txt` implements the ESMF_ESMXDIR option that needs to be set accordingly. This can either be done manually on the shell by just copying the path found in step 2, or setting an environment variable `ESMF_ESMXDIR`. Here the latter is assumed:
- `cmake -H. -Bbuild -DESMF_ESMXDIR=$ESMF_ESMXDIR`
-4. Build the local top level executable `externalApp` under the `build` directory that was created in step 3:
- `cmake --build ./build`
-5. Executable `./build/externalApp` can now be executed on 4 PETs using the system-specific MPI launch procedure. The executable must be able to access file `esmxRun.config`. The `ESMX_Driver` reads the run configuration and drives the system accordingly.
-
-For convenience, steps 2 through 5 are implemented as targets in the provided GNU Makefile.
+1. The default target of the `Makefile` calls the `CMake` command line tools to build the external executable:
+ ```
+ make
+ ```
+2. The `run` target of the `Makefile` uses the MPI launch procedure - identified by ESMF - to run `./install/bin/externalApp` on 4 PETs.
+ ```
+ make run
+ ```
+3. The `distclean` target of the `Makefile` removes all of the generated files.
+ ```
+ make distclean
+ ```
diff --git a/ESMX_ExternalDriverAPIProto/TaWaS/tawas.F90 b/ESMX_ExternalDriverAPIProto/TaWaS/tawas.F90
index c81e3829..9585b716 100644
--- a/ESMX_ExternalDriverAPIProto/TaWaS/tawas.F90
+++ b/ESMX_ExternalDriverAPIProto/TaWaS/tawas.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
@@ -33,6 +33,13 @@ subroutine SetServices(model, rc)
type(ESMF_GridComp) :: model
integer, intent(out) :: rc
+ ! local variables
+ type(ESMF_Config) :: config
+ type(ESMF_HConfig) :: hconfig, hconfigNode
+ character(80) :: compLabel
+ character(:), allocatable :: badKey
+ logical :: isFlag
+
rc = ESMF_SUCCESS
! derive from NUOPC_Model
@@ -62,6 +69,51 @@ subroutine SetServices(model, rc)
file=__FILE__)) &
return ! bail out
+ ! validate config
+ call ESMF_GridCompGet(model, name=compLabel, configIsPresent=isFlag, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ if (isFlag) then
+ ! Config present, assert it is in the ESMX YAML format
+ call ESMF_GridCompGet(model, config=config, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ call ESMF_ConfigGet(config, hconfig=hconfig, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ hconfigNode = ESMF_HConfigCreateAt(hconfig, keyString=compLabel, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ ! component responsibility to validate ESMX handled options here, and
+ ! potentially locally handled options
+ isFlag = ESMF_HConfigValidateMapKeys(hconfigNode, &
+ vocabulary=["model ", & ! ESMX handled option
+ "petList ", & ! ESMX handled option
+ "ompNumThreads", & ! ESMX handled option
+ "attributes " & ! ESMX handled option
+ ], badKey=badKey, rc=rc)
+ if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
+ line=__LINE__, &
+ file=__FILE__)) &
+ return ! bail out
+ if (.not.isFlag) then
+ call ESMF_LogSetError(ESMF_RC_ARG_WRONG, &
+ msg="An invalid key was found in config under "//trim(compLabel)// &
+ " (maybe a typo?): "//badKey, &
+ line=__LINE__, &
+ file=__FILE__, rcToReturn=rc)
+ return
+ endif
+ endif
+
end subroutine
!-----------------------------------------------------------------------------
diff --git a/ESMX_ExternalDriverAPIProto/esmxBuild.yaml b/ESMX_ExternalDriverAPIProto/esmxBuild.yaml
index c87f0b2b..8eff360e 100644
--- a/ESMX_ExternalDriverAPIProto/esmxBuild.yaml
+++ b/ESMX_ExternalDriverAPIProto/esmxBuild.yaml
@@ -1,7 +1,8 @@
components:
+ Lumo:
+
tawas:
- cmake_config: TaWaS/tawas.cmake
+ source_dir: TaWaS
+ install_prefix: TaWaS
- lumo:
- cmake_config: Lumo/lumo.cmake
diff --git a/ESMX_ExternalDriverAPIProto/esmxRun.yaml b/ESMX_ExternalDriverAPIProto/esmxRun.yaml
new file mode 100644
index 00000000..4694b5e8
--- /dev/null
+++ b/ESMX_ExternalDriverAPIProto/esmxRun.yaml
@@ -0,0 +1,26 @@
+ESMX:
+
+ Driver:
+ componentList: [ATM, OCN]
+ attributes:
+ Verbosity: low
+
+ runSequence: |
+ @*
+ ATM -> OCN
+ OCN -> ATM
+ ATM
+ OCN
+ @
+
+ATM:
+ model: Tawas
+ attributes:
+ Verbosity: low
+ petList: 0-1
+
+OCN:
+ model: lumo
+ petList: 2-3
+ attributes:
+ Verbosity: low
diff --git a/ESMX_ExternalDriverAPIProto/externalApp.F90 b/ESMX_ExternalDriverAPIProto/externalApp.F90
index c286ba49..85890ddd 100644
--- a/ESMX_ExternalDriverAPIProto/externalApp.F90
+++ b/ESMX_ExternalDriverAPIProto/externalApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
@@ -333,6 +333,6 @@ program externalApp
call ESMF_Finalize(endflag=ESMF_END_ABORT)
! Finalize ESMF
- call ESMF_Finalize()
+ call ESMF_Finalize(rc=rc)
end program
diff --git a/ExternalDriverAPIProto/atm.F90 b/ExternalDriverAPIProto/atm.F90
index 33142fbd..d24b74d4 100644
--- a/ExternalDriverAPIProto/atm.F90
+++ b/ExternalDriverAPIProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ExternalDriverAPIProto/esm.F90 b/ExternalDriverAPIProto/esm.F90
index 4ce95405..9f9e2ec9 100644
--- a/ExternalDriverAPIProto/esm.F90
+++ b/ExternalDriverAPIProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ExternalDriverAPIProto/externalApp.F90 b/ExternalDriverAPIProto/externalApp.F90
index 8b10f0c5..02c5a617 100644
--- a/ExternalDriverAPIProto/externalApp.F90
+++ b/ExternalDriverAPIProto/externalApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ExternalDriverAPIProto/ocn.F90 b/ExternalDriverAPIProto/ocn.F90
index 9770cab9..2000966f 100644
--- a/ExternalDriverAPIProto/ocn.F90
+++ b/ExternalDriverAPIProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ExternalDriverAPIWeakCplDAProto/atm.F90 b/ExternalDriverAPIWeakCplDAProto/atm.F90
index 33142fbd..d24b74d4 100644
--- a/ExternalDriverAPIWeakCplDAProto/atm.F90
+++ b/ExternalDriverAPIWeakCplDAProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ExternalDriverAPIWeakCplDAProto/atmDA.F90 b/ExternalDriverAPIWeakCplDAProto/atmDA.F90
index b81a3b8f..15f170c2 100644
--- a/ExternalDriverAPIWeakCplDAProto/atmDA.F90
+++ b/ExternalDriverAPIWeakCplDAProto/atmDA.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ExternalDriverAPIWeakCplDAProto/esm.F90 b/ExternalDriverAPIWeakCplDAProto/esm.F90
index 4ce95405..9f9e2ec9 100644
--- a/ExternalDriverAPIWeakCplDAProto/esm.F90
+++ b/ExternalDriverAPIWeakCplDAProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ExternalDriverAPIWeakCplDAProto/externalApp.F90 b/ExternalDriverAPIWeakCplDAProto/externalApp.F90
index 7adb01ec..7c4d2392 100644
--- a/ExternalDriverAPIWeakCplDAProto/externalApp.F90
+++ b/ExternalDriverAPIWeakCplDAProto/externalApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ExternalDriverAPIWeakCplDAProto/nuopc_da.F90 b/ExternalDriverAPIWeakCplDAProto/nuopc_da.F90
index edaf4a9a..e0a0fb36 100644
--- a/ExternalDriverAPIWeakCplDAProto/nuopc_da.F90
+++ b/ExternalDriverAPIWeakCplDAProto/nuopc_da.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ExternalDriverAPIWeakCplDAProto/ocn.F90 b/ExternalDriverAPIWeakCplDAProto/ocn.F90
index 9770cab9..2000966f 100644
--- a/ExternalDriverAPIWeakCplDAProto/ocn.F90
+++ b/ExternalDriverAPIWeakCplDAProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/ExternalDriverAPIWeakCplDAProto/ocnDA.F90 b/ExternalDriverAPIWeakCplDAProto/ocnDA.F90
index d40ee2f0..d783220b 100644
--- a/ExternalDriverAPIWeakCplDAProto/ocnDA.F90
+++ b/ExternalDriverAPIWeakCplDAProto/ocnDA.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/GenericMediatorProto/app.F90 b/GenericMediatorProto/app.F90
index e274ee26..25d52c0f 100644
--- a/GenericMediatorProto/app.F90
+++ b/GenericMediatorProto/app.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/GenericMediatorProto/driver.F90 b/GenericMediatorProto/driver.F90
index 837559c8..1467abd3 100644
--- a/GenericMediatorProto/driver.F90
+++ b/GenericMediatorProto/driver.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/GenericMediatorProto/mediator.F90 b/GenericMediatorProto/mediator.F90
index 83ff4e9e..857d5aca 100644
--- a/GenericMediatorProto/mediator.F90
+++ b/GenericMediatorProto/mediator.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/GenericMediatorProto/modelA.F90 b/GenericMediatorProto/modelA.F90
index 8cba2a25..f82c08b3 100644
--- a/GenericMediatorProto/modelA.F90
+++ b/GenericMediatorProto/modelA.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/GenericMediatorProto/modelB.F90 b/GenericMediatorProto/modelB.F90
index 3eb7c903..1dad2179 100644
--- a/GenericMediatorProto/modelB.F90
+++ b/GenericMediatorProto/modelB.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/HierarchyProto/atm.F90 b/HierarchyProto/atm.F90
index bc976a27..a608ce59 100644
--- a/HierarchyProto/atm.F90
+++ b/HierarchyProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/HierarchyProto/dyn.F90 b/HierarchyProto/dyn.F90
index a0afb899..f24008fa 100644
--- a/HierarchyProto/dyn.F90
+++ b/HierarchyProto/dyn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/HierarchyProto/esm.F90 b/HierarchyProto/esm.F90
index e7ab589f..c9cf4c4d 100644
--- a/HierarchyProto/esm.F90
+++ b/HierarchyProto/esm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/HierarchyProto/esmApp.F90 b/HierarchyProto/esmApp.F90
index f0196e88..1606488e 100644
--- a/HierarchyProto/esmApp.F90
+++ b/HierarchyProto/esmApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/HierarchyProto/ocn.F90 b/HierarchyProto/ocn.F90
index d163f475..84ecf126 100644
--- a/HierarchyProto/ocn.F90
+++ b/HierarchyProto/ocn.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/HierarchyProto/phy.F90 b/HierarchyProto/phy.F90
index f7bb3493..85189f25 100644
--- a/HierarchyProto/phy.F90
+++ b/HierarchyProto/phy.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/NamespaceProto/atm.F90 b/NamespaceProto/atm.F90
index f6f877ae..920a6e48 100644
--- a/NamespaceProto/atm.F90
+++ b/NamespaceProto/atm.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/NamespaceProto/driver.F90 b/NamespaceProto/driver.F90
index 37331675..5aa620db 100644
--- a/NamespaceProto/driver.F90
+++ b/NamespaceProto/driver.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/NamespaceProto/mainApp.F90 b/NamespaceProto/mainApp.F90
index e1532809..952f5ffc 100644
--- a/NamespaceProto/mainApp.F90
+++ b/NamespaceProto/mainApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/NamespaceProto/med.F90 b/NamespaceProto/med.F90
index 7ba46db8..62e47c2b 100644
--- a/NamespaceProto/med.F90
+++ b/NamespaceProto/med.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/NestingMultipleProto/advectDiffComp.F90 b/NestingMultipleProto/advectDiffComp.F90
index a86d3112..930c4e56 100644
--- a/NestingMultipleProto/advectDiffComp.F90
+++ b/NestingMultipleProto/advectDiffComp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/NestingMultipleProto/driverComp.F90 b/NestingMultipleProto/driverComp.F90
index 221fef9b..4fea72c2 100644
--- a/NestingMultipleProto/driverComp.F90
+++ b/NestingMultipleProto/driverComp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/NestingMultipleProto/mainApp.F90 b/NestingMultipleProto/mainApp.F90
index de9b653b..a61667ab 100644
--- a/NestingMultipleProto/mainApp.F90
+++ b/NestingMultipleProto/mainApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/NestingSingleProto/advectDiffComp.F90 b/NestingSingleProto/advectDiffComp.F90
index a7a16115..aa27a152 100644
--- a/NestingSingleProto/advectDiffComp.F90
+++ b/NestingSingleProto/advectDiffComp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/NestingSingleProto/driverComp.F90 b/NestingSingleProto/driverComp.F90
index ae19760f..54b93187 100644
--- a/NestingSingleProto/driverComp.F90
+++ b/NestingSingleProto/driverComp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/NestingSingleProto/mainApp.F90 b/NestingSingleProto/mainApp.F90
index de9b653b..a61667ab 100644
--- a/NestingSingleProto/mainApp.F90
+++ b/NestingSingleProto/mainApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/NestingTelescopeMultipleProto/advectDiffComp.F90 b/NestingTelescopeMultipleProto/advectDiffComp.F90
index fa5985b9..fd59baba 100644
--- a/NestingTelescopeMultipleProto/advectDiffComp.F90
+++ b/NestingTelescopeMultipleProto/advectDiffComp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/NestingTelescopeMultipleProto/driverComp.F90 b/NestingTelescopeMultipleProto/driverComp.F90
index 10d49d65..f1feed83 100644
--- a/NestingTelescopeMultipleProto/driverComp.F90
+++ b/NestingTelescopeMultipleProto/driverComp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/NestingTelescopeMultipleProto/mainApp.F90 b/NestingTelescopeMultipleProto/mainApp.F90
index de9b653b..a61667ab 100644
--- a/NestingTelescopeMultipleProto/mainApp.F90
+++ b/NestingTelescopeMultipleProto/mainApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/SingleModelOpenMPProto/driver.F90 b/SingleModelOpenMPProto/driver.F90
index 5f8a0695..07a5e148 100644
--- a/SingleModelOpenMPProto/driver.F90
+++ b/SingleModelOpenMPProto/driver.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/SingleModelOpenMPProto/mainApp.F90 b/SingleModelOpenMPProto/mainApp.F90
index 477be444..c5ea7af8 100644
--- a/SingleModelOpenMPProto/mainApp.F90
+++ b/SingleModelOpenMPProto/mainApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/SingleModelOpenMPProto/model.F90 b/SingleModelOpenMPProto/model.F90
index 9a5d629e..45ac8e0a 100644
--- a/SingleModelOpenMPProto/model.F90
+++ b/SingleModelOpenMPProto/model.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/SingleModelOpenMPUnawareProto/driver.F90 b/SingleModelOpenMPUnawareProto/driver.F90
index 39dfe3af..b0648160 100644
--- a/SingleModelOpenMPUnawareProto/driver.F90
+++ b/SingleModelOpenMPUnawareProto/driver.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/SingleModelOpenMPUnawareProto/mainApp.F90 b/SingleModelOpenMPUnawareProto/mainApp.F90
index 477be444..c5ea7af8 100644
--- a/SingleModelOpenMPUnawareProto/mainApp.F90
+++ b/SingleModelOpenMPUnawareProto/mainApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/SingleModelOpenMPUnawareProto/model.F90 b/SingleModelOpenMPUnawareProto/model.F90
index 9a5d629e..45ac8e0a 100644
--- a/SingleModelOpenMPUnawareProto/model.F90
+++ b/SingleModelOpenMPUnawareProto/model.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/SingleModelProto/driver.F90 b/SingleModelProto/driver.F90
index f35c1d65..7cce567b 100644
--- a/SingleModelProto/driver.F90
+++ b/SingleModelProto/driver.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/SingleModelProto/mainApp.F90 b/SingleModelProto/mainApp.F90
index e1532809..952f5ffc 100644
--- a/SingleModelProto/mainApp.F90
+++ b/SingleModelProto/mainApp.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/SingleModelProto/model.F90 b/SingleModelProto/model.F90
index b0fa5ffa..279503d5 100644
--- a/SingleModelProto/model.F90
+++ b/SingleModelProto/model.F90
@@ -1,6 +1,6 @@
!==============================================================================
! Earth System Modeling Framework
-! Copyright 2002-2022, University Corporation for Atmospheric Research,
+! Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics
! Laboratory, University of Michigan, National Centers for Environmental
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
diff --git a/testProtos.sh b/testProtos.sh
index 282a14d4..e7d5993a 100755
--- a/testProtos.sh
+++ b/testProtos.sh
@@ -2,7 +2,7 @@
#==============================================================================
# Earth System Modeling Framework
-# Copyright 2002-2022, University Corporation for Atmospheric Research,
+# Copyright (c) 2002-2023, University Corporation for Atmospheric Research,
# Massachusetts Institute of Technology, Geophysical Fluid Dynamics
# Laboratory, University of Michigan, National Centers for Environmental
# Prediction, Los Alamos National Laboratory, Argonne National Laboratory,
@@ -329,11 +329,9 @@ date
echo STARTING: $1
cd $1
make distclean
-./cleanSubs.sh
-./buildSubs.sh
make
set -x
-$ESMF_INTERNAL_MPIRUN -np 4 $TOOLRUN ./build/$2 > $2.stdout 2>&1
+$ESMF_INTERNAL_MPIRUN -np 4 $TOOLRUN ./install/bin/$2 > $2.stdout 2>&1
local result=$?
set +x
if [ $result -eq 0 ]
@@ -352,6 +350,52 @@ echo ---------------------------------------------------------------------------
echo
}
+function TestESMXwAltProto {
+((count++))
+testList[count]=$1
+echo ---------------------------------------------------------------------------
+date
+echo STARTING: $1
+cd $1
+make distclean
+make
+set -x
+$ESMF_INTERNAL_MPIRUN -np 4 $TOOLRUN ./install/bin/$2 > $2.stdout 2>&1
+local result=$?
+set +x
+if [ $result -eq 0 ]
+then
+testResult[count]="PASS"
+else
+testResult[count]="FAIL"
+fi
+mkdir -p ../$RESULTSDIR
+cp $2.stdout ../$RESULTSDIR/$1.stdout
+cat PET*.ESMF_LogFile > ../$RESULTSDIR/$1.Log
+echo ---------------------------------------------------------------------------
+((count++))
+testList[count]=$1-Alt
+make dust
+set -x
+$ESMF_INTERNAL_MPIRUN -np 4 $TOOLRUN ./install/bin/$2 esmxRunAlt.yaml > $2.stdout 2>&1
+local result=$?
+set +x
+if [ $result -eq 0 ]
+then
+testResult[count]="PASS"
+else
+testResult[count]="FAIL"
+fi
+mkdir -p ../$RESULTSDIR
+cp $2.stdout ../$RESULTSDIR/$1-Alt.stdout
+cat PET*.ESMF_LogFile > ../$RESULTSDIR/$1-Alt.Log
+echo FINISHED: $1
+cd ..
+date
+echo ---------------------------------------------------------------------------
+echo
+}
+
# function # proto directory # executable
TestProto AsyncIOBlockingProto asyncIOApp
TestProto AsyncIONonblockingProto asyncIOApp
@@ -400,7 +444,7 @@ export OMP_NUM_THREADS=3
TestProto SingleModelOpenMPUnawareProto mainApp
export OMP_NUM_THREADS=1
# - ESMX tests ----------------------------------------------------------------
-TestESMXProto ESMX_AtmOcnProto esmx
+TestESMXwAltProto ESMX_AtmOcnProto esmx_app
TestESMXProto ESMX_ExternalDriverAPIProto externalApp
date