cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
parse_map.cpp
Go to the documentation of this file.
1 /* This file is part of Cloudy and is copyright (C)1978-2022 by Gary J. Ferland and
2  * others. For conditions of distribution and use see copyright notice in license.txt */
3 /*ParseMap parse map command to produce map of heating and cooling,
4  * map is produced by calling punt(" map") */
5 #include "cddefines.h"
6 #include "hcmap.h"
7 #include "parser.h"
8 
9 void ParseMap(Parser &p )
10 {
11  DEBUG_ENTRY( "ParseMap()" );
12 
13  /* say output goes to stdout */
14  ioMAP = ( ioQQQ == NULL ) ? stdout : ioQQQ;
15 
16  /* do cooling space map for specified zones
17  * if no number, or <0, do map and punch out without doing first zone */
18  hcmap.MapZone = (long)p.FFmtRead();
19  if( p.lgEOL() )
20  {
21  hcmap.MapZone = 0;
22  return;
23  }
24 
25  if( p.nMatch("RANG") )
26  {
27  bool lgLogOn;
28  hcmap.RangeMap[0] = (realnum)p.FFmtRead();
29  if( hcmap.RangeMap[0] <= 10. )
30  {
32  lgLogOn = true;
33  }
34  else
35  {
36  lgLogOn = false;
37  }
38  hcmap.RangeMap[1] = (realnum)p.FFmtRead();
39  if( lgLogOn )
41 
42  if( p.lgEOL() )
43  {
44  fprintf( ioQQQ, " There must be a zone number, followed by two temperatures, on this line. Sorry.\n" );
46  }
47  if( hcmap.RangeMap[1] <= hcmap.RangeMap[0] )
48  {
49  fprintf( ioQQQ, " The upper temperature limit must be larger than the lower: "
50  "found lower=%g upper=%g.\n", hcmap.RangeMap[0], hcmap.RangeMap[1] );
52  }
53  }
54 }
bool nMatch(const char *chKey) const
Definition: parser.h:150
FILE * ioMAP
Definition: cdinit.cpp:9
double FFmtRead(void)
Definition: parser.cpp:472
double exp10(double x)
Definition: cddefines.h:1368
long int MapZone
Definition: hcmap.h:20
FILE * ioQQQ
Definition: cddefines.cpp:7
Definition: parser.h:43
void ParseMap(Parser &p)
Definition: parse_map.cpp:9
float realnum
Definition: cddefines.h:124
#define EXIT_FAILURE
Definition: cddefines.h:168
#define cdEXIT(FAIL)
Definition: cddefines.h:482
realnum RangeMap[2]
Definition: hcmap.h:23
#define DEBUG_ENTRY(funcname)
Definition: cddefines.h:723
bool lgEOL(void) const
Definition: parser.h:113
int fprintf(const Output &stream, const char *format,...)
Definition: service.cpp:1121
t_hcmap hcmap
Definition: hcmap.cpp:23