diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..d91b36ce68866d39cec7b59d0ecec0b4bd1f63d9
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,674 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ 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.
+
+    flexpart
+    Copyright (C) 2019  flexpart
+
+    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 <http://www.gnu.org/licenses/>.
+
+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:
+
+    flexpart  Copyright (C) 2019  flexpart
+    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
+<http://www.gnu.org/licenses/>.
+
+  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
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/create_tarball.sh b/create_tarball.sh
index 094e7a13f799425da0b0cd7b1b7d8fb3f3b03a57..eebe81a3df49d89cab657cab955d7e5a453d5a81 100755
--- a/create_tarball.sh
+++ b/create_tarball.sh
@@ -1,5 +1,6 @@
 #!/bin/bash
 # Ignacio Pisso, May 2017 
+# Changes 2018-2019
 
 echo CREATE A NEW FLEXPART DISTRIBUTION
 
@@ -42,17 +43,13 @@ if [ -d $tarball_tmp ]; then
 fi
 
 # start packing
-
-
 ## needs in addition to the git repo ANCILLARY git repos
 # VERIFY THESE RESOURCES EXIST BEFORE PACKING DISTRIBUTION
 #1 OH file OH_variables.bin || OH_variables=../flexin/OH_FIELDS/OH_variables.bin
 #2 flex_extract || flex_extract=../flex_extract_v7.0.4/
 #3 flex_read_fortran from ../flex_read_matlab/export_basic  TODO: add functions to ../flex_read_matlab/export/ 
 #  flex_read_matlab_src=../flex_read_matlab/export_basic
-#4 tests/examples ../flex_tests_examples/examples3/*
-#5  
-#6
+#4 tests/examples ../flex_tests_examples/examples/*
 
 
 
@@ -68,7 +65,6 @@ echo
 # patnames
 echo ---------------------------------------------------------
 echo ')' copy pathnames 
-#cp pathnames_distribution $tarball_tmp/pathnames
 cp pathnames $tarball_tmp/pathnames
 echo ---------------------------------------------------------
 
@@ -80,26 +76,24 @@ echo ')' copy src/
 mkdir $tarball_tmp/src
 cp src/*.f90 $tarball_tmp/src
 cp -r src/gributils $tarball_tmp/src 
-# echo '3)' copy makefile
 cp src/makefile $tarball_tmp/src
-#cp src/makefile.gfs $tarball_tmp/src
 echo ---------------------------------------------------------
 
+cp LICENSE $tarball_tmp/LICENSE_GPLv3
+cp src/flexpart_license.txt  $tarball_tmp/src
+
 echo
 
 # options dir
 echo ---------------------------------------------------------
 echo ')' copy options/ 
 echo ---------------------------------------------------------
-# (for the distribution they work with the defult flex_ecmwf test winds)
-#cp -r options_flex_ecmwf_EA $tarball_tmp/options
 mkdir $tarball_tmp/options
 user_input_files="AGECLASSES     COMMAND        IGBP_int1.dat  OUTGRID        OUTGRID_NEST   RECEPTORS      RELEASES       surfdata.t     surfdepo.t"
 for i in $user_input_files
 do
   echo $i
   cp -r options/$i $tarball_tmp/options
-  #echo copy $i to $tarball_tmp/options
 done
 mkdir $tarball_tmp/options/SPECIES
 cp options/SPECIES/SPECIES* $tarball_tmp/options/SPECIES/
@@ -122,7 +116,6 @@ echo
 # AVAILABLE
 echo ---------------------------------------------------------
 echo ')' copy AVAILABLE
-#cp AVAILABLE_flex_ecmwf_EA $tarball_tmp/AVAILABLE
 cp AVAILABLE $tarball_tmp/AVAILABLE
 echo ---------------------------------------------------------
 
@@ -143,16 +136,7 @@ echo ---------------------------------------------------------
 echo ')' preprocess/
 mkdir $tarball_tmp/preprocess
 echo -----------------flex_extract-------------------
-#echo '6)'  mkdir $tarball_tmp/flex_extract [a separate repository]
-#mkdir $tarball_tmp/preprocess
-#mkdir $tarball_tmp/preprocess/flex_ecmwf
 mkdir $tarball_tmp/preprocess/flex_extract
-#echo '7)  add ECMWF retrieve routines (change EA wind files for latest source code)'
-#mkdir $tarball_tmp/preprocess/flex_extract
-#mkdir $tarball_tmp/preprocess/flex_extract/work
-#cp -r flex_ecmwf_src/* $tarball_tmp/preprocess/flex_ecmwf/
-#cp -r flex_ecmwf_src/* $tarball_tmp/preprocess/flex_extract/
-## cp -r flex_extract/work/EA* $tarball_tmp/preprocess/flex_extract/work   
 flex_extract=../flex_extract_v7.0.4/
 echo include flex_extract v7.0.4 b7c1c04a204c91e53759ef590504bf52dfaece64
 echo from $flex_extract [use git modules?] IP 3/2018 
@@ -166,12 +150,6 @@ echo ---------------------------------------------------------
 echo AVAILABLE generation scripts?
 echo ---------------------------------------------------------
 
-#echo '10)' cp example generating scripts [a separate repository]
-#echo moved below
-#mkdir $tarball_tmp/examples
-#cp -r examples/*.sh $tarball_tmp/examples/ 
-#cp -r examples/Makefile $tarball_tmp/examples/ 
-
 echo 
 
 # postprocess
@@ -182,8 +160,6 @@ postprocess=postprocess
 mkdir $tarball_tmp/$postprocess
 echo -----------------flex_read_fortran-------------------
 flex_read_fortran_src=$postprocess/flex_read_fortran/
-#echo ')'  directory for reading routines
-#echo '12)'  add fortran reading routines [a separate repository]
 mkdir $tarball_tmp/$postprocess/flex_read_fortran
 cp $postprocess/flex_read_fortran/*.f $tarball_tmp/$postprocess/flex_read_fortran
 cp $postprocess/flex_read_fortran/*.f90 $tarball_tmp/$postprocess/flex_read_fortran
@@ -195,47 +171,24 @@ flex_read_matlab_src=../flex_read_matlab/export_basic
 mkdir $tarball_tmp/$postprocess/flex_read_matlab
 cp -r $flex_read_matlab_src/* $tarball_tmp/$postprocess/flex_read_matlab
 echo flex_read_fortran from $flex_read_matlab_src  # NOT copied
-# add matlab reading routines
-#mkdir $tarball_tmp/postprocess/flex_read_matlab
-#cp postprocess/flex_read_matlab/*.m $tarball_tmp/postprocess/flex_read_matlab
 echo ---------------------------------------------------------
 
 echo
 
 echo ---------------------------------------------------------
 echo ')' tests/
-###############################################################
 #echo '13) tests' 
 mkdir $tarball_tmp/tests
-#echo -----------------flex_read_fortran-------------------
-#echo 'b) ./tests/flex_read_fortran/' 
-#echo fixme
-#mkdir $tarball_tmp/tests/flex_read_fortran
-#cp tests/flex_read_fortran/test_read_default.sh  $tarball_tmp/tests/flex_read_fortran
-
-
-###############################################################
 echo ----------------- examples -------------------
 
-#echo ') ./tests/examples/' 
 mkdir $tarball_tmp/tests/examples
-#echo ') scripts' 
-#cp -r ./tests/examples/*.sh $tarball_tmp/tests/examples/ 
-#echo ') makefile' 
-#cp -r ./tests/examples/Makefile $tarball_tmp/tests/examples/ 
-# echo USAGE: ~/repos/flexpart/tests/examples'$' make run
-cp -r ../flex_tests_examples/examples3/* $tarball_tmp/tests/examples/
+cp -r ../flex_tests_examples/examples/* $tarball_tmp/tests/examples/
 
 echo ----------------- examples_reference -------------------
 cp -r ./tests/examples_reference $tarball_tmp/tests/
 
-
-
-###############################################################
-# echo -----------------postprocess examples-------------------
 echo -----------------read examples-------------------
 
-#echo '13 c) ./tests/read_examples/' 
 mkdir $tarball_tmp/tests/read_examples
 
 cp tests/read_examples/declare_examples $tarball_tmp/tests/read_examples/
@@ -248,63 +201,36 @@ cp tests/read_examples/set_examples_all $tarball_tmp/tests/read_examples/
 cp tests/read_examples/set_examples_3.sh $tarball_tmp/tests/read_examples/
 cp tests/read_examples/read_headers.sh $tarball_tmp/tests/read_examples/
 cp tests/read_examples/read_examples_output.txt $tarball_tmp/tests/ #read_examples/
-# echo USAGE ~/repos/flexpart/tests/read_examples'$'./read_grids.sh
 
-###############################################################
 echo ------------compare examples-------------------
-#echo tests/compare_examples.sh
 mkdir $tarball_tmp/tests/compare_examples
 
 
-#mkdir $tarball_tmp/tests/compare_examples
-#cp tests/compare_examples/compare_grids.sh $tarball_tmp/tests/compare_examples
-#cp tests/compare_grids.sh $tarball_tmp/tests/
 cp tests/compare_examples/*.sh $tarball_tmp/tests/compare_examples
 cp tests/compare_examples/compare_grids_output.txt $tarball_tmp/tests/ #compare_examples
-# list of examples with units
-#cp tests/declare_examples $tarball_tmp/tests/
 
 echo 
 
-# ~/repos/flexpart/tests$./compare_grids.sh 
-
-#echo mkdir $tarball_tmp/tests/examples2/
-#echo cp tests/examples2/setup.sh $tarball_tmp/tests/examples2/
-# echo --repeat examples-------------------
-# echo FIXME 
-
-###############################################################
-#echo -----------------ctbto-------------------
-# mkdir $tarball_tmp/tests/ctbto
-
-# cp -r tests/NILU/test_1 $tarball_tmp/tests/
-# cp -r tests/default_cases $tarball_tmp/tests/
-
 echo ---------------------------------------------------------
 echo create tarball
-#tar cvf $tarball  $tarball_tmp  
-#tar cf $tarball  $tarball_tmp  
-#cd 
 
 cd $targetdir
 tar cf $distribution_name.tar $distribution_name 
 
 pwd
 
-
 echo  tarball $tarball complete
 echo exported untarred files in $tarball_tmp 
 
+echo verify:
 echo cp -r preprocess/flex_extract/work $tarball_tmp/preprocess/flex_extract/ 
 echo cd $tarball_tmp/src
 echo $HOME/repos/flexpart/src/make_in_laptop.sh
 echo cd .. ';' ./src/FLEXPART 
 echo cd postprocess/flex_read_fortran
 echo make test
-echo  max:  0.115784094     mean:   4.70877676E-05
-#echo cd $tarball_tmp/tests/examples ';'   make run
+echo e.g.: max:  0.115784094     mean:   4.70877676E-05
 echo cd ../../tests/examples ';'   make run
-#echo cd $tarball_tmp/tests/read_examples
 echo cd ../read_examples
 echo ./read_examples.sh
 echo ./read_examples.sh '>' ../read_examples_output.txt
@@ -314,69 +240,3 @@ echo ./compare_grids.sh '>' ../compare_grids_output.txt
 
 echo e.g. tar --append --file=$tarball_tmp/ ../compare_grids_output.txt ../read_examples_output.txt
  
- 
-
-
-exit
-#return
-###############################################################
-
-# obtain $FLEXHOME (and set)
-#1 cd $FLEXHOME/src 
-
-#2 compile
-#
-#[laptop] source /Users/ignacio/repos/flexpart/src/make_in_laptop.sh 
-# [njord] make
-# ->created executable (FLEXPART)
-
-#3 execute in src (absolute paths)
-#
-#[laptop] cp  /Users/ignacio/repos/flexpart/src/pathnames .
-#[njord] FIXME
-#
-# mkdir output
-# ./FLEXPART
-# ->created output in output/
-
-#4 read output
-# cd  $FLEXHOME/postprocess/flex_read_fortran/
-# make
-# -> printheader* printgrid* flex_read_compare2*
-#/postprocess/flex_read_fortran$./printheader ../../src/output/
-#/postprocess/flex_read_fortran$./printgrid ../../src/output/ conc
-# -> output in stdout (max:   11122924.0     sum:   90330784.0)
-
-#5 execute in $FLEXHOME
-# cd $FLEXHOME
-# get winds
-#[laptop] cp -r ~/repos/flex_winds/work/ ./preprocess/flex_extract/ 
-#[njord] curl https://folk.nilu.no/~ignacio/FLEXPART/EA120101.tar --output EA120101.tar ; tar -xvf EA120101.tar ; mv flex_extract/work preprocess/flex_extract/ ; rmdir flex_extract
-
-# src/FLEXPART
-# -> output in $FLEXHOME/output/
-
-#6 read output
-# postprocess/flex_read_fortran/printheader output/
-# postprocess/flex_read_fortran/printgrid output/ conc
-# -> output in stdout ( max:   11578738.0     sum:   104058720.)
-
-#7 gnererate examples
-# cd $FLEXHOME/tests/examples
-
-#make run
-
-#make examples
-#make batch
-#./run_batch_cl.sh
-
-#make (set_default_example.sh)
-#tests/examples$../../src/FLEXPART
-#output
-
-#8 read examples:
-#cd $FLEXHOME/tests/read_examples  
-# ./read_headers.sh
-# ./read_grids.sh 
-
-#9 compare examples with reference
diff --git a/options/COMMAND b/options/COMMAND
index 168ef0378f047c21200223f48061fdbc2b88d0fc..00b360c9d0aba758b6b90a8c36d26463bb9f47f6 100644
--- a/options/COMMAND
+++ b/options/COMMAND
@@ -20,12 +20,12 @@
  IOUT=                  1, ! Output type: [1]mass 2]pptv 3]1&2 4]plume 5]1&4, +8 for NetCDF output     
  IPOUT=                 0, ! Particle position output: 0]no 1]every output 2]only at end 3]time averaged
  LSUBGRID=              0, ! Increase of ABL heights due to sub-grid scale orographic variations;[0]off 1]on 
- LCONVECTION=          	1, ! Switch for convection parameterization;0]off [1]on    
- LAGESPECTRA=          	0, ! Switch for calculation of age spectra (needs AGECLASSES);[0]off 1]on  
+ LCONVECTION=           1, ! Switch for convection parameterization;0]off [1]on
+ LAGESPECTRA=           0, ! Switch for calculation of age spectra (needs AGECLASSES);[0]off 1]on
  IPIN=                  0, ! Warm start from particle dump (needs previous partposit_end file); [0]no 1]yes  
  IOUTPUTFOREACHRELEASE= 1, ! Separate output fields for each location in the RELEASE file; [0]no 1]yes 
  IFLUX=                 0, ! Output of mass fluxes through output grid box boundaries
- MDOMAINFILL=          	0, ! Switch for domain-filling, if limited-area particles generated at boundary
+ MDOMAINFILL=           0, ! Switch for domain-filling, if limited-area particles generated at boundary
  IND_SOURCE=            1, ! Unit to be used at the source   ;  [1]mass 2]mass mixing ratio 
  IND_RECEPTOR=          1, ! Unit to be used at the receptor; [1]mass 2]mass mixing ratio 3]wet depo. 4]dry depo.
  MQUASILAG=             0, ! Quasi-Lagrangian mode to track individual numbered particles 
diff --git a/options/SPECIES/SPECIES.README b/options/SPECIES/SPECIES.README
index 482c1941deb989817b58e485d3d3e27074a6dd06..31df8c4059a31db5a541400cab373ea0a38fbb08 100644
--- a/options/SPECIES/SPECIES.README
+++ b/options/SPECIES/SPECIES.README
@@ -18,44 +18,44 @@ WET DEPOSITION
 
 Below-cloud scavenging
 - Gases:
-	A and B are the parameters for below-cloud scavenging defined by Eq. scavenging coefficient = A x precipitation-rate^B
+    A and B are the parameters for below-cloud scavenging defined by Eq. scavenging coefficient = A x precipitation-rate^B
         If you migrate from FLEXPART version 9.2 and below this is equal to A and B as it was.
 - Particles: 
-	A "rain collection efficiency"  
-	B "snow collection efficiency" are both defined by Equations 46-47.
-	Suggested values for particle scavenging are A=1.0,B=1.0.
-	Using values A=0.2 and B=0.2 will give results close to the old scavenging scheme of FLEXPART version 9.2 and below.
+    A "rain collection efficiency"  
+    B "snow collection efficiency" are both defined by Equations 46-47.
+    Suggested values for particle scavenging are A=1.0,B=1.0.
+    Using values A=0.2 and B=0.2 will give results close to the old scavenging scheme of FLEXPART version 9.2 and below.
 
 In-cloud scavenging
 - Gases:
     Is switched on if Ai or Bi are given greater than 0
     If you migrate from FLEXPART version 9.2 and below this is equal to Ai and Bi should be set to 1
 - Particles:
-	Ai ("Cloud Condensation Nuclei (CCN) efficiency") 
-	Bi ("Ice Nuclei (IN) efficiency")                  are both from Eq. 51. 	
-	Suggested values for particle scavenging are  Ai=0.9 and Bi=0.1.
-	Using values Ai=0.9 and Bi=0.9 should give results cto the old scavenging scheme of FLEXPART version 9.2 and below.
+    Ai ("Cloud Condensation Nuclei (CCN) efficiency") 
+    Bi ("Ice Nuclei (IN) efficiency")                  are both from Eq. 51.    
+    Suggested values for particle scavenging are  Ai=0.9 and Bi=0.1.
+    Using values Ai=0.9 and Bi=0.9 should give results cto the old scavenging scheme of FLEXPART version 9.2 and below.
 ---------------------------------------------------------------------------------------------------------------------------
 DRY DEPOSITION
 - Gases: 
-	D is the diffusivity of water vapor and 
-	D_i is the diffusivity of the species, 
-	H is the effective Henry’s constant, 
-	f0 varies between 0 and 1 and gives the reactivity of a species relative to that of ozone. For non-reactive species f0 is 0, for slightly reactive it is 0.1 and for highly reactive it is 1. 
-	Dry deposition of gases is switched off by negative D. 
+    D is the diffusivity of water vapor and 
+    D_i is the diffusivity of the species, 
+    H is the effective Henry’s constant, 
+    f0 varies between 0 and 1 and gives the reactivity of a species relative to that of ozone. For non-reactive species f0 is 0, for slightly reactive it is 0.1 and for highly reactive it is 1. 
+    Dry deposition of gases is switched off by negative D. 
 - Particles:
-	rho specifies the density of the substance, 
-	dquer its mean diameter 
-	dsig the measure of variation.
-	If no detailed information for deposition velocity calculation is available, a constant deposition velocity vd [cm s-1] can be used. 
-	Dry deposition of particles is switched off by negative rho.
+    rho specifies the density of the substance, 
+    dquer its mean diameter 
+    dsig the measure of variation.
+    If no detailed information for deposition velocity calculation is available, a constant deposition velocity vd [cm s-1] can be used. 
+    Dry deposition of particles is switched off by negative rho.
 ---------------------------------------------------------------------------------------------------------------------------
 OH REACTION:
-	can be turned on by giving parameter C [cm^3/molecule/sec]], D [K] and N [no unit] positive values, defined by Eq. 39.
-	OH reaction is switched off by negative C.
+    can be turned on by giving parameter C [cm^3/molecule/sec]], D [K] and N [no unit] positive values, defined by Eq. 39.
+    OH reaction is switched off by negative C.
 ---------------------------------------------------------------------------------------------------------------------------
 Optionally  emission variation information 
-	can be added at the end of the file, defined as following: Since FLEXPART version 6.0, emission factors can be defined that change the temporal variation of particle releases. This is useful, for instance,
+    can be added at the end of the file, defined as following: Since FLEXPART version 6.0, emission factors can be defined that change the temporal variation of particle releases. This is useful, for instance,
 to simulate the typical daily and weekly cycle of anthropogenic emissions. The emission factors are given in the file of the
 corresponding species SPECIES_nnn, where nnn is the species number defined in file RELEASES. If no emission variation
 information is given, emission rates for species nnn are taken as constant. Release rates can vary with the hour of the day
diff --git a/src/FLEXPART.f90 b/src/FLEXPART.f90
index e3871f2bf386aafa98567cfe43df0eb836410bb3..94dd7d30f4fb4c4487cd958db7837046eacb6268 100644
--- a/src/FLEXPART.f90
+++ b/src/FLEXPART.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 program flexpart
 
   !*****************************************************************************
diff --git a/src/FLEXPART_MPI.f90 b/src/FLEXPART_MPI.f90
index bcda35552cc030c8991bd6473fe2334882a883b8..15a9b877728ecfde80d8f24b93286e0166545765 100644
--- a/src/FLEXPART_MPI.f90
+++ b/src/FLEXPART_MPI.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 program flexpart
 
   !*****************************************************************************
diff --git a/src/advance.f90 b/src/advance.f90
index 040185e734dc3db8be0c4e7c2bd872933173035f..9764e48ac04540b44844bbcaa4c893341f7724b7 100644
--- a/src/advance.f90
+++ b/src/advance.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine advance(itime,nrelpoint,ldt,up,vp,wp, &
        usigold,vsigold,wsigold,nstop,xt,yt,zt,prob,icbt)
   !                     i    i  i/oi/oi/o
diff --git a/src/assignland.f90 b/src/assignland.f90
index 4f837545f0c940e5bb4fc849412906c78a204fd3..00c10075b4d8e68be3985faa4ee62bb796a51a46 100644
--- a/src/assignland.f90
+++ b/src/assignland.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine assignland
 
   !*****************************************************************************
diff --git a/src/boundcond_domainfill.f90 b/src/boundcond_domainfill.f90
index 8525ddf1d1de99a9af51dedaf9296de071de1765..6dcd654865ef987c7c1af56fa4718e0821c882e1 100644
--- a/src/boundcond_domainfill.f90
+++ b/src/boundcond_domainfill.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine boundcond_domainfill(itime,loutend)
   !                                  i      i
   !*****************************************************************************
diff --git a/src/boundcond_domainfill_mpi.f90 b/src/boundcond_domainfill_mpi.f90
index 543fca0b6180d47ae9220e7b6611fcc11f2a92a1..06fd76486a9c8c546dadbf8f05584a6afc27c0e0 100644
--- a/src/boundcond_domainfill_mpi.f90
+++ b/src/boundcond_domainfill_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine boundcond_domainfill(itime,loutend)
 !                                  i      i
 !*****************************************************************************
diff --git a/src/calcfluxes.f90 b/src/calcfluxes.f90
index 1ff83acda94513cb22bdf167b82d8da0634b9efa..c75078b1b57e2cc657f7eebeaeff3fd4558c6769 100644
--- a/src/calcfluxes.f90
+++ b/src/calcfluxes.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine calcfluxes(nage,jpart,xold,yold,zold)
   !                       i     i    i    i    i
   !*****************************************************************************
diff --git a/src/calcmatrix.f90 b/src/calcmatrix.f90
index a29d8c988bf55808c1a4e454160006da8eeae9f7..5c6246e257399d9a086f7a82f08679f44393720c 100644
--- a/src/calcmatrix.f90
+++ b/src/calcmatrix.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine calcmatrix(lconv,delt,cbmf,metdata_format)
   !                        o    i    o
   !*****************************************************************************
diff --git a/src/calcpar.f90 b/src/calcpar.f90
index 07574a6f59ca4fbf975149a827ea0e5cc04b621b..50b6e46a35b0fe924f793330092b124ffeb3d49a 100644
--- a/src/calcpar.f90
+++ b/src/calcpar.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine calcpar(n,uuh,vvh,pvh,metdata_format)
   !                   i  i   i   o
   !*****************************************************************************
diff --git a/src/calcpar_nests.f90 b/src/calcpar_nests.f90
index 628588bc7d512c4dd8651105e6db079488a3bc2f..2cc553b605e9b2235ecc0e15e8920fd56c87d019 100644
--- a/src/calcpar_nests.f90
+++ b/src/calcpar_nests.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine calcpar_nests(n,uuhn,vvhn,pvhn,metdata_format)
   !                         i  i    i    o
   !*****************************************************************************
diff --git a/src/calcpv.f90 b/src/calcpv.f90
index 1fbfe4deb7fcece44b9be09cada9e171b0e03cc8..7427528951118ba36e8ebfd8e4fcb60dfd83969e 100644
--- a/src/calcpv.f90
+++ b/src/calcpv.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine calcpv(n,uuh,vvh,pvh)
   !               i  i   i   o
   !*****************************************************************************
diff --git a/src/calcpv_nests.f90 b/src/calcpv_nests.f90
index d651672814107ecac498c6140d1b0b763bd2ca92..e1e137db52d2d9ba115115a3252e365d9e4047ba 100644
--- a/src/calcpv_nests.f90
+++ b/src/calcpv_nests.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine calcpv_nests(l,n,uuhn,vvhn,pvhn)
   !                     i i  i    i    o
   !*****************************************************************************
diff --git a/src/caldate.f90 b/src/caldate.f90
index 6dfe4706b7b46c1cf868cccd30616fe8b6f21d92..a700cb44276242901dea213b624b89fbdd8e3247 100644
--- a/src/caldate.f90
+++ b/src/caldate.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine caldate(juldate,yyyymmdd,hhmiss)
   !                      i       o       o
   !*****************************************************************************
diff --git a/src/cbl.f90 b/src/cbl.f90
index 99adbea861e04fa069a45a764a4a3b67ece5bcb2..971d746d56142b4e4fe4e8757d9acca19135b869 100644
--- a/src/cbl.f90
+++ b/src/cbl.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine cbl(wp,zp,ust,wst,h,rhoa,rhograd,sigmaw,dsigmawdz,tlw,ptot,Q,phi,ath,bth,ol,flagrein)
 !                i  i i  i   i  i    i     i       i         i   o   o   o   o    o  i    o
      
@@ -105,7 +108,7 @@ subroutine cbl(wp,zp,ust,wst,h,rhoa,rhograd,sigmaw,dsigmawdz,tlw,ptot,Q,phi,ath,
     radw2=w2**0.5
     dradw2=0.5*w2**(-0.5)*dw2
     !costluar4=0.66667  ! costante da LHH
-    fluarw=costluar4*(cuberoot(skew))	!skew**(1./3.)
+    fluarw=costluar4*(cuberoot(skew))   !skew**(1./3.)
     fluarw2=fluarw*fluarw
     
     if (skew.ne.0) then
@@ -183,7 +186,7 @@ subroutine cbl(wp,zp,ust,wst,h,rhoa,rhograd,sigmaw,dsigmawdz,tlw,ptot,Q,phi,ath,
 
            pa=(usurad2p*(1./sigmawa))*(exp(-(0.5*((deltawa/sigmawa)**2.))))
            pb=(usurad2p*(1./sigmawb))*(exp(-(0.5*((deltawb/sigmawb)**2.))))
-                            	    
+                                    
            ptot=dens*aluarw*pa+dens*bluarw*pb
                                
            aperfa=deltawa*usurad2/sigmawa
diff --git a/src/centerofmass.f90 b/src/centerofmass.f90
index 21ea318951c0170de5b53695b3933735211d463e..e530bf3b6014b514b3984fa48719c000857acceb 100644
--- a/src/centerofmass.f90
+++ b/src/centerofmass.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine centerofmass(xl,yl,n,xcenter,ycenter)
   !                        i  i  i    o       o
   !*****************************************************************************
diff --git a/src/clustering.f90 b/src/clustering.f90
index b3427d7021a39599901c34fd732b1ceaf74ed2e0..2343643399e7a608f118260baaf07a772a5f6552 100644
--- a/src/clustering.f90
+++ b/src/clustering.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine clustering(xl,yl,zl,n,xclust,yclust,zclust,fclust,rms, &
        rmsclust,zrms)
   !                      i  i  i  i   o      o      o      o     o
diff --git a/src/cmapf_mod.f90 b/src/cmapf_mod.f90
index 218129115d2b1c2274f3d7a635fad6ef272dd516..b57e8059207f6e1317894039fb515c57c01ba487 100644
--- a/src/cmapf_mod.f90
+++ b/src/cmapf_mod.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 ! Changes to the routines by A. Stohl
 ! xi,xi0,eta,eta0 are double precision variables to avoid problems
 ! at poles
@@ -228,7 +231,7 @@ real function cgszll (strcmp, xlat,xlong)
   ymerc = log((1. + slat) / (1. - slat))/2.
   !efact = exp(ymerc)
   !cgszll = 2. * strcmp(7) * exp (strcmp(1) * ymerc)
-  !c			 / (efact + 1./efact)
+  !c             / (efact + 1./efact)
   endif
   cgszll = strcmp(7) * cos(radpdg * xlat) * exp(strcmp(1) *ymerc)
   return
diff --git a/src/conccalc.f90 b/src/conccalc.f90
index fd286d07c6a4e7d22b2118dbfbd7958eee14603f..9f7618e7ec167875b3ee7a7fc56272373f69e371 100644
--- a/src/conccalc.f90
+++ b/src/conccalc.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine conccalc(itime,weight)
   !                      i     i
   !*****************************************************************************
diff --git a/src/conccalc_mpi.f90 b/src/conccalc_mpi.f90
index 77493a5ec5cfd31e1d72cafb68d3b1442976ce46..804c37f03d272c463dff1adad5bef39709183b1c 100644
--- a/src/conccalc_mpi.f90
+++ b/src/conccalc_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine conccalc(itime,weight)
   !                 i     i
   !*****************************************************************************
diff --git a/src/concoutput.f90 b/src/concoutput.f90
index 8f2563f941f582812f0027305acfa16713f3a3e0..9cdb305c7bcf24623b8e08c21a0c46ca2b041829 100644
--- a/src/concoutput.f90
+++ b/src/concoutput.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine concoutput(itime,outnum,gridtotalunc,wetgridtotalunc, &
      drygridtotalunc)
 !                        i     i          o             o
diff --git a/src/concoutput_inversion.f90 b/src/concoutput_inversion.f90
index 2616fc0b9f75d98d3979c2ac73cba1bf79fbf7e7..006d56e5599fa7ca978b5df4aa1ed0696cb176ff 100644
--- a/src/concoutput_inversion.f90
+++ b/src/concoutput_inversion.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine concoutput_inversion(itime,outnum,gridtotalunc,wetgridtotalunc, &
      drygridtotalunc)
 !                        i     i          o             o
diff --git a/src/concoutput_inversion_nest.f90 b/src/concoutput_inversion_nest.f90
index 1b65cdd1ebe1a68fe4fdb9ec9f8cd5e175d671d8..79867e08318af4115987ad600c5e9c557073ff9d 100644
--- a/src/concoutput_inversion_nest.f90
+++ b/src/concoutput_inversion_nest.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine concoutput_inversion_nest(itime,outnum)
   !                        i     i
   !*****************************************************************************
diff --git a/src/concoutput_mpi.f90 b/src/concoutput_mpi.f90
index e1649fe7422d8a9c464d093d492ed76256b46ead..19f0659a68d1560110c775fafb648d4aa6209af4 100644
--- a/src/concoutput_mpi.f90
+++ b/src/concoutput_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine concoutput(itime,outnum,gridtotalunc,wetgridtotalunc, &
      drygridtotalunc)
 !                        i     i          o             o
diff --git a/src/concoutput_nest.f90 b/src/concoutput_nest.f90
index f03657d2cc8b5335c0fc0525754d3d77c45ac396..eaf620d1b6e0fa31f0823bf2ed80d8d5e36eba35 100644
--- a/src/concoutput_nest.f90
+++ b/src/concoutput_nest.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine concoutput_nest(itime,outnum)
   !                        i     i
   !*****************************************************************************
diff --git a/src/concoutput_nest_mpi.f90 b/src/concoutput_nest_mpi.f90
index b650b74c727183491dbfb5fce3d55354cfa13ce7..e7f25a62a93790e1bf530906e05c2702db868779 100644
--- a/src/concoutput_nest_mpi.f90
+++ b/src/concoutput_nest_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine concoutput_nest(itime,outnum)
   !                        i     i
   !*****************************************************************************
diff --git a/src/concoutput_surf.f90 b/src/concoutput_surf.f90
index 7d22fda065cc8adb371f7a7f1f147c89aeec4689..ef3405dc142301d94d6d7577acc80fb6142118b5 100644
--- a/src/concoutput_surf.f90
+++ b/src/concoutput_surf.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine concoutput_surf(itime,outnum,gridtotalunc,wetgridtotalunc, &
      drygridtotalunc)
 !                        i     i          o             o
diff --git a/src/concoutput_surf_mpi.f90 b/src/concoutput_surf_mpi.f90
index 3908b461cccf9ce2c4a88ed3ce73304da4b38cd1..7f149efce59ea653c09e0d5a7c3493d3e345505e 100644
--- a/src/concoutput_surf_mpi.f90
+++ b/src/concoutput_surf_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine concoutput_surf(itime,outnum,gridtotalunc,wetgridtotalunc, &
        drygridtotalunc)
   !                        i     i          o             o
diff --git a/src/concoutput_surf_nest.f90 b/src/concoutput_surf_nest.f90
index 2d0443fb4d0db6f29ad6a720d5aa20a93e5bf063..89fc03f9979ec1a2592447ece1ee939f1b14aa07 100644
--- a/src/concoutput_surf_nest.f90
+++ b/src/concoutput_surf_nest.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine concoutput_surf_nest(itime,outnum)
   !                        i     i
   !*****************************************************************************
diff --git a/src/concoutput_surf_nest_mpi.f90 b/src/concoutput_surf_nest_mpi.f90
index e4b72c2aa8857a57e05e21da4f21fc6827c793bb..0210b84e9fbfd91d392d2174eac98cb6bcf62695 100644
--- a/src/concoutput_surf_nest_mpi.f90
+++ b/src/concoutput_surf_nest_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine concoutput_surf_nest(itime,outnum)
   !                        i     i
   !*****************************************************************************
diff --git a/src/convect43c.f90 b/src/convect43c.f90
index 7d3f5a5429badb79c862e2f107cc80109ab40b33..8db8f43da45823bda58c7be060094437ea665887 100644
--- a/src/convect43c.f90
+++ b/src/convect43c.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 !**************************************************************************
 !****                       SUBROUTINE CONVECT                        *****
 !****                          VERSION 4.3c                           *****
diff --git a/src/convmix.f90 b/src/convmix.f90
index e145a0b275e97224946ed19d9a7f766a90cdd11e..586e5670623e2b58b1c55c1fff97325f294b3028 100644
--- a/src/convmix.f90
+++ b/src/convmix.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine convmix(itime,metdata_format)
   !                     i
   !**************************************************************
diff --git a/src/coordtrafo.f90 b/src/coordtrafo.f90
index e7f86e9ad6ce4e19a97f9ae277e9d819916721ee..7e5a8ea98ef69ced1cc1220ea09af192c5aee41c 100644
--- a/src/coordtrafo.f90
+++ b/src/coordtrafo.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine coordtrafo
 
   !**********************************************************************
diff --git a/src/detectformat.f90 b/src/detectformat.f90
index b13f94896142966d727413fff5b3380e7105843a..9b6aee00046e8483f49a1da76427c844f746c9dc 100644
--- a/src/detectformat.f90
+++ b/src/detectformat.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 integer function detectformat()
 
   !*****************************************************************************
diff --git a/src/distance.f90 b/src/distance.f90
index 7aba44f6cbc8b4ec0b49d56314f09a2dfdd76205..358aa0dac22c93d0f6060d7657ad0408a3ebfaf2 100644
--- a/src/distance.f90
+++ b/src/distance.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 !-----------------------------------------------------------------------
 function distance(rlat1,rlon1,rlat2,rlon2)
 
diff --git a/src/distance2.f90 b/src/distance2.f90
index fddea3a97ddecb5d65197037c2502cce7b9930ba..5131ecb73677221c3e11708e890a4a6b3b040d9d 100644
--- a/src/distance2.f90
+++ b/src/distance2.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 !-----------------------------------------------------------------------
 function distance2(rlat1,rlon1,rlat2,rlon2)
 
diff --git a/src/drydepokernel.f90 b/src/drydepokernel.f90
index 3fc494db188d12550385e0ec2cd7fbdda50c7443..d7127f4a8d9c87eda35aa1c8cf8253bbb9d0ccb1 100644
--- a/src/drydepokernel.f90
+++ b/src/drydepokernel.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine drydepokernel(nunc,deposit,x,y,nage,kp)
   !                          i      i    i i  i
   !*****************************************************************************
diff --git a/src/drydepokernel_nest.f90 b/src/drydepokernel_nest.f90
index 421b408ac49bd75bc37a4c54c47e0e1abc51b2fa..da27ad7b40fbf210497496812a17b9277b5b6f8b 100644
--- a/src/drydepokernel_nest.f90
+++ b/src/drydepokernel_nest.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine drydepokernel_nest(nunc,deposit,x,y,nage,kp)
   !                               i      i    i i  i
   !*****************************************************************************
diff --git a/src/dynamic_viscosity.f90 b/src/dynamic_viscosity.f90
index 51cc66ca2994926840fea5a543cf77c609fe3ed7..4c1d9db5101b20bc9637cee3610d7ae08e4547e5 100644
--- a/src/dynamic_viscosity.f90
+++ b/src/dynamic_viscosity.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 ! Function calculates dynamic viscosity of air (kg/m/s) as function of
 ! temperature (K) using Sutherland's formula
 
diff --git a/src/erf.f90 b/src/erf.f90
index bc9f35c293487153adb6dd1b6750decdfea248aa..1e0eff6cf5eff7414e25086dcb23b585455fc016 100644
--- a/src/erf.f90
+++ b/src/erf.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 ! To be used, if the non-standard Fortran function erf does not exist on
 ! your machine
 !
diff --git a/src/ew.f90 b/src/ew.f90
index a359b59591d2e05352a2d17de5be9250038cbcb6..38c0b0f3b5b934997d2c2d0faaab4a1bfaed24e2 100644
--- a/src/ew.f90
+++ b/src/ew.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 real function ew(x)
 
   !****************************************************************
diff --git a/src/flux_mod.f90 b/src/flux_mod.f90
index 8c3e4b18e6ca8d4a101e3b9bb6f8da831d064e43..c1f44130fdea5a37cb7ea1ab4bab3e0fbf3f5479 100644
--- a/src/flux_mod.f90
+++ b/src/flux_mod.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 module flux_mod
 
   ! flux eastward, westward, northward, southward, upward and downward
diff --git a/src/fluxoutput.f90 b/src/fluxoutput.f90
index 2f38b6b1d0a0b3a28c9a7996d20f67a5798a185c..54a6c42a46bd052f01ee744270a74574fb608a5f 100644
--- a/src/fluxoutput.f90
+++ b/src/fluxoutput.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine fluxoutput(itime)
   !                        i
   !*****************************************************************************
diff --git a/src/get_settling.f90 b/src/get_settling.f90
index 1c1c80f5d07f137dc27921022c9498095da9c5c6..f508700e0bdd0439baf548cfe8489742dad6a059 100644
--- a/src/get_settling.f90
+++ b/src/get_settling.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine get_settling(itime,xt,yt,zt,nsp,settling)
   !                          i   i  i  i   i     o
   !*****************************************************************************
diff --git a/src/get_vdep_prob.f90 b/src/get_vdep_prob.f90
index 5beba947707b7edea4bf4d403a4fd3e1aeb3e8c8..caac2ed1a53d2a07579d5dc9d3b6947429f5dea9 100644
--- a/src/get_vdep_prob.f90
+++ b/src/get_vdep_prob.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine get_vdep_prob(itime,xt,yt,zt,prob)
   !                    i     i  i  i  o
   !*****************************************************************************
diff --git a/src/get_wetscav.f90 b/src/get_wetscav.f90
index da12059ba5f3d7d59a1f627f99e491df36d7df7b..1728fc0507ffba9926ce2d40b0c6a0a0576bc971 100644
--- a/src/get_wetscav.f90
+++ b/src/get_wetscav.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine get_wetscav(itime,ltsample,loutnext,jpart,ks,grfraction,inc_count,blc_count,wetscav)
 !                          i      i        i     i   i    o           o          o       o
 !*****************************************************************************
diff --git a/src/getfields.f90 b/src/getfields.f90
index 4123ce2bd3b929ba1c5623f6d2cbd3d5bfc05dc5..3965c3f4b2434705751ea10f3f02be51e23747cb 100644
--- a/src/getfields.f90
+++ b/src/getfields.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine getfields(itime,nstop,metdata_format)
 !                       i     o
 !*****************************************************************************
diff --git a/src/getfields_mpi.f90 b/src/getfields_mpi.f90
index 313317be08f9f1422a143c3d73b507d9fe7ec076..093947314d8938c4c53023ffe0aede0a8d01ee04 100644
--- a/src/getfields_mpi.f90
+++ b/src/getfields_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine getfields(itime,nstop,memstat,metdata_format)
 !                       i     o       o
 !*****************************************************************************
diff --git a/src/gethourlyOH.f90 b/src/gethourlyOH.f90
index 7d6d3add13c2df8dc52b0ee3c7b80ad0a36785da..1ddae02e1b1ad0b2bb0d683be846e232fb323947 100644
--- a/src/gethourlyOH.f90
+++ b/src/gethourlyOH.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine gethourlyOH(itime)
   !                     i     
   !*****************************************************************************
diff --git a/src/getrb.f90 b/src/getrb.f90
index 17e0882c910879230052f90bda3af999d6da00bd..351a59eb98d002993e0d6f7abfa7916adb78c08d 100644
--- a/src/getrb.f90
+++ b/src/getrb.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine getrb(nc,ustar,nyl,diffh2o,reldiff,rb)
   !                 i    i    i     i       i    o
   !*****************************************************************************
diff --git a/src/getrc.f90 b/src/getrc.f90
index c9d71dd71b9d1460e596642cbdd941dbfea2e13a..5cda4315ddecfff5dad74db853a0ce979c551740 100644
--- a/src/getrc.f90
+++ b/src/getrc.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine getrc(nc,i,j,t,gr,rh,rr,rc)
   !                 i  i i i i  i  i  o
   !*****************************************************************************
diff --git a/src/getvdep.f90 b/src/getvdep.f90
index 237d02161a40a31f857dd7b5402a27c4484e682f..11070246c0c0fbf0ed3b47e530fd2e69d28bc09b 100644
--- a/src/getvdep.f90
+++ b/src/getvdep.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine getvdep(n,ix,jy,ust,temp,pa,L,gr,rh,rr,snow,vdepo)
   !                   i i  i   i   i   i  i i  i  i    i o
   !*****************************************************************************
diff --git a/src/getvdep_nests.f90 b/src/getvdep_nests.f90
index d3a47416639047c0c0d88c6a05b0851b7aa77571..2c8acb483c8eb927832d7051d6e4860d3d594b20 100644
--- a/src/getvdep_nests.f90
+++ b/src/getvdep_nests.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine getvdep_nests(n,ix,jy,ust,temp,pa, &
        L,gr,rh,rr,snow,vdepo,lnest)
   !                   i i  i   i   i   i  i i  i  i    i o i
diff --git a/src/gridcheck_ecmwf.f90 b/src/gridcheck_ecmwf.f90
index 82cd8187957907fc4497d299ea19177b9121a5e8..af724d63e76e83a4c19ca7e72477bafb3cdc6bbd 100644
--- a/src/gridcheck_ecmwf.f90
+++ b/src/gridcheck_ecmwf.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine gridcheck_ecmwf
 
   !**********************************************************************
diff --git a/src/gridcheck_gfs.f90 b/src/gridcheck_gfs.f90
index ebc46da24b3c88a2282f4e99556042cf933c8f94..2e94c108ff389c803031c62291d74d1985409dbf 100644
--- a/src/gridcheck_gfs.f90
+++ b/src/gridcheck_gfs.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine gridcheck_gfs
 
   !**********************************************************************
diff --git a/src/gridcheck_nests.f90 b/src/gridcheck_nests.f90
index 86220946eb851d2c7fbfccb9b9ca4731dc7b5fc6..897888c372cca150c8894a0901e657368b1eedf6 100644
--- a/src/gridcheck_nests.f90
+++ b/src/gridcheck_nests.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine gridcheck_nests
 
   !*****************************************************************************
diff --git a/src/hanna.f90 b/src/hanna.f90
index df1b1ecb5b975d9f21614cce25049ee1e94f6d40..bda9a1ddef59d1b9e6539ec658ba545e0192a4d4 100644
--- a/src/hanna.f90
+++ b/src/hanna.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine hanna(z)
   !                 i
   !*****************************************************************************
diff --git a/src/hanna1.f90 b/src/hanna1.f90
index 05b88c997ac8d5c4d2e3b3d7c7b2d4839d322d78..330e54153b597de758d14f3969294d61264c0041 100644
--- a/src/hanna1.f90
+++ b/src/hanna1.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine hanna1(z)
   !                  i
   !*****************************************************************************
diff --git a/src/hanna_short.f90 b/src/hanna_short.f90
index a195c7cfc17bb5128a25e95fa25434d221e2b837..399bf46124ac172b68b34061ea5ad57e6914eec2 100644
--- a/src/hanna_short.f90
+++ b/src/hanna_short.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine hanna_short(z)
   !                       i
   !*****************************************************************************
diff --git a/src/init_domainfill.f90 b/src/init_domainfill.f90
index bf3afc3e121077a14a0349299edd9c0861a1bcfb..8f02c0512721f25d025917855d8dba4431f4442e 100644
--- a/src/init_domainfill.f90
+++ b/src/init_domainfill.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine init_domainfill
 !
 !*****************************************************************************
diff --git a/src/init_domainfill_mpi.f90 b/src/init_domainfill_mpi.f90
index bcc8a488c5feb799f37ac5451eb3c7507b573d38..edfde0c418b0e55e2110fafdbfc92c826d1bfdc2 100644
--- a/src/init_domainfill_mpi.f90
+++ b/src/init_domainfill_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine init_domainfill
 !
 !*****************************************************************************
diff --git a/src/initial_cond_calc.f90 b/src/initial_cond_calc.f90
index 3a533a20fadc3597d37a02a28a0af6ae4bc289cb..c1aec603748d4a798ebf0a7341acd03291877f0a 100644
--- a/src/initial_cond_calc.f90
+++ b/src/initial_cond_calc.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine initial_cond_calc(itime,i)
   !                               i   i
   !*****************************************************************************
diff --git a/src/initial_cond_output.f90 b/src/initial_cond_output.f90
index 8d7eb7c61f2dda85d71cdae453366a765ac2cc7e..39b360a9f43e396e346eb7844481bef771e82e23 100644
--- a/src/initial_cond_output.f90
+++ b/src/initial_cond_output.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine initial_cond_output(itime)
   !                                 i
   !*****************************************************************************
diff --git a/src/initial_cond_output_inversion.f90 b/src/initial_cond_output_inversion.f90
index 1153e69fb08f3e90eb8339c0c9299fd3dcd4b04d..5d7adc991b01a17227cb9bd9bc8e51c4fe0fd91d 100644
--- a/src/initial_cond_output_inversion.f90
+++ b/src/initial_cond_output_inversion.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine initial_cond_output_inversion(itime)
   !                                 i
   !*****************************************************************************
diff --git a/src/initialize.f90 b/src/initialize.f90
index bc85d134f720bfbc53b21d686b0369109b4edb5a..17d6d1904426b80a5c1c9ee74d42a2a1cd0d28cd 100644
--- a/src/initialize.f90
+++ b/src/initialize.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine initialize(itime,ldt,up,vp,wp, &
        usigold,vsigold,wsigold,xt,yt,zt,icbt)
   !                        i    i   o  o  o
diff --git a/src/initialize_cbl_vel.f90 b/src/initialize_cbl_vel.f90
index 9d32057b907e77f1568381155085f4064bfe524f..93c2881ac46b515cf7344185d396c09b9ccf4b85 100644
--- a/src/initialize_cbl_vel.f90
+++ b/src/initialize_cbl_vel.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine initialize_cbl_vel(idum,zp,ust,wst,h,sigmaw,wp, ol)
 !                              i/o   i  i   i  i     i  o   i  
 
diff --git a/src/interpol_all.f90 b/src/interpol_all.f90
index 96091426a81ba320ba67fe18e43651007c593ca2..1a701e9b3d235270ffde5515977397c27ca945d0 100644
--- a/src/interpol_all.f90
+++ b/src/interpol_all.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine interpol_all(itime,xt,yt,zt)
   !                          i   i  i  i
   !*****************************************************************************
diff --git a/src/interpol_all_nests.f90 b/src/interpol_all_nests.f90
index 3c9328650f759365ff3d165b549e89a01cbe26fb..4512ac2d5e971c0449cfcf8ec0a45a9e1a759e10 100644
--- a/src/interpol_all_nests.f90
+++ b/src/interpol_all_nests.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine interpol_all_nests(itime,xt,yt,zt)
   !                                i   i  i  i
   !*****************************************************************************
diff --git a/src/interpol_misslev.f90 b/src/interpol_misslev.f90
index 83f78d8608bc08d40ac7c46ed3e6f5aadcd90308..0b178f3ce7b414c2a1e33a6e1c3738b8431a69fb 100644
--- a/src/interpol_misslev.f90
+++ b/src/interpol_misslev.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine interpol_misslev(n)
   !                            i
   !*****************************************************************************
diff --git a/src/interpol_misslev_nests.f90 b/src/interpol_misslev_nests.f90
index c37a5d0c0039c7923fdfb081d30f3dbb72a2f5fa..f3dbc0d67c63001ad7ab5331deb1ef2c974319f4 100644
--- a/src/interpol_misslev_nests.f90
+++ b/src/interpol_misslev_nests.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine interpol_misslev_nests(n)
   !                                  i
   !*****************************************************************************
diff --git a/src/interpol_rain.f90 b/src/interpol_rain.f90
index a82785ae4e599c959b318dd59b09e0b99da8092c..8c9349064514ee475b46cc9fa5e6b7fd72dca471 100644
--- a/src/interpol_rain.f90
+++ b/src/interpol_rain.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine interpol_rain(yy1,yy2,yy3,nxmax,nymax,nzmax,nx, &
        ny,iwftouse,xt,yt,level,itime1,itime2,itime,yint1,yint2,yint3)
   !                          i   i   i    i    i     i   i
diff --git a/src/interpol_rain_nests.f90 b/src/interpol_rain_nests.f90
index d80884ba303801d1ad33bc59af7bf07909ea2527..1d8e3d5e6f4a22919473b72b2b5ea6b7db802bfd 100644
--- a/src/interpol_rain_nests.f90
+++ b/src/interpol_rain_nests.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine interpol_rain_nests(yy1,yy2,yy3,nxmaxn,nymaxn,nzmax, &
        maxnests,ngrid,nxn,nyn,iwftouse,xt,yt,level,itime1,itime2,itime, &
        yint1,yint2,yint3)
diff --git a/src/interpol_vdep.f90 b/src/interpol_vdep.f90
index 9778865b97ff90cb1b7889531116fa5b34e64c74..752487fdc7d8456fdd5c94c4bc422d364b176ebb 100644
--- a/src/interpol_vdep.f90
+++ b/src/interpol_vdep.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine interpol_vdep(level,vdepo)
   !                           i     o
   !****************************************************************************
diff --git a/src/interpol_vdep_nests.f90 b/src/interpol_vdep_nests.f90
index ab3141964f4bbfbc8d85a6067ddcf5a8bb21d354..01caade70626a80d10a1026c30b19ae4bc7a2bdd 100644
--- a/src/interpol_vdep_nests.f90
+++ b/src/interpol_vdep_nests.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine interpol_vdep_nests(level,vdepo)
   !                                 i     o
   !****************************************************************************
diff --git a/src/interpol_wind.f90 b/src/interpol_wind.f90
index fc7bd5c00514677fb4c5cdce2ce599b45950d5a5..172a574051b974f3055b280761348e39c9333fa5 100644
--- a/src/interpol_wind.f90
+++ b/src/interpol_wind.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine interpol_wind(itime,xt,yt,zt)
   !                           i   i  i  i
   !*****************************************************************************
diff --git a/src/interpol_wind_nests.f90 b/src/interpol_wind_nests.f90
index 121683ad2b19a7b877d0e5ddcc882f3fe5c41fad..1d25482b4b61abc6ab9e6adbf1edcc54f41c784f 100644
--- a/src/interpol_wind_nests.f90
+++ b/src/interpol_wind_nests.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine interpol_wind_nests(itime,xt,yt,zt)
   !                                 i   i  i  i
   !*****************************************************************************
diff --git a/src/interpol_wind_short.f90 b/src/interpol_wind_short.f90
index 69ec6602bad30e8abff0ce2b61cee280e57b4728..826e389739ba3fdf5e5f6e3c814bdbd229554c88 100644
--- a/src/interpol_wind_short.f90
+++ b/src/interpol_wind_short.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine interpol_wind_short(itime,xt,yt,zt)
 !                                 i   i  i  i
 !*****************************************************************************
diff --git a/src/interpol_wind_short_nests.f90 b/src/interpol_wind_short_nests.f90
index f93cb4cf00b3e78cc92bb2612e2c7c1345be2be9..165d11ddc37cd7eab03ff1a8ae2b27790943a466 100644
--- a/src/interpol_wind_short_nests.f90
+++ b/src/interpol_wind_short_nests.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine interpol_wind_short_nests(itime,xt,yt,zt)
   !                                       i   i  i  i
   !*****************************************************************************
diff --git a/src/juldate.f90 b/src/juldate.f90
index 59955ba63992a7d52c7219317b5aac0923261ea9..2f62c33dbf63550398a5bf89dd608538d37eb2f2 100644
--- a/src/juldate.f90
+++ b/src/juldate.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 function juldate(yyyymmdd,hhmiss)
 
   !*****************************************************************************
diff --git a/src/license.txt b/src/license.txt
deleted file mode 100644
index 3d6b9eb02817d651cf9906efff79249f54456a3d..0000000000000000000000000000000000000000
--- a/src/license.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-!**********************************************************************
-! Copyright 1998,1999,2000,2001,2002,2005,2007,2008,2009,2010, 2013   *
-! 2019                                                                *
-! Andreas Stohl, Petra Seibert, A. Frank, Gerhard Wotawa,             *
-! Caroline Forster, Sabine Eckhardt, John Burkhart, Harald Sodemann   *
-! Ignacio Pisso, Espen Sollum, Henrik Grythe, Nina I. Kristiansen,    *
-! Massimo Cassiani, Delia Arnold, Don Morton, Rona L. Thompson        *
-! Christine D. Groot Zwaaftink, Nikolaos Evangeliou, Leopold Haimberger
-! Stephan Henne, Dominik Brunner, John F. Burkhart, Anne Fouilloux    *
-! Jerome Brioude, Anne Philipp                                        *
-!                                                                     *
-! This file is part of FLEXPART.                                      *
-!                                                                     *
-! FLEXPART 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.                                 *
-!                                                                     *
-! FLEXPART 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 FLEXPART.  If not, see <http://www.gnu.org/licenses/>.   *
-!**********************************************************************
-
diff --git a/src/mean_mod.f90 b/src/mean_mod.f90
index 8ae5ef9de3ad771f94d1d1cf44164da2b5697176..c231f4669a82315a4978acf24191c58990bf6b3e 100644
--- a/src/mean_mod.f90
+++ b/src/mean_mod.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 module mean_mod
   public
 
diff --git a/src/mpi_mod.f90 b/src/mpi_mod.f90
index 10964bdadc2237a933ca69df7eef03a16d1bb05f..f7b6717c342ca4f0d3cb7f32fc98113af5596e09 100644
--- a/src/mpi_mod.f90
+++ b/src/mpi_mod.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 module mpi_mod
 
 !*****************************************************************************
diff --git a/src/netcdf_output_mod.f90 b/src/netcdf_output_mod.f90
index 8c4e6fa0308b7887c8efe918a59592f9f284ec8c..3d2c4249fdb2ae7ff81d89ef261cf467e74765a2 100644
--- a/src/netcdf_output_mod.f90
+++ b/src/netcdf_output_mod.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
   !*****************************************************************************
   !                                                                            *
   !  This module handles all gridded netcdf output for concentration or        *
@@ -176,7 +179,7 @@ subroutine writemetadata(ncid,lnest)
      call nf90_err(nf90_put_att(ncid, nf90_global, 'dxout', dxout))
      call nf90_err(nf90_put_att(ncid, nf90_global, 'dyout', dyout))
   endif
-!	vertical levels stored in grid structure
+!   vertical levels stored in grid structure
 
   ! COMMAND file settings
   call nf90_err(nf90_put_att(ncid, nf90_global, 'ldirect', ldirect))
diff --git a/src/obukhov.f90 b/src/obukhov.f90
index f98bcf356ebe132bfaf9ee2e3075d86580dd5172..264c48ba6df8ea08c81a708e84aca0f807dae773 100644
--- a/src/obukhov.f90
+++ b/src/obukhov.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 real function obukhov(ps,tsurf,tdsurf,tlev,ustar,hf,akm,bkm,plev,metdata_format)
 
   !********************************************************************
diff --git a/src/oh_mod.f90 b/src/oh_mod.f90
index c30d5bc8e900c29b4490a01b07a7025c1c95f93a..d9584950e51a5d26c643613a7c8866e3b4cba625 100644
--- a/src/oh_mod.f90
+++ b/src/oh_mod.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 module oh_mod
 
   !includes OH concentration field as well as the height information
diff --git a/src/ohreaction.f90 b/src/ohreaction.f90
index df5c6b7b7e87ae9bbbfb1cfccd3aee4cb4d11724..8fe187d9b6e24e96d1280e981da0b78f3e024e80 100644
--- a/src/ohreaction.f90
+++ b/src/ohreaction.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine ohreaction(itime,ltsample,loutnext)
   !                     i      i        i
   !*****************************************************************************
diff --git a/src/openouttraj.f90 b/src/openouttraj.f90
index c8b54338e5b0cc42da8d17d621f10155a2a5dff9..1329e7624c54ac73e37af94e89eee61fc8c6b5e3 100644
--- a/src/openouttraj.f90
+++ b/src/openouttraj.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine openouttraj
 
   !*****************************************************************************
diff --git a/src/openreceptors.f90 b/src/openreceptors.f90
index 0e598792db158d7f8beb1860c8f4fcc9cb3968ff..af795352534f0155d47b710d9bd8cef1456951cd 100644
--- a/src/openreceptors.f90
+++ b/src/openreceptors.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine openreceptors
 
   !*****************************************************************************
diff --git a/src/outg_mod.f90 b/src/outg_mod.f90
index 7c6db016ebed7a0f8eed6b69dbce342a34dad599..2e29f199cb0fafc299091396964a0052d0ab53be 100644
--- a/src/outg_mod.f90
+++ b/src/outg_mod.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 module outg_mod
 
   use par_mod, only: dep_prec, sp
diff --git a/src/outgrid_init.f90 b/src/outgrid_init.f90
index 4f7f18a9b851e944891a7c38d88a7229864cf282..46dc54ccd56e39cf067c432a42ad434dbfd23b29 100644
--- a/src/outgrid_init.f90
+++ b/src/outgrid_init.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 ! DJM - 2017-05-09 - added #ifdef USE_MPIINPLACE cpp directive to     *
 ! enable allocation of a gridunc0 array if required by MPI code in    *
 ! mpi_mod.f90                                                         *
diff --git a/src/outgrid_init_nest.f90 b/src/outgrid_init_nest.f90
index a75ed12b7fda56095cf39af1cb2dfc83b84f2060..e603f3b797c7ce5c5cde1fd80d31bc4fee5cd154 100644
--- a/src/outgrid_init_nest.f90
+++ b/src/outgrid_init_nest.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine outgrid_init_nest
 
 !*****************************************************************************
diff --git a/src/par_mod.f90 b/src/par_mod.f90
index ff316c5941437c32c55db2d0382f76a1e0f97b67..776996f4031e5593d7490a14b221c1903f6a6ea8 100644
--- a/src/par_mod.f90
+++ b/src/par_mod.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 !*******************************************************************************
 !   Include file for calculation of particle trajectories (Program FLEXPART)   *
 !        This file contains the parameter statements used in FLEXPART          *
diff --git a/src/part0.f90 b/src/part0.f90
index 26511c2eccd58ce4a10e39aaa4c74b9a3202c055..12e4d8415e20195ca3643aebf88b3e318e937e9f 100644
--- a/src/part0.f90
+++ b/src/part0.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine part0(dquer,dsigma,density,fract,schmi,cun,vsh)
   !                  i      i       i      o     o    o   o
   !*****************************************************************************
diff --git a/src/partdep.f90 b/src/partdep.f90
index 34722856662d37056e3c2ddd14f7d9625b45d655..5286709c97f91f02b5c42b13f34caef9dddde8ff 100644
--- a/src/partdep.f90
+++ b/src/partdep.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine partdep(nc,density,fract,schmi,vset,ra,ustar,nyl,vdep)
   !                   i     i      i     i    i   i    i    i  i/o
   !*****************************************************************************
diff --git a/src/partoutput.f90 b/src/partoutput.f90
index c559eedcca2d9e222a9fece0fba5649b19f44ef1..5f6f53a76b817196c38a25d374d81dd8839356e8 100644
--- a/src/partoutput.f90
+++ b/src/partoutput.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine partoutput(itime)
   !                        i
   !*****************************************************************************
diff --git a/src/partoutput_average.f90 b/src/partoutput_average.f90
index 01060b4bd0215882966876a9288c2358937a8338..137a16ed9ba056677dba913017af1cc16bb5d63e 100644
--- a/src/partoutput_average.f90
+++ b/src/partoutput_average.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine partoutput_average(itime)
   !                             i
   !*****************************************************************************
diff --git a/src/partoutput_average_mpi.f90 b/src/partoutput_average_mpi.f90
index eb13adc5493435d1d54512eaadceb9be1a458884..433bd25abbc8912af8a89dda88e2361f6ec0df0e 100644
--- a/src/partoutput_average_mpi.f90
+++ b/src/partoutput_average_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine partoutput_average(itime,irec)
   !                             i
   !*****************************************************************************
diff --git a/src/partoutput_mpi.f90 b/src/partoutput_mpi.f90
index c1669016cfeed870e77014a6b48944ba44a30125..5762869b848af06669fd3fe1cd205dc69b4749e7 100644
--- a/src/partoutput_mpi.f90
+++ b/src/partoutput_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine partoutput(itime)
   !                           i
   !*****************************************************************************
diff --git a/src/partoutput_short.f90 b/src/partoutput_short.f90
index 50ca405542dd4b8e8de8efa5591cde6c4eb143e8..5136f3bbf99f8258b41186beac548e86c05ef48a 100644
--- a/src/partoutput_short.f90
+++ b/src/partoutput_short.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine partoutput_short(itime)
   !                              i
   !*****************************************************************************
diff --git a/src/partoutput_short_mpi.f90 b/src/partoutput_short_mpi.f90
index d022c56e884f49a3e1f77d556990ada4765f8cee..747de4259e7ec2de8c512604524f4324a1cecd40 100644
--- a/src/partoutput_short_mpi.f90
+++ b/src/partoutput_short_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine partoutput_short(itime)
   !                              i
   !*****************************************************************************
diff --git a/src/partpos_average.f90 b/src/partpos_average.f90
index 99c2534d6c52a086eb6b8ad240e8365f2a8284f2..48ee12cb6149085740237c0030fe5cf28ac4ee5c 100644
--- a/src/partpos_average.f90
+++ b/src/partpos_average.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 
 subroutine partpos_average(itime,j)
 
diff --git a/src/pbl_profile.f90 b/src/pbl_profile.f90
index fff77ebb3595a534e77a8c50294c8edc680384ff..4fc048138e6d41ef3f176f762040cae794538ca4 100644
--- a/src/pbl_profile.f90
+++ b/src/pbl_profile.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine pbl_profile(ps,td2m,zml1,t2m,tml1,u10m,uml1,stress,hf)
 
   !********************************************************************
diff --git a/src/photo_O1D.f90 b/src/photo_O1D.f90
index cdb665aa87255de2b73d029f2d7bb77c51d53dc2..3f37f7148fe2327adffdb2f468d6437d3048e322 100644
--- a/src/photo_O1D.f90
+++ b/src/photo_O1D.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 real function photo_O1D(sza)
 
   !*****************************************************************************
diff --git a/src/plumetraj.f90 b/src/plumetraj.f90
index 9cbc4ad1353ab1b152efb6a7003cdb4ec40e9871..fbd747c5dc2b1d88b25ade33506f1ec19dc5cd8d 100644
--- a/src/plumetraj.f90
+++ b/src/plumetraj.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine plumetraj(itime)
   !                       i
   !*****************************************************************************
diff --git a/src/point_mod.f90 b/src/point_mod.f90
index 2132f1e17efcba806d7cab9a5564c2a98cf2cc6e..3b075347aa098f7414a12728890c65d599218037 100644
--- a/src/point_mod.f90
+++ b/src/point_mod.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 module point_mod
 
   implicit none
diff --git a/src/psih.f90 b/src/psih.f90
index 3914f881a0b67938ce2c20560a32828878ea2572..7fe3c2a802e99a254d4b4b497b85a43044e24f0d 100644
--- a/src/psih.f90
+++ b/src/psih.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 function psih (z,l)
 
   !*****************************************************************************
diff --git a/src/psim.f90 b/src/psim.f90
index dccea22efea97b14b327c3de89287f04cb6eef6d..4c0a7cf763c9f793fba213808a6b1858ca57bc0a 100644
--- a/src/psim.f90
+++ b/src/psim.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 real function psim(z,al)
 
   !**********************************************************************
diff --git a/src/qvsat.f90 b/src/qvsat.f90
index 07a0e3e1c0249eda92cd33219f1037bb8bc183b5..ccda690ad60898ec6a3e0ee60c08928cd0a1c852 100644
--- a/src/qvsat.f90
+++ b/src/qvsat.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 !##################################################################
 !##################################################################
 !######                                                      ######
diff --git a/src/raerod.f90 b/src/raerod.f90
index f2be456a77d791d712e20502aab0c5f3ce2ea5f4..d8f338308c00dd0b9c2ec22019342202ea106063 100644
--- a/src/raerod.f90
+++ b/src/raerod.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 function raerod (l,ust,z0)
 
   !*****************************************************************************
diff --git a/src/random_mod.f90 b/src/random_mod.f90
index fb9c9611a12cb10e24fbbbedfe31d7b3ad4e6ca5..01ea7ff33d25250d544997009f5ee3a8078cbeb5 100644
--- a/src/random_mod.f90
+++ b/src/random_mod.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 !  Taken from Press et al., Numerical Recipes
 
 module random_mod
diff --git a/src/re_initialize_particle.f90 b/src/re_initialize_particle.f90
index 1161b6d6a03d124ac760e27e445eb54378d36029..55da3ce09d214762bca196c56ce4aa1a7be8cd73 100644
--- a/src/re_initialize_particle.f90
+++ b/src/re_initialize_particle.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine re_initialize_particle(zp,ust,wst,h,sigmaw,wp,nrand,ol)
 !                                      i   i  i   i  i    io  io    i 
 !=============== CBL skewed vertical profiles and formulation of LHH 1996 with profile of w3 from lHB 2000                                       ======
@@ -68,7 +71,7 @@ subroutine re_initialize_particle(zp,ust,wst,h,sigmaw,wp,nrand,ol)
 
 
 
-  if ((sign(1.,wp)*timedir).gt.0) then !updraft	  
+  if ((sign(1.,wp)*timedir).gt.0) then !updraft   
 100 wp=(dcas1*sigmawa+wa)
     if (wp.lt.0)  then
       nrand=nrand+1
@@ -76,7 +79,7 @@ subroutine re_initialize_particle(zp,ust,wst,h,sigmaw,wp,nrand,ol)
       goto 100
     end if
     wp=wp*timedir
-  else if ((sign(1.,wp)*timedir).lt.0) then !downdraft	  
+  else if ((sign(1.,wp)*timedir).lt.0) then !downdraft    
 101 wp=(dcas1*sigmawb-wb)
     if (wp.gt.0)  then 
       nrand=nrand+1
diff --git a/src/readOHfield.f90 b/src/readOHfield.f90
index 046f85c68d96801f2a21019e2cc9b08d4e9ea2f6..a28018e769b77b695851e1f600c762a5e2a0eeb1 100644
--- a/src/readOHfield.f90
+++ b/src/readOHfield.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readOHfield
 
 !*****************************************************************************
diff --git a/src/readageclasses.f90 b/src/readageclasses.f90
index da1a438cadf533a2166822f1c4c0f3bb1b8c67e2..1460daee234a480877f609096b64bab81dee294d 100644
--- a/src/readageclasses.f90
+++ b/src/readageclasses.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readageclasses
 
   !*****************************************************************************
diff --git a/src/readavailable.f90 b/src/readavailable.f90
index 1998b171e60c96106f45d39e492ba5b5dd17d130..8f26bc0aeec3c79dcb8649f1cef4195c67742632 100644
--- a/src/readavailable.f90
+++ b/src/readavailable.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readavailable
 
   !*****************************************************************************
diff --git a/src/readcommand.f90 b/src/readcommand.f90
index a2289659be357e68bf9bb688a182d19f7db3ee32..a59fbdf80be2b4150e35079e1334bb56a87b90dd 100644
--- a/src/readcommand.f90
+++ b/src/readcommand.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readcommand
 
   !*****************************************************************************
diff --git a/src/readdepo.f90 b/src/readdepo.f90
index 4dc6be38f8e6738ac74ee0106543ae5516090547..d66388977e979a9050a0729a235ac9d6f26b939a 100644
--- a/src/readdepo.f90
+++ b/src/readdepo.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readdepo
 
   !*****************************************************************************
diff --git a/src/readlanduse.f90 b/src/readlanduse.f90
index d8eeaa9b586908c0819ba0ac9d1ba9191bf0865a..18b2ae4452e8da6eb6e5e9963f3aa309492c3f84 100644
--- a/src/readlanduse.f90
+++ b/src/readlanduse.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readlanduse
 
   !*****************************************************************************
@@ -26,17 +29,17 @@ subroutine readlanduse
   !                                                                            *
   ! LANDUSE CATEGORIES:                                                        *
   !                                                                            *
-  ! 1	Urban land                                                             *
-  ! 2	Agricultural land					               *
-  ! 3	Range land					                       *
-  ! 4	Deciduous forest			                               *
-  ! 5	Coniferous forest		                                       *
-  ! 6	Mixed forest including wetland                                         *
-  ! 7	water, both salt and fresh                                             *
-  ! 8	barren land mostly desert                                              *
-  ! 9	nonforested wetland	                                               *
-  ! 10 	mixed agricultural and range land		                       *
-  ! 11 	rocky open areas with low growing shrubs                               *
+  ! 1   Urban land                                                             *
+  ! 2   Agricultural land                                  *
+  ! 3   Range land                                         *
+  ! 4   Deciduous forest                                           *
+  ! 5   Coniferous forest                                              *
+  ! 6   Mixed forest including wetland                                         *
+  ! 7   water, both salt and fresh                                             *
+  ! 8   barren land mostly desert                                              *
+  ! 9   nonforested wetland                                                *
+  ! 10  mixed agricultural and range land                              *
+  ! 11  rocky open areas with low growing shrubs                               *
   ! 12  ice                                                                    *
   ! 13  rainforest                                                             *
   !                                                                            *
diff --git a/src/readoutgrid.f90 b/src/readoutgrid.f90
index 33625a846156c50e59705f8e6eda63d17e764577..0c99747602052be13e40918f03bb50769a1d7ae7 100644
--- a/src/readoutgrid.f90
+++ b/src/readoutgrid.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readoutgrid
 
   !*****************************************************************************
diff --git a/src/readoutgrid_nest.f90 b/src/readoutgrid_nest.f90
index bb9eaf7245f2fe20dbcbe5923bb7d2d9d80bc809..3e6c39ccf050574efcb735c4cda0d9d59810c083 100644
--- a/src/readoutgrid_nest.f90
+++ b/src/readoutgrid_nest.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readoutgrid_nest
 
   !*****************************************************************************
diff --git a/src/readpartpositions.f90 b/src/readpartpositions.f90
index fbc57998d6f412c27a2831fc8835fc4e783db9b5..5690003b4fd0203c6efb70c7410d410606bc093c 100644
--- a/src/readpartpositions.f90
+++ b/src/readpartpositions.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readpartpositions
 
   !*****************************************************************************
diff --git a/src/readpartpositions_mpi.f90 b/src/readpartpositions_mpi.f90
index e635e1129a53da620d29112b09a475e8ca83ceea..f91315a617a8b87713c5ad024b12269b0191c0c8 100644
--- a/src/readpartpositions_mpi.f90
+++ b/src/readpartpositions_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readpartpositions
 
   !*****************************************************************************
diff --git a/src/readpaths.f90 b/src/readpaths.f90
index 73cb15c0b74fde43af1e0210feed544fee6f8f60..635f68fe300e8ada43b9cfe59242d456235ac03e 100644
--- a/src/readpaths.f90
+++ b/src/readpaths.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readpaths
 
   !*****************************************************************************
diff --git a/src/readreceptors.f90 b/src/readreceptors.f90
index 48efae720016b8325a4c90037a8426000da566f9..72e7e769d23205c318348ac5849ecc0faf295d97 100644
--- a/src/readreceptors.f90
+++ b/src/readreceptors.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readreceptors
 
   !*****************************************************************************
diff --git a/src/readreleases.f90 b/src/readreleases.f90
index 04aed7c4b9ffc81854ea9ac60987ac244beccedf..b25bf624399c04e122d9fdf984208d03773f8c01 100644
--- a/src/readreleases.f90
+++ b/src/readreleases.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readreleases
 
   !*****************************************************************************
diff --git a/src/readspecies.f90 b/src/readspecies.f90
index 2317ee067c4cc49f0682cb3253a95a8551473903..4eed51e72bb44c189922078145fcafb7861e319a 100644
--- a/src/readspecies.f90
+++ b/src/readspecies.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readspecies(id_spec,pos_spec)
 
   !*****************************************************************************
diff --git a/src/readwind_ecmwf.f90 b/src/readwind_ecmwf.f90
index 969f7d0edc12fd9596f20b938b29e27c0e1eb078..7b202b433af158a5d4ceaa2e01a672fb2099fbb7 100644
--- a/src/readwind_ecmwf.f90
+++ b/src/readwind_ecmwf.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readwind_ecmwf(indj,n,uuh,vvh,wwh)
 
 !**********************************************************************
diff --git a/src/readwind_ecmwf_mpi.f90 b/src/readwind_ecmwf_mpi.f90
index 53b9f488f91e771b9b5e61277063d90d20c56706..d4180b182382878b31e07e666304b3d710461949 100644
--- a/src/readwind_ecmwf_mpi.f90
+++ b/src/readwind_ecmwf_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readwind_ecmwf(indj,n,uuh,vvh,wwh)
 
 !**********************************************************************
diff --git a/src/readwind_emos.f90 b/src/readwind_emos.f90
index cc3f89ac1bc42f9f37dee112f1549b0be2536e94..0b5856399ebbbe64bf4aca7f6863fce865ffb76b 100644
--- a/src/readwind_emos.f90
+++ b/src/readwind_emos.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readwind(indj,n,uuh,vvh,wwh)
 
   !**********************************************************************
diff --git a/src/readwind_gfs.f90 b/src/readwind_gfs.f90
index b13635cb7b8fba4e7c83fbce7cedfd56c901f682..39c91eb91cc9fc8398bb4a78ede5ff4f313bb20f 100644
--- a/src/readwind_gfs.f90
+++ b/src/readwind_gfs.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readwind_gfs(indj,n,uuh,vvh,wwh)
 
   !***********************************************************************
diff --git a/src/readwind_nests.f90 b/src/readwind_nests.f90
index d863f4953a81eb4652ef74c6e9cdd2fd018c2920..3174e34cdf66ad6f72ff829e8fa11c09fe593e69 100644
--- a/src/readwind_nests.f90
+++ b/src/readwind_nests.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine readwind_nests(indj,n,uuhn,vvhn,wwhn)
   !                           i   i  o    o    o
   !*****************************************************************************
diff --git a/src/redist.f90 b/src/redist.f90
index 22ef9fb394866ad07700cc73a480b23fa974585f..fa8f85c51e1cb0842fde6df17911a21cf0b8affe 100644
--- a/src/redist.f90
+++ b/src/redist.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine redist (ipart,ktop,ipconv)
 
   !**************************************************************************
diff --git a/src/redist_mpi.f90 b/src/redist_mpi.f90
index ea7aa4b31b301b77d7454786092f0dcfd00e4c59..6471d1458ccf4e4abc0f4a86437358ec71184a05 100644
--- a/src/redist_mpi.f90
+++ b/src/redist_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine redist (ipart,ktop,ipconv)
 
   !**************************************************************************
diff --git a/src/releaseparticles.f90 b/src/releaseparticles.f90
index f3687b7e230dd7dc7db91b99ed4ff68f5204651b..d2a1eaf992f63a7cd717d5da1b844794098455ce 100644
--- a/src/releaseparticles.f90
+++ b/src/releaseparticles.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine releaseparticles(itime)
   !                              o
   !*****************************************************************************
diff --git a/src/releaseparticles_mpi.f90 b/src/releaseparticles_mpi.f90
index fa181a14f558a2d692e013c295dea2a1f5c4251b..12dceeff83579ba2ca736b7c01a63eee0ef3092e 100644
--- a/src/releaseparticles_mpi.f90
+++ b/src/releaseparticles_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine releaseparticles(itime)
 !                              o
 !*****************************************************************************
diff --git a/src/richardson.f90 b/src/richardson.f90
index a41384828ff809d7aad1208654887b050ca5e8b3..0440f433d613b8f23b03c9491e52ada3f271cd0e 100644
--- a/src/richardson.f90
+++ b/src/richardson.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine richardson(psurf,ust,ttlev,qvlev,ulev,vlev,nuvz, &
        akz,bkz,hf,tt2,td2,h,wst,hmixplus,metdata_format)
   !                        i    i    i     i    i    i    i
diff --git a/src/scalev.f90 b/src/scalev.f90
index 288ebddf59ebb28cc1e4a05f75ae480826402212..716961d115434c8ac8dc5da554fe4aa4d0daa563 100644
--- a/src/scalev.f90
+++ b/src/scalev.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 real function scalev(ps,t,td,stress)
 
   !********************************************************************
diff --git a/src/shift_field.f90 b/src/shift_field.f90
index 41c5be120dbae5d253ed8bb9980a133abedc82c5..055322b87cfa2c954f1f5a7d498083b51b6784ab 100644
--- a/src/shift_field.f90
+++ b/src/shift_field.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine shift_field(field,nxf,nyf,nzfmax,nzf,nmax,n)
   !                        i/o   i   i    i     i   i   i
   !*****************************************************************************
diff --git a/src/shift_field_0.f90 b/src/shift_field_0.f90
index e7348c2b547a44ba8d1f2a69e5045390ee4a8fe3..a6fc525b68fdd14562f147cbad5787467fd6cb4c 100644
--- a/src/shift_field_0.f90
+++ b/src/shift_field_0.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine shift_field_0(field,nxf,nyf)
   !                          i/o   i   i
   !*****************************************************************************
diff --git a/src/skplin.f90 b/src/skplin.f90
index 4b89c2ff930a866bcf576a367c85b66564a7f6d5..a5071f7ccc25809603e110a515c0f77a9664fb40 100644
--- a/src/skplin.f90
+++ b/src/skplin.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine skplin(nlines,iunit)
   !                    i      i
   !*****************************************************************************
diff --git a/src/timemanager.f90 b/src/timemanager.f90
index 9725986078684b51eeb9c71c6715ca701043e614..c5c63e8245f55a1089950d95d48fe2a97556dba1 100644
--- a/src/timemanager.f90
+++ b/src/timemanager.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine timemanager(metdata_format)
 
   !*****************************************************************************
diff --git a/src/timemanager_mpi.f90 b/src/timemanager_mpi.f90
index 038d8db12f0c0ebb9a85bed1e2180499651a37a2..2cedc2b482f66942036c11d289336d3c274ef43f 100644
--- a/src/timemanager_mpi.f90
+++ b/src/timemanager_mpi.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine timemanager(metdata_format)
 
 !*****************************************************************************
diff --git a/src/unc_mod.f90 b/src/unc_mod.f90
index 5ae0d89159a38293e31bdcc426f0b862e477af63..d773636eb373183cc9764afe07ceae069a7bd318 100644
--- a/src/unc_mod.f90
+++ b/src/unc_mod.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 ! DJM - 2017-05-09 - added #ifdef USE_MPIINPLACE cpp directive to     *
 ! enable declaration of a gridunc0 array if required by MPI code in   *
 ! mpi_mod.f90                                                         *
diff --git a/src/verttransform_ecmwf.f90 b/src/verttransform_ecmwf.f90
index 4c2e29421f05083e5c472470f3e97f8e746a5c57..b209bc3443c147da9803028e48a5e291d747f330 100644
--- a/src/verttransform_ecmwf.f90
+++ b/src/verttransform_ecmwf.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine verttransform_ecmwf(n,uuh,vvh,wwh,pvh)
 !                         i  i   i   i   i
 !*****************************************************************************
diff --git a/src/verttransform_gfs.f90 b/src/verttransform_gfs.f90
index 5fe80fa8dab22852210e347523a73cc7a3b6a499..141685e5a0fbef70ad51565faf0f7d1d9da23cac 100644
--- a/src/verttransform_gfs.f90
+++ b/src/verttransform_gfs.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine verttransform_gfs(n,uuh,vvh,wwh,pvh)
   !                      i  i   i   i   i
   !*****************************************************************************
diff --git a/src/verttransform_nests.f90 b/src/verttransform_nests.f90
index c725475b1ce930e6b1fd5eda73d06b54bc1a6c6f..6e5ae84df329305c45e65776e72395a4b47a410d 100644
--- a/src/verttransform_nests.f90
+++ b/src/verttransform_nests.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine verttransform_nests(n,uuhn,vvhn,wwhn,pvhn)
 !                            i   i    i    i   i
 !*****************************************************************************
diff --git a/src/wetdepo.f90 b/src/wetdepo.f90
index 1fffbf1683f5befa96cfbf98aa62c562dcb94b2b..7c98cc566ae42119a9159449e6a24937b72a4a6e 100644
--- a/src/wetdepo.f90
+++ b/src/wetdepo.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine wetdepo(itime,ltsample,loutnext)
 !                  i      i        i
 !*****************************************************************************
diff --git a/src/wetdepokernel.f90 b/src/wetdepokernel.f90
index d867f2d9c0d8b2cd60b1b571df52c35d2c6392ea..640fe54c81dd69e68aa98ac86880875cfa7257a6 100644
--- a/src/wetdepokernel.f90
+++ b/src/wetdepokernel.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine wetdepokernel(nunc,deposit,x,y,nage,kp)
   !                          i      i    i i  i
   !*****************************************************************************
diff --git a/src/wetdepokernel_nest.f90 b/src/wetdepokernel_nest.f90
index 05f4054ac632c729d988d0c1fe926d5717e70c96..9ee33124a6f6c5d46b10b76dcc112b450a848f6f 100644
--- a/src/wetdepokernel_nest.f90
+++ b/src/wetdepokernel_nest.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine wetdepokernel_nest(nunc,deposit,x,y,nage,kp)
   !                           i    i       i i i    i
   !*****************************************************************************
diff --git a/src/windalign.f90 b/src/windalign.f90
index fba0cc7d24d0207c93d6a963c12f7f223f032b01..36396a1fad1c622bb602eca6773a5e8d0ba6ce89 100644
--- a/src/windalign.f90
+++ b/src/windalign.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine windalign(u,v,ffap,ffcp,ux,vy)
   !                     i i  i    i   o  o
   !*****************************************************************************
diff --git a/src/writeheader.f90 b/src/writeheader.f90
index a3b16992fb948ec933524446b74cbe53b28e8114..fdfacc31175ec5d858875c8c8fc2690a4caa4bd6 100644
--- a/src/writeheader.f90
+++ b/src/writeheader.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine writeheader
 
   !*****************************************************************************
diff --git a/src/writeheader_nest.f90 b/src/writeheader_nest.f90
index 3a3e50832adf93b905bb44e9baf14f52157c2a5b..506802a3e15769ca3047436a1819414869ee2dc0 100644
--- a/src/writeheader_nest.f90
+++ b/src/writeheader_nest.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine writeheader_nest
 
   !*****************************************************************************
diff --git a/src/writeheader_nest_surf.f90 b/src/writeheader_nest_surf.f90
index 49c54dfb46c4ca676db1b166472e299adb830f7e..c2f1b8e373236037882ca3e211eaa78a290375a4 100644
--- a/src/writeheader_nest_surf.f90
+++ b/src/writeheader_nest_surf.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine writeheader_nest_surf
 
   !*****************************************************************************
diff --git a/src/writeheader_surf.f90 b/src/writeheader_surf.f90
index 77ca585a8debb455969f013847f01ec6a88cb3b4..ebc0500b4f53aaef5834fd338faea5a2caf750c7 100644
--- a/src/writeheader_surf.f90
+++ b/src/writeheader_surf.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine writeheader_surf
 
   !*****************************************************************************
diff --git a/src/writeheader_txt.f90 b/src/writeheader_txt.f90
index 84a65be9b1e99ae2ca323653724be6b87cee8e24..0b306fb2a4396d624ad7e8ce50d0f6a852771fc7 100644
--- a/src/writeheader_txt.f90
+++ b/src/writeheader_txt.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine writeheader_txt
 
   !*****************************************************************************
diff --git a/src/writeprecip.f90 b/src/writeprecip.f90
index 850d4f56d3d4c5ce2013d8e6125692c756e20831..f70da08071511daf15c12b6bea1340778293605a 100644
--- a/src/writeprecip.f90
+++ b/src/writeprecip.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 subroutine writeprecip(itime,imem)
 
   !*****************************************************************************
diff --git a/src/xmass_mod.f90 b/src/xmass_mod.f90
index 87c9e3c9833d387d10ef565b231e9f5ea25ede4e..7af9a0c1db7d26a508d40fe2f72db54c200cd443 100644
--- a/src/xmass_mod.f90
+++ b/src/xmass_mod.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 module xmass_mod
   
   implicit none
diff --git a/src/zenithangle.f90 b/src/zenithangle.f90
index 558b69d48b32fe5a8116cce8f58bc57023979fd2..ba6c14436cee5f30229c964a390083e3b3b363d4 100644
--- a/src/zenithangle.f90
+++ b/src/zenithangle.f90
@@ -1,3 +1,6 @@
+! SPDX-FileCopyrightText: FLEXPART 1998-2019, see flexpart_license.txt
+! SPDX-License-Identifier: GPL-3.0-or-later
+
 real function zenithangle(ylat,xlon,jul)
 
   !*********************************************************************