snapmerge.c 2.83 KB
Newer Older
Tilman Steinweg's avatar
Tilman Steinweg committed
1
/*-----------------------------------------------------------------------------------------
2
 * Copyright (C) 2016  For the list of authors, see file AUTHORS.
Tilman Steinweg's avatar
Tilman Steinweg committed
3
 *
Florian Wittkamp's avatar
Florian Wittkamp committed
4
 * This file is part of IFOS.
5
 *
Florian Wittkamp's avatar
Florian Wittkamp committed
6
 * IFOS is free software: you can redistribute it and/or modify
Tilman Steinweg's avatar
Tilman Steinweg committed
7 8
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, version 2.0 of the License only.
9
 *
Florian Wittkamp's avatar
Florian Wittkamp committed
10
 * IFOS is distributed in the hope that it will be useful,
Tilman Steinweg's avatar
Tilman Steinweg committed
11 12 13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
14
 *
Tilman Steinweg's avatar
Tilman Steinweg committed
15
 * You should have received a copy of the GNU General Public License
Florian Wittkamp's avatar
Florian Wittkamp committed
16
 * along with IFOS. See file COPYING and/or <http://www.gnu.org/licenses/gpl-2.0.html>.
17
 -----------------------------------------------------------------------------------------*/
Tilman Steinweg's avatar
Tilman Steinweg committed
18 19

/*------------------------------------------------------------------------
20
 *   loop over snapshotfiles which have to be merged.
Tilman Steinweg's avatar
Tilman Steinweg committed
21 22 23 24 25 26 27
 *
 *  ----------------------------------------------------------------------*/

#include "fd.h"
#include "globvar.h"      /* definition of global variables  */

int main(int argc, char **argv){
28 29 30 31 32 33 34 35 36 37 38 39 40 41
    
    int nsnap;
    char *fileinp;
    
    /* read parameters from parameter-file (stdin) */
    /*read_par(stdin);*/
    
    
    /* read parameters from parameter-file (stdin) */
    fileinp=argv[1];
    FP=fopen(fileinp,"r");
    if(FP==NULL) {
        if (MYID == 0){
            printf("\n==================================================================\n");
Florian Wittkamp's avatar
Florian Wittkamp committed
42
            printf(" Cannot open IFOS input file %s \n",fileinp);
43
            printf("\n==================================================================\n\n");
44
            declare_error(" --- ");
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
        }
    }
    
    /* read json formatted input file */
    read_par_json(stdout,fileinp);
    
    
    
    NXG=NX;
    NYG=NY;
    NX = NXG/NPROCX;
    NY = NYG/NPROCY;
    
    nsnap=1+iround((TSNAP2-TSNAP1)/TSNAPINC);
    
    FP=stdout;
    
    
    switch(SNAP){
        case 1 : /*particle velocity*/
            if(WAVETYPE==1||WAVETYPE==3) {
                merge(nsnap,1);
                merge(nsnap,2);
            }
            if(WAVETYPE==2||WAVETYPE==3) {
                merge(nsnap,7);
            }
            break;
        case 2 : /*pressure */
            merge(nsnap,6);
            break;
        case 4 : /*particle velocity*/
            if(WAVETYPE==1||WAVETYPE==3) {
                merge(nsnap,1);
                merge(nsnap,2);
            }
            if(WAVETYPE==2||WAVETYPE==3) {
                merge(nsnap,7);
            }
        case 3 :
            merge(nsnap,4);
            merge(nsnap,5);
            break;
        default :
            warning(" snapmerge: cannot identify content of snapshot !");
            break;
            
    }	
    return 0;	
    
Tilman Steinweg's avatar
Tilman Steinweg committed
95
}