Changeset 6258 for branches/2015/dev_r5803_UKMO_AGRIF_Vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/WorkWithlistvarindoloop.c
- Timestamp:
- 2016-01-15T13:11:56+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5803_UKMO_AGRIF_Vert_interp/NEMOGCM/EXTERNAL/AGRIF/LIB/WorkWithlistvarindoloop.c
r5819 r6258 119 119 if ( !List_UsedInSubroutine_Var ) 120 120 { 121 printf("LISTE VIDE\n"); 121 122 newvar=(listvar *)calloc(1,sizeof(listvar)); 122 123 newvar->var=(variable *)calloc(1,sizeof(variable)); … … 161 162 } 162 163 } 164 163 165 if ( out == 2 || out == 0 ) 164 166 { … … 175 177 176 178 /* we should find this new variable to know the tabvars indice */ 179 177 180 if ( variableisglobal(newvar, List_Global_Var) == 1 ) 178 181 { … … 271 274 void Merge_Variables(variable *var1, variable *var2) 272 275 { 276 273 277 if ( !strcasecmp(var1->v_typevar,"") ) 274 278 strcpy(var1->v_typevar,var2->v_typevar); 275 else 276 { 277 strcpy(var2->v_typevar,var1->v_typevar); 278 } 279 else strcpy(var2->v_typevar,var1->v_typevar); 279 280 280 281 if ( !strcasecmp(var1->v_oldname,"") ) … … 310 311 else strcpy(var2->v_precision,var1->v_precision); 311 312 312 if ( !strcasecmp(var1->v_initialvalue,"") ) 313 strcpy(var1->v_initialvalue,var2->v_initialvalue); 314 else strcpy(var2->v_initialvalue,var1->v_initialvalue); 315 313 // if ( !strcasecmp(var1->v_initialvalue,"") ) 314 // strcpy(var1->v_initialvalue,var2->v_initialvalue); 315 // else strcpy(var2->v_initialvalue,var1->v_initialvalue); 316 317 if ( var1->v_initialvalue ) 318 var2->v_initialvalue = var1->v_initialvalue; 319 else var1->v_initialvalue = var2->v_initialvalue; 320 321 if ( var1->v_initialvalue_array ) 322 var2->v_initialvalue_array = var1->v_initialvalue_array; 323 else var1->v_initialvalue_array = var2->v_initialvalue_array; 324 325 if ( var1->v_do_loop ) 326 var2->v_do_loop = var1->v_do_loop; 327 else var1->v_do_loop = var2->v_do_loop; 328 329 // if ( !strcasecmp(var1->v_initialvalue_array,"") ) 330 // strcpy(var1->v_initialvalue_array,var2->v_initialvalue_array); 331 // else strcpy(var2->v_initialvalue_array,var1->v_initialvalue_array); 332 316 333 if ( !strcasecmp(var1->v_IntentSpec,"") ) 317 334 strcpy(var1->v_IntentSpec,var2->v_IntentSpec); … … 490 507 /* */ 491 508 newvar->suiv = NULL; 509 492 510 Merge_Variables(parcours->var,newvar->var); 493 511 strcpy(newvar->var->v_subroutinename,parcours->var->v_subroutinename); … … 1155 1173 newvar->var->v_VariableIsParameter, 1156 1174 newvar->var->v_typevar, 1157 newvar->var->v_initialvalue );1175 newvar->var->v_initialvalue->n_name ); 1158 1176 newvar = newvar->suiv; 1159 1177 } … … 1173 1191 strcpy(parcours->var->v_typevar,"REAL"); 1174 1192 else strcpy(parcours->var->v_typevar,"INTEGER"); 1193 parcours->var->v_catvar = get_cat_var(parcours->var); 1175 1194 } 1176 1195 parcours = parcours -> suiv ; … … 1185 1204 strcpy(parcours->var->v_typevar,"REAL"); 1186 1205 else strcpy(parcours->var->v_typevar,"INTEGER"); 1206 parcours->var->v_catvar = get_cat_var(parcours->var); 1187 1207 } 1188 1208 parcours = parcours -> suiv ; … … 1197 1217 strcpy(parcours->var->v_typevar,"REAL"); 1198 1218 else strcpy(parcours->var->v_typevar,"INTEGER"); 1219 parcours->var->v_catvar = get_cat_var(parcours->var); 1199 1220 } 1200 1221 parcours = parcours -> suiv ; … … 1209 1230 strcpy(parcours->var->v_typevar,"REAL"); 1210 1231 else strcpy(parcours->var->v_typevar,"INTEGER"); 1232 parcours->var->v_catvar = get_cat_var(parcours->var); 1233 } 1234 parcours = parcours -> suiv ; 1235 } 1236 1237 /* */ 1238 parcours = List_Parameter_Var; 1239 while ( parcours ) 1240 { 1241 if ( !strcasecmp(parcours->var->v_typevar,"") ) 1242 { 1243 if ( IsVariableReal(parcours->var->v_nomvar) == 1 ) 1244 strcpy(parcours->var->v_typevar,"REAL"); 1245 else strcpy(parcours->var->v_typevar,"INTEGER"); 1246 parcours->var->v_catvar = get_cat_var(parcours->var); 1247 } 1248 parcours = parcours -> suiv ; 1249 } 1250 1251 /* */ 1252 parcours = List_GlobalParameter_Var; 1253 while ( parcours ) 1254 { 1255 if ( !strcasecmp(parcours->var->v_typevar,"") ) 1256 { 1257 if ( IsVariableReal(parcours->var->v_nomvar) == 1 ) 1258 strcpy(parcours->var->v_typevar,"REAL"); 1259 else strcpy(parcours->var->v_typevar,"INTEGER"); 1260 parcours->var->v_catvar = get_cat_var(parcours->var); 1211 1261 } 1212 1262 parcours = parcours -> suiv ; … … 1509 1559 void update_indicemaxtabvars(variable *var,listindice **Listofindices) 1510 1560 { 1511 1512 1513 1561 if ( Listofindices[var->v_catvar] ) 1514 1562 { … … 1547 1595 ) 1548 1596 { 1597 /* The type may has not been given if the variable was only declared with dimension */ 1598 1599 if ( !strcasecmp(parcours->var->v_typevar,"") ) 1600 { 1601 if ( IsVariableReal(parcours->var->v_nomvar) == 1 ) 1602 strcpy(parcours->var->v_typevar,"REAL"); 1603 else strcpy(parcours->var->v_typevar,"INTEGER"); 1604 parcours->var->v_catvar = get_cat_var(parcours->var); 1605 } 1606 1549 1607 indicemaxtabvars[parcours->var->v_catvar] = indicemaxtabvars[parcours->var->v_catvar] + 1 ; 1550 1608 parcours->var->v_indicetabvars = indicemaxtabvars[parcours->var->v_catvar]; … … 1626 1684 parcours->var->v_notgrid == 0 && 1627 1685 ( ( parcours->var->v_nbdim != 0 || !strcasecmp(parcours->var->v_typevar,"type") ) 1628 || strcasecmp(parcours->var->v_initialvalue,""))1686 || parcours->var->v_initialvalue ) 1629 1687 ) 1630 1688 { … … 1658 1716 !strcasecmp(parcours->var->v_commoninfile,cur_filename) && 1659 1717 ( ( parcours->var->v_nbdim != 0 || !strcasecmp(parcours->var->v_typevar,"type") ) 1660 || strcasecmp(parcours->var->v_initialvalue,""))1718 || parcours->var->v_initialvalue ) 1661 1719 ) 1662 1720 { … … 1845 1903 printf("dimensiongiven - %d \n", parcours->var->v_dimensiongiven); 1846 1904 printf("dimsempty - %d \n", parcours->var->v_dimsempty); 1847 printf("initialvalue - %s \n", parcours->var->v_initialvalue );1905 printf("initialvalue - %s \n", parcours->var->v_initialvalue->n_name); 1848 1906 printf("readedlistdim - %s \n", parcours->var->v_readedlistdimension); 1849 1907 printf("-------------------------------------\n");
Note: See TracChangeset
for help on using the changeset viewer.