From 750d701f0ea9a4bc0d56949cdde8048042c32e55 Mon Sep 17 00:00:00 2001 From: Uwe Schulzweida <uwe.schulzweida@mpimet.mpg.de> Date: Mon, 15 Apr 2019 15:44:12 +0200 Subject: [PATCH] Removed function gridPrint(). --- ChangeLog | 1 + doc/tex/c_quick_ref.tex | 118 ++++++++++++++++++++++++++++++++---- doc/tex/f_quick_ref.tex | 129 ++++++++++++++++++++++++++++++++++++---- src/cdi.h | 46 +++++++------- src/cdi.inc | 19 ++---- src/cdiFortran.c | 13 +--- src/grid.c | 6 -- src/make_fint.c | 45 ++++++-------- src/mo_cdi.f90 | 7 --- 9 files changed, 275 insertions(+), 109 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9d6d897ed..51506e8df 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,7 @@ 2019-04-15 Uwe Schulzweida + * Removed funtion gridPrint() * Removed funtion zaxisPrint() 2019-04-01 Uwe Schulzweida diff --git a/doc/tex/c_quick_ref.tex b/doc/tex/c_quick_ref.tex index e467cb0b4..dbcc18001 100644 --- a/doc/tex/c_quick_ref.tex +++ b/doc/tex/c_quick_ref.tex @@ -1,8 +1,7 @@ \chapter*{Quick Reference} \addcontentsline{toc}{chapter}{Quick Reference} -This appendix provide a brief listing of the C language bindings of the -CDI library routines: +This appendix provide a brief listing of the C language bindings of the CDI library routines: \section*{\tt \htmlref{cdiClearAdditionalKeys}{cdiClearAdditionalKeys}} @@ -10,7 +9,7 @@ CDI library routines: void cdiClearAdditionalKeys (); \end{verbatim} -Clear the list of additional GRIB keys.. +Clear the list of additional GRIB keys. \section*{\tt \htmlref{cdiDefAdditionalKey}{cdiDefAdditionalKey}} @@ -19,7 +18,7 @@ Clear the list of additional GRIB keys.. void cdiDefAdditionalKey (const char *string); \end{verbatim} -Register an additional GRIB key which is read when file is opened.. +Register an additional GRIB key which is read when file is opened. \section*{\tt \htmlref{cdiDefAttFlt}{cdiDefAttFlt}} @@ -52,6 +51,42 @@ Define an integer attribute. Define a text attribute. +\section*{\tt \htmlref{cdiDefKeyInt}{cdiDefKeyInt}} + +\begin{verbatim} + int cdiDefKeyInt (int cdiID, int varID, int key, int value); +\end{verbatim} + +Define an integer value from a key of a CDI variable. + + +\section*{\tt \htmlref{cdiDefKeyString}{cdiDefKeyString}} + +\begin{verbatim} + int cdiDefKeyString (int cdiID, int varID, int key, const char *string); +\end{verbatim} + +Define a string value from a key of a CDI variable. + + +\section*{\tt \htmlref{cdiGridDefKeyStr}{cdiGridDefKeyStr}} + +\begin{verbatim} + int cdiGridDefKeyStr (int gridID, int key, int size, const char *mesg); +\end{verbatim} + +Define a CDI grid string value from a key. + + +\section*{\tt \htmlref{cdiGridInqKeyStr}{cdiGridInqKeyStr}} + +\begin{verbatim} + int cdiGridInqKeyStr (int gridID, int key, int size, char *mesg); +\end{verbatim} + +Get a CDI grid string value from a key. + + \section*{\tt \htmlref{cdiInqAtt}{cdiInqAtt}} \begin{verbatim} @@ -90,6 +125,33 @@ Get the value(s) of an integer attribute. Get the value(s) of a text attribute. +\section*{\tt \htmlref{cdiInqKeyInt}{cdiInqKeyInt}} + +\begin{verbatim} + int cdiInqKeyInt (int cdiID, int varID, int key, int *value); +\end{verbatim} + +Get an integer value from a key of a CDI variable. + + +\section*{\tt \htmlref{cdiInqKeyLen}{cdiInqKeyLen}} + +\begin{verbatim} + int cdiInqKeyLen (int cdiID, int varID, int key, int *length); +\end{verbatim} + +Get the length of the string representation of the key. + + +\section*{\tt \htmlref{cdiInqKeyString}{cdiInqKeyString}} + +\begin{verbatim} + int cdiInqKeyString (int cdiID, int varID, int key, char *string, int *length); +\end{verbatim} + +Get a string value from a key of a CDI variable. + + \section*{\tt \htmlref{cdiInqNatts}{cdiInqNatts}} \begin{verbatim} @@ -99,6 +161,42 @@ Get the value(s) of a text attribute. Get number of attributes assigned to this variable. +\section*{\tt \htmlref{cdiZaxisDefKeyFlt}{cdiZaxisDefKeyFlt}} + +\begin{verbatim} + int cdiZaxisDefKeyFlt (int zaxisID, int key, double value); +\end{verbatim} + +Define a CDI Z-axis floating point value from a key. + + +\section*{\tt \htmlref{cdiZaxisDefKeyStr}{cdiZaxisDefKeyStr}} + +\begin{verbatim} + int cdiZaxisDefKeyStr (int zaxisID, int key, int size, const char *mesg); +\end{verbatim} + +Define a CDI Z-axis string value from a key. + + +\section*{\tt \htmlref{cdiZaxisInqKeyFlt}{cdiZaxisInqKeyFlt}} + +\begin{verbatim} + int cdiZaxisInqKeyFlt (int zaxisID, int key, double *value); +\end{verbatim} + +Get a CDI Z-axis floating point value from a key. + + +\section*{\tt \htmlref{cdiZaxisInqKeyStr}{cdiZaxisInqKeyStr}} + +\begin{verbatim} + int cdiZaxisInqKeyStr (int zaxisID, int key, int size, char *mesg); +\end{verbatim} + +Get a CDI Z-axis string value from a key. + + \section*{\tt \htmlref{gridCreate}{gridCreate}} \begin{verbatim} @@ -755,7 +853,7 @@ Create a variable subtype. void subtypeDefActiveIndex (int subtypeID, int index); \end{verbatim} -Set the currently active index of a subtype (e.g. current tile index).. +Set the currently active index of a subtype (e.g. current tile index). \section*{\tt \htmlref{subtypeInqActiveIndex}{subtypeInqActiveIndex}} @@ -764,7 +862,7 @@ Set the currently active index of a subtype (e.g. current tile index).. int subtypeInqActiveIndex (int subtypeID); \end{verbatim} -Get the currently active index of a subtype (e.g. current tile index).. +Get the currently active index of a subtype (e.g. current tile index). \section*{\tt \htmlref{subtypeInqAttribute}{subtypeInqAttribute}} @@ -783,7 +881,7 @@ Inquire the value of a subtype attribute. Returns CDI_EINVAL if the attribute do int subtypeInqSize (int subtypeID); \end{verbatim} -Get the size of a subtype (e.g. no. of tiles).. +Get the size of a subtype (e.g. no. of tiles). \section*{\tt \htmlref{subtypeInqTile}{subtypeInqTile}} @@ -792,7 +890,7 @@ Get the size of a subtype (e.g. no. of tiles).. int subtypeInqTile (int subtypeID, int tileindex, int attribute); \end{verbatim} -Specialized version of subtypeInqSubEntry looking for tile/attribute pair.. +Specialized version of subtypeInqSubEntry looking for tile/attribute pair. \section*{\tt \htmlref{tableRead}{tableRead}} @@ -1153,7 +1251,7 @@ Duplicate a variable list. int vlistHasVarKey (int vlistID, int varID, const char *name); \end{verbatim} -returns 1 if meta-data key was read, 0 otherwise.. +returns 1 if meta-data key was read, 0 otherwise. \section*{\tt \htmlref{vlistInqTaxis}{vlistInqTaxis}} @@ -1261,7 +1359,7 @@ Get the standard name of a Variable. int vlistInqVarSubtype (int vlistID, int varID); \end{verbatim} -Return subtype ID for a given variable.. +Return subtype ID for a given variable. \section*{\tt \htmlref{vlistInqVarTsteptype}{vlistInqVarTsteptype}} diff --git a/doc/tex/f_quick_ref.tex b/doc/tex/f_quick_ref.tex index 662eadf11..7935653a2 100644 --- a/doc/tex/f_quick_ref.tex +++ b/doc/tex/f_quick_ref.tex @@ -1,8 +1,7 @@ \chapter*{Quick Reference} \addcontentsline{toc}{chapter}{Quick Reference} -This appendix provide a brief listing of the Fortran language bindings of the -CDI library routines: +This appendix provide a brief listing of the Fortran language bindings of the CDI library routines: \section*{\tt \htmlref{cdiClearAdditionalKeys}{cdiClearAdditionalKeys}} @@ -10,7 +9,7 @@ CDI library routines: SUBROUTINE cdiClearAdditionalKeys \end{verbatim} -Clear the list of additional GRIB keys.. +Clear the list of additional GRIB keys. \section*{\tt \htmlref{cdiDefAdditionalKey}{cdiDefAdditionalKey}} @@ -19,7 +18,7 @@ Clear the list of additional GRIB keys.. SUBROUTINE cdiDefAdditionalKey (CHARACTER*(*) string) \end{verbatim} -Register an additional GRIB key which is read when file is opened.. +Register an additional GRIB key which is read when file is opened. \section*{\tt \htmlref{cdiDefAttFlt}{cdiDefAttFlt}} @@ -52,6 +51,46 @@ Define an integer attribute. Define a text attribute. +\section*{\tt \htmlref{cdiDefKeyInt}{cdiDefKeyInt}} + +\begin{verbatim} + INTEGER FUNCTION cdiDefKeyInt (INTEGER cdiID, INTEGER varID, INTEGER key, + INTEGER value) +\end{verbatim} + +Define an integer value from a key of a CDI variable. + + +\section*{\tt \htmlref{cdiDefKeyString}{cdiDefKeyString}} + +\begin{verbatim} + INTEGER FUNCTION cdiDefKeyString (INTEGER cdiID, INTEGER varID, INTEGER key, + CHARACTER*(*) string) +\end{verbatim} + +Define a string value from a key of a CDI variable. + + +\section*{\tt \htmlref{cdiGridDefKeyStr}{cdiGridDefKeyStr}} + +\begin{verbatim} + INTEGER FUNCTION cdiGridDefKeyStr (INTEGER gridID, INTEGER key, INTEGER size, + CHARACTER*(*) mesg) +\end{verbatim} + +Define a CDI grid string value from a key. + + +\section*{\tt \htmlref{cdiGridInqKeyStr}{cdiGridInqKeyStr}} + +\begin{verbatim} + INTEGER FUNCTION cdiGridInqKeyStr (INTEGER gridID, INTEGER key, INTEGER size, + CHARACTER*(*) mesg) +\end{verbatim} + +Get a CDI grid string value from a key. + + \section*{\tt \htmlref{cdiInqAtt}{cdiInqAtt}} \begin{verbatim} @@ -92,6 +131,36 @@ Get the value(s) of an integer attribute. Get the value(s) of a text attribute. +\section*{\tt \htmlref{cdiInqKeyInt}{cdiInqKeyInt}} + +\begin{verbatim} + INTEGER FUNCTION cdiInqKeyInt (INTEGER cdiID, INTEGER varID, INTEGER key, + INTEGER value) +\end{verbatim} + +Get an integer value from a key of a CDI variable. + + +\section*{\tt \htmlref{cdiInqKeyLen}{cdiInqKeyLen}} + +\begin{verbatim} + INTEGER FUNCTION cdiInqKeyLen (INTEGER cdiID, INTEGER varID, INTEGER key, + INTEGER length) +\end{verbatim} + +Get the length of the string representation of the key. + + +\section*{\tt \htmlref{cdiInqKeyString}{cdiInqKeyString}} + +\begin{verbatim} + INTEGER FUNCTION cdiInqKeyString (INTEGER cdiID, INTEGER varID, INTEGER key, + CHARACTER*(*) string, INTEGER length) +\end{verbatim} + +Get a string value from a key of a CDI variable. + + \section*{\tt \htmlref{cdiInqNatts}{cdiInqNatts}} \begin{verbatim} @@ -101,6 +170,46 @@ Get the value(s) of a text attribute. Get number of attributes assigned to this variable. +\section*{\tt \htmlref{cdiZaxisDefKeyFlt}{cdiZaxisDefKeyFlt}} + +\begin{verbatim} + INTEGER FUNCTION cdiZaxisDefKeyFlt (INTEGER zaxisID, INTEGER key, + DOUBLEPRECISION value) +\end{verbatim} + +Define a CDI Z-axis floating point value from a key. + + +\section*{\tt \htmlref{cdiZaxisDefKeyStr}{cdiZaxisDefKeyStr}} + +\begin{verbatim} + INTEGER FUNCTION cdiZaxisDefKeyStr (INTEGER zaxisID, INTEGER key, INTEGER size, + CHARACTER*(*) mesg) +\end{verbatim} + +Define a CDI Z-axis string value from a key. + + +\section*{\tt \htmlref{cdiZaxisInqKeyFlt}{cdiZaxisInqKeyFlt}} + +\begin{verbatim} + INTEGER FUNCTION cdiZaxisInqKeyFlt (INTEGER zaxisID, INTEGER key, + DOUBLEPRECISION value) +\end{verbatim} + +Get a CDI Z-axis floating point value from a key. + + +\section*{\tt \htmlref{cdiZaxisInqKeyStr}{cdiZaxisInqKeyStr}} + +\begin{verbatim} + INTEGER FUNCTION cdiZaxisInqKeyStr (INTEGER zaxisID, INTEGER key, INTEGER size, + CHARACTER*(*) mesg) +\end{verbatim} + +Get a CDI Z-axis string value from a key. + + \section*{\tt \htmlref{gridCreate}{gridCreate}} \begin{verbatim} @@ -759,7 +868,7 @@ Create a variable subtype. SUBROUTINE subtypeDefActiveIndex (INTEGER subtypeID, INTEGER index) \end{verbatim} -Set the currently active index of a subtype (e.g. current tile index).. +Set the currently active index of a subtype (e.g. current tile index). \section*{\tt \htmlref{subtypeInqActiveIndex}{subtypeInqActiveIndex}} @@ -768,7 +877,7 @@ Set the currently active index of a subtype (e.g. current tile index).. INTEGER FUNCTION subtypeInqActiveIndex (INTEGER subtypeID) \end{verbatim} -Get the currently active index of a subtype (e.g. current tile index).. +Get the currently active index of a subtype (e.g. current tile index). \section*{\tt \htmlref{subtypeInqAttribute}{subtypeInqAttribute}} @@ -787,7 +896,7 @@ Inquire the value of a subtype attribute. Returns CDI_EINVAL if the attribute do INTEGER FUNCTION subtypeInqSize (INTEGER subtypeID) \end{verbatim} -Get the size of a subtype (e.g. no. of tiles).. +Get the size of a subtype (e.g. no. of tiles). \section*{\tt \htmlref{subtypeInqTile}{subtypeInqTile}} @@ -797,7 +906,7 @@ Get the size of a subtype (e.g. no. of tiles).. INTEGER attribute) \end{verbatim} -Specialized version of subtypeInqSubEntry looking for tile/attribute pair.. +Specialized version of subtypeInqSubEntry looking for tile/attribute pair. \section*{\tt \htmlref{tableRead}{tableRead}} @@ -1166,7 +1275,7 @@ Duplicate a variable list. CHARACTER*(*) name) \end{verbatim} -returns 1 if meta-data key was read, 0 otherwise.. +returns 1 if meta-data key was read, 0 otherwise. \section*{\tt \htmlref{vlistInqTaxis}{vlistInqTaxis}} @@ -1278,7 +1387,7 @@ Get the standard name of a Variable. INTEGER FUNCTION vlistInqVarSubtype (INTEGER vlistID, INTEGER varID) \end{verbatim} -Return subtype ID for a given variable.. +Return subtype ID for a given variable. \section*{\tt \htmlref{vlistInqVarTsteptype}{vlistInqVarTsteptype}} diff --git a/src/cdi.h b/src/cdi.h index 54a0115a3..9b51a2349 100644 --- a/src/cdi.h +++ b/src/cdi.h @@ -655,9 +655,9 @@ int vlistFindLevel(int vlistID, int fvarID, int flevelID); int vlistMergedVar(int vlistID, int varID); int vlistMergedLevel(int vlistID, int varID, int levelID); -/* cdiClearAdditionalKeys: Clear the list of additional GRIB keys. */ +/* cdiClearAdditionalKeys: Clear the list of additional GRIB keys */ void cdiClearAdditionalKeys(void); -/* cdiDefAdditionalKey: Register an additional GRIB key which is read when file is opened. */ +/* cdiDefAdditionalKey: Register an additional GRIB key which is read when file is opened */ void cdiDefAdditionalKey(const char *string); /* vlistDefVarIntKey: Set an arbitrary keyword/integer value pair for GRIB API */ @@ -665,39 +665,39 @@ void vlistDefVarIntKey(int vlistID, int varID, const char *name, int value); /* vlistDefVarDblKey: Set an arbitrary keyword/double value pair for GRIB API */ void vlistDefVarDblKey(int vlistID, int varID, const char *name, double value); -/* vlistHasVarKey: returns 1 if meta-data key was read, 0 otherwise. */ +/* vlistHasVarKey: returns 1 if meta-data key was read, 0 otherwise */ int vlistHasVarKey(int vlistID, int varID, const char *name); /* vlistInqVarDblKey: raw access to GRIB meta-data */ double vlistInqVarDblKey(int vlistID, int varID, const char *name); /* vlistInqVarIntKey: raw access to GRIB meta-data */ int vlistInqVarIntKey(int vlistID, int varID, const char *name); -/* CDI attributes */ +// CDI attributes -/* cdiInqNatts: Get number of attributes assigned to this variable */ +// cdiInqNatts: Get number of attributes assigned to this variable int cdiInqNatts(int cdiID, int varID, int *nattsp); -/* cdiInqAtt: Get information about an attribute */ +// cdiInqAtt: Get information about an attribute int cdiInqAtt(int cdiID, int varID, int attrnum, char *name, int *typep, int *lenp); int cdiDelAtt(int cdiID, int varID, const char *name); int cdiCopyAtts(int cdiID1, int varID1, int cdiID2, int varID2); -/* cdiDefAttInt: Define an integer attribute */ +// cdiDefAttInt: Define an integer attribute int cdiDefAttInt(int cdiID, int varID, const char *name, int type, int len, const int ip[]); -/* cdiDefAttFlt: Define a floating point attribute */ +// cdiDefAttFlt: Define a floating point attribute int cdiDefAttFlt(int cdiID, int varID, const char *name, int type, int len, const double dp[]); -/* cdiDefAttTxt: Define a text attribute */ +// cdiDefAttTxt: Define a text attribute int cdiDefAttTxt(int cdiID, int varID, const char *name, int len, const char *tp_cbuf); -/* cdiInqAttInt: Get the value(s) of an integer attribute */ +// cdiInqAttInt: Get the value(s) of an integer attribute int cdiInqAttInt(int cdiID, int varID, const char *name, int mlen, int ip[]); -/* cdiInqAttFlt: Get the value(s) of a floating point attribute */ +// cdiInqAttFlt: Get the value(s) of a floating point attribute int cdiInqAttFlt(int cdiID, int varID, const char *name, int mlen, double dp[]); -/* cdiInqAttTxt: Get the value(s) of a text attribute */ +// cdiInqAttTxt: Get the value(s) of a text attribute int cdiInqAttTxt(int cdiID, int varID, const char *name, int mlen, char *tp_cbuf); -/* GRID routines */ +// GRID routines void gridName(int gridtype, char *gridname); const char *gridNamePtr(int gridtype); @@ -710,8 +710,6 @@ int gridInqMaskGME(int gridID, int mask[]); void gridDefMask(int gridID, const int mask[]); int gridInqMask(int gridID, int mask[]); -void gridPrint(int gridID, int opt); - // gridCreate: Create a horizontal Grid int gridCreate(int gridtype, size_t size); @@ -1250,34 +1248,34 @@ int subtypeCreate(int subtype); /* Gives a textual summary of the variable subtype */ void subtypePrint(int subtypeID); -/* Compares two subtype data structures. */ +/* Compares two subtype data structures */ int subtypeCompare(int subtypeID1, int subtypeID2); -/* subtypeInqSize: Get the size of a subtype (e.g. no. of tiles). */ +/* subtypeInqSize: Get the size of a subtype (e.g. no. of tiles) */ int subtypeInqSize(int subtypeID); -/* subtypeInqActiveIndex: Get the currently active index of a subtype (e.g. current tile index). */ +/* subtypeInqActiveIndex: Get the currently active index of a subtype (e.g. current tile index) */ int subtypeInqActiveIndex(int subtypeID); -/* subtypeDefActiveIndex: Set the currently active index of a subtype (e.g. current tile index). */ +/* subtypeDefActiveIndex: Set the currently active index of a subtype (e.g. current tile index) */ void subtypeDefActiveIndex(int subtypeID, int index); -/* Generate a "query object" out of a key-value pair. */ +/* Generate a "query object" out of a key-value pair */ subtype_query_t keyValuePair(const char *key, int value); -/* Generate an AND-combined "query object" out of two previous query objects. */ +/* Generate an AND-combined "query object" out of two previous query objects */ subtype_query_t matchAND(subtype_query_t q1, subtype_query_t q2); -/* subtypeInqSubEntry: Returns subtype entry ID for a given criterion. */ +/* subtypeInqSubEntry: Returns subtype entry ID for a given criterion */ int subtypeInqSubEntry(int subtypeID, subtype_query_t criterion); -/* subtypeInqTile: Specialized version of subtypeInqSubEntry looking for tile/attribute pair. */ +/* subtypeInqTile: Specialized version of subtypeInqSubEntry looking for tile/attribute pair */ int subtypeInqTile(int subtypeID, int tileindex, int attribute); /* subtypeInqAttribute: Inquire the value of a subtype attribute. Returns CDI_EINVAL if the attribute does not exist.*/ int subtypeInqAttribute(int subtypeID, int index, const char *key, int *outValue); -/* vlistInqVarSubtype: Return subtype ID for a given variable. */ +/* vlistInqVarSubtype: Return subtype ID for a given variable */ int vlistInqVarSubtype(int vlistID, int varID); void gribapiLibraryVersion(int *major_version, int *minor_version, int *revision_version); diff --git a/src/cdi.inc b/src/cdi.inc index 470bf3fe5..722630dc7 100644 --- a/src/cdi.inc +++ b/src/cdi.inc @@ -1,6 +1,6 @@ ! This file was automatically generated, don't edit! ! -! Fortran interface for CDI library version 1.9.5 +! Fortran interface for CDI library version 1.9.7 ! ! Author: ! ------- @@ -1303,9 +1303,6 @@ ! CHARACTER*(*) name) EXTERNAL vlistInqVarIntKey -! -! CDI attributes -! INTEGER cdiInqNatts ! (INTEGER cdiID, ! INTEGER varID, @@ -1384,9 +1381,6 @@ ! CHARACTER*(*) tp_cbuf) EXTERNAL cdiInqAttTxt -! -! GRID routines -! ! gridName ! (INTEGER gridtype, ! CHARACTER*(*) gridname) @@ -1420,11 +1414,6 @@ ! INTEGER mask(*)) EXTERNAL gridInqMask -! gridPrint -! (INTEGER gridID, -! INTEGER opt) - EXTERNAL gridPrint - INTEGER gridCreate ! (INTEGER gridtype, ! INTEGER size) @@ -2563,7 +2552,7 @@ EXTERNAL subtypePrint ! -! Compares two subtype data structures. +! Compares two subtype data structures ! INTEGER subtypeCompare ! (INTEGER subtypeID1, @@ -2584,10 +2573,10 @@ EXTERNAL subtypeDefActiveIndex ! -! Generate a "query object" out of a key-value pair. +! Generate a "query object" out of a key-value pair ! ! -! Generate an AND-combined "query object" out of two previous query objects. +! Generate an AND-combined "query object" out of two previous query objects ! INTEGER subtypeInqTile ! (INTEGER subtypeID, diff --git a/src/cdiFortran.c b/src/cdiFortran.c index 04cbebc51..598f4c4c2 100644 --- a/src/cdiFortran.c +++ b/src/cdiFortran.c @@ -400,9 +400,6 @@ FCALLSCSUB4 (vlistDefVarDblKey, VLISTDEFVARDBLKEY, vlistdefvardblkey, INT, INT, FCALLSCFUN3 (INT, vlistHasVarKey, VLISTHASVARKEY, vlisthasvarkey, INT, INT, STRING) FCALLSCFUN3 (DOUBLE, vlistInqVarDblKey, VLISTINQVARDBLKEY, vlistinqvardblkey, INT, INT, STRING) FCALLSCFUN3 (INT, vlistInqVarIntKey, VLISTINQVARINTKEY, vlistinqvarintkey, INT, INT, STRING) - -/* CDI attributes */ - FCALLSCFUN3 (INT, cdiInqNatts, CDIINQNATTS, cdiinqnatts, INT, INT, PINT) FCALLSCFUN6 (INT, cdiInqAtt, CDIINQATT, cdiinqatt, INT, INT, INT, PSTRING, PINT, PINT) FCALLSCFUN3 (INT, cdiDelAtt, CDIDELATT, cdidelatt, INT, INT, STRING) @@ -413,9 +410,6 @@ FCALLSCFUN5 (INT, cdiDefAttTxt, CDIDEFATTTXT, cdidefatttxt, INT, INT, STRING, IN FCALLSCFUN5 (INT, cdiInqAttInt, CDIINQATTINT, cdiinqattint, INT, INT, STRING, INT, INTV) FCALLSCFUN5 (INT, cdiInqAttFlt, CDIINQATTFLT, cdiinqattflt, INT, INT, STRING, INT, DOUBLEV) FCALLSCFUN5 (INT, cdiInqAttTxt, CDIINQATTTXT, cdiinqatttxt, INT, INT, STRING, INT, PPSTRING) - -/* GRID routines */ - FCALLSCSUB2 (gridName, GRIDNAME, gridname, INT, PSTRING) FCALLSCFUN1 (STRING, gridNamePtr, GRIDNAMEPTR, gridnameptr, INT) FCALLSCSUB1 (gridCompress, GRIDCOMPRESS, gridcompress, INT) @@ -423,7 +417,6 @@ FCALLSCSUB2 (gridDefMaskGME, GRIDDEFMASKGME, griddefmaskgme, INT, INTV) FCALLSCFUN2 (INT, gridInqMaskGME, GRIDINQMASKGME, gridinqmaskgme, INT, INTV) FCALLSCSUB2 (gridDefMask, GRIDDEFMASK, griddefmask, INT, INTV) FCALLSCFUN2 (INT, gridInqMask, GRIDINQMASK, gridinqmask, INT, INTV) -FCALLSCSUB2 (gridPrint, GRIDPRINT, gridprint, INT, INT) static int gridCreate_fwrap(int gridtype, int size) { int v; @@ -797,17 +790,17 @@ FCALLSCFUN1 (INT, subtypeCreate, SUBTYPECREATE, subtypecreate, INT) FCALLSCSUB1 (subtypePrint, SUBTYPEPRINT, subtypeprint, INT) -/* Compares two subtype data structures. */ +/* Compares two subtype data structures */ FCALLSCFUN2 (INT, subtypeCompare, SUBTYPECOMPARE, subtypecompare, INT, INT) FCALLSCFUN1 (INT, subtypeInqSize, SUBTYPEINQSIZE, subtypeinqsize, INT) FCALLSCFUN1 (INT, subtypeInqActiveIndex, SUBTYPEINQACTIVEINDEX, subtypeinqactiveindex, INT) FCALLSCSUB2 (subtypeDefActiveIndex, SUBTYPEDEFACTIVEINDEX, subtypedefactiveindex, INT, INT) -/* Generate a "query object" out of a key-value pair. */ +/* Generate a "query object" out of a key-value pair */ -/* Generate an AND-combined "query object" out of two previous query objects. */ +/* Generate an AND-combined "query object" out of two previous query objects */ FCALLSCFUN3 (INT, subtypeInqTile, SUBTYPEINQTILE, subtypeinqtile, INT, INT, INT) FCALLSCFUN4 (INT, subtypeInqAttribute, SUBTYPEINQATTRIBUTE, subtypeinqattribute, INT, INT, STRING, PINT) diff --git a/src/grid.c b/src/grid.c index 371a6826c..67e4f3794 100644 --- a/src/grid.c +++ b/src/grid.c @@ -3733,12 +3733,6 @@ void gridPrintKernel(int gridID, int opt, FILE *fp) } -void gridPrint(int gridID, int opt) -{ - gridPrintKernel(gridID, opt, stdout); -} - - void gridPrintP(void *voidptr, FILE *fp) { grid_t *gridptr = (grid_t *) voidptr; diff --git a/src/make_fint.c b/src/make_fint.c index 887f31b61..4cf8c0755 100644 --- a/src/make_fint.c +++ b/src/make_fint.c @@ -15,7 +15,7 @@ #endif //#include "config.h" -#define VERSION "1.9.5" +#define VERSION "1.9.7" typedef struct { size_t naline; @@ -60,13 +60,11 @@ static int doccmp(const void *s1, const void *s2) static void doctotex(FILE *fp, Docu *doc, size_t ndoc) { - size_t i, k; - - for ( i = 0; i < ndoc; i++ ) + for ( size_t i = 0; i < ndoc; i++ ) { fprintf(fp, "\\section*{\\tt \\htmlref{%s}{%s}}\n\n", doc[i].fname, doc[i].fname); fprintf(fp, "\\begin{verbatim}\n"); - for ( k = 0; k < doc[i].naline; k++ ) + for ( size_t k = 0; k < doc[i].naline; k++ ) fprintf(fp, " %s\n", doc[i].aline[k]); fprintf(fp, "\\end{verbatim}\n"); fprintf(fp, "\n%s.\n\n\n", doc[i].text); @@ -280,7 +278,7 @@ static int detectComment(char **line_, ssize_t *lineLen, size_t *lineBufSize, char *xname, size_t *xnameLen, char **xdes, int *lineno, FILE *fpin, FILE *fpinc, FILE *fpint); -static regex_t commentStartRE, commentEndRE, commentRE, docCommentRE; +static regex_t commentStartRE, commentEndRE, commentRE, docCommentRE, docLineCommentRE; static inline int arrayArgRank(int argType); @@ -372,10 +370,12 @@ static void fortran_interface(char *fname, char *fnameinc, char *fnameint, } /* compile documentation comment regular expression */ { - static const char docCommentREString[] = "^"WS"*/\\*"WS"*"SYMRE":(" - WS"*).*"NWS"("WS"*)\\*/"; + static const char docCommentREString[] = "^"WS"*/\\*"WS"*"SYMRE":("WS"*).*"NWS"("WS"*)\\*/"; + static const char docLineCommentREString[] = "^"WS"*//"WS"*"SYMRE":("WS"*).*"NWS"("WS"*)"; if (reCompile(&docCommentRE, docCommentREString, &line, &lineBufSize)) exit(EXIT_FAILURE); + if (reCompile(&docLineCommentRE, docLineCommentREString, &line, &lineBufSize)) + exit(EXIT_FAILURE); } regex_t cppCondRE; { @@ -818,8 +818,7 @@ static void fortran_interface(char *fname, char *fnameinc, char *fnameint, fprintf(fpint, ")\n"); - if ( funcnameLen == xnameLen - && memcmp(funcname, xname, funcnameLen) == 0 ) + if ( funcnameLen == xnameLen && memcmp(funcname, xname, funcnameLen) == 0 ) { char xline[128]; size_t xlineLen = 0; @@ -831,8 +830,7 @@ static void fortran_interface(char *fname, char *fnameinc, char *fnameint, cdoc[ncdoc].text = NULL; cdoc[ncdoc].fname = strdup(funcname); - nch = sprintf(xline, funRet[functype].cfmt, - "", (int)funcnameLen, funcname); + nch = sprintf(xline, funRet[functype].cfmt, "", (int)funcnameLen, funcname); xline[nch++] = ' '; xline[nch++] = '('; xline[nch] = '\0'; @@ -852,11 +850,9 @@ static void fortran_interface(char *fname, char *fnameinc, char *fnameint, char farg[128]; /* - 1 to omit closing paren ) or comma , */ int nchn = snprintf(farg, sizeof (farg), "%.*s", - (int)(funcargfull[i].rm_eo - - funcargfull[i].rm_so - 1), + (int)(funcargfull[i].rm_eo - funcargfull[i].rm_so - 1), line + funcargfull[i].rm_so); - if (nchn < 0) - abort(); + if (nchn < 0) abort(); /* compress white-space */ nchn = (int)compress_whitespace((size_t)nchn, farg); if ( (xlineLen + (size_t)nchn) > (size_t)80 ) @@ -917,8 +913,7 @@ static void fortran_interface(char *fname, char *fnameinc, char *fnameint, - funcargname[i].rm_so), line + funcargname[i].rm_so, argDimsF); - if (nchn < 0) - abort(); + if (nchn < 0) abort(); if ( (xlineLen + (size_t)nchn) > 80 ) { if (i) xline[--xlineLen] = 0; @@ -1104,8 +1099,7 @@ static void fortran_interface(char *fname, char *fnameinc, char *fnameint, fputs("\\chapter*{Quick Reference}\n" "\\addcontentsline{toc}{chapter}{Quick Reference}\n" "\n" - "This appendix provide a brief listing of the C language bindings of the\n" - "CDI library routines:\n" + "This appendix provide a brief listing of the C language bindings of the CDI library routines:\n" "\n", fp); doctotex(fp, cdoc, ncdoc); @@ -1126,8 +1120,7 @@ static void fortran_interface(char *fname, char *fnameinc, char *fnameint, fputs("\\chapter*{Quick Reference}\n" "\\addcontentsline{toc}{chapter}{Quick Reference}\n" "\n" - "This appendix provide a brief listing of the Fortran language bindings of the\n" - "CDI library routines:\n" + "This appendix provide a brief listing of the Fortran language bindings of the CDI library routines:\n" "\n", fp); doctotex(fp, fdoc, nfdoc); @@ -1403,7 +1396,7 @@ static int detectComment(char **line_, ssize_t *lineLen, size_t *lineBufSize, char *restrict line = *line_; int matchType; do { - if (!regexec(&docCommentRE, line, maxMatch, reMatch, 0)) + if (!regexec(&docCommentRE, line, maxMatch, reMatch, 0) || !regexec(&docLineCommentRE, line, maxMatch, reMatch, 0)) { /* found documentation comment */ size_t nameMatchLen = (size_t)(reMatch[1].rm_eo - reMatch[1].rm_so), @@ -1422,15 +1415,13 @@ static int detectComment(char **line_, ssize_t *lineLen, size_t *lineBufSize, /* delete whitespace following newline */ size_t squeezeLen = strspn(eol, " \t*"); char *startoftext = eol + squeezeLen; - memmove(eol, startoftext, - docMatchLen - (size_t)(startoftext - xdes)); + memmove(eol, startoftext, docMatchLen - (size_t)(startoftext - xdes)); docMatchLen -= squeezeLen; xdes[docMatchLen] = 0; } } if (verbose || debug) - printf("Found documentation for \"%s\": \"%s\"\n", xname, - xdes); + printf("Found documentation for \"%s\": \"%s\"\n", xname, xdes); matchType = FOUND_DOCCOMMENT; break; } diff --git a/src/mo_cdi.f90 b/src/mo_cdi.f90 index d2f6ba59f..562a9137d 100644 --- a/src/mo_cdi.f90 +++ b/src/mo_cdi.f90 @@ -431,7 +431,6 @@ module mo_cdi public :: gridInqMaskGME public :: gridDefMask public :: gridInqMask - public :: gridPrint public :: gridCreate public :: gridDestroy public :: gridDuplicate @@ -1774,12 +1773,6 @@ module mo_cdi integer(c_int) :: f_result end function gridInqMask - subroutine gridPrint(gridID_dummy, opt_dummy) bind(c, name = 'gridPrint') - import c_int - integer(c_int), value :: gridID_dummy - integer(c_int), value :: opt_dummy - end subroutine gridPrint - function gridCreate(gridtype_dummy, size_dummy) bind(c, name =& & 'gridCreate') result(f_result) import c_int, c_size_t -- GitLab