AdaptiveOpticsControl
AtmosphericTurbulence.c File Reference

Atmopsheric turbulence. More...

Functions

int clock_gettime (int clk_id, struct timespec *t)
 
int_fast8_t make_AtmosphericTurbulence_wavefront_series_cli ()
 
int_fast8_t make_AtmosphericTurbulence_vonKarmanWind_cli ()
 
int_fast8_t AtmosphericTurbulence_mkmastert_cli ()
 
int_fast8_t AtmosphericTurbulence_makeHV_CN2prof_cli ()
 
int_fast8_t AtmosphericTurbulence_measure_wavefront_series_expoframes_cli ()
 
int_fast8_t AtmosphericTurbulence_mkTestTTseq_cli ()
 
int_fast8_t AtmosphericTurbulence_Build_LinPredictor_Full_cli ()
 
int_fast8_t AtmosphericTurbulence_Apply_LinPredictor_Full_cli ()
 
int_fast8_t AtmosphericTurbulence_LinPredictor_filt_2DKernelExtract_cli ()
 
int_fast8_t AtmosphericTurbulence_LinPredictor_filt_Expand_cli ()
 
int_fast8_t AtmosphericTurbulence_Build_LinPredictor_cli ()
 
int_fast8_t AtmosphericTurbulence_psfCubeContrast_cli ()
 
int_fast8_t AtmosphericTurbulence_Test_LinPredictor_cli ()
 
int init_AtmosphericTurbulence ()
 
int AtmosphericTurbulence_change_configuration_file (const char *fname)
 
long make_AtmosphericTurbulence_vonKarmanWind (long vKsize, float pixscale, float sigmawind, float Lwind, long size, const char *IDout_name)
 
int make_master_turbulence_screen (const char *ID_name1, const char *ID_name2, long size, float outerscale, float innerscale, long WFprecision)
 
int make_master_turbulence_screen_pow (const char *ID_name1, const char *ID_name2, long size, float power)
 
int contract_wavefront_cube (const char *ina_file, const char *inp_file, const char *outa_file, const char *outp_file, int factor)
 
int contract_wavefront_cube_phaseonly (const char *inp_file, const char *outp_file, int factor)
 
double Z_Air (double P, double T, double RH)
 
double Z_N2 (double P, double T)
 
int AtmosphericTurbulence_ReadConf ()
 
int make_AtmosphericTurbulence_wavefront_series (float slambdaum, long WFprecision, int compmode)
 
int contract_wavefront_series (const char *in_prefix, const char *out_prefix, long NB_files)
 
int measure_wavefront_series (float factor)
 
int AtmosphericTurbulence_mkTestTTseq (double dt, long NBpts, long NBblocks, double measnoise, int ACCmode, double ACCnoise, int MODE)
 
int AtmosphericTurbulence_Build_LinPredictor_Full (const char *WFin_name, const char *WFmask_name, int PForder, float PFlag, double SVDeps, double RegLambda)
 
long AtmosphericTurbulence_LinPredictor_filt_2DKernelExtract (const char *IDfilt_name, const char *IDmask_name, long krad, const char *IDkern_name)
 
long AtmosphericTurbulence_LinPredictor_filt_Expand (const char *IDfilt_name, const char *IDmask_name)
 
int AtmosphericTurbulence_Apply_LinPredictor_Full (int MODE, const char *WFin_name, const char *WFmask_name, int PForder, float PFlag, const char *WFoutp_name, const char *WFoutf_name)
 
int AtmosphericTurbulence_Build_LinPredictor (long NB_WFstep, double WFphaNoise, long WFPlag, long WFP_NBstep, long WFP_xyrad, long WFPiipix, long WFPjjpix, float slambdaum)
 
long AtmosphericTurbulence_psfCubeContrast (const char *IDwfc_name, const char *IDmask_name, const char *IDpsfc_name)
 
int AtmosphericTurbulence_Test_LinPredictor (long NB_WFstep, double WFphaNoise, const char *IDWFPfilt_name, long WFPlag, long WFPiipix, long WFPjjpix, float slambdaum)
 
int measure_wavefront_series_expoframes (float etime, const char *outfile)
 
int frame_select_PSF (const char *logfile, long NBfiles, float frac)
 
double AtmosphericTurbulence_makePSF (double Kp, double Ki, double Kd, double Kdgain)
 
int AtmosphericTurbulence_WFprocess ()
 
int AtmosphericTurbulence_makeHV_CN2prof (double wspeed, double r0, double sitealt, long NBlayer, const char *outfile)
 

Variables

DATA data
 System includes. More...
 
char CONFFILE [200] = "WFsim.conf"
 
float SiteLat
 
float SiteLong
 
float SiteAlt
 
double C_me = 9.10938291e-31
 
double C_e0 = 8.854187817620e-12
 
double C_Na = 6.0221413e23
 
double C_e = 1.60217657e-19
 
double C_ls = 2.686777447e25
 
double rhocoeff = 1.0
 
float CONF_LAMBDA
 
float CONF_SEEING
 
char CONF_TURBULENCE_PROF_FILE [200]
 
float CONF_ZANGLE
 
float CONF_SOURCE_Xpos
 
float CONF_SOURCE_Ypos
 
int CONF_WFOUTPUT = 1
 
char CONF_WF_FILE_PREFIX [200]
 
int CONF_SHM_OUTPUT = 0
 
int CONF_MAKE_SWAVEFRONT = 0
 
int CONF_SWF_WRITE2DISK = 0
 
char CONF_SWF_FILE_PREFIX [200]
 
int CONF_SHM_SOUTPUT = 0
 
char CONF_SHM_SPREFIX [100]
 
int CONF_SHM_SOUTPUTM = 0
 
long CONF_WFsize
 
float CONF_PUPIL_SCALE
 
int CONF_ATMWF_REALTIME
 
double CONF_ATMWF_REALTIMEFACTOR = 1.0
 
float CONF_WFTIME_STEP
 
float CONF_TIME_SPAN
 
long CONF_NB_TSPAN
 
long CONF_SIMTDELAY = 0
 
int CONF_WAITFORSEM = 0
 
char CONF_WAITSEMIMNAME [100]
 
int CONF_SKIP_EXISTING
 
long CONF_WF_RAW_SIZE
 
long CONF_MASTER_SIZE
 
int CONF_FRESNEL_PROPAGATION
 
int CONF_WAVEFRONT_AMPLITUDE
 
float CONF_FRESNEL_PROPAGATION_BIN
 

Detailed Description

Atmopsheric turbulence.

Create atmospheric turbulence wavefronts

Author
O. Guyon
Date
7 Jul 2017
Bug:
No known bugs.

Function Documentation

int AtmosphericTurbulence_Apply_LinPredictor_Full ( int  MODE,
const char *  WFin_name,
const char *  WFmask_name,
int  PForder,
float  PFlag,
const char *  WFoutp_name,
const char *  WFoutf_name 
)
int_fast8_t AtmosphericTurbulence_Apply_LinPredictor_Full_cli ( )
int AtmosphericTurbulence_Build_LinPredictor ( long  NB_WFstep,
double  WFphaNoise,
long  WFPlag,
long  WFP_NBstep,
long  WFP_xyrad,
long  WFPiipix,
long  WFPjjpix,
float  slambdaum 
)
int_fast8_t AtmosphericTurbulence_Build_LinPredictor_cli ( )
int AtmosphericTurbulence_Build_LinPredictor_Full ( const char *  WFin_name,
const char *  WFmask_name,
int  PForder,
float  PFlag,
double  SVDeps,
double  RegLambda 
)
int_fast8_t AtmosphericTurbulence_Build_LinPredictor_Full_cli ( )
int AtmosphericTurbulence_change_configuration_file ( const char *  fname)
long AtmosphericTurbulence_LinPredictor_filt_2DKernelExtract ( const char *  IDfilt_name,
const char *  IDmask_name,
long  krad,
const char *  IDkern_name 
)
int_fast8_t AtmosphericTurbulence_LinPredictor_filt_2DKernelExtract_cli ( )
long AtmosphericTurbulence_LinPredictor_filt_Expand ( const char *  IDfilt_name,
const char *  IDmask_name 
)
int_fast8_t AtmosphericTurbulence_LinPredictor_filt_Expand_cli ( )
int AtmosphericTurbulence_makeHV_CN2prof ( double  wspeed,
double  r0,
double  sitealt,
long  NBlayer,
const char *  outfile 
)
int_fast8_t AtmosphericTurbulence_makeHV_CN2prof_cli ( )
double AtmosphericTurbulence_makePSF ( double  Kp,
double  Ki,
double  Kd,
double  Kdgain 
)
int_fast8_t AtmosphericTurbulence_measure_wavefront_series_expoframes_cli ( )
int_fast8_t AtmosphericTurbulence_mkmastert_cli ( )
int AtmosphericTurbulence_mkTestTTseq ( double  dt,
long  NBpts,
long  NBblocks,
double  measnoise,
int  ACCmode,
double  ACCnoise,
int  MODE 
)
int_fast8_t AtmosphericTurbulence_mkTestTTseq_cli ( )
long AtmosphericTurbulence_psfCubeContrast ( const char *  IDwfc_name,
const char *  IDmask_name,
const char *  IDpsfc_name 
)
int_fast8_t AtmosphericTurbulence_psfCubeContrast_cli ( )
int AtmosphericTurbulence_ReadConf ( )
int AtmosphericTurbulence_Test_LinPredictor ( long  NB_WFstep,
double  WFphaNoise,
const char *  IDWFPfilt_name,
long  WFPlag,
long  WFPiipix,
long  WFPjjpix,
float  slambdaum 
)
int_fast8_t AtmosphericTurbulence_Test_LinPredictor_cli ( )
int AtmosphericTurbulence_WFprocess ( )
int clock_gettime ( int  clk_id,
struct timespec *  t 
)
int contract_wavefront_cube ( const char *  ina_file,
const char *  inp_file,
const char *  outa_file,
const char *  outp_file,
int  factor 
)
int contract_wavefront_cube_phaseonly ( const char *  inp_file,
const char *  outp_file,
int  factor 
)
int contract_wavefront_series ( const char *  in_prefix,
const char *  out_prefix,
long  NB_files 
)
int frame_select_PSF ( const char *  logfile,
long  NBfiles,
float  frac 
)
int init_AtmosphericTurbulence ( )
long make_AtmosphericTurbulence_vonKarmanWind ( long  vKsize,
float  pixscale,
float  sigmawind,
float  Lwind,
long  size,
const char *  IDout_name 
)
int_fast8_t make_AtmosphericTurbulence_vonKarmanWind_cli ( )
int make_AtmosphericTurbulence_wavefront_series ( float  slambdaum,
long  WFprecision,
int  compmode 
)

temporary arrays for phase unwrapping

int_fast8_t make_AtmosphericTurbulence_wavefront_series_cli ( )
int make_master_turbulence_screen ( const char *  ID_name1,
const char *  ID_name2,
long  size,
float  outerscale,
float  innerscale,
long  WFprecision 
)
int make_master_turbulence_screen_pow ( const char *  ID_name1,
const char *  ID_name2,
long  size,
float  power 
)
int measure_wavefront_series ( float  factor)
int measure_wavefront_series_expoframes ( float  etime,
const char *  outfile 
)
double Z_Air ( double  P,
double  T,
double  RH 
)
double Z_N2 ( double  P,
double  T 
)

Variable Documentation

double C_e = 1.60217657e-19
double C_e0 = 8.854187817620e-12
double C_ls = 2.686777447e25
double C_me = 9.10938291e-31
double C_Na = 6.0221413e23
int CONF_ATMWF_REALTIME
double CONF_ATMWF_REALTIMEFACTOR = 1.0
int CONF_FRESNEL_PROPAGATION
float CONF_FRESNEL_PROPAGATION_BIN
float CONF_LAMBDA
int CONF_MAKE_SWAVEFRONT = 0
long CONF_MASTER_SIZE
long CONF_NB_TSPAN
float CONF_PUPIL_SCALE
float CONF_SEEING
int CONF_SHM_OUTPUT = 0
int CONF_SHM_SOUTPUT = 0
int CONF_SHM_SOUTPUTM = 0
char CONF_SHM_SPREFIX[100]
long CONF_SIMTDELAY = 0
int CONF_SKIP_EXISTING
float CONF_SOURCE_Xpos
float CONF_SOURCE_Ypos
char CONF_SWF_FILE_PREFIX[200]
int CONF_SWF_WRITE2DISK = 0
float CONF_TIME_SPAN
char CONF_TURBULENCE_PROF_FILE[200]
int CONF_WAITFORSEM = 0
char CONF_WAITSEMIMNAME[100]
int CONF_WAVEFRONT_AMPLITUDE
char CONF_WF_FILE_PREFIX[200]
long CONF_WF_RAW_SIZE
int CONF_WFOUTPUT = 1
long CONF_WFsize
float CONF_WFTIME_STEP
float CONF_ZANGLE
char CONFFILE[200] = "WFsim.conf"
DATA data

System includes.

External libraries

double rhocoeff = 1.0
float SiteAlt
float SiteLat
float SiteLong