stage_inp.c
Go to the documentation of this file.00001
00012
00013
00014
00015
00016
00017
00018 #include "stage.h"
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 int stage_data_wmm(float* stageSME)
00032 {
00033
00034 int i,j,k;
00035 int success = 1, fail = -1;
00036 int stat = success;
00037 char gridmapfilename[335];
00038
00039 if(SimTime.TIME==0) {
00040
00041 elm_wmm_map = elm_OG_map;
00042
00043 if(elm_wmm_map == NULL) {
00044 sprintf(msgStr, "Mapping grids and setting up stage data...");
00045 usrErr (msgStr);
00046
00047 sprintf(gridmapfilename, "%s%s/Data/gridmapping.txt", ModelPath, ProjName );
00048 stat = mapGrids(gridmapfilename);
00049 elm_wmm_map = elm_OG_map;
00050 }
00051
00052 if(debug > 4) {
00053 printGridMap();
00054 sprintf(msgStr,"stage_data_wmm==> Finished mapping grids");
00055 usrErr (msgStr);
00056 }
00057
00058 sprintf(stage_binfilename, "%s%s/Data/BoundCond_stage.BIN", ModelPath, ProjName );
00059
00060 stat = initDataStruct(stage_binfilename,&stage_struct);
00061
00062 if(debug > 4) {
00063
00064
00065 sprintf(msgStr,"stage_data_wmm==> Finished initializing");
00066 usrErr (msgStr);
00067 }
00068
00069 }
00070
00071
00072 if(stage_struct.day >= stage_struct.recRead) {
00073 sprintf(msgStr,"Processing batch of stage data...");
00074 usrErr (msgStr);
00075 stat = processData(stage_binfilename,&stage_struct);
00076
00077 if(debug > 4 ) {
00078
00079 sprintf(msgStr,"stage_data_wmm==> Finished processing data");
00080 usrErr (msgStr);
00081 }
00082 }
00083
00084
00085 if(stage_struct.day < stage_struct.recRead) {
00086 returnData(stageSME,&stage_struct);
00087
00088 for(i = 0; i < s0; i++) {
00089 for(j = 0; j < s1; j++) {
00090 k = i*s1+j;
00091 stageSME[T((i+1),(j+1))] = stage_struct.dataELM[k] * conv_ftTOm;
00092 }
00093 }
00094
00095 if(debug > 4) {
00096 sprintf(msgStr,"stage_data_wmm==> Finished returning data");
00097 usrErr (msgStr);
00098 }
00099
00100 }
00101
00102 return success;
00103 }
00104
00105