From 84b0dab5e25af94aa0d1663c1ad645d311590bae Mon Sep 17 00:00:00 2001 From: Uwe Schulzweida <uwe.schulzweida@mpimet.mpg.de> Date: Wed, 16 Nov 2022 09:01:02 +0100 Subject: [PATCH] Removed replaced interface function taxisDefFdate()/taxisInqFdate() by taxisDefFdatetime()/taxisInqFdatetime(). --- src/cdi.h | 18 +++------ src/taxis.c | 109 +++++++++------------------------------------------- 2 files changed, 25 insertions(+), 102 deletions(-) diff --git a/src/cdi.h b/src/cdi.h index 4aaa6e59d..d3008995b 100644 --- a/src/cdi.h +++ b/src/cdi.h @@ -1175,18 +1175,6 @@ int taxisInqRdate(int taxisID); // taxisInqRtime: Get the reference time int taxisInqRtime(int taxisID); -// taxisDefFdate: Define the forecast reference date -void taxisDefFdate(int taxisID, int date); - -// taxisDefFtime: Define the forecast reference time -void taxisDefFtime(int taxisID, int time); - -// taxisInqFdate: Get the forecast reference date -int taxisInqFdate(int taxisID); - -// taxisInqFtime: Get the forecast reference time -int taxisInqFtime(int taxisID); - int taxisHasBounds(int taxisID); void taxisWithBounds(int taxisID); @@ -1344,11 +1332,17 @@ int streamOpenReadQuery(const char *path, const CdiQuery *query); #include "cdi_datetime.h" +// taxisDefRdatetime: Define the reference date/time void taxisDefRdatetime(int taxisID, CdiDateTime rDateTime); +// taxisInqRdatetime: Get the reference date/time CdiDateTime taxisInqRdatetime(int taxisID); +// taxisDefFdatetime: Define the forecast reference date/time void taxisDefFdatetime(int taxisID, CdiDateTime fDateTime); +// taxisInqFdatetime: Get the forecast reference date/time CdiDateTime taxisInqFdatetime(int taxisID); +// taxisDefVdatetime: Define the verification date/time void taxisDefVdatetime(int taxisID, CdiDateTime vDateTime); +// taxisInqVdatetime: Get the verification date/time CdiDateTime taxisInqVdatetime(int taxisID); void taxisDefVdatetimeBounds(int taxisID, CdiDateTime vDateTime_lb, CdiDateTime vDateTime_ub); void taxisInqVdatetimeBounds(int taxisID, CdiDateTime *vDateTime_lb, CdiDateTime *vDateTime_ub); diff --git a/src/taxis.c b/src/taxis.c index 205b2b0bd..77f8eb700 100644 --- a/src/taxis.c +++ b/src/taxis.c @@ -79,7 +79,7 @@ taxisNamePtr(int taxisID) const char * tunitNamePtr(int unitID) { - int size = sizeof(Timeunits) / sizeof(*Timeunits); + const int size = sizeof(Timeunits) / sizeof(*Timeunits); return (unitID > 0 && unitID < size) ? Timeunits[unitID] : Timeunits[0]; } static void @@ -128,9 +128,7 @@ static void taxisInit(void) { static bool taxisInitialized = false; - if (taxisInitialized) return; - taxisInitialized = true; char *env = getenv("TAXIS_DEBUG"); @@ -398,53 +396,27 @@ taxisDefRtime(int taxisID, int rtime) } /* -@Function taxisDefFdate -@Title Define the forecast reference date +@Function taxisDefFdatetime +@Title Define the forecast reference date/time -@Prototype void taxisDefFdate(int taxisID, int fdate) +@Prototype void taxisDefFdatetime(int taxisID, CdiDateTime fDateTime) @Parameter - @Item taxisID Time axis ID, from a previous call to @fref{taxisCreate} - @Item fdate Forecast reference date (YYYYMMDD) + @Item taxisID Time axis ID, from a previous call to @fref{taxisCreate} + @Item fDateTime Forecast reference date/time @Description -The function @func{taxisDefFdate} defines the forecast reference date of a Time axis. +The function @func{taxisDefFdatetime} defines the forecast reference date/time of a Time axis. @EndFunction */ void -taxisDefFdate(int taxisID, int fdate) +taxisDefFdatetime(int taxisID, CdiDateTime fDateTime) { taxis_t *taxisptr = (taxis_t *) reshGetVal(taxisID, &taxisOps); - if (cdiDate_get(taxisptr->fDateTime.date) != fdate) + if (cdiDateTime_isNE(taxisptr->fDateTime, fDateTime)) { - taxisptr->fDateTime.date = cdiDate_set(fdate); - reshSetStatus(taxisID, &taxisOps, RESH_DESYNC_IN_USE); - } -} - -/* -@Function taxisDefFtime -@Title Define the forecast reference time - -@Prototype void taxisDefFtime(int taxisID, int ftime) -@Parameter - @Item taxisID Time axis ID, from a previous call to @fref{taxisCreate} - @Item ftime Forecast reference time (hhmmss) - -@Description -The function @func{taxisDefFtime} defines the forecast reference time of a Time axis. - -@EndFunction -*/ -void -taxisDefFtime(int taxisID, int ftime) -{ - taxis_t *taxisptr = (taxis_t *) reshGetVal(taxisID, &taxisOps); - - if (cdiTime_get(taxisptr->fDateTime.time) != ftime) - { - taxisptr->fDateTime.time = cdiTime_set(ftime); + taxisptr->fDateTime = fDateTime; reshSetStatus(taxisID, &taxisOps, RESH_DESYNC_IN_USE); } } @@ -619,20 +591,6 @@ taxisInqRdatetime(int taxisID) return taxisptr->rDateTime; } -CdiDateTime -taxisInqFdatetime(int taxisID) -{ - taxis_t *taxisptr = (taxis_t *) reshGetVal(taxisID, &taxisOps); - - if (cdiDateTime_isNull(taxisptr->fDateTime)) - { - taxisptr->fDateTime = taxisInqRdatetime(taxisID); - reshSetStatus(taxisID, &taxisOps, RESH_DESYNC_IN_USE); - } - - return taxisptr->rDateTime; -} - /* @Function taxisInqVdate @Title Get the verification date @@ -816,53 +774,23 @@ taxisInqRtime(int taxisID) } /* -@Function taxisInqFdate -@Title Get the forecast reference date +@Function taxisInqFdatetime +@Title Get the forecast reference date/time -@Prototype int taxisInqFdate(int taxisID) +@Prototype int taxisInqFdatetime(int taxisID) @Parameter @Item taxisID Time axis ID, from a previous call to @fref{taxisCreate} or @fref{vlistInqTaxis} @Description -The function @func{taxisInqFdate} returns the forecast reference date of a Time axis. +The function @func{taxisInqFdatetime} returns the forecast reference date/time of a Time axis. @Result -@func{taxisInqFdate} returns the forecast reference date. +@func{taxisInqFdate} returns the forecast reference date/time. @EndFunction */ -int -taxisInqFdate(int taxisID) -{ - taxis_t *taxisptr = (taxis_t *) reshGetVal(taxisID, &taxisOps); - - if (cdiDateTime_isNull(taxisptr->fDateTime)) - { - // rDateTime is initialized from vDateTime if empty! - taxisptr->fDateTime = taxisInqRdatetime(taxisID); - } - - return cdiDate_get(taxisptr->fDateTime.date); -} - -/* -@Function taxisInqFtime -@Title Get the forecast reference time - -@Prototype int taxisInqFtime(int taxisID) -@Parameter - @Item taxisID Time axis ID, from a previous call to @fref{taxisCreate} or @fref{vlistInqTaxis} - -@Description -The function @func{taxisInqFtime} returns the forecast reference time of a Time axis. - -@Result -@func{taxisInqFtime} returns the forecast reference time. - -@EndFunction -*/ -int -taxisInqFtime(int taxisID) +CdiDateTime +taxisInqFdatetime(int taxisID) { taxis_t *taxisptr = (taxis_t *) reshGetVal(taxisID, &taxisOps); @@ -870,9 +798,10 @@ taxisInqFtime(int taxisID) { // rDateTime is initialized from vDateTime if empty! taxisptr->fDateTime = taxisInqRdatetime(taxisID); + reshSetStatus(taxisID, &taxisOps, RESH_DESYNC_IN_USE); } - return cdiTime_get(taxisptr->fDateTime.time); + return taxisptr->fDateTime; } /* -- GitLab