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