Changeset 98 for altifloat/src/floater.h
- Timestamp:
- 06/05/13 16:00:10 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
altifloat/src/floater.h
r86 r98 7 7 YREAL vr_dy=0; 8 8 9 10 11 //Options du run incrmental 12 int nb_extiter=6; 13 short inc_save=1; 14 char dirsave[50]="../obs_float/"; 15 char savename[50]="optim"; 16 extern float Y3ddf1; 9 17 //Declaration 10 18 … … 15 23 void after_it(int nit){ 16 24 17 printf("u_d(9,16)=%f %f %f %f\n",YS1_u_d(9,16),YS1_u_d(10,16),YS1_u_d(10,17),YS1_u_d(9,17));25 //printf("u_d(9,16)=%f %f %f %f\n",YS1_u_d(9,16),YS1_u_d(10,16),YS1_u_d(10,17),YS1_u_d(9,17)); 18 26 } 19 27 void forward_before(int ctrp){ … … 50 58 51 59 // } 60 61 void run_inc(int argv, char *argc[]) { 62 //Run the incremental optimisation 63 //1 forward of the complete model 64 //2 initialize du et dv to zero 65 //3 minimize the incremental cost function 66 //4 update u and v 67 68 /* 69 Options 70 nb_extiter : number of extern loop (default=6) 71 inc_save : save option 72 0 : no save 73 1 (default): save after each extern loop r_float,u and v 74 dirsave : directory in case inc_save>0 (default="../obs_float/") 75 savename : basename of save fils (default "optim") 76 */ 77 char filesave[100]; 78 int i; 79 80 char sactiv[20]="activ"; 81 char sMD[20]="M"; 82 char sonly[20]="only"; 83 char *liste[3]; 84 liste[0]=sactiv; 85 liste[1]=sMD; 86 liste[2]=sonly; 87 /*Check M1QN3 config*/ 88 if (YNbItRun<=0) 89 { printf("runm(2): number of run iteration not seted; use set_nbiter please\n"); 90 //return(0); 91 } 92 if (Y3ddf1<=0) 93 { printf("runm(2): expected positive fcost decrease missed; use setm_ddf1\n"); 94 //return(0); 95 } 96 if (YioInsertObsCtr<0) 97 printf("runm(2): warning : oh oh, run with no obs !!! \n"); 98 99 YTypeAdjust = ADJUST_M1QN3; //d'office avec M1QN3 100 101 //Savestate config 102 YioModulot = OFF; //On sauvegarde tous les pas de temps 103 YioWrite = ON; 104 // Yio_savestate(cdes[1], cdes[3], 0, cdes[7]); 105 YioState=0 ;//Save all states 106 YioBin=OFF; //ascii output 107 YioAscii=ON; //ascii output 108 YioAxes=ON; //save axe numbers 109 110 for (i=0;i<nb_extiter;i++) { 111 strcpy(liste[1],"M"); 112 Yactraj(3, liste); 113 Yset_modeltime(0); 114 before_it(1); 115 Yforward(-1, 0); 116 117 if (inc_save==1 && i>0) { 118 //save rfloat 119 YioTime=ON; 120 sprintf(filesave,"%sr_float_%s_%2d.dat",dirsave,savename,i+1); 121 Yio_savestate("r_float","i",0,filesave); 122 } 123 strcpy(liste[1],"D"); 124 Yactraj(3,liste); 125 Yset_modeltime(0); 126 127 128 Y3run ('0'); 129 update_uv(); 130 if (inc_save==1) { 131 132 133 //save u 134 YioTime=OFF; 135 sprintf(filesave,"%su%s%2d.dat",dirsave,savename,i+1); 136 Yio_savestate("u","ij",0,filesave); 137 138 //save v 139 sprintf(filesave,"%sv%s%2d.dat",dirsave,savename,i+1); 140 Yio_savestate("v","ij",0,filesave); 141 142 } 143 } 144 /*End of the optimization, we run another time the model to compute the final value of r_float 145 */ 146 strcpy(liste[1],"M"); 147 Yactraj(3, liste); 148 Yset_modeltime(0); 149 before_it(1); 150 Yforward(-1, 0); 151 152 }
Note: See TracChangeset
for help on using the changeset viewer.