/* varypar.h */ #define LIMEXT 5L #define LIMPAR 20L #define NCOLLM 100L #define NOBSLM 100L #define HOSTLN 16L extern char chOptimFileName[]; /* file name for output*/ EXTERN struct t_VaryPar { float varmax[LIMPAR], varmin[LIMPAR], vparm[LIMEXT][LIMPAR], vincr[LIMPAR]; long int nvarxt[LIMPAR], nvfpnt[LIMPAR]; float vpused[LIMPAR], OptIncrm[LIMPAR], varang[LIMPAR][2]; long int nvary, nparm; int lgVarOn; float amcol[NCOLLM], amcerr[NCOLLM]; long int ionam[NCOLLM], ncobs; float amint[NOBSLM], amierr[NOBSLM]; long int linam[NOBSLM], nlobs, nIterOptim; /* following will be file where best values will go */ FILE *ioOptim; float OptGlobalErr; long int nOptimiz; int lgOptimFlow; float optint, optier; long int nTrOpt; int lgTrOpt, lgOptLin, lgOptLum, lgOptCol; /* the following is needed by PHYMIR */ char HostName[HOSTLN]; int lgParallel, lgOptCont, maxCPU; } VaryPar; EXTERN struct t_chVaryPar { char chVarFmt[LIMPAR][81], chColmnLab[NCOLLM][5], chAmLab[NOBSLM][5], chOptRtn[5]; } chVaryPar; /* * *logical variable says whether current line image has vary option * *optimize increments, deltas for changing optimized variables *range for optimize command * vparm is the value of the parameters oon line limpar, * there can be as many as nvarxt parameters on the line * vincr is the increment *io unit for final best parameters from optimizer *limit to number of iterations for optimizer, set with *optimize iterations command *set with optimize tolerance command, used for global match to fit * default set in scalar to 0.10 *current counter for the number of calls to the optimizer *lgTrOpt flag set with optimization trace command *nTrOpt is which call to cloudy to turn on trace *flags set if we are to optimize lines, luminosity, or colums * * * labels for column densities on vary command * this specifies the optimization routine * 'amoe', 'powe', 'bubr' */