[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