BIN
types for AOCC, LLVM, nVidia,
Oracle, Intel OneAPI icx,ifx compilers
Minor bug-fixes and updates
GISLAY3
and TBLLAY3
, routines
CKFIL3
and CKDESC3
WRFWNDW
, routine
INIT3
WNDWPOINTS
WNDWPOINTS
, WNDWPTDATA
, and
WRFWNDW
MODULE MODWRFIO
MODULE MODNCFIO
M3CPLE
and MTXCALC
.f90
) Standard conforming source code
format.
SCALEFAC
for M3Tools
program m3cple
BILIN,
BMATVEC
,
m3tools program
latlon
${OBJDIR}
if necessary.
GETEFILE(), GETDFILE(),
GETFFILE(), INITLOG3()
TBLLAY3 (=-2)
in PARMS3.EXT and PARMS3-LARGE.EXT
for interpolation-table-valued I/O API files.
M3DIFF
. Thanks to Calvin Arter, UNC IE.
GRIDOPS
to avoid denormals in denominators.
ADJUSTL
bug reported by ZHUANSHI HE
in GETNUM, GETINT8
ENVINT8, BENVINT8, GETINT8, GETINT81
for (64-bit) INTEGER*8
FIXNULLS
to fix trailing
ASCII-nulls in strings; use FIXNULLS
for
MPAS netCDF.
STR2DBLE, STR2INT,
STR2REAL
routines
GRIDPROBE
for
optional M3IO-file output.
MODMPASFIO
for
I/O API-3.2-large compatibility
MXFILE3
to 256;
new PARMS3-LARGE.EXT
for CMAQ-DDM
LIST:
file-lists
RUNLEN
in M3TOOLS
programs m3diff, m3stat,
m3tshift, n3wndw, vertot,
reported by Winston Hao, NY DEC. Now fixed.GRIDDESC
file.RDTFLAG(*)
now puts both its input argument
date&time and the on-file date&time into normal
form, for compatibility with "unusual"
date&time usage in MEGAN.
MODULE MODGCTP
.
enhancement
INDEXL1()
and generic
INDEXKEY()
; m3tools/latlon
enhancement
Makeinclude
s
XY2XY()
to pass-through
"missing" location-arguments.
IOAPI_OFFSET_64
UNGRIDB()
.
INTEGER
-variable support for
m3tools
program mpastom3INTEGER
-variable support for
MODULE MODMPASFIO
generic routine MPINTERP()
MODULE MODMPASFIO
"incidence-matrix" generic routine
MPCELLMATX()
.
MODMPASFIO
generic routines
MPINTERP()
, MPBARYMATX()
,
MPBARYMULT()
VERTOT,
VERTINTEGRAL
, other enhancements
MODULE MODMPASFIO
l
EQMERC, SETEQM, SETTRM
MODULE MODMPASFIO
and
MODULE MODNCFIO
MODULE MODMPASFIO
and
log-message reductions for MODULE MODNCFIO
MODULE MODNCFIO
and
m3tools program m3interp
MODULE MODNCFIO
: add
CREATENC()
,
WRITENCVAR()
; bug-fixes
MODULE MODMPASFIO
MODULE MODNCFIO
MODPDATA/SETUP_DECOMP()
,
top-level Makefile.template
INTEGER*1
and
INTEGER*2
to READNCVAR()
M3MASK
READNCVAR()
routines in
MODULE MODNCFIO
[DBL|INT|REAL|STR]LIST()
routines
MODULE MODATTS3
MODULE MODATTS3
IO_365
Climatology-Year Version.
MODULE MODATTS3
Makeinclude
changes for gfortran
MODULE MODATTS3
,
MODULE MODNCFIO
Makefile
s
GCTP()
for Intel ifort v-11 and later.
SINUGRD3
map projection
INTEGER(8)
-key search and sort routines.
INTERFACE
s in MODULE
M3UTILIO
M3AGMASK, M3AGMAX,
M3COMBO, M3TPROC
SUBROUTINE LASTTIME
and use of it
in m3tools; larger environment-buffer size
m3tools/m3combo
from
Bonyoung Koo, Environ.
m3tools/m3xtract
and
m3tools/vertintegral
.
m3tools/projtool
.
INQATT3()
.
m3tools
programs.
BIN=Linux2_x86_64ifort_medium
DBLLIST()
; am VERTINTEGRAL
SUBROUTINE CURREC
JULDATE
and M3XTRACT
CUSTOM3
in m3tools program
M3STAT
PROJTOOL
Makefile.nocpl.sed
CRLF()
to
MODULE M3UTILIO
BUFFERED
files, for next-version CMAQ, coming
from David Wong, US EPA
PROJTOOL
PROJTOOL
.
VERTINTEGRAL
for computing CONC-file species vertical column totals; various fixes.
Makefile
s now default
to compiling with a f90 compiler.
Makefile.template
Experimental Albers Equal-Area Conic map projection
support; MM5 and WRF spheres added to GCTP()
and SETSPHERE()
by Steve Howard, NOAA/ASMD;
bug-fix to dayagg
, for problem
reported by Alexandros Syrakos.
m3combo
, from Bonyoung Koo,
ENVIRON International Corporation.
#include <stdlib.h>
for strict
interface checking of exit() call in
getdttime()
JDATE
s
Makeinclude.Linux2_x86pg_gcc_mp
and
Makeinclude.Linux2_x86pg_gcc_nomp
INTERFACE
block for GTPZ0() in m3utilio.f
;
corrected legend in m3tools program utmtool
VGTYP=VGWRFEM
in CKDESC3()
IOAPI_CSTATE3
fixed_src/STATE3.EXT
XTRACT3()
; web-pages
GRDCHK3()
PARMS3.EXT
for WRF-Chem
M3CPLE
, M3INTERP
,I/O API v3.2 m3tools programs
wrfgriddesc and wrftom3
MTXBLEND
, and MTXCPLE
NEXTIME()
and CURREC()
NEXTIME()
ENVYN()
Makefile.nocpl
issue: ddtvar3v.F
and interp3v.F
READ4D()
and
WRITE4D()
;
new m3utilio.fcontaining
MODULE M3UTILIO
with explicit
interfaces, as an alternative for theINCLUDE
files.
M3EDHDR
m3abortc()
GCTP
;
Format fix for envrealc()
and envdblec()
WRATT3
NVARS
in
OPEN3
M3TPROC
STATE3.EXT
; new
experimental Fortran-90
MODULE M3UTILIO
CHECK3
VERTOT
M3TPROC
CRTFIL3
INTERP3
m3interp
; I/O API v3.2
m3tools programs wrfgriddesc and
wrftom3
CHECK3()
,
Makefile
currstepc()
M3COMBO
M3MSG2
and UNGRIDB
MTXCALC
BINFIL3
XTRACT3()
Makefile
s for
I/O API version 2.2 ; beta availability
for I/O API version 3.
M3PARAG(), M3FLUSH()
IOPARMS3()
, returns I/O API dimensioning
parameters from INCLUDE-file PARMS3.EXT
.
LAMBERT()
; enhancements to CKFILE3()
and CKDESC3()
, by Dazhong Yin,
National Research Council of Canada.
M3STAT
.
STEGRD3
support; I/O API Version 3
development underway
.
Makeinclude.OSF1
improvements from Jinyou Liang, California Air Resources
Board.
CRLF()
(originating in, and used
by SMOKE) was modified to generate correct results on
"normal" UNIX systems; XTRACT3()
time step handling modified to match READ3()
.
INTERP3()
and/or KFOPEN()
on
files not yet opened; new make-target
nametest
checks linker-compatibility for
libioapi.a
and libnetcdf.a
; new
script nm_test.csh
for testing linker-name
compatibility.
SETTRM()
;
and new spheroid-selection routines SETSPHERE()
,
INITSPHERES()
, and SPHEREDAT()
.
rdatt3c()
and wratt3c()
, and for "worker
routines" BUFINTX
and BUFINTXD
.
M3TPROC
for output variable sets
including type M3DBLE
.
M3TPROC
.
READ3(), WRITE3(),
INTERP3()
, and DDTVAR3()
.
LOGICAL FUNCTION ISDSTIME()
, also
affecting m3tools programs
GREGDATE
and JULDATE
: July
9, 2002
SETLAM()
:
June 7, 2002
SETENVVAR()
:
May 10, 2002
INTLIST()
,
REALLIST()
, and STRLIST()
,
more tools-programs: December 5, 2001
CHECK3()
,
Makefile
FILCHK3
Go to the I/O API Availability/Download/Installation page
Starting with I/O API Version 3.1, the Makefiles are configured to use netCDF Version 4, which separates the Fortran library libnetcdff.a from the C library libnetcdf.a. To match this, theBack to ContentsLIBS
in the m3tools/Makefile uses-lnetcdff -lnetcdf
. If you use these versions of netCDF, you must also modify build-systems for CMAQ, MCIP, SMOKE, and all your models that use netCDF similarly. If using a previous version of netCDF, you must modify m3tools/Makefiles to use just-lnetcdf
.Evidently, starting with netCDF-Fortran 4.4.2, UCAR in their wisdom decided to silently eliminate the
Fortran interfaces, e.g.,CALL NC*()
CALL NCCLOS(CDFID, IERR)
, in terms of which the I/O API was originally implemented, in favor of theforms introduced with netCDF-3. [If you can find any documentation on the web indicating that they were making this change I would enjoy seeing it; I can't find any.]IERR = NF_*()
I/O API Version 3.2 was tediously re-coded to replace all 943 of these calls by the newer
IERR=NF_*()
Fortran calls that are still supported. Prior editions of the I/O API will have link errors with netCDF-Fortran 4.4.2 or later, because routines such asNCCLOS()
are no longer in that library. An easy check to see if you are affected by this is to use the nm system-utility to see ifNCCLOS
is present. If the library works with 3.1 or earlier versions of the I/O API, you should see if you see a line with a "T
" like the following (ignore the leading number-field); if it is missing, you will need I/O API-3.2 or later, or an older version of netCDF.% nm libnetcdff.a | grep ncclos
0000000000001440 T ncclos_
BIN
types below.
Subject says it. To get Version 4.0,
git clone https://github.com/cjcoats/ioapi-3.2 -b ioapi-4.0 ioapi-4.0Note that (due to directory-naming conventions that precede GitHub by four decades) without the doubled
ioapi-4.0
,
I/ API 4.0 code will still be checked out into a base directory
named ioapi-3.2
Back to Contents
BIN
types for AMD AOCC, LLVM, nVidia, Oracle,
Intel OneAPI icx,ifx compilers
Version 3.2.74Back to ContentsThere are the following new
BIN
types and matching-files, of which the Intel icx*, the nVidia nvfort* and Oracle of95* are tested; the LLVM and AMD AOCC are still "works in progress" Note that for the AOCC compilers, make-variable
- Linux2_x86_64ifx
- Linux2_x86_64ifx_360
- Linux2_x86_64ifx_365
- Linux2_x86_64ifx_medium
- Linux2_x86_64ifx_mediumdbg
- Linux2_x86_64ifxdbg
- Linux2_x86_64ifxmpi
- Linux2_x86_64ifxmpidbg
- Linux2_x86_64nvfort
- Linux2_x86_64nvfort_medium
- Linux2_x86_64nvfort_mediumdbg
- Linux2_x86_64nvfortdbg
- Linux2_x86_64nvfortmpi
- Linux2_x86_64llvmflang
- Linux2_x86_64llvmflangdbg
- Linux2_x86_64aoccflang
- Linux2_x86_64aoccflang_medium
- Linux2_x86_64aoccflangdbg
- Linux2_x86_64of95
- Linux2_x86_64of95dbg
- Linux2_x86_64of95mpi
ARCHLIB
is highly Linux-distribution specific, and will need to be customized for your system.
I/O API routine
INIT3
now logs the full I/O API version:<major version>.<minor version>.<revision number>e.g.,Version 3.2.74 with PARMS3.EXT/PARAMETER::MXVARS3=2048
PERMUTI
for use with SORTI
Version 3.2.73