#ifndef _FORTRANFUNCTIONS_H_ #define _FORTRANFUNCTIONS_H_ /* #include #include "FORTRANarray.hpp" #include "GATS_DB.h" */ #ifdef __cplusplus extern "C" { #endif /* subroutine */ void filterlimits_( double* vs1, double* vs2, int* idf, int* nf, float* filt); /* subroutine */ void hydro_(int *nl, int *msl,int *mel, int *iptie, float *re, float *xlat, float *ztm, float *ptm, float *ttm); /* subroutine */ void minv_(double *varx, double *vinv, int *ngdo, double *det, int *lindx); /* subroutine */ void calc_simexo__( double *fovdat,double *fovpos, int *numfov, double *sldc, double *el_sol, int* numsol, double *exo_lockdown, 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 ); /* subroutine */ void liner_ (float*x1, float* y1, float* x2, float* y2, int* num1, int* num2); /* subroutine */ void linerd_ (double* x1, double* y1, double* x2, double* y2, int* num1, int* num2); /* subroutine */ void radgrav_ ( float *alt, float *phid, float *g, float *re ); /* function */ double refraction_(int* iri,int* ic1, int* ic2, float* pout); /* function */ float pathlength_(int* iri,int* ic1, int* ic2, float* pout); /* function*/ float smooth_(int *nl, int *nsr, int *ner, int *i, float *za, float *rad, float *sig, float *zmx); /* subroutine */ void sofie_find_ice__(int *nz,float *z,float *ext9, float *ext10, float *zlow, float *t, float *tmax, float *ztop, float *zmax, float *zbot, int* pmcflag); /* this a C function */ void read_waccm_interp ( char *INFile, int *DATE1, int *DATE2, int *date_out, float *z_out, float tk_out[][46][66], float h2o_out[][46][66], float co2_out[][46][66], float o3_out[][46][66], float n2o_out[][46][66], float ch4_out[][46][66], float o_out[][46][66], float o2_out[][46][66], float no_out[][46][66], float no2_out[][46][66], float oh_out[][46][66], float n2_out[][46][66], float ho2_out[][46][66], float cfcl3_out[][46][66], float cf2cl2_out[][46][66], float h_out[][46][66], float o1d_out[][46][66], float *latitude_out, float *p_out, float *wght); /* 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) ; /* subroutine */ 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); /* this a C function */ void read_waccmc2_interp ( char *INFile, int *DATE1, int *DATE2, int *date_out, float *z_out, float z3_out[][96][66], float tk_out[][96][66], float h2o_out[][96][66], float co2_out[][96][66], float o3_out[][96][66], float n2o_out[][96][66], float ch4_out[][96][66], float o_out[][96][66], float o2_out[][96][66], float no_out[][96][66], float no2_out[][96][66], float oh_out[][96][66], float n2_out[][96][66], float ho2_out[][96][66], float cfcl3_out[][96][66], float cf2cl2_out[][96][66], float h_out[][96][66], float o1d_out[][96][66], float *latitude_out, float *p_out, float *wght); /* subroutine */ void get_waccmc2file_interp__(const char* ds_time, const char* waccm_dir, char* waccm_file, int* idate1, int* idate2, float* wght, int ich1, int ich2, int ich3) ; /* subroutine */ void waccmc2_atmstate_interp__( int *ntimes, int* nlatitudes, int* nlevels, float* z_out, float* pres_out, float* zgeo_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); /* subroutine */ void bend_fit__(int* nl,float* za, float* bend, int* nummin,int* nummax, float* zbeg,float* zend,float* bendfit, float* ScaleH); #ifdef __cplusplus } #endif #endif /* _FORTRANFUNCTIONS_H_ */