Änderungen im Paket i3d

21.06.2004

i3d

1.8 und 1.9

Aufruf von determ_weight bei großem äußeren Gitter sehr langsam (nur mit pgf90, nicht mit NAG!). => Änderung in sub. int3d: Vor Aufruf von determ_weight wir ein Hilfsfeld belegt und dieses dann übergeben.

27.09.2004

i3d.f90

1.10

sub. int3d: missing_values in den Daten (äußeres Gitter) werden abgefangen. Wenn einer der drei Datenwerte mdi ist, wird das zugehörige Gewicht auf die beiden anderen Gewichte (im Verhältnis dieser beiden Gewichte zueinander) verteilt.

27.09.2004

lib_io.f90

1.9

pos-Dateien können genutzt werden:
sub. nc_get_partg: "nparts" wird anders ermittelt
sub. nc_read_lfz_data: Einlesen von "time" od. "TIME_INIT"

24.03.2005

lib_triang.f90

1.7

Sub. find_triang: Evtl. Endlosschleife, wenn der aktuelle Punkt einem der Eckpunkte des Dreiecks entspricht. => Es wird zunächst überprüft, ob der akt. Punkt und einer der Eckpunkte identisch sind. Ist das der Fall, wird die Suche beendet.

24.03.2005

lib_io.f90

1.12

Sub. nc_get_npartg: Einlesen von pos-Files wieder möglich. (Die Anzahl der Punkte entspricht in diesem Fall der Dimension NPARTS, ansonsten time)

06.07.2005

i3d.f90

1.13

Vertikalkoordinate ZETA kann genutzt werden

06.07.2005

lib_io.f90

1.13

Vertikalkoordinate ZETA kann genutzt werden

06.10.2005

lib_triang.f90

1.8

sub. find_triang: Es wird verhindert, dass man in eine Endlosschleife läuft, indem nach 'dim_tr' Schritten die Suche abgebrochen wird (s. sedi)

29.11.2005

Triangulationsroutinen werden aus utils-Library genutzt

29.11.2005

lib_triang.f90

1.9

gelöscht => Routinen werden aus utils-Library genutzt

29.11.2005

i3d.f90

1.14

Typdefinitionen so geändert, dass Triangulationsroutinen aus utils genutzt werden können; sub. set_coor aus lib_triang.f90 hierhin kopiert

29.11.2005

lib_io.f90

1.14

Nummerierung von ap_all (auf Komponente "no") wird nicht benötigt

29.11.2005

global.f90

1.6

Konstante max_nb ergänzt (max. Anz. angrenzender Triangeln)

29.11.2005

types.f90

1.4

nicht benötigte Typdefinitionen gelöscht

29.11.2005

Makefile

1.3

lokales Module lib_triang nicht mehr nutzen

20.02.2006

i3d.f90

1.15

- Beim Aufruf von find_triang kann die max. Entfernung angegeben werden.
- Wird die Triangel nicht gefunden, wird in sub. int3d ein missing value gesetzt.

22.02.2006

i3d.f90

1.16

In der Schleife über alle Eingabedateien muss vor jedem "cycle" das Datum inkrementiert werden

08.03.2006

i3d.f90

1.17

Inkrementieren des Datums (1.16) korrigiert: Es wurde auch bei einem "cycle" in der inneren Schleife (über alle Theta-Level) irrtümlich das Datum inkrementiert

07.09.2006

i3d.f90

1.18

Wenn die falsche Triangel gefunden wird, wird mit einem anderen Startwert nochmals versucht, die richtige Triangel zu finden (=>erneuter Aufruf von find_triangle). Die Wahrscheinlichkeit, dass man ein "Randdreieck" findet und somit einen missing value setzen muss, sollte dadurch wesentlich geringer sein.

21.09.2006

i3d.f90

1.19

- benutze Routine type_of_data statt check_satdata
- Einlesen von Modelldaten (Aufruf von nc_read_model_data) ergänzt

21.09.2006

lib_io.f90

1.15

- neue Funktion type_of_data (statt check_satdata) zum Überprüfen des Filetyps
- sub. get_start_end_date: Startdatum<Enddatum (bei Traj-Files ist Startdatum entweder das erste oder das letzte Datum der Datei)
- sub. nc_get_npartg: Bestimmen der Anzahl Punkte für Trajektorienfiles zugefügt
- neue Subroutine nc_read_model_data zum Einlesen der Trajektoriendaten

17.10.2006

i3d.f90

1.20

für unterstes Level: Source-Code in if- und else-Zweig identisch => hinter die Verzweigung verschoben

08.11.2006

lib_io.f90

1.16

sub. type_of_data: Standardtyp=AIRCRAFT

22.11.2006

i3d.f90

1.21

Aufruf der neuen Wichtungsroutine determ_weight_new (utils: lib_interpol.f90)

22.11.2006

lib_io.f90

1.17

- sub. read_config_file: weitere Möglichkeit für Wichtung
- sub. nc_read_ap_s_info: lat_down, lat_up, r_coarse, r_high einlesen

22.11.2006

global.f90

1.7

Konstante earth_radius, Variablen lat_down, lat_up, r_coarse, r_high ergänzt; "weighted" vom Typ integer (bisher logical)

26.02.2007

i3d.f90

1.22

- evtl. nur einen Init-File nutzen (mit bel. Datum)
- wenn keine Spezies angegeben: alle Spezies aus Init-File nutzen

26.02.2007

lib_io.f90

1.18 und 1.19

- sub. read_config_file: filename oder directory+prefix einlesen, ntags darf 0 sein (=alle Spezies aus init-file nutzen)
- neue sub. nc_get_all_tags: ermittle alle Spezies aus Init-File

26.02.2007

global.f90

1.8

Konstante für Stringlänge "strlen", logische Variable "one_file" ergänzt

26.02.2007

i3d.inp_tmpl

1.2

zusätzliche Zeile, mit der Angabe, ob eine Init-Datei genutzt werden soll (y/n) -> Entsprechend muss entweder eine Zeile mit dem Dateinamen oder zwei Zeilen mit dem Verzeichnisnamen und dem Prefix folgen

26.02.2007

i3d.inp_tmpl1

1.1

zweites Beispiel für Konfigurationsdatei

13.03.2007

lib_io.f90

1.20 und 1.21

sub. nc_write_interpol: THETA_GRID und THETA_DELTA (wenn vorhanden) auf Ausgabedatei kopieren

14.03.2007

lib_io.f90

1.22

sub. nc_write_interpol:
- SPECIES ausgeben
- für Modelldaten (datatype=MODEL): Dimension NPARTS (statt wie bisher time), Variable TIME_INIT (bisher time), Variable time mit einer Zeit ausgeben
=> Ausgabedatei entspricht einer Init-Datei !

04.05.2007

i3d erzeugt sehr viel Bildschirm-Output, wenn Triangeln nicht gefunden werden => Warnings sollten sich optional ausschalten lassen

04.05.2007

global.f90

1.9

logical ctrl_out hinzugefügt

04.05.2007

lib_io.f90

1.23

sub. read_config_file: Ausgabe von Warnings lassen sich über i3d.inp ausschalten

04.05.2007

i3d.f90

1.23

Aufruf von find_triangle: Warnings lassen sich ausschalten

04.05.2007

i3d.inp_tmpl

1.3

zusätzliche Zeile am Ende (zum Ausschalten der Warnings) möglich

04.05.2007

=>sub. find_triangle in lib_triangulate.f90 (utils-Library) geändert!

15.05.2007

i3d.f90

1.24

Bei einem angegebenen Init-File (mit bel. Datum) die Uhrzeit aus Init-Filenamen für Ausgabe-Filenamen verwenden

18.06.2007

lib_io.f90

1.24

Wenn vorhanden, wird NOONTHETA/NOONZETA eingelesen

22.02.2008

Makefile

1.4

lokale Testversion (unter $HOME/clams/utils) von utils-Library kann genutzt werden

10.11.2008

i3d.f90

1.25

deallocates nur, wenn zuvor auch Speicher allokiert wurde (sonst Fehlermeldung, wenn gar keine Punkte gefunden wurden)

20.11.2008

i3d.f90

1.26

Berechnung von DELTA_GPH ergänzt

20.11.2008

lib_io.f90

1.25

Berechnung von DELTA_GPH ergänzt

21.11.2008

types.f90

1.5

Typ "datetype": Komponente "sec" ergänzt

21.11.2008

lib_io.f90

1.26

- sub. nc_get_all_tags: TRACER soll eingelesen werden, falls vorhanden
-s ub. nc_read_ap_s_info: Datum der Init-Datei merken

21.11.2008

i3d.f90

1.27

sub. int3d: "BA" anpassen

21.11.2008

global.f90

1.10

max_dist ergänzt

21.11.2008

i3d.f90

1.28

Variable max_dist nutzen (max. Entfernung zu Triangleecken): Angabe muss nur an einer Stelle (zu Programmbeginn) geändert werden

24.11.2008

lib_io.f90

1.27

TRACER nicht auf Feld SPECIES ausgeben

25.11.2008

i3d.f90

1.29

sub. int3d: Berechnung von BA korrigiert

11.05.2009

lib_io.f90

1.28

sub. nc_write_interpol: Wenn R_GRID im Eingabedatensatz vorhanden ist, wird es auf den Ausgabedatensatz kopiert

13.07.2010

i3d.f90

3.0

Unstetigkeiten behoben:
Es wird für jedes Level ein größerer Bereich eingelesen und sichergestellt, dass das Thetalevel zwischen dem unteren und dem oberen Dreieck liegt (Bisher konnte der Punkt auch oberhalb des oberen oder unterhalb des unteren Dreiecks liegen. In diesem Fall wurde nicht vertikal interpoliert, sondern der Wert auf Höhe des oberen bzw. unteren Dreiecks übernommen.)

13.07.2010

lib_io.f90

3.0

nur noch die neueste Wichtungsmethode wählbar

13.07.2010

global.f90

3.0

neue Versionsnummer, keine Änderung

13.07.2010

types.f90

3.0

neue Versionsnummer, keine Änderung

15.07.2010

i3d.f90

3.1

Änderung für Flugzeugdaten/Init-Files: Die Datei darf Punkte für mehr als einen Tag enthalten; es werden in der Schleife über alle Tage nur die Punkte des jeweiligen Tages bearbeitet (wie auch bei Satellitendaten)

15.07.2010

lib_io.f90

3.1

Änderung für Flugzeugdaten/Init-Files: Die Datei darf Punkte für mehr als einen Tag enthalten; es werden in der Schleife über alle Tage nur die Punkte des jeweiligen Tages bearbeitet (wie auch bei Satellitendaten):
- function check_satdata entfernt
Änderungen in folgenden Unterprogrammen:
- sub. get_start_end_date:
- sub. nc_get_npartg
- sub. nc_read_lfz_data

02.09.2010

i3d.inp_tmpl

1.4

nur noch eine mögliche Wichtungsmethode

02.09.2010

i3d.inp_tmpl2

1.3

nur noch eine mögliche Wichtungsmethode

10.09.2010

i3d.f90

3.2

Punkte am unteren und oberen Rand extrapolieren (wurde nach Behebung der Unstetigkeiten in Vers. 3.0 nicht mehr gemacht):
sub. int3d: Punkte im untersten Level dürfen unterhalb des unteren Dreiecks und Punkte im obersten Level oberhalb des oberen Dreiecks liegen

10.03.2011

lib_io.f90

3.2

für 2d-Interpolation erweitert

10.03.2011

i3d.f90

3.3

für 2d-Interpolation erweitert

11.06.2012

lib_i3d.f90

3.1

Enthält sub. set_coor und int3d (werden von i3d und i3d_reg genutzt)

11.06.2012

lib_io.f90

3.3

sub. read_config_file und error_handler nach i3d.f90 verschoben

11.06.2012

i3d.f90

3.4

- sub. set_coor und int3d nach lib_i3d.f90 verschoben
- sub. read_config_file und error_handler aus lib_io.f90 ergänzt

11.06.2012

i3d_reg.f90

3.1

neues Programm: Interpolation von irregulärem Gitter auf ein reguläres

11.06.2012

Makefile

1.5

neues Modul lib_i3d.f90; neues Programm i3d_reg

11.06.2012

i3d_reg.inp_tmpl

1.1

Beispiel-Konfigurationsdatei für i3d_reg

12.06.2012

i3d_reg.f90

3.2

Zeiten für Berechn. von BA (js1,js2) korrigiert

04.04.2013

lib_i3d.f90

3.2

Vertikalinterpolation fuer Druck logarithmisch

08.09.2014

i3d.f90

3.5

Interpolation nicht immer um 12 Uhr, sondern zum Zeitpunkt der Eingabedaten

22.10.2014

lib_io.f90

3.4

- Lese NOONTIME
- nicht genutzte Variablen entfernt
- Kommentare ergänzt
- Zweig für Satelliten-Daten deaktiviert

22.10.2014

i3d.f90

3.6

Interpolation zum Zeitpunkt der Eingabedaten nur für Modelldaten, für Flugzeugdaten immer 12 Uhr

23.10.2014

lib_i3d.f90

3.3

Abfrage fuer BA auf neg. Werte erweitert

23.10.2014

Makefile

1.6

alte Option für ifort entfernt

i3d/Changes (last edited 2014-10-24 08:28:44 by NicoleThomas)