Chemical entities show frequently in the literature in different notations and representations. The ability to convert data between the different forms is a flexibility sought after by many researchers  . For example, research in the field of geochemistry of rocks, minerals and earth material, which deals with all the elements in the Periodic Table of Elements  , presents elements in the form of element oxide percent and native element parts per million (oxide % and ppm), respectively. The conversion between the two notations is easy and straightforward. It can be, however, lengthy and cumbersome, and error-prone, especially when dealing with large chemical data sets. Software programs providing stand-alone conversion applications are lacking in the literature. They may exist only as built-in modules in large program packages designed for non-conversion purposes, and hence, the conversion of elements is not easily-accessible. The OXDPPM software alleviates such obstacles and presents users with an easily accessible standalone conversion tool.
The creation of the OXDPPM Fortran program is only one addition to the author’s continuing efforts to develop computer programs for geochemical, mineralogical and geochronological studies. Examples of such programs are in    . The OXDPPM program serves a wide scope of applications. For example, it is of a widespread value in chemical research, pharmaceutical research, chemical engineering research, geochemical research on earth material and other chemical and industrial fields.
The OXDPPM software application is a simple tool to carry out conversion of element oxides percentage (%) to native elements (PPM), and vice versa. It accomplishes such task through two modes of operation. The first mode of operation (F Mode) uses data input from existing files to which the OXDPPM is applied. The second mode of operation (I Mode) does not require existing data files, but instead relies completely on an interactive dialogue with the computer monitor screen. A user only needs to declare which of the two modes to follow and to submit some basic information, like file names. Such declaration takes place before the manipulation of data by the OXDPPM program.
2. Description of the OXDPPM Software Program
The OXDPPM software program is a small, but potentially powerful program, for use by many users. The application is specifically designed for a single purpose, conversion of chemical entities between element oxides percentages (%) and native pure element concentrations in parts per million (ppm). Currently, OXDPPM caters for 154 oxides. Table 1 lists these oxides, along with their corresponding conversion factors. Similar factors show in several literature sources (e.g.  ). The conversion factor is the weight of the element in the oxide/ weight of the oxide. Its value is always between 0.0 and 1.0. The conversion equation constitutes the core of the program. For example:
CaO conversion factor = 40.08/(40.08 + 16) = 0.7147
Conversion is simple, straightforward and exact. The user interface with the OXDPPM software is minimal.
The conversion factors in Table 1 are from element oxide percentage (%) to native elements parts per million (ppm). Conversion from native element parts per (ppm) to
Table 1. A list of the oxides treated by the OXDPPM software program, along with their conversion factors. Factors are for conversions from oxide percent to ppm values. Conversions from ppm values to oxide percentages use the inverse of these factors.
oxide percentage (%) uses the inverse of these factors.
Appendix 1 is a “READ ME” information document which describes briefly the OXDPPM software program and to point out its limitations. Appendix 2 is an “IN- STRUCTION MANUAL” document containing the basic information on the program utilization. Users of the software should use the two documents to familiarize themselves with the OXDPPM software and to consult them before preparing their input.
2.1. Selection of the Conversion Mode
The OXDPPM software possesses a dual function. It can convert concentrations of chemical elements from oxides percent to native elements in parts per million (0 Mode) or elements parts per million to oxide percent (1 Mode).
Selection of the input method leads to the use of input files (F Mode) or the interactive dialogue on the computer monitor screen (I Mode). For each job, users of the software are able to select one of the four possible mode permutations (F/0, F/1, I/0 or I/1). These selections dictate the remaining part of the operation of the OXDPPM software.
2.2. Mainstream File Input (F Mode)
In the F Mode, the user converts data contained in a pre-existing input file. Such a file must be structured according to the rules of the OXDPPM software program, as outlined in the READ ME document in Appendix 1, and shown by the example input files in Table 2 and Table 5. The input files need to contain the chemical elements in the prescribed fashion. In the F/0 Mode, the file must contain the material content in the form of oxide percentages only. Only parts per million values of native elements are permitted in the F/1 Mode. Mixing between the oxide notation and the native element notation is not permitted in an input file. Every submitted oxide name must match one of the oxide names listed in Table 1.
2.3 Interactive Dialogue Input (I Mode)
Feeding data by the interactive dialogue method (I Mode) on the monitor screen constitutes the second mode of data input. Unlike the F Mode, no input file is required for this procedure. All textual and numerical data are fed manually on the computer monitor screen, following the program instructions.
Table 2. An example of an input file (HALFA05) formatted according to the rules of the OXDPPM software for conversion of element oxides to native elements (F/0 Mode) (Original text file in Supplementary Material C) (Halfa Basement, Sudan).
The names of native elements must match the element symbols in the Periodic Table of Elements  .
2.4. Conversion Directions
After selection of the input method (F or I mode), a user selects the conversion direction. Two directions are available. In the forward conversion direction (0 Mode), element oxides are converted to native elements parts per million. In the backward conversion direction (1 Mode), native elements are changed to element oxides.
2.5. Decoding Names of Oxides and Elements
The chemical symbols for the majority of elements in the Periodic Table of Elements  are composed of a two-letter designation (e.g. Mg for magnesium and Ba for barium). A small number of elements show only as one-letter designation (e.g. P for phosphorus and U for Uranium). Yet, a few elements have no oxides in the common geochemical and other chemical literature (e.g. F for fluorine). The OXDPPM software deals with all of this diversity. A small expert system distinguishes between these different elements designations.
2.5.1. Two-Letter element Symbols
By far, this is the simplest of all conversions. In the F/0 or I/0 mode, an oxide of a 2-letter Element, such as TiO2, converts by parsing the string TiO2 in the input and extracting the first two letters, Ti. This extracted 2-letters string is compared with the first 2-letter string extracted from the scanning the oxide list in Table 1. Thus, the matched converted Element is Ti.
In the opposite conversion direction (F/1or I/1 mode), a Ti symbol in the input data is compared with the parsed first 2-letter string from the oxide list in Table 1. The matching oxide TIO2 is selected.
2.5.2. One-Letter Element Symbols
Elements designated by a 1-letter symbol in the Periodic Table of Elements  (e.g. “K” for potassium) require processing in a different fashion. In the F/0 and the I/0 modes, the first letter in the input oxide or element name is sufficient to match with the first element in the oxide database in Table 1. In the F/1 or I/1 modes, the backward conversion direction will retrieve the matching oxide K2O from the database list of oxides in Table 1. This is accomplished by appending a blank to the input single-letter string (i.e. input “K” becomes “K ”) and performing the comparison.
2.5.3. Elements Lacking Oxide Forms
Elements like F and CL do not normally appear as oxides in the most common literature. However, they occur in the literature mostly as percentages of native F and CL. The conversion factor for these entities is 1.0, in either conversion direction.
2.5.4. Conversion Ambiguity
Generally, each native element designation translates to only one element oxide (e.g. Ca to CaO and Si to SiO2). However, some chemical elements have more than one oxide designations. Examples are FeO and Fe2O3 for Fe and MnO, Mn3O4, MnO2, Mn2O5 and Mn2O7 for Mn. The OXDPPM software does not know which form of the oxides to which users wish to convert. To resolve this intrinsic incapacity, the most common oxide name for a multi-oxide element appears first in the oxide database list, before the other oxides of the same element. The search engine of the OXDPPM software stops searching after it encounters the first occurrence of an oxide for the element. The secured oxide name is selected to the exclusion of the other oxides of that element. In the oxide list in Table 1, Fe2O3 lists before FeO, and MnO lists before all other oxide forms of Mn.
3. Mechanics of Execution
The mechanics of execution of the OXDPPM software is explained in the INSTRCUTION MANUAL in Appendix 2, and diagrammatically shown in Figure 1. These two documents summarize the steps and mechanics detailing the execution of the OXDPPM software program. Either of the two execution modes described in the previous sections is followed, to the exclusion of the other. In each of the modes (mainstream file and interactive dialogue), the user must declare the conversion direction-element oxide percentage (%) to native element (ppm) or native element (ppm) to element oxide (%).
Users need only to supply the name of an existing input data file during the mainstream file (F Mode).The file must be structured according to the rules of the OXDPPM software. In the interactive dialogue (I Mode), by comparison, users must provide all required information and chemical data by manual interactive data feeding. Users in both modes must follow instructions on the computer monitor screen and adhere strictly to the limits set by the OXDPPM software.
Only one mode of conversion direction is allowed in any executing job. After declaration of the conversion mode and the conversion direction, users need only to supply names of an input file in the F Mode. A name of a job and a name of an output file must be declared in the I Mode.
4. Flow Chart
The OXDPPM software flow chart in Figure 1 shows diagrammatically the various paths followed during the program execution flow. The first few steps are the same for both input modes (F or I) and conversion direction (0 or 1). In addition, the last few steps are the same for all modes. Steps in the middle of the flow are specific to each combination of modes (F/0, F/1, I/0 and I/1). The flow chart does not show the casting of output in spreadsheets, because this is the domain of an external application (i.e. EXCEL).
5. File Description and Structure
Structure of input of data in both modes of the OXDPPM software program is specific and according to certain rules. Deviation from these prescribed rules or nonadherence
Figure 1. The OXDPPM software flow chart showing the various paths of the execution flow (“F I” means Mainstream File or Interactive Screen input, “O P” means oxide to ppm conversion, and “P O” means ppm to oxide conversion).
to the limits of the program can lead to erroneous results or may even abort the execution of the program. The first two lines of input during the F Mode are textual. The first line is the job description. The second line is the vector of the oxides or pure elements names. The third line, and succeeding lines, each belongs to a sample. Each of the successive sample lines contains the identity name of the sample, followed by the vector of concentrations of the oxides or the native elements. The order of the values in the concentrations vector must follow the order of names in the name vector in the second line in the input.
Two lines of declarations must precede the sample concentrations line during the interactive dialogue input in the I Mode. The first line describes the job, and the second line declares the name of an output file.
Input of oxides or elements in a job is restricted to ten element entities. Another job needs to be prepared if more entities are to be converted.
Examples of short input files provide data to illustrate the utility of the OXDPPM software program. Two test input files were assembled (Supplementary Materials C and E). One input file (HALFA05 in Table 2) tests according to the F/0 Mode, and the second file (NAJD05 in Table 5) tests according to the F/1 Mode. Each file contains three samples and five elements entities. Tables in output files contain only numerical values and germane text; banners and ancillary texts were stripped from the original output files for clarity purposes. The original output files are more aesthetically pleasing than the tables. Tables 2-4 and Tables 5-7 contain the results of the execution of the OXDPPM software. Supplementary Materials D and F are EXCEL spreadsheets of the results. The results are casted in files with extensions .OXP, .SPH, and .XLSX, as mentioned above.
Table 3. An example of an output ASCII text file containing the results of conversion of the data contained in the input file in Table 2.
Table 4. An example of a space-delimited and spreadsheet-compatible output file produced from the data in the output file in Table 3.
Table 5. An example of an input file (NAJD05) formatted according to the rules of the OXDPPM software for conversion of elements from native elements to oxide percent of elements (F/1 Mode) (Original text file in Supplementary Material E).
Table 6. An example of a converted output text file of data contained in the input file in Table 5.
Table 7. An example of a space-delimited and spreadsheet-compatible output file produced from the data in the input file in Table 6.
The first input file (Table 2) contains data on three samples used for conversion from element oxides percentage (%) to native elements (F Mode and conversion direction 0 - F/0). The second input file (Table 5) contains data on three samples and five elements for conversion in the opposite direction (F Mode and backward conversion direction 1 - F/1) (i.e. native elements to element oxides). Each input file generates three output files with the same root file name as the root name of the input file, but with different extensions attached to them. The first output file is an ASCII text file that contains the results of conversion from oxides to native elements. It carries the extension .OXP. The second file is a space-delimited and spreadsheet-compatible file containing the same conversion results and carrying the .SPH extension. Supplementary Materials D and F (HALFA05.XLSX and NAJD05.XLSX, respectively) show the results casted in EXCEL spreadsheets. The third output file contains a list of the names of all oxides treated by the OXDPPM software (154) and their corresponding conversion factors. It carries the extension .CNV. Each job generates this .CNV file for the purpose of checking and verification of the results.
The I Mode (native elements to element oxides) generates a similar set of files.
The final output files produced by the all modes of execution are exactly similar in format and appearance.
The paper does not contain examples of output from the I input method. Users feed input through the interactive dialogue on the monitor screen of the computer. Output files are, however, similar to those in the tables.
7.1. User Data Sets
Users of the OXDPPM software program are encouraged to test its operation, strength and integrity. Users are encouraged to create their own input files and subject them to the OXDPPM execution, and verify the conversions. Furthermore, manual verification of user data is recommended, because it builds confidence in the software. All modes (F/0, F/1, I/0 and I/1) should be tested. The examples supplied with this paper are small, but illustrate sufficiently the features of the OXDPPM software.
The OXDPPM software application functions as an independent, stand-alone computational tool. It does not require other computer programs to support its utilization. Neither does it require knowledge of computer programming on the part of users.
With a proper alteration, it can be inserted as a subroutine module into an existing FORTRAN library and compiled with it. This will permit a wider dissemination and applicability to the OXDPPM software. Furthermore, it is possible to bundle the OXDPPM software application as a .dll component in a dynamic library. The library invokes the OXDPPM program only when it needs it during the execution.
9. History of the OXDPPM Software Program
The OXDPPM program functions as a stand-alone program in FORTRAN running under the DOS environment on personal computers implementing the MICROSOFT WINDOWS platform. Its history started in the early1980’s, when its prototype was first developed on mainframe computers. It migrated from IBM to UNIVAC and finally to DEC mainframe computers. In the early 1990’s, it migrated to the PC computer environment. It underwent numerous modifications and revisions, benefitting from the different platforms. The current version (Version 8) of the OXDPPM software program was compiled, optimized and tested under the LAHEY-FUJITSU FORTRAN 95 Compiler (SHASTA) Version 7.60.02.
This paper introduces to the community of chemists and other researchers a simple and powerful application designed to convert between chemical entities of element oxides and pure native elements. The author searched in the literature for a software serving the same purpose, but the search was unsuccessful. Other software programs approximate the OXDPPM software   , but do not provide its ease and capabilities. The author believes this program is the first in its field. This gives it a special novelty status.
The objective of the OXDPPM software is unique and specific, and as such, fills a gap in the computer software dealing with chemical conversions, as described in this paper.
10.1. Modes of Input
The OXDPPM software program allows four permutations of its modes. These permutations are the mainstream file input (F Mode) and the interactive dialogue input (I Mode). Each of these modes is further constrained by a mode specifying the conversion direction, either from element oxide percent (%) to pure element in parts per million (ppm) (0 Mode) or from pure element parts per million (ppm) to oxide percent (%) (I Mode). The four possible combinations are F/0, F/1, I/0 and I/1.
The OXDPPM program produces exact conversions of chemical entities for all elements in the Periodic Table of Elements  . The software generates the files internally and assigns them names.
10.2. Spreadsheet Capability
The power of spreadsheet production is a paramount feature, which allows users to take full advantage of spreadsheets computational, statistical, and graphical capabilities. The spreadsheets contain all computed values, as well as the input information.
10.3. Advantages of Contrasting Conversion Modes
The OXPPM program offers users an input choice between the mainstream file F Mode and the interactive dialogue I Mode. Each mode has its advantages and disadvantages. The F Mode is the most recommended input method, but the I Mode input method is usable in some circumstances. For a large number of samples and elements, which requires a long time for file preparation, structuring and data feeding, the F Mode is preferable. This is because the input files created are available for repeated future editions, corrections and storage. The most suitable input method for a small number of samples and element entities is the I Mode, because it is faster and does not consume much time.
However, on the security issue, the reverse is true. Data fed according to the I Mode are volatile and ephemeral; it is no longer available once the job is finished. The F Mode data are contained in physical files and may be probed by unauthorized individuals. Edition and correction are readily and simply performed on the data in the input files in the F Mode, before data are resubmitted for execution by the OXDPPM program. No such flexibility is provided in the I Mode; feeding of data on the monitor screen must re-start from the beginning, which is annoying, lengthy and prone to mistakes. This is especially true, when errors occur during the interactive dialogue on the monitor screen.
10.4. OXDPPM Software Benefits
The OXDPPM software program is flexible and user-friendly. It is a comprehensive tool for use by many researchers in the field of conversion of chemical elements. Its execution is fast and the conversion results are instantaneous, exact and error-free. Input files relieve users from future needs to re-feed data, thus sparing the length of time consumed in data feeding in files. Saved files also circumvent mistakes that occur during interactive data input, and eye and hand fatigue. Furthermore, input and output files are simple text files requiring no format changes typical in many of the common large packages.
I presented in this paper a FORTRAN software application-OXDPPM-for use by researchers in studies involving conversion among chemical entities. Specifically, it converts the concentrations of chemical elements between element oxide percentage (%) and pure native elements in parts per million (ppm). The conversion direction is either from oxides to pure elements (0 Mode) or vice versa (1 Mode). Input data come from mainstream files (F Mode) or interactive dialogue (I Mode). Users control the choice of modes. The OXDPPM software generates three output files in each job. It is simple, fast, accurate, user friendly, and above all, free.
I acknowledge the editorial help by Rao Divi.
Appendix 1. A “READ ME” document describing briefly the OXDPPM software program, and its rules and limitations. Users must consult it prior to the preparation of their input files.
Appendix 2. An “INSTRUCTION MANUAL” explaining the structure of input in the OXDPPM software program. Users must consult it prior to the preparation of their input files.
Supplementary Material A: Source code of the OXDPPM software program (OXD- PPM.F95).
Supplementary Material B: Program executable file (OXDPPM.exe).
Supplementary Material C: The original input flat text file HALFA05 before it was casted in the MS Word format (Table 2). Conversion is from oxide to ppm elements.
Supplementary Material D: An EXCEL spreadsheet containing the results of conversion of oxide values to element ppm values in the output file HALFA05 in Table 4.
Supplementary Material E: The original input flat text file NAJD05 before it was casted in the MS Word format (Table 5). Conversion is from ppm to oxide elements.
Supplementary Material F: An EXCEL spreadsheet containing the results of conversion of ppm element values in output file NAJD05 in Table 7 to oxide values.
A “READ ME” document describing briefly the OXDPPM software program, and its rules and limitations. Users must consult it prior to the preparation of their input files.
The OXDPPM software program described in this paper is a simple and basic, yet powerful, tool to covert the chemical content of material from oxide percent (%) to native element parts per million (ppm), and vice versa. It demands no programming knowledge on the part of users. Supplementary Material A is the source code of the software. It includes many comment, information and tracer statements; programmers wishing to modify the software to suit their purpose can use these statements.
The flowchart of the OXDPPM software program in Figure 1 and the examples provided in the tables should be consulted before users of the program design their own input files and data sets.
The limits of the OXDPPM program are as follows:
1) The maximum number of characters in a job description is 100 characters.
2) The maximum number of characters in a file name is 30 characters.
3) The maximum number of oxides or elements processed in a job is 10 entities.
4) The maximum number of samples in a job is 500 samples.
5) All input concentrations are in the “real” type (i.e. (55) must be fed as (55.)).
6) Files with the name extensions .CNV, .OXP, or .SPH attached to the root name of the input file name must not exist in the computer before launching the OXDPPM software program. OXDPPM generates these files automatically.
Steps for inputting data:
1) The first information supplied to the OXDPPM software on the computer screen is a declaration of the mode of input method (F or I).This is followed in the second line by a declaration of the conversion direction (0 or 1). These two lines are the same for both the F and I modes.
2) For the F input mode, the third line of input states the name of the input file. The user waits for the job to conclude. Input is finished.
3) For the I Mode, the third line fed on the monitor screen is a description of the job. A line declaring the name of the output file follows. A user waits for the job completion, after manual feeding of data in step 5 below.
Structure of the input data files and the manual input:
4) The structure of input files executed by the OXDPPM program in the F Mode is as follows:
4a). The first line of data in the input file contains the name of the job (e.g. Halfa Basement, Sudan).
4b). The second line in the input file is a vector of oxide or element entities. The entities are separated by only one space (e.g. AL2O3 CaO F P2O5 or Sm Ba P Zn).
4c). The third line of input and beyond contains each a sample name and concentrations of elements in the sample, in the order set by the vector in 4 b above. All sample lines use the format (A8, 10(F9.4)).
4d). The last line in the input file must be empty, to signal the end of samples input.
5) The structure of data in the I Mode is as follows:
5a). The fifth line declares the names of oxides or native elements, separated by one space only.
5b). The sixth line, and beyond, contains the samples data. Data for each sample are fed in a line. The format for the line is (A8, 10 (A1, F 9.4)). Vertical bars guide data feeding and separate the chemical entities in the line; entities must be placed between bars.
5c). The last line of input must be empty.
An “INSTRUCTION MANUAL” explaining the structure of input in the OXDPPM software program. Users must consult it prior to the preparation of their input files.
This document contains instructions for running the OXDPPM software program. The steps for the program execution are sequential. This ‘manual’ should be used in junction with the flow chart in Figure 1 and the READ ME document in Appendix 1.
1) The executable version of the program (OXDPPM.exe) and the input files should reside on the same location in the computer (i.e. same folder or subfolder), preferably on the desktop. This is intended for simplicity. However, they can reside on any site in the computer, if proper paths are set.
2) A user must ensure, prior to the launching of the OXDPPM software, that output files with extensions .CNV, .OXP, and .SPH associated with the input file root name, do not exist on the computer. The software generates them internally.
3) Launch the OXDPPM program by clicking on its icon or by typing its name on the system command prompt and pressing RETURN.
4) Follow screen instructions carefully and faithfully from step 9.
5) Declare the mode of data input from step 9 (F for the mainstream file input or I for the interactive dialogue input).
6) Declare the conversion direction desired, (1) for the oxide-to-ppm conversion direction or (0) for the ppm-to-oxide conversion direction.
7) Feed the name of the input file (F Mode). For the I Mode, feed first the description of the job, followed on the next line by the name of the output file.
8) Wait for the program completion.
9) The content of the spreadsheet-ready file (.SPH) is highlighted, blocked and copied.
10) Launch the EXCEL spreadsheet program (or similar applications) and paste the data block from step 10.
11) Assign a name for the spreadsheet and save it.
Submit or recommend next manuscript to SCIRP and we will provide best service for you:
Accepting pre-submission inquiries through Email, Facebook, LinkedIn, Twitter, etc.
A wide selection of journals (inclusive of 9 subjects, more than 200 journals)
Providing 24-hour high-quality service
User-friendly online submission system
Fair and swift peer-review system
Efficient typesetting and proofreading procedure
Display of the result of downloads and visits, as well as the number of cited articles
Maximum dissemination of your research work
Submit your manuscript at: http://papersubmission.scirp.org/
Or contact email@example.com
 Al-Mishwat, A. (2015) CIPWFULL: A Software Program for Calculation of Comprehensive CIPW Norms of Igneous Rocks. Mathematical Geosciences, 47, 441-453.
 Al-Mishwat, A. (2016) PHASS99: A Software Program for Retrieving and Decoding the Radiometric Ages of Igneous Rocks from the International Database IGBADAT. Computers & Geosciences, 90, 164-169.
 Al-Mishwat, A. (1997) STASSAGE: A FORTRAN Program to Decode Stratigraphic Ages from the International IGBADAT Database. Computers & Geosciences, 23, 305-315.
 (2016) Element-to-Stoichiometric Oxide Conversion Factors. James Cook University, Australia.
 Bigelow, W. (1985) A FORTRAN Computer Program for Converting among Atom, Weight, and Oxide Percentages for Use in Analytical Electron Microscopy. Microscopy Research and Technique, 2, 637-642.