[Ncep.list.nems.announce] nems r99229: Reversing accidental change to NEMS trunk.

Samuel.Trahan at noaa.gov Samuel.Trahan at noaa.gov
Mon Dec 4 16:24:59 UTC 2017


Friendly NEMS developers,

This is an automated email about a NEMS commit.

Project: nems
URL: https://svnemc.ncep.noaa.gov/projects/nems/trunk
Revision: 99229
Author:   samuel.trahan at noaa.gov
Date:     2017-12-04T16:24:00.491205Z
Message:
Reversing accidental change to NEMS trunk.


See attached file for full differences.


First 4000 bytes of differences:
Index: checkout/src/module_NEMS_GRID_COMP.F90
===================================================================
--- checkout/src/module_NEMS_GRID_COMP.F90	(revision 99220)
+++ checkout/src/module_NEMS_GRID_COMP.F90	(revision 99229)
@@ -691,499 +691,8 @@
 !
       END IF
 !
-!=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-!=-=-=-=-=-=-=-=-=-=-=-= ADDED BY SWD 27Nov2017  =-=-=-=-=-=-=-=-=-=-=-=
-!=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-!
 !-----------------------------------------------------------------------
-!***    Reconcile 'EARTH_exp_state' across all pets. [It was created only on src_petlist.]
-!-----------------------------------------------------------------------
 !
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-        !MESSAGE_CHECK = "  DEMO_init:  Reconciling 'src_exp_state' across global VM"
-        MESSAGE_CHECK = "  NEMS_init:  Reconciling 'earth_exp_state' across global VM"
-        CALL ESMF_LogWrite(MESSAGE_CHECK, ESMF_LOGMSG_INFO, rc = RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      DO i = 1, TOTAL_MEMBER
-!
-        IF(MEMBER_ID == i) THEN
-        CALL ESMF_StateReconcile(state=earth_exp_state(i)     &
-                                ,rc=rc)
-!
-          ESMF_ERR_RETURN(RC,RC_INIT)
-!
-          ESMF_ERR_RETURN(RC_USER,RC_INIT)
-!
-        END IF
-!
-      END DO
-!
-        CALL ESMF_VMBarrier(vm=VM_GLOBAL)
-!
-!-----------------------------------------------------------------------
-!***  Get the global VM (Virtual Machine).
-!***  Obtain the total task count and the local task ID.
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      !MESSAGE_CHECK="  DEMO_init:  Get the VM of the demo Grid Component"
-      MESSAGE_CHECK="  NEMS_init:  Get the VM of the NEMS Grid Component"
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=rc)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      CALL ESMF_GridCompGet(gridcomp = nems_grid_comp          &
-                           ,vm       = vm_global               &
-                           ,rc       = rc)
-!
-      ESMF_ERR_RETURN(RC,RC_INIT)
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      !MESSAGE_CHECK="  DEMO_init:  Get the #_global_tasks and mype_global from the global VM"
-      MESSAGE_CHECK="  NEMS_init:  Get the #_global_tasks and mype_global from the global VM"
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      CALL ESMF_VMGet(vm       = vm_global       &  !<-- The ESMF global Virtual Machine
-                     ,pecount  = global_tasks    &  !<-- Total # of MPI tasks
-                     ,localpet = mype_global     &  !<-- This task's global rank
-                     ,rc       = RC)
-!
-      ESMF_ERR_RETURN(RC,RC_INIT)
-!
-!-----------------------------------------------------------------------
-!***    Get Attributes from the configure file to create the PETlist for the dst_gridcomp
-!-----------------------------------------------------------------------
-!
-      CALL ESMF_VMBarrier(vm=vm_global)
-!
-!-----------------------------------------------------------------------
-!***  Extract the total number of (independent) nested domains
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      !MESSAGE_CHECK="  DEMO_init:  Extract the Total Number of Storms (nested domains) from Config File"
-      MESSAGE_CHECK="  NEMS_init:  Extract the Total Number of Storms (nested domains) from Config File"
-!     CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      cf_main=ESMF_Conf


... see attachment for the rest ...
-------------- next part --------------
Index: checkout/src/module_NEMS_GRID_COMP.F90
===================================================================
--- checkout/src/module_NEMS_GRID_COMP.F90	(revision 99220)
+++ checkout/src/module_NEMS_GRID_COMP.F90	(revision 99229)
@@ -691,499 +691,8 @@
 !
       END IF
 !
-!=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-!=-=-=-=-=-=-=-=-=-=-=-= ADDED BY SWD 27Nov2017  =-=-=-=-=-=-=-=-=-=-=-=
-!=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-!
 !-----------------------------------------------------------------------
-!***    Reconcile 'EARTH_exp_state' across all pets. [It was created only on src_petlist.]
-!-----------------------------------------------------------------------
 !
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-        !MESSAGE_CHECK = "  DEMO_init:  Reconciling 'src_exp_state' across global VM"
-        MESSAGE_CHECK = "  NEMS_init:  Reconciling 'earth_exp_state' across global VM"
-        CALL ESMF_LogWrite(MESSAGE_CHECK, ESMF_LOGMSG_INFO, rc = RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      DO i = 1, TOTAL_MEMBER
-!
-        IF(MEMBER_ID == i) THEN
-        CALL ESMF_StateReconcile(state=earth_exp_state(i)     &
-                                ,rc=rc)
-!
-          ESMF_ERR_RETURN(RC,RC_INIT)
-!
-          ESMF_ERR_RETURN(RC_USER,RC_INIT)
-!
-        END IF
-!
-      END DO
-!
-        CALL ESMF_VMBarrier(vm=VM_GLOBAL)
-!
-!-----------------------------------------------------------------------
-!***  Get the global VM (Virtual Machine).
-!***  Obtain the total task count and the local task ID.
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      !MESSAGE_CHECK="  DEMO_init:  Get the VM of the demo Grid Component"
-      MESSAGE_CHECK="  NEMS_init:  Get the VM of the NEMS Grid Component"
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=rc)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      CALL ESMF_GridCompGet(gridcomp = nems_grid_comp          &
-                           ,vm       = vm_global               &
-                           ,rc       = rc)
-!
-      ESMF_ERR_RETURN(RC,RC_INIT)
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      !MESSAGE_CHECK="  DEMO_init:  Get the #_global_tasks and mype_global from the global VM"
-      MESSAGE_CHECK="  NEMS_init:  Get the #_global_tasks and mype_global from the global VM"
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      CALL ESMF_VMGet(vm       = vm_global       &  !<-- The ESMF global Virtual Machine
-                     ,pecount  = global_tasks    &  !<-- Total # of MPI tasks
-                     ,localpet = mype_global     &  !<-- This task's global rank
-                     ,rc       = RC)
-!
-      ESMF_ERR_RETURN(RC,RC_INIT)
-!
-!-----------------------------------------------------------------------
-!***    Get Attributes from the configure file to create the PETlist for the dst_gridcomp
-!-----------------------------------------------------------------------
-!
-      CALL ESMF_VMBarrier(vm=vm_global)
-!
-!-----------------------------------------------------------------------
-!***  Extract the total number of (independent) nested domains
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      !MESSAGE_CHECK="  DEMO_init:  Extract the Total Number of Storms (nested domains) from Config File"
-      MESSAGE_CHECK="  NEMS_init:  Extract the Total Number of Storms (nested domains) from Config File"
-!     CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      cf_main=ESMF_ConfigCreate(rc=RC)
-!
-      CALL ESMF_ConfigLoadFile(config   = cf_main         &  !<-- The configure object
-                              ,filename = 'demo.conf'     &  !<-- The name of the configure file
-                              ,rc       = RC)
-!
-      ESMF_ERR_RETURN(RC,RC_INIT)
-!
-      CALL ESMF_ConfigGetAttribute(config = cf_main                     &  !<-- The DEMO configure object
-                                  ,value  = nstorms                     &  !<-- Total # of ensemble members
-                                  ,label  = 'total_storms:'             &  !<-- Flag in configure file
-                                  ,rc     = RC)
-!
-      ESMF_ERR_RETURN(RC,RC_INIT)
-!
-!-----------------------------------------------------------------------
-!***  Allocate a set of arrays for each storm.
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-        !MESSAGE_CHECK="  DEMO_init:  Allocate array to create unique 'dst gridded component' for each storm"
-        MESSAGE_CHECK="  NEMS_init:  Allocate array to create unique 'dst gridded component' for each storm"
-        CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      ALLOCATE(dst_gridcomp  (nstorms))
-      ALLOCATE(dst_imp_state (nstorms))
-      ALLOCATE(dst_exp_state (nstorms))
-      ALLOCATE(storm_name    (nstorms))
-      ALLOCATE(configfile    (nstorms))
-      ALLOCATE(cf_dst        (nstorms))
-!
-      ALLOCATE(src2dst_cplcomp   (nstorms))
-      ALLOCATE(src2dst_imp_state (nstorms))
-      ALLOCATE(src2dst_exp_state (nstorms))
-!
-      do i=1,nstorms
-        write(storm_name(i), '("storm0", I2.2)') i
-        write(configfile(i), '("dst.conf_0", I2.2)') i
-      end do
-!
-        CALL ESMF_VMBarrier(vm=vm_global)
-!
-!-----------------------------------------------------------------------
-!***  Create the configure object for (each of?) the 'dst gridded components'.
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-        MESSAGE_CHECK="  NEMS_init:  Create the dst.conf object"
-        CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      do i=1,nstorms
-        cf_dst(i)=ESMF_ConfigCreate(rc=RC)
-      end do
-!
-        CALL ESMF_VMBarrier(vm=vm_global)
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-        MESSAGE_CHECK="  NEMS_init:  Load the dst.conf object"
-        CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      do i=1,nstorms
-        CALL ESMF_ConfigLoadFile(config   = cf_dst(i)           &  !<-- The configure object
-                                ,filename = 'dst.conf_001'      &  !<-- The name of the configure file
-                                ,rc       = RC)
-!
-        ESMF_ERR_RETURN(RC,RC_INIT)
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-        MESSAGE_CHECK="  NEMS_init:  Extract Number of compute tasks in the I direction for each dst gridcomp"
-        CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-        CALL ESMF_ConfigGetAttribute(config=cf_dst(i)             &
-                                    ,value = dst_inpes            &
-                                    ,label ='dst_inpes:'          &
-                                    ,rc    =RC)
-!
-        ESMF_ERR_RETURN(RC,RC_INIT)
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-        MESSAGE_CHECK="  DEMO_init:  Extract Number of compute tasks in the J direction for each dst gridcomp"
-        CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-        CALL ESMF_ConfigGetAttribute(config=cf_dst(i)             &
-                                    ,value = dst_jnpes            &
-                                    ,label ='dst_jnpes:'          &
-                                    ,rc    =RC)
-!
-        ESMF_ERR_RETURN(RC,RC_INIT)
-      end do
-!
-!-----------------------------------------------------------------------
-!***  Create petlist for the DST Gridded Component
-!-----------------------------------------------------------------------
-!
-      dst_pets=dst_inpes*dst_jnpes
-!
-      allocate(dst_petlist(nstorms,dst_pets))
-!
-      !*define petlist for each storm
-      do i=1,nstorms
-        do j=1,dst_pets
-          dst_petlist(i,j)=(src_petlist_count-1)+((i-1)*dst_pets)+j
-        end do
-      end do
-!
-!-----------------------------------------------------------------------
-!***  Create the 'dst' Gridded Components
-!***
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      MESSAGE_CHECK="  NEMS_init:  Create dst Gridded Components"
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      do i=1,nstorms
-        dst_gridcomp(i) = ESMF_GridCompCreate(name=storm_name(i)         &  !<-- Name of the DST component
-                                             ,petlist=dst_petlist(i,:)   &  !<-- Element I's PE list
-                                             ,configFile=configfile(i)   &  !<-- Associate the name of the config $
-                                             ,rc=RC)
-!
-        if(rc.ne.0)write(0,*)"Check total processors in run script vs. # domains."
-        ESMF_ERR_RETURN(RC,RC_INIT)
-      end do
-!
-!-----------------------------------------------------------------------
-!***  Register the Initialize, Run, and Finalize routines
-!***  of the 'dst' gridded component.
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      MESSAGE_CHECK="  NEMS_init:  Register dst Init, Run, Finalize"
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      do i=1,nstorms
-        CALL ESMF_GridCompSetServices(gridcomp=dst_gridcomp(i)         &  !<-- The ith dst gridded component
-                                     ,userRoutine=dst_register        &  !<-- User's name for the Register routine
-                                     ,rc=RC)
-!
-        ESMF_ERR_RETURN(RC,RC_INIT)
-      end do
-!
-!-----------------------------------------------------------------------
-!***  Create the DST component's import/export states.
-!***  Currently they are not required to perform an actual function.
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-        MESSAGE_CHECK="  NEMS_init:  Create the (array of) DST import & export states"
-        CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      do i=1,nstorms
-        write(imp_state_name, '("storm0",I2.2,"_imp_state")') i
-!
-        dst_imp_state(i) = ESMF_StateCreate(name=imp_state_name     &
-                                           ,stateintent=ESMF_STATEINTENT_IMPORT  &
-                                           ,rc=RC)
-!
-        write(exp_state_name, '("storm0",I2.2,"_exp_state")') i
-!
-        dst_exp_state(i) = ESMF_StateCreate(name=exp_state_name     &
-                                           ,stateintent=ESMF_STATEINTENT_EXPORT  &
-                                           ,rc=RC)
-!
-        ESMF_ERR_RETURN(RC,RC_INIT)
-!
-!-----------------------------------------------------------------------
-!***    Associate a config file with each 'dst' gridded component.
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!        MESSAGE_CHECK = "  DEMO: Associate a config file with each 'dst' gridded component"
-!        CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-          CALL ESMF_GridCompGet(dst_gridcomp(i)                &
-                               ,name=myname                    &
-                               ,config=cf_dst(i)               &
-                               ,configFileIsPresent=cfpresent  &
-                               ,configFile=cfname              &     !<== import the config file with the name
-                               ,rc=rc)
-!
-      ESMF_ERR_RETURN(RC,RC_INIT)
-!
-!-----------------------------------------------------------------------
-!***    Get Attributes from the configure file to create the clock for the dst_gridcomp
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!        MESSAGE_CHECK="  DEMO_init:  Extract timestep from configure file for i-th dst gridded component"
-!        CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-        CALL ESMF_ConfigGetAttribute(config=cf_dst(i)          &
-                                    ,value = dt_int            &
-                                    ,label ='dt_int:'          &
-                                    ,rc    =rc)
-!
-        ESMF_ERR_RETURN(RC,RC_INIT)
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!        MESSAGE_CHECK="  DEMO_init:  Extract Number of compute tasks in the I direction for the dst gridded compo$
-!        CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-        CALL ESMF_ConfigGetAttribute(config=cf_dst(i)          &
-                                    ,value = dt_num            &
-                                    ,label ='dt_num:'          &
-                                    ,rc    =rc)
-!
-        ESMF_ERR_RETURN(RC,RC_INIT)
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!        MESSAGE_CHECK="  DEMO_init:  Extract Number of compute tasks in the I direction for the dst gridded compo$
-!        CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-        CALL ESMF_ConfigGetAttribute(config=cf_dst(i)          &
-                                    ,value = dt_den            &
-                                    ,label ='dt_den:'          &
-                                    ,rc    =rc)
-!
-        ESMF_ERR_RETURN(RC,RC_INIT)
-      end do
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      MESSAGE_CHECK="  NEMS_init:  Set time interval in Destination Clock"
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      CALL ESMF_TimeIntervalSet(timeinterval=timestep_dst   &  !<-- Destination Clock's timestep
-                               ,s           =dt_int     &  !<-- Whole part of timestep
-                               ,sn          =dt_num     &  !<-- Numerator of fractional part
-                               ,sd          =dt_den     &  !<-- Denominator of fractional part
-                               ,rc          =RC)
-!
-      ESMF_ERR_ABORT(RC)
-!
-!-----------------------------------------------------------------------
-!***  Create the DST component's clock.
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      MESSAGE_CHECK="  NEMS_init:  Creating clock_dst"
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      clock_dst=ESMF_ClockCreate(name       ='CLOCK_DST'           &  !<-- The top-level ESMF Clock
-                                ,startTime  =starttime_demo        &  !<-- use same starttime as demo!!
-                                ,runDuration=runduration_demo      &  !<-- use same runduration as demo!!
-                                ,timeStep   =timestep_dst          &  !<--  use newly defined timestep!!
-                                ,rc         =RC)
-!
-      ESMF_ERR_ABORT(RC)
-!
-!-----------------------------------------------------------------------
-!***  Execute the Initialize step of the DST component.
-!***  The Initialize routine that is called here as well as the
-!***  Run and Finalize routines (invoked below) are those which are specified
-!***  in the Register routine called in ESMF_GridCompSetServices above.
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      MESSAGE_CHECK="  NEMS_init:  Execute (array of) 'dst_initialize'."
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      do i=1,nstorms
-       CALL ESMF_GridCompInitialize(gridcomp    = dst_gridcomp(i)    &
-                                   ,importState = dst_imp_state(i)   &
-                                   ,exportState = dst_exp_state(i)   &
-                                   ,clock       = clock_dst          &
-                                   ,phase       = 1                  &
-                                   ,userRc      = RC_USER            &
-                                   ,rc          = RC)
-!
-        ESMF_ERR_RETURN(RC,RC_INIT)
-        ESMF_ERR_RETURN(RC_USER,RC_INIT)
-      end do
-!
-      CALL ESMF_VMBarrier(vm=vm_global)
-!
-!-----------------------------------------------------------------------
-!***    Reconcile 'dst_exp_state(i)' across all pets. [It was created only on dst_petlist(i).]
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-        MESSAGE_CHECK = "  DEMO_init:  Reconciling 'dst_exp_state(i)' across global VM"
-        CALL ESMF_LogWrite(MESSAGE_CHECK, ESMF_LOGMSG_INFO, rc = RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-        do i=1,nstorms
-          CALL ESMF_StateReconcile(state=dst_exp_state(i)     &
-                                  ,rc=rc)
-!
-          ESMF_ERR_RETURN(rc,rc_init)
-        end do
-!
-        CALL ESMF_VMBarrier(vm=VM_global)
-!
-!-----------------------------------------------------------------------
-!***  Create the SRC2DST Coupler Component
-!***
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      MESSAGE_CHECK="  NEMS_init:  Create SRC2DST Coupler Component for each storm"
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      !Use all PETs to create the SRC2dst component.
-      do i=1,nstorms
-      src2dst_cplcomp(i) = ESMF_CplCompCreate(name=storm_name(i)      &  !<-- Name of the SRC component
-                                             !,petlist=src2dst_petlist(i,:)  &  !<-- i-th element's PETlist
-                                             ,configFile=configfile(i)   &  !<-- Associate the name of the config $
-                                             ,rc=RC)
-!
-      ESMF_ERR_RETURN(RC,RC_INIT)
-      end do
-!
-!-----------------------------------------------------------------------
-!***  Register the Initialize, Run, and Finalize routines
-!***  of the SRC2DST coupler component.
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      MESSAGE_CHECK="  NEMS_init:  Register SRC2DST Init, Run, Finalize"
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      do i=1,nstorms
-        call ESMF_CPLCompSetServices(cplcomp    =src2dst_cplcomp(i)       &  !<-- The SRC gridded component
-                                    ,userRoutine=src2dst_register      &  !<-- User's name for the Register routine
-                                    ,rc=RC)
-!
-        ESMF_ERR_RETURN(RC,RC_INIT)
-      end do
-!
-!-----------------------------------------------------------------------
-!***  Create the SRC2DST component's import/export states.
-!***  Currently they are not required to perform an actual function.  <-- They're not?? 18Jul2017
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      MESSAGE_CHECK="  NEMS_init:  Create the SRC2DST import & export states"
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      do i=1,nstorms
-        write(imp_state_name, '("storm0",I2.2,"_cpl_imp_state")') i
-        src2dst_imp_state(i) = ESMF_StateCreate(name=imp_state_name                  &
-                                               ,stateintent=ESMF_STATEINTENT_IMPORT  &
-                                               ,rc=RC)
-!
-        write(exp_state_name, '("storm0",I2.2,"_cpl_exp_state")') i
-        src2dst_exp_state(i) = ESMF_StateCreate(name=exp_state_name                  &
-                                               ,stateintent=ESMF_STATEINTENT_EXPORT  &
-                                               ,rc=RC)
-!
-      ESMF_ERR_RETURN(RC,RC_INIT)
-      end do
-!
-!-----------------------------------------------------------------------
-!***  Execute the Initialize step of the SRC2DST component.
-!***  The Initialize routine that is called here as well as the
-!***  Run and Finalize routines invoked below are those specified
-!***  in the Register routine called in ESMF_CplCompSetServices above.
-!-----------------------------------------------------------------------
-!
-!-----------------------------------------------------------------------
-!***  Create the SRC2DST component's clock.
-!-----------------------------------------------------------------------
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      MESSAGE_CHECK="  NEMS_init:  Creating clock_src2dst"
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      clock_src2dst=ESMF_ClockCreate(name    = 'CLOCK_SRC2DST'       &  !<-- The coupler Clock
-                                ,startTime   = starttime_demo        &  !<-- use same starttime as dst!!
-                                ,runDuration = runduration_demo      &  !<-- use same runduration as dst!!
-                                ,timeStep    = timestep_dst          &  !<-- use timestep as dst!!
-                                ,rc          = RC)
-!
-      ESMF_ERR_ABORT(RC)
-!
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-      MESSAGE_CHECK="  NEMS_init:  Execute (array of) 'src2dst_initialize'"
-      CALL ESMF_LogWrite(MESSAGE_CHECK,ESMF_LOGMSG_INFO,rc=RC)
-! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
-!
-      do i=1,nstorms
-        call ESMF_CplCompInitialize(cplcomp     = src2dst_cplcomp(i)    &
-                                   ,importState = src2dst_imp_state(i)  &
-                                   ,exportState = src2dst_exp_state(i)  &
-                                   ,clock       = clock_src2dst         &
-                                   ,phase       = 1                     &
-                                   ,userRc      = RC_USER               &
-                                   ,rc          = RC)
-        ESMF_ERR_RETURN(RC,RC_INIT)
-        ESMF_ERR_RETURN(RC_USER,RC_INIT)
-      end do
-!
-      CALL ESMF_VMBarrier(VM_global)
-!
-!=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-!=-=-=-=-=-=-=-=-=-=-=-= END OF STEVE'S DOING  =-=-=-=-=-=-=-=-=-=-=-=-=
-!=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-!-----------------------------------------------------------------------
-!
       END SUBROUTINE NEMS_INITIALIZE
 !
 !-----------------------------------------------------------------------
@@ -1220,14 +729,7 @@
       TYPE(ESMF_Time) :: CURRTIME
 !
       TYPE(ESMF_TimeInterval) :: RUNDURATION
-      type(ESMF_TimeInterval) :: timeStep     !swd
 !
-!=-=-=-=-= Steve's doing -=-=-=-=-=
-      !* local integers for printing clock information
-      integer(ESMF_KIND_I4) :: yy, h, m, s         !<-- why these are ESMF_KIND...
-      integer               :: mm, dd              !<-- and these are not, is beyond me....
-!=-=-= END Steve's doing -=-=-=-=-=
-!
 !-----------------------------------------------------------------------
 !***********************************************************************
 !-----------------------------------------------------------------------
@@ -1263,19 +765,6 @@
                                ,rc          = RC)
           ESMF_ERR_RETURN(RC,RC_RUN)
           ESMF_ERR_RETURN(RC_USER,RC_RUN)
-!
-!=-=-=-=  Steve's doing  =-=-=-=-=-=-=-=-=-=--=
-          CALL ESMF_GridCompRun(gridcomp    = EARTH_GRID_COMP(I)        &
-                               ,importState = EARTH_IMP_STATE(I)        &
-                               ,exportState = EARTH_EXP_STATE(I)        &
-                               ,clock       = CLOCK_NEMS                &
-                               ,phase       = 2                         &
-                               ,userRc      = RC_USER                   &
-                               ,rc          = RC)
-          ESMF_ERR_RETURN(RC,RC_RUN)
-          ESMF_ERR_RETURN(RC_USER,RC_RUN)
-!=-=-= END Steve's doing  =-=-=-=-=-=-=-=-=-=--=
-!
         END IF
 !
       END DO


More information about the Ncep.list.nems.announce mailing list