OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
giop.c File Reference
#include <stdio.h>
#include <math.h>
#include "l12_proto.h"
#include "giop.h"
#include "amoeba.h"
#include <gsl/gsl_errno.h>
#include <gsl/gsl_vector.h>
#include <gsl/gsl_blas.h>
#include <gsl/gsl_multifit_nlin.h>
#include <gsl/gsl_linalg.h>
#include <gsl/gsl_poly.h>
Include dependency graph for giop.c:

Go to the source code of this file.

Classes

struct  fit_data_str
 

Functions

void freeArray (void **a, int32_t m)
 
void freeDArray (double **a, int32_t m)
 
void giop_int_tab_file (char *file, int nx, float *x, float **y)
 
void giop_ctl_start (giopstr *g, float chl)
 
void giop_ctl_init (giopstr *g, int nwave, float wave[], float aw[], float bbw[])
 
int giop_ran (int recnum)
 
void giop_model (giopstr *g, double par[], int nwave, float wave[], float aw[], float bbw[], float foq[], float aph[], float adg[], float bbp[], double rrs[], double **dfdpar, double **parstar)
 
void giop_model_iterate (giopstr *g, double par[], int nwave, float wave[], float aw[], float bbw[], float foq[], float aph[], float adg[], float bbp[], float acdom[], float anap[], float bbph[], float bbnap[], double rrs[], double **dfdpar, double **parstar)
 
double giop_amb (FITSTRUCT *ambdata, double par[])
 
int fit_giop_amb (giopstr *g, double Rrs[], double wts[], double par[], double Rrs_fit[], int16 *itercnt)
 
int giop_lm_fdf (const gsl_vector *parv, void *data, gsl_vector *f, gsl_matrix *J)
 
int giop_lm_f (const gsl_vector *parv, void *data, gsl_vector *f)
 
int giop_lm_df (const gsl_vector *parv, void *data, gsl_matrix *J)
 
int fit_giop_lm (giopstr *g, double Rrs[], double wts[], double par[], double *chi, int16 *itercnt)
 
int fit_giop_svd (giopstr *g, double rrs[], double wts[], double par[])
 
int fit_giop_svd_siop (giopstr *g, double rrs[], double wts[], double par[], double *chi)
 
float32 giop_chl (giopstr *g, int16 iopf, double par[], float *chl_err)
 
float rrs_above_to_below (float Rrs)
 
float rrs_below_to_above (float rrs_s)
 
void run_giop (l2str *l2rec)
 
void get_giop (l2str *l2rec, l2prodstr *p, float prod[])
 
int16 * get_iter_giop (l2str *l2rec)
 
int16 * get_flags_giop (l2str *l2rec)
 
void iops_giop (l2str *l2rec)
 
float * giop_get_chl_pointer ()
 
float * giop_get_adg_pointer ()
 
float * giop_get_bbp_pointer ()
 
float * giop_get_aph_pointer ()
 
float ** giop_get_fitpar_pointer ()
 
float * giop_get_bbp_s_pointer ()
 

Function Documentation

◆ fit_giop_amb()

int fit_giop_amb ( giopstr *  g,
double  Rrs[],
double  wts[],
double  par[],
double  Rrs_fit[],
int16 *  itercnt 
)

Definition at line 975 of file giop.c.

◆ fit_giop_lm()

int fit_giop_lm ( giopstr *  g,
double  Rrs[],
double  wts[],
double  par[],
double *  chi,
int16 *  itercnt 
)

Definition at line 1123 of file giop.c.

◆ fit_giop_svd()

int fit_giop_svd ( giopstr *  g,
double  rrs[],
double  wts[],
double  par[] 
)

Definition at line 1207 of file giop.c.

◆ fit_giop_svd_siop()

int fit_giop_svd_siop ( giopstr *  g,
double  rrs[],
double  wts[],
double  par[],
double *  chi 
)

Definition at line 1322 of file giop.c.

◆ freeArray()

void freeArray ( void **  a,
int32_t  m 
)

Definition at line 100 of file giop.c.

◆ freeDArray()

void freeDArray ( double **  a,
int32_t  m 
)

Definition at line 108 of file giop.c.

◆ get_flags_giop()

int16* get_flags_giop ( l2str *  l2rec)

Definition at line 2722 of file giop.c.

◆ get_giop()

void get_giop ( l2str *  l2rec,
l2prodstr *  p,
float  prod[] 
)

Definition at line 2538 of file giop.c.

◆ get_iter_giop()

int16* get_iter_giop ( l2str *  l2rec)

Definition at line 2710 of file giop.c.

◆ giop_amb()

double giop_amb ( FITSTRUCT ambdata,
double  par[] 
)

Definition at line 955 of file giop.c.

◆ giop_chl()

float32 giop_chl ( giopstr *  g,
int16  iopf,
double  par[],
float *  chl_err 
)

Definition at line 1569 of file giop.c.

◆ giop_ctl_init()

void giop_ctl_init ( giopstr *  g,
int  nwave,
float  wave[],
float  aw[],
float  bbw[] 
)

Definition at line 215 of file giop.c.

◆ giop_ctl_start()

void giop_ctl_start ( giopstr *  g,
float  chl 
)

Definition at line 160 of file giop.c.

◆ giop_get_adg_pointer()

float* giop_get_adg_pointer ( )

Definition at line 2768 of file giop.c.

◆ giop_get_aph_pointer()

float* giop_get_aph_pointer ( )

Definition at line 2782 of file giop.c.

◆ giop_get_bbp_pointer()

float* giop_get_bbp_pointer ( )

Definition at line 2775 of file giop.c.

◆ giop_get_bbp_s_pointer()

float* giop_get_bbp_s_pointer ( )

Definition at line 2797 of file giop.c.

◆ giop_get_chl_pointer()

float* giop_get_chl_pointer ( )

Definition at line 2761 of file giop.c.

◆ giop_get_fitpar_pointer()

float** giop_get_fitpar_pointer ( )

Definition at line 2789 of file giop.c.

◆ giop_int_tab_file()

void giop_int_tab_file ( char *  file,
int  nx,
float *  x,
float **  y 
)

Definition at line 121 of file giop.c.

◆ giop_lm_df()

int giop_lm_df ( const gsl_vector *  parv,
void *  data,
gsl_matrix *  J 
)

Definition at line 1113 of file giop.c.

◆ giop_lm_f()

int giop_lm_f ( const gsl_vector *  parv,
void *  data,
gsl_vector *  f 
)

Definition at line 1109 of file giop.c.

◆ giop_lm_fdf()

int giop_lm_fdf ( const gsl_vector *  parv,
void *  data,
gsl_vector *  f,
gsl_matrix *  J 
)

Definition at line 1038 of file giop.c.

◆ giop_model()

void giop_model ( giopstr *  g,
double  par[],
int  nwave,
float  wave[],
float  aw[],
float  bbw[],
float  foq[],
float  aph[],
float  adg[],
float  bbp[],
double  rrs[],
double **  dfdpar,
double **  parstar 
)

Definition at line 580 of file giop.c.

◆ giop_model_iterate()

void giop_model_iterate ( giopstr *  g,
double  par[],
int  nwave,
float  wave[],
float  aw[],
float  bbw[],
float  foq[],
float  aph[],
float  adg[],
float  bbp[],
float  acdom[],
float  anap[],
float  bbph[],
float  bbnap[],
double  rrs[],
double **  dfdpar,
double **  parstar 
)

Definition at line 792 of file giop.c.

◆ giop_ran()

int giop_ran ( int  recnum)

Definition at line 569 of file giop.c.

◆ iops_giop()

void iops_giop ( l2str *  l2rec)

Definition at line 2734 of file giop.c.

◆ rrs_above_to_below()

float rrs_above_to_below ( float  Rrs)

Definition at line 1598 of file giop.c.

◆ rrs_below_to_above()

float rrs_below_to_above ( float  rrs_s)

Definition at line 1607 of file giop.c.

◆ run_giop()

void run_giop ( l2str *  l2rec)

Definition at line 1616 of file giop.c.