OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
l3mapgen.cpp File Reference
#include "l3mapgen.h"
#include "OutFile.h"
#include <L3FileSMI.h>
#include <iostream>
#include <iomanip>
#include <fstream>
#include <genutils.h>
#include <timeutils.h>
#include <string>
#include <proj.h>
#include <sensorInfo.h>
#include <productInfo.h>
Include dependency graph for l3mapgen.cpp:

Go to the source code of this file.

Macros

#define VERSION   "1.0"
 
#define NUM_SEARCH_POINTS   51
 

Enumerations

enum  MeasurementType {
  Avg, Stdev, Variance, Nobs,
  Nscenes, ObsTime, BinNum
}
 
enum  InterpType { Interp_Nearest, Interp_Bin, Interp_Linear, Interp_Area }
 
enum  EastWest { notEastOrWest, IsEast, IsWest }
 

Functions

int isLand (float lat, float lon)
 
void printStartInfo (vector< OutFile * > outFiles)
 
void printEndInfo (OutFile *outFile)
 
void printPercentDone (float percentDone)
 
float getCentralMeridian ()
 
InterpType interpStr2Type (const char *str)
 
const char * interpType2Str (InterpType interp)
 
bool checkDateLineCrossed (double lon, double deltaLon)
 
Box_t getBox (float lat, float lon, float deltaLat, float deltaLon, int eastwest=notEastOrWest)
 
L3BingetBoxBins (L3File *l3File, float lat, float lon, float deltaLat, float deltaLon, float fudge, bool areaWeighted, int eastwest=notEastOrWest)
 
bool setupQualityProcessing (L3File *l3File, vector< OutFile * > outFiles, OutFile *outFile2)
 
void setupProduct (string &prodName, MeasurementType measure, OutFile *outFile, OutFile *outFile2)
 
void writeRawFile (L3File *l3File, vector< OutFile * > outFiles, OutFile *outFile2)
 
void writeSmiFile (L3File *l3File, vector< OutFile * > outFiles, OutFile *outFile2)
 
void writeProj4File (L3File *l3File, char *projectionStr, vector< OutFile * > outFiles, OutFile *outFile2, bool trimNSEW)
 
OutFilemakeOutputFile (const char *oformatStr, bool useColor)
 
vector< OutFile * > makeOutputFileList (clo_optionList_t *optionList)
 
int main (int argc, char *argv[])
 

Variables

double widthInDeg
 
double heightInDeg
 
double mapEast
 
double mapWest
 
int imageWidth = 0
 
int imageHeight = 0
 
bool doingQuality = false
 
bool doingRGB = false
 
bool doingTransparency = false
 
bool trimNSEW = true
 
bool write_projtext = false
 
string prodName
 
vector< stringprodNameList
 
vector< MeasurementTypeprodMeasurementList
 
string qualName
 
clo_optionList_toptionList = NULL
 
bool applyMask = false
 

Macro Definition Documentation

◆ NUM_SEARCH_POINTS

#define NUM_SEARCH_POINTS   51

Definition at line 29 of file l3mapgen.cpp.

◆ VERSION

#define VERSION   "1.0"

Definition at line 27 of file l3mapgen.cpp.

Enumeration Type Documentation

◆ EastWest

enum EastWest
Enumerator
notEastOrWest 
IsEast 
IsWest 

Definition at line 37 of file l3mapgen.cpp.

◆ InterpType

enum InterpType
Enumerator
Interp_Nearest 
Interp_Bin 
Interp_Linear 
Interp_Area 

Definition at line 34 of file l3mapgen.cpp.

◆ MeasurementType

Enumerator
Avg 
Stdev 
Variance 
Nobs 
Nscenes 
ObsTime 
BinNum 

Definition at line 31 of file l3mapgen.cpp.

Function Documentation

◆ checkDateLineCrossed()

bool checkDateLineCrossed ( double  lon,
double  deltaLon 
)

Definition at line 209 of file l3mapgen.cpp.

◆ getBox()

Box_t getBox ( float  lat,
float  lon,
float  deltaLat,
float  deltaLon,
int  eastwest = notEastOrWest 
)

Definition at line 222 of file l3mapgen.cpp.

◆ getBoxBins()

L3Bin* getBoxBins ( L3File l3File,
float  lat,
float  lon,
float  deltaLat,
float  deltaLon,
float  fudge,
bool  areaWeighted,
int  eastwest = notEastOrWest 
)

Definition at line 246 of file l3mapgen.cpp.

◆ getCentralMeridian()

float getCentralMeridian ( )

Definition at line 151 of file l3mapgen.cpp.

◆ interpStr2Type()

InterpType interpStr2Type ( const char *  str)

Definition at line 179 of file l3mapgen.cpp.

◆ interpType2Str()

const char* interpType2Str ( InterpType  interp)

Definition at line 194 of file l3mapgen.cpp.

◆ isLand()

int isLand ( float  lat,
float  lon 
)

Definition at line 66 of file l3mapgen.cpp.

◆ main()

int main ( int  argc,
char *  argv[] 
)

An implementation of a Lon/Lat to UTM zone code written by Chuck Gantz chuck.nosp@m..gan.nosp@m.tz@gl.nosp@m.obal.nosp@m.star..nosp@m.com ...in 1998...found on http://www.gpsy.com/gpsinfo/geotoutm/, a site published by Karen Nakamura, last updated 22 June 2000.

Minor modifications to the code were made to eliminate deprecation warnings

Definition at line 1558 of file l3mapgen.cpp.

◆ makeOutputFile()

OutFile* makeOutputFile ( const char *  oformatStr,
bool  useColor 
)

Definition at line 1463 of file l3mapgen.cpp.

◆ makeOutputFileList()

vector<OutFile*> makeOutputFileList ( clo_optionList_t optionList)

Definition at line 1514 of file l3mapgen.cpp.

◆ printEndInfo()

void printEndInfo ( OutFile outFile)

Definition at line 129 of file l3mapgen.cpp.

◆ printPercentDone()

void printPercentDone ( float  percentDone)

Definition at line 141 of file l3mapgen.cpp.

◆ printStartInfo()

void printStartInfo ( vector< OutFile * >  outFiles)

Definition at line 76 of file l3mapgen.cpp.

◆ setupProduct()

void setupProduct ( string prodName,
MeasurementType  measure,
OutFile outFile,
OutFile outFile2 
)

Definition at line 305 of file l3mapgen.cpp.

◆ setupQualityProcessing()

bool setupQualityProcessing ( L3File l3File,
vector< OutFile * >  outFiles,
OutFile outFile2 
)

figure out if we want and can do quality processing

Parameters
l3Fileinput bin file
outFileoutput file

Definition at line 265 of file l3mapgen.cpp.

◆ writeProj4File()

void writeProj4File ( L3File l3File,
char *  projectionStr,
vector< OutFile * >  outFiles,
OutFile outFile2,
bool  trimNSEW 
)

Definition at line 902 of file l3mapgen.cpp.

◆ writeRawFile()

void writeRawFile ( L3File l3File,
vector< OutFile * >  outFiles,
OutFile outFile2 
)

Definition at line 536 of file l3mapgen.cpp.

◆ writeSmiFile()

void writeSmiFile ( L3File l3File,
vector< OutFile * >  outFiles,
OutFile outFile2 
)

Definition at line 707 of file l3mapgen.cpp.

Variable Documentation

◆ applyMask

bool applyMask = false

Definition at line 63 of file l3mapgen.cpp.

◆ doingQuality

bool doingQuality = false

Definition at line 49 of file l3mapgen.cpp.

◆ doingRGB

bool doingRGB = false

Definition at line 50 of file l3mapgen.cpp.

◆ doingTransparency

bool doingTransparency = false

Definition at line 51 of file l3mapgen.cpp.

◆ heightInDeg

double heightInDeg

Definition at line 43 of file l3mapgen.cpp.

◆ imageHeight

int imageHeight = 0

Definition at line 48 of file l3mapgen.cpp.

◆ imageWidth

int imageWidth = 0

Definition at line 47 of file l3mapgen.cpp.

◆ mapEast

double mapEast

Definition at line 44 of file l3mapgen.cpp.

◆ mapWest

double mapWest

Definition at line 45 of file l3mapgen.cpp.

◆ optionList

clo_optionList_t* optionList = NULL

Definition at line 60 of file l3mapgen.cpp.

◆ prodMeasurementList

vector<MeasurementType> prodMeasurementList

Definition at line 57 of file l3mapgen.cpp.

◆ prodName

string prodName

Definition at line 55 of file l3mapgen.cpp.

◆ prodNameList

vector<string> prodNameList

Definition at line 56 of file l3mapgen.cpp.

◆ qualName

string qualName

Definition at line 58 of file l3mapgen.cpp.

◆ trimNSEW

bool trimNSEW = true

Definition at line 52 of file l3mapgen.cpp.

◆ widthInDeg

double widthInDeg

Definition at line 42 of file l3mapgen.cpp.

◆ write_projtext

bool write_projtext = false

Definition at line 53 of file l3mapgen.cpp.