NASA Logo
Ocean Color Science Software

ocssw V2022
expand3D.cpp File Reference
#include "expand3D.hpp"
#include "sensorInfo.h"
#include <limits>
#include "find_variable.hpp"
Include dependency graph for expand3D.cpp:

Go to the source code of this file.

Functions

void parse_colon_range (const std::string &wv_range, const std::unordered_map< int, int > &wv3d_list, std::vector< int > &wv_requested_vals, std::vector< int > &wv_requested_indexes, std::unordered_set< int > &wv_requested_vals_lookup)
 
void parse_wv_list (const std::string &wv_list, const std::unordered_map< int, int > &wv3d_list, std::vector< int > &wv_requested_vals, std::vector< int > &wv_requested_indexes, bool exit_on_not_found)
 
std::vector< std::stringcreate_min_max_values (const std::vector< std::string > &products_requested_separated, productInfo_t *info)
 
std::string get_3d_product_name (const std::string &prod_3d, const std::string &wv, productInfo_t *info=nullptr)
 
std::string get_3d_product_name (const std::string &prod_3d, int wv, productInfo_t *info=nullptr)
 
std::string get_3d_product_name (const std::string &prod_3d, int *wv, productInfo_t *info=nullptr)
 
void expand_l2_requested (std::vector< std::string > &products_requested_separated, productInfo_t *info)
 
void set_mapper (const std::string &input_file_name, std::string &products_requested, std::vector< std::string > &products_requested_separated, const std::string &requested_wavelengths)
 
int32_t get_l2prod_index (const l2_prod &l2, const char *prodname)
 
void set_prodname_3d_to_l2 (const std::vector< std::string > &prodparam, l2_prod &l2_str, std::vector< std::string > &l2_prodname, std::vector< std::string > &l3_prodname, std::vector< int32_t > &thirdDimId, std::vector< float > &min_value, std::vector< float > &max_value)
 
bool set_l2_flags_use (const std::string &flagsuse)
 
void l3_l2_conversion (char **inp3, char **out2)
 
float l3_attr (const std::string &inp3)
 
void l3_l2_index (char **inp3, int *start, int *count)
 
int get_set_flag ()
 
int get_l2_flag_use ()
 

Function Documentation

◆ create_min_max_values()

std::vector<std::string> create_min_max_values ( const std::vector< std::string > &  products_requested_separated,
productInfo_t *  info 
)

Definition at line 101 of file expand3D.cpp.

◆ expand_l2_requested()

void expand_l2_requested ( std::vector< std::string > &  products_requested_separated,
productInfo_t *  info 
)

The user can supply a 3D product such as "Lt" or "Rrs" and they will be expanded: Rrs_449 etc.

Parameters
products_requested_separated- list of all products.

Definition at line 197 of file expand3D.cpp.

◆ get_3d_product_name() [1/3]

std::string get_3d_product_name ( const std::string prod_3d,
const std::string wv,
productInfo_t *  info = nullptr 
)

Definition at line 145 of file expand3D.cpp.

◆ get_3d_product_name() [2/3]

std::string get_3d_product_name ( const std::string prod_3d,
int *  wv,
productInfo_t *  info = nullptr 
)

Definition at line 159 of file expand3D.cpp.

◆ get_3d_product_name() [3/3]

std::string get_3d_product_name ( const std::string prod_3d,
int  wv,
productInfo_t *  info = nullptr 
)

Definition at line 155 of file expand3D.cpp.

◆ get_l2_flag_use()

int get_l2_flag_use ( )

Definition at line 437 of file expand3D.cpp.

◆ get_l2prod_index()

int32_t get_l2prod_index ( const l2_prod &  l2,
const char *  prodname 
)

Definition at line 373 of file expand3D.cpp.

◆ get_set_flag()

int get_set_flag ( )

Definition at line 434 of file expand3D.cpp.

◆ l3_attr()

float l3_attr ( const std::string inp3)

Definition at line 421 of file expand3D.cpp.

◆ l3_l2_conversion()

void l3_l2_conversion ( char **  inp3,
char **  out2 
)

Definition at line 413 of file expand3D.cpp.

◆ l3_l2_index()

void l3_l2_index ( char **  inp3,
int *  start,
int *  count 
)

Definition at line 428 of file expand3D.cpp.

◆ parse_colon_range()

void parse_colon_range ( const std::string wv_range,
const std::unordered_map< int, int > &  wv3d_list,
std::vector< int > &  wv_requested_vals,
std::vector< int > &  wv_requested_indexes,
std::unordered_set< int > &  wv_requested_vals_lookup 
)

Definition at line 30 of file expand3D.cpp.

◆ parse_wv_list()

void parse_wv_list ( const std::string wv_list,
const std::unordered_map< int, int > &  wv3d_list,
std::vector< int > &  wv_requested_vals,
std::vector< int > &  wv_requested_indexes,
bool  exit_on_not_found 
)
Parameters
wv_listuser supplied wv3d list
wv3d_listwavelength and their indexes;
wv_requested_valsuser requested wavelength list
wv_requested_indexesslices indexes of the 3D variable
exit_on_not_foundhard exit if wavelength not found

Definition at line 70 of file expand3D.cpp.

◆ set_l2_flags_use()

bool set_l2_flags_use ( const std::string flagsuse)

Definition at line 407 of file expand3D.cpp.

◆ set_mapper()

void set_mapper ( const std::string input_file_name,
std::string products_requested,
std::vector< std::string > &  products_requested_separated,
const std::string requested_wavelengths 
)

readL2, openL2 uses the maps from this module. If the module is not initialized, the function read and process an unexpanded L2 products

Parameters
input_file_namepath to nc file
products_requestedproducts requested by the user, with delimiters
products_requested_separatedlist of the separated products
requested_wavelengthslist of requested wavelength

Definition at line 235 of file expand3D.cpp.

◆ set_prodname_3d_to_l2()

void set_prodname_3d_to_l2 ( const std::vector< std::string > &  prodparam,
l2_prod &  l2_str,
std::vector< std::string > &  l2_prodname,
std::vector< std::string > &  l3_prodname,
std::vector< int32_t > &  thirdDimId,
std::vector< float > &  min_value,
std::vector< float > &  max_value 
)

Definition at line 383 of file expand3D.cpp.