source: LMDZ4/trunk/libf/bibio/xgetua.F @ 5428

Last change on this file since 5428 was 1425, checked in by lguez, 14 years ago

Replaced Numerical Recipes procedures for spline interpolation (not in
the public domain) by procedures from the Pchip package in the Slatec
library. This only affects the program "ce0l", not the program
"gcm". Tested on Brodie SX8 with "-debug" and "-prod", "-parallel
none" and "-parallel mpi". "start.nc" and "limit.nc" are
changed. "startphy.nc" is not changed. The relative change is of order
1e-7 or less. The revision makes the program faster (tested on Brodie
with "-prod -d 144x142x39", CPU time is 38 s, instead of 54
s). Procedures from Slatec are untouched, except for
"i1mach.F". Created procedures "pchfe_95" and "pchsp_95" which are
wrappers for "pchfe" and "pchsp" from Slatec. "pchfe_95" and
"pchsp_95" have a safer and simpler interface.

Replaced "make" by "sxgmake" in "arch-SX8_BRODIE.fcm". Added files for
compilation by FCM with "g95".

In "arch-linux-32bit.fcm", replaced "pgf90" by "pgf95". There was no
difference between "dev" and "debug" so added "-O1" to "dev". Added
debugging options. Removed "-Wl,-Bstatic
-L/usr/lib/gcc-lib/i386-linux/2.95.2", which usually produces an error
at link-time.

Bash is now ubiquitous while KornShell? is not so use Bash instead of
KornShell? in FCM.

Replaced some statements "write(6,*)" by "write(lunout,*)". Replaced
"stop" by "stop 1" in the case where "abort_gcm" is called with "ierr
/= 0". Removed "stop" statements at the end of procedures
"limit_netcdf" and main program "ce0l" (why not let the program end
normally?).

Made some arrays automatic instead of allocatable in "start_inter_3d".

Zeroed "wake_pe", "fm_therm", "entr_therm" and "detr_therm" in
"dyn3dpar/etat0_netcdf.F90". The parallel and sequential results of
"ce0l" are thus identical.

File size: 1.9 KB
Line 
1*DECK XGETUA
2      SUBROUTINE XGETUA (IUNITA, N)
3C***BEGIN PROLOGUE  XGETUA
4C***PURPOSE  Return unit number(s) to which error messages are being
5C            sent.
6C***LIBRARY   SLATEC (XERROR)
7C***CATEGORY  R3C
8C***TYPE      ALL (XGETUA-A)
9C***KEYWORDS  ERROR, XERROR
10C***AUTHOR  Jones, R. E., (SNLA)
11C***DESCRIPTION
12C
13C     Abstract
14C        XGETUA may be called to determine the unit number or numbers
15C        to which error messages are being sent.
16C        These unit numbers may have been set by a call to XSETUN,
17C        or a call to XSETUA, or may be a default value.
18C
19C     Description of Parameters
20C      --Output--
21C        IUNIT - an array of one to five unit numbers, depending
22C                on the value of N.  A value of zero refers to the
23C                default unit, as defined by the I1MACH machine
24C                constant routine.  Only IUNIT(1),...,IUNIT(N) are
25C                defined by XGETUA.  The values of IUNIT(N+1),...,
26C                IUNIT(5) are not defined (for N .LT. 5) or altered
27C                in any way by XGETUA.
28C        N     - the number of units to which copies of the
29C                error messages are being sent.  N will be in the
30C                range from 1 to 5.
31C
32C***REFERENCES  R. E. Jones and D. K. Kahaner, XERROR, the SLATEC
33C                 Error-handling Package, SAND82-0800, Sandia
34C                 Laboratories, 1982.
35C***ROUTINES CALLED  J4SAVE
36C***REVISION HISTORY  (YYMMDD)
37C   790801  DATE WRITTEN
38C   861211  REVISION DATE from Version 3.2
39C   891214  Prologue converted to Version 4.0 format.  (BAB)
40C   920501  Reformatted the REFERENCES section.  (WRB)
41C***END PROLOGUE  XGETUA
42      DIMENSION IUNITA(5)
43C***FIRST EXECUTABLE STATEMENT  XGETUA
44      N = J4SAVE(5,0,.FALSE.)
45      DO 30 I=1,N
46         INDEX = I+4
47         IF (I.EQ.1) INDEX = 3
48         IUNITA(I) = J4SAVE(INDEX,0,.FALSE.)
49   30 CONTINUE
50      RETURN
51      END
Note: See TracBrowser for help on using the repository browser.