Skip to content
/ Squid Public

Squid3 is being developed by the Cyber Infrastructure Research and Development Lab for the Earth Sciences (CIRDLES.org) at the College of Charleston, Charleston, SC and Geoscience Australia as a re-implementation in Java of Ken Ludwig's Squid 2.5. - please contribute your expertise!

License

Notifications You must be signed in to change notification settings

CIRDLES/Squid

Repository files navigation

Squid3 Logo

Squid3

Build Status Known Vulnerabilities Codacy Badge

Please visit wiki.

Click to View New HowTo Videos

Click to View New Sustainable Software Development Video

We encourage you to download and evaluate the latest Squid3 release, the ".jar" file found here.

Squid3 requires Oracle's Java 1.8. It will not run on later versions of Java EXCEPT as explained below:

With the current release of version 1.9.0, Squid3 is now compatible with the three LTS (long-term support) versions of Java - 8, 11, and 17. You can read here about the history of Java versions. Squid3 release ".jar"s are built using Java SE8 to run correctly on 8, 11 and 17. There is an important caveat, however, that the Squid3 graphical user interface is built using JavaFX. JavaFX is included in most releases of Java 8, but has been separated into a different project in all later Java versions. The result is that, in general, a different Squid3 "jar" file must be created for each flavor of operating system - Win, Mac, and Linux, since JavaFX is coupled to the underlying environment. There are various ways to automate this process, but the most elegant and time-saving solution for us is to depend on the Liberica family of Java JDKs and JREs, which provide a "full" version that automatically brokers the JavaFX environment needed for the operating system and only requires one version of the Squid3 "jar" that will run on any system using Liberica's full JDK or JRE 8, 11, or 17.

If you are successfully running Squid3 using Oracle's Java 1.8, the following paragraph is for information only.

The Liberica full JDK or JRE for 8, 11, or 17 for your operating system can be downloaded as a compressed archive and expanded anywhere you choose. If you want to make this version the default on your operating system, there are many online tutorials to follow. The Java executable is in the "bin" folder and is named "java" for Mac and Linux, and " java.exe" for Windows. To run the Squid3 "jar" file, open a terminal window and paste in the path to the java executable, followed by a space character and the flag "-jar" followed by a space character and the path to the Squid3 " jar" file.

Windows example assuming terminal is currently in folder containing Squid3 "jar":

C:\MYJAVA\jdk8u302-full\bin\java.exe -jar Squid3-1.9.0.jar

Mac or Linux example assuming terminal is currently in folder containing Squid3 "jar":

/Users/yourName/Documents/MYJAVA/jdk8u302-full/bin/java -jar Squid3-1.9.0.jar

If you need to have a copy of Squid3 that runs on a specific OS and a Java JDK or JRE that does not include JavaFX, we can provide one or provide instructions for you to build one from the source code.

Note to Developers

Squid3 can be compiled from the source code by using Gradle 7.2 running Java 8, and it will run on any of the Liberica full JDKs or JREs 8, 11, 17. If Gradle 7.2 is set to use a higher version of Java (Liberica), then Squid3 will not run on lower numbered versions of Java.

gradle clean build 

Squid3 "jar" file can then be built:

gradle fatappjar

Addendum

Azul also provides JDKs and JREs for Java 8, 11, and 17 pre-packaged with JavaFX here.

Note to Users

Thank you for using Squid3. We depend on your feedback to keep Squid3 up-to-date and useful to you. To contribute issues and feedback, please join GitHub here. While using Squid3, the help menu provides a link that initializes a new GitHub issue for you - please use freely.

The current versions - Squid3-1.9.n.jar - provide full workflow support for processing and interpreting Shrimp data outputs in the form of Prawn xml files and 'OP' files including project, data, task, expressions, visualizations, reports, and parameters management. Squid3 provides for creating and saving Squid3 Project files that have an extension of ".squid" and are intended to save the current state of work on a project. The workflow is mapped left to right in the menus, as described below.

The Project menu provides for creating new GEOCHRON and RATIO projects. The functionality for RATIO projects is still under development - please feel free to contribute ideas. A new GEOCHRON project can be created from a single Prawn XML file, from a single Prawn XML file zipped, from merging two Prawn XML files, or from an 'OP' file. A special demonstration Squid3 project is available from this menu, thanks to @NicoleRayner. The project manager allows for naming the project, naming the analyst, and reviewing statistics about the loaded data as well as keeping notes about the project.

    All data-processing parameters are specified on the Project Manager page: whether to normalize counts for SBM; ratio calculation method; preferred index isotope, constraints on weighted means of reference materials; the common lead model for reference materials; and the physical constants model to be used in the project. Note on parameter models: See below for how to manage these models from the Parameters menu item. Changing these model selections updates all the dependent calculations within the Squid3 task. The currently-used names and values from these models are listed in the Expressions Manager left-hand panel and display as read-only expressions. The 'notes' window in the Expressions manager provides additional info about each model value. Models selected for a task are saved with the Squid3 Project (.squid) file so if anyone opens a .squid file, the included models will be added to the local store of models available to Squid3, if not already present.

The Data menu: 1) Manage Sample Names, 2) Manage Spots and Reference Materials, and 3) Audit Raw Data for all data files. For Prawn data files, it also provides for saving and swapping out data files. 'Manage Sample Names' automates with overrides the naming of samples based on delimiters or leading character counts. 'Manage Spots and Reference Materials' supports editing spot names, filtering spots by name, and setting both the project's reference material spots and concentration reference material spots by using the same filtering feature. The reference material models are selected here as well. The context menu on the left-side list is accessed by a right-mouse click and has items for removing a spot and splitting the data file into two files. Any modifications to the data file can be saved to a new file if needed. Note that saving the project preserves the changes to the data within the project file but without changing the source data file. 'Audit masses' provides time-based views of masses and is configurable to show mass differences as well.

The Task menu -

  1. 'View Current Task' provides for the user to configure the metadata about a task including choosing directives for daughter/parent ratios. Additional editing of the task is available via the 'Edit Current Task' button at the bottom of the view task page. The task editor provides for editing the masses, the index of the background mass, the ratios using these masses, the directives, and the four special expressions: ** Uncor_206Pb238U_CalibConst**, Uncor_208Pb232Th_CalibConst, 232Th238U_RM, and ParentElement_ConcenConst. Please note that Squid3 in GEOCHRON Mode requires mass labels 204, 206, 207, 208 and ratios 204/206, 207/206, and 208/206 as they inhabit the built-in expressions engine. In order to use this task with the current data file, the count of masses must match and Squid3 will alert the user if they do not. The 'Directives' allow switching between using the primary ages of 206/Pb/238U or 208Pb/232Th and whether to directly calculate 208Pb/232Th - these are the pair of choices that Squid2.5 also makes available. These choices interact with the list of preferred index isotopes shown - '208Pb' is only available when the primary age is 206Pb/238U and the calculation of 208Pb/232Th is indirect. Also, if '208Pb' is selected, the directives cannot be changed.

  2. 'New Task from ...' a) current task without custom expressions, b) current task including custom expressions, c) empty task - will each open the task editor.

  3. 'Browse, load, or edit task files ...' a) from Squid3 Built-In Tasks Library, b) Squid3 Custom Tasks Folder, c) Squid2.5 Custom Tasks Folder - each provide access to a list of tasks with their details, which can then be edited or used directly in the current task, provided the mass counts align.

The Isotopes menu: 1) 'Map Isotopes from Data to Task' provides for mapping the isotope or mass labels provided by the data file for each mass station to the task's isotope or mass labels. Tasks generally refer to masses using integers such as '204' or simple decimals such as '195.8', whereas the labels for the mass stations recorded in the data file usually have several significant digits of atomic mass, such as '195.75123'. The background mass can be specified here or in the task editor. After clicking the orange button at the bottom to copy the labels, the columns D (Data Isotope Label) and T (Task Isotope Label) will contain the same values.

Expressions menu - 'Manage Expressions' has a left panel organized by expression type that provides for sorting the expressions within each list by Name, Execution order, or Target spot set - reference material, concentration reference material, and unknowns - denoted by left-hand superscripts of R or C, and U. All the built-in expressions have been named in a consistent fashion per issue #164 discussions and have explanatory text in their 'notes' panel provided by @sbodorkos . Of particular note (idea thanks to @NicoleRayner ) is that the expressions targeting reference materials only are suffixed by "_RM". The tab for 'Unhealthy Expressions / Mismatched Targets' will appear in red red if any are present. Squid3 supports the assignment of a sample (a group of unknowns) as the target of custom expressions - see the drop-down box populated with the sample names to the right of the unknown samples checkbox. The drop down only appears if unknowns is checked and reference material is not checked.

    Squid3 operates under the hood with units of annum and 1-sigma absolute uncertainties as defaults. Squid3 provides a context for SHRIMP geochronology in the peek window of the expressions manager that displays ages and their absolute uncertainties in Ma as well as concentrations in ppm, and displays both absolute and percent uncertainties. Expression grammar has been simplified so that the only times that the surrounding '["..."]' brackets and quotes are needed is for isotopes, as in TotalCPS(["206"]), for ratios, as in ["204/206"], for expression names that use other that any combination of letters,digits, and the underscore, and finally for all expressions where you seek the absolute (±) or percent (%) uncertainty, as in [±"204/206"]. The expression audit includes an audit of the target spots for compatibility - it checks and reports whether the target choice of Reference Material and / or Unknowns matches at every level of an expression. Thanks to @sbodorkos for the suggestion.

Common Pb menu - 'Unknowns: 204 Count Corrections & Assign Common Pb Ratios' provides for customizing how Squid3 handles common Pb for Unknowns.

Interpretations menu - 'Reference Materials' and 'Unknowns' provide Wetherill and Tera-Wasserburg Concordia diagrams produced by Topsoil, customizable weighted means with plots, and a generic plotting function for any two expressions using reference materials.

Reports menu -

  1. 'Custom Report Builder' provides built-in reports for Reference Materials, Unknowns, and Weighted Means. The report builder supports custom categories with drag and drop columns from the left-side list of available expressions and drag and drop ordering of categories and columns. Reports can be viewed or saved as '.csv' files into the project's Squid3ProjectReports folder that is created in the same folder in which the current Squid3 project is saved.
  2. 'Summary Expressions and Values' creates reports for Reference Materials and Unknowns detailing the summary expressions defined for each.
  3. 'Project Audit' and 'Task Audit' produce meta-data reports for each.
  4. 'Generate all Reports' produces all reports into the project's Squid3ProjectReports folder mentioned above.
  5. 'Miscellaneous Reports' provides a variety of reports of interest.

Archiving menu is not yet active. We seek input from the community as to how archiving might be implemented.

Parameters menu - 'Reference Material Models', 'Common Pb Models', and 'Physical Constants Models' each open the Parameters Manager to the appropriate tab. Squid3 provides several documented default models in each category. Models can be created, imported from 'xml' files, and exported as 'xml' files. Parameter models used in a Squid3 project remain with the '.squid' project file so that opening that file provides access to the contained models. Note that reference material models can be based on TIMS-generated ratios with calculated apparent ages or using a simplified approach to support the transition from Squid2.5 that provides the requisite "Reference Dates", inspired by input from @NicoleRayner.

About menu -

  1. 'About Squid3' summarizes Squid3's purpose and identifies collaborators and financial supporters.
  2. 'How to cite Squid3' provides a link to our latest publication.
  3. 'Squid3 GitHub Repository' provides a link to this repository.
  4. 'Squid3 Development Notes' links to a wiki documenting the porting of Squid2.5 to Squid3.
  5. 'CIRDLES.org' links here, the home of the College of Charleston development team.
  6. 'Topsoil GitHub Repository' links to Topsoil, used to provide Concordia diagrams in Squid3.

Help menu -

  1. 'Video Intro to Sustainable Software Development' shows video introduction.
  2. 'Introduction and Guide to Menu' opens this document.
  3. 'Video Tutorials on YouTube' features videos produced by @NicoleRayner and found here.
  4. 'Video Tutorials on Google Drive' features the same videos and found here.
  5. 'Contribute an Issue on GitHub' is a shortcut to creating a new issue with key runtime environment metadata automatically supplied.

Thank you in advance for any suggestions you contribute. We are available for walk-throughs, etc. if needed to help convince you to participate and contribute.

Additional features will appear over time and may not be documented here concurrently. Please be patient and contribute your ideas via the issues tracker.

Please volunteer to help with documentation, how-to videos, coding, etc.

Updated 27 December 2021.

About

Squid3 is being developed by the Cyber Infrastructure Research and Development Lab for the Earth Sciences (CIRDLES.org) at the College of Charleston, Charleston, SC and Geoscience Australia as a re-implementation in Java of Ken Ludwig's Squid 2.5. - please contribute your expertise!

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages