Parent Directory | Revision Log | Revision Graph
Implemented new I/O package (mdsio.F). This package does parallel I/O in much the same way as dfile.F used to except it uses "direct access" rather than (f77) unformatted sequential access. Problems with dfile.F package included: o unnecessary memory use (each process had two global sized buffers) o inability to read the files it had written without post-processing o "tiled" files were tiled by process/thread rather than actual tiles o created huge numbers of files with no alternatives Features of the mdsio.F package: o direct-access binary writes o no excessive memory use o ability to read/write from multiple record files o "tiled" files are based on "WRAPPER" tiles so that the number and content of files is independent of the number of threads and/or processes o option to create single "global" files rather than "tiled" files o ability to read both "global" and "tiled" files [Caveat: the tiling of files must match the model tiles] o checkpoints now use a single file per model section ie. one file for the hydrostatic model core, one file for the non-hydrostatic extensions and one file for the C-D extensions o the mid-level I/O routines now is broken into more source files read_write_fld.F supplies basic I/O routines with the same interface as the original I/O package read_write_rec.F supplies I/O routines which allow multiple records write_state.F writes the model state checkpoint.F supplies the read/write checkpoint routines All the example input data has had to be modified to be direct-access. Otherwise only routines that used I/O have been affected and not all of those have been due to the continuity of arguments in the read_write_fld.F routines. What needs to be done? We have to create a suite of conversion utilities for users with old-style data. Also supply the option for using old-style I/O, not just for die-hards but for reading data too extensive to be converted. And more...
1 | # ==================== |
2 | # | Model parameters | |
3 | # ==================== |
4 | # |
5 | # Continuous equation parameters |
6 | &PARM01 |
7 | tRef= 16.0 , 15.2 , 14.5 , 13.9 , 13.3 , |
8 | 12.4 , 11.3 , 9.9 , 8.4 , 6.7 , |
9 | 5.2 , 3.8 , 2.9 , 2.3 , 1.8 , |
10 | 1.5 , 1.1 , 0.8 , 0.66, 0.63, |
11 | sRef= 34.65, 34.75, 34.82, 34.87, 34.90, |
12 | 34.90, 34.86, 34.78, 34.69, 34.60, |
13 | 34.58, 34.62, 34.68, 34.72, 34.73, |
14 | 34.74, 34.73, 34.73, 34.72, 34.72, |
15 | viscAz=1.E-3, |
16 | viscAh=5.E5, |
17 | no_slip_sides=.FALSE., |
18 | no_slip_bottom=.TRUE., |
19 | diffKhT=1.E3, |
20 | diffKzT=3.E-5, |
21 | diffKhS=1.E3, |
22 | diffKzS=3.E-5, |
23 | beta=1.E-11, |
24 | f0=1.e-4, |
25 | tAlpha=2.E-4, |
26 | sBeta =7.4E-4, |
27 | gravity=9.81, |
28 | rigidLid=.FALSE., |
29 | implicitFreeSurface=.TRUE., |
30 | eosType='LINEAR', |
31 | GMkBackground=0000.d0, |
32 | readBinaryPrec=32, |
33 | & |
34 | |
35 | # Elliptic solver parameters |
36 | &PARM02 |
37 | cg2dMaxIters=1000, |
38 | cg2dTargetResidual=1.E-13, |
39 | & |
40 | |
41 | # Time stepping parameters |
42 | &PARM03 |
43 | startTime=0, |
44 | #endTime=3110400000, |
45 | endTime=2808000., |
46 | deltaTmom=2400.0, |
47 | tauCD=321428., |
48 | deltaTtracer=108000.0, |
49 | deltaTClock =108000.0, |
50 | abEps=0.1, |
51 | pChkptFreq=0.0, |
52 | chkptFreq=0.0, |
53 | dumpFreq=2592000.0, |
54 | tauThetaClimRelax=2592000.0, |
55 | tauSaltClimRelax=2592000.0, |
56 | & |
57 | |
58 | # Gridding parameters |
59 | &PARM04 |
60 | usingCartesianGrid=.FALSE., |
61 | usingSphericalPolarGrid=.TRUE., |
62 | delZ= 5.000000e+01, 5.000000e+01, 5.500000e+01, 6.000000e+01, |
63 | 6.500000e+01, 7.000000e+01, 8.000000e+01, 9.500000e+01, |
64 | 1.200000e+02, 1.550000e+02, 2.000000e+02, 2.600000e+02, |
65 | 3.200000e+02, 4.000000e+02, 4.800000e+02, 5.700000e+02, |
66 | 6.550000e+02, 7.250000e+02, 7.750000e+02, 8.150000e+02, |
67 | phiMin=-80., |
68 | delY=40*4, |
69 | delX=90*4, |
70 | & |
71 | |
72 | # Input datasets |
73 | &PARM05 |
74 | bathyFile='topog-z', |
75 | hydrogThetaFile='thetaLevCli', |
76 | hydrogSaltFile='saltLevCli', |
77 | zonalWindFile='windx', |
78 | meridWindFile='windy', |
79 | thetaClimFile='SST.bin' |
80 | saltClimFile='SSS.bin' |
81 | & |
ViewVC Help | |
Powered by ViewVC 1.1.22 |