# HG changeset patch
# User ecology
# Date 1628878631 0
# Node ID 726a387cfdc27e8eb74f217c35afc1ca0bff680a
"planemo upload for repository https://github.com/Marie59/Data_explo_tools commit 60627aba07951226c8fd6bb3115be4bd118edd4e"
diff -r 000000000000 -r 726a387cfdc2 LICENSE.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/LICENSE.md Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+.
diff -r 000000000000 -r 726a387cfdc2 anonymization.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/anonymization.xml Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,71 @@
+
+
+ without loss of the spatial relationships
+
+
+ macro.xml
+
+
+ r-tangles
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 000000000000 -r 726a387cfdc2 funct_anomy.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/funct_anomy.r Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,39 @@
+#Rscript
+
+###########################
+## Anonymization ##
+###########################
+
+#####Packages : tangles
+
+#Load arguments
+
+args <- commandArgs(trailingOnly = TRUE)
+
+if (length(args) == 0) {
+ stop("This tool needs at least one argument")
+}else{
+ table <- args[1]
+ hr <- args[2]
+ latitude <- as.numeric(args[3])
+ longitude <- as.numeric(args[4])
+}
+
+if (hr == "false") {
+ hr <- FALSE
+}else{
+ hr <- TRUE
+}
+
+#####Import data
+data <- read.table(table, sep = "\t", dec = ".", header = hr, fill = TRUE, encoding = "UTF-8")
+
+randomized_data <- tangles::tangles(data = as.matrix(data[, c(latitude, longitude)]), depth = 3, rasterdata = FALSE, raster_object = FALSE, saveTangles = FALSE, path = NULL)
+
+data[, c(latitude, longitude)] <- NULL
+
+tab_anon <- data.frame(longitude = randomized_data[[1]]$X, latitude = randomized_data[[1]]$Y)
+
+tab_anon <- cbind(data, tab_anon)
+
+write.table(tab_anon, "anonym_data.tabular", row.names = FALSE, quote = FALSE, sep = "\t", dec = ".", fileEncoding = "UTF-8")
diff -r 000000000000 -r 726a387cfdc2 functions.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/functions.r Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,22 @@
+#Rscript
+
+#########################################################################################
+####################### Exploration data tools function #################################
+#########################################################################################
+#### Based on Romain Lorrillière R script
+#### Modified by Alan Amosse, Benjamin Yguel and Marie Jossé for integrating within Galaxy-E
+
+######################################### start of the function makeTableAnalyse
+##Species are placed in separated columns and addition of zero on plots where at least one selected species is present
+make_table_analyse <- function(data, var, spe, var2, var3) {
+ tab <- reshape(data
+ , v.names = var
+ , idvar = c(var2, var3)
+ , timevar = spe
+ , direction = "wide")
+ tab[is.na(tab)] <- 0 ###### remplace les na par des 0 / replace NAs by 0
+
+ colnames(tab) <- sub(paste0(var, "."), "", colnames(tab))### remplace le premier pattern "abond." par le second "" / replace the column names "abond." by ""
+ return(tab)
+}
+######################################### end of the function makeTableAnalyse
diff -r 000000000000 -r 726a387cfdc2 graph_homogeneity_normality.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graph_homogeneity_normality.r Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,130 @@
+#Rscript
+
+#######################################
+## Homogeneity and normality ##
+#######################################
+
+#####Packages : car
+# ggplot2
+# ggpubr
+# Cowplot
+
+#####Load arguments
+
+args <- commandArgs(trailingOnly = TRUE)
+
+if (length(args) == 0) {
+ stop("This tool needs at least one argument")
+}else{
+ table <- args[1]
+ hr <- args[2]
+ date <- as.numeric(args[3])
+ spe <- as.numeric(args[4])
+ var <- as.numeric(args[5])
+}
+
+if (hr == "false") {
+ hr <- FALSE
+}else{
+ hr <- TRUE
+}
+
+#####Import data
+data <- read.table(table, sep = "\t", dec = ".", header = hr, fill = TRUE, encoding = "UTF-8")
+data <- na.omit(data)
+coldate <- colnames(data)[date]
+colspe <- colnames(data)[spe]
+colvar <- colnames(data)[var]
+
+#####Your analysis
+
+####Homogeneity of the variance####
+
+##Test of Levene##
+testlevene <- function(data, col1, col2) {
+ data[, col1] <- as.numeric(data[, col1])
+ data[, col2] <- as.factor(data[, col2])
+ tb_levene <- car::leveneTest(y = data[, col1], group = data[, col2])
+
+ return(tb_levene)
+ }
+levene <- capture.output(testlevene(data = data, col1 = colvar, col2 = colspe))
+
+cat("\nwrite table with levene test. \n--> \"", paste(levene, "\"\n", sep = ""), file = "levene.txt", sep = "", append = TRUE)
+
+##Two boxplots to visualize it##
+
+homog_var <- function(data, col1, col2, col3, mult) {
+ data[, col1] <- as.factor(data[, col1])
+ if (mult) {
+ for (spe in unique(data[, col2])) {
+ data_cut <- data[data[, col2] == spe, ]
+ graph_2 <- ggplot2::ggplot(data_cut, ggplot2::aes_string(x = col1, y = col3, color = col1)) +
+ ggplot2::geom_boxplot() +
+ ggplot2::theme(legend.position = "none", axis.text.x = ggplot2::element_text(angle = 90, vjust = 0.5, hjust = 1), panel.background = ggplot2::element_rect(fill = "#d9d4c5", colour = "#d9d4c5", linetype = "solid"),
+ panel.grid.major = ggplot2::element_line(linetype = "solid", colour = "white"),
+ panel.grid.minor = ggplot2::element_line(linetype = "solid", colour = "white"))
+
+ ggplot2::ggsave(paste("Homogeneity_of_", spe, ".png"), graph_2, width = 16, height = 9, units = "cm")
+ }
+ }else{
+ graph_1 <- ggplot2::ggplot(data, ggplot2::aes_string(x = col1, y = col3, color = col1)) +
+ ggplot2::geom_boxplot() +
+ ggplot2::theme(legend.position = "none", axis.text.x = ggplot2::element_text(angle = 90, vjust = 0.5, hjust = 1))
+
+ #Put multiple panels
+ graph_2 <- graph_1 + ggplot2::facet_grid(rows = ggplot2::vars(data[, col2]), scales = "free") +
+ ggplot2::theme(panel.background = ggplot2::element_rect(fill = "#d9d4c5", colour = "#d9d4c5", linetype = "solid"),
+ panel.grid.major = ggplot2::element_line(linetype = "solid", colour = "white"),
+ panel.grid.minor = ggplot2::element_line(linetype = "solid", colour = "white"))
+
+ ggplot2::ggsave("Homogeneity.png", graph_2, width = 16, height = 9, units = "cm")
+ }
+}
+
+####Normality of the distribution####
+# Kolmogorov-Smirnov test
+
+ks <- capture.output(ks.test(x = data[, var], y = "pnorm", alternative = "two.sided"))
+
+cat("\nwrite table with Kolmogorov-Smirnov test. \n--> \"", paste(ks, "\"\n", sep = ""), file = "ks.txt", sep = "", append = TRUE)
+
+#Histogramm with distribution line
+graph_hist <- function(data, var1) {
+ graph_hist <- ggplot2::ggplot(data) +
+ ggplot2::geom_histogram(ggplot2::aes_string(x = var1), binwidth = 2, color = "black", fill = "white") +
+ ggplot2::geom_density(ggplot2::aes_string(var1), alpha = 0.12, fill = "red") +
+ ggplot2::ggtitle("Distribution histogram")
+
+return(graph_hist)
+}
+
+#Add the mean dashed line
+add_mean <- function(graph, var1) {
+ graph_mean <- graph + ggplot2::geom_vline(xintercept = mean(data[, var1]),
+ color = "midnightblue", linetype = "dashed", size = 1)
+
+return(graph_mean)
+}
+
+#Adding a QQplot
+graph_qqplot <- function(data, var1) {
+ graph2 <- ggpubr::ggqqplot(data, var1, color = "midnightblue") + ggplot2::ggtitle("Q-Q plot")
+
+return(graph2)
+}
+
+#On suppose que les données sont distribuées normalement lorsque les points suivent approximativement la ligne de référence à 45 degrés.
+
+graph_fin <- function(graph1, graph2) {
+ graph <- cowplot::plot_grid(graph1, graph2, ncol = 2, nrow = 1)
+
+ ggplot2::ggsave("Normal_distribution.png", graph, width = 10, height = 7, units = "cm")
+}
+
+mult <- ifelse(length(unique(data[, colspe])) == 2, FALSE, TRUE)
+homog_var(data, col1 = coldate, col2 = colspe, col3 = colvar, mult = mult)
+
+graph_hist1 <- graph_hist(data, var1 = colvar)
+graph_mean <- add_mean(graph = graph_hist1, var1 = colvar)
+graph_fin(graph1 = graph_mean, graph2 = graph_qqplot(data, var1 = colvar))
diff -r 000000000000 -r 726a387cfdc2 graph_lcbd.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graph_lcbd.r Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,225 @@
+#Rscript
+
+#########################
+## Beta diversity ##
+#########################
+
+#####Packages : ggplot2
+# vegan
+# adespatial
+# dplyr
+# tibble
+# tdyr
+
+#####Load arguments
+
+args <- commandArgs(trailingOnly = TRUE)
+
+if (length(args) < 2) {
+ stop("This tool needs at least 2 arguments")
+}else{
+ table <- args[1]
+ hr <- args[2]
+ abund <- as.numeric(args[3])
+ loc <- as.numeric(args[4])
+ spe <- as.numeric(args[5])
+ date <- as.numeric(args[6])
+ map <- as.logical(args[7])
+ sepa <- as.logical(args[8])
+ not <- as.logical(args[9])
+ lat <- as.numeric(args[10])
+ long <- as.numeric(args[11])
+ var <- as.numeric(args[12])
+ source(args[13])
+}
+
+if (hr == "false") {
+ hr <- FALSE
+}else{
+ hr <- TRUE
+}
+
+#####Import data
+data <- read.table(table, sep = "\t", dec = ".", header = hr, fill = TRUE, encoding = "UTF-8")
+colabund <- colnames(data)[abund]
+colloc <- colnames(data)[loc]
+if (map) {
+ collat <- colnames(data)[lat]
+ collong <- colnames(data)[long]
+}
+colspe <- colnames(data)[spe]
+coldate <- colnames(data)[date]
+data[, coldate] <- as.factor(data[, coldate])
+
+data <- data[grep("^$", data[, spe], invert = TRUE), ]
+
+if (sepa) {
+colvar <- colnames(data)[var]
+}
+
+# Data for species
+data_num <- make_table_analyse(data, colabund, colspe, colloc, coldate)
+nb_spe <- length(unique(data[, spe]))
+nb_col <- ncol(data_num) - nb_spe + 1
+
+#Data with coordinates and environmental
+if (map) {
+ data_xy <- data_num[, c(collat, collong)]
+ colnames(data_xy) <- c("latitude", "longitude")
+ # Data for environment
+ data_env <- data_num[, c(colloc, collat, collong)]
+ colnames(data_env) <- c("site", "latitude", "longitude")
+}
+
+# Data with only species and their abundance
+data_spe <- data_num[, nb_col:ncol(data_num)]
+rownames(data_spe) <- paste0(data_num[, colloc], " - ", data_num[, coldate])
+
+#####Your analysis
+
+# Computation beta.div {adespatial}
+# Beta.div on Hellinger-transformed species data
+data_beta <- adespatial::beta.div(data_spe, method = "hellinger", nperm = 9999)
+
+save(data_beta, file = "beta_diversity.Rdata")
+cat("##############################################################################",
+ "\n########################### Beta Diversity Summary ###########################",
+ "\n##############################################################################",
+ "\n\n### All data ###",
+ "\nBeta diversity: ", data_beta$beta[[2]],
+ "\nSum of Squares: ", data_beta$beta[[1]],
+ "\n\n### Vector of Local Contributions to Beta Diversity (LCBD) for the sites each date ###",
+ "\n", capture.output(data_beta$LCBD),
+ "\n\n### Vector of P-values associated with the LCBD indices ###",
+ "\n", capture.output(data_beta$p.LCBD),
+ "\n\n### Vector of Corrected P-values for the LCBD indices, Holm correction ###",
+ "\n", capture.output(data_beta$p.adj),
+ "\n\n### Vector of Species contributions to beta diversity (SCBD) ###",
+ "\n", capture.output(data_beta$SCBD), file = "LCBD.txt", fill = 1, append = TRUE)
+
+# Which species have a SCBD larger than the mean SCBD?
+scbd <- capture.output(data_beta$SCBD[data_beta$SCBD >= mean(data_beta$SCBD)])
+write(scbd, "SCBD.txt")
+
+##1st fonction
+beta_div_ext <- function(data_beta, data_xy, data_env) {
+ data_beta_ext <- data.frame(data_xy, data_env, LCBD = data_beta$LCBD * 100, p.LCBD = data_beta$p.LCBD, signif = data_beta$p.LCBD < 0.05)
+
+ graph_beta_ext <- ggplot2::ggplot(data = data_beta_ext, ggplot2::aes(x = latitude, y = longitude, size = LCBD, col = signif)) +
+ ggplot2::geom_point() +
+ ggplot2::scale_colour_manual(values = c("#57bce0", "#ce0b0b"), labels = c("Non significant", "Significant"), name = "Significance at 0.05") +
+ ggplot2::xlab("Longitude") + ggplot2::ylab("Latitude")
+
+ ggplot2::ggsave("Beta_diversity_through_space.png", graph_beta_ext)
+}
+
+## Boyé et al. 2017 JSR Fig R
+####################################################
+
+####LCBD####
+lcbd_site <- adespatial::beta.div(data_spe, "hellinger", nperm = 999)
+
+compute_lcbd <- function(data_beta, data_spe, data_num) {
+
+#############
+ mat_lcbd_site <- data.frame(data_spe, LCBD = data_beta$LCBD * 100, p.LCBD = data_beta$p.LCBD, signif = data_beta$p.LCBD < 0.05, site = data_num[, colloc], date = data_num[, coldate])
+
+## Map spatio-temp
+##################
+ p1 <- ggplot2::qplot(date, site, size = LCBD, col = signif, data = mat_lcbd_site)
+ p1 <- p1 + ggplot2::scale_colour_manual(values = c("#57bce0", "#ce0b0b"), labels = c("Non significant", "Significant"), name = "Significance at 0.05")
+ p1 <- p1 + ggplot2::theme_bw() + ggplot2::theme(axis.text.x = ggplot2::element_text(angle = 90)) + ggplot2::xlab("Date") + ggplot2::ylab("Site")
+
+ ggplot2::ggsave("LCBD_sites_time.png", p1)
+
+
+## Par années
+#############
+ mean_time <- tapply(mat_lcbd_site$LCBD, mat_lcbd_site$date, mean)
+ sd_time <- tapply(mat_lcbd_site$LCBD, mat_lcbd_site$date, sd)
+ date <- unique(mat_lcbd_site$date)
+
+ data <- data.frame(date, mean_time, sd_time)
+
+ time <- ggplot2::ggplot() + ggplot2::geom_pointrange(ggplot2::aes(x = date, y = mean_time, ymin = mean_time - sd_time, ymax = mean_time + sd_time), data = data)
+ time <- time + ggplot2::theme(axis.text.x = ggplot2::element_text(angle = 90), axis.line.y = ggplot2::element_line(size = 0.5)) + ggplot2::ylab("mean LCBD")
+
+ ggplot2::ggsave("Mean_LCBD_through_time.png", time)
+}
+
+## Choose another graph
+#######################
+compute_lcbd2 <- function(data_beta, data_spe, data_num) {
+
+#############
+ mat_lcbd_site <- data.frame(data_spe, LCBD = data_beta$LCBD * 100, p.LCBD = data_beta$p.LCBD, signif = data_beta$p.LCBD < 0.05, site = data_num[, colloc], date = data_num[, coldate], variable = data_num[, colvar])
+
+ p1 <- ggplot2::qplot(date, variable, size = LCBD, col = signif, data = mat_lcbd_site)
+ p1 <- p1 + ggplot2::scale_colour_manual(values = c("#57bce0", "#ce0b0b"), labels = c("Non significant", "Significant"), name = "Significance at 0.05")
+ p1 <- p1 + ggplot2::theme_bw() + ggplot2::theme(axis.text.x = ggplot2::element_text(angle = 90)) + ggplot2::xlab("Date") + ggplot2::ylab(colvar)
+
+ ggplot2::ggsave(paste0("LCBD_per_", colvar, "_through_time.png"), p1)
+}
+
+####SCBD###
+# Function to compute SCBD
+library(dplyr)
+make_scbd_uvc <- function(data_spe, z, data_beta) {
+ # Computation using beta.div {adespatial} on
+ # Hellinger-transformed species data
+
+ # Which species have a SCBD larger than the mean SCBD?
+ spe_scbd <- data_beta$SCBD[data_beta$SCBD >= mean(data_beta$SCBD)] %>%
+ as.data.frame() %>%
+ tibble::rownames_to_column(var = "Taxon") %>%
+ dplyr::mutate("Methode" = z)
+
+ return(spe_scbd)
+}
+
+# Function to make a radar plot
+
+coord_radar <- function(theta = "x", start = 0, direction = 1) {
+ theta <- match.arg(theta, c("x", "y"))
+ r <- if (theta == "x") "y" else "x"
+ ggplot2::ggproto("CordRadar", ggplot2::coord_polar(theta = theta, start = start,
+ direction = sign(direction)),
+ is_linear = function(coord) TRUE)
+}
+
+# Make the radar plot
+radar_plot <- function(scbd_uvc_tc) {
+ uvc_rd_plot_data <- scbd_uvc_tc %>%
+ rename(scbd_score = ".")
+
+ rad_uvc <- ggplot2::ggplot(uvc_rd_plot_data, ggplot2::aes(x = Taxon, y = scbd_score, group = Methode)) +
+ ggplot2::geom_line() +
+ ggplot2::geom_point(size = 3) +
+ coord_radar() +
+ ggplot2::theme_bw() +
+ ggplot2::theme(axis.text.x = ggplot2::element_text(size = 10),
+ legend.position = "bottom")
+
+ ggplot2::ggsave("SCBD_Species_Radar_plot.png", rad_uvc)
+}
+
+## LCBD
+
+if (map) {
+ #Beta diversity
+ beta_div_ext(data_beta, data_xy, data_env)
+}
+
+#Lcbd per places and time
+compute_lcbd(data_beta, data_spe, data_num)
+
+#Lcbd of your choice
+if (sepa) {
+ compute_lcbd2(data_beta, data_spe, data_num)
+}
+
+##SCBD
+
+scbd_uvc_tc <- make_scbd_uvc(data_spe, z = "TC", data_beta)
+
+radar_plot(scbd_uvc_tc)
diff -r 000000000000 -r 726a387cfdc2 graph_link_var.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graph_link_var.r Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,296 @@
+#Rscript
+
+################################################
+## Link between variables and themselves ##
+################################################
+
+#####Packages : ggplot2
+# Cowplot
+# Car
+# faraway
+# dplyr
+# GGally
+# FactoMiner
+# factoextra
+# ggcorrplot
+
+#####Load arguments
+
+args <- commandArgs(trailingOnly = TRUE)
+
+if (length(args) == 0) {
+ stop("This tool needs at least one argument")
+}else{
+ table <- args[1]
+ hr <- args[2]
+ colli <- as.logical(args[3])
+ vif <- as.logical(args[4])
+ pca <- as.logical(args[5])
+ interr <- as.logical(args[6])
+ auto <- as.logical(args[7])
+ spe <- as.numeric(args[8])
+ col <- as.numeric(strsplit(args[9], ",")[[1]])
+ var <- as.numeric(args[10])
+ var2 <- as.numeric(args[11])
+ var4 <- as.numeric(args[12])
+}
+
+if (hr == "false") {
+ hr <- FALSE
+}else{
+ hr <- TRUE
+}
+
+if (length(col) == 1) {
+stop("Please select two or more numerical columns")
+}
+
+#####Import data
+data <- read.table(table, sep = "\t", dec = ".", header = hr, fill = TRUE, encoding = "UTF-8")
+if (vif | pca) {
+data_active <- data[col]
+#Define the active individuals and the active variables for the PCA
+}
+
+if (colli | interr) {
+colspe <- colnames(data)[spe]
+}
+
+if (colli) {
+data_num <- data[col]
+data_num$species <- data[, spe]
+data_num <- data_num[grep("^$", data_num$spe, invert = TRUE), ]
+}
+
+if (interr | auto) {
+colvar <- colnames(data)[var]
+}
+
+if (interr) {
+colvar2 <- colnames(data)[var2]
+colvar4 <- colnames(data)[var4]
+}
+
+#####Your analysis
+
+####Independence of the observations####
+
+acf_tb <- function(data, var) {
+obj <- acf(data[, var], na.action = na.pass)
+ return(obj)
+}
+
+acf_df <- function(data, var) {
+
+tb <- data.frame(acf = acf_tb(data, var)$acf, lag = acf_tb(data, var)$lag)
+
+ return(tb) # Lag: intervalle temporel entre mesures, fréquence à laquelle on mesure l'auto corrélation.
+# ACF: indépendance temporelle
+}
+
+autocorr <- function(var1, var2) {
+ cat("\nACF\n", var2$acf, file = "acf.txt", fill = 1, append = TRUE)
+ graph <- ggplot2::ggplot() +
+ ggplot2::geom_bar(ggplot2::aes(x = var2$lag, y = var2$acf), stat = "identity", position = "identity", fill = "midnightblue") +
+ ggplot2::geom_hline(mapping = ggplot2::aes(yintercept = qnorm((1 + 0.95) / 2) / sqrt(var1$n.used)),
+ linetype = "dashed") + # calcul interval de confiance à 95% sans correction du bruit blanc.
+ ggplot2::geom_hline(mapping = ggplot2::aes(yintercept = -qnorm((1 + 0.95) / 2) / sqrt(var1$n.used)), linetype = "dashed") + ggplot2::labs(title = "Autocorrelation") + ggplot2::xlab("lag") + ggplot2::ylab("acf")
+ ggplot2::theme(plot.title = ggplot2::element_text(hjust = 0.5))
+
+ ggplot2::ggsave("autocorrelation.png", graph)
+}
+
+####Interractions####
+
+graph <- function(data, var1, var2, var3) {
+ graph <- ggplot2::ggplot(data, ggplot2::aes_string(x = var1, y = var2, group = var3, color = var3)) +
+ ggplot2::geom_point() +
+ ggplot2::geom_smooth(method = lm, se = FALSE) +
+ ggplot2::theme(plot.title = ggplot2::element_text(color = "black", size = 12, face = "bold"))
+
+return(graph)
+}
+
+# Put multiple panels
+interraction <- function(data, var1, var2, var3, var4) {
+ cat("\nSpecies\n", spe, file = "Species.txt", fill = 1, append = TRUE)
+ if (mult1) {
+ for (spe in unique(data[, var3])) {
+ data_cut <- data[data[, var3] == spe, ]
+ mult_graph <- graph(data_cut, var1, var2, var3) + ggplot2::facet_grid(cols = ggplot2::vars(data_cut[, var4]), scales = "free") +
+ cowplot::background_grid(major = "xy", minor = "none") +
+ cowplot::panel_border() + ggplot2::ggtitle("Interactions")
+
+ ggplot2::ggsave(paste("interaction_of_", spe, ".png"), mult_graph, width = 10, height = 7)
+ }
+ }else{
+ mult_graph <- graph(data, var1, var2, var3) + ggplot2::facet_grid(rows = ggplot2::vars(data[, var3]), cols = ggplot2::vars(data[, var4]), scales = "free") +
+ cowplot::background_grid(major = "xy", minor = "none") +
+ cowplot::panel_border() + ggplot2::ggtitle("Interactions")
+
+ ggplot2::ggsave("interraction.png", mult_graph)
+ }
+}
+
+####Collinearity among covariates####
+# Create the plots
+
+coli <- function(data, var) {
+ if (mult2) {
+ cat("\nThere is not enough data on these species they appear too few times in the tabular-file\n", file = "Data.txt", fill = 1, append = TRUE)
+ for (spe in unique(data$species)) {
+ nb_spe <- sum(data$species == spe)
+ if (nb_spe <= 2) {
+ cat(spe, file = "Data.txt", fill = 1, append = TRUE)
+ }else{
+ data_cut <- data[data$species == spe, ]
+ nb <- ncol(data_cut)
+ data_num <- data_cut[, -nb]
+ graph <- GGally::ggpairs(data_num, ggplot2::aes(color = data_cut$species),
+ lower = list(continuous = "points"), axisLabels = "internal")
+
+ ggplot2::ggsave(paste0("collinarity_of_", spe, ".png"), graph, width = 20, height = 15)
+ }
+ }
+
+ }else{
+ nb <- ncol(data)
+ data_cut <- data[, -nb]
+ graph <- GGally::ggpairs(data_cut, ggplot2::aes(color = data[, var]),
+ lower = list(continuous = "points"), axisLabels = "internal") +
+ ggplot2::scale_colour_manual(values = c("#00AFBB", "#E7B800", "#FC4E07")) +
+ ggplot2::scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))
+
+ ggplot2::ggsave("collinarity.png", graph)
+ }
+}
+
+####PCA method####
+
+plot_pca <- function(data) {
+ #Correlation circle
+ graph_corr <- factoextra::fviz_pca_var(active_data(data), col.var = "cos2",
+ gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
+ repel = TRUE #Avoid text overlap
+ )
+ ggplot2::ggsave("Pca_circle.png", graph_corr)
+}
+
+plot_qual <- function(data) {
+ #PCA results for variables
+ var <- factoextra::get_pca_var(active_data(data))
+
+ #representation quality
+ graph_quality <- ggcorrplot::ggcorrplot(var$cos2[!apply(var$cos2, 1, anyNA), ], method = "circle",
+ ggtheme = ggplot2::theme_gray,
+ colors = c("#00AFBB", "#E7B800", "#FC4E07"))
+
+ ggplot2::ggsave("Pca_quality.png", graph_quality)
+}
+
+#### Variance inflation factor ####
+
+myvif <- function(mod) {
+ v <- vcov(mod)
+ assign <- attributes(model.matrix(mod))$assign
+ if (names(coefficients(mod)[1]) == "(Intercept)") {
+ v <- v[-1, -1]
+ assign <- assign[-1]
+ } else warning("No intercept: vifs may not be sensible.")
+ terms <- labels(terms(mod))
+ n_terms <- length(terms)
+ if (n_terms < 2) stop("The model contains fewer than 2 terms")
+ if (length(assign) > dim(v)[1]) {
+ diag(tmp_cor) <- 0
+ if (any(tmp_cor == 1.0)) {
+ return("Sample size is too small, 100% collinearity is present")
+ } else {
+ return("Sample size is too small")
+ }
+ }
+ r <- cov2cor(v)
+ detr <- det(r)
+ result <- matrix(0, n_terms, 3)
+ rownames(result) <- terms
+ colnames(result) <- c("GVIF", "Df", "GVIF^(1/2Df)")
+ for (term in 1:n_terms) {
+ subs <- which(assign == term)
+ result[term, 1] <- det(as.matrix(r[subs, subs])) * det(as.matrix(r[-subs, -subs])) / detr
+ result[term, 2] <- length(subs)
+ }
+ if (all(result[, 2] == 1)) {
+ result <- data.frame(GVIF = result[, 1])
+ } else {
+ result[, 3] <- result[, 1] ^ (1 / (2 * result[, 2]))
+ }
+ invisible(result)
+}
+corvif1 <- function(dataz) {
+ dataz <- as.data.frame(dataz)
+ #correlation part
+ tmp_cor <- cor(dataz, use = "complete.obs")
+ return(tmp_cor)
+}
+corvif2 <- function(dataz) {
+ dataz <- as.data.frame(dataz)
+ #vif part
+ form <- formula(paste("fooy ~ ", paste(strsplit(names(dataz), " "), collapse = " + ")))
+ dataz <- data.frame(fooy = 1, dataz)
+ lm_mod <- lm(form, dataz)
+
+ return(myvif(lm_mod))
+}
+
+#Autocorrelation
+if (auto) {
+obj1 <- acf_tb(data, var = colvar)
+obj2 <- acf_df(data, var = colvar)
+autocorr(var1 = obj1, var2 = obj2)
+}
+
+if (interr) {
+#Interractions
+mult1 <- ifelse(length(unique(data[, colspe])) <= 6, FALSE, TRUE)
+interraction(data, var1 = colvar, var2 = colvar2, var3 = colspe, var4 = colvar4)
+}
+
+#Collinearity
+if (colli) {
+mult2 <- ifelse(length(unique(data[, spe])) < 3, FALSE, TRUE)
+coli(data = data_num, var = spe)
+}
+
+#PCA
+if (pca) {
+active_data <- function(data) {
+ #Calcul of PCA for the active data
+ res_pca <- FactoMineR::PCA(data, graph = FALSE)
+
+return(res_pca)
+}
+
+#eigenvalue
+eig_val <- capture.output(factoextra::get_eigenvalue(active_data(data_active)))
+
+cat("\nwrite table with eigenvalue. \n--> \"", paste(eig_val, "\"\n", sep = ""), file = "valeurs.txt", sep = "", append = TRUE)
+
+plot_pca(data_active)
+plot_qual(data_active)
+}
+
+#VIF
+if (vif) {
+#Compute 2 tables#
+tb_corr <- as.data.frame(corvif1(dataz = data_active))
+tb_corr <- cbind(x = rownames(tb_corr), tb_corr)
+tb_vif <- corvif2(dataz = data_active)
+
+write.table(tb_corr, "corr.tabular", row.names = FALSE, quote = FALSE, sep = "\t", dec = ".", fileEncoding = "UTF-8")
+
+if (all(is.na(tb_vif))) {
+ tb_vif <- NULL
+ cat("Vif couldn't be calculated, selected data isn't correlated")
+}else{
+write.table(tb_vif, "vif.tabular", row.names = FALSE, quote = FALSE, sep = "\t", dec = ".", fileEncoding = "UTF-8")
+}
+}
diff -r 000000000000 -r 726a387cfdc2 graph_pres_abs_abund.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graph_pres_abs_abund.r Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,195 @@
+#Rscript
+
+#########################################################
+## Presence abscence and abundance in environment ##
+#########################################################
+
+#####Packages : ggplot2
+# vegan
+
+#####Load arguments
+
+args <- commandArgs(trailingOnly = TRUE)
+
+if (length(args) < 5) {
+ stop("This tool needs at least 5 arguments")
+}else{
+ table <- args[1]
+ hr <- args[2]
+ abundance <- as.logical(args[3])
+ presabs <- as.logical(args[4])
+ rarefaction <- as.logical(args[5])
+ lat <- as.numeric(args[6])
+ long <- as.numeric(args[7])
+ ind <- as.character(args[8])
+ loc <- as.numeric(args[9])
+ num <- as.character(args[10])
+ spe <- as.numeric(args[11])
+ abond <- as.numeric(args[12])
+}
+
+if (hr == "false") {
+ hr <- FALSE
+}else{
+ hr <- TRUE
+}
+
+#####Import data
+data <- read.table(table, sep = "\t", dec = ".", header = hr, fill = TRUE, encoding = "UTF-8")
+
+if (abundance) {
+collat <- colnames(data)[lat]
+collong <- colnames(data)[long]
+}
+
+if (presabs) {
+colloc <- colnames(data)[loc]
+}
+
+if (presabs | rarefaction | abundance) {
+colabond <- colnames(data)[abond]
+colspe <- colnames(data)[spe]
+data <- data[grep("^$", data[, colspe], invert = TRUE), ]
+}
+
+#####Your analysis
+
+####The abundance in the environment####
+
+##Representation of the environment##
+
+## Mapping
+graph_map <- function(data, collong, collat, colabond, ind, colspe) {
+ cat("\nCoordinates range\n\nLatitude from ", min(data[, collat], na.rm = TRUE), " to ", max(data[, collat], na.rm = TRUE), "\nLongitude from ", min(data[, collong], na.rm = TRUE), " to ", max(data[, collong], na.rm = TRUE), file = "Data_abund.txt", fill = 1, append = TRUE)
+ if (mult0) {
+ mappy <- ggplot2::ggplot(data, ggplot2::aes_string(x = collong, y = collat, cex = colabond, color = colspe)) +
+ ggplot2::geom_point() + ggplot2::ggtitle(paste("Abundance of", ind, "in the environment")) + ggplot2::xlab("Longitude") + ggplot2::ylab("Latitude") + ggplot2::theme(axis.text.x = ggplot2::element_text(angle = 90, vjust = 0.5, hjust = 1), legend.text = ggplot2::element_text(size = 8)) + ggplot2::guides(cex = ggplot2::guide_legend(reverse = TRUE))
+
+ }else{
+ mappy <- ggplot2::ggplot(data, ggplot2::aes_string(x = collong, y = collat, cex = colabond, color = colabond)) +
+ ggplot2::geom_point() + ggplot2::ggtitle(paste("Abundance of", ind, "in the environment")) + ggplot2::xlab("Longitude") + ggplot2::ylab("Latitude") + ggplot2::theme(axis.text.x = ggplot2::element_text(angle = 90, vjust = 0.5, hjust = 1), legend.text = ggplot2::element_text(size = 8)) + ggplot2::guides(cex = ggplot2::guide_legend(reverse = TRUE))
+ }
+ ggplot2::ggsave("mappy.png", mappy, width = 20, height = 9, units = "cm")
+}
+
+####Presence absence abundance####
+
+## Histogram
+graph_hist <- function(data, col1, col2, col3) {
+ cat("\nLocations\n", unique(data[, col1]), file = "Locations.txt", fill = 1, append = TRUE)
+ if (mult1) {
+ for (loc in unique(data[, col1])) {
+ data_cut <- data[data[, col1] == loc, ]
+ data_cut <- data_cut[data_cut[, col3] > 0, ]
+ if (length(unique(data_cut[, col2])) <= 40) {
+ top <- nrow(data_cut)
+ var <- nchar(as.character(round(top * 0.1, digits = 0)))
+ step <- round(top * 0.1, digits = ifelse(var == 1, 1, -var + 1))
+ graph <- ggplot2::ggplot(data_cut) +
+ ggplot2::geom_bar(ggplot2::aes_string(x = col1, fill = col2)) +
+ ggplot2::scale_y_continuous(breaks = seq(from = 0, to = top, by = step)) +
+ ggplot2::theme(plot.title = ggplot2::element_text(color = "black", size = 12, face = "bold")) +
+ ggplot2::ggtitle("Number of presence")
+
+ ggplot2::ggsave(paste("number_in_", loc, ".png"), graph)
+ }else{
+ cat(paste0("\n", loc, " had more than 40 species and plot isn't readable please select a higher taxon level or cut your data"))
+ }
+ }
+ }else{
+ top <- nrow(data)
+ var <- nchar(as.character(round(top * 0.1, digits = 0)))
+ step <- round(top * 0.1, digits = ifelse(var == 1, 1, -var + 1))
+ graph <- ggplot2::ggplot(data) +
+ ggplot2::geom_bar(ggplot2::aes_string(x = col1, fill = col2)) +
+ ggplot2::scale_y_continuous(breaks = seq(from = 0, to = top, by = step)) +
+ ggplot2::theme(plot.title = ggplot2::element_text(color = "black", size = 12, face = "bold")) +
+ ggplot2::ggtitle("Number of individuals")
+
+ ggplot2::ggsave("number.png", graph)
+ }
+}
+
+rare <- function(data, spe, abond, rare, num) {
+# Put the data in form
+ new_data <- as.data.frame(data[, spe])
+ colnames(new_data) <- c("Species")
+ new_data$total <- data[, abond]
+
+ new_data$rarefaction <- as.integer(rare)
+
+ end <- length(unique(new_data$Species))
+ out <- vegan::rarecurve(new_data[, 2:3], step = 10, sample = rarefy_sample, label = FALSE)
+ names(out) <- paste(unique(new_data$Species), sep = "")
+
+# Coerce data into "long" form.
+ protox <- mapply(FUN = function(x, y) {
+ mydf <- as.data.frame(x)
+ colnames(mydf) <- "value"
+ mydf$species <- y
+ mydf$subsample <- attr(x, "Subsample")
+ mydf <- na.omit(mydf)
+ mydf
+ }, x = out, y = as.list(names(out)), SIMPLIFY = FALSE)
+
+ xy <- do.call(rbind, protox)
+ rownames(xy) <- NULL # pretty
+
+# Plot.
+
+ if (mult2) {
+ for (spe in unique(data[, spe])) {
+ xy_cut <- xy[xy$species == spe, ]
+ top <- max(xy_cut$subsample)
+ var <- nchar(as.character(round(top * 0.1, digits = 0)))
+ step <- round(top * 0.1, digits = ifelse(var == 1, 1, -var + 1))
+ courbe <- ggplot2::ggplot(xy_cut, ggplot2::aes(x = subsample, y = value)) +
+ ggplot2::theme_gray() +
+ ggplot2::geom_line(size = 1) +
+ ggplot2::scale_x_continuous(breaks = seq(from = 0, to = top, by = step)) +
+ ggplot2::xlab("Abundance") + ggplot2::ylab("Value") +
+ ggplot2::ggtitle("rarefaction curve")
+
+ ggplot2::ggsave(paste("rarefaction_of_", spe, ".png"), courbe)
+ }
+ }else{
+ top <- max(xy$subsample)
+ var <- nchar(as.character(round(top * 0.1, digits = 0)))
+ step <- round(top * 0.1, digits = ifelse(var == 1, 1, -var + 1))
+ courbe <- ggplot2::ggplot(xy, ggplot2::aes(x = subsample, y = value, color = species)) +
+ ggplot2::theme_gray() +
+ ggplot2::geom_line(size = 1) +
+ ggplot2::scale_x_continuous(breaks = seq(from = 0, to = top, by = step)) +
+ ggplot2::xlab("Subsample") + ggplot2::ylab("Value") +
+ ggplot2::ggtitle("rarefaction curves")
+
+ ggplot2::ggsave("rarefaction.png", courbe)
+ }
+}
+
+if (abundance) {
+#Maps
+mult0 <- ifelse(length(unique(data[, colspe])) > 10, FALSE, TRUE)
+graph_map(data, collong = collong, collat = collat, colabond = colabond, ind = ind, colspe = colspe)
+}
+
+if (presabs) {
+#Presence absence count
+mult1 <- ifelse(length(unique(data[, colloc])) <= 10, FALSE, TRUE)
+graph_hist(data, col1 = colloc, col2 = colspe, col3 = colabond)
+}
+
+if (rarefaction) {
+#rarefaction
+
+#### rarefaction indice ####
+rarefy_sample <- as.numeric(num)
+
+## Calcul de la rarefaction
+rarefaction <- vegan::rarefy(data[, abond], rarefy_sample)
+
+write.table(rarefaction, "rare.tabular")
+
+mult2 <- ifelse(length(unique(data[, colspe])) <= 30, FALSE, TRUE)
+rare(data, spe = colspe, abond = colabond, rare = rarefaction, num = rarefy_sample)
+}
diff -r 000000000000 -r 726a387cfdc2 graph_stat_presence_abs.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graph_stat_presence_abs.r Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,105 @@
+#Rscript
+
+################################
+## Median and dispersion ##
+################################
+
+#####Packages : Cowplot
+# ggplot2
+
+#####Load arguments
+
+args <- commandArgs(trailingOnly = TRUE)
+
+if (length(args) == 0) {
+ stop("This tool needs at least one argument")
+}else{
+ table <- args[1]
+ hr <- args[2]
+ var <- as.numeric(args[3])
+ spe <- as.numeric(args[4])
+ loc <- as.numeric(args[5])
+ time <- as.numeric(args[6])
+ source(args[7])
+}
+
+if (hr == "false") {
+ hr <- FALSE
+}else{
+ hr <- TRUE
+}
+
+#####Import data
+data <- read.table(table, sep = "\t", dec = ".", header = hr, fill = TRUE, encoding = "UTF-8")
+data <- na.omit(data)
+colvar <- colnames(data)[var]
+colspe <- colnames(data)[spe]
+colloc <- colnames(data)[loc]
+coltime <- colnames(data)[time]
+
+data <- data[grep("^$", data[, spe], invert = TRUE), ]
+
+#####Your analysis
+
+####Median and data dispersion####
+
+#Median
+graph_median <- function(data, var) {
+ graph_median <- ggplot2::ggplot(data, ggplot2::aes_string(y = var)) +
+ ggplot2::geom_boxplot(color = "darkblue") +
+ ggplot2::theme(legend.position = "none") + ggplot2::ggtitle("Median")
+
+return(graph_median)
+
+}
+
+#Dispersion
+dispersion <- function(data, var, var2) {
+ graph_dispersion <- ggplot2::ggplot(data) +
+ ggplot2::geom_point(ggplot2::aes_string(x = var2, y = var, color = var2)) +
+ ggplot2::scale_fill_brewer(palette = "Set3") +
+ ggplot2::theme(legend.position = "none", axis.text.x = ggplot2::element_text(angle = 90, vjust = 0.5, hjust = 1), plot.title = ggplot2::element_text(color = "black", size = 12, face = "bold")) + ggplot2::ggtitle("Dispersion")
+
+return(graph_dispersion)
+
+}
+
+#The 2 graph
+med_disp <- function(med, disp) {
+ graph <- cowplot::plot_grid(med, disp, ncol = 1, nrow = 2, vjust = -5, scales = "free")
+
+ ggplot2::ggsave("Med_Disp.png", graph, width = 12, height = 20, units = "cm")
+}
+
+
+#### Zero problem in data ####
+
+#Put data in form
+
+data_num <- make_table_analyse(data, colvar, colspe, colloc, coltime)
+nb_spe <- length(unique(data[, spe]))
+nb_col <- ncol(data_num) - nb_spe + 1
+data_num <- data_num[, nb_col:ncol(data_num)]
+
+#Presence of zeros in the data
+mat_corr <- function(data) {
+ cor(data)
+}
+p_mat <- function(data) {
+ ggcorrplot::cor_pmat(data)
+} # compute a matrix of correlation p-values
+
+graph_corr <- function(data_num) {
+ graph <- ggcorrplot::ggcorrplot(mat_corr(data_num), method = "circle", p.mat = p_mat(data_num), #barring the no significant coefficient
+ ggtheme = ggplot2::theme_gray, colors = c("#00AFBB", "#E7B800", "#FC4E07"))
+
+ ggplot2::ggsave("0_pb.png", graph)
+}
+
+##Med and disp
+med <- graph_median(data, var = colvar)
+disp <- dispersion(data, var = colvar, var2 = colspe)
+med_disp(med = med, disp = disp)
+
+##O problem
+graph_corr(data_num)
diff -r 000000000000 -r 726a387cfdc2 macro.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macro.xml Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,65 @@
+
+ 0.0.0
+
+
+ r-ggplot2
+
+
+
+
+
+
+
+
+ method['type'] == 'collinearity'
+
+
+ method['type'] == 'pca'
+
+
+ method['type'] == 'vif'
+
+
+ method['type'] == 'interr'
+
+
+ method['type'] == 'autocorr'
+
+
+ method['type'] == 'abund'
+
+
+ method['type'] == 'pres_abs'
+
+
+ method['type'] == 'rare'
+
+
+
+
+ @unpublished{
+ title={ A protocol for data exploration to avoid common statistical problems },
+ authors={Alain F. Zuur, Elena N. Ieno, Chris S. Elphick},
+ url={https://besjournals.onlinelibrary.wiley.com/doi/full/10.1111/j.2041-210X.2009.00001.x}
+ }
+
+
+
+
+
+
+ @unpublished{
+ title={ Numerical Ecology with R },
+ author={Daniel Borcard, François Gillet, Pierre Legendre},
+ }
+
+
+
+
+
+ topic_0610
+ topic_3050
+
+
+
+
diff -r 000000000000 -r 726a387cfdc2 test-data/Data.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Data.tabular Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,2 @@
+"x"
+"1" 29
diff -r 000000000000 -r 726a387cfdc2 test-data/Missing_species.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Missing_species.txt Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,6 @@
+
+There is not enough data on these species they appear too few times in the tabular-file
+
+Scorpaenidae
+Plesiopidae
+Serranidae
diff -r 000000000000 -r 726a387cfdc2 test-data/Reel_life_survey_fish_modif.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Reel_life_survey_fish_modif.tabular Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,290 @@
+FID Key SurveyID Country Ecoregion Realm SiteCode Site SiteLat SiteLong SurveyDate Depth Phylum Class Family Taxon Block Total Diver geom
+M2_FISH_DATA.1 1 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 2 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.2 2 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 5 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.3 3 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Blenniidae Ecsenius stictus 2 8 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.4 4 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Eviota guttata 1 6 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.5 5 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Eviota guttata 2 9 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.6 6 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Eviota hoesei 1 3 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.7 7 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Eviota hoesei 2 19 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.8 8 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Gobiodon histrio 1 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.9 9 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Gobiodon histrio 2 3 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.10 10 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Gobiodon sp. [3 GA] 1 12 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.11 11 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Gobiodon spp. 2 5 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.12 12 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Scorpaenidae Parascorpaena aurita 2 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.13 13 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Tripterygiidae Ucla xenogrammus 1 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.14 14 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Tripterygiidae Ucla xenogrammus 2 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.15 15 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Plesiopidae Assessor macneilli 2 20 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.16 16 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius bicolor 1 4 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.17 17 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius bicolor 2 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.18 18 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 1 5 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.19 19 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 6 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.20 20 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.21 21 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius stictus 2 3 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.22 22 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Tripterygiidae Enneapterygius similis 1 3 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.23 23 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Serranidae Epinephelus fasciatus 2 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.24 24 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Eviota guttata 1 6 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.25 25 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Eviota guttata 2 8 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.26 26 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Eviota hoesei 1 7 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.27 27 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Eviota hoesei 2 12 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.28 28 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Gobiodon sp. [3 GA] 2 16 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.29 29 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Gobiodon spp. 2 7 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.30 30 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Paragobiodon echinocephalus 2 2 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.31 31 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Pinguipedidae Parapercis clathrata 2 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.32 32 912345712 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8 Chordata Actinopterygii Apogonidae Apogon spp. 1 1 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.33 33 912345712 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8 Chordata Actinopterygii Serranidae Diploprion bifasciatum 1 1 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.34 34 912345712 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8 Chordata Actinopterygii Tripterygiidae Enneapterygius similis 1 5 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.35 35 912345712 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8 Chordata Actinopterygii Gobiidae Gobiodon histrio 1 1 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.36 36 912345712 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8 Chordata Actinopterygii Gobiidae Istigobius decoratus 1 2 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.37 37 912345712 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8 Chordata Actinopterygii Pinguipedidae Parapercis australis 1 2 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.38 38 912345712 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8 Chordata Actinopterygii Blenniidae Salarias spp. 1 1 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.39 39 912345712 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 3 PBD POINT (151.75 -23.53)
+M2_FISH_DATA.40 40 912345712 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8 Chordata Actinopterygii Gobiidae Istigobius decoratus 2 3 PBD POINT (151.75 -23.53)
+M2_FISH_DATA.41 41 912345712 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8 Chordata Actinopterygii Gobiidae Valenciennea decora 2 2 PBD POINT (151.75 -23.53)
+M2_FISH_DATA.42 42 912345713 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8.1 Chordata Actinopterygii Apogonidae Apogon spp. 1 1 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.43 43 912345713 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8.1 Chordata Actinopterygii Blenniidae Ecsenius bicolor 1 3 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.44 44 912345713 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8.1 Chordata Actinopterygii Tripterygiidae Enneapterygius similis 1 6 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.45 45 912345713 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8.1 Chordata Actinopterygii Muraenidae Gymnothorax spp. 1 1 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.46 46 912345713 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8.1 Chordata Actinopterygii Gobiidae Istigobius decoratus 1 7 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.47 47 912345713 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2015-10-01T14:00:00Z 8.1 Chordata Actinopterygii Plesiopidae Assessor macneilli 2 2 PBD POINT (151.75 -23.53)
+M2_FISH_DATA.48 48 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Gobiidae Amblygobius phalaena 2 2 CK POINT (151.75 -23.53)
+M2_FISH_DATA.49 49 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Blenniidae Atrosalarias holomelas 1 2 CK POINT (151.75 -23.53)
+M2_FISH_DATA.50 50 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Apogonidae Cheilodipterus quinquelineatus 1 2 CK POINT (151.75 -23.53)
+M2_FISH_DATA.51 51 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 1 3 CK POINT (151.75 -23.53)
+M2_FISH_DATA.52 52 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.53 53 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Serranidae Epinephelus merra 1 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.54 54 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Gobiidae Istigobius decoratus 1 3 CK POINT (151.75 -23.53)
+M2_FISH_DATA.55 55 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Gobiidae Istigobius decoratus 2 8 CK POINT (151.75 -23.53)
+M2_FISH_DATA.56 56 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Opistognathidae Opistognathus spp. 2 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.57 57 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Pinguipedidae Parapercis australis 1 4 CK POINT (151.75 -23.53)
+M2_FISH_DATA.58 58 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Pinguipedidae Parapercis australis 2 3 CK POINT (151.75 -23.53)
+M2_FISH_DATA.59 59 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Holocentridae Sargocentron rubrum 2 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.60 60 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Gobiidae Valenciennea longipinnis 2 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.61 61 912347130 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8 Chordata Actinopterygii Gobiidae Valenciennea muralis 2 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.62 62 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Gobiidae Amblyeleotris wheeleri 2 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.63 63 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Gobiidae Amblygobius phalaena 1 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.64 64 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Gobiidae Amblygobius phalaena 2 2 CK POINT (151.75 -23.53)
+M2_FISH_DATA.65 65 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Apogonidae Cheilodipterus quinquelineatus 1 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.66 66 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 1 3 CK POINT (151.75 -23.53)
+M2_FISH_DATA.67 67 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 9 CK POINT (151.75 -23.53)
+M2_FISH_DATA.68 68 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Tripterygiidae Enneapterygius similis 1 2 CK POINT (151.75 -23.53)
+M2_FISH_DATA.69 69 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Gobiidae Eviota guttata 1 2 CK POINT (151.75 -23.53)
+M2_FISH_DATA.70 70 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Gobiidae Eviota guttata 2 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.71 71 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Gobiidae Eviota prasites 2 2 CK POINT (151.75 -23.53)
+M2_FISH_DATA.72 72 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Gobiidae Istigobius decoratus 1 6 CK POINT (151.75 -23.53)
+M2_FISH_DATA.73 73 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Gobiidae Istigobius decoratus 2 7 CK POINT (151.75 -23.53)
+M2_FISH_DATA.74 74 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Opistognathidae Opistognathus spp. 1 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.75 75 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Opistognathidae Opistognathus spp. 2 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.76 76 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Pinguipedidae Parapercis australis 1 2 CK POINT (151.75 -23.53)
+M2_FISH_DATA.77 77 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Pinguipedidae Parapercis australis 2 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.78 78 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Pinguipedidae Parapercis queenslandica 1 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.79 79 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Pinguipedidae Parapercis queenslandica 2 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.80 80 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Holocentridae Sargocentron rubrum 2 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.81 81 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Gobiidae Valenciennea longipinnis 2 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.82 82 912347131 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS2 Masthead Site 1 -23.53 151.75 2017-03-10T13:00:00Z 8.1 Chordata Actinopterygii Gobiidae Valenciennea muralis 1 1 CK POINT (151.75 -23.53)
+M2_FISH_DATA.83 83 912345714 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS3 Masthead Site 2 -23.53 151.75 2015-10-02T14:00:00Z 7 Chordata Actinopterygii Tripterygiidae Enneapterygius mirabilis 1 3 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.84 84 912345714 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS3 Masthead Site 2 -23.53 151.75 2015-10-02T14:00:00Z 7 Chordata Actinopterygii Gobiidae Eviota spp. 1 4 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.85 85 912345714 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS3 Masthead Site 2 -23.53 151.75 2015-10-02T14:00:00Z 7 Chordata Actinopterygii Pinguipedidae Parapercis australis 1 2 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.86 86 912345714 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS3 Masthead Site 2 -23.53 151.75 2015-10-02T14:00:00Z 7 Chordata Actinopterygii Gobiidae Eviota spp. 2 5 PBD POINT (151.75 -23.53)
+M2_FISH_DATA.87 87 912345715 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS3 Masthead Site 2 -23.53 151.75 2015-10-02T14:00:00Z 7.1 Chordata Actinopterygii Tripterygiidae Enneapterygius mirabilis 1 13 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.88 88 912345715 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS3 Masthead Site 2 -23.53 151.75 2015-10-02T14:00:00Z 7.1 Chordata Actinopterygii Gobiidae Eviota spp. 1 2 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.89 89 912345715 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS3 Masthead Site 2 -23.53 151.75 2015-10-02T14:00:00Z 7.1 Chordata Actinopterygii Pinguipedidae Parapercis australis 1 1 ATC POINT (151.75 -23.53)
+M2_FISH_DATA.90 90 912345716 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2015-10-03T14:00:00Z 5 Chordata Actinopterygii Gobiidae Istigobius decoratus 1 2 ATC POINT (151.77 -23.5)
+M2_FISH_DATA.91 91 912345716 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2015-10-03T14:00:00Z 5 Chordata Actinopterygii Pseudochromidae Labracinus cyclophthalmus 1 2 ATC POINT (151.77 -23.5)
+M2_FISH_DATA.92 92 912345716 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2015-10-03T14:00:00Z 5 Chordata Actinopterygii Pinguipedidae Parapercis australis 1 2 ATC POINT (151.77 -23.5)
+M2_FISH_DATA.93 93 912345716 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2015-10-03T14:00:00Z 5 Chordata Actinopterygii Blenniidae Blenniid spp. 2 1 PBD POINT (151.77 -23.5)
+M2_FISH_DATA.94 94 912345716 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2015-10-03T14:00:00Z 5 Chordata Actinopterygii Pinguipedidae Parapercis australis 2 1 PBD POINT (151.77 -23.5)
+M2_FISH_DATA.95 95 912345717 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2015-10-03T14:00:00Z 5.1 Chordata Actinopterygii Serranidae Diploprion bifasciatum 1 1 ATC POINT (151.77 -23.5)
+M2_FISH_DATA.96 96 912345717 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2015-10-03T14:00:00Z 5.1 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 1 1 ATC POINT (151.77 -23.5)
+M2_FISH_DATA.97 97 912345717 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2015-10-03T14:00:00Z 5.1 Chordata Actinopterygii Gobiidae Istigobius decoratus 1 3 ATC POINT (151.77 -23.5)
+M2_FISH_DATA.98 98 912345717 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2015-10-03T14:00:00Z 5.1 Chordata Actinopterygii Pseudochromidae Labracinus cyclophthalmus 1 1 ATC POINT (151.77 -23.5)
+M2_FISH_DATA.99 99 912345717 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2015-10-03T14:00:00Z 5.1 Chordata Actinopterygii Pinguipedidae Parapercis australis 1 1 ATC POINT (151.77 -23.5)
+M2_FISH_DATA.100 100 912345717 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2015-10-03T14:00:00Z 5.1 Chordata Actinopterygii Pinguipedidae Parapercis hexophtalma 1 1 ATC POINT (151.77 -23.5)
+M2_FISH_DATA.101 101 912345717 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2015-10-03T14:00:00Z 5.1 Chordata Actinopterygii Gobiidae Istigobius decoratus 2 5 PBD POINT (151.77 -23.5)
+M2_FISH_DATA.102 102 912345717 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2015-10-03T14:00:00Z 5.1 Chordata Actinopterygii Pinguipedidae Parapercis stricticeps 2 1 PBD POINT (151.77 -23.5)
+M2_FISH_DATA.103 103 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Gobiidae Amblygobius phalaena 1 1 CK POINT (151.77 -23.5)
+M2_FISH_DATA.104 104 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Blenniidae Atrosalarias holomelas 2 1 CK POINT (151.77 -23.5)
+M2_FISH_DATA.105 105 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Apogonidae Cheilodipterus quinquelineatus 1 4 CK POINT (151.77 -23.5)
+M2_FISH_DATA.106 106 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 1 5 CK POINT (151.77 -23.5)
+M2_FISH_DATA.107 107 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 9 CK POINT (151.77 -23.5)
+M2_FISH_DATA.108 108 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Tripterygiidae Enneapterygius similis 2 22 CK POINT (151.77 -23.5)
+M2_FISH_DATA.109 109 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Gobiidae Eviota guttata 1 2 CK POINT (151.77 -23.5)
+M2_FISH_DATA.110 110 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Gobiidae Eviota guttata 2 1 CK POINT (151.77 -23.5)
+M2_FISH_DATA.111 111 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Gobiidae Eviota prasites 2 1 CK POINT (151.77 -23.5)
+M2_FISH_DATA.112 112 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Gobiidae Istigobius decoratus 1 23 CK POINT (151.77 -23.5)
+M2_FISH_DATA.113 113 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Gobiidae Istigobius decoratus 2 29 CK POINT (151.77 -23.5)
+M2_FISH_DATA.114 114 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Pinguipedidae Parapercis australis 1 1 CK POINT (151.77 -23.5)
+M2_FISH_DATA.115 115 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Pinguipedidae Parapercis xanthozona 1 1 CK POINT (151.77 -23.5)
+M2_FISH_DATA.116 116 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Gobiidae Valenciennea longipinnis 1 8 CK POINT (151.77 -23.5)
+M2_FISH_DATA.117 117 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Gobiidae Valenciennea longipinnis 2 13 CK POINT (151.77 -23.5)
+M2_FISH_DATA.118 118 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Gobiidae Valenciennea muralis 1 1 CK POINT (151.77 -23.5)
+M2_FISH_DATA.119 119 912347120 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5 Chordata Actinopterygii Gobiidae Valenciennea muralis 2 2 CK POINT (151.77 -23.5)
+M2_FISH_DATA.120 120 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Blenniidae Ecsenius bicolor 2 1 CK POINT (151.77 -23.5)
+M2_FISH_DATA.121 121 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 1 17 CK POINT (151.77 -23.5)
+M2_FISH_DATA.122 122 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 21 CK POINT (151.77 -23.5)
+M2_FISH_DATA.123 123 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Blenniidae Ecsenius sp. [black and green] 1 1 CK POINT (151.77 -23.5)
+M2_FISH_DATA.124 124 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Blenniidae Ecsenius sp. [black and green] 2 1 CK POINT (151.77 -23.5)
+M2_FISH_DATA.125 125 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Blenniidae Ecsenius stictus 2 2 CK POINT (151.77 -23.5)
+M2_FISH_DATA.126 126 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Tripterygiidae Enneapterygius similis 1 15 CK POINT (151.77 -23.5)
+M2_FISH_DATA.127 127 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Gobiidae Eviota guttata 1 3 CK POINT (151.77 -23.5)
+M2_FISH_DATA.128 128 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Gobiidae Eviota guttata 2 6 CK POINT (151.77 -23.5)
+M2_FISH_DATA.129 129 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Gobiidae Eviota prasites 2 2 CK POINT (151.77 -23.5)
+M2_FISH_DATA.130 130 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Gobiidae Eviota sebreei 2 1 CK POINT (151.77 -23.5)
+M2_FISH_DATA.131 131 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Gobiidae Istigobius decoratus 1 30 CK POINT (151.77 -23.5)
+M2_FISH_DATA.132 132 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Gobiidae Istigobius decoratus 2 13 CK POINT (151.77 -23.5)
+M2_FISH_DATA.133 133 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Blenniidae Plagiotremus laudandus 1 2 CK POINT (151.77 -23.5)
+M2_FISH_DATA.134 134 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Blenniidae Plagiotremus laudandus 2 2 CK POINT (151.77 -23.5)
+M2_FISH_DATA.135 135 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Gobiidae Valenciennea longipinnis 1 12 CK POINT (151.77 -23.5)
+M2_FISH_DATA.136 136 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Gobiidae Valenciennea longipinnis 2 3 CK POINT (151.77 -23.5)
+M2_FISH_DATA.137 137 912347121 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS4 Erskyne Island Site 1 -23.5 151.77 2017-03-09T13:00:00Z 5.1 Chordata Actinopterygii Gobiidae Valenciennea muralis 2 6 CK POINT (151.77 -23.5)
+M2_FISH_DATA.138 138 912345718 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2015-10-03T14:00:00Z 6 Chordata Actinopterygii Tripterygiidae Enneapterygius similis 1 6 ATC POINT (151.78 -23.5)
+M2_FISH_DATA.139 139 912345718 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2015-10-03T14:00:00Z 6 Chordata Actinopterygii Gobiidae Gobiodon histrio 1 2 ATC POINT (151.78 -23.5)
+M2_FISH_DATA.140 140 912345719 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2015-10-03T14:00:00Z 6.1 Chordata Actinopterygii Tripterygiidae Enneapterygius similis 1 3 ATC POINT (151.78 -23.5)
+M2_FISH_DATA.141 141 912345719 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2015-10-03T14:00:00Z 6.1 Chordata Actinopterygii Gobiidae Gobiodon histrio 1 3 ATC POINT (151.78 -23.5)
+M2_FISH_DATA.142 142 912345719 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2015-10-03T14:00:00Z 6.1 Chordata Actinopterygii Gobiidae Eviota spp. 2 8 PBD POINT (151.78 -23.5)
+M2_FISH_DATA.143 143 912347122 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6.1 Chordata Actinopterygii Apogonidae Apogon capricornis 1 95 GJE POINT (151.78 -23.5)
+M2_FISH_DATA.144 144 912347122 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6.1 Chordata Actinopterygii Apogonidae Apogon capricornis 2 155 GJE POINT (151.78 -23.5)
+M2_FISH_DATA.145 145 912347122 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 1 7 GJE POINT (151.78 -23.5)
+M2_FISH_DATA.146 146 912347122 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 9 GJE POINT (151.78 -23.5)
+M2_FISH_DATA.147 147 912347122 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 2 GJE POINT (151.78 -23.5)
+M2_FISH_DATA.148 148 912347122 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Eviota guttata 1 12 GJE POINT (151.78 -23.5)
+M2_FISH_DATA.149 149 912347122 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Eviota guttata 2 5 GJE POINT (151.78 -23.5)
+M2_FISH_DATA.150 150 912347122 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Fusigobius neophytus 1 4 GJE POINT (151.78 -23.5)
+M2_FISH_DATA.151 151 912347122 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Istigobius decoratus 2 4 GJE POINT (151.78 -23.5)
+M2_FISH_DATA.152 152 912347122 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6.1 Chordata Actinopterygii Pempherididae Parapriacanthus ransonneti 1 225 GJE POINT (151.78 -23.5)
+M2_FISH_DATA.153 153 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Gobiidae Amblygobius phalaena 1 3 CK POINT (151.78 -23.5)
+M2_FISH_DATA.154 154 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Apogonidae Apogon capricornis 1 25 CK POINT (151.78 -23.5)
+M2_FISH_DATA.155 155 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Apogonidae Apogon capricornis 2 60 CK POINT (151.78 -23.5)
+M2_FISH_DATA.156 156 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Blenniidae Atrosalarias holomelas 1 5 CK POINT (151.78 -23.5)
+M2_FISH_DATA.157 157 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Blenniidae Atrosalarias holomelas 2 3 CK POINT (151.78 -23.5)
+M2_FISH_DATA.158 158 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Blenniidae Crossosalarias macrospilus 1 1 CK POINT (151.78 -23.5)
+M2_FISH_DATA.159 159 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 1 1 CK POINT (151.78 -23.5)
+M2_FISH_DATA.160 160 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 3 CK POINT (151.78 -23.5)
+M2_FISH_DATA.161 161 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Tripterygiidae Enneapterygius similis 2 1 CK POINT (151.78 -23.5)
+M2_FISH_DATA.162 162 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Gobiidae Eviota guttata 1 1 CK POINT (151.78 -23.5)
+M2_FISH_DATA.163 163 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Gobiidae Eviota guttata 2 1 CK POINT (151.78 -23.5)
+M2_FISH_DATA.164 164 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Gobiidae Eviota prasites 1 1 CK POINT (151.78 -23.5)
+M2_FISH_DATA.165 165 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Muraenidae Gymnothorax javanicus 1 1 CK POINT (151.78 -23.5)
+M2_FISH_DATA.166 166 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Gobiidae Istigobius decoratus 1 4 CK POINT (151.78 -23.5)
+M2_FISH_DATA.167 167 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Pempherididae Parapriacanthus ransonneti 1 85 CK POINT (151.78 -23.5)
+M2_FISH_DATA.168 168 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Pempherididae Parapriacanthus ransonneti 2 200 CK POINT (151.78 -23.5)
+M2_FISH_DATA.169 169 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Pseudochromidae Pseudochromis fuscus 1 1 CK POINT (151.78 -23.5)
+M2_FISH_DATA.170 170 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Synodontidae Synodus variegatus 1 2 CK POINT (151.78 -23.5)
+M2_FISH_DATA.171 171 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Synodontidae Synodus variegatus 2 2 CK POINT (151.78 -23.5)
+M2_FISH_DATA.172 172 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Apogonidae Taeniamia leai 1 5 CK POINT (151.78 -23.5)
+M2_FISH_DATA.173 173 912347135 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS5 Erskyne Island Site 2 -23.5 151.78 2017-03-09T13:00:00Z 6 Chordata Actinopterygii Apogonidae Taeniamia leai 2 10 CK POINT (151.78 -23.5)
+M2_FISH_DATA.174 174 912345720 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS6 Erskyne Island Site 3 -23.5 151.78 2015-10-04T13:00:00Z 7 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 1 ATC POINT (151.78 -23.5)
+M2_FISH_DATA.175 175 912345720 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS6 Erskyne Island Site 3 -23.5 151.78 2015-10-04T13:00:00Z 7 Chordata Actinopterygii Tripterygiidae Enneapterygius similis 1 5 ATC POINT (151.78 -23.5)
+M2_FISH_DATA.176 176 912345720 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS6 Erskyne Island Site 3 -23.5 151.78 2015-10-04T13:00:00Z 7 Chordata Actinopterygii Gobiidae Istigobius decoratus 1 4 ATC POINT (151.78 -23.5)
+M2_FISH_DATA.177 177 912345720 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS6 Erskyne Island Site 3 -23.5 151.78 2015-10-04T13:00:00Z 7 Chordata Actinopterygii Pinguipedidae Parapercis queenslandica 1 1 ATC POINT (151.78 -23.5)
+M2_FISH_DATA.178 178 912345720 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS6 Erskyne Island Site 3 -23.5 151.78 2015-10-04T13:00:00Z 7 Chordata Actinopterygii Holocentridae Sargocentron rubrum 1 2 ATC POINT (151.78 -23.5)
+M2_FISH_DATA.179 179 912345720 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS6 Erskyne Island Site 3 -23.5 151.78 2015-10-04T13:00:00Z 7 Chordata Actinopterygii Pinguipedidae Parapercis spp. 2 1 PBD POINT (151.78 -23.5)
+M2_FISH_DATA.180 180 912345721 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS6 Erskyne Island Site 3 -23.5 151.78 2015-10-04T13:00:00Z 7.1 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 3 ATC POINT (151.78 -23.5)
+M2_FISH_DATA.181 181 912345721 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS6 Erskyne Island Site 3 -23.5 151.78 2015-10-04T13:00:00Z 7.1 Chordata Actinopterygii Gobiidae Istigobius decoratus 1 5 ATC POINT (151.78 -23.5)
+M2_FISH_DATA.182 182 912345721 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS6 Erskyne Island Site 3 -23.5 151.78 2015-10-04T13:00:00Z 7.1 Chordata Actinopterygii Holocentridae Sargocentron rubrum 1 1 ATC POINT (151.78 -23.5)
+M2_FISH_DATA.183 183 912345721 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS6 Erskyne Island Site 3 -23.5 151.78 2015-10-04T13:00:00Z 7.1 Chordata Actinopterygii Synodontidae Synodus variegatus 1 1 ATC POINT (151.78 -23.5)
+M2_FISH_DATA.184 184 912345721 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS6 Erskyne Island Site 3 -23.5 151.78 2015-10-04T13:00:00Z 7.1 Chordata Actinopterygii Gobiidae Amblygobius phalaena 2 1 PBD POINT (151.78 -23.5)
+M2_FISH_DATA.185 185 912345721 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS6 Erskyne Island Site 3 -23.5 151.78 2015-10-04T13:00:00Z 7.1 Chordata Actinopterygii Pinguipedidae Parapercis spp. 2 1 PBD POINT (151.78 -23.5)
+M2_FISH_DATA.186 186 912345721 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS6 Erskyne Island Site 3 -23.5 151.78 2015-10-04T13:00:00Z 7.1 Chordata Actinopterygii Synodontidae Synodus variegatus 2 1 PBD POINT (151.78 -23.5)
+M2_FISH_DATA.187 187 912345722 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2015-10-04T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 4 ATC POINT (151.95 -23.25)
+M2_FISH_DATA.188 188 912345722 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2015-10-04T13:00:00Z 8 Chordata Actinopterygii Blenniidae Blenniid spp. 2 2 PBD POINT (151.95 -23.25)
+M2_FISH_DATA.189 189 912345722 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2015-10-04T13:00:00Z 8 Chordata Actinopterygii Gobiidae Gobiid spp. 2 1 PBD POINT (151.95 -23.25)
+M2_FISH_DATA.190 190 912345723 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2015-10-04T13:00:00Z 8.5 Chordata Actinopterygii Blenniidae Cirripectes spp. 1 1 ATC POINT (151.95 -23.25)
+M2_FISH_DATA.191 191 912345723 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2015-10-04T13:00:00Z 8.5 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 2 ATC POINT (151.95 -23.25)
+M2_FISH_DATA.192 192 912345723 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2015-10-04T13:00:00Z 8.5 Chordata Actinopterygii Apogonidae Apogonid spp. 2 2 PBD POINT (151.95 -23.25)
+M2_FISH_DATA.193 193 912347125 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Cirripectes filamentosus 1 1 CK POINT (151.95 -23.25)
+M2_FISH_DATA.194 194 912347125 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius bicolor 1 2 CK POINT (151.95 -23.25)
+M2_FISH_DATA.195 195 912347125 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius bicolor 2 4 CK POINT (151.95 -23.25)
+M2_FISH_DATA.196 196 912347125 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 1 4 CK POINT (151.95 -23.25)
+M2_FISH_DATA.197 197 912347125 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 3 CK POINT (151.95 -23.25)
+M2_FISH_DATA.198 198 912347125 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius sp. [black and green] 1 2 CK POINT (151.95 -23.25)
+M2_FISH_DATA.199 199 912347125 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius sp. [black and green] 2 3 CK POINT (151.95 -23.25)
+M2_FISH_DATA.200 200 912347125 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 1 CK POINT (151.95 -23.25)
+M2_FISH_DATA.201 201 912347125 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius stictus 2 1 CK POINT (151.95 -23.25)
+M2_FISH_DATA.202 202 912347125 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Gobiidae Eviota guttata 1 2 CK POINT (151.95 -23.25)
+M2_FISH_DATA.203 203 912347125 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Plagiotremus tapeinosoma 2 1 CK POINT (151.95 -23.25)
+M2_FISH_DATA.204 204 912347125 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Gobiidae Pleurosicya spp. 1 5 CK POINT (151.95 -23.25)
+M2_FISH_DATA.205 205 912347125 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Synodontidae Synodus variegatus 2 1 CK POINT (151.95 -23.25)
+M2_FISH_DATA.206 206 912347126 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8.5 Chordata Actinopterygii Blenniidae Ecsenius bicolor 1 2 CK POINT (151.95 -23.25)
+M2_FISH_DATA.207 207 912347126 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8.5 Chordata Actinopterygii Blenniidae Ecsenius bicolor 2 6 CK POINT (151.95 -23.25)
+M2_FISH_DATA.208 208 912347126 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8.5 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 1 3 CK POINT (151.95 -23.25)
+M2_FISH_DATA.209 209 912347126 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8.5 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 2 CK POINT (151.95 -23.25)
+M2_FISH_DATA.210 210 912347126 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8.5 Chordata Actinopterygii Blenniidae Ecsenius sp. [black and green] 1 2 CK POINT (151.95 -23.25)
+M2_FISH_DATA.211 211 912347126 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8.5 Chordata Actinopterygii Blenniidae Ecsenius sp. [black and green] 2 3 CK POINT (151.95 -23.25)
+M2_FISH_DATA.212 212 912347126 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8.5 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 2 CK POINT (151.95 -23.25)
+M2_FISH_DATA.213 213 912347126 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8.5 Chordata Actinopterygii Blenniidae Ecsenius stictus 2 1 CK POINT (151.95 -23.25)
+M2_FISH_DATA.214 214 912347126 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8.5 Chordata Actinopterygii Gobiidae Eviota guttata 1 3 CK POINT (151.95 -23.25)
+M2_FISH_DATA.215 215 912347126 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS7 Broomfield Reef Site 2 -23.25 151.95 2017-03-08T13:00:00Z 8.5 Chordata Actinopterygii Gobiidae Eviota guttata 2 4 CK POINT (151.95 -23.25)
+M2_FISH_DATA.216 216 912345724 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2015-10-05T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius bicolor 1 10 ATC POINT (151.94 -23.25)
+M2_FISH_DATA.217 217 912345724 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2015-10-05T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 6 ATC POINT (151.94 -23.25)
+M2_FISH_DATA.218 218 912345724 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2015-10-05T13:00:00Z 8 Chordata Actinopterygii Tripterygiidae Enneapterygius similis 1 2 ATC POINT (151.94 -23.25)
+M2_FISH_DATA.219 219 912345724 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2015-10-05T13:00:00Z 8 Chordata Actinopterygii Serranidae Epinephelus fasciatus 1 2 ATC POINT (151.94 -23.25)
+M2_FISH_DATA.220 220 912345724 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2015-10-05T13:00:00Z 8 Chordata Actinopterygii Holocentridae Sargocentron rubrum 1 1 ATC POINT (151.94 -23.25)
+M2_FISH_DATA.221 221 912345724 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2015-10-05T13:00:00Z 8 Chordata Actinopterygii Gobiidae Ctenogobiops pomastictus 2 3 PBD POINT (151.94 -23.25)
+M2_FISH_DATA.222 222 912345725 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2015-10-05T13:00:00Z 8.1 Chordata Actinopterygii Blenniidae Ecsenius bicolor 1 12 ATC POINT (151.94 -23.25)
+M2_FISH_DATA.223 223 912345725 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2015-10-05T13:00:00Z 8.1 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 3 ATC POINT (151.94 -23.25)
+M2_FISH_DATA.224 224 912345725 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2015-10-05T13:00:00Z 8.1 Chordata Actinopterygii Tripterygiidae Enneapterygius similis 1 1 ATC POINT (151.94 -23.25)
+M2_FISH_DATA.225 225 912347123 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Plesiopidae Assessor macneilli 1 10 CK POINT (151.94 -23.25)
+M2_FISH_DATA.226 226 912347123 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Apogonidae Cheilodipterus quinquelineatus 1 1 CK POINT (151.94 -23.25)
+M2_FISH_DATA.227 227 912347123 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius bicolor 2 2 CK POINT (151.94 -23.25)
+M2_FISH_DATA.228 228 912347123 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 1 3 CK POINT (151.94 -23.25)
+M2_FISH_DATA.229 229 912347123 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 1 CK POINT (151.94 -23.25)
+M2_FISH_DATA.230 230 912347123 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius sp. [black and green] 1 1 CK POINT (151.94 -23.25)
+M2_FISH_DATA.231 231 912347123 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius sp. [black and green] 2 4 CK POINT (151.94 -23.25)
+M2_FISH_DATA.232 232 912347123 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 3 CK POINT (151.94 -23.25)
+M2_FISH_DATA.233 233 912347123 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Blenniidae Ecsenius stictus 2 1 CK POINT (151.94 -23.25)
+M2_FISH_DATA.234 234 912347123 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Gobiidae Eviota guttata 1 6 CK POINT (151.94 -23.25)
+M2_FISH_DATA.235 235 912347123 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Gobiidae Eviota guttata 2 6 CK POINT (151.94 -23.25)
+M2_FISH_DATA.236 236 912347123 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Gobiidae Gobiodon quinquestrigatus 2 1 CK POINT (151.94 -23.25)
+M2_FISH_DATA.237 237 912347123 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8 Chordata Actinopterygii Scorpaenidae Scorpaenid spp. 1 1 CK POINT (151.94 -23.25)
+M2_FISH_DATA.238 238 912347124 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8.1 Chordata Actinopterygii Blenniidae Blenniella chrysospilos 1 1 CK POINT (151.94 -23.25)
+M2_FISH_DATA.239 239 912347124 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8.1 Chordata Actinopterygii Blenniidae Ecsenius bicolor 1 10 CK POINT (151.94 -23.25)
+M2_FISH_DATA.240 240 912347124 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8.1 Chordata Actinopterygii Blenniidae Ecsenius bicolor 2 6 CK POINT (151.94 -23.25)
+M2_FISH_DATA.241 241 912347124 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8.1 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 1 5 CK POINT (151.94 -23.25)
+M2_FISH_DATA.242 242 912347124 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8.1 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 3 CK POINT (151.94 -23.25)
+M2_FISH_DATA.243 243 912347124 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8.1 Chordata Actinopterygii Blenniidae Ecsenius sp. [black and green] 1 17 CK POINT (151.94 -23.25)
+M2_FISH_DATA.244 244 912347124 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8.1 Chordata Actinopterygii Blenniidae Ecsenius sp. [black and green] 2 16 CK POINT (151.94 -23.25)
+M2_FISH_DATA.245 245 912347124 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8.1 Chordata Actinopterygii Blenniidae Ecsenius spp. 1 1 CK POINT (151.94 -23.25)
+M2_FISH_DATA.246 246 912347124 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8.1 Chordata Actinopterygii Gobiidae Eviota guttata 1 2 CK POINT (151.94 -23.25)
+M2_FISH_DATA.247 247 912347124 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8.1 Chordata Actinopterygii Gobiidae Eviota guttata 2 4 CK POINT (151.94 -23.25)
+M2_FISH_DATA.248 248 912347124 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8.1 Chordata Actinopterygii Blenniidae Plagiotremus tapeinosoma 1 1 CK POINT (151.94 -23.25)
+M2_FISH_DATA.249 249 912347124 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8.1 Chordata Actinopterygii Holocentridae Sargocentron rubrum 1 1 CK POINT (151.94 -23.25)
+M2_FISH_DATA.250 250 912347124 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS8 Broomfield Reef Site 1 -23.25 151.94 2017-03-08T13:00:00Z 8.1 Chordata Actinopterygii Tripterygiidae Ucla xenogrammus 1 2 CK POINT (151.94 -23.25)
+M2_FISH_DATA.251 251 912345726 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS9 Broomfield Reef Site 3 -23.26 151.95 2015-10-05T13:00:00Z 9 Chordata Actinopterygii Blenniidae Cirripectes spp. 1 1 ATC POINT (151.95 -23.26)
+M2_FISH_DATA.252 252 912345726 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS9 Broomfield Reef Site 3 -23.26 151.95 2015-10-05T13:00:00Z 9 Chordata Actinopterygii Blenniidae Ecsenius bicolor 1 3 ATC POINT (151.95 -23.26)
+M2_FISH_DATA.253 253 912349189 Spain Alboran Sea Temperate Northern Atlantic AND64 Isla San Andrés (Parque Natural) 36.99 -1.89 2015-09-13T14:00:00Z 11.5 Chordata Actinopterygii Apogonidae Apogon imberbis 1 1 NDL POINT (-1.8900000000000001 36.99)
+M2_FISH_DATA.254 254 912349189 Spain Alboran Sea Temperate Northern Atlantic AND64 Isla San Andrés (Parque Natural) 36.99 -1.89 2015-09-13T14:00:00Z 11.5 Chordata Actinopterygii Blenniidae Parablennius gattorugine 1 1 NDL POINT (-1.8900000000000001 36.99)
+M2_FISH_DATA.255 255 912349189 Spain Alboran Sea Temperate Northern Atlantic AND64 Isla San Andrés (Parque Natural) 36.99 -1.89 2015-09-13T14:00:00Z 11.5 Chordata Actinopterygii Tripterygiidae Tripterygion delaisi 1 3 NDL POINT (-1.8900000000000001 36.99)
+M2_FISH_DATA.256 256 912349190 Spain Alboran Sea Temperate Northern Atlantic AND65 Isla San Juan 37.35 -1.65 2015-09-13T14:00:00Z 9.6 Chordata Actinopterygii Apogonidae Apogon imberbis 1 1 JASF POINT (-1.65 37.35)
+M2_FISH_DATA.257 257 912349190 Spain Alboran Sea Temperate Northern Atlantic AND65 Isla San Juan 37.35 -1.65 2015-09-13T14:00:00Z 9.6 Chordata Actinopterygii Scorpaenidae Scorpaena notata 1 2 JASF POINT (-1.65 37.35)
+M2_FISH_DATA.258 258 912349190 Spain Alboran Sea Temperate Northern Atlantic AND65 Isla San Juan 37.35 -1.65 2015-09-13T14:00:00Z 9.6 Chordata Actinopterygii Tripterygiidae Tripterygion tripteronotum 1 2 JASF POINT (-1.65 37.35)
+M2_FISH_DATA.259 259 912349192 Spain Alboran Sea Temperate Northern Atlantic AND66 Villaricos Norte 37.31 -1.7 2015-09-13T14:00:00Z 8.5 Chordata Actinopterygii Muraenidae Muraena helena 2 1 NSM POINT (-1.7 37.31)
+M2_FISH_DATA.260 260 912349192 Spain Alboran Sea Temperate Northern Atlantic AND66 Villaricos Norte 37.31 -1.7 2015-09-13T14:00:00Z 8.5 Chordata Actinopterygii Scorpaenidae Scorpaena porcus 2 1 NSM POINT (-1.7 37.31)
+M2_FISH_DATA.261 261 912349133 Spain Alboran Sea Temperate Northern Atlantic AND7 Adra 36.74 -3.01 2013-11-26T13:00:00Z 1.8 Chordata Actinopterygii Gobiidae Gobius bucchichi 1 20 JASF POINT (-3.01 36.74)
+M2_FISH_DATA.262 262 912349133 Spain Alboran Sea Temperate Northern Atlantic AND7 Adra 36.74 -3.01 2013-11-26T13:00:00Z 1.8 Chordata Actinopterygii Gobiidae Gobius bucchichi 2 6 JASF POINT (-3.01 36.74)
+M2_FISH_DATA.263 263 912349133 Spain Alboran Sea Temperate Northern Atlantic AND7 Adra 36.74 -3.01 2013-11-26T13:00:00Z 1.8 Chordata Actinopterygii Blenniidae Parablennius pilicornis 1 6 JASF POINT (-3.01 36.74)
+M2_FISH_DATA.264 264 912349133 Spain Alboran Sea Temperate Northern Atlantic AND7 Adra 36.74 -3.01 2013-11-26T13:00:00Z 1.8 Chordata Actinopterygii Blenniidae Parablennius pilicornis 2 1 JASF POINT (-3.01 36.74)
+M2_FISH_DATA.265 265 912349134 Spain Alboran Sea Temperate Northern Atlantic AND8 Almeria puerto 36.83 -2.46 2013-11-27T13:00:00Z 1.8 Chordata Actinopterygii Gobiidae Gobius bucchichi 1 2 JASF POINT (-2.46 36.83)
+M2_FISH_DATA.266 266 912349134 Spain Alboran Sea Temperate Northern Atlantic AND8 Almeria puerto 36.83 -2.46 2013-11-27T13:00:00Z 1.8 Chordata Actinopterygii Gobiidae Gobius bucchichi 2 3 JASF POINT (-2.46 36.83)
+M2_FISH_DATA.267 267 912349134 Spain Alboran Sea Temperate Northern Atlantic AND8 Almeria puerto 36.83 -2.46 2013-11-27T13:00:00Z 1.8 Chordata Actinopterygii Gobiidae Gobius geniporus 1 3 JASF POINT (-2.46 36.83)
+M2_FISH_DATA.268 268 912349134 Spain Alboran Sea Temperate Northern Atlantic AND8 Almeria puerto 36.83 -2.46 2013-11-27T13:00:00Z 1.8 Chordata Actinopterygii Gobiidae Gobius geniporus 2 3 JASF POINT (-2.46 36.83)
+M2_FISH_DATA.269 269 912349134 Spain Alboran Sea Temperate Northern Atlantic AND8 Almeria puerto 36.83 -2.46 2013-11-27T13:00:00Z 1.8 Chordata Actinopterygii Gobiesocidae Lepadogaster lepadogaster 2 2 JASF POINT (-2.46 36.83)
+M2_FISH_DATA.270 270 912349134 Spain Alboran Sea Temperate Northern Atlantic AND8 Almeria puerto 36.83 -2.46 2013-11-27T13:00:00Z 1.8 Chordata Actinopterygii Blenniidae Parablennius pilicornis 1 5 JASF POINT (-2.46 36.83)
+M2_FISH_DATA.271 271 912349134 Spain Alboran Sea Temperate Northern Atlantic AND8 Almeria puerto 36.83 -2.46 2013-11-27T13:00:00Z 1.8 Chordata Actinopterygii Blenniidae Parablennius pilicornis 2 5 JASF POINT (-2.46 36.83)
+M2_FISH_DATA.272 272 912349134 Spain Alboran Sea Temperate Northern Atlantic AND8 Almeria puerto 36.83 -2.46 2013-11-27T13:00:00Z 1.8 Chordata Actinopterygii Scorpaenidae Scorpaena porcus 1 1 JASF POINT (-2.46 36.83)
+M2_FISH_DATA.273 273 912349134 Spain Alboran Sea Temperate Northern Atlantic AND8 Almeria puerto 36.83 -2.46 2013-11-27T13:00:00Z 1.8 Chordata Actinopterygii Scorpaenidae Scorpaena porcus 2 1 JASF POINT (-2.46 36.83)
+M2_FISH_DATA.274 274 912344582 Spain Alboran Sea Temperate Northern Atlantic AND9 Camping 36.82 -2.51 2014-07-14T14:00:00Z 3 Chordata Actinopterygii Gobiidae Gobius bucchichi 1 27 JASF POINT (-2.51 36.82)
+M2_FISH_DATA.275 275 912344582 Spain Alboran Sea Temperate Northern Atlantic AND9 Camping 36.82 -2.51 2014-07-14T14:00:00Z 3 Chordata Actinopterygii Gobiidae Gobius bucchichi 2 27 JASF POINT (-2.51 36.82)
+M2_FISH_DATA.276 276 912344582 Spain Alboran Sea Temperate Northern Atlantic AND9 Camping 36.82 -2.51 2014-07-14T14:00:00Z 3 Chordata Actinopterygii Gobiesocidae Lepadogaster candolii 1 1 JASF POINT (-2.51 36.82)
+M2_FISH_DATA.277 277 912344582 Spain Alboran Sea Temperate Northern Atlantic AND9 Camping 36.82 -2.51 2014-07-14T14:00:00Z 3 Chordata Actinopterygii Blenniidae Parablennius pilicornis 1 6 JASF POINT (-2.51 36.82)
+M2_FISH_DATA.278 278 912344582 Spain Alboran Sea Temperate Northern Atlantic AND9 Camping 36.82 -2.51 2014-07-14T14:00:00Z 3 Chordata Actinopterygii Blenniidae Parablennius pilicornis 2 14 JASF POINT (-2.51 36.82)
+M2_FISH_DATA.279 279 912344582 Spain Alboran Sea Temperate Northern Atlantic AND9 Camping 36.82 -2.51 2014-07-14T14:00:00Z 3 Chordata Actinopterygii Scorpaenidae Scorpaena porcus 1 1 JASF POINT (-2.51 36.82)
+M2_FISH_DATA.280 280 912344582 Spain Alboran Sea Temperate Northern Atlantic AND9 Camping 36.82 -2.51 2014-07-14T14:00:00Z 3 Chordata Actinopterygii Tripterygiidae Tripterygion delaisi 1 1 JASF POINT (-2.51 36.82)
+M2_FISH_DATA.281 281 912349135 Spain Alboran Sea Temperate Northern Atlantic AND9 Camping 36.82 -2.51 2013-11-27T13:00:00Z 2.4 Chordata Actinopterygii Gobiidae Gobius bucchichi 1 3 JASF POINT (-2.51 36.82)
+M2_FISH_DATA.282 282 912349135 Spain Alboran Sea Temperate Northern Atlantic AND9 Camping 36.82 -2.51 2013-11-27T13:00:00Z 2.4 Chordata Actinopterygii Gobiidae Gobius bucchichi 2 2 JASF POINT (-2.51 36.82)
+M2_FISH_DATA.283 283 912349135 Spain Alboran Sea Temperate Northern Atlantic AND9 Camping 36.82 -2.51 2013-11-27T13:00:00Z 2.4 Chordata Actinopterygii Blenniidae Parablennius pilicornis 1 4 JASF POINT (-2.51 36.82)
+M2_FISH_DATA.284 284 912349135 Spain Alboran Sea Temperate Northern Atlantic AND9 Camping 36.82 -2.51 2013-11-27T13:00:00Z 2.4 Chordata Actinopterygii Blenniidae Parablennius pilicornis 2 6 JASF POINT (-2.51 36.82)
+M2_FISH_DATA.285 285 912345928 Antarctica Antarctic Peninsula Southern Ocean ANT4 End Runway -67.57 -68.13 2016-01-05T13:00:00Z 9 Chordata Actinopterygii Nototheniidae Trematomus hansoni 1 1 SM POINT (-68.13 -67.57)
+M2_FISH_DATA.286 286 912346517 Antarctica Antarctic Peninsula Southern Ocean ANT5 Wharf -67.57 -68.13 2016-01-06T13:00:00Z 9 Chordata Actinopterygii Nototheniidae Notothenia coriiceps 2 1 SM POINT (-68.13 -67.57)
+M2_FISH_DATA.287 287 912346517 Antarctica Antarctic Peninsula Southern Ocean ANT5 Wharf -67.57 -68.13 2016-01-06T13:00:00Z 9 Chordata Actinopterygii Nototheniidae Trematomus newnesi 1 1 SM POINT (-68.13 -67.57)
+M2_FISH_DATA.288 288 912346518 Antarctica Antarctic Peninsula Southern Ocean ANT7 Trovall -67.6 -68.21 2016-02-11T13:00:00Z 12 Chordata Actinopterygii Harpagiferidae Harpagifer antarcticus 1 1 SM POINT (-68.21 -67.6)
+M2_FISH_DATA.289 289 912346518 Antarctica Antarctic Peninsula Southern Ocean ANT7 Trovall -67.6 -68.21 2016-02-11T13:00:00Z 12 Chordata Actinopterygii Nototheniidae Nototheniid spp. 2 1 SM POINT (-68.21 -67.6)
diff -r 000000000000 -r 726a387cfdc2 test-data/Reel_life_survey_fish_modif2.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Reel_life_survey_fish_modif2.tabular Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,30 @@
+FID Key SurveyID Country Ecoregion Realm SiteCode Site SiteLat SiteLong SurveyDate Depth Phylum Class Family Taxon Block Total Diver geom
+M2_FISH_DATA.1 1 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 2 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.2 2 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 5 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.3 3 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Blenniidae Ecsenius stictus 2 8 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.4 4 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Eviota guttata 1 6 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.5 5 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Eviota guttata 2 9 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.6 6 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Eviota hoesei 1 3 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.7 7 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Eviota hoesei 2 19 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.8 8 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Gobiodon histrio 1 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.9 9 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Gobiodon histrio 2 3 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.10 10 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Gobiodon sp. [3 GA] 1 12 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.11 11 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Gobiidae Gobiodon spp. 2 5 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.12 12 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Scorpaenidae Parascorpaena aurita 2 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.13 13 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Tripterygiidae Ucla xenogrammus 1 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.14 14 912347736 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6 Chordata Actinopterygii Tripterygiidae Ucla xenogrammus 2 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.15 15 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Plesiopidae Assessor macneilli 2 20 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.16 16 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius bicolor 1 4 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.17 17 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius bicolor 2 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.18 18 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 1 5 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.19 19 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius mandibularis 2 6 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.20 20 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius stictus 1 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.21 21 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Blenniidae Ecsenius stictus 2 3 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.22 22 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Tripterygiidae Enneapterygius similis 1 3 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.23 23 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Serranidae Epinephelus fasciatus 2 1 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.24 24 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Eviota guttata 1 6 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.25 25 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Eviota guttata 2 8 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.26 26 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Eviota hoesei 1 7 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.27 27 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Eviota hoesei 2 12 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.28 28 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Gobiodon sp. [3 GA] 2 16 LVS POINT (151.92 -23.18)
+M2_FISH_DATA.29 29 912347737 Australia Central and Southern Great Barrier Reef Central Indo-Pacific AIMS12 North Island Site 3 -23.18 151.92 2017-02-13T13:00:00Z 6.1 Chordata Actinopterygii Gobiidae Gobiodon spp. 2 7 LVS POINT (151.92 -23.18)
diff -r 000000000000 -r 726a387cfdc2 test-data/SCBD.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/SCBD.txt Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,4 @@
+ Blenniidae Gobiidae Scorpaenidae Tripterygiidae Plesiopidae
+ 0.13452280 0.12622864 0.05950360 0.15163110 0.07035376
+ Apogonidae Nototheniidae
+ 0.06153987 0.14519360
diff -r 000000000000 -r 726a387cfdc2 test-data/data_frenchbbs.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/data_frenchbbs.tabular Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,851 @@
+"carre" "annee" "espece" "abond"
+"440072" 2014 "ALAARV" 4
+"440072" 2014 "PARCAE" 5
+"440168" 2014 "ALAARV" 1
+"440168" 2014 "PARCAE" 10
+"440168" 2017 "ALAARV" 2
+"440168" 2017 "PARCAE" 12
+"440168" 2018 "ALAARV" 2
+"440168" 2018 "PARCAE" 20
+"440211" 2014 "ALAARV" 10
+"440211" 2014 "PARCAE" 5
+"440211" 2015 "ALAARV" 11
+"440211" 2015 "PARCAE" 6
+"440211" 2016 "ALAARV" 11
+"440211" 2016 "PARCAE" 2
+"440211" 2017 "ALAARV" 9
+"440211" 2017 "PARCAE" 2
+"440211" 2018 "ALAARV" 10
+"440211" 2018 "PARCAE" 8
+"440235" 2005 "ALAARV" 3
+"440235" 2005 "PARCAE" 15
+"440235" 2006 "ALAARV" 6
+"440235" 2006 "PARCAE" 12
+"440235" 2007 "ALAARV" 1
+"440235" 2007 "PARCAE" 10
+"440235" 2008 "ALAARV" 1
+"440235" 2008 "PARCAE" 12
+"440235" 2009 "ALAARV" 0
+"440235" 2009 "PARCAE" 13
+"440278" 2008 "ALAARV" 7
+"440278" 2008 "PARCAE" 7
+"440278" 2009 "ALAARV" 8
+"440278" 2009 "PARCAE" 14
+"440278" 2010 "ALAARV" 7
+"440278" 2010 "PARCAE" 5
+"440278" 2011 "ALAARV" 8
+"440278" 2011 "PARCAE" 7
+"440278" 2012 "ALAARV" 7
+"440278" 2012 "PARCAE" 8
+"440278" 2013 "ALAARV" 10
+"440278" 2013 "PARCAE" 8
+"440278" 2014 "ALAARV" 6
+"440278" 2014 "PARCAE" 7
+"440278" 2015 "ALAARV" 7
+"440278" 2015 "PARCAE" 7
+"440278" 2016 "ALAARV" 7
+"440278" 2016 "PARCAE" 7
+"440278" 2017 "ALAARV" 6
+"440278" 2017 "PARCAE" 2
+"440278" 2018 "ALAARV" 7
+"440278" 2018 "PARCAE" 7
+"440310" 2011 "ALAARV" 12
+"440310" 2011 "PARCAE" 5
+"440310" 2012 "ALAARV" 15
+"440310" 2012 "PARCAE" 13
+"440310" 2013 "ALAARV" 26
+"440310" 2013 "PARCAE" 12
+"440310" 2014 "ALAARV" 14
+"440310" 2014 "PARCAE" 8
+"440310" 2015 "ALAARV" 11
+"440310" 2015 "PARCAE" 8
+"440310" 2016 "ALAARV" 14
+"440310" 2016 "PARCAE" 10
+"440310" 2017 "ALAARV" 13
+"440310" 2017 "PARCAE" 12
+"440310" 2018 "ALAARV" 12
+"440310" 2018 "PARCAE" 11
+"440398" 2012 "ALAARV" 2
+"440398" 2012 "PARCAE" 2
+"440398" 2013 "ALAARV" 2
+"440398" 2013 "PARCAE" 2
+"440398" 2014 "ALAARV" 4
+"440398" 2014 "PARCAE" 6
+"440411" 2004 "ALAARV" 16
+"440411" 2004 "PARCAE" 5
+"440411" 2005 "ALAARV" 14
+"440411" 2005 "PARCAE" 8
+"440411" 2006 "ALAARV" 18
+"440411" 2006 "PARCAE" 10
+"440411" 2007 "ALAARV" 15
+"440411" 2007 "PARCAE" 7
+"440411" 2008 "ALAARV" 12
+"440411" 2008 "PARCAE" 9
+"440411" 2009 "ALAARV" 11
+"440411" 2009 "PARCAE" 5
+"440411" 2010 "ALAARV" 11
+"440411" 2010 "PARCAE" 2
+"440411" 2011 "ALAARV" 16
+"440411" 2011 "PARCAE" 5
+"440411" 2012 "ALAARV" 18
+"440411" 2012 "PARCAE" 2
+"440411" 2013 "ALAARV" 14
+"440411" 2013 "PARCAE" 11
+"440411" 2014 "ALAARV" 15
+"440411" 2014 "PARCAE" 9
+"440411" 2015 "ALAARV" 16
+"440411" 2015 "PARCAE" 3
+"440411" 2016 "ALAARV" 9
+"440411" 2016 "PARCAE" 3
+"440411" 2017 "ALAARV" 14
+"440411" 2017 "PARCAE" 13
+"440411" 2018 "ALAARV" 12
+"440411" 2018 "PARCAE" 6
+"440430" 2006 "ALAARV" 0
+"440430" 2006 "PARCAE" 5
+"440430" 2007 "ALAARV" 0
+"440430" 2007 "PARCAE" 4
+"440430" 2008 "ALAARV" 0
+"440430" 2008 "PARCAE" 7
+"440430" 2010 "ALAARV" 0
+"440430" 2010 "PARCAE" 3
+"440430" 2012 "ALAARV" 0
+"440430" 2012 "PARCAE" 2
+"440430" 2014 "ALAARV" 0
+"440430" 2014 "PARCAE" 3
+"440456" 2001 "ALAARV" 3
+"440456" 2001 "PARCAE" 10
+"440456" 2002 "ALAARV" 4
+"440456" 2002 "PARCAE" 11
+"440456" 2003 "ALAARV" 4
+"440456" 2003 "PARCAE" 14
+"440456" 2004 "ALAARV" 6
+"440456" 2004 "PARCAE" 16
+"440456" 2005 "ALAARV" 6
+"440456" 2005 "PARCAE" 13
+"440456" 2006 "ALAARV" 4
+"440456" 2006 "PARCAE" 9
+"440456" 2007 "ALAARV" 5
+"440456" 2007 "PARCAE" 11
+"440456" 2008 "ALAARV" 2
+"440456" 2008 "PARCAE" 8
+"440456" 2009 "ALAARV" 4
+"440456" 2009 "PARCAE" 10
+"440456" 2010 "ALAARV" 2
+"440456" 2010 "PARCAE" 15
+"440456" 2011 "ALAARV" 4
+"440456" 2011 "PARCAE" 14
+"440456" 2012 "ALAARV" 0
+"440456" 2012 "PARCAE" 11
+"440456" 2014 "ALAARV" 2
+"440456" 2014 "PARCAE" 12
+"440462" 2001 "ALAARV" 3
+"440462" 2001 "PARCAE" 3
+"440462" 2002 "ALAARV" 6
+"440462" 2002 "PARCAE" 5
+"440462" 2003 "ALAARV" 5
+"440462" 2003 "PARCAE" 8
+"440462" 2004 "ALAARV" 2
+"440462" 2004 "PARCAE" 6
+"440462" 2005 "ALAARV" 0
+"440462" 2005 "PARCAE" 13
+"440462" 2006 "ALAARV" 8
+"440462" 2006 "PARCAE" 11
+"440462" 2007 "ALAARV" 0
+"440462" 2007 "PARCAE" 13
+"440462" 2008 "ALAARV" 0
+"440462" 2008 "PARCAE" 12
+"440462" 2009 "ALAARV" 4
+"440462" 2009 "PARCAE" 11
+"440462" 2010 "ALAARV" 2
+"440462" 2010 "PARCAE" 18
+"440462" 2011 "ALAARV" 2
+"440462" 2011 "PARCAE" 7
+"440462" 2012 "ALAARV" 0
+"440462" 2012 "PARCAE" 14
+"440462" 2013 "ALAARV" 3
+"440462" 2013 "PARCAE" 9
+"440462" 2014 "ALAARV" 0
+"440462" 2014 "PARCAE" 11
+"440480" 2001 "ALAARV" 14
+"440480" 2001 "PARCAE" 3
+"440480" 2002 "ALAARV" 6
+"440480" 2002 "PARCAE" 7
+"440480" 2003 "ALAARV" 5
+"440480" 2003 "PARCAE" 4
+"440480" 2004 "ALAARV" 5
+"440480" 2004 "PARCAE" 3
+"440480" 2005 "ALAARV" 7
+"440480" 2005 "PARCAE" 8
+"440480" 2006 "ALAARV" 6
+"440480" 2006 "PARCAE" 1
+"440480" 2007 "ALAARV" 7
+"440480" 2007 "PARCAE" 2
+"440480" 2008 "ALAARV" 3
+"440480" 2008 "PARCAE" 8
+"440480" 2009 "ALAARV" 3
+"440480" 2009 "PARCAE" 2
+"440480" 2010 "ALAARV" 6
+"440480" 2010 "PARCAE" 8
+"440480" 2011 "ALAARV" 5
+"440480" 2011 "PARCAE" 1
+"440480" 2012 "ALAARV" 7
+"440480" 2012 "PARCAE" 10
+"440480" 2013 "ALAARV" 1
+"440480" 2013 "PARCAE" 5
+"440480" 2014 "ALAARV" 4
+"440480" 2014 "PARCAE" 5
+"440480" 2015 "ALAARV" 0
+"440480" 2015 "PARCAE" 11
+"440480" 2016 "ALAARV" 4
+"440480" 2016 "PARCAE" 5
+"440480" 2017 "ALAARV" 3
+"440480" 2017 "PARCAE" 6
+"440637" 2015 "ALAARV" 1
+"440637" 2015 "PARCAE" 15
+"440637" 2016 "ALAARV" 2
+"440637" 2016 "PARCAE" 15
+"440637" 2017 "ALAARV" 1
+"440637" 2017 "PARCAE" 7
+"440637" 2018 "ALAARV" 2
+"440637" 2018 "PARCAE" 6
+"440660" 2001 "ALAARV" 7
+"440660" 2001 "PARCAE" 10
+"440660" 2002 "ALAARV" 9
+"440660" 2002 "PARCAE" 8
+"440660" 2003 "ALAARV" 10
+"440660" 2003 "PARCAE" 5
+"440660" 2004 "ALAARV" 6
+"440660" 2004 "PARCAE" 3
+"440660" 2005 "ALAARV" 9
+"440660" 2005 "PARCAE" 11
+"440660" 2006 "ALAARV" 8
+"440660" 2006 "PARCAE" 9
+"440660" 2007 "ALAARV" 6
+"440660" 2007 "PARCAE" 4
+"440660" 2008 "ALAARV" 9
+"440660" 2008 "PARCAE" 15
+"440660" 2009 "ALAARV" 5
+"440660" 2009 "PARCAE" 3
+"440660" 2010 "ALAARV" 10
+"440660" 2010 "PARCAE" 4
+"440660" 2011 "ALAARV" 11
+"440660" 2011 "PARCAE" 4
+"440660" 2012 "ALAARV" 10
+"440660" 2012 "PARCAE" 2
+"440660" 2013 "ALAARV" 9
+"440660" 2013 "PARCAE" 7
+"440660" 2014 "ALAARV" 6
+"440660" 2014 "PARCAE" 10
+"440665" 2016 "ALAARV" 0
+"440665" 2016 "PARCAE" 14
+"440665" 2017 "ALAARV" 0
+"440665" 2017 "PARCAE" 12
+"440665" 2018 "ALAARV" 0
+"440665" 2018 "PARCAE" 7
+"440817" 2001 "ALAARV" 1
+"440817" 2001 "PARCAE" 10
+"440817" 2002 "ALAARV" 2
+"440817" 2002 "PARCAE" 15
+"440817" 2003 "ALAARV" 1
+"440817" 2003 "PARCAE" 14
+"440817" 2004 "ALAARV" 2
+"440817" 2004 "PARCAE" 24
+"440817" 2005 "ALAARV" 0
+"440817" 2005 "PARCAE" 12
+"440817" 2006 "ALAARV" 0
+"440817" 2006 "PARCAE" 6
+"440817" 2007 "ALAARV" 1
+"440817" 2007 "PARCAE" 5
+"440817" 2008 "ALAARV" 0
+"440817" 2008 "PARCAE" 11
+"440817" 2009 "ALAARV" 1
+"440817" 2009 "PARCAE" 13
+"440817" 2010 "ALAARV" 0
+"440817" 2010 "PARCAE" 8
+"440817" 2011 "ALAARV" 0
+"440817" 2011 "PARCAE" 6
+"440817" 2012 "ALAARV" 0
+"440817" 2012 "PARCAE" 4
+"440817" 2013 "ALAARV" 0
+"440817" 2013 "PARCAE" 4
+"440841" 2016 "ALAARV" 2
+"440841" 2016 "PARCAE" 13
+"440841" 2017 "ALAARV" 8
+"440841" 2017 "PARCAE" 20
+"440877" 2006 "ALAARV" 1
+"440877" 2006 "PARCAE" 4
+"440877" 2007 "ALAARV" 0
+"440877" 2007 "PARCAE" 8
+"440877" 2008 "ALAARV" 1
+"440877" 2008 "PARCAE" 8
+"440877" 2009 "ALAARV" 0
+"440877" 2009 "PARCAE" 6
+"440877" 2010 "ALAARV" 0
+"440877" 2010 "PARCAE" 3
+"440877" 2011 "ALAARV" 0
+"440877" 2011 "PARCAE" 3
+"440877" 2012 "ALAARV" 1
+"440877" 2012 "PARCAE" 8
+"440877" 2013 "ALAARV" 0
+"440877" 2013 "PARCAE" 1
+"440877" 2014 "ALAARV" 0
+"440877" 2014 "PARCAE" 3
+"440877" 2015 "ALAARV" 0
+"440877" 2015 "PARCAE" 4
+"440877" 2016 "ALAARV" 0
+"440877" 2016 "PARCAE" 4
+"440877" 2017 "ALAARV" 1
+"440877" 2017 "PARCAE" 5
+"440877" 2018 "ALAARV" 0
+"440877" 2018 "PARCAE" 10
+"440891" 2002 "ALAARV" 12
+"440891" 2002 "PARCAE" 1
+"440891" 2003 "ALAARV" 21
+"440891" 2003 "PARCAE" 2
+"440891" 2004 "ALAARV" 14
+"440891" 2004 "PARCAE" 5
+"440891" 2005 "ALAARV" 16
+"440891" 2005 "PARCAE" 4
+"440891" 2006 "ALAARV" 7
+"440891" 2006 "PARCAE" 1
+"440891" 2008 "ALAARV" 10
+"440891" 2008 "PARCAE" 4
+"440891" 2009 "ALAARV" 10
+"440891" 2009 "PARCAE" 4
+"440891" 2011 "ALAARV" 8
+"440891" 2011 "PARCAE" 11
+"440891" 2013 "ALAARV" 5
+"440891" 2013 "PARCAE" 5
+"440891" 2014 "ALAARV" 7
+"440891" 2014 "PARCAE" 8
+"440891" 2015 "ALAARV" 6
+"440891" 2015 "PARCAE" 2
+"440891" 2016 "ALAARV" 7
+"440891" 2016 "PARCAE" 4
+"440891" 2017 "ALAARV" 4
+"440891" 2017 "PARCAE" 3
+"440891" 2018 "ALAARV" 4
+"440891" 2018 "PARCAE" 5
+"440932" 2015 "ALAARV" 3
+"440932" 2015 "PARCAE" 11
+"440932" 2016 "ALAARV" 3
+"440932" 2016 "PARCAE" 14
+"440932" 2017 "ALAARV" 1
+"440932" 2017 "PARCAE" 16
+"440932" 2018 "ALAARV" 2
+"440932" 2018 "PARCAE" 15
+"440989" 2018 "ALAARV" 0
+"440989" 2018 "PARCAE" 8
+"440990" 2010 "ALAARV" 1
+"440990" 2010 "PARCAE" 1
+"440990" 2011 "ALAARV" 2
+"440990" 2011 "PARCAE" 15
+"440990" 2012 "ALAARV" 5
+"440990" 2012 "PARCAE" 7
+"440990" 2013 "ALAARV" 2
+"440990" 2013 "PARCAE" 10
+"440990" 2014 "ALAARV" 1
+"440990" 2014 "PARCAE" 26
+"440990" 2015 "ALAARV" 7
+"440990" 2015 "PARCAE" 12
+"440990" 2016 "ALAARV" 2
+"440990" 2016 "PARCAE" 9
+"440990" 2017 "ALAARV" 4
+"440990" 2017 "PARCAE" 7
+"440990" 2018 "ALAARV" 5
+"440990" 2018 "PARCAE" 7
+"440993" 2001 "ALAARV" 0
+"440993" 2001 "PARCAE" 6
+"440993" 2002 "ALAARV" 1
+"440993" 2002 "PARCAE" 5
+"440993" 2003 "ALAARV" 1
+"440993" 2003 "PARCAE" 7
+"440993" 2004 "ALAARV" 0
+"440993" 2004 "PARCAE" 7
+"440993" 2005 "ALAARV" 2
+"440993" 2005 "PARCAE" 10
+"440993" 2006 "ALAARV" 0
+"440993" 2006 "PARCAE" 10
+"440993" 2007 "ALAARV" 2
+"440993" 2007 "PARCAE" 8
+"440993" 2008 "ALAARV" 0
+"440993" 2008 "PARCAE" 8
+"440993" 2009 "ALAARV" 0
+"440993" 2009 "PARCAE" 8
+"440993" 2010 "ALAARV" 0
+"440993" 2010 "PARCAE" 16
+"440993" 2011 "ALAARV" 1
+"440993" 2011 "PARCAE" 6
+"440993" 2012 "ALAARV" 0
+"440993" 2012 "PARCAE" 2
+"441008" 2002 "ALAARV" 12
+"441008" 2002 "PARCAE" 0
+"441008" 2003 "ALAARV" 14
+"441008" 2003 "PARCAE" 0
+"441008" 2004 "ALAARV" 11
+"441008" 2004 "PARCAE" 0
+"441008" 2005 "ALAARV" 12
+"441008" 2005 "PARCAE" 0
+"441008" 2014 "ALAARV" 7
+"441008" 2014 "PARCAE" 0
+"441008" 2015 "ALAARV" 8
+"441008" 2015 "PARCAE" 0
+"441008" 2016 "ALAARV" 3
+"441008" 2016 "PARCAE" 0
+"441008" 2017 "ALAARV" 7
+"441008" 2017 "PARCAE" 0
+"441008" 2018 "ALAARV" 9
+"441008" 2018 "PARCAE" 0
+"441032" 2016 "ALAARV" 0
+"441032" 2016 "PARCAE" 7
+"441032" 2017 "ALAARV" 0
+"441032" 2017 "PARCAE" 8
+"441048" 2002 "ALAARV" 0
+"441048" 2002 "PARCAE" 19
+"441048" 2003 "ALAARV" 0
+"441048" 2003 "PARCAE" 0
+"441051" 2016 "ALAARV" 0
+"441051" 2016 "PARCAE" 3
+"441051" 2017 "ALAARV" 2
+"441051" 2017 "PARCAE" 3
+"441053" 2001 "ALAARV" 0
+"441053" 2001 "PARCAE" 2
+"441053" 2002 "ALAARV" 0
+"441053" 2002 "PARCAE" 4
+"441053" 2003 "ALAARV" 0
+"441053" 2003 "PARCAE" 4
+"441053" 2004 "ALAARV" 0
+"441053" 2004 "PARCAE" 1
+"441053" 2005 "ALAARV" 1
+"441053" 2005 "PARCAE" 5
+"441053" 2006 "ALAARV" 0
+"441053" 2006 "PARCAE" 4
+"441053" 2007 "ALAARV" 0
+"441053" 2007 "PARCAE" 5
+"441053" 2008 "ALAARV" 0
+"441053" 2008 "PARCAE" 5
+"441053" 2009 "ALAARV" 0
+"441053" 2009 "PARCAE" 0
+"441053" 2010 "ALAARV" 0
+"441053" 2010 "PARCAE" 3
+"441053" 2011 "ALAARV" 2
+"441053" 2011 "PARCAE" 3
+"441053" 2012 "ALAARV" 0
+"441053" 2012 "PARCAE" 4
+"441053" 2013 "ALAARV" 0
+"441053" 2013 "PARCAE" 0
+"441053" 2014 "ALAARV" 0
+"441053" 2014 "PARCAE" 2
+"441053" 2015 "ALAARV" 0
+"441053" 2015 "PARCAE" 3
+"441053" 2016 "ALAARV" 0
+"441053" 2016 "PARCAE" 2
+"441053" 2017 "ALAARV" 0
+"441053" 2017 "PARCAE" 2
+"441053" 2018 "ALAARV" 0
+"441053" 2018 "PARCAE" 2
+"441061" 2001 "ALAARV" 2
+"441061" 2001 "PARCAE" 1
+"441061" 2002 "ALAARV" 0
+"441061" 2002 "PARCAE" 2
+"441061" 2003 "ALAARV" 0
+"441061" 2003 "PARCAE" 5
+"441061" 2004 "ALAARV" 0
+"441061" 2004 "PARCAE" 1
+"441061" 2005 "ALAARV" 0
+"441061" 2005 "PARCAE" 1
+"441061" 2006 "ALAARV" 0
+"441061" 2006 "PARCAE" 4
+"441061" 2007 "ALAARV" 0
+"441061" 2007 "PARCAE" 7
+"441061" 2008 "ALAARV" 0
+"441061" 2008 "PARCAE" 7
+"441061" 2009 "ALAARV" 0
+"441061" 2009 "PARCAE" 2
+"441061" 2010 "ALAARV" 0
+"441061" 2010 "PARCAE" 3
+"441061" 2011 "ALAARV" 0
+"441061" 2011 "PARCAE" 9
+"441061" 2012 "ALAARV" 0
+"441061" 2012 "PARCAE" 3
+"441077" 2004 "ALAARV" 2
+"441077" 2004 "PARCAE" 16
+"441077" 2005 "ALAARV" 2
+"441077" 2005 "PARCAE" 15
+"441077" 2006 "ALAARV" 1
+"441077" 2006 "PARCAE" 19
+"441077" 2007 "ALAARV" 1
+"441077" 2007 "PARCAE" 6
+"441077" 2008 "ALAARV" 3
+"441077" 2008 "PARCAE" 16
+"441077" 2009 "ALAARV" 1
+"441077" 2009 "PARCAE" 9
+"441077" 2010 "ALAARV" 1
+"441077" 2010 "PARCAE" 19
+"441077" 2011 "ALAARV" 0
+"441077" 2011 "PARCAE" 16
+"441077" 2012 "ALAARV" 0
+"441077" 2012 "PARCAE" 10
+"441077" 2013 "ALAARV" 0
+"441077" 2013 "PARCAE" 16
+"441077" 2015 "ALAARV" 0
+"441077" 2015 "PARCAE" 8
+"441077" 2016 "ALAARV" 1
+"441077" 2016 "PARCAE" 17
+"441077" 2017 "ALAARV" 0
+"441077" 2017 "PARCAE" 6
+"441077" 2018 "ALAARV" 0
+"441077" 2018 "PARCAE" 7
+"441082" 2001 "ALAARV" 2
+"441082" 2001 "PARCAE" 7
+"441082" 2002 "ALAARV" 5
+"441082" 2002 "PARCAE" 6
+"441082" 2003 "ALAARV" 0
+"441082" 2003 "PARCAE" 6
+"441082" 2004 "ALAARV" 1
+"441082" 2004 "PARCAE" 5
+"441082" 2005 "ALAARV" 2
+"441082" 2005 "PARCAE" 15
+"441082" 2006 "ALAARV" 0
+"441082" 2006 "PARCAE" 16
+"441082" 2007 "ALAARV" 1
+"441082" 2007 "PARCAE" 13
+"441082" 2008 "ALAARV" 0
+"441082" 2008 "PARCAE" 13
+"441082" 2009 "ALAARV" 0
+"441082" 2009 "PARCAE" 12
+"441082" 2010 "ALAARV" 0
+"441082" 2010 "PARCAE" 15
+"441082" 2012 "ALAARV" 0
+"441082" 2012 "PARCAE" 10
+"441082" 2013 "ALAARV" 0
+"441082" 2013 "PARCAE" 5
+"441082" 2014 "ALAARV" 0
+"441082" 2014 "PARCAE" 10
+"441082" 2015 "ALAARV" 0
+"441082" 2015 "PARCAE" 1
+"441109" 2002 "ALAARV" 0
+"441109" 2002 "PARCAE" 11
+"441109" 2003 "ALAARV" 0
+"441109" 2003 "PARCAE" 12
+"441109" 2004 "ALAARV" 0
+"441109" 2004 "PARCAE" 9
+"441109" 2005 "ALAARV" 1
+"441109" 2005 "PARCAE" 12
+"441109" 2006 "ALAARV" 0
+"441109" 2006 "PARCAE" 20
+"441109" 2007 "ALAARV" 0
+"441109" 2007 "PARCAE" 12
+"441109" 2008 "ALAARV" 0
+"441109" 2008 "PARCAE" 12
+"441109" 2009 "ALAARV" 0
+"441109" 2009 "PARCAE" 10
+"441109" 2010 "ALAARV" 0
+"441109" 2010 "PARCAE" 11
+"441109" 2011 "ALAARV" 0
+"441109" 2011 "PARCAE" 8
+"441109" 2012 "ALAARV" 0
+"441109" 2012 "PARCAE" 7
+"441109" 2013 "ALAARV" 0
+"441109" 2013 "PARCAE" 13
+"441109" 2014 "ALAARV" 0
+"441109" 2014 "PARCAE" 10
+"441109" 2016 "ALAARV" 1
+"441109" 2016 "PARCAE" 17
+"441109" 2017 "ALAARV" 0
+"441109" 2017 "PARCAE" 18
+"441109" 2018 "ALAARV" 0
+"441109" 2018 "PARCAE" 18
+"441132" 2002 "ALAARV" 3
+"441132" 2002 "PARCAE" 3
+"441132" 2003 "ALAARV" 3
+"441132" 2003 "PARCAE" 1
+"441132" 2004 "ALAARV" 3
+"441132" 2004 "PARCAE" 4
+"441132" 2005 "ALAARV" 6
+"441132" 2005 "PARCAE" 1
+"441132" 2006 "ALAARV" 6
+"441132" 2006 "PARCAE" 3
+"441132" 2007 "ALAARV" 3
+"441132" 2007 "PARCAE" 2
+"441132" 2008 "ALAARV" 1
+"441132" 2008 "PARCAE" 2
+"441132" 2009 "ALAARV" 1
+"441132" 2009 "PARCAE" 2
+"441132" 2010 "ALAARV" 0
+"441132" 2010 "PARCAE" 5
+"441132" 2011 "ALAARV" 2
+"441132" 2011 "PARCAE" 3
+"441132" 2012 "ALAARV" 0
+"441132" 2012 "PARCAE" 11
+"441132" 2013 "ALAARV" 0
+"441132" 2013 "PARCAE" 3
+"441132" 2014 "ALAARV" 0
+"441132" 2014 "PARCAE" 1
+"441132" 2016 "ALAARV" 2
+"441132" 2016 "PARCAE" 6
+"441132" 2017 "ALAARV" 2
+"441132" 2017 "PARCAE" 20
+"441132" 2018 "ALAARV" 0
+"441132" 2018 "PARCAE" 1
+"441153" 2009 "ALAARV" 0
+"441153" 2009 "PARCAE" 14
+"441153" 2010 "ALAARV" 0
+"441153" 2010 "PARCAE" 38
+"441153" 2011 "ALAARV" 0
+"441153" 2011 "PARCAE" 11
+"441153" 2012 "ALAARV" 0
+"441153" 2012 "PARCAE" 21
+"441178" 2001 "ALAARV" 4
+"441178" 2001 "PARCAE" 4
+"441178" 2002 "ALAARV" 0
+"441178" 2002 "PARCAE" 11
+"441178" 2003 "ALAARV" 5
+"441178" 2003 "PARCAE" 12
+"441178" 2004 "ALAARV" 0
+"441178" 2004 "PARCAE" 8
+"441178" 2005 "ALAARV" 1
+"441178" 2005 "PARCAE" 20
+"441178" 2006 "ALAARV" 0
+"441178" 2006 "PARCAE" 23
+"441178" 2007 "ALAARV" 2
+"441178" 2007 "PARCAE" 18
+"441178" 2008 "ALAARV" 1
+"441178" 2008 "PARCAE" 14
+"441178" 2009 "ALAARV" 0
+"441178" 2009 "PARCAE" 10
+"441178" 2010 "ALAARV" 1
+"441178" 2010 "PARCAE" 15
+"441178" 2011 "ALAARV" 0
+"441178" 2011 "PARCAE" 9
+"441178" 2012 "ALAARV" 2
+"441178" 2012 "PARCAE" 8
+"441178" 2013 "ALAARV" 0
+"441178" 2013 "PARCAE" 15
+"441178" 2014 "ALAARV" 0
+"441178" 2014 "PARCAE" 10
+"441178" 2015 "ALAARV" 1
+"441178" 2015 "PARCAE" 10
+"441178" 2016 "ALAARV" 0
+"441178" 2016 "PARCAE" 4
+"441178" 2017 "ALAARV" 0
+"441178" 2017 "PARCAE" 13
+"441178" 2018 "ALAARV" 1
+"441178" 2018 "PARCAE" 22
+"441217" 2003 "ALAARV" 4
+"441217" 2003 "PARCAE" 13
+"441217" 2004 "ALAARV" 5
+"441217" 2004 "PARCAE" 4
+"441217" 2005 "ALAARV" 2
+"441217" 2005 "PARCAE" 6
+"441217" 2006 "ALAARV" 3
+"441217" 2006 "PARCAE" 3
+"441217" 2007 "ALAARV" 3
+"441217" 2007 "PARCAE" 5
+"441217" 2008 "ALAARV" 5
+"441217" 2008 "PARCAE" 5
+"441217" 2011 "ALAARV" 6
+"441217" 2011 "PARCAE" 2
+"441217" 2014 "ALAARV" 2
+"441217" 2014 "PARCAE" 6
+"441217" 2016 "ALAARV" 5
+"441217" 2016 "PARCAE" 4
+"441217" 2018 "ALAARV" 4
+"441217" 2018 "PARCAE" 8
+"441233" 2001 "ALAARV" 2
+"441233" 2001 "PARCAE" 3
+"441233" 2002 "ALAARV" 1
+"441233" 2002 "PARCAE" 7
+"441233" 2003 "ALAARV" 1
+"441233" 2003 "PARCAE" 5
+"441233" 2004 "ALAARV" 0
+"441233" 2004 "PARCAE" 2
+"441233" 2005 "ALAARV" 1
+"441233" 2005 "PARCAE" 3
+"441233" 2006 "ALAARV" 0
+"441233" 2006 "PARCAE" 2
+"441233" 2007 "ALAARV" 0
+"441233" 2007 "PARCAE" 1
+"441233" 2008 "ALAARV" 1
+"441233" 2008 "PARCAE" 2
+"441233" 2009 "ALAARV" 0
+"441233" 2009 "PARCAE" 7
+"441236" 2004 "ALAARV" 0
+"441236" 2004 "PARCAE" 7
+"441236" 2005 "ALAARV" 0
+"441236" 2005 "PARCAE" 10
+"441236" 2006 "ALAARV" 0
+"441236" 2006 "PARCAE" 4
+"441236" 2007 "ALAARV" 0
+"441236" 2007 "PARCAE" 6
+"441236" 2008 "ALAARV" 0
+"441236" 2008 "PARCAE" 9
+"441236" 2009 "ALAARV" 0
+"441236" 2009 "PARCAE" 14
+"441236" 2010 "ALAARV" 0
+"441236" 2010 "PARCAE" 4
+"441236" 2011 "ALAARV" 0
+"441236" 2011 "PARCAE" 16
+"441236" 2012 "ALAARV" 0
+"441236" 2012 "PARCAE" 10
+"441236" 2013 "ALAARV" 0
+"441236" 2013 "PARCAE" 8
+"441242" 2002 "ALAARV" 0
+"441242" 2002 "PARCAE" 3
+"441242" 2003 "ALAARV" 0
+"441242" 2003 "PARCAE" 5
+"441242" 2004 "ALAARV" 0
+"441242" 2004 "PARCAE" 1
+"441242" 2005 "ALAARV" 0
+"441242" 2005 "PARCAE" 3
+"441242" 2006 "ALAARV" 0
+"441242" 2006 "PARCAE" 6
+"441242" 2007 "ALAARV" 0
+"441242" 2007 "PARCAE" 6
+"441242" 2008 "ALAARV" 0
+"441242" 2008 "PARCAE" 8
+"441242" 2009 "ALAARV" 0
+"441242" 2009 "PARCAE" 7
+"441242" 2010 "ALAARV" 0
+"441242" 2010 "PARCAE" 3
+"441242" 2011 "ALAARV" 0
+"441242" 2011 "PARCAE" 6
+"441242" 2012 "ALAARV" 0
+"441242" 2012 "PARCAE" 9
+"441242" 2013 "ALAARV" 0
+"441242" 2013 "PARCAE" 9
+"441242" 2014 "ALAARV" 0
+"441242" 2014 "PARCAE" 10
+"441242" 2015 "ALAARV" 0
+"441242" 2015 "PARCAE" 9
+"441242" 2016 "ALAARV" 0
+"441242" 2016 "PARCAE" 5
+"441242" 2017 "ALAARV" 0
+"441242" 2017 "PARCAE" 5
+"441242" 2018 "ALAARV" 0
+"441242" 2018 "PARCAE" 4
+"441259" 2018 "ALAARV" 2
+"441259" 2018 "PARCAE" 14
+"441265" 2004 "ALAARV" 2
+"441265" 2004 "PARCAE" 6
+"441265" 2005 "ALAARV" 2
+"441265" 2005 "PARCAE" 3
+"441265" 2006 "ALAARV" 2
+"441265" 2006 "PARCAE" 0
+"441265" 2007 "ALAARV" 0
+"441265" 2007 "PARCAE" 4
+"441265" 2008 "ALAARV" 1
+"441265" 2008 "PARCAE" 7
+"441265" 2009 "ALAARV" 1
+"441265" 2009 "PARCAE" 4
+"441265" 2010 "ALAARV" 1
+"441265" 2010 "PARCAE" 2
+"441265" 2011 "ALAARV" 2
+"441265" 2011 "PARCAE" 13
+"441265" 2012 "ALAARV" 0
+"441265" 2012 "PARCAE" 5
+"441265" 2013 "ALAARV" 1
+"441265" 2013 "PARCAE" 4
+"441307" 2016 "ALAARV" 2
+"441307" 2016 "PARCAE" 10
+"441307" 2017 "ALAARV" 2
+"441307" 2017 "PARCAE" 3
+"441307" 2018 "ALAARV" 1
+"441307" 2018 "PARCAE" 6
+"441311" 2015 "ALAARV" 0
+"441311" 2015 "PARCAE" 12
+"441311" 2016 "ALAARV" 0
+"441311" 2016 "PARCAE" 6
+"441311" 2017 "ALAARV" 0
+"441311" 2017 "PARCAE" 6
+"441311" 2018 "ALAARV" 0
+"441311" 2018 "PARCAE" 15
+"441340" 2004 "ALAARV" 0
+"441340" 2004 "PARCAE" 10
+"441340" 2005 "ALAARV" 0
+"441340" 2005 "PARCAE" 10
+"441340" 2006 "ALAARV" 0
+"441340" 2006 "PARCAE" 8
+"441340" 2007 "ALAARV" 0
+"441340" 2007 "PARCAE" 7
+"441340" 2008 "ALAARV" 0
+"441340" 2008 "PARCAE" 6
+"441340" 2009 "ALAARV" 0
+"441340" 2009 "PARCAE" 7
+"441340" 2010 "ALAARV" 0
+"441340" 2010 "PARCAE" 2
+"441340" 2011 "ALAARV" 0
+"441340" 2011 "PARCAE" 6
+"441340" 2012 "ALAARV" 0
+"441340" 2012 "PARCAE" 6
+"441340" 2013 "ALAARV" 0
+"441340" 2013 "PARCAE" 7
+"441340" 2014 "ALAARV" 0
+"441340" 2014 "PARCAE" 6
+"441340" 2015 "ALAARV" 0
+"441340" 2015 "PARCAE" 5
+"441376" 2014 "ALAARV" 0
+"441376" 2014 "PARCAE" 15
+"441376" 2015 "ALAARV" 0
+"441376" 2015 "PARCAE" 10
+"441376" 2016 "ALAARV" 0
+"441376" 2016 "PARCAE" 7
+"441376" 2017 "ALAARV" 0
+"441376" 2017 "PARCAE" 13
+"441376" 2018 "ALAARV" 0
+"441376" 2018 "PARCAE" 18
+"441558" 2001 "ALAARV" 2
+"441558" 2001 "PARCAE" 6
+"441558" 2002 "ALAARV" 1
+"441558" 2002 "PARCAE" 0
+"441558" 2003 "ALAARV" 1
+"441558" 2003 "PARCAE" 0
+"441558" 2004 "ALAARV" 2
+"441558" 2004 "PARCAE" 3
+"441558" 2005 "ALAARV" 1
+"441558" 2005 "PARCAE" 1
+"441558" 2006 "ALAARV" 1
+"441558" 2006 "PARCAE" 3
+"441558" 2007 "ALAARV" 2
+"441558" 2007 "PARCAE" 4
+"441558" 2008 "ALAARV" 1
+"441558" 2008 "PARCAE" 4
+"441558" 2009 "ALAARV" 1
+"441558" 2009 "PARCAE" 5
+"441558" 2011 "ALAARV" 1
+"441558" 2011 "PARCAE" 0
+"441558" 2012 "ALAARV" 0
+"441558" 2012 "PARCAE" 1
+"441594" 2004 "ALAARV" 12
+"441594" 2004 "PARCAE" 3
+"441594" 2005 "ALAARV" 9
+"441594" 2005 "PARCAE" 3
+"441594" 2006 "ALAARV" 10
+"441594" 2006 "PARCAE" 1
+"441594" 2007 "ALAARV" 5
+"441594" 2007 "PARCAE" 3
+"441594" 2008 "ALAARV" 6
+"441594" 2008 "PARCAE" 6
+"441594" 2009 "ALAARV" 1
+"441594" 2009 "PARCAE" 5
+"441640" 2012 "ALAARV" 12
+"441640" 2012 "PARCAE" 4
+"441680" 2012 "ALAARV" 2
+"441680" 2012 "PARCAE" 4
+"441680" 2013 "ALAARV" 1
+"441680" 2013 "PARCAE" 7
+"441680" 2014 "ALAARV" 0
+"441680" 2014 "PARCAE" 7
+"441680" 2015 "ALAARV" 1
+"441680" 2015 "PARCAE" 5
+"441680" 2016 "ALAARV" 0
+"441680" 2016 "PARCAE" 2
+"441680" 2017 "ALAARV" 0
+"441680" 2017 "PARCAE" 5
+"441680" 2018 "ALAARV" 0
+"441680" 2018 "PARCAE" 7
+"Ile de" 2018 "ALAARV" 3
+"Ile de" 2018 "PARCAE" 7
+"Le Mas" 2018 "ALAARV" 0
+"Le Mas" 2018 "PARCAE" 7
\ No newline at end of file
diff -r 000000000000 -r 726a387cfdc2 test-data/levene.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/levene.txt Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,8 @@
+
+write table with levene test.
+--> "Levene's Test for Homogeneity of Variance (center = median)"
+ Df F value Pr(>F) "
+group 1 22.02 3.145e-06 ***"
+ 848 "
+---"
+Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1"
diff -r 000000000000 -r 726a387cfdc2 test-data/species.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/species.txt Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,6 @@
+Blenniidae
+Gobiidae
+Scorpaenidae
+Tripterygiidae
+Plesiopidae
+Serranidae
diff -r 000000000000 -r 726a387cfdc2 test-data/test_bbs2.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_bbs2.txt Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,8 @@
+
+write table with levene test.
+--> "Levene's Test for Homogeneity of Variance (center = median)"
+ Df F value Pr(>F) "
+group 1 22.02 3.145e-06 ***"
+ 848 "
+---"
+Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1"
diff -r 000000000000 -r 726a387cfdc2 test-data/test_fish2.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_fish2.tabular Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,2 @@
+"x"
+"1" 6
diff -r 000000000000 -r 726a387cfdc2 test-data/test_value_fish2.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_value_fish2.txt Fri Aug 13 18:17:11 2021 +0000
@@ -0,0 +1,10 @@
+
+write table with eigenvalue.
+--> " eigenvalue variance.percent cumulative.variance.percent"
+Dim.1 2.849961e+00 5.699922e+01 56.99922"
+Dim.2 1.229238e+00 2.458475e+01 81.58397"
+Dim.3 7.482796e-01 1.496559e+01 96.54956"
+Dim.4 1.725220e-01 3.450440e+00 100.00000"
+Dim.5 1.948918e-14 3.897836e-13 100.00000"
+Dim.6 9.545002e-34 1.909000e-32 100.00000"
+Dim.7 2.137718e-35 4.275436e-34 100.00000"