This is allowed: setScriptDescription('''Darrelle found a bug where she had two parameters with the same name (timerange). Old Autoplots allowed this, obscuring the bug.''') branch= getParam('branch',1,'Which branch',[1,2]) if branch==1: week= getParam('week','2026-04-03/P7D') outer= getParam('outer','2026-01-01/now') else: week= getParam('week','2026-04-03/P7D') outer= getParam('outer','2025-01-01/2026-01-01') print week print outer
Darrelle was affected by this new feature. She had a script where two parameters had the same name by mistake. The script would run in old Autoplots fine, but in the new Autoplot both variables would have the last default value. This demos: setScriptDescription('''Darrelle found a bug where she had two parameters with the same name (timerange). Old Autoplots allowed this, obscuring the bug.''') week= getParam('timerange','2026-04-03/P7D') outer= getParam('timerange','2026-01-01/now') print week print...
PNGWalkTool support for PDFs?
Jython Pitfalls document
Verify HAPI NaN
Generalization of PNG Walk Tool?
add plusmn; to Granny Text editor
This is done. Seems like you should be able to add your own codes, but I'll do that in another ticket.
allow --script with arguments then additional command line arguments
(3) The assert mechanism doesn't work within the drag routine: def drag(evt): global key assert isinstance(evt,BoxSelectionEvent) # Note completions don't work with this. k= evt.getPlane('keyChar') if not k is None: key= k ds= pe.controller.dataSet sl1= slice0(ds,dataset(evt.getFinishX())) sl2= slice1(ds,dataset(evt.getFinishY())) ann.text= 'x:%s y:%s key:%s' % ( evt.getFinishX(), evt.getFinishY(), key ) dragMM= addMouseModule(p,'Drag',drag) (4) It would also be neat if because the routine is argument...
(5) "key" is marked as undefined here: key='' #assert isinstance(evt,BoxSelectionEvent) # uncomment this to get completions def drag(evt): global key assert isinstance(evt,BoxSelectionEvent) # Note completions don't work with this. k= evt.getPlane('keyChar')
"key" is marked as undefined here: key='' #assert isinstance(evt,BoxSelectionEvent) # uncomment this to get completions def drag(evt): global key assert isinstance(evt,BoxSelectionEvent) # Note completions don't work with this. k= evt.getPlane('keyChar')
add plusmn; to Granny Text editor
(4) "result" in jyds scripts should not trigger a warning.
(3) This incorrectly marks "ds" as not used, because the except block rewrites it. try: uri = root + '/%s/L2/MSC/$Y/$m/%s_l2_msc_bac_$Y$m$d_v$(v;sep).cdf?%s_l2_bac_fac' % (sc.upper(),sc.lower(),sc.lower() ) print uri ds= getDataSet(uri,tr,monitor.getSubtaskMonitor(0,30,'Load l2_bac_fac') ) print 'done read MSC data at %.3f' % ( ( System.currentTimeMillis()-t0 ) / 1000. ) except: # The coordinate system doesn't matter. uri = root + '%s/L2/MSC/$Y/$m/%s_l2_msc_bac_$Y$m$d_v$(v;sep).cdf?%s_l2_bac' % (sc.upper(),sc.lower(),sc.lower()...
"result" in jyds scripts should not trigger a warning.
This incorrectly marks "ds" as not used, because the except block rewrites it. try: uri = root + '/%s/L2/MSC/$Y/$m/%s_l2_msc_bac_$Y$m$d_v$(v;sep).cdf?%s_l2_bac_fac' % (sc.upper(),sc.lower(),sc.lower() ) print uri ds= getDataSet(uri,tr,monitor.getSubtaskMonitor(0,30,'Load l2_bac_fac') ) print 'done read MSC data at %.3f' % ( ( System.currentTimeMillis()-t0 ) / 1000. ) except: # The coordinate system doesn't matter. uri = root + '%s/L2/MSC/$Y/$m/%s_l2_msc_bac_$Y$m$d_v$(v;sep).cdf?%s_l2_bac' % (sc.upper(),sc.lower(),sc.lower()...
This is a weird one which needs review, and is probably easy to fix.
Support for npz and npy files
(3) see https://github.com/autoplot/dev/blob/master/rfe/sf/858/example.py which works with Autoplot's PNG walk tool.
I'm making this format the default output format now.
I wonder if a check for a bundle in findex would work. I'd need to show that findex can never be a bundle. I'm putting in a warning now (in interpolate), but I think this needs to be shown.
Revisit "reset" after noticing it leaves mouse actions
(Potentially off topic) According to the 2.2.2 ICD, the properties are xCacheRange and xCacheResolution, have you seen any readers using some other property names? Just in case you do I'd prefer to fix any readers that don't follow the ICD instead of putting the burden on client programs to guess the property names.
TimeSeriesBrowse with resolution loads data unnecessarily
The problem was the code was expecting the cache tag to be within DEPEND_0, but the Das2Stream parser was attaching it to the data itself.
minResolution was added for this ticket, and I believe that it is the control (not the feedback) for the resolution.
See https://sourceforge.net/p/autoplot/bugs/2818/
I think the problem is caused by the undocumented "resolution" variable in the Das2ServerDataSource. Is it an input or an output? I suspect changes here broken things: https://sourceforge.net/p/autoplot/bugs/2586/
QDataSetStreamHandler property loads the cache tag sent.
TimeSeriesBrowse with resolution loads data unnecessarily
HAPI 3.0 servers should use dataset instead of id, try both, and migrate old URIs
HAPI 3.0 servers should use dataset instead of id, try both, and migrate old URIs
Something like: xxx= randn(100000000) pixelxxx= map( p.controller.dasPlot.XAxis.transform, xxx ) Then highlite the map(...) expression.
Jython editor value lookup can hang GUI
PWD is not set properly when holding shift to see the parameters GUI in the script editor
Verify Regex constraint on resourceURI
This is verified. The regex constraint works for any parameter. I've also added a glob constraint, since files are ubiquitous, so {'glob':'*.cdf' } can be used.
symbol color and background are same warning when color scatter
This is fixed, checking colorByDataSetId to make sure color scatter isn't active when displaying the message.
See https://github.com/autoplot/dev/blob/master/demos/2026/20260319/demoBug2815.jy
add "diff" to mashup tool
The dom and PWD are now set properly. The line with stopYYYYMMDD=stopYYYYMMDD[0:4]+stopYYYYMMDD[5:7] +... is properly omitted now. See v2026a_3 and newer.
The dom and PWD are now set properly. The line with stopYYYYMMDD=stopYYYYMMDD[0:4]+stopYYYYMMDD[5:7] +... is properly omitted.
symbol color and background are same warning when color scatter
It looks like I was dropping the PWD and dom values, so scripts like this: resourceURI= getParam( 'resourceURI', PWD+'dust2025-01-28T22:35:12.420densZ.txt', 'example file to load' ) were suddenly failing when run in the script editor. This is fixed.
Also consider a constraint on resourceURI like "fileExtension" so that those not familiar with regular expressions can use the feature.
filen= getParam( 'resourceURI', 'file:/home/jbf/tmp/voyager-1-pws-sa/data/2020/vg1pws_lr_20200101_v5.30.cdf', 'The CDF file', {'regex':'.*\.cdf'} )
Verify Regex constraint on resourceURI
PWD is not set properly when holding shift to see the parameters GUI in the script editor
(2) File(PWD + 'pubDate.txt') should allow completions at pub
CDF file which causes GUI to fail
The code now checks that the "dims" array is long enough before accessing it.
Script should have caught error with findex use
CDF file which causes GUI to fail
Run script with --headless from command line, shouldn't print be visible?
URISplit.makeAbsolute should support Windows
getParam('timerange',...{format:$Y-$m-$d}) fails in opaque way
I could quickly update the regex to include this case.
I have it match """tr= getParam( 'timerange', '2025-12-01'""" and then anything else after now. This will be in the next release, and v2026a_3.
getParam('timerange',...{format:$Y-$m-$d}) fails is opaque way
23:59:61 with cdfTT2000 and xaxis length=15s
This seems to be fixed.
collect screenshots to PngWalkTool fails
URISplit.makeAbsolute should support Windows
makeAbsolute should support Windows
The warning message "Annotation refers to plot plot_1 which is not found" is no longer printed when the anchorType is CANVAS.
This is fixed. Note .jyds scripts may not show preferences. Also rfe 360 has a new "getParam" routine which needs to be implemented. This will involve pushing new Jython codes out and is a pain.
Colorbar preference doesn't seem to stick
This is fixed. Also I reset all the colorbars so there is clear feedback.
See also https://github.com/autoplot/dev/blob/master/demos/2019/20190726/demoParams.jy
Running the script from the script editor doesn't load the defaults.
See also https://sourceforge.net/p/autoplot/feature-requests/360/
See also https://sourceforge.net/p/autoplot/bugs/2802/
Also, there's a format argument to the constraints, which should reformat the timerange, for example. This should be reflected in the parameters.
I must have made a mistake somewhere during that sequence, because it definately works after the new window is created. I think I'll make it so that all colorbars are changed, so that the feedback is improved. It's very confusing when the first window has a SpectrogramRenderer with the old colortable.
If you manually edit ~/autoplot_data/config/options.properties, it will use the value.
[menubar]->Edit->Options set colortable to "aj4co_rainbow", apply [menubar]->Options->Save Options vap+inline:randn(25,25)-distance(25,25,100,100,5,5) new window vap+inline:randn(25,25)-distance(25,25,100,100,5,5) note colortable is not aj4co_rainbow [menubar]->Edit->Options note options doesn't have aj4co_rainbow selected.
Colorbar preference doesn't seem to stick
I added code to disable autolayout.
Tests were okay, but Darrelle says that she still sees the bug. I need to figure out what's going on.
Ecobee text fields have 19 fields in header and 20 in data, consider allowing
This is fixed by adding a kludge that allows one more data column that header columns when there are at least 10 header columns.
See https://sourceforge.net/p/autoplot/bugs/2789/ where this bug is mentioned.
Spaces are handled. The problem with ecobee files is they have 19 fields in the header and 20 fields in the data. See https://sourceforge.net/p/autoplot/bugs/2806/
Ecobee text fields have 19 fields in header and 20 in data, consider allowing
Ecobee thermostat report files have column names with spaces, which should be handled: #,Thermostat,identifier,263415613960 #,Start,date,2024-03-01 #,End,date,2024-04-01 Date,Time,System Setting,System Mode,Calendar Event,Program Mode,Cool Set Temp (F),Heat Set Temp (F),Current Temp (F),Current Humidity (%RH),Outdoor Temp (F),Wind Speed (km/h),Cool Stage 1 (sec),Cool Stage 2 (sec),Heat Stage 1 (sec),Heat Stage 2 (sec),Aux Heat 1 (sec),Fan (sec),DM Offset 2024-03-01,00:00:00,auto,compressorHeatOff,,Sleep,72,68,68.3,24,34.3,0,0,0,0,0,0,225,,...
revisit Autoplot logging
See also https://sourceforge.net/p/autoplot/bugs/1022/
See also https://sourceforge.net/p/autoplot/bugs/2805/
Autolayout needs rewrite
This should be reimplemented using jparser, or using https://cottagesystems.com/JavaJythonConverter/. For that matter the total size of Autoplot could be reduced significantly if the stable/volatile jars were brought back and Autoplot had a built-in update mechanism.
I started a script which uses a jparser jar to do real Java parsing.
Loops is improved. We really need a java parser to be used.
It would also be nice to have regular expression constraints on macros. This should be done in a consistent way with constraints in script parameters.
It would also be nice to have regular expression constraints on macros. This should be done in a consistent way.
I've added https://github.com/autoplot/documentation/blob/main/md/MacrosInVaps.md
vap macro feature is barely described
I added some to the documentation: https://github.com/autoplot/documentation/blob/main/md/MacrosInVaps.md and https://github.com/autoplot/documentation/wiki/Annotations and https://github.com/autoplot/documentation/blob/main/md/Annotations.md (I believe the non-wiki pages are the ones to modify, but I'm not sure.)
I was surprised and pleased when I saw that arbitrary macros worked in annotations, so you can have the annotation %{TODAY} and when you load the .vap with ...vap?TODAY=2026-02-27 it will plug in the value. This implies there is a namespace with some things removed, like %{PWD} and %{timerange}. Also I don't think all nodes of the .vap are resolved, and this needs to be documented. Further, there are things like %{CONTEXT} and %{TIMERANGE}.