commentdef { p_header = "PrecipAccumCalc "; } commentdef { p_header = "Reads model mdv input with 3 hr accmulations at alternating lead times and produces 3hr accumulations at every lead time"; } typedef enum { REALTIME, ARCHIVE, } run_mode_t; paramdef enum run_mode_t { p_default = REALTIME; p_help = ""; }runMode; typedef enum { INT8, INT16, FLOAT32 } ouput_data_type_t; paramdef enum ouput_data_type_t { p_default = FLOAT32; p_help = ""; }outputDataType; paramdef string { p_default = {"gep01","gep02","gep03","gep04","gep05","gep06","gep07","gep08","gep09","gep10", "gep11","gep12","gep13","gep14","gep15","gep16","gep17","gep18","gep19","gep20"}; } ensembleMembers[]; paramdef string { p_descr = "3 hour accum input short field name. (output has same name)"; p_default = "APCP3Hr"; } hr3AccumName; paramdef string { p_descr = "3 hour accumulation string to be appended to output url."; p_default = "3hrAccum"; } hr3AccumOutputDirTail; paramdef string { p_descr = "6 hour accum input field name. (not output)"; p_default = "APCP6Hr"; } hr6AccumName; paramdef string { p_descr = "3 hour ULWRF average field name, input (output has same name)."; p_help = "2*ULWRF6Hr(lead i) -ULWRF3Hr (lead i-1 ) will be calculated to form ULWRF3Hr (lead i) with output field name the same as the input 3hr field "; p_default = {"ULWRF3Hr"}; } hr3UlwrfName; paramdef string { p_descr = "6 hour ULWRF average field name, input."; p_help = "2*ULWRF6Hr(lead i) - ULWRF3Hr (lead i-1) will be calculated to form ULWRF3Hr (lead i) with output field name hr3UlwrfName as above "; p_default = {"ULWRF6Hr"}; } hr6UlwrfName; paramdef string { p_descr = "Other data fields in the mdv file which will be appended to any new file created"; p_default ={}; } extraDataFields[]; paramdef boolean { p_descr = "Option to convert negative numbers great than -1 to zero after subtraction of fields"; p_default = true; }forceAccumNonNegative; paramdef int { p_descr = "Number of threads processing the data"; p_default = 1; } numThreads; typedef struct { string shortName; string longName; } Mdv_name_t; paramdef struct Mdv_name_t { p_descr = "mapping of MDV field names from short to long, 3 hour averages"; p_help = "When using server, long names are needed to do the reading"; p_default = { {"APCP3Hr", "Total precipitation"}, {"CAPE", "Convective Available Potential Energy"}, {"ULWRF3Hr", "Unknown local use paramater number"} }; } mdv_3hr_names[]; paramdef struct Mdv_name_t { p_descr = "mapping of MDV field names from short to long, 6 hour averages"; p_help = "When using server, long names are needed to do the reading"; p_default = { {"APCP6Hr", "Total precipitation"}, {"CAPE", "Convective Available Potential Energy"}, {"ULWRF6Hr", "Unknown local use paramater number"} }; } mdv_6hr_names[];