serial IOAPI
- added
This commit is contained in:
83
HDF5_serial/ioapi/build
Executable file
83
HDF5_serial/ioapi/build
Executable file
@@ -0,0 +1,83 @@
|
||||
#!/usr/bin/env modbuild
|
||||
|
||||
pbuild::supported_os 'Darwin' 'Linux'
|
||||
|
||||
pbuild::set_download_url "https://gitlab.psi.ch/Pmodules/download/raw/master/$P-$V.tar.gz"
|
||||
|
||||
pbuild::add_to_group 'HDF5_serial'
|
||||
pbuild::compile_in_sourcetree
|
||||
pbuild::add_patch 'files/Makefile.pncf.sed.patch'
|
||||
|
||||
pbuild::add_docfiles README.txt
|
||||
pbuild::add_docfiles V32-CHANGES.txt
|
||||
pbuild::add_docfiles VERSION.txt
|
||||
pbuild::add_docfiles HTML/gpl.txt
|
||||
|
||||
declare BIN=''
|
||||
|
||||
pbuild::post_prep() {
|
||||
find "${SRC_DIR}" -name "*.mod" -exec rm {} \;
|
||||
find "${SRC_DIR}" -name "*.o" -exec rm {} \;
|
||||
}
|
||||
|
||||
pbuild::pre_configure_Darwin() {
|
||||
case "${COMPILER}" in
|
||||
gcc )
|
||||
BIN='OSX_x86_gfortmpi'
|
||||
cp -av "${BUILDBLOCK_DIR}/files/Makeinclude.${BIN}" "ioapi"
|
||||
;;
|
||||
* )
|
||||
std::die 4 "Compiler '${COMPILER}' is not supported on ${OS}!"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
pbuild::pre_configure_Linux() {
|
||||
case "${COMPILER}" in
|
||||
pgi )
|
||||
BIN='Linux2_x86_64pg'
|
||||
#cp -av "${BUILDBLOCK_DIR}/files/Makeinclude.${BIN}" "ioapi"
|
||||
;;
|
||||
gcc )
|
||||
BIN='Linux2_x86_64gfort'
|
||||
;;
|
||||
* )
|
||||
std::die 4 "Compiler '${COMPILER}' is not supported on ${OS}!"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
pbuild::pre_configure() {
|
||||
cp Makefile.template Makefile
|
||||
pbuild::add_configure_args "BASEDIR=${SRC_DIR}"
|
||||
#pbuild::add_configure_args "CPLMODE=pncf"
|
||||
pbuild::add_configure_args "INSTALL=${PREFIX}"
|
||||
pbuild::add_configure_args "NCFLIBS=-lnetcdf -lnetcdff -lgfortran"
|
||||
pbuild::add_configure_args "BIN=${BIN}"
|
||||
pbuild::add_configure_args "FIXDIR=${PREFIX}/include"
|
||||
}
|
||||
|
||||
pbuild::configure() {
|
||||
make "${CONFIGURE_ARGS[@]}" configure
|
||||
}
|
||||
|
||||
pbuild::compile() {
|
||||
make "${CONFIGURE_ARGS[@]}" all
|
||||
}
|
||||
|
||||
pbuild::install() {
|
||||
mkdir -vp "${PREFIX}"
|
||||
make "${CONFIGURE_ARGS[@]}" install
|
||||
}
|
||||
|
||||
pbuild::post_install() {
|
||||
cd "${PREFIX}"
|
||||
mkdir -vp 'lib'
|
||||
mkdir -vp 'include'
|
||||
mv -v "${BIN}"/*.a 'lib'
|
||||
mv -v "${BIN}"/*.mod 'include'
|
||||
mv -v "${BIN}" 'bin'
|
||||
}
|
||||
|
||||
pbuild::make_all
|
||||
|
||||
271
HDF5_serial/ioapi/files/Makefile.pncf.sed.patch
Normal file
271
HDF5_serial/ioapi/files/Makefile.pncf.sed.patch
Normal file
@@ -0,0 +1,271 @@
|
||||
Only in src/: .configure
|
||||
Only in src/: .prep
|
||||
Only in src/: Linux2_x86_64
|
||||
Only in src/: Makefile
|
||||
Only in src/: OSX_x86_gfortmpi
|
||||
Only in src/ioapi: Makefile
|
||||
Only in src/ioapi: Makeinclude.OSX_x86_gfortmpi
|
||||
Only in ioapi-3.2/ioapi: bilin.o
|
||||
Only in ioapi-3.2/ioapi: bmatvec.o
|
||||
Only in ioapi-3.2/ioapi: bufint3.o
|
||||
Only in ioapi-3.2/ioapi: cbarnes1.o
|
||||
Only in ioapi-3.2/ioapi: cbarnesN.o
|
||||
Only in ioapi-3.2/ioapi: check3.o
|
||||
Only in ioapi-3.2/ioapi: check3c.o
|
||||
Only in ioapi-3.2/ioapi: chkbuf3.o
|
||||
Only in ioapi-3.2/ioapi: chkfil3.o
|
||||
Only in ioapi-3.2/ioapi: ckdesc3.o
|
||||
Only in ioapi-3.2/ioapi: ckfile3.o
|
||||
Only in ioapi-3.2/ioapi: ckgeom.o
|
||||
Only in ioapi-3.2/ioapi: ckname.o
|
||||
Only in ioapi-3.2/ioapi: cktflag3.o
|
||||
Only in ioapi-3.2/ioapi: close3.o
|
||||
Only in ioapi-3.2/ioapi: close3c.o
|
||||
Only in ioapi-3.2/ioapi: crdict3.o
|
||||
Only in ioapi-3.2/ioapi: crlf.o
|
||||
Only in ioapi-3.2/ioapi: crtbuf3.o
|
||||
Only in ioapi-3.2/ioapi: crtfil3.o
|
||||
Only in ioapi-3.2/ioapi: crtkf.o
|
||||
Only in ioapi-3.2/ioapi: currec.o
|
||||
Only in ioapi-3.2/ioapi: currstep.o
|
||||
Only in ioapi-3.2/ioapi: currstepc.o
|
||||
Only in ioapi-3.2/ioapi: daymon.o
|
||||
Only in ioapi-3.2/ioapi: daymonc.o
|
||||
Only in ioapi-3.2/ioapi: dble2real.o
|
||||
Only in ioapi-3.2/ioapi: dbllist.o
|
||||
Only in ioapi-3.2/ioapi: ddtvar3.o
|
||||
Only in ioapi-3.2/ioapi: ddtvar3c.o
|
||||
Only in ioapi-3.2/ioapi: ddtvar3v.o
|
||||
Only in ioapi-3.2/ioapi: desc3.o
|
||||
Only in ioapi-3.2/ioapi: desc3c.o
|
||||
Only in ioapi-3.2/ioapi: dmatvec.o
|
||||
Only in ioapi-3.2/ioapi: dscgrid.o
|
||||
Only in ioapi-3.2/ioapi: dscgridc.o
|
||||
Only in ioapi-3.2/ioapi: dt2str.o
|
||||
Only in ioapi-3.2/ioapi: dt2strc.o
|
||||
Only in ioapi-3.2/ioapi: envgets.o
|
||||
Only in ioapi-3.2/ioapi: filchk3.o
|
||||
Only in ioapi-3.2/ioapi: filchk3c.o
|
||||
Only in ioapi-3.2/ioapi: find1.o
|
||||
Only in ioapi-3.2/ioapi: find2.o
|
||||
Only in ioapi-3.2/ioapi: find3.o
|
||||
Only in ioapi-3.2/ioapi: find4.o
|
||||
Only in ioapi-3.2/ioapi: findc.o
|
||||
Only in ioapi-3.2/ioapi: findr1.o
|
||||
Only in ioapi-3.2/ioapi: findr2.o
|
||||
Only in ioapi-3.2/ioapi: findr3.o
|
||||
Only in ioapi-3.2/ioapi: findr4.o
|
||||
Only in ioapi-3.2/ioapi: findsc.o
|
||||
diff -ur ioapi-3.2/ioapi/fixed_src/STATE3.EXT src/ioapi/fixed_src/STATE3.EXT
|
||||
--- ioapi-3.2/ioapi/fixed_src/STATE3.EXT 2017-06-20 20:00:05.000000000 +0200
|
||||
+++ src/ioapi/fixed_src/STATE3.EXT 2018-07-09 16:29:26.000000000 +0200
|
||||
@@ -11,8 +11,11 @@
|
||||
!....................................................................
|
||||
! INCLUDE FILE STATE3.EXT
|
||||
!
|
||||
+! PRIVATE!
|
||||
+! For internal I/O API use only.
|
||||
+! Do not use in model or other application code.
|
||||
!
|
||||
-! DO NOT EDIT !!
|
||||
+! DO NOT EDIT !!
|
||||
!
|
||||
! The EDSS/Models-3 I/O API depends in an essential manner
|
||||
! upon the contents of this INCLUDE file. ANY CHANGES are
|
||||
Only in ioapi-3.2/ioapi: flush3.o
|
||||
Only in ioapi-3.2/ioapi: gcd.o
|
||||
Only in ioapi-3.2/ioapi: gctp.o
|
||||
Only in ioapi-3.2/ioapi: get_endian.o
|
||||
Only in ioapi-3.2/ioapi: getdate.o
|
||||
Only in ioapi-3.2/ioapi: getdble.o
|
||||
Only in ioapi-3.2/ioapi: getdfile.o
|
||||
Only in ioapi-3.2/ioapi: getdfilec.o
|
||||
Only in ioapi-3.2/ioapi: getdttime.o
|
||||
Only in ioapi-3.2/ioapi: getefile.o
|
||||
Only in ioapi-3.2/ioapi: getefilec.o
|
||||
Only in ioapi-3.2/ioapi: getffile.o
|
||||
Only in ioapi-3.2/ioapi: getmenu.o
|
||||
Only in ioapi-3.2/ioapi: getnum.o
|
||||
Only in ioapi-3.2/ioapi: getreal.o
|
||||
Only in ioapi-3.2/ioapi: getstr.o
|
||||
Only in ioapi-3.2/ioapi: getyn.o
|
||||
Only in ioapi-3.2/ioapi: grdchk3.o
|
||||
Only in ioapi-3.2/ioapi: gridops.o
|
||||
Only in ioapi-3.2/ioapi: hhmmss.o
|
||||
Only in ioapi-3.2/ioapi: hhmmssc.o
|
||||
Only in ioapi-3.2/ioapi: index1.o
|
||||
Only in ioapi-3.2/ioapi: init3.o
|
||||
Only in ioapi-3.2/ioapi: init3c.o
|
||||
Only in ioapi-3.2/ioapi: initblk3.o
|
||||
Only in ioapi-3.2/ioapi: initlog3.o
|
||||
Only in ioapi-3.2/ioapi: inqatt3.o
|
||||
Only in ioapi-3.2/ioapi: inqatt3c.o
|
||||
Only in ioapi-3.2/ioapi: interp3.o
|
||||
Only in ioapi-3.2/ioapi: interp3c.o
|
||||
Only in ioapi-3.2/ioapi: intg2real.o
|
||||
Only in ioapi-3.2/ioapi: intlist.o
|
||||
Only in ioapi-3.2/ioapi: iobin3.o
|
||||
Only in ioapi-3.2/ioapi: iocpl.o
|
||||
Only in ioapi-3.2/ioapi: iocplf2c.o
|
||||
Only in ioapi-3.2/ioapi: ioparms3.o
|
||||
Only in ioapi-3.2/ioapi: isdstime.o
|
||||
Only in ioapi-3.2/ioapi: jstep3.o
|
||||
Only in ioapi-3.2/ioapi: julian.o
|
||||
Only in ioapi-3.2/ioapi: julianc.o
|
||||
Only in ioapi-3.2/ioapi: junit.o
|
||||
Only in ioapi-3.2/ioapi: kfindx.o
|
||||
Only in ioapi-3.2/ioapi: kfopen.o
|
||||
Only in ioapi-3.2/ioapi: kfread.o
|
||||
Only in ioapi-3.2/ioapi: kfwrite.o
|
||||
Only in ioapi-3.2/ioapi: lambert.o
|
||||
Only in ioapi-3.2/ioapi: lblank.o
|
||||
Only in ioapi-3.2/ioapi: len2.o
|
||||
Only in ioapi-3.2/ioapi: ll2utm.o
|
||||
Only in ioapi-3.2/ioapi: locat1.o
|
||||
Only in ioapi-3.2/ioapi: locat2.o
|
||||
Only in ioapi-3.2/ioapi: locat3.o
|
||||
Only in ioapi-3.2/ioapi: locat4.o
|
||||
Only in ioapi-3.2/ioapi: locatc.o
|
||||
Only in ioapi-3.2/ioapi: locatr1.o
|
||||
Only in ioapi-3.2/ioapi: locatr2.o
|
||||
Only in ioapi-3.2/ioapi: locatr3.o
|
||||
Only in ioapi-3.2/ioapi: locatr4.o
|
||||
Only in ioapi-3.2/ioapi: locatsc.o
|
||||
Only in ioapi-3.2/ioapi: lustr.o
|
||||
Only in ioapi-3.2/ioapi: m3abort.o
|
||||
Only in ioapi-3.2/ioapi: m3err.o
|
||||
Only in ioapi-3.2/ioapi: m3errc.o
|
||||
Only in ioapi-3.2/ioapi: m3exit.o
|
||||
Only in ioapi-3.2/ioapi: m3exitc.o
|
||||
Only in ioapi-3.2/ioapi: m3mesgc.o
|
||||
Only in ioapi-3.2/ioapi: m3msg2.o
|
||||
Only in ioapi-3.2/ioapi: m3utilio.mod
|
||||
Only in ioapi-3.2/ioapi: m3utilio.o
|
||||
Only in ioapi-3.2/ioapi: m3warn.o
|
||||
Only in ioapi-3.2/ioapi: m3warnc.o
|
||||
Only in ioapi-3.2/ioapi: mmddyy.o
|
||||
Only in ioapi-3.2/ioapi: mmddyyc.o
|
||||
Only in ioapi-3.2/ioapi: modatts3.mod
|
||||
Only in ioapi-3.2/ioapi: modatts3.o
|
||||
Only in ioapi-3.2/ioapi: modgctp.mod
|
||||
Only in ioapi-3.2/ioapi: modgctp.o
|
||||
Only in ioapi-3.2/ioapi: modmpasfio.mod
|
||||
Only in ioapi-3.2/ioapi: modmpasfio.o
|
||||
Only in ioapi-3.2/ioapi: modncfio.mod
|
||||
Only in ioapi-3.2/ioapi: modncfio.o
|
||||
Only in ioapi-3.2/ioapi: modpdata.mod
|
||||
Only in ioapi-3.2/ioapi: modpdata.o
|
||||
Only in ioapi-3.2/ioapi: modwrfio.mod
|
||||
Only in ioapi-3.2/ioapi: modwrfio.o
|
||||
Only in ioapi-3.2/ioapi: name2fid.o
|
||||
Only in ioapi-3.2/ioapi: nameval.o
|
||||
Only in ioapi-3.2/ioapi: nextime.o
|
||||
Only in ioapi-3.2/ioapi: nextimec.o
|
||||
Only in ioapi-3.2/ioapi: open3.o
|
||||
Only in ioapi-3.2/ioapi: open3c.o
|
||||
Only in ioapi-3.2/ioapi: opnfil3.o
|
||||
Only in ioapi-3.2/ioapi: opnkf.o
|
||||
Only in ioapi-3.2/ioapi: opnlist3.o
|
||||
Only in ioapi-3.2/ioapi: opnlog3.o
|
||||
Only in ioapi-3.2/ioapi: pcoef.o
|
||||
Only in ioapi-3.2/ioapi: pgrdsum.o
|
||||
Only in ioapi-3.2/ioapi: pmatvec.o
|
||||
Only in ioapi-3.2/ioapi: pn_crtfil3.o
|
||||
Only in ioapi-3.2/ioapi: pn_opnfil3.o
|
||||
Only in ioapi-3.2/ioapi: pn_wrvars.o
|
||||
Only in ioapi-3.2/ioapi: poly.o
|
||||
Only in ioapi-3.2/ioapi: promptdfile.o
|
||||
Only in ioapi-3.2/ioapi: promptffile.o
|
||||
Only in ioapi-3.2/ioapi: promptgrid.o
|
||||
Only in ioapi-3.2/ioapi: promptmfile.o
|
||||
Only in ioapi-3.2/ioapi: rdatt3.o
|
||||
Only in ioapi-3.2/ioapi: rdatt3c.o
|
||||
Only in ioapi-3.2/ioapi: rdbndary.o
|
||||
Only in ioapi-3.2/ioapi: rdbuf3.o
|
||||
Only in ioapi-3.2/ioapi: rdcustom.o
|
||||
Only in ioapi-3.2/ioapi: rddict3.o
|
||||
Only in ioapi-3.2/ioapi: rdgrdded.o
|
||||
Only in ioapi-3.2/ioapi: rdgrnest.o
|
||||
Only in ioapi-3.2/ioapi: rdiddata.o
|
||||
Only in ioapi-3.2/ioapi: rdprofil.o
|
||||
Only in ioapi-3.2/ioapi: rdsmatrx.o
|
||||
Only in ioapi-3.2/ioapi: rdtflag.o
|
||||
Only in ioapi-3.2/ioapi: rdvars.o
|
||||
Only in ioapi-3.2/ioapi: read3.o
|
||||
Only in ioapi-3.2/ioapi: read3c.o
|
||||
Only in ioapi-3.2/ioapi: read4d.o
|
||||
Only in ioapi-3.2/ioapi: read4dc.o
|
||||
Only in ioapi-3.2/ioapi: readsmet.o
|
||||
Only in ioapi-3.2/ioapi: realist.o
|
||||
Only in ioapi-3.2/ioapi: rmfile.o
|
||||
Only in ioapi-3.2/ioapi: runspec.o
|
||||
Only in ioapi-3.2/ioapi: scanint.o
|
||||
Only in ioapi-3.2/ioapi: sec2time.o
|
||||
Only in ioapi-3.2/ioapi: sec2timec.o
|
||||
Only in ioapi-3.2/ioapi: secsdiff.o
|
||||
Only in ioapi-3.2/ioapi: secsdiffc.o
|
||||
Only in ioapi-3.2/ioapi: setsphere.o
|
||||
Only in ioapi-3.2/ioapi: shut3.o
|
||||
Only in ioapi-3.2/ioapi: shut3c.o
|
||||
Only in ioapi-3.2/ioapi: skipl.o
|
||||
Only in ioapi-3.2/ioapi: sleep3.o
|
||||
Only in ioapi-3.2/ioapi: smatvec.o
|
||||
Only in ioapi-3.2/ioapi: sortic.o
|
||||
Only in ioapi-3.2/ioapi: sortir.o
|
||||
Only in ioapi-3.2/ioapi: sortis.o
|
||||
Only in ioapi-3.2/ioapi: splitline.o
|
||||
Only in ioapi-3.2/ioapi: str2dble.o
|
||||
Only in ioapi-3.2/ioapi: str2int.o
|
||||
Only in ioapi-3.2/ioapi: str2real.o
|
||||
Only in ioapi-3.2/ioapi: strlist.o
|
||||
Only in ioapi-3.2/ioapi: sync3.o
|
||||
Only in ioapi-3.2/ioapi: sync3c.o
|
||||
Only in ioapi-3.2/ioapi: syncfid.o
|
||||
Only in ioapi-3.2/ioapi: synchtao.o
|
||||
Only in ioapi-3.2/ioapi: systemf.o
|
||||
Only in ioapi-3.2/ioapi: time2sec.o
|
||||
Only in ioapi-3.2/ioapi: time2secc.o
|
||||
Only in ioapi-3.2/ioapi: trimlen.o
|
||||
Only in ioapi-3.2/ioapi: ungridb.o
|
||||
Only in ioapi-3.2/ioapi: ungridi.o
|
||||
Only in ioapi-3.2/ioapi: upcase.o
|
||||
Only in ioapi-3.2/ioapi: utm2ll.o
|
||||
Only in ioapi-3.2/ioapi: wkday.o
|
||||
Only in ioapi-3.2/ioapi: wkdayc.o
|
||||
Only in ioapi-3.2/ioapi: wratt3.o
|
||||
Only in ioapi-3.2/ioapi: wratt3c.o
|
||||
Only in ioapi-3.2/ioapi: wrbndary.o
|
||||
Only in ioapi-3.2/ioapi: wrbuf3.o
|
||||
Only in ioapi-3.2/ioapi: wrcustom.o
|
||||
Only in ioapi-3.2/ioapi: wrdict3.o
|
||||
Only in ioapi-3.2/ioapi: wrgrdded.o
|
||||
Only in ioapi-3.2/ioapi: wrgrnest.o
|
||||
Only in ioapi-3.2/ioapi: wriddata.o
|
||||
Only in ioapi-3.2/ioapi: write3.o
|
||||
Only in ioapi-3.2/ioapi: write3c.o
|
||||
Only in ioapi-3.2/ioapi: write4d.o
|
||||
Only in ioapi-3.2/ioapi: write4dc.o
|
||||
Only in ioapi-3.2/ioapi: wrmpigrd.o
|
||||
Only in ioapi-3.2/ioapi: wrpatch.o
|
||||
Only in ioapi-3.2/ioapi: wrprofil.o
|
||||
Only in ioapi-3.2/ioapi: wrsmatrx.o
|
||||
Only in ioapi-3.2/ioapi: wrtflag.o
|
||||
Only in ioapi-3.2/ioapi: wrvars.o
|
||||
Only in ioapi-3.2/ioapi: xtbuf3.o
|
||||
Only in ioapi-3.2/ioapi: xtract3.o
|
||||
Only in ioapi-3.2/ioapi: xtract3c.o
|
||||
Only in ioapi-3.2/ioapi: year4.o
|
||||
Only in ioapi-3.2/ioapi: yr2day.o
|
||||
Only in src/m3tools: Makefile
|
||||
diff -ur ioapi-3.2/m3tools/Makefile.pncf.sed src/m3tools/Makefile.pncf.sed
|
||||
--- ioapi-3.2/m3tools/Makefile.pncf.sed 2017-10-21 03:37:21.000000000 +0200
|
||||
+++ src/m3tools/Makefile.pncf.sed 2018-07-09 18:01:58.000000000 +0200
|
||||
@@ -99,7 +99,7 @@
|
||||
insertgrid jul2greg juldate juldiff julshift \
|
||||
kfxtract latlon m3agmax m3agmask m3cple \
|
||||
m3combo m3diff m3edhdr m3fake m3hdr \
|
||||
-m3interp m3mask m3merge m3pair m3probe \
|
||||
+m3interp m3merge m3pair m3probe \
|
||||
m3stat m3totxt m3tproc m3tshift m3wndw \
|
||||
m3xtract mtxblend mtxbuild mtxcalc mtxcple \
|
||||
presterp presz projtool selmrg2d timeshift \
|
||||
@@ -0,0 +1,52 @@
|
||||
# VERSION "$Id: Makeinclude.Linux2_x86pg_pgcc_nomp 1 2017-06-10 18:05:20Z coats $"
|
||||
#
|
||||
# In some ways, this is the most problematical install, because of
|
||||
# the way various compilers create linker-visible object names for
|
||||
# the code they compile. The default flags assume that you are using
|
||||
# the Gnu "gcc" (and maybe "g77") to compile other libraries such as
|
||||
# "libnetcdf.a" and "libpvm3.a" -- note that vendor-distributed
|
||||
# libraries that may come with your Linux system are built this way...
|
||||
# Alternatively, you may use "pgf90" and "pgcc" to build the entire
|
||||
# system (where you use "-DpgiFortran=1" in your netCDF build), and
|
||||
# then may use the alternate set of ARCHFLAGS.
|
||||
#
|
||||
# The important thing is that _all_ the compilations for building an
|
||||
# executable must use consistent linker-visible object names. Any
|
||||
# "could not find" error messages when linking a program probably
|
||||
# come from this kind of problem; the fix is to rebuild everything
|
||||
# with a consistent set of compiler-flags. You may use the script
|
||||
# "nm_test.csh" and/or "make nametest" to help with this determination.
|
||||
#
|
||||
# Note all the variant files "Makeinclude.Linux2_x86pg*": copy the
|
||||
# appropriate one to "Makeinclude.Linux2_x86pg"; further ensure that
|
||||
# the compilation-flags for your model-code match the flags therein.
|
||||
|
||||
|
||||
AR = ar
|
||||
CC = mpicc
|
||||
CXX = mpic++
|
||||
FC = mpif90
|
||||
M4 = m4
|
||||
CPP = cpp
|
||||
LINK = $(CC)
|
||||
|
||||
## Module-include-directory command
|
||||
MODI = -module ## module-include directive
|
||||
E132 = -Mextend
|
||||
|
||||
MFLAGS = -fast -Mnosecond_underscore # -Mnoupcase
|
||||
|
||||
OMPFLAGS = # -mp
|
||||
OMPLIBS = # -lmp
|
||||
COPTFLAGS = -O2
|
||||
FOPTFLAGS = -O2
|
||||
FPPFLAGS = -DF90=1
|
||||
FSFLAGS = -Msave
|
||||
ARCHFLAGS = -DFLDMN=1 -DAUTO_ARRAYS=1 -DF90=1
|
||||
PARFLAGS =
|
||||
LIBDIR = $(SRCDIR)/../lib
|
||||
BINDIR = $(SRCDIR)/../bin
|
||||
ARCHLIB =
|
||||
|
||||
PVMLIBS = -L$(PVM_ROOT)/lib/$(PVM_ARCH) -lpvm3
|
||||
M4DEFFILE = $(PVM_ROOT)/conf/$(PVM_ARCH).m4
|
||||
52
HDF5_serial/ioapi/files/Makeinclude.Linux2_x86pg_pgcc_nomp
Normal file
52
HDF5_serial/ioapi/files/Makeinclude.Linux2_x86pg_pgcc_nomp
Normal file
@@ -0,0 +1,52 @@
|
||||
# VERSION "$Id: Makeinclude.Linux2_x86pg_pgcc_nomp 1 2017-06-10 18:05:20Z coats $"
|
||||
#
|
||||
# In some ways, this is the most problematical install, because of
|
||||
# the way various compilers create linker-visible object names for
|
||||
# the code they compile. The default flags assume that you are using
|
||||
# the Gnu "gcc" (and maybe "g77") to compile other libraries such as
|
||||
# "libnetcdf.a" and "libpvm3.a" -- note that vendor-distributed
|
||||
# libraries that may come with your Linux system are built this way...
|
||||
# Alternatively, you may use "pgf90" and "pgcc" to build the entire
|
||||
# system (where you use "-DpgiFortran=1" in your netCDF build), and
|
||||
# then may use the alternate set of ARCHFLAGS.
|
||||
#
|
||||
# The important thing is that _all_ the compilations for building an
|
||||
# executable must use consistent linker-visible object names. Any
|
||||
# "could not find" error messages when linking a program probably
|
||||
# come from this kind of problem; the fix is to rebuild everything
|
||||
# with a consistent set of compiler-flags. You may use the script
|
||||
# "nm_test.csh" and/or "make nametest" to help with this determination.
|
||||
#
|
||||
# Note all the variant files "Makeinclude.Linux2_x86pg*": copy the
|
||||
# appropriate one to "Makeinclude.Linux2_x86pg"; further ensure that
|
||||
# the compilation-flags for your model-code match the flags therein.
|
||||
|
||||
|
||||
AR = ar
|
||||
CC = pgcc
|
||||
CXX = pg++
|
||||
FC = pgf90
|
||||
M4 = m4
|
||||
CPP = cpp
|
||||
LINK = $(CC)
|
||||
|
||||
## Module-include-directory command
|
||||
MODI = -module ## module-include directive
|
||||
E132 = -Mextend
|
||||
|
||||
MFLAGS = -fast -Mnosecond_underscore # -Mnoupcase
|
||||
|
||||
OMPFLAGS = # -mp
|
||||
OMPLIBS = # -lmp
|
||||
COPTFLAGS = -O2
|
||||
FOPTFLAGS = -O2
|
||||
FPPFLAGS = -DF90=1
|
||||
FSFLAGS = -Msave
|
||||
ARCHFLAGS = -DFLDMN=1 -DAUTO_ARRAYS=1 -DF90=1
|
||||
PARFLAGS =
|
||||
LIBDIR = $(SRCDIR)/../lib
|
||||
BINDIR = $(SRCDIR)/../bin
|
||||
ARCHLIB =
|
||||
|
||||
PVMLIBS = -L$(PVM_ROOT)/lib/$(PVM_ARCH) -lpvm3
|
||||
M4DEFFILE = $(PVM_ROOT)/conf/$(PVM_ARCH).m4
|
||||
46
HDF5_serial/ioapi/files/Makeinclude.OSX_x86_gfortmpi
Normal file
46
HDF5_serial/ioapi/files/Makeinclude.OSX_x86_gfortmpi
Normal file
@@ -0,0 +1,46 @@
|
||||
# Version "$Id: Makeinclude.Linux2_x86_64gfortmpi 1 2017-06-10 18:05:20Z coats $"
|
||||
#
|
||||
# Build MPI/PnetCDF distributed-file support using "mpif90" and "mpcc",
|
||||
# where compilers are built "on top of" Gnu compilers
|
||||
#
|
||||
# 12/2013 by CJC: Conditional preprocessor-code "-DNEED_ARGS=1"
|
||||
# to implement IARGC() and GETARG() for compilers
|
||||
# ("gfortran" version 4.8 or later to be exact) that insist on
|
||||
# enforcing F2003-only with no backwards nor industry-standards compatibility.
|
||||
#
|
||||
# Remove "-DNEED_ARGS=1" from ARCHFLAGS for version 4.7.x and earlier
|
||||
#
|
||||
# Use "-march=native -mtune=native" if compile-platform and compute-platform
|
||||
# are the same.
|
||||
# Use "-Wall -Wsurprising" for full diagnostics.
|
||||
|
||||
AR = ar
|
||||
CC = mpicc
|
||||
CXX = mpiCC
|
||||
FC = mpif90
|
||||
M4 = m4
|
||||
LINK = $(CC)
|
||||
|
||||
## Module-include-directory command
|
||||
MODI = -I
|
||||
E132 = -ffixed-line-length-132
|
||||
|
||||
MFLAGS = -ffast-math -funroll-loops -m64 # -Wall -Wsurprising -march=native -mtune=native
|
||||
|
||||
OMPFLAGS = -fopenmp
|
||||
OMPLIBS = -fopenmp
|
||||
COPTFLAGS = -O3 ${MFLAGS}
|
||||
FOPTFLAGS = -O3 ${MFLAGS}
|
||||
FPPFLAGS = -DF90=1 -DIOAPI_PNCF=1
|
||||
FSFLAGS = -fno-automatic
|
||||
ARCHFLAGS = \
|
||||
-DAUTO_ARRAYS=1 \
|
||||
-DF90=1 -DFLDMN=1 \
|
||||
-DFSTR_L=int \
|
||||
-DIOAPI_NO_STDOUT=1 \
|
||||
-DNEED_ARGS=1
|
||||
PARFLAGS =
|
||||
ARCHLIB = -dynamic -lm -lpthread -lc
|
||||
|
||||
M4DEFFILE = $(PVM_ROOT)/conf/$(PVM_ARCH).m4
|
||||
PVMLIBS = -lpvm3
|
||||
2
HDF5_serial/ioapi/files/variants
Normal file
2
HDF5_serial/ioapi/files/variants
Normal file
@@ -0,0 +1,2 @@
|
||||
ioapi/3.2 unstable gcc/7.3.0 hdf5_serial/1.10.2 netcdf/4.6.1
|
||||
ioapi/3.2 unstable pgi/18.5 hdf5_serial/1.10.2 netcdf/4.6.1
|
||||
19
HDF5_serial/ioapi/modulefile
Normal file
19
HDF5_serial/ioapi/modulefile
Normal file
@@ -0,0 +1,19 @@
|
||||
#%Module1.0
|
||||
|
||||
module-whatis "Models-3 Input/Output Applications Programming Interface"
|
||||
module-url "https://www.cmascenter.org/ioapi/"
|
||||
module-license "GNU GPLv2"
|
||||
module-maintainer "Achim Gsell <achim.gsell@psi.ch>"
|
||||
|
||||
module-help "
|
||||
The Models-3 Input/Output Applications Programming Interface (I/O API) is
|
||||
a selective and direct-access programming interface to the data: you tell
|
||||
the system what variables and dates and times you're talking about and it
|
||||
figures all the stuff about record numbers, etc., for itself. Also, you
|
||||
don't have to read the data in consecutive order, or to write it in order,
|
||||
either -- you just ask for what you want, and the I/O API finds it for you
|
||||
(although there are moderate performance penalties for writing data out-of-
|
||||
order). The files are self-describing files -- that is, the file headers
|
||||
have all the dimensioning and descriptive information needed about the data
|
||||
in them.
|
||||
"
|
||||
Reference in New Issue
Block a user