## page was renamed from UtilsChanges === Änderungen in der Utils-Library === ||26.01.2006 ||nc_eqlat_utils.f90 ||1.34 bis 1.36 ||sub. nc_get_eqlat_all: Korrekturen von Jens-Uwe <
> Probleme mit vertcoorname: Wenn der Name mit IDL oder NCO in die Datei geschrieben wurde, wurde ein "\0" angehängt und mit ausgelesen! Jetzt wird die Routine nc_get_vertcoorname2 aufgerufen, die Kontrollzeichen automatisch entfernt. || ||27.01.2006 ||nc_utils.f90 ||1.13 und 1.14 ||sub. nc_get_vertcoorname und sub. nc_get_vertcoorname2: Bisher wurde - wenn das Attr. exp_VERTCOOR_name nicht vorhanden ist - als Default-Wert "theta" gesetzt. Das führte zu Problemen mit der geänderten sub. nc_get_eqlat_all (nc_eqlat_utils.f90), die - wenn das Attr. nicht vorhanden ist - "theta" oder "press" als Vertikalkoordinate nehmen soll (abhängig von der vorhandenen Dimension!). Nun wird in der sub. nc_get_vertcoorname vor dem Setzen des Default-Wertes "theta" noch überprüft, ob der Datensatz eine Dimension mit dem Namen "press" enthält. Für diesen Fall wird vertcoorname auf "press" gesetzt. || ||27.01.2006 ||nc_eqlat.f90 ||1.37 ||sub. nc_get_eqlat_all: Einlesen des Vertikalkoordinatennamens an neue sub. nc_get_vertcoorname2 angepasst || ||27.01.2006 ||nc_eqlat.f90 ||1.38 ||write-Befehl korrigiert (am 26.01.06 eingefügt): NAG und xlf compilierten nicht! || ||27.01.2006 ||nc_get_put.f90 ||1.20 und 1.21 ||sub. nc_get_level: Einlesen des Vertikalkoordinatennamens mit sub. nc_get_vertcoorname2 || ||03.02.2006 ||nc_get_put.f90 ||1.22 ||sub. nc_put_values3: Wenn die Variable bereits existierte, wurde bisher nicht die korrekte "param_modification_time" ausgegeben => korrigiert || ||07.02.2006 ||nc_utils.f90 ||1.15 ||neue sub. nc_change_history || ||20.02.2006 ||lib_triangulate.f90 ||1.2 ||Function find_triangle: <
> - Die max. Entfernung zu den Eckpunkten der Triangel kann optional übergeben werden (max_dist) <
> - Wird keine Triangel gefunden, gibt die Funktion den Wert -1 zurück <
> (=> Veränderungen in i3d und bmix erforderlich) || ||01.03.2006 ||nc_pack_utils ||1.4 ||Globales Attribut "definition_name" wird nicht mehr auf "def_icg_unpack" umgesetzt! (Es ist nach grib2ncdf auf "def_icg" gesetzt.) || ||29.03.2006 ||*.f90 || ||Text für GPL in allen Modulen ergänzt. Alle Module (bis auf dateconv.f90) neu eingecheckt || ||05.04.2006 ||dateconv.f90 ||1.5 ||Ray-Sterner-Routinen für die Datumskonversion durch eigene ersetzt (Referenz für ymd2jd und jd2ymd: Fliegel und van Flandern) || ||13.04.2006 ||Makefile ||1.32 ||Für pgi-Compiler: Versionsnr. an Pfadangaben anhängen || ||29.05.2006 ||dateconv.f90 ||1.6 ||GPL Header: M. Fisher ergänzt || ||29.06.2006 ||nc_utils.f90 ||1.17 ||Bildschirmausgaben einkommentiert || ||29.06.2006 ||nc_pack_utils.f90 ||1.6 ||Bildschirmausgaben einkommentiert || ||31.08.2006 ||nc_utils.f90 ||1.18 ||sub. nc_set_var_atts und sub. nc_set_global_atts ergänzt || ||14.09.2006 ||utils.f90 ||1.5 ||neue sub. delete_control_chars || ||19.09.2006 ||utils.f90 ||1.6 ||sub. delete_control_chars => function delete_control_chars || ||21.09.2006 ||utils.f90 ||1.7 ||Kommentar geändert || ||20.10.2006 ||nc_eqlat_utils.f90 ||1.40 ||sub. nc_get_eqlat_all: Dummy-Felder größer allokiert (nc=1000) (wg. Absturz in add_temp_dot) || ||21.11.2006 ||lib_interpol.f90 ||1.4 ||neue sub. determ_weight_new: Neue Methode die Gewichte zu bestimmen, bei der der vertikale Abstand nicht so stark gewichtet wird. Bisher gab es Ausreißer, wenn ein Punkt exakt auf dem Theta-Level eines der drei Eckpunkte lag. In diesem Fall wurden die anderen Punkte fast nicht berücksichtigt (obwohl sie vielleicht näher liegen!). || ||23.02.2007 ||nc_utils.f90 ||1.19 bis 1.21 ||neue sub. nc_check_error || ||09.03.2007 ||nc_pack_utils.f90 ||1.7 ||sub. write_packed_attributes: !FillValue wird nur ausgegeben, wenn er nicht dem Standard-!FillValue entspricht. Wird der Standard-!FillValue immer ausgegeben (auch zusätzlich zu mdi), wird dieser z.B. von ncview für das Filtern der Daten genutzt (und die Daten, die mdi entsprechen, werden mit ausgegeben und verzerren den Wertebereich!) || ||09.03.2007 ||nc_utils.f90 ||1.22 ||- sub. nc_copy_global_atts: Abfangen, ob History zu lang ist! Wird eine zu lange History (länger als die Variable, auf die sie zugewiesen wird) eingelesen, kann es zum Programmabsturz (mit evtl. merkwürdigen Fehlermeldungen) kommen! <
> - sub. nc_copy_variable: deallocates ergänzt || ||19.04.2007 ||nc_utils.f90 ||1.23 ||sub. nc_change_history: Abfangen, dass history zu lang sein könnte || ||04.05.2007 ||lib_triangulate.f90 ||1.4 ||sub. find_triangle: Warnings lassen sich optional ausschalten || ||16.05.2007 ||lib_interpol.f90 ||1.5 ||sub. determ_weight_new: delta_theta und ratio als Eingabeparameter (NICHT Ausgabeparameter) deklariert. Bisher waren die beiden Variablen versehentlich als intent(out) deklariert und evtl. nicht korrekt belegt, so dass die Berechnung von r in einigen Fällen "inf" ergab und weight somit mit "Nan" belegt wurde !!! || ||01.06.2007 ||Makefile ||1.33 ||ifort für 64-Bit-Maschinen ergänzt || ||12.06.2007 ||Makefile ||1.34 ||gfortran-Compiler ergänzt || ||13.06.2007 ||dateconv.f90 ||1.7 ||Datumskonversionsroutinen für 30-Tage-Monate (alle Monate mit 30 Tagen!) ergänzt || ||15.06.2007 ||nc_utils.f90 ||1.24 ||History-Länge erhöht (sub. nc_copy_global_atts, sub. nc_change_history) || ||27.08.2007 ||utils.f90 ||1.8 ||sub. uppercase und sub. lowercase: Rückgabeparameter ist nicht mehr ein String der Länge 250, sondern ein String mit der gleichen Länge wie der Eingabeparameter || ||07.09.2007 ||read2d_utils.f90 ||1.15 ||Abfrage, ob ithe1<1 korrigiert (bisher wurde auch an dieser Stelle versehentlich "ithe" statt "ithe1" überprüft!) || ||19.10.2007 ||nc_eqlat_utils.f90 ||1.41 ||sub. get_pvlim: Wenn PV nur missing-values enthält, führte das bisher zum Absturz, da minval und maxval nicht ermittelt werden können. Das wird jetzt abgefangen, indem man überprüft, ob minval=HUGE(x) ist (d.h. Minimum konnte nicht ermittelt werden) || ||03.12.2007 ||read2d_utils ||1.16 ||sub. interpol_2d_values: Abfragen, ob optionaler Parameter (time2d) vorhanden ist (=> löste einen Absturz auf dem JUMP in pos_chem aus) || ||18.01.2008 ||nc_utils.f90 ||1.25 ||Kommentar geändert || ||18.02.2008 ||nc_eqlat_utils.f90 ||1.42 ||sub. get_pvlim: stop durch return ersetzt (kein Abbruch, wenn PV nur missing values enthält) || ||21.02.2008 ||nc_eqlat_utils.f90 ||1.43 ||sub. nc_get_eqlat_all: wenn "press" Vertikalkoordinate ist, werden missing_values auf PV und TEMP zugelassen || ||20.03.2008 ||nc_pack_utils.f90 ||1.8 ||neue Funktion put_packed_var4 zum Wegschreiben von gepackten Variablen || ||20.03.2008 ||nc_get_put.f90 ||1.24 ||sub. nc_put_values3: zusätzlicher optionaler Parameter "packed" (ermöglicht die Ausgabe gepackter Daten) || ||20.03.2008 ||nc_func.f90 ||1.9 ||Interface von sub. nc_put_values3: zusätzlicher optionaler Parameter "packed" || ||20.03.2008 ||nc_eqlat_utils.f90 ||1.44 ||sub. nc_get_eqlat_all: "filename_tot" auch belegen, wenn kein Verzeichnisname übergeben wird || ||25.04.2008 ||nc_utils.f90 ||1.26 bis 1.29 ||neue sub. nc_change_history2 (wie nc_change_history, nur wird die ncid statt des Filenames übergeben) || ||25.04.2008 ||nc_io.f90 ||1.11 ||sub. write_global_att: History-Länge überprüfen || ||06.05.2008 ||nc_utils.f90 ||1.30 ||neue Funktionen nc_set_new_history und nc_set_new_history2: Die bisherige History wird gelöscht und eine neue History erzeugt, die nur aus dem aktuellen Datum und dem Namen des aufrufenden Programms besteht (wird im Moment von mix genutzt) || ||06.05.2008 ||nc_utils.f90 ||1.31 ||kein "return", wenn history nicht gelöscht werden kann (History kann evtl. nicht gelöscht werden, weil sie noch nicht vorhanden war!) || ||15.05.2008 ||nc_eqlat_utils.f90 ||1.45 ||neue Subroutine "make_eqlatbins_all" (für clams-tools: zonal_mean.f90) || ||20.05.2008 ||nc_eqlat_utils.f90 ||1.46 ||Bildschirmausgaben in sub. make_eqlatbins_all entfernt || ||27.05.2008 ||utils.f90 ||1.9 ||sub. delete_control_chars: Länge des Rückgabestrings entspricht der Länge des übergebenen Strings || ||18.08.2008 ||nc_utils.f90 ||1.32 und 1.33 ||neue sub. nc_set_file_creation_time, nc_set_param_creation_time, nc_set_file_mod_time und nc_set_param_mod_time || ||30.01.2009 ||Makefile||1.35||Beim Intel-Compiler wird die Versionsnr. an den Pfad angehängt|| ||05.10.2010 ||nc_utils.f90 ||1.34 ||Änderungen für Modelldatensätze: <
> sub. nc_get_vertcoorname geändert: Modelldaten und Daten auf Zeta-Niveaus werden am Dimensionsnamen erkannt || ||25.10.2010 ||lib_bval3d.f90 ||1.6 ||Änderungen für Modelldatensätze <
> - function no_area: 2 Werte übergeben (statt vollst. Datenfeld und Indizes) <
> - function bval3d: Aufruf einer neuen Funktion bval3d_new <
> - function bval3d_new: 4 Werte übergeben (statt des vollst. Datenfeldes und der Indizes) ||