86 lines
2.7 KiB
C
86 lines
2.7 KiB
C
|
#ifndef DHM_MODS_H
|
||
|
#define DHM_MODS_H
|
||
|
|
||
|
#include "c_call_f/fcitzc.h"
|
||
|
#include "c_call_f/julda.h"
|
||
|
#include "Mods_globalDefs.h"
|
||
|
#include "libXs.h"
|
||
|
#include "Mods_everythingStruct.h"
|
||
|
|
||
|
#include "dhm.h"
|
||
|
|
||
|
|
||
|
#define FSERCH fserch_
|
||
|
#define MDYH2 mdyh2_
|
||
|
#define MOD_CARD_LENGTH 80
|
||
|
#define MAX_MOD_STRING_LENGTH 2500
|
||
|
#define MAX_NUMBER_OF_PRECIP_MODS 10
|
||
|
#define MAX_NUMBER_OF_SAC_MODS 10
|
||
|
#define PRECIP_MOD_KEYWORD ".DPRECIP"
|
||
|
#define SAC_MOD_KEYWORD ".DSACST"
|
||
|
|
||
|
extern int jvmTokenNotExists;
|
||
|
extern void FSERCH(int*, char[], int*, int[], int*);
|
||
|
extern void MDYH2(int*, int*, int*, int*, int*, int*, int*, int*, char[]);
|
||
|
extern void convertFromJulianHourToMMDDYYYYHHZ(int, char dateString[]);
|
||
|
extern void parseLineTwoOfModCard(char lineTwoOfModCard[], char modSegmentName[NWSRFS_ID_LENGTH+1],char keywords[9][7],
|
||
|
float modValues[9], int* numModVals, char opId[NWSRFS_ID_LENGTH+1], char returnMessage[MAX_MSG_LEN]);
|
||
|
extern void checkForValidModDates(int* startOfModInJulianHours, int* endOfModInJulianHours, int* validDateOfModInJulianHours, int* curentDateInJulianHours, char returnMessage[]);
|
||
|
|
||
|
|
||
|
typedef struct dhmprecipmodType{
|
||
|
char startDateInMMDDYYYYHHZ[DATE_STRING_LENGTH];
|
||
|
char endDateInMMDDYYYYHHZ[DATE_STRING_LENGTH];
|
||
|
char validDateInMMDDYYYYHHZ[DATE_STRING_LENGTH];
|
||
|
char operationId[NWSRFS_ID_LENGTH +1];
|
||
|
char value[6];
|
||
|
char lineTwoOfModCard[MOD_CARD_LENGTH];
|
||
|
}dhmprecipmodType;
|
||
|
|
||
|
typedef struct dsacstModType{
|
||
|
char validDateInMMDDYYYYHHZ[DATE_STRING_LENGTH];
|
||
|
char operationId[NWSRFS_ID_LENGTH+1];
|
||
|
int numberOfKeywords;
|
||
|
char keyword[9][7]; /* keywords, mandatory */
|
||
|
float values[9]; /* values assoc with keywords */
|
||
|
char lineTwoOfModCard[MOD_CARD_LENGTH];
|
||
|
}dsacstModType;
|
||
|
int dhmModsSelected;
|
||
|
|
||
|
int numberOfPrecipMods, numberOfDsacstMods;
|
||
|
struct dhmprecipmodType dhmprecipmod[MAX_NUMBER_OF_PRECIP_MODS];
|
||
|
struct dsacstModType dsacstMods[MAX_NUMBER_OF_SAC_MODS];
|
||
|
|
||
|
char *getModContent();
|
||
|
int is_dhm_mod_available();
|
||
|
void popdownModGui();
|
||
|
void popupModGui();
|
||
|
void popupProperties(char *, char *, char *, char *,char *,char *,char *);
|
||
|
|
||
|
extern char dhm_model_dataPath[120];
|
||
|
|
||
|
|
||
|
int load_dhm_precip_mod_string(char operationID[NWSRFS_ID_LENGTH+1], char modsString[MAX_MOD_STRING_LENGTH]);
|
||
|
int load_dhm_sac_state_mod_string(char operationID[NWSRFS_ID_LENGTH+1], char modsString[MAX_MOD_STRING_LENGTH]);
|
||
|
|
||
|
typedef struct dhmBasinData{
|
||
|
char basinID[NWSRFS_ID_LENGTH+1];
|
||
|
char operationID[NWSRFS_ID_LENGTH+1];
|
||
|
|
||
|
}dhmBasinData;
|
||
|
|
||
|
typedef struct basinPropsStruct{
|
||
|
|
||
|
struct dhmBasinData basinData[10];
|
||
|
int count;
|
||
|
}basinPropsStruct;
|
||
|
|
||
|
struct basinPropsStruct basinProps;
|
||
|
void popup_dhm_mods_gui(Mods_everythingStruct *, char[]);
|
||
|
char *getBasinID(char []);
|
||
|
|
||
|
int totalNumberPrecipModsFound;
|
||
|
int totalNumberSacStateModsFound;
|
||
|
|
||
|
#endif
|