//========================================================= IBJprf.h
//
// Array functions for IBJ-programs
// ================================
//
// Copyright (C) Janicke Consulting, Dunum, Germany, 1998-2001
// email: info@janicke.de
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// history:
//
// last change: 2000-07-03 uj
// 2001-04-17  uj  PrfGetHM()
//
//==================================================================

#define  PRF_FU 2.5
#define  PRF_FV 2.0
#define  PRF_FW 1.3
#define  PRF_FFU 0.17
#define  PRF_FFV 0.17
#define  PRF_FFW 0.13
#define  PRF_PS  4.7
#define  PRF_PN  1.0
#define  PRF_PL  15.0
#define  PRF_KAPPA 0.4
#define  PRF_ALPHA 0.3
#define  PRF_FCOR  1.e-4
#define  PRF_TMPGRADIENT -0.0098
#define  PRF_GRAV 9.81

extern char *PrfVersion;

float PrfGetTmp(float z, float lm, float ust, float z0, float tmp, float theta0);
float PrfGetU(float z, float lm, float hm, float ust, float z0, float interval);
float PrfGetSigU(float z, float lm, float hm, float ust, float z0, float interval);
float PrfGetSigV(float z, float lm, float hm, float ust, float z0, float interval);
float PrfGetSigW(float z, float lm, float hm, float ust, float z0, float interval);
float PrfGetKU(float z, float lm, float hm, float ust, float z0, float interval);
float PrfGetKV(float z, float lm, float hm, float ust, float z0, float interval);
float PrfGetKW(float z, float lm, float hm, float ust, float z0, float interval);
float PrfGetHM(float, float);
void  PrfSetKappa(float kappa);
void  PrfSetD0(float d0);
void  PrfSetBeta(float beta);
void  PrfSetVersion(int version);
