NASA Logo
Ocean Color Science Software

ocssw V2022
nav.h File Reference
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
#include "stdbool.h"
#include "math.h"
#include <stdint.h>
Include dependency graph for nav.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DSIGN(A, B)   B >= 0 ? fabs(A) : -fabs(A)
 

Functions

double norm (const double *vec, size_t n)
 
double square (const double *vec, size_t n)
 
double dot (const double *vec1, const double *vec2, size_t n)
 
double dmod (double a, double p)
 
int32_t jd (int32_t i, int32_t j, int32_t k)
 
double julian (double tin[2])
 
void jdate (int jd, int *i, int *k)
 
void jddate (int jd, int *i, int *j, int *k)
 
void ymdhms2jul (int32_t year, int32_t month, int32_t day, int32_t hour, int32_t minute, double sec, double *jul)
 

Macro Definition Documentation

◆ DSIGN

#define DSIGN (   A,
  B 
)    B >= 0 ? fabs(A) : -fabs(A)

Definition at line 9 of file nav.h.

Function Documentation

◆ dmod()

double dmod ( double  a,
double  p 
)

Description:

Returns remainder calculated as:

 A - (INT(A / P) * P)

P must not be zero.

Parameters
aINTEGER or REAL; scalar; INTENT(IN).
pINTEGER or REAL; scalar; INTENT(IN).
Returns
double

Definition at line 23 of file nav.c.

◆ dot()

double dot ( const double *  vec1,
const double *  vec2,
size_t  n 
)

computes the scalar/dot product of two vectors

Parameters
vec1vector1
vec2vector1
ndim
Returns
double

Definition at line 15 of file nav.c.

◆ jd()

int32_t jd ( int32_t  i,
int32_t  j,
int32_t  k 
)

c This function converts a calendar date to the corresponding Julian day starting at noon on the calendar date. The algorithm used is from Van Flandern and Pulkkinen, Ap. J. Supplement Series 41, November 1979, p. 400. Written by Frederick S. Patt, GSC, November 4, 1992

Parameters
iYear - e.g. 1970; I
jMonth - (1-12): I
kDay - (1-31) : I
Returns
int32_t Julian day; O

Definition at line 119 of file nav.c.

◆ jdate()

void jdate ( int  jd,
int *  i,
int *  k 
)

c Compute days since January 0, 1900

Parameters
jdjulian date
ioutput year
koutput day of year (0-365/366)

Definition at line 86 of file nav.c.

◆ jddate()

void jddate ( int  jd,
int *  i,
int *  j,
int *  k 
)

Construct a new ddate objectC C This routine computes the calendar date corresponding to C a given Julian day. This code was brazenly copied from C a routine written by Myron Shear for CSC on Julian Day 1. C
C ARGUMENT TYPE I/O DESCRIPTION
C __________________________________________________________ C JD I*4 I Julian Day (reference Jan 1, 4713 BC) C I I*4 O Year C J I*4 O Month
C K I*4 0 Day of Month C.

Parameters
jd
i
j
k

Definition at line 100 of file nav.c.

◆ julian()

double julian ( double  tin[2])
Parameters
tinTIN(1) = CALENDER DATE, YYYYMMDD. (2) = CALENDER TIME, HHMMSS.SSSS
Returns
TOUT = JULIAN DATE (DAYS)

Definition at line 30 of file nav.c.

◆ norm()

double norm ( const double *  vec,
size_t  n 
)

computes the norm of a vector

Parameters
vecvector
ndim
Returns
double

Definition at line 3 of file nav.c.

◆ square()

double square ( const double *  vec,
size_t  n 
)

computes the square of the norm of a vector

Parameters
vecvector
ndim
Returns
double

Definition at line 7 of file nav.c.

◆ ymdhms2jul()

void ymdhms2jul ( int32_t  year,
int32_t  month,
int32_t  day,
int32_t  hour,
int32_t  minute,
double  sec,
double *  jul 
)

c ----------------------------------------------------------— c Subroutine ymdhms2jul c c Convers from Year, Month, Day of Month, Hour, Minute, Second c to Julian time. c c BA Franz, GSC, 1/97

Parameters
yearinput year
monthinput month
dayinput day
hourinput hour
minuteinput minute
secinput second
juloutput julian date

Definition at line 113 of file nav.c.