/[MITgcm]/MITgcm_contrib/llc_hires/llc_1080/code-async/readme.txt
ViewVC logotype

Contents of /MITgcm_contrib/llc_hires/llc_1080/code-async/readme.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.4 - (show annotations) (download)
Sat Mar 2 19:31:13 2019 UTC (6 years, 5 months ago) by dimitri
Branch: MAIN
Changes since 1.3: +48 -17 lines
File MIME type: text/plain
updated asyncio code from Bron Nelson, which can now be use to read pickup files

1
2 In the newest version, it is no longer necessary to hand-edit the
3 constants in "recvTask.c" and "readtile_mpiio.c". Instead, the file
4 "SIZE.h" has been modified in two ways:
5 (1) SIZE.h now includes the constant "sFacet"
6 (2) SIZE.h may now be #include in both C and Fortran files
7 This means that "recvTask.c" and "readtile_mpiio.c" now get the
8 information they need directly from "SIZE.h", so the magic constants
9 for the run only need to be edited in one place (namely, SIZE.h).
10
11
12 One tile per rank is recommended, mostly for pickup input performance,
13 but it is not strictly necessary.
14
15 Choose dumpFreq and pChkptFreq as usual. We're not set up
16 to do the rolling checkpoints yet. It'll dump u,v,t, and etan now -
17 send me a list of other fields you want, as it is rather involved
18 to change them. But this should be enough to see if it works.
19
20
21 >>>>>>>>>>>>>>>>>>>>>>>>>>>>
22 From Bron, February 28, 2019
23
24 To use, set run-time parameter: useSingleCPUio=.FALSE.
25
26 Only a couple of files are different from the sources I copied from you.
27 But note in particular that "SIZE.h" is a new file in that directory,
28 and "recvTask.c" has a huge number of changes.
29
30
31 A couple of notes:
32
33 The input scheme implemented here is only invoked on
34 the 64bit pickup files. It is specific to the LLC decomposition and will
35 not work on e.g. the Monterey high-res simulations we did a couple years
36 ago. (Although, the code should work for any facet size as specified
37 in SIZE.h) The format of SIZE.h was changed so that it can be included
38 in both C and Fortran files, and I also added the "sFacet" constant that
39 specifies the base facet size (e.g. 1080). So SIZE.h will probably look
40 kinda weird at first, but shouldn't be hard to figure out. The major
41 advantage is that now you no longer need to edit any magic constants in
42 recvTask.c and readtile_mpiio.c - they now derive the info they need by
43 directly including SIZE.h
44
45 The code now automatically figures out how many ranks are running per node.
46 You can run with whatever number of ranks per node that you want, but the
47 number needs to be consistent for all nodes (except possibly the last node,
48 which can be short).
49
50 The initial burst of output generated by recvTask.c (the "map" describing
51 the way the I/O processes are allocated) is now somewhat longer and more
52 detailed, but can continue to be ignored.
53
54 I did NOT try to cure the "integer" problem. It seems that the code is
55 getting fairly close to bumping into the 2G (i.e. 2^31) limit on numbers
56 that fit into a default integer. I *think* you can probably do one more
57 doubling of the resolution (to 8640), but I'm also pretty sure that going
58 past that will break the code.

  ViewVC Help
Powered by ViewVC 1.1.22