[Nek5000-users] Problem with multiple file inut

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Mon Jun 3 09:03:50 CDT 2013


Hi Joerg,

The f0000 file format is different than .fld, so you have the following
options:


a)  .fld:    Single file - no parallel i/o --- supports ascii or binary


b) .f00000: Single or mulitiple files, parallel i/o, binary only.

c) The input and output need not be the same, so you can convert
    from one file format to another.

d) The default is to have the single-file f00000 format, assuming
    you have compiled with mpi-i/o (which is mandatory for that
    particular format).

e) Otherwise, you get the multi-file f00000 format, where the
    number of files (and parallel i/o nodes) is based on the
    value of p65 in the .rea file.    If p65=0 it defaults to
    a single file and no parallel i/o (unless you've compiled
    with mpi-i/o, per (d) above).

It seems to me that you currently have the Case (e).  Here,
you have the option of also specifying a different directory
for each output file---this is generally a _very_ good idea,
otherwise you can end up with 6400 files in the same directory
and the unix file system dies --- things like "ls" are often
implemented with O(n^2) algorithms.


If I were using Case (e) [ I personally prefer (d) ], I would
do the following:

e.1)  Set p65= -64   [ 64 i/o nodes, 64 subdirectories;
                        setting p65 < 0 indicates to use
                        separate subdirectories.

e.2)  Set p66=6     [ though I think it defaults to this ]

e.3) I would then create subdirectories

       A00, A01, A02, ... , A63

e.4) I use the attached "mkdirs.c" code, with the cmd line argument
      64 (in this case):

      mkdirs A 64

      to make these directories.


e.5) Your files for output number k, blah00.f0000k, blah01.f0000k, etc.,
      will be in directoies A01, A02, .... etc.

f)  To later restart with these files, you set p67=6 and in the
     "restart" line you put

     A??/blah??.f00007

     say.

Paul





On Mon, 3 Jun 2013, nek5000-users at lists.mcs.anl.gov wrote:

> I would like to read in G1_640.f00006 as the next file.
>
> My question is therefore: where is it exactly encoded that nek wants to read .fld?
> As I said, for single output files it works without trouble. Here, I have to split into
> multiple files since they become big.
>
> Is   "call restart(4)"  correct?
>
> Thanks a lot.
>
> Am 03.06.2013 um 14:41 schrieb nek5000-users at lists.mcs.anl.gov:
>
>> From the lines of your logfile, I see the first filename G1_640.f00005 read correctly
>>
>> Reading checkpoint data
>>     0       1 OPEN: G1_640.f00005
>>
>> while the next filename you are trying to read shows up as
>>
>>     0       1 OPEN: .fld
>>
>> which means the second file Nek is trying to read is ".fld" for some reason -- I would suggest checking how you set the filename for the second file.
>>
>> Aleks
>>
>> ----- Original Message -----
>> From: nek5000-users at lists.mcs.anl.gov
>> To: nek5000-users at lists.mcs.anl.gov
>> Sent: Monday, June 3, 2013 7:23:22 AM
>> Subject: Re: [Nek5000-users] Problem with multiple file inut
>>
>> I am sorry, I don't understand your reply:
>>
>> my rea file tells me that p66 and p67 specify binary or ascii. We use always binary.
>> How does the particular name file enter?
>>
>>
>>
>> Am 03.06.2013 um 14:17 schrieb nek5000-users at lists.mcs.anl.gov:
>>
>>> For the default/.f format you do not need to set p66 & 67 yourself but I would start with a printout of your p66 and p67 together with the filename you want to read.
>>>
>>> Aleks
>>>
>>> ----- Original Message -----
>>> From: nek5000-users at lists.mcs.anl.gov
>>> To: nek5000-users at lists.mcs.anl.gov
>>> Sent: Monday, June 3, 2013 7:11:25 AM
>>> Subject: Re: [Nek5000-users] Problem with multiple file inut
>>>
>>> Aleks, what does this mean in my particular case.
>>>
>>> Which name should the files have and which value should I prescribe for p66 and p67.
>>>
>>> Thanks a lot, Joerg.
>>>
>>>
>>> Am 03.06.2013 um 14:05 schrieb nek5000-users at lists.mcs.anl.gov:
>>>
>>>> If I am not mistaken p66 and p67 are reset to be equal to 6 later in the code for .f/default format.
>>>>
>>>> The printed filename though has the empty base and extension .fld as if p67 is 4...
>>>>
>>>> Aleks
>>>>
>>>>
>>>> ----- Original Message -----
>>>> From: nek5000-users at lists.mcs.anl.gov
>>>> To: nek5000-users at lists.mcs.anl.gov
>>>> Sent: Monday, June 3, 2013 7:00:15 AM
>>>> Subject: Re: [Nek5000-users] Problem with multiple file inut
>>>>
>>>> Hi Aleks,
>>>>
>>>> p66 and p67 is set to 0.000E+00
>>>>
>>>> Thanks
>>>>
>>>> Am 03.06.2013 um 13:52 schrieb nek5000-users at lists.mcs.anl.gov:
>>>>
>>>>> Hi Joerg,
>>>>>
>>>>> Most likely -- for some reason, the reading routines get a filename ".fld":
>>>>>
>>>>>    0       1 OPEN: .fld
>>>>> .fld
>>>>>
>>>>> so you might also want to check a value of parameter(67)
>>>>>
>>>>> Best.
>>>>> Aleks
>>>>>
>>>>> ----- Original Message -----
>>>>> From: nek5000-users at lists.mcs.anl.gov
>>>>> To: nek5000-users at lists.mcs.anl.gov
>>>>> Sent: Monday, June 3, 2013 5:46:23 AM
>>>>> Subject: [Nek5000-users] Problem with multiple file inut
>>>>>
>>>>> Hi Neks,
>>>>>
>>>>> we want to run a post processing job analyzing further things of our full production job.
>>>>> For output in single file things work well with the following patch of code in the usr file of
>>>>> the analysis program:
>>>>>
>>>>>   IF (istep.eq.1) THEN
>>>>>
>>>>>    do k=1,xx
>>>>>     WRITE(fldfle,'("G1_640.f",I5.5)')k
>>>>>     initc(1) = trim(fldfle)
>>>>>     call restart(1)
>>>>>
>>>>>     …… do your analysis……..
>>>>>
>>>>>   enddo
>>>>>
>>>>>   ENDIF
>>>>>
>>>>> It does the analysis for xx snapshots G1_640.f00001 to G1_640.f000xx that we generated
>>>>> before.
>>>>>
>>>>> Bigger jobs requires multiple file outputs, e.g. here each snapshot goes into 4 separate files
>>>>> G1_640.f0000x to G1_643.f0000x
>>>>>
>>>>> I thought that the corresponding extension should do it:
>>>>>
>>>>>
>>>>>   IF (istep.eq.1) THEN
>>>>>
>>>>>    do k=1,xx
>>>>>     k1=4+k
>>>>>     WRITE(fldfle,'("G1_64?.f",I5.5)')k1
>>>>>     initc(1) = trim(fldfle)
>>>>>     call restart(4)
>>>>>
>>>>>     …… do your analysis……..
>>>>>
>>>>>    enddo
>>>>>
>>>>>   ENDIF
>>>>>
>>>>>
>>>>> the patch of log file (see below) indicates that the program reads G1_640.f00005 to G1_643.f00005 correctly and
>>>>> gets stuck afterwards when trying to read the four files G1_64*.f00006:
>>>>>
>>>>>
>>>>>
>>>>> New CG1-tolerance (RINIT*epsm) =  0.874462285180112059E-17 0.607013350432080170E-25
>>>>> 1     1 Helmholtz VELZ    F:   8.7446E-05   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1     2 Helmholtz VELZ    F:   4.5200E-05   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1     3 Helmholtz VELZ    F:   3.1000E-05   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1     4 Helmholtz VELZ    F:   2.4871E-05   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1     5 Helmholtz VELZ    F:   2.0362E-05   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1     6 Helmholtz VELZ    F:   1.7312E-05   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1     7 Helmholtz VELZ    F:   1.4629E-05   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1     8 Helmholtz VELZ    F:   1.2836E-05   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1     9 Helmholtz VELZ    F:   1.1274E-05   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1    10 Helmholtz VELZ    F:   9.7394E-06   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1    11 Helmholtz VELZ    F:   8.3244E-06   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1    12 Helmholtz VELZ    F:   6.8927E-06   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1    13 Helmholtz VELZ    F:   5.5410E-06   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1    14 Helmholtz VELZ    F:   4.4505E-06   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1    15 Helmholtz VELZ    F:   3.5729E-06   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1    16 Helmholtz VELZ    F:   2.8812E-06   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1    17 Helmholtz VELZ    F:   2.3406E-06   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1    18 Helmholtz VELZ    F:   1.9136E-06   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1    19 Helmholtz VELZ    F:   1.5656E-06   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1    20 Helmholtz VELZ    F:   1.2877E-06   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1    21 Helmholtz VELZ    F:   1.0656E-06   1.0000E-06   8.3666E-05   2.0000E+02
>>>>> 1    22 Helmholtz VELZ    F:   8.8191E-07   1.0000E-06   8.3666E-05   2.0000E+02
>>>>>       1    Hmholtz VELZ:     21   8.8191E-07   8.7446E-05   1.0000E-06
>>>>>            L1/L2 DIV(V)    :   2.0122E-21   5.8478E-05
>>>>>            L1/L2 QTL       :   0.0000E+00   0.0000E+00
>>>>>            L1/L2 DIV(V)-QTL:   2.0122E-21   5.8478E-05
>>>>>       1   5.0000E-03  2.8596E+00 Fluid done
>>>>> filt amp  .0000  .0000  .0000  .0000  .0000  .0000  .0000  .0000  .0000  .0000  .0000  .0500
>>>>> filt trn 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000  .9500
>>>>>    1  5.0000E-03 -1.3839E-88  1.0000E+00 -3.9134E-06  3.9717E-06 uz_t_mx
>>>>> Reading checkpoint data
>>>>>    0       1 OPEN: G1_640.f00005
>>>>> byte swap: F 6.543210030 -0.2931277218E+36
>>>>> 12288       1 OPEN: G1_643.f00005
>>>>> 4096       1 OPEN: G1_641.f00005
>>>>> 8192       1 OPEN: G1_642.f00005
>>>>>
>>>>>     1  2.2370E+02 done :: Read checkpoint data
>>>>>                           avg data-throughput =   -80.6MBps
>>>>>                           io-nodes =     4
>>>>>
>>>>>    0       1 OPEN: .fld
>>>>> .fld
>>>>> byte_read() :: fopen failure2!
>>>>>
>>>>>
>>>>> Parameter 65 in the rea file is set to 4. Could it be that the initc is not correctly set?
>>>>>
>>>>> Thanks a lot, Joerg.
>>>>>
>>>>> _______________________________________________
>>>>> Nek5000-users mailing list
>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>> _______________________________________________
>>>>> Nek5000-users mailing list
>>>>> Nek5000-users at lists.mcs.anl.gov
>>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>>
>>>> _______________________________________________
>>>> Nek5000-users mailing list
>>>> Nek5000-users at lists.mcs.anl.gov
>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>> _______________________________________________
>>>> Nek5000-users mailing list
>>>> Nek5000-users at lists.mcs.anl.gov
>>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>>
>>> _______________________________________________
>>> Nek5000-users mailing list
>>> Nek5000-users at lists.mcs.anl.gov
>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>> _______________________________________________
>>> Nek5000-users mailing list
>>> Nek5000-users at lists.mcs.anl.gov
>>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>>
>> _______________________________________________
>> Nek5000-users mailing list
>> Nek5000-users at lists.mcs.anl.gov
>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>> _______________________________________________
>> Nek5000-users mailing list
>> Nek5000-users at lists.mcs.anl.gov
>> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mkdirs.c
Type: text/x-csrc
Size: 1109 bytes
Desc: 
URL: <http://lists.mcs.anl.gov/pipermail/nek5000-users/attachments/20130603/05f5ccd8/attachment.c>


More information about the Nek5000-users mailing list