#ifndef _GENERALUTILITIES_H_ #define _GENERALUTILITIES_H_ #include #include "FORTRANarray.hpp" #include "GATS_DB.h" struct tm; #ifdef __cplusplus extern "C" { #endif /* Subroutine */ void closefile_(int *lun); /* Subroutine */ void openfile_(int* iflag, int *lun, const char *filename, int length ); /* Subroutine */ void filterlimits_( double* vs1, double* vs2, int* filtid, int* nf, float* filt); /* function */ double refraction_( int* itan, int* ic1, int* ic2, float* pout); /* Subroutine */ void calc_sim_exo__( double* fovdat, double* fovpos, int* numfov, double* sldc, double* el_sol, int* numsol, double* exo_lock, double* sim_exo ); /* SUBROUTINE */ void conv_fov_atm_sun__( int* nl, int* layers, int* layere, double* appang, double* trueang, double* lockdown, double* tau, double* fovdat, double* fov_elev, int* numfov, double* sldc, double* el_sol, int* numsol, double* sim_exo, double* conv_tau ); void liner_( float *x1, float *y1, float *x2, float *y2, int* num1, int* num2); void linerd_( double *x1, double *y1, double *x2, double *y2, int* num1, int* num2); /* SUBROUTINE */ void hydro_(int *nl, int *msl, int *mel, int *iptie, float *re, float *xlat, float *ztm, float *ptm, float *ttm); /* SUBROUTINE */ void radgrav_ ( float* alt, float* phid, float* g, float *re ) ; /* Subroutine */ void readfasatm2_(int* LPR, char* ATMOS, float* RE, float* XLAT, const int* MR, int* NR, int* NGG, char* NAM, int* IGS, float* ZR, float* PR, float* TR, float* TGR, float* Q, float* QGR, int* IHYDRO, const char* ATMFILE, int* PPMV, int* readzpt, int chsz1, int chsz2, int chsz3); /*subroutine */ void minv_( double* varx, double* vinv, int* ngdo, double* det, int* lindx); /* SUBROUTINE*/ void get_waccmfile_interp__(const char* ds_time, const char* waccm_dir, char* waccm_file, int* idate1, int* idate2, float* wght, int ich1, int ich2, int ich3) ; void get_co2_trend__(int* date, float* co2mix) ; /* function */ float smooth_(int* nl, int* nsr, int* ner, int* i, float* za, float* rad, float* sig, float* zmx); void waccm_atmstate_interp__( int *ntimes, int* nlatitudes, int* nlevels, float* z_out, float* pres_out, float* t_out, float* h2o_out, float* co2_out, float* o3_out, float* n2o_out, float* ch4_out, float* o_out, float* o2_out, float* no_out, float* no2_out, float* oh_out, float* n2_out, float* ho2_out, float* cfcl3_out, float* cf2cl2_out, float* h_out, float* o1d_out, int* mr_temp, int* mgm_temp, int* idg_temp , float* re_temp, float* lat_temp, float* zr_temp, float* pr_temp, float* tr_temp, float* qmix_temp , float* co2_temp , float* co2_fix); #ifdef __cplusplus } #endif /* void InitAtmosphereFromDB( const std::vector& zr, const std::vector& igm, FORTRANarray& q, FORTRANarray& qgr, gatsDBpp::GATS_DB* dbConnection, const std::string& tableName ); void ApplyCO2Trend(tm* timeinfo, const std::vector& igm, FORTRANarray& q, const float lag=4.0 ); void ReadPTFromDB( std::vector &zk, std::vector &pk, std::vector& tk , gatsDBpp::GATS_DB* dbConnection, const std::string& tableName ); void ApplyDopplerShift(float* afgl, const double dsfac, const int nlines ); */ #define RAYLEIGH 77 #endif //_GENERALUTILITIES_H_