forked from NOAA-EMC/NCEPLIBS-w3nco
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
173 lines (115 loc) · 7.19 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
Code manager:Boi Vuong
libver='w3nco_v2.0.7'
==============================================================================
README.w3
This directory, /nwprod/lib/sorc/w3 on IBM RS/6000 SP, contains various
relocatable libraries. Several versions of each library may exist
and they follow the naming convention libname_n_xxx.
The first qualifier in the library name, _n, is set to _4, _d or
_8 to indicate the default size of the integer and real variables used
in the routines. Libraries with the _4 qualifier were compiled
specifying that integer and real variables have a default size
of 4 bytes, whereas the _8 libraries compiled the source specifying
8 byte integer and real variables (i.e. compiler options "-qintsize=8"
and "-qrealsize=8" were used). The third type, _d, indicates that
real variables are 8 bytes, but integer variables are 4 bytes
(i.e. compiler option "-qrealsize=8" is used). Note that
"-qintsize=4" and "-qrealsize=4" are the default compiler options.
The second qualifier indicates the RISC processor type on which the
library was compiled to run. The _604 qualifier indicates that the
library was compiled to run on the 604 processor used in the Silver
Nodes ( compiler option "-qarch=604" ). The _pwr3 libraries were
compiled using option "-qarch=pwr3" to run on the Winterhawk Nodes.
Note that codes compiled with "-qarch=604" will run on the PWR3
processors, but programs specifying "-qarch=pwr3" may not run
properly on the 604 processors.
Here is a list of libraries currently available.
"w3lib" is collection of relocatable utility modules
w3lib_4_604 (4_Byte Integer and 4_Byte Real)
w3lib_4_pwr3 (4_Byte Integer and 4_Byte Real)
w3lib_d_604 (4_Byte Integer and 8_Byte Real)
w3lib_d_pwr3 (4_Byte Integer and 8_Byte Real)
w3lib_8_604 (8_Byte Integer and 8_Byte Real)
"splib" is collection of spectral transformation modules
(see /nwprod/lib/sorc/sp for more details)
splib_4_604 (4_Byte Integer and 4_Byte Real)
splib_4_pwr3 (4_Byte Integer and 4_Byte Real)
splib_d_604 (4_Byte Integer and 8_Byte Real)
splib_d_pwr3 (4_Byte Integer and 8_Byte Real)
splib_8_604 (8_Byte Integer and 8_Byte Real)
Note: To properly link to one of the above libraries, the
xlf_r or xlf90_r compiler is required so that
the threaded versions of the system libraries are
linked in as well. Also, the options "-qsmp" and
"-lessl" must be used in the link step.
"iplib" is collection of general interpolation routines
(see /nwprod/lib/sorc/ip for details)
iplib_4_604 (4_Byte Integer and 4_Byte Real)
iplib_4_pwr3 (4_Byte Integer and 4_Byte Real)
iplib_d_604 (4_Byte Integer and 8_Byte Real)
iplib_d_pwr3 (4_Byte Integer and 8_Byte Real)
iplib_8_604 (8_Byte Integer and 8_Byte Real)
Note: When linking to one of the iplib libraries, it is
often required to link to the corresponding splib
as well. See the "splib" section above.
"gemlib" is collection of relocatable utility modules
gemlib_4_604 (4_Byte Integer and 4_Byte Real)
gemlib_4_pwr3 (4_Byte Integer and 4_Byte Real)
gemlib_d_604 (4_Byte Integer and 8_Byte Real)
gemlib_d_pwr3 (4_Byte Integer and 8_Byte Real)
gemlib_8_604 (8_Byte Integer and 8_Byte Real)
"bacio" contains byte-addressable C I/O routines and Fortran
interface
bacio_4_604 (4_Byte Integer )
bacio_4_pwr3 (4_Byte Integer )
bacio_8_604 (8_Byte Integer )
bacio_8_pwr3 (8_Byte Integer )
"sigio" contains routines to access sigma restart files.
sigio_4_604 (4_Byte Integer )
sigio_4_pwr3 (4_Byte Integer )
"w3mod" contains specifications and definitions that can be
accessed from other program units.
w3mod_4 (4_Byte Integer and 4_Byte Real)
w3mod_8 (8_Byte Integer and 8_Byte Real)
w3mod_d (4_Byte Integer and 8_Byte Real)
===============================================================================
Library Maintenance
* "makew3lib.sh", "makesplib.sh", "makeiplib.sh", "makegemlib.sh"
and "makebacio.sh" are used primarily to compile source code
files and to place their object files into libraries "w3lib",
"splib", "iplib", "gemlib", and "bacio", respectively.
* The compile options used in the scripts mentioned above are "-O3"
"-qnosave", "-qarch=604 or pwr3". Options "-qintsize=8" and/or
"-qrealsize=8" are used to create the _d or _8 libraries.
* The "archive ar" command is also used in the compile scripts. It
enables the user to manipulate the relocatable libraries
in a number of ways.
* "ar -r" adds a module to the relocatable library or replaces
the module in the library if it already exists.
ex. ar -r w3lib_8_604 w3fi88.o
* "ar -d" deletes the named module from a relocatable library.
ex. ar -d w3lib_8_604 w3fi88.o
* "ar -tv" prints a table of contents and gives a verbose module by
module description of the making of a new library file. This is
useful to do after running the compile script to verify how
the relocatable library has been altered.
ex. ar -tv w3lib_8_604
NOTE: 1) It is a good idea to make a backup copy of the relocatable
library before manipulating it in any way.
2) The script uses the make utility to add or to update all w3lib
archive libraries: w3lib_4_604, w3lib_4_pwr3, w3lib_8_604,
w3lib_8_pwr3, w3lib_d_604, w3lib_d_pwr3, w3mod_4, w3mod_8,
and w3mod_d.
For example, you would enter the following:
/nwprod/lib/sorc/w3/makew3lib.sh
REMARKS: Only source files that have been modified since
the last library update are recompiled and replaced
in the object archive libraries. The make utility
determines this from the file modification times.
New source files are also compiled and added to the
object archive libraries.
3) If you need to re-compile all object files, you have to change
the file date by using the command "touch *.f " or rename the
existing libraries "w3lib". Then, you run the script
"makew3lib.sh" to generate all w3lib archive libraries.
-> End of README.w3