There's no information about variable names in a compiled program (other than debugging information, which may lead to some interesting possibilities but I don't know).
Assuming the simplest situation where are the variables you wish to set are global and are all the same type (say double), you could do something like:
Code:
struct {
char *name;
double *data;
} params[] = {
{"whatever", &whatever},
{"wave_period_meters", &wave_period_meters{,
{"something_else", &something_else}
};
I'm assuming it's clear how this structure would be employed. And it could be extended for multiple types.