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 | C $Header: /u/gcmpack/models/MITgcmUV/model/inc/FFIELDS.h,v 1.5 1998/07/15 22:22:24 adcroft Exp $ |
2 | C |
3 | C /==========================================================\ |
4 | C | FFIELDS.h | |
5 | C | o Model forcing fields | |
6 | C |==========================================================| |
7 | C | The arrays here will need changing and customising for a | |
8 | C | particular experiment. | |
9 | C \==========================================================/ |
10 | C |
11 | C-- For a classical "gyre" type experiment just one term is needed. |
12 | C fu - Zonal velocity tendency term ( m/s^2 ) |
13 | C fv - Meridional velocity tendency term ( m/s^2 ) |
14 | C Qnet - Surface heat flux (converted to degrees/second) |
15 | C EmPmR - Evaporation - Precipitation - Runoff (converted to psu/second) |
16 | C SST - Sea surface temperature (degrees) for relaxation |
17 | C SSS - Sea surface salinity (psu) for relaxation |
18 | C Qsw - Short-wave surface heat flux (converted to degrees/second) |
19 | COMMON /FFIELDS/ |
20 | & fu, |
21 | & fv, |
22 | & Qnet, |
23 | & EmPmR, |
24 | & SST, |
25 | & SSS, |
26 | & Qsw |
27 | _RS fu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
28 | _RS fv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
29 | _RS Qnet (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
30 | _RS EmPmR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
31 | _RS SST (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
32 | _RS SSS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
33 | _RS Qsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
ViewVC Help | |
Powered by ViewVC 1.1.22 |