Index: eproc/README.md
===================================================================
--- preproc/README.md	(revision ec9d8da357303639292e4e2fe3dce666503862a4)
+++ 	(revision )
@@ -1,12 +1,0 @@
-# README #
-
-This directory contains programs to generate FLEXPART WINDFIELDS from ECMWF ERA-Interim data.
-
-+ `python  contains python scripts to extract and generate WINDFIELDS
-+ `src contains Fortran source code to create CONVERT2 executable (used by the python scripts)
-+ `grib_templates contains GRIB-API templates for running CONVERT2 program.
-
-See first the installation instruction in `src and then install python scripts on your system.
-
-Please report any problems.
-
Index: eproc/python/FlexpartTools.py
===================================================================
--- preproc/python/FlexpartTools.py	(revision 0e29ef4eb4cd16392d60ff1219d9909ad606ea59)
+++ 	(revision )
@@ -1,444 +1,0 @@
-#
-# (C) Copyright 2014 UIO.
-#
-# This software is licensed under the terms of the Apache Licence Version 2.0
-# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
-#
-# 
-# Creation: October 2014 - Anne Fouilloux - University of Oslo
-#
-#
-import subprocess
-import shutil
-import os, errno
-import datetime
-from dateutil.relativedelta import relativedelta
-import re
-
-from string import atoi
-from numpy  import *
-from ecmwfapi import ECMWFDataServer
-from gribapi import *
-from GribTools import GribTools
-
-def product(*args, **kwds):
-    # product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
-    # product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111
-    pools = map(tuple, args) * kwds.get('repeat', 1)
-    result = [[]]
-    for pool in pools:
-        result = [x+[y] for x in result for y in pool]
-    for prod in result:
-        yield tuple(prod)
-
-###############################################################
-# utility to remove a file if it exists
-# it does not fail if the file does not exist
-###############################################################
-def silentremove(filename):
-    try:
-        os.remove(filename)
-    except OSError as e: # this would be "except OSError, e:" before Python 2.6
-        if e.errno != errno.ENOENT: # errno.ENOENT = no such file or directory
-            raise # re-raise exception if a different error occured
-
-###############################################################
-# Utility to create directories
-###############################################################
-def mkdir_p(file):
-    path = os.path.dirname(file)
-    try:
-        os.stat(path)
-    except:
-        os.makedirs(path)
-
-##############################################################
-# function to iterate over dates
-##############################################################
-def daterange( start_date, end_date ):
-    if start_date <= end_date:
-        for n in range( ( end_date - start_date ).days + 1 ):
-            yield start_date + datetime.timedelta( n )
-    else:
-        for n in range( ( start_date - end_date ).days + 1 ):
-            yield start_date - datetime.timedelta( n )
-
-##############################################################
-# function to iterate over years
-##############################################################
-def years_between(start_date,end_date):
-    years = []
-    cursor = start_date
-
-    while cursor <= end_date:
-        if cursor.year not in years:
-            years.append(cursor.year)
-        cursor += relativedelta(years=1)
-
-    return years
-##############################################################
-# function to iterate over months
-##############################################################
-def months_between(start_date,end_date):
-    months = []
-    cursor = start_date
-
-    while cursor <= end_date:
-        if cursor.month not in months:
-            months.append(cursor.month)
-        cursor += datetime.timedelta(days=1)
-
-    return months
-
-##############################################################
-# MARSretrieval class
-##############################################################
-class MARSretrieval:
-    'class for MARS retrievals'
-
-    def __init__(self,server, dataset="interim",marsclass="ei",type="",levtype="",levelist="", 
-                 repres="", date="",resol="",stream="",area="",time="",step="",expver="1",
-                 number="",accuracy="", grid="", gaussian="", target="",param=""):
-        self.dataset=dataset
-        self.marsclass=marsclass
-        self.type=type
-        self.levtype=levtype
-        self.levelist=levelist
-        self.repres=repres
-        self.date=date
-        self.resol=resol
-        self.stream=stream
-        self.area=area
-        self.time=time
-        self.step=step
-        self.expver=expver
-        self.target=target
-        self.param=param
-        self.number=number
-        self.accuracy=accuracy
-        self.grid=grid
-        self.gaussian=gaussian
-        self.server=server
-
-    def displayInfo(self):
-        if self.dataset:
-            print "dataset: ", self.dataset
-        if self.marsclass:
-            print "class: ", self.marsclass
-        if self.type:
-             print "type: ", self.type
-        if self.levtype:
-            print "levtype: ", self.levtype
-        if self.levelist:
-            print "levelist: ", self.levelist
-        if self.repres:
-            print "repres: ", self.repres
-        if self.date:
-            print "date: ", self.date
-        if self.resol:
-            print "resol: ", self.resol
-        if self.stream:
-            print "stream: ", self.stream
-        if self.area:
-            print "area: ", self.area
-        if self.time:
-            print "time: ", self.time
-        if self.step:
-            print "step: ", self.step
-        if self.expver:
-            print "expver: ", self.expver
-        if self.target:
-            print "target: ", self.target
-        if self.param:
-            print "param: ", self.param
-        if self.number:
-            print "number: ", self.number
-        if self.accuracy:
-            print "accuracy: ", self.accuracy
-        if self.grid:
-            print "grid: ", self.grid
-        if self.gaussian:
-            print "gaussian: ", self.gaussian
-
-    def dataRetrieve(self):
-        dicolist = {}
-        if self.dataset:
-	        dicolist['dataset']="%s"%(self.dataset)
-        if self.marsclass:
-	        dicolist['class']="%s"%(self.marsclass)
-        if self.date:
-	        dicolist['date']="%s"%(self.date)
-        if self.time:
-	        dicolist['time']="%s"%(self.time)
-        if self.expver:
-	        dicolist['expver']="%s"%(self.expver)
-        if self.param:
-	        dicolist['param']="%s"%(self.param)
-        if self.type:
-	        dicolist['type']="%s"%(self.type)
-        if self.levtype:
-	        dicolist['levtype']="%s"%(self.levtype)
-        if self.levelist:
-	        dicolist['levelist']="%s"%(self.levelist)
-        if self.repres:
-	        dicolist['repres']="%s"%(self.repres)
-        if self.resol:
-	        dicolist['resol']="%s"%(self.resol)
-        if self.stream:
-	        dicolist['stream']="%s"%(self.stream)
-        if self.area:
-	        dicolist['area']="%s"%(self.area)
-        if self.step:
-	        dicolist['step']="%s"%(self.step)
-        if self.target:
-	        dicolist['target']="%s"%(self.target)
-        if self.number:
-	        dicolist['number']="%s"%(self.number)
-        if self.accuracy:
-	        dicolist['accuracy']="%s"%(self.accuracy)
-        if self.grid:
-	        dicolist['grid']="%s"%(self.grid)
-        if self.gaussian:
-	        dicolist['gaussian']="%s"%(self.gaussian)
-
-        self.server.retrieve(dicolist)
-
-
-##############################################################
-class EIFlexpart:
-    'class to retrieve Era Interim data for running FLEXPART'
-##############################################################
-
-    def __init__(self):
-# different mars types for retrieving reanalysis data for flexpart
-       self.types=["an","fc"]
-
-       self.mars={}
-# set type (an/fc) and times and steps for EI
-#         (real) time    [type     time  step ] as in mars  (step for forecast only)     
-       self.mars["00"] = ["an",    "00"]
-       self.mars["01"] = ["fc",    "00", "01"]
-       self.mars["02"] = ["fc",    "00", "02"]
-       self.mars["03"] = ["fc",    "00", "03"]
-       self.mars["04"] = ["fc",    "00", "04"]
-       self.mars["05"] = ["fc",    "00", "05"]
-       self.mars["06"] = ["an",    "06"]
-       self.mars["07"] = ["fc",    "00", "07"]
-       self.mars["08"] = ["fc",    "00", "08"]
-       self.mars["09"] = ["fc",    "00", "09"]
-       self.mars["10"] = ["fc",    "00", "10"]
-       self.mars["11"] = ["fc",    "00", "11"]
-       self.mars["12"] = ["an",    "12"]
-       self.mars["13"] = ["fc",    "12", "01"]
-       self.mars["14"] = ["fc",    "12", "02"]
-       self.mars["15"] = ["fc",    "12", "03"]
-       self.mars["16"] = ["fc",    "12", "04"]
-       self.mars["17"] = ["fc",    "12", "05"]
-       self.mars["18"] = ["an",    "18"]
-       self.mars["19"] = ["fc",    "12", "07"]
-       self.mars["20"] = ["fc",    "12", "08"]
-       self.mars["21"] = ["fc",    "12", "09"]
-       self.mars["22"] = ["fc",    "12", "10"]
-       self.mars["23"] = ["fc",    "12", "11"]
-       
-    def retrieve(self, server, dates,times, area, levels, outputdir):
-        self.dates=dates
-        self.times=times
-        self.server=server
-        self.area=area
-        self.levels=levels
-        if outputdir=="":
-	  self.outputdir='.'
-        else:
-          self.outputdir=outputdir
-        # surface data
-        dataset="interim"
-        marsclass="ei"
-        expver="0001"
-        levels="1/to/"+ self.levels
-# Retrieve Q not for using Q but as a template for a reduced gaussian grid one date and time is enough
-# Take analysis at 00
-        qdate=self.dates
-        idx=qdate.find("/")
-        if (idx >0):
-          qdate=self.dates[:idx]
-        
-        Q= MARSretrieval(self.server, dataset=dataset, marsclass=marsclass, stream="oper", type="an", levtype="ML", levelist="1",
-                         gaussian="reduced",grid="80", resol="159",accuracy="24",target=self.outputdir+"/"+"Q.grb",
-                         date=qdate, time="00",expver=expver, param="133.128")
-        Q.displayInfo()
-        Q.dataRetrieve()
-
-        for type in self.types:
-            stime=set()
-            sstep=set()
-            for time in self.times.split('/'):
-# not so nice... to review later!
-                if self.mars[time][0] == type:
-                  stime.add(self.mars[time][1])
-                  if (len(self.mars[time]) > 2):
-                     sstep.add(self.mars[time][2])
-          
-            rtime="/".join(stime)
-            if len(sstep) > 0:
-              rstep="/".join(sstep)
-            else:
-              rstep=""
-            print type
-            print rtime
-            if rstep!="":
-               print rstep
-            print "MARS retrieve start... "
-            paramUVD="131.128/132.128/155.128"
-            paramT="130.128"
-            paramLNSP="152.128"
-            param2D2T="167.128/168.128"
-            if rstep!="":
-                UVD= MARSretrieval(self.server, dataset=dataset, marsclass=marsclass, stream="oper", type=type, levtype="ML", levelist=levels,
-                         resol="159", accuracy="24",grid="OFF",target=self.outputdir+"/"+type+"UVD.grb",
-                         area=self.area, date=self.dates, time=rtime,step=rstep, expver=expver, param=paramUVD)
-                T= MARSretrieval(self.server, dataset=dataset, marsclass=marsclass, stream="oper", type=type, levtype="ML", levelist=levels,
-                         resol="159", accuracy="24",grid="1.0/1.0",target=self.outputdir+"/"+type+"T.grb",
-                         area=self.area, date=self.dates, time=rtime,step=rstep, expver=expver, param=paramT)
-                LNSP= MARSretrieval(self.server, dataset=dataset, marsclass=marsclass, stream="oper", type=type, levtype="ML", levelist="1",
-                         accuracy="24",target=self.outputdir+"/"+type + "LNSP.grb",
-                         area=self.area, date=self.dates, time=rtime,step=rstep, expver=expver, param=paramLNSP)
-                DT= MARSretrieval(self.server, dataset=dataset, marsclass=marsclass, stream="oper", type=type, levtype="SFC", levelist="OFF",
-                         resol="159",accuracy="24",grid="1.0/1.0",target=self.outputdir+"/"+type + "2D2T.grb",
-                         area=self.area, date=self.dates, time=rtime,step=rstep, expver=expver, param=param2D2T)
-                print "do not retrieve Q for forecast"
-            else:
-                UVD= MARSretrieval(self.server, dataset=dataset, marsclass=marsclass, stream="oper", type=type, levtype="ML", levelist=levels,
-                         resol="159", accuracy="24",grid="OFF",target=self.outputdir+"/"+type + "UVD.grb",
-                         area=self.area, date=self.dates, time=rtime,expver=expver, param=paramUVD)
-                T= MARSretrieval(self.server, dataset=dataset, marsclass=marsclass, stream="oper", type=type, levtype="ML", levelist=levels,
-                         resol="159", accuracy="24",grid="1.0/1.0",target=self.outputdir+"/"+type + "T.grb",
-                         area=self.area, date=self.dates, time=rtime,expver=expver, param=paramT)
-                LNSP= MARSretrieval(self.server, dataset=dataset, marsclass=marsclass, stream="oper", type=type, levtype="ML", levelist="1",
-                         accuracy="24",target=self.outputdir+"/"+type + "LNSP.grb",
-                         area=self.area, date=self.dates, time=rtime,expver=expver, param=paramLNSP)
-                DT= MARSretrieval(self.server, dataset=dataset, marsclass=marsclass, stream="oper", type=type, levtype="SFC", levelist="OFF",
-                         resol="159",accuracy="24",grid="1.0/1.0",target=self.outputdir+"/"+type + "2D2T.grb",
-                         area=self.area, date=self.dates, time=rtime,expver=expver, param=param2D2T)
-
-            UVD.displayInfo()
-            UVD.dataRetrieve()
-            T.dataRetrieve()
-            LNSP.dataRetrieve()
-            DT.dataRetrieve()
-        print "MARS retrieve done... "
-        
-    def getFlexpartTime(self, type,step, time):
-        if int(step) < 10:
-            cstep = '0' +  str(step)
-        else:
-            cstep = str(step)
-        if int(time/100) < 10:
-            ctime = '0' +  str(int(time/100))
-        else:
-            ctime = str(int(time/100))
-
-        ctype = str(type)
-        if ctype == 'fc':
-            myinfo = [ctype,ctime, cstep]
-        else:
-            myinfo = [ctype,ctime]
-        cflextime = None
-        for t, marsinfo in self.mars.items():
-            if myinfo == marsinfo:
-                cflextime=t
-        return cflextime
-
-    def create(self, inputfiles, outputdir):
-        index_keys=["date","time","stepRange"]
-        indexfile="date_time_stepRange.idx"
-        silentremove(indexfile)
-        grib=GribTools(inputfiles.files)
-        iid=grib.index(index_keys=index_keys, index_file = indexfile)
-
-        print 'index done...' 
-        silentremove("fort.10")
-        silentremove("fort.11")
-        silentremove("fort.12")
-        silentremove("fort.13")
-        silentremove("fort.18")
-        index_vals = []
-        for key in index_keys:
-            key_vals = grib_index_get(iid,key)
-
-            index_vals.append(key_vals)
-
-
-        for prod in product(*index_vals):
-            for i in range(len(index_keys)):
-                grib_index_select(iid,index_keys[i],prod[i])
-
-            f10 = open('fort.10','w')
-            f11 = open('fort.11','w')
-            f12 = open('fort.12','w')
-            f13 = open('fort.13','w')
-            f16 = open('fort.16','w')
-            gid = grib_new_from_index(iid)
-            hid = gid
-            cflextime = None
-            if gid is not None: 
-                cdate = str(grib_get(gid, 'date'))
-                cyear = cdate[:4]
-                cmonth = cdate[4:6]
-                cday = cdate[6:8]
-                time = grib_get(gid, 'time')
-                type = grib_get(gid, 'type')
-                step = grib_get(gid, 'stepRange')
-                cflextime = self.getFlexpartTime(type,step, time)
-#                print 'cyear '+cyear+'/'+cmonth+'/'+'/EI'+cyear[2:4]+cmonth+cday+cflextime
-            while 1:  
-                if gid is None: break
-                paramId = grib_get(gid, 'paramId')
-                if paramId == 133:
-# Relative humidity (Q.grb) is used as a template only so we need the first we "meet"
-                    fout=open('fort.18','w')
-                    grib_write(gid,fout)
-                    fout.close()
-                if paramId == 131 or paramId == 132:
-                    grib_write(gid, f10)
-                if paramId == 130:
-                    grib_write(gid,f11)
-                if paramId == 152:
-                    grib_write(gid,f12)
-                if paramId == 155:
-                    grib_write(gid,f13)
-                if paramId == 167 or paramId == 168:
-                    grib_write(gid, f16)                    
-                grib_release(gid)
-                gid = grib_new_from_index(iid)
-# call for CONVERT2
-            
-            f10.close()
-            f11.close()
-            f12.close()
-            f13.close()
-            f16.close()
-            if hid is not None:
-                p=subprocess.check_call(['CONVERT2'])
-# create the corresponding output file  fort.15 (generated by CONVERT2) + fort.16 (paramId 167 and paramId 168)  
-                mkdir_p(outputdir+'/'+cyear+'/'+cmonth+'/')
-                print "outputdir = " + outputdir+'/'+cyear+'/'+cmonth+'/'+'/EI'+cyear[2:4]+cmonth+cday+cflextime
-                fout = open(outputdir+'/'+cyear+'/'+cmonth+'/EI'+cyear[2:4]+cmonth+cday+cflextime,'wb')    
-                shutil.copyfileobj(open('fort.15','rb'), fout)     
-                shutil.copyfileobj(open('fort.16','rb'), fout)
-                fout.close()
-
-        grib_index_release(iid)
-
-    def __del__(self):
-        print "clean"
-        silentremove("fort.10")
-        silentremove("fort.11")
-        silentremove("fort.12")
-        silentremove("fort.13")
-        silentremove("fort.15")
-        silentremove("fort.16")
-        silentremove("fort.18")
-        silentremove("VERTICAL.EC")
-        silentremove("date_time_stepRange.idx")
-
Index: eproc/python/GribTools.py
===================================================================
--- preproc/python/GribTools.py	(revision 0e29ef4eb4cd16392d60ff1219d9909ad606ea59)
+++ 	(revision )
@@ -1,141 +1,0 @@
-#
-# (C) Copyright 2014 UIO.
-#
-# This software is licensed under the terms of the Apache Licence Version 2.0
-# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
-# 
-# 
-# Creation: July 2014 - Anne Fouilloux - University of Oslo
-#
-#
-
-from gribapi import *
-import traceback
-import sys,os
-
-
-##############################################################
-#  GRIB utilities
-##############################################################
-class GribTools:
-    'class for GRIB API with new methods'
-    def __init__(self,filename):
-        self.filename=filename
-    
-# get keyvalues for a given list of keynames
-# a where statment can be given (list of key and list of values)
-
-    def getkeys(self,keynames,wherekeynames=[],wherekeyvalues=[]):
-        fileid=open(self.filename,'r')
-
-        return_list=[]
-        
-        while 1:
-            gid_in = grib_new_from_file(fileid)  
-            if gid_in is None: break
-            select=True
-            i=0
-            if len(wherekeynames) != len(wherekeyvalues): raise Exception("Give a value for each keyname!")
-
-            for wherekey in wherekeynames:
-                if not grib_is_defined(gid_in, wherekey): raise Exception("where Key was not defined")
-                select=select and (str(wherekeyvalues[i])==str(grib_get(gid_in, wherekey)))
-                i=i+1
-            if select:
-                llist = []
-                for key in keynames:
-                    llist.extend([str(grib_get(gid_in, key))])
-                return_list.append(llist)
-            grib_release(gid_in)
-        fileid.close()
-        return return_list
-      
-# set keyvalues for a given list of keynames
-# a where statment can be given (list of key and list of values)
-# an input file must be given as an input for reading grib messages
-# note that by default all messages are written out
-# if you want to get only those meeting the where statement, use
-# strict=true
-    def setkeys(self,fromfile,keynames,keyvalues, wherekeynames=[],wherekeyvalues=[], strict=False, filemode='w'):
-        fout=open(self.filename,filemode)
-        fin=open(fromfile)
-        
-        while 1:
-            gid_in = grib_new_from_file(fin)  
-            if gid_in is None: break
-            
-            select=True
-            i=0
-            if len(wherekeynames) != len(wherekeyvalues): raise Exception("Give a value for each keyname!")
-
-            for wherekey in wherekeynames:
-                if not grib_is_defined(gid_in, wherekey): raise Exception("where Key was not defined")
-                select=select and (str(wherekeyvalues[i])==str(grib_get(gid_in, wherekey)))
-                i=i+1
-            if select:
-                i=0
-                for key in keynames:
-                    grib_set(gid_in, key, keyvalues[i])
-                    i=i+1
-            if strict:
-                if select:
-                    grib_write(gid_in,fout)
-            else:
-                grib_write(gid_in,fout)
-            grib_release(gid_in)
-        fin.close()
-        fout.close()
-
-# Add the content of a grib file but only messages
-# corresponding to keys/values        
-# if selectWhere is False select fields that are different from keynames/keyvalues
-    def copy(self,filename_in, selectWhere=True, keynames=[], keyvalues=[],filemode='w'):
-        fin=open(filename_in)
-        fout=open(self.filename,filemode)
-        
-        while 1:
-            gid_in = grib_new_from_file(fin)  
-            if gid_in is None: break
-            
-            select=True
-            i=0
-            if len(keynames) != len(keyvalues): raise Exception("Give a value for each keyname!")
-
-            for key in keynames:
-                if not grib_is_defined(gid_in, key): raise Exception("Key was not defined")
-                
-                if selectWhere:
-                    select=select and (str(keyvalues[i])==str(grib_get(gid_in, key)))
-                else:
-                    select=select and (str(keyvalues[i])!=str(grib_get(gid_in, key)))
-                i=i+1
-            if select:
-                grib_write(gid_in,fout)
-            grib_release(gid_in)
-        fin.close()
-        fout.close()
-
-# Create index from a list of files if it does not exist or read it
-    def index(self,index_keys=["mars"], index_file = "my.idx"):
-        print "index to be done" 
-        self.iid = None
- 
-        if (os.path.exists(index_file)):
-            self.iid = grib_index_read(index_file)
-            print "Use existing index file: %s "%(index_file)
-        else:
-            for file in self.filename:
-                print "Inputfile: %s "%(file)
-                if self.iid == None:
-                    self.iid = grib_index_new_from_file(file,index_keys)
-                else:
-                     grib_index_add_file(self.iid,file)
-
-            if self.iid != None:
-              grib_index_write(self.iid,index_file)
-        return self.iid 
-
-
-       
-
-        
Index: eproc/python/README.md
===================================================================
--- preproc/python/README.md	(revision ec9d8da357303639292e4e2fe3dce666503862a4)
+++ 	(revision )
@@ -1,152 +1,0 @@
-# README #
-
-This documentation shows how to use these python scripts to extract ECMWF ERA-Interim data and generate WINDFIELDS for running FLEXPART. 
-
-### Overview ###
-
-To run FLEXPART with ECMWF ERA-Interim data, you first need to retrieve ECMWF ERA-Interim GRIB fields and generate FLEXPART WINDFIELDS to run FLEXPART.
-
-The two main programs are called respectively `getEIdata.py` and `prepareFLEXPART.py`. 
-
-To get the usage of these programs, use `-h` option:
-
-`getEIdata.py -h`
-
-Optional arguments are mentionned in squared brackets. 
-
-* `getEIdata.py`
-
-This program allows you to download ECMWF ERA-Interim data from ECMWF using [ecmwfapi](https://software.ecmwf.int/wiki/display/WEBAPI/ECMWF+Web+API+Home). 
-It requires `ecmwfapi` python library (see Requirements below). Check with your local IT group as it may be already available.
-
-
-{{{
-Usage: getEIdata.py --start_date=YYYYMMDD [--end_date=YYYYMMDD] [--times=tt1/tt2/tt3] [--levels=nlevels]
-                                                  [--area=north/west/south/east]  [--outputdir=output_directory]
-
-Options:
-  -h, --help            show this help message and exit
-  --start_date=start_date
-                        start date YYYYMMDD
-  --end_date=end_date   end_date YYYYMMDD
-  --times=times         times such as 00/12
-  --levels=levels       number of vertical levels
-  --area=area           area defined as north/west/south/east with default
-                        90.0/-179.0/-90.0/180.0
-  --outputdir=outputdir
-                        root directory for storing output files
-}}}
-
-* `prepareFLEXPART.py`
-
-This program allow you to generate FLEXPART WINDFIELDS (inputs for FLEXPART). It requires python interface to grib_api and `CONVERT2` program (located in `src` directory with instruction on how to compile it). You also need to provide a namelist for CONVERT2 (see test_1).
-
-`
-Usage: prepareFLEXPART.py --start_date=YYYYMMDD [--end_date=YYYYMMDD] [--namelist=namelist_for_convert] [--inputdir=input_root_directory] [--outputdir=output_directory]
-
-Options:
-  -h, --help            show this help message and exit
-  --start_date=start_date
-                        start date YYYYMMDD
-  --end_date=end_date   end_date YYYYMMDD
-  --namelist=namelist   namelist used for converting
-  --inputdir=inputdir   root directory for reading input files
-  --outputdir=outputdir
-                        root directory for storing output files
-
-`
-### Requirements ###
-
-| Python Support        |
-|----------------------:| 
-| python                | [http://www.python.org](http://www.python.org)  | We have use [python Anaconda](https://store.continuum.io/cshop/anaconda/) for our testings
-| python-numpy          | [http://www.numpy.org/](http://www.numpy.org/)  | Not necessary if you have installed python Anaconda
-| ecmwfapi              | [https://software.ecmwf.int/wiki/display/WEBAPI/ECMWF+Web+API+Home](https://software.ecmwf.int/wiki/display/WEBAPI/ECMWF+Web+API+Home) | You also need to install your API key (as explained in the documentation)
-| Utilities             |
-|----------------------:| 
-|  grib-api             | [https://software.ecmwf.int/wiki/display/GRIB/Home](https://software.ecmwf.int/wiki/display/GRIB/Home) | Make sure you install GRIB-API with JPEG support and python GRIB-API.
-|----------------------:| 
-| FLEXPART programs     | to run these programs (prepareFLEXPART.py), you need to compile CONVERT2 program (located in preproc/src). See separate README file to get instructions on how to compile this code.
-|----------------------:| 
-
-
-### Installation ###
-
-*  Environment
-
-At UIO, Red Hat 6 Linux systems (64 bits) were used for testing. We use the [Module package](http://modules.sourceforge.net/) to set-up user environment.
-
-* Getting the source code
-In the directory of your choice:
-
-`
-git clone git@bitbucket.org:flexpart/flexpart.git
-`
-This command will create a subdirectory called flexpart: it contains the latest FLEXPART version.
-
-Set then environment variable `FLEXPART_HOME`:
-
-** Korn-shell or Bash users:
-`
-cd flexpart
-export FLEXPART_HOME=$PWD
-`
-
-** C-shell users:
-
-`
-cd flexpart
-setenv FLEXPART_HOME=$PWD
-`
-
-* Installation
-
-Make sure your first generate `CONVERT2` program (see separate instructions in `preproc/src`).
-
-Users need to be able to execute prepareFLEXPART.py and getEIdata.py so make sure they have the correct unix permissions:
-
-`
-cd preproc/python
-chmod uog+rx getEIdata.py prepareFLEXPART.py
-`
-
-These two programs must be in the user PATH. At UIO this is done automatically when loading flexpart. If not, you would need to do the following:
-
-** Korn-shell or Bash users:
-`
-export PATH=$FLEXPART_HOME/preproc/python:$PATH
-`
-
-** C-shell users:
-
-`
-setenv PATH $FLEXPART_HOME/preproc/python:$PATH
-`
-
-Where `$FLEXPART_HOME` is the directory where FLEXPART 
-
-* Testing your installation
-
-First check that grib-api python interface is correctly installed on your platform:
-`
-python
->>> from gribapi import *
->>>
-`
-Use `CTRL-D` to quit python.
-
-Then check that `ecmwfapi` is properly installed:
-`
-python
->>> from ecmwfapi import *
->>>
-`
-
-If the two previous tests were successful, you can run `tests/preproc` (See separate instructions in `tests/preproc`). 
-
-If any of these two tests fail, this probably means that either `ecmwfapi` or `grib-api` have not been installed properly. 
-
-Please report any problems.
-
-###  Installation FAQ ###
-
Index: eproc/python/UIOTools.py
===================================================================
--- preproc/python/UIOTools.py	(revision 57637935b8c736ecb0a376df5e8f6a044bbd05af)
+++ 	(revision )
@@ -1,45 +1,0 @@
-#!/usr/bin/env python                                                                                                                                                                      
-#                                                                                                                                                                                          
-# (C) Copyright 2014 UIO.
-#
-# This software is licensed under the terms of the Apache Licence Version 2.0
-# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
-#
-# Creation: October 2014 - Anne Fouilloux - University of Oslo
-#
-
-import os
-
-class UIOFiles:
-    'class to manipulate files'
-    def __init__(self,suffix):
-# type of files to manipulate such as ['.grib', 'grb', 'grib1', 'grib2', 'grb1','grb2']
-        self.suffix=suffix
-
-    def listFiles(self,pathname):
-        ''' list files (suffix previously given) within this directory. '''
-    # Get the absolute path of the pathname parameter
-        pathname = os.path.abspath(pathname)
- 
-    # Get a list of files in pathname
-        filesInCurDir = os.listdir(pathname)
-        self.counter = 0
-        self.files = []
-    # Traverse through all files
-        for file in filesInCurDir:
-            curFile = os.path.join(pathname, file)
- 
-        # Check if it's a normal file or directory
-            if os.path.isfile(curFile):
-                # Get the file extension
-                fileNoExt,curFileExtension = os.path.splitext(curFile)
-                # Check if the file has an extension of typical video files
-                if curFileExtension in self.suffix:
-                    # We have got a file file! Increment the counter
-                    self.counter += 1
-                    # add this filename in the list
-                    self.files.append(curFile)
-                    
-            else:
-                # We got a directory, enter into it for further processing
-                self.listFiles(curFile)
Index: eproc/python/getEIdata.py
===================================================================
--- preproc/python/getEIdata.py	(revision 0e29ef4eb4cd16392d60ff1219d9909ad606ea59)
+++ 	(revision )
@@ -1,118 +1,0 @@
-#!/usr/bin/env python
-#
-# (C) Copyright 2014 UIO.
-#
-# This software is licensed under the terms of the Apache Licence Version 2.0
-# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
-# 
-# Creation: July 2014 - Anne Fouilloux - University of Oslo
-#
-# Get ERA-Interim GRIB fields from ECMWF to prepare WINDFIELDS for running
-# FLEXPART examples.
-# 
-# To run this example, you need to self-register at ECMWF data server and
-# get an API key available from https://api.ecmwf.int/v1/key/
-#
-# Inputs parameters:
-#  start_date: starting date for retrieving ECMWF data
-#  end_date  : end date for retrieving ECMWF data; set to start_date if not specified
-#  times     : forecast or analysis time for MARS retrievals
-#  levels    : number of levels; set to 60 by default (for ERA-interim)
-#  area      : you can define your area with --area=north/west/south/east (values are in degrees)
-#  outputdir : location where you want to store ERA-Interim outputs
-# 
-from ecmwfapi import ECMWFDataServer
-import calendar
-import shutil
-import datetime
-import time
-import os
-from string import strip
-from optparse import OptionParser
-from FlexpartTools import MARSretrieval, EIFlexpart, daterange, mkdir_p, silentremove, months_between
-
-
-def main():
-    usage = """usage: %prog --start_date=YYYYMMDD [--end_date=YYYYMMDD] [--times=tt1/tt2/tt3] [--levels=nlevels]
-                                                  [--area=north/west/south/east]  [--outputdir=output_directory] """
-    parser = OptionParser(usage=usage)
-    parser.add_option("--start_date", dest="start_date",
-                      help="start date YYYYMMDD", metavar="start_date" )
-    parser.add_option( "--end_date", dest="end_date",
-                      help="end_date YYYYMMDD", metavar="end_date")
-    parser.add_option("--times", dest="times",
-                      default="00/03/06/09/12/15/18/21", help="times such as 00/12", metavar="times")
-    parser.add_option("--levels", dest="levels",
-                      default="60",help="number of vertical levels", metavar="levels")
-    parser.add_option("--area", dest="area",
-                      default="90.0/-179.0/-90.0/180.0",help="area defined as north/west/south/east with default 90.0/-179.0/-90.0/180.0", metavar="area")
-    parser.add_option("--outputdir", dest="outputdir",
-                      help="root directory for storing output files", metavar="outputdir")
-    (options, args) = parser.parse_args()
-
-    if not options.start_date:
-        parser.error("start date must be specified!")
-    else:
-        start_date=options.start_date
-
-    if not options.end_date:
-        end_date=start_date
-    else:
-        end_date=options.end_date
-
-    if not options.outputdir:
-# if WORKDIR is defined, we will use it otherwise files 
-# will be stored in the current directory
-        outputdir=os.environ.get("WORKDIR",".")
-    else:
-        outputdir=options.outputdir
-
-
-    print "start date %s "%(start_date)
-    print "end date %s "%(end_date)
-
-       
-    server = ECMWFDataServer()
-
-# Retrieve ERA interim data for running flexpart
-
-    syear=int(start_date[:4])
-    smonth=int(start_date[4:6])
-    sday=int(start_date[6:])
-    start = datetime.date( year = syear, month = smonth, day = sday )
-    eyear=int(end_date[:4])
-    emonth=int(end_date[4:6])
-    eday=int(end_date[6:])
-
-    end = datetime.date( year = eyear, month = emonth, day = eday )
-
-    current_ym = ""
-    ir_date = start
-    retrieve="no"
-    for date in daterange( start, end ):
-# if new year & month then we create a new directory to store output files
-        if date.strftime("%Y%m") != current_ym and current_ym != "":
-               retrieve="yes"
-
-        if date == end:
-            retrieve="yes"
-
-        if retrieve == "yes":
-                # we need to retrieve MARS data for this period (maximum one month)
-                flexpart = EIFlexpart()
-                dates= ir_date.strftime("%Y%m%d") + "/to/" + er_date.strftime("%Y%m%d") 
-                current_outputdir =  outputdir + "/"  + ir_date.strftime("%Y") + '/' + ir_date.strftime("%m") + '/' 
-                mkdir_p(current_outputdir)
-                print "retrieve " + dates + " in dir " + current_outputdir
-                flexpart.retrieve(server, dates, options.times, options.area, options.levels, current_outputdir)
-                ir_date = date
-                retrieve="no"
-
-        er_date = date
-
-        current_ym =  date.strftime("%Y%m")
-
-
-
-if __name__ == "__main__":
-    main()
Index: eproc/python/prepareFLEXPART.py
===================================================================
--- preproc/python/prepareFLEXPART.py	(revision 0e29ef4eb4cd16392d60ff1219d9909ad606ea59)
+++ 	(revision )
@@ -1,107 +1,0 @@
-#!/usr/bin/env python
-#
-# (C) Copyright 2014 UIO.
-#
-# This software is licensed under the terms of the Apache Licence Version 2.0
-# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
-# 
-# Creation: October 2014 - Anne Fouilloux - University of Oslo
-#
-# Compute WINDFILEDS from ECMWF GRIB data
-# 
-import calendar
-import shutil
-import datetime
-import time
-import os
-from UIOTools import UIOFiles
-from string import strip
-from optparse import OptionParser
-from GribTools import GribTools
-from FlexpartTools import EIFlexpart, daterange
-
-
-def main():
-    usage = """usage: %prog --start_date=YYYYMMDD [--end_date=YYYYMMDD] [--namelist=namelist_for_convert] [--inputdir=input_root_directory] [--outputdir=output_directory] """
-    parser = OptionParser(usage=usage)
-    parser.add_option("--start_date", dest="start_date",
-                      help="start date YYYYMMDD", metavar="start_date" )
-    parser.add_option( "--end_date", dest="end_date",
-                      help="end_date YYYYMMDD", metavar="end_date")
-    parser.add_option("--namelist", dest="namelist",
-                      help="namelist used for converting", metavar="namelist")
-    parser.add_option("--inputdir", dest="inputdir",
-                      help="root directory for reading input files", metavar="inputdir")
-    parser.add_option("--outputdir", dest="outputdir",
-                      help="root directory for storing output files", metavar="outputdir")
-    (options, args) = parser.parse_args()
-
-    if not options.start_date:
-        parser.error("start date must be specified!")
-    else:
-        start_date=options.start_date
-
-    if not options.end_date:
-        end_date=start_date
-    else:
-        end_date=options.end_date
-
-    if not options.namelist:
-        namelist='fort.4'
-    else:
-        namelist=options.namelist
-
-    if not options.inputdir:
-# if WORKDIR is defined, we will use it otherwise files 
-# will be stored in the current directory
-        inputdir=os.environ.get("WORKDIR",".")
-    else:
-        inputdir=options.inputdir
-
-    if not options.outputdir:
-# if FLEXPART_WINDS is defined, we will use it otherwise files 
-# will be stored in the current directory
-        outputdur=os.environ.get("FLEXPART_WINDS",".")
-    else:
-        outputdir=options.outputdir
-
-
-
-    syear=int(start_date[:4])
-    smonth=int(start_date[4:6])
-    sday=int(start_date[6:])
-    start = datetime.date( year = syear, month = smonth, day = sday )
-    eyear=int(end_date[:4])
-    emonth=int(end_date[4:6])
-    eday=int(end_date[6:])
-
-    end = datetime.date( year = eyear, month = emonth, day = eday )
-
-
-
-    cyear = -1
-    cmont = -1
-    inputfiles=UIOFiles(['.grib', '.grb', '.grib1', '.grib2', '.grb1','.grb2'])
-    if (not os.path.exists('fort.4')):
-        fnamelist=open('fort.4','w')
-        shutil.copyfileobj(open(namelist,'r'), fnamelist)
-        fnamelist.close()
-    for date in daterange( start, end ):
-# data retrieved by year/month
-           if cyear != date.year or cmonth != date.month:
-             print 'Prepare year : ' + str(date.year) + ' month : ', date.month
-             cyear = date.year
-             cmonth = date.month
-
-             # we will make the list of files from the root inputdir
-             if cmonth < 10:
-                 inputfiles.listFiles(inputdir + '/'+str(cyear)+'/0'+str(date.month))
-             else:
-                 inputfiles.listFiles(inputdir + '/'+str(cyear)+'/'+str(date.month))
-                 
-             flexpart = EIFlexpart()
-             flexpart.create(inputfiles, outputdir)
-             
-
-if __name__ == "__main__":
-    main()
Index: eproc/src/README.md
===================================================================
--- preproc/src/README.md	(revision 57637935b8c736ecb0a376df5e8f6a044bbd05af)
+++ 	(revision )
@@ -1,106 +1,0 @@
-# README #
-
-This documentation shows how to compile `CONVERT2` program
-
-### Overview ###
-
-### Requirements ###
-
-| Utilities             |
-|----------------------:| 
-|  make                 | [http://www.gnu.org/software/make/](http://www.gnu.org/software/make/) |
-| Third party libraries |
-|----------------------:| 
-|  EMOS                 | [https://software.ecmwf.int/wiki/display/EMOS/Emoslib](https://software.ecmwf.int/wiki/display/EMOS/Emoslib) | Make sure you install EMOS lib with 64 bits reals.
-|  grib-api             | [https://software.ecmwf.int/wiki/display/GRIB/Home](https://software.ecmwf.int/wiki/display/GRIB/Home) | Make sure you install GRIB-API with JPEG support and python GRIB-API.
-
-
-### Installation ###
-
-*  Environment
-
-At UIO, Red Hat 6 Linux systems (64 bits) were used for testing. We use the [Module package](http://modules.sourceforge.net/) to set-up user environment.
-
-* Getting the source code
-
-If you still haven't got the source from bitbucket (Please note that it needs to be done once only).
-
-In the directory of your choice:
-
-`
-git clone git@bitbucket.org:flexpart/flexpart.git
-`
-This command will create a subdirectory called flexpart: it contains the latest FLEXPART version.
-
-Set then environment variable `FLEXPART_HOME`:
-
-** Korn-shell or Bash users:
-`
-cd flexpart
-export FLEXPART_HOME=$PWD
-`
-
-** C-shell users:
-
-`
-cd flexpart
-setenv FLEXPART_HOME=$PWD
-`
-
-* Installation
-
-There is a makefile example called `makefile` which you can use as a template. It uses GNU gfortran version 4.8.2. The version of your `gfortran`compiler can be tested with the following command:
-`
-gfortran --version
-`
-
-For using our `makefile`, you need to define the following environment variables:
-
-Please note that these environment variables may be automatically defined on your system. Please check with your local IT administrator. For instance at UIO, these environment variables are defined by loading the corresponding modulefiles (`module load grib_api emos`).
-
-+ `GRIB_API_FFLAGS` 
-+ `GRIB_API_LDFLAGS`
-+ `EMOS_LDFLAGS`
-
-For instance at UIO on sverdrup.uio.no:
-`
-> echo $GRIB_API_FFLAGS
--I/site/opt/grib_api/1.12.3_gnu/include
-
-> echo $GRIB_API_LDFLAGS
--L/site/opt/grib_api/1.12.3_gnu/lib -lgrib_api_f90 -lgrib_api
-
-> echo $EMOS_LDFLAGS
--L/site/opt/emos/000392_grib_api_1.12.3_gnu -lemos
-
-`
-
-If `EMOS` and `GRIB-API` have been installed properly and you have adjusted your makefile then you can compile `CONVERT2`:
-`
-cd preproc/src
-
-gmake
-`
-
-If successful, a program called `CONVERT2` is created in the current directory. You now need to add this program in your `PATH`:
-** Korn-shell or Bash users:
-`
-export PATH=$FLEXPART_HOME/preproc/src:$PATH
-`
-
-** C-shell users:
-
-`
-setenv PATH $FLEXPART_HOME/preproc/src:$PATH
-`
-
-Where `$FLEXPART_HOME` is the directory where FLEXPART
-
-* Testing your installation
-
-See separate instructions in `tests/preproc`.
-
-Please report any problems.
-
-###  Installation FAQ ###
-
Index: eproc/src/convert_mod.f90
===================================================================
--- preproc/src/convert_mod.f90	(revision 57637935b8c736ecb0a376df5e8f6a044bbd05af)
+++ 	(revision )
@@ -1,4 +1,0 @@
-MODULE CONVERT_MOD
-  CONTAINS
-
-END MODULE CONVERT_MOD
Index: eproc/src/ftrafo.f90
===================================================================
--- preproc/src/ftrafo.f90	(revision 57637935b8c736ecb0a376df5e8f6a044bbd05af)
+++ 	(revision )
@@ -1,167 +1,0 @@
-MODULE FTRAFO
-
-CONTAINS
-
-  ! Berechnung des Gradienten eines Skalars aus dem Feld des
-  !	Skalars XMN im Phasenraum. Zurueckgegeben werden die Felder der
-  !	Komponenten des horizontalen Gradienten XLAM,XPHI auf dem Gauss'schen Gitter.
-  !	GWSAVE ist ein Hilfsfeld fuer die FFT
-  !	P enthaelt die assoziierten Legendrepolynome, H deren Ableitung
-  !	MLAT enthaelt die Anzahl der Gitterpunkte pro Breitenkreis
-  !	MNAUF gibt die spektrale Aufloesung an, 
-  !	NI = Anzahl der Gauss'schen Gitterpunkte,
-  !	NJ = Anzahl der Gauss'schen Breiten,
-  !	NK = Anzahl der Niveaus
-
-  SUBROUTINE PHGRAD(XMN,XLAM,XPHI,GWSAVE,IFAX,P,H,MLAT, &
-       MNAUF,NI,NJ,NK)
-
-    USE PHTOGR
-    IMPLICIT NONE
-    INTEGER   J,K,M,N,NI,NJ,NK,MNAUF,GGIND,LL,LLP,LLH,LLS,LLPS,LLHS
-    INTEGER		MLAT(NJ),IFAX(10,NJ)
-    REAL     	UFOUC(0:MAXAUF),MUFOUC(0:MAXAUF)
-    REAL 			VFOUC(0:MAXAUF),MVFOUC(0:MAXAUF)
-    REAL			XMN(0:(MNAUF+1)*(MNAUF+2)-1,NK)
-    REAL		P(0:(MNAUF+3)*(MNAUF+4)/2,NJ/2)
-    REAL		H(0:(MNAUF+2)*(MNAUF+3)/2)
-    REAL			XLAM(NI,NK),XPHI(NI,NK)
-    REAL			GWSAVE(8*NJ+15,NJ/2)
-    REAL      ERAD
-    REAL 		SCR,SCI,ACR,ACI,MUSCR,MUSCI,MUACR,MUACI,RT,IT
-
-    ERAD = 6367470.0
-
-    GGIND=0
-    DO  J = 1,NJ/2
-       CALL DPLGND(MNAUF,P(0,J),H)
-       DO  K = 1,NK
-	  LL=0
-          LLP=0
-	  LLH=0
-	  DO  M = 0,MNAUF
-             SCR=0.D0
-             SCI=0.D0
-             ACR=0.D0
-             ACI=0.D0
-             MUSCR=0.D0
-             MUSCI=0.D0
-             MUACR=0.D0
-             MUACI=0.D0
-             LLS=LL
-             LLPS=LLP
-             LLHS=LLH
-             IF(2*M+1.LT.MLAT(J)) THEN
-                DO  N = M,MNAUF,2
-                   RT=XMN(2*LL,K)
-                   IT=XMN(2*LL+1,K)
-                   SCR =SCR+ RT*P(LLP,J)
-                   SCI =SCI+ IT*P(LLP,J)
-                   MUACR =MUACR+RT*H(LLH)
-                   MUACI =MUACI+ IT*H(LLH)
-                   LL=LL+2
-                   LLP=LLP+2
-                   LLH=LLH+2
-                ENDDO
-                LL=LLS+1
-                LLP=LLPS+1
-                LLH=LLHS+1
-                DO N = M+1,MNAUF,2
-                   RT=XMN(2*LL,K)
-                   IT=XMN(2*LL+1,K)
-                   ACR =ACR+ RT*P(LLP,J)
-                   ACI =ACI+ IT*P(LLP,J)
-                   MUSCR =MUSCR+ RT*H(LLH)
-                   MUSCI =MUSCI+ IT*H(LLH)
-                   LL=LL+2
-                   LLP=LLP+2
-                   LLH=LLH+2
-                ENDDO
-             ENDIF
-             LL=LLS+(MNAUF-M+1)
-             LLP=LLPS+(MNAUF-M+3)
-             LLH=LLHS+(MNAUF-M+2)
-
-             UFOUC(2*M)=-M*(SCI-ACI)/ERAD
-             UFOUC(2*M+1)=M*(SCR-ACR)/ERAD
-             VFOUC(2*M)=-M*(SCI+ACI)/ERAD
-             VFOUC(2*M+1)=M*(SCR+ACR)/ERAD
-
-             MUFOUC(2*M)=-(MUSCR-MUACR)/ERAD
-             MUFOUC(2*M+1)=-(MUSCI-MUACI)/ERAD
-             MVFOUC(2*M)=-(MUSCR+MUACR)/ERAD
-             MVFOUC(2*M+1)=-(MUSCI+MUACI)/ERAD
-          ENDDO
-
-          CALL RFOURTR(VFOUC,GWSAVE(:,J),IFAX(:,J),MNAUF,MLAT(J))
-          XLAM(GGIND+1:GGIND+MLAT(J),K)=VFOUC(0:MLAT(J)-1)
-          CALL RFOURTR(UFOUC,GWSAVE(:,J),IFAX(:,J),MNAUF,MLAT(J))
-          XLAM(NI-GGIND-MLAT(J)+1:NI-GGIND,K)=UFOUC(0:MLAT(J)-1)
-
-          CALL RFOURTR(MVFOUC, GWSAVE(:,J),IFAX(:,J),MNAUF,MLAT(J))
-          XPHI(GGIND+1:GGIND+MLAT(J),K)=MVFOUC(0:MLAT(J)-1)
-          CALL RFOURTR(MUFOUC,GWSAVE(:,J),IFAX(:,J),MNAUF,MLAT(J))
-          XPHI(NI-GGIND-MLAT(J)+1:NI-GGIND,K)=MUFOUC(0:MLAT(J)-1)
-
-       ENDDO
-       GGIND=GGIND+MLAT(J)
-    ENDDO
-
-  END SUBROUTINE PHGRAD
-
-  ! Berechnung der Divergenz aus dem Windfeld (U,V)
-  !	im Phasenraum. Zurueckgegeben werden die Felder der
-  !	Komponenten des horizontalen Gradienten XLAM,XPHI auf dem Gauss'schen Gitter.
-  !	GWSAVE ist ein Hilfsfeld fuer die FFT
-  !	P enthaelt die assoziierten Legendrepolynome, H deren Ableitung
-  !	MLAT enthaelt die Anzahl der Gitterpunkte pro Breitenkreis
-  !	MNAUF gibt die spektrale Aufloesung an, 
-  !	NI = Anzahl der Gauss'schen Gitterpunkte,
-  !	NJ = Anzahl der Gauss'schen Breiten,
-  !	NK = Anzahl der Niveaus
-  ! Beachte, dass das Windfeld eine um 1 erhoehte Aufloesung in mu-Richtung hat.
-
-  SUBROUTINE CONTGL(PS,DPSDL,DPSDM,DIV,U,V,BREITE,ETA,MLAT,A,B,NI,NJ,NK)
-
-    IMPLICIT NONE
-
-    INTEGER NI,NJ,NK,I,J,K,MLAT(NJ),L
-
-    REAL A(NK+1),B(NK+1)
-    REAL PS(NI),DPSDL(NI),DPSDM(NI)
-    REAL DIV(NI,NK),U(NI,NK),V(NI,NK),ETA(NI,NK)
-    REAL BREITE(NJ)
-
-    REAL DIVT1,DIVT2,POB,PUN,DPSDT,COSB
-
-    L=0
-    DO  J=1,NJ
-       COSB=(1.0-BREITE(J)*BREITE(J))
-       DO  I=1,MLAT(J)
-          L=L+1
-          DIVT1=0.0
-          DIVT2=0.0
-          DO  K=1,NK
-             POB=A(K)+B(K)*PS(L)
-             PUN=A(K+1)+B(K+1)*PS(L)
-
-             DIVT1=DIVT1+DIV(L,K)*(PUN-POB)
-             if(cosb .gt. 0.) then
-                DIVT2=DIVT2+(B(K+1)-B(K))*PS(L)* &
-                (U(L,K)*DPSDL(L)+V(L,K)*DPSDM(L))/COSB
-             endif
-
-             ETA(L,K)=-DIVT1-DIVT2
-          ENDDO
-
-          DPSDT=(-DIVT1-DIVT2)/PS(L)
-
-          DO  K=1,NK
-             ETA(L,K)=ETA(L,K)-DPSDT*B(K+1)*PS(L)
-          ENDDO
-          PS(L)=DPSDT*PS(L)
-       ENDDO
-    ENDDO
-  END SUBROUTINE CONTGL
-
-END MODULE FTRAFO
Index: eproc/src/grphreal.f90
===================================================================
--- preproc/src/grphreal.f90	(revision 57637935b8c736ecb0a376df5e8f6a044bbd05af)
+++ 	(revision )
@@ -1,189 +1,0 @@
-MODULE GRTOPH
-
-  USE PHTOGR
-
-CONTAINS
-  !
-  SUBROUTINE GRPH213(CXMN,FELD,WSAVE,IFAX,Z,W,MLAT, &
-       MNAUF,MAXL,MAXB,MLEVEL)
-
-    !     DIE ROUTINE F]HRT EINE TRANSFORMATION EINER
-    !     FELDVARIABLEN VOM PHASENRAUM IN  DEN PHYSIKALISCHEN
-    !     RAUM AUF KUGELKOORDINATEN DURCH
-    !
-    !     CXMN   = SPEKTRALKOEFFIZIENTEN IN DER REIHENFOLGE
-    !              CX00,CX01,CX11,CX02,....CXMNAUFMNAUF
-    !			CXM		 = FOURIERKOEFFIZIENTEN - nur ein Hilfsfeld
-    !     FELD   = FELD DER METEOROLOGISCHEN VARIABLEN
-    !			WSAVE  = Working Array fuer Fouriertransformation
-    !     Z 	 = LEGENDREFUNKTIONSWERTE
-    !
-    !     MNAUF    ANZAHL DER FOURIERKOEFFIZIENTEN
-    !     MAXL     ANZAHL DER FUER DAS GITTER BENUTZTEN LAENGEN
-    !     MAXB     ANZAHL DER FUER DAS GITTER BENOETIGTEN BREITEN
-    !     MLEVEL   ANZAHL DER LEVELS, DIE TRANSFORMIERT WERDEN
-    !
-    IMPLICIT REAL (A-H,O-Z)
-
-
-    !			Anzahl der Gitterpunkte pro Breitenkreis des reduzierten 
-    !			Gauss'schen Gitters
-    INTEGER MLAT(MAXB),ISIZE,IFAX(10,MAXB)
-
-    !    FELD DER LEGENDREPOLYNOME FUER EINE BREITE
-    REAL*8 Z(MAXB/2,0:((MNAUF+3)*(MNAUF+4))/2)
-
-    !      LOGICAL*1 USED(((216*217)/2+1)*160)
-
-    DIMENSION CXMN(0:(MNAUF+1)*(MNAUF+2)-1,MLEVEL)
-    REAL FELD(MAXL,MLEVEL)
-    DIMENSION WSAVE(8*MAXB+15,MAXB/2)
-    REAL*8 W(MAXB) 
-    DIMENSION IND(MAXB)
-
-
-    IND(1)=0
-    DO J=2,MAXB/2
-       IND(j)=IND(J-1)+MLAT(J-1)
-    ENDDO
-    !$OMP PARALLEL DO SCHEDULE(DYNAMIC)
-    DO  L=1,MLEVEL
-       CALL GRPHSUB(L,IND,CXMN,FELD,WSAVE,IFAX,Z,W,MLAT, &
-            &MNAUF,MAXL,MAXB,MLEVEL)
-    ENDDO
-    !$omp end parallel do
-
-
-    RETURN
-  END SUBROUTINE GRPH213
-  !
-  SUBROUTINE GRPHSUB(L,IND,CXMN,FELD,WSAVE,IFAX,Z,W,MLAT, &
-       &MNAUF,MAXL,MAXB,MLEVEL)
-
-    !     DIE ROUTINE F]HRT EINE TRANSFORMATION EINER
-    !     FELDVARIABLEN VOM PHASENRAUM IN  DEN PHYSIKALISCHEN
-    !     RAUM AUF KUGELKOORDINATEN DURCH
-    !
-    !     CXMN   = SPEKTRALKOEFFIZIENTEN IN DER REIHENFOLGE
-    !              CX00,CX01,CX11,CX02,....CXMNAUFMNAUF
-    !			CXM		 = FOURIERKOEFFIZIENTEN - nur ein Hilfsfeld
-    !     FELD   = FELD DER METEOROLOGISCHEN VARIABLEN
-    !			WSAVE  = Working Array fuer Fouriertransformation
-    !     Z 	 = LEGENDREFUNKTIONSWERTE
-    !
-    !     MNAUF    ANZAHL DER FOURIERKOEFFIZIENTEN
-    !     MAXL     ANZAHL DER FUER DAS GITTER BENUTZTEN LAENGEN
-    !     MAXB     ANZAHL DER FUER DAS GITTER BENOETIGTEN BREITEN
-    !     MLEVEL   ANZAHL DER LEVELS, DIE TRANSFORMIERT WERDEN
-    !
-    IMPLICIT REAL (A-H,O-Z)
-
-    !    FELD DER FOURIERKOEFFIZIENTEN
-    REAL CXMS(4*(MNAUF+1))
-    REAL CXMA(4*(MNAUF+1))
-    REAL,ALLOCATABLE :: CXM(:,:)
-
-    !			Anzahl der Gitterpunkte pro Breitenkreis des reduzierten 
-    !			Gauss'schen Gitters
-    INTEGER MLAT(MAXB),ISIZE
-
-    !    FELD DER LEGENDREPOLYNOME FUER EINE BREITE
-    REAL Z(MAXB/2,0:((MNAUF+3)*(MNAUF+4))/2)
-
-    !      LOGICAL*1 USED(((216*217)/2+1)*160)
-
-    REAL CXMN(0:(MNAUF+1)*(MNAUF+2)-1,MLEVEL)
-    REAL FELD(MAXL,MLEVEL)
-    REAL WSAVE(8*MAXB+15,MAXB/2)
-    INTEGER IFAX(10,MAXB)
-    REAL W(MAXB)
-    INTEGER IND(MAXB)
-
-    ALLOCATE(CXM( 4*MAXB,MAXB))
-    DO  J=1,MAXB/2
-       CXMS(1:MLAT(J))=FELD(IND(J)+1:IND(J)+MLAT(J),L)
-       CALL RFOUFTR(CXMS,WSAVE(1,J),IFAX(:,J),MNAUF,MLAT(J),1)
-       CXMA(1:MLAT(J))=FELD(MAXL-IND(J)-MLAT(J)+1:MAXL-IND(J),L)
-       CALL RFOUFTR(CXMA, &
-            &WSAVE(1,J),IFAX(:,J),MNAUF,MLAT(J),1)
-       DO  I=1,2*(MNAUF+1)
-          CXM(I,J)=CXMS(I)+CXMA(I)
-          CXM(I,MAXB+1-J)=CXMS(I)-CXMA(I)
-       ENDDO
-    ENDDO
-    CALL LGTR213(CXMN(0,L),CXM,Z,W,MLAT,MNAUF,MAXB)
-
-    DEALLOCATE(CXM)
-
-    RETURN
-  END SUBROUTINE GRPHSUB
-  !
-  SUBROUTINE LGTR213(CXMN,CXM,Z,W,MLAT,MNAUF,MAXB)
-    IMPLICIT REAL (A-H,O-Z)
-    INTEGER MLAT(MAXB)
-    DIMENSION CXM(0:4*MAXB-1,MAXB)
-    DIMENSION CXMN(0:2*(((MNAUF+1)*MNAUF)/2+MNAUF)+1)
-    REAL*8 Z(MAXB/2,0:((MNAUF+3)*(MNAUF+4))/2)
-    REAL*8 W(MAXB),CR,CI,HILF
-    LOGICAL EVEN
-    !
-    !     DIESE ROUTINE BERECHNET DIE KFFKs CXMN
-    !
-    LL=0
-    LLP=0
-    DO  I=0,MNAUF
-       KM=0
-       DO 
-          KM=KM+1
-          IF(MLAT(KM).GT.2*I) THEN
-             EXIT
-          ENDIF
-       ENDDO
-       DO  J=I,MNAUF
-          CR=0
-          CI=0
-          EVEN=MOD(I+J,2).EQ.0
-          IF(EVEN) THEN
-             DO  K=KM,MAXB/2
-                HILF=W(K)*Z(K,LLP)
-                CR=CR+CXM(2*I,K)*HILF
-                CI=CI+CXM(2*I+1,K)*HILF
-             ENDDO
-          ELSE
-             DO  K=KM,MAXB/2
-                HILF=W(K)*Z(K,LLP)
-                CR=CR+CXM(2*I,MAXB+1-K)*HILF
-                CI=CI+CXM(2*I+1,MAXB+1-K)*HILF
-             ENDDO
-          ENDIF
-          CXMN(2*LL)=CR
-          CXMN(2*LL+1)=CI
-          LL=LL+1
-          LLP=LLP+1
-       ENDDO
-       LLP=LLP+2
-    ENDDO
-    RETURN
-  END SUBROUTINE LGTR213
-  !
-
-  !
-  SUBROUTINE RFOUFTR(CXM,TRIGS,IFAX,MNAUF,MAXL,ISIGN)
-    !     BERECHNET DIE FOURIERSUMME MIT EINEM FFT-ALGORITHMUS
-    IMPLICIT REAL (A-H,O-Z)
-    DIMENSION CXM(0:2*MAXL-1)
-    DIMENSION FELD(MAXL),TRIGS(2*MAXL)
-    DIMENSION WSAVE(MAXAUF)
-    INTEGER IFAX(10)
-
-
-    ! NORMIERUNG...
-    WSAVE(1)=CXM(MAXL-1)
-
-    CXM(1:MAXL)=CXM(0:MAXL-1)/2
-    CXM(0)=WSAVE(1)/2
-    CALL FFT99(CXM,WSAVE,TRIGS,IFAX,1,1,MAXL,1,-1)
-    RETURN
-  END SUBROUTINE RFOUFTR
-
-END MODULE GRTOPH
Index: eproc/src/makefile
===================================================================
--- preproc/src/makefile	(revision 57637935b8c736ecb0a376df5e8f6a044bbd05af)
+++ 	(revision )
@@ -1,56 +1,0 @@
-###############################################################################
-#
-# Top level Makefile for ECMWFDATA software
-#
-# Last modified:  August 20, 2013
-#
-###############################################################################
-
-.SUFFIXES: .o .c .f .f90 .f95 .F 
-
-
-.f90.o:	
-	$(F90C) -c $(F90FLAGS)  $<
-
-
-TARGET_ARCH =
-OPT	= -g -O
-DEBUG	= -g -O
-LIB     = 
-FC=gfortran  -m64  -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp -fconvert=big-endian  -fmax-stack-var-size=100000000 
-F90C=gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -fmax-stack-var-size=100000000 
-GRIB_API_INCLUDE = $(GRIB_API_FFLAGS)
-GRIB_API_LIB = $(GRIB_API_LDFLAGS)
-FFLAGS =  $(OPT) $(DEBUG) -I. $(GRIB_API_INCLUDE)
-F90FLAGS =  $(OPT) $(DEBUG)  -I. $(GRIB_API_INCLUDE)
-LDFLAGS =  $(OPT) $(DEBUG)
-EMOSLIB=$(EMOS_LDFLAGS) 
-LIB =  $(EMOSLIB)  $(GRIB_API_LIB) -lgcc -lm -fdefault-integer-8  -lgfortran -ljasper 
-
-F90=$(F90C)
-
-BINDIR  =      .
-
-EXE	=	CONVERT2
-
-all:	${EXE}
-
-clean:
-	rm *.o *.mod ${EXE} 
-
-phgrreal.o: phgrreal.f90
-	$(F90) -c -g -O3 -fopenmp phgrreal.f90
-
-grphreal.o: grphreal.f90
-	$(F90) -c -g -O3 -fopenmp grphreal.f90
-
-ftrafo.o: ftrafo.f90
-	$(F90) -c -g -O3 -fopenmp ftrafo.f90
-
-CONVERT2:	phgrreal.o grphreal.o ftrafo.o rwGRIB2.o  preconvert.o
-	$(F90) $(DEBUG) $(OPT) -o CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o preconvert.o ${LIB}
-
-#
-# End of the Makefile
-#
-###############################################################################
Index: eproc/src/makefile_gfortran
===================================================================
--- preproc/src/makefile_gfortran	(revision 0e29ef4eb4cd16392d60ff1219d9909ad606ea59)
+++ 	(revision )
@@ -1,56 +1,0 @@
-###############################################################################
-#
-# Top level Makefile for ECMWFDATA software
-#
-# Last modified:  August 20, 2013
-#
-###############################################################################
-
-.SUFFIXES: .o .c .f .f90 .f95 .F 
-
-
-.f90.o:	
-	$(F90C) -c $(F90FLAGS)  $<
-
-
-TARGET_ARCH =
-OPT	= -g -O
-DEBUG	= -g -O
-LIB     = 
-FC=gfortran  -m64  -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp -fconvert=big-endian  -fmax-stack-var-size=100000000 
-F90C=gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -fmax-stack-var-size=100000000 
-GRIB_API_INCLUDE = $(GRIB_API_FFLAGS)
-GRIB_API_LIB = $(GRIB_API_LDFLAGS)
-FFLAGS =  $(OPT) $(DEBUG) -I. $(GRIB_API_INCLUDE)
-F90FLAGS =  $(OPT) $(DEBUG)  -I. $(GRIB_API_INCLUDE)
-LDFLAGS =  $(OPT) $(DEBUG)
-EMOSLIB=$(EMOS_LDFLAGS) 
-LIB =  $(EMOSLIB)  $(GRIB_API_LIB) -lgcc -lm -fdefault-integer-8  -lgfortran -ljasper 
-
-F90=$(F90C)
-
-BINDIR  =      .
-
-EXE	=	CONVERT2
-
-all:	${EXE}
-
-clean:
-	rm *.o *.mod ${EXE} 
-
-phgrreal.o: phgrreal.f90
-	$(F90) -c -g -O3 -fopenmp phgrreal.f90
-
-grphreal.o: grphreal.f90
-	$(F90) -c -g -O3 -fopenmp grphreal.f90
-
-ftrafo.o: ftrafo.f90
-	$(F90) -c -g -O3 -fopenmp ftrafo.f90
-
-CONVERT2:	phgrreal.o grphreal.o ftrafo.o rwGRIB2.o  preconvert.o
-	$(F90) $(DEBUG) $(OPT) -o CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o preconvert.o ${LIB}
-
-#
-# End of the Makefile
-#
-###############################################################################
Index: eproc/src/makefile_intel
===================================================================
--- preproc/src/makefile_intel	(revision 0e29ef4eb4cd16392d60ff1219d9909ad606ea59)
+++ 	(revision )
@@ -1,57 +1,0 @@
-###############################################################################
-#
-# Top level Makefile for ECMWFDATA software
-#
-# Last modified:  August 20, 2013
-#
-###############################################################################
-
-.SUFFIXES: .o .c .f .f90 .f95 .F 
-
-
-.f90.o:	
-	$(F90C) -c $(F90FLAGS)  $<
-
-
-TARGET_ARCH =
-OPT	= -g -O
-DEBUG	= -g -O
-LIB     = 
-FC=ifort   -O2 -m64 -mcmodel=medium  -safe-cray-ptr -real-size 64 -openmp
-F90C=ifort    -O2 -m64 -mcmodel=medium  -safe-cray-ptr -real-size 64 -openmp
-GRIB_API_INCLUDE = $(GRIB_API_FFLAGS)
-GRIB_API_LIB = $(GRIB_API_LDFLAGS)
-FFLAGS =  $(OPT) $(DEBUG) -I. $(GRIB_API_INCLUDE)
-F90FLAGS =  $(OPT) $(DEBUG)  -I. $(GRIB_API_INCLUDE)
-LDFLAGS =  $(OPT) $(DEBUG)
-EMOS_LDFLAGS = -L/cluster/software/src/openifs/emos_000392 -lemosR64
-EMOSLIB=$(EMOS_LDFLAGS) 
-LIB =  $(EMOSLIB)  $(GRIB_API_LIB) -lgcc -lm -lgfortran -ljasper -openmp 
-
-F90=$(F90C)
-
-BINDIR  =      .
-
-EXE	=	CONVERT2
-
-all:	${EXE}
-
-clean:
-	rm *.o *.mod ${EXE} 
-
-phgrreal.o: phgrreal.f90
-	$(F90) -c -g -O3 -fopenmp phgrreal.f90
-
-grphreal.o: grphreal.f90
-	$(F90) -c -g -O3 -fopenmp grphreal.f90
-
-ftrafo.o: ftrafo.f90
-	$(F90) -c -g -O3 -fopenmp ftrafo.f90
-
-CONVERT2:	phgrreal.o grphreal.o ftrafo.o rwGRIB2.o  preconvert.o
-	$(F90) $(DEBUG) $(OPT) -o CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o preconvert.o ${LIB}
-
-#
-# End of the Makefile
-#
-###############################################################################
Index: eproc/src/phgrreal.f90
===================================================================
--- preproc/src/phgrreal.f90	(revision 57637935b8c736ecb0a376df5e8f6a044bbd05af)
+++ 	(revision )
@@ -1,580 +1,0 @@
-MODULE PHTOGR
-
-  INTEGER, PARAMETER :: MAXAUF=36000
-
-CONTAINS
-
-  SUBROUTINE PHGR213(CXMN,FELD,WSAVE,IFAX,Z,MLAT,MNAUF, &
-    &MAXL,MAXB,MLEVEL)
-
-    !     DIE ROUTINE F]HRT EINE TRANSFORMATION EINER
-    !     FELDVARIABLEN VOM PHASENRAUM IN  DEN PHYSIKALISCHEN
-    !     RAUM AUF DAS REDUZIERTE GAUSS'SCHE GITTER DURCH
-    !
-    !     CXMN   = SPEKTRALKOEFFIZIENTEN IN DER REIHENFOLGE
-    !              CX00,CX01,CX11,CX02,....CXMNAUFMNAUF
-    !     FELD   = FELD DER METEOROLOGISCHEN VARIABLEN
-    !	WSAVE  = Working Array fuer Fouriertransformation
-    !     Z 	 = LEGENDREFUNKTIONSWERTE
-    !
-    !     MNAUF    ANZAHL DER FOURIERKOEFFIZIENTEN
-    !     MAXL     ANZAHL DER FUER DAS GITTER BENUTZTEN LAENGEN
-    !     MAXB     ANZAHL DER FUER DAS GITTER BENOETIGTEN BREITEN
-    !     MLEVEL   ANZAHL DER LEVELS, DIE TRANSFORMIERT WERDEN
-    !
-    IMPLICIT NONE
-
-    !			Anzahl der Gitterpunkte auf jedem Breitenkreis
-    INTEGER MLAT(MAXB/2)
-    INTEGER K,MAXL,MAXB,MLEVEL,MNAUF
-    INTEGER IND(MAXB)
-
-
-    !    FELD DER LEGENDREPOLYNOME FUER EINE BREITE
-    REAL Z(0:((MNAUF+3)*(MNAUF+4))/2,MAXB/2)
-
-    REAL, INTENT(IN) ::  CXMN(0:(MNAUF+1)*(MNAUF+2)-1,MLEVEL)
-    REAL FELD(MAXL,MLEVEL)
-    REAL WSAVE(8*MAXB+15,MAXB/2)
-    INTEGER :: IFAX(10,MAXB)
-
-    IND(1)=0
-    DO  K=2,MAXB/2
-       IND(K)=IND(K-1)+MLAT(K-1)
-    ENDDO
-
-    !$OMP PARALLEL DO SCHEDULE(DYNAMIC)
-    DO  K=1,MAXB/2
-       CALL PHSYM(K,IND,CXMN,FELD,Z,WSAVE,IFAX,MLAT, &
-       &MNAUF,MAXL,MAXB,MLEVEL)
-
-    ENDDO
-    !$OMP END PARALLEL DO
-
-  END SUBROUTINE PHGR213
-  !
-  !
-  SUBROUTINE PHSYM(K,IND,CXMN,FELD,Z,WSAVE,IFAX,MLAT, &
-       &MNAUF,MAXL,MAXB,MLEVEL)
-
-    IMPLICIT NONE
-
-    INTEGER MLAT(MAXB/2)
-    INTEGER K,L,I,J,LLS,LLPS,LL,LLP,MAXL,MAXB,MLEVEL,MNAUF
-    INTEGER IND(MAXB)
-    INTEGER :: IFAX(10,MAXB)
-
-
-    !    FELD DER FOURIERKOEFFIZIENTEN
-    REAL :: CXMS(0:MAXAUF-1),CXMA(0:MAXAUF-1)
-
-    !    FELD DER LEGENDREPOLYNOME FUER EINE BREITE
-    REAL Z(0:((MNAUF+3)*(MNAUF+4))/2,MAXB/2)
-    REAL ACR,ACI,SCR,SCI
-
-    REAL, INTENT(IN) ::  CXMN(0:(MNAUF+1)*(MNAUF+2)-1,MLEVEL)
-    REAL FELD(MAXL,MLEVEL)
-    REAL WSAVE(8*MAXB+15,MAXB/2)
-
-    DO  L=1,MLEVEL
-       LL=0
-       LLP=0
-       DO  I=0,MNAUF
-          SCR=0.D0
-          SCI=0.D0
-          ACR=0.D0
-          ACI=0.D0
-          LLS=LL
-          LLPS=LLP
-          IF(2*I+1.LT.MLAT(K)) THEN
-             !	Innerste Schleife aufgespalten um if-Abfrage zu sparen
-             DO J=I,MNAUF,2
-                SCR=SCR+Z(LLP,K)*CXMN(2*LL,L)
-                SCI=SCI+Z(LLP,K)*CXMN(2*LL+1,L)
-                LL=LL+2            
-                LLP=LLP+2            
-             ENDDO
-             LL=LLS+1
-             LLP=LLPS+1
-             DO  J=I+1,MNAUF,2
-                ACR=ACR+Z(LLP,K)*CXMN(2*LL,L)
-                ACI=ACI+Z(LLP,K)*CXMN(2*LL+1,L)
-                LL=LL+2            
-                LLP=LLP+2            
-             ENDDO
-          ENDIF
-          LL=LLS+(MNAUF-I+1)
-          LLP=LLPS+(MNAUF-I+3)
-          CXMS(2*I)=SCR+ACR
-          CXMS(2*I+1)=SCI+ACI
-          CXMA(2*I)=SCR-ACR
-          CXMA(2*I+1)=SCI-ACI
-       ENDDO
-       CALL RFOURTR(CXMS,WSAVE(:,K),IFAX(:,K),MNAUF,&
-            &MLAT(K))
-       FELD(IND(k)+1:IND(K)+MLAT(K),L)=CXMS(0:MLAT(K)-1)
-       CALL RFOURTR(CXMA,&
-            &WSAVE(:,K),IFAX(:,K),MNAUF,MLAT(K))
-       FELD(MAXL-IND(k)-MLAT(K)+1:MAXL-IND(k),L)=CXMA(0:MLAT(K)-1)
-
-    ENDDO
-
-  END SUBROUTINE PHSYM
-
-  SUBROUTINE PHGCUT(CXMN,FELD,WSAVE,IFAX,Z,&
-       &                  MNAUF,MMAX,MAUF,MANF,MAXL,MAXB,MLEVEL)
-
-    !     DIE ROUTINE FUEHRT EINE TRANSFORMATION EINER
-    !     FELDVARIABLEN VOM PHASENRAUM IN  DEN PHYSIKALISCHEN
-    !     RAUM AUF KUGELKOORDINATEN DURCH. Es kann ein Teilausschnitt
-    !			Der Erde angegeben werden. Diese Routine ist langsamer als
-    !			phgrph
-    !
-    !     CXMN   = SPEKTRALKOEFFIZIENTEN IN DER REIHENFOLGE
-    !              CX00,CX01,CX11,CX02,....CXMNAUFMNAUF
-    !     FELD   = FELD DER METEOROLOGISCHEN VARIABLEN
-    !     Z      = SINUS DER GEOGRAFISCHEN BREITEN
-    !
-    !     MNAUF    ANZAHL DER FOURIERKOEFFIZIENTEN
-    !     MAUF     ANZAHL DER LAENGEN UND DER FOURIERKOEFFIZIENTEN
-    !     MANF     ANFANG DES LAENGENBEREICHS FUER DAS GITTER,
-    !              AUF DAS INTERPOLIERT WERDEN SOLL
-    !     MAXL     ANZAHL DER FUER DAS GITTER BENUTZTEN LAENGEN
-    !     MAXB     ANZAHL DER FUER DAS GITTER BENOETIGTEN BREITEN
-    !     MLEVEL   ANZAHL DER LEVELS, DIE TRANSFORMIERT WERDEN
-    !
-    IMPLICIT NONE
-    INTEGER, INTENT(IN)  :: MNAUF, MMAX, MAUF, MANF, MAXL, MAXB, MLEVEL
-    REAL, INTENT(OUT)    :: FELD(MAXL,MAXB,MLEVEL)
-    INTEGER, INTENT(INOUT) :: IFAX(10)
-
-    !    FELD DER LEGENDREPOLYNOME FUER EINE BREITE
-    REAL, INTENT(IN)     :: Z(0:((MMAX+3)*(MMAX+4))/2,MAXB)
-    REAL, INTENT(IN)     :: CXMN(0:(MMAX+1)*(MMAX+2)-1,MLEVEL)
-    REAL, INTENT(INOUT)  :: WSAVE(4*MAUF+15)  ! work array previously
-                                              ! initialized with set99 
-                                              ! (will be used in fft99)
-    INTEGER              :: J
-    LOGICAL              :: SYM
-
-
-    IF(MAUF.LE.MNAUF) WRITE(*,*) 'TOO COARSE LONGITUDE RESOLUTION'
-    IF((MANF.LT.1).OR.(MAXL.LT.1).OR. &
-         &       (MANF.GT.MAUF).OR.(MAXL.GT.MAUF)) THEN
-       WRITE(*,*) 'WRONG LONGITUDE RANGE',MANF,MAXL
-       STOP
-    ENDIF
-
-    ! Pruefe, ob Ausgabegitter symmetrisch zum Aequator ist
-    ! Wenn ja soll Symmetrie der Legendrepolynome ausgenutzt werden
-    ! Check if the output grid is symmetrical to the equator
-    ! If yes we exploit it
-
-    IF(MAXB .GT. 4) THEN
-       SYM=.TRUE.
-       DO  J=5,5
-          IF(ABS(ABS(Z(100,J))-ABS(Z(100,MAXB+1-J))).GT.1E-11) THEN
-             SYM=.FALSE.
-          ENDIF
-       ENDDO
-       WRITE(*,*) 'Symmetrisch: ',SYM
-    ELSE
-       SYM=.FALSE.
-    ENDIF
-
-
-    IF(SYM) THEN
-       !$OMP PARALLEL DO 
-       DO J=1,(MAXB+1)/2
-          CALL PHSYMCUT(J,CXMN,FELD,Z,WSAVE,IFAX, &
-               &MAUF,MNAUF,MAXL,MAXB,MLEVEL,MANF)
-
-       ENDDO
-       !$OMP END PARALLEL DO
-    ELSE
-       !$OMP PARALLEL DO 
-       DO J=1,MAXB
-          CALL PHGPNS(CXMN,FELD,Z,WSAVE,IFAX, &
-               &J,MNAUF,MAUF,MANF,MAXL,MAXB,MLEVEL)
-       ENDDO
-       !$OMP END PARALLEL DO
-
-    ENDIF
-
-
-    RETURN
-  END SUBROUTINE PHGCUT
-
-  SUBROUTINE PHSYMCUT(J,CXMN,FELD,Z,WSAVE,IFAX,&
-       &MAUF,MNAUF,MAXL,MAXB,MLEVEL,MANF)
-
-    IMPLICIT NONE
-
-    INTEGER, INTENT(IN)     :: J
-    REAL,    INTENT(IN)     :: CXMN(0:(MNAUF+1)*(MNAUF+2)-1,MLEVEL)
-    REAL,    INTENT(OUT)    :: FELD(MAXL,MAXB,MLEVEL)
-    REAL,    INTENT(IN)     :: Z(0:((MNAUF+3)*(MNAUF+4))/2,MAXB)
-    REAL,    INTENT(INOUT)  :: WSAVE(4*MAUF+15)
-    INTEGER, INTENT(IN)     :: IFAX(10)
-    INTEGER, INTENT(IN)     :: MAUF,MNAUF,MAXL,MAXB,MLEVEL,MANF
-    
-    !    FELD DER FOURIERKOEFFIZIENTEN
-
-    REAL :: CXM(0:MAXAUF-1),CXMA(0:MAXAUF-1)
-
-    !    FELD DER LEGENDREPOLYNOME FUER EINE BREITE
-    REAL SCR,SCI,ACR,ACI
-
-
-    INTEGER            :: L, LL, LLP, LLS, LLPS, I, K
-
-    DO L=1,MLEVEL
-       LL=0
-       LLP=0
-       DO  I=0,MNAUF
-          SCR=0.D0
-          SCI=0.D0
-          ACR=0.D0
-          ACI=0.D0
-          LLS=LL
-          LLPS=LLP
-          !	Innerste Schleife aufgespalten um if-Abfrage zu sparen
-          DO  K=I,MNAUF,2
-             SCR=SCR+Z(LLP,J)*CXMN(2*LL,L)
-             SCI=SCI+Z(LLP,J)*CXMN(2*LL+1,L)
-             LL=LL+2            
-             LLP=LLP+2            
-          ENDDO
-          LL=LLS+1
-          LLP=LLPS+1
-          DO  K=I+1,MNAUF,2
-             ACR=ACR+Z(LLP,J)*CXMN(2*LL,L)
-             ACI=ACI +Z(LLP,J)*CXMN(2*LL+1,L)
-             LL=LL+2            
-             LLP=LLP+2            
-          ENDDO
-          LL=LLS+MNAUF-I+1
-          LLP=LLPS+MNAUF-I+3
-          CXM(2*I)=SCR+ACR
-          CXM(2*I+1)=SCI+ACI
-          CXMA(2*I)=SCR-ACR
-          CXMA(2*I+1)=SCI-ACI
-       ENDDO
-
-       CALL RFOURTR(CXM,WSAVE,IFAX,MNAUF,MAUF)
-       DO  I=0,MAXL-1
-          IF(MANF+I.LE.MAUF) THEN
-             FELD(I+1,J,L)=CXM(MANF+I-1)
-          ELSE
-             FELD(I+1,J,L)=CXM(MANF-MAUF+I-1)
-          ENDIF
-       ENDDO
-       CALL RFOURTR(CXMA,WSAVE,IFAX,MNAUF,MAUF)
-       DO  I=0,MAXL-1
-          IF(MANF+I.LE.MAUF) THEN
-             FELD(I+1,MAXB+1-J,L)=CXMA(MANF+I-1)
-          ELSE
-             FELD(I+1,MAXB+1-J,L)=CXMA(MANF-MAUF+I-1)
-          ENDIF
-       ENDDO
-    ENDDO
-
-  END SUBROUTINE PHSYMCUT
-
-  SUBROUTINE PHGPNS(CXMN,FELD,Z,WSAVE,IFAX, &
-       J,MNAUF,MAUF,MANF,MAXL,MAXB,MLEVEL)
-
-    IMPLICIT NONE
-    REAL,    intent(in)    :: CXMN(0:(MNAUF+1)*(MNAUF+2)-1,MLEVEL)
-    REAL,    intent(out)   :: FELD(MAXL,MAXB,MLEVEL)
-    REAL,    intent(in)    :: Z(0:((MNAUF+3)*(MNAUF+4))/2,MAXB)
-    REAL,    intent(inout) :: WSAVE(4*MAUF+15)
-    INTEGER, intent(in)    :: IFAX(10)
-    INTEGER, intent(in)    :: MNAUF,MAUF,MANF,J,MAXL,MAXB,MLEVEL
-
-    REAL :: CXM(0:MAXAUF-1)
-
-    INTEGER I,L
-
-    DO L=1,MLEVEL
-       CALL LEGTR(CXMN(:,L),CXM,Z(:,J),MNAUF,MAUF)
-       CALL RFOURTR(CXM,WSAVE,IFAX,MNAUF,MAUF)
-
-       DO I=0,MAXL-1
-          IF(MANF+I.LE.MAUF) THEN
-             FELD(I+1,J,L)=CXM(MANF+I-1)
-          ELSE
-             FELD(I+1,J,L)=CXM(MANF-MAUF+I-1)
-          ENDIF
-       ENDDO
-    ENDDO
-  END SUBROUTINE PHGPNS
-  !
-  SUBROUTINE LEGTR(CXMN,CXM,Z,MNAUF,MAUF)
-    IMPLICIT NONE
-    INTEGER MNAUF,MAUF,LL,LLP,I,J
-    REAL CXM(0:MAXAUF-1)
-    REAL CXMN(0:(MNAUF+1)*(MNAUF+2)-1)
-    REAL Z(0:((MNAUF+3)*(MNAUF+4))/2)
-    REAL CI,CR
-    !
-    !     DIESE ROUTINE BERECHNET DIE FOURIERKOEFFIZIENTEN CXM
-    !
-    LL=0
-    LLP=0
-    DO  I=0,MNAUF
-       CR=0.D0
-       CI=0.D0
-       DO  J=I,MNAUF
-          CR=CR+Z(LLP)*CXMN(2*LL)
-          CI=CI+Z(LLP)*CXMN(2*LL+1)
-          LL=LL+1
-          LLP=LLP+1
-       ENDDO
-       LLP=LLP+2
-       CXM(2*I)=CR
-       CXM(2*I+1)=CI
-    ENDDO
-
-  END SUBROUTINE LEGTR
-  !
-  !     
-  SUBROUTINE RFOURTR(CXM,TRIGS,IFAX,MNAUF,MAXL)
-    !     BERECHNET DIE FOURIERSUMME MIT EINEM FFT-ALGORITHMUS
-    IMPLICIT NONE
-
-    INTEGER, INTENT(IN) :: MNAUF, MAXL
-    INTEGER,intent(IN)  :: IFAX(10)
-    REAL, intent(inout) :: CXM(0:MAXAUF-1)
-    REAL                :: WSAVE(2*MAXL),TRIGS(2*MAXL)
-
-    INTEGER :: I
-
-    DO I=MNAUF+1,MAXL-1
-       CXM(2*I)=0.0
-       CXM(2*I+1)=0.0
-    ENDDO
-    CALL FFT99(CXM,WSAVE,TRIGS,IFAX,1,1,MAXL,1,1)
-    DO I=0,MAXL-1
-       CXM(I)=CXM(I+1)
-    ENDDO
-
-    RETURN
-  END SUBROUTINE RFOURTR
-  !     
-  !    
-  SUBROUTINE GAULEG(X1,X2,X,W,N)
-  ! From numerical recipes
-  ! Given the lower and upper limits of integration X1 and X2, 
-  ! this routine returns arrayx X and W of length N containing the
-  ! abscissa and weights of the Gauss-Legendre N-point quadrature
-  ! formula. The parameter EPS is the relative precision. Note that
-  ! internal computations are done in double precision.
-    IMPLICIT NONE
-
-    INTEGER, INTENT(IN)             :: N
-    REAL, INTENT(IN)                :: X1, X2
-    REAL, DIMENSION(N), INTENT(OUT) :: X, W
-
-    REAL                            :: PI
-    REAL, PARAMETER                 :: EPS=3.D-14
-    INTEGER                         :: I,J,M 
-    REAL                            :: P1, P2, P3
-    REAL                            :: PP
-    REAL                            :: Z1, Z
-    REAL                            :: XM, XL
-
-    PI=ACOS(-1.D0)
-   
-    M=(N+1)/2
-    XM=0.5D0*(X2+X1)
-    XL=0.5D0*(X2-X1)
-    DO  I=1,M
-       Z=DCOS(3.141592654D0*(I-.25D0)/(N+.5D0))
-       DO 
-          P1=1.D0
-          P2=0.D0
-          DO  J=1,N
-             P3=P2
-             P2=P1
-             P1=((2.D0*J-1.D0)*Z*P2-(J-1.D0)*P3)/J
-          ENDDO
-          PP=N*(Z*P1-P2)/(Z*Z-1.D0)
-          Z1=Z
-          Z=Z1-P1/PP
-          IF (ABS(Z-Z1).LE.EPS) EXIT
-       ENDDO
-
-       X(I)=XM-XL*Z
-       X(N+1-I)=XM+XL*Z
-       W(I)=2.D0*XL/((1.D0-Z*Z)*PP*PP)
-       W(N+1-I)=W(I)
-    ENDDO
-  END SUBROUTINE GAULEG
-  !
-  !
-  SUBROUTINE PLGNFA(LL,X,Z)
-    !
-    ! PLGNFA is associated with normalization of 
-    ! legendre functions OF P00(X) to PLL(X)
-    ! and write result in Z
-    ! The polynomials are indexed as the ECMWF, i.e.
-    ! P00, P10, P11, P20, P21, P22, ... 
-    ! This routine is analogous to PLGNDN
-    ! X is the cosinus of the zenith angle or
-    ! sinus of latitude
-    !
-    IMPLICIT NONE
-
-    INTEGER, INTENT(IN)                                :: LL
-    REAL, INTENT(IN)                                   :: X
-    REAL, DIMENSION (0:((LL+3)*(LL+4))/2), INTENT(OUT) :: Z
-
-    REAL                 :: FACT, POT, SOMX2
-    REAL                 :: DJ, DK, DDK
-    INTEGER              :: I, J, K, L 
-
-    !
-    L=LL+2
-    I=1
-    Z(0)=1.D0
-    FACT=1.D0
-    POT=1.D0
-    SOMX2=DSQRT(1.D0-X*X)
-    DO  J=0,L
-       DJ=DBLE(J)
-       IF(J.GT.0) THEN
-          FACT=FACT*(2.D0*DJ-1.D0)/(2.D0*DJ)
-          POT=POT*SOMX2
-          Z(I)=DSQRT((2.D0*DJ+1.D0)*FACT)*POT
-          I=I+1
-       ENDIF
-       IF(J.LT.L) THEN
-          Z(I)=X* &
-               &DSQRT((4.D0*DJ*DJ+8.D0*DJ+3.D0)/(2.D0*DJ+1.D0))*Z(I-1)
-          I=I+1
-       ENDIF
-       DK=DJ+2.D0
-       DO  K=J+2,L
-          DDK=(DK*DK-DJ*DJ)
-          Z(I)=X*DSQRT((4.D0*DK*DK-1.D0)/DDK)*Z(I-1)-       &
-               &    DSQRT(((2.D0*DK+1.D0)*(DK-DJ-1.D0)*(DK+DJ-1.D0))/ &
-               &    ((2.D0*DK-3.D0)*DDK))*Z(I-2)
-          DK=DK+1.D0
-          I=I+1
-       ENDDO
-    ENDDO
-    RETURN
-  END SUBROUTINE PLGNFA
-
-
-  SUBROUTINE DPLGND(MNAUF,Z,DZ)
-    !
-    ! DPLGND BERECHNET DIE ABLEITUNG DER NORMIERTEN ASSOZIIERTEN
-    ! LEGENDREFUNKTIONEN VON P00(X) BIS PLL(X)
-    ! UND SCHREIBT SIE IN DAS FELD DZ
-    ! DIE REIHENFOLGE IST
-    ! P00(X),P01(X),P11(X),P02(X),P12(X),P22(X),..PLL(X)
-    !
-    IMPLICIT NONE
-    INTEGER, INTENT(IN) :: MNAUF
-    REAL Z(0:((MNAUF+3)*(MNAUF+4))/2)
-    REAL DZ(0:((MNAUF+2)*(MNAUF+3))/2)
-
-    INTEGER   :: I, J, LLP, LLH
-    REAL      :: WURZELA, WURZELB
-    !
-    IF(Z(0).NE.1.D0) THEN
-       WRITE(*,*) 'DPLGND: Z(0) must be 1.0'
-       STOP
-    ENDIF
-
-    LLP=0
-    LLH=0
-    DO  I=0,MNAUF+1
-       DO  J=I,MNAUF+1
-          IF(I.EQ.J) THEN
-             WURZELA=DSQRT(DBLE((J+1)*(J+1)-I*I)/DBLE(4*(J+1)*(J+1)-1))
-             DZ(LLH)=DBLE(J)*WURZELA*Z(LLP+1)
-          ELSE
-             WURZELB=DSQRT(DBLE((J+1)*(J+1)-I*I)/DBLE(4*(J+1)*(J+1)-1))
-             DZ(LLH)=DBLE(J)*WURZELB*Z(LLP+1)-DBLE(J+1)*WURZELA*Z(LLP-1)
-             WURZELA=WURZELB
-          ENDIF
-          LLH=LLH+1              
-          LLP=LLP+1
-       ENDDO
-       LLP=LLP+1
-    ENDDO
-  END SUBROUTINE DPLGND
-
-
-  ! Spectral Filter of Sardeshmukh and Hoskins (1984, MWR)
-  ! MM=Spectral truncation of field
-  ! MMAX= Spectral truncation of filter
-  !
-  SUBROUTINE SPFILTER(FELDMN,MM,MMAX)
-
-    IMPLICIT NONE
-
-    INTEGER, INTENT(IN) :: MM,MMAX
-    REAL, INTENT(INOUT) :: FELDMN(0:(MM+1)*(MM+2)-1)
-! local variables
-    INTEGER             :: I,J,K,L
-    REAL                :: KMAX,SMAX,FAK
-
-    SMAX=0.1
-    KMAX=-ALOG(SMAX)
-    KMAX=KMAX/(float(MMAX)*float(MMAX+1))**2
-    l=0
-    do i=0,MM
-       do j=i,MM
-          if(j .le. MMAX) then
-             fak=1.0
-             feldmn(2*l)=feldmn(2*l)*fak
-             feldmn(2*l+1)=feldmn(2*l+1)*fak
-          else
-             feldmn(2*l)=0.
-             feldmn(2*l+1)=0.
-          endif
-          l=l+1
-       enddo
-    enddo
-  END SUBROUTINE SPFILTER
-
-END MODULE PHTOGR
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: eproc/src/preconvert.f90
===================================================================
--- preproc/src/preconvert.f90	(revision 57637935b8c736ecb0a376df5e8f6a044bbd05af)
+++ 	(revision )
@@ -1,470 +1,0 @@
-PROGRAM PRECONVERT
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  !                                                                 !
-  ! PROGRAM PRECONVERT - PREPARES INPUT DATA FOR POP MODEL METEOR-  !
-  !                      OLOGICAL PREPROCESSOR                      !
-  !                                                                 !
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  !                                                                 !
-  ! CALCULATION OF ETAPOINT ON A REGULAR LAMDA/PHI GRID AND WRITING !
-  ! U,V,ETAPOINT,T,PS,Q,SD,MSL,TCC,10U, 10V, 2T,2D,LSP,CP,SSHF,SSR, !
-  ! EWSS,NSSS TO AN OUTPUT FILE (GRIB 1 or 2 FORMAT).               ! 
-  !                                                                 !
-  ! AUTHORS: L. HAIMBERGER, G. WOTAWA, 1994-04                      !
-  !                     adapted: A. BECK                            !
-  !                     2003-05-11                                  !
-  !          L. Haimberger 2006-12    V2.0                          !
-  !                    modified to handle arbitrary regular grids   !
-  !                    and T799 resolution data                     !
-  !          L. Haimberger 2010-03    V4.0                          !
-  !                    modified to grib edition 2 fields            !
-  !                    and T1279 resolution data                    !
-  !                                                                 !
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  !                                                                 !
-  ! DESCRIPTION OF NEEDED INPUT:                                    !
-  !                                                                 !
-  !       FILE      PARAMETER(S)    DATA REPRESENTATION             !
-  !                                                                 !
-  !       fort.10   U,V             spherical harmonics             !
-  !       fort.11   T               regular lamda phi grid          !
-  !       fort.12   LNSP            spherical harmonics             !
-  !       fort.13   D               spherical harmonics             !
-  !       fort.14   SD,MSL,TCC,10U,                                 !
-  !                 10V,2T,2D       regular lamda phi grid          !
-  !       fort.18   Q               regular lamda phi grid          !
-  !                                                                 !
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  !                                                                 !
-  ! DESCRIPTION OF OUTPUT:                                          !
-  !                                                                 !
-  ! UNIT  FILE      PARAMETER(S)    DATA REPRESENTATION             !
-  !                                                                 !
-  ! 15    fort.15   U,V,ETA,T,PS,                                   !
-  !                 Q,SD,MSL,TCC,                                   !
-  !                 10U,10V,2T,2D,  regular lamda phi grid          !
-  !                 LSP,CP,SSHF,                                    !
-  !                 SSR,EWSS,NSSS                                   !
-  !                                                                 !
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  !
-
-  USE PHTOGR
-  USE GRTOPH
-  USE FTRAFO
-  USE RWGRIB2
-  USE GRIB_API
-
-  IMPLICIT NONE
-
-  REAL, ALLOCATABLE, DIMENSION (:,:)   :: Z
-  REAL, ALLOCATABLE, DIMENSION (:,:,:) :: T, UV 
-  REAL, ALLOCATABLE, DIMENSION (:,:,:) :: DIV, ETA
-  REAL, ALLOCATABLE, DIMENSION (:,:)   :: DPSDL, DPSDM
-  REAL, ALLOCATABLE, DIMENSION (:,:,:) :: PS,DPSDT
-  REAL, ALLOCATABLE, DIMENSION (:)     :: WSAVE,H
-  REAL, ALLOCATABLE, DIMENSION (:)     :: BREITE, GBREITE
-  REAL, ALLOCATABLE, DIMENSION (:)     :: AK, BK, PV
-  INTEGER                              :: NPV
-
-  ! Arrays for Gaussian grid calculations
-
-  REAL  :: X1,X2,RMS,MW,SIG,LAM
-  REAL,ALLOCATABLE :: CUA(:,:,:),CVA(:,:,:)
-
-  REAL, ALLOCATABLE, DIMENSION (:,:) :: P,PP !,P2
-  REAL, ALLOCATABLE, DIMENSION (:,:) :: XMN,HILFUV
-  REAL, ALLOCATABLE, DIMENSION (:)   :: LNPMN,LNPMN2,LNPMN3
-  REAL, ALLOCATABLE, DIMENSION (:)   :: WEIGHT
-  REAL, ALLOCATABLE, DIMENSION (:,:) :: UGVG
-  REAL, ALLOCATABLE, DIMENSION (:,:) :: DG, ETAG
-  REAL, ALLOCATABLE, DIMENSION (:,:) :: GWSAVE
-  REAL, ALLOCATABLE, DIMENSION (:)   :: PSG,HILF
-
-  ! end arrays for Gaussian grid calculations
-
-  INTEGER, ALLOCATABLE, DIMENSION (:) :: MLAT
-  INTEGER, ALLOCATABLE :: GIFAX(:,:)
-
-  REAL, PARAMETER   :: PI=ACOS(-1.D0)
-
-  REAL COSB,DAK,DBK,P00
-  REAL URLAR8,JMIN1,LLLAR8,MAXBMIN1,PIR8,DCOSB
-
-  INTEGER I,J,K,L,IERR,M,MK,NGI,NGJ
-  INTEGER LUNIT,LUNIT_OUT
-
-  INTEGER MAXL, MAXB, MLEVEL, LEVOUT,LEVMIN,LEVMAX
-  INTEGER MGAUSS,MSMOOTH, MNAUF,META
-  INTEGER MDPDETA,METAPAR
-  REAL RLO0, RLO1, RLA0, RLA1
-  CHARACTER*300 MLEVELIST
-
-  INTEGER MAUF, MANF,IFAX(10)
-
-  INTEGER igrib,iret
-
-  CHARACTER*80 FILENAME
-
-  NAMELIST /NAMGEN/ &
-       MAXL, MAXB,  &
-       MLEVEL,MLEVELIST,MNAUF,METAPAR, &
-       RLO0, RLO1, RLA0, RLA1, &
-       MGAUSS,MSMOOTH,META,&
-       MDPDETA
-
-  read (4,NAMGEN)
-
-  PRINT*, 'MAXL= ', MAXL, ' RLO0 = ', RLO0, ' RLO1 = ', RLO1
-  MAUF=INT(360.*(REAL(MAXL)-1.)/(RLO1-RLO0)+0.0001)
-  PRINT*, 'MAUF= ', MAUF
-
-  MANF=INT(REAL(MAUF)/360.*(360.+RLO0)+1.0001)
-  PRINT*, 'MANF= ', MANF
-
-  IF(MANF .gt. MAUF) MANF=MANF-MAUF
-
-
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  !     GAUSS STUFF !
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-  ! computation of etadot on gaussian grid
-
-! a new grib message is loaded from an existing sample.
-! we want a regular gaussian grid
-! set the environment variable GRIB_SAMPLES_PATH
-  write (filename, "(A13,I0,A3,I0)") "EI_regular_gg",MNAUF+1,"_ml", MLEVEL
-  call grib_new_from_samples(igrib, FILENAME)
-
-  call grib_get(igrib,'numberOfPointsAlongAMeridian', NGJ)
-  ALLOCATE (MLAT(NGJ))
-
-  !     get as a integer
-  call grib_get(igrib,'pl', MLAT)
-  print*,'Number of points along a meridian  = ', NGJ
-  NGI=SUM(MLAT)
-
-  call grib_get(igrib,'numberOfVerticalCoordinateValues',mk)
-  print*, 'numberOfVerticalCoordinateValues = ', mk
-
-  IF(mk/2-1 .ne. MLEVEL) THEN 
-     WRITE(*,*) 'FATAL: Number of model levels',mk, &
-          ' does not agree with', MLEVEL,' in namelist'
-     STOP
-  ENDIF
-
-  call grib_get_size(igrib,'pv',npv)
-  allocate(pv(npv))
-  call grib_get(igrib,'pv',pv)
-  ALLOCATE(AK(NPV/2))
-  ALLOCATE(BK(NPV/2))
-  AK=pv(:NPV/2)
-  BK=pv(NPV/2+1:)
-  deallocate(pv)
-! END GAUSS INFO
-
-
-
-  ! Initialization of Legendre transform on LAT/LON grid.
-
-  ALLOCATE (BREITE(MAXB))
-  ALLOCATE (Z(0:((MNAUF+3)*(MNAUF+4))/2,MAXB))
-  !$OMP PARALLEL DO
-  DO  J=1,MAXB
-     BREITE(J)=SIN((RLA1-(J-1.D0)*(RLA1-RLA0)/(MAXB-1))* PI/180.D0)
-     CALL PLGNFA(MNAUF,BREITE(J),Z(0,J))
-  ENDDO
-  !$OMP END PARALLEL DO
-
-
-  ! Initialisation of fields for  FFT and Legendre transformation
-  !	to  Gaussian grid and back to phase space
-  ALLOCATE (GBREITE(NGJ),WEIGHT(NGJ))
-  ALLOCATE (P(0:((MNAUF+3)*(MNAUF+4))/2,NGJ/2))
-  ALLOCATE (PP(NGJ/2,0:((MNAUF+3)*(MNAUF+4))/2))
-  X1=-1.D0
-  X2=1.D0
-  CALL GAULEG(X1,X2,GBREITE,WEIGHT,NGJ)
-
-  !$OMP PARALLEL DO PRIVATE(M)
-  DO J=1,NGJ/2
-     CALL PLGNFA(MNAUF,GBREITE(J),P(:,J))
-     DO M=0,(MNAUF+3)*(MNAUF+4)/2
-        PP(J,M)=P(M,J)
-     ENDDO
-  ENDDO
-  !$OMP END PARALLEL DO
-
-
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!   READ LNSP
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  FILENAME='fort.12'
-  ALLOCATE (LNPMN(0:(MNAUF+1)*(MNAUF+2)-1))
-  CALL READSPECTRAL(FILENAME,LNPMN,MNAUF,1,MLEVEL,(/152/))
-  ! Call set99 an initialization routine that must be called once
-  ! before a sequence of calls to the fft routines
-  ALLOCATE (WSAVE(4*MAUF+15))
-  ALLOCATE (PS(MAXL, MAXB,1))
-  CALL SET99(WSAVE,IFAX,mauf)
-  CALL PHGCUT(LNPMN,PS,WSAVE,IFAX,Z, &
-       MNAUF,MNAUF,MAUF,MANF,MAXL,MAXB,1)
-  CALL STATIS(MAXL,MAXB,1,EXP(PS),RMS,MW,SIG)
-  WRITE(*,'(A12,3F12.4)') 'STATISTICS : ',RMS,MW,SIG
-
-  ALLOCATE (GWSAVE(8*NGJ+15,NGJ/2))
-  ALLOCATE (GIFAX(10,NGJ))
-  DO J=1,NGJ/2
-     CALL SET99(GWSAVE(1,J),GIFAX(1,J),MLAT(J))
-  ENDDO
-  ALLOCATE (PSG(NGI),HILF(NGI))
-  ALLOCATE (LNPMN2(0:(MNAUF+1)*(MNAUF+2)-1))
-  CALL PHGR213(LNPMN,HILF,GWSAVE,GIFAX,P,MLAT,MNAUF,NGI,NGJ,1)
-  PSG=HILF
-  CALL GRPH213(LNPMN2,PSG,GWSAVE,GIFAX,PP,WEIGHT,MLAT, &
-       MNAUF,NGI,NGJ,1)
-  CALL PHGR213(LNPMN2,HILF,GWSAVE,GIFAX,P,MLAT,MNAUF,NGI,NGJ,1)
-
-
-  HILF=exp(PSG)-exp(HILF)
-
-  CALL STATIS(NGI,1,1,HILF,RMS,MW,SIG)
-  WRITE(*,'(A12,3F11.4)') 'STATISTICS: ',RMS,MW,SIG
-
-  PSG=EXP(PSG)
-  HILF=PSG
-  CALL STATIS(NGI,1,1,HILF,RMS,MW,SIG)
-  WRITE(*,'(A12,3F11.4)') 'STATISTICS: ',RMS,MW,SIG
-
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!   READ U/V
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  FILENAME='fort.10'
-  ALLOCATE (XMN(0:(MNAUF+1)*(MNAUF+2)-1, 2*MLEVEL))
-  CALL READSPECTRAL(FILENAME, &
-       XMN,MNAUF,2*MLEVEL,MLEVEL,(/131,132/)) 
-  ! Transform winds on gaussian grid
-  ALLOCATE (UGVG(NGI, 2*MLEVEL))
-  CALL PHGR213(XMN,UGVG,GWSAVE,GIFAX,P,MLAT,MNAUF,NGI,NGJ,2*MLEVEL)
-  ALLOCATE (CUA(2,4,MLEVEL))
-  ALLOCATE (CVA(2,4,MLEVEL))
-  DO K=1,MLEVEL
-     ! North Pole
-     CALL JSPPOLE(XMN(:,K),1,MNAUF,.TRUE.,CUA(:,:,K))
-     CALL JSPPOLE(XMN(:,MLEVEL+K),1,MNAUF,.TRUE.,CVA(:,:,K))
-     ! South Pole
-     CALL JSPPOLE(XMN(:,K),-1,MNAUF,.TRUE.,CUA(:,3:4,K))
-     CALL JSPPOLE(XMN(:,MLEVEL+K),-1,MNAUF,.TRUE.,CVA(:,3:4,K))
-  ENDDO
-
-  IF(MSMOOTH .ne. 0) THEN
-    DO K=1,2*MLEVEL
-       CALL SPFILTER(XMN(:,K),MNAUF,MSMOOTH)
-    ENDDO
-  ENDIF
-  ALLOCATE (UV(MAXL, MAXB, 2*MLEVEL))
-  CALL PHGCUT(XMN,UV,WSAVE,IFAX,Z, &
-       MNAUF,MNAUF,MAUF,MANF,MAXL,MAXB,2*MLEVEL)
-
-
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!   READ Divergence
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  FILENAME='fort.13'
-  CALL READSPECTRAL(FILENAME,XMN,MNAUF,MLEVEL,MLEVEL,(/155/))
-  ! Tranform horizontal divergence on gaussian grid
-  ALLOCATE (DG(NGI,MLEVEL))
-  CALL PHGR213(XMN,DG,GWSAVE,GIFAX,P,MLAT,MNAUF,NGI,NGJ,MLEVEL)
-
-
-  ! compute gradient of LNSP (log of surface pressure) on gaussian grid 
-  ALLOCATE (H(0:(MNAUF+2)*(MNAUF+3)/2))
-  ALLOCATE (DPSDL(NGI,1),DPSDM(NGI,1))
-  CALL PHGRAD(LNPMN,DPSDL,DPSDM,GWSAVE,GIFAX,P,H,MLAT,MNAUF,NGI,NGJ,1)
-
-  ! Compute vertical weed spind on gaussian grid
-  ALLOCATE (ETAG(NGI,MLEVEL))
-  CALL CONTGL(HILF,DPSDL,DPSDM,DG,UGVG(:,1),UGVG(:,MLEVEL+1), &
-       GBREITE,ETAG,MLAT,AK,BK,NGI,NGJ,MLEVEL)
-
-
-  CALL GRPH213(XMN,ETAG,GWSAVE,GIFAX,PP,WEIGHT,MLAT, &
-       MNAUF,NGI,NGJ,MLEVEL)
-  IF(MSMOOTH .ne. 0) THEN
-    DO K=1,MLEVEL
-       CALL SPFILTER(XMN(:,K),MNAUF,MSMOOTH)
-    ENDDO
-  ENDIF
-  ALLOCATE (ETA(MAXL,MAXB,MLEVEL))
-  CALL PHGCUT(XMN,ETA,WSAVE,IFAX,Z,MNAUF,MNAUF,MAUF,MANF,MAXL,MAXB,MLEVEL)
-
-  CALL GRPH213(XMN,HILF,GWSAVE,GIFAX,PP,WEIGHT,MLAT, MNAUF,NGI,NGJ,1)
-
-  IF(MSMOOTH .ne. 0) CALL SPFILTER(XMN(:,1),MNAUF,MSMOOTH)
-  ALLOCATE (DPSDT(MAXL, MAXB,1))
-  CALL PHGCUT(XMN,DPSDT,WSAVE,IFAX,Z,MNAUF,MNAUF,MAUF,MANF,MAXL,MAXB,1)
-
-  CALL STATIS(MAXL,MAXB,1,DPSDT,RMS,MW,SIG)
-  WRITE(*,'(A12,3F11.4)') 'STATISTICS DPSDT: ',RMS,MW,SIG
-
-  CALL GRPH213(XMN,PSG,GWSAVE,GIFAX,PP,WEIGHT,MLAT,MNAUF,NGI,NGJ,1)
-  CALL PHGCUT(XMN,PS,WSAVE,IFAX,Z,MNAUF,MNAUF,MAUF,MANF,MAXL,MAXB,1)
-
-  CALL STATIS(MAXL,MAXB,1,PS,RMS,MW,SIG)
-  WRITE(*,'(A12,3F11.4)') 'STATISTICS: ',RMS,MW,SIG
-
-114 DEALLOCATE(HILF,PSG,DPSDL,DPSDM,ETAG,DG,LNPMN)
-
-  DEALLOCATE(PP,P,UGVG,MLAT,GBREITE,WEIGHT,GWSAVE,XMN)
-
-  ! CREATE FILE VERTICAL.EC NEEDED BY POP MODEL
-
-  open(21,file='VERTICAL.EC')
-  write(21,'(a)')
-  write(21,'(a)') 'VERTICAL DISCRETIZATION OF POP MODEL'
-  write(21,'(a)')
-  write(21,'(i3,a)') MLEVEL,'   number of layers'
-  write(21,'(a)')
-  write(21,'(a)') '* A(NLEV+1)'
-  write(21,'(a)')
-  do  i=1,MLEVEL+1
-     write(21,'(f18.12)') AK(I)
-  enddo
-  write(21,'(a)')
-  write(21,'(a)') '* B(NLEV+1)'
-  write(21,'(a)')
-  do  i=1,MLEVEL+1
-     write(21,'(f18.12)') BK(I)
-  enddo
-  close(21)
-
-
-  !     Calculation of etadot in CONTGL needed scaled winds (ucosphi,vcosphi)
-  !     Now we are transforming back to the usual winds. 
-  ALLOCATE (HILFUV(2*MAXL,2))
-  DO K=1,MLEVEL
-     DO J=2,MAXB-1
-        COSB=SQRT(1.0-(BREITE(J))*(BREITE(J)))
-        UV(:,J,K)=UV(:,J,K)/COSB
-        UV(:,J,MLEVEL+K)=UV(:,J,MLEVEL+K)/COSB
-     ENDDO
-     ! special treatment for poles, if necessary. 
-     DO J=1,MAXB,MAXB-1
-        COSB=SQRT(1.0-(BREITE(J))*(BREITE(J)))
-        if(1.0-BREITE(J)*BREITE(J) .gt. 0 .OR. MGAUSS .NE. 1) then
-           IF(RLA0 .EQ. -90.0 .AND. J .EQ. MAXB .OR. &
-                RLA1 .EQ. 90.0 .AND. J .EQ. 1) then
-              UV(:,J,K)=UV(:,J,K)*1.D6
-              UV(:,J,MLEVEL+K)=UV(:,J,MLEVEL+K)*1.D6
-           else
-              UV(:,J,K)=UV(:,J,K)/COSB
-              UV(:,J,MLEVEL+K)=UV(:,J,MLEVEL+K)/COSB
-           endif
-        else
-           HILFUV(5:MAXL,:)=0.
-           HILFUV(1:2,:)=0.
-           IF(J.EQ.MAXB) THEN
-              ! Suedpol
-              HILFUV(3:4,1)=CUA(:,4,K)
-              HILFUV(3:4,2)=CVA(:,4,K)
-           ELSE
-              ! Nordpol
-              HILFUV(3:4,1)=CUA(:,2,K)
-              HILFUV(3:4,2)=CVA(:,2,K)
-           ENDIF
-           CALL RFOURTR(HILFUV(:,1),WSAVE,IFAX,MAXL/2-1,MAXL)
-           DO I=0,MAXL-1
-              IF(MANF+I.LE.MAXL) THEN
-                 UV(I+1,J,K)=HILFUV(MANF+I,1)
-              ELSE
-                 UV(I+1,J,K)=HILFUV(MANF-MAXL+I,1)
-              ENDIF
-           ENDDO
-           CALL RFOURTR(HILFUV(:,2),WSAVE,IFAX,MAXL/2-1,MAXL)
-           DO I=0,MAXL-1
-              IF(MANF+I.LE.MAXL) THEN
-                 UV(I+1,J,MLEVEL+K)=HILFUV(MANF+I,2)
-              ELSE
-                 UV(I+1,J,MLEVEL+K)=HILFUV(MANF-MAXL+I,2)
-              ENDIF
-           ENDDO
-        endif
-     ENDDO
-  ENDDO
-
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  !                      READING OF T                      !
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  ALLOCATE (T(MAXL, MAXB, MLEVEL))
-  FILENAME='fort.11'
-  CALL READLATLON(FILENAME,T,MAXL,MAXB,MLEVEL,(/130/))
-
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  !                    WRITE MODEL LEVEL DATA TO fort.15            !
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  ! open output file
-  call grib_open_file(LUNIT,'fort.15','w')
-
-  ! we use temperature on lat/lon on model levels as template for model level data
-  LUNIT_OUT=0
-  call grib_open_file(LUNIT_OUT,'fort.11','r')
-  call grib_new_from_file(LUNIT_OUT,igrib, iret)
-  call grib_close_file(LUNIT_OUT)
-
-
-  CALL WRITELATLON(LUNIT,igrib,UV(:,:,1),MAXL,MAXB,MLEVEL,MLEVELIST,131)
-
-  CALL WRITELATLON(LUNIT,igrib,UV(:,:,MLEVEL+1),MAXL,MAXB,MLEVEL,MLEVELIST,132)
-
-  CALL WRITELATLON(LUNIT,igrib,ETA,MAXL,MAXB,MLEVEL,MLEVELIST,METAPAR)
-
-  CALL WRITELATLON(LUNIT,igrib,T,MAXL,MAXB,MLEVEL,MLEVELIST,130)
-
-  CALL WRITELATLON(LUNIT,igrib,PS,MAXL,MAXB,1,'1',134)
-
-  call grib_close_file(LUNIT)
-
-
-2000 STOP 'SUCCESSFULLY FINISHED CONVERT_PRE: CONGRATULATIONS'
-3000 STOP 'ROUTINE CONVERT_PRE: ERROR'
-9999 stop 'ROUTINE CONVERT_PRE: ERROR'
-
-CONTAINS
-
-  SUBROUTINE STATIS (NI,NJ,NK,PHI,RMS,MW,SIG)
-    IMPLICIT NONE
-
-    integer, intent(in) :: NI, NJ, NK
-
-    REAL PHI(NI,NJ,NK),SIG,MW,RMS,P
-    INTEGER N
-
-    N=NI*NJ*NK
-
-    RMS=0.
-    MW=0.
-
-    DO  I=1,NI
-       DO  J=1,NJ
-          DO  K=1,NK
-             P=PHI(I,J,K)
-             RMS=RMS+P*P
-             MW=MW+P
-          ENDDO
-       ENDDO
-    ENDDO
-
-    RMS=SQRT(RMS/N)
-    MW=MW/N
-
-    IF(RMS*RMS-MW*MW.LT.0.) THEN	  
-       SIG=0.0
-    ELSE
-       SIG=SQRT(RMS*RMS-MW*MW)
-    ENDIF
-
-    RETURN
-  END SUBROUTINE STATIS
-
-END PROGRAM PRECONVERT
Index: eproc/src/rwGRIB2.f90
===================================================================
--- preproc/src/rwGRIB2.f90	(revision 57637935b8c736ecb0a376df5e8f6a044bbd05af)
+++ 	(revision )
@@ -1,237 +1,0 @@
-MODULE RWGRIB2
-
-CONTAINS
-
-  SUBROUTINE READLATLON(FILENAME,FELD,MAXL,MAXB,MLEVEL,MPAR)
-
-    USE GRIB_API
-
-    IMPLICIT NONE
-
-    integer                            ::  ifile
-    integer                            ::  iret
-    integer                            ::  n,mk,parid,nm
-    integer                            ::  i,k
-    integer,dimension(:),allocatable   ::  igrib
-    integer                            ::  numberOfPointsAlongAParallel
-    integer                            ::  numberOfPointsAlongAMeridian
-    real, dimension(:), allocatable    ::  values
-    integer                            ::  numberOfValues
-    real,dimension(maxl,maxb,mlevel)   ::  feld  
-    integer:: maxl,maxb,mlevel,mstride,mpar(:),irest,div
-    integer :: l(size(mpar))
-    character*(*):: filename                             
-
-    call grib_open_file(ifile, TRIM(FILENAME),'r')
-
-    ! count the messages in the file
-    call grib_count_in_file(ifile,n)
-    allocate(igrib(n))
-    igrib=-1
-
-    ! Load the messages from the file.
-    DO i=1,n
-       call grib_new_from_file(ifile,igrib(i), iret)
-    END DO
-
-    ! we can close the file
-    call grib_close_file(ifile)
-
-    nm=size(mpar)
-    div=mlevel/nm
-    l=0
-
-    ! Loop on all the messages in memory
-    iloop:  DO i=1,n
-       !      write(*,*) 'processing message number ',i
-       !     get as a integer
-       call grib_get(igrib(i),'numberOfPointsAlongAParallel', &
-            numberOfPointsAlongAParallel)
-
-       !     get as a integer
-       call grib_get(igrib(i),'numberOfPointsAlongAMeridian', &
-            numberOfPointsAlongAMeridian)
-
-       call grib_get(igrib(i),'numberOfVerticalCoordinateValues',mk)
-
-       call grib_get_size(igrib(i),'values',numberOfValues)
-       !      write(*,*) 'numberOfValues=',numberOfValues
-
-       allocate(values(numberOfValues), stat=iret)
-       !     get data values
-       call grib_get(igrib(i),'values',values)
-
-       call grib_get(igrib(i),'paramId',parid)
-
-       kloop:  do k=1,nm
-          if(parid .eq. mpar(k)) then
-             l(k)=l(k)+1
-             feld(:,:,(k-1)*div+l(k))=reshape(values,(/maxl,maxb/))
-             !         print*,(k-1)*div+l(k),parid
-             exit kloop
-          endif
-       enddo kloop
-       if(k .gt. nm .and. parid .ne. mpar(nm)) then
-          write(*,*) k,nm,parid,mpar(nm)
-          write(*,*) 'ERROR readlatlon: parameter ',parid,'is not',mpar
-          stop
-       endif
-
-       !      print*,i
-      deallocate(values)
-    END DO iloop
-    write(*,*) 'readlatlon: ',i-1,' records read'
-
-    DO i=1,n
-       call grib_release(igrib(i))
-    END DO
-
-    deallocate(igrib)
-
-  END SUBROUTINE READLATLON
-
-  SUBROUTINE WRITELATLON(iunit,igrib,FELD,MAXL,MAXB,MLEVEL,&
-       MLEVELIST,MPAR)
-
-    USE GRIB_API
-
-    IMPLICIT NONE
-
-    INTEGER IFIELD,MLEVEL,MNAUF,I,J,K,L,IERR,JOUT
-    INTEGER MPAR,MAXL,MAXB,LEVMIN,LEVMAX
-    INTEGER IUNIT,igrib
-    REAL ZSEC4(MAXL*MAXB)
-    REAL    FELD(MAXL,MAXB,MLEVEL)
-    CHARACTER*(*) MLEVELIST
-    INTEGER ILEVEL(MLEVEL),MLINDEX(MLEVEL+1),LLEN
-
-    ! parse MLEVELIST
-
-    LLEN=len(trim(MLEVELIST))
-    if(index(MLEVELIST,'to') .ne. 0 .or. index(MLEVELIST,'TO') .ne. 0) THEN
-       i=index(MLEVELIST,'/')
-       read(MLEVELIST(1:i-1),*) LEVMIN
-       i=index(MLEVELIST,'/',.true.)
-       read(MLEVELIST(i+1:LLEN),*) LEVMAX
-       l=0
-       do i=LEVMIN,LEVMAX
-          l=l+1
-          ILEVEL(l)=i
-       enddo
-    else
-       l=1
-       MLINDEX(1)=0
-       do i=1,LLEN
-          if(MLEVELIST(i:i) .eq. '/') THEN
-             l=l+1
-             MLINDEX(l)=i
-	  endif
-       enddo
-       MLINDEX(l+1)=LLEN+1
-       do i=1,l
-	  read(MLEVELIST(MLINDEX(i)+1:MLINDEX(i+1)-1),*) ILEVEL(i)
-       enddo
-    endif
-
-    DO k=1,l
-       call grib_set(igrib,"level",ILEVEL(k))
-       call grib_set(igrib,"paramId",MPAR)
-       if(l .ne. mlevel) then
-          zsec4(1:maxl*maxb)=RESHAPE(FELD(:,:,ILEVEL(k)),(/maxl*maxb/))
-       else
-          zsec4(1:maxl*maxb)=RESHAPE(FELD(:,:,k),(/maxl*maxb/))
-       endif
-       call grib_set(igrib,"values",zsec4)
-
-       call grib_write(igrib,iunit)
-
-    ENDDO
-
-  END SUBROUTINE WRITELATLON
-
-  SUBROUTINE READSPECTRAL(FILENAME,CXMN,MNAUF,MLEVEL,&
-       MAXLEV,MPAR)
-
-    USE GRIB_API
-
-    IMPLICIT NONE
-
-    character*(*),               intent(in)    :: filename      
-
-    integer                            ::  ifile
-    integer                            ::  iret
-    integer                            ::  n,mk,div,nm,k
-    integer                            ::  i,j,parid
-    integer,dimension(:),allocatable   ::  igrib
-    real, dimension(:), allocatable    ::  values
-    integer                            ::  numberOfValues,maxlev  
-    REAL:: CXMN(0:(MNAUF+1)*(MNAUF+2)-1,MLEVEL)
-    integer:: maxl,maxb,mlevel,mstride,mpar(:),mnauf,ioffset,ipar,ilev,l(size(mpar))
-
-    call grib_open_file(ifile, TRIM(FILENAME),'r')
-
-    ! count the messages in the file
-    call grib_count_in_file(ifile,n)
-    allocate(igrib(n))
-    igrib=-1
-
-    ! Load the messages from the file.
-    DO i=1,n
-       call grib_new_from_file(ifile,igrib(i), iret)
-    END DO
-
-    ! we can close the file
-    call grib_close_file(ifile)
-
-    l=0
-    ! Loop on all the messages in memory
-    iloop: DO i=1,n
-       ! write(*,*) 'processing message number ',i
-       !     get as a integer
-       call grib_get(igrib(i),'pentagonalResolutionParameterJ', j)
-
-       call grib_get_size(igrib(i),'values',numberOfValues)
-       !   write(*,*) 'numberOfValues=',numberOfValues
-
-       call grib_get(igrib(i),'numberOfVerticalCoordinateValues',mk)
-
-       call grib_get(igrib(i),'level',ilev)
-
-       allocate(values(numberOfValues), stat=iret)
-       !     get data values
-       call grib_get(igrib(i),'values',values)
-
-       call grib_get(igrib(i),'paramId',parid)
-       nm=size(mpar)
-       div=mlevel/nm
-       kloop:  do k=1,nm
-          if(parid .eq. mpar(k)) then
-             l(k)=l(k)+1
-             cxmn(:,(k-1)*div+l(k))=values(1:(MNAUF+1)*(MNAUF+2))
-             !         print*,(k-1)*div+l(k),parid
-             exit kloop
-          endif
-
-       enddo kloop
-       if(k .gt. nm .and. parid .ne. mpar(nm)) then
-          write(*,*) k,nm,parid,mpar(nm)
-          write(*,*) 'ERROR readspectral: parameter ',parid,'is not',mpar
-          stop
-       endif
-
-       !      print*,i
-      deallocate(values)
-
-    END DO iloop
-
-    write(*,*) 'readspectral: ',i-1,' records read'
-
-    DO i=1,n
-       call grib_release(igrib(i))
-    END DO
-
-    deallocate(igrib)
-
-  END SUBROUTINE READSPECTRAL
-
-END MODULE RWGRIB2
Index: sts/preproc/README.md
===================================================================
--- tests/preproc/README.md	(revision 57637935b8c736ecb0a376df5e8f6a044bbd05af)
+++ 	(revision )
@@ -1,19 +1,0 @@
-# README #
-
-This documentation shows how to extract ECMWF ERA-Interim GRIB fields and generate FLEXPART WINDFIELDS. 
-
-
-Make sure you have installed FLEXPART preproc properly (see corresponding installation instructions).
-
-./run_retrieve
-
---> It will generate a directory called 2007 containing ECMWF ERA-Interim GRIB fields
-
---> And a directory called WIND_FIELDS containing FLEXPART WINDFIELDS to run FLEXPART.
-
-After this test, you can remove ECMWF ERA-Interim GRIB fields as they are no longer needed:
-
-rm -rf 2007
-
-Then you can test your new generated WIND_FIELDS (see separate example).
-
Index: sts/preproc/convert.namelist
===================================================================
--- tests/preproc/convert.namelist	(revision 57637935b8c736ecb0a376df5e8f6a044bbd05af)
+++ 	(revision )
@@ -1,16 +1,0 @@
-&NAMGEN
-   MAXL=360, MAXB=181,
-   MLEVEL=60, MLEVELIST="1/TO/60",
-   MNAUF=159,METAPAR=77,
-   RLO0=-179.0, RLO1=180.0, RLA0=-90.0, RLA1=90.0,
-   MGAUSS=1,
-   MSMOOTH=0,META=0,
-   MDPDETA=1
-/
-&NAMFX2
-   NX=360, NY=181,
-   MAXTIME=400,JPOLY=4,
-   JHRF=3,
-   RLO0=-179.0, RLA0=-90.0, DX=1.0/1.0, DY=1.0/1.0
-/
-
Index: sts/preproc/run_retrieve
===================================================================
--- tests/preproc/run_retrieve	(revision 57637935b8c736ecb0a376df5e8f6a044bbd05af)
+++ 	(revision )
@@ -1,30 +1,0 @@
-#!/bin/bash
-
-if [ -z "$FLEXPART_HOME" ]; then
-# if FLEXPART_HOME is not defined we assume you run this test from tests/preproc and
-# flexpart is installed in $PWD/../..
-#
-  export FLEXPART_HOME=$PWD/../..
-fi
-
-# For this test, we generate WINDFIELDS in the current directory
-
-FLEXPART_WINDS=$PWD/WIND_FIELDS
-
-# You may change these dates if you want to test your installation on other dates!
-# SDATE is the start date
-SDATE=20070119
-# EDATE is the end date
-EDATE=20070120
-
-# This directory contains GRIB templates for generating WINDFIELDS from ECMWF ERA-Interim data.
-export GRIB_TEMPLATES_PATH=$FLEXPART_HOME/preproc/grib_templates
-
-# Extract ECMWF ERA-Interim data from ECMWF Meteorological Archive (MARS) with ecmwfapi
-# we do not specify the output directory so data will be stored in the current directory 
-getEIdata.py  --start_date=$SDATE --end_date=$EDATE --area=90.0/-179.0/-90.0/180.0
-
-
-# Generate FLEXPART WINDFIELDS from ECMWF ERA-Interim data and store them in $FLEXPART_WINDS
-prepareFLEXPART.py  --start_date=$SDATE --end_date=$EDATE --namelist=convert.namelist --inputdir=./ \
-                    --outputdir=$FLEXPART_WINDS
Index: sts/test_1/README
===================================================================
--- tests/test_1/README	(revision dc832a165ecc347899d2be9092d5eda7a3bf756a)
+++ 	(revision )
@@ -1,21 +1,0 @@
-To run this test, just execute FLEXPART in the current directory. 
-Contains the options directory from relese 9.2 
-The pathfile was modified
-The feature tested are the new SPECIES file.
-
-To run the test at NILU type
-
-mkdir output
-ln -s ../../src/FP_ecmwf_gfortran .
-./FP_ecmwf_gfortran
-
-2014-10-16, tested on nordre@nilu (Ubuntu 12.04):
->arch 
-x86_6
->gfortran --version 
-GNU Fortran (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
-
-Ignacio Pisso: ip@nilu.no 
-
-
-
Index: sts/test_1/options/AGECLASSES
===================================================================
--- tests/test_1/options/AGECLASSES	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,15 +1,0 @@
-************************************************
-*                                              *
-*Lagrangian particle dispersion model FLEXPART *
-*         Please select your options           *
-*                                              *
-*This file determines the ageclasses to be used*
-*                                              *
-*Ages are given in seconds. The first class    *
-*starts at age zero and goes up to the first   *
-*age specified. The last age gives the maximum *
-*time a particle is carried in the simulation. *
-*                                              *
-************************************************
-1          Integer        Number of age classes
-1728000 
Index: sts/test_1/options/COMMAND
===================================================================
--- tests/test_1/options/COMMAND	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,198 +1,0 @@
-********************************************************************************
-*                                                                              *
-*      Input file for the Lagrangian particle dispersion model FLEXPART        *
-*                           Please select your options                         *
-*                                                                              *
-********************************************************************************
-
-1. __                3X, I2
-    1       
-   LDIRECT           1 FOR FORWARD SIMULATION, -1 FOR BACKWARD SIMULATION
-
-2. ________ ______   3X, I8, 1X, I6
-   20111210 000000
-   YYYYMMDD HHMISS   BEGINNING DATE OF SIMULATION
-
-3. ________ ______   3X, I8, 1X, I6
-   20111210 120000
-   YYYYMMDD HHMISS   ENDING DATE OF SIMULATION
-
-4. _____             3X, I5
-   10800 
-   SSSSS             OUTPUT EVERY SSSSS SECONDS
-
-5. _____             3X, I5
-   10800 
-   SSSSS             TIME AVERAGE OF OUTPUT (IN SSSSS SECONDS)
-
-6. _____             3X, I5
-     900 
-   SSSSS             SAMPLING RATE OF OUTPUT (IN SSSSS SECONDS)
-
-7. _________         3X, I9
-   999999999
-   SSSSSSSSS         TIME CONSTANT FOR PARTICLE SPLITTING (IN SECONDS)
-
-8. _____             3X, I5
-     900 
-   SSSSS             SYNCHRONISATION INTERVAL OF FLEXPART (IN SECONDS)
-
-9.  ---.--           4X, F6.4
-     -5.0
-    CTL              FACTOR, BY WHICH TIME STEP MUST BE SMALLER THAN TL
-
-10. ---              4X, I3
-      4
-    IFINE            DECREASE OF TIME STEP FOR VERTICAL MOTION BY FACTOR IFINE
-
-11. -                4X, I1
-    3  
-    IOUT             1 CONCENTRATION (RESIDENCE TIME FOR BACKWARD RUNS) OUTPUT, 2 MIXING RATIO OUTPUT, 3 BOTH,4 PLUME TRAJECT., 5=1+4
-
-12. -                4X, I1
-    0  
-    IPOUT            PARTICLE DUMP: 0 NO, 1 EVERY OUTPUT INTERVAL, 2 ONLY AT END
-
-13. _                4X, I1
-    1
-    LSUBGRID         SUBGRID TERRAIN EFFECT PARAMETERIZATION: 1 YES, 0 NO
-
-14. _                4X, I1
-    1
-    LCONVECTION      CONVECTION: 1 YES, 0 NO
-
-15. _                4X, I1
-    0
-    LAGESPECTRA      AGE SPECTRA: 1 YES, 0 NO
-
-16. _                4X, I1
-    0
-    IPIN             CONTINUE SIMULATION WITH DUMPED PARTICLE DATA: 1 YES, 0 NO
-
-17. _                
-    0                4X,I1 
-    IOFR             IOUTPUTFOREACHREL CREATE AN OUPUT FILE FOR EACH RELEASE LOCATION: 1 YES, 0 NO
-
-18. _                4X, I1
-    0
-    IFLUX            CALCULATE FLUXES: 1 YES, 0 NO
-
-19. _                4X, I1
-    0
-    MDOMAINFILL      DOMAIN-FILLING TRAJECTORY OPTION: 1 YES, 0 NO, 2 STRAT. O3 TRACER
-
-20. _                4X, I1
-    1
-    IND_SOURCE       1=MASS UNIT , 2=MASS MIXING RATIO UNIT 
-
-21. _                4X, I1
-    1
-    IND_RECEPTOR     1=MASS UNIT , 2=MASS MIXING RATIO UNIT 
-
-22. _                4X, I1
-    0
-    MQUASILAG        QUASILAGRANGIAN MODE TO TRACK INDIVIDUAL PARTICLES: 1 YES, 0 NO
-
-23. _                4X, I1
-    0
-    NESTED_OUTPUT    SHALL NESTED OUTPUT BE USED? 1 YES, 0 NO
-
-24. _                4X, I1
-    2
-    LINIT_COND       INITIAL COND. FOR BW RUNS: 0=NO,1=MASS UNIT,2=MASS MIXING RATIO UNIT
-
-25. _                4X, I1
-    0
-    SURF_ONLY        IF THIS IS SET TO 1, OUTPUT IS WRITTEN ONLY OUT FOR LOWEST LAYER
-
-
-1. Simulation direction, 1 for forward, -1 for backward in time 
-	(consult Seibert and Frank, 2004 for backward runs)
-
-2. Beginning date and time of simulation. Must be given in format
-   YYYYMMDD HHMISS, where YYYY is YEAR, MM is MONTH, DD is DAY, HH is HOUR,
-   MI is MINUTE and SS is SECOND. Current version utilizes UTC.
-
-3. Ending date and time of simulation. Same format as 3.
-
-4. Average concentrations are calculated every SSSSS seconds.
-
-5. The average concentrations are time averages of SSSSS seconds
-   duration. If SSSSS is 0, instantaneous concentrations are outputted.
-
-6. The concentrations are sampled every SSSSS seconds to calculate the time
-   average concentration. This period must be shorter than the averaging time.
-
-7. Time constant for particle splitting. Particles are split into two
-   after SSSSS seconds, 2xSSSSS seconds, 4xSSSSS seconds, and so on.
-
-8. All processes are synchronized with this time interval (lsynctime).
-   Therefore, all other time constants must be multiples of this value.
-   Output interval and time average of output must be at least twice lsynctime.
-
-9. CTL must be >1 for time steps shorter than the  Lagrangian time scale
-   If CTL<0, a purely random walk simulation is done
-
-10.IFINE=Reduction factor for time step used for vertical wind
-
-11.IOUT determines how the output shall be made: concentration
-   (ng/m3, Bq/m3), mixing ratio (pptv), or both, or plume trajectory mode,
-   or concentration + plume trajectory mode.
-   In plume trajectory mode, output is in the form of average trajectories.
-
-12.IPOUT determines whether particle positions are outputted (in addition
-   to the gridded concentrations or mixing ratios) or not.
-   0=no output, 1 output every output interval, 2 only at end of the
-   simulation
-
-13.Switch on/off subgridscale terrain parameterization (increase of
-   mixing heights due to subgridscale orographic variations)
-
-14.Switch on/off the convection parameterization
-
-15.Switch on/off the calculation of age spectra: if yes, the file AGECLASSES
-   must be available
-
-16. If IPIN=1, a file "partposit_end" from a previous run must be available in
-    the output directory. Particle positions are read in and previous simulation
-    is continued. If IPIN=0, no particles from a previous run are used
-
-17. IF IOUTPUTFOREACHRELEASE is set to 1, one output field for each location
-    in the RLEASE file is created. For backward calculation this should be
-    set to 1. For forward calculation both possibilities are applicable.
-
-18. If IFLUX is set to 1, fluxes of each species through each of the output
-    boxes are calculated. Six fluxes, corresponding to northward, southward,
-    eastward, westward, upward and downward are calculated for each grid cell of
-    the output grid. The control surfaces are placed in the middle of each
-    output grid cell. If IFLUX is set to 0, no fluxes are determined.
-
-19. If MDOMAINFILL is set to 1, the first box specified in file RELEASES is used
-    as the domain where domain-filling trajectory calculations are to be done.
-    Particles are initialized uniformly distributed (according to the air mass
-    distribution) in that domain at the beginning of the simulation, and are
-    created at the boundaries throughout the simulation period.
-
-20. IND_SOURCE switches between different units for concentrations at the source
-    NOTE that in backward simulations the release of computational particles 
-    takes place at the "receptor" and the sampling of particles at the "source".
-          1=mass units (for bwd-runs = concentration)
-          2=mass mixing ratio units 
-21. IND_RECEPTOR switches between different units for concentrations at the receptor
-          1=mass units (concentrations)
-          2=mass mixing ratio units 
-
-22. MQUASILAG indicates whether particles shall be numbered consecutively (1) or
-    with their release location number (0). The first option allows tracking of
-    individual particles using the partposit output files
-
-23. NESTED_OUTPUT decides whether model output shall be made also for a nested
-    output field (normally with higher resolution)
-
-24. LINIT_COND determines whether, for backward runs only, the sensitivity to initial
-    conditions shall be calculated and written to output files
-    0=no output, 1 or 2 determines in which units the initial conditions are provided.
-
-25. SURF_ONLY: When set to 1, concentration/emission sensitivity is written out only
-    for the surface layer; useful for instance when only footprint emission sensitivity is needed
-    but initial conditions are needed on a full 3-D grid
Index: sts/test_1/options/COMMAND.alternative
===================================================================
--- tests/test_1/options/COMMAND.alternative	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,123 +1,0 @@
-********************************************************************************
-*                                                                              *
-*      Input file for the Lagrangian particle dispersion model FLEXPART        *
-*                           Please select your options                         *
-*                                                                              *
-********************************************************************************
-
- 1              LDIRECT           1 FOR FORWARD SIMULATION, -1 FOR BACKWARD SIMULATION
-20040720 000000 YYYYMMDD HHMISS   BEGINNING DATE OF SIMULATION
-20040721 120000 YYYYMMDD HHMISS   ENDING DATE OF SIMULATION
-10800           SSSSS             OUTPUT EVERY SSSSS SECONDS
-10800           SSSSS             TIME AVERAGE OF OUTPUT (IN SSSSS SECONDS)
-900             SSSSS             SAMPLING RATE OF OUTPUT (IN SSSSS SECONDS)
-9999999         SSSSSSS           TIME CONSTANT FOR PARTICLE SPLITTING (IN SECONDS)
-900             SSSSS             SYNCHRONISATION INTERVAL OF FLEXPART (IN SECONDS)
--5.0            CTL               FACTOR, BY WHICH TIME STEP MUST BE SMALLER THAN TL
-4               IFINE             DECREASE OF TIME STEP FOR VERTICAL MOTION BY FACTOR IFINE
-3               IOUT              1 CONC. (RESID. TIME FOR BACKWARD RUNS) OUTPUT,2 MIX. RATIO OUTPUT,3 BOTH,4 PLUME TRAJECT.,5=1+4
-0               IPOUT             PARTICLE DUMP: 0 NO, 1 EVERY OUTPUT INTERVAL, 2 ONLY AT END
-1               LSUBGRID          SUBGRID TERRAIN EFFECT PARAMETERIZATION: 1 YES, 0 NO
-1               LCONVECTION       CONVECTION: 1 YES, 0 NO
-0               LAGESPECTRA       AGE SPECTRA: 1 YES, 0 NO
-0               IPIN              CONTINUE SIMULATION WITH DUMPED PARTICLE DATA: 1 YES, 0 NO
-0               IOUTPUTFOREACHREL CREATE AN OUPUT FILE FOR EACH RELEASE LOCATION: 1 YES, 0 NO
-0               IFLUX             CALCULATE FLUXES: 1 YES, 0 NO
-0               MDOMAINFILL       DOMAIN-FILLING TRAJECTORY OPTION: 1 YES, 0 NO
-1               IND_SOURCE        1=MASS UNIT , 2=MASS MIXING RATIO UNIT
-1               IND_RECEPTOR      1=MASS UNIT , 2=MASS MIXING RATIO UNIT
-0               MQUASILAG         QUASILAGRANGIAN MODE TO TRACK INDIVIDUAL PARTICLES: 1 YES, 0 NO
-0               NESTED_OUTPUT     SHALL NESTED OUTPUT BE USED? YES, 0 NO
-2               LINIT_COND        INITIAL COND. FOR BW RUNS: 0=NO,1=MASS UNIT,2=MASS MIXING RATIO UNIT
-0               SURF_ONLY         IF THIS IS SET TO 1, OUTPUT IS WRITTEN ONLY OUT FOR LOWEST LAYER
-
-
-1. Simulation direction, 1 for forward, -1 for backward in time
-
-2. Beginning date and time of simulation. Must be given in format
-   YYYYMMDD HHMISS, where YYYY is YEAR, MM is MONTH, DD is DAY, HH is HOUR,
-   MI is MINUTE and SS is SECOND. Current version utilizes UTC.
-
-3. Ending date and time of simulation. Same format as 3.
-
-4. Average concentrations are calculated every SSSSS seconds.
-
-5. The average concentrations are time averages of SSSSS seconds
-   duration. If SSSSS is 0, instantaneous concentrations are outputted.
-
-6. The concentrations are sampled every SSSSS seconds to calculate the time
-   average concentration. This period must be shorter than the averaging time.
-
-7. Time constant for particle splitting. Particles are split into two
-   after SSSSS seconds, 2xSSSSS seconds, 4xSSSSS seconds, and so on.
-
-8. All processes are synchronized with this time interval (lsynctime).
-   Therefore, all other time constants must be multiples of this value.
-   Output interval and time average of output must be at least twice lsynctime.
-
-9. CTL must be >1 for time steps shorter than the  Lagrangian time scale
-   If CTL<0, a purely random walk simulation is done
-
-10.IFINE=Reduction factor for time step used for vertical wind
-
-11.IOUT determines how the output shall be made: concentration
-   (ng/m3, Bq/m3), mixing ratio (pptv), or both, or plume trajectory mode,
-   or concentration + plume trajectory mode.
-   In plume trajectory mode, output is in the form of average trajectories.
-
-12.IPOUT determines whether particle positions are outputted (in addition
-   to the gridded concentrations or mixing ratios) or not.
-   0=no output, 1 output every output interval, 2 only at end of the
-   simulation
-
-13.Switch on/off subgridscale terrain parameterization (increase of
-   mixing heights due to subgridscale orographic variations)
-
-14.Switch on/off the convection parameterization
-
-15.Switch on/off the calculation of age spectra: if yes, the file AGECLASSES
-   must be available
-
-16. If IPIN=1, a file "partposit_end" from a previous run must be available in
-    the output directory. Particle positions are read in and previous simulation
-    is continued. If IPIN=0, no particles from a previous run are used
-
-17. IF IOUTPUTFOREACHRELEASE is set to 1, one output field for each location
-    in the RLEASE file is created. For backward calculation this should be
-    set to 1. For forward calculation both possibilities are applicable.
-
-18. If IFLUX is set to 1, fluxes of each species through each of the output
-    boxes are calculated. Six fluxes, corresponding to northward, southward,
-    eastward, westward, upward and downward are calculated for each grid cell of
-    the output grid. The control surfaces are placed in the middle of each
-    output grid cell. If IFLUX is set to 0, no fluxes are determined.
-
-19. If MDOMAINFILL is set to 1, the first box specified in file RELEASES is used
-    as the domain where domain-filling trajectory calculations are to be done.
-    Particles are initialized uniformly distributed (according to the air mass
-    distribution) in that domain at the beginning of the simulation, and are
-    created at the boundaries throughout the simulation period.
-
-20. IND_SOURCE switches between different units for concentrations at the source
-    NOTE that in backward simulations the release of computational particles
-    takes place at the "receptor" and the sampling of particles at the "source".
-          1=mass units (for bwd-runs = concentration)
-          2=mass mixing ratio units
-21. IND_RECEPTOR switches between different units for concentrations at the receptor
-          1=mass units (concentrations)
-          2=mass mixing ratio units
-
-22. MQUASILAG indicates whether particles shall be numbered consecutively (1) or
-    with their release location number (0). The first option allows tracking of
-    individual particles using the partposit output files
-
-23. NESTED_OUTPUT decides whether model output shall be made also for a nested
-    output field (normally with higher resolution)
-
-24. LINIT_COND determines whether, for backward runs only, the sensitivity to initial
-    conditions shall be calculated and written to output files
-    0=no output, 1 or 2 determines in which units the initial conditions are provided.
-
-25. SURF_ONLY: When set to 1, concentration/emission sensitivity is written out only
-    for the surface layer; useful for instance when only footprint emission sensitivity is needed
-    but initial conditions are needed on a full 3-D grid
Index: sts/test_1/options/COMMAND.reference
===================================================================
--- tests/test_1/options/COMMAND.reference	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,198 +1,0 @@
-********************************************************************************
-*                                                                              *
-*      Input file for the Lagrangian particle dispersion model FLEXPART        *
-*                           Please select your options                         *
-*                                                                              *
-********************************************************************************
-
-1. __                3X, I2
-    1       
-   LDIRECT           1 FOR FORWARD SIMULATION, -1 FOR BACKWARD SIMULATION
-
-2. ________ ______   3X, I8, 1X, I6
-   20110310 000000
-   YYYYMMDD HHMISS   BEGINNING DATE OF SIMULATION
-
-3. ________ ______   3X, I8, 1X, I6
-   20110310 120000
-   YYYYMMDD HHMISS   ENDING DATE OF SIMULATION
-
-4. _____             3X, I5
-   10800 
-   SSSSS             OUTPUT EVERY SSSSS SECONDS
-
-5. _____             3X, I5
-   10800 
-   SSSSS             TIME AVERAGE OF OUTPUT (IN SSSSS SECONDS)
-
-6. _____             3X, I5
-     900 
-   SSSSS             SAMPLING RATE OF OUTPUT (IN SSSSS SECONDS)
-
-7. _________         3X, I9
-   999999999
-   SSSSSSSSS         TIME CONSTANT FOR PARTICLE SPLITTING (IN SECONDS)
-
-8. _____             3X, I5
-     900 
-   SSSSS             SYNCHRONISATION INTERVAL OF FLEXPART (IN SECONDS)
-
-9.  ---.--           4X, F6.4
-     -5.0
-    CTL              FACTOR, BY WHICH TIME STEP MUST BE SMALLER THAN TL
-
-10. ---              4X, I3
-      4
-    IFINE            DECREASE OF TIME STEP FOR VERTICAL MOTION BY FACTOR IFINE
-
-11. -                4X, I1
-    3  
-    IOUT             1 CONCENTRATION (RESIDENCE TIME FOR BACKWARD RUNS) OUTPUT, 2 MIXING RATIO OUTPUT, 3 BOTH,4 PLUME TRAJECT., 5=1+4
-
-12. -                4X, I1
-    0  
-    IPOUT            PARTICLE DUMP: 0 NO, 1 EVERY OUTPUT INTERVAL, 2 ONLY AT END
-
-13. _                4X, I1
-    1
-    LSUBGRID         SUBGRID TERRAIN EFFECT PARAMETERIZATION: 1 YES, 0 NO
-
-14. _                4X, I1
-    1
-    LCONVECTION      CONVECTION: 1 YES, 0 NO
-
-15. _                4X, I1
-    0
-    LAGESPECTRA      AGE SPECTRA: 1 YES, 0 NO
-
-16. _                4X, I1
-    0
-    IPIN             CONTINUE SIMULATION WITH DUMPED PARTICLE DATA: 1 YES, 0 NO
-
-17. _                
-    0                4X,I1 
-    IOFR             IOUTPUTFOREACHREL CREATE AN OUPUT FILE FOR EACH RELEASE LOCATION: 1 YES, 0 NO
-
-18. _                4X, I1
-    0
-    IFLUX            CALCULATE FLUXES: 1 YES, 0 NO
-
-19. _                4X, I1
-    0
-    MDOMAINFILL      DOMAIN-FILLING TRAJECTORY OPTION: 1 YES, 0 NO, 2 STRAT. O3 TRACER
-
-20. _                4X, I1
-    1
-    IND_SOURCE       1=MASS UNIT , 2=MASS MIXING RATIO UNIT 
-
-21. _                4X, I1
-    1
-    IND_RECEPTOR     1=MASS UNIT , 2=MASS MIXING RATIO UNIT 
-
-22. _                4X, I1
-    0
-    MQUASILAG        QUASILAGRANGIAN MODE TO TRACK INDIVIDUAL PARTICLES: 1 YES, 0 NO
-
-23. _                4X, I1
-    0
-    NESTED_OUTPUT    SHALL NESTED OUTPUT BE USED? 1 YES, 0 NO
-
-24. _                4X, I1
-    2
-    LINIT_COND       INITIAL COND. FOR BW RUNS: 0=NO,1=MASS UNIT,2=MASS MIXING RATIO UNIT
-
-25. _                4X, I1
-    0
-    SURF_ONLY        IF THIS IS SET TO 1, OUTPUT IS WRITTEN ONLY OUT FOR LOWEST LAYER
-
-
-1. Simulation direction, 1 for forward, -1 for backward in time 
-	(consult Seibert and Frank, 2004 for backward runs)
-
-2. Beginning date and time of simulation. Must be given in format
-   YYYYMMDD HHMISS, where YYYY is YEAR, MM is MONTH, DD is DAY, HH is HOUR,
-   MI is MINUTE and SS is SECOND. Current version utilizes UTC.
-
-3. Ending date and time of simulation. Same format as 3.
-
-4. Average concentrations are calculated every SSSSS seconds.
-
-5. The average concentrations are time averages of SSSSS seconds
-   duration. If SSSSS is 0, instantaneous concentrations are outputted.
-
-6. The concentrations are sampled every SSSSS seconds to calculate the time
-   average concentration. This period must be shorter than the averaging time.
-
-7. Time constant for particle splitting. Particles are split into two
-   after SSSSS seconds, 2xSSSSS seconds, 4xSSSSS seconds, and so on.
-
-8. All processes are synchronized with this time interval (lsynctime).
-   Therefore, all other time constants must be multiples of this value.
-   Output interval and time average of output must be at least twice lsynctime.
-
-9. CTL must be >1 for time steps shorter than the  Lagrangian time scale
-   If CTL<0, a purely random walk simulation is done
-
-10.IFINE=Reduction factor for time step used for vertical wind
-
-11.IOUT determines how the output shall be made: concentration
-   (ng/m3, Bq/m3), mixing ratio (pptv), or both, or plume trajectory mode,
-   or concentration + plume trajectory mode.
-   In plume trajectory mode, output is in the form of average trajectories.
-
-12.IPOUT determines whether particle positions are outputted (in addition
-   to the gridded concentrations or mixing ratios) or not.
-   0=no output, 1 output every output interval, 2 only at end of the
-   simulation
-
-13.Switch on/off subgridscale terrain parameterization (increase of
-   mixing heights due to subgridscale orographic variations)
-
-14.Switch on/off the convection parameterization
-
-15.Switch on/off the calculation of age spectra: if yes, the file AGECLASSES
-   must be available
-
-16. If IPIN=1, a file "partposit_end" from a previous run must be available in
-    the output directory. Particle positions are read in and previous simulation
-    is continued. If IPIN=0, no particles from a previous run are used
-
-17. IF IOUTPUTFOREACHRELEASE is set to 1, one output field for each location
-    in the RLEASE file is created. For backward calculation this should be
-    set to 1. For forward calculation both possibilities are applicable.
-
-18. If IFLUX is set to 1, fluxes of each species through each of the output
-    boxes are calculated. Six fluxes, corresponding to northward, southward,
-    eastward, westward, upward and downward are calculated for each grid cell of
-    the output grid. The control surfaces are placed in the middle of each
-    output grid cell. If IFLUX is set to 0, no fluxes are determined.
-
-19. If MDOMAINFILL is set to 1, the first box specified in file RELEASES is used
-    as the domain where domain-filling trajectory calculations are to be done.
-    Particles are initialized uniformly distributed (according to the air mass
-    distribution) in that domain at the beginning of the simulation, and are
-    created at the boundaries throughout the simulation period.
-
-20. IND_SOURCE switches between different units for concentrations at the source
-    NOTE that in backward simulations the release of computational particles 
-    takes place at the "receptor" and the sampling of particles at the "source".
-          1=mass units (for bwd-runs = concentration)
-          2=mass mixing ratio units 
-21. IND_RECEPTOR switches between different units for concentrations at the receptor
-          1=mass units (concentrations)
-          2=mass mixing ratio units 
-
-22. MQUASILAG indicates whether particles shall be numbered consecutively (1) or
-    with their release location number (0). The first option allows tracking of
-    individual particles using the partposit output files
-
-23. NESTED_OUTPUT decides whether model output shall be made also for a nested
-    output field (normally with higher resolution)
-
-24. LINIT_COND determines whether, for backward runs only, the sensitivity to initial
-    conditions shall be calculated and written to output files
-    0=no output, 1 or 2 determines in which units the initial conditions are provided.
-
-25. SURF_ONLY: When set to 1, concentration/emission sensitivity is written out only
-    for the surface layer; useful for instance when only footprint emission sensitivity is needed
-    but initial conditions are needed on a full 3-D grid
Index: sts/test_1/options/OUTGRID
===================================================================
--- tests/test_1/options/OUTGRID	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,43 +1,0 @@
-********************************************************************************
-*                                                                              *
-*      Input file for the Lagrangian particle dispersion model FLEXPART        *
-*                       Please specify your output grid                        *
-*                                                                              *
-********************************************************************************
-
-1.  ------.----       4X,F11.4
-      -179.0000       GEOGRAFICAL LONGITUDE OF LOWER LEFT CORNER OF OUTPUT GRID
-    OUTLONLEFT        (left boundary of the first grid cell - not its centre)
-
-2.  ------.----       4X,F11.4
-       -90.0000       GEOGRAFICAL LATITUDE OF LOWER LEFT CORNER OF OUTPUT GRID
-    OUTLATLOWER       (lower boundary of the first grid cell - not its centre)
-
-3.  -----             4X,I5
-      360               NUMBER OF GRID POINTS IN X DIRECTION (= No. of cells + 1)
-    NUMXGRID
-
-4.  -----             4X,I5
-      180             NUMBER OF GRID POINTS IN Y DIRECTION (= No. of cells + 1)
-    NUMYGRID
-
-5.  ------.---        4X,F10.3
-         1.000        GRID DISTANCE IN X DIRECTION
-    DXOUTLON
-
-6.  ------.---        4X,F10.3
-         1.000        GRID DISTANCE IN Y DIRECTION
-    DYOUTLAT
-
-10. -----.-           4X, F7.1
-      100.0
-    LEVEL 4           HEIGHT OF LEVEL (UPPER BOUNDARY)
-
-10. -----.-           4X, F7.1
-     3000.0
-    LEVEL 4           HEIGHT OF LEVEL (UPPER BOUNDARY)
-
-10. -----.-           4X, F7.1
-    50000.0
-    LEVEL 4           HEIGHT OF LEVEL (UPPER BOUNDARY)
-
Index: sts/test_1/options/OUTGRID_NEST
===================================================================
--- tests/test_1/options/OUTGRID_NEST	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,30 +1,0 @@
-********************************************************************************
-*                                                                              *
-*      Input file for the Lagrangian particle dispersion model FLEXPART        *
-*                       Please specify your output grid                        *
-*                                                                              *
-********************************************************************************
-
-1.  ------.----       4X,F11.4
-       -15.0000       GEOGRAFICAL LONGITUDE OF LOWER LEFT CORNER OF OUTPUT GRID
-    OUTLONLEFT        (left boundary of the first grid cell - not its centre)
-
-2.  ------.----       4X,F11.4
-        35.0000       GEOGRAFICAL LATITUDE OF LOWER LEFT CORNER OF OUTPUT GRID
-    OUTLATLOWER       (lower boundary of the first grid cell - not its centre)
-
-3.  -----             4X,I5
-      220             NUMBER OF GRID POINTS IN X DIRECTION (= No. of cells + 1)
-    NUMXGRID
-
-4.  -----             4X,I5
-      120             NUMBER OF GRID POINTS IN Y DIRECTION (= No. of cells + 1)
-    NUMYGRID
-
-5.  ------.-----      4X,F12.5
-         0.25000      GRID DISTANCE IN X DIRECTION
-    DXOUTLON
-
-6.  ------.-----      4X,F12.5
-         0.25000      GRID DISTANCE IN Y DIRECTION
-    DYOUTLAT
Index: sts/test_1/options/RECEPTORS
===================================================================
--- tests/test_1/options/RECEPTORS	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,79 +1,0 @@
-********************************************************************************
-*                                                                              *
-*      Input file for the Lagrangian particle dispersion model FLEXPART        *
-*                       Please specify your receptor points                    *
-*     For the receptor points, ground level concentrations are calculated      *
-*                                                                              *
-********************************************************************************
-1.  ----------------  4X,A16
-    F15               NAME OF RECEPTOR POINT
-    RECEPTORNAME
-
-2.  ------.----       4X,F11.4
-         6.1333       GEOGRAFICAL LONGITUDE
-    XRECEPTOR 
-
-3.  ------.----       4X,F11.4
-        49.0833       GEOGRAFICAL LATITUDE
-    YRECEPTOR  
-================================================================================
-1.  ----------------  4X,A16
-    NL01              NAME OF RECEPTOR POINT
-    RECEPTORNAME
-
-2.  ------.----       4X,F11.4
-         5.7833       GEOGRAFICAL LONGITUDE
-    XRECEPTOR 
-
-3.  ------.----       4X,F11.4
-        50.9167       GEOGRAFICAL LATITUDE
-    YRECEPTOR  
-================================================================================
-1.  ----------------  4X,A16
-    B05               NAME OF RECEPTOR POINT
-    RECEPTORNAME
-
-2.  ------.----       4X,F11.4
-         4.3500       GEOGRAFICAL LONGITUDE
-    XRECEPTOR 
-
-3.  ------.----       4X,F11.4
-        50.8000       GEOGRAFICAL LATITUDE
-    YRECEPTOR  
-================================================================================
-1.  ----------------  4X,A16
-    D27               NAME OF RECEPTOR POINT
-    RECEPTORNAME
-
-2.  ------.----       4X,F11.4
-        11.1333       GEOGRAFICAL LONGITUDE
-    XRECEPTOR 
-
-3.  ------.----       4X,F11.4
-        52.9667       GEOGRAFICAL LATITUDE
-    YRECEPTOR  
-================================================================================
-1.  ----------------  4X,A16
-    D08               NAME OF RECEPTOR POINT
-    RECEPTORNAME
-
-2.  ------.----       4X,F11.4
-         8.7000       GEOGRAFICAL LONGITUDE
-    XRECEPTOR 
-
-3.  ------.----       4X,F11.4
-        53.8667       GEOGRAFICAL LATITUDE
-    YRECEPTOR  
-================================================================================
-1.  ----------------  4X,A16
-    DK05              NAME OF RECEPTOR POINT
-    RECEPTORNAME
-
-2.  ------.----       4X,F11.4
-         8.1333       GEOGRAFICAL LONGITUDE
-    XRECEPTOR 
-
-3.  ------.----       4X,F11.4
-        56.0000       GEOGRAFICAL LATITUDE
-    YRECEPTOR  
-================================================================================
Index: sts/test_1/options/RELEASES
===================================================================
--- tests/test_1/options/RELEASES	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,54 +1,0 @@
-*************************************************************************
-*                                                                       *
-*                                                                       *
-*                                                                       *
-*   Input file for the Lagrangian particle dispersion model FLEXPART    *
-*                        Please select your options                     *
-*                                                                       *
-*                                                                       *
-*                                                                       *
-*************************************************************************
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-  1      
-___                        i3    Total number of species emitted
-
-  3
-___                        i3    Index of species in file SPECIES
-
-=========================================================================
-20111210 000001 
-________ ______            i8,1x,i6 Beginning date and time of release
-
-20111210 090000 
-________ ______            i8,1x,i6 Ending date and time of release
-
-   9.4048 
-____.____                  f9.4  Longitude [DEG] of lower left corner
-
-  48.5060
-____.____                  f9.4  Latitude [DEG] of lower left corner
-
-   9.5067
-____.____                  f9.4  Longitude [DEG] of upper right corner
-
-  48.5158
-____.____                  f9.4  Latitude [DEG] of upper right corner
-
-        2
-_________                  i9    1 for m above ground, 2 for m above sea level
-
-    0.00
-_____.___                  f10.3 Lower z-level (in m agl or m asl)
- 
-   10.00
-_____.___                  f10.3 Upper z-level (in m agl or m asl)
- 
-    20000                
-_________                  i9    Total number of particles to be released
-
-1.0000E00
-_.____E__                  e9.4  Total mass emitted
-
-RELEASE_TEST1
-________________________________________   character*40 comment
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Index: sts/test_1/options/RELEASES.alternative
===================================================================
--- tests/test_1/options/RELEASES.alternative	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,40 +1,0 @@
-*************************************************************************
-*                                                                       *
-*                                                                       *
-*                                                                       *
-*   Input file for the Lagrangian particle dispersion model FLEXPART    *
-*                        Please select your options                     *
-*                                                                       *
-*                                                                       *
-*                                                                       *
-*************************************************************************
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-1                          Total number of species emitted
-24                         Index of species in file SPECIES
-=========================================================================
-   20011028  150007
-   20011028  150046
-   9.40480
-   48.5060
-   9.50670
-   48.5158
-   2
-   6933.60
-   6950.40
-   20000
-   1.00000
-FLIGHT_11242
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-   20011028  150047
-   20011028  150107
-   9.30380
-   48.5158
-   9.40480
-   48.5906
-   2
-   6833.50
-   6950.40
-   20000
-   1.00000
-FLIGHT_11185
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Index: sts/test_1/options/RELEASES.reference
===================================================================
--- tests/test_1/options/RELEASES.reference	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,90 +1,0 @@
-*************************************************************************
-*                                                                       *
-*                                                                       *
-*                                                                       *
-*   Input file for the Lagrangian particle dispersion model FLEXPART    *
-*                        Please select your options                     *
-*                                                                       *
-*                                                                       *
-*                                                                       *
-*************************************************************************
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-  1      
-___                        i3    Total number of species emitted
-
- 24
-___                        i3    Index of species in file SPECIES
-
-=========================================================================
-20040720      0 
-________ ______            i8,1x,i6 Beginning date and time of release
-
-20040720 120000 
-________ ______            i8,1x,i6 Ending date and time of release
-
-   9.4048 
-____.____                  f9.4  Longitude [DEG] of lower left corner
-
-  48.5060
-____.____                  f9.4  Latitude [DEG] of lower left corner
-
-   9.5067
-____.____                  f9.4  Longitude [DEG] of upper right corner
-
-  48.5158
-____.____                  f9.4  Latitude [DEG] of upper right corner
-
-        2
-_________                  i9    1 for m above ground, 2 for m above sea level
-
- 6933.60
-_____.___                  f10.3 Lower z-level (in m agl or m asl)
- 
- 6950.40
-_____.___                  f10.3 Upper z-level (in m agl or m asl)
- 
-    20000                
-_________                  i9    Total number of particles to be released
-
-1.0000E00
-_.____E__                  e9.4  Total mass emitted
-
-RELEASE_TEST1
-________________________________________   character*40 comment
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-20040720      0
-________ ______            i8,1x,i6 Beginning date and time of release
-
-20040720 120000
-________ ______            i8,1x,i6 Ending date and time of release
-
-   9.3038 
-____.____                  f9.4  Longitude [DEG] of lower left corner
-
-  48.5158
-____.____                  f9.4  Latitude [DEG] of lower left corner
-
-   9.4048
-____.____                  f9.4  Longitude [DEG] of upper right corner
-
-  48.5906
-____.____                  f9.4  Latitude [DEG] of upper right corner
-
-        2
-_________                  i9    1 for m above ground, 2 for m above sea level
-
- 6833.50
-_____.___                  f10.3 Lower z-level (in m agl or m asl)
- 
- 6950.40
-_____.___                  f10.3 Upper z-level (in m agl or m asl)
- 
-    20000                
-_________                  i9    Total number of particles to be released
-
-1.0000E00
-_.____E__                  e9.4  Total mass emitted
-
-RELEASE_TEST2
-________________________________________   character*40 comment
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Index: sts/test_1/options/SPECIES/SPECIES.orig
===================================================================
--- tests/test_1/options/SPECIES/SPECIES.orig	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,47 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-           Radioactivity    Wet depo         Dry depo (gases)      Dry depo (particles)  Dry depo              OH React
-     SPECIES HALF LIFE [s]     A      B       D      H     f0      rho    dquer    dsig      vd   molweight   [cm^3/s] 
- 50 TRACER1234567 1234.6   -2.4E-08  1.34   -2.4  1.3e-07  1.3   -2.4E07  1.3E-6  1.3E-6   -2.45  123.45    -2.4E-08
-  1 TRACER        -999.9   -9.9E-09         -9.9                 -9.9E09                   -9.99  350.00    -9.9E-09
-  2 O3            -999.9   -9.9E-09          1.5  1.0e-02  1.0   -9.9E09                   -9.99   48.00    -9.9E-09
-  3 NO            -999.9    8.0E-06  0.62    1.2  3.0e-03  0.0   -9.9E09                   -9.99   30.00    -9.9E-09
-  4 NO2           -999.9    1.0E-05  0.62    1.6  1.0e-02  0.1   -9.9E09                   -9.99   46.00    -9.9E-09
-  5 HNO3          -999.9    5.0E-05  0.62    1.9  1.0e+14  0.0   -9.9E09                   -9.99   63.00    -9.9E-09
-  6 HNO2          -999.9   -9.9E-09          1.6  1.0e+05  0.1   -9.9E09                   -9.99   47.00    -9.9E-09
-  7 H2O2          -999.9    1.0E-04  0.62    1.4  1.0e+05  1.0   -9.9E09                   -9.99   34.00    -9.9E-09
-  8 SO2           -999.9   -9.9E-09  0.62    2.0  1.0e+05  0.0   -9.9E09                   -9.99   64.00    -9.9E-09
-  9 HCHO          -999.9   -9.9E-09          1.3  6.0e+03  0.0   -9.9E09                   -9.99   30.00    -9.9E-09
- 10 PAN           -999.9   -9.9E-09          2.6  3.6e+00  0.1   -9.9E09                   -9.99  121.00    -9.9E-09
- 11 NH3           -999.9    9.9E-05  0.62    1.1  2.0e+14  0.0   -9.9E09                   -9.99   17.00    -9.9E-09
- 12 SO4-aero      -999.9    5.0E-06  0.62   -9.9                  2.0E03  4.0E-7  3.0E-1   -9.99   -9.99    -9.9E-09
- 13 NO3-aero      -999.9    5.0E-06  0.62   -9.9                  2.0E03  4.0E-7  3.0E-1   -9.99   -9.99    -9.9E-09
- 14 I2-131      691200.0    8.0E-05  0.62    2.7  1.0e+05  0.1   -9.9E09                   -9.99   -9.99    -9.9E-09
- 15 I-131       691200.0    1.0E-04  0.80   -9.9                  2.5E03  6.0E-7  3.0E-1   -9.99   -9.99    -9.9E-09
- 16 Cs-137        -999.9    1.0E-04  0.80   -9.9                  2.5E03  6.0E-7  3.0E-1   -9.99   -9.99    -9.9E-09
- 17 Y-91       5037120.0    1.0E-04  0.80   -9.9                  2.5E03  6.0E-7  3.0E-1   -9.99   -9.99    -9.9E-09
- 18 Ru-106    31536000.0    1.0E-04  0.80   -9.9                  2.5E03  6.0E-7  3.0E-1   -9.99   -9.99    -9.9E-09
- 19 Kr-85         -999.9   -9.9E-09         -9.9                 -9.9E09                   -9.99   -9.99    -9.9E-09
- 20 Sr-90         -999.9    1.0E-04  0.80   -9.9                  2.5E03  6.0E-7  3.0E-1   -9.99   -9.99    -9.9E-09
- 21 Xe-133      198720.0   -9.9E-09         -9.9                 -9.9E09                   -9.99   -9.99    -9.9E-09
- 22 CO            -999.9   -9.9E-09         -9.9                 -9.9E09                   -9.99   28.00     1.5E-13
- 23 NO2TRACER     -999.9   -9.9E-09         -9.9                 -9.9E09                   -9.99   46.00    -9.9E-09
- 24 AIRTRACER     -999.9   -9.9E-09         -9.9                 -9.9E09                   -9.99   29.00    -9.9E-09
- 25 NA-CO         -999.9   -9.9E-09         -9.9                 -9.9E09                   -9.99   28.00    -9.9E-09
- 26 EU-CO         -999.9   -9.9E-09         -9.9                 -9.9E09                   -9.99   28.00    -9.9E-09
- 27 AS-CO         -999.9   -9.9E-09         -9.9                 -9.9E09                   -9.99   28.00    -9.9E-09
- 28 SO2TRACER     -999.9   -9.9E-09         -9.9                 -9.9E09                   -9.99   64.00    -9.9E-09
- 29 WET_TRAC      -999.9      1E-04  0.62   -9.9                 -9.9E09                   -9.99  100.00    -9.9E-09
- 30 DRY_TRAC      3999.9   -9.9E-09          2.0  1.0e-02  1.0   -9.9E09                   -9.99  100.00    -9.9E-09
- 31 PCB28         -999.9      5E-06  0.62    3.8  3.1e-00  0.0   -9.9E09                   -9.99  257.54     1.1E-12
- 32 PCB101        -999.9      5E-06  0.62    4.3  3.2e-00  0.0   -9.9E09                   -9.99  326.43     3.4E-13
- 33 PCB180        -999.9      5E-06  0.62    4.7  1.7e+01  0.0   -9.9E09                   -9.99  395.32     1.1E-13
- 34 G-HCH         -999.9   -9.9E-09         -9.9                 -9.9E09                   -9.99  999.99     9.9E-99
- 35 TEST          1000.0      1E-02  0.62    2.0  1.0e-02  1.0   -9.9E09                   -9.99  100.00     1.0E+02
- 36 PCB28-TEST    -999.9   -9.9E-09  0.62   -9.9  3.1e-00  0.0   -9.9E09                   -9.99  257.54     1.1E-12
- 37 HNO3          -999.9   -8.0E-04  0.62   -9.9                 -9.9E09                   -9.99   63.00    -9.9E-09
-
Index: sts/test_1/options/SPECIES/SPECIES_001
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_001	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-TRACER             Tracer name
--999.9             Species half life
--9.9E-09           Below cloud scavenging - A
-                   Below cloud scavenging - B
--9.9E-09           In-cloud scavenging - Ai (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Ci (S_i=Ci/cl)
--9.9               In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
--9.9               Dry deposition (gases) - D
-                   Dry deposition (gases) - Henrys const.
-                   Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
-350.00             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_002
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_002	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-O3                 Tracer name
--999.9             Species half life
--9.9E-09           Below cloud scavenging - A
-                   Below cloud scavenging - B
--9.9E-09           In-cloud scavenging - Ai (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Ci (S_i=Ci/cl)
--9.9               In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
- 1.5               Dry deposition (gases) - D
-1.0e-02            Dry deposition (gases) - Henrys const.
-1.0                Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- 48.00             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_003
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_003	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-NO                 Tracer name
--999.9             Species half life
- 8.0E-06           Below cloud scavenging - A
-0.62               Below cloud scavenging - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
- 1.2               Dry deposition (gases) - D
-3.0e-03            Dry deposition (gases) - Henrys const.
-0.0                Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- 30.00             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_004
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_004	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-NO2                Tracer name
--999.9             Species half life
- 1.0E-05           Below cloud scavenging - A
-0.62               Below cloud scavenging - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
- 1.6               Dry deposition (gases) - D
-1.0e-02            Dry deposition (gases) - Henrys const.
-0.1                Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- 46.00             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_005
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_005	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-HNO3               Tracer name
--999.9             Species half life
- 5.0E-05           Below cloud scavenging - A
-0.62               Below cloud scavenging - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
- 1.9               Dry deposition (gases) - D
-1.0e+14            Dry deposition (gases) - Henrys const.
-0.0                Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- 63.00             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_006
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_006	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-HNO2               Tracer name
--999.9             Species half life
--9.9E-09           Below cloud scavenging - A
-                   Below cloud scavenging - B
--9.9E-09           In-cloud scavenging - Ai (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Ci (S_i=Ci/cl)
--9.9               In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
- 1.6               Dry deposition (gases) - D
-1.0e+05            Dry deposition (gases) - Henrys const.
-0.1                Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- 47.00             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_007
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_007	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-H2O2               Tracer name
--999.9             Species half life
- 1.0E-04           Below cloud scavenging - A
-0.62               Below cloud scavenging - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
- 1.4               Dry deposition (gases) - D
-1.0e+05            Dry deposition (gases) - Henrys const.
-1.0                Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- 34.00             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_008
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_008	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,58 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-SO2                Tracer name
--999.9             Species half life
--9.9E-09           Below cloud scavenging - A
-0.62               Below cloud scavenging - B
--9.9E-09           In-cloud scavenging - Ai (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Ci (S_i=Ci/cl)
--9.9               In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
- 2.0               Dry deposition (gases) - D
-1.0e+05            Dry deposition (gases) - Henrys const.
-0.0                Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- 64.00             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
-hr_start so2_area  so2_point
- 0       0.636       0.814      0-1 local time
- 1       0.571       0.767      1-2 local time
- 2       0.523       0.743
- 3       0.495       0.735
- 4       0.507       0.751
- 5       0.577       0.798
- 6       0.732       0.873
- 7       0.929       0.976
- 8       1.015       1.037
- 9       1.077       1.084
-10       1.153       1.126
-11       1.241       1.142
-12       1.315       1.157
-13       1.370       1.163
-14       1.422       1.171
-15       1.463       1.169
-16       1.463       1.162
-17       1.426       1.141
-18       1.326       1.117
-19       1.225       1.109
-20       1.082       1.095
-21       0.928       1.044
-22       0.804       0.959
-23       0.717       0.869      23-24 local time
-week_day so2_area  so2_point
-1        1.060       1.000      Monday
-2        1.060       1.000      Tuesday
-3        1.060       1.000      Wednesday
-4        1.060       1.000      Thursday
-5        1.060       1.000      Friday
-6        0.900       1.000      Saturday
-7        0.800       1.000      Sunday
Index: sts/test_1/options/SPECIES/SPECIES_009
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_009	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-HCHO               Tracer name
--999.9             Species half life
--9.9E-09           Below cloud scavenging - A
-                   Below cloud scavenging - B
--9.9E-09           In-cloud scavenging - Ai (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Ci (S_i=Ci/cl)
--9.9               In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
- 1.3               Dry deposition (gases) - D
-6.0e+03            Dry deposition (gases) - Henrys const.
-0.0                Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- 30.00             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_010
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_010	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-PAN                Tracer name
--999.9             Species half life
--9.9E-09           Below cloud scavenging - A
-                   Below cloud scavenging - B
--9.9E-09           In-cloud scavenging - Ai (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Ci (S_i=Ci/cl)
--9.9               In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
- 2.6               Dry deposition (gases) - D
-3.6e+00            Dry deposition (gases) - Henrys const.
-0.1                Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
-121.00             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_011
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_011	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-NH3                Tracer name
--999.9             Species half life
- 9.9E-05           Below cloud scavenging - A
-0.62               Below cloud scavenging - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
- 1.1               Dry deposition (gases) - D
-2.0e+14            Dry deposition (gases) - Henrys const.
-0.0                Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- 17.00             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_012
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_012	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-SO4-aero           Tracer name
--999.9             Species half life
- 5.0E-06           Below cloud scavenging - A
-0.62               Below cloud scavenging - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
--9.9               Dry deposition (gases) - D
- 1.0E-09           Dry deposition (gases) - Henrys const.
-                   Dry deposition (gases) - f0 (reactivity)
- 2.0E03            Dry deposition (particles) - rho
-4.0E-7             Dry deposition (particles) - dquer
-3.0E-1             Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- -9.99             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_013
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_013	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-NO3-aero           Tracer name
--999.9             Species half life
- 5.0E-06           Below cloud scavenging - A
-0.62               Below cloud scavenging - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
--9.9               Dry deposition (gases) - D
-                   Dry deposition (gases) - Henrys const.
-                   Dry deposition (gases) - f0 (reactivity)
- 2.0E03            Dry deposition (particles) - rho
-4.0E-7             Dry deposition (particles) - dquer
-3.0E-1             Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- -9.99             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_014
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_014	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-I2-131             Tracer name
-691200.0           Species half life
- 8.0E-05           Below cloud scavenging - A
-0.62               Below cloud scavenging - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
- 2.7               Dry deposition (gases) - D
-1.0e+05            Dry deposition (gases) - Henrys const.
-0.1                Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- -9.99             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_015
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_015	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-I-131              Tracer name
-691200.0           Species half life
- 1.0E-04           Below cloud scavenging - A
-0.80               Below cloud scavenging - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
--9.9               Dry deposition (gases) - D
-                   Dry deposition (gases) - Henrys const.
-                   Dry deposition (gases) - f0 (reactivity)
- 2.5E03            Dry deposition (particles) - rho
-6.0E-7             Dry deposition (particles) - dquer
-3.0E-1             Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- -9.99             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_016
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_016	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-Cs-137             Tracer name
--999.9             Species half life
- 1.0E-04           Below cloud scavenging - A
-0.80               Below cloud scavenging - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
--9.9               Dry deposition (gases) - D
-                   Dry deposition (gases) - Henrys const.
-                   Dry deposition (gases) - f0 (reactivity)
- 2.5E03            Dry deposition (particles) - rho
-6.0E-7             Dry deposition (particles) - dquer
-3.0E-1             Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- -9.99             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_017
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_017	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-Y-91               Tracer name
-5037120.0          Species half life
- 1.0E-04           Below cloud scavenging - A
-0.80               Below cloud scavenging - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
--9.9               Dry deposition (gases) - D
-                   Dry deposition (gases) - Henrys const.
-                   Dry deposition (gases) - f0 (reactivity)
- 2.5E03            Dry deposition (particles) - rho
-6.0E-7             Dry deposition (particles) - dquer
-3.0E-1             Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- -9.99             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_018
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_018	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-Ru-106             Tracer name
-31536000.0         Species half life
- 1.0E-04           Below cloud scavenging - A
-0.80               Below cloud scavenging - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
--9.9               Dry deposition (gases) - D
-                   Dry deposition (gases) - Henrys const.
-                   Dry deposition (gases) - f0 (reactivity)
- 2.5E03            Dry deposition (particles) - rho
-6.0E-7             Dry deposition (particles) - dquer
-3.0E-1             Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- -9.99             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_019
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_019	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-Kr-85              Tracer name
--999.9             Species half life
--9.9E-09           Below cloud scavenging - A
-                   Below cloud scavenging - B
--9.9E-09           In-cloud scavenging - Ai (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Ci (S_i=Ci/cl)
--9.9               In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
--9.9               Dry deposition (gases) - D
-                   Dry deposition (gases) - Henrys const.
-                   Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- -9.99             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_020
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_020	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-Sr-90              Tracer name
--999.9             Species half life
- 1.0E-04           Below cloud scavenging - A
-0.80               Below cloud scavenging - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
--9.9               Dry deposition (gases) - D
-                   Dry deposition (gases) - Henrys const.
-                   Dry deposition (gases) - f0 (reactivity)
- 2.5E03            Dry deposition (particles) - rho
-6.0E-7             Dry deposition (particles) - dquer
-3.0E-1             Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- -9.99             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_021
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_021	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-Xe-133             Tracer name
-453168.0           Species half life
--9.9E-09           Below cloud scavenging - A
-                   Below cloud scavenging - B
--9.9E-09           In-cloud scavenging - Ai (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Ci (S_i=Ci/cl)
--9.9               In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
--9.9               Dry deposition (gases) - D
-                   Dry deposition (gases) - Henrys const.
-                   Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- -9.99             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_022
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_022	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-CO                 Tracer name
--999.9             Species half life
--9.9E-09           Below cloud scavenging - A
-                   Below cloud scavenging - B
--9.9E-09           In-cloud scavenging - Ai (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Ci (S_i=Ci/cl)
--9.9               In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
--9.9               Dry deposition (gases) - D
-                   Dry deposition (gases) - Henrys const.
-                   Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- 28.00             molweight
- 1.5E-13           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_024
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_024	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-AIRTRACER             Tracer name
--999.9             Species half life
--9.9E-09           Below cloud scavenging - A
-                   Below cloud scavenging - B
--9.9E-09           In-cloud scavenging - Ai (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
--9.9               In-cloud scavenging - Ci (S_i=Ci/cl)
--9.9               In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
--9.9               Dry deposition (gases) - D
-                   Dry deposition (gases) - Henrys const.
-                   Dry deposition (gases) - f0 (reactivity)
--9.9E09            Dry deposition (particles) - rho
-                   Dry deposition (particles) - dquer
-                   Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
-29.000             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/SPECIES_025
===================================================================
--- tests/test_1/options/SPECIES/SPECIES_025	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,25 +1,0 @@
-****************************************************************************
-*                                                                          *
-*     Input file for the Lagrangian particle dispersion model FLEXPART     *
-*               Definition file of chemical species/radionuclides          *
-*                                                                          *
-****************************************************************************
-AERO-TRACER             Tracer name
--999.9             Species half life
-2.0E-05            Wet deposition - A
-0.8                Wet deposition - B
-2.0E-7             In-cloud scavenging - Ai (cl=Ai*prec**Bi)
-0.36               In-cloud scavenging - Bi (cl=Ai*prec**Bi)
-0.9                In-cloud scavenging - Ci (S_i=Ci/cl)
-1.                 In-cloud scavenging - Di (wetscav=S_i*prec/3.6E6/clouds_h/Di)
--9.9               Dry deposition (gases) - D
-                   Dry deposition (gases) - Henrys const.
-                   Dry deposition (gases) - f0 (reactivity)
-1.4E+03            Dry deposition (particles) - rho
-2.5E-07            Dry deposition (particles) - dquer
-1.25               Dry deposition (particles) - dsig
--9.99              Alternative: dry deposition velocity
- 29.00             molweight
--9.9E-09           OH Reaction rate at 25 deg, [cm^3/sec]
--9                 number of associated specias (neg. none)
--99.99             KOA - organic matter air partitioning
Index: sts/test_1/options/SPECIES/spec_overview
===================================================================
--- tests/test_1/options/SPECIES/spec_overview	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,1 +1,0 @@
-grep Tra SPEC*
Index: sts/test_1/options/surfdata.t
===================================================================
--- tests/test_1/options/surfdata.t	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,17 +1,0 @@
-13 landuse categories are related roughness length
---------------------------------------------------------
-landuse   comment                               z0
---------------------------------------------------------
- 1 Urban land                                   0.7
- 2 Agricultural land                            0.1
- 3 Range land                                   0.1
- 4 Deciduous forest                             1.
- 5 Coniferous forest                            1.
- 6 Mixed forest including wetland               0.7
- 7 water, both salt and fresh                   0.001
- 8 barren land mostly desert                    0.01
- 9 nonforested wetland                          0.1
-10 mixed agricultural and range land            0.1
-11 rocky open areas with low grow shrubs        0.05
-12 snow and ice                                 0.001
-13 rainforest                                   1.
Index: sts/test_1/options/surfdepo.t
===================================================================
--- tests/test_1/options/surfdepo.t	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,57 +1,0 @@
-==============================================================================
-INPUT RESISTANCES (s/m) FOR THE COMPUTATION OF SURFACE RESISTANCES TO
-DRY DEPOSITION
-==============================================================================
-AFTER WESELY, 1989
-==============================================================================
-1 to 11: Landuse types after Wesely; 12 .. snow, 13 .. rainforest
-==============================================================================
-Values are tabulated for 5 seasonal categories:
-1     Midsummer with lush vegetation
-2     Autumn with unharvested cropland
-3     Late autumn after frost, no snow
-4     Winter, snow on ground and subfreezing
-5     Transitional spring with partially green short annuals
-==============================================================================
-               1       2       3       4       5       6       7       8       9     10       11      12      13  
-________________________________________________________________________________________________________________
-ri         9999.     60.    120.     70.    130.    100.   9999.   9999.     80.    100.    150.    9999.    200.  1
-rlu        9999.   2000.   2000.   2000.   2000.   2000.   9999.   9999.   2500.   2000.   4000.    9999.   1000.
-rac         100.    200.    100.   2000.   2000.   2000.      0.      0.    300.    150.    200.       0.   2000.
-rgss        400.    150.    350.    500.    500.    100.      0.   1000.      0.    220.    400.     100.    200.
-rgso        300.    150.    200.    200.    200.    300.   2000.    400.   1000.    180.    200.   10000.    200.
-rcls       9999.   2000.   2000.   2000.   2000.   2000.   9999.   9999.   2500.   2000.   4000.    9999.   9999.
-rclo       9999.   1000.   1000.   1000.   1000.   1000.   9999.   9999.   1000.   1000.   1000.    9999.   9999.
-_________________________________________________________________________________________________________________
-ri         9999.   9999.   9999.   9999.    250.    500.   9999.   9999.   9999.   9999.   9999.    9999.    200. 2
-rlu        9999.   9000.   9000.   9000.   4000.   8000.   9999.   9999.   9000.   9000.   9000.    9999.   1000.
-rac         100.    150.    100.   1500.   2000.   1700.      0.      0.    200.    120.    140.       0.   2000.
-rgss        400.    200.    350.    500.    500.    100.      0.   1000.      0.    300.    400.     100.    200.
-rgso        300.    150.    200.    200.    200.    300.   2000.    400.    800.    180.    200.   10000.    200.
-rcls       9999.   9000.   9000.   9000.   2000.   4000.   9999.   9999.   9000.   9000.   9000.    9999.   9999.
-rclo       9999.    400.    400.    400.   1000.    600.   9999.   9999.    400.    400.    400.    9999.   9999.
-_________________________________________________________________________________________________________________
-ri         9999.   9999.   9999.   9999.    250.    500.   9999.   9999.   9999.   9999.   9999.    9999.    200. 3
-rlu        9999.   9999.   9000.   9000.   4000.   8000.   9999.   9999.   9000.   9000.   9000.    9999.   1000.
-rac         100.     10.    100.   1000.   2000.   1500.      0.      0.    100.     50.    120.       0.   2000.
-rgss        400.    150.    350.    500.    500.    200.      0.   1000.      0.    200.    400.     100.    200.
-rgso        300.    150.    200.    200.    200.    300.   2000.    400.   1000.    180.    200.   10000.    200.
-rcls       9999.   9999.   9000.   9000.   3000.   6000.   9999.   9999.   9000.   9000.   9000.    9999.   9999.
-rclo       9999.   1000.    400.    400.   1000.    600.   9999.   9999.    800.    600.    600.    9999.   9999.
-_________________________________________________________________________________________________________________
-ri         9999.   9999.   9999.   9999.    400.    800.   9999.   9999.   9999.   9999.   9999.    9999.    200. 4
-rlu        9999.   9999.   9999.   9999.   6000.   9000.   9999.   9999.   9000.   9000.   9000.    9999.   1000.
-rac         100.     10.     10.   1000.   2000.   1500.      0.      0.     50.     10.     50.       0.   2000.
-rgss        100.    100.    100.    100.    100.    100.      0.   1000.    100.    100.     50.     100.    200.
-rgso        600.   3500.   3500.   3500.   3500.   3500.   2000.    400.   3500.   3500.   3500.   10000.    200. 
-rcls       9999.   9999.   9999.   9000.    200.    400.   9999.   9999.   9000.   9999.   9000.    9999.   9999.
-rclo       9999.   1000.   1000.    400.   1500.    600.   9999.   9999.    800.   1000.    800.    9999.   9999.
-_________________________________________________________________________________________________________________
-ri         9999.    120.    240.    140.    250.    190.   9999.   9999.    160.    200.    300.    9999.    200.  5
-rlu        9999.   4000.   4000.   4000.   2000.   3000.   9999.   9999.   4000.   4000.   8000.    9999.   1000.
-rac         100.     50.     80.   1200.   2000.   1500.      0.      0.    200.     60.    120.       0.   2000.
-rgss        500.    150.    350.    500     500.    200.      0.   1000.      0.    250.    400.     100.    200.
-rgso        300.    150.    200.    200.    200.    300.   2000.    400.   1000.    180.    200.   10000.    200.
-rcls       9999.   4000.   4000.   4000.   2000.   3000.   9999.   9999.   4000.   4000.   8000.    9999.   9999.
-rclo       9999.   1000.    500.    500.   1500.    700.   9999.   9999.    600.    800.    800.    9999.   9999.
-_________________________________________________________________________________________________________________
Index: sts/test_1/pathnames
===================================================================
--- tests/test_1/pathnames	(revision 4bd0f2d01ac24c6accc52f85a5dafb5daa7bc4e2)
+++ 	(revision )
@@ -1,6 +1,0 @@
-./options/
-./output/
-/
-/flex_wrk/WIND_FIELDS/AVAILABLE_ECMWF_OPER_fields_global
-============================================
-
