Size: 11197
Comment:
|
← Revision 37 as of 2013-07-15 07:25:42 ⇥
Size: 2642
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from PosChanges | |
Line 3: | Line 2: |
||<tablestyle="width: 1040px; height: 2319px;">13.07.2004 ||lib_pos.f90 ||3.6 ||in function "interpolate_data_met" kann jetzt optional auch log.-linear interpoliert werden. || ||13.07.2004 ||pos_dyn.f90 ||3.5 ||SH wird log.-linear interpoliert || ||10.06.2005 ||pos_3d.f90 ||3.1 ||Beliebige Vertikalkoordinate || ||10.06.2005 ||pos_area.f90 ||3.8 ||Beliebige Vertikalkoordinate || ||10.06.2005 ||pos_dyn.f90 ||3.9 ||Beliebige Vertikalkoordinate || ||10.06.2005 ||pos_voronoi.f90 ||3.1 ||Beliebige Vertikalkoordinate || ||10.06.2005 ||lib_pos.f90 ||3.7 ||Beliebige Vertikalkoordinate || ||10.06.2005 ||pos_3d.inp_tmpl ||3.1 ||Angabe der Vertikalkoordianten || ||10.06.2005 ||pos_area.inp_tmpl ||3.3 ||Angabe der Vertikalkoordianten || ||29.06.2005 ||pos_area.f90 ||3.9 ||globales Attr. exp_VERTCOOR_ref_level in Ausgabedatei kopieren || ||26.09.2005 ||pos_area.f90 ||3.10 ||Umstellung auf Parallelverarbeitung (mit nur einem Prozessor) || ||26.09.2005 ||pos_dyn.f90 ||3.10 ||Umstellung auf Parallelverarbeitung (mit nur einem Prozessor) || ||19.10.2005 ||pos_area.f90 ||3.11 ||Entropie-Koordinaten für Zeta möglich: <<BR>> neue Subroutines: <<BR>> - make_theta_grid2 <<BR>> - interpol (lineare Interpolation eines Parameters) <<BR>> - int_tabulated (Integration mit Newton-Codes-Formel, s. Num.Rec. Buch S. 126 "Bode's rule") <<BR>> - calc_zeta (Berechne Zeta aus TEMP und PRESS) <<BR>> - calc_ind <<BR>> - find_nb <<BR>> - find_next_index || ||19.10.2005 ||pos_area.inp_tmpl ||3.4 ||zusätzliche Angaben für neue Version || ||19.10.2005 ||Makefile ||3.9 ||numerical recipes linken ("spline" und "splint" werden in int_tabulated genutzt) || ||17.11.2005 ||pos_area.f90 ||3.12 ||Verbesserung der Übersichtlichkeit: <<BR>> - globale Var. i nach itheta umbenannt <<BR>> - in Sub. i lokal deklariert <<BR>> - Übergabeparameter und lokale Variablen in Subroutines getrennt etc. || ||20.04.2007 ||pos_dyn.f90 ||3.11 ||- Code in Unterprogramme ausgelagert <<BR>> - Einlesen einer zweiten Parameterliste mit 2 Levelangaben: Die Parameter müssen bereits in der Datei vorhanden sein. Die Werte werden nur unterhalb des ersten und oberhalb des zweiten Levels aus ECMWF-Daten interpoliert, dazwischen bleiben sie unverändert. <<BR>> - GPL-Header ergänzt || ||14.06.2007 ||pos_dyn.inp_tmpl ||3.3 ||Angabe einer zweiten Parameterliste (mit Unter- und Obergrenzen für das Ersetzen aus Isentropic-Dateien) || ||21.06.2007 ||pos_3d.f90 ||3.2 ||30-Tage-Monate möglich (wenn "dates30" im HP auf true gesetzt wird) || ||04.09.2007 ||pos_dyn.f90 ||3.12 ||- 1. Parameterliste: Wenn 03 oder SH hinzugefügt oder überschrieben werden sollen, werden sie immer unter dem Namen O3_ECMWF bzw. SH_ECMWF hinzugefügt (bzw. überschrieben) <<BR>> - 2. Parameterliste: Parameter werden unterhalb des ersten und oberhalb des zweiten angegeben Levels überschrieben (SH, O3, H20). Bei SH kann wie bisher mit SH aus ECMWF überschrieben werden. Bei O3 und H2O wird O3 bzw. SH aus ECMWF genommen und zunächst umgerechnet (von Massenmischungsverhältnis nach Volumenmischungsverhältnis): <<BR>> SH = SH_ECMWF <<BR>> H2O = (28.9644/18.015) * SH_ECMWF <<BR>> O3 = (28.9644/48.0) * O3_ECMWF || ||04.09.2007 ||pos_chem.f90 ||3.1 ||Neues Programm pos_chem eingecheckt, in dem die chem. Spezies in einer Init-Datei unterhalb einer Untergrenze und oberhalb einer Obergrenze, durch Werte aus einer Klimatologie-Datei ersetzt werden. Die Variablen aus der Init-Datei, die als Koordinaten genutzt werden sollen werden eingelesen (lat/eqlat und theta/zeta). Für jede Spezies wird der Name in der Init-Datei, der entspr. Name in der Clim-Datei, eine Unter- und eine Obergrenze und der Name der Clim-Datei eingelesen. Die Interpolation von den Klimatologie-Daten, z.B. O3(eqlat,press,month) auf ein Clams-Feld O3(nparts) erfolgt mit Hilfe der Routine interpol_2d_values (utils-Lib, read2d_utils.f90). || ||04.09.2007 ||pos_chem.inp_tmpl ||3.1 ||Template für pos_chem.inp || ||04.09.2007 ||Makefile ||3.10 ||Programm pos_chem ergänzt || ||07.09.2007 ||Makefile ||3.11 ||pos_chem zu prog_posTools hinzugefügt, damit es bei "gmake all" compiliert wird || ||07.09.2007 ||Makefile ||3.12 ||Compile-Befehl für pos_chem geändert (dynmod wird nicht benötigt) || ||07.09.2007 ||pos_chem.f90 ||3.2 ||Unterhalb der angegebenen Untergrenze treten falsche Werte auf: <<BR>> => missing values auf THETA abfangen <<BR>> => Fehler in utils/src/read2d_utils.f90 korrigiert || ||10.09.2007 ||pos_dyn.f90 ||3.13 ||- Attribute für geänderte Parameter (2. Parameterliste) nicht überschreiben, sonst sind evtl. die Einheiten falsch (für H2O, O3 wird umgerechnet!) <<BR>> - Attribute für neu hinzugefügtes O3_ECMWF oder SH_ECMWF von O3 bzw. SH auf Met-Datei übernehmen || ||11.09.2007 ||pos_dyn.inp_tmpl ||3.4 ||Kommentare ergänzt || ||18.09.2007 ||pos_chem.f90 ||3.3 ||Benutzung von 30-Tage-Monaten möglich (sub. read_init_file: ymds2js_interface) || ||18.09.2007 ||Makefile ||3.13 ||- Compile- und Link-Befehl getrennt <<BR>> - nur die benötigten Files linken, Compile-Befehle angepasst <<BR>> - GPL-Header ergänzt || ||24.09.2007 ||pos_chem.f90 ||3.4 ||Warnung bei 30-Tage-Monaten ausgeben || ||04.10.2007 ||pos.tex ||3.2 ||Beschreibungen für pos_dyn, pos_voronoi und pos_chem ergänzt || ||27.11.2007 ||Makefile ||3.14 ||F90-Optionen für Link-Step ergänzt (sonst läßt es sich auf JUMP nicht compilieren) || ||27.11.2007 ||Makefile ||3.15 ||Compiler-Optionen für Jump (-O3) angegeben || ||03.12.2007 ||pos_dyn.f90 ||3.14 ||Parallelverarbeitung auf dem JUMP ist jetzt möglich (bisher wurde immer nur eine CPU genutzt) || ||10.12.2007 ||pos_chem.f90 ||3.5 ||Benutzung von MPI möglich (läuft aber nur auf einer CPU) || ||28.01.2008 ||lib_pos.f90 ||3.8 ||sub. interpolate_data_met: <<BR>> - gotos entfernt <<BR>> - neue sub. interpolate_data_met_press (wenn Druck die Vertikalkoordinate ist) || ||28.01.2008 ||pos_dyn.f90 ||3.15 ||Vertikalkoordinate "press" möglich: sub. interpolate_parameters und sub. change_parameters angepaßt (und übersichtlicher gemacht) || ||28.01.2008 ||pos_dyn.f90 ||3.16 ||Testausgaben entfernt || ||22.02.2008 ||Makefile ||3.16 ||lokale Testversion (unter $HOME/clams/utils) von utils-Library kann genutzt werden || ||22.04.2008 ||add_flightpath.f90 ||3.1 ||neues Programm: Die Positionen eines pos-Files und die eines Flugzeug-Datensatzes werden zusammen in ein neues pos-File geschrieben. Außerdem wird eine Tracer-Variable (TRACER_NEW) ergänzt, die nur auf dem Flugpfad belegt ist. || ||22.04.2008 ||add_flightpath.inp_tmpl ||3.1 ||Beispiel-Konfigurationsdatei für add_flightpath || ||22.04.2008 ||Makefile ||3.17 ||Programm add_flightpath ergänzt || ||28.04.2008 ||add_flightpath.f90 ||3.2 ||Es können durch mehrfaches Aufrufen dieses Programms mehrere Flugpfade ergänzt werden: <<BR>> -> schreibe auf TRACER_nn <<BR>> -> Felder für TRACER_01-TRACER_n-1 müssen entsprechend (mit 0) aufgefüllt werden || ||26.05.2008 ||pos_flightpath ||3.1 ||neues Programm: Die Positionen (lat,lon,time) eines Flugpfades werden eingelesen und für vorgegebene Theta-Level (pos_flightpath.inp) in ein pos-File ausgegeben. || ||26.05.2008 ||pos_flightpath.inp_tmpl ||3.1 ||Beispiel-Konfigurationsdatei für pos_flightpath || ||26.05.2008 ||Makefile ||3.18 ||Programm pos_flightpath ergänzt || ||15.07.2008 ||pos_flightpath.f90 ||3.2 ||Header ergänzt || ||15.07.2008 ||add_flightpath.f90 ||3.3 ||Header ergänzt || ||28.10.2008 ||pos_dyn.f90 ||3.17 ||- Aufruf von interpolate_data_met_press durch Aufruf von interpolate_data_met (mit presslev=.true.) ersetzt <<BR>> - use_log jetzt integer:<<BR>> 0= lineare Interpolation (bisher use_log=.false.) <<BR>> 1=log.-lin. Interpolation (bisher use_log=.true,.) <<BR>> 2=doppelt log.-lin. Interpolation (wird im Moment nur für SH genutzt) || ||28.10.2008 ||lib_pos.f90 ||3.9 ||- sub. interpolate_data_met_press entfernt <<BR>> - sub. interpolate_data_met: Interpolation auf Druckniveaus integriert , uselog jetz integer || ||06.11.2008 ||pos_dyn.f90 ||3.18 ||Berechnung von MASS_DENSITY hinzugefügt || ||17.11.2008 ||pos_dyn.f90 ||3.19 ||DELTA_GPH hinzugefügt || ||17.11.2008 ||lib_pos.f90 ||3.10 ||DELTA_GPH hinzugefügt || ||17.11.2008 ||pos_dyn.f90 ||3.20 ||Attribute fuer TND, MASS_DENSITY und DELTA_GPH ausgeben || ||17.11.2008 ||pos_dyn.f90 ||3.21 ||Berechnung von TND, MASS_DENSITY: missing values auf TEMP und/oder PRESS abfangen || ||19.01.2009 ||lib_pos.f90 ||3.11 ||Funktion interpolate_data_met: Bei doppelt log. Interpolation (log_interpol=2) brach das Programm bisher beim Auftreten eines negativen Wertes ab (da log(val) nicht möglich). Jetzt wird in diesem Fall ein missing_value gesetzt. (Bei SH sind vereinzelt negative Werte auf den ECMWF-Daten vorhanden !) || ||09.02.2009 ||pos_area.f90||3.13 ||- Punkte werden in jedem Level unabhängig erzeugt (neue sub. gen_ap_s_delta_theta) <<BR>> - unnötige Variablen entfernt <<BR>> - neue sub. read_config_file für das Einlesen der Konfigurationsdatei || ||12.03.2009||pos_area.f90||3.14||- variable horizontale Auflösung möglich -> Erzeuge R_GRID <<BR>> - Angaben in pos_area.inp geändert (sub. read_config_file) <<BR>> - sub. make_theta_grid1-4 (für die Generierungstypen 1-4) <<BR>>- neue function get_n2z <<BR>>- GPL-Header ergänzt || ||12.03.2009||pos_area.inp_tmpl||3.5 ||Änderungen für Version 3.14 von pos_area mit variabler horizontaler Auflösung|| ||14.05.2009||pos_dyn.f90||3.23||implicit none muss oberhalb von include (für mpi) stehen|| ||14.05.2009||pos_chem.f90||3.6||implicit none muss oberhalb von include (für mpi) stehen|| ||15.09.2009||pos_chem.f90||3.7||Optional können missing values für angegebene Spezies mit einem angegebenen Wert überschrieben werden || ||15.09.2009||pos_chem.inp_tmpl||3.2||Zusätzlich Angaben für das Überschreiben von missing values möglich || ||22.09.2009||pos_dyn.f90||3.24||- log. Interpol. in der Höhe für Daten auf Druckniveaus, sonst lineare Interpol.<<BR>> - log. Interpol. in den Werten für SH <<BR>> - für PRESS wahlweise log. oder linear oder eine Mischung aus beidem <<BR>> - für alle anderen Parameter lin. Interpolation <<BR>> - sub. change_parameters: missing-values nicht mit "factor" multiplizieren|| ||22.09.2009||lib_pos.f90||3.12||Abfrage auf mdi verbessert; <<BR>> sub. interpolate_data_met: <<BR>> - für Vertikalkoord. wahlweise lin. oder log. Interpolation <<BR>> - für Werte wahlweise lin. oder log. Interpolation <<BR>> - und eine Mischung aus beidem für PRESS möglich || ||01.10.2009||pos_dyn.f90||3.25||PRESS wird in den Werten entweder linear interpoliert (default) oder linear und log.linear (je nach Höhe); die zweite Möglichkeit muss im Sourcecode (zu Beginn des HP) eingeschaltet werden (d.h. logpress=true) || ||01.10.2009||pos_dyn.f90||3.26||"logpress" jetzt auf .true. voreingestellt|| ||31.05.2010||pos_area.f90||3.15||"ap_s" und "ap_s_lev" können unterschiedlich groß sein (no_ap_s bzw. no_ap_s_lev) <<BR>> Da die Anzahl Punkte auf einem Level deutlich kleiner sein kann als die Gesamtzahl der Punkte, kann so Speicherplatz gespart werden || |
==== Version 4 ==== Version 4.0 eingecheckt am 13.01.2011: Benutzung von Modelldatensätzen möglich || 13.01.2011 ||data_met_m.f90 || 3.1 || entfernt <<BR>> globale Deklarationen jetzt in global_pos.f90 || || 20.01.2011 || lib_pos.f90 || 4.1 || sub. read_data_met: Gitter bestimmen (nc_grid_descr) || || 24.01.2011 || pos_dyn.f90 || 4.1 || Für die Berechnung von MASS_DENSITY muss TEMP und PRESS zuvor eingelesen worden sein || || 09.05.2011 || pos_dyn.f90 || 4.2 || Fehler bei Compilation im Cluster mit ifort und MPI <<BR>> => MPI_GATHER: send- und receive-Buffer dürfen nicht identisch sein|| || 09.05.2011 || pos_dyn.f90 || 4.3 || MPI_GATHER: für receive-Buffer keine Indizierung nötig|| || 31.05.2011 || pos_dyn.f90 || 4.4 || Keine Extrapolation an den Rändern (sondern Setzen von missing values) <<BR>> Extrapolation kann mit 'extrapol = .true.' zu Programmbeginn eingeschaltet werden || || 31.05.2011 || lib_pos.f90 || 4.2 || Keine Extrapolation an den Rändern (sondern Setzen von missing values) || || 22.11.2011 || pos_area.f90 || 4.1 - 4.4 || - exp_VERTCOOR_ref_level aus met. DS kopieren, mit p_ref aus Konfig.datei abgleichen <<BR>> - Name des met. DS bis zur Datumsangabe wird eingelesen || || 15.03.2012 || lib_pos.f90 || 4.3 || - sub. write_global_par_pos, read_data_met entfernt <<BR>> - sub. read_data_met_new nach read_data_met umbenannt || || 15.03.2012 || pos_dyn.f90 || 4.5 || sub. read_data_met_new nach read_data_met umbenannt || || 15.03.2012 || pos_area.f90 || 4.5 || - keinen meteorol. DS mehr einlesen <<BR>> - PV wird nicht mehr ermittelt <<BR>> - zusätzl. globale Attribute ausgeben || || 15.03.2012 || Makefile || 4.1/4.2 || - Compilation von pos_area ohne dynmod und ohne lokale Module (global, lib_pos) <<BR>> - überprüfe für alle Programme, ob neues Template für Konfig-Datei vorhanden ist|| || 15.03.2012 || pos_area.inp_tmpl || 4.1 || - kein met. DS mehr einlesen|| || 24.04.2012 || pos_dyn.f90 || 4.6 || Wenn Vertikalkoord. in pos-File u. wind-File unterschiedlich: Vertikalkoord. aus wind-File wird genutzt, wenn entspr. Variable im pos-File vorhanden (Bisher erfolgte ein Programmabbruch !)|| || 17.09.2012 || lib_pos.f90 || 4.4 || sub. get_index_height: Tippfehler korrigiert (bei Druckdatensaetzen) || || 27.05.2013 || lib_pos.f90 || 4.5 || sub. get_index_height(_modlev): falls zwei Höhenniveaus exakt gleich sind, wird fuer die Interpolation das obere Level genommen || ==== Ältere Versionen von pos ==== [[ /ChangesOld | Änderungen im Hauptzweig ]] [[ /ChangesBranch1 | Branch pos-modeldata ]] |
Änderungen im Paket pos
Version 4
Version 4.0 eingecheckt am 13.01.2011: Benutzung von Modelldatensätzen möglich
13.01.2011 |
data_met_m.f90 |
3.1 |
entfernt |
20.01.2011 |
lib_pos.f90 |
4.1 |
sub. read_data_met: Gitter bestimmen (nc_grid_descr) |
24.01.2011 |
pos_dyn.f90 |
4.1 |
Für die Berechnung von MASS_DENSITY muss TEMP und PRESS zuvor eingelesen worden sein |
09.05.2011 |
pos_dyn.f90 |
4.2 |
Fehler bei Compilation im Cluster mit ifort und MPI |
09.05.2011 |
pos_dyn.f90 |
4.3 |
MPI_GATHER: für receive-Buffer keine Indizierung nötig |
31.05.2011 |
pos_dyn.f90 |
4.4 |
Keine Extrapolation an den Rändern (sondern Setzen von missing values) |
31.05.2011 |
lib_pos.f90 |
4.2 |
Keine Extrapolation an den Rändern (sondern Setzen von missing values) |
22.11.2011 |
pos_area.f90 |
4.1 - 4.4 |
- exp_VERTCOOR_ref_level aus met. DS kopieren, mit p_ref aus Konfig.datei abgleichen |
15.03.2012 |
lib_pos.f90 |
4.3 |
- sub. write_global_par_pos, read_data_met entfernt |
15.03.2012 |
pos_dyn.f90 |
4.5 |
sub. read_data_met_new nach read_data_met umbenannt |
15.03.2012 |
pos_area.f90 |
4.5 |
- keinen meteorol. DS mehr einlesen |
15.03.2012 |
Makefile |
4.1/4.2 |
- Compilation von pos_area ohne dynmod und ohne lokale Module (global, lib_pos) |
15.03.2012 |
pos_area.inp_tmpl |
4.1 |
- kein met. DS mehr einlesen |
24.04.2012 |
pos_dyn.f90 |
4.6 |
Wenn Vertikalkoord. in pos-File u. wind-File unterschiedlich: Vertikalkoord. aus wind-File wird genutzt, wenn entspr. Variable im pos-File vorhanden (Bisher erfolgte ein Programmabbruch !) |
17.09.2012 |
lib_pos.f90 |
4.4 |
sub. get_index_height: Tippfehler korrigiert (bei Druckdatensaetzen) |
27.05.2013 |
lib_pos.f90 |
4.5 |
sub. get_index_height(_modlev): falls zwei Höhenniveaus exakt gleich sind, wird fuer die Interpolation das obere Level genommen |