diff --git a/schainf/Ffiles/fitacf_acf2-f2pywrappers.f b/schainf/Ffiles/fitacf_acf2-f2pywrappers.f new file mode 100644 index 0000000..09dc613 --- /dev/null +++ b/schainf/Ffiles/fitacf_acf2-f2pywrappers.f @@ -0,0 +1,37 @@ +C -*- fortran -*- +C This file is autogenerated with f2py (version:2) +C It contains Fortran 77 wrappers to fortran functions. + + subroutine f2pywrapspect1 (spect1f2pywrap, omega) + external spect1 + real omega + real spect1f2pywrap, spect1 + spect1f2pywrap = spect1(omega) + end + + + subroutine f2pyinitspec(setupfunc) + external setupfunc + real te + real ti(10) + real fi(10) + real ven + real vin(10) + real alpha + real dens + real bfld + integer nion + integer wi(10) + real ak + common /spec/ te,ti,fi,ven,vin,alpha,dens,bfld,nion,wi,ak + call setupfunc(te,ti,fi,ven,vin,alpha,dens,bfld,nion,wi,ak) + end + + subroutine f2pyinitmode(setupfunc) + external setupfunc + integer imode + common /mode/ imode + call setupfunc(imode) + end + + diff --git a/schainf/Ffiles/fitacf_acf2module.c b/schainf/Ffiles/fitacf_acf2module.c new file mode 100644 index 0000000..80f28e9 --- /dev/null +++ b/schainf/Ffiles/fitacf_acf2module.c @@ -0,0 +1,797 @@ +/* File: fitacf_acf2module.c + * This file is auto-generated with f2py (version:2). + * f2py is a Fortran to Python Interface Generator (FPIG), Second Edition, + * written by Pearu Peterson . + * Generation date: Wed Jan 8 13:23:37 2025 + * Do not edit this file directly unless you know what you are doing!!! + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/*********************** See f2py2e/cfuncs.py: includes ***********************/ +#include "Python.h" +#include +#include "fortranobject.h" +#include + +/**************** See f2py2e/rules.py: mod_rules['modulebody'] ****************/ +static PyObject *fitacf_acf2_error; +static PyObject *fitacf_acf2_module; + +/*********************** See f2py2e/cfuncs.py: typedefs ***********************/ +/*need_typedefs*/ + +/****************** See f2py2e/cfuncs.py: typedefs_generated ******************/ +/*need_typedefs_generated*/ + +/********************** See f2py2e/cfuncs.py: cppmacros **********************/ +#if defined(PREPEND_FORTRAN) +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) _##F +#else +#define F_FUNC(f,F) _##f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) _##F##_ +#else +#define F_FUNC(f,F) _##f##_ +#endif +#endif +#else +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) F +#else +#define F_FUNC(f,F) f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) F##_ +#else +#define F_FUNC(f,F) f##_ +#endif +#endif +#endif +#if defined(UNDERSCORE_G77) +#define F_FUNC_US(f,F) F_FUNC(f##_,F##_) +#else +#define F_FUNC_US(f,F) F_FUNC(f,F) +#endif + +#define rank(var) var ## _Rank +#define shape(var,dim) var ## _Dims[dim] +#define old_rank(var) (PyArray_NDIM((PyArrayObject *)(capi_ ## var ## _tmp))) +#define old_shape(var,dim) PyArray_DIM(((PyArrayObject *)(capi_ ## var ## _tmp)),dim) +#define fshape(var,dim) shape(var,rank(var)-dim-1) +#define len(var) shape(var,0) +#define flen(var) fshape(var,0) +#define old_size(var) PyArray_SIZE((PyArrayObject *)(capi_ ## var ## _tmp)) +/* #define index(i) capi_i ## i */ +#define slen(var) capi_ ## var ## _len +#define size(var, ...) f2py_size((PyArrayObject *)(capi_ ## var ## _tmp), ## __VA_ARGS__, -1) + +#define CHECKSCALAR(check,tcheck,name,show,var)\ + if (!(check)) {\ + char errstring[256];\ + sprintf(errstring, "%s: "show, "("tcheck") failed for "name, var);\ + PyErr_SetString(fitacf_acf2_error,errstring);\ + /*goto capi_fail;*/\ + } else +#ifdef DEBUGCFUNCS +#define CFUNCSMESS(mess) fprintf(stderr,"debug-capi:"mess); +#define CFUNCSMESSPY(mess,obj) CFUNCSMESS(mess) \ + PyObject_Print((PyObject *)obj,stderr,Py_PRINT_RAW);\ + fprintf(stderr,"\n"); +#else +#define CFUNCSMESS(mess) +#define CFUNCSMESSPY(mess,obj) +#endif + +#ifndef max +#define max(a,b) ((a > b) ? (a) : (b)) +#endif +#ifndef min +#define min(a,b) ((a < b) ? (a) : (b)) +#endif +#ifndef MAX +#define MAX(a,b) ((a > b) ? (a) : (b)) +#endif +#ifndef MIN +#define MIN(a,b) ((a < b) ? (a) : (b)) +#endif + +#if defined(PREPEND_FORTRAN) +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) _F2PYWRAP##F +#else +#define F_WRAPPEDFUNC(f,F) _f2pywrap##f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) _F2PYWRAP##F##_ +#else +#define F_WRAPPEDFUNC(f,F) _f2pywrap##f##_ +#endif +#endif +#else +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) F2PYWRAP##F +#else +#define F_WRAPPEDFUNC(f,F) f2pywrap##f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) F2PYWRAP##F##_ +#else +#define F_WRAPPEDFUNC(f,F) f2pywrap##f##_ +#endif +#endif +#endif +#if defined(UNDERSCORE_G77) +#define F_WRAPPEDFUNC_US(f,F) F_WRAPPEDFUNC(f##_,F##_) +#else +#define F_WRAPPEDFUNC_US(f,F) F_WRAPPEDFUNC(f,F) +#endif + + +/************************ See f2py2e/cfuncs.py: cfuncs ************************/ +static int double_from_pyobj(double* v,PyObject *obj,const char *errmess) { + PyObject* tmp = NULL; + if (PyFloat_Check(obj)) { +#ifdef __sgi + *v = PyFloat_AsDouble(obj); +#else + *v = PyFloat_AS_DOUBLE(obj); +#endif + return 1; + } + tmp = PyNumber_Float(obj); + if (tmp) { +#ifdef __sgi + *v = PyFloat_AsDouble(tmp); +#else + *v = PyFloat_AS_DOUBLE(tmp); +#endif + Py_DECREF(tmp); + return 1; + } + if (PyComplex_Check(obj)) + tmp = PyObject_GetAttrString(obj,"real"); + else if (PyString_Check(obj) || PyUnicode_Check(obj)) + /*pass*/; + else if (PySequence_Check(obj)) + tmp = PySequence_GetItem(obj,0); + if (tmp) { + PyErr_Clear(); + if (double_from_pyobj(v,tmp,errmess)) {Py_DECREF(tmp); return 1;} + Py_DECREF(tmp); + } + { + PyObject* err = PyErr_Occurred(); + if (err==NULL) err = fitacf_acf2_error; + PyErr_SetString(err,errmess); + } + return 0; +} + +static int f2py_size(PyArrayObject* var, ...) +{ + npy_int sz = 0; + npy_int dim; + npy_int rank; + va_list argp; + va_start(argp, var); + dim = va_arg(argp, npy_int); + if (dim==-1) + { + sz = PyArray_SIZE(var); + } + else + { + rank = PyArray_NDIM(var); + if (dim>=1 && dim<=rank) + sz = PyArray_DIM(var, dim-1); + else + fprintf(stderr, "f2py_size: 2nd argument value=%d fails to satisfy 1<=value<=%d. Result will be 0.\n", dim, rank); + } + va_end(argp); + return sz; +} + +static int float_from_pyobj(float* v,PyObject *obj,const char *errmess) { + double d=0.0; + if (double_from_pyobj(&d,obj,errmess)) { + *v = (float)d; + return 1; + } + return 0; +} + +static int int_from_pyobj(int* v,PyObject *obj,const char *errmess) { + PyObject* tmp = NULL; + if (PyInt_Check(obj)) { + *v = (int)PyInt_AS_LONG(obj); + return 1; + } + tmp = PyNumber_Int(obj); + if (tmp) { + *v = PyInt_AS_LONG(tmp); + Py_DECREF(tmp); + return 1; + } + if (PyComplex_Check(obj)) + tmp = PyObject_GetAttrString(obj,"real"); + else if (PyString_Check(obj) || PyUnicode_Check(obj)) + /*pass*/; + else if (PySequence_Check(obj)) + tmp = PySequence_GetItem(obj,0); + if (tmp) { + PyErr_Clear(); + if (int_from_pyobj(v,tmp,errmess)) {Py_DECREF(tmp); return 1;} + Py_DECREF(tmp); + } + { + PyObject* err = PyErr_Occurred(); + if (err==NULL) err = fitacf_acf2_error; + PyErr_SetString(err,errmess); + } + return 0; +} + + +/********************* See f2py2e/cfuncs.py: userincludes *********************/ +/*need_userincludes*/ + +/********************* See f2py2e/capi_rules.py: usercode *********************/ + + +/* See f2py2e/rules.py */ +extern void F_FUNC(acf2,ACF2)(float*,float*,float*,float*,float*,float*,float*,int*,int*,float*,float*,float*,float*); +extern void F_WRAPPEDFUNC(spect1,SPECT1)(float*,float*); +extern void F_FUNC(gaussq,GAUSSQ)(float*,float*); +/*eof externroutines*/ + +/******************** See f2py2e/capi_rules.py: usercode1 ********************/ + + +/******************* See f2py2e/cb_rules.py: buildcallback *******************/ +/*need_callbacks*/ + +/*********************** See f2py2e/rules.py: buildapi ***********************/ + +/************************************ acf2 ************************************/ +static char doc_f2py_rout_fitacf_acf2_acf2[] = "\ +acf = acf2(wl,tau,te1,ti1,fi1,ven1,vin1,wi1,alpha1,dens1,bfld1,acf,[nion1])\n\nWrapper for ``acf2``.\ +\n\nParameters\n----------\n" +"wl : input float\n" +"tau : input float\n" +"te1 : input float\n" +"ti1 : input rank-1 array('f') with bounds (nion1)\n" +"fi1 : input rank-1 array('f') with bounds (nion1)\n" +"ven1 : input float\n" +"vin1 : input rank-1 array('f') with bounds (nion1)\n" +"wi1 : input rank-1 array('i') with bounds (nion1)\n" +"alpha1 : input float\n" +"dens1 : input float\n" +"bfld1 : input float\n" +"acf : input float\n" +"\nOther Parameters\n----------------\n" +"nion1 : input int, optional\n Default: len(ti1)\n" +"\nReturns\n-------\n" +"acf : float"; +/* extern void F_FUNC(acf2,ACF2)(float*,float*,float*,float*,float*,float*,float*,int*,int*,float*,float*,float*,float*); */ +static PyObject *f2py_rout_fitacf_acf2_acf2(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*,float*,float*,float*,float*,float*,int*,int*,float*,float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float wl = 0; + PyObject *wl_capi = Py_None; + float tau = 0; + PyObject *tau_capi = Py_None; + float te1 = 0; + PyObject *te1_capi = Py_None; + float *ti1 = NULL; + npy_intp ti1_Dims[1] = {-1}; + const int ti1_Rank = 1; + PyArrayObject *capi_ti1_tmp = NULL; + int capi_ti1_intent = 0; + PyObject *ti1_capi = Py_None; + float *fi1 = NULL; + npy_intp fi1_Dims[1] = {-1}; + const int fi1_Rank = 1; + PyArrayObject *capi_fi1_tmp = NULL; + int capi_fi1_intent = 0; + PyObject *fi1_capi = Py_None; + float ven1 = 0; + PyObject *ven1_capi = Py_None; + float *vin1 = NULL; + npy_intp vin1_Dims[1] = {-1}; + const int vin1_Rank = 1; + PyArrayObject *capi_vin1_tmp = NULL; + int capi_vin1_intent = 0; + PyObject *vin1_capi = Py_None; + int *wi1 = NULL; + npy_intp wi1_Dims[1] = {-1}; + const int wi1_Rank = 1; + PyArrayObject *capi_wi1_tmp = NULL; + int capi_wi1_intent = 0; + PyObject *wi1_capi = Py_None; + int nion1 = 0; + PyObject *nion1_capi = Py_None; + float alpha1 = 0; + PyObject *alpha1_capi = Py_None; + float dens1 = 0; + PyObject *dens1_capi = Py_None; + float bfld1 = 0; + PyObject *bfld1_capi = Py_None; + float acf = 0; + PyObject *acf_capi = Py_None; + static char *capi_kwlist[] = {"wl","tau","te1","ti1","fi1","ven1","vin1","wi1","alpha1","dens1","bfld1","acf","nion1",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOOOOOOOOO|O:fitacf_acf2.acf2",\ + capi_kwlist,&wl_capi,&tau_capi,&te1_capi,&ti1_capi,&fi1_capi,&ven1_capi,&vin1_capi,&wi1_capi,&alpha1_capi,&dens1_capi,&bfld1_capi,&acf_capi,&nion1_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable wl */ + f2py_success = float_from_pyobj(&wl,wl_capi,"fitacf_acf2.acf2() 1st argument (wl) can't be converted to float"); + if (f2py_success) { + /* Processing variable tau */ + f2py_success = float_from_pyobj(&tau,tau_capi,"fitacf_acf2.acf2() 2nd argument (tau) can't be converted to float"); + if (f2py_success) { + /* Processing variable te1 */ + f2py_success = float_from_pyobj(&te1,te1_capi,"fitacf_acf2.acf2() 3rd argument (te1) can't be converted to float"); + if (f2py_success) { + /* Processing variable ti1 */ + ; + capi_ti1_intent |= F2PY_INTENT_IN; + capi_ti1_tmp = array_from_pyobj(NPY_FLOAT,ti1_Dims,ti1_Rank,capi_ti1_intent,ti1_capi); + if (capi_ti1_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_acf2_error,"failed in converting 4th argument `ti1' of fitacf_acf2.acf2 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + ti1 = (float *)(PyArray_DATA(capi_ti1_tmp)); + + /* Processing variable ven1 */ + f2py_success = float_from_pyobj(&ven1,ven1_capi,"fitacf_acf2.acf2() 6th argument (ven1) can't be converted to float"); + if (f2py_success) { + /* Processing variable alpha1 */ + f2py_success = float_from_pyobj(&alpha1,alpha1_capi,"fitacf_acf2.acf2() 9th argument (alpha1) can't be converted to float"); + if (f2py_success) { + /* Processing variable dens1 */ + f2py_success = float_from_pyobj(&dens1,dens1_capi,"fitacf_acf2.acf2() 10th argument (dens1) can't be converted to float"); + if (f2py_success) { + /* Processing variable bfld1 */ + f2py_success = float_from_pyobj(&bfld1,bfld1_capi,"fitacf_acf2.acf2() 11st argument (bfld1) can't be converted to float"); + if (f2py_success) { + /* Processing variable acf */ + f2py_success = float_from_pyobj(&acf,acf_capi,"fitacf_acf2.acf2() 12nd argument (acf) can't be converted to float"); + if (f2py_success) { + /* Processing variable nion1 */ + if (nion1_capi == Py_None) nion1 = len(ti1); else + f2py_success = int_from_pyobj(&nion1,nion1_capi,"fitacf_acf2.acf2() 1st keyword (nion1) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(ti1)>=nion1,"len(ti1)>=nion1","1st keyword nion1","acf2:nion1=%d",nion1) { + /* Processing variable fi1 */ + fi1_Dims[0]=nion1; + capi_fi1_intent |= F2PY_INTENT_IN; + capi_fi1_tmp = array_from_pyobj(NPY_FLOAT,fi1_Dims,fi1_Rank,capi_fi1_intent,fi1_capi); + if (capi_fi1_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_acf2_error,"failed in converting 5th argument `fi1' of fitacf_acf2.acf2 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + fi1 = (float *)(PyArray_DATA(capi_fi1_tmp)); + + /* Processing variable vin1 */ + vin1_Dims[0]=nion1; + capi_vin1_intent |= F2PY_INTENT_IN; + capi_vin1_tmp = array_from_pyobj(NPY_FLOAT,vin1_Dims,vin1_Rank,capi_vin1_intent,vin1_capi); + if (capi_vin1_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_acf2_error,"failed in converting 7th argument `vin1' of fitacf_acf2.acf2 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + vin1 = (float *)(PyArray_DATA(capi_vin1_tmp)); + + /* Processing variable wi1 */ + wi1_Dims[0]=nion1; + capi_wi1_intent |= F2PY_INTENT_IN; + capi_wi1_tmp = array_from_pyobj(NPY_INT,wi1_Dims,wi1_Rank,capi_wi1_intent,wi1_capi); + if (capi_wi1_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_acf2_error,"failed in converting 8th argument `wi1' of fitacf_acf2.acf2 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wi1 = (int *)(PyArray_DATA(capi_wi1_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&wl,&tau,&te1,ti1,fi1,&ven1,vin1,wi1,&nion1,&alpha1,&dens1,&bfld1,&acf); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",acf); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + if((PyObject *)capi_wi1_tmp!=wi1_capi) { + Py_XDECREF(capi_wi1_tmp); } + } /*if (capi_wi1_tmp == NULL) ... else of wi1*/ + /* End of cleaning variable wi1 */ + if((PyObject *)capi_vin1_tmp!=vin1_capi) { + Py_XDECREF(capi_vin1_tmp); } + } /*if (capi_vin1_tmp == NULL) ... else of vin1*/ + /* End of cleaning variable vin1 */ + if((PyObject *)capi_fi1_tmp!=fi1_capi) { + Py_XDECREF(capi_fi1_tmp); } + } /*if (capi_fi1_tmp == NULL) ... else of fi1*/ + /* End of cleaning variable fi1 */ + } /*CHECKSCALAR(len(ti1)>=nion1)*/ + } /*if (f2py_success) of nion1*/ + /* End of cleaning variable nion1 */ + } /*if (f2py_success) of acf*/ + /* End of cleaning variable acf */ + } /*if (f2py_success) of bfld1*/ + /* End of cleaning variable bfld1 */ + } /*if (f2py_success) of dens1*/ + /* End of cleaning variable dens1 */ + } /*if (f2py_success) of alpha1*/ + /* End of cleaning variable alpha1 */ + } /*if (f2py_success) of ven1*/ + /* End of cleaning variable ven1 */ + if((PyObject *)capi_ti1_tmp!=ti1_capi) { + Py_XDECREF(capi_ti1_tmp); } + } /*if (capi_ti1_tmp == NULL) ... else of ti1*/ + /* End of cleaning variable ti1 */ + } /*if (f2py_success) of te1*/ + /* End of cleaning variable te1 */ + } /*if (f2py_success) of tau*/ + /* End of cleaning variable tau */ + } /*if (f2py_success) of wl*/ + /* End of cleaning variable wl */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of acf2 ********************************/ + +/*********************************** spect1 ***********************************/ +static char doc_f2py_rout_fitacf_acf2_spect1[] = "\ +spect1 = spect1(omega)\n\nWrapper for ``spect1``.\ +\n\nParameters\n----------\n" +"omega : input float\n" +"\nReturns\n-------\n" +"spect1 : float"; +/* extern void F_WRAPPEDFUNC(spect1,SPECT1)(float*,float*); */ +static PyObject *f2py_rout_fitacf_acf2_spect1(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float spect1 = 0; + float omega = 0; + PyObject *omega_capi = Py_None; + static char *capi_kwlist[] = {"omega",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "O|:fitacf_acf2.spect1",\ + capi_kwlist,&omega_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable omega */ + f2py_success = float_from_pyobj(&omega,omega_capi,"fitacf_acf2.spect1() 1st argument (omega) can't be converted to float"); + if (f2py_success) { + /* Processing variable spect1 */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&spect1,&omega); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",spect1); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable spect1 */ + } /*if (f2py_success) of omega*/ + /* End of cleaning variable omega */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of spect1 *******************************/ + +/*********************************** gaussq ***********************************/ +static char doc_f2py_rout_fitacf_acf2_gaussq[] = "\ +gaussq(tau,acf)\n\nWrapper for ``gaussq``.\ +\n\nParameters\n----------\n" +"tau : input float\n" +"acf : input float"; +/* extern void F_FUNC(gaussq,GAUSSQ)(float*,float*); */ +static PyObject *f2py_rout_fitacf_acf2_gaussq(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float tau = 0; + PyObject *tau_capi = Py_None; + float acf = 0; + PyObject *acf_capi = Py_None; + static char *capi_kwlist[] = {"tau","acf",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OO|:fitacf_acf2.gaussq",\ + capi_kwlist,&tau_capi,&acf_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable tau */ + f2py_success = float_from_pyobj(&tau,tau_capi,"fitacf_acf2.gaussq() 1st argument (tau) can't be converted to float"); + if (f2py_success) { + /* Processing variable acf */ + f2py_success = float_from_pyobj(&acf,acf_capi,"fitacf_acf2.gaussq() 2nd argument (acf) can't be converted to float"); + if (f2py_success) { +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&tau,&acf); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + } /*if (f2py_success) of acf*/ + /* End of cleaning variable acf */ + } /*if (f2py_success) of tau*/ + /* End of cleaning variable tau */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of gaussq *******************************/ +/*eof body*/ + +/******************* See f2py2e/f90mod_rules.py: buildhooks *******************/ +/*need_f90modhooks*/ + +/************** See f2py2e/rules.py: module_rules['modulebody'] **************/ + +/******************* See f2py2e/common_rules.py: buildhooks *******************/ + +static FortranDataDef f2py_spec_def[] = { + {"te",0,{{-1}},NPY_FLOAT}, + {"ti",1,{{10}},NPY_FLOAT}, + {"fi",1,{{10}},NPY_FLOAT}, + {"ven",0,{{-1}},NPY_FLOAT}, + {"vin",1,{{10}},NPY_FLOAT}, + {"alpha",0,{{-1}},NPY_FLOAT}, + {"dens",0,{{-1}},NPY_FLOAT}, + {"bfld",0,{{-1}},NPY_FLOAT}, + {"nion",0,{{-1}},NPY_INT}, + {"wi",1,{{10}},NPY_INT}, + {"ak",0,{{-1}},NPY_FLOAT}, + {NULL} +}; +static void f2py_setup_spec(char *te,char *ti,char *fi,char *ven,char *vin,char *alpha,char *dens,char *bfld,char *nion,char *wi,char *ak) { + int i_f2py=0; + f2py_spec_def[i_f2py++].data = te; + f2py_spec_def[i_f2py++].data = ti; + f2py_spec_def[i_f2py++].data = fi; + f2py_spec_def[i_f2py++].data = ven; + f2py_spec_def[i_f2py++].data = vin; + f2py_spec_def[i_f2py++].data = alpha; + f2py_spec_def[i_f2py++].data = dens; + f2py_spec_def[i_f2py++].data = bfld; + f2py_spec_def[i_f2py++].data = nion; + f2py_spec_def[i_f2py++].data = wi; + f2py_spec_def[i_f2py++].data = ak; +} +extern void F_FUNC(f2pyinitspec,F2PYINITSPEC)(void(*)(char*,char*,char*,char*,char*,char*,char*,char*,char*,char*,char*)); +static void f2py_init_spec(void) { + F_FUNC(f2pyinitspec,F2PYINITSPEC)(f2py_setup_spec); +} + +static FortranDataDef f2py_mode_def[] = { + {"imode",0,{{-1}},NPY_INT}, + {NULL} +}; +static void f2py_setup_mode(char *imode) { + int i_f2py=0; + f2py_mode_def[i_f2py++].data = imode; +} +extern void F_FUNC(f2pyinitmode,F2PYINITMODE)(void(*)(char*)); +static void f2py_init_mode(void) { + F_FUNC(f2pyinitmode,F2PYINITMODE)(f2py_setup_mode); +} + +/*need_commonhooks*/ + +/**************************** See f2py2e/rules.py ****************************/ + +static FortranDataDef f2py_routine_defs[] = { + {"acf2",-1,{{-1}},0,(char *)F_FUNC(acf2,ACF2),(f2py_init_func)f2py_rout_fitacf_acf2_acf2,doc_f2py_rout_fitacf_acf2_acf2}, + {"spect1",-1,{{-1}},0,(char *)F_WRAPPEDFUNC(spect1,SPECT1),(f2py_init_func)f2py_rout_fitacf_acf2_spect1,doc_f2py_rout_fitacf_acf2_spect1}, + {"gaussq",-1,{{-1}},0,(char *)F_FUNC(gaussq,GAUSSQ),(f2py_init_func)f2py_rout_fitacf_acf2_gaussq,doc_f2py_rout_fitacf_acf2_gaussq}, + +/*eof routine_defs*/ + {NULL} +}; + +static PyMethodDef f2py_module_methods[] = { + + {NULL,NULL} +}; + +static struct PyModuleDef moduledef = { + PyModuleDef_HEAD_INIT, + "fitacf_acf2", + NULL, + -1, + f2py_module_methods, + NULL, + NULL, + NULL, + NULL +}; + +PyMODINIT_FUNC PyInit_fitacf_acf2(void) { + int i; + PyObject *m,*d, *s, *tmp; + m = fitacf_acf2_module = PyModule_Create(&moduledef); + Py_SET_TYPE(&PyFortran_Type, &PyType_Type); + import_array(); + if (PyErr_Occurred()) + {PyErr_SetString(PyExc_ImportError, "can't initialize module fitacf_acf2 (failed to import numpy)"); return m;} + d = PyModule_GetDict(m); + s = PyString_FromString("$Revision: $"); + PyDict_SetItemString(d, "__version__", s); + Py_DECREF(s); + s = PyUnicode_FromString( + "This module 'fitacf_acf2' is auto-generated with f2py (version:2).\nFunctions:\n" +" acf = acf2(wl,tau,te1,ti1,fi1,ven1,vin1,wi1,alpha1,dens1,bfld1,acf,nion1=len(ti1))\n" +" spect1 = spect1(omega)\n" +" gaussq(tau,acf)\n" +"COMMON blocks:\n"" /spec/ te,ti(10),fi(10),ven,vin(10),alpha,dens,bfld,nion,wi(10),ak\n"" /mode/ imode\n""."); + PyDict_SetItemString(d, "__doc__", s); + Py_DECREF(s); + fitacf_acf2_error = PyErr_NewException ("fitacf_acf2.error", NULL, NULL); + /* + * Store the error object inside the dict, so that it could get deallocated. + * (in practice, this is a module, so it likely will not and cannot.) + */ + PyDict_SetItemString(d, "_fitacf_acf2_error", fitacf_acf2_error); + Py_DECREF(fitacf_acf2_error); + for(i=0;f2py_routine_defs[i].name!=NULL;i++) { + tmp = PyFortranObject_NewAsAttr(&f2py_routine_defs[i]); + PyDict_SetItemString(d, f2py_routine_defs[i].name, tmp); + Py_DECREF(tmp); + } + + + { + extern float F_FUNC(spect1,SPECT1)(void); + PyObject* o = PyDict_GetItemString(d,"spect1"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC(spect1,SPECT1),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("spect1"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + +/*eof initf2pywraphooks*/ +/*eof initf90modhooks*/ + + tmp = PyFortranObject_New(f2py_spec_def,f2py_init_spec); + F2PyDict_SetItemString(d, "spec", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_mode_def,f2py_init_mode); + F2PyDict_SetItemString(d, "mode", tmp); + Py_DECREF(tmp); +/*eof initcommonhooks*/ + + +#ifdef F2PY_REPORT_ATEXIT + if (! PyErr_Occurred()) + on_exit(f2py_report_on_exit,(void*)"fitacf_acf2"); +#endif + return m; +} +#ifdef __cplusplus +} +#endif diff --git a/schainf/Ffiles/fitacf_fit_short-f2pywrappers.f b/schainf/Ffiles/fitacf_fit_short-f2pywrappers.f new file mode 100644 index 0000000..cc09041 --- /dev/null +++ b/schainf/Ffiles/fitacf_fit_short-f2pywrappers.f @@ -0,0 +1,63 @@ +C -*- fortran -*- +C This file is autogenerated with f2py (version:2) +C It contains Fortran 77 wrappers to fortran functions. + + subroutine f2pywrapspect1 (spect1f2pywrap, omega) + external spect1 + real omega + real spect1f2pywrap, spect1 + spect1f2pywrap = spect1(omega) + end + + + subroutine f2pywrapspmpar (spmparf2pywrap, i) + external spmpar + integer i + real spmparf2pywrap, spmpar + spmparf2pywrap = spmpar(i) + end + + + subroutine f2pyinitspec(setupfunc) + external setupfunc + real te + real ti(10) + real fi(10) + real ven + real vin(10) + real alpha + real dens + real bfld + integer nion + integer wi(10) + real ak + common /spec/ te,ti,fi,ven,vin,alpha,dens,bfld,nion,wi,ak + call setupfunc(te,ti,fi,ven,vin,alpha,dens,bfld,nion,wi,ak) + end + + subroutine f2pyinitmode(setupfunc) + external setupfunc + integer imode + common /mode/ imode + call setupfunc(imode) + end + + subroutine f2pyinitfitter(setupfunc) + external setupfunc + real tau(100) + real rho(100) + real sigma2(100) + real params(10) + integer ifit(10) + common /fitter/ tau,rho,sigma2,params,ifit + call setupfunc(tau,rho,sigma2,params,ifit) + end + + subroutine f2pyinittrans(setupfunc) + external setupfunc + real ev(10000) + common /trans/ ev + call setupfunc(ev) + end + + diff --git a/schainf/Ffiles/fitacf_fit_shortmodule.c b/schainf/Ffiles/fitacf_fit_shortmodule.c new file mode 100644 index 0000000..a66a031 --- /dev/null +++ b/schainf/Ffiles/fitacf_fit_shortmodule.c @@ -0,0 +1,1986 @@ +/* File: fitacf_fit_shortmodule.c + * This file is auto-generated with f2py (version:2). + * f2py is a Fortran to Python Interface Generator (FPIG), Second Edition, + * written by Pearu Peterson . + * Generation date: Wed Jan 8 13:23:37 2025 + * Do not edit this file directly unless you know what you are doing!!! + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/*********************** See f2py2e/cfuncs.py: includes ***********************/ +#include "Python.h" +#include +#include "fortranobject.h" +#include +#include +#include + +/**************** See f2py2e/rules.py: mod_rules['modulebody'] ****************/ +static PyObject *fitacf_fit_short_error; +static PyObject *fitacf_fit_short_module; + +/*********************** See f2py2e/cfuncs.py: typedefs ***********************/ +typedef signed char signed_char; +typedef struct {float r,i;} complex_float; + +/****************** See f2py2e/cfuncs.py: typedefs_generated ******************/ +typedef void(*cb_fcn_in_lmdif__user__routines_typedef)(int *,int *,float *,float *,int *); + +/********************** See f2py2e/cfuncs.py: cppmacros **********************/ +#define PRINTPYOBJERR(obj)\ + fprintf(stderr,"fitacf_fit_short.error is related to ");\ + PyObject_Print((PyObject *)obj,stderr,Py_PRINT_RAW);\ + fprintf(stderr,"\n"); + +\ +#define FAILNULL(p) do { \ + if ((p) == NULL) { \ + PyErr_SetString(PyExc_MemoryError, "NULL pointer found"); \ + goto capi_fail; \ + } \ +} while (0) + +#define MEMCOPY(to,from,n)\ + do { FAILNULL(to); FAILNULL(from); (void)memcpy(to,from,n); } while (0) + +#ifdef DEBUGCFUNCS +#define CFUNCSMESS(mess) fprintf(stderr,"debug-capi:"mess); +#define CFUNCSMESSPY(mess,obj) CFUNCSMESS(mess) \ + PyObject_Print((PyObject *)obj,stderr,Py_PRINT_RAW);\ + fprintf(stderr,"\n"); +#else +#define CFUNCSMESS(mess) +#define CFUNCSMESSPY(mess,obj) +#endif + +#define pyobj_from_int1(v) (PyInt_FromLong(v)) +#if defined(PREPEND_FORTRAN) +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) _##F +#else +#define F_FUNC(f,F) _##f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) _##F##_ +#else +#define F_FUNC(f,F) _##f##_ +#endif +#endif +#else +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) F +#else +#define F_FUNC(f,F) f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) F##_ +#else +#define F_FUNC(f,F) f##_ +#endif +#endif +#endif +#if defined(UNDERSCORE_G77) +#define F_FUNC_US(f,F) F_FUNC(f##_,F##_) +#else +#define F_FUNC_US(f,F) F_FUNC(f,F) +#endif + +#define rank(var) var ## _Rank +#define shape(var,dim) var ## _Dims[dim] +#define old_rank(var) (PyArray_NDIM((PyArrayObject *)(capi_ ## var ## _tmp))) +#define old_shape(var,dim) PyArray_DIM(((PyArrayObject *)(capi_ ## var ## _tmp)),dim) +#define fshape(var,dim) shape(var,rank(var)-dim-1) +#define len(var) shape(var,0) +#define flen(var) fshape(var,0) +#define old_size(var) PyArray_SIZE((PyArrayObject *)(capi_ ## var ## _tmp)) +/* #define index(i) capi_i ## i */ +#define slen(var) capi_ ## var ## _len +#define size(var, ...) f2py_size((PyArrayObject *)(capi_ ## var ## _tmp), ## __VA_ARGS__, -1) + +#define CHECKSCALAR(check,tcheck,name,show,var)\ + if (!(check)) {\ + char errstring[256];\ + sprintf(errstring, "%s: "show, "("tcheck") failed for "name, var);\ + PyErr_SetString(fitacf_fit_short_error,errstring);\ + /*goto capi_fail;*/\ + } else +#ifndef max +#define max(a,b) ((a > b) ? (a) : (b)) +#endif +#ifndef min +#define min(a,b) ((a < b) ? (a) : (b)) +#endif +#ifndef MAX +#define MAX(a,b) ((a > b) ? (a) : (b)) +#endif +#ifndef MIN +#define MIN(a,b) ((a < b) ? (a) : (b)) +#endif + +#if defined(PREPEND_FORTRAN) +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) _F2PYWRAP##F +#else +#define F_WRAPPEDFUNC(f,F) _f2pywrap##f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) _F2PYWRAP##F##_ +#else +#define F_WRAPPEDFUNC(f,F) _f2pywrap##f##_ +#endif +#endif +#else +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) F2PYWRAP##F +#else +#define F_WRAPPEDFUNC(f,F) f2pywrap##f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) F2PYWRAP##F##_ +#else +#define F_WRAPPEDFUNC(f,F) f2pywrap##f##_ +#endif +#endif +#endif +#if defined(UNDERSCORE_G77) +#define F_WRAPPEDFUNC_US(f,F) F_WRAPPEDFUNC(f##_,F##_) +#else +#define F_WRAPPEDFUNC_US(f,F) F_WRAPPEDFUNC(f,F) +#endif + +#define SWAP(a,b,t) {\ + t *c;\ + c = a;\ + a = b;\ + b = c;} + + +/************************ See f2py2e/cfuncs.py: cfuncs ************************/ +static int double_from_pyobj(double* v,PyObject *obj,const char *errmess) { + PyObject* tmp = NULL; + if (PyFloat_Check(obj)) { +#ifdef __sgi + *v = PyFloat_AsDouble(obj); +#else + *v = PyFloat_AS_DOUBLE(obj); +#endif + return 1; + } + tmp = PyNumber_Float(obj); + if (tmp) { +#ifdef __sgi + *v = PyFloat_AsDouble(tmp); +#else + *v = PyFloat_AS_DOUBLE(tmp); +#endif + Py_DECREF(tmp); + return 1; + } + if (PyComplex_Check(obj)) + tmp = PyObject_GetAttrString(obj,"real"); + else if (PyString_Check(obj) || PyUnicode_Check(obj)) + /*pass*/; + else if (PySequence_Check(obj)) + tmp = PySequence_GetItem(obj,0); + if (tmp) { + PyErr_Clear(); + if (double_from_pyobj(v,tmp,errmess)) {Py_DECREF(tmp); return 1;} + Py_DECREF(tmp); + } + { + PyObject* err = PyErr_Occurred(); + if (err==NULL) err = fitacf_fit_short_error; + PyErr_SetString(err,errmess); + } + return 0; +} + +static int f2py_size(PyArrayObject* var, ...) +{ + npy_int sz = 0; + npy_int dim; + npy_int rank; + va_list argp; + va_start(argp, var); + dim = va_arg(argp, npy_int); + if (dim==-1) + { + sz = PyArray_SIZE(var); + } + else + { + rank = PyArray_NDIM(var); + if (dim>=1 && dim<=rank) + sz = PyArray_DIM(var, dim-1); + else + fprintf(stderr, "f2py_size: 2nd argument value=%d fails to satisfy 1<=value<=%d. Result will be 0.\n", dim, rank); + } + va_end(argp); + return sz; +} + +static int float_from_pyobj(float* v,PyObject *obj,const char *errmess) { + double d=0.0; + if (double_from_pyobj(&d,obj,errmess)) { + *v = (float)d; + return 1; + } + return 0; +} + +static int int_from_pyobj(int* v,PyObject *obj,const char *errmess) { + PyObject* tmp = NULL; + if (PyInt_Check(obj)) { + *v = (int)PyInt_AS_LONG(obj); + return 1; + } + tmp = PyNumber_Int(obj); + if (tmp) { + *v = PyInt_AS_LONG(tmp); + Py_DECREF(tmp); + return 1; + } + if (PyComplex_Check(obj)) + tmp = PyObject_GetAttrString(obj,"real"); + else if (PyString_Check(obj) || PyUnicode_Check(obj)) + /*pass*/; + else if (PySequence_Check(obj)) + tmp = PySequence_GetItem(obj,0); + if (tmp) { + PyErr_Clear(); + if (int_from_pyobj(v,tmp,errmess)) {Py_DECREF(tmp); return 1;} + Py_DECREF(tmp); + } + { + PyObject* err = PyErr_Occurred(); + if (err==NULL) err = fitacf_fit_short_error; + PyErr_SetString(err,errmess); + } + return 0; +} + +static int create_cb_arglist(PyObject* fun,PyTupleObject* xa,const int maxnofargs,const int nofoptargs,int *nofargs,PyTupleObject **args,const char *errmess) { + PyObject *tmp = NULL; + PyObject *tmp_fun = NULL; + int tot,opt,ext,siz,i,di=0; + CFUNCSMESS("create_cb_arglist\n"); + tot=opt=ext=siz=0; + /* Get the total number of arguments */ + if (PyFunction_Check(fun)) { + tmp_fun = fun; + Py_INCREF(tmp_fun); + } + else { + di = 1; + if (PyObject_HasAttrString(fun,"im_func")) { + tmp_fun = PyObject_GetAttrString(fun,"im_func"); + } + else if (PyObject_HasAttrString(fun,"__call__")) { + tmp = PyObject_GetAttrString(fun,"__call__"); + if (PyObject_HasAttrString(tmp,"im_func")) + tmp_fun = PyObject_GetAttrString(tmp,"im_func"); + else { + tmp_fun = fun; /* built-in function */ + Py_INCREF(tmp_fun); + tot = maxnofargs; + if (PyCFunction_Check(fun)) { + /* In case the function has a co_argcount (like on PyPy) */ + di = 0; + } + if (xa != NULL) + tot += PyTuple_Size((PyObject *)xa); + } + Py_XDECREF(tmp); + } + else if (PyFortran_Check(fun) || PyFortran_Check1(fun)) { + tot = maxnofargs; + if (xa != NULL) + tot += PyTuple_Size((PyObject *)xa); + tmp_fun = fun; + Py_INCREF(tmp_fun); + } + else if (F2PyCapsule_Check(fun)) { + tot = maxnofargs; + if (xa != NULL) + ext = PyTuple_Size((PyObject *)xa); + if(ext>0) { + fprintf(stderr,"extra arguments tuple cannot be used with CObject call-back\n"); + goto capi_fail; + } + tmp_fun = fun; + Py_INCREF(tmp_fun); + } + } +if (tmp_fun==NULL) { +fprintf(stderr,"Call-back argument must be function|instance|instance.__call__|f2py-function but got %s.\n",(fun==NULL?"NULL":Py_TYPE(fun)->tp_name)); +goto capi_fail; +} + if (PyObject_HasAttrString(tmp_fun,"__code__")) { + if (PyObject_HasAttrString(tmp = PyObject_GetAttrString(tmp_fun,"__code__"),"co_argcount")) { + PyObject *tmp_argcount = PyObject_GetAttrString(tmp,"co_argcount"); + Py_DECREF(tmp); + if (tmp_argcount == NULL) { + goto capi_fail; + } + tot = PyInt_AsLong(tmp_argcount) - di; + Py_DECREF(tmp_argcount); + } + } + /* Get the number of optional arguments */ + if (PyObject_HasAttrString(tmp_fun,"__defaults__")) { + if (PyTuple_Check(tmp = PyObject_GetAttrString(tmp_fun,"__defaults__"))) + opt = PyTuple_Size(tmp); + Py_XDECREF(tmp); + } + /* Get the number of extra arguments */ + if (xa != NULL) + ext = PyTuple_Size((PyObject *)xa); + /* Calculate the size of call-backs argument list */ + siz = MIN(maxnofargs+ext,tot); + *nofargs = MAX(0,siz-ext); +#ifdef DEBUGCFUNCS + fprintf(stderr,"debug-capi:create_cb_arglist:maxnofargs(-nofoptargs),tot,opt,ext,siz,nofargs=%d(-%d),%d,%d,%d,%d,%d\n",maxnofargs,nofoptargs,tot,opt,ext,siz,*nofargs); +#endif + if (sizcapi_i) { + int itemsize_ = NPY_FLOAT == NPY_STRING ? 1 : 0; + /*XXX: Hmm, what will destroy this array??? */ + PyArrayObject *tmp_arr = (PyArrayObject *)PyArray_New(&PyArray_Type,1,x_Dims,NPY_FLOAT,NULL,(char*)x,itemsize_,NPY_ARRAY_FARRAY,NULL); + + + if (tmp_arr==NULL) + goto capi_fail; + if (CAPI_ARGLIST_SETITEM(capi_i++,(PyObject *)tmp_arr)) + goto capi_fail; +} + if (cb_fcn_in_lmdif__user__routines_nofargs>capi_i) { + int itemsize_ = NPY_FLOAT == NPY_STRING ? 1 : 0; + /*XXX: Hmm, what will destroy this array??? */ + PyArrayObject *tmp_arr = (PyArrayObject *)PyArray_New(&PyArray_Type,1,fvec_Dims,NPY_FLOAT,NULL,(char*)fvec,itemsize_,NPY_ARRAY_FARRAY,NULL); + + + if (tmp_arr==NULL) + goto capi_fail; + if (CAPI_ARGLIST_SETITEM(capi_i++,(PyObject *)tmp_arr)) + goto capi_fail; +} + if (cb_fcn_in_lmdif__user__routines_nofargs>capi_i) + if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_int1(iflag))) + goto capi_fail; + if (cb_fcn_in_lmdif__user__routines_nofargs>capi_i) + if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_int1(m))) + goto capi_fail; + if (cb_fcn_in_lmdif__user__routines_nofargs>capi_i) + if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_int1(n))) + goto capi_fail; +#undef CAPI_ARGLIST_SETITEM +#ifdef PYPY_VERSION + CFUNCSMESSPY("cb:capi_arglist=",capi_arglist_list); +#else + CFUNCSMESSPY("cb:capi_arglist=",capi_arglist); +#endif + CFUNCSMESS("cb:Call-back calling Python function fcn.\n"); +#ifdef F2PY_REPORT_ATEXIT +f2py_cb_start_call_clock(); +#endif +#ifdef PYPY_VERSION + capi_return = PyObject_CallObject(cb_fcn_in_lmdif__user__routines_capi,(PyObject *)capi_arglist_list); + Py_DECREF(capi_arglist_list); + capi_arglist_list = NULL; +#else + capi_return = PyObject_CallObject(cb_fcn_in_lmdif__user__routines_capi,(PyObject *)capi_arglist); +#endif +#ifdef F2PY_REPORT_ATEXIT +f2py_cb_stop_call_clock(); +#endif + CFUNCSMESSPY("cb:capi_return=",capi_return); + if (capi_return == NULL) { + fprintf(stderr,"capi_return is NULL\n"); + goto capi_fail; + } + if (capi_return == Py_None) { + Py_DECREF(capi_return); + capi_return = Py_BuildValue("()"); + } + else if (!PyTuple_Check(capi_return)) { + capi_return = Py_BuildValue("(N)",capi_return); + } + capi_j = PyTuple_Size(capi_return); + capi_i = 0; +/*frompyobj*/ + CFUNCSMESS("cb:cb_fcn_in_lmdif__user__routines:successful\n"); + Py_DECREF(capi_return); +#ifdef F2PY_REPORT_ATEXIT +f2py_cb_stop_clock(); +#endif + goto capi_return_pt; +capi_fail: + fprintf(stderr,"Call-back cb_fcn_in_lmdif__user__routines failed.\n"); + Py_XDECREF(capi_return); + Py_XDECREF(capi_arglist_list); + if (capi_longjmp_ok) + longjmp(cb_fcn_in_lmdif__user__routines_jmpbuf,-1); +capi_return_pt: + ; +return; +} +/******************* end of cb_fcn_in_lmdif__user__routines *******************/ + + +/*********************** See f2py2e/rules.py: buildapi ***********************/ + +/************************************ fit ************************************/ +static char doc_f2py_rout_fitacf_fit_short_fit[] = "\ +cinv,sigma2p,paramp,ebp,ist = fit(wl,taup,rhop,covar,cinv,sigma2p,paramp,bfldp,alphap,densp,alt,time,ifitp,ist,[nl])\n\nWrapper for ``fit``.\ +\n\nParameters\n----------\n" +"wl : input float\n" +"taup : input rank-1 array('f') with bounds (nl)\n" +"rhop : input rank-1 array('f') with bounds (nl)\n" +"covar : input rank-2 array('f') with bounds (nl,nl)\n" +"cinv : input rank-2 array('f') with bounds (nl,nl)\n" +"sigma2p : input rank-1 array('f') with bounds (nl)\n" +"paramp : input rank-1 array('f') with bounds (10)\n" +"bfldp : input float\n" +"alphap : input float\n" +"densp : input float\n" +"alt : input float\n" +"time : input float\n" +"ifitp : input rank-1 array('i') with bounds (10)\n" +"ist : input int\n" +"\nOther Parameters\n----------------\n" +"nl : input int, optional\n Default: len(taup)\n" +"\nReturns\n-------\n" +"cinv : rank-2 array('f') with bounds (nl,nl)\n" +"sigma2p : rank-1 array('f') with bounds (nl)\n" +"paramp : rank-1 array('f') with bounds (10)\n" +"ebp : rank-1 array('f') with bounds (10)\n" +"ist : int"; +/* extern void F_FUNC(fit,FIT)(float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,int*,int*,int*); */ +static PyObject *f2py_rout_fitacf_fit_short_fit(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,int*,int*,int*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float wl = 0; + PyObject *wl_capi = Py_None; + float *taup = NULL; + npy_intp taup_Dims[1] = {-1}; + const int taup_Rank = 1; + PyArrayObject *capi_taup_tmp = NULL; + int capi_taup_intent = 0; + PyObject *taup_capi = Py_None; + float *rhop = NULL; + npy_intp rhop_Dims[1] = {-1}; + const int rhop_Rank = 1; + PyArrayObject *capi_rhop_tmp = NULL; + int capi_rhop_intent = 0; + PyObject *rhop_capi = Py_None; + float *covar = NULL; + npy_intp covar_Dims[2] = {-1, -1}; + const int covar_Rank = 2; + PyArrayObject *capi_covar_tmp = NULL; + int capi_covar_intent = 0; + PyObject *covar_capi = Py_None; + float *cinv = NULL; + npy_intp cinv_Dims[2] = {-1, -1}; + const int cinv_Rank = 2; + PyArrayObject *capi_cinv_tmp = NULL; + int capi_cinv_intent = 0; + PyObject *cinv_capi = Py_None; + float *sigma2p = NULL; + npy_intp sigma2p_Dims[1] = {-1}; + const int sigma2p_Rank = 1; + PyArrayObject *capi_sigma2p_tmp = NULL; + int capi_sigma2p_intent = 0; + PyObject *sigma2p_capi = Py_None; + float *paramp = NULL; + npy_intp paramp_Dims[1] = {-1}; + const int paramp_Rank = 1; + PyArrayObject *capi_paramp_tmp = NULL; + int capi_paramp_intent = 0; + PyObject *paramp_capi = Py_None; + float *ebp = NULL; + npy_intp ebp_Dims[1] = {-1}; + const int ebp_Rank = 1; + PyArrayObject *capi_ebp_tmp = NULL; + int capi_ebp_intent = 0; + float bfldp = 0; + PyObject *bfldp_capi = Py_None; + float alphap = 0; + PyObject *alphap_capi = Py_None; + float densp = 0; + PyObject *densp_capi = Py_None; + float alt = 0; + PyObject *alt_capi = Py_None; + float time = 0; + PyObject *time_capi = Py_None; + int *ifitp = NULL; + npy_intp ifitp_Dims[1] = {-1}; + const int ifitp_Rank = 1; + PyArrayObject *capi_ifitp_tmp = NULL; + int capi_ifitp_intent = 0; + PyObject *ifitp_capi = Py_None; + int ist = 0; + PyObject *ist_capi = Py_None; + int nl = 0; + PyObject *nl_capi = Py_None; + static char *capi_kwlist[] = {"wl","taup","rhop","covar","cinv","sigma2p","paramp","bfldp","alphap","densp","alt","time","ifitp","ist","nl",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOOOOOOOOOOO|O:fitacf_fit_short.fit",\ + capi_kwlist,&wl_capi,&taup_capi,&rhop_capi,&covar_capi,&cinv_capi,&sigma2p_capi,¶mp_capi,&bfldp_capi,&alphap_capi,&densp_capi,&alt_capi,&time_capi,&ifitp_capi,&ist_capi,&nl_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable wl */ + f2py_success = float_from_pyobj(&wl,wl_capi,"fitacf_fit_short.fit() 1st argument (wl) can't be converted to float"); + if (f2py_success) { + /* Processing variable taup */ + ; + capi_taup_intent |= F2PY_INTENT_IN; + capi_taup_tmp = array_from_pyobj(NPY_FLOAT,taup_Dims,taup_Rank,capi_taup_intent,taup_capi); + if (capi_taup_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 2nd argument `taup' of fitacf_fit_short.fit to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + taup = (float *)(PyArray_DATA(capi_taup_tmp)); + + /* Processing variable paramp */ + paramp_Dims[0]=10; + capi_paramp_intent |= F2PY_INTENT_IN|F2PY_INTENT_OUT; + capi_paramp_tmp = array_from_pyobj(NPY_FLOAT,paramp_Dims,paramp_Rank,capi_paramp_intent,paramp_capi); + if (capi_paramp_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 7th argument `paramp' of fitacf_fit_short.fit to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + paramp = (float *)(PyArray_DATA(capi_paramp_tmp)); + + /* Processing variable ebp */ + ebp_Dims[0]=10; + capi_ebp_intent |= F2PY_INTENT_OUT|F2PY_INTENT_HIDE; + capi_ebp_tmp = array_from_pyobj(NPY_FLOAT,ebp_Dims,ebp_Rank,capi_ebp_intent,Py_None); + if (capi_ebp_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting hidden `ebp' of fitacf_fit_short.fit to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + ebp = (float *)(PyArray_DATA(capi_ebp_tmp)); + + /* Processing variable bfldp */ + f2py_success = float_from_pyobj(&bfldp,bfldp_capi,"fitacf_fit_short.fit() 8th argument (bfldp) can't be converted to float"); + if (f2py_success) { + /* Processing variable alphap */ + f2py_success = float_from_pyobj(&alphap,alphap_capi,"fitacf_fit_short.fit() 9th argument (alphap) can't be converted to float"); + if (f2py_success) { + /* Processing variable densp */ + f2py_success = float_from_pyobj(&densp,densp_capi,"fitacf_fit_short.fit() 10th argument (densp) can't be converted to float"); + if (f2py_success) { + /* Processing variable alt */ + f2py_success = float_from_pyobj(&alt,alt_capi,"fitacf_fit_short.fit() 11st argument (alt) can't be converted to float"); + if (f2py_success) { + /* Processing variable time */ + f2py_success = float_from_pyobj(&time,time_capi,"fitacf_fit_short.fit() 12nd argument (time) can't be converted to float"); + if (f2py_success) { + /* Processing variable ifitp */ + ifitp_Dims[0]=10; + capi_ifitp_intent |= F2PY_INTENT_IN; + capi_ifitp_tmp = array_from_pyobj(NPY_INT,ifitp_Dims,ifitp_Rank,capi_ifitp_intent,ifitp_capi); + if (capi_ifitp_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 13rd argument `ifitp' of fitacf_fit_short.fit to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + ifitp = (int *)(PyArray_DATA(capi_ifitp_tmp)); + + /* Processing variable ist */ + f2py_success = int_from_pyobj(&ist,ist_capi,"fitacf_fit_short.fit() 14th argument (ist) can't be converted to int"); + if (f2py_success) { + /* Processing variable nl */ + if (nl_capi == Py_None) nl = len(taup); else + f2py_success = int_from_pyobj(&nl,nl_capi,"fitacf_fit_short.fit() 1st keyword (nl) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(taup)>=nl,"len(taup)>=nl","1st keyword nl","fit:nl=%d",nl) { + /* Processing variable rhop */ + rhop_Dims[0]=nl; + capi_rhop_intent |= F2PY_INTENT_IN; + capi_rhop_tmp = array_from_pyobj(NPY_FLOAT,rhop_Dims,rhop_Rank,capi_rhop_intent,rhop_capi); + if (capi_rhop_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 3rd argument `rhop' of fitacf_fit_short.fit to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + rhop = (float *)(PyArray_DATA(capi_rhop_tmp)); + + /* Processing variable covar */ + covar_Dims[0]=nl,covar_Dims[1]=nl; + capi_covar_intent |= F2PY_INTENT_IN; + capi_covar_tmp = array_from_pyobj(NPY_FLOAT,covar_Dims,covar_Rank,capi_covar_intent,covar_capi); + if (capi_covar_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 4th argument `covar' of fitacf_fit_short.fit to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + covar = (float *)(PyArray_DATA(capi_covar_tmp)); + + /* Processing variable cinv */ + cinv_Dims[0]=nl,cinv_Dims[1]=nl; + capi_cinv_intent |= F2PY_INTENT_IN|F2PY_INTENT_OUT; + capi_cinv_tmp = array_from_pyobj(NPY_FLOAT,cinv_Dims,cinv_Rank,capi_cinv_intent,cinv_capi); + if (capi_cinv_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 5th argument `cinv' of fitacf_fit_short.fit to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + cinv = (float *)(PyArray_DATA(capi_cinv_tmp)); + + /* Processing variable sigma2p */ + sigma2p_Dims[0]=nl; + capi_sigma2p_intent |= F2PY_INTENT_IN|F2PY_INTENT_OUT; + capi_sigma2p_tmp = array_from_pyobj(NPY_FLOAT,sigma2p_Dims,sigma2p_Rank,capi_sigma2p_intent,sigma2p_capi); + if (capi_sigma2p_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 6th argument `sigma2p' of fitacf_fit_short.fit to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + sigma2p = (float *)(PyArray_DATA(capi_sigma2p_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&wl,taup,rhop,covar,cinv,sigma2p,paramp,ebp,&bfldp,&alphap,&densp,&alt,&time,ifitp,&ist,&nl); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("NNNNi",capi_cinv_tmp,capi_sigma2p_tmp,capi_paramp_tmp,capi_ebp_tmp,ist); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + } /*if (capi_sigma2p_tmp == NULL) ... else of sigma2p*/ + /* End of cleaning variable sigma2p */ + } /*if (capi_cinv_tmp == NULL) ... else of cinv*/ + /* End of cleaning variable cinv */ + if((PyObject *)capi_covar_tmp!=covar_capi) { + Py_XDECREF(capi_covar_tmp); } + } /*if (capi_covar_tmp == NULL) ... else of covar*/ + /* End of cleaning variable covar */ + if((PyObject *)capi_rhop_tmp!=rhop_capi) { + Py_XDECREF(capi_rhop_tmp); } + } /*if (capi_rhop_tmp == NULL) ... else of rhop*/ + /* End of cleaning variable rhop */ + } /*CHECKSCALAR(len(taup)>=nl)*/ + } /*if (f2py_success) of nl*/ + /* End of cleaning variable nl */ + } /*if (f2py_success) of ist*/ + /* End of cleaning variable ist */ + if((PyObject *)capi_ifitp_tmp!=ifitp_capi) { + Py_XDECREF(capi_ifitp_tmp); } + } /*if (capi_ifitp_tmp == NULL) ... else of ifitp*/ + /* End of cleaning variable ifitp */ + } /*if (f2py_success) of time*/ + /* End of cleaning variable time */ + } /*if (f2py_success) of alt*/ + /* End of cleaning variable alt */ + } /*if (f2py_success) of densp*/ + /* End of cleaning variable densp */ + } /*if (f2py_success) of alphap*/ + /* End of cleaning variable alphap */ + } /*if (f2py_success) of bfldp*/ + /* End of cleaning variable bfldp */ + } /*if (capi_ebp_tmp == NULL) ... else of ebp*/ + /* End of cleaning variable ebp */ + } /*if (capi_paramp_tmp == NULL) ... else of paramp*/ + /* End of cleaning variable paramp */ + if((PyObject *)capi_taup_tmp!=taup_capi) { + Py_XDECREF(capi_taup_tmp); } + } /*if (capi_taup_tmp == NULL) ... else of taup*/ + /* End of cleaning variable taup */ + } /*if (f2py_success) of wl*/ + /* End of cleaning variable wl */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/********************************* end of fit *********************************/ + +/*********************************** spect1 ***********************************/ +static char doc_f2py_rout_fitacf_fit_short_spect1[] = "\ +spect1 = spect1(omega)\n\nWrapper for ``spect1``.\ +\n\nParameters\n----------\n" +"omega : input float\n" +"\nReturns\n-------\n" +"spect1 : float"; +/* extern void F_WRAPPEDFUNC(spect1,SPECT1)(float*,float*); */ +static PyObject *f2py_rout_fitacf_fit_short_spect1(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float spect1 = 0; + float omega = 0; + PyObject *omega_capi = Py_None; + static char *capi_kwlist[] = {"omega",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "O|:fitacf_fit_short.spect1",\ + capi_kwlist,&omega_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable omega */ + f2py_success = float_from_pyobj(&omega,omega_capi,"fitacf_fit_short.spect1() 1st argument (omega) can't be converted to float"); + if (f2py_success) { + /* Processing variable spect1 */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&spect1,&omega); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",spect1); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable spect1 */ + } /*if (f2py_success) of omega*/ + /* End of cleaning variable omega */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of spect1 *******************************/ + +/*********************************** gaussq ***********************************/ +static char doc_f2py_rout_fitacf_fit_short_gaussq[] = "\ +gaussq(tau,acf)\n\nWrapper for ``gaussq``.\ +\n\nParameters\n----------\n" +"tau : input float\n" +"acf : input float"; +/* extern void F_FUNC(gaussq,GAUSSQ)(float*,float*); */ +static PyObject *f2py_rout_fitacf_fit_short_gaussq(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float tau = 0; + PyObject *tau_capi = Py_None; + float acf = 0; + PyObject *acf_capi = Py_None; + static char *capi_kwlist[] = {"tau","acf",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OO|:fitacf_fit_short.gaussq",\ + capi_kwlist,&tau_capi,&acf_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable tau */ + f2py_success = float_from_pyobj(&tau,tau_capi,"fitacf_fit_short.gaussq() 1st argument (tau) can't be converted to float"); + if (f2py_success) { + /* Processing variable acf */ + f2py_success = float_from_pyobj(&acf,acf_capi,"fitacf_fit_short.gaussq() 2nd argument (acf) can't be converted to float"); + if (f2py_success) { +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&tau,&acf); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + } /*if (f2py_success) of acf*/ + /* End of cleaning variable acf */ + } /*if (f2py_success) of tau*/ + /* End of cleaning variable tau */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of gaussq *******************************/ + +/*********************************** lmdif1 ***********************************/ +static char doc_f2py_rout_fitacf_fit_short_lmdif1[] = "\ +lmdif1(fcn,x,fvec,tol,info,iwa,wa,[m,n,lwa,fcn_extra_args])\n\nWrapper for ``lmdif1``.\ +\n\nParameters\n----------\n" +"fcn : call-back function\n" +"x : input rank-1 array('f') with bounds (n)\n" +"fvec : input rank-1 array('f') with bounds (m)\n" +"tol : input float\n" +"info : input int\n" +"iwa : input rank-1 array('i') with bounds (n)\n" +"wa : input rank-1 array('f') with bounds (lwa)\n" +"\nOther Parameters\n----------------\n" +"fcn_extra_args : input tuple, optional\n Default: ()\n" +"m : input int, optional\n Default: len(fvec)\n" +"n : input int, optional\n Default: len(x)\n" +"lwa : input int, optional\n Default: len(wa)\n" +"\nNotes\n-----\nCall-back functions::\n\n" +" def fcn(x,fvec,iflag,[m,n]): return \n\ + Required arguments:\n" +" x : input rank-1 array('f') with bounds (n)\n" +" fvec : input rank-1 array('f') with bounds (m)\n" +" iflag : input int\n" +" Optional arguments:\n" +" m : input int, optional\n Default: len(fvec)\n" +" n : input int, optional\n Default: len(x)"; +/* extern void F_FUNC(lmdif1,LMDIF1)(cb_fcn_in_lmdif__user__routines_typedef,int*,int*,float*,float*,float*,int*,int*,float*,int*); */ +static PyObject *f2py_rout_fitacf_fit_short_lmdif1(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(cb_fcn_in_lmdif__user__routines_typedef,int*,int*,float*,float*,float*,int*,int*,float*,int*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + PyObject *fcn_capi = Py_None; + PyTupleObject *fcn_xa_capi = NULL; + PyTupleObject *fcn_args_capi = NULL; + int fcn_nofargs_capi = 0; + cb_fcn_in_lmdif__user__routines_typedef fcn_cptr; + int m = 0; + PyObject *m_capi = Py_None; + int n = 0; + PyObject *n_capi = Py_None; + float *x = NULL; + npy_intp x_Dims[1] = {-1}; + const int x_Rank = 1; + PyArrayObject *capi_x_tmp = NULL; + int capi_x_intent = 0; + PyObject *x_capi = Py_None; + float *fvec = NULL; + npy_intp fvec_Dims[1] = {-1}; + const int fvec_Rank = 1; + PyArrayObject *capi_fvec_tmp = NULL; + int capi_fvec_intent = 0; + PyObject *fvec_capi = Py_None; + float tol = 0; + PyObject *tol_capi = Py_None; + int info = 0; + PyObject *info_capi = Py_None; + int *iwa = NULL; + npy_intp iwa_Dims[1] = {-1}; + const int iwa_Rank = 1; + PyArrayObject *capi_iwa_tmp = NULL; + int capi_iwa_intent = 0; + PyObject *iwa_capi = Py_None; + float *wa = NULL; + npy_intp wa_Dims[1] = {-1}; + const int wa_Rank = 1; + PyArrayObject *capi_wa_tmp = NULL; + int capi_wa_intent = 0; + PyObject *wa_capi = Py_None; + int lwa = 0; + PyObject *lwa_capi = Py_None; + static char *capi_kwlist[] = {"fcn","x","fvec","tol","info","iwa","wa","m","n","lwa","fcn_extra_args",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOOOO|OOOO!:fitacf_fit_short.lmdif1",\ + capi_kwlist,&fcn_capi,&x_capi,&fvec_capi,&tol_capi,&info_capi,&iwa_capi,&wa_capi,&m_capi,&n_capi,&lwa_capi,&PyTuple_Type,&fcn_xa_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable fcn */ +if(F2PyCapsule_Check(fcn_capi)) { + fcn_cptr = F2PyCapsule_AsVoidPtr(fcn_capi); +} else { + fcn_cptr = cb_fcn_in_lmdif__user__routines; +} + + fcn_nofargs_capi = cb_fcn_in_lmdif__user__routines_nofargs; + if (create_cb_arglist(fcn_capi,fcn_xa_capi,5,2,&cb_fcn_in_lmdif__user__routines_nofargs,&fcn_args_capi,"failed in processing argument list for call-back fcn.")) { + jmp_buf fcn_jmpbuf; + CFUNCSMESS("Saving jmpbuf for `fcn`.\n"); + SWAP(fcn_capi,cb_fcn_in_lmdif__user__routines_capi,PyObject); + SWAP(fcn_args_capi,cb_fcn_in_lmdif__user__routines_args_capi,PyTupleObject); + memcpy(&fcn_jmpbuf,&cb_fcn_in_lmdif__user__routines_jmpbuf,sizeof(jmp_buf)); + /* Processing variable x */ + ; + capi_x_intent |= F2PY_INTENT_IN; + capi_x_tmp = array_from_pyobj(NPY_FLOAT,x_Dims,x_Rank,capi_x_intent,x_capi); + if (capi_x_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 2nd argument `x' of fitacf_fit_short.lmdif1 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + x = (float *)(PyArray_DATA(capi_x_tmp)); + + /* Processing variable fvec */ + ; + capi_fvec_intent |= F2PY_INTENT_IN; + capi_fvec_tmp = array_from_pyobj(NPY_FLOAT,fvec_Dims,fvec_Rank,capi_fvec_intent,fvec_capi); + if (capi_fvec_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 3rd argument `fvec' of fitacf_fit_short.lmdif1 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + fvec = (float *)(PyArray_DATA(capi_fvec_tmp)); + + /* Processing variable tol */ + f2py_success = float_from_pyobj(&tol,tol_capi,"fitacf_fit_short.lmdif1() 4th argument (tol) can't be converted to float"); + if (f2py_success) { + /* Processing variable info */ + f2py_success = int_from_pyobj(&info,info_capi,"fitacf_fit_short.lmdif1() 5th argument (info) can't be converted to int"); + if (f2py_success) { + /* Processing variable wa */ + ; + capi_wa_intent |= F2PY_INTENT_IN; + capi_wa_tmp = array_from_pyobj(NPY_FLOAT,wa_Dims,wa_Rank,capi_wa_intent,wa_capi); + if (capi_wa_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 7th argument `wa' of fitacf_fit_short.lmdif1 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa = (float *)(PyArray_DATA(capi_wa_tmp)); + + /* Processing variable m */ + if (m_capi == Py_None) m = len(fvec); else + f2py_success = int_from_pyobj(&m,m_capi,"fitacf_fit_short.lmdif1() 1st keyword (m) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(fvec)>=m,"len(fvec)>=m","1st keyword m","lmdif1:m=%d",m) { + /* Processing variable n */ + if (n_capi == Py_None) n = len(x); else + f2py_success = int_from_pyobj(&n,n_capi,"fitacf_fit_short.lmdif1() 2nd keyword (n) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(x)>=n,"len(x)>=n","2nd keyword n","lmdif1:n=%d",n) { + /* Processing variable iwa */ + iwa_Dims[0]=n; + capi_iwa_intent |= F2PY_INTENT_IN; + capi_iwa_tmp = array_from_pyobj(NPY_INT,iwa_Dims,iwa_Rank,capi_iwa_intent,iwa_capi); + if (capi_iwa_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 6th argument `iwa' of fitacf_fit_short.lmdif1 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + iwa = (int *)(PyArray_DATA(capi_iwa_tmp)); + + /* Processing variable lwa */ + if (lwa_capi == Py_None) lwa = len(wa); else + f2py_success = int_from_pyobj(&lwa,lwa_capi,"fitacf_fit_short.lmdif1() 3rd keyword (lwa) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(wa)>=lwa,"len(wa)>=lwa","3rd keyword lwa","lmdif1:lwa=%d",lwa) { +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + if ((setjmp(cb_fcn_in_lmdif__user__routines_jmpbuf))) { + f2py_success = 0; + } else { + (*f2py_func)(fcn_cptr,&m,&n,x,fvec,&tol,&info,iwa,wa,&lwa); + } +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + } /*CHECKSCALAR(len(wa)>=lwa)*/ + } /*if (f2py_success) of lwa*/ + /* End of cleaning variable lwa */ + if((PyObject *)capi_iwa_tmp!=iwa_capi) { + Py_XDECREF(capi_iwa_tmp); } + } /*if (capi_iwa_tmp == NULL) ... else of iwa*/ + /* End of cleaning variable iwa */ + } /*CHECKSCALAR(len(x)>=n)*/ + } /*if (f2py_success) of n*/ + /* End of cleaning variable n */ + } /*CHECKSCALAR(len(fvec)>=m)*/ + } /*if (f2py_success) of m*/ + /* End of cleaning variable m */ + if((PyObject *)capi_wa_tmp!=wa_capi) { + Py_XDECREF(capi_wa_tmp); } + } /*if (capi_wa_tmp == NULL) ... else of wa*/ + /* End of cleaning variable wa */ + } /*if (f2py_success) of info*/ + /* End of cleaning variable info */ + } /*if (f2py_success) of tol*/ + /* End of cleaning variable tol */ + if((PyObject *)capi_fvec_tmp!=fvec_capi) { + Py_XDECREF(capi_fvec_tmp); } + } /*if (capi_fvec_tmp == NULL) ... else of fvec*/ + /* End of cleaning variable fvec */ + if((PyObject *)capi_x_tmp!=x_capi) { + Py_XDECREF(capi_x_tmp); } + } /*if (capi_x_tmp == NULL) ... else of x*/ + /* End of cleaning variable x */ + CFUNCSMESS("Restoring jmpbuf for `fcn`.\n"); + cb_fcn_in_lmdif__user__routines_capi = fcn_capi; + Py_DECREF(cb_fcn_in_lmdif__user__routines_args_capi); + cb_fcn_in_lmdif__user__routines_args_capi = fcn_args_capi; + cb_fcn_in_lmdif__user__routines_nofargs = fcn_nofargs_capi; + memcpy(&cb_fcn_in_lmdif__user__routines_jmpbuf,&fcn_jmpbuf,sizeof(jmp_buf)); + } + /* End of cleaning variable fcn */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of lmdif1 *******************************/ + +/*********************************** lmdif ***********************************/ +static char doc_f2py_rout_fitacf_fit_short_lmdif[] = "\ +lmdif(fcn,x,fvec,ftol,xtol,gtol,maxfev,epsfcn,diag,mode,factor,nprint,info,nfev,fjac,ipvt,qtf,wa1,wa2,wa3,wa4,[m,n,ldfjac,fcn_extra_args])\n\nWrapper for ``lmdif``.\ +\n\nParameters\n----------\n" +"fcn : call-back function\n" +"x : input rank-1 array('f') with bounds (n)\n" +"fvec : input rank-1 array('f') with bounds (m)\n" +"ftol : input float\n" +"xtol : input float\n" +"gtol : input float\n" +"maxfev : input int\n" +"epsfcn : input float\n" +"diag : input rank-1 array('f') with bounds (n)\n" +"mode : input int\n" +"factor : input float\n" +"nprint : input int\n" +"info : input int\n" +"nfev : input int\n" +"fjac : input rank-2 array('f') with bounds (ldfjac,n)\n" +"ipvt : input rank-1 array('i') with bounds (n)\n" +"qtf : input rank-1 array('f') with bounds (n)\n" +"wa1 : input rank-1 array('f') with bounds (n)\n" +"wa2 : input rank-1 array('f') with bounds (n)\n" +"wa3 : input rank-1 array('f') with bounds (n)\n" +"wa4 : input rank-1 array('f') with bounds (m)\n" +"\nOther Parameters\n----------------\n" +"fcn_extra_args : input tuple, optional\n Default: ()\n" +"m : input int, optional\n Default: len(fvec)\n" +"n : input int, optional\n Default: len(x)\n" +"ldfjac : input int, optional\n Default: shape(fjac,0)\n" +"\nNotes\n-----\nCall-back functions::\n\n" +" def fcn(x,fvec,iflag,[m,n]): return \n\ + Required arguments:\n" +" x : input rank-1 array('f') with bounds (n)\n" +" fvec : input rank-1 array('f') with bounds (m)\n" +" iflag : input int\n" +" Optional arguments:\n" +" m : input int, optional\n Default: len(fvec)\n" +" n : input int, optional\n Default: len(x)"; +/* extern void F_FUNC(lmdif,LMDIF)(cb_fcn_in_lmdif__user__routines_typedef,int*,int*,float*,float*,float*,float*,float*,int*,float*,float*,int*,float*,int*,int*,int*,float*,int*,int*,float*,float*,float*,float*,float*); */ +static PyObject *f2py_rout_fitacf_fit_short_lmdif(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(cb_fcn_in_lmdif__user__routines_typedef,int*,int*,float*,float*,float*,float*,float*,int*,float*,float*,int*,float*,int*,int*,int*,float*,int*,int*,float*,float*,float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + PyObject *fcn_capi = Py_None; + PyTupleObject *fcn_xa_capi = NULL; + PyTupleObject *fcn_args_capi = NULL; + int fcn_nofargs_capi = 0; + cb_fcn_in_lmdif__user__routines_typedef fcn_cptr; + int m = 0; + PyObject *m_capi = Py_None; + int n = 0; + PyObject *n_capi = Py_None; + float *x = NULL; + npy_intp x_Dims[1] = {-1}; + const int x_Rank = 1; + PyArrayObject *capi_x_tmp = NULL; + int capi_x_intent = 0; + PyObject *x_capi = Py_None; + float *fvec = NULL; + npy_intp fvec_Dims[1] = {-1}; + const int fvec_Rank = 1; + PyArrayObject *capi_fvec_tmp = NULL; + int capi_fvec_intent = 0; + PyObject *fvec_capi = Py_None; + float ftol = 0; + PyObject *ftol_capi = Py_None; + float xtol = 0; + PyObject *xtol_capi = Py_None; + float gtol = 0; + PyObject *gtol_capi = Py_None; + int maxfev = 0; + PyObject *maxfev_capi = Py_None; + float epsfcn = 0; + PyObject *epsfcn_capi = Py_None; + float *diag = NULL; + npy_intp diag_Dims[1] = {-1}; + const int diag_Rank = 1; + PyArrayObject *capi_diag_tmp = NULL; + int capi_diag_intent = 0; + PyObject *diag_capi = Py_None; + int mode = 0; + PyObject *mode_capi = Py_None; + float factor = 0; + PyObject *factor_capi = Py_None; + int nprint = 0; + PyObject *nprint_capi = Py_None; + int info = 0; + PyObject *info_capi = Py_None; + int nfev = 0; + PyObject *nfev_capi = Py_None; + float *fjac = NULL; + npy_intp fjac_Dims[2] = {-1, -1}; + const int fjac_Rank = 2; + PyArrayObject *capi_fjac_tmp = NULL; + int capi_fjac_intent = 0; + PyObject *fjac_capi = Py_None; + int ldfjac = 0; + PyObject *ldfjac_capi = Py_None; + int *ipvt = NULL; + npy_intp ipvt_Dims[1] = {-1}; + const int ipvt_Rank = 1; + PyArrayObject *capi_ipvt_tmp = NULL; + int capi_ipvt_intent = 0; + PyObject *ipvt_capi = Py_None; + float *qtf = NULL; + npy_intp qtf_Dims[1] = {-1}; + const int qtf_Rank = 1; + PyArrayObject *capi_qtf_tmp = NULL; + int capi_qtf_intent = 0; + PyObject *qtf_capi = Py_None; + float *wa1 = NULL; + npy_intp wa1_Dims[1] = {-1}; + const int wa1_Rank = 1; + PyArrayObject *capi_wa1_tmp = NULL; + int capi_wa1_intent = 0; + PyObject *wa1_capi = Py_None; + float *wa2 = NULL; + npy_intp wa2_Dims[1] = {-1}; + const int wa2_Rank = 1; + PyArrayObject *capi_wa2_tmp = NULL; + int capi_wa2_intent = 0; + PyObject *wa2_capi = Py_None; + float *wa3 = NULL; + npy_intp wa3_Dims[1] = {-1}; + const int wa3_Rank = 1; + PyArrayObject *capi_wa3_tmp = NULL; + int capi_wa3_intent = 0; + PyObject *wa3_capi = Py_None; + float *wa4 = NULL; + npy_intp wa4_Dims[1] = {-1}; + const int wa4_Rank = 1; + PyArrayObject *capi_wa4_tmp = NULL; + int capi_wa4_intent = 0; + PyObject *wa4_capi = Py_None; + static char *capi_kwlist[] = {"fcn","x","fvec","ftol","xtol","gtol","maxfev","epsfcn","diag","mode","factor","nprint","info","nfev","fjac","ipvt","qtf","wa1","wa2","wa3","wa4","m","n","ldfjac","fcn_extra_args",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOOOOOOOOOOOOOOOOOO|OOOO!:fitacf_fit_short.lmdif",\ + capi_kwlist,&fcn_capi,&x_capi,&fvec_capi,&ftol_capi,&xtol_capi,>ol_capi,&maxfev_capi,&epsfcn_capi,&diag_capi,&mode_capi,&factor_capi,&nprint_capi,&info_capi,&nfev_capi,&fjac_capi,&ipvt_capi,&qtf_capi,&wa1_capi,&wa2_capi,&wa3_capi,&wa4_capi,&m_capi,&n_capi,&ldfjac_capi,&PyTuple_Type,&fcn_xa_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable fcn */ +if(F2PyCapsule_Check(fcn_capi)) { + fcn_cptr = F2PyCapsule_AsVoidPtr(fcn_capi); +} else { + fcn_cptr = cb_fcn_in_lmdif__user__routines; +} + + fcn_nofargs_capi = cb_fcn_in_lmdif__user__routines_nofargs; + if (create_cb_arglist(fcn_capi,fcn_xa_capi,5,2,&cb_fcn_in_lmdif__user__routines_nofargs,&fcn_args_capi,"failed in processing argument list for call-back fcn.")) { + jmp_buf fcn_jmpbuf; + CFUNCSMESS("Saving jmpbuf for `fcn`.\n"); + SWAP(fcn_capi,cb_fcn_in_lmdif__user__routines_capi,PyObject); + SWAP(fcn_args_capi,cb_fcn_in_lmdif__user__routines_args_capi,PyTupleObject); + memcpy(&fcn_jmpbuf,&cb_fcn_in_lmdif__user__routines_jmpbuf,sizeof(jmp_buf)); + /* Processing variable x */ + ; + capi_x_intent |= F2PY_INTENT_IN; + capi_x_tmp = array_from_pyobj(NPY_FLOAT,x_Dims,x_Rank,capi_x_intent,x_capi); + if (capi_x_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 2nd argument `x' of fitacf_fit_short.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + x = (float *)(PyArray_DATA(capi_x_tmp)); + + /* Processing variable fvec */ + ; + capi_fvec_intent |= F2PY_INTENT_IN; + capi_fvec_tmp = array_from_pyobj(NPY_FLOAT,fvec_Dims,fvec_Rank,capi_fvec_intent,fvec_capi); + if (capi_fvec_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 3rd argument `fvec' of fitacf_fit_short.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + fvec = (float *)(PyArray_DATA(capi_fvec_tmp)); + + /* Processing variable ftol */ + f2py_success = float_from_pyobj(&ftol,ftol_capi,"fitacf_fit_short.lmdif() 4th argument (ftol) can't be converted to float"); + if (f2py_success) { + /* Processing variable xtol */ + f2py_success = float_from_pyobj(&xtol,xtol_capi,"fitacf_fit_short.lmdif() 5th argument (xtol) can't be converted to float"); + if (f2py_success) { + /* Processing variable gtol */ + f2py_success = float_from_pyobj(>ol,gtol_capi,"fitacf_fit_short.lmdif() 6th argument (gtol) can't be converted to float"); + if (f2py_success) { + /* Processing variable maxfev */ + f2py_success = int_from_pyobj(&maxfev,maxfev_capi,"fitacf_fit_short.lmdif() 7th argument (maxfev) can't be converted to int"); + if (f2py_success) { + /* Processing variable epsfcn */ + f2py_success = float_from_pyobj(&epsfcn,epsfcn_capi,"fitacf_fit_short.lmdif() 8th argument (epsfcn) can't be converted to float"); + if (f2py_success) { + /* Processing variable mode */ + f2py_success = int_from_pyobj(&mode,mode_capi,"fitacf_fit_short.lmdif() 10th argument (mode) can't be converted to int"); + if (f2py_success) { + /* Processing variable factor */ + f2py_success = float_from_pyobj(&factor,factor_capi,"fitacf_fit_short.lmdif() 11st argument (factor) can't be converted to float"); + if (f2py_success) { + /* Processing variable nprint */ + f2py_success = int_from_pyobj(&nprint,nprint_capi,"fitacf_fit_short.lmdif() 12nd argument (nprint) can't be converted to int"); + if (f2py_success) { + /* Processing variable info */ + f2py_success = int_from_pyobj(&info,info_capi,"fitacf_fit_short.lmdif() 13rd argument (info) can't be converted to int"); + if (f2py_success) { + /* Processing variable nfev */ + f2py_success = int_from_pyobj(&nfev,nfev_capi,"fitacf_fit_short.lmdif() 14th argument (nfev) can't be converted to int"); + if (f2py_success) { + /* Processing variable m */ + if (m_capi == Py_None) m = len(fvec); else + f2py_success = int_from_pyobj(&m,m_capi,"fitacf_fit_short.lmdif() 1st keyword (m) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(fvec)>=m,"len(fvec)>=m","1st keyword m","lmdif:m=%d",m) { + /* Processing variable n */ + if (n_capi == Py_None) n = len(x); else + f2py_success = int_from_pyobj(&n,n_capi,"fitacf_fit_short.lmdif() 2nd keyword (n) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(x)>=n,"len(x)>=n","2nd keyword n","lmdif:n=%d",n) { + /* Processing variable diag */ + diag_Dims[0]=n; + capi_diag_intent |= F2PY_INTENT_IN; + capi_diag_tmp = array_from_pyobj(NPY_FLOAT,diag_Dims,diag_Rank,capi_diag_intent,diag_capi); + if (capi_diag_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 9th argument `diag' of fitacf_fit_short.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + diag = (float *)(PyArray_DATA(capi_diag_tmp)); + + /* Processing variable fjac */ + fjac_Dims[1]=n; + capi_fjac_intent |= F2PY_INTENT_IN; + capi_fjac_tmp = array_from_pyobj(NPY_FLOAT,fjac_Dims,fjac_Rank,capi_fjac_intent,fjac_capi); + if (capi_fjac_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 15th argument `fjac' of fitacf_fit_short.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + fjac = (float *)(PyArray_DATA(capi_fjac_tmp)); + + /* Processing variable ldfjac */ + if (ldfjac_capi == Py_None) ldfjac = shape(fjac,0); else + f2py_success = int_from_pyobj(&ldfjac,ldfjac_capi,"fitacf_fit_short.lmdif() 3rd keyword (ldfjac) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(shape(fjac,0)==ldfjac,"shape(fjac,0)==ldfjac","3rd keyword ldfjac","lmdif:ldfjac=%d",ldfjac) { + /* Processing variable ipvt */ + ipvt_Dims[0]=n; + capi_ipvt_intent |= F2PY_INTENT_IN; + capi_ipvt_tmp = array_from_pyobj(NPY_INT,ipvt_Dims,ipvt_Rank,capi_ipvt_intent,ipvt_capi); + if (capi_ipvt_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 16th argument `ipvt' of fitacf_fit_short.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + ipvt = (int *)(PyArray_DATA(capi_ipvt_tmp)); + + /* Processing variable qtf */ + qtf_Dims[0]=n; + capi_qtf_intent |= F2PY_INTENT_IN; + capi_qtf_tmp = array_from_pyobj(NPY_FLOAT,qtf_Dims,qtf_Rank,capi_qtf_intent,qtf_capi); + if (capi_qtf_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 17th argument `qtf' of fitacf_fit_short.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + qtf = (float *)(PyArray_DATA(capi_qtf_tmp)); + + /* Processing variable wa1 */ + wa1_Dims[0]=n; + capi_wa1_intent |= F2PY_INTENT_IN; + capi_wa1_tmp = array_from_pyobj(NPY_FLOAT,wa1_Dims,wa1_Rank,capi_wa1_intent,wa1_capi); + if (capi_wa1_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 18th argument `wa1' of fitacf_fit_short.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa1 = (float *)(PyArray_DATA(capi_wa1_tmp)); + + /* Processing variable wa2 */ + wa2_Dims[0]=n; + capi_wa2_intent |= F2PY_INTENT_IN; + capi_wa2_tmp = array_from_pyobj(NPY_FLOAT,wa2_Dims,wa2_Rank,capi_wa2_intent,wa2_capi); + if (capi_wa2_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 19th argument `wa2' of fitacf_fit_short.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa2 = (float *)(PyArray_DATA(capi_wa2_tmp)); + + /* Processing variable wa3 */ + wa3_Dims[0]=n; + capi_wa3_intent |= F2PY_INTENT_IN; + capi_wa3_tmp = array_from_pyobj(NPY_FLOAT,wa3_Dims,wa3_Rank,capi_wa3_intent,wa3_capi); + if (capi_wa3_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 20th argument `wa3' of fitacf_fit_short.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa3 = (float *)(PyArray_DATA(capi_wa3_tmp)); + + /* Processing variable wa4 */ + wa4_Dims[0]=m; + capi_wa4_intent |= F2PY_INTENT_IN; + capi_wa4_tmp = array_from_pyobj(NPY_FLOAT,wa4_Dims,wa4_Rank,capi_wa4_intent,wa4_capi); + if (capi_wa4_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_fit_short_error,"failed in converting 21st argument `wa4' of fitacf_fit_short.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa4 = (float *)(PyArray_DATA(capi_wa4_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + if ((setjmp(cb_fcn_in_lmdif__user__routines_jmpbuf))) { + f2py_success = 0; + } else { + (*f2py_func)(fcn_cptr,&m,&n,x,fvec,&ftol,&xtol,>ol,&maxfev,&epsfcn,diag,&mode,&factor,&nprint,&info,&nfev,fjac,&ldfjac,ipvt,qtf,wa1,wa2,wa3,wa4); + } +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + if((PyObject *)capi_wa4_tmp!=wa4_capi) { + Py_XDECREF(capi_wa4_tmp); } + } /*if (capi_wa4_tmp == NULL) ... else of wa4*/ + /* End of cleaning variable wa4 */ + if((PyObject *)capi_wa3_tmp!=wa3_capi) { + Py_XDECREF(capi_wa3_tmp); } + } /*if (capi_wa3_tmp == NULL) ... else of wa3*/ + /* End of cleaning variable wa3 */ + if((PyObject *)capi_wa2_tmp!=wa2_capi) { + Py_XDECREF(capi_wa2_tmp); } + } /*if (capi_wa2_tmp == NULL) ... else of wa2*/ + /* End of cleaning variable wa2 */ + if((PyObject *)capi_wa1_tmp!=wa1_capi) { + Py_XDECREF(capi_wa1_tmp); } + } /*if (capi_wa1_tmp == NULL) ... else of wa1*/ + /* End of cleaning variable wa1 */ + if((PyObject *)capi_qtf_tmp!=qtf_capi) { + Py_XDECREF(capi_qtf_tmp); } + } /*if (capi_qtf_tmp == NULL) ... else of qtf*/ + /* End of cleaning variable qtf */ + if((PyObject *)capi_ipvt_tmp!=ipvt_capi) { + Py_XDECREF(capi_ipvt_tmp); } + } /*if (capi_ipvt_tmp == NULL) ... else of ipvt*/ + /* End of cleaning variable ipvt */ + } /*CHECKSCALAR(shape(fjac,0)==ldfjac)*/ + } /*if (f2py_success) of ldfjac*/ + /* End of cleaning variable ldfjac */ + if((PyObject *)capi_fjac_tmp!=fjac_capi) { + Py_XDECREF(capi_fjac_tmp); } + } /*if (capi_fjac_tmp == NULL) ... else of fjac*/ + /* End of cleaning variable fjac */ + if((PyObject *)capi_diag_tmp!=diag_capi) { + Py_XDECREF(capi_diag_tmp); } + } /*if (capi_diag_tmp == NULL) ... else of diag*/ + /* End of cleaning variable diag */ + } /*CHECKSCALAR(len(x)>=n)*/ + } /*if (f2py_success) of n*/ + /* End of cleaning variable n */ + } /*CHECKSCALAR(len(fvec)>=m)*/ + } /*if (f2py_success) of m*/ + /* End of cleaning variable m */ + } /*if (f2py_success) of nfev*/ + /* End of cleaning variable nfev */ + } /*if (f2py_success) of info*/ + /* End of cleaning variable info */ + } /*if (f2py_success) of nprint*/ + /* End of cleaning variable nprint */ + } /*if (f2py_success) of factor*/ + /* End of cleaning variable factor */ + } /*if (f2py_success) of mode*/ + /* End of cleaning variable mode */ + } /*if (f2py_success) of epsfcn*/ + /* End of cleaning variable epsfcn */ + } /*if (f2py_success) of maxfev*/ + /* End of cleaning variable maxfev */ + } /*if (f2py_success) of gtol*/ + /* End of cleaning variable gtol */ + } /*if (f2py_success) of xtol*/ + /* End of cleaning variable xtol */ + } /*if (f2py_success) of ftol*/ + /* End of cleaning variable ftol */ + if((PyObject *)capi_fvec_tmp!=fvec_capi) { + Py_XDECREF(capi_fvec_tmp); } + } /*if (capi_fvec_tmp == NULL) ... else of fvec*/ + /* End of cleaning variable fvec */ + if((PyObject *)capi_x_tmp!=x_capi) { + Py_XDECREF(capi_x_tmp); } + } /*if (capi_x_tmp == NULL) ... else of x*/ + /* End of cleaning variable x */ + CFUNCSMESS("Restoring jmpbuf for `fcn`.\n"); + cb_fcn_in_lmdif__user__routines_capi = fcn_capi; + Py_DECREF(cb_fcn_in_lmdif__user__routines_args_capi); + cb_fcn_in_lmdif__user__routines_args_capi = fcn_args_capi; + cb_fcn_in_lmdif__user__routines_nofargs = fcn_nofargs_capi; + memcpy(&cb_fcn_in_lmdif__user__routines_jmpbuf,&fcn_jmpbuf,sizeof(jmp_buf)); + } + /* End of cleaning variable fcn */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of lmdif ********************************/ + +/*********************************** spmpar ***********************************/ +static char doc_f2py_rout_fitacf_fit_short_spmpar[] = "\ +spmpar = spmpar(i)\n\nWrapper for ``spmpar``.\ +\n\nParameters\n----------\n" +"i : input int\n" +"\nReturns\n-------\n" +"spmpar : float"; +/* extern void F_WRAPPEDFUNC(spmpar,SPMPAR)(float*,int*); */ +static PyObject *f2py_rout_fitacf_fit_short_spmpar(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,int*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float spmpar = 0; + int i = 0; + PyObject *i_capi = Py_None; + static char *capi_kwlist[] = {"i",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "O|:fitacf_fit_short.spmpar",\ + capi_kwlist,&i_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable i */ + f2py_success = int_from_pyobj(&i,i_capi,"fitacf_fit_short.spmpar() 1st argument (i) can't be converted to int"); + if (f2py_success) { + /* Processing variable spmpar */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&spmpar,&i); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",spmpar); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable spmpar */ + } /*if (f2py_success) of i*/ + /* End of cleaning variable i */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of spmpar *******************************/ +/*eof body*/ + +/******************* See f2py2e/f90mod_rules.py: buildhooks *******************/ +/*need_f90modhooks*/ + +/************** See f2py2e/rules.py: module_rules['modulebody'] **************/ + +/******************* See f2py2e/common_rules.py: buildhooks *******************/ + +static FortranDataDef f2py_spec_def[] = { + {"te",0,{{-1}},NPY_FLOAT}, + {"ti",1,{{10}},NPY_FLOAT}, + {"fi",1,{{10}},NPY_FLOAT}, + {"ven",0,{{-1}},NPY_FLOAT}, + {"vin",1,{{10}},NPY_FLOAT}, + {"alpha",0,{{-1}},NPY_FLOAT}, + {"dens",0,{{-1}},NPY_FLOAT}, + {"bfld",0,{{-1}},NPY_FLOAT}, + {"nion",0,{{-1}},NPY_INT}, + {"wi",1,{{10}},NPY_INT}, + {"ak",0,{{-1}},NPY_FLOAT}, + {NULL} +}; +static void f2py_setup_spec(char *te,char *ti,char *fi,char *ven,char *vin,char *alpha,char *dens,char *bfld,char *nion,char *wi,char *ak) { + int i_f2py=0; + f2py_spec_def[i_f2py++].data = te; + f2py_spec_def[i_f2py++].data = ti; + f2py_spec_def[i_f2py++].data = fi; + f2py_spec_def[i_f2py++].data = ven; + f2py_spec_def[i_f2py++].data = vin; + f2py_spec_def[i_f2py++].data = alpha; + f2py_spec_def[i_f2py++].data = dens; + f2py_spec_def[i_f2py++].data = bfld; + f2py_spec_def[i_f2py++].data = nion; + f2py_spec_def[i_f2py++].data = wi; + f2py_spec_def[i_f2py++].data = ak; +} +extern void F_FUNC(f2pyinitspec,F2PYINITSPEC)(void(*)(char*,char*,char*,char*,char*,char*,char*,char*,char*,char*,char*)); +static void f2py_init_spec(void) { + F_FUNC(f2pyinitspec,F2PYINITSPEC)(f2py_setup_spec); +} + +static FortranDataDef f2py_mode_def[] = { + {"imode",0,{{-1}},NPY_INT}, + {NULL} +}; +static void f2py_setup_mode(char *imode) { + int i_f2py=0; + f2py_mode_def[i_f2py++].data = imode; +} +extern void F_FUNC(f2pyinitmode,F2PYINITMODE)(void(*)(char*)); +static void f2py_init_mode(void) { + F_FUNC(f2pyinitmode,F2PYINITMODE)(f2py_setup_mode); +} + +static FortranDataDef f2py_fitter_def[] = { + {"tau",1,{{100}},NPY_FLOAT}, + {"rho",1,{{100}},NPY_FLOAT}, + {"sigma2",1,{{100}},NPY_FLOAT}, + {"params",1,{{10}},NPY_FLOAT}, + {"ifit",1,{{10}},NPY_INT}, + {NULL} +}; +static void f2py_setup_fitter(char *tau,char *rho,char *sigma2,char *params,char *ifit) { + int i_f2py=0; + f2py_fitter_def[i_f2py++].data = tau; + f2py_fitter_def[i_f2py++].data = rho; + f2py_fitter_def[i_f2py++].data = sigma2; + f2py_fitter_def[i_f2py++].data = params; + f2py_fitter_def[i_f2py++].data = ifit; +} +extern void F_FUNC(f2pyinitfitter,F2PYINITFITTER)(void(*)(char*,char*,char*,char*,char*)); +static void f2py_init_fitter(void) { + F_FUNC(f2pyinitfitter,F2PYINITFITTER)(f2py_setup_fitter); +} + +static FortranDataDef f2py_trans_def[] = { + {"ev",1,{{10000}},NPY_FLOAT}, + {NULL} +}; +static void f2py_setup_trans(char *ev) { + int i_f2py=0; + f2py_trans_def[i_f2py++].data = ev; +} +extern void F_FUNC(f2pyinittrans,F2PYINITTRANS)(void(*)(char*)); +static void f2py_init_trans(void) { + F_FUNC(f2pyinittrans,F2PYINITTRANS)(f2py_setup_trans); +} + +/*need_commonhooks*/ + +/**************************** See f2py2e/rules.py ****************************/ + +static FortranDataDef f2py_routine_defs[] = { + {"fit",-1,{{-1}},0,(char *)F_FUNC(fit,FIT),(f2py_init_func)f2py_rout_fitacf_fit_short_fit,doc_f2py_rout_fitacf_fit_short_fit}, + {"spect1",-1,{{-1}},0,(char *)F_WRAPPEDFUNC(spect1,SPECT1),(f2py_init_func)f2py_rout_fitacf_fit_short_spect1,doc_f2py_rout_fitacf_fit_short_spect1}, + {"gaussq",-1,{{-1}},0,(char *)F_FUNC(gaussq,GAUSSQ),(f2py_init_func)f2py_rout_fitacf_fit_short_gaussq,doc_f2py_rout_fitacf_fit_short_gaussq}, + {"lmdif1",-1,{{-1}},0,(char *)F_FUNC(lmdif1,LMDIF1),(f2py_init_func)f2py_rout_fitacf_fit_short_lmdif1,doc_f2py_rout_fitacf_fit_short_lmdif1}, + {"lmdif",-1,{{-1}},0,(char *)F_FUNC(lmdif,LMDIF),(f2py_init_func)f2py_rout_fitacf_fit_short_lmdif,doc_f2py_rout_fitacf_fit_short_lmdif}, + {"spmpar",-1,{{-1}},0,(char *)F_WRAPPEDFUNC(spmpar,SPMPAR),(f2py_init_func)f2py_rout_fitacf_fit_short_spmpar,doc_f2py_rout_fitacf_fit_short_spmpar}, + +/*eof routine_defs*/ + {NULL} +}; + +static PyMethodDef f2py_module_methods[] = { + + {NULL,NULL} +}; + +static struct PyModuleDef moduledef = { + PyModuleDef_HEAD_INIT, + "fitacf_fit_short", + NULL, + -1, + f2py_module_methods, + NULL, + NULL, + NULL, + NULL +}; + +PyMODINIT_FUNC PyInit_fitacf_fit_short(void) { + int i; + PyObject *m,*d, *s, *tmp; + m = fitacf_fit_short_module = PyModule_Create(&moduledef); + Py_SET_TYPE(&PyFortran_Type, &PyType_Type); + import_array(); + if (PyErr_Occurred()) + {PyErr_SetString(PyExc_ImportError, "can't initialize module fitacf_fit_short (failed to import numpy)"); return m;} + d = PyModule_GetDict(m); + s = PyString_FromString("$Revision: $"); + PyDict_SetItemString(d, "__version__", s); + Py_DECREF(s); + s = PyUnicode_FromString( + "This module 'fitacf_fit_short' is auto-generated with f2py (version:2).\nFunctions:\n" +" cinv,sigma2p,paramp,ebp,ist = fit(wl,taup,rhop,covar,cinv,sigma2p,paramp,bfldp,alphap,densp,alt,time,ifitp,ist,nl=len(taup))\n" +" spect1 = spect1(omega)\n" +" gaussq(tau,acf)\n" +" lmdif1(fcn,x,fvec,tol,info,iwa,wa,m=len(fvec),n=len(x),lwa=len(wa),fcn_extra_args=())\n" +" lmdif(fcn,x,fvec,ftol,xtol,gtol,maxfev,epsfcn,diag,mode,factor,nprint,info,nfev,fjac,ipvt,qtf,wa1,wa2,wa3,wa4,m=len(fvec),n=len(x),ldfjac=shape(fjac,0),fcn_extra_args=())\n" +" spmpar = spmpar(i)\n" +"COMMON blocks:\n"" /spec/ te,ti(10),fi(10),ven,vin(10),alpha,dens,bfld,nion,wi(10),ak\n"" /mode/ imode\n"" /fitter/ tau(100),rho(100),sigma2(100),params(10),ifit(10)\n"" /trans/ ev(10000)\n""."); + PyDict_SetItemString(d, "__doc__", s); + Py_DECREF(s); + fitacf_fit_short_error = PyErr_NewException ("fitacf_fit_short.error", NULL, NULL); + /* + * Store the error object inside the dict, so that it could get deallocated. + * (in practice, this is a module, so it likely will not and cannot.) + */ + PyDict_SetItemString(d, "_fitacf_fit_short_error", fitacf_fit_short_error); + Py_DECREF(fitacf_fit_short_error); + for(i=0;f2py_routine_defs[i].name!=NULL;i++) { + tmp = PyFortranObject_NewAsAttr(&f2py_routine_defs[i]); + PyDict_SetItemString(d, f2py_routine_defs[i].name, tmp); + Py_DECREF(tmp); + } + + + { + extern float F_FUNC(spect1,SPECT1)(void); + PyObject* o = PyDict_GetItemString(d,"spect1"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC(spect1,SPECT1),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("spect1"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + + + + + { + extern float F_FUNC(spmpar,SPMPAR)(void); + PyObject* o = PyDict_GetItemString(d,"spmpar"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC(spmpar,SPMPAR),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("spmpar"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + +/*eof initf2pywraphooks*/ +/*eof initf90modhooks*/ + + tmp = PyFortranObject_New(f2py_spec_def,f2py_init_spec); + F2PyDict_SetItemString(d, "spec", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_mode_def,f2py_init_mode); + F2PyDict_SetItemString(d, "mode", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_fitter_def,f2py_init_fitter); + F2PyDict_SetItemString(d, "fitter", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_trans_def,f2py_init_trans); + F2PyDict_SetItemString(d, "trans", tmp); + Py_DECREF(tmp); +/*eof initcommonhooks*/ + + +#ifdef F2PY_REPORT_ATEXIT + if (! PyErr_Occurred()) + on_exit(f2py_report_on_exit,(void*)"fitacf_fit_short"); +#endif + return m; +} +#ifdef __cplusplus +} +#endif diff --git a/schainf/Ffiles/fitacf_guess-f2pywrappers.f b/schainf/Ffiles/fitacf_guess-f2pywrappers.f new file mode 100644 index 0000000..1bf510a --- /dev/null +++ b/schainf/Ffiles/fitacf_guess-f2pywrappers.f @@ -0,0 +1,20 @@ +C -*- fortran -*- +C This file is autogenerated with f2py (version:2) +C It contains Fortran 77 wrappers to fortran functions. + + subroutine f2pywrapcdtr1 (cdtr1f2pywrap, depth) + external cdtr1 + real depth + real cdtr1f2pywrap, cdtr1 + cdtr1f2pywrap = cdtr1(depth) + end + + + subroutine f2pywrapczte1 (czte1f2pywrap, zlag, tr) + external czte1 + real zlag + real tr + real czte1f2pywrap, czte1 + czte1f2pywrap = czte1(zlag, tr) + end + diff --git a/schainf/Ffiles/fitacf_guessmodule.c b/schainf/Ffiles/fitacf_guessmodule.c new file mode 100644 index 0000000..7e9f74e --- /dev/null +++ b/schainf/Ffiles/fitacf_guessmodule.c @@ -0,0 +1,871 @@ +/* File: fitacf_guessmodule.c + * This file is auto-generated with f2py (version:2). + * f2py is a Fortran to Python Interface Generator (FPIG), Second Edition, + * written by Pearu Peterson . + * Generation date: Wed Jan 8 13:23:37 2025 + * Do not edit this file directly unless you know what you are doing!!! + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/*********************** See f2py2e/cfuncs.py: includes ***********************/ +#include "Python.h" +#include +#include "fortranobject.h" +#include + +/**************** See f2py2e/rules.py: mod_rules['modulebody'] ****************/ +static PyObject *fitacf_guess_error; +static PyObject *fitacf_guess_module; + +/*********************** See f2py2e/cfuncs.py: typedefs ***********************/ +/*need_typedefs*/ + +/****************** See f2py2e/cfuncs.py: typedefs_generated ******************/ +/*need_typedefs_generated*/ + +/********************** See f2py2e/cfuncs.py: cppmacros **********************/ +#define PRINTPYOBJERR(obj)\ + fprintf(stderr,"fitacf_guess.error is related to ");\ + PyObject_Print((PyObject *)obj,stderr,Py_PRINT_RAW);\ + fprintf(stderr,"\n"); + +#define pyobj_from_float1(v) (PyFloat_FromDouble(v)) +#if defined(PREPEND_FORTRAN) +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) _##F +#else +#define F_FUNC(f,F) _##f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) _##F##_ +#else +#define F_FUNC(f,F) _##f##_ +#endif +#endif +#else +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) F +#else +#define F_FUNC(f,F) f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) F##_ +#else +#define F_FUNC(f,F) f##_ +#endif +#endif +#endif +#if defined(UNDERSCORE_G77) +#define F_FUNC_US(f,F) F_FUNC(f##_,F##_) +#else +#define F_FUNC_US(f,F) F_FUNC(f,F) +#endif + +#define rank(var) var ## _Rank +#define shape(var,dim) var ## _Dims[dim] +#define old_rank(var) (PyArray_NDIM((PyArrayObject *)(capi_ ## var ## _tmp))) +#define old_shape(var,dim) PyArray_DIM(((PyArrayObject *)(capi_ ## var ## _tmp)),dim) +#define fshape(var,dim) shape(var,rank(var)-dim-1) +#define len(var) shape(var,0) +#define flen(var) fshape(var,0) +#define old_size(var) PyArray_SIZE((PyArrayObject *)(capi_ ## var ## _tmp)) +/* #define index(i) capi_i ## i */ +#define slen(var) capi_ ## var ## _len +#define size(var, ...) f2py_size((PyArrayObject *)(capi_ ## var ## _tmp), ## __VA_ARGS__, -1) + +#define CHECKSCALAR(check,tcheck,name,show,var)\ + if (!(check)) {\ + char errstring[256];\ + sprintf(errstring, "%s: "show, "("tcheck") failed for "name, var);\ + PyErr_SetString(fitacf_guess_error,errstring);\ + /*goto capi_fail;*/\ + } else +#ifdef DEBUGCFUNCS +#define CFUNCSMESS(mess) fprintf(stderr,"debug-capi:"mess); +#define CFUNCSMESSPY(mess,obj) CFUNCSMESS(mess) \ + PyObject_Print((PyObject *)obj,stderr,Py_PRINT_RAW);\ + fprintf(stderr,"\n"); +#else +#define CFUNCSMESS(mess) +#define CFUNCSMESSPY(mess,obj) +#endif + +#ifndef max +#define max(a,b) ((a > b) ? (a) : (b)) +#endif +#ifndef min +#define min(a,b) ((a < b) ? (a) : (b)) +#endif +#ifndef MAX +#define MAX(a,b) ((a > b) ? (a) : (b)) +#endif +#ifndef MIN +#define MIN(a,b) ((a < b) ? (a) : (b)) +#endif + +#if defined(PREPEND_FORTRAN) +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) _F2PYWRAP##F +#else +#define F_WRAPPEDFUNC(f,F) _f2pywrap##f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) _F2PYWRAP##F##_ +#else +#define F_WRAPPEDFUNC(f,F) _f2pywrap##f##_ +#endif +#endif +#else +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) F2PYWRAP##F +#else +#define F_WRAPPEDFUNC(f,F) f2pywrap##f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) F2PYWRAP##F##_ +#else +#define F_WRAPPEDFUNC(f,F) f2pywrap##f##_ +#endif +#endif +#endif +#if defined(UNDERSCORE_G77) +#define F_WRAPPEDFUNC_US(f,F) F_WRAPPEDFUNC(f##_,F##_) +#else +#define F_WRAPPEDFUNC_US(f,F) F_WRAPPEDFUNC(f,F) +#endif + +/* New SciPy */ +#define TRYPYARRAYTEMPLATECHAR case NPY_STRING: *(char *)(PyArray_DATA(arr))=*v; break; +#define TRYPYARRAYTEMPLATELONG case NPY_LONG: *(long *)(PyArray_DATA(arr))=*v; break; +#define TRYPYARRAYTEMPLATEOBJECT case NPY_OBJECT: PyArray_SETITEM(arr,PyArray_DATA(arr),pyobj_from_ ## ctype ## 1(*v)); break; + +#define TRYPYARRAYTEMPLATE(ctype,typecode) \ + PyArrayObject *arr = NULL;\ + if (!obj) return -2;\ + if (!PyArray_Check(obj)) return -1;\ + if (!(arr=(PyArrayObject *)obj)) {fprintf(stderr,"TRYPYARRAYTEMPLATE:");PRINTPYOBJERR(obj);return 0;}\ + if (PyArray_DESCR(arr)->type==typecode) {*(ctype *)(PyArray_DATA(arr))=*v; return 1;}\ + switch (PyArray_TYPE(arr)) {\ + case NPY_DOUBLE: *(double *)(PyArray_DATA(arr))=*v; break;\ + case NPY_INT: *(int *)(PyArray_DATA(arr))=*v; break;\ + case NPY_LONG: *(long *)(PyArray_DATA(arr))=*v; break;\ + case NPY_FLOAT: *(float *)(PyArray_DATA(arr))=*v; break;\ + case NPY_CDOUBLE: *(double *)(PyArray_DATA(arr))=*v; break;\ + case NPY_CFLOAT: *(float *)(PyArray_DATA(arr))=*v; break;\ + case NPY_BOOL: *(npy_bool *)(PyArray_DATA(arr))=(*v!=0); break;\ + case NPY_UBYTE: *(unsigned char *)(PyArray_DATA(arr))=*v; break;\ + case NPY_BYTE: *(signed char *)(PyArray_DATA(arr))=*v; break;\ + case NPY_SHORT: *(short *)(PyArray_DATA(arr))=*v; break;\ + case NPY_USHORT: *(npy_ushort *)(PyArray_DATA(arr))=*v; break;\ + case NPY_UINT: *(npy_uint *)(PyArray_DATA(arr))=*v; break;\ + case NPY_ULONG: *(npy_ulong *)(PyArray_DATA(arr))=*v; break;\ + case NPY_LONGLONG: *(npy_longlong *)(PyArray_DATA(arr))=*v; break;\ + case NPY_ULONGLONG: *(npy_ulonglong *)(PyArray_DATA(arr))=*v; break;\ + case NPY_LONGDOUBLE: *(npy_longdouble *)(PyArray_DATA(arr))=*v; break;\ + case NPY_CLONGDOUBLE: *(npy_longdouble *)(PyArray_DATA(arr))=*v; break;\ + case NPY_OBJECT: PyArray_SETITEM(arr, PyArray_DATA(arr), pyobj_from_ ## ctype ## 1(*v)); break;\ + default: return -2;\ + };\ + return 1 + + +/************************ See f2py2e/cfuncs.py: cfuncs ************************/ +static int double_from_pyobj(double* v,PyObject *obj,const char *errmess) { + PyObject* tmp = NULL; + if (PyFloat_Check(obj)) { +#ifdef __sgi + *v = PyFloat_AsDouble(obj); +#else + *v = PyFloat_AS_DOUBLE(obj); +#endif + return 1; + } + tmp = PyNumber_Float(obj); + if (tmp) { +#ifdef __sgi + *v = PyFloat_AsDouble(tmp); +#else + *v = PyFloat_AS_DOUBLE(tmp); +#endif + Py_DECREF(tmp); + return 1; + } + if (PyComplex_Check(obj)) + tmp = PyObject_GetAttrString(obj,"real"); + else if (PyString_Check(obj) || PyUnicode_Check(obj)) + /*pass*/; + else if (PySequence_Check(obj)) + tmp = PySequence_GetItem(obj,0); + if (tmp) { + PyErr_Clear(); + if (double_from_pyobj(v,tmp,errmess)) {Py_DECREF(tmp); return 1;} + Py_DECREF(tmp); + } + { + PyObject* err = PyErr_Occurred(); + if (err==NULL) err = fitacf_guess_error; + PyErr_SetString(err,errmess); + } + return 0; +} + +static int f2py_size(PyArrayObject* var, ...) +{ + npy_int sz = 0; + npy_int dim; + npy_int rank; + va_list argp; + va_start(argp, var); + dim = va_arg(argp, npy_int); + if (dim==-1) + { + sz = PyArray_SIZE(var); + } + else + { + rank = PyArray_NDIM(var); + if (dim>=1 && dim<=rank) + sz = PyArray_DIM(var, dim-1); + else + fprintf(stderr, "f2py_size: 2nd argument value=%d fails to satisfy 1<=value<=%d. Result will be 0.\n", dim, rank); + } + va_end(argp); + return sz; +} + +static int try_pyarr_from_float(PyObject* obj,float* v) { + TRYPYARRAYTEMPLATE(float,'f'); +} + +static int float_from_pyobj(float* v,PyObject *obj,const char *errmess) { + double d=0.0; + if (double_from_pyobj(&d,obj,errmess)) { + *v = (float)d; + return 1; + } + return 0; +} + +static int int_from_pyobj(int* v,PyObject *obj,const char *errmess) { + PyObject* tmp = NULL; + if (PyInt_Check(obj)) { + *v = (int)PyInt_AS_LONG(obj); + return 1; + } + tmp = PyNumber_Int(obj); + if (tmp) { + *v = PyInt_AS_LONG(tmp); + Py_DECREF(tmp); + return 1; + } + if (PyComplex_Check(obj)) + tmp = PyObject_GetAttrString(obj,"real"); + else if (PyString_Check(obj) || PyUnicode_Check(obj)) + /*pass*/; + else if (PySequence_Check(obj)) + tmp = PySequence_GetItem(obj,0); + if (tmp) { + PyErr_Clear(); + if (int_from_pyobj(v,tmp,errmess)) {Py_DECREF(tmp); return 1;} + Py_DECREF(tmp); + } + { + PyObject* err = PyErr_Occurred(); + if (err==NULL) err = fitacf_guess_error; + PyErr_SetString(err,errmess); + } + return 0; +} + + +/********************* See f2py2e/cfuncs.py: userincludes *********************/ +/*need_userincludes*/ + +/********************* See f2py2e/capi_rules.py: usercode *********************/ + + +/* See f2py2e/rules.py */ +extern void F_FUNC(guess,GUESS)(float*,float*,int*,float*,float*,float*,float*); +extern void F_FUNC(parab1,PARAB1)(float*,float*,float*,float*,float*); +extern void F_WRAPPEDFUNC(cdtr1,CDTR1)(float*,float*); +extern void F_WRAPPEDFUNC(czte1,CZTE1)(float*,float*,float*); +/*eof externroutines*/ + +/******************** See f2py2e/capi_rules.py: usercode1 ********************/ + + +/******************* See f2py2e/cb_rules.py: buildcallback *******************/ +/*need_callbacks*/ + +/*********************** See f2py2e/rules.py: buildapi ***********************/ + +/*********************************** guess ***********************************/ +static char doc_f2py_rout_fitacf_guess_guess[] = "\ +guess(acf,tau,zero,amin,te,tr,[npts])\n\nWrapper for ``guess``.\ +\n\nParameters\n----------\n" +"acf : input rank-1 array('f') with bounds (npts)\n" +"tau : input rank-1 array('f') with bounds (npts)\n" +"zero : in/output rank-0 array(float,'f')\n" +"amin : in/output rank-0 array(float,'f')\n" +"te : in/output rank-0 array(float,'f')\n" +"tr : in/output rank-0 array(float,'f')\n" +"\nOther Parameters\n----------------\n" +"npts : input int, optional\n Default: len(acf)"; +/* extern void F_FUNC(guess,GUESS)(float*,float*,int*,float*,float*,float*,float*); */ +static PyObject *f2py_rout_fitacf_guess_guess(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*,int*,float*,float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float *acf = NULL; + npy_intp acf_Dims[1] = {-1}; + const int acf_Rank = 1; + PyArrayObject *capi_acf_tmp = NULL; + int capi_acf_intent = 0; + PyObject *acf_capi = Py_None; + float *tau = NULL; + npy_intp tau_Dims[1] = {-1}; + const int tau_Rank = 1; + PyArrayObject *capi_tau_tmp = NULL; + int capi_tau_intent = 0; + PyObject *tau_capi = Py_None; + int npts = 0; + PyObject *npts_capi = Py_None; + float zero = 0; + PyObject *zero_capi = Py_None; + float amin = 0; + PyObject *amin_capi = Py_None; + float te = 0; + PyObject *te_capi = Py_None; + float tr = 0; + PyObject *tr_capi = Py_None; + static char *capi_kwlist[] = {"acf","tau","zero","amin","te","tr","npts",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOOO|O:fitacf_guess.guess",\ + capi_kwlist,&acf_capi,&tau_capi,&zero_capi,&amin_capi,&te_capi,&tr_capi,&npts_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable acf */ + ; + capi_acf_intent |= F2PY_INTENT_IN; + capi_acf_tmp = array_from_pyobj(NPY_FLOAT,acf_Dims,acf_Rank,capi_acf_intent,acf_capi); + if (capi_acf_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_guess_error,"failed in converting 1st argument `acf' of fitacf_guess.guess to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + acf = (float *)(PyArray_DATA(capi_acf_tmp)); + + /* Processing variable zero */ + f2py_success = float_from_pyobj(&zero,zero_capi,"fitacf_guess.guess() 3rd argument (zero) can't be converted to float"); + if (f2py_success) { + /* Processing variable amin */ + f2py_success = float_from_pyobj(&amin,amin_capi,"fitacf_guess.guess() 4th argument (amin) can't be converted to float"); + if (f2py_success) { + /* Processing variable te */ + f2py_success = float_from_pyobj(&te,te_capi,"fitacf_guess.guess() 5th argument (te) can't be converted to float"); + if (f2py_success) { + /* Processing variable tr */ + f2py_success = float_from_pyobj(&tr,tr_capi,"fitacf_guess.guess() 6th argument (tr) can't be converted to float"); + if (f2py_success) { + /* Processing variable npts */ + if (npts_capi == Py_None) npts = len(acf); else + f2py_success = int_from_pyobj(&npts,npts_capi,"fitacf_guess.guess() 1st keyword (npts) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(acf)>=npts,"len(acf)>=npts","1st keyword npts","guess:npts=%d",npts) { + /* Processing variable tau */ + tau_Dims[0]=npts; + capi_tau_intent |= F2PY_INTENT_IN; + capi_tau_tmp = array_from_pyobj(NPY_FLOAT,tau_Dims,tau_Rank,capi_tau_intent,tau_capi); + if (capi_tau_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_guess_error,"failed in converting 2nd argument `tau' of fitacf_guess.guess to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + tau = (float *)(PyArray_DATA(capi_tau_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(acf,tau,&npts,&zero,&amin,&te,&tr); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ + f2py_success = try_pyarr_from_float(zero_capi,&zero); + if (f2py_success) { + f2py_success = try_pyarr_from_float(amin_capi,&amin); + if (f2py_success) { + f2py_success = try_pyarr_from_float(te_capi,&te); + if (f2py_success) { + f2py_success = try_pyarr_from_float(tr_capi,&tr); + if (f2py_success) { +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ + } /*if (f2py_success) of tr pyobjfrom*/ + } /*if (f2py_success) of te pyobjfrom*/ + } /*if (f2py_success) of amin pyobjfrom*/ + } /*if (f2py_success) of zero pyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + if((PyObject *)capi_tau_tmp!=tau_capi) { + Py_XDECREF(capi_tau_tmp); } + } /*if (capi_tau_tmp == NULL) ... else of tau*/ + /* End of cleaning variable tau */ + } /*CHECKSCALAR(len(acf)>=npts)*/ + } /*if (f2py_success) of npts*/ + /* End of cleaning variable npts */ + } /*if (f2py_success) of tr*/ + /* End of cleaning variable tr */ + } /*if (f2py_success) of te*/ + /* End of cleaning variable te */ + } /*if (f2py_success) of amin*/ + /* End of cleaning variable amin */ + } /*if (f2py_success) of zero*/ + /* End of cleaning variable zero */ + if((PyObject *)capi_acf_tmp!=acf_capi) { + Py_XDECREF(capi_acf_tmp); } + } /*if (capi_acf_tmp == NULL) ... else of acf*/ + /* End of cleaning variable acf */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of guess ********************************/ + +/*********************************** parab1 ***********************************/ +static char doc_f2py_rout_fitacf_guess_parab1[] = "\ +parab1(x,y,a,b,c)\n\nWrapper for ``parab1``.\ +\n\nParameters\n----------\n" +"x : input rank-1 array('f') with bounds (3)\n" +"y : input rank-1 array('f') with bounds (3)\n" +"a : input float\n" +"b : input float\n" +"c : input float"; +/* extern void F_FUNC(parab1,PARAB1)(float*,float*,float*,float*,float*); */ +static PyObject *f2py_rout_fitacf_guess_parab1(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*,float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float *x = NULL; + npy_intp x_Dims[1] = {-1}; + const int x_Rank = 1; + PyArrayObject *capi_x_tmp = NULL; + int capi_x_intent = 0; + PyObject *x_capi = Py_None; + float *y = NULL; + npy_intp y_Dims[1] = {-1}; + const int y_Rank = 1; + PyArrayObject *capi_y_tmp = NULL; + int capi_y_intent = 0; + PyObject *y_capi = Py_None; + float a = 0; + PyObject *a_capi = Py_None; + float b = 0; + PyObject *b_capi = Py_None; + float c = 0; + PyObject *c_capi = Py_None; + static char *capi_kwlist[] = {"x","y","a","b","c",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOO|:fitacf_guess.parab1",\ + capi_kwlist,&x_capi,&y_capi,&a_capi,&b_capi,&c_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable x */ + x_Dims[0]=3; + capi_x_intent |= F2PY_INTENT_IN; + capi_x_tmp = array_from_pyobj(NPY_FLOAT,x_Dims,x_Rank,capi_x_intent,x_capi); + if (capi_x_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_guess_error,"failed in converting 1st argument `x' of fitacf_guess.parab1 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + x = (float *)(PyArray_DATA(capi_x_tmp)); + + /* Processing variable y */ + y_Dims[0]=3; + capi_y_intent |= F2PY_INTENT_IN; + capi_y_tmp = array_from_pyobj(NPY_FLOAT,y_Dims,y_Rank,capi_y_intent,y_capi); + if (capi_y_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : fitacf_guess_error,"failed in converting 2nd argument `y' of fitacf_guess.parab1 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + y = (float *)(PyArray_DATA(capi_y_tmp)); + + /* Processing variable a */ + f2py_success = float_from_pyobj(&a,a_capi,"fitacf_guess.parab1() 3rd argument (a) can't be converted to float"); + if (f2py_success) { + /* Processing variable b */ + f2py_success = float_from_pyobj(&b,b_capi,"fitacf_guess.parab1() 4th argument (b) can't be converted to float"); + if (f2py_success) { + /* Processing variable c */ + f2py_success = float_from_pyobj(&c,c_capi,"fitacf_guess.parab1() 5th argument (c) can't be converted to float"); + if (f2py_success) { +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(x,y,&a,&b,&c); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + } /*if (f2py_success) of c*/ + /* End of cleaning variable c */ + } /*if (f2py_success) of b*/ + /* End of cleaning variable b */ + } /*if (f2py_success) of a*/ + /* End of cleaning variable a */ + if((PyObject *)capi_y_tmp!=y_capi) { + Py_XDECREF(capi_y_tmp); } + } /*if (capi_y_tmp == NULL) ... else of y*/ + /* End of cleaning variable y */ + if((PyObject *)capi_x_tmp!=x_capi) { + Py_XDECREF(capi_x_tmp); } + } /*if (capi_x_tmp == NULL) ... else of x*/ + /* End of cleaning variable x */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of parab1 *******************************/ + +/*********************************** cdtr1 ***********************************/ +static char doc_f2py_rout_fitacf_guess_cdtr1[] = "\ +cdtr1 = cdtr1(depth)\n\nWrapper for ``cdtr1``.\ +\n\nParameters\n----------\n" +"depth : input float\n" +"\nReturns\n-------\n" +"cdtr1 : float"; +/* extern void F_WRAPPEDFUNC(cdtr1,CDTR1)(float*,float*); */ +static PyObject *f2py_rout_fitacf_guess_cdtr1(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float cdtr1 = 0; + float depth = 0; + PyObject *depth_capi = Py_None; + static char *capi_kwlist[] = {"depth",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "O|:fitacf_guess.cdtr1",\ + capi_kwlist,&depth_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable depth */ + f2py_success = float_from_pyobj(&depth,depth_capi,"fitacf_guess.cdtr1() 1st argument (depth) can't be converted to float"); + if (f2py_success) { + /* Processing variable cdtr1 */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&cdtr1,&depth); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",cdtr1); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable cdtr1 */ + } /*if (f2py_success) of depth*/ + /* End of cleaning variable depth */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of cdtr1 ********************************/ + +/*********************************** czte1 ***********************************/ +static char doc_f2py_rout_fitacf_guess_czte1[] = "\ +czte1 = czte1(zlag,tr)\n\nWrapper for ``czte1``.\ +\n\nParameters\n----------\n" +"zlag : input float\n" +"tr : input float\n" +"\nReturns\n-------\n" +"czte1 : float"; +/* extern void F_WRAPPEDFUNC(czte1,CZTE1)(float*,float*,float*); */ +static PyObject *f2py_rout_fitacf_guess_czte1(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float czte1 = 0; + float zlag = 0; + PyObject *zlag_capi = Py_None; + float tr = 0; + PyObject *tr_capi = Py_None; + static char *capi_kwlist[] = {"zlag","tr",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OO|:fitacf_guess.czte1",\ + capi_kwlist,&zlag_capi,&tr_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable zlag */ + f2py_success = float_from_pyobj(&zlag,zlag_capi,"fitacf_guess.czte1() 1st argument (zlag) can't be converted to float"); + if (f2py_success) { + /* Processing variable tr */ + f2py_success = float_from_pyobj(&tr,tr_capi,"fitacf_guess.czte1() 2nd argument (tr) can't be converted to float"); + if (f2py_success) { + /* Processing variable czte1 */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&czte1,&zlag,&tr); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",czte1); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable czte1 */ + } /*if (f2py_success) of tr*/ + /* End of cleaning variable tr */ + } /*if (f2py_success) of zlag*/ + /* End of cleaning variable zlag */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of czte1 ********************************/ +/*eof body*/ + +/******************* See f2py2e/f90mod_rules.py: buildhooks *******************/ +/*need_f90modhooks*/ + +/************** See f2py2e/rules.py: module_rules['modulebody'] **************/ + +/******************* See f2py2e/common_rules.py: buildhooks *******************/ + +/*need_commonhooks*/ + +/**************************** See f2py2e/rules.py ****************************/ + +static FortranDataDef f2py_routine_defs[] = { + {"guess",-1,{{-1}},0,(char *)F_FUNC(guess,GUESS),(f2py_init_func)f2py_rout_fitacf_guess_guess,doc_f2py_rout_fitacf_guess_guess}, + {"parab1",-1,{{-1}},0,(char *)F_FUNC(parab1,PARAB1),(f2py_init_func)f2py_rout_fitacf_guess_parab1,doc_f2py_rout_fitacf_guess_parab1}, + {"cdtr1",-1,{{-1}},0,(char *)F_WRAPPEDFUNC(cdtr1,CDTR1),(f2py_init_func)f2py_rout_fitacf_guess_cdtr1,doc_f2py_rout_fitacf_guess_cdtr1}, + {"czte1",-1,{{-1}},0,(char *)F_WRAPPEDFUNC(czte1,CZTE1),(f2py_init_func)f2py_rout_fitacf_guess_czte1,doc_f2py_rout_fitacf_guess_czte1}, + +/*eof routine_defs*/ + {NULL} +}; + +static PyMethodDef f2py_module_methods[] = { + + {NULL,NULL} +}; + +static struct PyModuleDef moduledef = { + PyModuleDef_HEAD_INIT, + "fitacf_guess", + NULL, + -1, + f2py_module_methods, + NULL, + NULL, + NULL, + NULL +}; + +PyMODINIT_FUNC PyInit_fitacf_guess(void) { + int i; + PyObject *m,*d, *s, *tmp; + m = fitacf_guess_module = PyModule_Create(&moduledef); + Py_SET_TYPE(&PyFortran_Type, &PyType_Type); + import_array(); + if (PyErr_Occurred()) + {PyErr_SetString(PyExc_ImportError, "can't initialize module fitacf_guess (failed to import numpy)"); return m;} + d = PyModule_GetDict(m); + s = PyString_FromString("$Revision: $"); + PyDict_SetItemString(d, "__version__", s); + Py_DECREF(s); + s = PyUnicode_FromString( + "This module 'fitacf_guess' is auto-generated with f2py (version:2).\nFunctions:\n" +" guess(acf,tau,zero,amin,te,tr,npts=len(acf))\n" +" parab1(x,y,a,b,c)\n" +" cdtr1 = cdtr1(depth)\n" +" czte1 = czte1(zlag,tr)\n" +"."); + PyDict_SetItemString(d, "__doc__", s); + Py_DECREF(s); + fitacf_guess_error = PyErr_NewException ("fitacf_guess.error", NULL, NULL); + /* + * Store the error object inside the dict, so that it could get deallocated. + * (in practice, this is a module, so it likely will not and cannot.) + */ + PyDict_SetItemString(d, "_fitacf_guess_error", fitacf_guess_error); + Py_DECREF(fitacf_guess_error); + for(i=0;f2py_routine_defs[i].name!=NULL;i++) { + tmp = PyFortranObject_NewAsAttr(&f2py_routine_defs[i]); + PyDict_SetItemString(d, f2py_routine_defs[i].name, tmp); + Py_DECREF(tmp); + } + + + + { + extern float F_FUNC(cdtr1,CDTR1)(void); + PyObject* o = PyDict_GetItemString(d,"cdtr1"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC(cdtr1,CDTR1),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("cdtr1"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + + { + extern float F_FUNC(czte1,CZTE1)(void); + PyObject* o = PyDict_GetItemString(d,"czte1"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC(czte1,CZTE1),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("czte1"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + +/*eof initf2pywraphooks*/ +/*eof initf90modhooks*/ + +/*eof initcommonhooks*/ + + +#ifdef F2PY_REPORT_ATEXIT + if (! PyErr_Occurred()) + on_exit(f2py_report_on_exit,(void*)"fitacf_guess"); +#endif + return m; +} +#ifdef __cplusplus +} +#endif diff --git a/schainf/Ffiles/full_profile_profile-f2pywrappers.f b/schainf/Ffiles/full_profile_profile-f2pywrappers.f new file mode 100644 index 0000000..e1b64b1 --- /dev/null +++ b/schainf/Ffiles/full_profile_profile-f2pywrappers.f @@ -0,0 +1,240 @@ +C -*- fortran -*- +C This file is autogenerated with f2py (version:2) +C It contains Fortran 77 wrappers to fortran functions. + + subroutine f2pywrapenorm (enormf2pywrap, n, x) + external enorm + integer n + real x(n) + real enormf2pywrap, enorm + enormf2pywrap = enorm(n, x) + end + + + subroutine f2pywrapspmpar (spmparf2pywrap, i) + external spmpar + integer i + real spmparf2pywrap, spmpar + spmparf2pywrap = spmpar(i) + end + + + subroutine f2pywrapcdtr1 (cdtr1f2pywrap, depth) + external cdtr1 + real depth + real cdtr1f2pywrap, cdtr1 + cdtr1f2pywrap = cdtr1(depth) + end + + + subroutine f2pywrapczte1 (czte1f2pywrap, zlag, tr) + external czte1 + real zlag + real tr + real czte1f2pywrap, czte1 + czte1f2pywrap = czte1(zlag, tr) + end + + + subroutine f2pywrapcj_ion (cj_ionf2pywrap, theta, psi) + external cj_ion + real theta + real psi + complex cj_ionf2pywrap, cj_ion + cj_ionf2pywrap = cj_ion(theta, psi) + end + + + subroutine f2pywrapcj_electron (cj_electronf2pywrap, theta, + &phi, psi, alpha) + external cj_electron + real theta + real phi + real psi + real alpha + complex cj_electronf2pywrap, cj_electron + cj_electronf2pywrap = cj_electron(theta, phi, psi, alpha) + end + + + subroutine f2pywrapy_ion (y_ionf2pywrap, theta, psi) + external y_ion + real theta + real psi + complex y_ionf2pywrap, y_ion + y_ionf2pywrap = y_ion(theta, psi) + end + + + subroutine f2pywrapy_electron (y_electronf2pywrap, theta, ph + &i, psi, alpha) + external y_electron + real theta + real phi + real psi + real alpha + complex y_electronf2pywrap, y_electron + y_electronf2pywrap = y_electron(theta, phi, psi, alpha) + end + + + subroutine f2pywrapspect1 (spect1f2pywrap, omega) + external spect1 + real omega + real spect1f2pywrap, spect1 + spect1f2pywrap = spect1(omega) + end + + + subroutine f2pywrapatanh (atanhf2pywrap, x) + external atanh + real x + real atanhf2pywrap, atanh + atanhf2pywrap = atanh(x) + end + + + subroutine f2pywrapbvalue (bvaluef2pywrap, t, bcoef, n, k, x + &, jderiv) + external bvalue + integer n + integer k + real x + integer jderiv + real t(n+k) + real bcoef(n) + real bvaluef2pywrap, bvalue + bvaluef2pywrap = bvalue(t, bcoef, n, k, x, jderiv) + end + + + subroutine f2pywrapr1mach (r1machf2pywrap, i) + external r1mach + integer i + real r1machf2pywrap, r1mach + r1machf2pywrap = r1mach(i) + end + + + subroutine f2pyinitchisq(setupfunc) + external setupfunc + real chi2 + common /chisq/ chi2 + call setupfunc(chi2) + end + + subroutine f2pyinitfpa(setupfunc) + external setupfunc + real densp(91) + real tep(91) + real trp(91) + real tip(91) + real hfp(91) + real hefp(91) + real altp(91) + real r0 + real dr + real wl + common /fpa/ densp,tep,trp,tip,hfp,hefp,altp,r0,dr,wl + call setupfunc(densp,tep,trp,tip,hfp,hefp,altp,r0,dr,wl) + end + + subroutine f2pyinitdata(setupfunc) + external setupfunc + real plag(16,91) + real plag_errors(16,91) + common /data/ plag,plag_errors + call setupfunc(plag,plag_errors) + end + + subroutine f2pyinitsys(setupfunc) + external setupfunc + real sconst + common /sys/ sconst + call setupfunc(sconst) + end + + subroutine f2pyiniterrs(setupfunc) + external setupfunc + real edensp(91) + real etep(91) + real etip(91) + real ehfp(91) + real ehefp(91) + common /errs/ edensp,etep,etip,ehfp,ehefp + call setupfunc(edensp,etep,etip,ehfp,ehefp) + end + + subroutine f2pyinitmag(setupfunc) + external setupfunc + real bfld_prof(85) + real alpha_prof(85) + common /mag/ bfld_prof,alpha_prof + call setupfunc(bfld_prof,alpha_prof) + end + + subroutine f2pyinitmode(setupfunc) + external setupfunc + integer imode + common /mode/ imode + call setupfunc(imode) + end + + subroutine f2pyinitutime(setupfunc) + external setupfunc + real uttime + common /utime/ uttime + call setupfunc(uttime) + end + + subroutine f2pyinitspline(setupfunc) + external setupfunc + real ta(34) + real bcoef(30,5) + common /spline/ ta,bcoef + call setupfunc(ta,bcoef) + end + + subroutine f2pyinitspec(setupfunc) + external setupfunc + real te + real ti(10) + real fi(10) + real ven + real vin(10) + real alpha + real dens + real bfld + integer nion + integer wi(10) + real ak + common /spec/ te,ti,fi,ven,vin,alpha,dens,bfld,nion,wi,ak + call setupfunc(te,ti,fi,ven,vin,alpha,dens,bfld,nion,wi,ak) + end + + subroutine f2pyinitfitter(setupfunc) + external setupfunc + real tau(100) + real rho(100) + real sigma2(100) + real params(10) + integer ifit(10) + common /fitter/ tau,rho,sigma2,params,ifit + call setupfunc(tau,rho,sigma2,params,ifit) + end + + subroutine f2pyinittrans(setupfunc) + external setupfunc + real ev(10000) + common /trans/ ev + call setupfunc(ev) + end + + subroutine f2pyinitd8mach(setupfunc) + external setupfunc + integer cray1 + common /d8mach/ cray1 + call setupfunc(cray1) + end + + diff --git a/schainf/Ffiles/full_profile_profilemodule.c b/schainf/Ffiles/full_profile_profilemodule.c new file mode 100644 index 0000000..975ce88 --- /dev/null +++ b/schainf/Ffiles/full_profile_profilemodule.c @@ -0,0 +1,5456 @@ +/* File: full_profile_profilemodule.c + * This file is auto-generated with f2py (version:2). + * f2py is a Fortran to Python Interface Generator (FPIG), Second Edition, + * written by Pearu Peterson . + * Generation date: Wed Jan 8 13:23:37 2025 + * Do not edit this file directly unless you know what you are doing!!! + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/*********************** See f2py2e/cfuncs.py: includes ***********************/ +#include "Python.h" +#include +#include "fortranobject.h" +#include +#include + +/**************** See f2py2e/rules.py: mod_rules['modulebody'] ****************/ +static PyObject *full_profile_profile_error; +static PyObject *full_profile_profile_module; + +/*********************** See f2py2e/cfuncs.py: typedefs ***********************/ +typedef signed char signed_char; +typedef struct {float r,i;} complex_float; + +/****************** See f2py2e/cfuncs.py: typedefs_generated ******************/ +typedef void(*cb_fcn_in_lmdif__user__routines_typedef)(int *,int *,float *,float *,int *); +typedef void(*cb_fcn_in_fdjac2__user__routines_typedef)(int *,int *,float *,float *,int *); + +/********************** See f2py2e/cfuncs.py: cppmacros **********************/ +#define PRINTPYOBJERR(obj)\ + fprintf(stderr,"full_profile_profile.error is related to ");\ + PyObject_Print((PyObject *)obj,stderr,Py_PRINT_RAW);\ + fprintf(stderr,"\n"); + +#define pyobj_from_int1(v) (PyInt_FromLong(v)) +#ifdef DEBUGCFUNCS +#define CFUNCSMESS(mess) fprintf(stderr,"debug-capi:"mess); +#define CFUNCSMESSPY(mess,obj) CFUNCSMESS(mess) \ + PyObject_Print((PyObject *)obj,stderr,Py_PRINT_RAW);\ + fprintf(stderr,"\n"); +#else +#define CFUNCSMESS(mess) +#define CFUNCSMESSPY(mess,obj) +#endif + +#if defined(PREPEND_FORTRAN) +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) _##F +#else +#define F_FUNC(f,F) _##f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) _##F##_ +#else +#define F_FUNC(f,F) _##f##_ +#endif +#endif +#else +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) F +#else +#define F_FUNC(f,F) f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) F##_ +#else +#define F_FUNC(f,F) f##_ +#endif +#endif +#endif +#if defined(UNDERSCORE_G77) +#define F_FUNC_US(f,F) F_FUNC(f##_,F##_) +#else +#define F_FUNC_US(f,F) F_FUNC(f,F) +#endif + +#define rank(var) var ## _Rank +#define shape(var,dim) var ## _Dims[dim] +#define old_rank(var) (PyArray_NDIM((PyArrayObject *)(capi_ ## var ## _tmp))) +#define old_shape(var,dim) PyArray_DIM(((PyArrayObject *)(capi_ ## var ## _tmp)),dim) +#define fshape(var,dim) shape(var,rank(var)-dim-1) +#define len(var) shape(var,0) +#define flen(var) fshape(var,0) +#define old_size(var) PyArray_SIZE((PyArrayObject *)(capi_ ## var ## _tmp)) +/* #define index(i) capi_i ## i */ +#define slen(var) capi_ ## var ## _len +#define size(var, ...) f2py_size((PyArrayObject *)(capi_ ## var ## _tmp), ## __VA_ARGS__, -1) + +#define CHECKSCALAR(check,tcheck,name,show,var)\ + if (!(check)) {\ + char errstring[256];\ + sprintf(errstring, "%s: "show, "("tcheck") failed for "name, var);\ + PyErr_SetString(full_profile_profile_error,errstring);\ + /*goto capi_fail;*/\ + } else +#ifndef max +#define max(a,b) ((a > b) ? (a) : (b)) +#endif +#ifndef min +#define min(a,b) ((a < b) ? (a) : (b)) +#endif +#ifndef MAX +#define MAX(a,b) ((a > b) ? (a) : (b)) +#endif +#ifndef MIN +#define MIN(a,b) ((a < b) ? (a) : (b)) +#endif + +#if defined(PREPEND_FORTRAN) +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) _F2PYWRAP##F +#else +#define F_WRAPPEDFUNC(f,F) _f2pywrap##f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) _F2PYWRAP##F##_ +#else +#define F_WRAPPEDFUNC(f,F) _f2pywrap##f##_ +#endif +#endif +#else +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) F2PYWRAP##F +#else +#define F_WRAPPEDFUNC(f,F) f2pywrap##f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_WRAPPEDFUNC(f,F) F2PYWRAP##F##_ +#else +#define F_WRAPPEDFUNC(f,F) f2pywrap##f##_ +#endif +#endif +#endif +#if defined(UNDERSCORE_G77) +#define F_WRAPPEDFUNC_US(f,F) F_WRAPPEDFUNC(f##_,F##_) +#else +#define F_WRAPPEDFUNC_US(f,F) F_WRAPPEDFUNC(f,F) +#endif + +#define SWAP(a,b,t) {\ + t *c;\ + c = a;\ + a = b;\ + b = c;} + +#define pyobj_from_complex_float1(v) (PyComplex_FromDoubles(v.r,v.i)) + +/************************ See f2py2e/cfuncs.py: cfuncs ************************/ +static int double_from_pyobj(double* v,PyObject *obj,const char *errmess) { + PyObject* tmp = NULL; + if (PyFloat_Check(obj)) { +#ifdef __sgi + *v = PyFloat_AsDouble(obj); +#else + *v = PyFloat_AS_DOUBLE(obj); +#endif + return 1; + } + tmp = PyNumber_Float(obj); + if (tmp) { +#ifdef __sgi + *v = PyFloat_AsDouble(tmp); +#else + *v = PyFloat_AS_DOUBLE(tmp); +#endif + Py_DECREF(tmp); + return 1; + } + if (PyComplex_Check(obj)) + tmp = PyObject_GetAttrString(obj,"real"); + else if (PyString_Check(obj) || PyUnicode_Check(obj)) + /*pass*/; + else if (PySequence_Check(obj)) + tmp = PySequence_GetItem(obj,0); + if (tmp) { + PyErr_Clear(); + if (double_from_pyobj(v,tmp,errmess)) {Py_DECREF(tmp); return 1;} + Py_DECREF(tmp); + } + { + PyObject* err = PyErr_Occurred(); + if (err==NULL) err = full_profile_profile_error; + PyErr_SetString(err,errmess); + } + return 0; +} + +static int f2py_size(PyArrayObject* var, ...) +{ + npy_int sz = 0; + npy_int dim; + npy_int rank; + va_list argp; + va_start(argp, var); + dim = va_arg(argp, npy_int); + if (dim==-1) + { + sz = PyArray_SIZE(var); + } + else + { + rank = PyArray_NDIM(var); + if (dim>=1 && dim<=rank) + sz = PyArray_DIM(var, dim-1); + else + fprintf(stderr, "f2py_size: 2nd argument value=%d fails to satisfy 1<=value<=%d. Result will be 0.\n", dim, rank); + } + va_end(argp); + return sz; +} + +static int float_from_pyobj(float* v,PyObject *obj,const char *errmess) { + double d=0.0; + if (double_from_pyobj(&d,obj,errmess)) { + *v = (float)d; + return 1; + } + return 0; +} + +static int int_from_pyobj(int* v,PyObject *obj,const char *errmess) { + PyObject* tmp = NULL; + if (PyInt_Check(obj)) { + *v = (int)PyInt_AS_LONG(obj); + return 1; + } + tmp = PyNumber_Int(obj); + if (tmp) { + *v = PyInt_AS_LONG(tmp); + Py_DECREF(tmp); + return 1; + } + if (PyComplex_Check(obj)) + tmp = PyObject_GetAttrString(obj,"real"); + else if (PyString_Check(obj) || PyUnicode_Check(obj)) + /*pass*/; + else if (PySequence_Check(obj)) + tmp = PySequence_GetItem(obj,0); + if (tmp) { + PyErr_Clear(); + if (int_from_pyobj(v,tmp,errmess)) {Py_DECREF(tmp); return 1;} + Py_DECREF(tmp); + } + { + PyObject* err = PyErr_Occurred(); + if (err==NULL) err = full_profile_profile_error; + PyErr_SetString(err,errmess); + } + return 0; +} + +static int create_cb_arglist(PyObject* fun,PyTupleObject* xa,const int maxnofargs,const int nofoptargs,int *nofargs,PyTupleObject **args,const char *errmess) { + PyObject *tmp = NULL; + PyObject *tmp_fun = NULL; + int tot,opt,ext,siz,i,di=0; + CFUNCSMESS("create_cb_arglist\n"); + tot=opt=ext=siz=0; + /* Get the total number of arguments */ + if (PyFunction_Check(fun)) { + tmp_fun = fun; + Py_INCREF(tmp_fun); + } + else { + di = 1; + if (PyObject_HasAttrString(fun,"im_func")) { + tmp_fun = PyObject_GetAttrString(fun,"im_func"); + } + else if (PyObject_HasAttrString(fun,"__call__")) { + tmp = PyObject_GetAttrString(fun,"__call__"); + if (PyObject_HasAttrString(tmp,"im_func")) + tmp_fun = PyObject_GetAttrString(tmp,"im_func"); + else { + tmp_fun = fun; /* built-in function */ + Py_INCREF(tmp_fun); + tot = maxnofargs; + if (PyCFunction_Check(fun)) { + /* In case the function has a co_argcount (like on PyPy) */ + di = 0; + } + if (xa != NULL) + tot += PyTuple_Size((PyObject *)xa); + } + Py_XDECREF(tmp); + } + else if (PyFortran_Check(fun) || PyFortran_Check1(fun)) { + tot = maxnofargs; + if (xa != NULL) + tot += PyTuple_Size((PyObject *)xa); + tmp_fun = fun; + Py_INCREF(tmp_fun); + } + else if (F2PyCapsule_Check(fun)) { + tot = maxnofargs; + if (xa != NULL) + ext = PyTuple_Size((PyObject *)xa); + if(ext>0) { + fprintf(stderr,"extra arguments tuple cannot be used with CObject call-back\n"); + goto capi_fail; + } + tmp_fun = fun; + Py_INCREF(tmp_fun); + } + } +if (tmp_fun==NULL) { +fprintf(stderr,"Call-back argument must be function|instance|instance.__call__|f2py-function but got %s.\n",(fun==NULL?"NULL":Py_TYPE(fun)->tp_name)); +goto capi_fail; +} + if (PyObject_HasAttrString(tmp_fun,"__code__")) { + if (PyObject_HasAttrString(tmp = PyObject_GetAttrString(tmp_fun,"__code__"),"co_argcount")) { + PyObject *tmp_argcount = PyObject_GetAttrString(tmp,"co_argcount"); + Py_DECREF(tmp); + if (tmp_argcount == NULL) { + goto capi_fail; + } + tot = PyInt_AsLong(tmp_argcount) - di; + Py_DECREF(tmp_argcount); + } + } + /* Get the number of optional arguments */ + if (PyObject_HasAttrString(tmp_fun,"__defaults__")) { + if (PyTuple_Check(tmp = PyObject_GetAttrString(tmp_fun,"__defaults__"))) + opt = PyTuple_Size(tmp); + Py_XDECREF(tmp); + } + /* Get the number of extra arguments */ + if (xa != NULL) + ext = PyTuple_Size((PyObject *)xa); + /* Calculate the size of call-backs argument list */ + siz = MIN(maxnofargs+ext,tot); + *nofargs = MAX(0,siz-ext); +#ifdef DEBUGCFUNCS + fprintf(stderr,"debug-capi:create_cb_arglist:maxnofargs(-nofoptargs),tot,opt,ext,siz,nofargs=%d(-%d),%d,%d,%d,%d,%d\n",maxnofargs,nofoptargs,tot,opt,ext,siz,*nofargs); +#endif + if (sizcapi_i) { + int itemsize_ = NPY_FLOAT == NPY_STRING ? 1 : 0; + /*XXX: Hmm, what will destroy this array??? */ + PyArrayObject *tmp_arr = (PyArrayObject *)PyArray_New(&PyArray_Type,1,x_Dims,NPY_FLOAT,NULL,(char*)x,itemsize_,NPY_ARRAY_FARRAY,NULL); + + + if (tmp_arr==NULL) + goto capi_fail; + if (CAPI_ARGLIST_SETITEM(capi_i++,(PyObject *)tmp_arr)) + goto capi_fail; +} + if (cb_fcn_in_fdjac2__user__routines_nofargs>capi_i) { + int itemsize_ = NPY_FLOAT == NPY_STRING ? 1 : 0; + /*XXX: Hmm, what will destroy this array??? */ + PyArrayObject *tmp_arr = (PyArrayObject *)PyArray_New(&PyArray_Type,1,wa_Dims,NPY_FLOAT,NULL,(char*)wa,itemsize_,NPY_ARRAY_FARRAY,NULL); + + + if (tmp_arr==NULL) + goto capi_fail; + if (CAPI_ARGLIST_SETITEM(capi_i++,(PyObject *)tmp_arr)) + goto capi_fail; +} + if (cb_fcn_in_fdjac2__user__routines_nofargs>capi_i) + if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_int1(iflag))) + goto capi_fail; + if (cb_fcn_in_fdjac2__user__routines_nofargs>capi_i) + if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_int1(m))) + goto capi_fail; + if (cb_fcn_in_fdjac2__user__routines_nofargs>capi_i) + if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_int1(n))) + goto capi_fail; +#undef CAPI_ARGLIST_SETITEM +#ifdef PYPY_VERSION + CFUNCSMESSPY("cb:capi_arglist=",capi_arglist_list); +#else + CFUNCSMESSPY("cb:capi_arglist=",capi_arglist); +#endif + CFUNCSMESS("cb:Call-back calling Python function fcn.\n"); +#ifdef F2PY_REPORT_ATEXIT +f2py_cb_start_call_clock(); +#endif +#ifdef PYPY_VERSION + capi_return = PyObject_CallObject(cb_fcn_in_fdjac2__user__routines_capi,(PyObject *)capi_arglist_list); + Py_DECREF(capi_arglist_list); + capi_arglist_list = NULL; +#else + capi_return = PyObject_CallObject(cb_fcn_in_fdjac2__user__routines_capi,(PyObject *)capi_arglist); +#endif +#ifdef F2PY_REPORT_ATEXIT +f2py_cb_stop_call_clock(); +#endif + CFUNCSMESSPY("cb:capi_return=",capi_return); + if (capi_return == NULL) { + fprintf(stderr,"capi_return is NULL\n"); + goto capi_fail; + } + if (capi_return == Py_None) { + Py_DECREF(capi_return); + capi_return = Py_BuildValue("()"); + } + else if (!PyTuple_Check(capi_return)) { + capi_return = Py_BuildValue("(N)",capi_return); + } + capi_j = PyTuple_Size(capi_return); + capi_i = 0; +/*frompyobj*/ + CFUNCSMESS("cb:cb_fcn_in_fdjac2__user__routines:successful\n"); + Py_DECREF(capi_return); +#ifdef F2PY_REPORT_ATEXIT +f2py_cb_stop_clock(); +#endif + goto capi_return_pt; +capi_fail: + fprintf(stderr,"Call-back cb_fcn_in_fdjac2__user__routines failed.\n"); + Py_XDECREF(capi_return); + Py_XDECREF(capi_arglist_list); + if (capi_longjmp_ok) + longjmp(cb_fcn_in_fdjac2__user__routines_jmpbuf,-1); +capi_return_pt: + ; +return; +} +/****************** end of cb_fcn_in_fdjac2__user__routines ******************/ + + +/********************** cb_fcn_in_lmdif__user__routines **********************/ +PyObject *cb_fcn_in_lmdif__user__routines_capi = NULL;/*was Py_None*/ +PyTupleObject *cb_fcn_in_lmdif__user__routines_args_capi = NULL; +int cb_fcn_in_lmdif__user__routines_nofargs = 0; +jmp_buf cb_fcn_in_lmdif__user__routines_jmpbuf; +/*typedef void(*cb_fcn_in_lmdif__user__routines_typedef)(int *,int *,float *,float *,int *);*/ +static void cb_fcn_in_lmdif__user__routines (int *m_cb_capi,int *n_cb_capi,float *x,float *fvec,int *iflag_cb_capi) { + PyTupleObject *capi_arglist = cb_fcn_in_lmdif__user__routines_args_capi; + PyObject *capi_return = NULL; + PyObject *capi_tmp = NULL; + PyObject *capi_arglist_list = NULL; + int capi_j,capi_i = 0; + int capi_longjmp_ok = 1; +/*decl*/ + int m=(*m_cb_capi); + int n=(*n_cb_capi); + int iflag=(*iflag_cb_capi); + npy_intp x_Dims[1] = {-1}; + npy_intp fvec_Dims[1] = {-1}; +#ifdef F2PY_REPORT_ATEXIT +f2py_cb_start_clock(); +#endif + CFUNCSMESS("cb:Call-back function cb_fcn_in_lmdif__user__routines (maxnofargs=5(-2))\n"); + CFUNCSMESSPY("cb:cb_fcn_in_lmdif__user__routines_capi=",cb_fcn_in_lmdif__user__routines_capi); + if (cb_fcn_in_lmdif__user__routines_capi==NULL) { + capi_longjmp_ok = 0; + cb_fcn_in_lmdif__user__routines_capi = PyObject_GetAttrString(full_profile_profile_module,"fcn"); + } + if (cb_fcn_in_lmdif__user__routines_capi==NULL) { + PyErr_SetString(full_profile_profile_error,"cb: Callback fcn not defined (as an argument or module full_profile_profile attribute).\n"); + goto capi_fail; + } + if (F2PyCapsule_Check(cb_fcn_in_lmdif__user__routines_capi)) { + cb_fcn_in_lmdif__user__routines_typedef cb_fcn_in_lmdif__user__routines_cptr; + cb_fcn_in_lmdif__user__routines_cptr = F2PyCapsule_AsVoidPtr(cb_fcn_in_lmdif__user__routines_capi); + (*cb_fcn_in_lmdif__user__routines_cptr)(m_cb_capi,n_cb_capi,x,fvec,iflag_cb_capi); + return; + } + if (capi_arglist==NULL) { + capi_longjmp_ok = 0; + capi_tmp = PyObject_GetAttrString(full_profile_profile_module,"fcn_extra_args"); + if (capi_tmp) { + capi_arglist = (PyTupleObject *)PySequence_Tuple(capi_tmp); + if (capi_arglist==NULL) { + PyErr_SetString(full_profile_profile_error,"Failed to convert full_profile_profile.fcn_extra_args to tuple.\n"); + goto capi_fail; + } + } else { + PyErr_Clear(); + capi_arglist = (PyTupleObject *)Py_BuildValue("()"); + } + } + if (capi_arglist == NULL) { + PyErr_SetString(full_profile_profile_error,"Callback fcn argument list is not set.\n"); + goto capi_fail; + } +/*setdims*/ + x_Dims[0]=n; + fvec_Dims[0]=m; +#ifdef PYPY_VERSION +#define CAPI_ARGLIST_SETITEM(idx, value) PyList_SetItem((PyObject *)capi_arglist_list, idx, value) + capi_arglist_list = PySequence_List(capi_arglist); + if (capi_arglist_list == NULL) goto capi_fail; +#else +#define CAPI_ARGLIST_SETITEM(idx, value) PyTuple_SetItem((PyObject *)capi_arglist, idx, value) +#endif +/*pyobjfrom*/ + if (cb_fcn_in_lmdif__user__routines_nofargs>capi_i) { + int itemsize_ = NPY_FLOAT == NPY_STRING ? 1 : 0; + /*XXX: Hmm, what will destroy this array??? */ + PyArrayObject *tmp_arr = (PyArrayObject *)PyArray_New(&PyArray_Type,1,x_Dims,NPY_FLOAT,NULL,(char*)x,itemsize_,NPY_ARRAY_FARRAY,NULL); + + + if (tmp_arr==NULL) + goto capi_fail; + if (CAPI_ARGLIST_SETITEM(capi_i++,(PyObject *)tmp_arr)) + goto capi_fail; +} + if (cb_fcn_in_lmdif__user__routines_nofargs>capi_i) { + int itemsize_ = NPY_FLOAT == NPY_STRING ? 1 : 0; + /*XXX: Hmm, what will destroy this array??? */ + PyArrayObject *tmp_arr = (PyArrayObject *)PyArray_New(&PyArray_Type,1,fvec_Dims,NPY_FLOAT,NULL,(char*)fvec,itemsize_,NPY_ARRAY_FARRAY,NULL); + + + if (tmp_arr==NULL) + goto capi_fail; + if (CAPI_ARGLIST_SETITEM(capi_i++,(PyObject *)tmp_arr)) + goto capi_fail; +} + if (cb_fcn_in_lmdif__user__routines_nofargs>capi_i) + if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_int1(iflag))) + goto capi_fail; + if (cb_fcn_in_lmdif__user__routines_nofargs>capi_i) + if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_int1(m))) + goto capi_fail; + if (cb_fcn_in_lmdif__user__routines_nofargs>capi_i) + if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_int1(n))) + goto capi_fail; +#undef CAPI_ARGLIST_SETITEM +#ifdef PYPY_VERSION + CFUNCSMESSPY("cb:capi_arglist=",capi_arglist_list); +#else + CFUNCSMESSPY("cb:capi_arglist=",capi_arglist); +#endif + CFUNCSMESS("cb:Call-back calling Python function fcn.\n"); +#ifdef F2PY_REPORT_ATEXIT +f2py_cb_start_call_clock(); +#endif +#ifdef PYPY_VERSION + capi_return = PyObject_CallObject(cb_fcn_in_lmdif__user__routines_capi,(PyObject *)capi_arglist_list); + Py_DECREF(capi_arglist_list); + capi_arglist_list = NULL; +#else + capi_return = PyObject_CallObject(cb_fcn_in_lmdif__user__routines_capi,(PyObject *)capi_arglist); +#endif +#ifdef F2PY_REPORT_ATEXIT +f2py_cb_stop_call_clock(); +#endif + CFUNCSMESSPY("cb:capi_return=",capi_return); + if (capi_return == NULL) { + fprintf(stderr,"capi_return is NULL\n"); + goto capi_fail; + } + if (capi_return == Py_None) { + Py_DECREF(capi_return); + capi_return = Py_BuildValue("()"); + } + else if (!PyTuple_Check(capi_return)) { + capi_return = Py_BuildValue("(N)",capi_return); + } + capi_j = PyTuple_Size(capi_return); + capi_i = 0; +/*frompyobj*/ + CFUNCSMESS("cb:cb_fcn_in_lmdif__user__routines:successful\n"); + Py_DECREF(capi_return); +#ifdef F2PY_REPORT_ATEXIT +f2py_cb_stop_clock(); +#endif + goto capi_return_pt; +capi_fail: + fprintf(stderr,"Call-back cb_fcn_in_lmdif__user__routines failed.\n"); + Py_XDECREF(capi_return); + Py_XDECREF(capi_arglist_list); + if (capi_longjmp_ok) + longjmp(cb_fcn_in_lmdif__user__routines_jmpbuf,-1); +capi_return_pt: + ; +return; +} +/******************* end of cb_fcn_in_lmdif__user__routines *******************/ + + +/*********************** See f2py2e/rules.py: buildapi ***********************/ + +/********************************** profile **********************************/ +static char doc_f2py_rout_full_profile_profile_profile[] = "\ +profile(acf_sum,acf_err,power,en,alag,thb2,bfm2,ote,ete,oti,eti,oph,eph,ophe,ephe,range2,ut,nacf,acf_avg_real,status,[nhts,ibits])\n\nWrapper for ``profile``.\ +\n\nParameters\n----------\n" +"acf_sum : input rank-3 array('F') with bounds (4,nhts,ibits)\n" +"acf_err : input rank-2 array('f') with bounds (nhts,ibits)\n" +"power : input rank-1 array('f') with bounds (nhts)\n" +"en : input rank-1 array('f') with bounds (nhts)\n" +"alag : input rank-1 array('f') with bounds (ibits)\n" +"thb2 : input rank-1 array('f') with bounds (nhts)\n" +"bfm2 : input rank-1 array('f') with bounds (nhts)\n" +"ote : input rank-1 array('f') with bounds (nacf)\n" +"ete : input rank-1 array('f') with bounds (nacf)\n" +"oti : input rank-1 array('f') with bounds (nacf)\n" +"eti : input rank-1 array('f') with bounds (nacf)\n" +"oph : input rank-1 array('f') with bounds (nacf)\n" +"eph : input rank-1 array('f') with bounds (nacf)\n" +"ophe : input rank-1 array('f') with bounds (nacf)\n" +"ephe : input rank-1 array('f') with bounds (nacf)\n" +"range2 : input rank-1 array('f') with bounds (nhts)\n" +"ut : input float\n" +"nacf : input int\n" +"acf_avg_real : input rank-2 array('f') with bounds (nhts,ibits)\n" +"status : input rank-1 array('f') with bounds (1)\n" +"\nOther Parameters\n----------------\n" +"nhts : input int, optional\n Default: shape(acf_sum,1)\n" +"ibits : input int, optional\n Default: shape(acf_sum,2)"; +/* extern void F_FUNC(profile,PROFILE)(complex_float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,int*,int*,int*,float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_profile(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(complex_float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,float*,int*,int*,int*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + complex_float *acf_sum = NULL; + npy_intp acf_sum_Dims[3] = {-1, -1, -1}; + const int acf_sum_Rank = 3; + PyArrayObject *capi_acf_sum_tmp = NULL; + int capi_acf_sum_intent = 0; + PyObject *acf_sum_capi = Py_None; + float *acf_err = NULL; + npy_intp acf_err_Dims[2] = {-1, -1}; + const int acf_err_Rank = 2; + PyArrayObject *capi_acf_err_tmp = NULL; + int capi_acf_err_intent = 0; + PyObject *acf_err_capi = Py_None; + float *power = NULL; + npy_intp power_Dims[1] = {-1}; + const int power_Rank = 1; + PyArrayObject *capi_power_tmp = NULL; + int capi_power_intent = 0; + PyObject *power_capi = Py_None; + float *en = NULL; + npy_intp en_Dims[1] = {-1}; + const int en_Rank = 1; + PyArrayObject *capi_en_tmp = NULL; + int capi_en_intent = 0; + PyObject *en_capi = Py_None; + float *alag = NULL; + npy_intp alag_Dims[1] = {-1}; + const int alag_Rank = 1; + PyArrayObject *capi_alag_tmp = NULL; + int capi_alag_intent = 0; + PyObject *alag_capi = Py_None; + float *thb2 = NULL; + npy_intp thb2_Dims[1] = {-1}; + const int thb2_Rank = 1; + PyArrayObject *capi_thb2_tmp = NULL; + int capi_thb2_intent = 0; + PyObject *thb2_capi = Py_None; + float *bfm2 = NULL; + npy_intp bfm2_Dims[1] = {-1}; + const int bfm2_Rank = 1; + PyArrayObject *capi_bfm2_tmp = NULL; + int capi_bfm2_intent = 0; + PyObject *bfm2_capi = Py_None; + float *ote = NULL; + npy_intp ote_Dims[1] = {-1}; + const int ote_Rank = 1; + PyArrayObject *capi_ote_tmp = NULL; + int capi_ote_intent = 0; + PyObject *ote_capi = Py_None; + float *ete = NULL; + npy_intp ete_Dims[1] = {-1}; + const int ete_Rank = 1; + PyArrayObject *capi_ete_tmp = NULL; + int capi_ete_intent = 0; + PyObject *ete_capi = Py_None; + float *oti = NULL; + npy_intp oti_Dims[1] = {-1}; + const int oti_Rank = 1; + PyArrayObject *capi_oti_tmp = NULL; + int capi_oti_intent = 0; + PyObject *oti_capi = Py_None; + float *eti = NULL; + npy_intp eti_Dims[1] = {-1}; + const int eti_Rank = 1; + PyArrayObject *capi_eti_tmp = NULL; + int capi_eti_intent = 0; + PyObject *eti_capi = Py_None; + float *oph = NULL; + npy_intp oph_Dims[1] = {-1}; + const int oph_Rank = 1; + PyArrayObject *capi_oph_tmp = NULL; + int capi_oph_intent = 0; + PyObject *oph_capi = Py_None; + float *eph = NULL; + npy_intp eph_Dims[1] = {-1}; + const int eph_Rank = 1; + PyArrayObject *capi_eph_tmp = NULL; + int capi_eph_intent = 0; + PyObject *eph_capi = Py_None; + float *ophe = NULL; + npy_intp ophe_Dims[1] = {-1}; + const int ophe_Rank = 1; + PyArrayObject *capi_ophe_tmp = NULL; + int capi_ophe_intent = 0; + PyObject *ophe_capi = Py_None; + float *ephe = NULL; + npy_intp ephe_Dims[1] = {-1}; + const int ephe_Rank = 1; + PyArrayObject *capi_ephe_tmp = NULL; + int capi_ephe_intent = 0; + PyObject *ephe_capi = Py_None; + float *range2 = NULL; + npy_intp range2_Dims[1] = {-1}; + const int range2_Rank = 1; + PyArrayObject *capi_range2_tmp = NULL; + int capi_range2_intent = 0; + PyObject *range2_capi = Py_None; + float ut = 0; + PyObject *ut_capi = Py_None; + int nhts = 0; + PyObject *nhts_capi = Py_None; + int nacf = 0; + PyObject *nacf_capi = Py_None; + int ibits = 0; + PyObject *ibits_capi = Py_None; + float *acf_avg_real = NULL; + npy_intp acf_avg_real_Dims[2] = {-1, -1}; + const int acf_avg_real_Rank = 2; + PyArrayObject *capi_acf_avg_real_tmp = NULL; + int capi_acf_avg_real_intent = 0; + PyObject *acf_avg_real_capi = Py_None; + float *status = NULL; + npy_intp status_Dims[1] = {-1}; + const int status_Rank = 1; + PyArrayObject *capi_status_tmp = NULL; + int capi_status_intent = 0; + PyObject *status_capi = Py_None; + static char *capi_kwlist[] = {"acf_sum","acf_err","power","en","alag","thb2","bfm2","ote","ete","oti","eti","oph","eph","ophe","ephe","range2","ut","nacf","acf_avg_real","status","nhts","ibits",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOOOOOOOOOOOOOOOOO|OO:full_profile_profile.profile",\ + capi_kwlist,&acf_sum_capi,&acf_err_capi,&power_capi,&en_capi,&alag_capi,&thb2_capi,&bfm2_capi,&ote_capi,&ete_capi,&oti_capi,&eti_capi,&oph_capi,&eph_capi,&ophe_capi,&ephe_capi,&range2_capi,&ut_capi,&nacf_capi,&acf_avg_real_capi,&status_capi,&nhts_capi,&ibits_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable acf_sum */ + acf_sum_Dims[0]=4; + capi_acf_sum_intent |= F2PY_INTENT_IN; + capi_acf_sum_tmp = array_from_pyobj(NPY_CFLOAT,acf_sum_Dims,acf_sum_Rank,capi_acf_sum_intent,acf_sum_capi); + if (capi_acf_sum_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 1st argument `acf_sum' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + acf_sum = (complex_float *)(PyArray_DATA(capi_acf_sum_tmp)); + + /* Processing variable ut */ + f2py_success = float_from_pyobj(&ut,ut_capi,"full_profile_profile.profile() 17th argument (ut) can't be converted to float"); + if (f2py_success) { + /* Processing variable nacf */ + f2py_success = int_from_pyobj(&nacf,nacf_capi,"full_profile_profile.profile() 18th argument (nacf) can't be converted to int"); + if (f2py_success) { + /* Processing variable status */ + status_Dims[0]=1; + capi_status_intent |= F2PY_INTENT_IN; + capi_status_tmp = array_from_pyobj(NPY_FLOAT,status_Dims,status_Rank,capi_status_intent,status_capi); + if (capi_status_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 20th argument `status' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + status = (float *)(PyArray_DATA(capi_status_tmp)); + + /* Processing variable ote */ + ote_Dims[0]=nacf; + capi_ote_intent |= F2PY_INTENT_IN; + capi_ote_tmp = array_from_pyobj(NPY_FLOAT,ote_Dims,ote_Rank,capi_ote_intent,ote_capi); + if (capi_ote_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 8th argument `ote' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + ote = (float *)(PyArray_DATA(capi_ote_tmp)); + + /* Processing variable ete */ + ete_Dims[0]=nacf; + capi_ete_intent |= F2PY_INTENT_IN; + capi_ete_tmp = array_from_pyobj(NPY_FLOAT,ete_Dims,ete_Rank,capi_ete_intent,ete_capi); + if (capi_ete_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 9th argument `ete' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + ete = (float *)(PyArray_DATA(capi_ete_tmp)); + + /* Processing variable oti */ + oti_Dims[0]=nacf; + capi_oti_intent |= F2PY_INTENT_IN; + capi_oti_tmp = array_from_pyobj(NPY_FLOAT,oti_Dims,oti_Rank,capi_oti_intent,oti_capi); + if (capi_oti_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 10th argument `oti' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + oti = (float *)(PyArray_DATA(capi_oti_tmp)); + + /* Processing variable eti */ + eti_Dims[0]=nacf; + capi_eti_intent |= F2PY_INTENT_IN; + capi_eti_tmp = array_from_pyobj(NPY_FLOAT,eti_Dims,eti_Rank,capi_eti_intent,eti_capi); + if (capi_eti_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 11st argument `eti' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + eti = (float *)(PyArray_DATA(capi_eti_tmp)); + + /* Processing variable oph */ + oph_Dims[0]=nacf; + capi_oph_intent |= F2PY_INTENT_IN; + capi_oph_tmp = array_from_pyobj(NPY_FLOAT,oph_Dims,oph_Rank,capi_oph_intent,oph_capi); + if (capi_oph_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 12nd argument `oph' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + oph = (float *)(PyArray_DATA(capi_oph_tmp)); + + /* Processing variable eph */ + eph_Dims[0]=nacf; + capi_eph_intent |= F2PY_INTENT_IN; + capi_eph_tmp = array_from_pyobj(NPY_FLOAT,eph_Dims,eph_Rank,capi_eph_intent,eph_capi); + if (capi_eph_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 13rd argument `eph' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + eph = (float *)(PyArray_DATA(capi_eph_tmp)); + + /* Processing variable ophe */ + ophe_Dims[0]=nacf; + capi_ophe_intent |= F2PY_INTENT_IN; + capi_ophe_tmp = array_from_pyobj(NPY_FLOAT,ophe_Dims,ophe_Rank,capi_ophe_intent,ophe_capi); + if (capi_ophe_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 14th argument `ophe' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + ophe = (float *)(PyArray_DATA(capi_ophe_tmp)); + + /* Processing variable ephe */ + ephe_Dims[0]=nacf; + capi_ephe_intent |= F2PY_INTENT_IN; + capi_ephe_tmp = array_from_pyobj(NPY_FLOAT,ephe_Dims,ephe_Rank,capi_ephe_intent,ephe_capi); + if (capi_ephe_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 15th argument `ephe' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + ephe = (float *)(PyArray_DATA(capi_ephe_tmp)); + + /* Processing variable nhts */ + if (nhts_capi == Py_None) nhts = shape(acf_sum,1); else + f2py_success = int_from_pyobj(&nhts,nhts_capi,"full_profile_profile.profile() 1st keyword (nhts) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(shape(acf_sum,1)==nhts,"shape(acf_sum,1)==nhts","1st keyword nhts","profile:nhts=%d",nhts) { + /* Processing variable ibits */ + if (ibits_capi == Py_None) ibits = shape(acf_sum,2); else + f2py_success = int_from_pyobj(&ibits,ibits_capi,"full_profile_profile.profile() 2nd keyword (ibits) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(shape(acf_sum,2)==ibits,"shape(acf_sum,2)==ibits","2nd keyword ibits","profile:ibits=%d",ibits) { + /* Processing variable acf_avg_real */ + acf_avg_real_Dims[0]=nhts,acf_avg_real_Dims[1]=ibits; + capi_acf_avg_real_intent |= F2PY_INTENT_IN; + capi_acf_avg_real_tmp = array_from_pyobj(NPY_FLOAT,acf_avg_real_Dims,acf_avg_real_Rank,capi_acf_avg_real_intent,acf_avg_real_capi); + if (capi_acf_avg_real_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 19th argument `acf_avg_real' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + acf_avg_real = (float *)(PyArray_DATA(capi_acf_avg_real_tmp)); + + /* Processing variable acf_err */ + acf_err_Dims[0]=nhts,acf_err_Dims[1]=ibits; + capi_acf_err_intent |= F2PY_INTENT_IN; + capi_acf_err_tmp = array_from_pyobj(NPY_FLOAT,acf_err_Dims,acf_err_Rank,capi_acf_err_intent,acf_err_capi); + if (capi_acf_err_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 2nd argument `acf_err' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + acf_err = (float *)(PyArray_DATA(capi_acf_err_tmp)); + + /* Processing variable power */ + power_Dims[0]=nhts; + capi_power_intent |= F2PY_INTENT_IN; + capi_power_tmp = array_from_pyobj(NPY_FLOAT,power_Dims,power_Rank,capi_power_intent,power_capi); + if (capi_power_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 3rd argument `power' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + power = (float *)(PyArray_DATA(capi_power_tmp)); + + /* Processing variable en */ + en_Dims[0]=nhts; + capi_en_intent |= F2PY_INTENT_IN; + capi_en_tmp = array_from_pyobj(NPY_FLOAT,en_Dims,en_Rank,capi_en_intent,en_capi); + if (capi_en_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 4th argument `en' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + en = (float *)(PyArray_DATA(capi_en_tmp)); + + /* Processing variable alag */ + alag_Dims[0]=ibits; + capi_alag_intent |= F2PY_INTENT_IN; + capi_alag_tmp = array_from_pyobj(NPY_FLOAT,alag_Dims,alag_Rank,capi_alag_intent,alag_capi); + if (capi_alag_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 5th argument `alag' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + alag = (float *)(PyArray_DATA(capi_alag_tmp)); + + /* Processing variable thb2 */ + thb2_Dims[0]=nhts; + capi_thb2_intent |= F2PY_INTENT_IN; + capi_thb2_tmp = array_from_pyobj(NPY_FLOAT,thb2_Dims,thb2_Rank,capi_thb2_intent,thb2_capi); + if (capi_thb2_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 6th argument `thb2' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + thb2 = (float *)(PyArray_DATA(capi_thb2_tmp)); + + /* Processing variable bfm2 */ + bfm2_Dims[0]=nhts; + capi_bfm2_intent |= F2PY_INTENT_IN; + capi_bfm2_tmp = array_from_pyobj(NPY_FLOAT,bfm2_Dims,bfm2_Rank,capi_bfm2_intent,bfm2_capi); + if (capi_bfm2_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 7th argument `bfm2' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + bfm2 = (float *)(PyArray_DATA(capi_bfm2_tmp)); + + /* Processing variable range2 */ + range2_Dims[0]=nhts; + capi_range2_intent |= F2PY_INTENT_IN; + capi_range2_tmp = array_from_pyobj(NPY_FLOAT,range2_Dims,range2_Rank,capi_range2_intent,range2_capi); + if (capi_range2_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 16th argument `range2' of full_profile_profile.profile to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + range2 = (float *)(PyArray_DATA(capi_range2_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(acf_sum,acf_err,power,en,alag,thb2,bfm2,ote,ete,oti,eti,oph,eph,ophe,ephe,range2,&ut,&nhts,&nacf,&ibits,acf_avg_real,status); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + if((PyObject *)capi_range2_tmp!=range2_capi) { + Py_XDECREF(capi_range2_tmp); } + } /*if (capi_range2_tmp == NULL) ... else of range2*/ + /* End of cleaning variable range2 */ + if((PyObject *)capi_bfm2_tmp!=bfm2_capi) { + Py_XDECREF(capi_bfm2_tmp); } + } /*if (capi_bfm2_tmp == NULL) ... else of bfm2*/ + /* End of cleaning variable bfm2 */ + if((PyObject *)capi_thb2_tmp!=thb2_capi) { + Py_XDECREF(capi_thb2_tmp); } + } /*if (capi_thb2_tmp == NULL) ... else of thb2*/ + /* End of cleaning variable thb2 */ + if((PyObject *)capi_alag_tmp!=alag_capi) { + Py_XDECREF(capi_alag_tmp); } + } /*if (capi_alag_tmp == NULL) ... else of alag*/ + /* End of cleaning variable alag */ + if((PyObject *)capi_en_tmp!=en_capi) { + Py_XDECREF(capi_en_tmp); } + } /*if (capi_en_tmp == NULL) ... else of en*/ + /* End of cleaning variable en */ + if((PyObject *)capi_power_tmp!=power_capi) { + Py_XDECREF(capi_power_tmp); } + } /*if (capi_power_tmp == NULL) ... else of power*/ + /* End of cleaning variable power */ + if((PyObject *)capi_acf_err_tmp!=acf_err_capi) { + Py_XDECREF(capi_acf_err_tmp); } + } /*if (capi_acf_err_tmp == NULL) ... else of acf_err*/ + /* End of cleaning variable acf_err */ + if((PyObject *)capi_acf_avg_real_tmp!=acf_avg_real_capi) { + Py_XDECREF(capi_acf_avg_real_tmp); } + } /*if (capi_acf_avg_real_tmp == NULL) ... else of acf_avg_real*/ + /* End of cleaning variable acf_avg_real */ + } /*CHECKSCALAR(shape(acf_sum,2)==ibits)*/ + } /*if (f2py_success) of ibits*/ + /* End of cleaning variable ibits */ + } /*CHECKSCALAR(shape(acf_sum,1)==nhts)*/ + } /*if (f2py_success) of nhts*/ + /* End of cleaning variable nhts */ + if((PyObject *)capi_ephe_tmp!=ephe_capi) { + Py_XDECREF(capi_ephe_tmp); } + } /*if (capi_ephe_tmp == NULL) ... else of ephe*/ + /* End of cleaning variable ephe */ + if((PyObject *)capi_ophe_tmp!=ophe_capi) { + Py_XDECREF(capi_ophe_tmp); } + } /*if (capi_ophe_tmp == NULL) ... else of ophe*/ + /* End of cleaning variable ophe */ + if((PyObject *)capi_eph_tmp!=eph_capi) { + Py_XDECREF(capi_eph_tmp); } + } /*if (capi_eph_tmp == NULL) ... else of eph*/ + /* End of cleaning variable eph */ + if((PyObject *)capi_oph_tmp!=oph_capi) { + Py_XDECREF(capi_oph_tmp); } + } /*if (capi_oph_tmp == NULL) ... else of oph*/ + /* End of cleaning variable oph */ + if((PyObject *)capi_eti_tmp!=eti_capi) { + Py_XDECREF(capi_eti_tmp); } + } /*if (capi_eti_tmp == NULL) ... else of eti*/ + /* End of cleaning variable eti */ + if((PyObject *)capi_oti_tmp!=oti_capi) { + Py_XDECREF(capi_oti_tmp); } + } /*if (capi_oti_tmp == NULL) ... else of oti*/ + /* End of cleaning variable oti */ + if((PyObject *)capi_ete_tmp!=ete_capi) { + Py_XDECREF(capi_ete_tmp); } + } /*if (capi_ete_tmp == NULL) ... else of ete*/ + /* End of cleaning variable ete */ + if((PyObject *)capi_ote_tmp!=ote_capi) { + Py_XDECREF(capi_ote_tmp); } + } /*if (capi_ote_tmp == NULL) ... else of ote*/ + /* End of cleaning variable ote */ + if((PyObject *)capi_status_tmp!=status_capi) { + Py_XDECREF(capi_status_tmp); } + } /*if (capi_status_tmp == NULL) ... else of status*/ + /* End of cleaning variable status */ + } /*if (f2py_success) of nacf*/ + /* End of cleaning variable nacf */ + } /*if (f2py_success) of ut*/ + /* End of cleaning variable ut */ + if((PyObject *)capi_acf_sum_tmp!=acf_sum_capi) { + Py_XDECREF(capi_acf_sum_tmp); } + } /*if (capi_acf_sum_tmp == NULL) ... else of acf_sum*/ + /* End of cleaning variable acf_sum */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of profile *******************************/ + +/************************************ grid ************************************/ +static char doc_f2py_rout_full_profile_profile_grid[] = "\ +grid()\n\nWrapper for ``grid``.\ +\n"; +/* extern void F_FUNC(grid,GRID)(void); */ +static PyObject *f2py_rout_full_profile_profile_grid(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(void)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + static char *capi_kwlist[] = {NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "|:full_profile_profile.grid",\ + capi_kwlist)) + return NULL; +/*frompyobj*/ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of grid ********************************/ + +/********************************* propagate *********************************/ +static char doc_f2py_rout_full_profile_profile_propagate[] = "\ +propagate(xe)\n\nWrapper for ``propagate``.\ +\n\nParameters\n----------\n" +"xe : input rank-1 array('f') with bounds (150)"; +/* extern void F_FUNC(propagate,PROPAGATE)(float*); */ +static PyObject *f2py_rout_full_profile_profile_propagate(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float *xe = NULL; + npy_intp xe_Dims[1] = {-1}; + const int xe_Rank = 1; + PyArrayObject *capi_xe_tmp = NULL; + int capi_xe_intent = 0; + PyObject *xe_capi = Py_None; + static char *capi_kwlist[] = {"xe",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "O|:full_profile_profile.propagate",\ + capi_kwlist,&xe_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable xe */ + xe_Dims[0]=150; + capi_xe_intent |= F2PY_INTENT_IN; + capi_xe_tmp = array_from_pyobj(NPY_FLOAT,xe_Dims,xe_Rank,capi_xe_intent,xe_capi); + if (capi_xe_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 1st argument `xe' of full_profile_profile.propagate to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + xe = (float *)(PyArray_DATA(capi_xe_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(xe); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + if((PyObject *)capi_xe_tmp!=xe_capi) { + Py_XDECREF(capi_xe_tmp); } + } /*if (capi_xe_tmp == NULL) ... else of xe*/ + /* End of cleaning variable xe */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/****************************** end of propagate ******************************/ + +/********************************* fcn_lpreg *********************************/ +static char doc_f2py_rout_full_profile_profile_fcn_lpreg[] = "\ +fcn_lpreg(x,fvec,iflag,[m,n])\n\nWrapper for ``fcn_lpreg``.\ +\n\nParameters\n----------\n" +"x : input rank-1 array('f') with bounds (n)\n" +"fvec : input rank-1 array('f') with bounds (m)\n" +"iflag : input int\n" +"\nOther Parameters\n----------------\n" +"m : input int, optional\n Default: len(fvec)\n" +"n : input int, optional\n Default: len(x)"; +/* extern void F_FUNC_US(fcn_lpreg,FCN_LPREG)(int*,int*,float*,float*,int*); */ +static PyObject *f2py_rout_full_profile_profile_fcn_lpreg(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(int*,int*,float*,float*,int*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + int m = 0; + PyObject *m_capi = Py_None; + int n = 0; + PyObject *n_capi = Py_None; + float *x = NULL; + npy_intp x_Dims[1] = {-1}; + const int x_Rank = 1; + PyArrayObject *capi_x_tmp = NULL; + int capi_x_intent = 0; + PyObject *x_capi = Py_None; + float *fvec = NULL; + npy_intp fvec_Dims[1] = {-1}; + const int fvec_Rank = 1; + PyArrayObject *capi_fvec_tmp = NULL; + int capi_fvec_intent = 0; + PyObject *fvec_capi = Py_None; + int iflag = 0; + PyObject *iflag_capi = Py_None; + static char *capi_kwlist[] = {"x","fvec","iflag","m","n",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOO|OO:full_profile_profile.fcn_lpreg",\ + capi_kwlist,&x_capi,&fvec_capi,&iflag_capi,&m_capi,&n_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable x */ + ; + capi_x_intent |= F2PY_INTENT_IN; + capi_x_tmp = array_from_pyobj(NPY_FLOAT,x_Dims,x_Rank,capi_x_intent,x_capi); + if (capi_x_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 1st argument `x' of full_profile_profile.fcn_lpreg to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + x = (float *)(PyArray_DATA(capi_x_tmp)); + + /* Processing variable fvec */ + ; + capi_fvec_intent |= F2PY_INTENT_IN; + capi_fvec_tmp = array_from_pyobj(NPY_FLOAT,fvec_Dims,fvec_Rank,capi_fvec_intent,fvec_capi); + if (capi_fvec_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 2nd argument `fvec' of full_profile_profile.fcn_lpreg to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + fvec = (float *)(PyArray_DATA(capi_fvec_tmp)); + + /* Processing variable iflag */ + f2py_success = int_from_pyobj(&iflag,iflag_capi,"full_profile_profile.fcn_lpreg() 3rd argument (iflag) can't be converted to int"); + if (f2py_success) { + /* Processing variable m */ + if (m_capi == Py_None) m = len(fvec); else + f2py_success = int_from_pyobj(&m,m_capi,"full_profile_profile.fcn_lpreg() 1st keyword (m) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(fvec)>=m,"len(fvec)>=m","1st keyword m","fcn_lpreg:m=%d",m) { + /* Processing variable n */ + if (n_capi == Py_None) n = len(x); else + f2py_success = int_from_pyobj(&n,n_capi,"full_profile_profile.fcn_lpreg() 2nd keyword (n) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(x)>=n,"len(x)>=n","2nd keyword n","fcn_lpreg:n=%d",n) { +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&m,&n,x,fvec,&iflag); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + } /*CHECKSCALAR(len(x)>=n)*/ + } /*if (f2py_success) of n*/ + /* End of cleaning variable n */ + } /*CHECKSCALAR(len(fvec)>=m)*/ + } /*if (f2py_success) of m*/ + /* End of cleaning variable m */ + } /*if (f2py_success) of iflag*/ + /* End of cleaning variable iflag */ + if((PyObject *)capi_fvec_tmp!=fvec_capi) { + Py_XDECREF(capi_fvec_tmp); } + } /*if (capi_fvec_tmp == NULL) ... else of fvec*/ + /* End of cleaning variable fvec */ + if((PyObject *)capi_x_tmp!=x_capi) { + Py_XDECREF(capi_x_tmp); } + } /*if (capi_x_tmp == NULL) ... else of x*/ + /* End of cleaning variable x */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/****************************** end of fcn_lpreg ******************************/ + +/********************************* get_scale *********************************/ +static char doc_f2py_rout_full_profile_profile_get_scale[] = "\ +get_scale(plag2)\n\nWrapper for ``get_scale``.\ +\n\nParameters\n----------\n" +"plag2 : input rank-2 array('f') with bounds (16,75)"; +/* extern void F_FUNC_US(get_scale,GET_SCALE)(float*); */ +static PyObject *f2py_rout_full_profile_profile_get_scale(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float *plag2 = NULL; + npy_intp plag2_Dims[2] = {-1, -1}; + const int plag2_Rank = 2; + PyArrayObject *capi_plag2_tmp = NULL; + int capi_plag2_intent = 0; + PyObject *plag2_capi = Py_None; + static char *capi_kwlist[] = {"plag2",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "O|:full_profile_profile.get_scale",\ + capi_kwlist,&plag2_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable plag2 */ + plag2_Dims[0]=16,plag2_Dims[1]=75; + capi_plag2_intent |= F2PY_INTENT_IN; + capi_plag2_tmp = array_from_pyobj(NPY_FLOAT,plag2_Dims,plag2_Rank,capi_plag2_intent,plag2_capi); + if (capi_plag2_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 1st argument `plag2' of full_profile_profile.get_scale to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + plag2 = (float *)(PyArray_DATA(capi_plag2_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(plag2); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + if((PyObject *)capi_plag2_tmp!=plag2_capi) { + Py_XDECREF(capi_plag2_tmp); } + } /*if (capi_plag2_tmp == NULL) ... else of plag2*/ + /* End of cleaning variable plag2 */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/****************************** end of get_scale ******************************/ + +/*********************************** enorm ***********************************/ +static char doc_f2py_rout_full_profile_profile_enorm[] = "\ +enorm = enorm(x,[n])\n\nWrapper for ``enorm``.\ +\n\nParameters\n----------\n" +"x : input rank-1 array('f') with bounds (n)\n" +"\nOther Parameters\n----------------\n" +"n : input int, optional\n Default: len(x)\n" +"\nReturns\n-------\n" +"enorm : float"; +/* extern void F_WRAPPEDFUNC(enorm,ENORM)(float*,int*,float*); */ +static PyObject *f2py_rout_full_profile_profile_enorm(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,int*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float enorm = 0; + int n = 0; + PyObject *n_capi = Py_None; + float *x = NULL; + npy_intp x_Dims[1] = {-1}; + const int x_Rank = 1; + PyArrayObject *capi_x_tmp = NULL; + int capi_x_intent = 0; + PyObject *x_capi = Py_None; + static char *capi_kwlist[] = {"x","n",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "O|O:full_profile_profile.enorm",\ + capi_kwlist,&x_capi,&n_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable x */ + ; + capi_x_intent |= F2PY_INTENT_IN; + capi_x_tmp = array_from_pyobj(NPY_FLOAT,x_Dims,x_Rank,capi_x_intent,x_capi); + if (capi_x_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 1st argument `x' of full_profile_profile.enorm to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + x = (float *)(PyArray_DATA(capi_x_tmp)); + + /* Processing variable enorm */ + /* Processing variable n */ + if (n_capi == Py_None) n = len(x); else + f2py_success = int_from_pyobj(&n,n_capi,"full_profile_profile.enorm() 1st keyword (n) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(x)>=n,"len(x)>=n","1st keyword n","enorm:n=%d",n) { +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&enorm,&n,x); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",enorm); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + } /*CHECKSCALAR(len(x)>=n)*/ + } /*if (f2py_success) of n*/ + /* End of cleaning variable n */ + /* End of cleaning variable enorm */ + if((PyObject *)capi_x_tmp!=x_capi) { + Py_XDECREF(capi_x_tmp); } + } /*if (capi_x_tmp == NULL) ... else of x*/ + /* End of cleaning variable x */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of enorm ********************************/ + +/*********************************** fdjac2 ***********************************/ +static char doc_f2py_rout_full_profile_profile_fdjac2[] = "\ +fdjac2(fcn,x,fvec,fjac,iflag,epsfcn,wa,[m,n,ldfjac,fcn_extra_args])\n\nWrapper for ``fdjac2``.\ +\n\nParameters\n----------\n" +"fcn : call-back function\n" +"x : input rank-1 array('f') with bounds (n)\n" +"fvec : input rank-1 array('f') with bounds (m)\n" +"fjac : input rank-2 array('f') with bounds (ldfjac,n)\n" +"iflag : input int\n" +"epsfcn : input float\n" +"wa : input rank-1 array('f') with bounds (m)\n" +"\nOther Parameters\n----------------\n" +"fcn_extra_args : input tuple, optional\n Default: ()\n" +"m : input int, optional\n Default: len(fvec)\n" +"n : input int, optional\n Default: len(x)\n" +"ldfjac : input int, optional\n Default: shape(fjac,0)\n" +"\nNotes\n-----\nCall-back functions::\n\n" +" def fcn(x,wa,iflag,[m,n]): return \n\ + Required arguments:\n" +" x : input rank-1 array('f') with bounds (n)\n" +" wa : input rank-1 array('f') with bounds (m)\n" +" iflag : input int\n" +" Optional arguments:\n" +" m : input int, optional\n Default: len(wa)\n" +" n : input int, optional\n Default: len(x)"; +/* extern void F_FUNC(fdjac2,FDJAC2)(cb_fcn_in_fdjac2__user__routines_typedef,int*,int*,float*,float*,float*,int*,int*,float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_fdjac2(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(cb_fcn_in_fdjac2__user__routines_typedef,int*,int*,float*,float*,float*,int*,int*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + PyObject *fcn_capi = Py_None; + PyTupleObject *fcn_xa_capi = NULL; + PyTupleObject *fcn_args_capi = NULL; + int fcn_nofargs_capi = 0; + cb_fcn_in_fdjac2__user__routines_typedef fcn_cptr; + int m = 0; + PyObject *m_capi = Py_None; + int n = 0; + PyObject *n_capi = Py_None; + float *x = NULL; + npy_intp x_Dims[1] = {-1}; + const int x_Rank = 1; + PyArrayObject *capi_x_tmp = NULL; + int capi_x_intent = 0; + PyObject *x_capi = Py_None; + float *fvec = NULL; + npy_intp fvec_Dims[1] = {-1}; + const int fvec_Rank = 1; + PyArrayObject *capi_fvec_tmp = NULL; + int capi_fvec_intent = 0; + PyObject *fvec_capi = Py_None; + float *fjac = NULL; + npy_intp fjac_Dims[2] = {-1, -1}; + const int fjac_Rank = 2; + PyArrayObject *capi_fjac_tmp = NULL; + int capi_fjac_intent = 0; + PyObject *fjac_capi = Py_None; + int ldfjac = 0; + PyObject *ldfjac_capi = Py_None; + int iflag = 0; + PyObject *iflag_capi = Py_None; + float epsfcn = 0; + PyObject *epsfcn_capi = Py_None; + float *wa = NULL; + npy_intp wa_Dims[1] = {-1}; + const int wa_Rank = 1; + PyArrayObject *capi_wa_tmp = NULL; + int capi_wa_intent = 0; + PyObject *wa_capi = Py_None; + static char *capi_kwlist[] = {"fcn","x","fvec","fjac","iflag","epsfcn","wa","m","n","ldfjac","fcn_extra_args",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOOOO|OOOO!:full_profile_profile.fdjac2",\ + capi_kwlist,&fcn_capi,&x_capi,&fvec_capi,&fjac_capi,&iflag_capi,&epsfcn_capi,&wa_capi,&m_capi,&n_capi,&ldfjac_capi,&PyTuple_Type,&fcn_xa_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable fcn */ +if(F2PyCapsule_Check(fcn_capi)) { + fcn_cptr = F2PyCapsule_AsVoidPtr(fcn_capi); +} else { + fcn_cptr = cb_fcn_in_fdjac2__user__routines; +} + + fcn_nofargs_capi = cb_fcn_in_fdjac2__user__routines_nofargs; + if (create_cb_arglist(fcn_capi,fcn_xa_capi,5,2,&cb_fcn_in_fdjac2__user__routines_nofargs,&fcn_args_capi,"failed in processing argument list for call-back fcn.")) { + jmp_buf fcn_jmpbuf; + CFUNCSMESS("Saving jmpbuf for `fcn`.\n"); + SWAP(fcn_capi,cb_fcn_in_fdjac2__user__routines_capi,PyObject); + SWAP(fcn_args_capi,cb_fcn_in_fdjac2__user__routines_args_capi,PyTupleObject); + memcpy(&fcn_jmpbuf,&cb_fcn_in_fdjac2__user__routines_jmpbuf,sizeof(jmp_buf)); + /* Processing variable x */ + ; + capi_x_intent |= F2PY_INTENT_IN; + capi_x_tmp = array_from_pyobj(NPY_FLOAT,x_Dims,x_Rank,capi_x_intent,x_capi); + if (capi_x_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 2nd argument `x' of full_profile_profile.fdjac2 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + x = (float *)(PyArray_DATA(capi_x_tmp)); + + /* Processing variable fvec */ + ; + capi_fvec_intent |= F2PY_INTENT_IN; + capi_fvec_tmp = array_from_pyobj(NPY_FLOAT,fvec_Dims,fvec_Rank,capi_fvec_intent,fvec_capi); + if (capi_fvec_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 3rd argument `fvec' of full_profile_profile.fdjac2 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + fvec = (float *)(PyArray_DATA(capi_fvec_tmp)); + + /* Processing variable iflag */ + f2py_success = int_from_pyobj(&iflag,iflag_capi,"full_profile_profile.fdjac2() 5th argument (iflag) can't be converted to int"); + if (f2py_success) { + /* Processing variable epsfcn */ + f2py_success = float_from_pyobj(&epsfcn,epsfcn_capi,"full_profile_profile.fdjac2() 6th argument (epsfcn) can't be converted to float"); + if (f2py_success) { + /* Processing variable m */ + if (m_capi == Py_None) m = len(fvec); else + f2py_success = int_from_pyobj(&m,m_capi,"full_profile_profile.fdjac2() 1st keyword (m) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(fvec)>=m,"len(fvec)>=m","1st keyword m","fdjac2:m=%d",m) { + /* Processing variable n */ + if (n_capi == Py_None) n = len(x); else + f2py_success = int_from_pyobj(&n,n_capi,"full_profile_profile.fdjac2() 2nd keyword (n) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(x)>=n,"len(x)>=n","2nd keyword n","fdjac2:n=%d",n) { + /* Processing variable fjac */ + fjac_Dims[1]=n; + capi_fjac_intent |= F2PY_INTENT_IN; + capi_fjac_tmp = array_from_pyobj(NPY_FLOAT,fjac_Dims,fjac_Rank,capi_fjac_intent,fjac_capi); + if (capi_fjac_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 4th argument `fjac' of full_profile_profile.fdjac2 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + fjac = (float *)(PyArray_DATA(capi_fjac_tmp)); + + /* Processing variable ldfjac */ + if (ldfjac_capi == Py_None) ldfjac = shape(fjac,0); else + f2py_success = int_from_pyobj(&ldfjac,ldfjac_capi,"full_profile_profile.fdjac2() 3rd keyword (ldfjac) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(shape(fjac,0)==ldfjac,"shape(fjac,0)==ldfjac","3rd keyword ldfjac","fdjac2:ldfjac=%d",ldfjac) { + /* Processing variable wa */ + wa_Dims[0]=m; + capi_wa_intent |= F2PY_INTENT_IN; + capi_wa_tmp = array_from_pyobj(NPY_FLOAT,wa_Dims,wa_Rank,capi_wa_intent,wa_capi); + if (capi_wa_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 7th argument `wa' of full_profile_profile.fdjac2 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa = (float *)(PyArray_DATA(capi_wa_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + if ((setjmp(cb_fcn_in_fdjac2__user__routines_jmpbuf))) { + f2py_success = 0; + } else { + (*f2py_func)(fcn_cptr,&m,&n,x,fvec,fjac,&ldfjac,&iflag,&epsfcn,wa); + } +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + if((PyObject *)capi_wa_tmp!=wa_capi) { + Py_XDECREF(capi_wa_tmp); } + } /*if (capi_wa_tmp == NULL) ... else of wa*/ + /* End of cleaning variable wa */ + } /*CHECKSCALAR(shape(fjac,0)==ldfjac)*/ + } /*if (f2py_success) of ldfjac*/ + /* End of cleaning variable ldfjac */ + if((PyObject *)capi_fjac_tmp!=fjac_capi) { + Py_XDECREF(capi_fjac_tmp); } + } /*if (capi_fjac_tmp == NULL) ... else of fjac*/ + /* End of cleaning variable fjac */ + } /*CHECKSCALAR(len(x)>=n)*/ + } /*if (f2py_success) of n*/ + /* End of cleaning variable n */ + } /*CHECKSCALAR(len(fvec)>=m)*/ + } /*if (f2py_success) of m*/ + /* End of cleaning variable m */ + } /*if (f2py_success) of epsfcn*/ + /* End of cleaning variable epsfcn */ + } /*if (f2py_success) of iflag*/ + /* End of cleaning variable iflag */ + if((PyObject *)capi_fvec_tmp!=fvec_capi) { + Py_XDECREF(capi_fvec_tmp); } + } /*if (capi_fvec_tmp == NULL) ... else of fvec*/ + /* End of cleaning variable fvec */ + if((PyObject *)capi_x_tmp!=x_capi) { + Py_XDECREF(capi_x_tmp); } + } /*if (capi_x_tmp == NULL) ... else of x*/ + /* End of cleaning variable x */ + CFUNCSMESS("Restoring jmpbuf for `fcn`.\n"); + cb_fcn_in_fdjac2__user__routines_capi = fcn_capi; + Py_DECREF(cb_fcn_in_fdjac2__user__routines_args_capi); + cb_fcn_in_fdjac2__user__routines_args_capi = fcn_args_capi; + cb_fcn_in_fdjac2__user__routines_nofargs = fcn_nofargs_capi; + memcpy(&cb_fcn_in_fdjac2__user__routines_jmpbuf,&fcn_jmpbuf,sizeof(jmp_buf)); + } + /* End of cleaning variable fcn */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of fdjac2 *******************************/ + +/*********************************** lmdif ***********************************/ +static char doc_f2py_rout_full_profile_profile_lmdif[] = "\ +lmdif(fcn,x,fvec,ftol,xtol,gtol,maxfev,epsfcn,diag,mode,factor,nprint,info,nfev,fjac,ipvt,qtf,wa1,wa2,wa3,wa4,[m,n,ldfjac,fcn_extra_args])\n\nWrapper for ``lmdif``.\ +\n\nParameters\n----------\n" +"fcn : call-back function\n" +"x : input rank-1 array('f') with bounds (n)\n" +"fvec : input rank-1 array('f') with bounds (m)\n" +"ftol : input float\n" +"xtol : input float\n" +"gtol : input float\n" +"maxfev : input int\n" +"epsfcn : input float\n" +"diag : input rank-1 array('f') with bounds (n)\n" +"mode : input int\n" +"factor : input float\n" +"nprint : input int\n" +"info : input int\n" +"nfev : input int\n" +"fjac : input rank-2 array('f') with bounds (ldfjac,n)\n" +"ipvt : input rank-1 array('i') with bounds (n)\n" +"qtf : input rank-1 array('f') with bounds (n)\n" +"wa1 : input rank-1 array('f') with bounds (n)\n" +"wa2 : input rank-1 array('f') with bounds (n)\n" +"wa3 : input rank-1 array('f') with bounds (n)\n" +"wa4 : input rank-1 array('f') with bounds (m)\n" +"\nOther Parameters\n----------------\n" +"fcn_extra_args : input tuple, optional\n Default: ()\n" +"m : input int, optional\n Default: len(fvec)\n" +"n : input int, optional\n Default: len(x)\n" +"ldfjac : input int, optional\n Default: shape(fjac,0)\n" +"\nNotes\n-----\nCall-back functions::\n\n" +" def fcn(x,fvec,iflag,[m,n]): return \n\ + Required arguments:\n" +" x : input rank-1 array('f') with bounds (n)\n" +" fvec : input rank-1 array('f') with bounds (m)\n" +" iflag : input int\n" +" Optional arguments:\n" +" m : input int, optional\n Default: len(fvec)\n" +" n : input int, optional\n Default: len(x)"; +/* extern void F_FUNC(lmdif,LMDIF)(cb_fcn_in_lmdif__user__routines_typedef,int*,int*,float*,float*,float*,float*,float*,int*,float*,float*,int*,float*,int*,int*,int*,float*,int*,int*,float*,float*,float*,float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_lmdif(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(cb_fcn_in_lmdif__user__routines_typedef,int*,int*,float*,float*,float*,float*,float*,int*,float*,float*,int*,float*,int*,int*,int*,float*,int*,int*,float*,float*,float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + PyObject *fcn_capi = Py_None; + PyTupleObject *fcn_xa_capi = NULL; + PyTupleObject *fcn_args_capi = NULL; + int fcn_nofargs_capi = 0; + cb_fcn_in_lmdif__user__routines_typedef fcn_cptr; + int m = 0; + PyObject *m_capi = Py_None; + int n = 0; + PyObject *n_capi = Py_None; + float *x = NULL; + npy_intp x_Dims[1] = {-1}; + const int x_Rank = 1; + PyArrayObject *capi_x_tmp = NULL; + int capi_x_intent = 0; + PyObject *x_capi = Py_None; + float *fvec = NULL; + npy_intp fvec_Dims[1] = {-1}; + const int fvec_Rank = 1; + PyArrayObject *capi_fvec_tmp = NULL; + int capi_fvec_intent = 0; + PyObject *fvec_capi = Py_None; + float ftol = 0; + PyObject *ftol_capi = Py_None; + float xtol = 0; + PyObject *xtol_capi = Py_None; + float gtol = 0; + PyObject *gtol_capi = Py_None; + int maxfev = 0; + PyObject *maxfev_capi = Py_None; + float epsfcn = 0; + PyObject *epsfcn_capi = Py_None; + float *diag = NULL; + npy_intp diag_Dims[1] = {-1}; + const int diag_Rank = 1; + PyArrayObject *capi_diag_tmp = NULL; + int capi_diag_intent = 0; + PyObject *diag_capi = Py_None; + int mode = 0; + PyObject *mode_capi = Py_None; + float factor = 0; + PyObject *factor_capi = Py_None; + int nprint = 0; + PyObject *nprint_capi = Py_None; + int info = 0; + PyObject *info_capi = Py_None; + int nfev = 0; + PyObject *nfev_capi = Py_None; + float *fjac = NULL; + npy_intp fjac_Dims[2] = {-1, -1}; + const int fjac_Rank = 2; + PyArrayObject *capi_fjac_tmp = NULL; + int capi_fjac_intent = 0; + PyObject *fjac_capi = Py_None; + int ldfjac = 0; + PyObject *ldfjac_capi = Py_None; + int *ipvt = NULL; + npy_intp ipvt_Dims[1] = {-1}; + const int ipvt_Rank = 1; + PyArrayObject *capi_ipvt_tmp = NULL; + int capi_ipvt_intent = 0; + PyObject *ipvt_capi = Py_None; + float *qtf = NULL; + npy_intp qtf_Dims[1] = {-1}; + const int qtf_Rank = 1; + PyArrayObject *capi_qtf_tmp = NULL; + int capi_qtf_intent = 0; + PyObject *qtf_capi = Py_None; + float *wa1 = NULL; + npy_intp wa1_Dims[1] = {-1}; + const int wa1_Rank = 1; + PyArrayObject *capi_wa1_tmp = NULL; + int capi_wa1_intent = 0; + PyObject *wa1_capi = Py_None; + float *wa2 = NULL; + npy_intp wa2_Dims[1] = {-1}; + const int wa2_Rank = 1; + PyArrayObject *capi_wa2_tmp = NULL; + int capi_wa2_intent = 0; + PyObject *wa2_capi = Py_None; + float *wa3 = NULL; + npy_intp wa3_Dims[1] = {-1}; + const int wa3_Rank = 1; + PyArrayObject *capi_wa3_tmp = NULL; + int capi_wa3_intent = 0; + PyObject *wa3_capi = Py_None; + float *wa4 = NULL; + npy_intp wa4_Dims[1] = {-1}; + const int wa4_Rank = 1; + PyArrayObject *capi_wa4_tmp = NULL; + int capi_wa4_intent = 0; + PyObject *wa4_capi = Py_None; + static char *capi_kwlist[] = {"fcn","x","fvec","ftol","xtol","gtol","maxfev","epsfcn","diag","mode","factor","nprint","info","nfev","fjac","ipvt","qtf","wa1","wa2","wa3","wa4","m","n","ldfjac","fcn_extra_args",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOOOOOOOOOOOOOOOOOO|OOOO!:full_profile_profile.lmdif",\ + capi_kwlist,&fcn_capi,&x_capi,&fvec_capi,&ftol_capi,&xtol_capi,>ol_capi,&maxfev_capi,&epsfcn_capi,&diag_capi,&mode_capi,&factor_capi,&nprint_capi,&info_capi,&nfev_capi,&fjac_capi,&ipvt_capi,&qtf_capi,&wa1_capi,&wa2_capi,&wa3_capi,&wa4_capi,&m_capi,&n_capi,&ldfjac_capi,&PyTuple_Type,&fcn_xa_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable fcn */ +if(F2PyCapsule_Check(fcn_capi)) { + fcn_cptr = F2PyCapsule_AsVoidPtr(fcn_capi); +} else { + fcn_cptr = cb_fcn_in_lmdif__user__routines; +} + + fcn_nofargs_capi = cb_fcn_in_lmdif__user__routines_nofargs; + if (create_cb_arglist(fcn_capi,fcn_xa_capi,5,2,&cb_fcn_in_lmdif__user__routines_nofargs,&fcn_args_capi,"failed in processing argument list for call-back fcn.")) { + jmp_buf fcn_jmpbuf; + CFUNCSMESS("Saving jmpbuf for `fcn`.\n"); + SWAP(fcn_capi,cb_fcn_in_lmdif__user__routines_capi,PyObject); + SWAP(fcn_args_capi,cb_fcn_in_lmdif__user__routines_args_capi,PyTupleObject); + memcpy(&fcn_jmpbuf,&cb_fcn_in_lmdif__user__routines_jmpbuf,sizeof(jmp_buf)); + /* Processing variable x */ + ; + capi_x_intent |= F2PY_INTENT_IN; + capi_x_tmp = array_from_pyobj(NPY_FLOAT,x_Dims,x_Rank,capi_x_intent,x_capi); + if (capi_x_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 2nd argument `x' of full_profile_profile.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + x = (float *)(PyArray_DATA(capi_x_tmp)); + + /* Processing variable fvec */ + ; + capi_fvec_intent |= F2PY_INTENT_IN; + capi_fvec_tmp = array_from_pyobj(NPY_FLOAT,fvec_Dims,fvec_Rank,capi_fvec_intent,fvec_capi); + if (capi_fvec_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 3rd argument `fvec' of full_profile_profile.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + fvec = (float *)(PyArray_DATA(capi_fvec_tmp)); + + /* Processing variable ftol */ + f2py_success = float_from_pyobj(&ftol,ftol_capi,"full_profile_profile.lmdif() 4th argument (ftol) can't be converted to float"); + if (f2py_success) { + /* Processing variable xtol */ + f2py_success = float_from_pyobj(&xtol,xtol_capi,"full_profile_profile.lmdif() 5th argument (xtol) can't be converted to float"); + if (f2py_success) { + /* Processing variable gtol */ + f2py_success = float_from_pyobj(>ol,gtol_capi,"full_profile_profile.lmdif() 6th argument (gtol) can't be converted to float"); + if (f2py_success) { + /* Processing variable maxfev */ + f2py_success = int_from_pyobj(&maxfev,maxfev_capi,"full_profile_profile.lmdif() 7th argument (maxfev) can't be converted to int"); + if (f2py_success) { + /* Processing variable epsfcn */ + f2py_success = float_from_pyobj(&epsfcn,epsfcn_capi,"full_profile_profile.lmdif() 8th argument (epsfcn) can't be converted to float"); + if (f2py_success) { + /* Processing variable mode */ + f2py_success = int_from_pyobj(&mode,mode_capi,"full_profile_profile.lmdif() 10th argument (mode) can't be converted to int"); + if (f2py_success) { + /* Processing variable factor */ + f2py_success = float_from_pyobj(&factor,factor_capi,"full_profile_profile.lmdif() 11st argument (factor) can't be converted to float"); + if (f2py_success) { + /* Processing variable nprint */ + f2py_success = int_from_pyobj(&nprint,nprint_capi,"full_profile_profile.lmdif() 12nd argument (nprint) can't be converted to int"); + if (f2py_success) { + /* Processing variable info */ + f2py_success = int_from_pyobj(&info,info_capi,"full_profile_profile.lmdif() 13rd argument (info) can't be converted to int"); + if (f2py_success) { + /* Processing variable nfev */ + f2py_success = int_from_pyobj(&nfev,nfev_capi,"full_profile_profile.lmdif() 14th argument (nfev) can't be converted to int"); + if (f2py_success) { + /* Processing variable m */ + if (m_capi == Py_None) m = len(fvec); else + f2py_success = int_from_pyobj(&m,m_capi,"full_profile_profile.lmdif() 1st keyword (m) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(fvec)>=m,"len(fvec)>=m","1st keyword m","lmdif:m=%d",m) { + /* Processing variable n */ + if (n_capi == Py_None) n = len(x); else + f2py_success = int_from_pyobj(&n,n_capi,"full_profile_profile.lmdif() 2nd keyword (n) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(x)>=n,"len(x)>=n","2nd keyword n","lmdif:n=%d",n) { + /* Processing variable diag */ + diag_Dims[0]=n; + capi_diag_intent |= F2PY_INTENT_IN; + capi_diag_tmp = array_from_pyobj(NPY_FLOAT,diag_Dims,diag_Rank,capi_diag_intent,diag_capi); + if (capi_diag_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 9th argument `diag' of full_profile_profile.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + diag = (float *)(PyArray_DATA(capi_diag_tmp)); + + /* Processing variable fjac */ + fjac_Dims[1]=n; + capi_fjac_intent |= F2PY_INTENT_IN; + capi_fjac_tmp = array_from_pyobj(NPY_FLOAT,fjac_Dims,fjac_Rank,capi_fjac_intent,fjac_capi); + if (capi_fjac_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 15th argument `fjac' of full_profile_profile.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + fjac = (float *)(PyArray_DATA(capi_fjac_tmp)); + + /* Processing variable ldfjac */ + if (ldfjac_capi == Py_None) ldfjac = shape(fjac,0); else + f2py_success = int_from_pyobj(&ldfjac,ldfjac_capi,"full_profile_profile.lmdif() 3rd keyword (ldfjac) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(shape(fjac,0)==ldfjac,"shape(fjac,0)==ldfjac","3rd keyword ldfjac","lmdif:ldfjac=%d",ldfjac) { + /* Processing variable ipvt */ + ipvt_Dims[0]=n; + capi_ipvt_intent |= F2PY_INTENT_IN; + capi_ipvt_tmp = array_from_pyobj(NPY_INT,ipvt_Dims,ipvt_Rank,capi_ipvt_intent,ipvt_capi); + if (capi_ipvt_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 16th argument `ipvt' of full_profile_profile.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + ipvt = (int *)(PyArray_DATA(capi_ipvt_tmp)); + + /* Processing variable qtf */ + qtf_Dims[0]=n; + capi_qtf_intent |= F2PY_INTENT_IN; + capi_qtf_tmp = array_from_pyobj(NPY_FLOAT,qtf_Dims,qtf_Rank,capi_qtf_intent,qtf_capi); + if (capi_qtf_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 17th argument `qtf' of full_profile_profile.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + qtf = (float *)(PyArray_DATA(capi_qtf_tmp)); + + /* Processing variable wa1 */ + wa1_Dims[0]=n; + capi_wa1_intent |= F2PY_INTENT_IN; + capi_wa1_tmp = array_from_pyobj(NPY_FLOAT,wa1_Dims,wa1_Rank,capi_wa1_intent,wa1_capi); + if (capi_wa1_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 18th argument `wa1' of full_profile_profile.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa1 = (float *)(PyArray_DATA(capi_wa1_tmp)); + + /* Processing variable wa2 */ + wa2_Dims[0]=n; + capi_wa2_intent |= F2PY_INTENT_IN; + capi_wa2_tmp = array_from_pyobj(NPY_FLOAT,wa2_Dims,wa2_Rank,capi_wa2_intent,wa2_capi); + if (capi_wa2_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 19th argument `wa2' of full_profile_profile.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa2 = (float *)(PyArray_DATA(capi_wa2_tmp)); + + /* Processing variable wa3 */ + wa3_Dims[0]=n; + capi_wa3_intent |= F2PY_INTENT_IN; + capi_wa3_tmp = array_from_pyobj(NPY_FLOAT,wa3_Dims,wa3_Rank,capi_wa3_intent,wa3_capi); + if (capi_wa3_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 20th argument `wa3' of full_profile_profile.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa3 = (float *)(PyArray_DATA(capi_wa3_tmp)); + + /* Processing variable wa4 */ + wa4_Dims[0]=m; + capi_wa4_intent |= F2PY_INTENT_IN; + capi_wa4_tmp = array_from_pyobj(NPY_FLOAT,wa4_Dims,wa4_Rank,capi_wa4_intent,wa4_capi); + if (capi_wa4_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 21st argument `wa4' of full_profile_profile.lmdif to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa4 = (float *)(PyArray_DATA(capi_wa4_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + if ((setjmp(cb_fcn_in_lmdif__user__routines_jmpbuf))) { + f2py_success = 0; + } else { + (*f2py_func)(fcn_cptr,&m,&n,x,fvec,&ftol,&xtol,>ol,&maxfev,&epsfcn,diag,&mode,&factor,&nprint,&info,&nfev,fjac,&ldfjac,ipvt,qtf,wa1,wa2,wa3,wa4); + } +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + if((PyObject *)capi_wa4_tmp!=wa4_capi) { + Py_XDECREF(capi_wa4_tmp); } + } /*if (capi_wa4_tmp == NULL) ... else of wa4*/ + /* End of cleaning variable wa4 */ + if((PyObject *)capi_wa3_tmp!=wa3_capi) { + Py_XDECREF(capi_wa3_tmp); } + } /*if (capi_wa3_tmp == NULL) ... else of wa3*/ + /* End of cleaning variable wa3 */ + if((PyObject *)capi_wa2_tmp!=wa2_capi) { + Py_XDECREF(capi_wa2_tmp); } + } /*if (capi_wa2_tmp == NULL) ... else of wa2*/ + /* End of cleaning variable wa2 */ + if((PyObject *)capi_wa1_tmp!=wa1_capi) { + Py_XDECREF(capi_wa1_tmp); } + } /*if (capi_wa1_tmp == NULL) ... else of wa1*/ + /* End of cleaning variable wa1 */ + if((PyObject *)capi_qtf_tmp!=qtf_capi) { + Py_XDECREF(capi_qtf_tmp); } + } /*if (capi_qtf_tmp == NULL) ... else of qtf*/ + /* End of cleaning variable qtf */ + if((PyObject *)capi_ipvt_tmp!=ipvt_capi) { + Py_XDECREF(capi_ipvt_tmp); } + } /*if (capi_ipvt_tmp == NULL) ... else of ipvt*/ + /* End of cleaning variable ipvt */ + } /*CHECKSCALAR(shape(fjac,0)==ldfjac)*/ + } /*if (f2py_success) of ldfjac*/ + /* End of cleaning variable ldfjac */ + if((PyObject *)capi_fjac_tmp!=fjac_capi) { + Py_XDECREF(capi_fjac_tmp); } + } /*if (capi_fjac_tmp == NULL) ... else of fjac*/ + /* End of cleaning variable fjac */ + if((PyObject *)capi_diag_tmp!=diag_capi) { + Py_XDECREF(capi_diag_tmp); } + } /*if (capi_diag_tmp == NULL) ... else of diag*/ + /* End of cleaning variable diag */ + } /*CHECKSCALAR(len(x)>=n)*/ + } /*if (f2py_success) of n*/ + /* End of cleaning variable n */ + } /*CHECKSCALAR(len(fvec)>=m)*/ + } /*if (f2py_success) of m*/ + /* End of cleaning variable m */ + } /*if (f2py_success) of nfev*/ + /* End of cleaning variable nfev */ + } /*if (f2py_success) of info*/ + /* End of cleaning variable info */ + } /*if (f2py_success) of nprint*/ + /* End of cleaning variable nprint */ + } /*if (f2py_success) of factor*/ + /* End of cleaning variable factor */ + } /*if (f2py_success) of mode*/ + /* End of cleaning variable mode */ + } /*if (f2py_success) of epsfcn*/ + /* End of cleaning variable epsfcn */ + } /*if (f2py_success) of maxfev*/ + /* End of cleaning variable maxfev */ + } /*if (f2py_success) of gtol*/ + /* End of cleaning variable gtol */ + } /*if (f2py_success) of xtol*/ + /* End of cleaning variable xtol */ + } /*if (f2py_success) of ftol*/ + /* End of cleaning variable ftol */ + if((PyObject *)capi_fvec_tmp!=fvec_capi) { + Py_XDECREF(capi_fvec_tmp); } + } /*if (capi_fvec_tmp == NULL) ... else of fvec*/ + /* End of cleaning variable fvec */ + if((PyObject *)capi_x_tmp!=x_capi) { + Py_XDECREF(capi_x_tmp); } + } /*if (capi_x_tmp == NULL) ... else of x*/ + /* End of cleaning variable x */ + CFUNCSMESS("Restoring jmpbuf for `fcn`.\n"); + cb_fcn_in_lmdif__user__routines_capi = fcn_capi; + Py_DECREF(cb_fcn_in_lmdif__user__routines_args_capi); + cb_fcn_in_lmdif__user__routines_args_capi = fcn_args_capi; + cb_fcn_in_lmdif__user__routines_nofargs = fcn_nofargs_capi; + memcpy(&cb_fcn_in_lmdif__user__routines_jmpbuf,&fcn_jmpbuf,sizeof(jmp_buf)); + } + /* End of cleaning variable fcn */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of lmdif ********************************/ + +/*********************************** lmpar ***********************************/ +static char doc_f2py_rout_full_profile_profile_lmpar[] = "\ +lmpar(r,ipvt,diag,qtb,delta,par,x,sdiag,wa1,wa2,[n,ldr])\n\nWrapper for ``lmpar``.\ +\n\nParameters\n----------\n" +"r : input rank-2 array('f') with bounds (ldr,n)\n" +"ipvt : input rank-1 array('i') with bounds (n)\n" +"diag : input rank-1 array('f') with bounds (n)\n" +"qtb : input rank-1 array('f') with bounds (n)\n" +"delta : input float\n" +"par : input float\n" +"x : input rank-1 array('f') with bounds (n)\n" +"sdiag : input rank-1 array('f') with bounds (n)\n" +"wa1 : input rank-1 array('f') with bounds (n)\n" +"wa2 : input rank-1 array('f') with bounds (n)\n" +"\nOther Parameters\n----------------\n" +"n : input int, optional\n Default: shape(r,1)\n" +"ldr : input int, optional\n Default: shape(r,0)"; +/* extern void F_FUNC(lmpar,LMPAR)(int*,float*,int*,int*,float*,float*,float*,float*,float*,float*,float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_lmpar(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(int*,float*,int*,int*,float*,float*,float*,float*,float*,float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + int n = 0; + PyObject *n_capi = Py_None; + float *r = NULL; + npy_intp r_Dims[2] = {-1, -1}; + const int r_Rank = 2; + PyArrayObject *capi_r_tmp = NULL; + int capi_r_intent = 0; + PyObject *r_capi = Py_None; + int ldr = 0; + PyObject *ldr_capi = Py_None; + int *ipvt = NULL; + npy_intp ipvt_Dims[1] = {-1}; + const int ipvt_Rank = 1; + PyArrayObject *capi_ipvt_tmp = NULL; + int capi_ipvt_intent = 0; + PyObject *ipvt_capi = Py_None; + float *diag = NULL; + npy_intp diag_Dims[1] = {-1}; + const int diag_Rank = 1; + PyArrayObject *capi_diag_tmp = NULL; + int capi_diag_intent = 0; + PyObject *diag_capi = Py_None; + float *qtb = NULL; + npy_intp qtb_Dims[1] = {-1}; + const int qtb_Rank = 1; + PyArrayObject *capi_qtb_tmp = NULL; + int capi_qtb_intent = 0; + PyObject *qtb_capi = Py_None; + float delta = 0; + PyObject *delta_capi = Py_None; + float par = 0; + PyObject *par_capi = Py_None; + float *x = NULL; + npy_intp x_Dims[1] = {-1}; + const int x_Rank = 1; + PyArrayObject *capi_x_tmp = NULL; + int capi_x_intent = 0; + PyObject *x_capi = Py_None; + float *sdiag = NULL; + npy_intp sdiag_Dims[1] = {-1}; + const int sdiag_Rank = 1; + PyArrayObject *capi_sdiag_tmp = NULL; + int capi_sdiag_intent = 0; + PyObject *sdiag_capi = Py_None; + float *wa1 = NULL; + npy_intp wa1_Dims[1] = {-1}; + const int wa1_Rank = 1; + PyArrayObject *capi_wa1_tmp = NULL; + int capi_wa1_intent = 0; + PyObject *wa1_capi = Py_None; + float *wa2 = NULL; + npy_intp wa2_Dims[1] = {-1}; + const int wa2_Rank = 1; + PyArrayObject *capi_wa2_tmp = NULL; + int capi_wa2_intent = 0; + PyObject *wa2_capi = Py_None; + static char *capi_kwlist[] = {"r","ipvt","diag","qtb","delta","par","x","sdiag","wa1","wa2","n","ldr",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOOOOOOO|OO:full_profile_profile.lmpar",\ + capi_kwlist,&r_capi,&ipvt_capi,&diag_capi,&qtb_capi,&delta_capi,&par_capi,&x_capi,&sdiag_capi,&wa1_capi,&wa2_capi,&n_capi,&ldr_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable r */ + ; + capi_r_intent |= F2PY_INTENT_IN; + capi_r_tmp = array_from_pyobj(NPY_FLOAT,r_Dims,r_Rank,capi_r_intent,r_capi); + if (capi_r_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 1st argument `r' of full_profile_profile.lmpar to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + r = (float *)(PyArray_DATA(capi_r_tmp)); + + /* Processing variable delta */ + f2py_success = float_from_pyobj(&delta,delta_capi,"full_profile_profile.lmpar() 5th argument (delta) can't be converted to float"); + if (f2py_success) { + /* Processing variable par */ + f2py_success = float_from_pyobj(&par,par_capi,"full_profile_profile.lmpar() 6th argument (par) can't be converted to float"); + if (f2py_success) { + /* Processing variable n */ + if (n_capi == Py_None) n = shape(r,1); else + f2py_success = int_from_pyobj(&n,n_capi,"full_profile_profile.lmpar() 1st keyword (n) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(shape(r,1)==n,"shape(r,1)==n","1st keyword n","lmpar:n=%d",n) { + /* Processing variable ldr */ + if (ldr_capi == Py_None) ldr = shape(r,0); else + f2py_success = int_from_pyobj(&ldr,ldr_capi,"full_profile_profile.lmpar() 2nd keyword (ldr) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(shape(r,0)==ldr,"shape(r,0)==ldr","2nd keyword ldr","lmpar:ldr=%d",ldr) { + /* Processing variable ipvt */ + ipvt_Dims[0]=n; + capi_ipvt_intent |= F2PY_INTENT_IN; + capi_ipvt_tmp = array_from_pyobj(NPY_INT,ipvt_Dims,ipvt_Rank,capi_ipvt_intent,ipvt_capi); + if (capi_ipvt_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 2nd argument `ipvt' of full_profile_profile.lmpar to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + ipvt = (int *)(PyArray_DATA(capi_ipvt_tmp)); + + /* Processing variable diag */ + diag_Dims[0]=n; + capi_diag_intent |= F2PY_INTENT_IN; + capi_diag_tmp = array_from_pyobj(NPY_FLOAT,diag_Dims,diag_Rank,capi_diag_intent,diag_capi); + if (capi_diag_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 3rd argument `diag' of full_profile_profile.lmpar to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + diag = (float *)(PyArray_DATA(capi_diag_tmp)); + + /* Processing variable qtb */ + qtb_Dims[0]=n; + capi_qtb_intent |= F2PY_INTENT_IN; + capi_qtb_tmp = array_from_pyobj(NPY_FLOAT,qtb_Dims,qtb_Rank,capi_qtb_intent,qtb_capi); + if (capi_qtb_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 4th argument `qtb' of full_profile_profile.lmpar to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + qtb = (float *)(PyArray_DATA(capi_qtb_tmp)); + + /* Processing variable x */ + x_Dims[0]=n; + capi_x_intent |= F2PY_INTENT_IN; + capi_x_tmp = array_from_pyobj(NPY_FLOAT,x_Dims,x_Rank,capi_x_intent,x_capi); + if (capi_x_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 7th argument `x' of full_profile_profile.lmpar to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + x = (float *)(PyArray_DATA(capi_x_tmp)); + + /* Processing variable sdiag */ + sdiag_Dims[0]=n; + capi_sdiag_intent |= F2PY_INTENT_IN; + capi_sdiag_tmp = array_from_pyobj(NPY_FLOAT,sdiag_Dims,sdiag_Rank,capi_sdiag_intent,sdiag_capi); + if (capi_sdiag_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 8th argument `sdiag' of full_profile_profile.lmpar to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + sdiag = (float *)(PyArray_DATA(capi_sdiag_tmp)); + + /* Processing variable wa1 */ + wa1_Dims[0]=n; + capi_wa1_intent |= F2PY_INTENT_IN; + capi_wa1_tmp = array_from_pyobj(NPY_FLOAT,wa1_Dims,wa1_Rank,capi_wa1_intent,wa1_capi); + if (capi_wa1_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 9th argument `wa1' of full_profile_profile.lmpar to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa1 = (float *)(PyArray_DATA(capi_wa1_tmp)); + + /* Processing variable wa2 */ + wa2_Dims[0]=n; + capi_wa2_intent |= F2PY_INTENT_IN; + capi_wa2_tmp = array_from_pyobj(NPY_FLOAT,wa2_Dims,wa2_Rank,capi_wa2_intent,wa2_capi); + if (capi_wa2_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 10th argument `wa2' of full_profile_profile.lmpar to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa2 = (float *)(PyArray_DATA(capi_wa2_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&n,r,&ldr,ipvt,diag,qtb,&delta,&par,x,sdiag,wa1,wa2); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + if((PyObject *)capi_wa2_tmp!=wa2_capi) { + Py_XDECREF(capi_wa2_tmp); } + } /*if (capi_wa2_tmp == NULL) ... else of wa2*/ + /* End of cleaning variable wa2 */ + if((PyObject *)capi_wa1_tmp!=wa1_capi) { + Py_XDECREF(capi_wa1_tmp); } + } /*if (capi_wa1_tmp == NULL) ... else of wa1*/ + /* End of cleaning variable wa1 */ + if((PyObject *)capi_sdiag_tmp!=sdiag_capi) { + Py_XDECREF(capi_sdiag_tmp); } + } /*if (capi_sdiag_tmp == NULL) ... else of sdiag*/ + /* End of cleaning variable sdiag */ + if((PyObject *)capi_x_tmp!=x_capi) { + Py_XDECREF(capi_x_tmp); } + } /*if (capi_x_tmp == NULL) ... else of x*/ + /* End of cleaning variable x */ + if((PyObject *)capi_qtb_tmp!=qtb_capi) { + Py_XDECREF(capi_qtb_tmp); } + } /*if (capi_qtb_tmp == NULL) ... else of qtb*/ + /* End of cleaning variable qtb */ + if((PyObject *)capi_diag_tmp!=diag_capi) { + Py_XDECREF(capi_diag_tmp); } + } /*if (capi_diag_tmp == NULL) ... else of diag*/ + /* End of cleaning variable diag */ + if((PyObject *)capi_ipvt_tmp!=ipvt_capi) { + Py_XDECREF(capi_ipvt_tmp); } + } /*if (capi_ipvt_tmp == NULL) ... else of ipvt*/ + /* End of cleaning variable ipvt */ + } /*CHECKSCALAR(shape(r,0)==ldr)*/ + } /*if (f2py_success) of ldr*/ + /* End of cleaning variable ldr */ + } /*CHECKSCALAR(shape(r,1)==n)*/ + } /*if (f2py_success) of n*/ + /* End of cleaning variable n */ + } /*if (f2py_success) of par*/ + /* End of cleaning variable par */ + } /*if (f2py_success) of delta*/ + /* End of cleaning variable delta */ + if((PyObject *)capi_r_tmp!=r_capi) { + Py_XDECREF(capi_r_tmp); } + } /*if (capi_r_tmp == NULL) ... else of r*/ + /* End of cleaning variable r */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of lmpar ********************************/ + +/*********************************** qrfac ***********************************/ +static char doc_f2py_rout_full_profile_profile_qrfac[] = "\ +qrfac(m,a,pivot,ipvt,rdiag,acnorm,wa,[n,lda,lipvt])\n\nWrapper for ``qrfac``.\ +\n\nParameters\n----------\n" +"m : input int\n" +"a : input rank-2 array('f') with bounds (lda,n)\n" +"pivot : input int\n" +"ipvt : input rank-1 array('i') with bounds (lipvt)\n" +"rdiag : input rank-1 array('f') with bounds (n)\n" +"acnorm : input rank-1 array('f') with bounds (n)\n" +"wa : input rank-1 array('f') with bounds (n)\n" +"\nOther Parameters\n----------------\n" +"n : input int, optional\n Default: shape(a,1)\n" +"lda : input int, optional\n Default: shape(a,0)\n" +"lipvt : input int, optional\n Default: len(ipvt)"; +/* extern void F_FUNC(qrfac,QRFAC)(int*,int*,float*,int*,int*,int*,int*,float*,float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_qrfac(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(int*,int*,float*,int*,int*,int*,int*,float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + int m = 0; + PyObject *m_capi = Py_None; + int n = 0; + PyObject *n_capi = Py_None; + float *a = NULL; + npy_intp a_Dims[2] = {-1, -1}; + const int a_Rank = 2; + PyArrayObject *capi_a_tmp = NULL; + int capi_a_intent = 0; + PyObject *a_capi = Py_None; + int lda = 0; + PyObject *lda_capi = Py_None; + int pivot = 0; + PyObject *pivot_capi = Py_None; + int *ipvt = NULL; + npy_intp ipvt_Dims[1] = {-1}; + const int ipvt_Rank = 1; + PyArrayObject *capi_ipvt_tmp = NULL; + int capi_ipvt_intent = 0; + PyObject *ipvt_capi = Py_None; + int lipvt = 0; + PyObject *lipvt_capi = Py_None; + float *rdiag = NULL; + npy_intp rdiag_Dims[1] = {-1}; + const int rdiag_Rank = 1; + PyArrayObject *capi_rdiag_tmp = NULL; + int capi_rdiag_intent = 0; + PyObject *rdiag_capi = Py_None; + float *acnorm = NULL; + npy_intp acnorm_Dims[1] = {-1}; + const int acnorm_Rank = 1; + PyArrayObject *capi_acnorm_tmp = NULL; + int capi_acnorm_intent = 0; + PyObject *acnorm_capi = Py_None; + float *wa = NULL; + npy_intp wa_Dims[1] = {-1}; + const int wa_Rank = 1; + PyArrayObject *capi_wa_tmp = NULL; + int capi_wa_intent = 0; + PyObject *wa_capi = Py_None; + static char *capi_kwlist[] = {"m","a","pivot","ipvt","rdiag","acnorm","wa","n","lda","lipvt",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOOOO|OOO:full_profile_profile.qrfac",\ + capi_kwlist,&m_capi,&a_capi,&pivot_capi,&ipvt_capi,&rdiag_capi,&acnorm_capi,&wa_capi,&n_capi,&lda_capi,&lipvt_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable m */ + f2py_success = int_from_pyobj(&m,m_capi,"full_profile_profile.qrfac() 1st argument (m) can't be converted to int"); + if (f2py_success) { + /* Processing variable a */ + ; + capi_a_intent |= F2PY_INTENT_IN; + capi_a_tmp = array_from_pyobj(NPY_FLOAT,a_Dims,a_Rank,capi_a_intent,a_capi); + if (capi_a_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 2nd argument `a' of full_profile_profile.qrfac to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + a = (float *)(PyArray_DATA(capi_a_tmp)); + + /* Processing variable pivot */ + pivot = (int)PyObject_IsTrue(pivot_capi); + f2py_success = 1; + if (f2py_success) { + /* Processing variable ipvt */ + ; + capi_ipvt_intent |= F2PY_INTENT_IN; + capi_ipvt_tmp = array_from_pyobj(NPY_INT,ipvt_Dims,ipvt_Rank,capi_ipvt_intent,ipvt_capi); + if (capi_ipvt_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 4th argument `ipvt' of full_profile_profile.qrfac to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + ipvt = (int *)(PyArray_DATA(capi_ipvt_tmp)); + + /* Processing variable n */ + if (n_capi == Py_None) n = shape(a,1); else + f2py_success = int_from_pyobj(&n,n_capi,"full_profile_profile.qrfac() 1st keyword (n) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(shape(a,1)==n,"shape(a,1)==n","1st keyword n","qrfac:n=%d",n) { + /* Processing variable lda */ + if (lda_capi == Py_None) lda = shape(a,0); else + f2py_success = int_from_pyobj(&lda,lda_capi,"full_profile_profile.qrfac() 2nd keyword (lda) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(shape(a,0)==lda,"shape(a,0)==lda","2nd keyword lda","qrfac:lda=%d",lda) { + /* Processing variable lipvt */ + if (lipvt_capi == Py_None) lipvt = len(ipvt); else + f2py_success = int_from_pyobj(&lipvt,lipvt_capi,"full_profile_profile.qrfac() 3rd keyword (lipvt) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(ipvt)>=lipvt,"len(ipvt)>=lipvt","3rd keyword lipvt","qrfac:lipvt=%d",lipvt) { + /* Processing variable rdiag */ + rdiag_Dims[0]=n; + capi_rdiag_intent |= F2PY_INTENT_IN; + capi_rdiag_tmp = array_from_pyobj(NPY_FLOAT,rdiag_Dims,rdiag_Rank,capi_rdiag_intent,rdiag_capi); + if (capi_rdiag_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 5th argument `rdiag' of full_profile_profile.qrfac to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + rdiag = (float *)(PyArray_DATA(capi_rdiag_tmp)); + + /* Processing variable acnorm */ + acnorm_Dims[0]=n; + capi_acnorm_intent |= F2PY_INTENT_IN; + capi_acnorm_tmp = array_from_pyobj(NPY_FLOAT,acnorm_Dims,acnorm_Rank,capi_acnorm_intent,acnorm_capi); + if (capi_acnorm_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 6th argument `acnorm' of full_profile_profile.qrfac to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + acnorm = (float *)(PyArray_DATA(capi_acnorm_tmp)); + + /* Processing variable wa */ + wa_Dims[0]=n; + capi_wa_intent |= F2PY_INTENT_IN; + capi_wa_tmp = array_from_pyobj(NPY_FLOAT,wa_Dims,wa_Rank,capi_wa_intent,wa_capi); + if (capi_wa_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 7th argument `wa' of full_profile_profile.qrfac to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa = (float *)(PyArray_DATA(capi_wa_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&m,&n,a,&lda,&pivot,ipvt,&lipvt,rdiag,acnorm,wa); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + if((PyObject *)capi_wa_tmp!=wa_capi) { + Py_XDECREF(capi_wa_tmp); } + } /*if (capi_wa_tmp == NULL) ... else of wa*/ + /* End of cleaning variable wa */ + if((PyObject *)capi_acnorm_tmp!=acnorm_capi) { + Py_XDECREF(capi_acnorm_tmp); } + } /*if (capi_acnorm_tmp == NULL) ... else of acnorm*/ + /* End of cleaning variable acnorm */ + if((PyObject *)capi_rdiag_tmp!=rdiag_capi) { + Py_XDECREF(capi_rdiag_tmp); } + } /*if (capi_rdiag_tmp == NULL) ... else of rdiag*/ + /* End of cleaning variable rdiag */ + } /*CHECKSCALAR(len(ipvt)>=lipvt)*/ + } /*if (f2py_success) of lipvt*/ + /* End of cleaning variable lipvt */ + } /*CHECKSCALAR(shape(a,0)==lda)*/ + } /*if (f2py_success) of lda*/ + /* End of cleaning variable lda */ + } /*CHECKSCALAR(shape(a,1)==n)*/ + } /*if (f2py_success) of n*/ + /* End of cleaning variable n */ + if((PyObject *)capi_ipvt_tmp!=ipvt_capi) { + Py_XDECREF(capi_ipvt_tmp); } + } /*if (capi_ipvt_tmp == NULL) ... else of ipvt*/ + /* End of cleaning variable ipvt */ + } /*if (f2py_success) of pivot*/ + /* End of cleaning variable pivot */ + if((PyObject *)capi_a_tmp!=a_capi) { + Py_XDECREF(capi_a_tmp); } + } /*if (capi_a_tmp == NULL) ... else of a*/ + /* End of cleaning variable a */ + } /*if (f2py_success) of m*/ + /* End of cleaning variable m */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of qrfac ********************************/ + +/*********************************** qrsolv ***********************************/ +static char doc_f2py_rout_full_profile_profile_qrsolv[] = "\ +qrsolv(r,ipvt,diag,qtb,x,sdiag,wa,[n,ldr])\n\nWrapper for ``qrsolv``.\ +\n\nParameters\n----------\n" +"r : input rank-2 array('f') with bounds (ldr,n)\n" +"ipvt : input rank-1 array('i') with bounds (n)\n" +"diag : input rank-1 array('f') with bounds (n)\n" +"qtb : input rank-1 array('f') with bounds (n)\n" +"x : input rank-1 array('f') with bounds (n)\n" +"sdiag : input rank-1 array('f') with bounds (n)\n" +"wa : input rank-1 array('f') with bounds (n)\n" +"\nOther Parameters\n----------------\n" +"n : input int, optional\n Default: shape(r,1)\n" +"ldr : input int, optional\n Default: shape(r,0)"; +/* extern void F_FUNC(qrsolv,QRSOLV)(int*,float*,int*,int*,float*,float*,float*,float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_qrsolv(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(int*,float*,int*,int*,float*,float*,float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + int n = 0; + PyObject *n_capi = Py_None; + float *r = NULL; + npy_intp r_Dims[2] = {-1, -1}; + const int r_Rank = 2; + PyArrayObject *capi_r_tmp = NULL; + int capi_r_intent = 0; + PyObject *r_capi = Py_None; + int ldr = 0; + PyObject *ldr_capi = Py_None; + int *ipvt = NULL; + npy_intp ipvt_Dims[1] = {-1}; + const int ipvt_Rank = 1; + PyArrayObject *capi_ipvt_tmp = NULL; + int capi_ipvt_intent = 0; + PyObject *ipvt_capi = Py_None; + float *diag = NULL; + npy_intp diag_Dims[1] = {-1}; + const int diag_Rank = 1; + PyArrayObject *capi_diag_tmp = NULL; + int capi_diag_intent = 0; + PyObject *diag_capi = Py_None; + float *qtb = NULL; + npy_intp qtb_Dims[1] = {-1}; + const int qtb_Rank = 1; + PyArrayObject *capi_qtb_tmp = NULL; + int capi_qtb_intent = 0; + PyObject *qtb_capi = Py_None; + float *x = NULL; + npy_intp x_Dims[1] = {-1}; + const int x_Rank = 1; + PyArrayObject *capi_x_tmp = NULL; + int capi_x_intent = 0; + PyObject *x_capi = Py_None; + float *sdiag = NULL; + npy_intp sdiag_Dims[1] = {-1}; + const int sdiag_Rank = 1; + PyArrayObject *capi_sdiag_tmp = NULL; + int capi_sdiag_intent = 0; + PyObject *sdiag_capi = Py_None; + float *wa = NULL; + npy_intp wa_Dims[1] = {-1}; + const int wa_Rank = 1; + PyArrayObject *capi_wa_tmp = NULL; + int capi_wa_intent = 0; + PyObject *wa_capi = Py_None; + static char *capi_kwlist[] = {"r","ipvt","diag","qtb","x","sdiag","wa","n","ldr",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOOOO|OO:full_profile_profile.qrsolv",\ + capi_kwlist,&r_capi,&ipvt_capi,&diag_capi,&qtb_capi,&x_capi,&sdiag_capi,&wa_capi,&n_capi,&ldr_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable r */ + ; + capi_r_intent |= F2PY_INTENT_IN; + capi_r_tmp = array_from_pyobj(NPY_FLOAT,r_Dims,r_Rank,capi_r_intent,r_capi); + if (capi_r_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 1st argument `r' of full_profile_profile.qrsolv to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + r = (float *)(PyArray_DATA(capi_r_tmp)); + + /* Processing variable n */ + if (n_capi == Py_None) n = shape(r,1); else + f2py_success = int_from_pyobj(&n,n_capi,"full_profile_profile.qrsolv() 1st keyword (n) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(shape(r,1)==n,"shape(r,1)==n","1st keyword n","qrsolv:n=%d",n) { + /* Processing variable ldr */ + if (ldr_capi == Py_None) ldr = shape(r,0); else + f2py_success = int_from_pyobj(&ldr,ldr_capi,"full_profile_profile.qrsolv() 2nd keyword (ldr) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(shape(r,0)==ldr,"shape(r,0)==ldr","2nd keyword ldr","qrsolv:ldr=%d",ldr) { + /* Processing variable ipvt */ + ipvt_Dims[0]=n; + capi_ipvt_intent |= F2PY_INTENT_IN; + capi_ipvt_tmp = array_from_pyobj(NPY_INT,ipvt_Dims,ipvt_Rank,capi_ipvt_intent,ipvt_capi); + if (capi_ipvt_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 2nd argument `ipvt' of full_profile_profile.qrsolv to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + ipvt = (int *)(PyArray_DATA(capi_ipvt_tmp)); + + /* Processing variable diag */ + diag_Dims[0]=n; + capi_diag_intent |= F2PY_INTENT_IN; + capi_diag_tmp = array_from_pyobj(NPY_FLOAT,diag_Dims,diag_Rank,capi_diag_intent,diag_capi); + if (capi_diag_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 3rd argument `diag' of full_profile_profile.qrsolv to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + diag = (float *)(PyArray_DATA(capi_diag_tmp)); + + /* Processing variable qtb */ + qtb_Dims[0]=n; + capi_qtb_intent |= F2PY_INTENT_IN; + capi_qtb_tmp = array_from_pyobj(NPY_FLOAT,qtb_Dims,qtb_Rank,capi_qtb_intent,qtb_capi); + if (capi_qtb_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 4th argument `qtb' of full_profile_profile.qrsolv to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + qtb = (float *)(PyArray_DATA(capi_qtb_tmp)); + + /* Processing variable x */ + x_Dims[0]=n; + capi_x_intent |= F2PY_INTENT_IN; + capi_x_tmp = array_from_pyobj(NPY_FLOAT,x_Dims,x_Rank,capi_x_intent,x_capi); + if (capi_x_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 5th argument `x' of full_profile_profile.qrsolv to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + x = (float *)(PyArray_DATA(capi_x_tmp)); + + /* Processing variable sdiag */ + sdiag_Dims[0]=n; + capi_sdiag_intent |= F2PY_INTENT_IN; + capi_sdiag_tmp = array_from_pyobj(NPY_FLOAT,sdiag_Dims,sdiag_Rank,capi_sdiag_intent,sdiag_capi); + if (capi_sdiag_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 6th argument `sdiag' of full_profile_profile.qrsolv to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + sdiag = (float *)(PyArray_DATA(capi_sdiag_tmp)); + + /* Processing variable wa */ + wa_Dims[0]=n; + capi_wa_intent |= F2PY_INTENT_IN; + capi_wa_tmp = array_from_pyobj(NPY_FLOAT,wa_Dims,wa_Rank,capi_wa_intent,wa_capi); + if (capi_wa_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 7th argument `wa' of full_profile_profile.qrsolv to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wa = (float *)(PyArray_DATA(capi_wa_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&n,r,&ldr,ipvt,diag,qtb,x,sdiag,wa); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + if((PyObject *)capi_wa_tmp!=wa_capi) { + Py_XDECREF(capi_wa_tmp); } + } /*if (capi_wa_tmp == NULL) ... else of wa*/ + /* End of cleaning variable wa */ + if((PyObject *)capi_sdiag_tmp!=sdiag_capi) { + Py_XDECREF(capi_sdiag_tmp); } + } /*if (capi_sdiag_tmp == NULL) ... else of sdiag*/ + /* End of cleaning variable sdiag */ + if((PyObject *)capi_x_tmp!=x_capi) { + Py_XDECREF(capi_x_tmp); } + } /*if (capi_x_tmp == NULL) ... else of x*/ + /* End of cleaning variable x */ + if((PyObject *)capi_qtb_tmp!=qtb_capi) { + Py_XDECREF(capi_qtb_tmp); } + } /*if (capi_qtb_tmp == NULL) ... else of qtb*/ + /* End of cleaning variable qtb */ + if((PyObject *)capi_diag_tmp!=diag_capi) { + Py_XDECREF(capi_diag_tmp); } + } /*if (capi_diag_tmp == NULL) ... else of diag*/ + /* End of cleaning variable diag */ + if((PyObject *)capi_ipvt_tmp!=ipvt_capi) { + Py_XDECREF(capi_ipvt_tmp); } + } /*if (capi_ipvt_tmp == NULL) ... else of ipvt*/ + /* End of cleaning variable ipvt */ + } /*CHECKSCALAR(shape(r,0)==ldr)*/ + } /*if (f2py_success) of ldr*/ + /* End of cleaning variable ldr */ + } /*CHECKSCALAR(shape(r,1)==n)*/ + } /*if (f2py_success) of n*/ + /* End of cleaning variable n */ + if((PyObject *)capi_r_tmp!=r_capi) { + Py_XDECREF(capi_r_tmp); } + } /*if (capi_r_tmp == NULL) ... else of r*/ + /* End of cleaning variable r */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of qrsolv *******************************/ + +/*********************************** spmpar ***********************************/ +static char doc_f2py_rout_full_profile_profile_spmpar[] = "\ +spmpar = spmpar(i)\n\nWrapper for ``spmpar``.\ +\n\nParameters\n----------\n" +"i : input int\n" +"\nReturns\n-------\n" +"spmpar : float"; +/* extern void F_WRAPPEDFUNC(spmpar,SPMPAR)(float*,int*); */ +static PyObject *f2py_rout_full_profile_profile_spmpar(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,int*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float spmpar = 0; + int i = 0; + PyObject *i_capi = Py_None; + static char *capi_kwlist[] = {"i",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "O|:full_profile_profile.spmpar",\ + capi_kwlist,&i_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable i */ + f2py_success = int_from_pyobj(&i,i_capi,"full_profile_profile.spmpar() 1st argument (i) can't be converted to int"); + if (f2py_success) { + /* Processing variable spmpar */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&spmpar,&i); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",spmpar); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable spmpar */ + } /*if (f2py_success) of i*/ + /* End of cleaning variable i */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of spmpar *******************************/ + +/*********************************** cdtr1 ***********************************/ +static char doc_f2py_rout_full_profile_profile_cdtr1[] = "\ +cdtr1 = cdtr1(depth)\n\nWrapper for ``cdtr1``.\ +\n\nParameters\n----------\n" +"depth : input float\n" +"\nReturns\n-------\n" +"cdtr1 : float"; +/* extern void F_WRAPPEDFUNC(cdtr1,CDTR1)(float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_cdtr1(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float cdtr1 = 0; + float depth = 0; + PyObject *depth_capi = Py_None; + static char *capi_kwlist[] = {"depth",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "O|:full_profile_profile.cdtr1",\ + capi_kwlist,&depth_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable depth */ + f2py_success = float_from_pyobj(&depth,depth_capi,"full_profile_profile.cdtr1() 1st argument (depth) can't be converted to float"); + if (f2py_success) { + /* Processing variable cdtr1 */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&cdtr1,&depth); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",cdtr1); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable cdtr1 */ + } /*if (f2py_success) of depth*/ + /* End of cleaning variable depth */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of cdtr1 ********************************/ + +/*********************************** czte1 ***********************************/ +static char doc_f2py_rout_full_profile_profile_czte1[] = "\ +czte1 = czte1(zlag,tr)\n\nWrapper for ``czte1``.\ +\n\nParameters\n----------\n" +"zlag : input float\n" +"tr : input float\n" +"\nReturns\n-------\n" +"czte1 : float"; +/* extern void F_WRAPPEDFUNC(czte1,CZTE1)(float*,float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_czte1(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float czte1 = 0; + float zlag = 0; + PyObject *zlag_capi = Py_None; + float tr = 0; + PyObject *tr_capi = Py_None; + static char *capi_kwlist[] = {"zlag","tr",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OO|:full_profile_profile.czte1",\ + capi_kwlist,&zlag_capi,&tr_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable zlag */ + f2py_success = float_from_pyobj(&zlag,zlag_capi,"full_profile_profile.czte1() 1st argument (zlag) can't be converted to float"); + if (f2py_success) { + /* Processing variable tr */ + f2py_success = float_from_pyobj(&tr,tr_capi,"full_profile_profile.czte1() 2nd argument (tr) can't be converted to float"); + if (f2py_success) { + /* Processing variable czte1 */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&czte1,&zlag,&tr); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",czte1); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable czte1 */ + } /*if (f2py_success) of tr*/ + /* End of cleaning variable tr */ + } /*if (f2py_success) of zlag*/ + /* End of cleaning variable zlag */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of czte1 ********************************/ + +/************************************ fcn ************************************/ +static char doc_f2py_rout_full_profile_profile_fcn[] = "\ +fcn(x,fvec,iflag,[m,n])\n\nWrapper for ``fcn``.\ +\n\nParameters\n----------\n" +"x : input rank-1 array('f') with bounds (n)\n" +"fvec : input rank-1 array('f') with bounds (m)\n" +"iflag : input int\n" +"\nOther Parameters\n----------------\n" +"m : input int, optional\n Default: len(fvec)\n" +"n : input int, optional\n Default: len(x)"; +/* extern void F_FUNC(fcn,FCN)(int*,int*,float*,float*,int*); */ +static PyObject *f2py_rout_full_profile_profile_fcn(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(int*,int*,float*,float*,int*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + int m = 0; + PyObject *m_capi = Py_None; + int n = 0; + PyObject *n_capi = Py_None; + float *x = NULL; + npy_intp x_Dims[1] = {-1}; + const int x_Rank = 1; + PyArrayObject *capi_x_tmp = NULL; + int capi_x_intent = 0; + PyObject *x_capi = Py_None; + float *fvec = NULL; + npy_intp fvec_Dims[1] = {-1}; + const int fvec_Rank = 1; + PyArrayObject *capi_fvec_tmp = NULL; + int capi_fvec_intent = 0; + PyObject *fvec_capi = Py_None; + int iflag = 0; + PyObject *iflag_capi = Py_None; + static char *capi_kwlist[] = {"x","fvec","iflag","m","n",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOO|OO:full_profile_profile.fcn",\ + capi_kwlist,&x_capi,&fvec_capi,&iflag_capi,&m_capi,&n_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable x */ + ; + capi_x_intent |= F2PY_INTENT_IN; + capi_x_tmp = array_from_pyobj(NPY_FLOAT,x_Dims,x_Rank,capi_x_intent,x_capi); + if (capi_x_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 1st argument `x' of full_profile_profile.fcn to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + x = (float *)(PyArray_DATA(capi_x_tmp)); + + /* Processing variable fvec */ + ; + capi_fvec_intent |= F2PY_INTENT_IN; + capi_fvec_tmp = array_from_pyobj(NPY_FLOAT,fvec_Dims,fvec_Rank,capi_fvec_intent,fvec_capi); + if (capi_fvec_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 2nd argument `fvec' of full_profile_profile.fcn to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + fvec = (float *)(PyArray_DATA(capi_fvec_tmp)); + + /* Processing variable iflag */ + f2py_success = int_from_pyobj(&iflag,iflag_capi,"full_profile_profile.fcn() 3rd argument (iflag) can't be converted to int"); + if (f2py_success) { + /* Processing variable m */ + if (m_capi == Py_None) m = len(fvec); else + f2py_success = int_from_pyobj(&m,m_capi,"full_profile_profile.fcn() 1st keyword (m) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(fvec)>=m,"len(fvec)>=m","1st keyword m","fcn:m=%d",m) { + /* Processing variable n */ + if (n_capi == Py_None) n = len(x); else + f2py_success = int_from_pyobj(&n,n_capi,"full_profile_profile.fcn() 2nd keyword (n) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(x)>=n,"len(x)>=n","2nd keyword n","fcn:n=%d",n) { +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&m,&n,x,fvec,&iflag); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + } /*CHECKSCALAR(len(x)>=n)*/ + } /*if (f2py_success) of n*/ + /* End of cleaning variable n */ + } /*CHECKSCALAR(len(fvec)>=m)*/ + } /*if (f2py_success) of m*/ + /* End of cleaning variable m */ + } /*if (f2py_success) of iflag*/ + /* End of cleaning variable iflag */ + if((PyObject *)capi_fvec_tmp!=fvec_capi) { + Py_XDECREF(capi_fvec_tmp); } + } /*if (capi_fvec_tmp == NULL) ... else of fvec*/ + /* End of cleaning variable fvec */ + if((PyObject *)capi_x_tmp!=x_capi) { + Py_XDECREF(capi_x_tmp); } + } /*if (capi_x_tmp == NULL) ... else of x*/ + /* End of cleaning variable x */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/********************************* end of fcn *********************************/ + +/*********************************** cj_ion ***********************************/ +static char doc_f2py_rout_full_profile_profile_cj_ion[] = "\ +cj_ion = cj_ion(theta,psi)\n\nWrapper for ``cj_ion``.\ +\n\nParameters\n----------\n" +"theta : input float\n" +"psi : input float\n" +"\nReturns\n-------\n" +"cj_ion : complex"; +/* extern void F_WRAPPEDFUNC_US(cj_ion,CJ_ION)(complex_float*,float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_cj_ion(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(complex_float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + complex_float cj_ion; + PyObject *cj_ion_capi = Py_None; + float theta = 0; + PyObject *theta_capi = Py_None; + float psi = 0; + PyObject *psi_capi = Py_None; + static char *capi_kwlist[] = {"theta","psi",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OO|:full_profile_profile.cj_ion",\ + capi_kwlist,&theta_capi,&psi_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable theta */ + f2py_success = float_from_pyobj(&theta,theta_capi,"full_profile_profile.cj_ion() 1st argument (theta) can't be converted to float"); + if (f2py_success) { + /* Processing variable psi */ + f2py_success = float_from_pyobj(&psi,psi_capi,"full_profile_profile.cj_ion() 2nd argument (psi) can't be converted to float"); + if (f2py_success) { + /* Processing variable cj_ion */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&cj_ion,&theta,&psi); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ + cj_ion_capi = pyobj_from_complex_float1(cj_ion); +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("N",cj_ion_capi); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable cj_ion */ + } /*if (f2py_success) of psi*/ + /* End of cleaning variable psi */ + } /*if (f2py_success) of theta*/ + /* End of cleaning variable theta */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of cj_ion *******************************/ + +/******************************** cj_electron ********************************/ +static char doc_f2py_rout_full_profile_profile_cj_electron[] = "\ +cj_electron = cj_electron(theta,phi,psi,alpha)\n\nWrapper for ``cj_electron``.\ +\n\nParameters\n----------\n" +"theta : input float\n" +"phi : input float\n" +"psi : input float\n" +"alpha : input float\n" +"\nReturns\n-------\n" +"cj_electron : complex"; +/* extern void F_WRAPPEDFUNC_US(cj_electron,CJ_ELECTRON)(complex_float*,float*,float*,float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_cj_electron(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(complex_float*,float*,float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + complex_float cj_electron; + PyObject *cj_electron_capi = Py_None; + float theta = 0; + PyObject *theta_capi = Py_None; + float phi = 0; + PyObject *phi_capi = Py_None; + float psi = 0; + PyObject *psi_capi = Py_None; + float alpha = 0; + PyObject *alpha_capi = Py_None; + static char *capi_kwlist[] = {"theta","phi","psi","alpha",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOO|:full_profile_profile.cj_electron",\ + capi_kwlist,&theta_capi,&phi_capi,&psi_capi,&alpha_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable theta */ + f2py_success = float_from_pyobj(&theta,theta_capi,"full_profile_profile.cj_electron() 1st argument (theta) can't be converted to float"); + if (f2py_success) { + /* Processing variable phi */ + f2py_success = float_from_pyobj(&phi,phi_capi,"full_profile_profile.cj_electron() 2nd argument (phi) can't be converted to float"); + if (f2py_success) { + /* Processing variable psi */ + f2py_success = float_from_pyobj(&psi,psi_capi,"full_profile_profile.cj_electron() 3rd argument (psi) can't be converted to float"); + if (f2py_success) { + /* Processing variable alpha */ + f2py_success = float_from_pyobj(&alpha,alpha_capi,"full_profile_profile.cj_electron() 4th argument (alpha) can't be converted to float"); + if (f2py_success) { + /* Processing variable cj_electron */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&cj_electron,&theta,&phi,&psi,&alpha); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ + cj_electron_capi = pyobj_from_complex_float1(cj_electron); +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("N",cj_electron_capi); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable cj_electron */ + } /*if (f2py_success) of alpha*/ + /* End of cleaning variable alpha */ + } /*if (f2py_success) of psi*/ + /* End of cleaning variable psi */ + } /*if (f2py_success) of phi*/ + /* End of cleaning variable phi */ + } /*if (f2py_success) of theta*/ + /* End of cleaning variable theta */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/***************************** end of cj_electron *****************************/ + +/*********************************** y_ion ***********************************/ +static char doc_f2py_rout_full_profile_profile_y_ion[] = "\ +y_ion = y_ion(theta,psi)\n\nWrapper for ``y_ion``.\ +\n\nParameters\n----------\n" +"theta : input float\n" +"psi : input float\n" +"\nReturns\n-------\n" +"y_ion : complex"; +/* extern void F_WRAPPEDFUNC_US(y_ion,Y_ION)(complex_float*,float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_y_ion(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(complex_float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + complex_float y_ion; + PyObject *y_ion_capi = Py_None; + float theta = 0; + PyObject *theta_capi = Py_None; + float psi = 0; + PyObject *psi_capi = Py_None; + static char *capi_kwlist[] = {"theta","psi",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OO|:full_profile_profile.y_ion",\ + capi_kwlist,&theta_capi,&psi_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable theta */ + f2py_success = float_from_pyobj(&theta,theta_capi,"full_profile_profile.y_ion() 1st argument (theta) can't be converted to float"); + if (f2py_success) { + /* Processing variable psi */ + f2py_success = float_from_pyobj(&psi,psi_capi,"full_profile_profile.y_ion() 2nd argument (psi) can't be converted to float"); + if (f2py_success) { + /* Processing variable y_ion */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&y_ion,&theta,&psi); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ + y_ion_capi = pyobj_from_complex_float1(y_ion); +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("N",y_ion_capi); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable y_ion */ + } /*if (f2py_success) of psi*/ + /* End of cleaning variable psi */ + } /*if (f2py_success) of theta*/ + /* End of cleaning variable theta */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of y_ion ********************************/ + +/********************************* y_electron *********************************/ +static char doc_f2py_rout_full_profile_profile_y_electron[] = "\ +y_electron = y_electron(theta,phi,psi,alpha)\n\nWrapper for ``y_electron``.\ +\n\nParameters\n----------\n" +"theta : input float\n" +"phi : input float\n" +"psi : input float\n" +"alpha : input float\n" +"\nReturns\n-------\n" +"y_electron : complex"; +/* extern void F_WRAPPEDFUNC_US(y_electron,Y_ELECTRON)(complex_float*,float*,float*,float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_y_electron(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(complex_float*,float*,float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + complex_float y_electron; + PyObject *y_electron_capi = Py_None; + float theta = 0; + PyObject *theta_capi = Py_None; + float phi = 0; + PyObject *phi_capi = Py_None; + float psi = 0; + PyObject *psi_capi = Py_None; + float alpha = 0; + PyObject *alpha_capi = Py_None; + static char *capi_kwlist[] = {"theta","phi","psi","alpha",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOO|:full_profile_profile.y_electron",\ + capi_kwlist,&theta_capi,&phi_capi,&psi_capi,&alpha_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable theta */ + f2py_success = float_from_pyobj(&theta,theta_capi,"full_profile_profile.y_electron() 1st argument (theta) can't be converted to float"); + if (f2py_success) { + /* Processing variable phi */ + f2py_success = float_from_pyobj(&phi,phi_capi,"full_profile_profile.y_electron() 2nd argument (phi) can't be converted to float"); + if (f2py_success) { + /* Processing variable psi */ + f2py_success = float_from_pyobj(&psi,psi_capi,"full_profile_profile.y_electron() 3rd argument (psi) can't be converted to float"); + if (f2py_success) { + /* Processing variable alpha */ + f2py_success = float_from_pyobj(&alpha,alpha_capi,"full_profile_profile.y_electron() 4th argument (alpha) can't be converted to float"); + if (f2py_success) { + /* Processing variable y_electron */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&y_electron,&theta,&phi,&psi,&alpha); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ + y_electron_capi = pyobj_from_complex_float1(y_electron); +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("N",y_electron_capi); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable y_electron */ + } /*if (f2py_success) of alpha*/ + /* End of cleaning variable alpha */ + } /*if (f2py_success) of psi*/ + /* End of cleaning variable psi */ + } /*if (f2py_success) of phi*/ + /* End of cleaning variable phi */ + } /*if (f2py_success) of theta*/ + /* End of cleaning variable theta */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/***************************** end of y_electron *****************************/ + +/*********************************** spect1 ***********************************/ +static char doc_f2py_rout_full_profile_profile_spect1[] = "\ +spect1 = spect1(omega)\n\nWrapper for ``spect1``.\ +\n\nParameters\n----------\n" +"omega : input float\n" +"\nReturns\n-------\n" +"spect1 : float"; +/* extern void F_WRAPPEDFUNC(spect1,SPECT1)(float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_spect1(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float spect1 = 0; + float omega = 0; + PyObject *omega_capi = Py_None; + static char *capi_kwlist[] = {"omega",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "O|:full_profile_profile.spect1",\ + capi_kwlist,&omega_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable omega */ + f2py_success = float_from_pyobj(&omega,omega_capi,"full_profile_profile.spect1() 1st argument (omega) can't be converted to float"); + if (f2py_success) { + /* Processing variable spect1 */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&spect1,&omega); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",spect1); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable spect1 */ + } /*if (f2py_success) of omega*/ + /* End of cleaning variable omega */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of spect1 *******************************/ + +/************************************ acf2 ************************************/ +static char doc_f2py_rout_full_profile_profile_acf2[] = "\ +acf2(wl,tau,te1,ti1,fi1,ven1,vin1,wi1,alpha1,dens1,bfld1,acf,[nion1])\n\nWrapper for ``acf2``.\ +\n\nParameters\n----------\n" +"wl : input float\n" +"tau : input float\n" +"te1 : input float\n" +"ti1 : input rank-1 array('f') with bounds (nion1)\n" +"fi1 : input rank-1 array('f') with bounds (nion1)\n" +"ven1 : input float\n" +"vin1 : input rank-1 array('f') with bounds (nion1)\n" +"wi1 : input rank-1 array('i') with bounds (nion1)\n" +"alpha1 : input float\n" +"dens1 : input float\n" +"bfld1 : input float\n" +"acf : input float\n" +"\nOther Parameters\n----------------\n" +"nion1 : input int, optional\n Default: len(ti1)"; +/* extern void F_FUNC(acf2,ACF2)(float*,float*,float*,float*,float*,float*,float*,int*,int*,float*,float*,float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_acf2(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*,float*,float*,float*,float*,float*,int*,int*,float*,float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float wl = 0; + PyObject *wl_capi = Py_None; + float tau = 0; + PyObject *tau_capi = Py_None; + float te1 = 0; + PyObject *te1_capi = Py_None; + float *ti1 = NULL; + npy_intp ti1_Dims[1] = {-1}; + const int ti1_Rank = 1; + PyArrayObject *capi_ti1_tmp = NULL; + int capi_ti1_intent = 0; + PyObject *ti1_capi = Py_None; + float *fi1 = NULL; + npy_intp fi1_Dims[1] = {-1}; + const int fi1_Rank = 1; + PyArrayObject *capi_fi1_tmp = NULL; + int capi_fi1_intent = 0; + PyObject *fi1_capi = Py_None; + float ven1 = 0; + PyObject *ven1_capi = Py_None; + float *vin1 = NULL; + npy_intp vin1_Dims[1] = {-1}; + const int vin1_Rank = 1; + PyArrayObject *capi_vin1_tmp = NULL; + int capi_vin1_intent = 0; + PyObject *vin1_capi = Py_None; + int *wi1 = NULL; + npy_intp wi1_Dims[1] = {-1}; + const int wi1_Rank = 1; + PyArrayObject *capi_wi1_tmp = NULL; + int capi_wi1_intent = 0; + PyObject *wi1_capi = Py_None; + int nion1 = 0; + PyObject *nion1_capi = Py_None; + float alpha1 = 0; + PyObject *alpha1_capi = Py_None; + float dens1 = 0; + PyObject *dens1_capi = Py_None; + float bfld1 = 0; + PyObject *bfld1_capi = Py_None; + float acf = 0; + PyObject *acf_capi = Py_None; + static char *capi_kwlist[] = {"wl","tau","te1","ti1","fi1","ven1","vin1","wi1","alpha1","dens1","bfld1","acf","nion1",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOOOOOOOOO|O:full_profile_profile.acf2",\ + capi_kwlist,&wl_capi,&tau_capi,&te1_capi,&ti1_capi,&fi1_capi,&ven1_capi,&vin1_capi,&wi1_capi,&alpha1_capi,&dens1_capi,&bfld1_capi,&acf_capi,&nion1_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable wl */ + f2py_success = float_from_pyobj(&wl,wl_capi,"full_profile_profile.acf2() 1st argument (wl) can't be converted to float"); + if (f2py_success) { + /* Processing variable tau */ + f2py_success = float_from_pyobj(&tau,tau_capi,"full_profile_profile.acf2() 2nd argument (tau) can't be converted to float"); + if (f2py_success) { + /* Processing variable te1 */ + f2py_success = float_from_pyobj(&te1,te1_capi,"full_profile_profile.acf2() 3rd argument (te1) can't be converted to float"); + if (f2py_success) { + /* Processing variable ti1 */ + ; + capi_ti1_intent |= F2PY_INTENT_IN; + capi_ti1_tmp = array_from_pyobj(NPY_FLOAT,ti1_Dims,ti1_Rank,capi_ti1_intent,ti1_capi); + if (capi_ti1_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 4th argument `ti1' of full_profile_profile.acf2 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + ti1 = (float *)(PyArray_DATA(capi_ti1_tmp)); + + /* Processing variable ven1 */ + f2py_success = float_from_pyobj(&ven1,ven1_capi,"full_profile_profile.acf2() 6th argument (ven1) can't be converted to float"); + if (f2py_success) { + /* Processing variable alpha1 */ + f2py_success = float_from_pyobj(&alpha1,alpha1_capi,"full_profile_profile.acf2() 9th argument (alpha1) can't be converted to float"); + if (f2py_success) { + /* Processing variable dens1 */ + f2py_success = float_from_pyobj(&dens1,dens1_capi,"full_profile_profile.acf2() 10th argument (dens1) can't be converted to float"); + if (f2py_success) { + /* Processing variable bfld1 */ + f2py_success = float_from_pyobj(&bfld1,bfld1_capi,"full_profile_profile.acf2() 11st argument (bfld1) can't be converted to float"); + if (f2py_success) { + /* Processing variable acf */ + f2py_success = float_from_pyobj(&acf,acf_capi,"full_profile_profile.acf2() 12nd argument (acf) can't be converted to float"); + if (f2py_success) { + /* Processing variable nion1 */ + if (nion1_capi == Py_None) nion1 = len(ti1); else + f2py_success = int_from_pyobj(&nion1,nion1_capi,"full_profile_profile.acf2() 1st keyword (nion1) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(ti1)>=nion1,"len(ti1)>=nion1","1st keyword nion1","acf2:nion1=%d",nion1) { + /* Processing variable fi1 */ + fi1_Dims[0]=nion1; + capi_fi1_intent |= F2PY_INTENT_IN; + capi_fi1_tmp = array_from_pyobj(NPY_FLOAT,fi1_Dims,fi1_Rank,capi_fi1_intent,fi1_capi); + if (capi_fi1_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 5th argument `fi1' of full_profile_profile.acf2 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + fi1 = (float *)(PyArray_DATA(capi_fi1_tmp)); + + /* Processing variable vin1 */ + vin1_Dims[0]=nion1; + capi_vin1_intent |= F2PY_INTENT_IN; + capi_vin1_tmp = array_from_pyobj(NPY_FLOAT,vin1_Dims,vin1_Rank,capi_vin1_intent,vin1_capi); + if (capi_vin1_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 7th argument `vin1' of full_profile_profile.acf2 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + vin1 = (float *)(PyArray_DATA(capi_vin1_tmp)); + + /* Processing variable wi1 */ + wi1_Dims[0]=nion1; + capi_wi1_intent |= F2PY_INTENT_IN; + capi_wi1_tmp = array_from_pyobj(NPY_INT,wi1_Dims,wi1_Rank,capi_wi1_intent,wi1_capi); + if (capi_wi1_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 8th argument `wi1' of full_profile_profile.acf2 to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + wi1 = (int *)(PyArray_DATA(capi_wi1_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&wl,&tau,&te1,ti1,fi1,&ven1,vin1,wi1,&nion1,&alpha1,&dens1,&bfld1,&acf); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + if((PyObject *)capi_wi1_tmp!=wi1_capi) { + Py_XDECREF(capi_wi1_tmp); } + } /*if (capi_wi1_tmp == NULL) ... else of wi1*/ + /* End of cleaning variable wi1 */ + if((PyObject *)capi_vin1_tmp!=vin1_capi) { + Py_XDECREF(capi_vin1_tmp); } + } /*if (capi_vin1_tmp == NULL) ... else of vin1*/ + /* End of cleaning variable vin1 */ + if((PyObject *)capi_fi1_tmp!=fi1_capi) { + Py_XDECREF(capi_fi1_tmp); } + } /*if (capi_fi1_tmp == NULL) ... else of fi1*/ + /* End of cleaning variable fi1 */ + } /*CHECKSCALAR(len(ti1)>=nion1)*/ + } /*if (f2py_success) of nion1*/ + /* End of cleaning variable nion1 */ + } /*if (f2py_success) of acf*/ + /* End of cleaning variable acf */ + } /*if (f2py_success) of bfld1*/ + /* End of cleaning variable bfld1 */ + } /*if (f2py_success) of dens1*/ + /* End of cleaning variable dens1 */ + } /*if (f2py_success) of alpha1*/ + /* End of cleaning variable alpha1 */ + } /*if (f2py_success) of ven1*/ + /* End of cleaning variable ven1 */ + if((PyObject *)capi_ti1_tmp!=ti1_capi) { + Py_XDECREF(capi_ti1_tmp); } + } /*if (capi_ti1_tmp == NULL) ... else of ti1*/ + /* End of cleaning variable ti1 */ + } /*if (f2py_success) of te1*/ + /* End of cleaning variable te1 */ + } /*if (f2py_success) of tau*/ + /* End of cleaning variable tau */ + } /*if (f2py_success) of wl*/ + /* End of cleaning variable wl */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of acf2 ********************************/ + +/*********************************** gaussq ***********************************/ +static char doc_f2py_rout_full_profile_profile_gaussq[] = "\ +gaussq(tau,acf)\n\nWrapper for ``gaussq``.\ +\n\nParameters\n----------\n" +"tau : input float\n" +"acf : input float"; +/* extern void F_FUNC(gaussq,GAUSSQ)(float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_gaussq(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float tau = 0; + PyObject *tau_capi = Py_None; + float acf = 0; + PyObject *acf_capi = Py_None; + static char *capi_kwlist[] = {"tau","acf",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OO|:full_profile_profile.gaussq",\ + capi_kwlist,&tau_capi,&acf_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable tau */ + f2py_success = float_from_pyobj(&tau,tau_capi,"full_profile_profile.gaussq() 1st argument (tau) can't be converted to float"); + if (f2py_success) { + /* Processing variable acf */ + f2py_success = float_from_pyobj(&acf,acf_capi,"full_profile_profile.gaussq() 2nd argument (acf) can't be converted to float"); + if (f2py_success) { +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&tau,&acf); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + } /*if (f2py_success) of acf*/ + /* End of cleaning variable acf */ + } /*if (f2py_success) of tau*/ + /* End of cleaning variable tau */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of gaussq *******************************/ + +/************************************ lagp ************************************/ +static char doc_f2py_rout_full_profile_profile_lagp[] = "\ +lagp(plag,wl,r0,dr,[nl,nrange])\n\nWrapper for ``lagp``.\ +\n\nParameters\n----------\n" +"plag : input rank-2 array('f') with bounds (nl,nrange)\n" +"wl : input float\n" +"r0 : input float\n" +"dr : input float\n" +"\nOther Parameters\n----------------\n" +"nl : input int, optional\n Default: shape(plag,0)\n" +"nrange : input int, optional\n Default: shape(plag,1)"; +/* extern void F_FUNC(lagp,LAGP)(float*,float*,float*,float*,int*,int*); */ +static PyObject *f2py_rout_full_profile_profile_lagp(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*,float*,float*,int*,int*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float *plag = NULL; + npy_intp plag_Dims[2] = {-1, -1}; + const int plag_Rank = 2; + PyArrayObject *capi_plag_tmp = NULL; + int capi_plag_intent = 0; + PyObject *plag_capi = Py_None; + float wl = 0; + PyObject *wl_capi = Py_None; + float r0 = 0; + PyObject *r0_capi = Py_None; + float dr = 0; + PyObject *dr_capi = Py_None; + int nl = 0; + PyObject *nl_capi = Py_None; + int nrange = 0; + PyObject *nrange_capi = Py_None; + static char *capi_kwlist[] = {"plag","wl","r0","dr","nl","nrange",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOO|OO:full_profile_profile.lagp",\ + capi_kwlist,&plag_capi,&wl_capi,&r0_capi,&dr_capi,&nl_capi,&nrange_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable plag */ + ; + capi_plag_intent |= F2PY_INTENT_IN; + capi_plag_tmp = array_from_pyobj(NPY_FLOAT,plag_Dims,plag_Rank,capi_plag_intent,plag_capi); + if (capi_plag_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 1st argument `plag' of full_profile_profile.lagp to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + plag = (float *)(PyArray_DATA(capi_plag_tmp)); + + /* Processing variable wl */ + f2py_success = float_from_pyobj(&wl,wl_capi,"full_profile_profile.lagp() 2nd argument (wl) can't be converted to float"); + if (f2py_success) { + /* Processing variable r0 */ + f2py_success = float_from_pyobj(&r0,r0_capi,"full_profile_profile.lagp() 3rd argument (r0) can't be converted to float"); + if (f2py_success) { + /* Processing variable dr */ + f2py_success = float_from_pyobj(&dr,dr_capi,"full_profile_profile.lagp() 4th argument (dr) can't be converted to float"); + if (f2py_success) { + /* Processing variable nl */ + if (nl_capi == Py_None) nl = shape(plag,0); else + f2py_success = int_from_pyobj(&nl,nl_capi,"full_profile_profile.lagp() 1st keyword (nl) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(shape(plag,0)==nl,"shape(plag,0)==nl","1st keyword nl","lagp:nl=%d",nl) { + /* Processing variable nrange */ + if (nrange_capi == Py_None) nrange = shape(plag,1); else + f2py_success = int_from_pyobj(&nrange,nrange_capi,"full_profile_profile.lagp() 2nd keyword (nrange) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(shape(plag,1)==nrange,"shape(plag,1)==nrange","2nd keyword nrange","lagp:nrange=%d",nrange) { +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(plag,&wl,&r0,&dr,&nl,&nrange); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + } /*CHECKSCALAR(shape(plag,1)==nrange)*/ + } /*if (f2py_success) of nrange*/ + /* End of cleaning variable nrange */ + } /*CHECKSCALAR(shape(plag,0)==nl)*/ + } /*if (f2py_success) of nl*/ + /* End of cleaning variable nl */ + } /*if (f2py_success) of dr*/ + /* End of cleaning variable dr */ + } /*if (f2py_success) of r0*/ + /* End of cleaning variable r0 */ + } /*if (f2py_success) of wl*/ + /* End of cleaning variable wl */ + if((PyObject *)capi_plag_tmp!=plag_capi) { + Py_XDECREF(capi_plag_tmp); } + } /*if (capi_plag_tmp == NULL) ... else of plag*/ + /* End of cleaning variable plag */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of lagp ********************************/ + +/*********************************** atanh ***********************************/ +static char doc_f2py_rout_full_profile_profile_atanh[] = "\ +atanh = atanh(x)\n\nWrapper for ``atanh``.\ +\n\nParameters\n----------\n" +"x : input float\n" +"\nReturns\n-------\n" +"atanh : float"; +/* extern void F_WRAPPEDFUNC(atanh,ATANH)(float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_atanh(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float atanh = 0; + float x = 0; + PyObject *x_capi = Py_None; + static char *capi_kwlist[] = {"x",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "O|:full_profile_profile.atanh",\ + capi_kwlist,&x_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable x */ + f2py_success = float_from_pyobj(&x,x_capi,"full_profile_profile.atanh() 1st argument (x) can't be converted to float"); + if (f2py_success) { + /* Processing variable atanh */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&atanh,&x); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",atanh); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable atanh */ + } /*if (f2py_success) of x*/ + /* End of cleaning variable x */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************** end of atanh ********************************/ + +/********************************* get_spline *********************************/ +static char doc_f2py_rout_full_profile_profile_get_spline[] = "\ +get_spline(alt,dens,te,ti,hf,hef)\n\nWrapper for ``get_spline``.\ +\n\nParameters\n----------\n" +"alt : input float\n" +"dens : input float\n" +"te : input float\n" +"ti : input float\n" +"hf : input float\n" +"hef : input float"; +/* extern void F_FUNC_US(get_spline,GET_SPLINE)(float*,float*,float*,float*,float*,float*); */ +static PyObject *f2py_rout_full_profile_profile_get_spline(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*,float*,float*,float*,float*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float alt = 0; + PyObject *alt_capi = Py_None; + float dens = 0; + PyObject *dens_capi = Py_None; + float te = 0; + PyObject *te_capi = Py_None; + float ti = 0; + PyObject *ti_capi = Py_None; + float hf = 0; + PyObject *hf_capi = Py_None; + float hef = 0; + PyObject *hef_capi = Py_None; + static char *capi_kwlist[] = {"alt","dens","te","ti","hf","hef",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOOO|:full_profile_profile.get_spline",\ + capi_kwlist,&alt_capi,&dens_capi,&te_capi,&ti_capi,&hf_capi,&hef_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable alt */ + f2py_success = float_from_pyobj(&alt,alt_capi,"full_profile_profile.get_spline() 1st argument (alt) can't be converted to float"); + if (f2py_success) { + /* Processing variable dens */ + f2py_success = float_from_pyobj(&dens,dens_capi,"full_profile_profile.get_spline() 2nd argument (dens) can't be converted to float"); + if (f2py_success) { + /* Processing variable te */ + f2py_success = float_from_pyobj(&te,te_capi,"full_profile_profile.get_spline() 3rd argument (te) can't be converted to float"); + if (f2py_success) { + /* Processing variable ti */ + f2py_success = float_from_pyobj(&ti,ti_capi,"full_profile_profile.get_spline() 4th argument (ti) can't be converted to float"); + if (f2py_success) { + /* Processing variable hf */ + f2py_success = float_from_pyobj(&hf,hf_capi,"full_profile_profile.get_spline() 5th argument (hf) can't be converted to float"); + if (f2py_success) { + /* Processing variable hef */ + f2py_success = float_from_pyobj(&hef,hef_capi,"full_profile_profile.get_spline() 6th argument (hef) can't be converted to float"); + if (f2py_success) { +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&alt,&dens,&te,&ti,&hf,&hef); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + } /*if (f2py_success) of hef*/ + /* End of cleaning variable hef */ + } /*if (f2py_success) of hf*/ + /* End of cleaning variable hf */ + } /*if (f2py_success) of ti*/ + /* End of cleaning variable ti */ + } /*if (f2py_success) of te*/ + /* End of cleaning variable te */ + } /*if (f2py_success) of dens*/ + /* End of cleaning variable dens */ + } /*if (f2py_success) of alt*/ + /* End of cleaning variable alt */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/***************************** end of get_spline *****************************/ + +/*********************************** bvalue ***********************************/ +static char doc_f2py_rout_full_profile_profile_bvalue[] = "\ +bvalue = bvalue(t,bcoef,k,x,jderiv,[n])\n\nWrapper for ``bvalue``.\ +\n\nParameters\n----------\n" +"t : input rank-1 array('f') with bounds (n+k)\n" +"bcoef : input rank-1 array('f') with bounds (n)\n" +"k : input int\n" +"x : input float\n" +"jderiv : input int\n" +"\nOther Parameters\n----------------\n" +"n : input int, optional\n Default: len(bcoef)\n" +"\nReturns\n-------\n" +"bvalue : float"; +/* extern void F_WRAPPEDFUNC(bvalue,BVALUE)(float*,float*,float*,int*,int*,float*,int*); */ +static PyObject *f2py_rout_full_profile_profile_bvalue(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,float*,float*,int*,int*,float*,int*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float bvalue = 0; + float *t = NULL; + npy_intp t_Dims[1] = {-1}; + const int t_Rank = 1; + PyArrayObject *capi_t_tmp = NULL; + int capi_t_intent = 0; + PyObject *t_capi = Py_None; + float *bcoef = NULL; + npy_intp bcoef_Dims[1] = {-1}; + const int bcoef_Rank = 1; + PyArrayObject *capi_bcoef_tmp = NULL; + int capi_bcoef_intent = 0; + PyObject *bcoef_capi = Py_None; + int n = 0; + PyObject *n_capi = Py_None; + int k = 0; + PyObject *k_capi = Py_None; + float x = 0; + PyObject *x_capi = Py_None; + int jderiv = 0; + PyObject *jderiv_capi = Py_None; + static char *capi_kwlist[] = {"t","bcoef","k","x","jderiv","n",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOOO|O:full_profile_profile.bvalue",\ + capi_kwlist,&t_capi,&bcoef_capi,&k_capi,&x_capi,&jderiv_capi,&n_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable bcoef */ + ; + capi_bcoef_intent |= F2PY_INTENT_IN; + capi_bcoef_tmp = array_from_pyobj(NPY_FLOAT,bcoef_Dims,bcoef_Rank,capi_bcoef_intent,bcoef_capi); + if (capi_bcoef_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 2nd argument `bcoef' of full_profile_profile.bvalue to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + bcoef = (float *)(PyArray_DATA(capi_bcoef_tmp)); + + /* Processing variable k */ + f2py_success = int_from_pyobj(&k,k_capi,"full_profile_profile.bvalue() 3rd argument (k) can't be converted to int"); + if (f2py_success) { + /* Processing variable x */ + f2py_success = float_from_pyobj(&x,x_capi,"full_profile_profile.bvalue() 4th argument (x) can't be converted to float"); + if (f2py_success) { + /* Processing variable jderiv */ + f2py_success = int_from_pyobj(&jderiv,jderiv_capi,"full_profile_profile.bvalue() 5th argument (jderiv) can't be converted to int"); + if (f2py_success) { + /* Processing variable bvalue */ + /* Processing variable n */ + if (n_capi == Py_None) n = len(bcoef); else + f2py_success = int_from_pyobj(&n,n_capi,"full_profile_profile.bvalue() 1st keyword (n) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(bcoef)>=n,"len(bcoef)>=n","1st keyword n","bvalue:n=%d",n) { + /* Processing variable t */ + t_Dims[0]=n+k; + capi_t_intent |= F2PY_INTENT_IN; + capi_t_tmp = array_from_pyobj(NPY_FLOAT,t_Dims,t_Rank,capi_t_intent,t_capi); + if (capi_t_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 1st argument `t' of full_profile_profile.bvalue to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + t = (float *)(PyArray_DATA(capi_t_tmp)); + +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&bvalue,t,bcoef,&n,&k,&x,&jderiv); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",bvalue); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + if((PyObject *)capi_t_tmp!=t_capi) { + Py_XDECREF(capi_t_tmp); } + } /*if (capi_t_tmp == NULL) ... else of t*/ + /* End of cleaning variable t */ + } /*CHECKSCALAR(len(bcoef)>=n)*/ + } /*if (f2py_success) of n*/ + /* End of cleaning variable n */ + /* End of cleaning variable bvalue */ + } /*if (f2py_success) of jderiv*/ + /* End of cleaning variable jderiv */ + } /*if (f2py_success) of x*/ + /* End of cleaning variable x */ + } /*if (f2py_success) of k*/ + /* End of cleaning variable k */ + if((PyObject *)capi_bcoef_tmp!=bcoef_capi) { + Py_XDECREF(capi_bcoef_tmp); } + } /*if (capi_bcoef_tmp == NULL) ... else of bcoef*/ + /* End of cleaning variable bcoef */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of bvalue *******************************/ + +/*********************************** interv ***********************************/ +static char doc_f2py_rout_full_profile_profile_interv[] = "\ +interv(xt,x,left,mflag,[lxt])\n\nWrapper for ``interv``.\ +\n\nParameters\n----------\n" +"xt : input rank-1 array('f') with bounds (lxt)\n" +"x : input float\n" +"left : input int\n" +"mflag : input int\n" +"\nOther Parameters\n----------------\n" +"lxt : input int, optional\n Default: len(xt)"; +/* extern void F_FUNC(interv,INTERV)(float*,int*,float*,int*,int*); */ +static PyObject *f2py_rout_full_profile_profile_interv(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,int*,float*,int*,int*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float *xt = NULL; + npy_intp xt_Dims[1] = {-1}; + const int xt_Rank = 1; + PyArrayObject *capi_xt_tmp = NULL; + int capi_xt_intent = 0; + PyObject *xt_capi = Py_None; + int lxt = 0; + PyObject *lxt_capi = Py_None; + float x = 0; + PyObject *x_capi = Py_None; + int left = 0; + PyObject *left_capi = Py_None; + int mflag = 0; + PyObject *mflag_capi = Py_None; + static char *capi_kwlist[] = {"xt","x","left","mflag","lxt",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "OOOO|O:full_profile_profile.interv",\ + capi_kwlist,&xt_capi,&x_capi,&left_capi,&mflag_capi,&lxt_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable xt */ + ; + capi_xt_intent |= F2PY_INTENT_IN; + capi_xt_tmp = array_from_pyobj(NPY_FLOAT,xt_Dims,xt_Rank,capi_xt_intent,xt_capi); + if (capi_xt_tmp == NULL) { + PyObject *exc, *val, *tb; + PyErr_Fetch(&exc, &val, &tb); + PyErr_SetString(exc ? exc : full_profile_profile_error,"failed in converting 1st argument `xt' of full_profile_profile.interv to C/Fortran array" ); + npy_PyErr_ChainExceptionsCause(exc, val, tb); + } else { + xt = (float *)(PyArray_DATA(capi_xt_tmp)); + + /* Processing variable x */ + f2py_success = float_from_pyobj(&x,x_capi,"full_profile_profile.interv() 2nd argument (x) can't be converted to float"); + if (f2py_success) { + /* Processing variable left */ + f2py_success = int_from_pyobj(&left,left_capi,"full_profile_profile.interv() 3rd argument (left) can't be converted to int"); + if (f2py_success) { + /* Processing variable mflag */ + f2py_success = int_from_pyobj(&mflag,mflag_capi,"full_profile_profile.interv() 4th argument (mflag) can't be converted to int"); + if (f2py_success) { + /* Processing variable lxt */ + if (lxt_capi == Py_None) lxt = len(xt); else + f2py_success = int_from_pyobj(&lxt,lxt_capi,"full_profile_profile.interv() 1st keyword (lxt) can't be converted to int"); + if (f2py_success) { + CHECKSCALAR(len(xt)>=lxt,"len(xt)>=lxt","1st keyword lxt","interv:lxt=%d",lxt) { +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(xt,&lxt,&x,&left,&mflag); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue(""); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + } /*CHECKSCALAR(len(xt)>=lxt)*/ + } /*if (f2py_success) of lxt*/ + /* End of cleaning variable lxt */ + } /*if (f2py_success) of mflag*/ + /* End of cleaning variable mflag */ + } /*if (f2py_success) of left*/ + /* End of cleaning variable left */ + } /*if (f2py_success) of x*/ + /* End of cleaning variable x */ + if((PyObject *)capi_xt_tmp!=xt_capi) { + Py_XDECREF(capi_xt_tmp); } + } /*if (capi_xt_tmp == NULL) ... else of xt*/ + /* End of cleaning variable xt */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of interv *******************************/ + +/*********************************** r1mach ***********************************/ +static char doc_f2py_rout_full_profile_profile_r1mach[] = "\ +r1mach = r1mach(i)\n\nWrapper for ``r1mach``.\ +\n\nParameters\n----------\n" +"i : input int\n" +"\nReturns\n-------\n" +"r1mach : float"; +/* extern void F_WRAPPEDFUNC(r1mach,R1MACH)(float*,int*); */ +static PyObject *f2py_rout_full_profile_profile_r1mach(const PyObject *capi_self, + PyObject *capi_args, + PyObject *capi_keywds, + void (*f2py_func)(float*,int*)) { + PyObject * volatile capi_buildvalue = NULL; + volatile int f2py_success = 1; +/*decl*/ + + float r1mach = 0; + int i = 0; + PyObject *i_capi = Py_None; + static char *capi_kwlist[] = {"i",NULL}; + +/*routdebugenter*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_clock(); +#endif + if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\ + "O|:full_profile_profile.r1mach",\ + capi_kwlist,&i_capi)) + return NULL; +/*frompyobj*/ + /* Processing variable i */ + f2py_success = int_from_pyobj(&i,i_capi,"full_profile_profile.r1mach() 1st argument (i) can't be converted to int"); + if (f2py_success) { + /* Processing variable r1mach */ +/*end of frompyobj*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_start_call_clock(); +#endif +/*callfortranroutine*/ + (*f2py_func)(&r1mach,&i); +if (PyErr_Occurred()) + f2py_success = 0; +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_call_clock(); +#endif +/*end of callfortranroutine*/ + if (f2py_success) { +/*pyobjfrom*/ +/*end of pyobjfrom*/ + CFUNCSMESS("Building return value.\n"); + capi_buildvalue = Py_BuildValue("f",r1mach); +/*closepyobjfrom*/ +/*end of closepyobjfrom*/ + } /*if (f2py_success) after callfortranroutine*/ +/*cleanupfrompyobj*/ + /* End of cleaning variable r1mach */ + } /*if (f2py_success) of i*/ + /* End of cleaning variable i */ +/*end of cleanupfrompyobj*/ + if (capi_buildvalue == NULL) { +/*routdebugfailure*/ + } else { +/*routdebugleave*/ + } + CFUNCSMESS("Freeing memory.\n"); +/*freemem*/ +#ifdef F2PY_REPORT_ATEXIT +f2py_stop_clock(); +#endif + return capi_buildvalue; +} +/******************************* end of r1mach *******************************/ +/*eof body*/ + +/******************* See f2py2e/f90mod_rules.py: buildhooks *******************/ +/*need_f90modhooks*/ + +/************** See f2py2e/rules.py: module_rules['modulebody'] **************/ + +/******************* See f2py2e/common_rules.py: buildhooks *******************/ + +static FortranDataDef f2py_chisq_def[] = { + {"chi2",0,{{-1}},NPY_FLOAT}, + {NULL} +}; +static void f2py_setup_chisq(char *chi2) { + int i_f2py=0; + f2py_chisq_def[i_f2py++].data = chi2; +} +extern void F_FUNC(f2pyinitchisq,F2PYINITCHISQ)(void(*)(char*)); +static void f2py_init_chisq(void) { + F_FUNC(f2pyinitchisq,F2PYINITCHISQ)(f2py_setup_chisq); +} + +static FortranDataDef f2py_fpa_def[] = { + {"densp",1,{{91}},NPY_FLOAT}, + {"tep",1,{{91}},NPY_FLOAT}, + {"trp",1,{{91}},NPY_FLOAT}, + {"tip",1,{{91}},NPY_FLOAT}, + {"hfp",1,{{91}},NPY_FLOAT}, + {"hefp",1,{{91}},NPY_FLOAT}, + {"altp",1,{{91}},NPY_FLOAT}, + {"r0",0,{{-1}},NPY_FLOAT}, + {"dr",0,{{-1}},NPY_FLOAT}, + {"wl",0,{{-1}},NPY_FLOAT}, + {NULL} +}; +static void f2py_setup_fpa(char *densp,char *tep,char *trp,char *tip,char *hfp,char *hefp,char *altp,char *r0,char *dr,char *wl) { + int i_f2py=0; + f2py_fpa_def[i_f2py++].data = densp; + f2py_fpa_def[i_f2py++].data = tep; + f2py_fpa_def[i_f2py++].data = trp; + f2py_fpa_def[i_f2py++].data = tip; + f2py_fpa_def[i_f2py++].data = hfp; + f2py_fpa_def[i_f2py++].data = hefp; + f2py_fpa_def[i_f2py++].data = altp; + f2py_fpa_def[i_f2py++].data = r0; + f2py_fpa_def[i_f2py++].data = dr; + f2py_fpa_def[i_f2py++].data = wl; +} +extern void F_FUNC(f2pyinitfpa,F2PYINITFPA)(void(*)(char*,char*,char*,char*,char*,char*,char*,char*,char*,char*)); +static void f2py_init_fpa(void) { + F_FUNC(f2pyinitfpa,F2PYINITFPA)(f2py_setup_fpa); +} + +static FortranDataDef f2py_data_def[] = { + {"plag",2,{{16,91}},NPY_FLOAT}, + {"plag_errors",2,{{16,91}},NPY_FLOAT}, + {NULL} +}; +static void f2py_setup_data(char *plag,char *plag_errors) { + int i_f2py=0; + f2py_data_def[i_f2py++].data = plag; + f2py_data_def[i_f2py++].data = plag_errors; +} +extern void F_FUNC(f2pyinitdata,F2PYINITDATA)(void(*)(char*,char*)); +static void f2py_init_data(void) { + F_FUNC(f2pyinitdata,F2PYINITDATA)(f2py_setup_data); +} + +static FortranDataDef f2py_sys_def[] = { + {"sconst",0,{{-1}},NPY_FLOAT}, + {NULL} +}; +static void f2py_setup_sys(char *sconst) { + int i_f2py=0; + f2py_sys_def[i_f2py++].data = sconst; +} +extern void F_FUNC(f2pyinitsys,F2PYINITSYS)(void(*)(char*)); +static void f2py_init_sys(void) { + F_FUNC(f2pyinitsys,F2PYINITSYS)(f2py_setup_sys); +} + +static FortranDataDef f2py_errs_def[] = { + {"edensp",1,{{91}},NPY_FLOAT}, + {"etep",1,{{91}},NPY_FLOAT}, + {"etip",1,{{91}},NPY_FLOAT}, + {"ehfp",1,{{91}},NPY_FLOAT}, + {"ehefp",1,{{91}},NPY_FLOAT}, + {NULL} +}; +static void f2py_setup_errs(char *edensp,char *etep,char *etip,char *ehfp,char *ehefp) { + int i_f2py=0; + f2py_errs_def[i_f2py++].data = edensp; + f2py_errs_def[i_f2py++].data = etep; + f2py_errs_def[i_f2py++].data = etip; + f2py_errs_def[i_f2py++].data = ehfp; + f2py_errs_def[i_f2py++].data = ehefp; +} +extern void F_FUNC(f2pyiniterrs,F2PYINITERRS)(void(*)(char*,char*,char*,char*,char*)); +static void f2py_init_errs(void) { + F_FUNC(f2pyiniterrs,F2PYINITERRS)(f2py_setup_errs); +} + +static FortranDataDef f2py_mag_def[] = { + {"bfld_prof",1,{{85}},NPY_FLOAT}, + {"alpha_prof",1,{{85}},NPY_FLOAT}, + {NULL} +}; +static void f2py_setup_mag(char *bfld_prof,char *alpha_prof) { + int i_f2py=0; + f2py_mag_def[i_f2py++].data = bfld_prof; + f2py_mag_def[i_f2py++].data = alpha_prof; +} +extern void F_FUNC(f2pyinitmag,F2PYINITMAG)(void(*)(char*,char*)); +static void f2py_init_mag(void) { + F_FUNC(f2pyinitmag,F2PYINITMAG)(f2py_setup_mag); +} + +static FortranDataDef f2py_mode_def[] = { + {"imode",0,{{-1}},NPY_INT}, + {NULL} +}; +static void f2py_setup_mode(char *imode) { + int i_f2py=0; + f2py_mode_def[i_f2py++].data = imode; +} +extern void F_FUNC(f2pyinitmode,F2PYINITMODE)(void(*)(char*)); +static void f2py_init_mode(void) { + F_FUNC(f2pyinitmode,F2PYINITMODE)(f2py_setup_mode); +} + +static FortranDataDef f2py_utime_def[] = { + {"uttime",0,{{-1}},NPY_FLOAT}, + {NULL} +}; +static void f2py_setup_utime(char *uttime) { + int i_f2py=0; + f2py_utime_def[i_f2py++].data = uttime; +} +extern void F_FUNC(f2pyinitutime,F2PYINITUTIME)(void(*)(char*)); +static void f2py_init_utime(void) { + F_FUNC(f2pyinitutime,F2PYINITUTIME)(f2py_setup_utime); +} + +static FortranDataDef f2py_spline_def[] = { + {"ta",1,{{34}},NPY_FLOAT}, + {"bcoef",2,{{30,5}},NPY_FLOAT}, + {NULL} +}; +static void f2py_setup_spline(char *ta,char *bcoef) { + int i_f2py=0; + f2py_spline_def[i_f2py++].data = ta; + f2py_spline_def[i_f2py++].data = bcoef; +} +extern void F_FUNC(f2pyinitspline,F2PYINITSPLINE)(void(*)(char*,char*)); +static void f2py_init_spline(void) { + F_FUNC(f2pyinitspline,F2PYINITSPLINE)(f2py_setup_spline); +} + +static FortranDataDef f2py_spec_def[] = { + {"te",0,{{-1}},NPY_FLOAT}, + {"ti",1,{{10}},NPY_FLOAT}, + {"fi",1,{{10}},NPY_FLOAT}, + {"ven",0,{{-1}},NPY_FLOAT}, + {"vin",1,{{10}},NPY_FLOAT}, + {"alpha",0,{{-1}},NPY_FLOAT}, + {"dens",0,{{-1}},NPY_FLOAT}, + {"bfld",0,{{-1}},NPY_FLOAT}, + {"nion",0,{{-1}},NPY_INT}, + {"wi",1,{{10}},NPY_INT}, + {"ak",0,{{-1}},NPY_FLOAT}, + {NULL} +}; +static void f2py_setup_spec(char *te,char *ti,char *fi,char *ven,char *vin,char *alpha,char *dens,char *bfld,char *nion,char *wi,char *ak) { + int i_f2py=0; + f2py_spec_def[i_f2py++].data = te; + f2py_spec_def[i_f2py++].data = ti; + f2py_spec_def[i_f2py++].data = fi; + f2py_spec_def[i_f2py++].data = ven; + f2py_spec_def[i_f2py++].data = vin; + f2py_spec_def[i_f2py++].data = alpha; + f2py_spec_def[i_f2py++].data = dens; + f2py_spec_def[i_f2py++].data = bfld; + f2py_spec_def[i_f2py++].data = nion; + f2py_spec_def[i_f2py++].data = wi; + f2py_spec_def[i_f2py++].data = ak; +} +extern void F_FUNC(f2pyinitspec,F2PYINITSPEC)(void(*)(char*,char*,char*,char*,char*,char*,char*,char*,char*,char*,char*)); +static void f2py_init_spec(void) { + F_FUNC(f2pyinitspec,F2PYINITSPEC)(f2py_setup_spec); +} + +static FortranDataDef f2py_fitter_def[] = { + {"tau",1,{{100}},NPY_FLOAT}, + {"rho",1,{{100}},NPY_FLOAT}, + {"sigma2",1,{{100}},NPY_FLOAT}, + {"params",1,{{10}},NPY_FLOAT}, + {"ifit",1,{{10}},NPY_INT}, + {NULL} +}; +static void f2py_setup_fitter(char *tau,char *rho,char *sigma2,char *params,char *ifit) { + int i_f2py=0; + f2py_fitter_def[i_f2py++].data = tau; + f2py_fitter_def[i_f2py++].data = rho; + f2py_fitter_def[i_f2py++].data = sigma2; + f2py_fitter_def[i_f2py++].data = params; + f2py_fitter_def[i_f2py++].data = ifit; +} +extern void F_FUNC(f2pyinitfitter,F2PYINITFITTER)(void(*)(char*,char*,char*,char*,char*)); +static void f2py_init_fitter(void) { + F_FUNC(f2pyinitfitter,F2PYINITFITTER)(f2py_setup_fitter); +} + +static FortranDataDef f2py_trans_def[] = { + {"ev",1,{{10000}},NPY_FLOAT}, + {NULL} +}; +static void f2py_setup_trans(char *ev) { + int i_f2py=0; + f2py_trans_def[i_f2py++].data = ev; +} +extern void F_FUNC(f2pyinittrans,F2PYINITTRANS)(void(*)(char*)); +static void f2py_init_trans(void) { + F_FUNC(f2pyinittrans,F2PYINITTRANS)(f2py_setup_trans); +} + +static FortranDataDef f2py_d8mach_def[] = { + {"cray1",0,{{-1}},NPY_INT}, + {NULL} +}; +static void f2py_setup_d8mach(char *cray1) { + int i_f2py=0; + f2py_d8mach_def[i_f2py++].data = cray1; +} +extern void F_FUNC(f2pyinitd8mach,F2PYINITD8MACH)(void(*)(char*)); +static void f2py_init_d8mach(void) { + F_FUNC(f2pyinitd8mach,F2PYINITD8MACH)(f2py_setup_d8mach); +} + +/*need_commonhooks*/ + +/**************************** See f2py2e/rules.py ****************************/ + +static FortranDataDef f2py_routine_defs[] = { + {"profile",-1,{{-1}},0,(char *)F_FUNC(profile,PROFILE),(f2py_init_func)f2py_rout_full_profile_profile_profile,doc_f2py_rout_full_profile_profile_profile}, + {"grid",-1,{{-1}},0,(char *)F_FUNC(grid,GRID),(f2py_init_func)f2py_rout_full_profile_profile_grid,doc_f2py_rout_full_profile_profile_grid}, + {"propagate",-1,{{-1}},0,(char *)F_FUNC(propagate,PROPAGATE),(f2py_init_func)f2py_rout_full_profile_profile_propagate,doc_f2py_rout_full_profile_profile_propagate}, + {"fcn_lpreg",-1,{{-1}},0,(char *)F_FUNC_US(fcn_lpreg,FCN_LPREG),(f2py_init_func)f2py_rout_full_profile_profile_fcn_lpreg,doc_f2py_rout_full_profile_profile_fcn_lpreg}, + {"get_scale",-1,{{-1}},0,(char *)F_FUNC_US(get_scale,GET_SCALE),(f2py_init_func)f2py_rout_full_profile_profile_get_scale,doc_f2py_rout_full_profile_profile_get_scale}, + {"enorm",-1,{{-1}},0,(char *)F_WRAPPEDFUNC(enorm,ENORM),(f2py_init_func)f2py_rout_full_profile_profile_enorm,doc_f2py_rout_full_profile_profile_enorm}, + {"fdjac2",-1,{{-1}},0,(char *)F_FUNC(fdjac2,FDJAC2),(f2py_init_func)f2py_rout_full_profile_profile_fdjac2,doc_f2py_rout_full_profile_profile_fdjac2}, + {"lmdif",-1,{{-1}},0,(char *)F_FUNC(lmdif,LMDIF),(f2py_init_func)f2py_rout_full_profile_profile_lmdif,doc_f2py_rout_full_profile_profile_lmdif}, + {"lmpar",-1,{{-1}},0,(char *)F_FUNC(lmpar,LMPAR),(f2py_init_func)f2py_rout_full_profile_profile_lmpar,doc_f2py_rout_full_profile_profile_lmpar}, + {"qrfac",-1,{{-1}},0,(char *)F_FUNC(qrfac,QRFAC),(f2py_init_func)f2py_rout_full_profile_profile_qrfac,doc_f2py_rout_full_profile_profile_qrfac}, + {"qrsolv",-1,{{-1}},0,(char *)F_FUNC(qrsolv,QRSOLV),(f2py_init_func)f2py_rout_full_profile_profile_qrsolv,doc_f2py_rout_full_profile_profile_qrsolv}, + {"spmpar",-1,{{-1}},0,(char *)F_WRAPPEDFUNC(spmpar,SPMPAR),(f2py_init_func)f2py_rout_full_profile_profile_spmpar,doc_f2py_rout_full_profile_profile_spmpar}, + {"cdtr1",-1,{{-1}},0,(char *)F_WRAPPEDFUNC(cdtr1,CDTR1),(f2py_init_func)f2py_rout_full_profile_profile_cdtr1,doc_f2py_rout_full_profile_profile_cdtr1}, + {"czte1",-1,{{-1}},0,(char *)F_WRAPPEDFUNC(czte1,CZTE1),(f2py_init_func)f2py_rout_full_profile_profile_czte1,doc_f2py_rout_full_profile_profile_czte1}, + {"fcn",-1,{{-1}},0,(char *)F_FUNC(fcn,FCN),(f2py_init_func)f2py_rout_full_profile_profile_fcn,doc_f2py_rout_full_profile_profile_fcn}, + {"cj_ion",-1,{{-1}},0,(char *)F_WRAPPEDFUNC_US(cj_ion,CJ_ION),(f2py_init_func)f2py_rout_full_profile_profile_cj_ion,doc_f2py_rout_full_profile_profile_cj_ion}, + {"cj_electron",-1,{{-1}},0,(char *)F_WRAPPEDFUNC_US(cj_electron,CJ_ELECTRON),(f2py_init_func)f2py_rout_full_profile_profile_cj_electron,doc_f2py_rout_full_profile_profile_cj_electron}, + {"y_ion",-1,{{-1}},0,(char *)F_WRAPPEDFUNC_US(y_ion,Y_ION),(f2py_init_func)f2py_rout_full_profile_profile_y_ion,doc_f2py_rout_full_profile_profile_y_ion}, + {"y_electron",-1,{{-1}},0,(char *)F_WRAPPEDFUNC_US(y_electron,Y_ELECTRON),(f2py_init_func)f2py_rout_full_profile_profile_y_electron,doc_f2py_rout_full_profile_profile_y_electron}, + {"spect1",-1,{{-1}},0,(char *)F_WRAPPEDFUNC(spect1,SPECT1),(f2py_init_func)f2py_rout_full_profile_profile_spect1,doc_f2py_rout_full_profile_profile_spect1}, + {"acf2",-1,{{-1}},0,(char *)F_FUNC(acf2,ACF2),(f2py_init_func)f2py_rout_full_profile_profile_acf2,doc_f2py_rout_full_profile_profile_acf2}, + {"gaussq",-1,{{-1}},0,(char *)F_FUNC(gaussq,GAUSSQ),(f2py_init_func)f2py_rout_full_profile_profile_gaussq,doc_f2py_rout_full_profile_profile_gaussq}, + {"lagp",-1,{{-1}},0,(char *)F_FUNC(lagp,LAGP),(f2py_init_func)f2py_rout_full_profile_profile_lagp,doc_f2py_rout_full_profile_profile_lagp}, + {"atanh",-1,{{-1}},0,(char *)F_WRAPPEDFUNC(atanh,ATANH),(f2py_init_func)f2py_rout_full_profile_profile_atanh,doc_f2py_rout_full_profile_profile_atanh}, + {"get_spline",-1,{{-1}},0,(char *)F_FUNC_US(get_spline,GET_SPLINE),(f2py_init_func)f2py_rout_full_profile_profile_get_spline,doc_f2py_rout_full_profile_profile_get_spline}, + {"bvalue",-1,{{-1}},0,(char *)F_WRAPPEDFUNC(bvalue,BVALUE),(f2py_init_func)f2py_rout_full_profile_profile_bvalue,doc_f2py_rout_full_profile_profile_bvalue}, + {"interv",-1,{{-1}},0,(char *)F_FUNC(interv,INTERV),(f2py_init_func)f2py_rout_full_profile_profile_interv,doc_f2py_rout_full_profile_profile_interv}, + {"r1mach",-1,{{-1}},0,(char *)F_WRAPPEDFUNC(r1mach,R1MACH),(f2py_init_func)f2py_rout_full_profile_profile_r1mach,doc_f2py_rout_full_profile_profile_r1mach}, + +/*eof routine_defs*/ + {NULL} +}; + +static PyMethodDef f2py_module_methods[] = { + + {NULL,NULL} +}; + +static struct PyModuleDef moduledef = { + PyModuleDef_HEAD_INIT, + "full_profile_profile", + NULL, + -1, + f2py_module_methods, + NULL, + NULL, + NULL, + NULL +}; + +PyMODINIT_FUNC PyInit_full_profile_profile(void) { + int i; + PyObject *m,*d, *s, *tmp; + m = full_profile_profile_module = PyModule_Create(&moduledef); + Py_SET_TYPE(&PyFortran_Type, &PyType_Type); + import_array(); + if (PyErr_Occurred()) + {PyErr_SetString(PyExc_ImportError, "can't initialize module full_profile_profile (failed to import numpy)"); return m;} + d = PyModule_GetDict(m); + s = PyString_FromString("$Revision: $"); + PyDict_SetItemString(d, "__version__", s); + Py_DECREF(s); + s = PyUnicode_FromString( + "This module 'full_profile_profile' is auto-generated with f2py (version:2).\nFunctions:\n" +" profile(acf_sum,acf_err,power,en,alag,thb2,bfm2,ote,ete,oti,eti,oph,eph,ophe,ephe,range2,ut,nacf,acf_avg_real,status,nhts=shape(acf_sum,1),ibits=shape(acf_sum,2))\n" +" grid()\n" +" propagate(xe)\n" +" fcn_lpreg(x,fvec,iflag,m=len(fvec),n=len(x))\n" +" get_scale(plag2)\n" +" enorm = enorm(x,n=len(x))\n" +" fdjac2(fcn,x,fvec,fjac,iflag,epsfcn,wa,m=len(fvec),n=len(x),ldfjac=shape(fjac,0),fcn_extra_args=())\n" +" lmdif(fcn,x,fvec,ftol,xtol,gtol,maxfev,epsfcn,diag,mode,factor,nprint,info,nfev,fjac,ipvt,qtf,wa1,wa2,wa3,wa4,m=len(fvec),n=len(x),ldfjac=shape(fjac,0),fcn_extra_args=())\n" +" lmpar(r,ipvt,diag,qtb,delta,par,x,sdiag,wa1,wa2,n=shape(r,1),ldr=shape(r,0))\n" +" qrfac(m,a,pivot,ipvt,rdiag,acnorm,wa,n=shape(a,1),lda=shape(a,0),lipvt=len(ipvt))\n" +" qrsolv(r,ipvt,diag,qtb,x,sdiag,wa,n=shape(r,1),ldr=shape(r,0))\n" +" spmpar = spmpar(i)\n" +" cdtr1 = cdtr1(depth)\n" +" czte1 = czte1(zlag,tr)\n" +" fcn(x,fvec,iflag,m=len(fvec),n=len(x))\n" +" cj_ion = cj_ion(theta,psi)\n" +" cj_electron = cj_electron(theta,phi,psi,alpha)\n" +" y_ion = y_ion(theta,psi)\n" +" y_electron = y_electron(theta,phi,psi,alpha)\n" +" spect1 = spect1(omega)\n" +" acf2(wl,tau,te1,ti1,fi1,ven1,vin1,wi1,alpha1,dens1,bfld1,acf,nion1=len(ti1))\n" +" gaussq(tau,acf)\n" +" lagp(plag,wl,r0,dr,nl=shape(plag,0),nrange=shape(plag,1))\n" +" atanh = atanh(x)\n" +" get_spline(alt,dens,te,ti,hf,hef)\n" +" bvalue = bvalue(t,bcoef,k,x,jderiv,n=len(bcoef))\n" +" interv(xt,x,left,mflag,lxt=len(xt))\n" +" r1mach = r1mach(i)\n" +"COMMON blocks:\n"" /chisq/ chi2\n"" /fpa/ densp(91),tep(91),trp(91),tip(91),hfp(91),hefp(91),altp(91),r0,dr,wl\n"" /data/ plag(16,91),plag_errors(16,91)\n"" /sys/ sconst\n"" /errs/ edensp(91),etep(91),etip(91),ehfp(91),ehefp(91)\n"" /mag/ bfld_prof(85),alpha_prof(85)\n"" /mode/ imode\n"" /utime/ uttime\n"" /spline/ ta(34),bcoef(30,5)\n"" /spec/ te,ti(10),fi(10),ven,vin(10),alpha,dens,bfld,nion,wi(10),ak\n"" /fitter/ tau(100),rho(100),sigma2(100),params(10),ifit(10)\n"" /trans/ ev(10000)\n"" /d8mach/ cray1\n""."); + PyDict_SetItemString(d, "__doc__", s); + Py_DECREF(s); + full_profile_profile_error = PyErr_NewException ("full_profile_profile.error", NULL, NULL); + /* + * Store the error object inside the dict, so that it could get deallocated. + * (in practice, this is a module, so it likely will not and cannot.) + */ + PyDict_SetItemString(d, "_full_profile_profile_error", full_profile_profile_error); + Py_DECREF(full_profile_profile_error); + for(i=0;f2py_routine_defs[i].name!=NULL;i++) { + tmp = PyFortranObject_NewAsAttr(&f2py_routine_defs[i]); + PyDict_SetItemString(d, f2py_routine_defs[i].name, tmp); + Py_DECREF(tmp); + } + + + + + + + { + extern float F_FUNC(enorm,ENORM)(void); + PyObject* o = PyDict_GetItemString(d,"enorm"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC(enorm,ENORM),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("enorm"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + + + + + + + { + extern float F_FUNC(spmpar,SPMPAR)(void); + PyObject* o = PyDict_GetItemString(d,"spmpar"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC(spmpar,SPMPAR),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("spmpar"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + + { + extern float F_FUNC(cdtr1,CDTR1)(void); + PyObject* o = PyDict_GetItemString(d,"cdtr1"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC(cdtr1,CDTR1),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("cdtr1"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + + { + extern float F_FUNC(czte1,CZTE1)(void); + PyObject* o = PyDict_GetItemString(d,"czte1"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC(czte1,CZTE1),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("czte1"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + + + { + extern complex_float F_FUNC_US(cj_ion,CJ_ION)(void); + PyObject* o = PyDict_GetItemString(d,"cj_ion"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC_US(cj_ion,CJ_ION),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("cj_ion"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + + { + extern complex_float F_FUNC_US(cj_electron,CJ_ELECTRON)(void); + PyObject* o = PyDict_GetItemString(d,"cj_electron"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC_US(cj_electron,CJ_ELECTRON),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("cj_electron"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + + { + extern complex_float F_FUNC_US(y_ion,Y_ION)(void); + PyObject* o = PyDict_GetItemString(d,"y_ion"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC_US(y_ion,Y_ION),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("y_ion"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + + { + extern complex_float F_FUNC_US(y_electron,Y_ELECTRON)(void); + PyObject* o = PyDict_GetItemString(d,"y_electron"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC_US(y_electron,Y_ELECTRON),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("y_electron"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + + { + extern float F_FUNC(spect1,SPECT1)(void); + PyObject* o = PyDict_GetItemString(d,"spect1"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC(spect1,SPECT1),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("spect1"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + + + + + { + extern float F_FUNC(atanh,ATANH)(void); + PyObject* o = PyDict_GetItemString(d,"atanh"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC(atanh,ATANH),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("atanh"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + + + { + extern float F_FUNC(bvalue,BVALUE)(void); + PyObject* o = PyDict_GetItemString(d,"bvalue"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC(bvalue,BVALUE),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("bvalue"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + + + + { + extern float F_FUNC(r1mach,R1MACH)(void); + PyObject* o = PyDict_GetItemString(d,"r1mach"); + tmp = F2PyCapsule_FromVoidPtr((void*)F_FUNC(r1mach,R1MACH),NULL); + PyObject_SetAttrString(o,"_cpointer", tmp); + Py_DECREF(tmp); + s = PyUnicode_FromString("r1mach"); + PyObject_SetAttrString(o,"__name__", s); + Py_DECREF(s); + } + +/*eof initf2pywraphooks*/ +/*eof initf90modhooks*/ + + tmp = PyFortranObject_New(f2py_chisq_def,f2py_init_chisq); + F2PyDict_SetItemString(d, "chisq", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_fpa_def,f2py_init_fpa); + F2PyDict_SetItemString(d, "fpa", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_data_def,f2py_init_data); + F2PyDict_SetItemString(d, "data", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_sys_def,f2py_init_sys); + F2PyDict_SetItemString(d, "sys", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_errs_def,f2py_init_errs); + F2PyDict_SetItemString(d, "errs", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_mag_def,f2py_init_mag); + F2PyDict_SetItemString(d, "mag", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_mode_def,f2py_init_mode); + F2PyDict_SetItemString(d, "mode", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_utime_def,f2py_init_utime); + F2PyDict_SetItemString(d, "utime", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_spline_def,f2py_init_spline); + F2PyDict_SetItemString(d, "spline", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_spec_def,f2py_init_spec); + F2PyDict_SetItemString(d, "spec", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_fitter_def,f2py_init_fitter); + F2PyDict_SetItemString(d, "fitter", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_trans_def,f2py_init_trans); + F2PyDict_SetItemString(d, "trans", tmp); + Py_DECREF(tmp); + tmp = PyFortranObject_New(f2py_d8mach_def,f2py_init_d8mach); + F2PyDict_SetItemString(d, "d8mach", tmp); + Py_DECREF(tmp); +/*eof initcommonhooks*/ + + +#ifdef F2PY_REPORT_ATEXIT + if (! PyErr_Occurred()) + on_exit(f2py_report_on_exit,(void*)"full_profile_profile"); +#endif + return m; +} +#ifdef __cplusplus +} +#endif diff --git a/schainf/Ffiles/get_path.f b/schainf/Ffiles/get_path.f new file mode 100644 index 0000000..fbd81c0 --- /dev/null +++ b/schainf/Ffiles/get_path.f @@ -0,0 +1,17 @@ + + subroutine get_path(fqual_temp) +c +c create table of magnetic field components +c +c character*47 L + + character(1024) :: fqual_temp + character(512) :: ppath + character(512) :: cpath + ppath = "/home/cportilla/DIR_MADRIGAL/schain" + cpath = "/schainf/Ffiles/bfmodel/" +c write(*,*) "Len:", L + fqual_temp = TRIM(ppath)//TRIM(cpath) +c write(*,*) "Len:", fqual_temp + return + end diff --git a/schainf/Ffiles/get_path_reader.f b/schainf/Ffiles/get_path_reader.f new file mode 100644 index 0000000..9001d30 --- /dev/null +++ b/schainf/Ffiles/get_path_reader.f @@ -0,0 +1,36 @@ + + subroutine get_len(the_len,fqual_temp) +c +c create table of magnetic field components +c +c character*47 L + + character(1024) :: fqual_temp + character(512) :: ppath + character(512) :: cpath + integer the_len + ppath = "/home/cportilla/DIR_MADRIGAL/schain" + cpath = "/schainf/Ffiles/jlib26feb2001" + fqual_temp = TRIM(ppath)//TRIM(cpath) + the_len = LEN_TRIM(fqual_temp) + + return + end + + subroutine get_path_reader(fqual,the_len) +c +c create table of magnetic field components +c +c character*47 L + + integer the_len + character(the_len) :: fqual + character(1024) :: fqual_temp + + call get_len(the_len,fqual_temp) + fqual = TRIM(fqual_temp) + write(*,*) "Done" + + return + end + diff --git a/schainpy/model/proc/clean_data.json b/schainpy/model/proc/clean_data.json new file mode 100644 index 0000000..c9e80e5 --- /dev/null +++ b/schainpy/model/proc/clean_data.json @@ -0,0 +1,141 @@ +{"conditions": [ + + {"year": 2024, "doy": 47, "initial_time": [5,32], "final_time": [6,42], "aux_index": [ null, 11]}, + + {"year": 2024, "doy": 247, "initial_time": [2,0], "final_time": [5,0], "aux_index": [ null, 11]}, + {"year": 2024, "doy": 247, "initial_time": [1,40], "final_time": [2,0], "aux_index": [ null, 26]}, + {"year": 2024, "doy": 247, "initial_time": [0,45], "final_time": [0,45], "aux_index": [ null, 28]}, + {"year": 2024, "doy": 246, "initial_time": [23,15], "final_time": [23,59], "aux_index": [ null, 21]}, + {"year": 2024, "doy": 246, "initial_time": [13,55], "final_time": [23,59], "aux_index": [ null, 11]}, + {"year": 2024, "doy": 247, "initial_time": [0,0], "final_time": [2,25], "aux_index": [ null, 22]}, + {"year": 2024, "doy": 247, "initial_time": [3,0], "final_time": [3,0], "aux_index": [ 34, null]}, + + {"year": 2024, "doy": 247, "initial_time": [5,0], "final_time": [23,59], "aux_index": [ null, 11]}, + {"year": 2024, "doy": 247, "initial_time": [5,0], "final_time": [11,25], "aux_index": [ 11, 13]}, + {"year": 2024, "doy": 247, "initial_time": [5,30], "final_time": [9,50], "aux_index": [ 13, 13]}, + {"year": 2024, "doy": 247, "initial_time": [23,15], "final_time": [23,59], "aux_index": [ null, 15]}, + {"year": 2024, "doy": 248, "initial_time": [0,0], "final_time": [4,59], "aux_index": [ null, 13]}, + {"year": 2024, "doy": 248, "initial_time": [0,0], "final_time": [1,50], "aux_index": [ null, 21]}, + {"year": 2024, "doy": 248, "initial_time": [0,0], "final_time": [2,50], "aux_index": [ null, 17]}, + {"year": 2024, "doy": 247, "initial_time": [8,5], "final_time": [8,10], "aux_index": [ null, null]}, + {"year": 2024, "doy": 248, "initial_time": [2,50], "final_time": [2,50], "aux_index": [ 30, null]}, + {"year": 2024, "doy": 248, "initial_time": [3,55], "final_time": [4,0], "aux_index": [ 26, null]}, + {"year": 2024, "doy": 247, "initial_time": [5,0], "final_time": [5,0], "aux_index": [ 18, 24]}, + {"year": 2024, "doy": 247, "initial_time": [5,5], "final_time": [5,5], "aux_index": [ 21, 26]}, + {"year": 2024, "doy": 247, "initial_time": [5,15], "final_time": [5,15], "aux_index": [ 19, 21]}, + {"year": 2024, "doy": 247, "initial_time": [5,20], "final_time": [5,20], "aux_index": [ 21, 23]}, + {"year": 2024, "doy": 247, "initial_time": [5,25], "final_time": [5,25], "aux_index": [ 21, 26]}, + {"year": 2024, "doy": 247, "initial_time": [5,30], "final_time": [5,30], "aux_index": [ 20, 27]}, + {"year": 2024, "doy": 247, "initial_time": [5,35], "final_time": [5,35], "aux_index": [ 22, 27]}, + {"year": 2024, "doy": 247, "initial_time": [8,5], "final_time": [8,10], "aux_index": [ null, null]}, + {"year": 2024, "doy": 247, "initial_time": [15,30], "final_time": [15,30], "aux_index": [ null, null]}, + + + {"year": 2024, "doy": 248, "initial_time": [5,20], "final_time": [5,35], "aux_index": [ 20, null]}, + {"year": 2024, "doy": 248, "initial_time": [5,40], "final_time": [5,55], "aux_index": [ 23, null]}, + {"year": 2024, "doy": 248, "initial_time": [5,0], "final_time": [23,59], "aux_index": [ null, 11]}, + {"year": 2024, "doy": 249, "initial_time": [0,0], "final_time": [4,59], "aux_index": [ null, 12]}, + {"year": 2024, "doy": 248, "initial_time": [5,0], "final_time": [9,0], "aux_index": [ null, 13]}, + {"year": 2024, "doy": 249, "initial_time": [2,0], "final_time": [2,20], "aux_index": [ null, 17]}, + {"year": 2024, "doy": 249, "initial_time": [2,55], "final_time": [2,55], "aux_index": [ 27, null]}, + {"year": 2024, "doy": 249, "initial_time": [3,0], "final_time": [3,5], "aux_index": [ 25, null]}, + {"year": 2024, "doy": 249, "initial_time": [4,5], "final_time": [4,5], "aux_index": [ 23, null]}, + {"year": 2024, "doy": 249, "initial_time": [4,10], "final_time": [4,10], "aux_index": [ 26, null]}, + {"year": 2024, "doy": 249, "initial_time": [4,15], "final_time": [4,15], "aux_index": [ 30, null]}, + {"year": 2024, "doy": 249, "initial_time": [0,30], "final_time": [0,40], "aux_index": [ null, null]}, + + {"year": 2024, "doy": 249, "initial_time": [5,20], "final_time": [5,20], "aux_index": [ 22, null]}, + {"year": 2024, "doy": 249, "initial_time": [5,25], "final_time": [5,25], "aux_index": [ 23, null]}, + {"year": 2024, "doy": 249, "initial_time": [5,30], "final_time": [5,30], "aux_index": [ 18, 37]}, + {"year": 2024, "doy": 249, "initial_time": [5,35], "final_time": [5,40], "aux_index": [ 18, 34]}, + {"year": 2024, "doy": 249, "initial_time": [5,45], "final_time": [5,45], "aux_index": [ 20, 30]}, + {"year": 2024, "doy": 249, "initial_time": [6,5], "final_time": [6,5], "aux_index": [ 24, null]}, + {"year": 2024, "doy": 249, "initial_time": [10,5], "final_time": [10,5], "aux_index": [ null, null]}, + {"year": 2024, "doy": 249, "initial_time": [6,10], "final_time": [6,10], "aux_index": [ 29, null]}, + {"year": 2024, "doy": 249, "initial_time": [6,45], "final_time": [6,45], "aux_index": [ 21, null]}, + {"year": 2024, "doy": 249, "initial_time": [5,0], "final_time": [20,0], "aux_index": [ null, 11]}, + {"year": 2024, "doy": 249, "initial_time": [23,10], "final_time": [23,59], "aux_index": [ null, 11]}, + {"year": 2024, "doy": 250, "initial_time": [0,0], "final_time": [4,59], "aux_index": [ null, 13]}, + {"year": 2024, "doy": 249, "initial_time": [5,0], "final_time": [8,50], "aux_index": [ null, 12]}, + {"year": 2024, "doy": 250, "initial_time": [0,0], "final_time": [3,35], "aux_index": [ null, 23]}, + {"year": 2024, "doy": 250, "initial_time": [0,0], "final_time": [0,55], "aux_index": [ null, null]}, + {"year": 2024, "doy": 249, "initial_time": [7,15], "final_time": [7,15], "aux_index": [ null, 14]}, + {"year": 2024, "doy": 250, "initial_time": [3,15], "final_time": [3,35], "aux_index": [ 46, null]}, + {"year": 2024, "doy": 250, "initial_time": [3,25], "final_time": [3,25], "aux_index": [ null, 30]}, + {"year": 2024, "doy": 250, "initial_time": [3,30], "final_time": [3,30], "aux_index": [ null, 32]}, + {"year": 2024, "doy": 250, "initial_time": [3,35], "final_time": [3,35], "aux_index": [ null, 34]}, + {"year": 2024, "doy": 250, "initial_time": [3,40], "final_time": [3,40], "aux_index": [ 21, 38]}, + {"year": 2024, "doy": 250, "initial_time": [3,45], "final_time": [3,45], "aux_index": [ 22, 37]}, + {"year": 2024, "doy": 250, "initial_time": [1,35], "final_time": [1,35], "aux_index": [ 36, null]}, + {"year": 2024, "doy": 250, "initial_time": [1,40], "final_time": [1,40], "aux_index": [ 32, null]}, + {"year": 2024, "doy": 250, "initial_time": [1,45], "final_time": [1,45], "aux_index": [ 31, null]}, + {"year": 2024, "doy": 250, "initial_time": [2,30], "final_time": [2,30], "aux_index": [ 30, null]}, + {"year": 2024, "doy": 250, "initial_time": [2,35], "final_time": [2,35], "aux_index": [ 33, null]}, + {"year": 2024, "doy": 250, "initial_time": [2,40], "final_time": [2,40], "aux_index": [ 27, null]}, + + {"year": 2024, "doy": 251, "initial_time": [3,0], "final_time": [3,45], "aux_index": [ null, null]}, + {"year": 2024, "doy": 251, "initial_time": [0,30], "final_time": [0,45], "aux_index": [ null, null]}, + + {"year": 2024, "doy": 250, "initial_time": [5,0], "final_time": [5,0], "aux_index": [ 20, 41]}, + {"year": 2024, "doy": 250, "initial_time": [5,5], "final_time": [5,10], "aux_index": [ 24, 37]}, + {"year": 2024, "doy": 250, "initial_time": [5,20], "final_time": [5,25], "aux_index": [ 23, 39]}, + {"year": 2024, "doy": 250, "initial_time": [5,30], "final_time": [5,30], "aux_index": [ 19, null]}, + {"year": 2024, "doy": 250, "initial_time": [6,5], "final_time": [6,5], "aux_index": [ 24, null]}, + {"year": 2024, "doy": 250, "initial_time": [6,10], "final_time": [6,10], "aux_index": [ 20, 41]}, + {"year": 2024, "doy": 250, "initial_time": [6,15], "final_time": [6,15], "aux_index": [ 20, 39]}, + {"year": 2024, "doy": 250, "initial_time": [6,20], "final_time": [6,20], "aux_index": [ 20, 37]}, + {"year": 2024, "doy": 250, "initial_time": [6,25], "final_time": [6,25], "aux_index": [ 21, 29]}, + {"year": 2024, "doy": 250, "initial_time": [6,30], "final_time": [6,30], "aux_index": [ 22, 29]}, + {"year": 2024, "doy": 250, "initial_time": [6,45], "final_time": [6,45], "aux_index": [ 20, null]}, + {"year": 2024, "doy": 250, "initial_time": [6,50], "final_time": [6,50], "aux_index": [ 19, 38]}, + {"year": 2024, "doy": 250, "initial_time": [6,55], "final_time": [6,55], "aux_index": [ 23, 42]}, + {"year": 2024, "doy": 250, "initial_time": [7,0], "final_time": [7,0], "aux_index": [ 20, null]}, + {"year": 2024, "doy": 250, "initial_time": [7,5], "final_time": [7,5], "aux_index": [ 23, 40]}, + {"year": 2024, "doy": 250, "initial_time": [7,10], "final_time": [7,10], "aux_index": [ 23, 42]}, + {"year": 2024, "doy": 250, "initial_time": [7,15], "final_time": [7,15], "aux_index": [ 25, 37]}, + {"year": 2024, "doy": 250, "initial_time": [7,30], "final_time": [7,30], "aux_index": [ 25, 40]}, + {"year": 2024, "doy": 250, "initial_time": [7,35], "final_time": [7,35], "aux_index": [ 25, 39]}, + {"year": 2024, "doy": 250, "initial_time": [7,40], "final_time": [7,40], "aux_index": [ 23, 41]}, + {"year": 2024, "doy": 250, "initial_time": [7,45], "final_time": [7,45], "aux_index": [ 27, 38]}, + {"year": 2024, "doy": 250, "initial_time": [23,10], "final_time": [23,59], "aux_index": [ null, 12]}, + {"year": 2024, "doy": 251, "initial_time": [0,0], "final_time": [4,59], "aux_index": [ null, 13]}, + {"year": 2024, "doy": 250, "initial_time": [5,0], "final_time": [8,10], "aux_index": [ null, 12]}, + {"year": 2024, "doy": 250, "initial_time": [9,10], "final_time": [10,50], "aux_index": [ null, 12]}, + {"year": 2024, "doy": 251, "initial_time": [0,0], "final_time": [3,30], "aux_index": [ null, 27]}, + {"year": 2024, "doy": 250, "initial_time": [19,30], "final_time": [19,30], "aux_index": [ 19, 26]}, + {"year": 2024, "doy": 250, "initial_time": [10,50], "final_time": [13,20], "aux_index": [ null, 12]}, + + + {"year": 2024, "doy": 251, "initial_time": [5,0], "final_time": [5,0], "aux_index": [ 23, 40]}, + {"year": 2024, "doy": 251, "initial_time": [5,5], "final_time": [5,10], "aux_index": [ 25, 40]}, + {"year": 2024, "doy": 251, "initial_time": [17,30], "final_time": [20,30], "aux_index": [ 56, null]}, + {"year": 2024, "doy": 251, "initial_time": [5,0], "final_time": [8,10], "aux_index": [ null, 12]}, + {"year": 2024, "doy": 251, "initial_time": [5,0], "final_time": [20,0], "aux_index": [ null, 11]}, + {"year": 2024, "doy": 251, "initial_time": [19,50], "final_time": [19,50], "aux_index": [ null, null]}, + {"year": 2024, "doy": 252, "initial_time": [0,30], "final_time": [0,55], "aux_index": [ null, null]}, + {"year": 2024, "doy": 252, "initial_time": [0,55], "final_time": [1,0], "aux_index": [ null, 40]}, + {"year": 2024, "doy": 252, "initial_time": [1,0], "final_time": [1,15], "aux_index": [ null, 34]}, + {"year": 2024, "doy": 252, "initial_time": [0,30], "final_time": [0,55], "aux_index": [ null, null]}, + {"year": 2024, "doy": 252, "initial_time": [1,35], "final_time": [1,55], "aux_index": [ null, null]}, + {"year": 2024, "doy": 251, "initial_time": [23,10], "final_time": [23,59], "aux_index": [ null, 20]}, + {"year": 2024, "doy": 252, "initial_time": [0,0], "final_time": [5,0], "aux_index": [ null, 12]}, + {"year": 2024, "doy": 252, "initial_time": [0,0], "final_time": [1,50], "aux_index": [ null, 31]}, + {"year": 2024, "doy": 252, "initial_time": [3,20], "final_time": [3,25], "aux_index": [ 22, null]}, + {"year": 2024, "doy": 252, "initial_time": [3,30], "final_time": [3,35], "aux_index": [ 23, null]}, + {"year": 2024, "doy": 252, "initial_time": [3,50], "final_time": [3,50], "aux_index": [ 22, null]}, + {"year": 2024, "doy": 252, "initial_time": [3,55], "final_time": [4,5], "aux_index": [ 21, null]}, + {"year": 2024, "doy": 252, "initial_time": [4,10], "final_time": [4,10], "aux_index": [ 21, 36]}, + + {"year": 2024, "doy": 252, "initial_time": [5,0], "final_time": [20,0], "aux_index": [ null, 12]}, + {"year": 2024, "doy": 252, "initial_time": [13,0], "final_time": [13,0], "aux_index": [ null, null]}, + {"year": 2024, "doy": 252, "initial_time": [5,15], "final_time": [5,20], "aux_index": [ 23, null]}, + {"year": 2024, "doy": 252, "initial_time": [5,25], "final_time": [5,25], "aux_index": [ 27, 36]}, + {"year": 2024, "doy": 252, "initial_time": [5,30], "final_time": [5,30], "aux_index": [ 27, null]}, + {"year": 2024, "doy": 252, "initial_time": [5,35], "final_time": [5,35], "aux_index": [ 31, null]}, + {"year": 2024, "doy": 252, "initial_time": [5,20], "final_time": [5,40], "aux_index": [ 33, null]}, + {"year": 2024, "doy": 252, "initial_time": [7,5], "final_time": [7,5], "aux_index": [ 21, null]}, + {"year": 2024, "doy": 252, "initial_time": [7,10], "final_time": [7,10], "aux_index": [ 23, null]} + + +]} + diff --git a/schainpy/model/proc/jroproc_base.py b/schainpy/model/proc/jroproc_base.py index 15d0ee0..9ebcb6c 100644 --- a/schainpy/model/proc/jroproc_base.py +++ b/schainpy/model/proc/jroproc_base.py @@ -14,7 +14,7 @@ from threading import Thread from multiprocessing import Process, Queue from schainpy.utils import log -QUEUE_SIZE = int(os.environ.get('QUEUE_MAX_SIZE', '10')) +QUEUE_SIZE = int(os.environ.get('QUEUE_MAX_SIZE', '100')) class ProcessingUnit(object): ''' diff --git a/schainpy/model/proc/jroproc_parameters.py b/schainpy/model/proc/jroproc_parameters.py index 40a4f2a..b0031d4 100644 --- a/schainpy/model/proc/jroproc_parameters.py +++ b/schainpy/model/proc/jroproc_parameters.py @@ -1827,7 +1827,7 @@ class Oblique_Gauss_Fit(Operation): #print("After data_snr: ", dataOut.data_snr) dataOut.mode = mode dataOut.flagNoData = numpy.all(numpy.isnan(dataOut.Dop_EEJ_T1)) #Si todos los valores son NaN no se prosigue - ###dataOut.flagNoData = False #Descomentar solo para ploteo sino mantener comentado (para guardado) + dataOut.flagNoData = False #Descomentar solo para ploteo sino mantener comentado (para guardado) return dataOut @@ -7188,9 +7188,10 @@ class IGRFModel(Operation): log.warning('You should install "mkfact_short_2020" module to process IGRF Model') if self.aux==1: - + #dataOut.TimeBlockSeconds_First_Time=time.mktime(time.strptime(dataOut.TimeBlockDate)) #### we do not use dataOut.datatime.ctime() because it's the time of the second (next) block + dataOut.TimeBlockSeconds = 1727848800.0 dataOut.TimeBlockSeconds_First_Time=dataOut.TimeBlockSeconds dataOut.bd_time=time.gmtime(dataOut.TimeBlockSeconds_First_Time) dataOut.year=dataOut.bd_time.tm_year+(dataOut.bd_time.tm_yday-1)/364.0 @@ -7199,6 +7200,7 @@ class IGRFModel(Operation): self.aux=0 dh = dataOut.heightList[1]-dataOut.heightList[0] #dataOut.h=numpy.arange(0.0,15.0*dataOut.MAXNRANGENDT,15.0,dtype='float32') + dataOut.MAXNRANGENDT = dataOut.nHeights dataOut.h=numpy.arange(0.0,dh*dataOut.MAXNRANGENDT,dh,dtype='float32') dataOut.bfm=numpy.zeros(dataOut.MAXNRANGENDT,dtype='float32') dataOut.bfm=numpy.array(dataOut.bfm,order='F') @@ -7210,10 +7212,12 @@ class IGRFModel(Operation): #print("**** mkfact WRAPPER ***** ",mkfact_short_2020.mkfact.__doc__ ) #print("IDs: ", id(dataOut.bki)) #print("bki shape: ", numpy.shape(dataOut.bki),numpy.shape(dataOut.h),dataOut.year) - + print(dataOut.year,dataOut.h,dataOut.bfm,dataOut.thb,dataOut.bki,dataOut.MAXNRANGENDT) mkfact_short_2020_2.mkfact(dataOut.year,dataOut.h,dataOut.bfm,dataOut.thb,dataOut.bki,dataOut.MAXNRANGENDT) #mkfact_short_2020.mkfact(dataOut.year,dataOut.h,dataOut.bfm,dataOut.thb,dataOut.bki,dataOut.MAXNRANGENDT) + + print("bki: ", dataOut.bki) #print("bki: ", dataOut.bki[:10]) #print("thb: ", dataOut.thb[:10]) #print("bfm: ", dataOut.bfm[:10]) diff --git a/schainpy/model/proc/jroproc_spectra_lags_faraday.py b/schainpy/model/proc/jroproc_spectra_lags_faraday.py index 0369c43..953e706 100644 --- a/schainpy/model/proc/jroproc_spectra_lags_faraday.py +++ b/schainpy/model/proc/jroproc_spectra_lags_faraday.py @@ -12,6 +12,8 @@ import time import itertools import numpy +import matplotlib.pyplot as plt +import datetime from schainpy.model.proc.jroproc_base import ProcessingUnit, MPDecorator, Operation from schainpy.model.data.jrodata import Spectra @@ -22,7 +24,7 @@ from schainpy.model.data import _HS_algorithm from schainpy.model.proc.jroproc_voltage import CleanCohEchoes from time import time, mktime, strptime, gmtime, ctime - +from scipy.stats import norm class SpectraLagProc(ProcessingUnit): ''' @@ -34,14 +36,23 @@ class SpectraLagProc(ProcessingUnit): self.buffer = None self.buffer_Lag = None - self.firstdatatime = None - self.profIndex = 0 + self.firstdatatime = None # Tracks the time of the first data entry. + self.profIndex = 0 # Profile Index self.dataOut = Spectra() self.id_min = None self.id_max = None - self.setupReq = False #Agregar a todas las unidades de proc + self.setupReq = False #Agregar a todas las unidades de proc + # DataIn: Voltage raw data + # DataOut: Spectra data def __updateSpecFromVoltage(self): + + ''' + Assign all the metadata of dataIn (Voltage data) to dataOut (Spectra Data) + + Metadata dataIn -> Metadata dataOut + + ''' self.dataOut.timeZone = self.dataIn.timeZone self.dataOut.dstFlag = self.dataIn.dstFlag @@ -82,6 +93,9 @@ class SpectraLagProc(ProcessingUnit): """ Convierte valores de Voltaje a Spectra + Returns: + Self-spectra, Cross-spectra, DC + Affected: self.dataOut.data_spc self.dataOut.data_cspc @@ -91,16 +105,15 @@ class SpectraLagProc(ProcessingUnit): self.buffer self.dataOut.flagNoData """ - #print(self.buffer[1,:,0]) - #exit(1) - #print("buffer shape",self.buffer.shape) + fft_volt = numpy.fft.fft( self.buffer, n=self.dataOut.nFFTPoints, axis=1) fft_volt = fft_volt.astype(numpy.dtype('complex')) dc = fft_volt[:, 0, :] - # calculo de self-spectra - fft_volt = numpy.fft.fftshift(fft_volt, axes=(1,)) + ### Calculate self-spectra + # Reorder the frequency distribution to set 0 at center + fft_volt = numpy.fft.fftshift(fft_volt, axes = (1,)) spc = fft_volt * numpy.conjugate(fft_volt) spc = spc.real @@ -111,11 +124,11 @@ class SpectraLagProc(ProcessingUnit): cspc = None pairIndex = 0 if self.dataOut.pairsList != None: - # calculo de cross-spectra - #print("HERE") + # Calculate cross-spectra cspc = numpy.zeros( (self.dataOut.nPairs, self.dataOut.nFFTPoints, self.dataOut.nHeights), dtype='complex') for pair in self.dataOut.pairsList: + # Check if channel of pairs are in the channellist if pair[0] not in self.dataOut.channelList: raise ValueError("Error getting CrossSpectra: pair 0 of %s is not in channelList = %s" % ( str(pair), str(self.dataOut.channelList))) @@ -157,26 +170,30 @@ class SpectraLagProc(ProcessingUnit): self.dataIn.nHeights), dtype='complex') - if self.dataIn.flagDataAsBlock: - nVoltProfiles = self.dataIn.data.shape[1] + # Usually FFTPoints should be equal to nProfiles N = L + # So, Buffer dimensions [channels (2), FFTPoints (24), Heights (99)] - if nVoltProfiles == nProfiles: + ### Sets the .buffer and .profIndex + if self.dataIn.flagDataAsBlock: # Data was readed as block of [channel, profile, height] + nVoltProfiles = self.dataIn.data.shape[1] # number of profiles + + #Comparison of FFT points (nProfiles) with sample points (vVoltProfiles) + if nVoltProfiles == nProfiles: #even-DFT case self.buffer = self.dataIn.data.copy() self.profIndex = nVoltProfiles - elif nVoltProfiles < nProfiles: - + elif nVoltProfiles < nProfiles: # Frequency Interpolation case (most common) if self.profIndex == 0: self.id_min = 0 self.id_max = nVoltProfiles self.buffer[:, self.id_min:self.id_max, - :] = self.dataIn.data - + :] = self.dataIn.data # Coppy only the profiles of voltage, VoltProfiles = FFT Point self.profIndex += nVoltProfiles self.id_min += nVoltProfiles self.id_max += nVoltProfiles else: + raise ValueError("The type object %s has %d profiles, it should just has %d profiles" % ( self.dataIn.type, self.dataIn.data.shape[1], nProfiles)) self.dataOut.flagNoData = True @@ -187,19 +204,19 @@ class SpectraLagProc(ProcessingUnit): if self.firstdatatime == None: self.firstdatatime = self.dataIn.utctime - if self.profIndex == nProfiles: - self.__updateSpecFromVoltage() + if self.profIndex == nProfiles: # Num of profiles considered are correct + self.__updateSpecFromVoltage() # Assign all the metadata of dataIn (Voltage data) to dataOut (Spectra Data) + # Create List of pairs between channels: e.g. (0,1) (1,0) if pairsList == None: self.dataOut.pairsList = [pair for pair in itertools.combinations(self.dataOut.channelList, 2)] else: self.dataOut.pairsList = pairsList - #print(self.dataOut.pairsList) - self.__getFft() + + self.__getFft() # Calculate FFT + self.dataOut.flagNoData = False self.firstdatatime = None - #print(self.profIndex) self.profIndex = 0 - #input() ''' if not self.dataOut.ByLags: @@ -268,20 +285,19 @@ class SpectraLagProc(ProcessingUnit): if i>0 and self.id_min is not None: - + # Reboot the Indexs self.profIndex -= self.dataIn.data.shape[1] self.id_min -= self.dataIn.data.shape[1] self.id_max -= self.dataIn.data.shape[1] if self.profIndex>0 and self.id_min is not None: - + # buffer <- bufferlag with lag i self.buffer[:,:self.id_max-self.dataIn.data.shape[1],:]=self.buffer_Lag[:,:self.id_max-self.dataIn.data.shape[1],:,i] + # Voltage to Spectra self.VoltageType(nFFTPoints,nProfiles,ippFactor,pairsList) - - if self.id_min is not None: - + if self.id_min is not None: # Could be eliminated? self.buffer_Lag[:,self.id_min-self.dataIn.data.shape[1]:self.id_max-self.dataIn.data.shape[1],:,i]=self.buffer[:,self.id_min-self.dataIn.data.shape[1]:self.id_max-self.dataIn.data.shape[1],:] if not self.dataOut.flagNoData: @@ -290,23 +306,29 @@ class SpectraLagProc(ProcessingUnit): if i==self.dataOut.nLags-1: self.profIndex=0 self.firstdatatime = None + # Add data for each lag to dataLag self.dataOut.dataLag_spc.append(self.dataOut.data_spc) self.dataOut.dataLag_cspc.append(self.dataOut.data_cspc) self.dataOut.dataLag_dc.append(self.dataOut.data_dc) if not self.dataOut.flagNoData: + #Convert Data to array self.dataOut.dataLag_spc=numpy.array(self.dataOut.dataLag_spc) self.dataOut.dataLag_cspc=numpy.array(self.dataOut.dataLag_cspc) - self.dataOut.dataLag_dc=numpy.array(self.dataOut.dataLag_dc) - self.dataOut.dataLag_spc=self.dataOut.dataLag_spc.transpose(1,2,3,0) + self.dataOut.dataLag_dc = numpy.array(self.dataOut.dataLag_dc) + + # Return the shape of the data to[channel, profile, heigh, lag] + self.dataOut.dataLag_spc = self.dataOut.dataLag_spc.transpose(1, 2, 3, 0) self.dataOut.dataLag_cspc=self.dataOut.dataLag_cspc.transpose(1,2,3,0) - self.dataOut.dataLag_dc=self.dataOut.dataLag_dc.transpose(1,2,0) - + self.dataOut.dataLag_dc = self.dataOut.dataLag_dc.transpose(1, 2, 0) + + # Save the Lagdata into a copy with the channel select to be plotted self.dataOut.data_spc=self.dataOut.dataLag_spc[:,:,:,self.dataOut.LagPlot] self.dataOut.data_cspc=self.dataOut.dataLag_cspc[:,:,:,self.dataOut.LagPlot] self.dataOut.data_dc=self.dataOut.dataLag_dc[:,:,self.dataOut.LagPlot] + # Copy metadata self.dataOut.TimeBlockSeconds=self.dataIn.TimeBlockSeconds self.dataOut.flagDataAsBlock=self.dataIn.flagDataAsBlock try: @@ -444,7 +466,7 @@ class removeDCLagFlip(Operation): num_pairs = jcspectra.shape[0] else: jcspectraExist = False - + freq_dc = int(jspectra.shape[1] / 2) ind_vel = numpy.array([-2, -1, 1, 2]) + freq_dc ind_vel = ind_vel.astype(int) @@ -453,6 +475,7 @@ class removeDCLagFlip(Operation): ind_vel[list(range(0, 1))] = ind_vel[list(range(0, 1))] + self.num_prof if mode == 1: + ''' DC correction is taked as an average of the first neighboords at w=0''' jspectra[:, freq_dc, :] = ( jspectra[:, ind_vel[1], :] + jspectra[:, ind_vel[2], :]) / 2 # CORRECCION @@ -462,6 +485,8 @@ class removeDCLagFlip(Operation): if mode == 2: + ''' ''' + vel = numpy.array([-2, -1, 1, 2]) xx = numpy.zeros([4, 4]) @@ -472,9 +497,10 @@ class removeDCLagFlip(Operation): xx_aux = xx_inv[0, :] for ich in range(num_chan): + ''' Flipped signal -> DC at most negative value ''' if ich in self.dataOut.FlipChannels: - - + ''' Flipped case.- DC at 0 index ''' + ind_freq_flip=[-1, -2, 1, 2] yy = jspectra[ich, ind_freq_flip, :] @@ -490,6 +516,7 @@ class removeDCLagFlip(Operation): else: + ''' Unflipped case.- DC at freq_dc (center) index ''' yy = jspectra[ich, ind_vel, :] jspectra[ich, freq_dc, :] = numpy.dot(xx_aux, yy) @@ -1111,6 +1138,10 @@ class removeInterference(Operation): class IntegrationFaradaySpectra(Operation): ''' Written by R. Flores + + spc: Spectra + cspc: Cross Spectra + dc: Direct Current ''' __profIndex = 0 __withOverapping = False @@ -1136,1440 +1167,113 @@ class IntegrationFaradaySpectra(Operation): def setup(self, n=None, timeInterval=None, overlapping=False): """ - Set the parameters of the integration class. - - Inputs: - - n : Number of coherent integrations - timeInterval : Time of integration. If the parameter "n" is selected this one does not work - overlapping : - - """ - - self.__initime = None - self.__lastdatatime = 0 - - self.__buffer_spc = [] - self.__buffer_cspc = [] - self.__buffer_dc = 0 - - self.__profIndex = 0 - self.__dataReady = False - self.__byTime = False - - if n is None and timeInterval is None: - raise ValueError("n or timeInterval should be specified ...") - - if n is not None: - self.n = int(n) - else: - - self.__integrationtime = int(timeInterval) - self.n = None - self.__byTime = True - - def putData(self, data_spc, data_cspc, data_dc): - """ - Add a profile to the __buffer_spc and increase in one the __profileIndex - - """ - - self.__buffer_spc.append(data_spc) - - if data_cspc is None: - self.__buffer_cspc = None - else: - self.__buffer_cspc.append(data_cspc) - - if data_dc is None: - self.__buffer_dc = None - else: - self.__buffer_dc += data_dc - - self.__profIndex += 1 - - return - - def hildebrand_sekhon_Integration(self,data,navg): - - sortdata = numpy.sort(data, axis=None) - sortID=data.argsort() - lenOfData = len(sortdata) - nums_min = lenOfData*0.75 - if nums_min <= 5: - nums_min = 5 - sump = 0. - sumq = 0. - j = 0 - cont = 1 - while((cont == 1)and(j < lenOfData)): - sump += sortdata[j] - sumq += sortdata[j]**2 - if j > nums_min: - rtest = float(j)/(j-1) + 1.0/navg - if ((sumq*j) > (rtest*sump**2)): - j = j - 1 - sump = sump - sortdata[j] - sumq = sumq - sortdata[j]**2 - cont = 0 - j += 1 - #lnoise = sump / j - - return j,sortID - - def pushData(self): - """ - Return the sum of the last profiles and the profiles used in the sum. - - Affected: - - self.__profileIndex - - """ - bufferH=None - buffer=None - buffer1=None - buffer_cspc=None - self.__buffer_spc=numpy.array(self.__buffer_spc) - self.__buffer_cspc=numpy.array(self.__buffer_cspc) - freq_dc = int(self.__buffer_spc.shape[2] / 2) - #print("FREQ_DC",freq_dc) - #print(self.__buffer_spc[:,1,5,37,0]) - #lag_array=[0,2,4,6,8,10,12,14,16,18,20] - for l in range(self.DPL):#dataOut.DPL): - #breakFlag=False - for k in range(7,self.nHeights): - buffer_cspc=numpy.copy(self.__buffer_cspc[:,0,:,k,l]) - outliers_IDs_cspc=[] - cspc_outliers_exist=False - #indexmin_cspc=0 - for i in range(self.nChannels):#dataOut.nChannels): - if i==1 and k >= self.nHeights-2*l: - #breakFlag=True - continue - #pass - else: - buffer1=numpy.copy(self.__buffer_spc[:,i,:,k,l]) - indexes=[] - #sortIDs=[] - outliers_IDs=[] - for j in range(self.nProfiles): - if i==0 and j==freq_dc: #NOT CONSIDERING DC PROFILE AT CHANNEL 0 - continue - if i==1 and j==0: #NOT CONSIDERING DC PROFILE AT CHANNEL 1 - continue - buffer=buffer1[:,j] - #index,sortID=self.hildebrand_sekhon_Integration(buffer,1) - index=int(_HS_algorithm.HS_algorithm(numpy.sort(buffer, axis=None),1)) - sortID = buffer.argsort() - ''' - if i==1 and l==0 and k==37: - print("j",j) - print("INDEX",index) - print(sortID[index:]) - if j==5: - aa=numpy.mean(buffer,axis=0) - bb=numpy.sort(buffer) - print(buffer) - print(aa) - print(bb[-1]) - ''' - indexes.append(index) - #sortIDs.append(sortID) - outliers_IDs=numpy.append(outliers_IDs,sortID[index:]) - - outliers_IDs=numpy.array(outliers_IDs) - outliers_IDs=outliers_IDs.ravel() - outliers_IDs=numpy.unique(outliers_IDs) - outliers_IDs=outliers_IDs.astype(numpy.dtype('int64')) - indexes=numpy.array(indexes) - indexmin=numpy.min(indexes) - - if indexmin != buffer1.shape[0]: - cspc_outliers_exist=True - ###sortdata=numpy.sort(buffer1,axis=0) - ###avg2=numpy.mean(sortdata[:indexmin,:],axis=0) - lt=outliers_IDs - avg=numpy.mean(buffer1[[t for t in range(buffer1.shape[0]) if t not in lt],:],axis=0) - ''' - if k==37 and i==1 and l==0: - #cc= - print("index_min",indexmin) - print("outliers_ID",lt) - print("AVG",avg[5]) - print("AVG_2",avg2[5]) - ''' - - for p in list(outliers_IDs): - buffer1[p,:]=avg - - self.__buffer_spc[:,i,:,k,l]=numpy.copy(buffer1) - ###cspc IDs - #indexmin_cspc+=indexmin_cspc - outliers_IDs_cspc=numpy.append(outliers_IDs_cspc,outliers_IDs) - - #if not breakFlag: - outliers_IDs_cspc=outliers_IDs_cspc.astype(numpy.dtype('int64')) - if cspc_outliers_exist: - #sortdata=numpy.sort(buffer_cspc,axis=0) - #avg=numpy.mean(sortdata[:indexmin_cpsc,:],axis=0) - lt=outliers_IDs_cspc - - avg=numpy.mean(buffer_cspc[[t for t in range(buffer_cspc.shape[0]) if t not in lt],:],axis=0) - for p in list(outliers_IDs_cspc): - buffer_cspc[p,:]=avg - - self.__buffer_cspc[:,0,:,k,l]=numpy.copy(buffer_cspc) - #else: - #break - - - - - buffer=None - bufferH=None - buffer1=None - buffer_cspc=None - - #print("cpsc",self.__buffer_cspc[:,0,0,0,0]) - #print(self.__profIndex) - #exit() - - buffer=None - #print(self.__buffer_spc[:,1,3,20,0]) - #print(self.__buffer_spc[:,1,5,37,0]) - data_spc = numpy.sum(self.__buffer_spc,axis=0) - data_cspc = numpy.sum(self.__buffer_cspc,axis=0) - - #print(numpy.shape(data_spc)) - #data_spc[1,4,20,0]=numpy.nan - - #data_cspc = self.__buffer_cspc - data_dc = self.__buffer_dc - n = self.__profIndex - - self.__buffer_spc = [] - self.__buffer_cspc = [] - self.__buffer_dc = 0 - self.__profIndex = 0 - - return data_spc, data_cspc, data_dc, n - - def byProfiles(self, *args): - - self.__dataReady = False - avgdata_spc = None - avgdata_cspc = None - avgdata_dc = None - - self.putData(*args) - - if self.__profIndex == self.n: - - avgdata_spc, avgdata_cspc, avgdata_dc, n = self.pushData() - self.n = n - self.__dataReady = True - - return avgdata_spc, avgdata_cspc, avgdata_dc - - def byTime(self, datatime, *args): - - self.__dataReady = False - avgdata_spc = None - avgdata_cspc = None - avgdata_dc = None - - self.putData(*args) - - if (datatime - self.__initime) >= self.__integrationtime: - avgdata_spc, avgdata_cspc, avgdata_dc, n = self.pushData() - self.n = n - self.__dataReady = True - - return avgdata_spc, avgdata_cspc, avgdata_dc - - def integrate(self, datatime, *args): - - if self.__profIndex == 0: - self.__initime = datatime - - if self.__byTime: - avgdata_spc, avgdata_cspc, avgdata_dc = self.byTime( - datatime, *args) - else: - avgdata_spc, avgdata_cspc, avgdata_dc = self.byProfiles(*args) - - if not self.__dataReady: - return None, None, None, None - - return self.__initime, avgdata_spc, avgdata_cspc, avgdata_dc - - def run(self, dataOut, n=None, timeInterval=None, overlapping=False): - if n == 1: - dataOut.VelRange = dataOut.getVelRange(0) - return dataOut - #print("holo") - dataOut.flagNoData = True - - if not self.isConfig: - self.setup(n, timeInterval, overlapping) - self.isConfig = True - - if not dataOut.ByLags: - avgdatatime, avgdata_spc, avgdata_cspc, avgdata_dc = self.integrate(dataOut.utctime, - dataOut.data_spc, - dataOut.data_cspc, - dataOut.data_dc) - else: - self.nProfiles=dataOut.nProfiles - self.nChannels=dataOut.nChannels - self.nHeights=dataOut.nHeights - self.DPL=dataOut.DPL - avgdatatime, avgdata_spc, avgdata_cspc, avgdata_dc = self.integrate(dataOut.utctime, - dataOut.dataLag_spc, - dataOut.dataLag_cspc, - dataOut.dataLag_dc) - - if self.__dataReady: - - if not dataOut.ByLags: - dataOut.data_spc = avgdata_spc - dataOut.data_cspc = avgdata_cspc - dataOut.data_dc = avgdata_dc - else: - dataOut.dataLag_spc = avgdata_spc - dataOut.dataLag_cspc = avgdata_cspc - dataOut.dataLag_dc = avgdata_dc - - dataOut.data_spc=dataOut.dataLag_spc[:,:,:,dataOut.LagPlot] - dataOut.data_cspc=dataOut.dataLag_cspc[:,:,:,dataOut.LagPlot] - dataOut.data_dc=dataOut.dataLag_dc[:,:,dataOut.LagPlot] - - dataOut.VelRange = dataOut.getVelRange(0) - dataOut.nIncohInt *= self.n - dataOut.utctime = avgdatatime - dataOut.flagNoData = False - - return dataOut - - - -class IntegrationFaradaySpectra2(Operation): - ''' - Written by R. Flores - ''' - __profIndex = 0 - __withOverapping = False - - __byTime = False - __initime = None - __lastdatatime = None - __integrationtime = None - - __buffer_spc = None - __buffer_cspc = None - __buffer_dc = None - - __dataReady = False - - __timeInterval = None - - n = None - - def __init__(self): - - Operation.__init__(self) - - def setup(self, n=None, timeInterval=None, overlapping=False): - """ - Set the parameters of the integration class. - - Inputs: - - n : Number of coherent integrations - timeInterval : Time of integration. If the parameter "n" is selected this one does not work - overlapping : - - """ - - self.__initime = None - self.__lastdatatime = 0 - - self.__buffer_spc = None - self.__buffer_cspc = None - self.__buffer_dc = 0 - - self.__profIndex = 0 - self.__dataReady = False - self.__byTime = False - - if n is None and timeInterval is None: - raise ValueError("n or timeInterval should be specified ...") - - if n is not None: - self.n = int(n) - else: - - self.__integrationtime = int(timeInterval) - self.n = None - self.__byTime = True - - def putData(self, data_spc, data_cspc, data_dc): - """ - Add a profile to the __buffer_spc and increase in one the __profileIndex - - """ - - #print(numpy.shape(self.__buffer_spc)) - ##print(numpy.shape(data_spc)) - - #self.__buffer_spc = numpy.insert(self.__buffer_spc,[],data_spc,axis=0) - self.__buffer_spc[self.__profIndex,:]=data_spc[:] - ##self.__buffer_spc.append(data_spc) - #self.__buffer_spc = numpy.array(self.__buffer_spc) - #print(numpy.shape(self.__buffer_spc)) - #print("bytes",sys.getsizeof(self.__buffer_spc)) - #print("bytes",asizeof(self.__buffer_spc)) - if data_cspc is None: - self.__buffer_cspc = None - - else: - self.__buffer_cspc[self.__profIndex,:]=data_cspc[:] - - if data_dc is None: - self.__buffer_dc = None - else: - self.__buffer_dc += data_dc - - self.__profIndex += 1 - - return - - def hildebrand_sekhon_Integration(self,data,navg): - - sortdata = numpy.sort(data, axis=None) - sortID=data.argsort() - lenOfData = len(sortdata) - nums_min = lenOfData*0.75 - if nums_min <= 5: - nums_min = 5 - sump = 0. - sumq = 0. - j = 0 - cont = 1 - while((cont == 1)and(j < lenOfData)): - sump += sortdata[j] - sumq += sortdata[j]**2 - if j > nums_min: - rtest = float(j)/(j-1) + 1.0/navg - if ((sumq*j) > (rtest*sump**2)): - j = j - 1 - sump = sump - sortdata[j] - sumq = sumq - sortdata[j]**2 - cont = 0 - j += 1 - #lnoise = sump / j - - return j,sortID - - def pushData_V0(self): - """ - Return the sum of the last profiles and the profiles used in the sum. - - Affected: - - self.__profileIndex - - """ - bufferH=None - buffer=None - buffer1=None - buffer_cspc=None - self.__buffer_spc=numpy.array(self.__buffer_spc) - if self.__buffer_cspc is not None: - self.__buffer_cspc=numpy.array(self.__buffer_cspc) - freq_dc = int(self.__buffer_spc.shape[2] / 2) - #print("FREQ_DC",freq_dc) - #print(self.__buffer_spc[:,1,5,37,0]) - #lag_array=[0,2,4,6,8,10,12,14,16,18,20] - - if self.nLags == 11: - h0 = 7 - elif self.nLags == 16: - h0 = 180 - - - ''' - import matplotlib.pyplot as plt - plt.plot(self.__buffer_spc[:,0,freq_dc,33,0],marker='*') - plt.ylim((0,700000)) - plt.show() - import time - time.sleep(60) - exit(1) - ''' - #''' - import matplotlib.pyplot as plt - #plt.plot(self.__buffer_spc[:,0,freq_dc-2,33,1],marker='*') - plt.plot(sorted(self.__buffer_spc[:,0,freq_dc-2,33,1]),marker='*') - plt.ylim((0,1.1*1.e6)) - plt.show() - import time - time.sleep(60) - exit(1) - #''' - - print(self.nLags) - ''' - if self.nLags == 16: - self.nLags = 0 - #exit(1) - ''' - - for l in range(self.nLags):#dataOut.DPL): - #breakFlag=False - for k in range(7,self.nHeights): - if self.__buffer_cspc is not None: - buffer_cspc=numpy.copy(self.__buffer_cspc[:,0,:,k,l]) - outliers_IDs_cspc=[] - cspc_outliers_exist=False - #indexmin_cspc=0 - for i in range(2): - #for i in range(self.nChannels):#dataOut.nChannels): - #if self.TrueLags: - #print("HERE") - if i==1 and k >= self.nHeights-2*l and self.TrueLags: - #breakFlag=True - continue - - #pass - else: - buffer1=numpy.copy(self.__buffer_spc[:,i,:,k,l]) - indexes=[] - #sortIDs=[] - outliers_IDs=[] - for j in range(self.nProfiles): - if i==0 and j==freq_dc: #NOT CONSIDERING DC PROFILE AT CHANNEL 0 - continue - if self.FlipChannelsExist: - if i==1 and j==0: #NOT CONSIDERING DC PROFILE AT CHANNEL 1 - continue - else: - if i==1 and j==freq_dc: #NOT CONSIDERING DC PROFILE AT CHANNEL 1 - continue - #buffer=buffer1[:,j] - buffer=(buffer1[:,j]).real - ''' - if self.nLags ==16 and l!=0: - print(buffer) - exit(1) - ''' - #index,sortID=self.hildebrand_sekhon_Integration(buffer,1) - index=int(_HS_algorithm.HS_algorithm(numpy.sort(buffer, axis=None),1)) - sortID = buffer.argsort() - - indexes.append(index) - #sortIDs.append(sortID) - outliers_IDs=numpy.append(outliers_IDs,sortID[index:]) - - outliers_IDs=numpy.array(outliers_IDs) - outliers_IDs=outliers_IDs.ravel() - outliers_IDs=numpy.unique(outliers_IDs) - outliers_IDs=outliers_IDs.astype(numpy.dtype('int64')) - indexes=numpy.array(indexes) - indexmin=numpy.min(indexes) - - if indexmin != buffer1.shape[0]: - cspc_outliers_exist=True - ###sortdata=numpy.sort(buffer1,axis=0) - ###avg2=numpy.mean(sortdata[:indexmin,:],axis=0) - lt=outliers_IDs - avg=numpy.mean(buffer1[[t for t in range(buffer1.shape[0]) if t not in lt],:],axis=0) - - - for p in list(outliers_IDs): - buffer1[p,:]=avg - - self.__buffer_spc[:,i,:,k,l]=numpy.copy(buffer1) - ###cspc IDs - #indexmin_cspc+=indexmin_cspc - if self.__buffer_cspc is not None: - outliers_IDs_cspc=numpy.append(outliers_IDs_cspc,outliers_IDs) - - #if not breakFlag: - #print(outliers_IDs_cspc) - if self.__buffer_cspc is not None: - outliers_IDs_cspc=outliers_IDs_cspc.astype(numpy.dtype('int64')) - if cspc_outliers_exist: - #sortdata=numpy.sort(buffer_cspc,axis=0) - #avg=numpy.mean(sortdata[:indexmin_cpsc,:],axis=0) - lt=outliers_IDs_cspc - - avg=numpy.mean(buffer_cspc[[t for t in range(buffer_cspc.shape[0]) if t not in lt],:],axis=0) - for p in list(outliers_IDs_cspc): - buffer_cspc[p,:]=avg - - self.__buffer_cspc[:,0,:,k,l]=numpy.copy(buffer_cspc) - - #else: - #break - #''' - import matplotlib.pyplot as plt - plt.plot(self.__buffer_spc[:,0,freq_dc-2,33,1],marker='*') - plt.ylim((0,1.1*1.e6)) - plt.show() - import time - time.sleep(60) - exit(1) - #''' - - buffer=None - bufferH=None - buffer1=None - buffer_cspc=None - - #print("cpsc",self.__buffer_cspc[:,0,0,0,0]) - #print(self.__profIndex) - #exit() - ''' - if self.nLags == 16: - print(self.__buffer_spc[:,0,0,0,2]) - exit(1) - ''' - - buffer=None - #print(self.__buffer_spc[:,1,3,20,0]) - #print(self.__buffer_spc[:,1,5,37,0]) - data_spc = numpy.sum(self.__buffer_spc,axis=0) - - if self.__buffer_cspc is not None: - data_cspc = numpy.sum(self.__buffer_cspc,axis=0) - else: - data_cspc = None - - #print(numpy.shape(data_spc)) - #data_spc[1,4,20,0]=numpy.nan - - - data_dc = self.__buffer_dc - - n = self.__profIndex - - self.__buffer_spc = None - self.__buffer_cspc = None - self.__buffer_dc = 0 - self.__profIndex = 0 - - return data_spc, data_cspc, data_dc, n - - def pushData(self): - """ - Return the sum of the last profiles and the profiles used in the sum. - - Affected: - - self.__profileIndex - - """ - bufferH=None - buffer=None - buffer1=None - buffer_cspc=None - self.__buffer_spc=numpy.array(self.__buffer_spc) - if self.__buffer_cspc is not None: - self.__buffer_cspc=numpy.array(self.__buffer_cspc) - freq_dc = int(self.__buffer_spc.shape[2] / 2) - #print("FREQ_DC",freq_dc) - #print(self.__buffer_spc[:,1,5,37,0]) - #lag_array=[0,2,4,6,8,10,12,14,16,18,20] - - if self.nLags == 11: - h0 = 7 - elif self.nLags == 16: - h0 = 180 - - - - ''' - import matplotlib.pyplot as plt - #plt.plot(self.__buffer_spc[:,0,freq_dc-2,33,1],marker='*') - aux = self.__buffer_spc[:,0,freq_dc-2,66,1] - a,b=self.hildebrand_sekhon_Integration(numpy.abs(aux),1) - print(a) - plt.plot(sorted(aux),marker='*') - plt.vlines(x=a,ymin=min(aux),ymax=max(aux)) - #plt.ylim((-35000,65000)) - plt.show() - import time - time.sleep(60) - exit(1) - ''' - - #print(self.nLags) - ''' - if self.nLags == 16: - self.nLags = 3 - #exit(1) - ''' - #print(self.nHeights) - #exit(1) - for l in range(self.nLags):#dataOut.DPL): #if DP --> nLags=11, elif HP --> nLags=16 - #breakFlag=False - for k in range(7,self.nHeights): - if self.__buffer_cspc is not None: - buffer_cspc=numpy.copy(self.__buffer_cspc[:,0,:,k,l]) - outliers_IDs_cspc=[] - cspc_outliers_exist=False - #indexmin_cspc=0 - for i in range(2): #Solo nos interesa los 2 primeros canales que son los canales con señal - #for i in range(self.nChannels):#dataOut.nChannels): - #if self.TrueLags: - #print("HERE") - ''' - if i==1 and k >= self.nHeights-2*l and self.TrueLags: - #breakFlag=True - print("here") - exit(1) - continue - ''' - - #pass - #else: - buffer1=numpy.copy(self.__buffer_spc[:,i,:,k,l]) - indexes=[] - #sortIDs=[] - outliers_IDs=[] - for j in range(self.nProfiles): - if i==0 and j==freq_dc: #NOT CONSIDERING DC PROFILE AT CHANNEL 0 - continue - if self.FlipChannelsExist: - if i==1 and j==0: #NOT CONSIDERING DC PROFILE AT CHANNEL 1 - continue - else: - if i==1 and j==freq_dc: #NOT CONSIDERING DC PROFILE AT CHANNEL 1 - continue - #buffer=buffer1[:,j] - buffer=(buffer1[:,j]) - ''' - if self.nLags ==16 and l!=0: - print(buffer) - exit(1) - ''' - #index,sortID=self.hildebrand_sekhon_Integration(numpy.abs(buffer),1) - index=int(_HS_algorithm.HS_algorithm(numpy.sort(buffer, axis=None),1)) - sortID = buffer.argsort() - - indexes.append(index) - #sortIDs.append(sortID) - outliers_IDs=numpy.append(outliers_IDs,sortID[index:]) - - sortdata=numpy.sort(buffer,axis=0) - avg=numpy.mean(sortdata[:index],axis=0) - #lt=outliers_IDs - #avg=numpy.mean(buffer1[[t for t in range(buffer1.shape[0]) if t not in lt],:],axis=0) - - if index != buffer.shape[0]: - for p in list(sortID[index:]): - buffer1[p,j]=avg - - - self.__buffer_spc[:,i,j,k,l]=numpy.copy(buffer1[:,j]) - ###cspc IDs - #indexmin_cspc+=indexmin_cspc - if self.__buffer_cspc is not None: - outliers_IDs_cspc=numpy.append(outliers_IDs_cspc,outliers_IDs) - - #if not breakFlag: - #print(outliers_IDs_cspc) - if self.__buffer_cspc is not None: - outliers_IDs_cspc=outliers_IDs_cspc.astype(numpy.dtype('int64')) - if cspc_outliers_exist: - #sortdata=numpy.sort(buffer_cspc,axis=0) - #avg=numpy.mean(sortdata[:indexmin_cpsc,:],axis=0) - lt=outliers_IDs_cspc - - avg=numpy.mean(buffer_cspc[[t for t in range(buffer_cspc.shape[0]) if t not in lt],:],axis=0) - for p in list(outliers_IDs_cspc): - buffer_cspc[p,:]=avg - - self.__buffer_cspc[:,0,:,k,l]=numpy.copy(buffer_cspc) - - #else: - #break - ''' - import matplotlib.pyplot as plt - plt.plot(sorted(self.__buffer_spc[:,0,freq_dc-2,66,1]),marker='*') - #plt.ylim((0,1.1*1.e6)) - plt.ylim((-30000,65000)) - plt.show() - import time - time.sleep(60) - exit(1) - ''' - - buffer=None - bufferH=None - buffer1=None - buffer_cspc=None - - #print("cpsc",self.__buffer_cspc[:,0,0,0,0]) - #print(self.__profIndex) - #exit() - ''' - if self.nLags == 16: - print(self.__buffer_spc[:,0,0,0,2]) - exit(1) - ''' - - buffer=None - #print(self.__buffer_spc[:,1,3,20,0]) - #print(self.__buffer_spc[:,1,5,37,0]) - data_spc = numpy.sum(self.__buffer_spc,axis=0) - - if self.__buffer_cspc is not None: - data_cspc = numpy.sum(self.__buffer_cspc,axis=0) - else: - data_cspc = None - - #print(numpy.shape(data_spc)) - #data_spc[1,4,20,0]=numpy.nan - - - data_dc = self.__buffer_dc - - n = self.__profIndex - - self.__buffer_spc = None - self.__buffer_cspc = None - self.__buffer_dc = 0 - self.__profIndex = 0 - - return data_spc, data_cspc, data_dc, n - - def byProfiles(self, data_spc, data_cspc, *args): - - self.__dataReady = False - avgdata_spc = None - avgdata_cspc = None - avgdata_dc = None - - self.putData(data_spc, data_cspc, *args) - - if self.__profIndex == self.n: - - avgdata_spc, avgdata_cspc, avgdata_dc, n = self.pushData() - self.n = n - self.__dataReady = True - - return avgdata_spc, avgdata_cspc, avgdata_dc - - def byTime(self, datatime, *args): - - self.__dataReady = False - avgdata_spc = None - avgdata_cspc = None - avgdata_dc = None - - self.putData(*args) - - if (datatime - self.__initime) >= self.__integrationtime: - avgdata_spc, avgdata_cspc, avgdata_dc, n = self.pushData() - self.n = n - self.__dataReady = True - - return avgdata_spc, avgdata_cspc, avgdata_dc - - def integrate(self, datatime, data_spc, data_cspc, *args): - - if self.__profIndex == 0: - self.__initime = datatime - #print(data_cspc.shape) - - #self.__buffer_spc = numpy.empty_like(data_spc,shape=(self.n,self.nChannels,self.nProfiles,self.nHeights,self.nLags)) - self.__buffer_spc = numpy.ones_like(data_spc,shape=(self.n,self.nChannels,self.nProfiles,self.nHeights,self.nLags))*numpy.NAN - - #print(self.__buffer_spc[0]) - #print(self.__buffer_spc.dtype) - #print(data_spc.dtype) - - if data_cspc is not None: - nLags = numpy.shape(data_cspc)[-1] - nCrossChannels = numpy.shape(data_cspc)[0] - - #self.__buffer_cspc = numpy.empty_like(data_cspc,shape=(self.n,crossChannels,self.nProfiles,self.nHeights,self.nLags)) - self.__buffer_cspc = numpy.ones_like(data_cspc,shape=(self.n,nCrossChannels,self.nProfiles,self.nHeights,nLags))*numpy.NAN - else: - self.__buffer_cspc = None - #print("HEREEEE") - #print(self.__buffer_cspc.dtype) - #print(data_cspc.dtype) - #exit(1) - if self.__byTime: - avgdata_spc, avgdata_cspc, avgdata_dc = self.byTime( - datatime, *args) - else: - avgdata_spc, avgdata_cspc, avgdata_dc = self.byProfiles(data_spc, data_cspc, *args) - - if not self.__dataReady: - return None, None, None, None - - return self.__initime, avgdata_spc, avgdata_cspc, avgdata_dc - - def run(self, dataOut, n=None, timeInterval=None, overlapping=False,TrueLags=True): - if n == 1: - return dataOut - - dataOut.flagNoData = True - - if not self.isConfig: - self.setup(n, timeInterval, overlapping) - try: - dataOut.FlipChannels - self.FlipChannelsExist=1 - except: - self.FlipChannelsExist=0 - self.isConfig = True - - self.nProfiles=dataOut.nProfiles - self.nChannels=dataOut.nChannels - self.nHeights=dataOut.nHeights - if not dataOut.ByLags: - avgdatatime, avgdata_spc, avgdata_cspc, avgdata_dc = self.integrate(dataOut.utctime, - dataOut.data_spc, - dataOut.data_cspc, - dataOut.data_dc) - else: - #self.nProfiles=dataOut.nProfiles - #self.nChannels=dataOut.nChannels - #self.nHeights=dataOut.nHeights - self.nLags=dataOut.nLags - self.TrueLags=TrueLags - - - - avgdatatime, avgdata_spc, avgdata_cspc, avgdata_dc = self.integrate(dataOut.utctime, - dataOut.dataLag_spc, - dataOut.dataLag_cspc, - dataOut.dataLag_dc) - - if self.__dataReady: - - if not dataOut.ByLags: - dataOut.data_spc = avgdata_spc - dataOut.data_cspc = avgdata_cspc - dataOut.data_dc = avgdata_dc - else: - dataOut.dataLag_spc = avgdata_spc - dataOut.dataLag_cspc = avgdata_cspc - dataOut.dataLag_dc = avgdata_dc - - dataOut.data_spc=dataOut.dataLag_spc[:,:,:,dataOut.LagPlot].real - - if self.__buffer_cspc is not None: - dataOut.data_cspc=dataOut.dataLag_cspc[:,:,:,dataOut.LagPlot] - dataOut.data_dc=dataOut.dataLag_dc[:,:,dataOut.LagPlot] - - - dataOut.nIncohInt *= self.n - dataOut.utctime = avgdatatime - dataOut.flagNoData = False - - return dataOut - -class IntegrationFaradaySpectra3(Operation): #This class should manage data with no lags as well - ''' - Written by R. Flores - ''' - __profIndex = 0 - __withOverapping = False - - __byTime = False - __initime = None - __lastdatatime = None - __integrationtime = None - - __buffer_spc = None - __buffer_cspc = None - __buffer_dc = None - - __dataReady = False - - __timeInterval = None - - n = None - - def __init__(self): - - Operation.__init__(self) - - def setup(self, n=None, timeInterval=None, overlapping=False): - """ - Set the parameters of the integration class. - - Inputs: - - n : Number of coherent integrations - timeInterval : Time of integration. If the parameter "n" is selected this one does not work - overlapping : - - """ - - self.__initime = None - self.__lastdatatime = 0 - - self.__buffer_spc = None - self.__buffer_cspc = None - self.__buffer_dc = 0 - - self.__profIndex = 0 - self.__dataReady = False - self.__byTime = False - - if n is None and timeInterval is None: - raise ValueError("n or timeInterval should be specified ...") - - if n is not None: - self.n = int(n) - else: - - self.__integrationtime = int(timeInterval) - self.n = None - self.__byTime = True - - def putData(self, data_spc, data_cspc, data_dc): - """ - Add a profile to the __buffer_spc and increase in one the __profileIndex - - """ - - #print(numpy.shape(self.__buffer_spc)) - ##print(numpy.shape(data_spc)) - - #self.__buffer_spc = numpy.insert(self.__buffer_spc,[],data_spc,axis=0) - self.__buffer_spc[self.__profIndex,:]=data_spc[:] - ##self.__buffer_spc.append(data_spc) - #self.__buffer_spc = numpy.array(self.__buffer_spc) - #print(numpy.shape(self.__buffer_spc)) - #print("bytes",sys.getsizeof(self.__buffer_spc)) - #print("bytes",asizeof(self.__buffer_spc)) - if self.clean_cspc: - if data_cspc is None: - self.__buffer_cspc = None - - else: - self.__buffer_cspc[self.__profIndex,:]=data_cspc[:] - else: - self.__buffer_cspc += data_cspc - - if data_dc is None: - self.__buffer_dc = None - else: - self.__buffer_dc += data_dc - - self.__profIndex += 1 - - return - - def hildebrand_sekhon_Integration(self,data,navg): - - sortdata = numpy.sort(data, axis=None) - sortID=data.argsort() - lenOfData = len(sortdata) - nums_min = lenOfData*0.75 - if nums_min <= 5: - nums_min = 5 - sump = 0. - sumq = 0. - j = 0 - cont = 1 - while((cont == 1)and(j < lenOfData)): - sump += sortdata[j] - sumq += sortdata[j]**2 - if j > nums_min: - rtest = float(j)/(j-1) + 1.0/navg - if ((sumq*j) > (rtest*sump**2)): - j = j - 1 - sump = sump - sortdata[j] - sumq = sumq - sortdata[j]**2 - cont = 0 - j += 1 - #lnoise = sump / j - - return j,sortID - - def pushData_V0(self): - """ - Return the sum of the last profiles and the profiles used in the sum. - - Affected: - - self.__profileIndex - - """ - bufferH=None - buffer=None - buffer1=None - buffer_cspc=None - self.__buffer_spc=numpy.array(self.__buffer_spc) - if self.__buffer_cspc is not None: - self.__buffer_cspc=numpy.array(self.__buffer_cspc) - freq_dc = int(self.__buffer_spc.shape[2] / 2) - #print("FREQ_DC",freq_dc) - #print(self.__buffer_spc[:,1,5,37,0]) - #lag_array=[0,2,4,6,8,10,12,14,16,18,20] - - if self.nLags == 11: - h0 = 7 - elif self.nLags == 16: - h0 = 180 - - - ''' - import matplotlib.pyplot as plt - plt.plot(self.__buffer_spc[:,0,freq_dc,33,0],marker='*') - plt.ylim((0,700000)) - plt.show() - import time - time.sleep(60) - exit(1) - ''' - #''' - import matplotlib.pyplot as plt - #plt.plot(self.__buffer_spc[:,0,freq_dc-2,33,1],marker='*') - plt.plot(sorted(self.__buffer_spc[:,0,freq_dc-2,33,1]),marker='*') - plt.ylim((0,1.1*1.e6)) - plt.show() - import time - time.sleep(60) - exit(1) - #''' - - print(self.nLags) - ''' - if self.nLags == 16: - self.nLags = 0 - #exit(1) - ''' - - for l in range(self.nLags):#dataOut.DPL): - #breakFlag=False - for k in range(7,self.nHeights): - if self.__buffer_cspc is not None: - buffer_cspc=numpy.copy(self.__buffer_cspc[:,0,:,k,l]) - outliers_IDs_cspc=[] - cspc_outliers_exist=False - #indexmin_cspc=0 - for i in range(2): - #for i in range(self.nChannels):#dataOut.nChannels): - #if self.TrueLags: - #print("HERE") - if i==1 and k >= self.nHeights-2*l and self.TrueLags: - #breakFlag=True - continue - - #pass - else: - buffer1=numpy.copy(self.__buffer_spc[:,i,:,k,l]) - indexes=[] - #sortIDs=[] - outliers_IDs=[] - for j in range(self.nProfiles): - if i==0 and j==freq_dc: #NOT CONSIDERING DC PROFILE AT CHANNEL 0 - continue - if self.FlipChannelsExist: - if i==1 and j==0: #NOT CONSIDERING DC PROFILE AT CHANNEL 1 - continue - else: - if i==1 and j==freq_dc: #NOT CONSIDERING DC PROFILE AT CHANNEL 1 - continue - #buffer=buffer1[:,j] - buffer=(buffer1[:,j]).real - ''' - if self.nLags ==16 and l!=0: - print(buffer) - exit(1) - ''' - #index,sortID=self.hildebrand_sekhon_Integration(buffer,1) - index=int(_HS_algorithm.HS_algorithm(numpy.sort(buffer, axis=None),1)) - sortID = buffer.argsort() - - indexes.append(index) - #sortIDs.append(sortID) - outliers_IDs=numpy.append(outliers_IDs,sortID[index:]) - - outliers_IDs=numpy.array(outliers_IDs) - outliers_IDs=outliers_IDs.ravel() - outliers_IDs=numpy.unique(outliers_IDs) - outliers_IDs=outliers_IDs.astype(numpy.dtype('int64')) - indexes=numpy.array(indexes) - indexmin=numpy.min(indexes) - - if indexmin != buffer1.shape[0]: - cspc_outliers_exist=True - ###sortdata=numpy.sort(buffer1,axis=0) - ###avg2=numpy.mean(sortdata[:indexmin,:],axis=0) - lt=outliers_IDs - avg=numpy.mean(buffer1[[t for t in range(buffer1.shape[0]) if t not in lt],:],axis=0) - - - for p in list(outliers_IDs): - buffer1[p,:]=avg - - self.__buffer_spc[:,i,:,k,l]=numpy.copy(buffer1) - ###cspc IDs - #indexmin_cspc+=indexmin_cspc - if self.__buffer_cspc is not None: - outliers_IDs_cspc=numpy.append(outliers_IDs_cspc,outliers_IDs) - - #if not breakFlag: - #print(outliers_IDs_cspc) - if self.__buffer_cspc is not None: - outliers_IDs_cspc=outliers_IDs_cspc.astype(numpy.dtype('int64')) - if cspc_outliers_exist: - #sortdata=numpy.sort(buffer_cspc,axis=0) - #avg=numpy.mean(sortdata[:indexmin_cpsc,:],axis=0) - lt=outliers_IDs_cspc - - avg=numpy.mean(buffer_cspc[[t for t in range(buffer_cspc.shape[0]) if t not in lt],:],axis=0) - for p in list(outliers_IDs_cspc): - buffer_cspc[p,:]=avg - - self.__buffer_cspc[:,0,:,k,l]=numpy.copy(buffer_cspc) - - #else: - #break - #''' - import matplotlib.pyplot as plt - plt.plot(self.__buffer_spc[:,0,freq_dc-2,33,1],marker='*') - plt.ylim((0,1.1*1.e6)) - plt.show() - import time - time.sleep(60) - exit(1) - #''' - - buffer=None - bufferH=None - buffer1=None - buffer_cspc=None - - #print("cpsc",self.__buffer_cspc[:,0,0,0,0]) - #print(self.__profIndex) - #exit() - ''' - if self.nLags == 16: - print(self.__buffer_spc[:,0,0,0,2]) - exit(1) - ''' - - buffer=None - #print(self.__buffer_spc[:,1,3,20,0]) - #print(self.__buffer_spc[:,1,5,37,0]) - data_spc = numpy.sum(self.__buffer_spc,axis=0) - - if self.__buffer_cspc is not None: - data_cspc = numpy.sum(self.__buffer_cspc,axis=0) - else: - data_cspc = None - - #print(numpy.shape(data_spc)) - #data_spc[1,4,20,0]=numpy.nan - - - data_dc = self.__buffer_dc - - n = self.__profIndex - - self.__buffer_spc = None - self.__buffer_cspc = None - self.__buffer_dc = 0 - self.__profIndex = 0 - - return data_spc, data_cspc, data_dc, n - - def pushData_ByLags(self): - """ - Return the sum of the last profiles and the profiles used in the sum. - - Affected: - - self.__profileIndex - - """ - bufferH=None - buffer=None - buffer1=None - buffer_cspc=None - self.__buffer_spc=numpy.array(self.__buffer_spc) - if self.__buffer_cspc is not None: - self.__buffer_cspc=numpy.array(self.__buffer_cspc) - freq_dc = int(self.__buffer_spc.shape[2] / 2) - #print("FREQ_DC",freq_dc) - #print(self.__buffer_spc[:,1,5,37,0]) - #lag_array=[0,2,4,6,8,10,12,14,16,18,20] - - if self.nLags == 11: - h0 = 7 - elif self.nLags == 16: - h0 = 180 - - - - ''' - import matplotlib.pyplot as plt - #plt.plot(self.__buffer_spc[:,0,freq_dc-2,33,1],marker='*') - aux = self.__buffer_spc[:,0,freq_dc-2,66,1] - a,b=self.hildebrand_sekhon_Integration(numpy.abs(aux),1) - print(a) - plt.plot(sorted(aux),marker='*') - plt.vlines(x=a,ymin=min(aux),ymax=max(aux)) - #plt.ylim((-35000,65000)) - plt.show() - import time - time.sleep(60) - exit(1) - ''' - - print(self.nLags) - ''' - if self.nLags == 16: - self.nLags = 3 - #exit(1) - ''' - #print(self.nHeights) - #exit(1) - for l in range(self.nLags):#dataOut.DPL): - #breakFlag=False - for k in range(7,self.nHeights): - if self.__buffer_cspc is not None: - buffer_cspc=numpy.copy(self.__buffer_cspc[:,0,:,k,l]) - outliers_IDs_cspc=[] - cspc_outliers_exist=False - #indexmin_cspc=0 - for i in range(2): - #for i in range(self.nChannels):#dataOut.nChannels): - #if self.TrueLags: - #print("HERE") - ''' - if i==1 and k >= self.nHeights-2*l and self.TrueLags: - #breakFlag=True - print("here") - exit(1) - continue - ''' - - #pass - #else: - buffer1=numpy.copy(self.__buffer_spc[:,i,:,k,l]) - indexes=[] - #sortIDs=[] - outliers_IDs=[] - for j in range(self.nProfiles): - if i==0 and j==freq_dc: #NOT CONSIDERING DC PROFILE AT CHANNEL 0 - continue - if self.FlipChannelsExist: - if i==1 and j==0: #NOT CONSIDERING DC PROFILE AT CHANNEL 1 - continue - else: - if i==1 and j==freq_dc: #NOT CONSIDERING DC PROFILE AT CHANNEL 1 - continue - #buffer=buffer1[:,j] - buffer=(buffer1[:,j]) - ''' - if self.nLags ==16 and l!=0: - print(buffer) - exit(1) - ''' - #index,sortID=self.hildebrand_sekhon_Integration(numpy.abs(buffer),1) - index=int(_HS_algorithm.HS_algorithm(numpy.sort(buffer, axis=None),1)) - sortID = buffer.argsort() + Set the parameters of the integration class. - indexes.append(index) - #sortIDs.append(sortID) - outliers_IDs=numpy.append(outliers_IDs,sortID[index:]) + Inputs: - sortdata=numpy.sort(buffer,axis=0) - avg=numpy.mean(sortdata[:index],axis=0) - #lt=outliers_IDs - #avg=numpy.mean(buffer1[[t for t in range(buffer1.shape[0]) if t not in lt],:],axis=0) + n : Number of coherent integrations + timeInterval : Time of integration. If the parameter "n" is selected this one does not work + overlapping : - if index != buffer.shape[0]: - for p in list(sortID[index:]): - buffer1[p,j]=avg + """ + self.__initime = None + self.__lastdatatime = 0 - self.__buffer_spc[:,i,j,k,l]=numpy.copy(buffer1[:,j]) - ###cspc IDs - #indexmin_cspc+=indexmin_cspc - if self.__buffer_cspc is not None: - outliers_IDs_cspc=numpy.append(outliers_IDs_cspc,outliers_IDs) + self.__buffer_spc = [] + self.__buffer_cspc = [] + self.__buffer_dc = 0 - #if not breakFlag: - #print(outliers_IDs_cspc) - if self.__buffer_cspc is not None: - outliers_IDs_cspc=outliers_IDs_cspc.astype(numpy.dtype('int64')) - if cspc_outliers_exist: - #sortdata=numpy.sort(buffer_cspc,axis=0) - #avg=numpy.mean(sortdata[:indexmin_cpsc,:],axis=0) - lt=outliers_IDs_cspc + self.__profIndex = 0 + self.__dataReady = False + self.__byTime = False - avg=numpy.mean(buffer_cspc[[t for t in range(buffer_cspc.shape[0]) if t not in lt],:],axis=0) - for p in list(outliers_IDs_cspc): - buffer_cspc[p,:]=avg + if n is None and timeInterval is None: + raise ValueError("n or timeInterval should be specified ...") - self.__buffer_cspc[:,0,:,k,l]=numpy.copy(buffer_cspc) + if n is not None: + self.n = int(n) + else: - #else: - #break - ''' - import matplotlib.pyplot as plt - plt.plot(sorted(self.__buffer_spc[:,0,freq_dc-2,66,1]),marker='*') - #plt.ylim((0,1.1*1.e6)) - plt.ylim((-30000,65000)) - plt.show() - import time - time.sleep(60) - exit(1) - ''' + self.__integrationtime = int(timeInterval) + self.n = None + self.__byTime = True - buffer=None - bufferH=None - buffer1=None - buffer_cspc=None + def putData(self, data_spc, data_cspc, data_dc): + """ + Add a profile to the __buffer_spc and increase in one the __profileIndex + """ - #print("cpsc",self.__buffer_cspc[:,0,0,0,0]) - #print(self.__profIndex) - #exit() - ''' - if self.nLags == 16: - print(self.__buffer_spc[:,0,0,0,2]) - exit(1) - ''' + self.__buffer_spc.append(data_spc) - buffer=None - #print(self.__buffer_spc[:,1,3,20,0]) - #print(self.__buffer_spc[:,1,5,37,0]) - data_spc = numpy.sum(self.__buffer_spc,axis=0) - if self.__buffer_cspc is not None: - data_cspc = numpy.sum(self.__buffer_cspc,axis=0) + if data_cspc is None: + self.__buffer_cspc = None else: - data_cspc = None + self.__buffer_cspc.append(data_cspc) - #print(numpy.shape(data_spc)) - #data_spc[1,4,20,0]=numpy.nan + if data_dc is None: + self.__buffer_dc = None + else: + self.__buffer_dc += data_dc + self.__profIndex += 1 - data_dc = self.__buffer_dc + return - n = self.__profIndex + def hildebrand_sekhon_Integration_V2(self,data,navg): + sortdata = numpy.sort(data, axis=None) + sortID=data.argsort() + lenOfData = len(sortdata) + nums_min = lenOfData*0.75 + if nums_min <= 5: + nums_min = 5 + sump = 0. + sumq = 0. + j = 0 + cont = 1 + while((cont == 1)and(j < lenOfData)): + sump += sortdata[j] + sumq += sortdata[j]**2 + if j > nums_min: + P = sump / j + Q = sumq/j - P **2 + R2 = P**2/(Q*navg) + if R2 < 1: + j = j - 1 + sump = sump - sortdata[j] + sumq = sumq - sortdata[j]**2 + cont = 0 + j += 1 + #lnoise = sump / j - self.__buffer_spc = None - self.__buffer_cspc = None - self.__buffer_dc = 0 - self.__profIndex = 0 + return j,sortID - return data_spc, data_cspc, data_dc, n + def hildebrand_sekhon_Integration(self,data,navg): + sortdata = numpy.sort(data, axis=None) + sortID=data.argsort() + lenOfData = len(sortdata) + nums_min = lenOfData*0.75 #*0.87 + if nums_min <= 5: + nums_min = 5 + sump = 0. + sumq = 0. + j = 0 + cont = 1 + while((cont == 1)and(j < lenOfData)): + sump += sortdata[j] + sumq += sortdata[j]**2 + if j > nums_min: + rtest = float(j)/(j-1) + 1.0/navg + if ((sumq*j) > (rtest*sump**2)): + j = j - 1 + sump = sump - sortdata[j] + sumq = sumq - sortdata[j]**2 + cont = 0 + j += 1 + #lnoise = sump / j + + return j,sortID def pushData(self): """ @@ -2584,126 +1288,200 @@ class IntegrationFaradaySpectra3(Operation): #This class should manage data with buffer=None buffer1=None buffer_cspc=None + self.__buffer_spc=numpy.array(self.__buffer_spc) - if self.__buffer_cspc is not None and self.clean_cspc: - self.__buffer_cspc=numpy.array(self.__buffer_cspc) + self.__buffer_cspc = numpy.array(self.__buffer_cspc) + freq_dc = int(self.__buffer_spc.shape[2] / 2) + #print("FREQ_DC",freq_dc) + #print(self.__buffer_spc[:,1,5,37,0]) + #lag_array=[0,2,4,6,8,10,12,14,16,18,20] - for k in range(7,self.nHeights): - if self.__buffer_cspc is not None and self.clean_cspc: - buffer_cspc=numpy.copy(self.__buffer_cspc[:,0,:,k]) - outliers_IDs_cspc=[] - cspc_outliers_exist=False + ''' + l lags + k heights + i channel + j profiles - for i in range(2): + Buffer_cspc and spc with dimensions + [integration number(n), channel, profile, height, lag] + ''' - #else: - buffer1=numpy.copy(self.__buffer_spc[:,i,:,k]) - indexes=[] - #sortIDs=[] - outliers_IDs=[] - for j in range(self.nProfiles): - if i==0 and j==freq_dc: #NOT CONSIDERING DC PROFILE AT CHANNEL 0 + for l in range(self.DPL):#dataOut.DPL): + #breakFlag=False + for k in range(7,self.nHeights): + buffer_cspc=numpy.copy(self.__buffer_cspc[:,0,:,k,l]) + outliers_IDs_cspc=[] + cspc_outliers_exist=False + #indexmin_cspc=0 + for i in range(self.nChannels): #dataOut.nChannels): + ''' Recognition of index with outliers''' + if i==1 and k >= self.nHeights-2*l: + #breakFlag=True continue - if self.FlipChannelsExist: - if i==1 and j==0: #NOT CONSIDERING DC PROFILE AT CHANNEL 1 - continue + #pass else: - if i==1 and j==freq_dc: #NOT CONSIDERING DC PROFILE AT CHANNEL 1 - continue - #buffer=buffer1[:,j] - buffer=(buffer1[:,j]) - - #index,sortID=self.hildebrand_sekhon_Integration(numpy.abs(buffer),1) - index=int(_HS_algorithm.HS_algorithm(numpy.sort(buffer, axis=None),1)) - sortID = buffer.argsort() - - indexes.append(index) - #sortIDs.append(sortID) - outliers_IDs=numpy.append(outliers_IDs,sortID[index:]) - - sortdata=numpy.sort(buffer,axis=0) - avg=numpy.mean(sortdata[:index],axis=0) - #lt=outliers_IDs - #avg=numpy.mean(buffer1[[t for t in range(buffer1.shape[0]) if t not in lt],:],axis=0) - - if index != buffer.shape[0]: - for p in list(sortID[index:]): - buffer1[p,j]=avg + buffer1=numpy.copy(self.__buffer_spc[:,i,:,k,l]) # [int, profile] + indexes=[] + #sortIDs=[] + outliers_IDs=[] + for j in range(self.nProfiles): + if i==0 and j==freq_dc: #NOT CONSIDERING DC PROFILE AT CHANNEL 0 + continue + if i==1 and j==0: #NOT CONSIDERING DC PROFILE AT CHANNEL 1 + continue + buffer=buffer1[:,j] # [int] + + '''Finding the outlier index with Hildebrand Sekhon algorithm''' + index=int(_HS_algorithm.HS_algorithm(numpy.sort(buffer, axis=None),1)) + sortID = buffer.argsort() + #index,sortID=self.hildebrand_sekhon_Integration(buffer,1) + indexes.append(index) + + #sortIDs.append(sortID) + outliers_IDs = numpy.append(outliers_IDs, sortID[index:]) + + ''' + #if k == 39 or k == 38: + m = 2. + d = numpy.abs(buffer - numpy.median(buffer)) + mdev = numpy.median(d) + s=d / mdev if mdev else numpy.zeros(len(d)) + outliers_IDs2 = numpy.where(s >= m)[0] + outliers_IDs2 = numpy.sort(numpy.concatenate((sortID[index:], outliers_IDs2))) + #print(sortID[index:], outliers_IDs2) + outliers_IDs = numpy.append(outliers_IDs, outliers_IDs2) + ''' + + ''' + # + if k == 39: + print("channel", i, " Profile", j, " Buffer:", buffer) + + print("outliers_IDs ", sortID[index:]) + outliers_IDs_buffer = numpy.array(sortID[index:],dtype = int) + NUM=numpy.size(buffer) + plt.plot(range(NUM), buffer, 'b') + plt.plot(outliers_IDs_buffer, buffer[numpy.array(outliers_IDs_buffer,dtype = int)], 'r.', label='Outliers') + text_time = datetime.datetime.utcfromtimestamp(self.__initime) + title = '{}Height{}km_Ch{}_Lag{}_Profile{}.png'.format(text_time,k*15,i,l,j) + plt.title(title) + plt.savefig('{}.png'.format(title),dpi = 50) + plt.clf() + ''' + + + + + outliers_IDs=numpy.array(outliers_IDs) + outliers_IDs=outliers_IDs.ravel() + outliers_IDs=numpy.unique(outliers_IDs) + outliers_IDs=outliers_IDs.astype(numpy.dtype('int64')) + indexes=numpy.array(indexes) + indexmin=numpy.min(indexes) - self.__buffer_spc[:,i,j,k]=numpy.copy(buffer1[:,j]) - ###cspc IDs - #indexmin_cspc+=indexmin_cspc - if self.__buffer_cspc is not None and self.clean_cspc: + #if indexmin != buffer1.shape[0]: + if (indexmin != buffer1.shape[0]): + cspc_outliers_exist=True + ###sortdata=numpy.sort(buffer1,axis=0) + ###avg2=numpy.mean(sortdata[:indexmin,:],axis=0) + lt = outliers_IDs + time_text = datetime.datetime.utcfromtimestamp(self.__initime) + '''Average profile signal value without taking account outleirs ''' + #if time_text.hour >= 11 or time_text.hour <= 19: + if True: + data_buffer1 = buffer1[[t for t in range(buffer1.shape[0]) if t not in lt],:] + (mu, sigma) = numpy.apply_along_axis(lambda x: norm.fit(x), 0, data_buffer1) + filtered_data = data_buffer1[(data_buffer1 >= 0) & (data_buffer1 <= 2 * mu[numpy.newaxis, :])] + avg = numpy.median(filtered_data, axis=0) + #avg=numpy.median(buffer1[[t for t in range(buffer1.shape[0]) if t not in lt],:],axis=0) + else: + avg=numpy.mean(buffer1[[t for t in range(buffer1.shape[0]) if t not in lt],:],axis=0) + + ''' New outlier value take the average''' + for p in list(outliers_IDs): + buffer1[p,:] = avg + + else: + print("No average!!") + '''Reasignate the buffer 1 edition to the original buffer''' + self.__buffer_spc[:,i,:,k,l]=numpy.copy(buffer1) + ###cspc IDs + #indexmin_cspc+=indexmin_cspc outliers_IDs_cspc=numpy.append(outliers_IDs_cspc,outliers_IDs) - #if not breakFlag: - #print(outliers_IDs_cspc) - if self.__buffer_cspc is not None and self.clean_cspc: + ''' Same process for cross-spectra''' + #if not breakFlag: outliers_IDs_cspc=outliers_IDs_cspc.astype(numpy.dtype('int64')) if cspc_outliers_exist: #sortdata=numpy.sort(buffer_cspc,axis=0) #avg=numpy.mean(sortdata[:indexmin_cpsc,:],axis=0) - lt=outliers_IDs_cspc - - avg=numpy.mean(buffer_cspc[[t for t in range(buffer_cspc.shape[0]) if t not in lt],:],axis=0) + lt = outliers_IDs_cspc + #if time_text.hour >= 11 or time_text.hour <= 19: + if True: + data_buffer_cspc = buffer_cspc[[t for t in range(buffer_cspc.shape[0]) if t not in lt],:] + (mu, sigma) = numpy.apply_along_axis(lambda x: norm.fit(numpy.abs(x)), 0, data_buffer_cspc) + mu = mu[numpy.newaxis, :] + mask = (numpy.abs(data_buffer_cspc ) >= 0) & (numpy.abs(data_buffer_cspc ) <= 2 * mu) + filtered_data = numpy.where(mask, data_buffer_cspc, numpy.nan) + avg = numpy.nanmean(filtered_data, axis=0) + + #avg=numpy.median(buffer_cspc[[t for t in range(buffer_cspc.shape[0]) if t not in lt],:],axis=0) + else: + avg = numpy.mean(buffer1[[t for t in range(buffer1.shape[0]) if t not in lt],:], axis=0) + + #print("avg2",avg) for p in list(outliers_IDs_cspc): - buffer_cspc[p,:]=avg - - self.__buffer_cspc[:,0,:,k]=numpy.copy(buffer_cspc) + buffer_cspc[p,:]= avg + self.__buffer_cspc[:,0,:,k,l]=numpy.copy(buffer_cspc) + #else: + #break buffer=None bufferH=None buffer1=None buffer_cspc=None + #print("cpsc",self.__buffer_cspc[:,0,0,0,0]) + #print(self.__profIndex) + #exit() + buffer=None #print(self.__buffer_spc[:,1,3,20,0]) #print(self.__buffer_spc[:,1,5,37,0]) + '''Integration of the improved spectra and cross-spectra''' data_spc = numpy.sum(self.__buffer_spc,axis=0) - - if self.clean_cspc: - if self.__buffer_cspc is not None: - data_cspc = numpy.sum(self.__buffer_cspc,axis=0) - else: - data_cspc = None - else: - data_cspc = self.__buffer_cspc + data_cspc = numpy.sum(self.__buffer_cspc,axis=0) #print(numpy.shape(data_spc)) #data_spc[1,4,20,0]=numpy.nan - + #data_cspc = self.__buffer_cspc data_dc = self.__buffer_dc - n = self.__profIndex - self.__buffer_spc = None - if self.clean_cspc: - self.__buffer_cspc = None - else: - self.__buffer_cspc = 0 + self.__buffer_spc = [] + self.__buffer_cspc = [] self.__buffer_dc = 0 self.__profIndex = 0 return data_spc, data_cspc, data_dc, n - def byProfiles(self, data_spc, data_cspc, *args): + def byProfiles(self, *args): + """Call variables and push data""" self.__dataReady = False avgdata_spc = None avgdata_cspc = None avgdata_dc = None - self.putData(data_spc, data_cspc, *args) + self.putData(*args) if self.__profIndex == self.n: - if self.ByLags: - avgdata_spc, avgdata_cspc, avgdata_dc, n = self.pushData_ByLags() - else: - avgdata_spc, avgdata_cspc, avgdata_dc, n = self.pushData() + + avgdata_spc, avgdata_cspc, avgdata_dc, n = self.pushData() self.n = n self.__dataReady = True @@ -2725,89 +1503,53 @@ class IntegrationFaradaySpectra3(Operation): #This class should manage data with return avgdata_spc, avgdata_cspc, avgdata_dc - def integrate(self, datatime, data_spc, data_cspc, *args): + def integrate(self, datatime, *args): + + """Integration if the signal by n datablocks""" if self.__profIndex == 0: self.__initime = datatime - #print(data_cspc.shape) - - #self.__buffer_spc = numpy.empty_like(data_spc,shape=(self.n,self.nChannels,self.nProfiles,self.nHeights,self.nLags)) - if self.ByLags: - self.__buffer_spc = numpy.ones_like(data_spc,shape=(self.n,self.nChannels,self.nProfiles,self.nHeights,self.nLags))*numpy.NAN - else: - self.__buffer_spc = numpy.ones_like(data_spc,shape=(self.n,self.nChannels,self.nProfiles,self.nHeights))*numpy.NAN - #print(self.__buffer_spc[0]) - #print(self.__buffer_spc.dtype) - #print(data_spc.dtype) - - if data_cspc is not None: - nCrossChannels = numpy.shape(data_cspc)[0] - if self.ByLags: - nLags = numpy.shape(data_cspc)[-1] - - self.__buffer_cspc = numpy.ones_like(data_cspc,shape=(self.n,nCrossChannels,self.nProfiles,self.nHeights,nLags))*numpy.NAN - else: - if self.clean_cspc: - self.__buffer_cspc = numpy.ones_like(data_cspc,shape=(self.n,nCrossChannels,self.nProfiles,self.nHeights))*numpy.NAN - else: - self.__buffer_cspc = 0 - else: - self.__buffer_cspc = None - #print("HEREEEE") - #print(self.__buffer_cspc.dtype) - #print(data_cspc.dtype) - #exit(1) if self.__byTime: avgdata_spc, avgdata_cspc, avgdata_dc = self.byTime( datatime, *args) else: - avgdata_spc, avgdata_cspc, avgdata_dc = self.byProfiles(data_spc, data_cspc, *args) + avgdata_spc, avgdata_cspc, avgdata_dc = self.byProfiles(*args) if not self.__dataReady: return None, None, None, None return self.__initime, avgdata_spc, avgdata_cspc, avgdata_dc - def run(self, dataOut, n=None, timeInterval=None, overlapping=False,TrueLags=True,clean_cspc=True): + def run(self, dataOut, n=None, timeInterval=None, overlapping=False): + '''If no integration then exit''' if n == 1: + dataOut.VelRange = dataOut.getVelRange(0) return dataOut dataOut.flagNoData = True - self.clean_cspc = clean_cspc - - if not self.isConfig: + ''' Assignation setup of integration time or number of integrations ''' + if not self.isConfig: #assignation setup of integration time or number of integrations self.setup(n, timeInterval, overlapping) - try: - dataOut.FlipChannels - self.FlipChannelsExist=1 - except: - self.FlipChannelsExist=0 self.isConfig = True - - self.nProfiles=dataOut.nProfiles - self.nChannels=dataOut.nChannels - self.nHeights=dataOut.nHeights - self.ByLags = dataOut.ByLags + + '''Integration call''' if not dataOut.ByLags: avgdatatime, avgdata_spc, avgdata_cspc, avgdata_dc = self.integrate(dataOut.utctime, dataOut.data_spc, dataOut.data_cspc, dataOut.data_dc) else: - #self.nProfiles=dataOut.nProfiles - #self.nChannels=dataOut.nChannels - #self.nHeights=dataOut.nHeights - self.nLags=dataOut.nLags - self.TrueLags=TrueLags - - - + self.nProfiles=dataOut.nProfiles + self.nChannels=dataOut.nChannels + self.nHeights=dataOut.nHeights + self.DPL=dataOut.DPL avgdatatime, avgdata_spc, avgdata_cspc, avgdata_dc = self.integrate(dataOut.utctime, dataOut.dataLag_spc, dataOut.dataLag_cspc, dataOut.dataLag_dc) + '''Asignate integrated data to output''' if self.__dataReady: if not dataOut.ByLags: @@ -2819,19 +1561,19 @@ class IntegrationFaradaySpectra3(Operation): #This class should manage data with dataOut.dataLag_cspc = avgdata_cspc dataOut.dataLag_dc = avgdata_dc - dataOut.data_spc=dataOut.dataLag_spc[:,:,:,dataOut.LagPlot].real - - if self.__buffer_cspc is not None: - dataOut.data_cspc=dataOut.dataLag_cspc[:,:,:,dataOut.LagPlot] + dataOut.data_spc=dataOut.dataLag_spc[:,:,:,dataOut.LagPlot] + dataOut.data_cspc=dataOut.dataLag_cspc[:,:,:,dataOut.LagPlot] dataOut.data_dc=dataOut.dataLag_dc[:,:,dataOut.LagPlot] - + dataOut.VelRange = dataOut.getVelRange(0) dataOut.nIncohInt *= self.n dataOut.utctime = avgdatatime dataOut.flagNoData = False return dataOut + + class IntegrationFaradaySpectraNoLags(Operation): ''' Written by R. Flores @@ -4021,6 +2763,7 @@ class SpectraDataToFaraday(Operation): #ISR MODE input() ''' + # Normalization Factor that take account the Number of integrations and profiles def normFactor(self,dataOut): dataOut.rnint2=numpy.zeros(dataOut.DPL,'float32') for l in range(dataOut.DPL): @@ -4036,7 +2779,7 @@ class SpectraDataToFaraday(Operation): #ISR MODE dataOut.data_spc = dataOut.dataLag_spc[:,:,:,lag] dataOut.noise_lag[:,lag] = dataOut.getNoise(ymin_index=46) #dataOut.noise_lag[:,lag] = dataOut.getNoise(ymin_index=33,ymax_index=46) - ''' + ''' #print(dataOut.NDP) #exit(1) #Channel B @@ -4176,16 +2919,16 @@ class SpectraDataToFaraday(Operation): #ISR MODE self.normFactor(dataOut) #print(dataOut.NDP) - dataOut.NDP=dataOut.nHeights - dataOut.NR=len(dataOut.channelList) - dataOut.DH=dataOut.heightList[1]-dataOut.heightList[0] - dataOut.H0=int(dataOut.heightList[0]) + dataOut.NDP=dataOut.nHeights # Number of heights for Double Pulse.* + dataOut.NR=len(dataOut.channelList) # num receptores (channels) + dataOut.DH=dataOut.heightList[1]-dataOut.heightList[0] # delta H + dataOut.H0=int(dataOut.heightList[0]) # H(0) self.ConvertData(dataOut) #print(dataOut.NDP) #exit(1) dataOut.NAVG=16#dataOut.rnint2[0] #CHECK THIS! - if hasattr(dataOut, 'NRANGE'): + if hasattr(dataOut, 'NRANGE'): # NRANGE.- Number of samples for Long Pulse. dataOut.MAXNRANGENDT = max(dataOut.NRANGE,dataOut.NDT) else: dataOut.MAXNRANGENDT = dataOut.NDP @@ -4381,7 +3124,8 @@ class SpectraDataToFaraday_MST(Operation): #MST MODE #dataOut.kabxys_integrated[5][:,:,0]+=self.dataLag_spc[0,:,:].imag dataOut.kabxys_integrated[6][:,:,0]=self.dataLag_spc[1,:,:].real #dataOut.kabxys_integrated[7][:,:,0]+=self.dataLag_spc[1,:,:].imag - + print("self.dataLag_cspc shape:", self.dataLag_cspc.shape) + print("dataOut.kabxys_integrated[8][:,:,0]", dataOut.kabxys_integrated[8][:,:,0]) dataOut.kabxys_integrated[8][:,:,0]=self.dataLag_cspc[0,:,:].real dataOut.kabxys_integrated[10][:,:,0]=self.dataLag_cspc[0,:,:].imag diff --git a/schainpy/model/proc/jroproc_voltage.py b/schainpy/model/proc/jroproc_voltage.py index 09ea4b9..6ac481b 100644 --- a/schainpy/model/proc/jroproc_voltage.py +++ b/schainpy/model/proc/jroproc_voltage.py @@ -1,7 +1,8 @@ -import os +import os, json import sys import numpy, math + from scipy import interpolate from scipy.optimize import nnls from schainpy.model.proc.jroproc_base import ProcessingUnit, Operation, MPDecorator @@ -12,6 +13,7 @@ from scipy.optimize import least_squares import datetime import collections.abc import csv +import ast #new added try: from schainpy.model.proc import fitacf_guess @@ -72,9 +74,6 @@ class selectChannels(Operation): def run(self, dataOut, channelList): - - - channelIndexList = [] self.dataOut = dataOut for channel in channelList: @@ -164,6 +163,41 @@ class selectChannels(Operation): return +class CombineChannels(Operation): + '''Digital hybrid implementation''' + + def run(self, dataout, sum_list=[], sub_list=[]): + ''' + Input: + sum_list : list of pairs [[0,2],[1,3]] + sub_list : list of pairs [[2,4],[6,8]] + ''' + #print(dataout.data[0, :, :]) + tmp = [] + + if sub_list: + for i, j in sub_list: + if dataout.flagDataAsBlock: + tmp.append( dataout.data[i, :, :] - dataout.data[j, :, :]) + else: + tmp.append(dataout.data[i,:] - dataout.data[j,:,:]) + + if sum_list: + for i, j in sum_list: + if dataout.flagDataAsBlock: + tmp.append(dataout.data[i, :, :] + dataout.data[j, :, :]) + #tmp.append(numpy.sum(dataout.data[i, :, :],dataout.data[j, :, :])) + else: + tmp.append(dataout.data[i,:] + dataout.data[j,:,:]) + + + + + dataout.data = numpy.array(tmp) + dataout.channelList = range(len(tmp)) + + return dataout + class selectHeights(Operation): def run(self, dataOut, minHei=None, maxHei=None, minIndex=None, maxIndex=None): @@ -301,9 +335,11 @@ class selectHeights(Operation): class filterByHeights(Operation): def run(self, dataOut, window): - #print(dataOut.nHeights) + #print("nHeights \n", dataOut.nHeights) + #print("heighList \n", dataOut.heightList) deltaHeight = dataOut.heightList[1] - dataOut.heightList[0] - + #print("dataOut \n", dataOut, dataOut.len) + #print("dataOut.data \n", dataOut.data) if window == None: window = (dataOut.radarControllerHeaderObj.txA/dataOut.radarControllerHeaderObj.nBaud) / deltaHeight @@ -643,366 +679,510 @@ class LagsReshape(Operation): return dataOut -class LagsReshape150(Operation): + +class CrossProdDP(Operation): ''' Written by R. Flores ''' - """Operation to reshape input data into (Channels,Profiles(with same lag),Heights,Lags) and heights reconstruction. + """Operation to calculate cross products of the Double Pulse Experiment. Parameters: ----------- - + NLAG : int + Number of lags Long Pulse. + NRANGE : int + Number of samples for Long Pulse. + NCAL : int + .* + DPL : int + Number of lags Double Pulse. + NDN : int + .* + NDT : int + Number of heights for Double Pulse.* + NDP : int + Number of heights for Double Pulse.* + NSCAN : int + Number of profiles when the transmitter is on. + flags_array : intlist + .* + NAVG : int + Number of blocks to be "averaged". + nkill : int + Number of blocks not to be considered when averaging. Example -------- - op = proc_unit.addOperation(name='LagsReshape') - + op = proc_unit.addOperation(name='CrossProdDP', optype='other') + op.addParameter(name='NLAG', value='16', format='int') + op.addParameter(name='NRANGE', value='0', format='int') + op.addParameter(name='NCAL', value='0', format='int') + op.addParameter(name='DPL', value='11', format='int') + op.addParameter(name='NDN', value='0', format='int') + op.addParameter(name='NDT', value='66', format='int') + op.addParameter(name='NDP', value='66', format='int') + op.addParameter(name='NSCAN', value='132', format='int') + op.addParameter(name='flags_array', value='(0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300)', format='intlist') + op.addParameter(name='NAVG', value='16', format='int') + op.addParameter(name='nkill', value='6', format='int') """ def __init__(self, **kwargs): Operation.__init__(self, **kwargs) + self.bcounter=0 + self.aux=1 + self.lag_products_LP_median_estimates_aux=0 - self.buffer=None - self.buffer_HR=None - self.buffer_HRonelag=None - - def LagDistribution(self,dataOut): - - dataOut.datapure=numpy.copy(dataOut.data[:,0:dataOut.NSCAN,:]) - self.buffer = numpy.zeros((dataOut.nChannels, - int(dataOut.NSCAN/dataOut.DPL), - dataOut.nHeights,dataOut.DPL), - dtype='complex') + def set_header_output(self,dataOut): - for j in range(int(self.buffer.shape[1]/2)): - for i in range(dataOut.DPL): - if j+1==int(self.buffer.shape[1]/2) and i+1==dataOut.DPL: - self.buffer[:,2*j:,:,i]=dataOut.datapure[:,2*i+int(2*j*dataOut.DPL):,:] - else: - self.buffer[:,2*j:2*(j+1),:,i]=dataOut.datapure[:,2*i+int(2*j*dataOut.DPL):2*(i+1)+int(2*j*dataOut.DPL),:] + dataOut.read_samples=len(dataOut.heightList)#int(dataOut.systemHeaderObj.nSamples/dataOut.windowOfFilter) + padding=numpy.zeros(1,'int32') + hsize=numpy.zeros(1,'int32') + bufsize=numpy.zeros(1,'int32') + nr=numpy.zeros(1,'int32') + ngates=numpy.zeros(1,'int32') ### ### ### 2 + time1=numpy.zeros(1,'uint64') # pos 3 + time2=numpy.zeros(1,'uint64') # pos 4 + lcounter=numpy.zeros(1,'int32') + groups=numpy.zeros(1,'int32') + system=numpy.zeros(4,'int8') # pos 7 + h0=numpy.zeros(1,'float32') + dh=numpy.zeros(1,'float32') + ipp=numpy.zeros(1,'float32') + process=numpy.zeros(1,'int32') + tx=numpy.zeros(1,'int32') + ngates1=numpy.zeros(1,'int32') ### ### ### 13 + time0=numpy.zeros(1,'uint64') # pos 14 + nlags=numpy.zeros(1,'int32') + nlags1=numpy.zeros(1,'int32') + txb=numpy.zeros(1,'float32') ### ### ### 17 + time3=numpy.zeros(1,'uint64') # pos 18 + time4=numpy.zeros(1,'uint64') # pos 19 + h0_=numpy.zeros(1,'float32') + dh_=numpy.zeros(1,'float32') + ipp_=numpy.zeros(1,'float32') + txa_=numpy.zeros(1,'float32') + pad=numpy.zeros(100,'int32') + nbytes=numpy.zeros(1,'int32') + limits=numpy.zeros(1,'int32') + ngroups=numpy.zeros(1,'int32') ### ### ### 27 - return self.buffer + dataOut.header=[hsize,bufsize,nr,ngates,time1,time2, + lcounter,groups,system,h0,dh,ipp, + process,tx,ngates1,padding,time0,nlags, + nlags1,padding,txb,time3,time4,h0_,dh_, + ipp_,txa_,pad,nbytes,limits,padding,ngroups] - def HeightReconstruction(self,dataOut): - self.buffer_HR = numpy.zeros((int(dataOut.NSCAN/dataOut.DPL), - dataOut.nHeights,dataOut.DPL), - dtype='complex') + #dataOut.header[1][0]=81864 + dataOut.FirstHeight=int(dataOut.heightList[0]) + dataOut.MAXNRANGENDT=max(dataOut.NRANGE,dataOut.NDT) + dataOut.header[3][0]=max(dataOut.NRANGE,dataOut.NDT) + dataOut.header[7][0]=dataOut.NAVG + dataOut.header[9][0]=int(dataOut.heightList[0]) + dataOut.header[10][0]=dataOut.DH + dataOut.header[17][0]=dataOut.DPL + dataOut.header[18][0]=dataOut.NLAG + #self.header[5][0]=0 + dataOut.header[15][0]=dataOut.NDP + dataOut.header[2][0]=dataOut.NR - for i in range(int(dataOut.DPL)): #Only channel B - if i==0: - self.buffer_HR[:,:,i]=dataOut.datalags[1,:,:,i] - else: - self.buffer_HR[:,:,i]=self.HRonelag(dataOut,i) - return self.buffer_HR + def get_products_cabxys(self,dataOut): + if self.aux==1: + self.set_header_output(dataOut) + self.aux=0 - def HRonelag(self,dataOut,whichlag): - self.buffer_HRonelag = numpy.zeros((int(dataOut.NSCAN/dataOut.DPL), - dataOut.nHeights), - dtype='complex') + dataOut.lags_array=[x / dataOut.DH for x in dataOut.flags_array] + self.cax=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) + self.cay=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) + self.cbx=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) + self.cby=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) + self.cax2=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) + self.cay2=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) + self.cbx2=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) + self.cby2=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) + self.caxbx=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) + self.caxby=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) + self.caybx=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) + self.cayby=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) + self.caxay=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) + self.cbxby=numpy.zeros((dataOut.NDP,dataOut.DPL,2)) - for i in range(self.buffer_HRonelag.shape[0]): - for j in range(dataOut.nHeights): - if j+int(2*whichlag)=nkill/2 and k 2): + nums_min= int(ndata/divider) + else: + nums_min=2 + sump=0.0 + sumq=0.0 + j=0 + cont=1 + while ( (cont==1) and (j nums_min): + rtest= float(j/(j-1)) +1.0/ndata + if( (sumq*j) > (rtest*sump*sump ) ): + j=j-1 + sump-= data[j] + sumq-=data[j]*data[j] + cont= 0 + noise= (sump/j) - ''' - import matplotlib.pyplot as plt - fft = numpy.fft.fft(self.buffer[0,:,pa1,pa2]) - fft2 = fft*numpy.conjugate(fft) - fft2 = fft2.real - fft2 = numpy.fft.fftshift(fft2) - ''' - #print("before",fft2) - #plt.plot(fft2) - #plt.show() - #import time - #time.sleep(5) - #plt.close('all') - #exit(1) - return self.buffer + return noise - def run(self,dataOut,DPL=11,NSCAN=128,lagind=(0,1,2,3,4,5,6,7,0,3,4,5,6,8,9,10),lagfirst=(1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1), NLAG = 16, NRANGE = 200): + def run(self, dataOut, NLAG=16, NRANGE=0, NCAL=0, DPL=11, + NDN=0, NDT=66, NDP=66, NSCAN=132, + flags_array=(0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300), NAVG=16, nkill=6, **kwargs): + dataOut.NLAG=NLAG + dataOut.NR=len(dataOut.channelList) + dataOut.NRANGE=NRANGE + dataOut.NCAL=NCAL dataOut.DPL=DPL + dataOut.NDN=NDN + dataOut.NDT=NDT + dataOut.NDP=NDP dataOut.NSCAN=NSCAN - dataOut.NLAG = NLAG - deltaHeight = dataOut.heightList[1] - dataOut.heightList[0] - dataOut.NRANGE = NRANGE - dataOut.read_samples=int(dataOut.nHeights) - #print(dataOut.read_samples) - #print(dataOut.nHeights) - #exit(1) - dataOut.NDP = dataOut.NDT = int((dataOut.nHeights-dataOut.NRANGE)/2) - dataOut.heightList = numpy.arange(dataOut.NDP) *deltaHeight# + dataOut.heightList[0] - #dataOut.NDP = dataOut.NDT = int(dataOut.nHeights/2)#int((dataOut.nHeights-dataOut.NRANGE)/2) - #print(dataOut.NDP) - #print(dataOut.heightList) - dataOut.paramInterval=0#int(dataOut.nint*dataOut.header[7][0]*2 ) - dataOut.lat=-11.95 - dataOut.lon=-76.87 - dataOut.datalags=None - dataOut.lagind=lagind - dataOut.lagfirst=lagfirst - + dataOut.DH=dataOut.heightList[1]-dataOut.heightList[0] + dataOut.H0=int(dataOut.heightList[0]) + dataOut.flags_array=flags_array + dataOut.NAVG=NAVG + dataOut.nkill=nkill + dataOut.flagNoData = True - #print(dataOut.data[1,:12,:15]) - #exit(1) - #print(numpy.shape(dataOut.data)) - dataOut.datalags = numpy.copy(self.LagDistribution(dataOut)) - #print(numpy.shape(dataOut.datalags)) - #exit(1) - #print("AFTER RESHAPE DP") + self.get_dc(dataOut) + self.get_products_cabxys(dataOut) + self.cabxys_navg(dataOut) + self.noise_estimation4x_DP(dataOut) + self.kabxys(dataOut) - dataOut.data = dataOut.data[:,:,200:] - #print(numpy.shape(dataOut.data)) - #exit(1) + return dataOut - return dataOut -class LagsReshapeDP_V2(Operation): +class IntegrationDP(Operation): ''' Written by R. Flores ''' - """Operation to reshape input data into (Channels,Profiles(with same lag),Heights,Lags) and heights reconstruction. + """Operation to integrate the Double Pulse data. Parameters: ----------- - + nint : int + Number of integrations. Example -------- - op = proc_unit.addOperation(name='LagsReshape') - + op = proc_unit.addOperation(name='IntegrationDP', optype='other') + op.addParameter(name='nint', value='30', format='int') """ @@ -1010,201 +1190,85 @@ class LagsReshapeDP_V2(Operation): Operation.__init__(self, **kwargs) - self.buffer=None - self.data_buffer = [] - - def setup(self,dataOut,DPL,NSCAN,NLAG,NRANGE,lagind,lagfirst): - dataOut.DPL=DPL - dataOut.NSCAN=NSCAN - dataOut.NLAG = NLAG - deltaHeight = dataOut.heightList[1] - dataOut.heightList[0] - dataOut.NRANGE = NRANGE - dataOut.read_samples=int(dataOut.nHeights) - #print(dataOut.read_samples) - #print(dataOut.nHeights) - #exit(1) - dataOut.NDP = dataOut.NDT = int((dataOut.nHeights-dataOut.NRANGE)/2) - dataOut.heightList = numpy.arange(dataOut.NDP) *deltaHeight# + dataOut.heightList[0] - #dataOut.NDP = dataOut.NDT = int(dataOut.nHeights/2)#int((dataOut.nHeights-dataOut.NRANGE)/2) - #print(dataOut.NDP) - #print(dataOut.heightList) - dataOut.paramInterval=0#int(dataOut.nint*dataOut.header[7][0]*2 ) - dataOut.lat=-11.95 - dataOut.lon=-76.87 - dataOut.datalags=None - dataOut.lagind=lagind - dataOut.lagfirst=lagfirst - - - def LagDistribution(self,dataOut): - - self.buffer = numpy.zeros((dataOut.nChannels, - int(2*2*dataOut.NSCAN/dataOut.NLAG), - dataOut.NDP,dataOut.DPL), - dtype='complex') - - indProfile = numpy.arange(0,dataOut.NSCAN,1)//8 - - #dataOut.nNoiseProfiles = dataOut.nProfiles-dataOut.NSCAN - - for i in range(2): - if i==0: - aux = 0 - else: - aux =16 - for j in range(dataOut.NDP): - for k in range(int(dataOut.NSCAN)): - - n=dataOut.lagind[k%dataOut.NLAG] - - data_ChA=dataOut.data[0,k,dataOut.NRANGE+j+i*dataOut.NDT]#-dataOut.dc[0] + self.counter=0 + self.aux=0 + self.init_time=None - if dataOut.NRANGE+j+i*dataOut.NDT+2*n=nkill/2 and k 2): - nums_min= int(ndata/divider) - else: - nums_min=2 - sump=0.0 - sumq=0.0 - j=0 - cont=1 - while ( (cont==1) and (j nums_min): - rtest= float(j/(j-1)) +1.0/ndata - if( (sumq*j) > (rtest*sump*sump ) ): - j=j-1 - sump-= data[j] - sumq-=data[j]*data[j] - cont= 0 - noise= (sump/j) - - return noise - - - - def run(self, dataOut, NLAG=16, NRANGE=0, NCAL=0, DPL=11, - NDN=0, NDT=66, NDP=66, NSCAN=132, - flags_array=(0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300), NAVG=16, nkill=6, **kwargs): - - dataOut.NLAG=NLAG - dataOut.NR=len(dataOut.channelList) - dataOut.NRANGE=NRANGE - dataOut.NCAL=NCAL - dataOut.DPL=DPL - dataOut.NDN=NDN - dataOut.NDT=NDT - dataOut.NDP=NDP - dataOut.NSCAN=NSCAN - dataOut.DH=dataOut.heightList[1]-dataOut.heightList[0] - dataOut.H0=int(dataOut.heightList[0]) - dataOut.flags_array=flags_array - dataOut.NAVG=NAVG - dataOut.nkill=nkill - dataOut.flagNoData = True - - self.get_dc(dataOut) - self.get_products_cabxys(dataOut) - self.cabxys_navg(dataOut) - self.noise_estimation4x_DP(dataOut) - self.kabxys(dataOut) - - return dataOut - - - -class IntegrationDP(Operation): - ''' - Written by R. Flores - ''' - """Operation to integrate the Double Pulse data. - - Parameters: - ----------- - nint : int - Number of integrations. - - Example - -------- - - op = proc_unit.addOperation(name='IntegrationDP', optype='other') - op.addParameter(name='nint', value='30', format='int') - - """ - - def __init__(self, **kwargs): - - Operation.__init__(self, **kwargs) - - self.counter=0 - self.aux=0 - self.init_time=None - - def integration_for_double_pulse(self,dataOut): - - if self.aux==1: - - dataOut.TimeBlockSeconds_for_dp_power=dataOut.utctime - dataOut.bd_time=gmtime(dataOut.TimeBlockSeconds_for_dp_power) - dataOut.year=dataOut.bd_time.tm_year+(dataOut.bd_time.tm_yday-1)/364.0 - dataOut.ut_Faraday=dataOut.bd_time.tm_hour+dataOut.bd_time.tm_min/60.0+dataOut.bd_time.tm_sec/3600.0 - self.aux=0 - - if self.counter==0: - - tmpx=numpy.zeros((dataOut.NDP,dataOut.DPL,2),'float32') - dataOut.kabxys_integrated=[tmpx,tmpx,tmpx,tmpx,tmpx,tmpx,tmpx,tmpx,tmpx,tmpx,tmpx,tmpx,tmpx,tmpx] - self.init_time=dataOut.utctime - - if self.counter < dataOut.nint: - - dataOut.final_cross_products=[dataOut.kax,dataOut.kay,dataOut.kbx,dataOut.kby,dataOut.kax2,dataOut.kay2,dataOut.kbx2,dataOut.kby2,dataOut.kaxbx,dataOut.kaxby,dataOut.kaybx,dataOut.kayby,dataOut.kaxay,dataOut.kbxby] - - for ind in range(len(dataOut.kabxys_integrated)): #final cross products - dataOut.kabxys_integrated[ind]=dataOut.kabxys_integrated[ind]+dataOut.final_cross_products[ind] - - self.counter+=1 - - if self.counter==dataOut.nint-1: - self.aux=1 - - if self.counter==dataOut.nint: - dataOut.flagNoData=False - pa1 = 20 - pa2 = 10 - ''' - print(32*(dataOut.kabxys_integrated[4][pa1,pa2,0]+dataOut.kabxys_integrated[5][pa1,pa2,0]+dataOut.kabxys_integrated[4][pa1,pa2,1]+dataOut.kabxys_integrated[5][pa1,pa2,1])) - print(32*(dataOut.kabxys_integrated[6][pa1,pa2,0]+dataOut.kabxys_integrated[7][pa1,pa2,0]+dataOut.kabxys_integrated[6][pa1,pa2,1]+dataOut.kabxys_integrated[7][pa1,pa2,1])) - - exit(1) - ''' - dataOut.utctime=self.init_time - self.counter=0 - ''' - print(dataOut.kabxys_integrated[8][53,6,0]+dataOut.kabxys_integrated[11][53,6,0]) - print(dataOut.kabxys_integrated[8][53,9,0]+dataOut.kabxys_integrated[11][53,9,0]) - exit(1) - ''' - - - def run(self,dataOut,nint=20): - - dataOut.flagNoData=True - dataOut.nint=nint - dataOut.paramInterval=0#int(dataOut.nint*dataOut.header[7][0]*2 ) - dataOut.lat=-11.95 - dataOut.lon=-76.87 - - self.integration_for_double_pulse(dataOut) - - - return dataOut - - -class SumFlips(Operation): - ''' - Written by R. Flores - ''' - """Operation to sum the flip and unflip part of certain cross products of the Double Pulse. - - Parameters: - ----------- - None - - Example - -------- - - op = proc_unit.addOperation(name='SumFlips', optype='other') - - """ - - def __init__(self, **kwargs): - - Operation.__init__(self, **kwargs) - - - def rint2DP(self,dataOut): - - dataOut.rnint2=numpy.zeros(dataOut.DPL,'float32') - - for l in range(dataOut.DPL): - - dataOut.rnint2[l]=1.0/(dataOut.nint*dataOut.NAVG*12.0) - - - def SumLags(self,dataOut): - - for l in range(dataOut.DPL): - ''' - if l == 10: - print(32*(dataOut.kabxys_integrated[4][20,10,0]+dataOut.kabxys_integrated[5][20,10,0]+dataOut.kabxys_integrated[4][20,10,1]+dataOut.kabxys_integrated[5][20,10,1])) - print(32*(dataOut.kabxys_integrated[6][20,10,0]+dataOut.kabxys_integrated[7][20,10,0]+dataOut.kabxys_integrated[6][20,10,1]+dataOut.kabxys_integrated[7][20,10,1])) - ''' - dataOut.kabxys_integrated[4][:,l,0]=(dataOut.kabxys_integrated[4][:,l,0]+dataOut.kabxys_integrated[4][:,l,1])*dataOut.rnint2[l] - dataOut.kabxys_integrated[5][:,l,0]=(dataOut.kabxys_integrated[5][:,l,0]+dataOut.kabxys_integrated[5][:,l,1])*dataOut.rnint2[l] - dataOut.kabxys_integrated[6][:,l,0]=(dataOut.kabxys_integrated[6][:,l,0]+dataOut.kabxys_integrated[6][:,l,1])*dataOut.rnint2[l] - dataOut.kabxys_integrated[7][:,l,0]=(dataOut.kabxys_integrated[7][:,l,0]+dataOut.kabxys_integrated[7][:,l,1])*dataOut.rnint2[l] - - dataOut.kabxys_integrated[8][:,l,0]=(dataOut.kabxys_integrated[8][:,l,0]-dataOut.kabxys_integrated[8][:,l,1])*dataOut.rnint2[l] - dataOut.kabxys_integrated[9][:,l,0]=(dataOut.kabxys_integrated[9][:,l,0]-dataOut.kabxys_integrated[9][:,l,1])*dataOut.rnint2[l] - dataOut.kabxys_integrated[10][:,l,0]=(dataOut.kabxys_integrated[10][:,l,0]-dataOut.kabxys_integrated[10][:,l,1])*dataOut.rnint2[l] - dataOut.kabxys_integrated[11][:,l,0]=(dataOut.kabxys_integrated[11][:,l,0]-dataOut.kabxys_integrated[11][:,l,1])*dataOut.rnint2[l] - ''' - if l == 10: - print(32*(dataOut.kabxys_integrated[4][20,10,0]+dataOut.kabxys_integrated[5][20,10,0])) - print(32*(dataOut.kabxys_integrated[6][20,10,0]+dataOut.kabxys_integrated[7][20,10,0])) - exit(1) - ''' - def run(self,dataOut): - - self.rint2DP(dataOut) - self.SumLags(dataOut) - - - return dataOut - - -class FlagBadHeights(Operation): - ''' - Written by R. Flores - ''' - """Operation to flag bad heights (bad data) of the Double Pulse. - - Parameters: - ----------- - None - - Example - -------- - - op = proc_unit.addOperation(name='FlagBadHeights', optype='other') - - """ - - def __init__(self, **kwargs): - - Operation.__init__(self, **kwargs) - - def run(self,dataOut): - - dataOut.ibad=numpy.zeros((dataOut.NDP,dataOut.DPL),'int32') - - for j in range(dataOut.NDP): - for l in range(dataOut.DPL): - ip1=j+dataOut.NDP*(0+2*l) - - if( (dataOut.kabxys_integrated[5][j,l,0] <= 0.) or (dataOut.kabxys_integrated[4][j,l,0] <= 0.) or (dataOut.kabxys_integrated[7][j,l,0] <= 0.) or (dataOut.kabxys_integrated[6][j,l,0] <= 0.)): - dataOut.ibad[j][l]=1 - else: - dataOut.ibad[j][l]=0 - - return dataOut - -class FlagBadHeightsSpectra(Operation): - ''' - Written by R. Flores - ''' - """Operation to flag bad heights (bad data) of the Double Pulse. - - Parameters: - ----------- - None - - Example - -------- - - op = proc_unit.addOperation(name='FlagBadHeightsSpectra', optype='other') - - """ - - def __init__(self, **kwargs): - - Operation.__init__(self, **kwargs) - - def run(self,dataOut): - - dataOut.ibad=numpy.zeros((dataOut.NDP,dataOut.DPL),'int32') - - for j in range(dataOut.NDP): - for l in range(dataOut.DPL): - ip1=j+dataOut.NDP*(0+2*l) - - if( (dataOut.kabxys_integrated[4][j,l,0] <= 0.) or (dataOut.kabxys_integrated[6][j,l,0] <= 0.)): - dataOut.ibad[j][l]=1 - else: - dataOut.ibad[j][l]=0 - - return dataOut - -class CleanCohEchoes(Operation): - ''' - Written by R. Flores - ''' - """Operation to clean coherent echoes. - - Parameters: - ----------- - None - - Example - -------- - - op = proc_unit.addOperation(name='CleanCohEchoes') - - """ - - def __init__(self, **kwargs): - - Operation.__init__(self, **kwargs) - - def remove_coh(self,pow): - #print("pow inside: ",pow) - #print(pow.shape) - q75,q25 = numpy.percentile(pow,[75,25],axis=0) - #print(q75,q25) - intr_qr = q75-q25 - - max = q75+(1.5*intr_qr) - min = q25-(1.5*intr_qr) - - pow[pow > max] = numpy.nan - - #print("Max: ",max) - #print("Min: ",min) - - return pow - - def mad_based_outlier_V0(self, points, thresh=3.5): - #print("points: ",points) - if len(points.shape) == 1: - points = points[:,None] - median = numpy.nanmedian(points, axis=0) - diff = numpy.nansum((points - median)**2, axis=-1) - diff = numpy.sqrt(diff) - med_abs_deviation = numpy.nanmedian(diff) - - modified_z_score = 0.6745 * diff / med_abs_deviation - #print(modified_z_score) - return modified_z_score > thresh - - def mad_based_outlier(self, points, thresh=3.5): - - median = numpy.nanmedian(points) - diff = (points - median)**2 - diff = numpy.sqrt(diff) - med_abs_deviation = numpy.nanmedian(diff) - - modified_z_score = 0.6745 * diff / med_abs_deviation - - return modified_z_score > thresh - - def removeSpreadF_V0(self,dataOut): - for i in range(11): - print("BEFORE Chb: ",i,dataOut.kabxys_integrated[6][:,i,0]) - #exit(1) - - #Removing echoes greater than 35 dB - maxdB = 35 #DEBERÍA SER NOISE+ALGO!!!!!!!!!!!!!!!!!!!!!! - #print(dataOut.kabxys_integrated[6][:,0,0]) - data = numpy.copy(10*numpy.log10(dataOut.kabxys_integrated[6][:,0,0])) #Lag0 ChB - #print(data) - for i in range(12,data.shape[0]): - #for j in range(data.shape[1]): - if data[i]>maxdB: - dataOut.kabxys_integrated[4][i-2:i+3,:,0] = numpy.nan #Debido a que estos ecos son intensos, se - dataOut.kabxys_integrated[6][i-2:i+3,:,0] = numpy.nan #remueve además dos muestras antes y después - #dataOut.kabxys_integrated[4][i-1,:,0] = numpy.nan - #dataOut.kabxys_integrated[6][i-1,:,0] = numpy.nan - #dataOut.kabxys_integrated[4][i+1,:,0] = numpy.nan - #dataOut.kabxys_integrated[6][i+1,:,0] = numpy.nan - dataOut.flagSpreadF = True - print("Removing Threshold",i) - #print("i: ",i) - - #print("BEFORE Chb: ",dataOut.kabxys_integrated[6][:,0,0]) - #exit(1) - - #Removing outliers from the profile - nlag = 9 - minHei = 180 - #maxHei = 600 - maxHei = 525 - inda = numpy.where(dataOut.heightList >= minHei) - indb = numpy.where(dataOut.heightList <= maxHei) - minIndex = inda[0][0] - maxIndex = indb[0][-1] - #l0 = 0 - #print("BEFORE Cha: ",dataOut.kabxys_integrated[4][:,l0,0]) - #print("BEFORE Chb: ",dataOut.kabxys_integrated[6][:,l0,0]) - #exit(1) - #''' - l0 = 0 - #print("BEFORE Cha: ",dataOut.kabxys_integrated[4][:,l0,0]) - #print("BEFORE Chb: ",dataOut.kabxys_integrated[6][:,l0,0]) - - import matplotlib.pyplot as plt - for i in range(l0,l0+11): - plt.plot(dataOut.kabxys_integrated[6][:,i,0],dataOut.heightList,label='{}'.format(i)) - #plt.xlim(1.e5,1.e8) - plt.legend() - plt.xlim(0,2000) - plt.show() - #''' - #dataOut.kabxys_integrated[4][minIndex:,:,0] = self.remove_coh(dataOut.kabxys_integrated[4][minIndex:,:,0 - outliers_IDs = [] - ''' - for lag in range(11): - outliers = self.mad_based_outlier(dataOut.kabxys_integrated[4][minIndex:,lag,0], thresh=3.) - #print("Outliers: ",outliers) - #indexes.append(outliers.nonzero()) - #numpy.concatenate((outliers)) - #dataOut.kabxys_integrated[4][minIndex:,lag,0][outliers == True] = numpy.nan - outliers_IDs=numpy.append(outliers_IDs,outliers.nonzero()) - ''' - for lag in range(11): - #outliers = self.mad_based_outlier(dataOut.kabxys_integrated[6][minIndex:maxIndex,lag,0], thresh=2.) - outliers = self.mad_based_outlier(dataOut.kabxys_integrated[6][minIndex:maxIndex,lag,0]) - outliers_IDs=numpy.append(outliers_IDs,outliers.nonzero()) - #print(outliers_IDs) - #exit(1) - if outliers_IDs != []: - outliers_IDs=numpy.array(outliers_IDs) - outliers_IDs=outliers_IDs.ravel() - outliers_IDs=outliers_IDs.astype(numpy.dtype('int64')) - - (uniq, freq) = (numpy.unique(outliers_IDs, return_counts=True)) - aux_arr = numpy.column_stack((uniq,freq)) - #print("repetitions: ",aux_arr) - - #if aux_arr != []: - final_index = [] - for i in range(aux_arr.shape[0]): - if aux_arr[i,1] >= 10: - final_index.append(aux_arr[i,0]) - - if final_index != [] and len(final_index) > 1: - final_index += minIndex - #print("final_index: ",final_index) - following_index = final_index[-1]+1 #Remove following index to ensure we remove remaining SpreadF - previous_index = final_index[0]-1 #Remove previous index to ensure we remove remaning SpreadF - final_index = numpy.concatenate(([previous_index],final_index,[following_index])) - final_index = numpy.unique(final_index) #If there was only one outlier - #print("final_index: ",final_index) - #exit(1) - dataOut.kabxys_integrated[4][final_index,:,0] = numpy.nan - dataOut.kabxys_integrated[6][final_index,:,0] = numpy.nan - - dataOut.flagSpreadF = True - - #print(final_index+minIndex) - #print(outliers_IDs) - #exit(1) - #print("flagSpreadF",dataOut.flagSpreadF) - - ''' - for lag in range(11): - #print("Lag: ",lag) - outliers = self.mad_based_outlier(dataOut.kabxys_integrated[6][minIndex:maxIndex,lag,0], thresh=2.) - dataOut.kabxys_integrated[6][minIndex:maxIndex,lag,0][outliers == True] = numpy.nan - ''' - #dataOut.kabxys_integrated[4][minIndex:,:,0] = self.remove_coh(dataOut.kabxys_integrated[4][minIndex:,:,0]) - ''' - import matplotlib.pyplot as plt - for i in range(11): - plt.plot(dataOut.kabxys_integrated[6][:,i,0],dataOut.heightList,label='{}'.format(i)) - plt.xlim(0,2000) - plt.legend() - plt.grid() - plt.show() - ''' - ''' - for nlag in range(11): - print("BEFORE",dataOut.kabxys_integrated[6][:,nlag,0]) - #exit(1) - ''' - #dataOut.kabxys_integrated[6][minIndex:,:,0] = self.remove_coh(dataOut.kabxys_integrated[6][minIndex:,:,0]) - - - ''' - for nlag in range(11): - print("AFTER",dataOut.kabxys_integrated[6][:,nlag,0]) - exit(1) - ''' - #print("AFTER",dataOut.kabxys_integrated[4][33,:,0]) - #print("AFTER",dataOut.kabxys_integrated[6][33,:,0]) - #exit(1) - - def removeSpreadF(self,dataOut): - #for i in range(11): - #print("BEFORE Chb: ",i,dataOut.kabxys_integrated[6][:,i,0]) - #exit(1) - - #for i in range(12,data.shape[0]): - #for j in range(data.shape[1]): - #if data[i]>maxdB: - #dataOut.kabxys_integrated[4][i-2:i+3,:,0] = numpy.nan #Debido a que estos ecos son intensos, se - #dataOut.kabxys_integrated[6][i-2:i+3,:,0] = numpy.nan #remueven además dos muestras antes y después - #dataOut.flagSpreadF = True - #print("Removing Threshold",i) - #print("i: ",i) - - #print("BEFORE Chb: ",dataOut.kabxys_integrated[6][:,0,0]) - #exit(1) - - #Removing outliers from the profile - nlag = 9 - minHei = 180 - #maxHei = 600 - maxHei = 525 - inda = numpy.where(dataOut.heightList >= minHei) - indb = numpy.where(dataOut.heightList <= maxHei) - minIndex = inda[0][0] - maxIndex = indb[0][-1] - #l0 = 0 - #print("BEFORE Cha: ",dataOut.kabxys_integrated[4][:,l0,0]) - #print("BEFORE Chb: ",dataOut.kabxys_integrated[6][:,l0,0]) - #exit(1) - ''' - l0 = 0 - #print("BEFORE Cha: ",dataOut.kabxys_integrated[4][:,l0,0]) - #print("BEFORE Chb: ",dataOut.kabxys_integrated[6][:,l0,0]) - - import matplotlib.pyplot as plt - for i in range(l0,l0+11): - plt.plot(dataOut.kabxys_integrated[6][:,i,0],dataOut.heightList,label='{}'.format(i)) - #plt.xlim(1.e5,1.e8) - plt.legend() - plt.xlim(0,2000) - plt.show() - ''' - #dataOut.kabxys_integrated[4][minIndex:,:,0] = self.remove_coh(dataOut.kabxys_integrated[4][minIndex:,:,0 - outliers_IDs = [] - ''' - for lag in range(11): - outliers = self.mad_based_outlier(dataOut.kabxys_integrated[4][minIndex:,lag,0], thresh=3.) - #print("Outliers: ",outliers) - #indexes.append(outliers.nonzero()) - #numpy.concatenate((outliers)) - #dataOut.kabxys_integrated[4][minIndex:,lag,0][outliers == True] = numpy.nan - outliers_IDs=numpy.append(outliers_IDs,outliers.nonzero()) - ''' - ''' - for lag in range(11): - #outliers = self.mad_based_outlier(dataOut.kabxys_integrated[6][minIndex:maxIndex,lag,0], thresh=2.) - outliers = self.mad_based_outlier(dataOut.kabxys_integrated[6][minIndex:maxIndex,lag,0]) - outliers_IDs=numpy.append(outliers_IDs,outliers.nonzero()) - ''' - - for i in range(15): - minIndex = 12+i#12 - #maxIndex = 22+i#35 - if gmtime(dataOut.utctime).tm_hour >= 23. or gmtime(dataOut.utctime).tm_hour < 3.: - maxIndex = 31+i#35 - else: - maxIndex = 22+i#35 - for lag in range(11): - #outliers = mad_based_outlier(pow_clean3[12:27], thresh=2.) - #print("Cuts: ",first_cut*15, last_cut*15) - outliers = self.mad_based_outlier(dataOut.kabxys_integrated[6][minIndex:maxIndex,lag,0]) - aux = minIndex+numpy.array(outliers.nonzero()).ravel() - outliers_IDs=numpy.append(outliers_IDs,aux) - #print(minIndex+numpy.array(outliers.nonzero()).ravel()) - #print(outliers_IDs) - #exit(1) - if outliers_IDs != []: - outliers_IDs=numpy.array(outliers_IDs) - #outliers_IDs=outliers_IDs.ravel() - outliers_IDs=outliers_IDs.astype(numpy.dtype('int64')) - #print(outliers_IDs) - #exit(1) - - (uniq, freq) = (numpy.unique(outliers_IDs, return_counts=True)) - aux_arr = numpy.column_stack((uniq,freq)) - #print("repetitions: ",aux_arr) - #exit(1) - - #if aux_arr != []: - final_index = [] - for i in range(aux_arr.shape[0]): - if aux_arr[i,1] >= 3*11: - final_index.append(aux_arr[i,0]) - - if final_index != []:# and len(final_index) > 1: - #final_index += minIndex - #print("final_index: ",final_index) - following_index = final_index[-1]+1 #Remove following index to ensure we remove remaining SpreadF - previous_index = final_index[0]-1 #Remove previous index to ensure we remove remaning SpreadF - final_index = numpy.concatenate(([previous_index],final_index,[following_index])) - final_index = numpy.unique(final_index) #If there was only one outlier - #print("final_index: ",final_index) - #exit(1) - dataOut.kabxys_integrated[4][final_index,:,0] = numpy.nan - dataOut.kabxys_integrated[6][final_index,:,0] = numpy.nan - - dataOut.flagSpreadF = True - - #Removing echoes greater than 35 dB - if hasattr(dataOut.pbn, "__len__"): - maxdB = 10*numpy.log10(dataOut.pbn[0]) + 10 #Lag 0 Noise - else: - maxdB = 10*numpy.log10(dataOut.pbn) + 10 - - #print(dataOut.kabxys_integrated[6][:,0,0]) - data = numpy.copy(10*numpy.log10(dataOut.kabxys_integrated[6][:,0,0])) #Lag0 ChB - #print("data: ",data) - - for i in range(12,data.shape[0]): - #for j in range(data.shape[1]): - if data[i]>maxdB: - dataOut.kabxys_integrated[4][i-2:i+3,:,0] = numpy.nan #Debido a que estos ecos son intensos, se - dataOut.kabxys_integrated[6][i-2:i+3,:,0] = numpy.nan #remueven además dos muestras antes y después - dataOut.flagSpreadF = True - #print("Removing Threshold",i) - - #print(final_index+minIndex) - #print(outliers_IDs) - #exit(1) - #print("flagSpreadF",dataOut.flagSpreadF) - - ''' - for lag in range(11): - #print("Lag: ",lag) - outliers = self.mad_based_outlier(dataOut.kabxys_integrated[6][minIndex:maxIndex,lag,0], thresh=2.) - dataOut.kabxys_integrated[6][minIndex:maxIndex,lag,0][outliers == True] = numpy.nan - ''' - #dataOut.kabxys_integrated[4][minIndex:,:,0] = self.remove_coh(dataOut.kabxys_integrated[4][minIndex:,:,0]) - ''' - import matplotlib.pyplot as plt - for i in range(11): - plt.plot(dataOut.kabxys_integrated[6][:,i,0],dataOut.heightList,label='{}'.format(i)) - plt.xlim(0,2000) - plt.legend() - plt.grid() - plt.show() - ''' - ''' - for nlag in range(11): - print("BEFORE",dataOut.kabxys_integrated[6][:,nlag,0]) - #exit(1) - ''' - #dataOut.kabxys_integrated[6][minIndex:,:,0] = self.remove_coh(dataOut.kabxys_integrated[6][minIndex:,:,0]) - - - ''' - for nlag in range(11): - print("AFTER",dataOut.kabxys_integrated[6][:,nlag,0]) - exit(1) - ''' - - def run(self,dataOut): - dataOut.flagSpreadF = False - #print(gmtime(dataOut.utctime).tm_hour) - #print(dataOut.ut_Faraday) - #exit(1) - if gmtime(dataOut.utctime).tm_hour >= 23. or gmtime(dataOut.utctime).tm_hour < 11.: #18-06 LT - #print("Inside if we are in SpreadF Time: ",gmtime(dataOut.utctime).tm_hour) - #if gmtime(dataOut.utctime).tm_hour == 2 and gmtime(dataOut.utctime).tm_min == 10: #Year: 2023, DOY:310 - #if gmtime(dataOut.utctime).tm_hour == 3 and gmtime(dataOut.utctime).tm_min == 10: #Year: 2023, DOY:312 - #if gmtime(dataOut.utctime).tm_hour == 0 and gmtime(dataOut.utctime).tm_min == 0: #Year: 2024, DOY:082 - #if 1: #Year: 2024, DOY:081 - #if gmtime(dataOut.utctime).tm_hour == 0: #Year: 2024, DOY:080 - #pass - #else: - self.removeSpreadF(dataOut) - #exit(1) + if( (dataOut.kabxys_integrated[4][j,l,0] <= 0.) or (dataOut.kabxys_integrated[6][j,l,0] <= 0.)): + dataOut.ibad[j][l]=1 + else: + dataOut.ibad[j][l]=0 return dataOut -class CleanCohEchoesHP(Operation): +class CleanCohEchoes(Operation): ''' Written by R. Flores ''' @@ -2936,9 +1698,11 @@ class CleanCohEchoesHP(Operation): dataOut.flagSpreadF = True #Removing echoes greater than 35 dB - maxdB = 10*numpy.log10(dataOut.pbn[0]) + 10 #Lag 0 NOise - #maxdB = 35 #DEBERÍA SER NOISE+ALGO!!!!!!!!!!!!!!!!!!!!!! - #print("noise: ",maxdB - 10) + if hasattr(dataOut.pbn, "__len__"): + maxdB = 10*numpy.log10(dataOut.pbn[0]) + 10 #Lag 0 Noise + else: + maxdB = 10*numpy.log10(dataOut.pbn) + 10 + #print(dataOut.kabxys_integrated[6][:,0,0]) data = numpy.copy(10*numpy.log10(dataOut.kabxys_integrated[6][:,0,0])) #Lag0 ChB #print("data: ",data) @@ -2993,11 +1757,19 @@ class CleanCohEchoesHP(Operation): #exit(1) if gmtime(dataOut.utctime).tm_hour >= 23. or gmtime(dataOut.utctime).tm_hour < 11.: #18-06 LT #print("Inside if we are in SpreadF Time: ",gmtime(dataOut.utctime).tm_hour) + #if gmtime(dataOut.utctime).tm_hour == 2 and gmtime(dataOut.utctime).tm_min == 10: #Year: 2023, DOY:310 + #if gmtime(dataOut.utctime).tm_hour == 3 and gmtime(dataOut.utctime).tm_min == 10: #Year: 2023, DOY:312 + #if gmtime(dataOut.utctime).tm_hour == 0 and gmtime(dataOut.utctime).tm_min == 0: #Year: 2024, DOY:082 + #if 1: #Year: 2024, DOY:081 + #if gmtime(dataOut.utctime).tm_hour == 0: #Year: 2024, DOY:080 + #pass + #else: self.removeSpreadF(dataOut) #exit(1) return dataOut + class NoisePower(Operation): ''' Written by R. Flores @@ -3284,19 +2056,28 @@ class DoublePulseACFs_PerLag(Operation): self.aux=1 def run(self,dataOut): - + + # flag bad data points dataOut.igcej=numpy.zeros((dataOut.NDP,dataOut.DPL),'int32') if self.aux==1: - dataOut.rhor=numpy.zeros((dataOut.NDP,dataOut.DPL), dtype=float) - dataOut.rhoi=numpy.zeros((dataOut.NDP,dataOut.DPL), dtype=float) - dataOut.sdp=numpy.zeros((dataOut.NDP,dataOut.DPL), dtype=float) - dataOut.sd=numpy.zeros((dataOut.NDP,dataOut.DPL), dtype=float) + # Real part of ACF + dataOut.rhor = numpy.zeros((dataOut.NDP, dataOut.DPL), dtype=float) + # Imaginary part of ACF + dataOut.rhoi = numpy.zeros((dataOut.NDP, dataOut.DPL), dtype=float) + # Standard deviation of power + dataOut.sdp = numpy.zeros((dataOut.NDP, dataOut.DPL), dtype=float) + # Standard deviation of ACF + dataOut.sd = numpy.zeros((dataOut.NDP, dataOut.DPL), dtype=float) + # Stores the power with noise level removed dataOut.p=numpy.zeros((dataOut.NDP,dataOut.DPL), dtype=float) + # Stores lags for which ACFs are calculated dataOut.alag=numpy.zeros(dataOut.NDP,'float32') for l in range(dataOut.DPL): dataOut.alag[l]=l*dataOut.DH*2.0/150.0 self.aux=0 + # dataOut.pan.- Power noise level of channel A - definned in SpectraDataToFaraday + # Signal noise sn4=dataOut.pan*dataOut.pbn rhorn=0 rhoin=0 @@ -3304,10 +2085,12 @@ class DoublePulseACFs_PerLag(Operation): id = numpy.where(dataOut.heightList>700)[0] - for i in range(dataOut.NDP): - for j in range(dataOut.DPL): + for i in range(dataOut.NDP): #Heights + for j in range(dataOut.DPL): # Lags ################# Total power + # Power channel A pa=numpy.abs(dataOut.kabxys_integrated[4][i,j,0]+dataOut.kabxys_integrated[5][i,j,0]) + # Power channel B pb=numpy.abs(dataOut.kabxys_integrated[6][i,j,0]+dataOut.kabxys_integrated[7][i,j,0]) st4=pa*pb ''' @@ -3323,7 +2106,7 @@ class DoublePulseACFs_PerLag(Operation): rhoip=dataOut.kabxys_integrated[10][i,j,0]-dataOut.kabxys_integrated[9][i,j,0] if ((pa>dataOut.pan[j])&(pb>dataOut.pbn[j])): - + # panrm is RMS of power, used to normalize ACFs ss4=numpy.abs((pa-dataOut.pan[j])*(pb-dataOut.pbn[j])) panrm[i,j]=math.sqrt(ss4) rnorm=1/panrm[i,j] @@ -3381,6 +2164,9 @@ class DoublePulseACFs_PerLag(Operation): if i == 4: exit(1) ''' + + #print("dataOut.p",datetime.datetime.utcfromtimestamp(dataOut.utctime), dataOut.p) + #print(numpy.sum(dataOut.kabxys_integrated[8][:,:,0]+dataOut.kabxys_integrated[11][:,:,0])) #print(numpy.sum(dataOut.kabxys_integrated[10][:,:,0]-dataOut.kabxys_integrated[9][:,:,0])) #print(numpy.sum(dataOut.rhor)) @@ -3559,7 +2345,7 @@ class ElectronDensityFaraday(Operation): theta[i]=math.cos(dataOut.phi[i])+math.sin(dataOut.phi[i])*1j thetai[i]=-math.sin(dataOut.phi[i])+math.cos(dataOut.phi[i])*1j ''' #Old Method - + # differentiate and convert to number density ndphi=dataOut.NSHTS-4 #print(dataOut.phi) @@ -3580,6 +2366,7 @@ class ElectronDensityFaraday(Operation): #print(dataOut.phi) #print(dataOut.ph2) #exit(1) + ''' #if dataOut.flagDecodeData: if 1: @@ -3612,292 +2399,20 @@ class ElectronDensityFaraday(Operation): if dataOut.flagDecodeData: #exit(1) import matplotlib.pyplot as plt - plt.plot(abs(dataOut.dphi),dataOut.heightList) - plt.grid() - #plt.xlim(0,1e7) - plt.show() - - ''' - #print("dH: ", dataOut.heightList[1]-dataOut.heightList[0]) - return dataOut - - -class NormalizeDPPower(Operation): - ''' - Written by R. Flores - ''' - """Operation to normalize relative electron density from power with total electron density from Faraday angle. - - Parameters: - ----------- - None - - Example - -------- - - op = proc_unit.addOperation(name='NormalizeDPPower', optype='other') - - """ - - def __init__(self, **kwargs): - - Operation.__init__(self, **kwargs) - self.aux=1 - - def normal(self,a,b,n,m): - chmin=1.0e30 - chisq=numpy.zeros(150,'float32') - temp=numpy.zeros(150,'float32') - - for i in range(2*m-1): - an=al=be=chisq[i]=0.0 - for j in range(int(n/m)): - k=int(j+i*n/(2*m)) - if(a[k]>0.0 and b[k]>0.0): - al+=a[k]*b[k] - be+=b[k]*b[k] - - if(be>0.0): - temp[i]=al/be - else: - temp[i]=1.0 - - for j in range(int(n/m)): - k=int(j+i*n/(2*m)) - if(a[k]>0.0 and b[k]>0.0): - chisq[i]+=(numpy.log10(b[k]*temp[i]/a[k]))**2 - an=an+1 - - if(chisq[i]>0.0): - chisq[i]/=an - - for i in range(int(2*m-1)): - if(chisq[i]1.0e-6): - chmin=chisq[i] - cf=temp[i] - return cf - - def normalize(self,dataOut): - - if self.aux==1: - dataOut.cf=numpy.zeros(1,'float32') - dataOut.cflast=numpy.zeros(1,'float32') - self.aux=0 - - night_first=300.0 - night_first1= 310.0 - night_end= 450.0 - day_first=250.0 - day_end=400.0 - day_first_sunrise=190.0 - day_end_sunrise=280.0 - - #print(dataOut.ut_Faraday) - if(dataOut.ut_Faraday>4.0 and dataOut.ut_Faraday<11.0): #early - #print("EARLY") - i2=(night_end-dataOut.range1[0])/dataOut.DH - i1=(night_first -dataOut.range1[0])/dataOut.DH - elif (dataOut.ut_Faraday>0.0 and dataOut.ut_Faraday<4.0): #night - #print("NIGHT") - i2=(night_end-dataOut.range1[0])/dataOut.DH - i1=(night_first1 -dataOut.range1[0])/dataOut.DH - elif (dataOut.ut_Faraday>=11.0 and dataOut.ut_Faraday<13.5): #sunrise - #print("SUNRISE") - i2=( day_end_sunrise-dataOut.range1[0])/dataOut.DH - i1=(day_first_sunrise - dataOut.range1[0])/dataOut.DH - else: - #print("ELSE") - i2=(day_end-dataOut.range1[0])/dataOut.DH - i1=(day_first -dataOut.range1[0])/dataOut.DH - #print(i1*dataOut.DH) - #print(i2*dataOut.DH) - - i1=int(i1) - i2=int(i2) - - try: - dataOut.cf=self.normal(dataOut.dphi[i1::], dataOut.ph2[i1::], i2-i1, 1) - except: - pass - - #print(dataOut.ph2) - #input() - # in case of spread F, normalize much higher - if(dataOut.cf0.0 and b[k]>0.0): - al+=a[k]*b[k] - be+=b[k]*b[k] - - if(be>0.0): - temp[i]=al/be - else: - temp[i]=1.0 - - for j in range(int(n/m)): - k=int(j+i*n/(2*m)) - if(a[k]>0.0 and b[k]>0.0): - chisq[i]+=(numpy.log10(b[k]*temp[i]/a[k]))**2 - an=an+1 - - if(chisq[i]>0.0): - chisq[i]/=an - - for i in range(int(2*m-1)): - if(chisq[i]1.0e-6): - chmin=chisq[i] - cf=temp[i] - return cf - - def normalize(self,dataOut): - - if self.aux==1: - dataOut.cf=numpy.zeros(1,'float32') - dataOut.cflast=numpy.zeros(1,'float32') - self.aux=0 - - night_first=300.0 - night_first1= 310.0 - night_end= 450.0 - day_first=250.0 - day_end=400.0 - day_first_sunrise=190.0 - day_end_sunrise=350.0 - - print(dataOut.ut_Faraday) - ''' - if(dataOut.ut_Faraday>4.0 and dataOut.ut_Faraday<11.0): #early - print("EARLY") - i2=(night_end-dataOut.range1[0])/dataOut.DH - i1=(night_first -dataOut.range1[0])/dataOut.DH - elif (dataOut.ut_Faraday>0.0 and dataOut.ut_Faraday<4.0): #night - print("NIGHT") - i2=(night_end-dataOut.range1[0])/dataOut.DH - i1=(night_first1 -dataOut.range1[0])/dataOut.DH - elif (dataOut.ut_Faraday>=11.0 and dataOut.ut_Faraday<13.5): #sunrise - print("SUNRISE") - i2=( day_end_sunrise-dataOut.range1[0])/dataOut.DH - i1=(day_first_sunrise - dataOut.range1[0])/dataOut.DH - else: - print("ELSE") - i2=(day_end-dataOut.range1[0])/dataOut.DH - i1=(day_first -dataOut.range1[0])/dataOut.DH - ''' - i2=(420-dataOut.range1[0])/dataOut.DH - i1=(200 -dataOut.range1[0])/dataOut.DH - print(i1*dataOut.DH) - print(i2*dataOut.DH) - - i1=int(i1) - i2=int(i2) - - try: - dataOut.cf=self.normal(dataOut.dphi[i1::], dataOut.ph2[i1::], i2-i1, 1) - except: - pass - - #print(dataOut.ph2) - #input() - # in case of spread F, normalize much higher - if(dataOut.cf2.0 and dataOut.ut_Faraday<7.0): - #print("EARLY") - i2=(night_end-dataOut.range1[0])/dataOut.DH - i1=(night_first-dataOut.range1[0])/dataOut.DH - elif (dataOut.ut_Faraday>=23.0 or dataOut.ut_Faraday<=2.0): - #print("NIGHT") - i2=(night_end-dataOut.range1[0])/dataOut.DH - i1=(night_first1-dataOut.range1[0])/dataOut.DH - elif (dataOut.ut_Faraday>=7.0 and dataOut.ut_Faraday<11.5): - #print("SUNRISE") - i2=(day_end_sunrise-dataOut.range1[0])/dataOut.DH - i1=(day_first_sunrise-dataOut.range1[0])/dataOut.DH - else: - #print("ELSE") - i2=(day_end-dataOut.range1[0])/dataOut.DH - i1=(day_first-dataOut.range1[0])/dataOut.DH - #''' + if (dataOut.ut_Faraday>=11.5 and dataOut.ut_Faraday<23): + i2=(500.-dataOut.range1[0])/dataOut.DH + i1=(200.-dataOut.range1[0])/dataOut.DH - try: - dataOut.heightList[i2] - except: - i2 -= 1 + elif(dataOut.ut_Faraday>=5 and dataOut.ut_Faraday<11.5): + inda = numpy.where(dataOut.heightList >= 260) #200 km + minIndex = inda[0][0] + indb = numpy.where(dataOut.heightList < 350) # 700 km + maxIndex = indb[0][-1] + print(minIndex) + print(dataOut.heightList) - ''' - if not dataOut.flagSpreadF: - i2=(420-dataOut.range1[0])/dataOut.DH - else: - i2=(620-dataOut.range1[0])/dataOut.DH + ph2max_idx = numpy.nanargmax(dataOut.ph2[minIndex:maxIndex]) + #print("dataOut.ph2[minIndex:maxIndex]: ", dataOut.ph2[minIndex:maxIndex]) + #print("dataOut.ph2: ", dataOut.ph2) + print("minIndex", minIndex, "maxIndex", maxIndex) + print(ph2max_idx) ''' - #i1=(200 -dataOut.range1[0])/dataOut.DH - ##print(i1*dataOut.DH) - ##print(i2*dataOut.DH) - - i1=int(i1) - i2=int(i2) - ''' - print(dataOut.ph2) - import matplotlib.pyplot as plt - plt.plot(dataOut.ph2,dataOut.heightList) - plt.xlim(1.e5,1.e8) - plt.show() - ''' - #print("Flag: ",dataOut.flagTeTiCorrection) - #print(dataOut.dphi[i1::]) - #print(dataOut.ph2[:]) - - if dataOut.flagTeTiCorrection: - for i in range(dataOut.NSHTS): - dataOut.ph2[i]/=dataOut.cf - dataOut.sdp2[i]/=dataOut.cf - - #''' - #if dataOut.flagSpreadF: - if hasattr(dataOut, 'flagSpreadF') and dataOut.flagSpreadF: - i2=int((620-dataOut.range1[0])/dataOut.DH) - #print(dataOut.ph2) - #print(dataOut.heightList) - nanindex = numpy.argwhere(numpy.isnan(dataOut.ph2)) - #print("nanindex",nanindex) - i1 = nanindex[-1][0] #VER CUANDO i1>i2 - i1 += 1+2 #Se suma uno para no tomar el nan, se suma 2 para no tomar datos nan de "phi" debido al calculo de la derivada - #print("i1, i2",i1,i2) - #print(dataOut.heightList) - #print("Bounds: ", dataOut.heightList[i1],dataOut.heightList[i2]) - #print(dataOut.dphi[33]) - #print(dataOut.ph2[33]) - #print(dataOut.dphi[i1::]) - #print(dataOut.ph2[i1::]) - #''' - try: - if hasattr(dataOut, 'flagSpreadF') and dataOut.flagSpreadF and i1 > 30: - dataOut.cf = numpy.nan - else: - dataOut.cf=self.normal(dataOut.dphi[i1::], dataOut.ph2[i1::], i2-i1, 1) - - except: - dataOut.cf = numpy.nan - - #print("cf: ",dataOut.cf) - #print(dataOut.ph2) - #input() - # in case of spread F, normalize much higher - #print("dens: ", dataOut.dphi,dataOut.ph2) - if(dataOut.cf= 10) or (time_text.hour == 8 and time_text.minute >= 10) or (time_text.hour == 9 and time_text.minute <= 20) or (time_text.hour == 9 and time_text.minute >= 40) or (time_text.hour == 11 and time_text.minute == 40) or (time_text.hour == 23 and time_text.minute == 50) or (time_text.hour == 2 and time_text.minute == 30): #Year: 2023, DOY:266 - #if (time_text.hour == 7 and time_text.minute >= 10) or (time_text.hour == 8 and time_text.minute <= 20) or (time_text.hour == 8 and time_text.minute >= 40) or (time_text.hour == 9) or (time_text.hour == 10) or (time_text.hour == 6 and time_text.minute == 0) or (time_text.hour == 23) or (time_text.hour == 0 and time_text.minute <= 10): #Year: 2023, DOY:267 - #if (time_text.hour == 7) or (time_text.hour == 8) or (time_text.hour == 9) or (time_text.hour == 10 and time_text.minute <= 30) or (time_text.hour == 23 and time_text.minute == 30) or (time_text.hour == 23 and time_text.minute == 40) or (time_text.hour == 0 and time_text.minute == 0): #Year: 2023, DOY:268 - if (time_text.hour == 0 and time_text.minute == 4) or (time_text.hour == 0 and time_text.minute == 25) or (time_text.hour == 0 and time_text.minute == 57) or (time_text.hour == 1 and time_text.minute == 51) or (time_text.hour == 7 and time_text.minute == 29): #Year: 2022, DOY:244 - dataOut.cf = dataOut.cflast[0] - #if (time_text.hour == 2 and time_text.minute == 50): #Year: 2023, DOY:265 - #dataOut.cf = 0.00145 - #if (time_text.hour == 10 and time_text.minute == 20) or (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 10 and time_text.minute == 40): #Year: 2023, DOY:269 - #dataOut.cf = 0.0018814794 - #if (time_text.hour == 11 and time_text.minute == 0): #Year: 2023, DOY:269 - #dataOut.cf = 0.0016059145 - - #if (time_text.hour == 3 and time_text.minute == 40): #Year: 2023, DOY:249 - #dataOut.cf = 0.0061 - #if (time_text.hour == 4 and time_text.minute == 10): #Year: 2023, DOY:249 - #dataOut.cf = 0.0065 - - #if (time_text.hour == 1 and time_text.minute == 38): #Year: 2023, DOY:191 - #dataOut.cf = 0.00033544924 - #if (time_text.hour == 23 and time_text.minute == 56): #Year: 2023, DOY:191 - #dataOut.cf = 0.000311806775 - #if (time_text.hour == 0 and time_text.minute == 2): #Year: 2023, DOY:191 - #dataOut.cf = 0.0003127 - #if (time_text.hour == 0 and time_text.minute == 44): #Year: 2023, DOY:191 - #dataOut.cf = 0.00031403964500000003 - - #if (time_text.hour == 0 and time_text.minute == 22) or (time_text.hour == 0 and time_text.minute == 33): #Year: 2023, DOY:031 - #if (time_text.hour == 7 and time_text.minute == 29): #Year: 2023, DOY:032 - #dataOut.cf = dataOut.cflast[0] - #''' - #dataOut.cf = 0.000057#0.0008136899 - #if time_text.hour >= 5 and time_text.hour < 11: - #dataOut.cf = 0.001355828593659634 - - #dataOut.cf = 1 #Without Normalization - - dataOut.cflast[0]=dataOut.cf - #print("cf: ", dataOut.cf) - - #print(dataOut.ph2) - #print(dataOut.sdp2) - - ## normalize double pulse power and error bars to Faraday - for i in range(dataOut.NSHTS): - dataOut.ph2[i]*=dataOut.cf - dataOut.sdp2[i]*=dataOut.cf - #print(dataOut.ph2) - #print(dataOut.sdp2) - #exit(1) - - for i in range(dataOut.NSHTS): - dataOut.ph2[i]=(max(1.0, dataOut.ph2[i])) - dataOut.dphi[i]=(max(1.0, dataOut.dphi[i])) - - def normalize(self,dataOut): - - if self.aux==1: - dataOut.cf=numpy.zeros(1,'float32') - dataOut.cflast=numpy.zeros(1,'float32') - self.aux=0 + #if dataOut.flagTeTiCorrection: + if 1: + import matplotlib.pyplot as plt + plt.figure() + plt.plot(dataOut.ph2[minIndex:maxIndex],dataOut.heightList[minIndex:maxIndex],'*-') + plt.show() + ''' + ph2max_idx += minIndex - if (dataOut.ut_Faraday>=11.5 and dataOut.ut_Faraday<23): - i2=(500.-dataOut.range1[0])/dataOut.DH - i1=(200.-dataOut.range1[0])/dataOut.DH + i2 = maxIndex #ph2max_idx + 6 + i1 = minIndex #ph2max_idx - 6 + print("ELSE^^^^^^^^^^^^^^^^^^^^^") + print(dataOut.heightList[i1]) + print(dataOut.heightList[i2]) else: - inda = numpy.where(dataOut.heightList >= 200) #200 km + inda = numpy.where(dataOut.heightList >= 200) #200 km minIndex = inda[0][0] indb = numpy.where(dataOut.heightList < 700) # 700 km maxIndex = indb[0][-1] @@ -4182,8 +2524,10 @@ class NormalizeDPPowerRoberto_V2(Operation): print(dataOut.heightList) ph2max_idx = numpy.nanargmax(dataOut.ph2[minIndex:maxIndex]) - print("dataOut.ph2[minIndex:maxIndex]: ", dataOut.ph2[minIndex:maxIndex]) - print(ph2max_idx) + #print("dataOut.ph2[minIndex:maxIndex]: ", dataOut.ph2[minIndex:maxIndex]) + #print("dataOut.ph2: ", dataOut.ph2) + #print("minIndex", minIndex, "maxIndex", maxIndex) + #print(ph2max_idx) ''' #if dataOut.flagTeTiCorrection: if 1: @@ -4196,9 +2540,35 @@ class NormalizeDPPowerRoberto_V2(Operation): i2 = ph2max_idx + 6 i1 = ph2max_idx - 6 + + print("ELSE^^^^^^^^^^^^^^^^^^^^^") + print(dataOut.heightList[i1]) + print(dataOut.heightList[i2]) + ''' + elif(dataOut.ut_Faraday>=1.66 and dataOut.ut_Faraday<3.16): # 20 40 - 22 10 (1 40 - 3 10) + inda = numpy.where(dataOut.heightList >= 435) #200 km + minIndex = inda[0][0] + indb = numpy.where(dataOut.heightList < 480) # 700 km + maxIndex = indb[0][-1] + print(minIndex) + print(dataOut.heightList) + + ph2max_idx = numpy.nanargmax(dataOut.ph2[minIndex:maxIndex]) + #print("dataOut.ph2[minIndex:maxIndex]: ", dataOut.ph2[minIndex:maxIndex]) + #print("dataOut.ph2: ", dataOut.ph2) + print("minIndex", minIndex, "maxIndex", maxIndex) + print(ph2max_idx) + + ph2max_idx += minIndex + + i2 = maxIndex #ph2max_idx + 6 + i1 = minIndex #ph2max_idx - 6 + print("ELSE^^^^^^^^^^^^^^^^^^^^^") print(dataOut.heightList[i1]) print(dataOut.heightList[i2]) + ''' + try: dataOut.heightList[i2] @@ -4237,6 +2607,7 @@ class NormalizeDPPowerRoberto_V2(Operation): #''' #if dataOut.flagSpreadF: if hasattr(dataOut, 'flagSpreadF') and dataOut.flagSpreadF: + print("flagSpreadF activated!!") i2=int((700-dataOut.range1[0])/dataOut.DH) #print(dataOut.ph2) #print(dataOut.heightList) @@ -4287,161 +2658,47 @@ class NormalizeDPPowerRoberto_V2(Operation): #print(dataOut.cf,dataOut.cflast[0]) time_text = datetime.datetime.utcfromtimestamp(dataOut.utctime) + + print("Bounds 3: ", dataOut.heightList[i1], dataOut.heightList[i2]) + print('time text', time_text) + + + ### Manual cf correction ### + flagcfcorrection = True + DOY = time_text.timetuple().tm_yday + print('time text', time_text, DOY) + if flagcfcorrection: + print("***Cleaning*** cflast: ", dataOut.cflast[0]) + print("***Cleaning*** cf: ", dataOut.cf) + path = os.path.join(os.path.dirname(__file__), 'normalize_factor2.json') + with open(path) as f: + jsondata= json.load(f) + + corrections = {} + for condition in jsondata['conditions']: + year = condition['year'] + doy = condition['doy'] + cf = condition['cf'] + + for time_condition in condition['time']: + hour = time_condition[0] + minute = time_condition[1] + corrections[(year, doy, hour, minute)] = cf + key = (time_text.year, DOY, time_text.hour, time_text.minute) + + if key in corrections: + cf_value = corrections[key] + + if isinstance(cf_value, str) and "cflast" in cf_value: + dataOut.cf = eval(cf_value) #ast.literal_eval(cf_value) + else: + dataOut.cf = float(cf_value) + + print(f"Correction applied: {dataOut.cf}") + print("***Cleaning*** cf After: ", dataOut.cf) + + - print("Bounds 3: ", dataOut.heightList[i1],dataOut.heightList[i2]) - ''' - print("***Cleaning*** cflast: ", dataOut.cflast[0]) - print("***Cleaning*** cf: ", dataOut.cf) - #if (time_text.hour == 5 and time_text.minute == 32): #Year: 2022, DOY:104 - #if (time_text.hour == 0 and time_text.minute == 12): #Year: 2022, DOY:93 - #if (time_text.hour == 0 and time_text.minute == 22) or (time_text.hour == 0 and time_text.minute == 54) or (time_text.hour == 1 and time_text.minute == 48): #Year: 2022, DOY:242 - #if (time_text.hour == 1 and time_text.minute == 23) or (time_text.hour == 1 and time_text.minute == 44): #Year: 2022, DOY:243 - #dataOut.cf = dataOut.cflast[0] - #if (time_text.hour == 7 and time_text.minute == 18) or (time_text.hour == 7 and time_text.minute == 40) or (time_text.hour == 7 and time_text.minute == 50): #Year: 2023, DOY:028 - #dataOut.cf = 0.029844088 - #if (time_text.hour == 0 and time_text.minute == 12) or (time_text.hour == 0 and time_text.minute == 22): #Year: 2023, DOY:028 - #if (time_text.hour == 7 and time_text.minute == 8) or (time_text.hour == 7 and time_text.minute == 40) or (time_text.hour == 7 and time_text.minute == 50) or (time_text.hour == 8 and time_text.minute == 1) or (time_text.hour == 9 and time_text.minute == 48) or (time_text.hour == 9 and time_text.minute == 58): #Year: 2023, DOY:029 - #dataOut.cf = dataOut.cflast[0] - #if (time_text.hour == 7 and time_text.minute == 29): #Year: 2023, DOY:029 - #dataOut.cf = 0.025670702 - #if (time_text.hour == 8 and time_text.minute == 12): #Year: 2023, DOY:029 - #dataOut.cf = 0.036969288 - #if (time_text.hour == 8 and time_text.minute == 22): #Year: 2023, DOY:029 - #dataOut.cf = 0.0418645 - #if (time_text.hour == 5 and time_text.minute == 10) or (time_text.hour == 5 and time_text.minute == 42) or (time_text.hour == 0 and time_text.minute == 22) or (time_text.hour == 0 and time_text.minute == 33): #Year: 2023, DOY:030 - #if (time_text.hour == 5 and time_text.minute == 10): #Year: 2023, DOY:172 - #if (time_text.hour == 5 and time_text.minute == 21) or (time_text.hour == 8 and time_text.minute == 44) or (time_text.hour == 9 and time_text.minute == 5) or (time_text.hour == 8 and time_text.minute == 54) or (time_text.hour == 8 and time_text.minute == 33) or (time_text.hour == 8 and time_text.minute == 22) or (time_text.hour == 8 and time_text.minute == 1) or (time_text.hour == 7 and time_text.minute == 50) or (time_text.hour == 7 and time_text.minute == 40) or (time_text.hour == 7 and time_text.minute == 8) or (time_text.hour == 6 and time_text.minute == 4) or (time_text.hour == 5 and time_text.minute == 53) or (time_text.hour == 10 and time_text.minute == 9) or (time_text.hour == 6 and time_text.minute == 36) or (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 9 and time_text.minute == 26) or (time_text.hour == 9 and time_text.minute == 37) or (time_text.hour == 9 and time_text.minute == 48): #Year: 2023, DOY:175 - #if (time_text.hour == 1 and time_text.minute == 43) or (time_text.hour == 1 and time_text.minute == 48) or (time_text.hour == 1 and time_text.minute == 54): #Year: 2023, DOY:191 - #if (time_text.hour == 23 and time_text.minute == 50): #Year: 2023, DOY:247 - #dataOut.cf = 0.0068 - #if (time_text.hour == 0 and time_text.minute == 40): #Year: 2023, DOY:247 - #if (time_text.hour == 23 and time_text.minute == 50) or (time_text.hour == 0 and time_text.minute == 0) or (time_text.hour == 7 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 40) or (time_text.hour == 8 and time_text.minute == 50) or (time_text.hour == 9 and time_text.minute == 10) or (time_text.hour == 9 and time_text.minute == 20) or (time_text.hour == 9 and time_text.minute == 50): #Year: 2023, DOY:248 - #if (time_text.hour == 7 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 20): #Year: 2023, DOY:250 - #if (time_text.hour == 7 and time_text.minute == 0) or (time_text.hour == 7 and time_text.minute == 20) or (time_text.hour == 7 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 40) or (time_text.hour == 8 and time_text.minute == 50) or (time_text.hour == 9 and time_text.minute == 0) or (time_text.hour == 9 and time_text.minute == 10) or (time_text.hour == 9 and time_text.minute == 30) or (time_text.hour == 10 and time_text.minute == 0) or (time_text.hour == 10 and time_text.minute == 10): #Year: 2023, DOY:269 - #if (time_text.hour == 9 and time_text.minute == 40) or (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 12 and time_text.minute == 10) or (time_text.hour == 23 and time_text.minute == 40): #Year: 2023, DOY:265 - #if (time_text.hour == 6 and time_text.minute == 10) or (time_text.hour == 6 and time_text.minute == 50) or (time_text.hour == 7 and time_text.minute >= 10) or (time_text.hour == 8 and time_text.minute >= 10) or (time_text.hour == 9 and time_text.minute <= 20) or (time_text.hour == 9 and time_text.minute >= 40) or (time_text.hour == 11 and time_text.minute == 40) or (time_text.hour == 23 and time_text.minute == 50) or (time_text.hour == 2 and time_text.minute == 30): #Year: 2023, DOY:266 - #if (time_text.hour == 7 and time_text.minute >= 10) or (time_text.hour == 8 and time_text.minute <= 20) or (time_text.hour == 8 and time_text.minute >= 40) or (time_text.hour == 9) or (time_text.hour == 10) or (time_text.hour == 6 and time_text.minute == 0) or (time_text.hour == 23) or (time_text.hour == 0 and time_text.minute <= 10): #Year: 2023, DOY:267 - #if (time_text.hour == 7) or (time_text.hour == 8) or (time_text.hour == 9) or (time_text.hour == 10 and time_text.minute <= 30) or (time_text.hour == 23 and time_text.minute == 30) or (time_text.hour == 23 and time_text.minute == 40) or (time_text.hour == 0 and time_text.minute == 0): #Year: 2023, DOY:268 - #if (time_text.hour == 2 and time_text.minute == 50): #Year: 2023, DOY:265 - #dataOut.cf = 0.00145 - #if (time_text.hour == 10 and time_text.minute == 20) or (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 10 and time_text.minute == 40): #Year: 2023, DOY:269 - #dataOut.cf = 0.0018814794 - #if (time_text.hour == 11 and time_text.minute == 0): #Year: 2023, DOY:269 - #dataOut.cf = 0.0016059145 - - #if (time_text.hour == 3 and time_text.minute == 40): #Year: 2023, DOY:249 - #dataOut.cf = 0.0061 - #if (time_text.hour == 4 and time_text.minute == 10): #Year: 2023, DOY:249 - #dataOut.cf = 0.0065 - - #if (time_text.hour == 1 and time_text.minute == 38): #Year: 2023, DOY:191 - #dataOut.cf = 0.00033544924 - #if (time_text.hour == 23 and time_text.minute == 56): #Year: 2023, DOY:191 - #dataOut.cf = 0.000311806775 - #if (time_text.hour == 0 and time_text.minute == 2): #Year: 2023, DOY:191 - #dataOut.cf = 0.0003127 - #if (time_text.hour == 0 and time_text.minute == 44): #Year: 2023, DOY:191 - #dataOut.cf = 0.00031403964500000003 - - #if (time_text.hour == 0 and time_text.minute == 22) or (time_text.hour == 0 and time_text.minute == 33): #Year: 2023, DOY:031 - #if (time_text.hour == 7 and time_text.minute == 29): #Year: 2023, DOY:032 - #if (time_text.hour == 6 and time_text.minute == 0): #Year: 2023, DOY:050 - #dataOut.cf = 0.008 - #if (time_text.hour == 7 and time_text.minute == 20): #Year: 2023, DOY:050 - #dataOut.cf = 0.0077 - #if (time_text.hour == 11 and time_text.minute == 10): #Year: 2023, DOY:050 - #dataOut.cf = 0.014 - #if (time_text.hour == 11 and time_text.minute == 20): #Year: 2023, DOY:050 - #dataOut.cf = 0.010 - #if (time_text.hour == 10 and time_text.minute == 30): #Year: 2023, DOY:050 - #dataOut.cf = 0.012 - #if (time_text.hour == 10 and time_text.minute == 40): #Year: 2023, DOY:050 - #dataOut.cf = 0.014 - #if (time_text.hour == 5 and time_text.minute == 10): #Year: 2023, DOY:050 - #dataOut.cf = 0.01 - #if (time_text.hour == 7 and time_text.minute == 10) or (time_text.hour == 8 and time_text.minute == 0) or (time_text.hour == 8 and time_text.minute == 10) or (time_text.hour == 8 and time_text.minute == 50) or (time_text.hour == 9 and time_text.minute == 10) or (time_text.hour == 9 and time_text.minute >= 40) or (time_text.hour == 10 and time_text.minute <= 20): #Year: 2024, DOY:050 - #dataOut.cf = dataOut.cflast[0] - #if (time_text.hour == 3 and time_text.minute == 35): #Year: 2024, DOY:046 - #dataOut.cf = 0.007 - #if (time_text.hour == 4 and time_text.minute == 25) or (time_text.hour == 3 and time_text.minute == 55): #Year: 2024, DOY:046 - #dataOut.cf = 0.0045 - #if (time_text.hour == 4 and time_text.minute == 45): #Year: 2024, DOY:046 - #dataOut.cf = 0.007 - #if (time_text.hour == 11 and time_text.minute == 10): #Year: 2024, DOY:047 - #dataOut.cf = 0.015 - #if (time_text.hour == 3 and time_text.minute == 50): #Year: 2024, DOY:047 - #dataOut.cf = 0.005 - #if (time_text.hour == 7 and time_text.minute >= 20) or (time_text.hour == 9 and time_text.minute >= 10) or (time_text.hour == 10 and time_text.minute >= 10) or (time_text.hour == 11 and time_text.minute == 0) or (time_text.hour == 1 and time_text.minute == 10) or (time_text.hour == 4 and time_text.minute == 0) or (time_text.hour == 4 and time_text.minute == 20): #Year: 2024, DOY:047 - #if (time_text.hour == 5 and time_text.minute == 30): #Year: 2024, DOY:049 - #dataOut.cf = 0.004 - #if (time_text.hour == 7 and time_text.minute == 20): #Year: 2024, DOY:049 - #dataOut.cf = 0.006 - #if (time_text.hour == 7 and time_text.minute == 30): #Year: 2024, DOY:049 - #dataOut.cf = 0.009 - #if (time_text.hour == 7 and time_text.minute == 40): #Year: 2024, DOY:049 - #dataOut.cf = 0.010 - #if (time_text.hour == 9 and time_text.minute == 10): #Year: 2024, DOY:049 - #dataOut.cf = 0.007 - #if (time_text.hour == 9 and time_text.minute == 20): #Year: 2024, DOY:049 - #dataOut.cf = 0.009 - #if (time_text.hour == 9 and time_text.minute >= 40): #Year: 2024, DOY:049 - #dataOut.cf = 0.012 - #if (time_text.hour == 3 and time_text.minute == 0) or (time_text.hour == 3 and time_text.minute == 50): #Year: 2024, DOY:049 - #dataOut.cf = 0.0054 - #if (time_text.hour == 6 and time_text.minute == 10): #Year: 2024, DOY:048 - #dataOut.cf = 0.007 - #if (time_text.hour == 6 and time_text.minute == 20): #Year: 2024, DOY:048 - #dataOut.cf = 0.009 - #if (time_text.hour == 9 and time_text.minute == 40): #Year: 2024, DOY:048 - #dataOut.cf = 0.015 - #if (time_text.hour == 6 and time_text.minute == 0) or (time_text.hour == 8 and time_text.minute == 50) or (time_text.hour == 9 and time_text.minute == 0) or (time_text.hour == 9 and time_text.minute == 30) or (time_text.hour == 10) or (time_text.hour == 11 and time_text.minute == 0) or (time_text.hour == 13 and time_text.minute == 50) or (time_text.hour == 14 and time_text.minute == 0) or (time_text.hour == 16 and time_text.minute == 0) or (time_text.hour == 16 and time_text.minute == 20) or (time_text.hour == 16 and time_text.minute == 50) or (time_text.hour == 17 and time_text.minute == 10) or (time_text.hour == 17 and time_text.minute == 50) or (time_text.hour == 19 and time_text.minute == 0) or (time_text.hour == 19 and time_text.minute == 20): #Year: 2024, DOY:049 - #if (time_text.hour == 7 and time_text.minute == 50) or (time_text.hour == 8 and time_text.minute == 10) or (time_text.hour == 8 and time_text.minute == 20) or (time_text.hour == 8 and time_text.minute == 50) or (time_text.hour == 9 and time_text.minute <= 30) or (time_text.hour == 9 and time_text.minute == 50) or (time_text.hour == 10) or (time_text.hour == 11 and time_text.minute == 0): #Year: 2024, DOY:048 - #if (time_text.hour == 18 and time_text.minute == 15) or (time_text.hour == 17 and time_text.minute == 55) or (time_text.hour == 17 and time_text.minute == 35) or (time_text.hour == 17 and time_text.minute == 25) or (time_text.hour == 17 and time_text.minute == 5) or (time_text.hour == 16 and time_text.minute == 25) or (time_text.hour == 16 and time_text.minute == 45) or (time_text.hour == 3 and time_text.minute == 5) or (time_text.hour == 3 and time_text.minute == 25) or (time_text.hour == 14 and time_text.minute == 15) or (time_text.hour == 15 and time_text.minute == 45) or (time_text.hour == 16 and time_text.minute == 25) or (time_text.hour == 18 and time_text.minute == 5): #Year: 2024, DOY:046 - #if (time_text.hour == 6 and time_text.minute == 20) or (time_text.hour == 6 and time_text.minute == 30): #Year: 2024, DOY:083 - #dataOut.cf = 0.07 - #if (time_text.hour == 5 and time_text.minute == 40): #Year: 2024, DOY:083 - #dataOut.cf = 0.05 - #if (time_text.hour == 5 and time_text.minute == 10): #Year: 2024, DOY:083 - #dataOut.cf = 0.039 - #if (time_text.hour == 7 and time_text.minute == 40): #Year: 2024, DOY:083 - #dataOut.cf = 0.08 - #if (time_text.hour == 8 and time_text.minute == 10) or (time_text.hour == 8 and time_text.minute == 20) or (time_text.hour == 8 and time_text.minute == 50): #Year: 2024, DOY:083 - #dataOut.cf = 0.075 - #if (time_text.hour == 10 and time_text.minute == 50): #Year: 2024, DOY:082 - #dataOut.cf = 0.095 - #if (time_text.hour == 11 and time_text.minute == 0): #Year: 2024, DOY:081 - #dataOut.cf = 0.10 - #if (time_text.hour == 9 and time_text.minute == 10): #Year: 2024, DOY:081 - #dataOut.cf = 0.08 - #if (time_text.hour == 10 and time_text.minute == 40) or (time_text.hour == 11 and time_text.minute == 0): #Year: 2024, DOY:082 - #if (time_text.hour == 9 and time_text.minute == 0) or (time_text.hour == 9 and time_text.minute == 20) or (time_text.hour == 9 and time_text.minute == 30) or (time_text.hour == 10 and time_text.minute == 50): #Year: 2024, DOY:081 - #if (time_text.hour == 3 and time_text.minute == 10): #Year: 2024, DOY:080 - #dataOut.cf = 0.09 - #if (time_text.hour == 10 and time_text.minute == 20) or (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 10 and time_text.minute == 40): #Year: 2024, DOY:080 - #dataOut.cf = 0.09 - #if (time_text.hour == 9 and time_text.minute == 10): #Year: 2024, DOY:080 - #if (time_text.hour == 3 and time_text.minute == 10): #Year: 2024, DOY:079 - #dataOut.cf = 0.065 - #if (time_text.hour == 3 and time_text.minute == 20): #Year: 2024, DOY:079 - #dataOut.cf = 0.05 - if (time_text.hour == 8 and time_text.minute == 40): #Year: 2024, DOY:136 - dataOut.cf = 0.006 - if (time_text.hour == 8 and time_text.minute == 45) or (time_text.hour == 8 and time_text.minute == 50): #Year: 2024, DOY:136 - dataOut.cf = 0.008 - if (time_text.hour == 3 and time_text.minute == 20) or (time_text.hour == 6 and time_text.minute == 0) or (time_text.hour == 6 and time_text.minute == 35) or (time_text.hour == 7 and time_text.minute == 0) or (time_text.hour == 7 and time_text.minute == 15) or (time_text.hour == 7 and time_text.minute == 25) or (time_text.hour == 7 and time_text.minute == 35) or (time_text.hour == 7 and time_text.minute == 40) or (time_text.hour == 7 and time_text.minute == 45) or (time_text.hour == 7 and time_text.minute == 55) or (time_text.hour == 8 and time_text.minute == 0) or (time_text.hour == 8 and time_text.minute == 5) or (time_text.hour == 8 and time_text.minute == 15) or (time_text.hour == 8 and time_text.minute == 20) or (time_text.hour == 8 and time_text.minute == 25) or (time_text.hour == 10 and time_text.minute == 55) or (time_text.hour == 10 and time_text.minute == 35) or (time_text.hour == 10 and time_text.minute == 15) or (time_text.hour == 9 and time_text.minute == 45) or (time_text.hour == 9 and time_text.minute == 50) or (time_text.hour == 9 and time_text.minute == 10) or (time_text.hour == 9 and time_text.minute == 0) or (time_text.hour == 8 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 35) or (time_text.hour == 8 and time_text.minute == 40): #Year: 2024, DOY:136 - #if (time_text.hour == 8 and time_text.minute == 20): #Year: 2024, DOY:137 - #dataOut.cf = 0.008 - #if (time_text.hour == 10 and time_text.minute == 55) or (time_text.hour == 11 and time_text.minute == 0) or (time_text.hour == 11 and time_text.minute == 5): #Year: 2024, DOY:137 - #dataOut.cf = 0.009 - #if (time_text.hour == 18 and time_text.minute == 0) or (time_text.hour == 6 and time_text.minute == 30) or (time_text.hour == 6 and time_text.minute == 45) or (time_text.hour == 6 and time_text.minute == 50) or (time_text.hour == 6 and time_text.minute == 55) or (time_text.hour == 7 and time_text.minute == 0) or (time_text.hour == 7 and time_text.minute == 5) or (time_text.hour == 7 and time_text.minute == 25) or (time_text.hour == 7 and time_text.minute == 30) or (time_text.hour == 7 and time_text.minute == 35) or (time_text.hour == 7 and time_text.minute == 40) or (time_text.hour == 8 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 35) or (time_text.hour == 8 and time_text.minute == 40) or (time_text.hour == 8 and time_text.minute == 45) or (time_text.hour == 9 and time_text.minute == 0) or (time_text.hour == 9 and time_text.minute == 5) or (time_text.hour == 9 and time_text.minute == 20) or (time_text.hour == 9 and time_text.minute == 25) or (time_text.hour == 9 and time_text.minute == 40) or (time_text.hour == 9 and time_text.minute == 45) or (time_text.hour == 9 and time_text.minute == 55) or (time_text.hour == 10 and time_text.minute == 15) or (time_text.hour == 10 and time_text.minute == 20) or (time_text.hour == 10 and time_text.minute == 35) or (time_text.hour == 10 and time_text.minute == 40) or (time_text.hour == 10 and time_text.minute == 45) or (time_text.hour == 10 and time_text.minute == 50) or (time_text.hour == 3 and time_text.minute == 5) or (time_text.hour == 3 and time_text.minute == 35): #Year: 2024, DOY:137 - #if (time_text.hour == 6 and time_text.minute == 40) or (time_text.hour == 7 and time_text.minute == 20) or (time_text.hour == 7 and time_text.minute == 30) or (time_text.hour == 7 and time_text.minute >= 40) or (time_text.hour == 8 and time_text.minute <= 10) or (time_text.hour == 8 and time_text.minute == 40) or (time_text.hour == 8 and time_text.minute >= 50) or (time_text.hour == 9 and time_text.minute == 0) or (time_text.hour == 10 and time_text.minute == 25) or (time_text.hour == 9 and time_text.minute == 20): #Year: 2024, DOY:138 - dataOut.cf = dataOut.cflast[0] - ''' - #dataOut.cf = 0.000057#0.0008136899 - #if time_text.hour >= 5 and time_text.hour < 11: - #dataOut.cf = 0.001355828593659634 - print("***Cleaning*** cf After: ", dataOut.cf) - #dataOut.cf = 1 #Without Normalization dataOut.cflast[0]=dataOut.cf #print("cf: ", dataOut.cf) @@ -4667,266 +2924,66 @@ class DPTemperaturesEstimation(Operation): #if i == 13 or i ==14 or i ==15: #print(dataOut.te2[i]) dataOut.ti2[i]=dataOut.params[2] - dataOut.ete2[i]=eb[1] - dataOut.eti2[i]=eb[2] - - if dataOut.eti2[i]==0: - dataOut.eti2[i]=dataOut.ete2[i] - - dataOut.phy2[i]=dataOut.params[3] - dataOut.ephy2[i]=eb[3] - if(iflag==1): - dataOut.ephy2[i]=0.0 - - if (dataOut.m<=3 and dataOut.m!= 0 and dataOut.te2[i]>400.0): - dataOut.info2[i]=1 - else: - dataOut.info2[i]=0 - - def gaussian(self, x, a, b, c, d): - val = a * numpy.exp(-(x - b)**2 / (2*c**2)) + d - return val - - def run(self,dataOut,IBITS=16): - - dataOut.IBITS = IBITS - self.Estimation(dataOut) - ''' - from scipy.optimize import least_squares - - ratio = dataOut.te2/dataOut.ti2 - - ratio[:11] = ratio[:11] = 1. - ratio[20:] = ratio[20:] = 1. - - #print(ratio) - #print(ratio-self.gaussian(dataOut.heightList[:dataOut.NSHTS],1,250,20,1)) - def lsq_func(params): - return (ratio-self.gaussian(dataOut.heightList[:dataOut.NSHTS],params[0],params[1],params[2],params[3])) - - - x0_value = numpy.array([1,250,20,1]) - - popt = least_squares(lsq_func,x0=x0_value,verbose=0) - - A = popt.x[0]; B = popt.x[1]; C = popt.x[2]; D = popt.x[3] - - aux = self.gaussian(dataOut.heightList[:dataOut.NSHTS], A, B, C, D) - - import matplotlib.pyplot as plt - #plt.plot(dataOut.te2,dataOut.heightList[:dataOut.NSHTS]) - #plt.plot(dataOut.ti2,dataOut.heightList[:dataOut.NSHTS]) - #plt.xlim(0,5000) - plt.plot(ratio,dataOut.heightList[:dataOut.NSHTS]) - plt.plot(aux,dataOut.heightList[:dataOut.NSHTS]) - #plt.plot(self.gaussian(dataOut.heightList[:dataOut.NSHTS],1,250,20,1),dataOut.heightList[:dataOut.NSHTS]) - - plt.show() - ''' - - return dataOut - - -class DenCorrection_bckp_Dec_2022(NormalizeDPPowerRoberto_V2): - ''' - Written by R. Flores - ''' - def __init__(self, **kwargs): - - Operation.__init__(self, **kwargs) - self.aux = 0 - - def gaussian(self, x, a, b, c): - val = a * numpy.exp(-(x - b)**2 / (2*c**2)) - return val - - def TeTiEstimation(self,dataOut): - - y=numpy.zeros(dataOut.DPL,order='F',dtype='float32') - - #y_aux = numpy.zeros(1,,dtype='float32') - for i in range(dataOut.NSHTS): - y[0]=y[1]=dataOut.range1[i] - - y = y.astype(dtype='float64',order='F') - three=int(3) - wl = 3.0 - tion=numpy.zeros(three,order='F',dtype='float32') - fion=numpy.zeros(three,order='F',dtype='float32') - nui=numpy.zeros(three,order='F',dtype='float32') - wion=numpy.zeros(three,order='F',dtype='int32') - bline=0.0 - #bline=numpy.zeros(1,order='F',dtype='float32') - my_aux = numpy.ones(dataOut.NSHTS,order='F',dtype='float32') - acf_Temps = numpy.ones(dataOut.NSHTS,order='F',dtype='float32')*numpy.nan - acf_no_Temps = numpy.ones(dataOut.NSHTS,order='F',dtype='float32')*numpy.nan - - from scipy import signal - - - teti = numpy.ones(dataOut.NSHTS,order='F',dtype='float32') - - for i in range(10,26): - teti[i] = dataOut.te2[i]/dataOut.ti2[i] - - ratio2 = teti-1 - - ratio2 = signal.medfilt(ratio2) + dataOut.ete2[i]=eb[1] + dataOut.eti2[i]=eb[2] - def func(params): - return (ratio2-self.gaussian(dataOut.heightList[:dataOut.NSHTS],params[0],params[1],params[2])) - #print(ratio2) + if dataOut.eti2[i]==0: + dataOut.eti2[i]=dataOut.ete2[i] - #plt.show() - x0_value = numpy.array([.5,250,20]) + dataOut.phy2[i]=dataOut.params[3] + dataOut.ephy2[i]=eb[3] + if(iflag==1): + dataOut.ephy2[i]=0.0 - popt = least_squares(func,x0=x0_value,verbose=0) + if (dataOut.m<=3 and dataOut.m!= 0 and dataOut.te2[i]>400.0): + dataOut.info2[i]=1 + else: + dataOut.info2[i]=0 - A = popt.x[0]; B = popt.x[1]; C = popt.x[2] + def gaussian(self, x, a, b, c, d): + val = a * numpy.exp(-(x - b)**2 / (2*c**2)) + d + return val - ratio2 = self.gaussian(dataOut.heightList[:dataOut.NSHTS], A, B, C) + 1 #Te/Ti + 1 - ''' - import matplotlib.pyplot as plt - plt.clf() - plt.plot(teti,dataOut.heightList[:dataOut.NSHTS]) - plt.plot(ratio2,dataOut.heightList[:dataOut.NSHTS]) - plt.title("{}".format(datetime.datetime.fromtimestamp(dataOut.utctime))) - plt.xlim(.99,3) - plt.grid() - plt.savefig("/home/roberto/Pictures/Density_Comparison/V2/TeTi_from_temps/{}.png".format(dataOut.utctime)) - ''' - #dataOut.ti2 *= 5 - my_te2 = dataOut.ti2*ratio2 - #''' + def run(self,dataOut,IBITS=16): - te2_aux = dataOut.te2.copy() - te2_aux[26:] = 1000 - te2_aux[:12] = 1000 - te2_aux -= 1000 - def func(params): - #return (dataOut.te2-self.gaussian(dataOut.heightList[:dataOut.NSHTS],params[0],params[1],params[2])) - return (te2_aux-self.gaussian(dataOut.heightList[:dataOut.NSHTS],params[0],params[1],params[2])) - x0_value = numpy.array([1000,250,20]) - popt = least_squares(func,x0=x0_value,verbose=0) - A = popt.x[0]; B = popt.x[1]; C = popt.x[2] - te2_smooth = self.gaussian(dataOut.heightList[:dataOut.NSHTS], A, B, C)+1000 - te2_aux += 1000 - #''' - ti2_smooth = te2_smooth/ratio2 - ''' - import matplotlib.pyplot as plt - plt.clf() - plt.plot(te2_smooth,dataOut.heightList[:dataOut.NSHTS],'*-',label = 'My Te') - plt.plot(ti2_smooth,dataOut.heightList[:dataOut.NSHTS],'*-',label = 'My Ti') - plt.plot(dataOut.te2,dataOut.heightList[:dataOut.NSHTS],'*-',label = 'Te') - plt.plot(te2_aux,dataOut.heightList[:dataOut.NSHTS],'*-',label = 'Te_aux') - plt.plot(ratio2*1000,dataOut.heightList[:dataOut.NSHTS],'*-',label = 'ratio*1000') - #plt.plot(signal.medfilt(dataOut.te2),dataOut.heightList[:dataOut.NSHTS],'*-',label = 'Te') - plt.title("{}".format(datetime.datetime.fromtimestamp(dataOut.utctime))) - plt.xlim(-50,3000) - plt.grid() - plt.legend() - plt.savefig("/home/roberto/Pictures/Density_Comparison/V3/Temps+{}.png".format(dataOut.utctime)) - #plt.show() + dataOut.IBITS = IBITS + self.Estimation(dataOut) ''' - #print("**** ACF2 WRAPPER ***** ",fitacf_acf2.acf2.__doc__ ) - - for i in range(dataOut.NSHTS): - if dataOut.info2[i]==1: - angle=dataOut.thb[i]*0.01745 - nue=nui[0]=nui[1]=nui[2]=0.0#nui[3]=0.0 - wion[0]=16 #O - wion[1]=1 #H - wion[2]=4 #He - #tion[0]=tion[1]=tion[2]=dataOut.ti2[i] - tion[0]=tion[1]=tion[2]=ti2_smooth[i] - fion[0]=1.0-dataOut.phy2[i] #1 - fion[1]=dataOut.phy2[i] #0 - fion[2]=0.0 #0 - for j in range(dataOut.DPL): - tau=dataOut.alag[j]*1.0e-3 - #print("***********ACF2***********") - with suppress_stdout_stderr():#The smoothness in range of "y" depends on the smoothness of the input parameters - y[j]=fitacf_acf2.acf2(wl,tau,dataOut.te2[i],tion,fion,nue,nui,wion,angle,dataOut.ph2[i],dataOut.bfm[i],y[j],three) - #y[j]=fitacf_acf2.acf2(wl,tau,te2_smooth[i],tion,fion,nue,nui,wion,angle,dataOut.ph2[i],dataOut.bfm[i],y[j],three) - - #y[j]=fitacf_acf2.acf2(wl,tau,my_te2[i],tion,fion,nue,nui,wion,angle,dataOut.ph2[i],dataOut.bfm[i],y[j],three) - #exit(1) - #if dataOut.ut_Faraday>11.0 and dataOut.range1[i]>150.0 and dataOut.range1[i]<400.0: + from scipy.optimize import least_squares - if dataOut.ut_Faraday>11.0 and dataOut.range1[i]>150.0 and dataOut.range1[i]<300.0: - #if dataOut.ut_Faraday>11.0 and dataOut.range1[i]>150.0 and dataOut.range1[i]<400.0: - tau=0.0 - with suppress_stdout_stderr(): - bline=fitacf_acf2.acf2(wl,tau,tion,tion,fion,nue,nui,wion,angle,dataOut.ph2[i],dataOut.bfm[i],bline,three) - cf=min(1.2,max(1.0,bline/y[0])) #FACTOR DE EFICIENCIA - #cf = bline/y[0] - #cf=min(2.,max(1.0,bline/y[0])) - my_aux[i] = cf - acf_Temps[i] = y[0] - acf_no_Temps[i] = bline - #dataOut.ph2[i]=cf*dataOut.ph2[i] #Instead we adjust the curve "cf" into a Gaussian, - #dataOut.sdp2[i]=cf*dataOut.sdp2[i] #in order to get smoother values of density - for j in range(1,dataOut.DPL): - #y[j]=(y[j]/y[0])*dataOut.DH+dataOut.range1[i] - y[j]=min(max((y[j]/y[0]),-1.0),1.0)*dataOut.DH+dataOut.range1[i] - y[0]=dataOut.range1[i]+dataOut.DH + ratio = dataOut.te2/dataOut.ti2 + ratio[:11] = ratio[:11] = 1. + ratio[20:] = ratio[20:] = 1. - ratio = my_aux-1 - #ratio = dataOut.te2[:dataOut.NSHTS]/dataOut.ti2[:dataOut.NSHTS] + #print(ratio) + #print(ratio-self.gaussian(dataOut.heightList[:dataOut.NSHTS],1,250,20,1)) def lsq_func(params): - return (ratio-self.gaussian(dataOut.heightList[:dataOut.NSHTS],params[0],params[1],params[2])) + return (ratio-self.gaussian(dataOut.heightList[:dataOut.NSHTS],params[0],params[1],params[2],params[3])) - x0_value = numpy.array([max(ratio),250,20]) + + x0_value = numpy.array([1,250,20,1]) popt = least_squares(lsq_func,x0=x0_value,verbose=0) - A = popt.x[0]; B = popt.x[1]; C = popt.x[2] + A = popt.x[0]; B = popt.x[1]; C = popt.x[2]; D = popt.x[3] - aux = self.gaussian(dataOut.heightList[:dataOut.NSHTS], A, B, C) + 1 #ratio + 1 + aux = self.gaussian(dataOut.heightList[:dataOut.NSHTS], A, B, C, D) - ''' import matplotlib.pyplot as plt - plt.clf() - #plt.plot(aux,dataOut.heightList[:dataOut.NSHTS],'*:',label='Fitting') - plt.plot(my_aux,dataOut.heightList[:dataOut.NSHTS],'*:',label='Ratio') - #plt.plot(acf_Temps,dataOut.heightList[:dataOut.NSHTS],'b*:',label='Temps') - #plt.plot(acf_no_Temps,dataOut.heightList[:dataOut.NSHTS],'k*:',label='No Temps') - #plt.plot(dataOut.te2[:dataOut.NSHTS]/dataOut.ti2[:dataOut.NSHTS],dataOut.heightList[:dataOut.NSHTS],label='Ratio') - #plt.ylim(180) - plt.title("{}".format(datetime.datetime.fromtimestamp(dataOut.utctime))) - plt.legend() - plt.grid() - #plt.xlim(.99,1.25) - #plt.show() - #plt.savefig("/home/roberto/Pictures/Density_Comparison/FactorEf_NoLimits/{}.png".format(dataOut.utctime)) - #plt.savefig("/home/roberto/Pictures/Density_Comparison/V2/TeTi_cte/Te2/{}.png".format(dataOut.utctime)) - #plt.savefig("/home/roberto/Pictures/Density_Comparison/V2/bline/Te2/{}.png".format(dataOut.utctime)) - plt.savefig("/home/roberto/Pictures/Density_Comparison/V3/{}.png".format(dataOut.utctime)) - #plt.savefig("/home/roberto/Pictures/Faraday_TeTi_Test/Ratio/{}.png".format(dataOut.utctime)) - ''' - #print("inside correction",dataOut.ph2) + #plt.plot(dataOut.te2,dataOut.heightList[:dataOut.NSHTS]) + #plt.plot(dataOut.ti2,dataOut.heightList[:dataOut.NSHTS]) + #plt.xlim(0,5000) + plt.plot(ratio,dataOut.heightList[:dataOut.NSHTS]) + plt.plot(aux,dataOut.heightList[:dataOut.NSHTS]) + #plt.plot(self.gaussian(dataOut.heightList[:dataOut.NSHTS],1,250,20,1),dataOut.heightList[:dataOut.NSHTS]) - #print("heeere",aux) - #exit(1) - dataOut.ph2[:dataOut.NSHTS]*=aux - dataOut.sdp2[:dataOut.NSHTS]*=aux - #dataOut.ph2[:26]*=aux[:26] - #dataOut.sdp2[:26]*=aux[:26] - #print(aux) - #print("inside correction",dataOut.ph2) + plt.show() + ''' - def run(self,dataOut): - #print("hour",gmtime(dataOut.utctime).tm_hour) - if gmtime(dataOut.utctime).tm_hour < 24. and gmtime(dataOut.utctime).tm_hour >= 11.: - #print("inside") - self.TeTiEstimation(dataOut) - dataOut.flagTeTiCorrection = True + return dataOut - self.normalize(dataOut) - return dataOut class DenCorrection(NormalizeDPPowerRoberto_V2): ''' @@ -5384,5034 +3441,165 @@ class DataSaveCleaner(Operation): print(dataOut.heightList) exit(1) ''' - + ### Manual Data Cleaning + time_text = datetime.datetime.utcfromtimestamp(dataOut.utctime) - print("Final Cleaning Process", time_text.hour, time_text.minute) + DOY = time_text.timetuple().tm_yday ''' - #Agregar año y mes para no estar comentando esta parte!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - #if (time_text.hour == 13 and time_text.minute == 20) or (time_text.hour == 0 and time_text.minute > 40) or (time_text.hour == 2 and time_text.minute == 8) or (time_text.hour == 2 and time_text.minute == 19): #Year: 2022, DOY:101 - #if (time_text.hour == 17 and time_text.minute == 5) or (time_text.hour == 8 and time_text.minute >= 22) or (time_text.hour == 9) or (time_text.hour == 11 and time_text.minute == 2): #Year: 2022, DOY:102 - #if (time_text.hour == 3 and time_text.minute == 56) or (time_text.hour == 2 and time_text.minute == 30) or (time_text.hour == 2 and time_text.minute == 20) or (time_text.hour == 2 and time_text.minute == 9) or (time_text.hour == 8 and time_text.minute >= 22) or (time_text.hour >= 9 and time_text.hour < 11): #Year: 2022, DOY:103 - #if (time_text.hour >= 8 and time_text.hour < 11) or (time_text.hour == 11 and time_text.minute == 2) or (time_text.hour == 11 and time_text.minute == 13): #Year: 2022, DOY:104 - #if (time_text.hour == 17 and time_text.minute == 34): #Year: 2022, DOY:89 - #if (time_text.hour == 7 and time_text.minute>=40) or (time_text.hour >= 8 and time_text.hour<11) or (time_text.hour == 11 and time_text.minute<=25): #Year: 2022, DOY:90 - #if (time_text.hour == 6 and time_text.minute>=34) or (time_text.hour >= 7 and time_text.hour<11) or (time_text.hour == 11 and time_text.minute<47): #Year: 2022, DOY:94 - #if (time_text.hour == 7 and time_text.minute>=18) or (time_text.hour >= 8 and time_text.hour<11) or (time_text.hour == 11 and time_text.minute==2) or (time_text.hour == 1) or (time_text.hour == 2 and time_text.minute<=20) or (time_text.hour >= 3 and time_text.hour<=4): #Year: 2022, DOY:92 - #if (time_text.hour < 11 and time_text.hour >=5 ) or (time_text.hour == 11 and time_text.minute<=34): #Year: 2022, DOY:93 - #if (time_text.hour == 7 and time_text.minute>=18) or (time_text.hour >= 8 and time_text.hour <=11 ): #Year: 2022, DOY:91 - - #print(time_text.hour,time_text.minute) - #if (time_text.hour == 16 and time_text.minute == 48) or (time_text.hour == 19 and time_text.minute ==49 ) or (time_text.hour >= 0 and time_text.hour < 5): #Year: 2022, DOY:241 - #if (time_text.hour == 5 and time_text.minute == 21) or (time_text.hour == 19 and time_text.minute ==49 ) or (time_text.hour == 7 and time_text.minute==40) or (time_text.hour == 7 and time_text.minute==50) or (time_text.hour >= 8 and time_text.hour < 11) or (time_text.hour == 11 and time_text.minute==2) or (time_text.hour == 11 and time_text.minute==13): #Year: 2022, DOY:242 - #if (time_text.hour >= 8 and time_text.hour < 11) or (time_text.hour == 11 and time_text.minute==2) or (time_text.hour == 11 and time_text.minute==13) or (time_text.hour == 11 and time_text.minute==24): #Year: 2022, DOY:243 - #if (time_text.hour >= 9 and time_text.hour < 11) or (time_text.hour == 8 and time_text.minute==12) or (time_text.hour == 8 and time_text.minute==22) or (time_text.hour == 8 and time_text.minute==33) or (time_text.hour == 8 and time_text.minute==44) or (time_text.hour == 8 and time_text.minute==54) or (time_text.hour == 11 and time_text.minute==2) or (time_text.hour == 11 and time_text.minute==13): #Year: 2022, DOY:245 - #if (time_text.hour >= 8 and time_text.hour < 11) or (time_text.hour == 1) or (time_text.hour == 0 and time_text.minute==15) or (time_text.hour == 0 and time_text.minute==25) or (time_text.hour == 0 and time_text.minute==36) or (time_text.hour == 0 and time_text.minute==47) or (time_text.hour == 0 and time_text.minute==57) or (time_text.hour == 2 and time_text.minute==1) or (time_text.hour == 11 and time_text.minute==2) or (time_text.hour == 11 and time_text.minute==13) or (time_text.hour == 11 and time_text.minute == 24) or (time_text.hour == 7 and time_text.minute==40) or (time_text.hour == 7 and time_text.minute==50) or (time_text.hour == 3 and time_text.minute==5) or (time_text.hour == 3 and time_text.minute==16) or (time_text.hour == 3 and time_text.minute==27): #Year: 2022, DOY:244 - #if (time_text.hour >= 8 and time_text.hour < 11) or (time_text.hour == 11 and time_text.minute==2) or (time_text.hour == 11 and time_text.minute==13) or (time_text.hour == 11 and time_text.minute == 24) or (time_text.hour == 7 and time_text.minute==40) or (time_text.hour == 7 and time_text.minute==50) or (time_text.hour == 3 and time_text.minute==5): #Year: 2022, DOY:244 - #if (time_text.hour == 0 and time_text.minute == 8) or (time_text.hour == 0 and time_text.minute==18): #Year: 2023, DOY:027 - #if (time_text.hour >= 3 and time_text.hour < 5) or (time_text.hour == 6) or (time_text.hour == 7 and time_text.minute==8) or (time_text.hour == 8 and time_text.minute==1) or (time_text.hour == 8 and time_text.minute==12) or (time_text.hour == 8 and time_text.minute==22) or (time_text.hour == 8 and time_text.minute==33) or (time_text.hour == 9 and time_text.minute>=16) or (time_text.hour == 10) or (time_text.hour == 11 and time_text.minute==2): #Year: 2023, DOY:028 - #if (time_text.hour >=2 and time_text.hour < 5) or (time_text.hour == 10): #Year: 2023, DOY:029 - #if (time_text.hour == 6 and time_text.minute == 36) or (time_text.hour == 6 and time_text.minute==46) or (time_text.hour == 6 and time_text.minute==57) or (time_text.hour == 7 and time_text.minute==8) or (time_text.hour == 8) or (time_text.hour == 9) or (time_text.hour == 10) or (time_text.hour == 14 and time_text.minute==25) or (time_text.hour == 14 and time_text.minute==57): #Year: 2023, DOY:030 - #if (time_text.hour == 0 and time_text.minute == 54) or (time_text.hour >= 1 and time_text.hour<5) or (time_text.hour == 5) or (time_text.hour == 6) or (time_text.hour == 7) or (time_text.hour == 8) or (time_text.hour == 9 and time_text.minute != 58): #Year: 2023, DOY:031 - #if (time_text.hour == 5 and time_text.minute <= 21) or (time_text.hour == 8 and time_text.minute==1) or (time_text.hour == 9 and time_text.minute==2) or (time_text.hour == 10) or (time_text.hour == 12 and time_text.minute==31): #Year: 2023, DOY:032 - #if (time_text.hour >= 5 and time_text.hour < 11) or (time_text.hour == 11 and time_text.minute<30): #Year: 2023, DOY:171 - #if (time_text.hour == 19 and time_text.minute > 40) or (time_text.hour == 20 and time_text.minute<20) or (time_text.hour == 6 and time_text.minute==57) or (time_text.hour > 6 and time_text.hour < 11) or (time_text.hour == 11 and time_text.minute<40): #Year: 2023, DOY:172 - #if (time_text.hour >= 5 and time_text.hour < 11) or (time_text.hour == 11 and time_text.minute < 40) or (time_text.hour == 16 and time_text.minute == 12): #Year: 2023, DOY:173 - #if (time_text.hour >= 5 and time_text.hour < 11) or (time_text.hour == 11 and time_text.minute == 2) or (time_text.hour == 20 and time_text.minute > 30) or (time_text.hour == 21) or (time_text.hour == 22 and time_text.minute < 40): #Year: 2023, DOY:174 - #if (time_text.hour == 19 and time_text.minute == 41): #Year: 2023, DOY:195 - #if (time_text.hour == 22 and time_text.minute == 0) or (time_text.hour == 10) or (time_text.hour == 11 and time_text.minute == 0): #Year: 2023, DOY:248 - #if (time_text.hour >= 8 and time_text.hour <= 10) or (time_text.hour == 3 and time_text.minute == 50) or (time_text.hour == 4 and time_text.minute == 0): #Year: 2023, DOY:249 - #if (time_text.hour == 8 and time_text.minute >= 40) or (time_text.hour == 9 or time_text.hour == 10) or (time_text.hour == 11 and time_text.minute <= 20): #Year: 2023, DOY:250 - #if (time_text.hour == 23 and time_text.minute >= 20) or (time_text.hour >= 0 and time_text.hour <= 2) or (time_text.hour == 4 and time_text.minute >= 20): #Year: 2023, DOY:264 - #if (time_text.hour == 8 and time_text.minute >= 10) or (time_text.hour == 9 and time_text.minute <= 20) or (time_text.hour == 1 and time_text.minute >= 20) or (time_text.hour == 2 and time_text.minute <= 30): #Year: 2023, DOY:265 - #if (time_text.hour == 0 and time_text.minute >= 10) or (time_text.hour == 1 and time_text.minute <= 40) or (time_text.hour == 2 and time_text.minute >= 40): #Year: 2023, DOY:266 - #if (time_text.hour == 5 and time_text.minute == 10) or (time_text.hour == 5 and time_text.minute == 20): #Year: 2023, DOY:267 - #if (time_text.hour == 3 and time_text.minute == 40) or (time_text.hour == 3 and time_text.minute == 50) or (time_text.hour == 4 and time_text.minute <= 20): #Year: 2023, DOY:268 - #if (time_text.hour == 2 and time_text.minute == 20): #Year: 2023, DOY:310 - #if (time_text.hour == 12 and time_text.minute == 20): #Year: 2023, DOY:311 - #if (time_text.hour == 3 and time_text.minute == 5) or (time_text.hour == 23 and time_text.minute == 25) or (time_text.hour == 23 and time_text.minute == 35) or (time_text.hour == 23 and time_text.minute == 45) or (time_text.hour == 2 and time_text.minute == 5) or (time_text.hour == 2 and time_text.minute == 45) or (time_text.hour == 3 and time_text.minute == 45): #Year: 2024, DOY:046 - #if (time_text.hour == 1 and time_text.minute == 40) or (time_text.hour == 1 and time_text.minute == 10) or (time_text.hour == 3 and time_text.minute <= 10): #Year: 2024, DOY:047 - #if (time_text.hour == 16 and time_text.minute == 30) or (time_text.hour == 0 and time_text.minute >= 30) or (time_text.hour == 1 and time_text.minute >= 30) or (time_text.hour == 2 and time_text.minute == 10) or (time_text.hour == 3 and time_text.minute == 20) or (time_text.hour == 3 and time_text.minute == 40): #Year: 2024, DOY:049 - #if (time_text.hour == 5 and time_text.minute <= 10) or (time_text.hour == 1 and time_text.minute >= 40) or (time_text.hour == 2) or (time_text.hour == 3) or (time_text.hour == 4 and time_text.minute == 30): #Year: 2024, DOY:048 - #if (time_text.hour == 1 and time_text.minute == 50): #Year: 2024, DOY:082 - #if (time_text.hour == 9 and time_text.minute >= 40) or (time_text.hour == 10 and time_text.minute <= 30): #Year: 2024, DOY:081 - #if (time_text.hour == 1 and time_text.minute <= 20): #Year: 2024, DOY:080 - #if (time_text.hour == 3 and time_text.minute <= 40): #Year: 2024, DOY:079 - #if (time_text.hour == 3 and time_text.minute == 55): #Year: 2024, DOY:135 - if (time_text.hour == 7 and time_text.minute >= 45) or (time_text.hour == 8 and time_text.minute <= 15): #Year: 2024, DOY:137 - dataOut.DensityFinal[0,:]=missing - dataOut.EDensityFinal[0,:]=missing + # 2 Sep 24 + if (time_text.hour == 1 and (time_text.minute == 40)): #06-18 LT + #dataOut.DensityFinal[0,27:]=missing + #dataOut.EDensityFinal[0,27:]=missing dataOut.ElecTempFinal[0,:]=missing dataOut.EElecTempFinal[0,:]=missing dataOut.IonTempFinal[0,:]=missing dataOut.EIonTempFinal[0,:]=missing dataOut.PhyFinal[0,:]=missing - dataOut.EPhyFinal[0,:]=missing - - dataOut.flagNoData = True #Remueve todo el perfil - ''' - ''' - if (time_text.hour == 5) or (time_text.hour == 6) or (time_text.hour == 7) or (time_text.hour == 8) or (time_text.hour == 9) or (time_text.hour == 10) or (time_text.hour == 11 and time_text.minute <= 15): #Year: 2024, DOY:138 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 11 and time_text.minute >= 20) or (time_text.hour == 12): #Year: 2024, DOY:138 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 6 and time_text.minute == 0): #Year: 2024, DOY:138 - id_aux = 38 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute == 10): #Year: 2024, DOY:138 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute == 20) or (time_text.hour == 6 and time_text.minute == 25) or (time_text.hour == 10 and time_text.minute == 25) or (time_text.hour == 11 and time_text.minute == 35) or (time_text.hour == 12 and time_text.minute == 15): #Year: 2024, DOY:138 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute == 50) or (time_text.hour == 6 and time_text.minute == 55) or (time_text.hour == 9 and time_text.minute >= 45) or (time_text.hour == 10 and time_text.minute == 0) or (time_text.hour == 10 and time_text.minute == 15): #Year: 2024, DOY:138 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 7 and time_text.minute == 15) or (time_text.hour == 7 and time_text.minute == 20) or (time_text.hour == 9 and time_text.minute == 40) or (time_text.hour == 9 and time_text.minute == 55) or (time_text.hour == 10 and time_text.minute == 10): #Year: 2024, DOY:138 - id_aux = 31 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 7 and time_text.minute == 35) or (time_text.hour == 7 and time_text.minute == 50) or (time_text.hour == 8 and time_text.minute == 10): #Year: 2024, DOY:138 - id_aux = 28 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 20): #Year: 2024, DOY:138 - id_aux = 29 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 45) or (time_text.hour == 8 and time_text.minute == 50) or (time_text.hour == 10 and time_text.minute == 45) or (time_text.hour == 11 and time_text.minute == 0) or (time_text.hour == 11 and time_text.minute == 20): #Year: 2024, DOY:138 - id_aux = 32 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute == 40) or (time_text.hour == 11 and time_text.minute == 25): #Year: 2024, DOY:138 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 12 and time_text.minute == 30): #Year: 2024, DOY:138 - id_aux = 38 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 5 and time_text.minute <= 10): #Year: 2024, DOY:137 - id_aux = 14 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute <= 40) or (time_text.hour == 6 and time_text.minute == 45) or (time_text.hour == 8) or (time_text.hour == 21 and time_text.minute <= 20) or (time_text.hour == 22 and time_text.minute >= 50) or (time_text.hour == 23) or (time_text.hour == 0) or (time_text.hour == 1) or (time_text.hour == 2) or (time_text.hour == 3) or (time_text.hour == 4): #Year: 2024, DOY:137 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5) or (time_text.hour == 6) or (time_text.hour == 9) or (time_text.hour == 10): #Year: 2024, DOY:137 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 7) or (time_text.hour == 23 and time_text.minute == 0): #Year: 2024, DOY:137 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 11 and time_text.minute <= 10): #Year: 2024, DOY:137 - id_aux = 16 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 12 and time_text.minute > 15) or (time_text.hour == 11) or (time_text.hour == 12): #Year: 2024, DOY:137 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 22): #Year: 2024, DOY:137 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 22 and time_text.minute == 45): #Year: 2024, DOY:137 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 5) or (time_text.hour == 23 and time_text.minute == 10): #Year: 2024, DOY:137 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 0 and time_text.minute == 5) or (time_text.hour == 0 and time_text.minute == 10) or (time_text.hour == 0 and time_text.minute == 15): #Year: 2024, DOY:137 - id_aux = 25 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 10) or (time_text.hour == 2 and time_text.minute == 15): #Year: 2024, DOY:137 - id_aux = 24 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 10) or (time_text.hour == 11 and time_text.minute == 15): #Year: 2024, DOY:137 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 45) or (time_text.hour == 8 and time_text.minute == 50): #Year: 2024, DOY:137 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute == 0) or (time_text.hour == 11 and time_text.minute == 5) or (time_text.hour == 11 and time_text.minute == 20): #Year: 2024, DOY:137 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute == 5) or (time_text.hour == 6 and time_text.minute == 20) or (time_text.hour == 9 and time_text.minute >= 10) or (time_text.hour == 10 and time_text.minute == 15) or (time_text.hour == 5 and time_text.minute == 45): #Year: 2024, DOY:137 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute == 35) or (time_text.hour == 7 and time_text.minute == 55) or (time_text.hour == 10 and time_text.minute == 20): #Year: 2024, DOY:137 - id_aux = 29 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute >= 45) or (time_text.hour == 7 and time_text.minute == 40) or (time_text.hour == 8 and time_text.minute == 20) or (time_text.hour == 9 and time_text.minute == 10) or (time_text.hour == 9 and time_text.minute == 40) or (time_text.hour == 10 and time_text.minute == 30): #Year: 2024, DOY:137 - id_aux = 30 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 9 and time_text.minute == 50): #Year: 2024, DOY:137 - id_aux = 31 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 7 and time_text.minute == 20) or (time_text.hour == 7 and time_text.minute == 25): #Year: 2024, DOY:137 - id_aux = 27 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 17 and time_text.minute == 45) or (time_text.hour == 11 and time_text.minute == 45): #Year: 2024, DOY:137 - id_aux = 39 - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 17 and time_text.minute == 50) or (time_text.hour == 18 and time_text.minute == 35) or (time_text.hour == 21 and time_text.minute == 10): #Year: 2024, DOY:137 - id_aux = (38,39) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 20 and time_text.minute == 55): #Year: 2024, DOY:137 - id_aux = 38 - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 5): #Year: 2024, DOY:137 - id_aux = (37,38,39) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 18 and time_text.minute == 0): #Year: 2024, DOY:137 - id_aux = (24,25) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - ''' - ''' - if (time_text.hour == 5) or (time_text.hour == 6) or (time_text.hour == 7) or (time_text.hour == 8) or (time_text.hour == 9) or (time_text.hour == 10) or (time_text.hour == 11 and time_text.minute <= 30) or (time_text.hour == 1 and time_text.minute >= 35) or (time_text.hour == 2): #Year: 2024, DOY:136 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 11 and time_text.minute == 35) or (time_text.hour == 11 and time_text.minute == 40): #Year: 2024, DOY:136 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 11 and time_text.minute >= 45) or (time_text.hour == 12 and time_text.minute <= 40) or (time_text.hour == 21 and time_text.minute >= 20) or (time_text.hour == 22 and time_text.minute <= 15): #Year: 2024, DOY:136 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 12 and time_text.minute > 40) or (time_text.hour == 21 and time_text.minute <= 15) or (time_text.hour == 22 and time_text.minute == 55) or (time_text.hour == 3) or (time_text.hour == 4): #Year: 2024, DOY:136 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 22 and time_text.minute >= 20): #Year: 2024, DOY:136 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute <= 10): #Year: 2024, DOY:136 - id_aux = 16 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute >= 15): #Year: 2024, DOY:136 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 40): #Year: 2024, DOY:136 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 30): #Year: 2024, DOY:136 - id_aux = 19 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 0 and time_text.minute == 40): #Year: 2024, DOY:136 - id_aux = 20 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 4 and time_text.minute >= 25): #Year: 2024, DOY:136 - id_aux = 14 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 6 and time_text.minute <= 10) or (time_text.hour == 9 and time_text.minute == 45) or (time_text.hour == 12 and time_text.minute == 25): #Year: 2024, DOY:136 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute == 40) or (time_text.hour == 6 and time_text.minute == 45) or (time_text.hour == 9 and time_text.minute == 35) or (time_text.hour == 11 and time_text.minute == 15) or (time_text.hour == 11 and time_text.minute == 25) or (time_text.hour == 11 and time_text.minute == 35) or (time_text.hour == 8 and time_text.minute == 25): #Year: 2024, DOY:136 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute == 50) or (time_text.hour == 7 and time_text.minute == 5) or (time_text.hour == 10 and time_text.minute == 15) or (time_text.hour == 11 and time_text.minute == 50) or (time_text.hour == 12 and time_text.minute == 15) or (time_text.hour == 10 and time_text.minute == 50): #Year: 2024, DOY:136 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 7 and time_text.minute == 10) or (time_text.hour == 7 and time_text.minute == 15) or (time_text.hour == 7 and time_text.minute == 20) or (time_text.hour == 7 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 55) or (time_text.hour == 9 and time_text.minute == 0) or (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 7 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 55) or (time_text.hour == 9 and time_text.minute == 0) or (time_text.hour == 10 and time_text.minute == 40): #Year: 2024, DOY:136 - id_aux = 32 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 5): #Year: 2024, DOY:136 - id_aux = 26 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 15): #Year: 2024, DOY:136 - id_aux = 27 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute == 20) or (time_text.hour == 12 and time_text.minute == 35): #Year: 2024, DOY:136 - id_aux = 39 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute == 45): #Year: 2024, DOY:136 - id_aux = 29 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 21 and time_text.minute == 55): #Year: 2024, DOY:136 - id_aux = 51 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 14 and time_text.minute == 0): #Year: 2024, DOY:135 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 14 and time_text.minute == 10): #Year: 2024, DOY:135 - id_aux = 38 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 21 and time_text.minute >= 40) or (time_text.hour == 22 and time_text.minute <= 30): #Year: 2024, DOY:135 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 22 and time_text.minute == 35): #Year: 2024, DOY:135 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 22 and time_text.minute == 40) or (time_text.hour == 22 and time_text.minute == 45): #Year: 2024, DOY:135 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 22 and time_text.minute == 50) or (time_text.hour == 4 and time_text.minute == 25) or (time_text.hour == 23) or (time_text.hour <= 4): #Year: 2024, DOY:135 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 22 and time_text.minute == 55) or (time_text.hour == 23 and time_text.minute == 5) or (time_text.hour == 3 and time_text.minute == 30) or (time_text.hour == 3 and time_text.minute == 35): #Year: 2024, DOY:135 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 0) or (time_text.hour == 3 and time_text.minute == 25): #Year: 2024, DOY:135 - id_aux = 16 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 20): #Year: 2024, DOY:135 - id_aux = 19 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 50): #Year: 2024, DOY:135 - id_aux = 21 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 0 and time_text.minute == 30): #Year: 2024, DOY:135 - id_aux = 24 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 0) or (time_text.hour == 2 and time_text.minute == 15) or (time_text.hour == 0 and time_text.minute == 50) or (time_text.hour == 0 and time_text.minute == 55) or (time_text.hour == 1 and time_text.minute == 0) or (time_text.hour == 1 and time_text.minute == 5): #Year: 2024, DOY:135 - id_aux = 23 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 15): #Year: 2024, DOY:135 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 21 and time_text.minute <= 30): #Year: 2024, DOY:079 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 21 and time_text.minute == 40) or (time_text.hour == 23 and time_text.minute == 10) or (time_text.hour == 23 and time_text.minute == 20) or (time_text.hour == 3 and time_text.minute == 50): #Year: 2024, DOY:079 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 22 and time_text.minute >= 20) or (time_text.hour == 4): #Year: 2024, DOY:079 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 0): #Year: 2024, DOY:079 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute >= 30) or (time_text.hour == 0) or (time_text.hour == 1) or (time_text.hour == 2 and time_text.minute == 0): #Year: 2024, DOY:079 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 10): #Year: 2024, DOY:079 - id_aux = 18 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 20): #Year: 2024, DOY:079 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 11) or (time_text.hour == 12): #Year: 2024, DOY:080 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5) or (time_text.hour == 6) or (time_text.hour == 7) or (time_text.hour == 8) or (time_text.hour == 9) or (time_text.hour == 10 and time_text.minute <= 10) or (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 10 and time_text.minute == 40) or (time_text.hour == 22 and time_text.minute >= 30) or (time_text.hour == 4 and time_text.minute == 40): #Year: 2024, DOY:080 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 7 and time_text.minute == 20) or (time_text.hour == 9 and time_text.minute == 20) or (time_text.hour == 9 and time_text.minute == 30) or (time_text.hour == 10 and time_text.minute == 20) or (time_text.hour == 23 and time_text.minute <= 10) or (time_text.hour == 2) or (time_text.hour == 3) or (time_text.hour == 4 and time_text.minute <= 30): #Year: 2024, DOY:080 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 7 and time_text.minute == 40) or (time_text.hour == 8 and time_text.minute == 20) or (time_text.hour == 8 and time_text.minute == 40) or (time_text.hour == 9 and time_text.minute == 50) or (time_text.hour == 21 and time_text.minute <= 10): #Year: 2024, DOY:080 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 20) or (time_text.hour == 23 and time_text.minute == 30): #Year: 2024, DOY:080 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute >= 40): #Year: 2024, DOY:080 - id_aux = 21 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 30): #Year: 2024, DOY:080 - id_aux = 29 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 40): #Year: 2024, DOY:080 - id_aux = 26 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 50): #Year: 2024, DOY:080 - id_aux = 21 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 10) or (time_text.hour == 3 and time_text.minute == 20): #Year: 2024, DOY:080 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 7 and time_text.minute == 30) or (time_text.hour == 9 and time_text.minute == 50): #Year: 2024, DOY:080 - id_aux = 38 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 40) or (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 10 and time_text.minute == 40) or (time_text.hour == 12 and time_text.minute == 20): #Year: 2024, DOY:080 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 11 and time_text.minute == 50): #Year: 2024, DOY:080 - id_aux = 32 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 5) or (time_text.hour == 6) or (time_text.hour == 7) or (time_text.hour == 8) or (time_text.hour == 9 and time_text.minute == 0) or (time_text.hour == 22): #Year: 2024, DOY:081 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 9 and time_text.minute >= 10) or (time_text.hour == 10 and time_text.minute == 0) or (time_text.hour == 11 and time_text.minute == 0): #Year: 2024, DOY:081 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 10 and time_text.minute == 10): #Year: 2024, DOY:081 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 10 and time_text.minute >= 40) or (time_text.hour == 11 and time_text.minute == 10) or (time_text.hour == 11 and time_text.minute == 20) or (time_text.hour == 3) or (time_text.hour == 4): #Year: 2024, DOY:081 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 11 and time_text.minute >= 30) or (time_text.hour == 12 and time_text.minute <= 10): #Year: 2024, DOY:081 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 21 and time_text.minute == 0) or (time_text.hour == 23) or (time_text.hour == 0) or (time_text.hour == 1) or (time_text.hour == 2): #Year: 2024, DOY:081 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 8 and time_text.minute == 10) or (time_text.hour == 9 and time_text.minute == 10) or (time_text.hour == 9 and time_text.minute == 20) or (time_text.hour == 9 and time_text.minute == 40) or (time_text.hour == 10 and time_text.minute == 10) or (time_text.hour == 11 and time_text.minute == 50): #Year: 2024, DOY:081 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute == 30): #Year: 2024, DOY:081 - id_aux = 29 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 12 and time_text.minute == 20): #Year: 2024, DOY:081 - id_aux = 38 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 5) or (time_text.hour == 6 and time_text.minute == 0) or (time_text.hour == 6 and time_text.minute >= 20) or (time_text.hour == 7) or (time_text.hour == 8 and time_text.minute == 0) or (time_text.hour == 3 and time_text.minute >= 40) or (time_text.hour == 4 and time_text.minute >= 30): #Year: 2024, DOY:082 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 6 and time_text.minute == 10) or (time_text.hour == 8 and time_text.minute >= 10) or (time_text.hour == 9) or (time_text.hour == 10) or (time_text.hour == 23 and time_text.minute <= 10): #Year: 2024, DOY:082 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 11) or (time_text.hour == 12): #Year: 2024, DOY:082 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 22 and time_text.minute >= 20) or (time_text.hour == 4 and time_text.minute <= 20): #Year: 2024, DOY:082 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute >= 20) or (time_text.hour == 1) or (time_text.hour == 2) or (time_text.hour == 3 and time_text.minute <= 30): #Year: 2024, DOY:082 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 50): #Year: 2024, DOY:082 - id_aux = 19 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 10): #Year: 2024, DOY:082 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 9 and time_text.minute == 30) or (time_text.hour == 11 and time_text.minute == 20): #Year: 2024, DOY:082 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 18 and time_text.minute == 50) or (time_text.hour == 19 and time_text.minute == 0): #Year: 2024, DOY:082 - id_aux = 57 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 5) or (time_text.hour == 6 and time_text.minute == 0) or (time_text.hour == 10 and time_text.minute == 20) or (time_text.hour == 10 and time_text.minute == 30): #Year: 2024, DOY:083 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 6 and time_text.minute == 10) or (time_text.hour == 6 and time_text.minute == 20) or (time_text.hour == 9 and time_text.minute >= 30) or (time_text.hour == 10 and time_text.minute <= 10) or (time_text.hour == 10 and time_text.minute == 50): #Year: 2024, DOY:083 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 6 and time_text.minute >= 30) or (time_text.hour == 7) or (time_text.hour == 8) or (time_text.hour == 9 and time_text.minute <= 20): #Year: 2024, DOY:083 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 11) or (time_text.hour == 12): #Year: 2024, DOY:083 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 11 and time_text.minute == 40): #Year: 2024, DOY:083 - id_aux = 39 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 5 and time_text.minute == 20): #Year: 2024, DOY:048 - id_aux = 16 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 30): #Year: 2024, DOY:048 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 40) or (time_text.hour == 23 and time_text.minute >= 30) or (time_text.hour == 0): #Year: 2024, DOY:048 - id_aux = 14 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 6 and time_text.minute == 0) or (time_text.hour == 6 and time_text.minute == 30) or (time_text.hour == 6 and time_text.minute == 40) or (time_text.hour == 6 and time_text.minute == 50) or (time_text.hour == 7 and time_text.minute == 0) or (time_text.hour == 7 and time_text.minute == 20) or (time_text.hour == 7 and time_text.minute >= 40) or (time_text.hour == 8 and time_text.minute == 0) or (time_text.hour == 8 and time_text.minute >= 40) or (time_text.hour == 21 and time_text.minute >= 20) or (time_text.hour == 22): #Year: 2024, DOY:048 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 6 and time_text.minute == 10) or (time_text.hour == 4 and time_text.minute == 10): #Year: 2024, DOY:048 - id_aux = 24 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 6 and time_text.minute == 20) or (time_text.hour == 4 and time_text.minute == 20): #Year: 2024, DOY:048 - id_aux = 25 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 7 and time_text.minute == 10) or (time_text.hour == 7 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 10) or (time_text.hour == 9) or (time_text.hour == 10) or (time_text.hour == 21 and time_text.minute <= 10): #Year: 2024, DOY:048 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 8 and time_text.minute == 20) or (time_text.hour == 8 and time_text.minute == 30): #Year: 2024, DOY:048 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 11) or (time_text.hour == 12): #Year: 2024, DOY:048 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute <= 20): #Year: 2024, DOY:048 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 0 and time_text.minute >= 40) or (time_text.hour == 1 and time_text.minute <= 30) or (time_text.hour == 4 and time_text.minute == 40): #Year: 2024, DOY:048 - id_aux = 27 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 4 and time_text.minute == 0): #Year: 2024, DOY:048 - id_aux = 30 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 20) or (time_text.hour == 8 and time_text.minute == 20) or (time_text.hour == 10 and time_text.minute == 10) or (time_text.hour == 10 and time_text.minute == 20): #Year: 2024, DOY:048 - id_aux = 30 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 10): #Year: 2024, DOY:048 - id_aux = 39 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute >= 40) or (time_text.hour == 11 and time_text.minute == 30) or (time_text.hour == 12 and time_text.minute == 0) or (time_text.hour == 13 and time_text.minute == 50): #Year: 2024, DOY:048 - id_aux = 32 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 9) or (time_text.hour == 14 and time_text.minute == 0): #Year: 2024, DOY:048 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 9 and time_text.minute == 50): #Year: 2024, DOY:048 - id_aux = 27 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute == 50) or (time_text.hour == 11 and time_text.minute == 10): #Year: 2024, DOY:048 - id_aux = 26 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 12 and time_text.minute == 40): #Year: 2024, DOY:048 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 14 and time_text.minute == 10): #Year: 2024, DOY:048 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 14 and time_text.minute == 30): #Year: 2024, DOY:048 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 16 and time_text.minute == 20): #Year: 2024, DOY:048 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 4 and time_text.minute == 0): #Year: 2024, DOY:048 - id_aux = 43 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 5 and time_text.minute == 0) or (time_text.hour == 23 and time_text.minute == 50) or (time_text.hour == 0) or (time_text.hour == 1) or (time_text.hour == 3 and time_text.minute == 50) or (time_text.hour == 4 and time_text.minute <= 20): #Year: 2024, DOY:049 - id_aux = 18 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 10) or (time_text.hour == 5 and time_text.minute == 20) or (time_text.hour == 4 and time_text.minute == 30): #Year: 2024, DOY:049 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 30) or (time_text.hour == 4 and time_text.minute == 40): #Year: 2024, DOY:049 - id_aux = 16 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 40) or (time_text.hour == 23 and time_text.minute == 30) or (time_text.hour == 23 and time_text.minute == 40): #Year: 2024, DOY:049 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 6 and time_text.minute <= 50) or (time_text.hour == 7 and time_text.minute <= 10) or (time_text.hour == 7 and time_text.minute >= 30): #Year: 2024, DOY:049 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 7 and time_text.minute == 20) or (time_text.hour == 8) or (time_text.hour == 9) or (time_text.hour == 10) or (time_text.hour == 11 and time_text.minute == 0) or (time_text.hour == 21 and time_text.minute <= 10): #Year: 2024, DOY:049 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 11 and time_text.minute >= 10) or (time_text.hour == 12): #Year: 2024, DOY:049 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 21 and time_text.minute >= 20) or (time_text.hour == 22) or (time_text.hour == 23 and time_text.minute <= 20): #Year: 2024, DOY:049 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute <= 10): #Year: 2024, DOY:049 - id_aux = 33 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 30): #Year: 2024, DOY:049 - id_aux = 29 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 50): #Year: 2024, DOY:049 - id_aux = (33,34) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 40) or (time_text.hour == 13 and time_text.minute == 20): #Year: 2024, DOY:049 - id_aux = 31 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 0) or (time_text.hour == 9 and time_text.minute == 30): #Year: 2024, DOY:049 - id_aux = 39 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 10): #Year: 2024, DOY:049 - id_aux = 38 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 9 and time_text.minute == 0) or (time_text.hour == 11 and time_text.minute == 50) or (time_text.hour == 12 and time_text.minute == 0) or (time_text.hour == 12 and time_text.minute >= 40) or (time_text.hour == 13 and time_text.minute == 30) or (time_text.hour == 14 and time_text.minute == 0): #Year: 2024, DOY:049 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute <= 10) or (time_text.hour == 11 and time_text.minute == 0) or (time_text.hour == 11 and time_text.minute == 20) or (time_text.hour == 12 and time_text.minute == 30) or (time_text.hour == 13 and time_text.minute == 50): #Year: 2024, DOY:049 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 3 and time_text.minute == 0): #Year: 2024, DOY:049 - id_aux = 41 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 3 and time_text.minute == 50): #Year: 2024, DOY:049 - id_aux = 42 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 4 and time_text.minute == 10): #Year: 2024, DOY:049 - id_aux = 45 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 5 and time_text.minute == 0): #Year: 2024, DOY:047 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 10) or (time_text.hour == 5 and time_text.minute == 20) or (time_text.hour == 5 and time_text.minute == 30): #Year: 2024, DOY:047 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 40): #Year: 2024, DOY:047 - id_aux = 14 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 0 and time_text.minute <= 10) or (time_text.hour == 23 and time_text.minute >= 30) or (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 5 and time_text.minute == 50) or (time_text.hour == 6) or (time_text.hour == 7) or (time_text.hour == 8) or (time_text.hour == 11 and time_text.minute == 10): #Year: 2024, DOY:047 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 30) or (time_text.hour == 9) or (time_text.hour == 10 and time_text.minute <= 20) or (time_text.hour == 10 and time_text.minute >= 40) or (time_text.hour == 11 and time_text.minute == 0) or (time_text.hour == 21 and time_text.minute <= 20): #Year: 2024, DOY:047 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 11 and time_text.minute >= 20) or (time_text.hour == 12): #Year: 2024, DOY:047 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 21 and time_text.minute >= 40) or (time_text.hour == 22) or (time_text.hour == 23 and time_text.minute <= 20): #Year: 2024, DOY:047 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 20): #Year: 2024, DOY:047 - id_aux = 38 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 0): #Year: 2024, DOY:047 - id_aux = 32 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 10): #Year: 2024, DOY:047 - id_aux = 29 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 20) or (time_text.hour == 4 and time_text.minute == 0): #Year: 2024, DOY:047 - id_aux = 24 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 30) or (time_text.hour == 4 and time_text.minute == 10): #Year: 2024, DOY:047 - id_aux = 22 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 40): #Year: 2024, DOY:047 - id_aux = 26 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 50): #Year: 2024, DOY:047 - id_aux = 25 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 4 and time_text.minute == 20): #Year: 2024, DOY:047 - id_aux = 23 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 4 and time_text.minute == 30) or (time_text.hour == 4 and time_text.minute == 40): #Year: 2024, DOY:047 - id_aux = 20 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 7 and time_text.minute == 10) or (time_text.hour == 11 and time_text.minute == 50): #Year: 2024, DOY:047 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 20) or (time_text.hour == 11 and time_text.minute == 30): #Year: 2024, DOY:047 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 30): #Year: 2024, DOY:047 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 9 and time_text.minute == 10): #Year: 2024, DOY:047 - id_aux = 31 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 11 and time_text.minute <= 10) or (time_text.hour == 9 and time_text.minute == 40) or (time_text.hour == 10 and time_text.minute == 10): #Year: 2024, DOY:047 - id_aux = 29 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 30) or (time_text.hour == 15 and time_text.minute == 40): #Year: 2024, DOY:047 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute == 30): #Year: 2024, DOY:047 - id_aux = 26 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 12 and time_text.minute == 0): #Year: 2024, DOY:047 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 12 and time_text.minute == 30) or (time_text.hour == 12 and time_text.minute == 50): #Year: 2024, DOY:047 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 13 and time_text.minute == 15): #Year: 2024, DOY:046 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 22) or (time_text.hour == 23 and time_text.minute == 5): #Year: 2024, DOY:046 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 55) or (time_text.hour == 4 and time_text.minute == 5) or (time_text.hour == 4 and time_text.minute == 35): #Year: 2024, DOY:046 - id_aux = 20 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 4 and time_text.minute == 45) or (time_text.hour == 3 and time_text.minute == 55) or (time_text.hour == 0 and time_text.minute == 35) or (time_text.hour == 1) or (time_text.hour == 2 and time_text.minute == 55) or (time_text.hour == 3 and time_text.minute == 55) or (time_text.hour == 4 and time_text.minute == 45): #Year: 2024, DOY:046 - id_aux = 25 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 25) or (time_text.hour == 3 and time_text.minute == 15): #Year: 2024, DOY:046 - id_aux = 30 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 4 and time_text.minute == 15) or (time_text.hour == 4 and time_text.minute == 25): #Year: 2024, DOY:046 - id_aux = 21 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 25) or (time_text.hour == 3 and time_text.minute == 35): #Year: 2024, DOY:046 - id_aux = 32 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 5 and time_text.minute == 0): #Year: 2024, DOY:050 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 10): #Year: 2024, DOY:050 - id_aux = 26 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 20) or (time_text.hour == 5 and time_text.minute == 30) or (time_text.hour == 6 and time_text.minute == 50) or (time_text.hour == 8 and time_text.minute == 50): #Year: 2024, DOY:050 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5) or (time_text.hour == 6) or (time_text.hour == 7) or (time_text.hour == 8 and time_text.minute <= 20) or (time_text.hour == 8 and time_text.minute == 50) or (time_text.hour == 9) or (time_text.hour == 10 and time_text.minute <= 30) or (time_text.hour == 10 and time_text.minute == 50) or (time_text.hour == 11 and time_text.minute == 0) or (time_text.hour == 6 and time_text.minute == 30) or (time_text.hour == 7 and time_text.minute == 30) or (time_text.hour == 9 and time_text.minute == 0) or (time_text.hour == 9 and time_text.minute == 20) or (time_text.hour == 11 and time_text.minute == 10): #Year: 2024, DOY:050 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 11 and time_text.minute == 20) or (time_text.hour == 11 and time_text.minute == 30) or (time_text.hour == 11 and time_text.minute == 50) or (time_text.hour == 12 and time_text.minute <= 10) or (time_text.hour == 12 and time_text.minute >= 30): #Year: 2024, DOY:050 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 10 and time_text.minute == 40) or (time_text.hour == 11 and time_text.minute == 40) or (time_text.hour == 12 and time_text.minute == 20) or (time_text.hour == 8 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 40): #Year: 2024, DOY:050 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 6 and time_text.minute == 50) or (time_text.hour == 7 and time_text.minute == 20): #Year: 2024, DOY:050 - id_aux = 39 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 10): #Year: 2024, DOY:050 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute >= 20) or (time_text.hour == 9 and time_text.minute == 20) or (time_text.hour == 9 and time_text.minute == 40) or (time_text.hour == 10 and time_text.minute == 30): #Year: 2024, DOY:050 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 9 and time_text.minute == 10) or (time_text.hour == 11 and time_text.minute == 20) or (time_text.hour == 12 and time_text.minute == 0): #Year: 2024, DOY:050 - id_aux = 31 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 9 and time_text.minute == 40): #Year: 2024, DOY:050 - id_aux = 27 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 9 and time_text.minute == 50): #Year: 2024, DOY:050 - id_aux = 29 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute == 10): #Year: 2024, DOY:050 - id_aux = 26 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 11 and time_text.minute == 50): #Year: 2024, DOY:050 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 5 and time_text.minute <= 10): #Year: 2023, DOY:313 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute >= 20 and time_text.minute <= 40): #Year: 2023, DOY:313 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 50) or (time_text.hour == 6 and time_text.minute <= 30): #Year: 2023, DOY:313 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 6 and time_text.minute >= 40) or (time_text.hour == 7) or (time_text.hour == 8) or (time_text.hour == 9) or (time_text.hour == 10 and time_text.minute <= 10): #Year: 2023, DOY:313 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 10 and time_text.minute >= 20) or (time_text.hour == 11): #Year: 2023, DOY:313 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 10 and time_text.minute == 20) or (time_text.hour == 11 and time_text.minute == 0): #Year: 2023, DOY:313 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 5) or (time_text.hour == 6 and time_text.minute <= 30) or (time_text.hour == 23 and time_text.minute >= 20) or (time_text.hour <= 4): #Year: 2023, DOY:312 - id_aux = 16 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 6 and time_text.minute == 40) or (time_text.hour == 6 and time_text.minute == 50): #Year: 2023, DOY:312 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 7): #Year: 2023, DOY:312 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 8 and time_text.minute == 0): #Year: 2023, DOY:312 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 8) or (time_text.hour == 9) or (time_text.hour == 10 and time_text.minute <= 10): #Year: 2023, DOY:312 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 10 and time_text.minute >= 20) or (time_text.hour == 11): #Year: 2023, DOY:312 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 9 and time_text.minute == 30): #Year: 2023, DOY:312 - id_aux = 39 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 11 and time_text.minute == 20): #Year: 2023, DOY:312 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 9 and time_text.minute == 50): #Year: 2023, DOY:311 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour >= 5 and time_text.hour <= 8) or (time_text.hour == 9 and time_text.minute <= 30) or (time_text.hour == 23 and time_text.minute >= 30) or (time_text.hour <= 4): #Year: 2023, DOY:311 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 10 and time_text.minute <= 10) or (time_text.hour == 9 and time_text.minute == 40) or (time_text.hour == 9 and time_text.minute == 50): #Year: 2023, DOY:311 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 10 and time_text.minute >= 20) or (time_text.hour == 11): #Year: 2023, DOY:311 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 10): #Year: 2023, DOY:311 - id_aux = 16 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 10) or (time_text.hour == 1 and time_text.minute == 20) or (time_text.hour == 1 and time_text.minute == 30): #Year: 2023, DOY:311 - id_aux = 22 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 40): #Year: 2023, DOY:311 - id_aux = 21 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 50): #Year: 2023, DOY:311 - id_aux = 20 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute <= 10): #Year: 2023, DOY:311 - id_aux = 19 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 20) or (time_text.hour == 2 and time_text.minute == 30): #Year: 2023, DOY:311 - id_aux = 18 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 23 and time_text.minute >= 10) or (time_text.hour <= 4): #Year: 2023, DOY:310 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 0 and time_text.minute == 0): #Year: 2023, DOY:310 - id_aux = 28 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 50): #Year: 2023, DOY:310 - id_aux = 25 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 0): #Year: 2023, DOY:310 - id_aux = 26 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 11 and time_text.minute == 40): #Year: 2023, DOY:268 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 12 and time_text.minute == 50) or (time_text.hour == 13 and time_text.minute == 40): #Year: 2023, DOY:268 - id_aux = 39 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 5) or (time_text.hour == 10 and time_text.minute == 40) or (time_text.hour == 22 and time_text.minute >= 40) or (time_text.hour == 23 and time_text.minute == 0) or (time_text.hour == 3 and time_text.minute == 20) or (time_text.hour == 4 and time_text.minute == 40) or (time_text.hour == 6 and time_text.minute == 50): #Year: 2023, DOY:268 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2): #Year: 2023, DOY:268 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 8 and time_text.minute == 10) or (time_text.hour == 6 and time_text.minute <= 40) or (time_text.hour == 7 and time_text.minute >= 10): #Year: 2023, DOY:268 - id_aux = 16 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 7 and time_text.minute == 0) or (time_text.hour == 9 and time_text.minute == 20) or (time_text.hour == 23 and time_text.minute >= 10): #Year: 2023, DOY:268 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 20) or (time_text.hour == 23 and time_text.minute == 30): #Year: 2023, DOY:268 - id_aux = 18 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 8 and time_text.minute == 0) or (time_text.hour == 9 and time_text.minute == 50) or (time_text.hour == 10 and time_text.minute <= 10): #Year: 2023, DOY:268 - id_aux = 19 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 8 and time_text.minute == 50): #Year: 2023, DOY:268 - id_aux = 20 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 0) or (time_text.hour == 1) or (time_text.hour == 2 and time_text.minute == 0): #Year: 2023, DOY:268 - id_aux = 21 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 8 and time_text.minute == 20) or (time_text.hour == 8 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 40) or (time_text.hour == 9 and time_text.minute <= 10) or (time_text.hour == 9 and time_text.minute == 30) or (time_text.hour == 9 and time_text.minute == 40) or (time_text.hour == 23 and time_text.minute == 40): #Year: 2023, DOY:268 - id_aux = 24 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 11 and time_text.minute == 20): #Year: 2023, DOY:267 - id_aux = 25 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 11 and time_text.minute == 10): #Year: 2023, DOY:267 - id_aux = 26 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute == 50) or (time_text.hour == 11 and time_text.minute == 0): #Year: 2023, DOY:267 - id_aux = 27 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 10 and time_text.minute == 40): #Year: 2023, DOY:267 - id_aux = 31 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 5 and time_text.minute == 0) or (time_text.hour == 11 and time_text.minute == 40) or (time_text.hour == 13 and time_text.minute == 50): #Year: 2023, DOY:267 - id_aux = 39 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute == 10) or (time_text.hour == 6 and time_text.minute == 20) or (time_text.hour == 7 and time_text.minute >= 40) or (time_text.hour == 8 and time_text.minute == 0) or (time_text.hour == 8 and time_text.minute >= 30) or (time_text.hour == 9 and time_text.minute >= 30): #Year: 2023, DOY:267 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 23 and time_text.minute == 0) or (time_text.hour == 23 and time_text.minute == 20): #Year: 2023, DOY:267 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 10 and time_text.minute == 50) or (time_text.hour == 11 and time_text.minute == 10) or (time_text.hour == 11 and time_text.minute == 20) or (time_text.hour == 11 and time_text.minute == 50) or (time_text.hour == 12 and time_text.minute == 30) or (time_text.hour == 12 and time_text.minute == 50): #Year: 2023, DOY:267 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 2 and time_text.minute == 50): #Year: 2023, DOY:267 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 4) or (time_text.hour == 3) or (time_text.hour == 2) or (time_text.hour == 1) or (time_text.hour == 0 and time_text.minute == 50) or (time_text.hour == 22 and time_text.minute == 40) or (time_text.hour == 5 and time_text.minute == 0) or (time_text.hour == 5 and time_text.minute == 40) or (time_text.hour == 6 and time_text.minute == 0) or (time_text.hour == 6 and time_text.minute >= 20) or (time_text.hour == 7) or (time_text.hour == 8) or (time_text.hour == 9) or (time_text.hour == 10 and time_text.minute <= 30): #Year: 2023, DOY:267 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 7 and time_text.minute == 50): #Year: 2023, DOY:267 - id_aux = 14 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 22 and time_text.minute == 50) or (time_text.hour == 10 and time_text.minute == 0): #Year: 2023, DOY:267 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute >= 10) or (time_text.hour == 0 and time_text.minute <= 20): #Year: 2023, DOY:267 - id_aux = 22 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 40): #Year: 2023, DOY:267 - id_aux = 24 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 11 and time_text.minute == 0): #Year: 2023, DOY:266 - id_aux = 28 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 9 and time_text.minute == 40) or (time_text.hour == 10 and time_text.minute <= 10): #Year: 2023, DOY:266 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 12 and time_text.minute == 0) or (time_text.hour == 9 and time_text.minute <= 10) or (time_text.hour == 9 and time_text.minute == 30): #Year: 2023, DOY:266 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 12 and time_text.minute == 10) or (time_text.hour == 12 and time_text.minute == 20) or (time_text.hour == 5 and time_text.minute == 50) or (time_text.hour == 8 and time_text.minute >= 30): #Year: 2023, DOY:266 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 10): #Year: 2023, DOY:266 - id_aux = 38 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute == 0): #Year: 2023, DOY:266 - id_aux = 39 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 23 and time_text.minute == 20): #Year: 2023, DOY:266 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 22 and time_text.minute == 10): #Year: 2023, DOY:266 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 4) or (time_text.hour == 3 and time_text.minute >= 10) or (time_text.hour == 5 and time_text.minute == 10) or (time_text.hour == 5 and time_text.minute == 20) or (time_text.hour == 5 and time_text.minute == 30) or (time_text.hour == 6 and time_text.minute == 30) or (time_text.hour == 7): #Year: 2023, DOY:266 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 0) or (time_text.hour == 2 and time_text.minute >= 20) or (time_text.hour == 23 and time_text.minute == 10) or (time_text.hour == 22 and time_text.minute == 50) or (time_text.hour == 6 and time_text.minute == 40) or (time_text.hour == 10): #Year: 2023, DOY:266 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 8) or (time_text.hour == 9): #Year: 2023, DOY:266 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute >= 20) or (time_text.hour == 0) or (time_text.hour == 1) or (time_text.hour == 2 and time_text.minute == 0): #Year: 2023, DOY:266 - id_aux = 21 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 5 and time_text.minute <= 10): #Year: 2023, DOY:265 - id_aux = 24 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 2 and time_text.minute == 40): #Year: 2023, DOY:265 - id_aux = 28 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 6 and time_text.minute == 0) or (time_text.hour == 6 and time_text.minute == 20) or (time_text.hour == 3 and time_text.minute == 0): #Year: 2023, DOY:265 - id_aux = 30 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 11) or (time_text.hour == 12 and time_text.minute <= 10): #Year: 2023, DOY:265 - id_aux = 31 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 2 and time_text.minute == 50) or (time_text.hour == 3 and time_text.minute == 20) or (time_text.hour == 3 and time_text.minute == 30) or (time_text.hour == 3 and time_text.minute == 50): #Year: 2023, DOY:265 - id_aux = 32 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 0) or (time_text.hour == 12 and time_text.minute == 50) or (time_text.hour == 13 and time_text.minute == 0) or (time_text.hour == 13 and time_text.minute == 50) or (time_text.hour == 4 and time_text.minute <= 10): #Year: 2023, DOY:265 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 3 and time_text.minute == 10) or (time_text.hour == 14 and time_text.minute == 0): #Year: 2023, DOY:265 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute >= 30) or (time_text.hour == 7 and time_text.minute == 10): #Year: 2023, DOY:265 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 15 and time_text.minute == 0): #Year: 2023, DOY:265 - id_aux = 38 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 23) or (time_text.hour == 4 and time_text.minute == 30): #Year: 2023, DOY:265 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 40): #Year: 2023, DOY:265 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5) or (time_text.hour == 10 and time_text.minute == 40) or (time_text.hour == 8 and time_text.minute == 0): #Year: 2023, DOY:265 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 50) or (time_text.hour == 3 and time_text.minute <= 30) or (time_text.hour == 3 and time_text.minute == 50) or (time_text.hour == 4 and time_text.minute == 0) or (time_text.hour == 22 and time_text.minute >= 40) or (time_text.hour == 10 and time_text.minute == 50) or (time_text.hour == 7 and time_text.minute >= 30) or (time_text.hour == 9) or (time_text.hour == 10 and time_text.minute <= 30): #Year: 2023, DOY:265 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 4 and time_text.minute == 20): #Year: 2023, DOY:265 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 40): #Year: 2023, DOY:265 - id_aux = 14 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute >= 30) or (time_text.hour == 0 or time_text.hour == 1): #Year: 2023, DOY:265 - id_aux = 22 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 50): #Year: 2023, DOY:265 - id_aux = 25 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 14 and time_text.minute == 10): #Year: 2023, DOY:264 - id_aux = 39 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 22): #Year: 2023, DOY:264 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 22 and time_text.minute == 40) or(time_text.hour == 3 or time_text.hour == 4) : #Year: 2023, DOY:264 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 5 and time_text.minute == 40) or (time_text.hour == 6 and time_text.minute >= 10) or (time_text.hour == 8 and time_text.minute == 30) or (time_text.hour == 8 and time_text.minute == 40) or (time_text.hour == 9 and time_text.minute == 10) or (time_text.hour == 9 and time_text.minute == 50): #Year: 2023, DOY:269 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute == 50) or (time_text.hour == 7 and time_text.minute == 50) or (time_text.hour == 8 and time_text.minute == 10) or (time_text.hour == 8 and time_text.minute == 20) or (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 11 and time_text.minute == 10): #Year: 2023, DOY:269 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute == 50): #Year: 2023, DOY:269 - id_aux = 38 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute == 50) or (time_text.hour == 11 and time_text.minute == 0): #Year: 2023, DOY:269 - id_aux = 32 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 11 and time_text.minute == 20): #Year: 2023, DOY:269 - id_aux = 30 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 11 and time_text.minute == 50) or (time_text.hour == 12 and time_text.minute == 10): #Year: 2023, DOY:269 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour >= 5 or time_text.hour <= 9): #Year: 2023, DOY:269 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 7) or (time_text.hour == 8 or time_text.minute == 20): #Year: 2023, DOY:269 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 6 and time_text.minute == 50) or (time_text.hour == 7 and time_text.minute < 30): #Year: 2023, DOY:250 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 7 and time_text.minute >= 30) or (time_text.hour == 8 and time_text.minute == 0) or (time_text.hour == 9 and time_text.minute == 10) or (time_text.hour == 11 and time_text.minute == 40) or (time_text.hour == 12 and time_text.minute == 50): #Year: 2023, DOY:250 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour >= 5 and time_text.hour <= 9) or (time_text.hour == 10 and time_text.minute <= 40): #Year: 2023, DOY:250 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 10 or time_text.hour == 11): #Year: 2023, DOY:250 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 5 and time_text.minute == 30) or (time_text.hour == 6 and time_text.minute == 0): #Year: 2023, DOY:249 - id_aux = 38 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour >= 8 and time_text.hour <= 11) or (time_text.hour == 12 and time_text.minute <= 20): #Year: 2023, DOY:249 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 13 and time_text.minute == 0): #Year: 2023, DOY:249 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 4 and time_text.minute == 10): #Year: 2023, DOY:249 - id_aux = 23 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 4 and time_text.minute == 20): #Year: 2023, DOY:249 - id_aux = 29 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 5): #Year: 2023, DOY:249 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour >= 6 and time_text.hour <= 8): #Year: 2023, DOY:249 - id_aux = 10 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour >= 8 and time_text.hour <= 10): #Year: 2023, DOY:249 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute <= 20): #Year: 2023, DOY:249 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute >= 40) or (time_text.hour >= 0 and time_text.hour < 3): #Year: 2023, DOY:249 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 0): #Year: 2023, DOY:249 - id_aux = 16 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 10): #Year: 2023, DOY:249 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 0): #Year: 2023, DOY:249 - id_aux = 20 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 or time_text.hour == 4): #Year: 2023, DOY:249 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 5 and time_text.minute == 30) or (time_text.hour == 0 and time_text.minute == 20) or (time_text.hour == 0 and time_text.minute == 40): #Year: 2023, DOY:248 - id_aux = 38 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6) or (time_text.hour == 7) or (time_text.hour == 12 and time_text.minute == 20) or (time_text.hour == 12 and time_text.minute == 40): #Year: 2023, DOY:248 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 7 and time_text.minute == 50) or (time_text.hour == 13 and time_text.minute == 30): #Year: 2023, DOY:248 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 8 and time_text.minute <= 30) or (time_text.hour == 8 and time_text.minute == 50) or (time_text.hour == 9) or (time_text.hour == 11 and time_text.minute == 50): #Year: 2023, DOY:248 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 11 and time_text.minute == 30): #Year: 2023, DOY:248 - id_aux = 30 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 9 and time_text.minute == 20): #Year: 2023, DOY:248 - id_aux = 32 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour >= 5 and time_text.hour <= 11) or (time_text.hour >= 2 and time_text.hour <= 4): #Year: 2023, DOY:248 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute >= 10) or (time_text.hour >= 0 and time_text.hour < 2): #Year: 2023, DOY:248 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 50) or (time_text.hour == 0 and time_text.minute == 0): #Year: 2023, DOY:248 - id_aux = 21 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 0 and time_text.minute == 20): #Year: 2023, DOY:248 - id_aux = 24 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 50): #Year: 2023, DOY:248 - id_aux = 18 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 0): #Year: 2023, DOY:248 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 20): #Year: 2023, DOY:248 - id_aux = 16 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 23): #Year: 2023, DOY:247 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour >= 0 and time_text.hour < 2): #Year: 2023, DOY:247 - id_aux = 22 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute <= 40): #Year: 2023, DOY:247 - id_aux = 16 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 50): #Year: 2023, DOY:247 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 10): #Year: 2023, DOY:247 - id_aux = 14 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 or time_text.hour == 4): #Year: 2023, DOY:247 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour >= 0 and time_text.hour < 6): #Year: 2023, DOY:191 - id_aux = 20 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 43): #Year: 2023, DOY:191 - id_aux = 21 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 38): #Year: 2023, DOY:191 - id_aux = 22 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute > 20): #Year: 2023, DOY:191 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute > 50): #Year: 2023, DOY:191 - id_aux = 19 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 5) or (time_text.hour == 6 and time_text.minute == 4): #Year: 2023, DOY:175 - id_aux = 31 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6 and time_text.minute == 14) or (time_text.hour == 6 and time_text.minute == 46): #Year: 2023, DOY:175 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour >= 5 and time_text.hour <= 9): #Year: 2023, DOY:175 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 10 and time_text.minute == 9) or (time_text.hour == 10 and time_text.minute == 30) or (time_text.hour == 10 and time_text.minute == 52): #Year: 2023, DOY:175 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 9 and time_text.minute == 58) or (time_text.hour == 12 and time_text.minute == 28): #Year: 2023, DOY:175 - id_aux = 39 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 10 and time_text.minute == 52) or (time_text.hour == 11 and time_text.minute == 13): #Year: 2023, DOY:175 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 11 and time_text.minute == 2): #Year: 2023, DOY:175 - id_aux = 9 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 11 and time_text.minute == 45) or (time_text.hour == 12 and time_text.minute == 6) or (time_text.hour == 12 and time_text.minute == 17): #Year: 2023, DOY:174 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 23 or time_text.hour <= 4): #Year: 2023, DOY:174 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 12 and time_text.minute == 6) or (time_text.hour == 4 and time_text.minute == 28): #Year: 2023, DOY:173 - id_aux = 31 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 12 and time_text.minute == 17) or (time_text.hour == 2 and time_text.minute == 52) or (time_text.hour == 3 and time_text.minute == 56) or (time_text.hour == 4 and time_text.minute == 17): #Year: 2023, DOY:173 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 12 and time_text.minute == 38) or (time_text.hour == 12 and time_text.minute == 49) or (time_text.hour == 13 and time_text.minute == 10): #Year: 2023, DOY:173 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 23 or time_text.hour <= 4): #Year: 2023, DOY:173 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 2) or (time_text.hour == 3 and time_text.minute == 24): #Year: 2023, DOY:173 - id_aux = 39 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 5 and time_text.minute == 32): #Year: 2023, DOY:172 - id_aux = 10 - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - id_aux = 26 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 5 and time_text.minute == 21): #Year: 2023, DOY:172 - id_aux = 28 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 12 and time_text.minute == 6): #Year: 2023, DOY:172 - id_aux = 28 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 5 and time_text.minute == 0) or (time_text.hour == 6 and time_text.minute == 25): #Year: 2023, DOY:172 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 6): #Year: 2023, DOY:172 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 12 and time_text.minute > 25) or (time_text.hour == 4 and time_text.minute == 6): #Year: 2023, DOY:172 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 23 or time_text.hour <= 4): #Year: 2023, DOY:172 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 30): #Year: 2023, DOY:172 - id_aux = 38 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 11 and time_text.minute == 34) or (time_text.hour == 4 and time_text.minute == 28): #Year: 2023, DOY:171 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 13 and time_text.minute == 21) or (time_text.hour == 2 and time_text.minute == 52): #Year: 2023, DOY:171 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - id_aux = 9 #Year: 2023, DOY:171 #All Hours - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 23 or time_text.hour <= 4): #Year: 2023, DOY:171 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 0 and time_text.minute == 33): #Year: 2023, DOY:171 - id_aux = 17 - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - ''' - ''' - if (time_text.hour == 16 and time_text.minute == 39): #Year: 2023, DOY:170 - id_aux = 48 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour <= 4): #Year: 2023, DOY:170 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23 and time_text.minute > 10): #Year: 2023, DOY:170 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 43): #Year: 2023, DOY:170 - id_aux = 14 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 19) or (time_text.hour == 4 and time_text.minute == 12): #Year: 2023, DOY:170 - id_aux = 39 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 3 and time_text.minute == 40): #Year: 2023, DOY:170 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 4 and time_text.minute == 44): #Year: 2023, DOY:170 - id_aux = 32 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - - ''' - if (time_text.hour == 5) or (time_text.hour == 6) or (time_text.hour == 7) or (time_text.hour == 9): #Year: 2023, DOY:032 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 6 and time_text.minute == 57) or (time_text.hour == 7 and time_text.minute == 29): #Year: 2023, DOY:032 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 9 and time_text.minute == 24): #Year: 2023, DOY:032 - id_aux = 30 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 5 and time_text.minute == 32): #Year: 2023, DOY:032 - id_aux = 41 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 11 and time_text.minute == 14): #Year: 2023, DOY:032 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - if (time_text.hour == 23 and time_text.minute == 50) or (time_text.hour == 0): #Year: 2023, DOY:031 - id_aux = 18 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 23 and time_text.minute == 40) or (time_text.hour == 9 and time_text.minute == 58) or (time_text.hour == 10 and time_text.minute == 20): #Year: 2023, DOY:031 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 11 and time_text.minute == 45): #Year: 2023, DOY:031 - id_aux = 8 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 13): #Year: 2023, DOY:031 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 15 and time_text.minute == 18): #Year: 2023, DOY:031 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 10 and time_text.minute == 52): #Year: 2023, DOY:031 - id_aux = 29 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 10 and time_text.minute == 9): #Year: 2023, DOY:031 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' + dataOut.EPhyFinal[0,:] = missing + if (time_text.hour == 5 and (time_text.minute >= 20)) or (time_text.hour == 6 and (time_text.minute <= 5)): #06-18 LT + #dataOut.DensityFinal[0,27:]=missing + #dataOut.EDensityFinal[0,27:]=missing + dataOut.ElecTempFinal[0,27:]=missing + dataOut.EElecTempFinal[0,27:]=missing + dataOut.IonTempFinal[0,27:]=missing + dataOut.EIonTempFinal[0,27:]=missing + dataOut.PhyFinal[0,27:]=missing + dataOut.EPhyFinal[0, 27:] = missing + ''' + ''' + # 5 Sep 24 + + if (time_text.hour == 3 and (time_text.minute == 35)) or (time_text.hour == 3 and (time_text.minute == 20)): #06-18 LT + #dataOut.DensityFinal[0,27:]=missing + #dataOut.EDensityFinal[0,27:]=missing + dataOut.ElecTempFinal[0,:]=missing + dataOut.EElecTempFinal[0,:]=missing + dataOut.IonTempFinal[0,:]=missing + dataOut.EIonTempFinal[0,:]=missing + dataOut.PhyFinal[0,:]=missing + dataOut.EPhyFinal[0,:] = missing + + if (time_text.hour == 5 and (time_text.minute >= 20)) or (time_text.hour == 6 and (time_text.minute <= 5)): #06-18 LT + #dataOut.DensityFinal[0,27:]=missing + #dataOut.EDensityFinal[0,27:]=missing + dataOut.ElecTempFinal[0,27:]=missing + dataOut.EElecTempFinal[0,27:]=missing + dataOut.IonTempFinal[0,27:]=missing + dataOut.EIonTempFinal[0,27:]=missing + dataOut.PhyFinal[0,27:]=missing + dataOut.EPhyFinal[0,27:] = missing + ''' + ''' + # 6 Sep 24 + if (time_text.hour == 5 and (time_text.minute <= 25)) or (time_text.hour == 6 and (time_text.minute >= 5)): #06-18 LT + #dataOut.DensityFinal[0,27:]=missing + #dataOut.EDensityFinal[0,27:]=missing + dataOut.ElecTempFinal[0,25:]=missing + dataOut.EElecTempFinal[0,25:]=missing + dataOut.IonTempFinal[0,25:]=missing + dataOut.EIonTempFinal[0,25:]=missing + dataOut.PhyFinal[0,25:]=missing + dataOut.EPhyFinal[0, 25:] = missing + ''' + # 8 Sep 24 + if True: #06-18 LT + #dataOut.DensityFinal[0,27:]=missing + #dataOut.EDensityFinal[0,27:]=missing + dataOut.ElecTempFinal[0,36:]=missing + dataOut.EElecTempFinal[0,36:]=missing + dataOut.IonTempFinal[0,36:]=missing + dataOut.EIonTempFinal[0,36:]=missing + dataOut.PhyFinal[0,36:]=missing + dataOut.EPhyFinal[0, 36:] = missing + start = time() + flagcleandata = True + if flagcleandata: + #print("Final Cleaning Process", time_text.hour, time_text.minute) + path = os.path.join(os.path.dirname(__file__), 'clean_data.json') + with open(path) as f: + jsondata= json.load(f) + + corrections = {} + + + for condition in jsondata['conditions']: + year = condition['year'] + doy = condition['doy'] + init = condition['initial_time'] + final = condition['final_time'] + aux_index = condition['aux_index'] + + input_time_obj = datetime.time(hour=time_text.hour, minute=time_text.minute) + init_time_obj = datetime.time(hour=init[0], minute=init[1]) + final_time_obj = datetime.time(hour=final[0], minute=final[1]) + + is_between = init_time_obj <= input_time_obj <= final_time_obj + + if (year != time_text.year) or (DOY != doy) or (is_between == False): + #print("NON valid condition:", condition) + continue + + print("valid condition:", condition) + indexi, indexf = aux_index[0], aux_index[1] + #index = slice(indexi, indexf) + #print(index, "index") + dataOut.DensityFinal[0,indexi:indexf]=missing + dataOut.EDensityFinal[0,indexi:indexf]=missing + dataOut.ElecTempFinal[0,indexi:indexf]=missing + dataOut.EElecTempFinal[0,indexi:indexf]=missing + dataOut.IonTempFinal[0,indexi:indexf]=missing + dataOut.EIonTempFinal[0,indexi:indexf]=missing + dataOut.PhyFinal[0,indexi:indexf]=missing + dataOut.EPhyFinal[0,indexi:indexf]=missing + + print(f"** Cleaning applied ** Data eliminated at {time_text} from heigh index {indexi} to {indexf}") + + end = time() ######## + #spend_clean_time += end - start + print("clean data time: ", end - start) + + + ''' + if key in corrections: + # + input_time_obj = datetime.time(hour=time_text.hour, minute=time_text.minute) + init_time_obj = datetime.time(hour=init[0], minute=init[1]) + final_time_obj = datetime.time(hour=final[0], minute=final[1]) + + if init_time_obj <= final_time_obj: + # Interval does not cross midnight + is_between = init_time_obj <= input_time_obj <= final_time_obj + else: + # Interval crosses midnight + is_between = init_time_obj <= input_time_obj or input_time_obj <= final_time_obj - ''' - if (time_text.hour == 0 and time_text.minute == 33): #Year: 2023, DOY:030 - id_aux = 38 - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - - if (time_text.hour == 18 and time_text.minute == 41): #Year: 2023, DOY:030 - id_aux = 49 - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - - if (time_text.hour == 14 and time_text.minute == 14): #Year: 2023, DOY:030 - id_aux = 34 - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - - if (time_text.hour == 16 and time_text.minute == 1): #Year: 2023, DOY:030 - id_aux = (40,41) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - - if (time_text.hour == 5 and time_text.minute == 53) or (time_text.hour == 15 and time_text.minute == 40): #Year: 2023, DOY:030 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 6 and time_text.minute == 25) or (time_text.hour == 15 and time_text.minute == 8) or (time_text.hour == 13 and time_text.minute == 42) or (time_text.hour == 13 and time_text.minute == 0): #Year: 2023, DOY:030 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 7 and time_text.minute == 40): #Year: 2023, DOY:030 - id_aux = 31 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 11 and time_text.minute == 2): #Year: 2023, DOY:030 - id_aux = 24 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 5) or (time_text.hour == 6) or (time_text.hour == 7) or (time_text.hour == 0): #Year: 2023, DOY:030 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 23 and time_text.minute == 40) or (time_text.hour == 23 and time_text.minute == 50): #Year: 2023, DOY:030 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 11 and time_text.minute == 56): #Year: 2023, DOY:030 - id_aux = 8 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' + if not is_between: + pass + # + clean = corrections[key] + indexi, indexf = clean[0], clean[1] + index = slice(indexi, indexf) + + dataOut.DensityFinal[0,index]=missing + dataOut.EDensityFinal[0,index]=missing + dataOut.ElecTempFinal[0,index]=missing + dataOut.EElecTempFinal[0,index]=missing + dataOut.IonTempFinal[0,index]=missing + dataOut.EIonTempFinal[0,index]=missing + dataOut.PhyFinal[0,index]=missing + dataOut.EPhyFinal[0,index]=missing + + print(f"Cleaning applied:") ''' - if (time_text.hour == 14 and time_text.minute == 42): #Year: 2023, DOY:027 - id_aux = 31 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 15 and time_text.minute == 25) or (time_text.hour == 15 and time_text.minute == 36): #Year: 2023, DOY:027 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 23 and time_text.minute == 36) or (time_text.hour == 23 and time_text.minute == 46) or (time_text.hour == 23 and time_text.minute == 57): #Year: 2023, DOY:027 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour == 23 and time_text.minute == 40) or (time_text.hour == 23 and time_text.minute == 50) or (time_text.hour == 0 and time_text.minute <= 22) or (time_text.hour == 5 and time_text.minute == 10) or (time_text.hour == 6) or (time_text.hour == 7): #Year: 2023, DOY:029 - id_aux = 14 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 8) or (time_text.hour == 9 and time_text.minute != 58) or (time_text.hour == 11 and time_text.minute == 2) or (time_text.hour == 5 and time_text.minute == 21) or (time_text.hour == 5 and time_text.minute == 42) or (time_text.hour == 5 and time_text.minute == 53): #Year: 2023, DOY:029 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 5 and time_text.minute == 32): #Year: 2023, DOY:029 - id_aux = 16 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 0 and time_text.minute > 22 and time_text.minute != 54): #Year: 2023, DOY:029 - id_aux = 22 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 12 and time_text.minute == 49): #Year: 2023, DOY:029 - id_aux = 32 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 13 and time_text.minute == 21) or (time_text.hour == 14 and time_text.minute == 25) or (time_text.hour == 14 and time_text.minute == 36) or (time_text.hour == 14 and time_text.minute == 57): #Year: 2023, DOY:029 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 6 and time_text.minute == 46) or (time_text.hour == 6 and time_text.minute == 57) or (time_text.hour == 7 and time_text.minute == 50) or (time_text.hour == 6 and time_text.minute == 14): #Year: 2023, DOY:029 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 7 and time_text.minute == 18): #Year: 2023, DOY:029 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 9 and time_text.minute == 26) or (time_text.hour == 9 and time_text.minute == 37): #Year: 2023, DOY:029 - id_aux = 28 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 22 and time_text.minute == 14) or (time_text.hour == 22 and time_text.minute == 25): #Year: 2023, DOY:029 - id_aux = (37,38) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - ''' - ''' - if (time_text.hour == 5 and time_text.minute == 32) or (time_text.hour == 5 and time_text.minute == 42) or (time_text.hour == 5 and time_text.minute == 53) or (time_text.hour == 7 and time_text.minute == 18) or (time_text.hour == 7 and time_text.minute == 29) or (time_text.hour == 7 and time_text.minute == 40) or (time_text.hour == 7 and time_text.minute == 50): #Year: 2023, DOY:028 - id_aux = 13 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 9 and time_text.minute == 5): #Year: 2023, DOY:028 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 11 and time_text.minute == 13) or (time_text.hour == 12 and time_text.minute == 17): #Year: 2023, DOY:028 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 7 and time_text.minute == 29): #Year: 2023, DOY:028 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 13 and time_text.minute == 53) or (time_text.hour == 14 and time_text.minute == 4) or (time_text.hour == 14 and time_text.minute == 36): #Year: 2023, DOY:028 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 0 and time_text.minute == 22) or (time_text.hour == 0 and time_text.minute == 33): #Year: 2023, DOY:028 - id_aux = 22 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 23 and time_text.minute == 40) or (time_text.hour == 23 and time_text.minute == 50) or (time_text.hour == 0 and time_text.minute == 12): #Year: 2023, DOY:028 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - #if (time_text.hour >= 7 and time_text.hour < 9): #Year: 2022, DOY:102 - if (time_text.hour == 20 and time_text.minute == 8): #Year: 2022, DOY:243 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 20 and time_text.minute == 19): #Year: 2022, DOY:243 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 20 and time_text.minute == 29): #Year: 2022, DOY:243 - id_aux = 30 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 20 and time_text.minute == 44): #Year: 2022, DOY:243 - id_aux = 31 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour <= 8): #Year: 2022, DOY:243 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23): #Year: 2022, DOY:243 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 21): #Year: 2022, DOY:243 - id_aux = (36,37) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 53): #Year: 2022, DOY:243 - id_aux = (37,38) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 6 and time_text.minute == 4): #Year: 2022, DOY:243 - id_aux = (38,39) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 12 and time_text.minute == 6): #Year: 2022, DOY:243 - id_aux = (29,30) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 14 and time_text.minute == 14): #Year: 2022, DOY:243 - id_aux = (35,36) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 2): #Year: 2022, DOY:243 - id_aux = (41,42) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 0 and time_text.minute == 8): #Year: 2022, DOY:243 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - id_aux = 18 - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 26): #Year: 2022, DOY:243 - id_aux = (12,13,14) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 36): #Year: 2022, DOY:243 - id_aux = (14,15,16) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 6): #Year: 2022, DOY:243 - id_aux = (36,37,38) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 16): #Year: 2022, DOY:243 - id_aux = (34,35) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 38): #Year: 2022, DOY:243 - id_aux = (35,36) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 20): #Year: 2022, DOY:243 - id_aux = (33,34) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 42): #Year: 2022, DOY:243 - id_aux = 34 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 4 and time_text.minute == 35): #Year: 2022, DOY:243 - id_aux = (36,37) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - ''' - ''' - if (time_text.hour == 2 and time_text.minute == 23): #Year: 2022, DOY:244 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 20 and time_text.minute == 52): #Year: 2022, DOY:244 - id_aux = 25 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 21 and time_text.minute == 3): #Year: 2022, DOY:244 - id_aux = 38 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 21 and time_text.minute == 13) or (time_text.hour == 2 and time_text.minute == 55): #Year: 2022, DOY:244 - id_aux = 26 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 21 and time_text.minute == 24): #Year: 2022, DOY:244 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 21 and time_text.minute == 35): #Year: 2022, DOY:244 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 21 and time_text.minute == 45): #Year: 2022, DOY:244 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 3 and time_text.minute == 59): #Year: 2022, DOY:244 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour <= 8): #Year: 2022, DOY:244 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 23): #Year: 2022, DOY:244 - id_aux = 12 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 42): #Year: 2022, DOY:244 - id_aux = (32,33) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 11 and time_text.minute == 56): #Year: 2022, DOY:244 - id_aux = (39,40) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 12 and time_text.minute == 52): #Year: 2022, DOY:244 - id_aux = (36,37) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 13 and time_text.minute == 3): #Year: 2022, DOY:244 - id_aux = (37,38) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 11): #Year: 2022, DOY:244 - id_aux = (40,41) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 21): #Year: 2022, DOY:244 - id_aux = (12,13,39,40,41) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 23 and time_text.minute == 53): #Year: 2022, DOY:244 - id_aux = (15,16,17,18) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 2 and time_text.minute == 44): #Year: 2022, DOY:244 - id_aux = (40,41,42) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 37): #Year: 2022, DOY:244 - id_aux = (36,37) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 4 and time_text.minute == 9): #Year: 2022, DOY:244 - id_aux = (32,33,34) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 4 and time_text.minute == 20): #Year: 2022, DOY:244 - id_aux = 37 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 4 and time_text.minute == 31): #Year: 2022, DOY:244 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 2 and time_text.minute == 1): #Year: 2022, DOY:244 - id_aux = 40 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 2 and time_text.minute == 1): #Year: 2022, DOY:244 - id_aux = 26 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 29): #Year: 2022, DOY:244 - id_aux = 30 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 0 and time_text.minute == 25) or (time_text.hour == 0 and time_text.minute == 36) or (time_text.hour == 1 and time_text.minute == 8) or (time_text.hour == 1 and time_text.minute == 19) or (time_text.hour == 1 and time_text.minute == 29): #Year: 2022, DOY:244 - id_aux = 20 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 1 and time_text.minute == 40) or (time_text.hour == 1 and time_text.minute == 51): #Year: 2022, DOY:244 - id_aux = 34 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - ''' - ''' - if (time_text.hour <= 10): #Year: 2022, DOY:245 - id_aux = 11 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 10): #Year: 2022, DOY:245 - id_aux = 35 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 5 and time_text.minute == 21): #Year: 2022, DOY:245 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 11 and time_text.minute == 45): #Year: 2022, DOY:245 - id_aux = 7 - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - ''' - ''' - if (time_text.hour == 23 and time_text.minute > 30): #Year: 2022, DOY:241 - id_aux = 17 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - - if (time_text.hour == 13 and time_text.minute == 36): #Year: 2022, DOY:241 - id_aux = 33 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - if (time_text.hour == 13 and time_text.minute == 47): #Year: 2022, DOY:241 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - - if (time_text.hour == 13 and time_text.minute == 57): #Year: 2022, DOY:241 - id_aux = 36 - dataOut.DensityFinal[0,id_aux:]=missing - dataOut.EDensityFinal[0,id_aux:]=missing - dataOut.ElecTempFinal[0,id_aux:]=missing - dataOut.EElecTempFinal[0,id_aux:]=missing - dataOut.IonTempFinal[0,id_aux:]=missing - dataOut.EIonTempFinal[0,id_aux:]=missing - dataOut.PhyFinal[0,id_aux:]=missing - dataOut.EPhyFinal[0,id_aux:]=missing - ''' - ''' - #print("den: ", dataOut.DensityFinal[0,27]) - if (time_text.hour == 5 and time_text.minute == 42): #Year: 2022, DOY:242 - id_aux = 16 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 5 and time_text.minute == 53): #Year: 2022, DOY:242 - id_aux = 9 - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 6): #Year: 2022, DOY:242 - id_aux = 9 - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 6 and time_text.minute == 36): #Year: 2022, DOY:242 - id_aux = (10,36,37) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 7): #Year: 2022, DOY:242 - id_aux = 9 - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 13 and time_text.minute == 32): #Year: 2022, DOY:242 - id_aux = (36,37) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 23 or time_text.hour <= 4): #Year: 2022, DOY:242 - id_aux = 15 - dataOut.DensityFinal[0,:id_aux]=missing - dataOut.EDensityFinal[0,:id_aux]=missing - dataOut.ElecTempFinal[0,:id_aux]=missing - dataOut.EElecTempFinal[0,:id_aux]=missing - dataOut.IonTempFinal[0,:id_aux]=missing - dataOut.EIonTempFinal[0,:id_aux]=missing - dataOut.PhyFinal[0,:id_aux]=missing - dataOut.EPhyFinal[0,:id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 13): #Year: 2022, DOY:242 - id_aux = (37,38) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 3 and time_text.minute == 34): #Year: 2022, DOY:242 - id_aux = (35,36) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 4 and time_text.minute == 17): #Year: 2022, DOY:242 - id_aux = (34,35) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 18 and time_text.minute == 30): #Year: 2022, DOY:242 - id_aux = (26,27) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - if (time_text.hour == 14 and time_text.minute == 14): #Year: 2022, DOY:242 - id_aux = (35,36) - dataOut.DensityFinal[0,id_aux]=missing - dataOut.EDensityFinal[0,id_aux]=missing - dataOut.ElecTempFinal[0,id_aux]=missing - dataOut.EElecTempFinal[0,id_aux]=missing - dataOut.IonTempFinal[0,id_aux]=missing - dataOut.EIonTempFinal[0,id_aux]=missing - dataOut.PhyFinal[0,id_aux]=missing - dataOut.EPhyFinal[0,id_aux]=missing - ''' #print("den_final",dataOut.DensityFinal) - + # for MAD dataOut.flagNoData = numpy.all(numpy.isnan(dataOut.DensityFinal)) #Si todos los valores son NaN no se prosigue - + '''Save of clean data information in temp csv file for den correction''' if not dataOut.flagNoData: if savecfclean: try: @@ -10434,7 +3622,7 @@ class DataSaveCleaner(Operation): cf = numpy.array([dataOut.utctime,dataOut.cf]) f.writerow(cf) file.close() - + # for plot dataOut.flagNoData = False #Descomentar solo para ploteo #Comentar para MADWriter dataOut.DensityFinal *= 1.e6 #Convert units to m^⁻3 @@ -10446,188 +3634,6 @@ class DataSaveCleaner(Operation): return dataOut -class DataSaveCleanerHP(Operation): - ''' - Written by R. Flores - ''' - def __init__(self, **kwargs): - - Operation.__init__(self, **kwargs) - - def run(self,dataOut): - - dataOut.Density_DP=numpy.zeros(dataOut.cut) - dataOut.EDensity_DP=numpy.zeros(dataOut.cut) - dataOut.ElecTemp_DP=numpy.zeros(dataOut.cut) - dataOut.EElecTemp_DP=numpy.zeros(dataOut.cut) - dataOut.IonTemp_DP=numpy.zeros(dataOut.cut) - dataOut.EIonTemp_DP=numpy.zeros(dataOut.cut) - dataOut.Phy_DP=numpy.zeros(dataOut.cut) - dataOut.EPhy_DP=numpy.zeros(dataOut.cut) - dataOut.Phe_DP=numpy.empty(dataOut.cut) - dataOut.EPhe_DP=numpy.empty(dataOut.cut) - - dataOut.Density_DP[:]=numpy.copy(dataOut.ph2[:dataOut.cut]) - dataOut.EDensity_DP[:]=numpy.copy(dataOut.sdp2[:dataOut.cut]) - dataOut.ElecTemp_DP[:]=numpy.copy(dataOut.te2[:dataOut.cut]) - dataOut.EElecTemp_DP[:]=numpy.copy(dataOut.ete2[:dataOut.cut]) - dataOut.IonTemp_DP[:]=numpy.copy(dataOut.ti2[:dataOut.cut]) - dataOut.EIonTemp_DP[:]=numpy.copy(dataOut.eti2[:dataOut.cut]) - dataOut.Phy_DP[:]=numpy.copy(dataOut.phy2[:dataOut.cut]) - dataOut.EPhy_DP[:]=numpy.copy(dataOut.ephy2[:dataOut.cut]) - dataOut.Phe_DP[:]=numpy.nan - dataOut.EPhe_DP[:]=numpy.nan - - missing=numpy.nan - temp_min=100.0 - temp_max_dp=3000.0 - - for i in range(dataOut.cut): - if dataOut.info2[i]!=1: - dataOut.ElecTemp_DP[i]=dataOut.EElecTemp_DP[i]=dataOut.IonTemp_DP[i]=dataOut.EIonTemp_DP[i]=missing - - if dataOut.ElecTemp_DP[i]<=temp_min or dataOut.ElecTemp_DP[i]>temp_max_dp or dataOut.EElecTemp_DP[i]>temp_max_dp: - - dataOut.ElecTemp_DP[i]=dataOut.EElecTemp_DP[i]=missing - - if dataOut.IonTemp_DP[i]<=temp_min or dataOut.IonTemp_DP[i]>temp_max_dp or dataOut.EIonTemp_DP[i]>temp_max_dp: - dataOut.IonTemp_DP[i]=dataOut.EIonTemp_DP[i]=missing - -####################################################################################### CHECK THIS - if dataOut.lags_to_plot[i,:][~numpy.isnan(dataOut.lags_to_plot[i,:])].shape[0]<6: - dataOut.ElecTemp_DP[i]=dataOut.EElecTemp_DP[i]=dataOut.IonTemp_DP[i]=dataOut.EIonTemp_DP[i]=missing - - if dataOut.ut_Faraday>4 and dataOut.ut_Faraday<11: - if numpy.nanmax(dataOut.acfs_error_to_plot[i,:])>=10: - dataOut.ElecTemp_DP[i]=dataOut.EElecTemp_DP[i]=dataOut.IonTemp_DP[i]=dataOut.EIonTemp_DP[i]=missing -####################################################################################### - - if dataOut.EPhy_DP[i]<0.0 or dataOut.EPhy_DP[i]>1.0: - dataOut.Phy_DP[i]=dataOut.EPhy_DP[i]=missing - if dataOut.EDensity_DP[i]>0.0 and dataOut.Density_DP[i]>0.0 and dataOut.Density_DP[i]<9.9e6: - dataOut.EDensity_DP[i]=max(dataOut.EDensity_DP[i],1000.0) - else: - dataOut.Density_DP[i]=dataOut.EDensity_DP[i]=missing - if dataOut.Phy_DP[i]==0 or dataOut.Phy_DP[i]>0.4: - dataOut.Phy_DP[i]=dataOut.EPhy_DP[i]=missing - if dataOut.ElecTemp_DP[i]==dataOut.IonTemp_DP[i]: - dataOut.EElecTemp_DP[i]=dataOut.EIonTemp_DP[i] - if numpy.isnan(dataOut.ElecTemp_DP[i]): - dataOut.EElecTemp_DP[i]=missing - if numpy.isnan(dataOut.IonTemp_DP[i]): - dataOut.EIonTemp_DP[i]=missing - if numpy.isnan(dataOut.ElecTemp_DP[i]) or numpy.isnan(dataOut.EElecTemp_DP[i]): - dataOut.ElecTemp_DP[i]=dataOut.EElecTemp_DP[i]=dataOut.IonTemp_DP[i]=dataOut.EIonTemp_DP[i]=missing - - - - dataOut.Density_LP=numpy.zeros(dataOut.NACF-dataOut.cut) - dataOut.EDensity_LP=numpy.zeros(dataOut.NACF-dataOut.cut) - dataOut.ElecTemp_LP=numpy.zeros(dataOut.NACF-dataOut.cut) - dataOut.EElecTemp_LP=numpy.zeros(dataOut.NACF-dataOut.cut) - dataOut.IonTemp_LP=numpy.zeros(dataOut.NACF-dataOut.cut) - dataOut.EIonTemp_LP=numpy.zeros(dataOut.NACF-dataOut.cut) - dataOut.Phy_LP=numpy.zeros(dataOut.NACF-dataOut.cut) - dataOut.EPhy_LP=numpy.zeros(dataOut.NACF-dataOut.cut) - dataOut.Phe_LP=numpy.zeros(dataOut.NACF-dataOut.cut) - dataOut.EPhe_LP=numpy.zeros(dataOut.NACF-dataOut.cut) - - dataOut.Density_LP[:]=numpy.copy(dataOut.ne[dataOut.cut:dataOut.NACF]) - dataOut.EDensity_LP[:]=numpy.copy(dataOut.ene[dataOut.cut:dataOut.NACF]) - dataOut.ElecTemp_LP[:]=numpy.copy(dataOut.te[dataOut.cut:dataOut.NACF]) - dataOut.EElecTemp_LP[:]=numpy.copy(dataOut.ete[dataOut.cut:dataOut.NACF]) - dataOut.IonTemp_LP[:]=numpy.copy(dataOut.ti[dataOut.cut:dataOut.NACF]) - dataOut.EIonTemp_LP[:]=numpy.copy(dataOut.eti[dataOut.cut:dataOut.NACF]) - dataOut.Phy_LP[:]=numpy.copy(dataOut.ph[dataOut.cut:dataOut.NACF]) - dataOut.EPhy_LP[:]=numpy.copy(dataOut.eph[dataOut.cut:dataOut.NACF]) - dataOut.Phe_LP[:]=numpy.copy(dataOut.phe[dataOut.cut:dataOut.NACF]) - dataOut.EPhe_LP[:]=numpy.copy(dataOut.ephe[dataOut.cut:dataOut.NACF]) - - temp_max_lp=6000.0 - - for i in range(dataOut.NACF-dataOut.cut): - - if dataOut.ElecTemp_LP[i]<=temp_min or dataOut.ElecTemp_LP[i]>temp_max_lp or dataOut.EElecTemp_LP[i]>temp_max_lp: - - dataOut.ElecTemp_LP[i]=dataOut.EElecTemp_LP[i]=missing - - if dataOut.IonTemp_LP[i]<=temp_min or dataOut.IonTemp_LP[i]>temp_max_lp or dataOut.EIonTemp_LP[i]>temp_max_lp: - dataOut.IonTemp_LP[i]=dataOut.EIonTemp_LP[i]=missing - if dataOut.EPhy_LP[i]<0.0 or dataOut.EPhy_LP[i]>1.0: - dataOut.Phy_LP[i]=dataOut.EPhy_LP[i]=missing - - if dataOut.EPhe_LP[i]<0.0 or dataOut.EPhe_LP[i]>1.0: - dataOut.Phe_LP[i]=dataOut.EPhe_LP[i]=missing - if dataOut.EDensity_LP[i]>0.0 and dataOut.Density_LP[i]>0.0 and dataOut.Density_LP[i]<9.9e6 and dataOut.EDensity_LP[i]*dataOut.Density_LP[i]<9.9e6: - dataOut.EDensity_LP[i]=max(dataOut.EDensity_LP[i],1000.0/dataOut.Density_LP[i]) - else: - dataOut.Density_LP[i]=missing - dataOut.EDensity_LP[i]=1.0 - - if numpy.isnan(dataOut.Phy_LP[i]): - dataOut.EPhy_LP[i]=missing - - if numpy.isnan(dataOut.Phe_LP[i]): - dataOut.EPhe_LP[i]=missing - - - if dataOut.ElecTemp_LP[i]==dataOut.IonTemp_LP[i]: - dataOut.EElecTemp_LP[i]=dataOut.EIonTemp_LP[i] - if numpy.isnan(dataOut.ElecTemp_LP[i]): - dataOut.EElecTemp_LP[i]=missing - if numpy.isnan(dataOut.IonTemp_LP[i]): - dataOut.EIonTemp_LP[i]=missing - if numpy.isnan(dataOut.ElecTemp_LP[i]) or numpy.isnan(dataOut.EElecTemp_LP[i]): - dataOut.ElecTemp_LP[i]=dataOut.EElecTemp_LP[i]=dataOut.IonTemp_LP[i]=dataOut.EIonTemp_LP[i]=missing - - - dataOut.DensityFinal=numpy.reshape(numpy.concatenate((dataOut.Density_DP,dataOut.Density_LP)),(1,-1)) - dataOut.EDensityFinal=numpy.reshape(numpy.concatenate((dataOut.EDensity_DP,dataOut.EDensity_LP)),(1,-1)) - dataOut.ElecTempFinal=numpy.reshape(numpy.concatenate((dataOut.ElecTemp_DP,dataOut.ElecTemp_LP)),(1,-1)) - dataOut.EElecTempFinal=numpy.reshape(numpy.concatenate((dataOut.EElecTemp_DP,dataOut.EElecTemp_LP)),(1,-1)) - dataOut.IonTempFinal=numpy.reshape(numpy.concatenate((dataOut.IonTemp_DP,dataOut.IonTemp_LP)),(1,-1)) - dataOut.EIonTempFinal=numpy.reshape(numpy.concatenate((dataOut.EIonTemp_DP,dataOut.EIonTemp_LP)),(1,-1)) - dataOut.PhyFinal=numpy.reshape(numpy.concatenate((dataOut.Phy_DP,dataOut.Phy_LP)),(1,-1)) - dataOut.EPhyFinal=numpy.reshape(numpy.concatenate((dataOut.EPhy_DP,dataOut.EPhy_LP)),(1,-1)) - dataOut.PheFinal=numpy.reshape(numpy.concatenate((dataOut.Phe_DP,dataOut.Phe_LP)),(1,-1)) - dataOut.EPheFinal=numpy.reshape(numpy.concatenate((dataOut.EPhe_DP,dataOut.EPhe_LP)),(1,-1)) - - nan_array_2=numpy.empty(dataOut.NACF-dataOut.NDP) - nan_array_2[:]=numpy.nan - - dataOut.acfs_DP=numpy.zeros((dataOut.NACF,dataOut.DPL),'float32') - dataOut.acfs_error_DP=numpy.zeros((dataOut.NACF,dataOut.DPL),'float32') - acfs_dp_aux=dataOut.acfs_to_save.transpose() - acfs_error_dp_aux=dataOut.acfs_error_to_save.transpose() - for i in range(dataOut.DPL): - dataOut.acfs_DP[:,i]=numpy.concatenate((acfs_dp_aux[:,i],nan_array_2)) - dataOut.acfs_error_DP[:,i]=numpy.concatenate((acfs_error_dp_aux[:,i],nan_array_2)) - dataOut.acfs_DP=dataOut.acfs_DP.transpose() - dataOut.acfs_error_DP=dataOut.acfs_error_DP.transpose() - - dataOut.acfs_LP=numpy.zeros((dataOut.NACF,dataOut.IBITS),'float32') - dataOut.acfs_error_LP=numpy.zeros((dataOut.NACF,dataOut.IBITS),'float32') - - for i in range(dataOut.NACF): - for j in range(dataOut.IBITS): - if numpy.abs(dataOut.errors[j,i]/dataOut.output_LP_integrated.real[0,i,0])<1.0: - dataOut.acfs_LP[i,j]=dataOut.output_LP_integrated.real[j,i,0]/dataOut.output_LP_integrated.real[0,i,0] - dataOut.acfs_LP[i,j]=max(min(dataOut.acfs_LP[i,j],1.0),-1.0) - - dataOut.acfs_error_LP[i,j]=dataOut.errors[j,i]/dataOut.output_LP_integrated.real[0,i,0] - else: - dataOut.acfs_LP[i,j]=numpy.nan - - dataOut.acfs_error_LP[i,j]=numpy.nan - - dataOut.acfs_LP=dataOut.acfs_LP.transpose() - dataOut.acfs_error_LP=dataOut.acfs_error_LP.transpose() - - dataOut.DensityFinal *= 1.e6 #Convert units to m^⁻3 - dataOut.EDensityFinal *= 1.e6 #Convert units to m^⁻3 - - return dataOut - class ACFs(Operation): ''' diff --git a/schainpy/model/proc/jroproc_voltage_lags.py b/schainpy/model/proc/jroproc_voltage_lags.py index 4573778..0b149b4 100644 --- a/schainpy/model/proc/jroproc_voltage_lags.py +++ b/schainpy/model/proc/jroproc_voltage_lags.py @@ -1882,7 +1882,7 @@ class BadHeights_Old(Operation): if( (dataOut.kabxys_integrated[5][j,l,0] <= 0.) or (dataOut.kabxys_integrated[4][j,l,0] <= 0.) or (dataOut.kabxys_integrated[7][j,l,0] <= 0.) or (dataOut.kabxys_integrated[6][j,l,0] <= 0.)): dataOut.ibad[j][l]=1 else: - dataOut.ibad[j][l]=0 + dataOut.ibad[j][l]=1 #print("ibad: ",dataOut.ibad) @@ -2157,7 +2157,6 @@ class faraday_angle_and_power_double_pulse(Operation): #print("sdp2: ",dataOut.sdp2) #print("sdn2",dataOut.sdn2) - return dataOut diff --git a/schainpy/model/proc/normalize_factor2.json b/schainpy/model/proc/normalize_factor2.json new file mode 100644 index 0000000..7bdfabc --- /dev/null +++ b/schainpy/model/proc/normalize_factor2.json @@ -0,0 +1,447 @@ +{"conditions": [ + + {"year": 2022, "doy": 104, + "time": [[5,32]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2022, "doy": 93, + "time": [ [0,12] ], + "cf": "dataOut.cflast[0]"}, + + {"year": 2022, "doy": 242, + "time": [[0,22],[0,54],[1,48]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2022, "doy": 243, + "time": [[1,23],[1,44]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2023, "doy": 28, + "time": [[7,18],[7,40],[7,50]], + "cf": 0.029844088}, + + {"year": 2023, "doy": 28, + "time": [[0,12],[0,22]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2023, "doy": 29, + "time": [[7,8],[7,40],[7,50],[8,1],[9,48],[9,58]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2023, "doy": 29, + "time": [[7,29]], + "cf": 0.025670702}, + + {"year": 2023, "doy": 29, + "time": [ [8,12] ], + "cf": 0.036969288}, + + {"year": 2023, "doy": 29, + "time": [ [8,22] ], + "cf": 0.0418645}, + + {"year": 2023, "doy": 30, + "time": [[5,10],[5,42],[0,22],[0,33]], + "cf": 0.0068}, + + {"year": 2023, "doy": 172, + "time": [ [5,10] ], + "cf": 0.0068}, + + {"year": 2023, "doy": 175, + "time": [[5,21],[8,44],[9,5],[8,54],[8,33],[8,22],[8,1],[7,50],[7,40],[7,8],[6,4],[5,53],[10,9],[6,36],[10,30],[9,26],[9,37],[9,48] ], + "cf": 0.0068}, + + {"year": 2023, "doy": 191, + "time": [[1,43],[1,48],[1,54]], + "cf": 0.0068}, + + {"year": 2023, "doy": 247, + "time": [ [23,50] ], + "cf": 0.0068}, + + {"year": 2023, "doy": 247, + "time": [[0,40]], + "cf": 0.00145}, + + {"year": 2023, "doy": 248, + "time": [ [23,50],[0,0],[7,30],[8,30],[8,40],[8,50],[9,10],[9,20],[9,50]], + "cf": 0.00145}, + + {"year": 2023, "doy": 250, + "time": [ [7,30],[8,20]], + "cf": 0.00145}, + + {"year": 2023, "doy": 269, + "time": [ [7,0],[7,20],[7,30],[8,30],[8,40],[8,50],[9,0],[9,10],[9,30],[10,0],[10,10]], + "cf": 0.00145}, + + {"year": 2023,"doy": 265, + "time": [[9, 40],[10, 30],[12, 10],[23, 40]], + "cf": 0.00145}, + + {"year": 2023,"doy": 266, + "time": [[6, 10],[6, 50],[7, 10],[8, 10],[9, 20],[9, 40],[11, 40],[23, 50],[2, 30]], + "cf": 0.00145}, + + {"year": 2023,"doy": 267, + "time": [[7, 10],[8, 20],[8, 40],[9, 0],[10, 0],[6, 0],[23, 0],[0, 10]], + "cf": 0.00145}, + + {"year": 2023,"doy": 268, + "time": [[7, 0],[8, 0],[9, 0],[10, 30],[23, 30],[23, 40],[0, 0]], + "cf": 0.00145}, + + {"year": 2023,"doy": 265, + "time": [[2, 50]], + "cf": 0.00145}, + + {"year": 2023,"doy": 269, + "time": [[10, 20],[10, 30],[10, 40]], + "cf": 0.0018814794}, + + {"year": 2023,"doy": 269, + "time": [[11, 0]], + "cf": 0.0016059145}, + + {"year": 2023,"doy": 249, + "time": [[3, 40]], + "cf": 0.0061}, + + {"year": 2023,"doy": 249, + "time": [[4, 10]], + "cf": 0.0065}, + + {"year": 2023, "doy": 191, + "time": [[1, 38],[23, 56],[0, 2],[0, 44]], + "cf": 0.00033544924}, + + {"year": 2023, "doy": 191, + "time": [[23, 56]], + "cf": 0.000311806775}, + + {"year": 2023, "doy": 191, + "time": [[0, 2]], + "cf": 0.0003127}, + + {"year": 2023, "doy": 191, + "time": [[0, 44]], + "cf": 0.000314039645}, + + {"year": 2023,"doy": 31, + "time": [ [0, 22],[0, 33]], + "cf": 0.008}, + + {"year": 2023,"doy": 32, + "time": [[7, 29]], + "cf": 0.0077}, + + {"year": 2023,"doy": 50, + "time": [[6, 0]], + "cf": 0.008}, + + {"year": 2023,"doy": 50, + "time": [ [7, 20] ], + "cf": 0.0077}, + + {"year": 2023,"doy": 50, + "time": [ [11, 10]], + "cf": 0.014}, + + {"year": 2023, "doy": 50, + "time": [[11, 20]], + "cf": 0.010}, + + {"year": 2023, "doy": 50, + "time": [[10, 30]], + "cf": 0.012}, + + {"year": 2023,"doy": 50, + "time": [[10, 40]], + "cf": 0.014}, + + {"year": 2023,"doy": 50, + "time": [[5, 10]], + "cf": 0.01}, + + {"year": 2024,"doy": 50, + "time": [ [7, 10],[8, 0],[8, 10],[8, 50],[9, 10],[9, 40],[10, 20] ], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024,"doy": 46, + "time": [[3, 35]], + "cf": 0.007}, + + {"year": 2024,"doy": 46, + "time": [[4, 25],[3, 55]], + "cf": 0.0045}, + + {"year": 2024,"doy": 46, + "time": [[4, 45]], + "cf": 0.007}, + + {"year": 2024,"doy": 47, + "time": [[11, 10]], + "cf": 0.015}, + + {"year": 2024, "doy": 47, + "time": [[3, 50]], + "cf": 0.005}, + + {"year": 2024,"doy": 47, + "time": [[7, 20],[9, 10],[10, 10],[11, 0],[1, 10],[4, 0], [4, 20]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024,"doy": 49, + "time": [[5, 30]], + "cf": 0.004}, + + {"year": 2024,"doy": 49, + "time": [[7, 20]], + "cf": 0.006}, + + {"year": 2024,"doy": 49, + "time": [[7, 30]], + "cf": 0.009}, + + {"year": 2024,"doy": 49, + "time": [[7, 40]], + "cf": 0.010}, + + {"year": 2024,"doy": 49, + "time": [ [9, 10]], + "cf": 0.007}, + + {"year": 2024,"doy": 49, + "time": [ [9, 20]], + "cf": 0.009}, + + {"year": 2024,"doy": 49, + "time": [ [9, 40] ], + "cf": 0.012}, + + {"year": 2024, "doy": 49, + "time": [[3, 0], [3, 50]], + "cf": 0.0054}, + + {"year": 2024,"doy": 48, + "time": [ [6, 10]], + "cf": 0.007}, + + {"year": 2024,"doy": 48, + "time": [[6, 20]], + "cf": 0.009 }, + + {"year": 2024,"doy": 48, + "time": [[9, 40]], + "cf": 0.015}, + + {"year": 2024,"doy": 49, + "time": [[6, 0],[8, 50],[9, 0],[9, 30],[10, 0],[11, 0],[13, 50],[14, 0],[16, 0],[16, 20],[16, 50], + [17, 10],[17, 50],[19, 0],[19, 20]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024, "doy": 48, + "time": [[7, 50],[8, 10],[8, 20],[8, 50],[9, 30],[9, 50],[10, 0],[11, 0]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024, + "doy": 46, + "time": [[18, 15],[17, 55],[17, 35],[17, 25],[17, 5],[16, 25],[16, 45],[3, 5],[3, 25],[14, 15],[15, 45],[16, 25], + [18, 5]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024,"doy": 83, + "time": [[6, 20],[6, 30]], + "cf": 0.07}, + + {"year": 2024,"doy": 83, + "time": [ [5, 40]], + "cf": 0.05}, + + {"year": 2024,"doy": 83, + "time": [ [5, 10]], + "cf": 0.039}, + + {"year": 2024,"doy": 83, + "time": [[7, 40]], + "cf": 0.08}, + + {"year": 2024,"doy": 83, + "time": [[8, 10],[8, 20],[8, 50]], + "cf": 0.075}, + + {"year": 2024,"doy": 82, + "time": [[10, 50]], + "cf": 0.095}, + + {"year": 2024,"doy": 81, + "time": [ [11, 0]], + "cf": 0.10}, + + {"year": 2024,"doy": 81, + "time": [[9, 10]], + "cf": 0.08}, + + {"year": 2024,"doy": 82, + "time": [[10, 40],[11, 0]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024,"doy": 81, + "time": [[9, 0],[9, 20],[9, 30],[10, 50]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024,"doy": 80, + "time": [[3, 10]], + "cf": 0.09}, + + {"year": 2024,"doy": 80, + "time": [[10, 20],[10, 30],[10, 40]], + "cf": 0.09}, + + {"year": 2024,"doy": 80, + "time": [[9, 10]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024,"doy": 79, + "time": [[3, 10]], + "cf": 0.065}, + + {"year": 2024,"doy": 79, + "time": [[3, 20]], + "cf": 0.05}, + + {"year": 2024,"doy": 136, + "time": [[8, 40]], + "cf": 0.006}, + + {"year": 2024,"doy": 136, + "time": [[8, 45],[8, 50]], + "cf": 0.008}, + + {"year": 2024,"doy": 136, + "time": [[3, 20],[6, 0], [6, 35],[7, 0],[7, 15],[7, 25],[7, 35],[7, 40],[7, 45],[7, 55], [8, 0],[8, 5],[8, 15], + [8, 20],[8, 25],[10, 54], [10, 35],[10, 15],[9, 45],[9, 50],[9, 10],[9, 0],[8, 30],[8, 35],[8, 40]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024,"doy": 137, + "time": [[8, 20]], + "cf": 0.008}, + + {"year": 2024,"doy": 137, + "time": [[10, 55],[11, 0],[11, 5]], + "cf": 0.009}, + + {"year": 2024,"doy": 137, + "time": [[18, 0],[6, 30],[6, 45], [6, 50],[6, 55], [7, 0], [7, 5],[7, 25],[7, 30],[7, 35], [7, 40],[8, 30],[8, 35],[8, 40],[8, 45],[9, 0],[9, 5],[9, 20],[9, 25],[9, 40],[9, 45], [9, 55],[10, 15],[10, 20],[10, 35],[10, 40],[10, 45],[10, 50], [3, 5],[3, 35]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024,"doy": 138, + "time": [[6, 40],[7, 20],[7, 30],[7, 40],[8, 0],[8, 10],[8, 40],[8, 50],[9, 0],[10, 25],[9, 20]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024,"doy": 138, + "time": [[6, 40],[7, 20],[7, 30],[7, 40],[8, 0],[8, 10],[8, 40],[8, 50],[9, 0],[10, 25],[9, 20]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024,"doy": 247, + "time": [[3, 0]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024,"doy": 247, + "time": [[5, 0]], + "cf": 0.053966524}, + {"year": 2024,"doy": 247, + "time": [[5,10]], + "cf": "dataOut.cflast[0]"}, + {"year": 2024,"doy": 247, + "time": [[5, 15]], + "cf": 0.059666524}, + {"year": 2024,"doy": 247, + "time": [[5,20],[5,30]], + "cf": 0.040966524}, + {"year": 2024,"doy": 247, + "time": [[5, 25]], + "cf": 0.03596652528643608}, + {"year": 2024,"doy": 248, + "time": [[2,50],[3,55],[4,0]], + "cf": "dataOut.cflast[0]"}, + + + + {"year": 2024,"doy": 248, + "time": [[5,20]], + "cf": 0.045663008}, + {"year": 2024,"doy": 248, + "time": [[5,25],[5,30]], + "cf": "dataOut.cflast[0]"}, + {"year": 2024,"doy": 248, + "time": [[7,20],[7,25],[7,30]], + "cf": "dataOut.cflast[0]"}, + {"year": 2024,"doy": 249, + "time": [[2,50],[2,55],[3,0],[3,5]], + "cf": "dataOut.cflast[0]"}, + {"year": 2024,"doy": 249, + "time": [[4,0]], + "cf": "dataOut.cflast[0]"}, + {"year": 2024,"doy": 249, + "time": [[4,5],[4,10],[4,15]], + "cf": 0.065577441}, + + {"year": 2024,"doy": 249, + "time": [[6,5]], + "cf": 0.061539818}, + {"year": 2024,"doy": 249, + "time": [[6,15],[6,10],[5,30],[5,35],[5,40]], + "cf": "dataOut.cflast[0]"}, + {"year": 2024,"doy": 249, + "time": [[6,25],[6,35]], + "cf": 0.05969038}, + {"year": 2024,"doy": 250, + "time": [[3,35],[3,40]], + "cf": 0.05990294}, + {"year": 2024,"doy": 250, + "time": [[1,35]], + "cf": 0.114037849}, + {"year": 2024,"doy": 250, + "time": [[1,40],[1,45],[3,5]], + "cf": "dataOut.cflast[0]"}, + {"year": 2024,"doy": 250, + "time": [[2,25],[2,35],[2,40]], + "cf": 0.070415773}, + {"year": 2024,"doy": 250, + "time": [[2,30]], + "cf": 0.075415773}, + {"year": 2024,"doy": 250, + "time": [[3,10],[3,15],[3,20]], + "cf": 0.054}, + {"year": 2024,"doy": 250, + "time": [[3,10],[3,15],[3,20]], + "cf": 0.051}, + + {"year": 2024,"doy": 250, + "time": [[8,55],[10,10]], + "cf": "dataOut.cflast[0]"}, + {"year": 2024,"doy": 250, + "time": [[17,20]], + "cf": 0.06680701}, + {"year": 2024,"doy": 250, + "time": [[19,45]], + "cf": 0.08189132}, + {"year": 2024,"doy": 250, + "time": [[19,35]], + "cf": 0.07800701}, + {"year": 2024,"doy": 250, + "time": [[19,40],[19,30]], + "cf": 0.078559131}, + + {"year": 2024,"doy": 252, + "time": [[3,15],[3,20],[3,25],[3,30],[3,35],[3,50],[3,55],[4,0],[4,5],[4,10],[4,15]], + "cf": "dataOut.cflast[0]"}, + + {"year": 2024,"doy": 252, + "time": [[7,5]], + "cf": "dataOut.cflast[0]"} + + +]}