Forráskód Böngészése

New configs for 2018b

Pierre-Yves Barriat 4 éve
szülő
commit
7b8ce392cf

+ 33 - 0
foss-2019a/CDAT-8.1-foss-2019a-Python-3.7.2.eb

@@ -0,0 +1,33 @@
+easyblock = 'CMakeMake'
+
+name = 'CDAT'
+version = '8.1'
+versionsuffix = '-Python-%(pyver)s'
+
+homepage = 'https://cdat.llnl.gov/'
+description = """CDAT is a powerful and complete front-end to a rich set of visual-data 
+ exploration and analysis capabilities well suited for data analysis problems."""
+
+toolchain = {'name': 'foss', 'version': '2019a'}
+
+source_urls = ['https://github.com/CDAT/cdat/archive/']
+sources = ['v%(version)s.tar.gz']
+
+builddependencies = [('CMake', '3.13.3')]
+dependencies = [
+    ('Python', '3.7.2'),
+    ('ELIC_Python', '1', versionsuffix),
+]
+
+separate_build_dir = True
+
+configopts = "-DCDAT_BUILD_MODE=LEAN -DCDAT_BUILD_CMOR=ON -DCDAT_BUILD_PARALLEL=ON"
+
+sanity_check_paths = {
+    'files': ['bin/%s' % x for x in ['bufr_copy', 'bufr_dump', 'bufr_filter', 'bufr_ls',
+                                     'codes_count', 'codes_info', 'codes_split_file',
+                                     'grib_copy', 'grib_dump', 'grib_filter', 'grib_ls']],
+    'dirs': [],
+}
+
+moduleclass = 'tools'

+ 54 - 0
intel-2018b/Ferret-7.5.0-intel-2018b.eb

@@ -0,0 +1,54 @@
+name = 'Ferret'
+version = '7.5.0'
+homepage = 'http://ferret.pmel.noaa.gov/'
+description = """Ferret is an interactive computer visualization and analysis environment
+designed to meet the needs of oceanographers and meteorologists analyzing large and complex gridded data sets."""
+
+toolchain = {'name': 'intel', 'version': '2018b'}
+toolchainopts = {'usempi': True, 'pic': True}
+
+source_urls = ['https://github.com/NOAA-PMEL/Ferret/archive/']
+sources = ['v%s.tar.gz' % version]
+patches = [
+    'Ferret-7.5.0_fix-tm_date_ok.patch',
+]
+
+dependencies = [
+    ('X11', '20180604'),
+    # often used with CDO, matching netCDF versions
+    ('netCDF', '4.6.1'),
+    ('netCDF-Fortran', '4.4.4'),
+    ('HDF5', '1.10.2'),
+    ('zlib', '1.2.11'),
+    ('Szip', '2.1.1'),
+    ('cURL', '7.60.0'),
+    ('ncurses', '6.1'),
+    ('libreadline', '7.0'),
+    ('Java', '1.8.0_192', '', True),
+]
+
+parallel = 1
+
+prebuildopts = 'export CPP_X11="-I${EBROOTX11}/include" && '
+buildopts = 'CC="mpiicc -O" FC=mpiifort CDFLIB="-lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lsz"'
+
+modextravars = {
+    'FER_DIR': '%(installdir)s',
+    'FER_DSETS': '%(installdir)s/fer_dsets',
+    'FER_DATA': '. %(installdir)s/fer_dsets/data %(installdir)s/contrib',
+    'FER_DESCR': '. %(installdir)s/fer_dsets/descr',
+    'FER_GRIDS': '. %(installdir)s/fer_dsets/grids',
+    'FER_GO': '. %(installdir)s/go %(installdir)s/examples %(installdir)s/contrib',
+    'FER_EXTERNAL_FUNCTIONS': '%(installdir)s/ext_func/libs',
+    'FER_PALETTE': '. %(installdir)s/ppl',
+    'SPECTRA': '%(installdir)s/ppl',
+    'FER_FONTS': '%(installdir)s/ppl/fonts',
+    'PLOTFONTS': '%(installdir)s/ppl/fonts',
+}
+
+sanity_check_paths = {
+    'files': ['bin/ferret_v7.5'],
+    'dirs': [],
+}
+
+moduleclass = 'vis'

+ 23 - 0
intel-2018b/Ferret-7.5.0_fix-tm_date_ok.patch

@@ -0,0 +1,23 @@
+Patched config file tm_date_ok.F, replacing the original file.
+Februray 23th 2020 by PY Barriat (ELIC - UCL)
+--- fmt/src/tm_date_ok.F.orig	2019-04-25 18:33:41.000000000 +0200
++++ fmt/src/tm_date_ok.F	2020-02-13 12:19:43.444989738 +0100
+@@ -45,7 +45,7 @@
+ * v7441*acm* 12/18 Issue 1910: Allow dates in commands to be in ISO 8601 form, yyyy-mm-dd
+ 
+ 
+-     include 'tmap_errors.parm'
++      include 'tmap_errors.parm'
+ #include "gt_lib.parm"
+ 
+ * calling argument declarations:
+--- fer/gnl/special_symbol.F.orig	2020-02-13 12:39:05.393557202 +0100
++++ fer/gnl/special_symbol.F		2020-02-13 12:37:49.633042187 +0100
+@@ -73,6 +73,7 @@
+ *                 SPAWN_OK -> SPAWN_OK, so 1=succcess, 0=failure
+ *                 SPAWN_STATUS returns the status value
+ 
++        USE IFPORT
+         IMPLICIT NONE
+ * calling argument declarations:
+ 	INTEGER	  isym, slen

+ 21 - 0
intel-2018b/JasPer-1.900.1-intel-2018b.eb

@@ -0,0 +1,21 @@
+easyblock = 'ConfigureMake'
+
+name = 'JasPer'
+version = '1.900.1'
+
+homepage = 'http://www.ece.uvic.ca/~frodo/jasper/'
+description = """The JasPer Project is an open-source initiative to provide a free
+ software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard."""
+
+toolchain = {'name': 'intel', 'version': '2018b'}
+toolchainopts = {'pic': True}
+
+sources = [SOURCELOWER_ZIP]
+source_urls = ['http://www.ece.uvic.ca/~frodo/jasper/software/']
+
+sanity_check_paths = {
+    'files': ["bin/jasper", "lib/libjasper.a"],
+    'dirs': ["include"],
+}
+
+moduleclass = 'vis'

+ 25 - 0
intel-2018b/grib_api-1.24.0-intel-2018b.eb

@@ -0,0 +1,25 @@
+easyblock = 'ConfigureMake'
+
+name = 'grib_api'
+version = '1.24.0'
+
+homepage = 'https://software.ecmwf.int/wiki/display/GRIB/Home'
+description = """The ECMWF GRIB API is an application program interface accessible from C, FORTRAN and Python
+ programs developed for encoding and decoding WMO FM-92 GRIB edition 1 and edition 2 messages. A useful set of
+ command line tools is also provided to give quick access to GRIB messages."""
+
+toolchain = {'name': 'intel', 'version': '2018b'}
+
+source_urls = ['https://software.ecmwf.int/wiki/download/attachments/3473437/']
+sources = ['grib_api-%(version)s-Source.tar.gz']
+checksums = ['6b0d443cb0802c5de652e5816c5b88734cb3ead454eb932c5ec12ef8d4f77bcd']
+
+dependencies = [
+    ('JasPer', '1.900.1'),  # 2.x doesn't work
+]
+
+configopts = '--with-jasper=$EBROOTJASPER'
+
+parallel = 1
+
+moduleclass = 'data'

+ 343 - 0
intel-2018b/special_symbol.F

@@ -0,0 +1,343 @@
+	SUBROUTINE SPECIAL_SYMBOL( isym, name, value, slen )
+
+*  This software was developed by the Thermal Modeling and Analysis
+*  Project(TMAP) of the National Oceanographic and Atmospheric
+*  Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
+*  hereafter referred to as NOAA/PMEL/TMAP.
+*
+*  Access and use of this software shall impose the following
+*  obligations and understandings on the user. The user is granted the
+*  right, without any fee or cost, to use, copy, modify, alter, enhance
+*  and distribute this software, and any derivative works thereof, and
+*  its supporting documentation for any purpose whatsoever, provided
+*  that this entire notice appears in all copies of the software,
+*  derivative works and supporting documentation.  Further, the user
+*  agrees to credit NOAA/PMEL/TMAP in any publications that result from
+*  the use of this software or in any product that includes this
+*  software. The names TMAP, NOAA and/or PMEL, however, may not be used
+*  in any advertising or publicity to endorse or promote any products
+*  or commercial entity unless specific written permission is obtained
+*  from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
+*  is not obligated to provide the user with any support, consulting,
+*  training or assistance of any kind with regard to the use, operation
+*  and performance of this software nor to provide the user with any
+*  updates, revisions, new versions or "bug fixes".
+*
+*  THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
+*  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+*  ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
+*  INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+*  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+*  CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
+*  CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. 
+*
+* this routine is 2-in-1 to handle "special" (internally defined) symbols
+* it acts like an encapsulated special symbol "object" (FORTRAN ...)
+* if isym=0 on input then this is a request to translate the passed "name"
+*	if the given name is the name of a special symbol return its definition
+*	in value and its length in slen. Else return slen=0
+* if slen is a positive integer then return the name of that symbol
+*	or a blank name if the integer is larger than the number of symbols 
+
+* programmer - steve hankin
+* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
+
+* V522 7/00 *sh* - extracted from symbol_command.F
+* V530  8/00 *sh* - bug (feature) fix so that SHOW SYM doesn't eveluate
+*			PPL$XPIXEL
+*      12/00 *sh* - added symbols SESSION_DATE and SESSION_TIME
+*      10/01 *kob*- add symbol FERRET_PLATFORM to display the platform
+*                   the executable was built on. 
+*       8/05 *acm*- Allow more digits in xrevision number
+* V62   4/09 *acm*- Add new symbol DELTA_CPU. When it is evaluated,
+*                   calls the intrinsic fcn Dtime and sets the value to that new
+*                   delta-time since the last call.  Initialized in initizlize.F
+* V62   4/09 *acm*- Add new symbol CLOCK_SECS. When it is evaluated, calls the
+*                   intrinsic SYSTEM_CLOCK and sets the value to the delta-time 
+*                   in seconds since Ferret was initialized.
+* V62   4/09 *acm*- Add new symbols CURRENT_DATE, CURRENT_TIME. These get formatted
+*                   date and time, unlike SESSION_DATE, SESSION_TIME which remain
+*                   fixed at the start time of the Ferret session.
+* V62   5/09 *acm*- make FERRET_MEMORY a special symbol.
+* V65   1/10 *acm*- New special symbol N_OPEN_DSETS, counts the number of open datasets
+* V65   2/10 *acm*- Call CPU_TIME rather than DTIME for clock symbols. Works
+*                   with gfortran as well as g77.
+* V68  *acm* 1/12  ifdef double_p for double-precision ferret.
+* V68   1/12 *acm*- Symbol FERRET_PRECISION is single or double.
+* V68   3/12 *acm*- Symbol SESSION_PID for the process ID
+* V68   2/13 *kms*- Symbol PROGRAM_NAME = Ferret or PyFerret
+* V702  3/17 *sh* - Dynamic memory calculation change for FERRET_MEMORY symbol
+*                 - added PEAK_MEMORY and SPAWN_STATUS
+* v720 7/17 *acm* ticket 2552 Make SPAWN_STATUS return the return status, so 0=succcess
+*                 SPAWN_OK -> SPAWN_OK, so 1=succcess, 0=failure
+*                 SPAWN_STATUS returns the status value
+
+        IMPLICIT NONE
+* calling argument declarations:
+	INTEGER	  isym, slen
+	CHARACTER name*(*), value*(*)
+
+* internal parameter declaration
+	INTEGER nspecial
+	PARAMETER (nspecial = 20)
+
+* internal variable declarations:
+	LOGICAL	IS_SECURE
+	INTEGER STR_UPCASE, TM_LENSTR, i, i1, ierr, wsid, 
+     .          nxpix, nypix, llen, icount, irate, imax, iset
+c        REAL DTIME 
+        REAL TArray(2), dtime_res, clock_secs, count, cputime_now, rstatus
+	CHARACTER special(nspecial)*16, upname*16
+	CHARACTER LEFINT*16, TM_FMT*12, NF_INQ_LIBVERS*80, NF_INQ_LIBVERS_*80,
+     .		  LEFINT8*16
+        CHARACTER*10 current_date, current_time, zone
+	INTEGER itimes(8)
+
+* names of special symbols (must be upper case)
+	DATA special(1)/ 'PPL$XPIXEL' /,
+     .	     special(2)/ 'PPL$YPIXEL' /,
+     .	     special(3)/ 'BYTEORDER' /,
+     .	     special(4)/ 'FERRET_VERSION' /,
+     .	     special(5)/ 'FERRET_PLATFORM' /,
+     .	     special(6)/ 'FERRET_PRECISION' /,
+     .	     special(7)/ 'NETCDF_VERSION' /,
+     .	     special(8)/ 'FERRET_MEMORY' /,
+     .	     special(9)/ 'SESSION_DATE' /,
+     .	     special(10)/ 'SESSION_TIME' /,
+     .	     special(11)/ 'SESSION_PID' /,
+     .	     special(12)/ 'DELTA_CPU' /,
+     .	     special(13)/ 'CLOCK_SECS' /,
+     .	     special(14)/ 'CURRENT_DATE' /,
+     .	     special(15)/ 'CURRENT_TIME' /,
+     .	     special(16)/ 'N_OPEN_DSETS' /,
+     .	     special(17)/ 'PROGRAM_NAME' /,
+     .	     special(18)/ 'PEAK_MEMORY' /,
+     .	     special(19)/ 'SPAWN_OK' /,
+     .	     special(20)/ 'SPAWN_STATUS' /
+
+	include 'tmap_dims.parm'
+	include 'ferret.parm'
+	include 'xplot_state.cmn'	! for PPL$XPIXEL
+	include 'xrevision.cmn'
+	include 'xtoday.cmn'
+	include 'xplatform_type.cmn'
+	include 'xvariables.cmn'
+#	include "tmap_dset.parm"
+	include 'xdset_info.cmn_text'
+	include 'xprog_state.cmn'	! for spawn_status
+
+* #ifdef for endianness info.
+#ifdef sun
+	include 'xmachine_byte.cmn'
+#else
+	include 'xmachine_int1.cmn'
+#endif
+
+* is this a query by integer or by name?
+	IF (isym .GE. 1) THEN 
+* ***** QUERY BY INTEGER ******
+	   IF (isym.GT.nspecial) THEN
+	      name = ' '
+	      RETURN
+	   ENDIF
+	   name = special(isym)
+	   RETURN
+	ENDIF
+
+* ***** QUERY BY NAME *****
+* identify the given name
+	ierr = STR_UPCASE( upname, name )
+	DO 100 i = 1, nspecial
+	   IF (upname .EQ. special(i)) GOTO 200
+ 100	CONTINUE
+
+* not a recognized special symbol
+	slen = 0
+	RETURN
+
+ 200	GOTO (1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 
+     .        1900, 2000, 2100, 2200, 2300, 2400, 2500, 2600,
+     .        2700, 2800, 2900, 3000 ) i
+
+* PPL$XPIXEL, PPL$YPIXEL
+ 1100	CONTINUE
+* ... determine the current output window (GKS wkstn ID, that is)
+ 1200	DO 1230 wsid = 1, max_windows
+           IF ( wn_active(wsid) ) GOTO 1240
+ 1230   CONTINUE
+* ... no currently active window
+	value = '0'
+	slen = 1
+	RETURN
+ 1240	CALL GET_WINDOW_PIXELS(wsid, nxpix, nypix)
+	IF ( i.EQ.1 ) THEN
+	   value = LEFINT(nxpix,slen)
+	ELSE
+	   value = LEFINT(nypix,slen)
+	ENDIF
+	RETURN
+
+* BYTEORDER - get byteorder of this architecture
+ 1300	IF (active_cpu .EQ. cptype_sun) THEN
+	   value = 'BIG'
+	   slen = 3
+	ELSE
+	   value = 'LITTLE'
+	   slen = 6
+	ENDIF
+	RETURN
+
+* FERRET_VERSION
+ 1400	value = ' '
+	value = TM_FMT(revision_level, 5, 12, llen)
+	slen = llen
+	RETURN
+
+* PLATFORM_TYPE  *kob* 10/01
+ 1500	value = platform_type
+	slen = TM_LENSTR(platform_type)
+	RETURN
+
+* FERRET_PRECISION
+ 1600	CONTINUE
+#ifdef double_p
+        value = 'double'
+#else
+        value = 'single'
+#endif
+	slen = TM_LENSTR(value)
+	RETURN
+
+* NETCDF_VERSION
+ 1700	CONTINUE
+	value = NF_INQ_LIBVERS()
+	slen = TM_LENSTR(value)
+	RETURN
+
+* FERRET_MEMORY
+ 1800	value = TM_FMT(max_mem_allowed/1.E6,3,12,llen)
+	slen = llen
+	RETURN
+
+* SESSION_DATE
+ 1900	value = today_date
+	slen = 9
+	RETURN
+
+* SESSION_TIME
+ 2000	value = today_time
+	slen = 5
+	RETURN
+
+* SESSION_PID
+ 2100	CONTINUE
+	i1 = GETPID()
+	count = i1
+	value =  TM_FMT(count, 10, 10, slen)
+	RETURN
+
+
+* DELTA_CPU
+ 2200	CONTINUE
+c        CALL DTIME(TArray)
+	CALL CPU_TIME(cputime_now)
+        dtime_res = cputime_now - cpu_last
+	cpu_last = cputime_now
+	value = ' '
+	value = TM_FMT(dtime_res, 6, 8, slen)
+	RETURN
+
+* CLOCK_SECS
+ 2300	CALL SYSTEM_CLOCK(icount, irate, imax)
+        clock_secs = FLOAT(icount-clock_start_count)/FLOAT(irate)
+	IF (clock_secs .LT. 0) THEN
+           CALL WARN('Evaluating CLOCK_SECS, call to '//
+     .     'SYSTEM_CLOCK. Count has exceeded its max and reset.')
+           CALL WARN( 'This value of CLOCK_SECS is invalid. '//
+     .     'Resetting to new initial value.')
+           clock_secs = 0.
+	   clock_start_count = FLOAT(icount)/FLOAT(irate)
+	ENDIF
+	value = ' '
+	value = TM_FMT(clock_secs, 6, 8, slen)
+	RETURN
+
+* CURRENT_DATE
+ 2400	CONTINUE
+
+#ifdef AIX_XLF
+	CALL AIX_DATE( current_date )
+#elif F90_DATE_TIME
+	CALL FDATE(current_date)
+#else
+	CALL GET_DATE_AND_TIME (current_date, current_time)
+#endif
+        value = current_date
+	slen = 9
+	RETURN
+
+* CURRENT_TIME
+ 2500	CONTINUE
+
+#ifdef AIX_XLF
+	CALL AIX_TIME( current_time )
+#elif F90_DATE_TIME
+	CALL FTIME(current_time)
+#else
+	CALL GET_DATE_AND_TIME (current_date, current_time)  ! doesnt get seconds
+
+	CALL Date_and_Time(current_date, current_time, Zone, itimes)
+        WRITE (current_time,1000) itimes(5), itimes(6), itimes(7)
+ 1000   FORMAT (2(I2.2,":"), I2.2)
+
+#endif
+	value = current_time
+	slen = 8
+	RETURN
+
+* N_OPEN_DSETS
+ 2600	CONTINUE
+ 
+	count = 0.
+	DO 2690 iset = 1, maxdsets
+	   IF ( ds_name(iset) .NE. char_init2048) count = count + 1.
+ 2690	CONTINUE
+
+	value =  TM_FMT(count, 10, 10, slen)
+	RETURN
+
+* PROGRAM_NAME
+ 2700   CONTINUE
+
+        value = 'Ferret'
+        slen = 6
+        RETURN
+
+* PEAK_MEMORY
+ 2800	value = LEFINT8(peak_mem,slen)
+        RETURN
+
+* SPAWN_OK
+ 2900   IF (IS_SECURE()) THEN
+           rstatus = 0.
+        ELSEIF (spawn_status .EQ. 0.) THEN
+           rstatus = 1.
+	ELSE
+	   rstatus = 0.
+	ENDIF
+	value = TM_FMT(rstatus, 10, 10, slen)
+        RETURN
+
+* SPAWN_STATUS
+ 3000   IF (IS_SECURE()) THEN
+	   value = 'secure: spawn not allowed'
+	   slen = 25
+        ELSE
+           rstatus = spawn_status
+           value = TM_FMT(rstatus, 10, 10, slen)
+	ENDIf
+        RETURN
+
+	END
+