00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include "plumeinput.h"
00031 #include "plumevars.h"
00032 #include <stdio.h>
00033
00034 int plumeread(FILE *fpin , Plume_enviro *env , Plume_grid *grid , Plume_options *opt )
00035 {
00036 char chs[120];
00037 int ii;
00038 double lambdad;
00039 Plume_river *river = env->river;
00040 Plume_ocean *ocean = env->ocean;
00041
00042
00043
00044
00045
00046 fscanf( fpin, "%lf", &river->Q); fgets( chs, 120, fpin );
00047 fscanf( fpin, "%lf", &river->u0); fgets( chs, 120, fpin );
00048 fscanf( fpin, "%lf", &river->rdirection); fgets( chs, 120, fpin );
00049 fscanf( fpin, "%lf", &river->b0); fgets( chs, 120, fpin );
00050 fscanf( fpin, "%lf", &river->rma); fgets( chs, 120, fpin );
00051
00052
00053
00054
00055
00056 fscanf( fpin, "%2d", &env->n_grains); fgets( chs, 120, fpin );
00057
00058 river->Cs = eh_new( double , env->n_grains );
00059
00060 env->sed = eh_new( Plume_sediment , env->n_grains );
00061
00062 for( ii = 0; ii<env->n_grains; ii++ ) {
00063 fscanf( fpin, "%lf", &river->Cs[ii]); fgets( chs, 120, fpin );
00064 fscanf( fpin, "%lf", &lambdad); fgets( chs, 120, fpin );
00065 fscanf( fpin, "%lf", &env->sed[ii].rho); fgets( chs, 120, fpin );
00066 env->sed[ii].lambda = lambdad/dTOs;
00067 }
00068
00069
00070
00071
00072 fscanf( fpin, "%lf", &ocean->Cw); fgets( chs, 120, fpin );
00073 fscanf( fpin, "%lf", &ocean->vo); fgets( chs, 120, fpin );
00074 fscanf( fpin, "%lf", &ocean->vdirection); fgets( chs, 120, fpin );
00075 fscanf( fpin, "%lf", &ocean->cc); fgets( chs, 120, fpin );
00076 fscanf( fpin, "%lf", &ocean->So); fgets( chs, 120, fpin );
00077 fscanf( fpin, "%lf", &ocean->Sw); fgets( chs, 120, fpin );
00078
00079
00080
00081
00082 fscanf( fpin, "%1d", &opt->fjrd); fgets( chs, 120, fpin );
00083 fscanf( fpin, "%1d", &opt->kwf); fgets( chs, 120, fpin );
00084 fscanf( fpin, "%d" , &env->lat); fgets( chs, 120, fpin );
00085
00086
00087
00088
00089
00090 fscanf( fpin, "%2d", &grid->ndy); fgets( chs, 120, fpin );
00091 fscanf( fpin, "%2d", &grid->ndx); fgets( chs, 120, fpin );
00092 fscanf( fpin, "%lf", &grid->ymin); fgets( chs, 120, fpin );
00093 fscanf( fpin, "%lf", &grid->ymax); fgets( chs, 120, fpin );
00094 grid->x_len = 0;
00095 grid->y_len = 0;
00096
00097
00098
00099
00100
00101
00102 fscanf( fpin, "%d", &opt->o1); fgets( chs, 120, fpin );
00103 fscanf( fpin, "%d", &opt->o2); fgets( chs, 120, fpin );
00104 fscanf( fpin, "%d", &opt->o3);
00105
00106 fclose(fpin);
00107 return(0);
00108 }
00109