I've double-checked that the sizes correlate between the two programs. Everything is fine there.
The structure only shows up in C coding. Mostly, I'm just assigning values from FORTRAN in the manner:
Code:
call dbsh_assign_mirs(s,m,t)
Where the subroutine is a C function that would use the structure:
Code:
void dbsh_assign_mirs_(int sh, int mir, double* t0s)
{
dbshevnt->SH[sh].mirval[mir].mirror = mir;
dbshevnt->SH[sh].mirval[mir].t0shift = *t0s;
return;
}
It's only handled between the two in one specific subroutine that has all of the appropriate conversions of terms:
Code:
void convert_terms(int m)
{
int i, t;
dbsh_geas_.rini_dbsh[0] = dbshevnt->SH[1].shwval.rini.x;
dbsh_geas_.rini_dbsh[1] = dbshevnt->SH[1].shwval.rini.y;
dbsh_geas_.rini_dbsh[2] = dbshevnt->SH[1].shwval.rini.z;
***
}