[Ncep.list.nems.announce] Proposed commit to NEMS trunk

John Michalakes john.michalakes at noaa.gov
Thu Feb 27 14:59:56 UTC 2014


>John;
>Do you have diffs.txt on gyre or zeus? The file shows in one continuous
line in my notepad, it's hard to read. Thanks.

>Jun
 
 
Hi Jun, 
 
The diffs.txt file is here on gyre:
/meso/save/John.Michalakes/NEMS-working/diffs.txt .  Also pasted in below. 
 
-John
 
[John.Michalakes at g14a2 NEMS-working]$ cat diffs.txt
Index: src/atmos/phys/module_MP_FER_HIRES.F90
===================================================================
--- src/atmos/phys/module_MP_FER_HIRES.F90      (revision 37253)
+++ src/atmos/phys/module_MP_FER_HIRES.F90      (working copy)
@@ -270,9 +270,12 @@
!.......................................................................
!$omp parallel do                                                       &
!$omp private (j,i,k,lsfc,dpcol,l,p_col,thick_col,t_col,tc,qv_col,      &
-!$omp          wc_col,wc,qi,QRdum,qw,fice,frain,rimef_col,qi_col,qr_col,
&
+!$omp          wc_col,wc,qi,QRdum,qw,fice,frain,rimef_col,qi_col,qr_col,&
!$omp          qw_col,i_index,j_index,arain,asnow,dum,prectot,precmax,  &
-!$omp          qmax,qtot,nstats),SCHEDULE(dynamic)
+!$omp          pcond1d,pidep1d,                                         &
+!$omp          piacw1d,piacwi1d,piacwr1d,piacr1d,picnd1d,pievp1d,pimlt1d, &
+!$omp          praut1d,pracw1d,prevp1d,pisub1d,pevap1d,                 &
+!$omp          qmax,qtot,nstats),SCHEDULE(dynamic)
!.......................................................................
        DO J=JTS,JTE
         DO I=ITS,ITE
 
Index: src/atmos/share/makefile
===================================================================
--- src/atmos/share/makefile    (revision 37253)
+++ src/atmos/share/makefile    (working copy)
@@ -17,9 +17,11 @@
DEPEND_FILES = ${MODULES_F90:.o=.F90} ${MODULES_IDEA:.o=.f}
 
 
-all default: depend
-       @gmake -f $(MAKEFILE) $(LIBRARY)
+#all default: depend
+#      @gmake -f $(MAKEFILE) $(LIBRARY)
 
+all default: depend $(LIBRARY)
+
$(LIBRARY): $(MODULES_ALL)
        $(AR) $(ARFLAGS) $@ $(MODULES_ALL)
 
Index: src/atmos/phys/makefile
===================================================================
--- src/atmos/phys/makefile     (revision 37253)
+++ src/atmos/phys/makefile     (working copy)
@@ -153,12 +153,12 @@
endif
 
all default: depend
-       @gmake -f $(MAKEFILE) $(LIBRARY)
+       gmake -f $(MAKEFILE) $(LIBRARY)
 
$(LIBRARY): $(MODULES_ALL)
        $(AR) $(ARFLAGS) $@ $(MODULES_ALL)
 
-gocart_stub: $(MODULES_ALL)
+gocart_stub: depend $(MODULES_ALL)
        $(AR) $(ARFLAGS) $(LIBRARY) $(MODULES_ALL)
 
gocart_full: $(MODULES_GOCART)
 
 
Index: src/atmos/nmm/makefile
===================================================================
--- src/atmos/nmm/makefile      (revision 37253)
+++ src/atmos/nmm/makefile      (working copy)
@@ -58,9 +58,11 @@
 
DEPEND_FILES = ${MODULES:.o=.F90} ${MODULE_GFSP:.o=.f}
 
-all default: depend
-       @gmake -f $(MAKEFILE) $(LIBRARY)
+#all default: depend
+#      @gmake -f $(MAKEFILE) $(LIBRARY)
 
+all default: depend $(LIBRARY)
+
$(LIBRARY): $(MODULES) ${MODULE_GFSP}
        $(AR) $(ARFLAGS) $@ $(MODULES) ${MODULE_GFSP}
 
Index: src/atmos/makefile
===================================================================
--- src/atmos/makefile  (revision 37253)
+++ src/atmos/makefile  (working copy)
@@ -11,8 +11,9 @@
DEPEND_FILES = ${MODULES:.o=.F90}
 
 
-all default: depend
-       @gmake -f $(MAKEFILE) $(LIBRARY)
+#all default: depend
+#      @gmake $(J) -f $(MAKEFILE) $(LIBRARY)
+all default: depend $(LIBRARY)
 
$(LIBRARY): $(MODULES)
        $(AR) $(ARFLAGS) $@ $?
Index: src/chem/gocart/src/Components/GOCART_GridComp/GNUmakefile
===================================================================
--- src/chem/gocart/src/Components/GOCART_GridComp/GNUmakefile  (revision
37253)
+++ src/chem/gocart/src/Components/GOCART_GridComp/GNUmakefile  (working
copy)
@@ -68,7 +68,7 @@
export ESMADIR BASEDIR ARCH SITE FREAL DEBUG
 
$(TARGETS):
-       @ t=$@; argv="$(SUBDIRS)" ;\
+        t=$@; argv="$(SUBDIRS)" ;\
          for d in $$argv; do                    \
            ( cd $$d                            ;\
              echo ""; echo Making $$t in `pwd`          ;\
Index: src/makefile
===================================================================
--- src/makefile        (revision 37253)
+++ src/makefile        (working copy)
@@ -67,7 +67,6 @@
        module_EARTH_GRID_COMP.o \
        module_NEMS_INTERNAL_STATE.o \
        module_NEMS_GRID_COMP.o
-
 
LIBS = atmos/libatmos.a                 \
        atmos/nmm/libnmm.a               \
@@ -208,14 +207,14 @@
        @echo "$(TARGET) is created for NMM core."
 
nmm_libs:
-       cd atmos/share         && gmake
-       cd atmos/phys          && gmake gocart_stub
-       cd atmos/nmm           && gmake
+       cd atmos/share         && gmake $(J)
+       cd atmos/phys          && gmake $(J) gocart_stub
+       cd atmos/nmm           && gmake $(J)
        cd $(gfsdir)           && gmake stub
        cd atmos/gen           && gmake stub
        cd atmos/fim           && gmake stub
        cd atmos/post          && gmake stub
-       cd atmos               && gmake
+       cd atmos               && gmake $(J)
        cd ENS_Cpl             && gmake stub
 
############################################################################
####
@@ -456,4 +455,11 @@
 
MAIN_NEMS.o: %.o: %.f90
        $(FC) $(FFLAGS) $(INCS) -c $*.f90
-#      $(RM) $*.f90
+       $(RM) $*.f90
+
+MAIN_NEMS.o : nmm_libs MAIN_NEMS.F90 ./ESMFVersionLogic.h
./ESMFVersionDefine.h module_NEMS_GRID_COMP.o
+module_EARTH_GRID_COMP.o : nmm_libs module_EARTH_GRID_COMP.F90
./ESMFVersionLogic.h ./ESMFVersionDefine.h module_EARTH_INTERNAL_STATE.o
+module_EARTH_INTERNAL_STATE.o : nmm_libs module_EARTH_INTERNAL_STATE.F90
./ESMFVersionLogic.h ./ESMFVersionDefine.h
+module_NEMS_GRID_COMP.o : nmm_libs module_NEMS_GRID_COMP.F90
./ESMFVersionLogic.h ./ESMFVersionDefine.h module_EARTH_GRID_COMP.o
module_NEMS_INTERNAL_STATE.o
+module_NEMS_INTERNAL_STATE.o : nmm_libs module_NEMS_INTERNAL_STATE.F90
./ESMFVersionLogic.h ./ESMFVersionDefine.h
+
 
From: Jun Wang - NOAA Affiliate [mailto:jun.wang at noaa.gov] 
Sent: Thursday, February 27, 2014 7:29 AM
To: John Michalakes
Subject: Re: [Ncep.list.nems.announce] Proposed commit to NEMS trunk
 
John;
Do you have diffs.txt on gyre or zeus? The file shows in one continuous line
in my notepad, it's hard to read. Thanks.

Jun
 
On Wed, Feb 26, 2014 at 6:31 PM, John Michalakes <john.michalakes at noaa.gov
<mailto:john.michalakes at noaa.gov> > wrote:
Gentle NEMS developers,
 
This is my first time proposing an update to the NEMS trunk so please bear
with me.  I would like to commit the following two updates:
 
1.       Fix for an OpenMP thread safety issue
 
The Intel Inspector tool identifies a race condition for the DO J=JTS,JTE
loop at line 270 in atmos/phys/module_MP_FER_HIRES.F90 when running with
OMP_NUM_THREADS > 1.  The fix is to add the names of several more arrays to
the existing private declaration (see attached differences file).
 
2.       Parallel build for NEMS/NMMB
 
This set of proposed changes allows make to run in parallel when compiling
NEMS-NMMB (that is, when "make nmm" is invoked).  Haven't looked at the
other builds.  The affected makefiles are:
 
atmos/makefile
atmos/nmm/makefile
atmos/phys/makefile
atmos/share/makefile
makefile
 
If one does nothing, then "make nmm" builds the code serially in a litte
more than 11 minutes on WCOSS.  If one sets the environment variable:
 

     setenv J "-j8"   (csh/tcsh)
       -or-
     export J="-j8"   (bash)
 
the build will use as many as eight processes and compile in 4.5 minutes
(some of the dependencies force it to build serially or with only a couple
processes.  The phys directory is where it really flies.).  The integer that
follows the j (no space) is the number of processes that the make utility
should use.  If no integer is specified it will grab as many as it can (not
good).  Obviously, one wishes to avoid antagonizing other users on the
system (or worse, sysadmins) so one should avoid "going for broke" with this
setting.
 
The regression test is running now - sitting in the queue for TEST 009 as I
type this.  Assuming the test is a success, please review and let me know if
you have comments or questions.   Since this is my first time doing this,
I'm not sure what a "thumbs up" from the group looks like, so please let me
know that too.  
 
Complete set of differences with respect to the top-of-trunk is attached
here.  
 
Thanks,
 
John 
 
 

_______________________________________________
Ncep.list.nems.announce mailing list
Ncep.list.nems.announce at lstsrv.ncep.noaa.gov
<mailto:Ncep.list.nems.announce at lstsrv.ncep.noaa.gov> 
https://lstsrv.ncep.noaa.gov/mailman/listinfo/ncep.list.nems.announce
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lstsrv.ncep.noaa.gov/pipermail/ncep.list.nems.announce/attachments/20140227/a7bd0fec/attachment-0001.html 


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