/***************************************************************

      Ocean.h

      Header file for oceanographic subroutines.

***************************************************************/

#ifndef ocean_included
#define ocean_included
#ifndef dbhost_included
#include "dbhost.h"   /* PROTOTYPE_ALLOWED */
#endif

/* Derived from UNESCO.FOR
   The name of p_depth was changed from DEPTH to avoid
   conflict with the CODAS data type of the same name */

/* (values for the flag M in SAL78) */
#define CR_TO_SAL 0
#define SAL_TO_CR 1

#if PROTOTYPE_ALLOWED
double p_depth( double p, double LAT );
void   GRAD   ( double *DENS, float *Z, double *DENSGR, int N);
double GRAV( double p, double LAT);      /* part of p_depth */
double ATG( double S, double T, double Pr );
double SAL( double XR, double XT );
double DSAL( double XR, double XT );
double RT35( double XT );
double A( double XP );
double B( double XP );
double C( double XP );
double SAL78(double CND, double T, double Pr, double M);
double SVAN(double S, double T, double P0, double *SIGMA);
double SVEL( double S, double T, double P0);
double THETA( double S, double T0, double P0, double PR );

/* From other sources */
void BVFREQ( float Z[], float S[], float T[], float Pr[], double L, int N,
             float Bvf[] );
double bvf2( double Z0, double T0, double S0, double Z1, double T1, double S1,
             double lat );
double PRESS( double Z );

#else
double p_depth();
void GRAD();
double GRAV();      /* part of p_depth */
double ATG();
double SAL();
double DSAL();
double RT35();
double A();
double B();
double C();
double SAL78();
double SVAN();
double SVEL();
double THETA();

/* From other sources */
void BVFREQ();
double bvf2();
double PRESS();

#endif

#endif /* ifndef ocean_included */
