Everglades Landscape Model (ELM) Home Page
Main Page | Data Structures | Directories | File List | Data Fields | Globals

stage_inp.c File Reference

Establish linkage between two grids, map surface water depth (misnamed stage) input data. More...

#include "stage.h"

Include dependency graph for stage_inp.c:

Include dependency graph

Go to the source code of this file.

Functions

int stage_data_wmm (float *stageSME)


Detailed Description

Establish linkage between two grids, map surface water depth (misnamed stage) input data.

This has a single function.

Note: documented with Doxygen, which expects specific syntax within special comments.

The Everglades Landscape Model (ELM).
last updated: Dec 2004

Definition in file stage_inp.c.


Function Documentation

int stage_data_wmm float *   ) 
 

stage (depth) data array

Definition at line 30 of file stage_inp.c.

References applicationStruct::dataELM, applicationStruct::day, debug, elm_wmm_map, initDataStruct(), mapGrids(), ModelPath, msgStr, printGridMap(), processData(), ProjName, applicationStruct::recRead, returnData(), s1, SimTime, stage_binfilename, stage_struct, T, simTime::TIME, and usrErr().

Referenced by cell_dyn1().

00031 {
00032 
00033   int i,j,k;
00034   int success = 1, fail = -1;
00035   int stat = success;
00036   char gridmapfilename[135];
00037 
00038   if(SimTime.TIME==0)  {      
00039 /* elm_OG_map is data structure containing the mapping attributes at two scales */
00040     elm_wmm_map = elm_OG_map;
00041 
00042     if(elm_wmm_map == NULL) {
00043       sprintf(msgStr, "Mapping grids and setting up stage 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,"stage_data_wmm==> Finished mapping grids");
00054       usrErr (msgStr);
00055     }
00056 
00057     sprintf(stage_binfilename, "%s%s/Data/BoundCond_stage.BIN", ModelPath, ProjName );
00058     /* initializing data structures, move pointer to initial date (gridmap.c) */
00059     stat = initDataStruct(stage_binfilename,&stage_struct);  
00060 
00061     if(debug > 4) {
00062       /*printELM2Grid_io(); */
00063       /*drawELM2Grid_io(); */
00064       sprintf(msgStr,"stage_data_wmm==> Finished initializing");
00065       usrErr (msgStr); 
00066     }
00067 
00068   } /* end of SimTime.TIME=0 */
00069   
00070   
00071   if(stage_struct.day >= stage_struct.recRead) {      /* process the data in batch */
00072       sprintf(msgStr,"Processing batch of stage data...");
00073       usrErr (msgStr); 
00074       stat = processData(stage_binfilename,&stage_struct);
00075 
00076       if(debug > 4 ) {
00077         /*printBatchData(stageWMM,gridio_batch_len,widCnt);*/ /* TODO: remove this printBatchData function when sure is no longer needed */
00078         sprintf(msgStr,"stage_data_wmm==> Finished processing data");
00079         usrErr (msgStr); 
00080       }
00081   } /* end of if */
00082 
00083 
00084   if(stage_struct.day < stage_struct.recRead) {      /* pass the data day by day */
00085     returnData(stageSME,&stage_struct); 
00086 
00087     for(i = 0; i < s0; i++) {
00088       for(j = 0; j < s1; j++) {
00089         k = i*s1+j;
00090         stageSME[T((i+1),(j+1))] = stage_struct.dataELM[k] * conv_ftTOm;  /* convert data from feet to meters */
00091       }
00092     } 
00093 
00094     if(debug > 4) {
00095       sprintf(msgStr,"stage_data_wmm==> Finished returning data");
00096       usrErr (msgStr); 
00097     }
00098 
00099   } /* end of if */
00100     
00101   return success;
00102 }

Here is the call graph for this function:


Generated on Thu Jul 6 11:19:54 2006 for ELM source code by  doxygen 1.3.9.1